server-main.js 1.1 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682
  1. import fsMy from 'fs';
  2. /*!--------------------------------------------------------
  3. * Copyright (C) Microsoft Corporation. All rights reserved.
  4. *--------------------------------------------------------*/var $1 = function (e, t) { return $1 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (s, i) { s.__proto__ = i } || function (s, i) { for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (s[n] = i[n]) }, $1(e, t) }; export function __extends(e, t) { if (typeof t != "function" && t !== null) throw new TypeError("Class extends value " + String(t) + " is not a constructor or null"); $1(e, t); function s() { this.constructor = e } e.prototype = t === null ? Object.create(t) : (s.prototype = t.prototype, new s) } export var __assign = function () { return __assign = Object.assign || function (t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var r in s) Object.prototype.hasOwnProperty.call(s, r) && (t[r] = s[r]) } return t }, __assign.apply(this, arguments) }; export function __rest(e, t) { var s = {}; for (var i in e) Object.prototype.hasOwnProperty.call(e, i) && t.indexOf(i) < 0 && (s[i] = e[i]); if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var n = 0, i = Object.getOwnPropertySymbols(e); n < i.length; n++)t.indexOf(i[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, i[n]) && (s[i[n]] = e[i[n]]); return s } export function __decorate(e, t, s, i) { var n = arguments.length, r = n < 3 ? t : i === null ? i = Object.getOwnPropertyDescriptor(t, s) : i, o; if (typeof Reflect == "object" && typeof Reflect.decorate == "function") r = Reflect.decorate(e, t, s, i); else for (var a = e.length - 1; a >= 0; a--)(o = e[a]) && (r = (n < 3 ? o(r) : n > 3 ? o(t, s, r) : o(t, s)) || r); return n > 3 && r && Object.defineProperty(t, s, r), r } export function __param(e, t) { return function (s, i) { t(s, i, e) } } export function __esDecorate(e, t, s, i, n, r) { function o(x) { if (x !== void 0 && typeof x != "function") throw new TypeError("Function expected"); return x } for (var a = i.kind, c = a === "getter" ? "get" : a === "setter" ? "set" : "value", l = !t && e ? i.static ? e : e.prototype : null, u = t || (l ? Object.getOwnPropertyDescriptor(l, i.name) : {}), h, d = !1, p = s.length - 1; p >= 0; p--) { var g = {}; for (var w in i) g[w] = w === "access" ? {} : i[w]; for (var w in i.access) g.access[w] = i.access[w]; g.addInitializer = function (x) { if (d) throw new TypeError("Cannot add initializers after decoration has completed"); r.push(o(x || null)) }; var y = (0, s[p])(a === "accessor" ? { get: u.get, set: u.set } : u[c], g); if (a === "accessor") { if (y === void 0) continue; if (y === null || typeof y != "object") throw new TypeError("Object expected"); (h = o(y.get)) && (u.get = h), (h = o(y.set)) && (u.set = h), (h = o(y.init)) && n.unshift(h) } else (h = o(y)) && (a === "field" ? n.unshift(h) : u[c] = h) } l && Object.defineProperty(l, i.name, u), d = !0 } export function __runInitializers(e, t, s) { for (var i = arguments.length > 2, n = 0; n < t.length; n++)s = i ? t[n].call(e, s) : t[n].call(e); return i ? s : void 0 } export function __propKey(e) { return typeof e == "symbol" ? e : "".concat(e) } export function __setFunctionName(e, t, s) { return typeof t == "symbol" && (t = t.description ? "[".concat(t.description, "]") : ""), Object.defineProperty(e, "name", { configurable: !0, value: s ? "".concat(s, " ", t) : t }) } export function __metadata(e, t) { if (typeof Reflect == "object" && typeof Reflect.metadata == "function") return Reflect.metadata(e, t) } export function __awaiter(e, t, s, i) { function n(r) { return r instanceof s ? r : new s(function (o) { o(r) }) } return new (s || (s = Promise))(function (r, o) { function a(u) { try { l(i.next(u)) } catch (h) { o(h) } } function c(u) { try { l(i.throw(u)) } catch (h) { o(h) } } function l(u) { u.done ? r(u.value) : n(u.value).then(a, c) } l((i = i.apply(e, t || [])).next()) }) } export function __generator(e, t) { var s = { label: 0, sent: function () { if (r[0] & 1) throw r[1]; return r[1] }, trys: [], ops: [] }, i, n, r, o; return o = { next: a(0), throw: a(1), return: a(2) }, typeof Symbol == "function" && (o[Symbol.iterator] = function () { return this }), o; function a(l) { return function (u) { return c([l, u]) } } function c(l) { if (i) throw new TypeError("Generator is already executing."); for (; o && (o = 0, l[0] && (s = 0)), s;)try { if (i = 1, n && (r = l[0] & 2 ? n.return : l[0] ? n.throw || ((r = n.return) && r.call(n), 0) : n.next) && !(r = r.call(n, l[1])).done) return r; switch (n = 0, r && (l = [l[0] & 2, r.value]), l[0]) { case 0: case 1: r = l; break; case 4: return s.label++, { value: l[1], done: !1 }; case 5: s.label++, n = l[1], l = [0]; continue; case 7: l = s.ops.pop(), s.trys.pop(); continue; default: if (r = s.trys, !(r = r.length > 0 && r[r.length - 1]) && (l[0] === 6 || l[0] === 2)) { s = 0; continue } if (l[0] === 3 && (!r || l[1] > r[0] && l[1] < r[3])) { s.label = l[1]; break } if (l[0] === 6 && s.label < r[1]) { s.label = r[1], r = l; break } if (r && s.label < r[2]) { s.label = r[2], s.ops.push(l); break } r[2] && s.ops.pop(), s.trys.pop(); continue }l = t.call(e, s) } catch (u) { l = [6, u], n = 0 } finally { i = r = 0 } if (l[0] & 5) throw l[1]; return { value: l[0] ? l[1] : void 0, done: !0 } } } export var __createBinding = Object.create ? function (e, t, s, i) { i === void 0 && (i = s); var n = Object.getOwnPropertyDescriptor(t, s); (!n || ("get" in n ? !t.__esModule : n.writable || n.configurable)) && (n = { enumerable: !0, get: function () { return t[s] } }), Object.defineProperty(e, i, n) } : function (e, t, s, i) { i === void 0 && (i = s), e[i] = t[s] }; export function __exportStar(e, t) { for (var s in e) s !== "default" && !Object.prototype.hasOwnProperty.call(t, s) && __createBinding(t, e, s) } export function __values(e) { var t = typeof Symbol == "function" && Symbol.iterator, s = t && e[t], i = 0; if (s) return s.call(e); if (e && typeof e.length == "number") return { next: function () { return e && i >= e.length && (e = void 0), { value: e && e[i++], done: !e } } }; throw new TypeError(t ? "Object is not iterable." : "Symbol.iterator is not defined.") } export function __read(e, t) { var s = typeof Symbol == "function" && e[Symbol.iterator]; if (!s) return e; var i = s.call(e), n, r = [], o; try { for (; (t === void 0 || t-- > 0) && !(n = i.next()).done;)r.push(n.value) } catch (a) { o = { error: a } } finally { try { n && !n.done && (s = i.return) && s.call(i) } finally { if (o) throw o.error } } return r } export function __spread() { for (var e = [], t = 0; t < arguments.length; t++)e = e.concat(__read(arguments[t])); return e } export function __spreadArrays() { for (var e = 0, t = 0, s = arguments.length; t < s; t++)e += arguments[t].length; for (var i = Array(e), n = 0, t = 0; t < s; t++)for (var r = arguments[t], o = 0, a = r.length; o < a; o++, n++)i[n] = r[o]; return i } export function __spreadArray(e, t, s) { if (s || arguments.length === 2) for (var i = 0, n = t.length, r; i < n; i++)(r || !(i in t)) && (r || (r = Array.prototype.slice.call(t, 0, i)), r[i] = t[i]); return e.concat(r || Array.prototype.slice.call(t)) } export function __await(e) { return this instanceof __await ? (this.v = e, this) : new __await(e) } export function __asyncGenerator(e, t, s) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var i = s.apply(e, t || []), n, r = []; return n = {}, a("next"), a("throw"), a("return", o), n[Symbol.asyncIterator] = function () { return this }, n; function o(p) { return function (g) { return Promise.resolve(g).then(p, h) } } function a(p, g) { i[p] && (n[p] = function (w) { return new Promise(function (y, x) { r.push([p, w, y, x]) > 1 || c(p, w) }) }, g && (n[p] = g(n[p]))) } function c(p, g) { try { l(i[p](g)) } catch (w) { d(r[0][3], w) } } function l(p) { p.value instanceof __await ? Promise.resolve(p.value.v).then(u, h) : d(r[0][2], p) } function u(p) { c("next", p) } function h(p) { c("throw", p) } function d(p, g) { p(g), r.shift(), r.length && c(r[0][0], r[0][1]) } } export function __asyncDelegator(e) { var t, s; return t = {}, i("next"), i("throw", function (n) { throw n }), i("return"), t[Symbol.iterator] = function () { return this }, t; function i(n, r) { t[n] = e[n] ? function (o) { return (s = !s) ? { value: __await(e[n](o)), done: !1 } : r ? r(o) : o } : r } } export function __asyncValues(e) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var t = e[Symbol.asyncIterator], s; return t ? t.call(e) : (e = typeof __values == "function" ? __values(e) : e[Symbol.iterator](), s = {}, i("next"), i("throw"), i("return"), s[Symbol.asyncIterator] = function () { return this }, s); function i(r) { s[r] = e[r] && function (o) { return new Promise(function (a, c) { o = e[r](o), n(a, c, o.done, o.value) }) } } function n(r, o, a, c) { Promise.resolve(c).then(function (l) { r({ value: l, done: a }) }, o) } } export function __makeTemplateObject(e, t) { return Object.defineProperty ? Object.defineProperty(e, "raw", { value: t }) : e.raw = t, e } var VI = Object.create ? function (e, t) { Object.defineProperty(e, "default", { enumerable: !0, value: t }) } : function (e, t) { e.default = t }; export function __importStar(e) { if (e && e.__esModule) return e; var t = {}; if (e != null) for (var s in e) s !== "default" && Object.prototype.hasOwnProperty.call(e, s) && __createBinding(t, e, s); return VI(t, e), t } export function __importDefault(e) { return e && e.__esModule ? e : { default: e } } export function __classPrivateFieldGet(e, t, s, i) { if (s === "a" && !i) throw new TypeError("Private accessor was defined without a getter"); if (typeof t == "function" ? e !== t || !i : !t.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return s === "m" ? i : s === "a" ? i.call(e) : i ? i.value : t.get(e) } export function __classPrivateFieldSet(e, t, s, i, n) { if (i === "m") throw new TypeError("Private method is not writable"); if (i === "a" && !n) throw new TypeError("Private accessor was defined without a setter"); if (typeof t == "function" ? e !== t || !n : !t.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); return i === "a" ? n.call(e, s) : n ? n.value = s : t.set(e, s), s } export function __classPrivateFieldIn(e, t) { if (t === null || typeof t != "object" && typeof t != "function") throw new TypeError("Cannot use 'in' operator on non-object"); return typeof e == "function" ? t === e : e.has(t) } export function __addDisposableResource(e, t, s) { if (t != null) { if (typeof t != "object" && typeof t != "function") throw new TypeError("Object expected."); var i, n; if (s) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); i = t[Symbol.asyncDispose] } if (i === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); i = t[Symbol.dispose], s && (n = i) } if (typeof i != "function") throw new TypeError("Object not disposable."); n && (i = function () { try { n.call(this) } catch (r) { return Promise.reject(r) } }), e.stack.push({ value: t, dispose: i, async: s }) } else s && e.stack.push({ async: !0 }); return t } var WI = typeof SuppressedError == "function" ? SuppressedError : function (e, t, s) { var i = new Error(s); return i.name = "SuppressedError", i.error = e, i.suppressed = t, i }; export function __disposeResources(e) { function t(i) { e.error = e.hasError ? new WI(i, e.error, "An error was suppressed during disposal.") : i, e.hasError = !0 } function s() { for (; e.stack.length;) { var i = e.stack.pop(); try { var n = i.dispose && i.dispose.call(i.value); if (i.async) return Promise.resolve(n).then(s, function (r) { return t(r), s() }) } catch (r) { t(r) } } if (e.hasError) throw e.error } return s() } export default { __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __spreadArray, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet, __classPrivateFieldIn, __addDisposableResource, __disposeResources }; var qI = Object.create, S1 = Object.defineProperty, GI = Object.getOwnPropertyDescriptor, P1 = Object.getOwnPropertyNames, JI = Object.getPrototypeOf, YI = Object.prototype.hasOwnProperty, v = (e, t) => function () { return e && (t = (0, e[P1(e)[0]])(e = 0)), t }, XI = (e, t) => function () { return t || (0, e[P1(e)[0]])((t = { exports: {} }).exports, t), t.exports }, QI = (e, t) => { for (var s in t) S1(e, s, { get: t[s], enumerable: !0 }) }, ZI = (e, t, s, i) => { if (t && typeof t == "object" || typeof t == "function") for (let n of P1(t)) !YI.call(e, n) && n !== s && S1(e, n, { get: () => t[n], enumerable: !(i = GI(t, n)) || i.enumerable }); return e }, jv = (e, t, s) => (s = e != null ? qI(JI(e)) : {}, ZI(t || !e || !e.__esModule ? S1(s, "default", { value: e, enumerable: !0 }) : s, e)), Tv = XI({ "node_modules/minimist/index.js"(e, t) { "use strict"; function s(r, o) { var a = r; o.slice(0, -1).forEach(function (l) { a = a[l] || {} }); var c = o[o.length - 1]; return c in a } function i(r) { return typeof r == "number" || /^0x[0-9a-f]+$/i.test(r) ? !0 : /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(r) } function n(r, o) { return o === "constructor" && typeof r[o] == "function" || o === "__proto__" } t.exports = function (r, o) { o || (o = {}); var a = { bools: {}, strings: {}, unknownFn: null }; typeof o.unknown == "function" && (a.unknownFn = o.unknown), typeof o.boolean == "boolean" && o.boolean ? a.allBools = !0 : [].concat(o.boolean).filter(Boolean).forEach(function (N) { a.bools[N] = !0 }); var c = {}; function l(N) { return c[N].some(function (le) { return a.bools[le] }) } Object.keys(o.alias || {}).forEach(function (N) { c[N] = [].concat(o.alias[N]), c[N].forEach(function (le) { c[le] = [N].concat(c[N].filter(function (ue) { return le !== ue })) }) }), [].concat(o.string).filter(Boolean).forEach(function (N) { a.strings[N] = !0, c[N] && [].concat(c[N]).forEach(function (le) { a.strings[le] = !0 }) }); var u = o.default || {}, h = { _: [] }; function d(N, le) { return a.allBools && /^--[^=]+$/.test(le) || a.strings[N] || a.bools[N] || c[N] } function p(N, le, ue) { for (var K = N, ht = 0; ht < le.length - 1; ht++) { var C = le[ht]; if (n(K, C)) return; K[C] === void 0 && (K[C] = {}), (K[C] === Object.prototype || K[C] === Number.prototype || K[C] === String.prototype) && (K[C] = {}), K[C] === Array.prototype && (K[C] = []), K = K[C] } var R = le[le.length - 1]; n(K, R) || ((K === Object.prototype || K === Number.prototype || K === String.prototype) && (K = {}), K === Array.prototype && (K = []), K[R] === void 0 || a.bools[R] || typeof K[R] == "boolean" ? K[R] = ue : Array.isArray(K[R]) ? K[R].push(ue) : K[R] = [K[R], ue]) } function g(N, le, ue) { if (!(ue && a.unknownFn && !d(N, ue) && a.unknownFn(ue) === !1)) { var K = !a.strings[N] && i(le) ? Number(le) : le; p(h, N.split("."), K), (c[N] || []).forEach(function (ht) { p(h, ht.split("."), K) }) } } Object.keys(a.bools).forEach(function (N) { g(N, u[N] === void 0 ? !1 : u[N]) }); var w = []; r.indexOf("--") !== -1 && (w = r.slice(r.indexOf("--") + 1), r = r.slice(0, r.indexOf("--"))); for (var y = 0; y < r.length; y++) { var x = r[y], k, A; if (/^--.+=/.test(x)) { var I = x.match(/^--([^=]+)=([\s\S]*)$/); k = I[1]; var L = I[2]; a.bools[k] && (L = L !== "false"), g(k, L, x) } else if (/^--no-.+/.test(x)) k = x.match(/^--no-(.+)/)[1], g(k, !1, x); else if (/^--.+/.test(x)) k = x.match(/^--(.+)/)[1], A = r[y + 1], A !== void 0 && !/^(-|--)[^-]/.test(A) && !a.bools[k] && !a.allBools && (!c[k] || !l(k)) ? (g(k, A, x), y += 1) : /^(true|false)$/.test(A) ? (g(k, A === "true", x), y += 1) : g(k, a.strings[k] ? "" : !0, x); else if (/^-[^-]+/.test(x)) { for (var q = x.slice(1, -1).split(""), te = !1, V = 0; V < q.length; V++) { if (A = x.slice(V + 2), A === "-") { g(q[V], A, x); continue } if (/[A-Za-z]/.test(q[V]) && A[0] === "=") { g(q[V], A.slice(1), x), te = !0; break } if (/[A-Za-z]/.test(q[V]) && /-?\d+(\.\d*)?(e-?\d+)?$/.test(A)) { g(q[V], A, x), te = !0; break } if (q[V + 1] && q[V + 1].match(/\W/)) { g(q[V], x.slice(V + 2), x), te = !0; break } else g(q[V], a.strings[q[V]] ? "" : !0, x) } k = x.slice(-1)[0], !te && k !== "-" && (r[y + 1] && !/^(-|--)[^-]/.test(r[y + 1]) && !a.bools[k] && (!c[k] || !l(k)) ? (g(k, r[y + 1], x), y += 1) : r[y + 1] && /^(true|false)$/.test(r[y + 1]) ? (g(k, r[y + 1] === "true", x), y += 1) : g(k, a.strings[k] ? "" : !0, x)) } else if ((!a.unknownFn || a.unknownFn(x) !== !1) && h._.push(a.strings._ || !i(x) ? x : Number(x)), o.stopEarly) { h._.push.apply(h._, r.slice(y + 1)); break } } return Object.keys(u).forEach(function (N) { s(h, N.split(".")) || (p(h, N.split("."), u[N]), (c[N] || []).forEach(function (le) { p(h, le.split("."), u[N]) })) }), o["--"] ? h["--"] = w.slice() : w.forEach(function (N) { h._.push(N) }), h } } }); function I1(e) { const t = []; typeof e == "number" && t.push("code/timeOrigin", e); function s(n, r) { t.push(n, r?.startTime ?? Date.now()) } function i() { const n = []; for (let r = 0; r < t.length; r += 2)n.push({ name: t[r], startTime: t[r + 1] }); return n } return { mark: s, getMarks: i } } function KI() { if (typeof performance == "object" && typeof performance.mark == "function" && !performance.nodeTiming) return typeof performance.timeOrigin != "number" && !performance.timing ? I1() : { mark(e, t) { performance.mark(e, t) }, getMarks() { let e = performance.timeOrigin; typeof e != "number" && (e = performance.timing.navigationStart || performance.timing.redirectStart || performance.timing.fetchStart); const t = [{ name: "code/timeOrigin", startTime: Math.round(e) }]; for (const s of performance.getEntriesByType("mark")) t.push({ name: s.name, startTime: Math.round(e + s.startTime) }); return t } }; if (typeof process == "object") { const e = performance?.timeOrigin; return I1(e) } else return console.trace("perf-util loaded in UNKNOWN environment"), I1() } function eA(e) { return e.MonacoPerformanceMarks || (e.MonacoPerformanceMarks = KI()), e.MonacoPerformanceMarks } var A1, Pt, Uv, Yi = v({ "out-build/vs/base/common/performance.js"() { "use strict"; A1 = eA(globalThis), Pt = A1.mark, Uv = A1.getMarks } }); import *as gi from "path"; import *as wi from "fs"; async function Mv({ userLocale: e, osLocale: t, userDataPath: s, commit: i, nlsMetadataPath: n }) { if (Pt("code/willGenerateNls"), process.env.VSCODE_DEV || e === "pseudo" || e.startsWith("en") || !i || !s) return Ca(e, t, n); try { const r = await tA(s); if (!r) return Ca(e, t, n); const o = sA(r, e); if (!o) return Ca(e, t, n); const a = r[o], c = a?.translations?.vscode; if (!a || typeof a.hash != "string" || !a.translations || typeof c != "string" || !await D1(c)) return Ca(e, t, n); const l = `${a.hash}.${o}`, u = gi.join(s, "clp", l), h = gi.join(u, i), d = gi.join(h, "nls.messages.json"), p = gi.join(u, "tcf.json"), g = gi.join(u, "corrupted.info"); await D1(g) && await wi.promises.rm(u, { recursive: !0, force: !0, maxRetries: 3 }); const w = { userLocale: e, osLocale: t, resolvedLanguage: o, defaultMessagesFile: gi.join(n, "nls.messages.json"), languagePack: { translationsConfigFile: p, messagesFile: d, corruptMarkerFile: g }, locale: e, availableLanguages: { "*": o }, _languagePackId: l, _languagePackSupport: !0, _translationsConfigFile: p, _cacheRoot: u, _resolvedLanguagePackCoreLocation: h, _corruptedFile: g }; if (await D1(h)) return iA(h).catch(() => { }), Pt("code/didGenerateNls"), w; const [, y, x, k] = await Promise.all([wi.promises.mkdir(h, { recursive: !0 }), JSON.parse(await wi.promises.readFile(gi.join(n, "nls.keys.json"), "utf-8")), JSON.parse(await wi.promises.readFile(gi.join(n, "nls.messages.json"), "utf-8")), JSON.parse(await wi.promises.readFile(c, "utf-8"))]), A = []; let I = 0; for (const [L, q] of y) { const te = k.contents[L]; for (const V of q) A.push(te?.[V] || x[I]), I++ } return await Promise.all([wi.promises.writeFile(d, JSON.stringify(A), "utf-8"), wi.promises.writeFile(p, JSON.stringify(a.translations), "utf-8")]), Pt("code/didGenerateNls"), w } catch (r) { console.error("Generating translation files failed.", r) } return Ca(e, t, n) } async function tA(e) { const t = gi.join(e, "languagepacks.json"); try { return JSON.parse(await wi.promises.readFile(t, "utf-8")) } catch { return } } function sA(e, t) { try { for (; t;) { if (e[t]) return t; const s = t.lastIndexOf("-"); if (s > 0) t = t.substring(0, s); else return } } catch (s) { console.error("Resolving language pack configuration failed.", s) } } function Ca(e, t, s) { return Pt("code/didGenerateNls"), { userLocale: e, osLocale: t, resolvedLanguage: "en", defaultMessagesFile: gi.join(s, "nls.messages.json"), locale: e, availableLanguages: {} } } async function D1(e) { try { return await wi.promises.access(e), !0 } catch { return !1 } } function iA(e) { const t = new Date; return wi.promises.utimes(e, t, t) } var Fv = v({ "out-build/vs/base/node/nls.js"() { "use strict"; Yi() } }); function Bv(e) { _a.setUnexpectedErrorHandler(e) } function Hv(e) { if (!e || typeof e != "object") return !1; const t = e; return t.code === "EPIPE" && t.syscall?.toUpperCase() === "WRITE" } function ru(e) { _a.onUnexpectedError(e) } function Vt(e) { In(e) || _a.onUnexpectedError(e) } function In(e) { return e instanceof It ? !0 : e instanceof Error && e.name === ja && e.message === ja } function zv() { const e = new Error(ja); return e.name = e.message, e } function _e(e) { return e ? new Error(`Illegal argument: ${e}`) : new Error("Illegal argument") } function Vv(e) { return e ? new Error(`Illegal state: ${e}`) : new Error("Illegal state") } function ge(e) {
  5. return e ? e.message ? e.message : e.stack ? e.stack.split(`
  6. `)[0] : String(e) : "Error"
  7. } var Wv, _a, ja, It, Xi, to, fe = v({
  8. "out-build/vs/base/common/errors.js"() {
  9. "use strict"; Wv = class {
  10. constructor() {
  11. this.b = [], this.a = function (e) {
  12. setTimeout(() => {
  13. throw e.stack ? Xi.isErrorNoTelemetry(e) ? new Xi(e.message + `
  14. `+ e.stack) : new Error(e.message + `
  15. `+ e.stack) : e
  16. }, 0)
  17. }
  18. } addListener(e) { return this.b.push(e), () => { this.d(e) } } c(e) { this.b.forEach(t => { t(e) }) } d(e) { this.b.splice(this.b.indexOf(e), 1) } setUnexpectedErrorHandler(e) { this.a = e } getUnexpectedErrorHandler() { return this.a } onUnexpectedError(e) { this.a(e), this.c(e) } onUnexpectedExternalError(e) { this.a(e) }
  19. }, _a = new Wv, ja = "Canceled", It = class extends Error { constructor() { super(ja), this.name = this.message } }, Xi = class bv extends Error { constructor(t) { super(t), this.name = "CodeExpectedError" } static fromError(t) { if (t instanceof bv) return t; const s = new bv; return s.message = t.message, s.stack = t.stack, s } static isErrorNoTelemetry(t) { return t.name === "CodeExpectedError" } }, to = class nI extends Error { constructor(t) { super(t || "An unexpected bug occurred."), Object.setPrototypeOf(this, nI.prototype) } }
  20. }
  21. }); function nA() { return globalThis._VSCODE_NLS_MESSAGES } function qv() { return globalThis._VSCODE_NLS_LANGUAGE } var Gv = v({ "out-build/vs/nls.messages.js"() { "use strict" } }); function ou(e, t) { let s; return t.length === 0 ? s = e : s = e.replace(/\{(\d+)\}/g, (i, n) => { const r = n[0], o = t[r]; let a = i; return typeof o == "string" ? a = o : (typeof o == "number" || typeof o == "boolean" || o === void 0 || o === null) && (a = String(o)), a }), Xv && (s = "\uFF3B" + s.replace(/[aouei]/g, "$&$&") + "\uFF3D"), s } function m(e, t, ...s) { return ou(typeof e == "number" ? Jv(e, t) : t, s) } function Jv(e, t) { const s = nA()?.[e]; if (typeof s != "string") { if (typeof t == "string") return t; throw new Error(`!!! NLS MISSING: ${e} !!!`) } return s } function Yv(e, t, ...s) { let i; typeof e == "number" ? i = Jv(e, t) : i = t; const n = ou(i, s); return { value: n, original: t === i ? n : ou(t, s) } } var Xv, he = v({ "out-build/vs/nls.js"() { "use strict"; Gv(), Gv(), Xv = qv() === "pseudo" || typeof document < "u" && document.location && typeof document.location.hash == "string" && document.location.hash.indexOf("pseudo=true") >= 0 } }); function Qv(e) { switch (e) { case 0: return "Web"; case 1: return "Mac"; case 2: return "Linux"; case 3: return "Windows" } } var An, so, io, no, R1, L1, au, Zv, N1, Kv, eb, Ta, Ua, O1, tb, vi, bi, ks, C1, sb, ib, Ma, me, _s, rt, nb, rb, $s, ob, ab, ro, ei, Ss, cb, lb, ub, hb, dr, _1, fb, db, pb, rA, X = v({ "out-build/vs/base/common/platform.js"() { "use strict"; if (he(), An = "en", so = !1, io = !1, no = !1, R1 = !1, L1 = !1, au = !1, Zv = !1, N1 = !1, Kv = !1, eb = !1, Ta = void 0, Ua = An, O1 = An, tb = void 0, vi = void 0, bi = globalThis, ks = void 0, typeof bi.vscode < "u" && typeof bi.vscode.process < "u" ? ks = bi.vscode.process : typeof process < "u" && typeof process?.versions?.node == "string" && (ks = process), C1 = typeof ks?.versions?.electron == "string", sb = C1 && ks?.type === "renderer", typeof ks == "object") { so = ks.platform === "win32", io = ks.platform === "darwin", no = ks.platform === "linux", R1 = no && !!ks.env.SNAP && !!ks.env.SNAP_REVISION, Zv = C1, Kv = !!ks.env.CI || !!ks.env.BUILD_ARTIFACTSTAGINGDIRECTORY, Ta = An, Ua = An; const e = ks.env.VSCODE_NLS_CONFIG; if (e) try { const t = JSON.parse(e); Ta = t.userLocale, O1 = t.osLocale, Ua = t.resolvedLanguage || An, tb = t.languagePack?.translationsConfigFile } catch { } L1 = !0 } else typeof navigator == "object" && !sb ? (vi = navigator.userAgent, so = vi.indexOf("Windows") >= 0, io = vi.indexOf("Macintosh") >= 0, N1 = (vi.indexOf("Macintosh") >= 0 || vi.indexOf("iPad") >= 0 || vi.indexOf("iPhone") >= 0) && !!navigator.maxTouchPoints && navigator.maxTouchPoints > 0, no = vi.indexOf("Linux") >= 0, eb = vi?.indexOf("Mobi") >= 0, au = !0, Ua = qv() || An, Ta = navigator.language.toLowerCase(), O1 = Ta) : console.error("Unable to resolve platform."); (function (e) { e[e.Web = 0] = "Web", e[e.Mac = 1] = "Mac", e[e.Linux = 2] = "Linux", e[e.Windows = 3] = "Windows" })(ib || (ib = {})), Ma = 0, io ? Ma = 1 : so ? Ma = 3 : no && (Ma = 2), me = so, _s = io, rt = no, nb = R1, rb = L1, $s = au, ob = au && typeof bi.importScripts == "function", ab = ob ? bi.origin : void 0, ro = Ma, ei = vi, Ss = Ua, function (e) { function t() { return Ss } e.value = t; function s() { return Ss.length === 2 ? Ss === "en" : Ss.length >= 3 ? Ss[0] === "e" && Ss[1] === "n" && Ss[2] === "-" : !1 } e.isDefaultVariant = s; function i() { return Ss === "en" } e.isDefault = i }(cb || (cb = {})), lb = typeof bi.postMessage == "function" && !bi.importScripts, ub = (() => { if (lb) { const e = []; bi.addEventListener("message", s => { if (s.data && s.data.vscodeScheduleAsyncWork) for (let i = 0, n = e.length; i < n; i++) { const r = e[i]; if (r.id === s.data.vscodeScheduleAsyncWork) { e.splice(i, 1), r.callback(); return } } }); let t = 0; return s => { const i = ++t; e.push({ id: i, callback: s }), bi.postMessage({ vscodeScheduleAsyncWork: i }, "*") } } return e => setTimeout(e) })(), function (e) { e[e.Windows = 1] = "Windows", e[e.Macintosh = 2] = "Macintosh", e[e.Linux = 3] = "Linux" }(hb || (hb = {})), dr = io || N1 ? 2 : so ? 1 : 3, _1 = !!(ei && ei.indexOf("Chrome") >= 0), fb = !!(ei && ei.indexOf("Firefox") >= 0), db = !!(!_1 && ei && ei.indexOf("Safari") >= 0), pb = !!(ei && ei.indexOf("Edg/") >= 0), rA = !!(ei && ei.indexOf("Android") >= 0) } }); function oA(e, t) { const s = Object.create(null); for (const i of e) { const n = t(i); let r = s[n]; r || (r = s[n] = []), r.push(i) } return s } var mb, aA, gb = v({ "out-build/vs/base/common/collections.js"() { "use strict"; aA = class { static { mb = Symbol.toStringTag } constructor(e, t) { this.b = t, this.a = new Map, this[mb] = "SetWithKey"; for (const s of e) this.add(s) } get size() { return this.a.size } add(e) { const t = this.b(e); return this.a.set(t, e), this } delete(e) { return this.a.delete(this.b(e)) } has(e) { return this.a.has(this.b(e)) } *entries() { for (const e of this.a.values()) yield [e, e] } keys() { return this.values() } *values() { for (const e of this.a.values()) yield e } clear() { this.a.clear() } forEach(e, t) { this.a.forEach(s => e.call(t, s, s, this)) } [Symbol.iterator]() { return this.values() } } } }); function cu(e, t) { const s = this; let i = !1, n; return function () { if (i) return n; if (i = !0, t) try { n = e.apply(s, arguments) } finally { t() } else n = e.apply(s, arguments); return n } } var lu = v({ "out-build/vs/base/common/functional.js"() { "use strict" } }); function cA(e, t) { const s = lA(e, t); if (s !== -1) return e[s] } function lA(e, t, s = e.length - 1) { for (let i = s; i >= 0; i--) { const n = e[i]; if (t(n)) return i } return -1 } function uA(e, t, s = 0, i = e.length) { let n = s, r = i; for (; n < r;) { const o = Math.floor((n + r) / 2); t(e[o]) ? n = o + 1 : r = o } return n - 1 } var hA, wb = v({ "out-build/vs/base/common/arraysFind.js"() { "use strict"; hA = class rI { static { this.assertInvariants = !1 } constructor(t) { this.e = t, this.c = 0 } findLastMonotonous(t) { if (rI.assertInvariants) { if (this.d) { for (const i of this.e) if (this.d(i) && !t(i)) throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.") } this.d = t } const s = uA(this.e, t, this.c); return this.c = s + 1, s === -1 ? void 0 : this.e[s] } } } }); function Dn(e, t, s = (i, n) => i === n) { if (e === t) return !0; if (!e || !t || e.length !== t.length) return !1; for (let i = 0, n = e.length; i < n; i++)if (!s(e[i], t[i])) return !1; return !0 } function fA(e, t, s) { return dA(e.length, i => s(e[i], t)) } function dA(e, t) { let s = 0, i = e - 1; for (; s <= i;) { const n = (s + i) / 2 | 0, r = t(n); if (r < 0) s = n + 1; else if (r > 0) i = n - 1; else return n } return -(s + 1) } function yi(e) { return e.filter(t => !!t) } function pA(e) { let t = 0; for (let s = 0; s < e.length; s++)e[s] && (e[t] = e[s], t += 1); e.length = t } function uu(e) { return Array.isArray(e) && e.length > 0 } function Qi(e, t = s => s) { const s = new Set; return e.filter(i => { const n = t(i); return s.has(n) ? !1 : (s.add(n), !0) }) } function vb(e, t) { return e.push(t), () => mA(e, t) } function mA(e, t) { const s = e.indexOf(t); if (s > -1) return e.splice(s, 1), t } function bb(e, t) { let s; if (typeof t == "number") { let i = t; s = () => { const n = Math.sin(i++) * 179426549; return n - Math.floor(n) } } else s = Math.random; for (let i = e.length - 1; i > 0; i -= 1) { const n = Math.floor(s() * (i + 1)), r = e[i]; e[i] = e[n], e[n] = r } } function yb(e) { return Array.isArray(e) ? e : [e] } function gA(e) { return e[Math.floor(Math.random() * e.length)] } function wA(e, t) { return (s, i) => t(e(s), e(i)) } var j1, Eb, vA, Et = v({ "out-build/vs/base/common/arrays.js"() { "use strict"; wb(), fe(), function (e) { function t(r) { return r < 0 } e.isLessThan = t; function s(r) { return r <= 0 } e.isLessThanOrEqual = s; function i(r) { return r > 0 } e.isGreaterThan = i; function n(r) { return r === 0 } e.isNeitherLessOrGreaterThan = n, e.greaterThan = 1, e.lessThan = -1, e.neitherLessOrGreaterThan = 0 }(j1 || (j1 = {})), Eb = (e, t) => e - t, vA = class a1 { static { this.empty = new a1(t => { }) } constructor(t) { this.iterate = t } forEach(t) { this.iterate(s => (t(s), !0)) } toArray() { const t = []; return this.iterate(s => (t.push(s), !0)), t } filter(t) { return new a1(s => this.iterate(i => t(i) ? s(i) : !0)) } map(t) { return new a1(s => this.iterate(i => s(t(i)))) } some(t) { let s = !1; return this.iterate(i => (s = t(i), !s)), s } findFirst(t) { let s; return this.iterate(i => t(i) ? (s = i, !1) : !0), s } findLast(t) { let s; return this.iterate(i => (t(i) && (s = i), !0)), s } findLastMaxBy(t) { let s, i = !0; return this.iterate(n => ((i || j1.isGreaterThan(t(n, s))) && (i = !1, s = n), !0)), s } } } }); function bA(e) { return Array.isArray(e) } var xb, kb, $b, Sb, At, hu, Pb, Ib, Ab, Fa, Db, ls = v({ "out-build/vs/base/common/map.js"() { "use strict"; Sb = class { constructor(e, t) { this.uri = e, this.value = t } }, At = class ql { static { this.c = t => t.toString() } constructor(t, s) { if (this[xb] = "ResourceMap", t instanceof ql) this.d = new Map(t.d), this.e = s ?? ql.c; else if (bA(t)) { this.d = new Map, this.e = s ?? ql.c; for (const [i, n] of t) this.set(i, n) } else this.d = new Map, this.e = t ?? ql.c } set(t, s) { return this.d.set(this.e(t), new Sb(t, s)), this } get(t) { return this.d.get(this.e(t))?.value } has(t) { return this.d.has(this.e(t)) } get size() { return this.d.size } clear() { this.d.clear() } delete(t) { return this.d.delete(this.e(t)) } forEach(t, s) { typeof s < "u" && (t = t.bind(s)); for (const [i, n] of this.d) t(n.value, n.uri, this) } *values() { for (const t of this.d.values()) yield t.value } *keys() { for (const t of this.d.values()) yield t.uri } *entries() { for (const t of this.d.values()) yield [t.uri, t.value] } *[(xb = Symbol.toStringTag, Symbol.iterator)]() { for (const [, t] of this.d) yield [t.uri, t.value] } }, hu = class { constructor(e, t) { this[kb] = "ResourceSet", !e || typeof e == "function" ? this.c = new At(e) : (this.c = new At(t), e.forEach(this.add, this)) } get size() { return this.c.size } add(e) { return this.c.set(e, e), this } clear() { this.c.clear() } delete(e) { return this.c.delete(e) } forEach(e, t) { this.c.forEach((s, i) => e.call(t, i, i, this)) } has(e) { return this.c.has(e) } entries() { return this.c.entries() } keys() { return this.c.keys() } values() { return this.c.keys() } [(kb = Symbol.toStringTag, Symbol.iterator)]() { return this.keys() } }, function (e) { e[e.None = 0] = "None", e[e.AsOld = 1] = "AsOld", e[e.AsNew = 2] = "AsNew" }(Pb || (Pb = {})), Ib = class { constructor() { this[$b] = "LinkedMap", this.c = new Map, this.d = void 0, this.e = void 0, this.f = 0, this.g = 0 } clear() { this.c.clear(), this.d = void 0, this.e = void 0, this.f = 0, this.g++ } isEmpty() { return !this.d && !this.e } get size() { return this.f } get first() { return this.d?.value } get last() { return this.e?.value } has(e) { return this.c.has(e) } get(e, t = 0) { const s = this.c.get(e); if (s) return t !== 0 && this.m(s, t), s.value } set(e, t, s = 0) { let i = this.c.get(e); if (i) i.value = t, s !== 0 && this.m(i, s); else { switch (i = { key: e, value: t, next: void 0, previous: void 0 }, s) { case 0: this.k(i); break; case 1: this.j(i); break; case 2: this.k(i); break; default: this.k(i); break }this.c.set(e, i), this.f++ } return this } delete(e) { return !!this.remove(e) } remove(e) { const t = this.c.get(e); if (t) return this.c.delete(e), this.l(t), this.f--, t.value } shift() { if (!this.d && !this.e) return; if (!this.d || !this.e) throw new Error("Invalid list"); const e = this.d; return this.c.delete(e.key), this.l(e), this.f--, e.value } forEach(e, t) { const s = this.g; let i = this.d; for (; i;) { if (t ? e.bind(t)(i.value, i.key, this) : e(i.value, i.key, this), this.g !== s) throw new Error("LinkedMap got modified during iteration."); i = i.next } } keys() { const e = this, t = this.g; let s = this.d; const i = { [Symbol.iterator]() { return i }, next() { if (e.g !== t) throw new Error("LinkedMap got modified during iteration."); if (s) { const n = { value: s.key, done: !1 }; return s = s.next, n } else return { value: void 0, done: !0 } } }; return i } values() { const e = this, t = this.g; let s = this.d; const i = { [Symbol.iterator]() { return i }, next() { if (e.g !== t) throw new Error("LinkedMap got modified during iteration."); if (s) { const n = { value: s.value, done: !1 }; return s = s.next, n } else return { value: void 0, done: !0 } } }; return i } entries() { const e = this, t = this.g; let s = this.d; const i = { [Symbol.iterator]() { return i }, next() { if (e.g !== t) throw new Error("LinkedMap got modified during iteration."); if (s) { const n = { value: [s.key, s.value], done: !1 }; return s = s.next, n } else return { value: void 0, done: !0 } } }; return i } [($b = Symbol.toStringTag, Symbol.iterator)]() { return this.entries() } h(e) { if (e >= this.size) return; if (e === 0) { this.clear(); return } let t = this.d, s = this.size; for (; t && s > e;)this.c.delete(t.key), t = t.next, s--; this.d = t, this.f = s, t && (t.previous = void 0), this.g++ } i(e) { if (e >= this.size) return; if (e === 0) { this.clear(); return } let t = this.e, s = this.size; for (; t && s > e;)this.c.delete(t.key), t = t.previous, s--; this.e = t, this.f = s, t && (t.next = void 0), this.g++ } j(e) { if (!this.d && !this.e) this.e = e; else if (this.d) e.next = this.d, this.d.previous = e; else throw new Error("Invalid list"); this.d = e, this.g++ } k(e) { if (!this.d && !this.e) this.d = e; else if (this.e) e.previous = this.e, this.e.next = e; else throw new Error("Invalid list"); this.e = e, this.g++ } l(e) { if (e === this.d && e === this.e) this.d = void 0, this.e = void 0; else if (e === this.d) { if (!e.next) throw new Error("Invalid list"); e.next.previous = void 0, this.d = e.next } else if (e === this.e) { if (!e.previous) throw new Error("Invalid list"); e.previous.next = void 0, this.e = e.previous } else { const t = e.next, s = e.previous; if (!t || !s) throw new Error("Invalid list"); t.previous = s, s.next = t } e.next = void 0, e.previous = void 0, this.g++ } m(e, t) { if (!this.d || !this.e) throw new Error("Invalid list"); if (!(t !== 1 && t !== 2)) { if (t === 1) { if (e === this.d) return; const s = e.next, i = e.previous; e === this.e ? (i.next = void 0, this.e = i) : (s.previous = i, i.next = s), e.previous = void 0, e.next = this.d, this.d.previous = e, this.d = e, this.g++ } else if (t === 2) { if (e === this.e) return; const s = e.next, i = e.previous; e === this.d ? (s.previous = void 0, this.d = s) : (s.previous = i, i.next = s), e.next = void 0, e.previous = this.e, this.e.next = e, this.e = e, this.g++ } } } toJSON() { const e = []; return this.forEach((t, s) => { e.push([s, t]) }), e } fromJSON(e) { this.clear(); for (const [t, s] of e) this.set(t, s) } }, Ab = class extends Ib { constructor(e, t = 1) { super(), this.n = e, this.o = Math.min(Math.max(0, t), 1) } get limit() { return this.n } set limit(e) { this.n = e, this.p() } get ratio() { return this.o } set ratio(e) { this.o = Math.min(Math.max(0, e), 1), this.p() } 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 } p() { this.size > this.n && this.q(Math.round(this.n * this.o)) } }, Fa = class extends Ab { constructor(e, t = 1) { super(e, t) } q(e) { this.h(e) } set(e, t) { return super.set(e, t), this.p(), this } }, Db = class { constructor() { this.c = new Map } add(e, t) { let s = this.c.get(e); s || (s = new Set, this.c.set(e, s)), s.add(t) } delete(e, t) { const s = this.c.get(e); s && (s.delete(t), s.size === 0 && this.c.delete(e)) } forEach(e, t) { const s = this.c.get(e); s && s.forEach(t) } get(e) { const t = this.c.get(e); return t || new Set } } } }), Zi, pr = v({ "out-build/vs/base/common/iterator.js"() { "use strict"; (function (e) { function t(I) { return I && typeof I == "object" && typeof I[Symbol.iterator] == "function" } e.is = t; const s = Object.freeze([]); function i() { return s } e.empty = i; function* n(I) { yield I } e.single = n; function r(I) { return t(I) ? I : n(I) } e.wrap = r; function o(I) { return I || s } e.from = o; function* a(I) { for (let L = I.length - 1; L >= 0; L--)yield I[L] } e.reverse = a; function c(I) { return !I || I[Symbol.iterator]().next().done === !0 } e.isEmpty = c; function l(I) { return I[Symbol.iterator]().next().value } e.first = l; function u(I, L) { let q = 0; for (const te of I) if (L(te, q++)) return !0; return !1 } e.some = u; function h(I, L) { for (const q of I) if (L(q)) return q } e.find = h; function* d(I, L) { for (const q of I) L(q) && (yield q) } e.filter = d; function* p(I, L) { let q = 0; for (const te of I) yield L(te, q++) } e.map = p; function* g(I, L) { let q = 0; for (const te of I) yield* L(te, q++) } e.flatMap = g; function* w(...I) { for (const L of I) yield* L } e.concat = w; function y(I, L, q) { let te = q; for (const V of I) te = L(te, V); return te } e.reduce = y; function* x(I, L, q = I.length) { for (L < -I.length && (L = 0), L < 0 && (L += I.length), q < 0 ? q += I.length : q > I.length && (q = I.length); L < q; L++)yield I[L] } e.slice = x; function k(I, L = Number.POSITIVE_INFINITY) { const q = []; if (L === 0) return [q, I]; const te = I[Symbol.iterator](); for (let V = 0; V < L; V++) { const N = te.next(); if (N.done) return [q, e.empty()]; q.push(N.value) } return [q, { [Symbol.iterator]() { return te } }] } e.consume = k; async function A(I) { const L = []; for await (const q of I) L.push(q); return Promise.resolve(L) } e.asyncToArray = A })(Zi || (Zi = {})) } }); function yA(e) { mr = e } function oo(e) { return mr?.trackDisposable(e), e } function ao(e) { mr?.markAsDisposed(e) } function Ba(e, t) { mr?.setParent(e, t) } function EA(e, t) { if (mr) for (const s of e) mr.setParent(s, t) } function xA(e) { return typeof e == "object" && e !== null && typeof e.dispose == "function" && e.dispose.length === 0 } function Ut(e) { if (Zi.is(e)) { const t = []; for (const s of e) if (s) try { s.dispose() } catch (i) { t.push(i) } if (t.length === 1) throw t[0]; if (t.length > 1) throw new AggregateError(t, "Encountered errors while disposing of store"); return Array.isArray(e) ? [] : e } else if (e) return e.dispose(), e } function Rb(...e) { const t = ye(() => Ut(e)); return EA(e, t), t } function ye(e) { const t = oo({ dispose: cu(() => { ao(t), e() }) }); return t } var Lb, mr, kA, ut, J, fu, du, z = v({
  22. "out-build/vs/base/common/lifecycle.js"() {
  23. "use strict"; if (Et(), gb(), ls(), lu(), pr(), Lb = !1, mr = null, kA = class oI {
  24. constructor() { this.b = new Map } static { this.a = 0 } c(t) { let s = this.b.get(t); return s || (s = { parent: null, source: null, isSingleton: !1, value: t, idx: oI.a++ }, this.b.set(t, s)), s } trackDisposable(t) { const s = this.c(t); s.source || (s.source = new Error().stack) } setParent(t, s) { const i = this.c(t); i.parent = s } markAsDisposed(t) { this.b.delete(t) } markAsSingleton(t) { this.c(t).isSingleton = !0 } f(t, s) { const i = s.get(t); if (i) return i; const n = t.parent ? this.f(this.c(t.parent), s) : t; return s.set(t, n), n } getTrackedDisposables() { const t = new Map; return [...this.b.entries()].filter(([, i]) => i.source !== null && !this.f(i, t).isSingleton).flatMap(([i]) => i) } computeLeakingDisposables(t = 10, s) {
  25. let i; if (s) i = s; else { const c = new Map, l = [...this.b.values()].filter(h => h.source !== null && !this.f(h, c).isSingleton); if (l.length === 0) return; const u = new Set(l.map(h => h.value)); if (i = l.filter(h => !(h.parent && u.has(h.parent))), i.length === 0) throw new Error("There are cyclic diposable chains!") } if (!i) return; function n(c) {
  26. function l(h, d) { for (; h.length > 0 && d.some(p => typeof p == "string" ? p === h[0] : h[0].match(p));)h.shift() } const u = c.source.split(`
  27. `).map(h => h.trim().replace("at ", "")).filter(h => h !== ""); return l(u, ["Error", /^trackDisposable \(.*\)$/, /^DisposableTracker.trackDisposable \(.*\)$/]), u.reverse()
  28. } const r = new Db; for (const c of i) {
  29. const l = n(c); for (let u = 0; u <= l.length; u++)r.add(l.slice(0, u).join(`
  30. `), c)
  31. } i.sort(wA(c => c.idx, Eb)); let o = "", a = 0; for (const c of i.slice(0, t)) {
  32. a++; const l = n(c), u = []; for (let h = 0; h < l.length; h++) {
  33. let d = l[h]; d = `(shared with ${r.get(l.slice(0, h + 1).join(`
  34. `)).size}/${i.length} leaks) at ${d}`; const g = r.get(l.slice(0, h).join(`
  35. `)), w = oA([...g].map(y => n(y)[h]), y => y); delete w[l[h]]; for (const [y, x] of Object.entries(w)) u.unshift(` - stacktraces of ${x.length} other leaks continue with ${y}`); u.unshift(d)
  36. } o += `
  37. ==================== Leaking disposable ${a}/${i.length}: ${c.value.constructor.name} ====================
  38. ${u.join(`
  39. `)}
  40. ============================================================
  41. `} return i.length > t && (o += `
  42. ... and ${i.length - t} more leaking disposables
  43. `), { leaks: i, details: o }
  44. }
  45. }, Lb) { const e = "__is_disposable_tracked__"; yA(new class { trackDisposable(t) { const s = new Error("Potentially leaked disposable").stack; setTimeout(() => { t[e] || console.log(s) }, 3e3) } setParent(t, s) { if (t && t !== J.None) try { t[e] = !0 } catch { } } markAsDisposed(t) { if (t && t !== J.None) try { t[e] = !0 } catch { } } markAsSingleton(t) { } }) } ut = class aI { static { this.DISABLE_DISPOSED_WARNING = !1 } constructor() { this.f = new Set, this.g = !1, oo(this) } dispose() { this.g || (ao(this), this.g = !0, this.clear()) } get isDisposed() { return this.g } clear() { if (this.f.size !== 0) try { Ut(this.f) } finally { this.f.clear() } } add(t) { if (!t) return t; if (t === this) throw new Error("Cannot register a disposable on itself!"); return Ba(t, this), this.g ? aI.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.f.add(t), t } delete(t) { if (t) { if (t === this) throw new Error("Cannot dispose a disposable on itself!"); this.f.delete(t), t.dispose() } } deleteAndLeak(t) { t && this.f.has(t) && (this.f.delete(t), Ba(t, null)) } }, J = class { static { this.None = Object.freeze({ dispose() { } }) } constructor() { this.q = new ut, oo(this), Ba(this.q, this) } dispose() { ao(this), this.q.dispose() } B(e) { if (e === this) throw new Error("Cannot register a disposable on itself!"); return this.q.add(e) } }, fu = class { constructor() { this.b = !1, oo(this) } get value() { return this.b ? void 0 : this.a } set value(e) { this.b || e === this.a || (this.a?.dispose(), e && Ba(e, this), this.a = e) } clear() { this.value = void 0 } dispose() { this.b = !0, ao(this), this.a?.dispose(), this.a = void 0 } clearAndLeak() { const e = this.a; return this.a = void 0, e && Ba(e, null), e } }, du = class { constructor() { this.a = new Map, this.b = !1, oo(this) } dispose() { ao(this), this.b = !0, this.clearAndDisposeAll() } clearAndDisposeAll() { if (this.a.size) try { Ut(this.a.values()) } finally { this.a.clear() } } has(e) { return this.a.has(e) } get size() { return this.a.size } get(e) { return this.a.get(e) } set(e, t, s = !1) { this.b && 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), s || this.a.get(e)?.dispose(), this.a.set(e, t) } deleteAndDispose(e) { this.a.get(e)?.dispose(), this.a.delete(e) } deleteAndLeak(e) { const t = this.a.get(e); return this.a.delete(e), t } keys() { return this.a.keys() } values() { return this.a.values() } [Symbol.iterator]() { return this.a[Symbol.iterator]() } }
  46. }
  47. }), ot, T1, Nb = v({ "out-build/vs/base/common/linkedList.js"() { "use strict"; ot = class c1 { static { this.Undefined = new c1(void 0) } constructor(t) { this.element = t, this.next = c1.Undefined, this.prev = c1.Undefined } }, T1 = class { constructor() { this.a = ot.Undefined, this.b = ot.Undefined, this.c = 0 } get size() { return this.c } isEmpty() { return this.a === ot.Undefined } clear() { let e = this.a; for (; e !== ot.Undefined;) { const t = e.next; e.prev = ot.Undefined, e.next = ot.Undefined, e = t } this.a = ot.Undefined, this.b = ot.Undefined, this.c = 0 } unshift(e) { return this.d(e, !1) } push(e) { return this.d(e, !0) } d(e, t) { const s = new ot(e); if (this.a === ot.Undefined) this.a = s, this.b = s; else if (t) { const n = this.b; this.b = s, s.prev = n, n.next = s } else { const n = this.a; this.a = s, s.next = n, n.prev = s } this.c += 1; let i = !1; return () => { i || (i = !0, this.e(s)) } } shift() { if (this.a !== ot.Undefined) { const e = this.a.element; return this.e(this.a), e } } pop() { if (this.b !== ot.Undefined) { const e = this.b.element; return this.e(this.b), e } } e(e) { if (e.prev !== ot.Undefined && e.next !== ot.Undefined) { const t = e.prev; t.next = e.next, e.next.prev = t } else e.prev === ot.Undefined && e.next === ot.Undefined ? (this.a = ot.Undefined, this.b = ot.Undefined) : e.next === ot.Undefined ? (this.b = this.b.prev, this.b.next = ot.Undefined) : e.prev === ot.Undefined && (this.a = this.a.next, this.a.prev = ot.Undefined); this.c -= 1 } *[Symbol.iterator]() { let e = this.a; for (; e !== ot.Undefined;)yield e.element, e = e.next } } } }), Ob, Ki, co = v({ "out-build/vs/base/common/stopwatch.js"() { "use strict"; Ob = globalThis.performance && typeof globalThis.performance.now == "function", Ki = class cI { static create(t) { return new cI(t) } constructor(t) { this.c = Ob && t === !1 ? Date.now : globalThis.performance.now.bind(globalThis.performance), this.a = this.c(), this.b = -1 } stop() { this.b = this.c() } reset() { this.a = this.c(), this.b = -1 } elapsed() { return this.b !== -1 ? this.b - this.a : this.c() - this.a } } } }), Cb, U1, _b, H, jb, M1, Tb, pu, Ub, Mb, Fb, Ha, Bb, Hb, mu, D, zb, gu, Vb, F1, re = v({
  48. "out-build/vs/base/common/event.js"() {
  49. "use strict"; if (gb(), fe(), lu(), z(), Nb(), co(), Cb = !1, U1 = !1, _b = !1, function (e) { e.None = () => J.None; function t(C) { if (_b) { const { onDidAddListener: R } = C, M = pu.create(); let j = 0; C.onDidAddListener = () => { ++j === 2 && (console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"), M.print()), R?.() } } } function s(C, R) { return p(C, () => { }, 0, void 0, !0, void 0, R) } e.defer = s; function i(C) { return (R, M = null, j) => { let G = !1, ce; return ce = C(Ie => { if (!G) return ce ? ce.dispose() : G = !0, R.call(M, Ie) }, null, j), G && ce.dispose(), ce } } e.once = i; function n(C, R) { return e.once(e.filter(C, R)) } e.onceIf = n; function r(C, R, M) { return h((j, G = null, ce) => C(Ie => j.call(G, R(Ie)), null, ce), M) } e.map = r; function o(C, R, M) { return h((j, G = null, ce) => C(Ie => { R(Ie), j.call(G, Ie) }, null, ce), M) } e.forEach = o; function a(C, R, M) { return h((j, G = null, ce) => C(Ie => R(Ie) && j.call(G, Ie), null, ce), M) } e.filter = a; function c(C) { return C } e.signal = c; function l(...C) { return (R, M = null, j) => { const G = Rb(...C.map(ce => ce(Ie => R.call(M, Ie)))); return d(G, j) } } e.any = l; function u(C, R, M, j) { let G = M; return r(C, ce => (G = R(G, ce), G), j) } e.reduce = u; function h(C, R) { let M; const j = { onWillAddFirstListener() { M = C(G.fire, G) }, onDidRemoveLastListener() { M?.dispose() } }; R || t(j); const G = new D(j); return R?.add(G), G.event } function d(C, R) { return R instanceof Array ? R.push(C) : R && R.add(C), C } function p(C, R, M = 100, j = !1, G = !1, ce, Ie) { let Je, vt, qi, ur = 0, Gi; const Kr = { leakWarningThreshold: ce, onWillAddFirstListener() { Je = C(Kl => { ur++, vt = R(vt, Kl), j && !qi && (pi.fire(vt), vt = void 0), Gi = () => { const eu = vt; vt = void 0, qi = void 0, (!j || ur > 1) && pi.fire(eu), ur = 0 }, typeof M == "number" ? (clearTimeout(qi), qi = setTimeout(Gi, M)) : qi === void 0 && (qi = 0, queueMicrotask(Gi)) }) }, onWillRemoveListener() { G && ur > 0 && Gi?.() }, onDidRemoveLastListener() { Gi = void 0, Je.dispose() } }; Ie || t(Kr); const pi = new D(Kr); return Ie?.add(pi), pi.event } e.debounce = p; function g(C, R = 0, M) { return e.debounce(C, (j, G) => j ? (j.push(G), j) : [G], R, void 0, !0, void 0, M) } e.accumulate = g; function w(C, R = (j, G) => j === G, M) { let j = !0, G; return a(C, ce => { const Ie = j || !R(ce, G); return j = !1, G = ce, Ie }, M) } e.latch = w; function y(C, R, M) { return [e.filter(C, R, M), e.filter(C, j => !R(j), M)] } e.split = y; function x(C, R = !1, M = [], j) { let G = M.slice(), ce = C(vt => { G ? G.push(vt) : Je.fire(vt) }); j && j.add(ce); const Ie = () => { G?.forEach(vt => Je.fire(vt)), G = null }, Je = new D({ onWillAddFirstListener() { ce || (ce = C(vt => Je.fire(vt)), j && j.add(ce)) }, onDidAddFirstListener() { G && (R ? setTimeout(Ie) : Ie()) }, onDidRemoveLastListener() { ce && ce.dispose(), ce = null } }); return j && j.add(Je), Je.event } e.buffer = x; function k(C, R) { return (j, G, ce) => { const Ie = R(new I); return C(function (Je) { const vt = Ie.evaluate(Je); vt !== A && j.call(G, vt) }, void 0, ce) } } e.chain = k; const A = Symbol("HaltChainable"); class I { constructor() { this.f = [] } map(R) { return this.f.push(R), this } forEach(R) { return this.f.push(M => (R(M), M)), this } filter(R) { return this.f.push(M => R(M) ? M : A), this } reduce(R, M) { let j = M; return this.f.push(G => (j = R(j, G), j)), this } latch(R = (M, j) => M === j) { let M = !0, j; return this.f.push(G => { const ce = M || !R(G, j); return M = !1, j = G, ce ? G : A }), this } evaluate(R) { for (const M of this.f) if (R = M(R), R === A) break; return R } } function L(C, R, M = j => j) { const j = (...Je) => Ie.fire(M(...Je)), G = () => C.on(R, j), ce = () => C.removeListener(R, j), Ie = new D({ onWillAddFirstListener: G, onDidRemoveLastListener: ce }); return Ie.event } e.fromNodeEventEmitter = L; function q(C, R, M = j => j) { const j = (...Je) => Ie.fire(M(...Je)), G = () => C.addEventListener(R, j), ce = () => C.removeEventListener(R, j), Ie = new D({ onWillAddFirstListener: G, onDidRemoveLastListener: ce }); return Ie.event } e.fromDOMEventEmitter = q; function te(C) { return new Promise(R => i(C)(R)) } e.toPromise = te; function V(C) { const R = new D; return C.then(M => { R.fire(M) }, () => { R.fire(void 0) }).finally(() => { R.dispose() }), R.event } e.fromPromise = V; function N(C, R) { return C(M => R.fire(M)) } e.forward = N; function le(C, R, M) { return R(M), C(j => R(j)) } e.runAndSubscribe = le; class ue { constructor(R, M) { this._observable = R, this.f = 0, this.g = !1; const j = { onWillAddFirstListener: () => { R.addObserver(this), this._observable.reportChanges() }, onDidRemoveLastListener: () => { R.removeObserver(this) } }; M || t(j), this.emitter = new D(j), M && M.add(this.emitter) } beginUpdate(R) { this.f++ } handlePossibleChange(R) { } handleChange(R, M) { this.g = !0 } endUpdate(R) { this.f--, this.f === 0 && (this._observable.reportChanges(), this.g && (this.g = !1, this.emitter.fire(this._observable.get()))) } } function K(C, R) { return new ue(C, R).emitter.event } e.fromObservable = K; function ht(C) { return (R, M, j) => { let G = 0, ce = !1; const Ie = { beginUpdate() { G++ }, endUpdate() { G--, G === 0 && (C.reportChanges(), ce && (ce = !1, R.call(M))) }, handlePossibleChange() { }, handleChange() { ce = !0 } }; C.addObserver(Ie), C.reportChanges(); const Je = { dispose() { C.removeObserver(Ie) } }; return j instanceof ut ? j.add(Je) : Array.isArray(j) && j.push(Je), Je } } e.fromObservableLight = ht }(H || (H = {})), jb = class yv { static { this.all = new Set } static { this.f = 0 } constructor(t) { this.listenerCount = 0, this.invocationCount = 0, this.elapsedOverall = 0, this.durations = [], this.name = `${t}_${yv.f++}`, yv.all.add(this) } start(t) { this.g = new Ki, this.listenerCount = t } stop() { if (this.g) { const t = this.g.elapsed(); this.durations.push(t), this.elapsedOverall += t, this.invocationCount += 1, this.g = void 0 } } }, M1 = -1, Tb = class lI { static { this.f = 1 } constructor(t, s, i = (lI.f++).toString(16).padStart(3, "0")) { this.j = t, this.threshold = s, this.name = i, this.h = 0 } dispose() { this.g?.clear() } check(t, s) { const i = this.threshold; if (i <= 0 || s < i) return; this.g || (this.g = new Map); const n = this.g.get(t.value) || 0; if (this.g.set(t.value, n + 1), this.h -= 1, this.h <= 0) { this.h = i * .5; const [r, o] = this.getMostFrequentStack(), a = `[${this.name}] potential listener LEAK detected, having ${s} listeners already. MOST frequent listener (${o}):`; console.warn(a), console.warn(r); const c = new Ub(a, r); this.j(c) } return () => { const r = this.g.get(t.value) || 0; this.g.set(t.value, r - 1) } } getMostFrequentStack() { if (!this.g) return; let t, s = 0; for (const [i, n] of this.g) (!t || s < n) && (t = [i, n], s = n); return t } }, pu = class uI {
  50. static create() { const t = new Error; return new uI(t.stack ?? "") } constructor(t) { this.value = t } print() {
  51. console.warn(this.value.split(`
  52. `).slice(2).join(`
  53. `))
  54. }
  55. }, Ub = class extends Error { constructor(e, t) { super(e), this.name = "ListenerLeakError", this.stack = t } }, Mb = class extends Error { constructor(e, t) { super(e), this.name = "ListenerRefusalError", this.stack = t } }, Fb = 0, Ha = class { constructor(e) { this.value = e, this.id = Fb++ } }, Bb = 2, Hb = (e, t) => { if (e instanceof Ha) t(e); else for (let s = 0; s < e.length; s++) { const i = e[s]; i && t(i) } }, Cb) {
  56. const e = []; setInterval(() => {
  57. e.length !== 0 && (console.warn("[LEAKING LISTENERS] GC'ed these listeners that were NOT yet disposed:"), console.warn(e.join(`
  58. `)), e.length = 0)
  59. }, 3e3), mu = new FinalizationRegistry(t => { typeof t == "string" && e.push(t) })
  60. } D = class {
  61. constructor(e) { this.z = 0, this.f = e, this.g = M1 > 0 || this.f?.leakWarningThreshold ? new Tb(e?.onListenerError ?? Vt, this.f?.leakWarningThreshold ?? M1) : void 0, this.j = this.f?._profName ? new jb(this.f._profName) : void 0, this.w = this.f?.deliveryQueue } dispose() { if (!this.m) { if (this.m = !0, this.w?.current === this && this.w.reset(), this.u) { if (U1) { const e = this.u; queueMicrotask(() => { Hb(e, t => t.stack?.print()) }) } this.u = void 0, this.z = 0 } this.f?.onDidRemoveLastListener?.(), this.g?.dispose() } } get event() {
  62. return this.q ??= (e, t, s) => {
  63. if (this.g && this.z > this.g.threshold ** 2) { const a = `[${this.g.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this.z} vs ${this.g.threshold})`; console.warn(a); const c = this.g.getMostFrequentStack() ?? ["UNKNOWN stack", -1], l = new Mb(`${a}. HINT: Stack shows most frequent listener (${c[1]}-times)`, c[0]); return (this.f?.onListenerError || Vt)(l), J.None } if (this.m) return J.None; t && (e = e.bind(t)); const i = new Ha(e); let n, r; this.g && this.z >= Math.ceil(this.g.threshold * .2) && (i.stack = pu.create(), n = this.g.check(i.stack, this.z + 1)), U1 && (i.stack = r ?? pu.create()), this.u ? this.u instanceof Ha ? (this.w ??= new zb, this.u = [this.u, i]) : this.u.push(i) : (this.f?.onWillAddFirstListener?.(this), this.u = i, this.f?.onDidAddFirstListener?.(this)), this.f?.onDidAddListener?.(this), this.z++; const o = ye(() => { mu?.unregister(o), n?.(), this.A(i) }); if (s instanceof ut ? s.add(o) : Array.isArray(s) && s.push(o), mu) {
  64. const a = new Error().stack.split(`
  65. `).slice(2, 3).join(`
  66. `).trim(), c = /(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(a); mu.register(o, c?.[2] ?? a, o)
  67. } return o
  68. }, this.q
  69. } A(e) { if (this.f?.onWillRemoveListener?.(this), !this.u) return; if (this.z === 1) { this.u = void 0, this.f?.onDidRemoveLastListener?.(this), this.z = 0; return } const t = this.u, s = t.indexOf(e); if (s === -1) throw console.log("disposed?", this.m), console.log("size?", this.z), console.log("arr?", JSON.stringify(this.u)), new Error("Attempted to dispose unknown listener"); this.z--, t[s] = void 0; const i = this.w.current === this; if (this.z * Bb <= t.length) { let n = 0; for (let r = 0; r < t.length; r++)t[r] ? t[n++] = t[r] : i && n < this.w.end && (this.w.end--, n < this.w.i && this.w.i--); t.length = n } } B(e, t) { if (!e) return; const s = this.f?.onListenerError || Vt; if (!s) { e.value(t); return } try { e.value(t) } catch (i) { s(i) } } C(e) { const t = e.current.u; for (; e.i < e.end;)this.B(t[e.i++], e.value); e.reset() } fire(e) { if (this.w?.current && (this.C(this.w), this.j?.stop()), this.j?.start(this.z), this.u) if (this.u instanceof Ha) this.B(this.u, e); else { const t = this.w; t.enqueue(this, e, this.u.length), this.C(t) } this.j?.stop() } hasListeners() { return this.z > 0 }
  70. }, zb = class { constructor() { this.i = -1, this.end = 0 } enqueue(e, t, s) { this.i = 0, this.end = s, this.current = e, this.value = t } reset() { this.i = this.end, this.current = void 0, this.value = void 0 } }, gu = class extends D { get isPaused() { return this.h !== 0 } constructor(e) { super(e), this.h = 0, this.s = new T1, this.t = e?.merge } pause() { this.h++ } resume() { if (this.h !== 0 && --this.h === 0) if (this.t) { if (this.s.size > 0) { const e = Array.from(this.s); this.s.clear(), super.fire(this.t(e)) } } else for (; !this.h && this.s.size !== 0;)super.fire(this.s.shift()) } fire(e) { this.z && (this.h !== 0 ? this.s.push(e) : super.fire(e)) } }, Vb = class { constructor() { this.g = !1, this.h = [], this.f = new D({ onWillAddFirstListener: () => this.j(), onDidRemoveLastListener: () => this.k() }) } get event() { return this.f.event } add(e) { const t = { event: e, listener: null }; return this.h.push(t), this.g && this.m(t), ye(cu(() => { this.g && this.o(t); const i = this.h.indexOf(t); this.h.splice(i, 1) })) } j() { this.g = !0, this.h.forEach(e => this.m(e)) } k() { this.g = !1, this.h.forEach(e => this.o(e)) } m(e) { e.listener = e.event(t => this.f.fire(t)) } o(e) { e.listener?.dispose(), e.listener = null } dispose() { this.f.dispose(); for (const e of this.h) e.listener?.dispose(); this.h = [] } }, F1 = class { constructor() { this.f = !1, this.g = H.None, this.h = J.None, this.j = new D({ onDidAddFirstListener: () => { this.f = !0, this.h = this.g(this.j.fire, this.j) }, onDidRemoveLastListener: () => { this.f = !1, this.h.dispose() } }), this.event = this.j.event } set input(e) { this.g = e, this.f && (this.h.dispose(), this.h = e(this.j.fire, this.j)) } dispose() { this.h.dispose(), this.j.dispose() } }
  71. }
  72. }), B1, Ne, za, Ei, Dt = v({ "out-build/vs/base/common/cancellation.js"() { "use strict"; re(), B1 = Object.freeze(function (e, t) { const s = setTimeout(e.bind(t), 0); return { dispose() { clearTimeout(s) } } }), function (e) { function t(s) { return s === e.None || s === e.Cancelled || s instanceof za ? !0 : !s || typeof s != "object" ? !1 : typeof s.isCancellationRequested == "boolean" && typeof s.onCancellationRequested == "function" } e.isCancellationToken = t, e.None = Object.freeze({ isCancellationRequested: !1, onCancellationRequested: H.None }), e.Cancelled = Object.freeze({ isCancellationRequested: !0, onCancellationRequested: B1 }) }(Ne || (Ne = {})), za = class { constructor() { this.a = !1, this.b = null } cancel() { this.a || (this.a = !0, this.b && (this.b.fire(void 0), this.dispose())) } get isCancellationRequested() { return this.a } get onCancellationRequested() { return this.a ? B1 : (this.b || (this.b = new D), this.b.event) } dispose() { this.b && (this.b.dispose(), this.b = null) } }, Ei = class { constructor(e) { this.f = void 0, this.g = void 0, this.g = e && e.onCancellationRequested(this.cancel, this) } get token() { return this.f || (this.f = new za), this.f } cancel() { this.f ? this.f instanceof za && this.f.cancel() : this.f = Ne.Cancelled } dispose(e = !1) { e && this.cancel(), this.g?.dispose(), this.f ? this.f instanceof za && this.f.dispose() : this.f = Ne.None } } } }); function $A(e) { return e } var Wb, SA = v({ "out-build/vs/base/common/cache.js"() { "use strict"; Dt(), Wb = class { constructor(e, t) { this.a = void 0, this.b = void 0, typeof e == "function" ? (this.c = e, this.d = $A) : (this.c = t, this.d = e.getCacheKey) } get(e) { const t = this.d(e); return this.b !== t && (this.b = t, this.a = this.c(e)), this.a } } } }), gr, wu = v({ "out-build/vs/base/common/lazy.js"() { "use strict"; gr = class { constructor(e) { this.d = e, this.a = !1 } get hasValue() { return this.a } get value() { if (!this.a) try { this.b = this.d() } catch (e) { this.c = e } finally { this.a = !0 } if (this.c) throw this.c; return this.b } get rawValue() { return this.b } } } }); function PA(e) { return !e || typeof e != "string" ? !0 : e.trim().length === 0 } function IA(e, t) { return Object.keys(t).length === 0 ? e : e.replace(Xb, (s, i) => t[i] ?? s) } function Rn(e) { return e.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g, "\\$&") } function AA(e, t) { if (!e || !t) return e; const s = t.length; if (s === 0 || e.length === 0) return e; let i = 0; for (; e.indexOf(t, i) === i;)i = i + s; return e.substring(i) } function qb(e, t) { if (!e || !t) return e; const s = t.length, i = e.length; if (s === 0 || i === 0) return e; let n = i, r = -1; for (; r = e.lastIndexOf(t, n - 1), !(r === -1 || r + s !== n);) { if (r === 0) return ""; n = r } return e.substring(0, n) } function DA(e, t, s = {}) { if (!e) throw new Error("Cannot create regex from empty string"); t || (e = Rn(e)), s.wholeWord && (/\B/.test(e.charAt(0)) || (e = "\\b" + e), /\B/.test(e.charAt(e.length - 1)) || (e = e + "\\b")); let i = ""; return s.global && (i += "g"), s.matchCase || (i += "i"), s.multiline && (i += "m"), s.unicode && (i += "u"), new RegExp(e, i) } function RA(e, t, s) { const i = []; let n = 0; for (const r of e.matchAll(t)) { if (i.push(e.slice(n, r.index)), r.index === void 0) throw new Error("match.index should be defined"); n = r.index + r[0].length, i.push(s(r[0], ...r.slice(1), r.index, e, r.groups)) } return i.push(e.slice(n)), Promise.all(i).then(r => r.join("")) } function H1(e, t) { return e < t ? -1 : e > t ? 1 : 0 } function z1(e, t, s = 0, i = e.length, n = 0, r = t.length) { for (; s < i && n < r; s++, n++) { const c = e.charCodeAt(s), l = t.charCodeAt(n); if (c < l) return -1; if (c > l) return 1 } const o = i - s, a = r - n; return o < a ? -1 : o > a ? 1 : 0 } function V1(e, t) { return Va(e, t, 0, e.length, 0, t.length) } function Va(e, t, s = 0, i = e.length, n = 0, r = t.length) { for (; s < i && n < r; s++, n++) { let c = e.charCodeAt(s), l = t.charCodeAt(n); if (c === l) continue; if (c >= 128 || l >= 128) return z1(e.toLowerCase(), t.toLowerCase(), s, i, n, r); Gb(c) && (c -= 32), Gb(l) && (l -= 32); const u = c - l; if (u !== 0) return u } const o = i - s, a = r - n; return o < a ? -1 : o > a ? 1 : 0 } function Gb(e) { return e >= 97 && e <= 122 } function Jb(e) { return e >= 65 && e <= 90 } function Ln(e, t) { return e.length === t.length && Va(e, t) === 0 } function W1(e, t) { const s = t.length; return t.length > e.length ? !1 : Va(e, t, 0, s) === 0 } function LA(e) { return 55296 <= e && e <= 56319 } function Yb(e) { return 56320 <= e && e <= 57343 } function NA(e, t) { return (e - 55296 << 10) + (t - 56320) + 65536 } function OA() { 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 Xb, CA, Qb, _A, Zb, jA, TA, et = v({ "out-build/vs/base/common/strings.js"() { "use strict"; SA(), wu(), Xb = /{([^}]+)}/g, CA = "\uFEFF", function (e) { e[e.Other = 0] = "Other", e[e.Prepend = 1] = "Prepend", e[e.CR = 2] = "CR", e[e.LF = 3] = "LF", e[e.Control = 4] = "Control", e[e.Extend = 5] = "Extend", e[e.Regional_Indicator = 6] = "Regional_Indicator", e[e.SpacingMark = 7] = "SpacingMark", e[e.L = 8] = "L", e[e.V = 9] = "V", e[e.T = 10] = "T", e[e.LV = 11] = "LV", e[e.LVT = 12] = "LVT", e[e.ZWJ = 13] = "ZWJ", e[e.Extended_Pictographic = 14] = "Extended_Pictographic" }(Qb || (Qb = {})), _A = class Gl { static { this.c = null } static getInstance() { return Gl.c || (Gl.c = new Gl), Gl.c } constructor() { this.d = OA() } getGraphemeBreakType(t) { if (t < 32) return t === 10 ? 3 : t === 13 ? 2 : 4; if (t < 127) return 0; const s = this.d, i = s.length / 3; let n = 1; for (; n <= i;)if (t < s[3 * n]) n = 2 * n; else if (t > s[3 * n + 1]) n = 2 * n + 1; else return s[3 * n + 2]; return 0 } }, function (e) { e[e.zwj = 8205] = "zwj", e[e.emojiVariantSelector = 65039] = "emojiVariantSelector", e[e.enclosingKeyCap = 8419] = "enclosingKeyCap" }(Zb || (Zb = {})), jA = class Jl { static { this.c = new gr(() => 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,8218,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,8242,96,1370,96,1523,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,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,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,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,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,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,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,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,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,71922,67,71913,67,65315,67,8557,67,8450,67,8493,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,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,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,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,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,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,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,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,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,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,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,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,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,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,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,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,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,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,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,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,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,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,71919,87,71910,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,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,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,66293,90,71909,90,65338,90,8484,90,8488,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,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,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,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,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,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,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,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,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,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,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,65283,35,65292,44,65307,59],"ko":[8211,45,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,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,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,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,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,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[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,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,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,65283,35,65307,59]}')) } static { this.d = new Wb({ getCacheKey: JSON.stringify }, t => { function s(u) { const h = new Map; for (let d = 0; d < u.length; d += 2)h.set(u[d], u[d + 1]); return h } function i(u, h) { const d = new Map(u); for (const [p, g] of h) d.set(p, g); return d } function n(u, h) { if (!u) return h; const d = new Map; for (const [p, g] of u) h.has(p) && d.set(p, g); return d } const r = this.c.value; let o = t.filter(u => !u.startsWith("_") && u in r); o.length === 0 && (o = ["_default"]); let a; for (const u of o) { const h = s(r[u]); a = n(a, h) } const c = s(r._common), l = i(c, a); return new Jl(l) }) } static getInstance(t) { return Jl.d.get(Array.from(t)) } static { this.e = new gr(() => Object.keys(Jl.c.value).filter(t => !t.startsWith("_"))) } static getLocales() { return Jl.e.value } constructor(t) { this.f = t } isAmbiguous(t) { return this.f.has(t) } containsAmbiguousCharacter(t) { for (let s = 0; s < t.length; s++) { const i = t.codePointAt(s); if (typeof i == "number" && this.isAmbiguous(i)) return !0 } return !1 } getPrimaryConfusable(t) { return this.f.get(t) } getConfusableCodePoints() { return new Set(this.f.keys()) } }, TA = class Yl { static c() { return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,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,12288,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]") } static { this.d = void 0 } static e() { return this.d || (this.d = new Set(Yl.c())), this.d } static isInvisibleCharacter(t) { return Yl.e().has(t) } static containsInvisibleCharacter(t) { for (let s = 0; s < t.length; s++) { const i = t.codePointAt(s); if (typeof i == "number" && Yl.isInvisibleCharacter(i)) return !0 } return !1 } static get codePoints() { return Yl.e() } } } }), wr, vu, xi, js, q1, G1, ti = v({ "out-build/vs/base/common/process.js"() { "use strict"; if (X(), vu = globalThis.vscode, typeof vu < "u" && typeof vu.process < "u") { const e = vu.process; wr = { get platform() { return e.platform }, get arch() { return e.arch }, get env() { return e.env }, cwd() { return e.cwd() } } } else typeof process < "u" && typeof process?.versions?.node == "string" ? wr = { get platform() { return process.platform }, get arch() { return process.arch }, get env() { return process.env }, cwd() { return process.env.VSCODE_CWD || process.cwd() } } : wr = { get platform() { return me ? "win32" : _s ? "darwin" : "linux" }, get arch() { }, get env() { return {} }, cwd() { return "/" } }; xi = wr.cwd, js = wr.env, q1 = wr.platform, G1 = wr.arch } }); function UA(e, t) { if (e === null || typeof e != "object") throw new Y1(t, "Object", e) } function dt(e, t) { if (typeof e != "string") throw new Y1(t, "string", e) } function we(e) { return e === Ot || e === us } function J1(e) { return e === Ot } function Nn(e) { return e >= ey && e <= sy || e >= ty && e <= iy } function bu(e, t, s, i) { let n = "", r = 0, o = -1, a = 0, c = 0; for (let l = 0; l <= e.length; ++l) { if (l < e.length) c = e.charCodeAt(l); else { if (i(c)) break; c = Ot } if (i(c)) { if (!(o === l - 1 || a === 1)) if (a === 2) { if (n.length < 2 || r !== 2 || n.charCodeAt(n.length - 1) !== en || n.charCodeAt(n.length - 2) !== en) { if (n.length > 2) { const u = n.lastIndexOf(s); u === -1 ? (n = "", r = 0) : (n = n.slice(0, u), r = n.length - 1 - n.lastIndexOf(s)), o = l, a = 0; continue } else if (n.length !== 0) { n = "", r = 0, o = l, a = 0; continue } } t && (n += n.length > 0 ? `${s}..` : "..", r = 2) } else n.length > 0 ? n += `${s}${e.slice(o + 1, l)}` : n = e.slice(o + 1, l), r = l - o - 1; o = l, a = 0 } else c === en && a !== -1 ? ++a : a = -1 } return n } function MA(e) { return e ? `${e[0] === "." ? "" : "."}${e}` : "" } function Kb(e, t) { UA(t, "pathObject"); const s = t.dir || t.root, i = t.base || `${t.name || ""}${MA(t.ext)}`; return s ? s === t.root ? `${s}${i}` : `${s}${e}${i}` : i } var ey, ty, sy, iy, en, Ot, us, tn, ny, Y1, hs, pt, ry, Ae, si, sn, _, nn, Wa, Ct, at, vr, FA, BA, HA, Qt, lo, de = v({ "out-build/vs/base/common/path.js"() { "use strict"; ti(), ey = 65, ty = 97, sy = 90, iy = 122, en = 46, Ot = 47, us = 92, tn = 58, ny = 63, Y1 = class extends Error { constructor(e, t, s) { let i; typeof t == "string" && t.indexOf("not ") === 0 ? (i = "must not be", t = t.replace(/^not /, "")) : i = "must be"; const n = e.indexOf(".") !== -1 ? "property" : "argument"; let r = `The "${e}" ${n} ${i} of type ${t}`; r += `. Received type ${typeof s}`, super(r), this.code = "ERR_INVALID_ARG_TYPE" } }, hs = q1 === "win32", pt = { resolve(...e) { let t = "", s = "", i = !1; for (let n = e.length - 1; n >= -1; n--) { let r; if (n >= 0) { if (r = e[n], dt(r, `paths[${n}]`), r.length === 0) continue } else t.length === 0 ? r = xi() : (r = js[`=${t}`] || xi(), (r === void 0 || r.slice(0, 2).toLowerCase() !== t.toLowerCase() && r.charCodeAt(2) === us) && (r = `${t}\\`)); const o = r.length; let a = 0, c = "", l = !1; const u = r.charCodeAt(0); if (o === 1) we(u) && (a = 1, l = !0); else if (we(u)) if (l = !0, we(r.charCodeAt(1))) { let h = 2, d = h; for (; h < o && !we(r.charCodeAt(h));)h++; if (h < o && h !== d) { const p = r.slice(d, h); for (d = h; h < o && we(r.charCodeAt(h));)h++; if (h < o && h !== d) { for (d = h; h < o && !we(r.charCodeAt(h));)h++; (h === o || h !== d) && (c = `\\\\${p}\\${r.slice(d, h)}`, a = h) } } } else a = 1; else Nn(u) && r.charCodeAt(1) === tn && (c = r.slice(0, 2), a = 2, o > 2 && we(r.charCodeAt(2)) && (l = !0, a = 3)); if (c.length > 0) if (t.length > 0) { if (c.toLowerCase() !== t.toLowerCase()) continue } else t = c; if (i) { if (t.length > 0) break } else if (s = `${r.slice(a)}\\${s}`, i = l, l && t.length > 0) break } return s = bu(s, !i, "\\", we), i ? `${t}\\${s}` : `${t}${s}` || "." }, normalize(e) { dt(e, "path"); const t = e.length; if (t === 0) return "."; let s = 0, i, n = !1; const r = e.charCodeAt(0); if (t === 1) return J1(r) ? "\\" : e; if (we(r)) if (n = !0, we(e.charCodeAt(1))) { let a = 2, c = a; for (; a < t && !we(e.charCodeAt(a));)a++; if (a < t && a !== c) { const l = e.slice(c, a); for (c = a; a < t && we(e.charCodeAt(a));)a++; if (a < t && a !== c) { for (c = a; a < t && !we(e.charCodeAt(a));)a++; if (a === t) return `\\\\${l}\\${e.slice(c)}\\`; a !== c && (i = `\\\\${l}\\${e.slice(c, a)}`, s = a) } } } else s = 1; else Nn(r) && e.charCodeAt(1) === tn && (i = e.slice(0, 2), s = 2, t > 2 && we(e.charCodeAt(2)) && (n = !0, s = 3)); let o = s < t ? bu(e.slice(s), !n, "\\", we) : ""; return o.length === 0 && !n && (o = "."), o.length > 0 && we(e.charCodeAt(t - 1)) && (o += "\\"), i === void 0 ? n ? `\\${o}` : o : n ? `${i}\\${o}` : `${i}${o}` }, isAbsolute(e) { dt(e, "path"); const t = e.length; if (t === 0) return !1; const s = e.charCodeAt(0); return we(s) || t > 2 && Nn(s) && e.charCodeAt(1) === tn && we(e.charCodeAt(2)) }, join(...e) { if (e.length === 0) return "."; let t, s; for (let r = 0; r < e.length; ++r) { const o = e[r]; dt(o, "path"), o.length > 0 && (t === void 0 ? t = s = o : t += `\\${o}`) } if (t === void 0) return "."; let i = !0, n = 0; if (typeof s == "string" && we(s.charCodeAt(0))) { ++n; const r = s.length; r > 1 && we(s.charCodeAt(1)) && (++n, r > 2 && (we(s.charCodeAt(2)) ? ++n : i = !1)) } if (i) { for (; n < t.length && we(t.charCodeAt(n));)n++; n >= 2 && (t = `\\${t.slice(n)}`) } return pt.normalize(t) }, relative(e, t) { if (dt(e, "from"), dt(t, "to"), e === t) return ""; const s = pt.resolve(e), i = pt.resolve(t); if (s === i || (e = s.toLowerCase(), t = i.toLowerCase(), e === t)) return ""; let n = 0; for (; n < e.length && e.charCodeAt(n) === us;)n++; let r = e.length; for (; r - 1 > n && e.charCodeAt(r - 1) === us;)r--; const o = r - n; let a = 0; for (; a < t.length && t.charCodeAt(a) === us;)a++; let c = t.length; for (; c - 1 > a && t.charCodeAt(c - 1) === us;)c--; const l = c - a, u = o < l ? o : l; let h = -1, d = 0; for (; d < u; d++) { const g = e.charCodeAt(n + d); if (g !== t.charCodeAt(a + d)) break; g === us && (h = d) } if (d !== u) { if (h === -1) return i } else { if (l > u) { if (t.charCodeAt(a + d) === us) return i.slice(a + d + 1); if (d === 2) return i.slice(a + d) } o > u && (e.charCodeAt(n + d) === us ? h = d : d === 2 && (h = 3)), h === -1 && (h = 0) } let p = ""; for (d = n + h + 1; d <= r; ++d)(d === r || e.charCodeAt(d) === us) && (p += p.length === 0 ? ".." : "\\.."); return a += h, p.length > 0 ? `${p}${i.slice(a, c)}` : (i.charCodeAt(a) === us && ++a, i.slice(a, c)) }, toNamespacedPath(e) { if (typeof e != "string" || e.length === 0) return e; const t = pt.resolve(e); if (t.length <= 2) return e; if (t.charCodeAt(0) === us) { if (t.charCodeAt(1) === us) { const s = t.charCodeAt(2); if (s !== ny && s !== en) return `\\\\?\\UNC\\${t.slice(2)}` } } else if (Nn(t.charCodeAt(0)) && t.charCodeAt(1) === tn && t.charCodeAt(2) === us) return `\\\\?\\${t}`; return e }, dirname(e) { dt(e, "path"); const t = e.length; if (t === 0) return "."; let s = -1, i = 0; const n = e.charCodeAt(0); if (t === 1) return we(n) ? e : "."; if (we(n)) { if (s = i = 1, we(e.charCodeAt(1))) { let a = 2, c = a; for (; a < t && !we(e.charCodeAt(a));)a++; if (a < t && a !== c) { for (c = a; a < t && we(e.charCodeAt(a));)a++; if (a < t && a !== c) { for (c = a; a < t && !we(e.charCodeAt(a));)a++; if (a === t) return e; a !== c && (s = i = a + 1) } } } } else Nn(n) && e.charCodeAt(1) === tn && (s = t > 2 && we(e.charCodeAt(2)) ? 3 : 2, i = s); let r = -1, o = !0; for (let a = t - 1; a >= i; --a)if (we(e.charCodeAt(a))) { if (!o) { r = a; break } } else o = !1; if (r === -1) { if (s === -1) return "."; r = s } return e.slice(0, r) }, basename(e, t) { t !== void 0 && dt(t, "suffix"), dt(e, "path"); let s = 0, i = -1, n = !0, r; if (e.length >= 2 && Nn(e.charCodeAt(0)) && e.charCodeAt(1) === tn && (s = 2), t !== void 0 && t.length > 0 && t.length <= e.length) { if (t === e) return ""; let o = t.length - 1, a = -1; for (r = e.length - 1; r >= s; --r) { const c = e.charCodeAt(r); if (we(c)) { if (!n) { s = r + 1; break } } else a === -1 && (n = !1, a = r + 1), o >= 0 && (c === t.charCodeAt(o) ? --o === -1 && (i = r) : (o = -1, i = a)) } return s === i ? i = a : i === -1 && (i = e.length), e.slice(s, i) } for (r = e.length - 1; r >= s; --r)if (we(e.charCodeAt(r))) { if (!n) { s = r + 1; break } } else i === -1 && (n = !1, i = r + 1); return i === -1 ? "" : e.slice(s, i) }, extname(e) { dt(e, "path"); let t = 0, s = -1, i = 0, n = -1, r = !0, o = 0; e.length >= 2 && e.charCodeAt(1) === tn && Nn(e.charCodeAt(0)) && (t = i = 2); for (let a = e.length - 1; a >= t; --a) { const c = e.charCodeAt(a); if (we(c)) { if (!r) { i = a + 1; break } continue } n === -1 && (r = !1, n = a + 1), c === en ? s === -1 ? s = a : o !== 1 && (o = 1) : s !== -1 && (o = -1) } return s === -1 || n === -1 || o === 0 || o === 1 && s === n - 1 && s === i + 1 ? "" : e.slice(s, n) }, format: Kb.bind(null, "\\"), parse(e) { dt(e, "path"); const t = { root: "", dir: "", base: "", ext: "", name: "" }; if (e.length === 0) return t; const s = e.length; let i = 0, n = e.charCodeAt(0); if (s === 1) return we(n) ? (t.root = t.dir = e, t) : (t.base = t.name = e, t); if (we(n)) { if (i = 1, we(e.charCodeAt(1))) { let h = 2, d = h; for (; h < s && !we(e.charCodeAt(h));)h++; if (h < s && h !== d) { for (d = h; h < s && we(e.charCodeAt(h));)h++; if (h < s && h !== d) { for (d = h; h < s && !we(e.charCodeAt(h));)h++; h === s ? i = h : h !== d && (i = h + 1) } } } } else if (Nn(n) && e.charCodeAt(1) === tn) { if (s <= 2) return t.root = t.dir = e, t; if (i = 2, we(e.charCodeAt(2))) { if (s === 3) return t.root = t.dir = e, t; i = 3 } } i > 0 && (t.root = e.slice(0, i)); let r = -1, o = i, a = -1, c = !0, l = e.length - 1, u = 0; for (; l >= i; --l) { if (n = e.charCodeAt(l), we(n)) { if (!c) { o = l + 1; break } continue } a === -1 && (c = !1, a = l + 1), n === en ? r === -1 ? r = l : u !== 1 && (u = 1) : r !== -1 && (u = -1) } return a !== -1 && (r === -1 || u === 0 || u === 1 && r === a - 1 && r === o + 1 ? t.base = t.name = e.slice(o, a) : (t.name = e.slice(o, r), t.base = e.slice(o, a), t.ext = e.slice(r, a))), o > 0 && o !== i ? t.dir = e.slice(0, o - 1) : t.dir = t.root, t }, sep: "\\", delimiter: ";", win32: null, posix: null }, ry = (() => { if (hs) { const e = /\\/g; return () => { const t = xi().replace(e, "/"); return t.slice(t.indexOf("/")) } } return () => xi() })(), Ae = { resolve(...e) { let t = "", s = !1; for (let i = e.length - 1; i >= -1 && !s; i--) { const n = i >= 0 ? e[i] : ry(); dt(n, `paths[${i}]`), n.length !== 0 && (t = `${n}/${t}`, s = n.charCodeAt(0) === Ot) } return t = bu(t, !s, "/", J1), s ? `/${t}` : t.length > 0 ? t : "." }, normalize(e) { if (dt(e, "path"), e.length === 0) return "."; const t = e.charCodeAt(0) === Ot, s = e.charCodeAt(e.length - 1) === Ot; return e = bu(e, !t, "/", J1), e.length === 0 ? t ? "/" : s ? "./" : "." : (s && (e += "/"), t ? `/${e}` : e) }, isAbsolute(e) { return dt(e, "path"), e.length > 0 && e.charCodeAt(0) === Ot }, join(...e) { if (e.length === 0) return "."; let t; for (let s = 0; s < e.length; ++s) { const i = e[s]; dt(i, "path"), i.length > 0 && (t === void 0 ? t = i : t += `/${i}`) } return t === void 0 ? "." : Ae.normalize(t) }, relative(e, t) { if (dt(e, "from"), dt(t, "to"), e === t || (e = Ae.resolve(e), t = Ae.resolve(t), e === t)) return ""; const s = 1, i = e.length, n = i - s, r = 1, o = t.length - r, a = n < o ? n : o; let c = -1, l = 0; for (; l < a; l++) { const h = e.charCodeAt(s + l); if (h !== t.charCodeAt(r + l)) break; h === Ot && (c = l) } if (l === a) if (o > a) { if (t.charCodeAt(r + l) === Ot) return t.slice(r + l + 1); if (l === 0) return t.slice(r + l) } else n > a && (e.charCodeAt(s + l) === Ot ? c = l : l === 0 && (c = 0)); let u = ""; for (l = s + c + 1; l <= i; ++l)(l === i || e.charCodeAt(l) === Ot) && (u += u.length === 0 ? ".." : "/.."); return `${u}${t.slice(r + c)}` }, toNamespacedPath(e) { return e }, dirname(e) { if (dt(e, "path"), e.length === 0) return "."; const t = e.charCodeAt(0) === Ot; let s = -1, i = !0; for (let n = e.length - 1; n >= 1; --n)if (e.charCodeAt(n) === Ot) { if (!i) { s = n; break } } else i = !1; return s === -1 ? t ? "/" : "." : t && s === 1 ? "//" : e.slice(0, s) }, basename(e, t) { t !== void 0 && dt(t, "ext"), dt(e, "path"); let s = 0, i = -1, n = !0, r; if (t !== void 0 && t.length > 0 && t.length <= e.length) { if (t === e) return ""; let o = t.length - 1, a = -1; for (r = e.length - 1; r >= 0; --r) { const c = e.charCodeAt(r); if (c === Ot) { if (!n) { s = r + 1; break } } else a === -1 && (n = !1, a = r + 1), o >= 0 && (c === t.charCodeAt(o) ? --o === -1 && (i = r) : (o = -1, i = a)) } return s === i ? i = a : i === -1 && (i = e.length), e.slice(s, i) } for (r = e.length - 1; r >= 0; --r)if (e.charCodeAt(r) === Ot) { if (!n) { s = r + 1; break } } else i === -1 && (n = !1, i = r + 1); return i === -1 ? "" : e.slice(s, i) }, extname(e) { dt(e, "path"); let t = -1, s = 0, i = -1, n = !0, r = 0; for (let o = e.length - 1; o >= 0; --o) { const a = e.charCodeAt(o); if (a === Ot) { if (!n) { s = o + 1; break } continue } i === -1 && (n = !1, i = o + 1), a === en ? t === -1 ? t = o : r !== 1 && (r = 1) : t !== -1 && (r = -1) } return t === -1 || i === -1 || r === 0 || r === 1 && t === i - 1 && t === s + 1 ? "" : e.slice(t, i) }, format: Kb.bind(null, "/"), parse(e) { dt(e, "path"); const t = { root: "", dir: "", base: "", ext: "", name: "" }; if (e.length === 0) return t; const s = e.charCodeAt(0) === Ot; let i; s ? (t.root = "/", i = 1) : i = 0; let n = -1, r = 0, o = -1, a = !0, c = e.length - 1, l = 0; for (; c >= i; --c) { const u = e.charCodeAt(c); if (u === Ot) { if (!a) { r = c + 1; break } continue } o === -1 && (a = !1, o = c + 1), u === en ? n === -1 ? n = c : l !== 1 && (l = 1) : n !== -1 && (l = -1) } if (o !== -1) { const u = r === 0 && s ? 1 : r; n === -1 || l === 0 || l === 1 && n === o - 1 && n === r + 1 ? t.base = t.name = e.slice(u, o) : (t.name = e.slice(u, n), t.base = e.slice(u, o), t.ext = e.slice(n, o)) } return r > 0 ? t.dir = e.slice(0, r - 1) : s && (t.dir = "/"), t }, sep: "/", delimiter: ":", win32: null, posix: null }, Ae.win32 = pt.win32 = pt, Ae.posix = pt.posix = Ae, si = hs ? pt.normalize : Ae.normalize, sn = hs ? pt.isAbsolute : Ae.isAbsolute, _ = hs ? pt.join : Ae.join, nn = hs ? pt.resolve : Ae.resolve, Wa = hs ? pt.relative : Ae.relative, Ct = hs ? pt.dirname : Ae.dirname, at = hs ? pt.basename : Ae.basename, vr = hs ? pt.extname : Ae.extname, FA = hs ? pt.format : Ae.format, BA = hs ? pt.parse : Ae.parse, HA = hs ? pt.toNamespacedPath : Ae.toNamespacedPath, Qt = hs ? pt.sep : Ae.sep, lo = hs ? pt.delimiter : Ae.delimiter } }); function zA(e, t) { if (!e.scheme && t) throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`); if (e.scheme && !ly.test(e.scheme)) throw new Error("[UriError]: Scheme contains illegal characters."); if (e.path) { if (e.authority) { if (!uy.test(e.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 (hy.test(e.path)) throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")') } } function VA(e, t) { return !e && !t ? "file" : e } function WA(e, t) { switch (e) { case "https": case "http": case "file": t ? t[0] !== Hs && (t = Hs + t) : t = Hs; break }return t } function oy(e) { return !e || typeof e != "object" ? !1 : typeof e.scheme == "string" && (typeof e.authority == "string" || typeof e.authority > "u") && (typeof e.path == "string" || typeof e.path > "u") && (typeof e.query == "string" || typeof e.query > "u") && (typeof e.fragment == "string" || typeof e.fragment > "u") } function ay(e, t, s) { let i, n = -1; for (let r = 0; r < e.length; r++) { const o = e.charCodeAt(r); if (o >= 97 && o <= 122 || o >= 65 && o <= 90 || o >= 48 && o <= 57 || o === 45 || o === 46 || o === 95 || o === 126 || t && o === 47 || s && o === 91 || s && o === 93 || s && o === 58) n !== -1 && (i += encodeURIComponent(e.substring(n, r)), n = -1), i !== void 0 && (i += e.charAt(r)); else { i === void 0 && (i = e.substr(0, r)); const a = Z1[o]; a !== void 0 ? (n !== -1 && (i += encodeURIComponent(e.substring(n, r)), n = -1), i += a) : n === -1 && (n = r) } } return n !== -1 && (i += encodeURIComponent(e.substring(n))), i !== void 0 ? i : e } function qA(e) { let t; for (let s = 0; s < e.length; s++) { const i = e.charCodeAt(s); i === 35 || i === 63 ? (t === void 0 && (t = e.substr(0, s)), t += Z1[i]) : t !== void 0 && (t += e[s]) } return t !== void 0 ? t : e } function yu(e, t) { let s; return e.authority && e.path.length > 1 && e.scheme === "file" ? s = `//${e.authority}${e.path}` : e.path.charCodeAt(0) === 47 && (e.path.charCodeAt(1) >= 65 && e.path.charCodeAt(1) <= 90 || e.path.charCodeAt(1) >= 97 && e.path.charCodeAt(1) <= 122) && e.path.charCodeAt(2) === 58 ? t ? s = e.path.substr(1) : s = e.path[1].toLowerCase() + e.path.substr(2) : s = e.path, me && (s = s.replace(/\//g, "\\")), s } function X1(e, t) { const s = t ? qA : ay; let i = "", { scheme: n, authority: r, path: o, query: a, fragment: c } = e; if (n && (i += n, i += ":"), (r || n === "file") && (i += Hs, i += Hs), r) { let l = r.indexOf("@"); if (l !== -1) { const u = r.substr(0, l); r = r.substr(l + 1), l = u.lastIndexOf(":"), l === -1 ? i += s(u, !1, !1) : (i += s(u.substr(0, l), !1, !1), i += ":", i += s(u.substr(l + 1), !1, !0)), i += "@" } r = r.toLowerCase(), l = r.lastIndexOf(":"), l === -1 ? i += s(r, !1, !0) : (i += s(r.substr(0, l), !1, !0), i += r.substr(l)) } if (o) { if (o.length >= 3 && o.charCodeAt(0) === 47 && o.charCodeAt(2) === 58) { const l = o.charCodeAt(1); l >= 65 && l <= 90 && (o = `/${String.fromCharCode(l + 32)}:${o.substr(3)}`) } else if (o.length >= 2 && o.charCodeAt(1) === 58) { const l = o.charCodeAt(0); l >= 65 && l <= 90 && (o = `${String.fromCharCode(l + 32)}:${o.substr(2)}`) } i += s(o, !0, !1) } return a && (i += "?", i += s(a, !1, !1)), c && (i += "#", i += t ? c : ay(c, !1, !1)), i } function cy(e) { try { return decodeURIComponent(e) } catch { return e.length > 3 ? e.substr(0, 3) + cy(e.substr(3)) : e } } function Eu(e) { return e.match(K1) ? e.replace(K1, t => cy(t)) : e } var ly, uy, hy, Ve, Hs, fy, E, Q1, br, Z1, K1, ee = v({ "out-build/vs/base/common/uri.js"() { "use strict"; de(), X(), ly = /^\w[\w\d+.-]*$/, uy = /^\//, hy = /^\/\//, Ve = "", Hs = "/", fy = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/, E = class l1 { static isUri(t) { return t instanceof l1 ? !0 : t ? typeof t.authority == "string" && typeof t.fragment == "string" && typeof t.path == "string" && typeof t.query == "string" && typeof t.scheme == "string" && typeof t.fsPath == "string" && typeof t.with == "function" && typeof t.toString == "function" : !1 } constructor(t, s, i, n, r, o = !1) { typeof t == "object" ? (this.scheme = t.scheme || Ve, this.authority = t.authority || Ve, this.path = t.path || Ve, this.query = t.query || Ve, this.fragment = t.fragment || Ve) : (this.scheme = VA(t, o), this.authority = s || Ve, this.path = WA(this.scheme, i || Ve), this.query = n || Ve, this.fragment = r || Ve, zA(this, o)) } get fsPath() { return yu(this, !1) } with(t) { if (!t) return this; let { scheme: s, authority: i, path: n, query: r, fragment: o } = t; return s === void 0 ? s = this.scheme : s === null && (s = Ve), i === void 0 ? i = this.authority : i === null && (i = Ve), n === void 0 ? n = this.path : n === null && (n = Ve), r === void 0 ? r = this.query : r === null && (r = Ve), o === void 0 ? o = this.fragment : o === null && (o = Ve), s === this.scheme && i === this.authority && n === this.path && r === this.query && o === this.fragment ? this : new br(s, i, n, r, o) } static parse(t, s = !1) { const i = fy.exec(t); return i ? new br(i[2] || Ve, Eu(i[4] || Ve), Eu(i[5] || Ve), Eu(i[7] || Ve), Eu(i[9] || Ve), s) : new br(Ve, Ve, Ve, Ve, Ve) } static file(t) { let s = Ve; if (me && (t = t.replace(/\\/g, Hs)), t[0] === Hs && t[1] === Hs) { const i = t.indexOf(Hs, 2); i === -1 ? (s = t.substring(2), t = Hs) : (s = t.substring(2, i), t = t.substring(i) || Hs) } return new br("file", s, t, Ve, Ve) } static from(t, s) { return new br(t.scheme, t.authority, t.path, t.query, t.fragment, s) } static joinPath(t, ...s) { if (!t.path) throw new Error("[UriError]: cannot call joinPath on URI without path"); let i; return me && t.scheme === "file" ? i = l1.file(pt.join(yu(t, !0), ...s)).path : i = Ae.join(t.path, ...s), t.with({ path: i }) } toString(t = !1) { return X1(this, t) } toJSON() { return this } static revive(t) { if (t) { if (t instanceof l1) return t; { const s = new br(t); return s._formatted = t.external ?? null, s._fsPath = t._sep === Q1 ? t.fsPath ?? null : null, s } } else return t } [Symbol.for("debug.description")]() { return `URI(${this.toString()})` } }, Q1 = me ? 1 : void 0, br = class extends E { constructor() { super(...arguments), this._formatted = null, this._fsPath = null } get fsPath() { return this._fsPath || (this._fsPath = yu(this, !1)), this._fsPath } toString(e = !1) { return e ? X1(this, !0) : (this._formatted || (this._formatted = X1(this, !1)), this._formatted) } toJSON() { const e = { $mid: 1 }; return this._fsPath && (e.fsPath = this._fsPath, e._sep = Q1), this._formatted && (e.external = this._formatted), this.path && (e.path = this.path), this.scheme && (e.scheme = this.scheme), this.authority && (e.authority = this.authority), this.query && (e.query = this.query), this.fragment && (e.fragment = this.fragment), e } }, Z1 = { 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" }, K1 = /(%[0-9A-Za-z][0-9A-Za-z])+/g } }); function dy(e, t) { return Ae.join(t ?? "/", `${e.quality ?? "oss"}-${e.commit ?? "dev"}`) } var Z, xu, uo, py, my, gy, wy, vy, ep, by, _t, yy, De = v({ "out-build/vs/base/common/network.js"() { "use strict"; fe(), X(), et(), ee(), de(), function (e) { e.inMemory = "inmemory", e.vscode = "vscode", e.internal = "private", e.walkThrough = "walkThrough", e.walkThroughSnippet = "walkThroughSnippet", e.http = "http", e.https = "https", e.file = "file", e.mailto = "mailto", e.untitled = "untitled", e.data = "data", e.command = "command", e.vscodeRemote = "vscode-remote", e.vscodeRemoteResource = "vscode-remote-resource", e.vscodeManagedRemoteResource = "vscode-managed-remote-resource", e.vscodeUserData = "vscode-userdata", e.vscodeCustomEditor = "vscode-custom-editor", e.vscodeNotebookCell = "vscode-notebook-cell", e.vscodeNotebookCellMetadata = "vscode-notebook-cell-metadata", e.vscodeNotebookCellMetadataDiff = "vscode-notebook-cell-metadata-diff", e.vscodeNotebookCellOutput = "vscode-notebook-cell-output", e.vscodeNotebookCellOutputDiff = "vscode-notebook-cell-output-diff", e.vscodeNotebookMetadata = "vscode-notebook-metadata", e.vscodeInteractiveInput = "vscode-interactive-input", e.vscodeSettings = "vscode-settings", e.vscodeWorkspaceTrust = "vscode-workspace-trust", e.vscodeTerminal = "vscode-terminal", e.vscodeChatCodeBlock = "vscode-chat-code-block", e.vscodeChatCodeCompareBlock = "vscode-chat-code-compare-block", e.vscodeChatSesssion = "vscode-chat-editor", e.webviewPanel = "webview-panel", e.vscodeWebview = "vscode-webview", e.extension = "extension", e.vscodeFileResource = "vscode-file", e.tmp = "tmp", e.vsls = "vsls", e.vscodeSourceControl = "vscode-scm", e.commentsInput = "comment", e.codeSetting = "code-setting", e.outputChannel = "output", e.accessibleView = "accessible-view" }(Z || (Z = {})), xu = "vscode-tkn", uo = "tkn", py = class { constructor() { this.a = Object.create(null), this.b = Object.create(null), this.c = Object.create(null), this.d = "http", this.e = null, this.f = "/" } setPreferredWebSchema(e) { this.d = e } setDelegate(e) { this.e = e } setServerRootPath(e, t) { this.f = dy(e, t) } getServerRootPath() { return this.f } get g() { return Ae.join(this.f, Z.vscodeRemoteResource) } set(e, t, s) { this.a[e] = t, this.b[e] = s } setConnectionToken(e, t) { this.c[e] = t } getPreferredWebSchema() { return this.d } rewrite(e) { if (this.e) try { return this.e(e) } catch (o) { return Vt(o), e } const t = e.authority; let s = this.a[t]; s && s.indexOf(":") !== -1 && s.indexOf("[") === -1 && (s = `[${s}]`); const i = this.b[t], n = this.c[t]; let r = `path=${encodeURIComponent(e.path)}`; return typeof n == "string" && (r += `&${uo}=${encodeURIComponent(n)}`), E.from({ scheme: $s ? this.d : Z.vscodeRemoteResource, authority: `${s}:${i}`, path: this.g, query: r }) } }, my = new py, gy = "vs/../../extensions", wy = "vs/../../node_modules", vy = "vs/../../node_modules.asar", ep = "vscode-app", by = class u1 { static { this.a = ep } asBrowserUri(t) { const s = this.b(t); return this.uriToBrowserUri(s) } uriToBrowserUri(t) { return t.scheme === Z.vscodeRemote ? my.rewrite(t) : t.scheme === Z.file && (rb || ab === `${Z.vscodeFileResource}://${u1.a}`) ? t.with({ scheme: Z.vscodeFileResource, authority: t.authority || u1.a, query: null, fragment: null }) : t } asFileUri(t) { const s = this.b(t); return this.uriToFileUri(s) } uriToFileUri(t) { return t.scheme === Z.vscodeFileResource ? t.with({ scheme: Z.file, authority: t.authority !== u1.a ? t.authority : null, query: null, fragment: null }) : t } b(t, s) { if (E.isUri(t)) return t; if (globalThis._VSCODE_FILE_ROOT) { const i = globalThis._VSCODE_FILE_ROOT; if (/^\w[\w\d+.-]*:\/\//.test(i)) return E.joinPath(E.parse(i, !0), t); const n = _(i, t); return E.file(n) } return E.parse(s.toUrl(t)) } }, _t = new by, function (e) { const t = 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" }]]); e.CoopAndCoep = Object.freeze(t.get("3")); const s = "vscode-coi"; function i(r) { let o; typeof r == "string" ? o = new URL(r).searchParams : r instanceof URL ? o = r.searchParams : E.isUri(r) && (o = new URL(r.toString(!0)).searchParams); const a = o?.get(s); if (a) return t.get(a) } e.getHeadersFromQuery = i; function n(r, o, a) { if (!globalThis.crossOriginIsolated) return; const c = o && a ? "3" : a ? "2" : "1"; r instanceof URLSearchParams ? r.set(s, c) : r[s] = c } e.addSearchParam = n }(yy || (yy = {})) } }), ku, tp = v({ "out-build/vs/platform/instantiation/common/serviceCollection.js"() { "use strict"; ku = class { constructor(...e) { this.a = new Map; for (const [t, s] of e) this.set(t, s) } set(e, t) { const s = this.a.get(e); return this.a.set(e, t), s } has(e) { return this.a.has(e) } get(e) { return this.a.get(e) } } } }); function ve(e) { return typeof e == "string" } function ct(e) { return typeof e == "object" && e !== null && !Array.isArray(e) && !(e instanceof RegExp) && !(e instanceof Date) } function GA(e) { const t = Object.getPrototypeOf(Uint8Array); return typeof e == "object" && e instanceof t } function On(e) { return typeof e == "number" && !isNaN(e) } function ii(e) { return e === !0 || e === !1 } function ni(e) { return typeof e > "u" } function JA(e) { return !xt(e) } function xt(e) { return ni(e) || e === null } function sp(e) { if (xt(e)) throw new Error("Assertion Failed: argument is undefined or null"); return e } function $u(e) { if (!ct(e)) return !1; for (const t in e) if (Ey.call(e, t)) return !1; return !0 } function ip(e) { return typeof e == "function" } function YA(e, t) { if (ve(t)) { if (typeof e !== t) throw new Error(`argument does not match constraint: typeof ${t}`) } else if (ip(t)) { try { if (e instanceof t) return } catch { } if (!xt(e) && e.constructor === t || t.length === 1 && t.call(void 0, e) === !0) return; throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true") } } var Ey, $e = v({ "out-build/vs/base/common/types.js"() { "use strict"; Ey = Object.prototype.hasOwnProperty } }); function np(e, t) { return t && (e.stack || e.stacktrace) ? m(110, null, ky(e), xy(e.stack) || xy(e.stacktrace)) : ky(e) } function xy(e) {
  73. return Array.isArray(e) ? e.join(`
  74. `) : e
  75. } function ky(e) { return e.code === "ERR_UNC_HOST_NOT_ALLOWED" ? `${e.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.` : typeof e.code == "string" && typeof e.errno == "number" && typeof e.syscall == "string" ? m(111, null, e.message) : e.message || m(112, null) } function Cn(e = null, t = !1) { if (!e) return m(113, null); if (Array.isArray(e)) { const s = yi(e), i = Cn(s[0], t); return s.length > 1 ? m(114, null, i, s.length) : i } if (ve(e)) return e; if (e.detail) { const s = e.detail; if (s.error) return np(s.error, t); if (s.exception) return np(s.exception, t) } return e.stack ? np(e, t) : e.message ? e.message : m(115, null) } var yr = v({ "out-build/vs/base/common/errorMessage.js"() { "use strict"; Et(), $e(), he() } }); function Su(e) { const t = e; return t ? [t.on, t.pause, t.resume, t.destroy].every(s => typeof s == "function") : !1 } function rp(e) { const t = e; return t ? Su(t.stream) && Array.isArray(t.buffer) && typeof t.ended == "boolean" : !1 } function Pu(e, t) { return new Py(e, t) } function XA(e, t) { const s = []; let i; for (; (i = e.read()) !== null;)s.push(i); return t(s) } function QA(e, t, s) { const i = []; let n; for (; (n = e.read()) !== null && i.length < s;)i.push(n); return n === null && i.length > 0 ? t(i) : { read: () => { if (i.length > 0) return i.shift(); if (typeof n < "u") { const r = n; return n = void 0, r } return e.read() } } } function $y(e, t) { return new Promise((s, i) => { const n = []; Iu(e, { onData: r => { t && n.push(r) }, onError: r => { t ? i(r) : s(void 0) }, onEnd: () => { s(t ? t(n) : void 0) } }) }) } function Iu(e, t, s) { e.on("error", i => { s?.isCancellationRequested || t.onError(i) }), e.on("end", () => { s?.isCancellationRequested || t.onEnd() }), e.on("data", i => { s?.isCancellationRequested || t.onData(i) }) } function ZA(e, t) { return new Promise((s, i) => { const n = new ut, r = [], o = l => { if (r.push(l), r.length > t) return n.dispose(), e.pause(), s({ stream: e, buffer: r, ended: !1 }) }, a = l => (n.dispose(), i(l)), c = () => (n.dispose(), s({ stream: e, buffer: r, ended: !0 })); n.add(ye(() => e.removeListener("error", a))), e.on("error", a), n.add(ye(() => e.removeListener("end", c))), e.on("end", c), n.add(ye(() => e.removeListener("data", o))), e.on("data", o) }) } function KA(e) { let t = !1; return { read: () => t ? null : (t = !0, e) } } function Sy(e, t, s) { const i = Pu(s); return Iu(e, { onData: n => i.write(t.data(n)), onError: n => i.error(t.error ? t.error(n) : n), onEnd: () => i.end() }), i } var Py, qa = v({ "out-build/vs/base/common/stream.js"() { "use strict"; fe(), z(), Py = class { constructor(e, t) { this.e = e, this.f = t, this.a = { flowing: !1, ended: !1, destroyed: !1 }, this.b = { data: [], error: [] }, this.c = { data: [], error: [], end: [] }, this.d = [] } pause() { this.a.destroyed || (this.a.flowing = !1) } resume() { this.a.destroyed || this.a.flowing || (this.a.flowing = !0, this.j(), this.k(), this.l()) } write(e) { if (!this.a.destroyed) { if (this.a.flowing) this.g(e); else if (this.b.data.push(e), typeof this.f?.highWaterMark == "number" && this.b.data.length > this.f.highWaterMark) return new Promise(t => this.d.push(t)) } } error(e) { this.a.destroyed || (this.a.flowing ? this.h(e) : this.b.error.push(e)) } end(e) { this.a.destroyed || (typeof e < "u" && this.write(e), this.a.flowing ? (this.i(), this.destroy()) : this.a.ended = !0) } g(e) { this.c.data.slice(0).forEach(t => t(e)) } h(e) { this.c.error.length === 0 ? Vt(e) : this.c.error.slice(0).forEach(t => t(e)) } i() { this.c.end.slice(0).forEach(e => e()) } on(e, t) { if (!this.a.destroyed) switch (e) { case "data": this.c.data.push(t), this.resume(); break; case "end": this.c.end.push(t), this.a.flowing && this.l() && this.destroy(); break; case "error": this.c.error.push(t), this.a.flowing && this.k(); break } } removeListener(e, t) { if (this.a.destroyed) return; let s; switch (e) { case "data": s = this.c.data; break; case "end": s = this.c.end; break; case "error": s = this.c.error; break }if (s) { const i = s.indexOf(t); i >= 0 && s.splice(i, 1) } } j() { if (this.b.data.length > 0) { const e = this.e(this.b.data); this.g(e), this.b.data.length = 0; const t = [...this.d]; this.d.length = 0, t.forEach(s => s()) } } k() { if (this.c.error.length > 0) { for (const e of this.b.error) this.h(e); this.b.error.length = 0 } } l() { return this.a.ended ? (this.i(), this.c.end.length > 0) : !1 } destroy() { this.a.destroyed || (this.a.destroyed = !0, this.a.ended = !0, this.b.data.length = 0, this.b.error.length = 0, this.c.data.length = 0, this.c.error.length = 0, this.c.end.length = 0, this.d.length = 0) } } } }); function eD(e, t, s = 0) { const i = t.byteLength, n = e.byteLength; if (i === 0) return 0; if (i === 1) return e.indexOf(t[0]); if (i > n - s) return -1; const r = Ay.value; r.fill(t.length); for (let l = 0; l < t.length; l++)r[t[l]] = t.length - l - 1; let o = s + t.length - 1, a = o, c = -1; for (; o < n;)if (e[o] === t[a]) { if (a === 0) { c = o; break } o--, a-- } else o += Math.max(t.length - a, r[e[o]]), a = t.length - 1; return c } function tD(e, t) { return e[t] * 2 ** 24 + e[t + 1] * 2 ** 16 + e[t + 2] * 2 ** 8 + e[t + 3] } function sD(e, t, s) { e[s + 3] = t, t = t >>> 8, e[s + 2] = t, t = t >>> 8, e[s + 1] = t, t = t >>> 8, e[s] = t } function iD(e, t) { return e[t + 0] << 0 >>> 0 | e[t + 1] << 8 >>> 0 | e[t + 2] << 16 >>> 0 | e[t + 3] << 24 >>> 0 } function nD(e, t, s) { e[s + 0] = t & 255, t = t >>> 8, e[s + 1] = t & 255, t = t >>> 8, e[s + 2] = t & 255, t = t >>> 8, e[s + 3] = t & 255 } function rD(e, t) { return e[t] } function oD(e, t, s) { e[s] = t } function aD(e) { return XA(e, t => O.concat(t)) } function cD(e) { return KA(e) } function rn(e) { return $y(e, t => O.concat(t)) } async function lD(e) { return e.ended ? O.concat(e.buffer) : O.concat([...e.buffer, await rn(e.stream)]) } function uD(e) { return Sy(e, { data: t => typeof t == "string" ? O.fromString(t) : O.wrap(t) }, t => O.concat(t)) } function hD(e) { return Pu(t => O.concat(t), e) } function Iy(e) { let t = 0, s = 0, i = 0; const n = new Uint8Array(Math.floor(e.length / 4 * 3)), r = a => { switch (s) { case 3: n[i++] = t | a, s = 0; break; case 2: n[i++] = t | a >>> 2, t = a << 6, s = 3; break; case 1: n[i++] = t | a >>> 4, t = a << 4, s = 2; break; default: t = a << 2, s = 1 } }; for (let a = 0; a < e.length; a++) { const c = e.charCodeAt(a); if (c >= 65 && c <= 90) r(c - 65); else if (c >= 97 && c <= 122) r(c - 97 + 26); else if (c >= 48 && c <= 57) r(c - 48 + 52); else if (c === 43 || c === 45) r(62); else if (c === 47 || c === 95) r(63); else { if (c === 61) break; throw new SyntaxError(`Unexpected base64 character ${e[a]}`) } } const o = i; for (; s > 0;)r(0); return O.wrap(n).slice(0, o) } function op({ buffer: e }, t = !0, s = !1) { const i = s ? Ry : Dy; let n = ""; const r = e.byteLength % 3; let o = 0; for (; o < e.byteLength - r; o += 3) { const a = e[o + 0], c = e[o + 1], l = e[o + 2]; n += i[a >>> 2], n += i[(a << 4 | c >>> 4) & 63], n += i[(c << 2 | l >>> 6) & 63], n += i[l & 63] } if (r === 1) { const a = e[o + 0]; n += i[a >>> 2], n += i[a << 4 & 63], t && (n += "==") } else if (r === 2) { const a = e[o + 0], c = e[o + 1]; n += i[a >>> 2], n += i[(a << 4 | c >>> 4) & 63], n += i[c << 2 & 63], t && (n += "=") } return n } var Ga, Ay, ap, cp, O, Dy, Ry, Me = v({ "out-build/vs/base/common/buffer.js"() { "use strict"; wu(), qa(), Ga = typeof Buffer < "u", Ay = new gr(() => new Uint8Array(256)), O = class Qs { static alloc(t) { return Ga ? new Qs(Buffer.allocUnsafe(t)) : new Qs(new Uint8Array(t)) } static wrap(t) { return Ga && !Buffer.isBuffer(t) && (t = Buffer.from(t.buffer, t.byteOffset, t.byteLength)), new Qs(t) } static fromString(t, s) { return !(s?.dontUseNodeBuffer || !1) && Ga ? new Qs(Buffer.from(t)) : (ap || (ap = new TextEncoder), new Qs(ap.encode(t))) } static fromByteArray(t) { const s = Qs.alloc(t.length); for (let i = 0, n = t.length; i < n; i++)s.buffer[i] = t[i]; return s } static concat(t, s) { if (typeof s > "u") { s = 0; for (let r = 0, o = t.length; r < o; r++)s += t[r].byteLength } const i = Qs.alloc(s); let n = 0; for (let r = 0, o = t.length; r < o; r++) { const a = t[r]; i.set(a, n), n += a.byteLength } return i } constructor(t) { this.buffer = t, this.byteLength = this.buffer.byteLength } clone() { const t = Qs.alloc(this.byteLength); return t.set(this), t } toString() { return Ga ? this.buffer.toString() : (cp || (cp = new TextDecoder), cp.decode(this.buffer)) } slice(t, s) { return new Qs(this.buffer.subarray(t, s)) } set(t, s) { if (t instanceof Qs) this.buffer.set(t.buffer, s); else if (t instanceof Uint8Array) this.buffer.set(t, s); else if (t instanceof ArrayBuffer) this.buffer.set(new Uint8Array(t), s); else if (ArrayBuffer.isView(t)) this.buffer.set(new Uint8Array(t.buffer, t.byteOffset, t.byteLength), s); else throw new Error("Unknown argument 'array'") } readUInt32BE(t) { return tD(this.buffer, t) } writeUInt32BE(t, s) { sD(this.buffer, t, s) } readUInt32LE(t) { return iD(this.buffer, t) } writeUInt32LE(t, s) { nD(this.buffer, t, s) } readUInt8(t) { return rD(this.buffer, t) } writeUInt8(t, s) { oD(this.buffer, t, s) } indexOf(t, s = 0) { return eD(this.buffer, t instanceof Qs ? t.buffer : t, s) } }, Dy = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", Ry = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_" } }); function ho(e) { return lp(e, 0) } function lp(e, t) { switch (typeof e) { case "object": return e === null ? on(349, t) : Array.isArray(e) ? dD(e, t) : pD(e, t); case "string": return Ly(e, t); case "boolean": return fD(e, t); case "number": return on(e, t); case "undefined": return on(937, t); default: return on(617, t) } } function on(e, t) { return (t << 5) - t + e | 0 } function fD(e, t) { return on(e ? 433 : 863, t) } function Ly(e, t) { t = on(149417, t); for (let s = 0, i = e.length; s < i; s++)t = on(e.charCodeAt(s), t); return t } function dD(e, t) { return t = on(104579, t), e.reduce((s, i) => lp(i, s), t) } function pD(e, t) { return t = on(181387, t), Object.keys(e).sort().reduce((s, i) => (s = Ly(i, s), lp(e[i], s)), t) } function up(e, t, s = 32) { const i = s - t, n = ~((1 << i) - 1); return (e << t | (n & e) >>> i) >>> 0 } function Ja(e, t = 32) { return e instanceof ArrayBuffer ? Array.from(new Uint8Array(e)).map(s => s.toString(16).padStart(2, "0")).join("") : (e >>> 0).toString(16).padStart(t / 4, "0") } var Ny, mD, Ya = v({ "out-build/vs/base/common/hash.js"() { "use strict"; Me(), et(), function (e) { e[e.BLOCK_SIZE = 64] = "BLOCK_SIZE", e[e.UNICODE_REPLACEMENT = 65533] = "UNICODE_REPLACEMENT" }(Ny || (Ny = {})), mD = class hI { static { this.g = new DataView(new ArrayBuffer(320)) } constructor() { this.h = 1732584193, this.l = 4023233417, this.m = 2562383102, this.n = 271733878, this.o = 3285377520, this.p = new Uint8Array(67), this.q = new DataView(this.p.buffer), this.r = 0, this.t = 0, this.u = 0, this.v = !1 } update(t) { const s = t.length; if (s === 0) return; const i = this.p; let n = this.r, r = this.u, o, a; for (r !== 0 ? (o = r, a = -1, r = 0) : (o = t.charCodeAt(0), a = 0); ;) { let c = o; if (LA(o)) if (a + 1 < s) { const l = t.charCodeAt(a + 1); Yb(l) ? (a++, c = NA(o, l)) : c = 65533 } else { r = o; break } else Yb(o) && (c = 65533); if (n = this.w(i, n, c), a++, a < s) o = t.charCodeAt(a); else break } this.r = n, this.u = r } w(t, s, i) { return i < 128 ? t[s++] = i : i < 2048 ? (t[s++] = 192 | (i & 1984) >>> 6, t[s++] = 128 | (i & 63) >>> 0) : i < 65536 ? (t[s++] = 224 | (i & 61440) >>> 12, t[s++] = 128 | (i & 4032) >>> 6, t[s++] = 128 | (i & 63) >>> 0) : (t[s++] = 240 | (i & 1835008) >>> 18, t[s++] = 128 | (i & 258048) >>> 12, t[s++] = 128 | (i & 4032) >>> 6, t[s++] = 128 | (i & 63) >>> 0), s >= 64 && (this.y(), s -= 64, this.t += 64, t[0] = t[64], t[1] = t[65], t[2] = t[66]), s } digest() { return this.v || (this.v = !0, this.u && (this.u = 0, this.r = this.w(this.p, this.r, 65533)), this.t += this.r, this.x()), Ja(this.h) + Ja(this.l) + Ja(this.m) + Ja(this.n) + Ja(this.o) } x() { this.p[this.r++] = 128, this.p.subarray(this.r).fill(0), this.r > 56 && (this.y(), this.p.fill(0)); const t = 8 * this.t; this.q.setUint32(56, Math.floor(t / 4294967296), !1), this.q.setUint32(60, t % 4294967296, !1), this.y() } y() { const t = hI.g, s = this.q; for (let h = 0; h < 64; h += 4)t.setUint32(h, s.getUint32(h, !1), !1); for (let h = 64; h < 320; h += 4)t.setUint32(h, up(t.getUint32(h - 12, !1) ^ t.getUint32(h - 32, !1) ^ t.getUint32(h - 56, !1) ^ t.getUint32(h - 64, !1), 1), !1); let i = this.h, n = this.l, r = this.m, o = this.n, a = this.o, c, l, u; for (let h = 0; h < 80; h++)h < 20 ? (c = n & r | ~n & o, l = 1518500249) : h < 40 ? (c = n ^ r ^ o, l = 1859775393) : h < 60 ? (c = n & r | n & o | r & o, l = 2400959708) : (c = n ^ r ^ o, l = 3395469782), u = up(i, 5) + c + a + l + t.getUint32(h * 4, !1) & 4294967295, a = o, o = r, r = up(n, 30), n = i, i = u; this.h = this.h + i & 4294967295, this.l = this.l + n & 4294967295, this.m = this.m + r & 4294967295, this.n = this.n + o & 4294967295, this.o = this.o + a & 4294967295 } } } }); function _n(e) { return e === 47 || e === 92 } function Oy(e) { return e.replace(/[\\/]/g, Ae.sep) } function gD(e) { return e.indexOf("/") === -1 && (e = Oy(e)), /^[a-zA-Z]:(\/|$)/.test(e) && (e = "/" + e), e } function Cy(e, t = Ae.sep) { if (!e) return ""; const s = e.length, i = e.charCodeAt(0); if (_n(i)) { if (_n(e.charCodeAt(1)) && !_n(e.charCodeAt(2))) { let r = 3; const o = r; for (; r < s && !_n(e.charCodeAt(r)); r++); if (o !== r && !_n(e.charCodeAt(r + 1))) { for (r += 1; r < s; r++)if (_n(e.charCodeAt(r))) return e.slice(0, r + 1).replace(/[\\/]/g, t) } } return t } else if (_y(i) && e.charCodeAt(1) === 58) return _n(e.charCodeAt(2)) ? e.slice(0, 2) + t : e.slice(0, 2); let n = e.indexOf("://"); if (n !== -1) { for (n += 3; n < s; n++)if (_n(e.charCodeAt(n))) return e.slice(0, n + 1) } return "" } function hp(e, t, s) { const i = e === t; return !s || i ? i : !e || !t ? !1 : Ln(e, t) } function jn(e, t, s, i = Qt) { if (e === t) return !0; if (!e || !t || t.length > e.length) return !1; if (s) { if (!W1(e, t)) return !1; if (t.length === e.length) return !0; let r = t.length; return t.charAt(t.length - 1) === i && r--, e.charAt(r) === i } return t.charAt(t.length - 1) !== i && (t += i), e.indexOf(t) === 0 } function _y(e) { return e >= 65 && e <= 90 || e >= 97 && e <= 122 } function wD(e) { return me ? (e = qb(e, Qt), e.endsWith(":") && (e += Qt)) : (e = qb(e, Qt), e || (e = Qt)), e } function vD(e) { const t = si(e); return me ? e.length > 3 ? !1 : jy(t) && (e.length === 2 || t.charCodeAt(2) === 92) : t === Ae.sep } function jy(e, t = me) { return t ? _y(e.charCodeAt(0)) && e.charCodeAt(1) === 58 : !1 } function bD(e, t, s = 8) { let i = ""; for (let r = 0; r < s; r++) { let o; r === 0 && me && !t && (s === 3 || s === 4) ? o = Uy : o = Ty, i += o.charAt(Math.floor(Math.random() * o.length)) } let n; return t ? n = `${t}-${i}` : n = i, e ? _(e, n) : n } var Ty, Uy, ki = v({ "out-build/vs/base/common/extpath.js"() { "use strict"; de(), X(), et(), $e(), Ty = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", Uy = "BDEFGHIJKMOQRSTUVWXYZbdefghijkmoqrstuvwxyz0123456789" } }); function an(e) { return yu(e, !0) } var Xa, Se, Au, My, fp, dp, yD, ED, Tn, Fy, By, ne, Hy, xD, kD, zy, pp, mp, $D, SD, Vy, kt = v({ "out-build/vs/base/common/resources.js"() { "use strict"; ki(), De(), de(), X(), et(), ee(), Xa = class { constructor(e) { this.a = e } compare(e, t, s = !1) { return e === t ? 0 : H1(this.getComparisonKey(e, s), this.getComparisonKey(t, s)) } isEqual(e, t, s = !1) { return e === t ? !0 : !e || !t ? !1 : this.getComparisonKey(e, s) === this.getComparisonKey(t, s) } getComparisonKey(e, t = !1) { return e.with({ path: this.a(e) ? e.path.toLowerCase() : void 0, fragment: t ? null : void 0 }).toString() } ignorePathCasing(e) { return this.a(e) } isEqualOrParent(e, t, s = !1) { if (e.scheme === t.scheme) { if (e.scheme === Z.file) return jn(an(e), an(t), this.a(e)) && e.query === t.query && (s || e.fragment === t.fragment); if (pp(e.authority, t.authority)) return jn(e.path, t.path, this.a(e), "/") && e.query === t.query && (s || e.fragment === t.fragment) } return !1 } joinPath(e, ...t) { return E.joinPath(e, ...t) } basenameOrAuthority(e) { return Tn(e) || e.authority } basename(e) { return Ae.basename(e.path) } extname(e) { return Ae.extname(e.path) } dirname(e) { if (e.path.length === 0) return e; let t; return e.scheme === Z.file ? t = E.file(Ct(an(e))).path : (t = Ae.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 === Z.file ? t = E.file(si(an(e))).path : t = Ae.normalize(e.path), e.with({ path: t }) } relativePath(e, t) { if (e.scheme !== t.scheme || !pp(e.authority, t.authority)) return; if (e.scheme === Z.file) { const n = Wa(an(e), an(t)); return me ? Oy(n) : n } let s = e.path || "/"; const i = t.path || "/"; if (this.a(e)) { let n = 0; for (const r = Math.min(s.length, i.length); n < r && !(s.charCodeAt(n) !== i.charCodeAt(n) && s.charAt(n).toLowerCase() !== i.charAt(n).toLowerCase()); n++); s = i.substr(0, n) + s.substr(n) } return Ae.relative(s, i) } resolvePath(e, t) { if (e.scheme === Z.file) { const s = E.file(nn(an(e), t)); return e.with({ authority: s.authority, path: s.path }) } return t = gD(t), e.with({ path: Ae.resolve(e.path, t) }) } isAbsolutePath(e) { return !!e.path && e.path[0] === "/" } isEqualAuthority(e, t) { return e === t || e !== void 0 && t !== void 0 && Ln(e, t) } hasTrailingPathSeparator(e, t = Qt) { if (e.scheme === Z.file) { const s = an(e); return s.length > Cy(s).length && s[s.length - 1] === t } else { const s = e.path; return s.length > 1 && s.charCodeAt(s.length - 1) === 47 && !/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath) } } removeTrailingPathSeparator(e, t = Qt) { return mp(e, t) ? e.with({ path: e.path.substr(0, e.path.length - 1) }) : e } addTrailingPathSeparator(e, t = Qt) { let s = !1; if (e.scheme === Z.file) { const i = an(e); s = i !== void 0 && i.length === Cy(i).length && i[i.length - 1] === t } else { t = "/"; const i = e.path; s = i.length === 1 && i.charCodeAt(i.length - 1) === 47 } return !s && !mp(e, t) ? e.with({ path: e.path + "/" }) : e } }, Se = new Xa(() => !1), Au = new Xa(e => e.scheme === Z.file ? !rt : !0), My = new Xa(e => !0), fp = Se.isEqual.bind(Se), dp = Se.isEqualOrParent.bind(Se), yD = Se.getComparisonKey.bind(Se), ED = Se.basenameOrAuthority.bind(Se), Tn = Se.basename.bind(Se), Fy = Se.extname.bind(Se), By = Se.dirname.bind(Se), ne = Se.joinPath.bind(Se), Hy = Se.normalizePath.bind(Se), xD = Se.relativePath.bind(Se), kD = Se.resolvePath.bind(Se), zy = Se.isAbsolutePath.bind(Se), pp = Se.isEqualAuthority.bind(Se), mp = Se.hasTrailingPathSeparator.bind(Se), $D = Se.removeTrailingPathSeparator.bind(Se), SD = Se.addTrailingPathSeparator.bind(Se), function (e) { e.META_DATA_LABEL = "label", e.META_DATA_DESCRIPTION = "description", e.META_DATA_SIZE = "size", e.META_DATA_MIME = "mime"; function t(s) { const i = new Map; s.path.substring(s.path.indexOf(";") + 1, s.path.lastIndexOf(";")).split(";").forEach(o => { const [a, c] = o.split(":"); a && c && i.set(a, c) }); const r = s.path.substring(0, s.path.indexOf(";")); return r && i.set(e.META_DATA_MIME, r), i } e.parseMetaData = t }(Vy || (Vy = {})) } }); function gp(...e) { switch (e.length) { case 1: return m(1724, null, e[0]); case 2: return m(1725, null, e[0], e[1]); case 3: return m(1726, null, e[0], e[1], e[2]); default: return } } var Wy, qy, Gy, fo, PD = v({ "out-build/vs/platform/contextkey/common/scanner.js"() { "use strict"; fe(), he(), function (e) { e[e.LParen = 0] = "LParen", e[e.RParen = 1] = "RParen", e[e.Neg = 2] = "Neg", e[e.Eq = 3] = "Eq", e[e.NotEq = 4] = "NotEq", e[e.Lt = 5] = "Lt", e[e.LtEq = 6] = "LtEq", e[e.Gt = 7] = "Gt", e[e.GtEq = 8] = "GtEq", e[e.RegexOp = 9] = "RegexOp", e[e.RegexStr = 10] = "RegexStr", e[e.True = 11] = "True", e[e.False = 12] = "False", e[e.In = 13] = "In", e[e.Not = 14] = "Not", e[e.And = 15] = "And", e[e.Or = 16] = "Or", e[e.Str = 17] = "Str", e[e.QuotedStr = 18] = "QuotedStr", e[e.Error = 19] = "Error", e[e.EOF = 20] = "EOF" }(Wy || (Wy = {})), qy = m(1727, null), Gy = m(1728, null), fo = class Ev { constructor() { this.c = "", this.d = 0, this.e = 0, this.f = [], this.g = [], this.m = /[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy } static getLexeme(t) { switch (t.type) { case 0: return "("; case 1: return ")"; case 2: return "!"; case 3: return t.isTripleEq ? "===" : "=="; case 4: return t.isTripleEq ? "!==" : "!="; case 5: return "<"; case 6: return "<="; case 7: return ">="; case 8: return ">="; case 9: return "=~"; case 10: return t.lexeme; case 11: return "true"; case 12: return "false"; case 13: return "in"; case 14: return "not"; case 15: return "&&"; case 16: return "||"; case 17: return t.lexeme; case 18: return t.lexeme; case 19: return t.lexeme; case 20: return "EOF"; default: throw Vv(`unhandled token type: ${JSON.stringify(t)}; have you forgotten to add a case?`) } } static { this.a = new Set(["i", "g", "s", "m", "y", "u"].map(t => t.charCodeAt(0))) } static { this.b = new Map([["not", 14], ["in", 13], ["false", 12], ["true", 11]]) } get errors() { return this.g } reset(t) { return this.c = t, this.d = 0, this.e = 0, this.f = [], this.g = [], this } scan() { for (; !this.r();)switch (this.d = this.e, this.i()) { case 40: this.k(0); break; case 41: this.k(1); break; case 33: if (this.h(61)) { const s = this.h(61); this.f.push({ type: 4, offset: this.d, isTripleEq: s }) } else this.k(2); break; case 39: this.o(); break; case 47: this.q(); break; case 61: if (this.h(61)) { const s = this.h(61); this.f.push({ type: 3, offset: this.d, isTripleEq: s }) } else this.h(126) ? this.k(9) : this.l(gp("==", "=~")); break; case 60: this.k(this.h(61) ? 6 : 5); break; case 62: this.k(this.h(61) ? 8 : 7); break; case 38: this.h(38) ? this.k(15) : this.l(gp("&&")); break; case 124: this.h(124) ? this.k(16) : this.l(gp("||")); break; case 32: case 13: case 9: case 10: case 160: break; default: this.n() }return this.d = this.e, this.k(20), Array.from(this.f) } h(t) { return this.r() || this.c.charCodeAt(this.e) !== t ? !1 : (this.e++, !0) } i() { return this.c.charCodeAt(this.e++) } j() { return this.r() ? 0 : this.c.charCodeAt(this.e) } k(t) { this.f.push({ type: t, offset: this.d }) } l(t) { const s = this.d, i = this.c.substring(this.d, this.e), n = { type: 19, offset: this.d, lexeme: i }; this.g.push({ offset: s, lexeme: i, additionalInfo: t }), this.f.push(n) } n() { this.m.lastIndex = this.d; const t = this.m.exec(this.c); if (t) { this.e = this.d + t[0].length; const s = this.c.substring(this.d, this.e), i = Ev.b.get(s); i ? this.k(i) : this.f.push({ type: 17, lexeme: s, offset: this.d }) } } o() { for (; this.j() !== 39 && !this.r();)this.i(); if (this.r()) { this.l(qy); return } this.i(), this.f.push({ type: 18, lexeme: this.c.substring(this.d + 1, this.e - 1), offset: this.d + 1 }) } q() { let t = this.e, s = !1, i = !1; for (; ;) { if (t >= this.c.length) { this.e = t, this.l(Gy); return } const r = this.c.charCodeAt(t); if (s) s = !1; else if (r === 47 && !i) { t++; break } else r === 91 ? i = !0 : r === 92 ? s = !0 : r === 93 && (i = !1); t++ } for (; t < this.c.length && Ev.a.has(this.c.charCodeAt(t));)t++; this.e = t; const n = this.c.substring(this.d, this.e); this.f.push({ type: 10, lexeme: n, offset: this.d }) } r() { return this.e >= this.c.length } } } }); function ID(e, t, s) { t[ri.DI_TARGET] === t ? t[ri.DI_DEPENDENCIES].push({ id: e, index: s }) : (t[ri.DI_DEPENDENCIES] = [{ id: e, index: s }], t[ri.DI_TARGET] = t) } function se(e) { if (ri.serviceIds.has(e)) return ri.serviceIds.get(e); const t = function (s, i, n) { if (arguments.length !== 3) throw new Error("@IServiceName-decorator can only be used to decorate a parameter"); ID(t, s, n) }; return t.toString = () => e, ri.serviceIds.set(e, t), t } function NM(e) { return e } var ri, Er, oe = v({ "out-build/vs/platform/instantiation/common/instantiation.js"() { "use strict"; (function (e) { e.serviceIds = new Map, e.DI_TARGET = "$di$target", e.DI_DEPENDENCIES = "$di$dependencies"; function t(s) { return s[e.DI_DEPENDENCIES] || [] } e.getServiceDependencies = t })(ri || (ri = {})), Er = se("instantiationService") } }); function Qa(e, t) { return e.cmp(t) } function Du(e, t) { if (typeof e == "string") { const s = parseFloat(e); isNaN(s) || (e = s) } return typeof e == "string" || typeof e == "number" ? t(e) : Zt.INSTANCE } function Jy(e) { let t = null; for (let s = 0, i = e.length; s < i; s++) { const n = e[s].substituteConstants(); if (e[s] !== n && t === null) { t = []; for (let r = 0; r < s; r++)t[r] = e[r] } t !== null && (t[s] = n) } return t === null ? e : t } function Yy(e, t) { return e < t ? -1 : e > t ? 1 : 0 } function xr(e, t, s, i) { return e < s ? -1 : e > s ? 1 : t < i ? -1 : t > i ? 1 : 0 } function Xy(e) { return e.type === 9 ? e.expr : [e] } var Rt, Qy, Zy, Ky, e4, t4, s4, wp, i4, n4, r4, o4, a4, $t, Zt, fs, kr, po, Ru, Lu, mo, $r, Za, Ka, ec, tc, go, c4, vp, Nu, Ee, l4, wo = v({
  76. "out-build/vs/platform/contextkey/common/contextkey.js"() {
  77. "use strict"; X(), et(), PD(), oe(), he(), fe(), Rt = new Map, Rt.set("false", !1), Rt.set("true", !0), Rt.set("isMac", _s), Rt.set("isLinux", rt), Rt.set("isWindows", me), Rt.set("isWeb", $s), Rt.set("isMacNative", _s && !$s), Rt.set("isEdge", pb), Rt.set("isFirefox", fb), Rt.set("isChrome", _1), Rt.set("isSafari", db), Qy = Object.prototype.hasOwnProperty, function (e) { e[e.False = 0] = "False", e[e.True = 1] = "True", e[e.Defined = 2] = "Defined", e[e.Not = 3] = "Not", e[e.Equals = 4] = "Equals", e[e.NotEquals = 5] = "NotEquals", e[e.And = 6] = "And", e[e.Regex = 7] = "Regex", e[e.NotRegex = 8] = "NotRegex", e[e.Or = 9] = "Or", e[e.In = 10] = "In", e[e.NotIn = 11] = "NotIn", e[e.Greater = 12] = "Greater", e[e.GreaterEquals = 13] = "GreaterEquals", e[e.Smaller = 14] = "Smaller", e[e.SmallerEquals = 15] = "SmallerEquals" }(Zy || (Zy = {})), Ky = { regexParsingWithErrorRecovery: !0 }, e4 = m(1704, null), t4 = m(1705, null), s4 = m(1706, null), wp = m(1707, null), i4 = m(1708, null), n4 = m(1709, null), r4 = m(1710, null), o4 = m(1711, null), a4 = class Xl {
  78. static { this.c = new Error } get lexingErrors() { return this.d.errors } get parsingErrors() { return this.h } constructor(t = Ky) { this.k = t, this.d = new fo, this.f = [], this.g = 0, this.h = [], this.v = /g|y/g } parse(t) { if (t === "") { this.h.push({ message: e4, offset: 0, lexeme: "", additionalInfo: t4 }); return } this.f = this.d.reset(t).scan(), this.g = 0, this.h = []; try { const s = this.l(); if (!this.E()) { const i = this.D(), n = i.type === 17 ? n4 : void 0; throw this.h.push({ message: i4, offset: i.offset, lexeme: fo.getLexeme(i), additionalInfo: n }), Xl.c } return s } catch (s) { if (s !== Xl.c) throw s; return } } l() { return this.m() } m() { const t = [this.o()]; for (; this.y(16);) { const s = this.o(); t.push(s) } return t.length === 1 ? t[0] : $t.or(...t) } o() { const t = [this.s()]; for (; this.y(15);) { const s = this.s(); t.push(s) } return t.length === 1 ? t[0] : $t.and(...t) } s() { if (this.y(2)) { const t = this.D(); switch (t.type) { case 11: return this.z(), Zt.INSTANCE; case 12: return this.z(), fs.INSTANCE; case 0: { this.z(); const s = this.l(); return this.A(1, wp), s?.negate() } case 17: return this.z(), $r.create(t.lexeme); default: throw this.B("KEY | true | false | '(' expression ')'", t) } } return this.t() } t() {
  79. const t = this.D(); switch (t.type) {
  80. case 11: return this.z(), $t.true(); case 12: return this.z(), $t.false(); case 0: { this.z(); const s = this.l(); return this.A(1, wp), s } case 17: { const s = t.lexeme; if (this.z(), this.y(9)) { const n = this.D(); if (!this.k.regexParsingWithErrorRecovery) { if (this.z(), n.type !== 10) throw this.B("REGEX", n); const r = n.lexeme, o = r.lastIndexOf("/"), a = o === r.length - 1 ? void 0 : this.w(r.substring(o + 1)); let c; try { c = new RegExp(r.substring(1, o), a) } catch { throw this.B("REGEX", n) } return go.create(s, c) } switch (n.type) { case 10: case 19: { const r = [n.lexeme]; this.z(); let o = this.D(), a = 0; for (let d = 0; d < n.lexeme.length; d++)n.lexeme.charCodeAt(d) === 40 ? a++ : n.lexeme.charCodeAt(d) === 41 && a--; for (; !this.E() && o.type !== 15 && o.type !== 16;) { switch (o.type) { case 0: a++; break; case 1: a--; break; case 10: case 18: for (let d = 0; d < o.lexeme.length; d++)o.lexeme.charCodeAt(d) === 40 ? a++ : n.lexeme.charCodeAt(d) === 41 && a-- }if (a < 0) break; r.push(fo.getLexeme(o)), this.z(), o = this.D() } const c = r.join(""), l = c.lastIndexOf("/"), u = l === c.length - 1 ? void 0 : this.w(c.substring(l + 1)); let h; try { h = new RegExp(c.substring(1, l), u) } catch { throw this.B("REGEX", n) } return $t.regex(s, h) } case 18: { const r = n.lexeme; this.z(); let o = null; if (!PA(r)) { const a = r.indexOf("/"), c = r.lastIndexOf("/"); if (a !== c && a >= 0) { const l = r.slice(a + 1, c), u = r[c + 1] === "i" ? "i" : ""; try { o = new RegExp(l, u) } catch { throw this.B("REGEX", n) } } } if (o === null) throw this.B("REGEX", n); return go.create(s, o) } default: throw this.B("REGEX", this.D()) } } if (this.y(14)) { this.A(13, s4); const n = this.u(); return $t.notIn(s, n) } switch (this.D().type) { case 3: { this.z(); const n = this.u(); if (this.x().type === 18) return $t.equals(s, n); switch (n) { case "true": return $t.has(s); case "false": return $t.not(s); default: return $t.equals(s, n) } } case 4: { this.z(); const n = this.u(); if (this.x().type === 18) return $t.notEquals(s, n); switch (n) { case "true": return $t.not(s); case "false": return $t.has(s); default: return $t.notEquals(s, n) } } case 5: return this.z(), ec.create(s, this.u()); case 6: return this.z(), tc.create(s, this.u()); case 7: return this.z(), Za.create(s, this.u()); case 8: return this.z(), Ka.create(s, this.u()); case 13: return this.z(), $t.in(s, this.u()); default: return $t.has(s) } } case 20: throw this.h.push({ message: r4, offset: t.offset, lexeme: "", additionalInfo: o4 }), Xl.c; default: throw this.B(`true | false | KEY
  81. | KEY '=~' REGEX
  82. | KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`, this.D())
  83. }
  84. } u() { const t = this.D(); switch (t.type) { case 17: case 18: return this.z(), t.lexeme; case 11: return this.z(), "true"; case 12: return this.z(), "false"; case 13: return this.z(), "in"; default: return "" } } w(t) { return t.replaceAll(this.v, "") } x() { return this.f[this.g - 1] } y(t) { return this.C(t) ? (this.z(), !0) : !1 } z() { return this.E() || this.g++, this.x() } A(t, s) { if (this.C(t)) return this.z(); throw this.B(s, this.D()) } B(t, s, i) { const n = m(1712, null, t, fo.getLexeme(s)), r = s.offset, o = fo.getLexeme(s); return this.h.push({ message: n, offset: r, lexeme: o, additionalInfo: i }), Xl.c } C(t) { return this.D().type === t } D() { return this.f[this.g] } E() { return this.D().type === 20 }
  85. }, $t = class { static false() { return Zt.INSTANCE } static true() { return fs.INSTANCE } static has(e) { return kr.create(e) } static equals(e, t) { return po.create(e, t) } static notEquals(e, t) { return mo.create(e, t) } static regex(e, t) { return go.create(e, t) } static in(e, t) { return Ru.create(e, t) } static notIn(e, t) { return Lu.create(e, t) } static not(e) { return $r.create(e) } static and(...e) { return vp.create(e, null, !0) } static or(...e) { return Nu.create(e, null, !0) } static greater(e, t) { return Za.create(e, t) } static greaterEquals(e, t) { return Ka.create(e, t) } static smaller(e, t) { return ec.create(e, t) } static smallerEquals(e, t) { return tc.create(e, t) } static { this.c = new a4({ regexParsingWithErrorRecovery: !1 }) } static deserialize(e) { return e == null ? void 0 : this.c.parse(e) } }, Zt = class fI { static { this.INSTANCE = new fI } constructor() { this.type = 0 } cmp(t) { return this.type - t.type } equals(t) { return t.type === this.type } substituteConstants() { return this } evaluate(t) { return !1 } serialize() { return "false" } keys() { return [] } map(t) { return this } negate() { return fs.INSTANCE } }, fs = class dI { static { this.INSTANCE = new dI } constructor() { this.type = 1 } cmp(t) { return this.type - t.type } equals(t) { return t.type === this.type } substituteConstants() { return this } evaluate(t) { return !0 } serialize() { return "true" } keys() { return [] } map(t) { return this } negate() { return Zt.INSTANCE } }, kr = class pI { static create(t, s = null) { const i = Rt.get(t); return typeof i == "boolean" ? i ? fs.INSTANCE : Zt.INSTANCE : new pI(t, s) } constructor(t, s) { this.key = t, this.c = s, this.type = 2 } cmp(t) { return t.type !== this.type ? this.type - t.type : Yy(this.key, t.key) } equals(t) { return t.type === this.type ? this.key === t.key : !1 } substituteConstants() { const t = Rt.get(this.key); return typeof t == "boolean" ? t ? fs.INSTANCE : Zt.INSTANCE : this } evaluate(t) { return !!t.getValue(this.key) } serialize() { return this.key } keys() { return [this.key] } map(t) { return t.mapDefined(this.key) } negate() { return this.c || (this.c = $r.create(this.key, this)), this.c } }, po = class mI { static create(t, s, i = null) { if (typeof s == "boolean") return s ? kr.create(t, i) : $r.create(t, i); const n = Rt.get(t); return typeof n == "boolean" ? s === (n ? "true" : "false") ? fs.INSTANCE : Zt.INSTANCE : new mI(t, s, i) } constructor(t, s, i) { this.c = t, this.d = s, this.f = i, this.type = 4 } cmp(t) { return t.type !== this.type ? this.type - t.type : xr(this.c, this.d, t.c, t.d) } equals(t) { return t.type === this.type ? this.c === t.c && this.d === t.d : !1 } substituteConstants() { const t = Rt.get(this.c); if (typeof t == "boolean") { const s = t ? "true" : "false"; return this.d === s ? fs.INSTANCE : Zt.INSTANCE } return this } evaluate(t) { return t.getValue(this.c) == this.d } serialize() { return `${this.c} == '${this.d}'` } keys() { return [this.c] } map(t) { return t.mapEquals(this.c, this.d) } negate() { return this.f || (this.f = mo.create(this.c, this.d, this)), this.f } }, Ru = class gI { static create(t, s) { return new gI(t, s) } constructor(t, s) { this.d = t, this.f = s, this.type = 10, this.c = null } cmp(t) { return t.type !== this.type ? this.type - t.type : xr(this.d, this.f, t.d, t.f) } equals(t) { return t.type === this.type ? this.d === t.d && this.f === t.f : !1 } substituteConstants() { return this } evaluate(t) { const s = t.getValue(this.f), i = t.getValue(this.d); return Array.isArray(s) ? s.includes(i) : typeof i == "string" && typeof s == "object" && s !== null ? Qy.call(s, i) : !1 } serialize() { return `${this.d} in '${this.f}'` } keys() { return [this.d, this.f] } map(t) { return t.mapIn(this.d, this.f) } negate() { return this.c || (this.c = Lu.create(this.d, this.f)), this.c } }, Lu = class wI { static create(t, s) { return new wI(t, s) } constructor(t, s) { this.d = t, this.f = s, this.type = 11, this.c = Ru.create(t, s) } cmp(t) { return t.type !== this.type ? this.type - t.type : this.c.cmp(t.c) } equals(t) { return t.type === this.type ? this.c.equals(t.c) : !1 } substituteConstants() { return this } evaluate(t) { return !this.c.evaluate(t) } serialize() { return `${this.d} not in '${this.f}'` } keys() { return this.c.keys() } map(t) { return t.mapNotIn(this.d, this.f) } negate() { return this.c } }, mo = class vI { static create(t, s, i = null) { if (typeof s == "boolean") return s ? $r.create(t, i) : kr.create(t, i); const n = Rt.get(t); return typeof n == "boolean" ? s === (n ? "true" : "false") ? Zt.INSTANCE : fs.INSTANCE : new vI(t, s, i) } constructor(t, s, i) { this.c = t, this.d = s, this.f = i, this.type = 5 } cmp(t) { return t.type !== this.type ? this.type - t.type : xr(this.c, this.d, t.c, t.d) } equals(t) { return t.type === this.type ? this.c === t.c && this.d === t.d : !1 } substituteConstants() { const t = Rt.get(this.c); if (typeof t == "boolean") { const s = t ? "true" : "false"; return this.d === s ? Zt.INSTANCE : fs.INSTANCE } return this } evaluate(t) { return t.getValue(this.c) != this.d } serialize() { return `${this.c} != '${this.d}'` } keys() { return [this.c] } map(t) { return t.mapNotEquals(this.c, this.d) } negate() { return this.f || (this.f = po.create(this.c, this.d, this)), this.f } }, $r = class bI { static create(t, s = null) { const i = Rt.get(t); return typeof i == "boolean" ? i ? Zt.INSTANCE : fs.INSTANCE : new bI(t, s) } constructor(t, s) { this.c = t, this.d = s, this.type = 3 } cmp(t) { return t.type !== this.type ? this.type - t.type : Yy(this.c, t.c) } equals(t) { return t.type === this.type ? this.c === t.c : !1 } substituteConstants() { const t = Rt.get(this.c); return typeof t == "boolean" ? t ? Zt.INSTANCE : fs.INSTANCE : this } evaluate(t) { return !t.getValue(this.c) } serialize() { return `!${this.c}` } keys() { return [this.c] } map(t) { return t.mapNot(this.c) } negate() { return this.d || (this.d = kr.create(this.c, this)), this.d } }, Za = class yI { static create(t, s, i = null) { return Du(s, n => new yI(t, n, i)) } constructor(t, s, i) { this.c = t, this.d = s, this.f = i, this.type = 12 } cmp(t) { return t.type !== this.type ? this.type - t.type : xr(this.c, this.d, t.c, t.d) } equals(t) { return t.type === this.type ? this.c === t.c && this.d === t.d : !1 } substituteConstants() { return this } evaluate(t) { return typeof this.d == "string" ? !1 : parseFloat(t.getValue(this.c)) > this.d } serialize() { return `${this.c} > ${this.d}` } keys() { return [this.c] } map(t) { return t.mapGreater(this.c, this.d) } negate() { return this.f || (this.f = tc.create(this.c, this.d, this)), this.f } }, Ka = class EI { static create(t, s, i = null) { return Du(s, n => new EI(t, n, i)) } constructor(t, s, i) { this.c = t, this.d = s, this.f = i, this.type = 13 } cmp(t) { return t.type !== this.type ? this.type - t.type : xr(this.c, this.d, t.c, t.d) } equals(t) { return t.type === this.type ? this.c === t.c && this.d === t.d : !1 } substituteConstants() { return this } evaluate(t) { return typeof this.d == "string" ? !1 : parseFloat(t.getValue(this.c)) >= this.d } serialize() { return `${this.c} >= ${this.d}` } keys() { return [this.c] } map(t) { return t.mapGreaterEquals(this.c, this.d) } negate() { return this.f || (this.f = ec.create(this.c, this.d, this)), this.f } }, ec = class xI { static create(t, s, i = null) { return Du(s, n => new xI(t, n, i)) } constructor(t, s, i) { this.c = t, this.d = s, this.f = i, this.type = 14 } cmp(t) { return t.type !== this.type ? this.type - t.type : xr(this.c, this.d, t.c, t.d) } equals(t) { return t.type === this.type ? this.c === t.c && this.d === t.d : !1 } substituteConstants() { return this } evaluate(t) { return typeof this.d == "string" ? !1 : parseFloat(t.getValue(this.c)) < this.d } serialize() { return `${this.c} < ${this.d}` } keys() { return [this.c] } map(t) { return t.mapSmaller(this.c, this.d) } negate() { return this.f || (this.f = Ka.create(this.c, this.d, this)), this.f } }, tc = class kI { static create(t, s, i = null) { return Du(s, n => new kI(t, n, i)) } constructor(t, s, i) { this.c = t, this.d = s, this.f = i, this.type = 15 } cmp(t) { return t.type !== this.type ? this.type - t.type : xr(this.c, this.d, t.c, t.d) } equals(t) { return t.type === this.type ? this.c === t.c && this.d === t.d : !1 } substituteConstants() { return this } evaluate(t) { return typeof this.d == "string" ? !1 : parseFloat(t.getValue(this.c)) <= this.d } serialize() { return `${this.c} <= ${this.d}` } keys() { return [this.c] } map(t) { return t.mapSmallerEquals(this.c, this.d) } negate() { return this.f || (this.f = Za.create(this.c, this.d, this)), this.f } }, go = class $I { static create(t, s) { return new $I(t, s) } constructor(t, s) { this.d = t, this.f = s, this.type = 7, this.c = null } cmp(t) { if (t.type !== this.type) return this.type - t.type; if (this.d < t.d) return -1; if (this.d > t.d) return 1; const s = this.f ? this.f.source : "", i = t.f ? t.f.source : ""; return s < i ? -1 : s > i ? 1 : 0 } equals(t) { if (t.type === this.type) { const s = this.f ? this.f.source : "", i = t.f ? t.f.source : ""; return this.d === t.d && s === i } return !1 } substituteConstants() { return this } evaluate(t) { const s = t.getValue(this.d); return this.f ? this.f.test(s) : !1 } serialize() { const t = this.f ? `/${this.f.source}/${this.f.flags}` : "/invalid/"; return `${this.d} =~ ${t}` } keys() { return [this.d] } map(t) { return t.mapRegex(this.d, this.f) } negate() { return this.c || (this.c = c4.create(this)), this.c } }, c4 = class xv { static create(t) { return new xv(t) } constructor(t) { this.c = t, this.type = 8 } cmp(t) { return t.type !== this.type ? this.type - t.type : this.c.cmp(t.c) } equals(t) { return t.type === this.type ? this.c.equals(t.c) : !1 } substituteConstants() { return this } evaluate(t) { return !this.c.evaluate(t) } serialize() { return `!(${this.c.serialize()})` } keys() { return this.c.keys() } map(t) { return new xv(this.c.map(t)) } negate() { return this.c } }, vp = class Da { static create(t, s, i) { return Da.d(t, s, i) } constructor(t, s) { this.expr = t, this.c = s, this.type = 6 } cmp(t) { if (t.type !== this.type) return this.type - t.type; if (this.expr.length < t.expr.length) return -1; if (this.expr.length > t.expr.length) return 1; for (let s = 0, i = this.expr.length; s < i; s++) { const n = Qa(this.expr[s], t.expr[s]); if (n !== 0) return n } return 0 } equals(t) { if (t.type === this.type) { if (this.expr.length !== t.expr.length) return !1; for (let s = 0, i = this.expr.length; s < i; s++)if (!this.expr[s].equals(t.expr[s])) return !1; return !0 } return !1 } substituteConstants() { const t = Jy(this.expr); return t === this.expr ? this : Da.create(t, this.c, !1) } evaluate(t) { for (let s = 0, i = this.expr.length; s < i; s++)if (!this.expr[s].evaluate(t)) return !1; return !0 } static d(t, s, i) { const n = []; let r = !1; for (const o of t) if (o) { if (o.type === 1) { r = !0; continue } if (o.type === 0) return Zt.INSTANCE; if (o.type === 6) { n.push(...o.expr); continue } n.push(o) } if (n.length === 0 && r) return fs.INSTANCE; if (n.length !== 0) { if (n.length === 1) return n[0]; n.sort(Qa); for (let o = 1; o < n.length; o++)n[o - 1].equals(n[o]) && (n.splice(o, 1), o--); if (n.length === 1) return n[0]; for (; n.length > 1;) { const o = n[n.length - 1]; if (o.type !== 9) break; n.pop(); const a = n.pop(), c = n.length === 0, l = Nu.create(o.expr.map(u => Da.create([u, a], null, i)), null, c); l && (n.push(l), n.sort(Qa)) } if (n.length === 1) return n[0]; if (i) { for (let o = 0; o < n.length; o++)for (let a = o + 1; a < n.length; a++)if (n[o].negate().equals(n[a])) return Zt.INSTANCE; if (n.length === 1) return n[0] } return new Da(n, s) } } serialize() { return this.expr.map(t => t.serialize()).join(" && ") } keys() { const t = []; for (const s of this.expr) t.push(...s.keys()); return t } map(t) { return new Da(this.expr.map(s => s.map(t)), null) } negate() { if (!this.c) { const t = []; for (const s of this.expr) t.push(s.negate()); this.c = Nu.create(t, this, !0) } return this.c } }, Nu = class Xr { static create(t, s, i) { return Xr.d(t, s, i) } constructor(t, s) { this.expr = t, this.c = s, this.type = 9 } cmp(t) { if (t.type !== this.type) return this.type - t.type; if (this.expr.length < t.expr.length) return -1; if (this.expr.length > t.expr.length) return 1; for (let s = 0, i = this.expr.length; s < i; s++) { const n = Qa(this.expr[s], t.expr[s]); if (n !== 0) return n } return 0 } equals(t) { if (t.type === this.type) { if (this.expr.length !== t.expr.length) return !1; for (let s = 0, i = this.expr.length; s < i; s++)if (!this.expr[s].equals(t.expr[s])) return !1; return !0 } return !1 } substituteConstants() { const t = Jy(this.expr); return t === this.expr ? this : Xr.create(t, this.c, !1) } evaluate(t) { for (let s = 0, i = this.expr.length; s < i; s++)if (this.expr[s].evaluate(t)) return !0; return !1 } static d(t, s, i) { let n = [], r = !1; if (t) { for (let o = 0, a = t.length; o < a; o++) { const c = t[o]; if (c) { if (c.type === 0) { r = !0; continue } if (c.type === 1) return fs.INSTANCE; if (c.type === 9) { n = n.concat(c.expr); continue } n.push(c) } } if (n.length === 0 && r) return Zt.INSTANCE; n.sort(Qa) } if (n.length !== 0) { if (n.length === 1) return n[0]; for (let o = 1; o < n.length; o++)n[o - 1].equals(n[o]) && (n.splice(o, 1), o--); if (n.length === 1) return n[0]; if (i) { for (let o = 0; o < n.length; o++)for (let a = o + 1; a < n.length; a++)if (n[o].negate().equals(n[a])) return fs.INSTANCE; if (n.length === 1) return n[0] } return new Xr(n, s) } } serialize() { return this.expr.map(t => t.serialize()).join(" || ") } keys() { const t = []; for (const s of this.expr) t.push(...s.keys()); return t } map(t) { return new Xr(this.expr.map(s => s.map(t)), null) } negate() { if (!this.c) { const t = []; for (const s of this.expr) t.push(s.negate()); for (; t.length > 1;) { const s = t.shift(), i = t.shift(), n = []; for (const r of Xy(s)) for (const o of Xy(i)) n.push(vp.create([r, o], null, !1)); t.unshift(Xr.create(n, null, !1)) } this.c = Xr.create(t, this, !0) } return this.c } }, Ee = class h1 extends kr { static { this.d = [] } static all() { return h1.d.values() } constructor(t, s, i) { super(t, null), this.f = s, typeof i == "object" ? h1.d.push({ ...i, key: t }) : i !== !0 && h1.d.push({ key: t, description: i, type: s != null ? typeof s : void 0 }) } bindTo(t) { return t.createKey(this.key, this.f) } getValue(t) { return t.getContextKeyValue(this.key) } toNegated() { return this.negate() } isEqualTo(t) { return po.create(this.key, t) } notEqualsTo(t) { return mo.create(this.key, t) } }, l4 = se("contextKeyService")
  86. }
  87. }); function bp(e) { return On(e) } function AD(e, t, s) { switch (t) { case F.Trace: e.trace(s); break; case F.Debug: e.debug(s); break; case F.Info: e.info(s); break; case F.Warning: e.warn(s); break; case F.Error: e.error(s); break; case F.Off: break; default: throw new Error(`Invalid log level ${t}`) } } function vo(e, t = !1) { let s = ""; for (let i = 0; i < e.length; i++) { let n = e[i]; if (n instanceof Error && (n = Cn(n, t)), typeof n == "object") try { n = JSON.stringify(n) } catch { } s += (i > 0 ? " " : "") + n } return s } function yp(e) { if (e.verbose) return F.Trace; if (typeof e.logLevel == "string") { const t = DD(e.logLevel.toLowerCase()); if (t !== void 0) return t } return ic } function u4(e) { switch (e) { case F.Trace: return "trace"; case F.Debug: return "debug"; case F.Info: return "info"; case F.Warning: return "warn"; case F.Error: return "error"; case F.Off: return "off" } } function DD(e) { switch (e) { case "trace": return F.Trace; case "debug": return F.Debug; case "info": return F.Info; case "warn": return F.Warning; case "error": return F.Error; case "critical": return F.Error; case "off": return F.Off } } var pe, sc, F, ic, nc, h4, f4, d4, p4, m4, g4, RD, Re = v({ "out-build/vs/platform/log/common/log.js"() { "use strict"; he(), yr(), re(), Ya(), z(), ls(), X(), kt(), $e(), ee(), wo(), oe(), pe = se("logService"), sc = se("loggerService"), function (e) { e[e.Off = 0] = "Off", e[e.Trace = 1] = "Trace", e[e.Debug = 2] = "Debug", e[e.Info = 3] = "Info", e[e.Warning = 4] = "Warning", e[e.Error = 5] = "Error" }(F || (F = {})), ic = F.Info, nc = class extends J { constructor() { super(...arguments), this.b = ic, this.c = this.B(new D), this.onDidChangeLogLevel = this.c.event } setLevel(e) { this.b !== e && (this.b = e, this.c.fire(this.b)) } getLevel() { return this.b } f(e) { return this.b !== F.Off && this.b <= e } g(e) { return this.q.isDisposed ? !1 : this.f(e) } }, h4 = class extends nc { constructor(e) { super(), this.h = e } f(e) { return this.h || super.f(e) } trace(e, ...t) { this.g(F.Trace) && this.m(F.Trace, vo([e, ...t], !0)) } debug(e, ...t) { this.g(F.Debug) && this.m(F.Debug, vo([e, ...t])) } info(e, ...t) { this.g(F.Info) && this.m(F.Info, vo([e, ...t])) } warn(e, ...t) { this.g(F.Warning) && this.m(F.Warning, vo([e, ...t])) } error(e, ...t) { if (this.g(F.Error)) if (e instanceof Error) { const s = Array.prototype.slice.call(arguments); s[0] = e.stack, this.m(F.Error, vo(s)) } else this.m(F.Error, vo([e, ...t])) } flush() { } }, f4 = class extends nc { constructor(e = ic, t = !0) { super(), this.h = t, this.setLevel(e) } trace(e, ...t) { this.g(F.Trace) && (this.h ? console.log("%cTRACE", "color: #888", e, ...t) : console.log(e, ...t)) } debug(e, ...t) { this.g(F.Debug) && (this.h ? console.log("%cDEBUG", "background: #eee; color: #888", e, ...t) : console.log(e, ...t)) } info(e, ...t) { this.g(F.Info) && (this.h ? console.log("%c INFO", "color: #33f", e, ...t) : console.log(e, ...t)) } warn(e, ...t) { this.g(F.Warning) && (this.h ? console.log("%c WARN", "color: #993", e, ...t) : console.log(e, ...t)) } error(e, ...t) { this.g(F.Error) && (this.h ? console.log("%c ERR", "color: #f33", e, ...t) : console.error(e, ...t)) } flush() { } }, d4 = class extends nc { constructor(e) { super(), this.h = e, e.length && this.setLevel(e[0].getLevel()) } setLevel(e) { for (const t of this.h) t.setLevel(e); super.setLevel(e) } trace(e, ...t) { for (const s of this.h) s.trace(e, ...t) } debug(e, ...t) { for (const s of this.h) s.debug(e, ...t) } info(e, ...t) { for (const s of this.h) s.info(e, ...t) } warn(e, ...t) { for (const s of this.h) s.warn(e, ...t) } error(e, ...t) { for (const s of this.h) s.error(e, ...t) } flush() { for (const e of this.h) e.flush() } dispose() { for (const e of this.h) e.dispose(); super.dispose() } }, p4 = class extends J { constructor(e, t, s) { if (super(), this.h = e, this.j = t, this.b = new At, this.c = this.B(new D), this.onDidChangeLoggers = this.c.event, this.f = this.B(new D), this.onDidChangeLogLevel = this.f.event, this.g = this.B(new D), this.onDidChangeVisibility = this.g.event, s) for (const i of s) this.b.set(i.resource, { logger: void 0, info: i }) } m(e) { return ve(e) ? [...this.b.values()].find(t => t.info.id === e) : this.b.get(e) } getLogger(e) { return this.m(e)?.logger } createLogger(e, t) { const s = this.n(e), i = ve(e) ? e : t?.id ?? ho(s.toString()).toString(16); let n = this.b.get(s)?.logger; const r = t?.logLevel === "always" ? F.Trace : t?.logLevel; n || (n = this.s(s, r ?? this.getLogLevel(s) ?? this.h, { ...t, id: i })); const o = { logger: n, info: { resource: s, id: i, logLevel: r, name: t?.name, hidden: t?.hidden, extensionId: t?.extensionId, when: t?.when } }; return this.registerLogger(o.info), this.b.set(s, o), n } n(e) { return ve(e) ? ne(this.j, `${e}.log`) : e } setLogLevel(e, t) { if (E.isUri(e)) { const s = e, i = t, n = this.b.get(s); n && i !== n.info.logLevel && (n.info.logLevel = i === this.h ? void 0 : i, n.logger?.setLevel(i), this.b.set(n.info.resource, n), this.f.fire([s, i])) } else { this.h = e; for (const [s, i] of this.b.entries()) this.b.get(s)?.info.logLevel === void 0 && i.logger?.setLevel(this.h); this.f.fire(this.h) } } setVisibility(e, t) { const s = this.m(e); s && t !== !s.info.hidden && (s.info.hidden = !t, this.b.set(s.info.resource, s), this.g.fire([s.info.resource, t])) } getLogLevel(e) { let t; return e && (t = this.b.get(e)?.info.logLevel), t ?? this.h } registerLogger(e) { const t = this.b.get(e.resource); t ? t.info.hidden !== e.hidden && this.setVisibility(e.resource, !e.hidden) : (this.b.set(e.resource, { info: e, logger: void 0 }), this.c.fire({ added: [e], removed: [] })) } deregisterLogger(e) { const t = this.b.get(e); t && (t.logger && t.logger.dispose(), this.b.delete(e), this.c.fire({ added: [], removed: [t.info] })) } *getRegisteredLoggers() { for (const e of this.b.values()) yield e.info } getRegisteredLogger(e) { return this.b.get(e)?.info } dispose() { this.b.forEach(e => e.logger?.dispose()), this.b.clear(), super.dispose() } }, m4 = class { constructor() { this.onDidChangeLogLevel = new D().event } setLevel(e) { } getLevel() { return F.Info } trace(e, ...t) { } debug(e, ...t) { } info(e, ...t) { } warn(e, ...t) { } error(e, ...t) { } critical(e, ...t) { } dispose() { } flush() { } }, g4 = class extends m4 { }, RD = new Ee("logLevel", u4(F.Info)) } }), Xe, Ou = v({ "out-build/vs/platform/instantiation/common/descriptors.js"() { "use strict"; Xe = class { constructor(e, t = [], s = !1) { this.ctor = e, this.staticArguments = t, this.supportsDelayedInstantiation = s } } } }), w4, LD = v({ "out-build/vs/base/common/symbols.js"() { "use strict"; w4 = Symbol("MicrotaskDelay") } }); function Ep(e) { return !!e && typeof e.then == "function" } function cn(e) { const t = new Ei, s = e(t.token), i = new Promise((n, r) => { const o = t.token.onCancellationRequested(() => { o.dispose(), r(new It) }); Promise.resolve(s).then(a => { o.dispose(), t.dispose(), n(a) }, a => { o.dispose(), t.dispose(), r(a) }) }); return new class { cancel() { t.cancel(), t.dispose() } then(n, r) { return i.then(n, r) } catch(n) { return this.then(void 0, n) } finally(n) { return i.finally(n) } } } function ND() { let e, t; return { promise: new Promise((i, n) => { e = i, t = n }), resolve: e, reject: t } } function Sr(e, t) { return t ? new Promise((s, i) => { const n = setTimeout(() => { r.dispose(), s() }, e), r = t.onCancellationRequested(() => { clearTimeout(n), r.dispose(), i(new It) }) }) : cn(s => Sr(e, s)) } async function OD(e, t, s) { let i; for (let n = 0; n < s; n++)try { return await e() } catch (r) { i = r, await Sr(t) } throw i } var v4, b4, y4, E4, xp, Pr, kp, $p, bo, Sp, rc, Pp, x4, k4, $4, Cu, S4, P4, I4, _u, Kt, A4, CD, Ue = v({ "out-build/vs/base/common/async.js"() { "use strict"; Dt(), fe(), re(), z(), kt(), X(), LD(), wu(), v4 = class { constructor() { this.f = !1, this.a = null, this.b = null, this.d = null } queue(e) { if (this.f) return Promise.reject(new Error("Throttler is disposed")); if (this.a) { if (this.d = e, !this.b) { const t = () => { if (this.b = null, this.f) return; const s = this.queue(this.d); return this.d = null, s }; this.b = new Promise(s => { this.a.then(t, t).then(s) }) } return new Promise((t, s) => { this.b.then(t, s) }) } return this.a = e(), new Promise((t, s) => { this.a.then(i => { this.a = null, t(i) }, i => { this.a = null, s(i) }) }) } dispose() { this.f = !0 } }, b4 = class { constructor() { this.a = Promise.resolve(null) } queue(e) { return this.a = this.a.then(() => e(), () => e()) } }, y4 = (e, t) => { let s = !0; const i = setTimeout(() => { s = !1, t() }, e); return { isTriggered: () => s, dispose: () => { clearTimeout(i), s = !1 } } }, E4 = e => { let t = !0; return queueMicrotask(() => { t && (t = !1, e()) }), { isTriggered: () => t, dispose: () => { t = !1 } } }, xp = class { constructor(e) { this.defaultDelay = e, this.a = null, this.b = null, this.d = null, this.f = null, this.g = null } trigger(e, t = this.defaultDelay) { this.g = e, this.h(), this.b || (this.b = new Promise((i, n) => { this.d = i, this.f = n }).then(() => { if (this.b = null, this.d = null, this.g) { const i = this.g; return this.g = null, i() } })); const s = () => { this.a = null, this.d?.(null) }; return this.a = t === w4 ? E4(s) : y4(t, s), this.b } isTriggered() { return !!this.a?.isTriggered() } cancel() { this.h(), this.b && (this.f?.(new It), this.b = null) } h() { this.a?.dispose(), this.a = null } dispose() { this.cancel() } }, Pr = class { constructor(e) { this.a = new xp(e), this.b = new v4 } trigger(e, t) { return this.a.trigger(() => this.b.queue(e), t) } isTriggered() { return this.a.isTriggered() } cancel() { this.a.cancel() } dispose() { this.a.dispose(), this.b.dispose() } }, kp = class { constructor() { this.a = !1, this.b = new Promise((e, t) => { this.d = e }) } isOpen() { return this.a } open() { this.a = !0, this.d(!0) } wait() { return this.b } }, $p = class { constructor(e) { this.a = 0, this.b = !1, this.f = e, this.g = [], this.d = 0, this.h = new D } whenIdle() { return this.size > 0 ? H.toPromise(this.onDrained) : Promise.resolve() } get onDrained() { return this.h.event } get size() { return this.a } queue(e) { if (this.b) throw new Error("Object has been disposed"); return this.a++, new Promise((t, s) => { this.g.push({ factory: e, c: t, e: s }), this.j() }) } j() { for (; this.g.length && this.d < this.f;) { const e = this.g.shift(); this.d++; const t = e.factory(); t.then(e.c, e.e), t.then(() => this.k(), () => this.k()) } } k() { this.b || (this.d--, --this.a === 0 && this.h.fire(), this.g.length > 0 && this.j()) } clear() { if (this.b) throw new Error("Object has been disposed"); this.g.length = 0, this.a = this.d } dispose() { this.b = !0, this.g.length = 0, this.a = 0, this.h.dispose() } }, bo = class extends $p { constructor() { super(1) } }, Sp = class { constructor() { this.a = new Map, this.b = new Set, this.d = void 0, this.f = 0 } async whenDrained() { if (this.g()) return; const e = new _u; return this.b.add(e), e.p } g() { for (const [, e] of this.a) if (e.size > 0) return !1; return !0 } queueSize(e, t = Se) { const s = t.getComparisonKey(e); return this.a.get(s)?.size ?? 0 } queueFor(e, t, s = Se) { const i = s.getComparisonKey(e); let n = this.a.get(i); if (!n) { n = new bo; const r = this.f++, o = H.once(n.onDrained)(() => { n?.dispose(), this.a.delete(i), this.h(), this.d?.deleteAndDispose(r), this.d?.size === 0 && (this.d.dispose(), this.d = void 0) }); this.d || (this.d = new du), this.d.set(r, o), this.a.set(i, n) } return n.queue(t) } h() { this.g() && this.j() } j() { for (const e of this.b) e.complete(); this.b.clear() } dispose() { for (const [, e] of this.a) e.dispose(); this.a.clear(), this.j(), this.d?.dispose() } }, rc = class { constructor(e, t) { this.b = -1, this.a = e, this.d = t, this.f = this.g.bind(this) } dispose() { this.cancel(), this.a = null } cancel() { this.isScheduled() && (clearTimeout(this.b), this.b = -1) } schedule(e = this.d) { this.cancel(), this.b = setTimeout(this.f, e) } get delay() { return this.d } set delay(e) { this.d = e } isScheduled() { return this.b !== -1 } flush() { this.isScheduled() && (this.cancel(), this.h()) } g() { this.b = -1, this.a && this.h() } h() { this.a?.() } }, Pp = class { constructor(e, t) { t % 1e3 !== 0 && console.warn(`ProcessTimeRunOnceScheduler resolution is 1s, ${t}ms is not a multiple of 1000ms.`), this.a = e, this.b = t, this.d = 0, this.f = -1, this.g = this.h.bind(this) } dispose() { this.cancel(), this.a = null } cancel() { this.isScheduled() && (clearInterval(this.f), this.f = -1) } schedule(e = this.b) { e % 1e3 !== 0 && console.warn(`ProcessTimeRunOnceScheduler resolution is 1s, ${e}ms is not a multiple of 1000ms.`), this.cancel(), this.d = Math.ceil(e / 1e3), this.f = setInterval(this.g, 1e3) } isScheduled() { return this.f !== -1 } h() { this.d--, !(this.d > 0) && (clearInterval(this.f), this.f = -1, this.a?.()) } }, x4 = class extends rc { constructor(e, t) { super(e, t), this.j = [] } work(e) { this.j.push(e), this.isScheduled() || this.schedule() } h() { const e = this.j; this.j = [], this.a?.(e) } dispose() { this.j = [], super.dispose() } }, k4 = class extends J { constructor(e, t) { super(), this.h = e, this.j = t, this.a = [], this.b = this.B(new fu), this.f = !1, this.g = 0 } get pending() { return this.a.length } work(e) { if (this.f) return !1; if (typeof this.h.maxBufferedWork == "number") { if (this.b.value) { if (this.pending + e.length > this.h.maxBufferedWork) return !1 } else if (this.pending + e.length - this.h.maxWorkChunkSize > this.h.maxBufferedWork) return !1 } for (const s of e) this.a.push(s); const t = Date.now() - this.g; return !this.b.value && (!this.h.waitThrottleDelayBetweenWorkUnits || t >= this.h.throttleDelay) ? this.m() : !this.b.value && this.h.waitThrottleDelayBetweenWorkUnits && this.r(Math.max(this.h.throttleDelay - t, 0)), !0 } m() { this.g = Date.now(), this.j(this.a.splice(0, this.h.maxWorkChunkSize)), this.a.length > 0 && this.r() } r(e = this.h.throttleDelay) { this.b.value = new rc(() => { this.b.clear(), this.m() }, e), this.b.value.schedule() } dispose() { super.dispose(), this.f = !0 } }, function () { typeof globalThis.requestIdleCallback != "function" || typeof globalThis.cancelIdleCallback != "function" ? Cu = (e, t, s) => { ub(() => { if (i) return; const n = Date.now() + 15; t(Object.freeze({ didTimeout: !0, timeRemaining() { return Math.max(0, n - Date.now()) } })) }); let i = !1; return { dispose() { i || (i = !0) } } } : Cu = (e, t, s) => { const i = e.requestIdleCallback(t, typeof s == "number" ? { timeout: s } : void 0); let n = !1; return { dispose() { n || (n = !0, e.cancelIdleCallback(i)) } } }, $4 = (e, t) => Cu(globalThis, e, t) }(), S4 = class { constructor(e, t) { this.g = !1, this.d = () => { try { this.j = t() } catch (s) { this.l = s } finally { this.g = !0 } }, this.f = Cu(e, () => this.d()) } dispose() { this.f.dispose() } get value() { if (this.g || (this.f.dispose(), this.d()), this.l) throw this.l; return this.j } get isInitialized() { return this.g } }, P4 = class extends S4 { constructor(e) { super(globalThis, e) } }, function (e) { e[e.Resolved = 0] = "Resolved", e[e.Rejected = 1] = "Rejected" }(I4 || (I4 = {})), _u = class { get isRejected() { return this.d?.outcome === 1 } get isResolved() { return this.d?.outcome === 0 } get isSettled() { return !!this.d } get value() { return this.d?.outcome === 0 ? this.d?.value : void 0 } constructor() { this.p = new Promise((e, t) => { this.a = e, this.b = t }) } complete(e) { return new Promise(t => { this.a(e), this.d = { outcome: 0, value: e }, t() }) } error(e) { return new Promise(t => { this.b(e), this.d = { outcome: 1, value: e }, t() }) } cancel() { return this.error(new It) } }, function (e) { async function t(i) { let n; const r = await Promise.all(i.map(o => o.then(a => a, a => { n || (n = a) }))); if (typeof n < "u") throw n; return r } e.settled = t; function s(i) { return new Promise(async (n, r) => { try { await i(n, r) } catch (o) { r(o) } }) } e.withAsyncBody = s }(Kt || (Kt = {})), function (e) { e[e.Initial = 0] = "Initial", e[e.DoneOK = 1] = "DoneOK", e[e.DoneError = 2] = "DoneError" }(A4 || (A4 = {})), CD = class Fs { static fromArray(t) { return new Fs(s => { s.emitMany(t) }) } static fromPromise(t) { return new Fs(async s => { s.emitMany(await t) }) } static fromPromisesResolveOrder(t) { return new Fs(async s => { await Promise.all(t.map(async i => s.emitOne(await i))) }) } static merge(t) { return new Fs(async s => { await Promise.all(t.map(async i => { for await (const n of i) s.emitOne(n) })) }) } static { this.EMPTY = Fs.fromArray([]) } constructor(t, s) { this.a = 0, this.b = [], this.d = null, this.f = s, this.g = new D, queueMicrotask(async () => { const i = { emitOne: n => this.h(n), emitMany: n => this.j(n), reject: n => this.l(n) }; try { await Promise.resolve(t(i)), this.k() } catch (n) { this.l(n) } finally { i.emitOne = void 0, i.emitMany = void 0, i.reject = void 0 } }) } [Symbol.asyncIterator]() { let t = 0; return { next: async () => { do { if (this.a === 2) throw this.d; if (t < this.b.length) return { done: !1, value: this.b[t++] }; if (this.a === 1) return { done: !0, value: void 0 }; await H.toPromise(this.g.event) } while (!0) }, return: async () => (this.f?.(), { done: !0, value: void 0 }) } } static map(t, s) { return new Fs(async i => { for await (const n of t) i.emitOne(s(n)) }) } map(t) { return Fs.map(this, t) } static filter(t, s) { return new Fs(async i => { for await (const n of t) s(n) && i.emitOne(n) }) } filter(t) { return Fs.filter(this, t) } static coalesce(t) { return Fs.filter(t, s => !!s) } coalesce() { return Fs.coalesce(this) } static async toPromise(t) { const s = []; for await (const i of t) s.push(i); return s } toPromise() { return Fs.toPromise(this) } h(t) { this.a === 0 && (this.b.push(t), this.g.fire()) } j(t) { this.a === 0 && (this.b = this.b.concat(t), this.g.fire()) } k() { this.a === 0 && (this.a = 1, this.g.fire()) } l(t) { this.a === 0 && (this.a = 2, this.d = t, this.g.fire()) } } } }); function D4(e, t = !1) {
  88. let s = 0; const i = e.length; let n = "", r = 0, o = 16, a = 0; function c(w) { let y = 0, x = 0; for (; y < w;) { const k = e.charCodeAt(s); if (k >= 48 && k <= 57) x = x * 16 + k - 48; else if (k >= 65 && k <= 70) x = x * 16 + k - 65 + 10; else if (k >= 97 && k <= 102) x = x * 16 + k - 97 + 10; else break; s++, y++ } return y < w && (x = -1), x } function l(w) { s = w, n = "", r = 0, o = 16, a = 0 } function u() { const w = s; if (e.charCodeAt(s) === 48) s++; else for (s++; s < e.length && yo(e.charCodeAt(s));)s++; if (s < e.length && e.charCodeAt(s) === 46) if (s++, s < e.length && yo(e.charCodeAt(s))) for (s++; s < e.length && yo(e.charCodeAt(s));)s++; else return a = 3, e.substring(w, s); let y = s; if (s < e.length && (e.charCodeAt(s) === 69 || e.charCodeAt(s) === 101)) if (s++, (s < e.length && e.charCodeAt(s) === 43 || e.charCodeAt(s) === 45) && s++, s < e.length && yo(e.charCodeAt(s))) { for (s++; s < e.length && yo(e.charCodeAt(s));)s++; y = s } else a = 3; return e.substring(w, y) } function h() {
  89. let w = "", y = s; for (; ;) {
  90. if (s >= i) { w += e.substring(y, s), a = 2; break } const x = e.charCodeAt(s); if (x === 34) { w += e.substring(y, s), s++; break } if (x === 92) {
  91. if (w += e.substring(y, s), s++, s >= i) { a = 2; break } switch (e.charCodeAt(s++)) {
  92. case 34: w += '"'; break; case 92: w += "\\"; break; case 47: w += "/"; break; case 98: w += "\b"; break; case 102: w += "\f"; break; case 110: w += `
  93. `; break; case 114: w += "\r"; break; case 116: w += " "; break; case 117: { const A = c(4); A >= 0 ? w += String.fromCharCode(A) : a = 4; break } default: a = 5
  94. }y = s; continue
  95. } if (x >= 0 && x <= 31) if (ju(x)) { w += e.substring(y, s), a = 2; break } else a = 6; s++
  96. } return w
  97. } function d() {
  98. if (n = "", a = 0, r = s, s >= i) return r = i, o = 17; let w = e.charCodeAt(s); if (Ip(w)) { do s++, n += String.fromCharCode(w), w = e.charCodeAt(s); while (Ip(w)); return o = 15 } if (ju(w)) return s++, n += String.fromCharCode(w), w === 13 && e.charCodeAt(s) === 10 && (s++, n += `
  99. `), o = 14; switch (w) { case 123: return s++, o = 1; case 125: return s++, o = 2; case 91: return s++, o = 3; case 93: return s++, o = 4; case 58: return s++, o = 6; case 44: return s++, o = 5; case 34: return s++, n = h(), o = 10; case 47: { const y = s - 1; if (e.charCodeAt(s + 1) === 47) { for (s += 2; s < i && !ju(e.charCodeAt(s));)s++; return n = e.substring(y, s), o = 12 } if (e.charCodeAt(s + 1) === 42) { s += 2; const x = i - 1; let k = !1; for (; s < x;) { if (e.charCodeAt(s) === 42 && e.charCodeAt(s + 1) === 47) { s += 2, k = !0; break } s++ } return k || (s++, a = 1), n = e.substring(y, s), o = 13 } return n += String.fromCharCode(w), s++, o = 16 } case 45: if (n += String.fromCharCode(w), s++, s === i || !yo(e.charCodeAt(s))) return o = 16; case 48: case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: return n += u(), o = 11; default: for (; s < i && p(w);)s++, w = e.charCodeAt(s); if (r !== s) { switch (n = e.substring(r, s), n) { case "true": return o = 8; case "false": return o = 9; case "null": return o = 7 }return o = 16 } return n += String.fromCharCode(w), s++, o = 16 }
  100. } function p(w) { if (Ip(w) || ju(w)) return !1; switch (w) { case 125: case 93: case 123: case 91: case 34: case 58: case 44: case 47: return !1 }return !0 } function g() { let w; do w = d(); while (w >= 12 && w <= 15); return w } return { setPosition: l, getPosition: () => s, scan: t ? g : d, getToken: () => o, getTokenValue: () => n, getTokenOffset: () => r, getTokenLength: () => s - r, getTokenError: () => a }
  101. } function Ip(e) { return e === 32 || e === 9 || e === 11 || e === 12 || e === 160 || e === 5760 || e >= 8192 && e <= 8203 || e === 8239 || e === 8287 || e === 12288 || e === 65279 } function ju(e) { return e === 10 || e === 13 || e === 8232 || e === 8233 } function yo(e) { return e >= 48 && e <= 57 } function Eo(e, t = [], s = oc.DEFAULT) { let i = null, n = []; const r = []; function o(c) { Array.isArray(n) ? n.push(c) : i !== null && (n[i] = c) } return Tu(e, { onObjectBegin: () => { const c = {}; o(c), r.push(n), n = c, i = null }, onObjectProperty: c => { i = c }, onObjectEnd: () => { n = r.pop() }, onArrayBegin: () => { const c = []; o(c), r.push(n), n = c, i = null }, onArrayEnd: () => { n = r.pop() }, onLiteralValue: o, onError: (c, l, u) => { t.push({ error: c, offset: l, length: u }) } }, s), n[0] } function _D(e, t = [], s = oc.DEFAULT) { let i = { type: "array", offset: -1, length: -1, children: [], parent: void 0 }; function n(c) { i.type === "property" && (i.length = c - i.offset, i = i.parent) } function r(c) { return i.children.push(c), c } Tu(e, { onObjectBegin: c => { i = r({ type: "object", offset: c, length: -1, parent: i, children: [] }) }, onObjectProperty: (c, l, u) => { i = r({ type: "property", offset: l, length: -1, parent: i, children: [] }), i.children.push({ type: "string", value: c, offset: l, length: u, parent: i }) }, onObjectEnd: (c, l) => { i.length = c + l - i.offset, i = i.parent, n(c + l) }, onArrayBegin: (c, l) => { i = r({ type: "array", offset: c, length: -1, parent: i, children: [] }) }, onArrayEnd: (c, l) => { i.length = c + l - i.offset, i = i.parent, n(c + l) }, onLiteralValue: (c, l, u) => { r({ type: xo(c), offset: l, length: u, parent: i, value: c }), n(l + u) }, onSeparator: (c, l, u) => { i.type === "property" && (c === ":" ? i.colonOffset = l : c === "," && n(l)) }, onError: (c, l, u) => { t.push({ error: c, offset: l, length: u }) } }, s); const a = i.children[0]; return a && delete a.parent, a } function R4(e, t) { if (!e) return; let s = e; for (const i of t) if (typeof i == "string") { if (s.type !== "object" || !Array.isArray(s.children)) return; let n = !1; for (const r of s.children) if (Array.isArray(r.children) && r.children[0].value === i) { s = r.children[1], n = !0; break } if (!n) return } else { const n = i; if (s.type !== "array" || n < 0 || !Array.isArray(s.children) || n >= s.children.length) return; s = s.children[n] } return s } function Tu(e, t, s = oc.DEFAULT) { const i = D4(e, !1); function n(N) { return N ? () => N(i.getTokenOffset(), i.getTokenLength()) : () => !0 } function r(N) { return N ? le => N(le, i.getTokenOffset(), i.getTokenLength()) : () => !0 } const o = n(t.onObjectBegin), a = r(t.onObjectProperty), c = n(t.onObjectEnd), l = n(t.onArrayBegin), u = n(t.onArrayEnd), h = r(t.onLiteralValue), d = r(t.onSeparator), p = n(t.onComment), g = r(t.onError), w = s && s.disallowComments, y = s && s.allowTrailingComma; function x() { for (; ;) { const N = i.scan(); switch (i.getTokenError()) { case 4: k(14); break; case 5: k(15); break; case 3: k(13); break; case 1: w || k(11); break; case 2: k(12); break; case 6: k(16); break }switch (N) { case 12: case 13: w ? k(10) : p(); break; case 16: k(1); break; case 15: case 14: break; default: return N } } } function k(N, le = [], ue = []) { if (g(N), le.length + ue.length > 0) { let K = i.getToken(); for (; K !== 17;) { if (le.indexOf(K) !== -1) { x(); break } else if (ue.indexOf(K) !== -1) break; K = x() } } } function A(N) { const le = i.getTokenValue(); return N ? h(le) : a(le), x(), !0 } function I() { switch (i.getToken()) { case 11: { let N = 0; try { N = JSON.parse(i.getTokenValue()), typeof N != "number" && (k(2), N = 0) } catch { k(2) } h(N); break } case 7: h(null); break; case 8: h(!0); break; case 9: h(!1); break; default: return !1 }return x(), !0 } function L() { return i.getToken() !== 10 ? (k(3, [], [2, 5]), !1) : (A(!1), i.getToken() === 6 ? (d(":"), x(), V() || k(4, [], [2, 5])) : k(5, [], [2, 5]), !0) } function q() { o(), x(); let N = !1; for (; i.getToken() !== 2 && i.getToken() !== 17;) { if (i.getToken() === 5) { if (N || k(4, [], []), d(","), x(), i.getToken() === 2 && y) break } else N && k(6, [], []); L() || k(4, [], [2, 5]), N = !0 } return c(), i.getToken() !== 2 ? k(7, [2], []) : x(), !0 } function te() { l(), x(); let N = !1; for (; i.getToken() !== 4 && i.getToken() !== 17;) { if (i.getToken() === 5) { if (N || k(4, [], []), d(","), x(), i.getToken() === 4 && y) break } else N && k(6, [], []); V() || k(4, [], [4, 5]), N = !0 } return u(), i.getToken() !== 4 ? k(8, [4], []) : x(), !0 } function V() { switch (i.getToken()) { case 3: return te(); case 1: return q(); case 10: return A(!0); default: return I() } } return x(), i.getToken() === 17 ? s.allowEmptyContent ? !0 : (k(4, [], []), !1) : V() ? (i.getToken() !== 17 && k(9, [], []), !0) : (k(4, [], []), !1) } function xo(e) { switch (typeof e) { case "boolean": return "boolean"; case "number": return "number"; case "string": return "string"; case "object": { if (e) { if (Array.isArray(e)) return "array" } else return "null"; return "object" } default: return "null" } } var L4, N4, O4, oc, C4, Ir = v({ "out-build/vs/base/common/json.js"() { "use strict"; (function (e) { e[e.None = 0] = "None", e[e.UnexpectedEndOfComment = 1] = "UnexpectedEndOfComment", e[e.UnexpectedEndOfString = 2] = "UnexpectedEndOfString", e[e.UnexpectedEndOfNumber = 3] = "UnexpectedEndOfNumber", e[e.InvalidUnicode = 4] = "InvalidUnicode", e[e.InvalidEscapeCharacter = 5] = "InvalidEscapeCharacter", e[e.InvalidCharacter = 6] = "InvalidCharacter" })(L4 || (L4 = {})), function (e) { e[e.OpenBraceToken = 1] = "OpenBraceToken", e[e.CloseBraceToken = 2] = "CloseBraceToken", e[e.OpenBracketToken = 3] = "OpenBracketToken", e[e.CloseBracketToken = 4] = "CloseBracketToken", e[e.CommaToken = 5] = "CommaToken", e[e.ColonToken = 6] = "ColonToken", e[e.NullKeyword = 7] = "NullKeyword", e[e.TrueKeyword = 8] = "TrueKeyword", e[e.FalseKeyword = 9] = "FalseKeyword", e[e.StringLiteral = 10] = "StringLiteral", e[e.NumericLiteral = 11] = "NumericLiteral", e[e.LineCommentTrivia = 12] = "LineCommentTrivia", e[e.BlockCommentTrivia = 13] = "BlockCommentTrivia", e[e.LineBreakTrivia = 14] = "LineBreakTrivia", e[e.Trivia = 15] = "Trivia", e[e.Unknown = 16] = "Unknown", e[e.EOF = 17] = "EOF" }(N4 || (N4 = {})), function (e) { e[e.InvalidSymbol = 1] = "InvalidSymbol", e[e.InvalidNumberFormat = 2] = "InvalidNumberFormat", e[e.PropertyNameExpected = 3] = "PropertyNameExpected", e[e.ValueExpected = 4] = "ValueExpected", e[e.ColonExpected = 5] = "ColonExpected", e[e.CommaExpected = 6] = "CommaExpected", e[e.CloseBraceExpected = 7] = "CloseBraceExpected", e[e.CloseBracketExpected = 8] = "CloseBracketExpected", e[e.EndOfFileExpected = 9] = "EndOfFileExpected", e[e.InvalidCommentToken = 10] = "InvalidCommentToken", e[e.UnexpectedEndOfComment = 11] = "UnexpectedEndOfComment", e[e.UnexpectedEndOfString = 12] = "UnexpectedEndOfString", e[e.UnexpectedEndOfNumber = 13] = "UnexpectedEndOfNumber", e[e.InvalidUnicode = 14] = "InvalidUnicode", e[e.InvalidEscapeCharacter = 15] = "InvalidEscapeCharacter", e[e.InvalidCharacter = 16] = "InvalidCharacter" }(O4 || (O4 = {})), function (e) { e.DEFAULT = { allowTrailingComma: !0 } }(oc || (oc = {})), function (e) { e[e.nullCharacter = 0] = "nullCharacter", e[e.maxAsciiCharacter = 127] = "maxAsciiCharacter", e[e.lineFeed = 10] = "lineFeed", e[e.carriageReturn = 13] = "carriageReturn", e[e.lineSeparator = 8232] = "lineSeparator", e[e.paragraphSeparator = 8233] = "paragraphSeparator", e[e.nextLine = 133] = "nextLine", e[e.space = 32] = "space", e[e.nonBreakingSpace = 160] = "nonBreakingSpace", e[e.enQuad = 8192] = "enQuad", e[e.emQuad = 8193] = "emQuad", e[e.enSpace = 8194] = "enSpace", e[e.emSpace = 8195] = "emSpace", e[e.threePerEmSpace = 8196] = "threePerEmSpace", e[e.fourPerEmSpace = 8197] = "fourPerEmSpace", e[e.sixPerEmSpace = 8198] = "sixPerEmSpace", e[e.figureSpace = 8199] = "figureSpace", e[e.punctuationSpace = 8200] = "punctuationSpace", e[e.thinSpace = 8201] = "thinSpace", e[e.hairSpace = 8202] = "hairSpace", e[e.zeroWidthSpace = 8203] = "zeroWidthSpace", e[e.narrowNoBreakSpace = 8239] = "narrowNoBreakSpace", e[e.ideographicSpace = 12288] = "ideographicSpace", e[e.mathematicalSpace = 8287] = "mathematicalSpace", e[e.ogham = 5760] = "ogham", e[e._ = 95] = "_", e[e.$ = 36] = "$", e[e._0 = 48] = "_0", e[e._1 = 49] = "_1", e[e._2 = 50] = "_2", e[e._3 = 51] = "_3", e[e._4 = 52] = "_4", e[e._5 = 53] = "_5", e[e._6 = 54] = "_6", e[e._7 = 55] = "_7", e[e._8 = 56] = "_8", e[e._9 = 57] = "_9", e[e.a = 97] = "a", e[e.b = 98] = "b", e[e.c = 99] = "c", e[e.d = 100] = "d", e[e.e = 101] = "e", e[e.f = 102] = "f", e[e.g = 103] = "g", e[e.h = 104] = "h", e[e.i = 105] = "i", e[e.j = 106] = "j", e[e.k = 107] = "k", e[e.l = 108] = "l", e[e.m = 109] = "m", e[e.n = 110] = "n", e[e.o = 111] = "o", e[e.p = 112] = "p", e[e.q = 113] = "q", e[e.r = 114] = "r", e[e.s = 115] = "s", e[e.t = 116] = "t", e[e.u = 117] = "u", e[e.v = 118] = "v", e[e.w = 119] = "w", e[e.x = 120] = "x", e[e.y = 121] = "y", e[e.z = 122] = "z", e[e.A = 65] = "A", e[e.B = 66] = "B", e[e.C = 67] = "C", e[e.D = 68] = "D", e[e.E = 69] = "E", e[e.F = 70] = "F", e[e.G = 71] = "G", e[e.H = 72] = "H", e[e.I = 73] = "I", e[e.J = 74] = "J", e[e.K = 75] = "K", e[e.L = 76] = "L", e[e.M = 77] = "M", e[e.N = 78] = "N", e[e.O = 79] = "O", e[e.P = 80] = "P", e[e.Q = 81] = "Q", e[e.R = 82] = "R", e[e.S = 83] = "S", e[e.T = 84] = "T", e[e.U = 85] = "U", e[e.V = 86] = "V", e[e.W = 87] = "W", e[e.X = 88] = "X", e[e.Y = 89] = "Y", e[e.Z = 90] = "Z", e[e.ampersand = 38] = "ampersand", e[e.asterisk = 42] = "asterisk", e[e.at = 64] = "at", e[e.backslash = 92] = "backslash", e[e.bar = 124] = "bar", e[e.caret = 94] = "caret", e[e.closeBrace = 125] = "closeBrace", e[e.closeBracket = 93] = "closeBracket", e[e.closeParen = 41] = "closeParen", e[e.colon = 58] = "colon", e[e.comma = 44] = "comma", e[e.dot = 46] = "dot", e[e.doubleQuote = 34] = "doubleQuote", e[e.equals = 61] = "equals", e[e.exclamation = 33] = "exclamation", e[e.greaterThan = 62] = "greaterThan", e[e.lessThan = 60] = "lessThan", e[e.minus = 45] = "minus", e[e.openBrace = 123] = "openBrace", e[e.openBracket = 91] = "openBracket", e[e.openParen = 40] = "openParen", e[e.percent = 37] = "percent", e[e.plus = 43] = "plus", e[e.question = 63] = "question", e[e.semicolon = 59] = "semicolon", e[e.singleQuote = 39] = "singleQuote", e[e.slash = 47] = "slash", e[e.tilde = 126] = "tilde", e[e.backspace = 8] = "backspace", e[e.formFeed = 12] = "formFeed", e[e.byteOrderMark = 65279] = "byteOrderMark", e[e.tab = 9] = "tab", e[e.verticalTab = 11] = "verticalTab" }(C4 || (C4 = {})) } }); function jD(e, t, s) { let i, n, r, o, a; if (t) { for (o = t.offset, a = o + t.length, r = o; r > 0 && !Uu(e, r - 1);)r--; let A = a; for (; A < e.length && !Uu(e, A);)A++; n = e.substring(r, A), i = TD(n, s) } else n = e, i = 0, r = 0, o = 0, a = e.length; const c = UD(s, e); let l = !1, u = 0, h; s.insertSpaces ? h = Ap(" ", s.tabSize || 4) : h = " "; const d = D4(n, !1); let p = !1; function g() { return c + Ap(h, i + u) } function w() { let A = d.scan(); for (l = !1; A === 15 || A === 14;)l = l || A === 14, A = d.scan(); return p = A === 16 || d.getTokenError() !== 0, A } const y = []; function x(A, I, L) { !p && I < a && L > o && e.substring(I, L) !== A && y.push({ offset: I, length: L - I, content: A }) } let k = w(); if (k !== 17) { const A = d.getTokenOffset() + r, I = Ap(h, i); x(I, r, A) } for (; k !== 17;) { let A = d.getTokenOffset() + d.getTokenLength() + r, I = w(), L = ""; for (; !l && (I === 12 || I === 13);) { const te = d.getTokenOffset() + r; x(" ", A, te), A = d.getTokenOffset() + d.getTokenLength() + r, L = I === 12 ? g() : "", I = w() } if (I === 2) k !== 1 && (u--, L = g()); else if (I === 4) k !== 3 && (u--, L = g()); else { switch (k) { case 3: case 1: u++, L = g(); break; case 5: case 12: L = g(); break; case 13: l ? L = g() : L = " "; break; case 6: L = " "; break; case 10: if (I === 6) { L = ""; break } case 7: case 8: case 9: case 11: case 2: case 4: I === 12 || I === 13 ? L = " " : I !== 5 && I !== 17 && (p = !0); break; case 16: p = !0; break }l && (I === 12 || I === 13) && (L = g()) } const q = d.getTokenOffset() + r; x(L, A, q), k = I } return y } function Ap(e, t) { let s = ""; for (let i = 0; i < t; i++)s += e; return s } function TD(e, t) { let s = 0, i = 0; const n = t.tabSize || 4; for (; s < e.length;) { const r = e.charAt(s); if (r === " ") i++; else if (r === " ") i += n; else break; s++ } return Math.floor(i / n) } function UD(e, t) {
  102. for (let s = 0; s < t.length; s++) {
  103. const i = t.charAt(s); if (i === "\r") return s + 1 < t.length && t.charAt(s + 1) === `
  104. `? `\r
  105. `: "\r"; if (i === `
  106. `) return `
  107. `} return e && e.eol || `
  108. `} function Uu(e, t) {
  109. return `\r
  110. `.indexOf(e.charAt(t)) !== -1
  111. } var MD = v({ "out-build/vs/base/common/jsonFormatter.js"() { "use strict"; Ir() } }); function FD(e, t, s, i, n) { const r = t.slice(), a = _D(e, []); let c, l; for (; r.length > 0 && (l = r.pop(), c = R4(a, r), c === void 0 && s !== void 0);)typeof l == "string" ? s = { [l]: s } : s = [s]; if (c) if (c.type === "object" && typeof l == "string" && Array.isArray(c.children)) { const u = R4(c, [l]); if (u !== void 0) if (s === void 0) { if (!u.parent) throw new Error("Malformed AST"); const h = c.children.indexOf(u.parent); let d, p = u.parent.offset + u.parent.length; if (h > 0) { const g = c.children[h - 1]; d = g.offset + g.length } else d = c.offset + 1, c.children.length > 1 && (p = c.children[1].offset); return ko(e, { offset: d, length: p - d, content: "" }, i) } else return ko(e, { offset: u.offset, length: u.length, content: JSON.stringify(s) }, i); else { if (s === void 0) return []; const h = `${JSON.stringify(l)}: ${JSON.stringify(s)}`, d = n ? n(c.children.map(g => g.children[0].value)) : c.children.length; let p; if (d > 0) { const g = c.children[d - 1]; p = { offset: g.offset + g.length, length: 0, content: "," + h } } else c.children.length === 0 ? p = { offset: c.offset + 1, length: 0, content: h } : p = { offset: c.offset + 1, length: 0, content: h + "," }; return ko(e, p, i) } } else if (c.type === "array" && typeof l == "number" && Array.isArray(c.children)) if (s !== void 0) { const u = `${JSON.stringify(s)}`; let h; if (c.children.length === 0 || l === 0) h = { offset: c.offset + 1, length: 0, content: c.children.length === 0 ? u : u + "," }; else { const d = l === -1 || l > c.children.length ? c.children.length : l, p = c.children[d - 1]; h = { offset: p.offset + p.length, length: 0, content: "," + u } } return ko(e, h, i) } else { const u = l, h = c.children[u]; let d; if (c.children.length === 1) d = { offset: c.offset + 1, length: c.length - 2, content: "" }; else if (c.children.length - 1 === u) { const p = c.children[u - 1], g = p.offset + p.length, w = c.offset + c.length; d = { offset: g, length: w - 2 - g, content: "" } } else d = { offset: h.offset, length: c.children[u + 1].offset - h.offset, content: "" }; return ko(e, d, i) } else throw new Error(`Can not add ${typeof l != "number" ? "index" : "property"} to parent of type ${c.type}`); else return s === void 0 ? [] : ko(e, { offset: a ? a.offset : 0, length: a ? a.length : 0, content: JSON.stringify(s) }, i) } function ko(e, t, s) { let i = Dp(e, t), n = t.offset, r = t.offset + t.content.length; if (t.length === 0 || t.content.length === 0) { for (; n > 0 && !Uu(i, n - 1);)n--; for (; r < i.length && !Uu(i, r);)r++ } const o = jD(i, { offset: n, length: r - n }, s); for (let c = o.length - 1; c >= 0; c--) { const l = o[c]; i = Dp(i, l), n = Math.min(n, l.offset), r = Math.max(r, l.offset + l.length), r += l.content.length - l.length } const a = e.length - (i.length - r) - n; return [{ offset: n, length: a, content: i.substring(n, r) }] } function Dp(e, t) { return e.substring(0, t.offset) + t.content + e.substring(t.offset + t.length) } function BD(e, t) { const s = t.slice(0).sort((n, r) => { const o = n.offset - r.offset; return o === 0 ? n.length - r.length : o }); let i = e.length; for (let n = s.length - 1; n >= 0; n--) { const r = s[n]; if (r.offset + r.length <= i) e = Dp(e, r); else throw new Error("Overlapping edit"); i = r.offset } return e } var HD = v({ "out-build/vs/base/common/jsonEdit.js"() { "use strict"; Ir(), MD() } }); function ln(e) { if (!e || typeof e != "object" || e instanceof RegExp) return e; const t = Array.isArray(e) ? [] : {}; return Object.entries(e).forEach(([s, i]) => { t[s] = i && typeof i == "object" ? ln(i) : i }), t } function zD(e) { if (!e || typeof e != "object") return e; const t = [e]; for (; t.length > 0;) { const s = t.shift(); Object.freeze(s); for (const i in s) if (Np.call(s, i)) { const n = s[i]; typeof n == "object" && !Object.isFrozen(n) && !GA(n) && t.push(n) } } return e } function un(e, t) { return Rp(e, t, new Set) } function Rp(e, t, s) { if (xt(e)) return e; const i = t(e); if (typeof i < "u") return i; if (Array.isArray(e)) { const n = []; for (const r of e) n.push(Rp(r, t, s)); return n } if (ct(e)) { if (s.has(e)) throw new Error("Cannot clone recursive data-structure"); s.add(e); const n = {}; for (const r in e) Np.call(e, r) && (n[r] = Rp(e[r], t, s)); return s.delete(e), n } return e } function $o(e, t, s = !0) { return ct(e) ? (ct(t) && Object.keys(t).forEach(i => { i in e ? s && (ct(e[i]) && ct(t[i]) ? $o(e[i], t[i], s) : e[i] = t[i]) : e[i] = t[i] }), e) : t } function $i(e, t) { if (e === t) return !0; if (e == null || t === null || t === void 0 || typeof e != typeof t || typeof e != "object" || Array.isArray(e) !== Array.isArray(t)) return !1; let s, i; if (Array.isArray(e)) { if (e.length !== t.length) return !1; for (s = 0; s < e.length; s++)if (!$i(e[s], t[s])) return !1 } else { const n = []; for (i in e) n.push(i); n.sort(); const r = []; for (i in t) r.push(i); if (r.sort(), !$i(n, r)) return !1; for (s = 0; s < n.length; s++)if (!$i(e[n[s]], t[n[s]])) return !1 } return !0 } function Lp(e) { const t = new Set; return JSON.stringify(e, (s, i) => { if (ct(i) || Array.isArray(i)) { if (t.has(i)) return "[Circular]"; t.add(i) } return typeof i == "bigint" ? `[BigInt ${i.toString()}]` : i }) } function VD(e, t) { const s = t.toLowerCase(), i = Object.keys(e).find(n => n.toLowerCase() === s); return i ? e[i] : e[t] } var Np, es = v({ "out-build/vs/base/common/objects.js"() { "use strict"; $e(), Np = Object.prototype.hasOwnProperty } }); function Op(e) { return e && typeof e == "object" && (!e.overrideIdentifier || typeof e.overrideIdentifier == "string") && (!e.resource || e.resource instanceof E) } function WD(e) { return e && typeof e == "object" && (!e.overrideIdentifiers || Array.isArray(e.overrideIdentifiers)) && !e.overrideIdentifier && (!e.resource || e.resource instanceof E) } function Cp(e, t) { const s = Object.create(null); for (const i in e) _4(s, i, e[i], t); return s } function _4(e, t, s, i) { const n = t.split("."), r = n.pop(); let o = e; for (let a = 0; a < n.length; a++) { const c = n[a]; let l = o[c]; switch (typeof l) { case "undefined": l = o[c] = Object.create(null); break; case "object": if (l === null) { i(`Ignoring ${t} as ${n.slice(0, a + 1).join(".")} is null`); return } break; default: i(`Ignoring ${t} as ${n.slice(0, a + 1).join(".")} is ${JSON.stringify(l)}`); return }o = l } if (typeof o == "object" && o !== null) try { o[r] = s } catch { i(`Ignoring ${t} as ${n.join(".")} is ${JSON.stringify(o)}`) } else i(`Ignoring ${t} as ${n.join(".")} is ${JSON.stringify(o)}`) } function qD(e, t) { const s = t.split("."); j4(e, s) } function j4(e, t) { const s = t.shift(); if (t.length === 0) { delete e[s]; return } if (Object.keys(e).indexOf(s) !== -1) { const i = e[s]; typeof i == "object" && !Array.isArray(i) && (j4(i, t), Object.keys(i).length === 0 && delete e[s]) } } function Mu(e, t, s) { function i(o, a) { let c = o; for (const l of a) { if (typeof c != "object" || c === null) return; c = c[l] } return c } const n = t.split("."), r = i(e, n); return typeof r > "u" ? s : r } function GD(e) { return e.replace(/[\[\]]/g, "") } var ts, T4, ds = v({ "out-build/vs/platform/configuration/common/configuration.js"() { "use strict"; $e(), ee(), oe(), ts = se("configurationService"), function (e) { e[e.APPLICATION = 1] = "APPLICATION", e[e.USER = 2] = "USER", e[e.USER_LOCAL = 3] = "USER_LOCAL", e[e.USER_REMOTE = 4] = "USER_REMOTE", e[e.WORKSPACE = 5] = "WORKSPACE", e[e.WORKSPACE_FOLDER = 6] = "WORKSPACE_FOLDER", e[e.DEFAULT = 7] = "DEFAULT", e[e.MEMORY = 8] = "MEMORY" }(T4 || (T4 = {})) } }); function JD(e) { let t = !1; const s = new Map, i = new Map; if (YD(e, u => { if (e === u) return !0; const h = JSON.stringify(u); if (h.length < 30) return !0; const d = s.get(h); if (!d) { const p = { schemas: [u] }; return s.set(h, p), i.set(u, p), !0 } return d.schemas.push(u), i.set(u, d), t = !0, !1 }), s.clear(), !t) return JSON.stringify(e); let r = "$defs"; for (; e.hasOwnProperty(r);)r += "_"; const o = []; function a(u) { return JSON.stringify(u, (h, d) => { if (d !== u) { const p = i.get(d); if (p && p.schemas.length > 1) return p.id || (p.id = `_${o.length}`, o.push(p.schemas[0])), { $ref: `#/${r}/${p.id}` } } return d }) } const c = a(e), l = []; for (let u = 0; u < o.length; u++)l.push(`"_${u}":${a(o[u])}`); return l.length ? `${c.substring(0, c.length - 1)},"${r}":{${l.join(",")}}}` : c } function So(e) { return typeof e == "object" && e !== null } function YD(e, t) { if (!e || typeof e != "object") return; const s = (...c) => { for (const l of c) So(l) && o.push(l) }, i = (...c) => { for (const l of c) if (So(l)) for (const u in l) { const h = l[u]; So(h) && o.push(h) } }, n = (...c) => { for (const l of c) if (Array.isArray(l)) for (const u of l) So(u) && o.push(u) }, r = c => { if (Array.isArray(c)) for (const l of c) So(l) && o.push(l); else So(c) && o.push(c) }, o = [e]; let a = o.pop(); for (; a;)t(a) && (s(a.additionalItems, a.additionalProperties, a.not, a.contains, a.propertyNames, a.if, a.then, a.else, a.unevaluatedItems, a.unevaluatedProperties), i(a.definitions, a.$defs, a.properties, a.patternProperties, a.dependencies, a.dependentSchemas), n(a.anyOf, a.allOf, a.oneOf, a.prefixItems), r(a.items)), a = o.pop() } var XD = v({ "out-build/vs/base/common/jsonSchema.js"() { "use strict" } }); function _p(e, t) { if (!e) throw new Error(t ? `Assertion failed (${t})` : "Assertion Failed") } function U4(e) { if (!e()) { debugger; e(), Vt(new to("Assertion Failed")) } } var jp = v({ "out-build/vs/base/common/assert.js"() { "use strict"; fe() } }), M4, Mt, hn = v({ "out-build/vs/platform/registry/common/platform.js"() { "use strict"; jp(), $e(), M4 = class { constructor() { this.a = new Map } add(e, t) { _p(ve(e)), _p(ct(t)), _p(!this.a.has(e), "There is already an extension with this id"), this.a.set(e, t) } knows(e) { return this.a.has(e) } as(e) { return this.a.get(e) || null } }, Mt = new M4 } }); function QD(e) { return e.length > 0 && e.charAt(e.length - 1) === "#" ? e.substring(0, e.length - 1) : e } var Tp, F4, B4, ZD = v({ "out-build/vs/platform/jsonschemas/common/jsonContributionRegistry.js"() { "use strict"; re(), XD(), hn(), Tp = { JSONContribution: "base.contributions.json" }, F4 = class { constructor() { this.b = new D, this.onDidChangeSchema = this.b.event, this.a = {} } registerSchema(e, t) { this.a[QD(e)] = t, this.b.fire(e) } notifySchemaChanged(e) { this.b.fire(e) } getSchemaContributions() { return { schemas: this.a } } getSchemaContent(e) { const t = this.a[e]; return t ? JD(t) : void 0 } hasSchemaContent(e) { return !!this.a[e] } }, B4 = new F4, Mt.add(Tp.JSONContribution, B4) } }); function ac(e) { const t = []; if (Si.test(e)) { let s = Mp.exec(e); for (; s?.length;) { const i = s[1].trim(); i && t.push(i), s = Mp.exec(e) } } return Qi(t) } function KD(e) { return e.reduce((t, s) => `${t}[${s}]`, "") } function eR(e) { switch (Array.isArray(e) ? e[0] : e) { case "boolean": return !1; case "integer": case "number": return 0; case "string": return ""; case "array": return []; case "object": return {}; default: return null } } function tR(e, t) { return e.trim() ? Si.test(e) ? m(1700, null, e) : pc.getConfigurationProperties()[e] !== void 0 ? m(1701, null, e) : t.policy?.name && pc.getPolicyConfigurations().get(t.policy?.name) !== void 0 ? m(1702, null, e, t.policy?.name, pc.getPolicyConfigurations().get(t.policy?.name)) : null : m(1699, null) } var H4, Ps, z4, cc, lc, uc, hc, fc, Po, Un, dc, V4, Up, Mp, Mn, Si, pc, Io = v({ "out-build/vs/platform/configuration/common/configurationRegistry.js"() { "use strict"; Et(), re(), $e(), he(), ds(), ZD(), hn(), function (e) { e.Multiline = "multilineText", e.Singleline = "singlelineText" }(H4 || (H4 = {})), Ps = { Configuration: "base.contributions.configuration" }, function (e) { e[e.APPLICATION = 1] = "APPLICATION", e[e.MACHINE = 2] = "MACHINE", e[e.WINDOW = 3] = "WINDOW", e[e.RESOURCE = 4] = "RESOURCE", e[e.LANGUAGE_OVERRIDABLE = 5] = "LANGUAGE_OVERRIDABLE", e[e.MACHINE_OVERRIDABLE = 6] = "MACHINE_OVERRIDABLE" }(z4 || (z4 = {})), cc = { properties: {}, patternProperties: {} }, lc = { properties: {}, patternProperties: {} }, uc = { properties: {}, patternProperties: {} }, hc = { properties: {}, patternProperties: {} }, fc = { properties: {}, patternProperties: {} }, Po = { properties: {}, patternProperties: {} }, Un = "vscode://schemas/settings/resourceLanguage", dc = Mt.as(Tp.JSONContribution), V4 = class { constructor() { this.a = [], this.i = new Set, this.j = new D, this.onDidSchemaChange = this.j.event, this.k = new D, this.onDidUpdateConfiguration = this.k.event, this.b = new Map, this.c = { id: "defaultOverrides", title: m(1693, null), properties: {} }, this.d = [this.c], this.h = { properties: {}, patternProperties: {}, additionalProperties: !0, allowTrailingCommas: !0, allowComments: !0 }, this.e = {}, this.f = new Map, this.g = {}, dc.registerSchema(Un, this.h), this.z() } registerConfiguration(e, t = !0) { this.registerConfigurations([e], t) } registerConfigurations(e, t = !0) { const s = new Set; this.r(e, t, s), dc.registerSchema(Un, this.h), this.j.fire(), this.k.fire({ properties: s }) } deregisterConfigurations(e) { const t = new Set; this.s(e, t), dc.registerSchema(Un, this.h), this.j.fire(), this.k.fire({ properties: t }) } updateConfigurations({ add: e, remove: t }) { const s = new Set; this.s(t, s), this.r(e, !1, s), dc.registerSchema(Un, this.h), this.j.fire(), this.k.fire({ properties: s }) } registerDefaultConfigurations(e) { const t = new Set; this.l(e, t), this.j.fire(), this.k.fire({ properties: t, defaultsOverrides: !0 }) } l(e, t) { this.a.push(...e); const s = []; for (const { overrides: i, source: n } of e) for (const r in i) { t.add(r); const o = this.b.get(r) ?? this.b.set(r, { configurationDefaultOverrides: [] }).get(r), a = i[r]; if (o.configurationDefaultOverrides.push({ value: a, source: n }), Si.test(r)) { const c = this.o(r, a, n, o.configurationDefaultOverrideValue); if (!c) continue; o.configurationDefaultOverrideValue = c, this.n(r, c, n), s.push(...ac(r)) } else { const c = this.p(r, a, n, o.configurationDefaultOverrideValue); if (!c) continue; o.configurationDefaultOverrideValue = c; const l = this.e[r]; l && (this.A(r, l), this.w(r, l)) } } this.q(s) } deregisterDefaultConfigurations(e) { const t = new Set; this.m(e, t), this.j.fire(), this.k.fire({ properties: t, defaultsOverrides: !0 }) } m(e, t) { for (const s of e) { const i = this.a.indexOf(s); i !== -1 && this.a.splice(i, 1) } for (const { overrides: s, source: i } of e) for (const n in s) { const r = this.b.get(n); if (!r) continue; const o = r.configurationDefaultOverrides.findIndex(a => i ? a.source?.id === i.id : a.value === s[n]); if (o !== -1) { if (r.configurationDefaultOverrides.splice(o, 1), r.configurationDefaultOverrides.length === 0 && this.b.delete(n), Si.test(n)) { let a; for (const c of r.configurationDefaultOverrides) a = this.o(n, c.value, c.source, a); a && !$u(a.value) ? (r.configurationDefaultOverrideValue = a, this.n(n, a, i)) : (this.b.delete(n), delete this.e[n], delete this.c.properties[n]) } else { let a; for (const l of r.configurationDefaultOverrides) a = this.p(n, l.value, l.source, a); r.configurationDefaultOverrideValue = a; const c = this.e[n]; c && (this.A(n, c), this.w(n, c)) } t.add(n) } } this.y() } n(e, t, s) { const i = { type: "object", default: t.value, description: m(1694, null, GD(e)), $ref: Un, defaultDefaultValue: t.value, source: s, defaultValueSource: s }; this.e[e] = i, this.c.properties[e] = i } o(e, t, s, i) { const n = i?.value || {}, r = i?.source ?? new Map; if (!(r instanceof Map)) { console.error("objectConfigurationSources is not a Map"); return } for (const o of Object.keys(t)) { const a = t[o]; if (ct(a) && (ni(n[o]) || ct(n[o]))) { if (n[o] = { ...n[o] ?? {}, ...a }, s) for (const l in a) r.set(`${o}.${l}`, s) } else n[o] = a, s ? r.set(o, s) : r.delete(o) } return { value: n, source: r } } p(e, t, s, i) { const n = this.e[e], r = i?.value ?? n?.defaultDefaultValue; let o = s; if (ct(t) && (n !== void 0 && n.type === "object" || n === void 0 && (ni(r) || ct(r)))) { if (o = i?.source ?? new Map, !(o instanceof Map)) { console.error("defaultValueSource is not a Map"); return } for (const c in t) s && o.set(`${e}.${c}`, s); t = { ...ct(r) ? r : {}, ...t } } return { value: t, source: o } } deltaConfiguration(e) { let t = !1; const s = new Set; e.removedDefaults && (this.m(e.removedDefaults, s), t = !0), e.addedDefaults && (this.l(e.addedDefaults, s), t = !0), e.removedConfigurations && this.s(e.removedConfigurations, s), e.addedConfigurations && this.r(e.addedConfigurations, !1, s), this.j.fire(), this.k.fire({ properties: s, defaultsOverrides: t }) } notifyConfigurationSchemaUpdated(...e) { this.j.fire() } registerOverrideIdentifiers(e) { this.q(e), this.j.fire() } q(e) { for (const t of e) this.i.add(t); this.y() } r(e, t, s) { e.forEach(i => { this.u(i, t, i.extensionInfo, i.restrictedProperties, void 0, s), this.d.push(i), this.v(i) }) } s(e, t) { const s = i => { if (i.properties) for (const n in i.properties) { t.add(n); const r = this.e[n]; r?.policy?.name && this.f.delete(r.policy.name), delete this.e[n], this.x(n, i.properties[n]) } i.allOf?.forEach(n => s(n)) }; for (const i of e) { s(i); const n = this.d.indexOf(i); n !== -1 && this.d.splice(n, 1) } } u(e, t = !0, s, i, n = 3, r) { n = xt(e.scope) ? n : e.scope; const o = e.properties; if (o) for (const c in o) { const l = o[c]; if (t && tR(c, l)) { delete o[c]; continue } if (l.source = s, l.defaultDefaultValue = o[c].default, this.A(c, l), Si.test(c) ? l.scope = void 0 : (l.scope = xt(l.scope) ? n : l.scope, l.restricted = xt(l.restricted) ? !!i?.includes(c) : l.restricted), o[c].hasOwnProperty("included") && !o[c].included) { this.g[c] = o[c], delete o[c]; continue } else this.e[c] = o[c], o[c].policy?.name && this.f.set(o[c].policy.name, c); !o[c].deprecationMessage && o[c].markdownDeprecationMessage && (o[c].deprecationMessage = o[c].markdownDeprecationMessage), r.add(c) } const a = e.allOf; if (a) for (const c of a) this.u(c, t, s, i, n, r) } getConfigurations() { return this.d } getConfigurationProperties() { return this.e } getPolicyConfigurations() { return this.f } getExcludedConfigurationProperties() { return this.g } getRegisteredDefaultConfigurations() { return [...this.a] } getConfigurationDefaultsOverrides() { const e = new Map; for (const [t, s] of this.b) s.configurationDefaultOverrideValue && e.set(t, s.configurationDefaultOverrideValue); return e } v(e) { const t = s => { const i = s.properties; if (i) for (const r in i) this.w(r, i[r]); s.allOf?.forEach(t) }; t(e) } w(e, t) { switch (cc.properties[e] = t, t.scope) { case 1: lc.properties[e] = t; break; case 2: uc.properties[e] = t; break; case 6: hc.properties[e] = t; break; case 3: fc.properties[e] = t; break; case 4: Po.properties[e] = t; break; case 5: Po.properties[e] = t, this.h.properties[e] = t; break } } x(e, t) { switch (delete cc.properties[e], t.scope) { case 1: delete lc.properties[e]; break; case 2: delete uc.properties[e]; break; case 6: delete hc.properties[e]; break; case 3: delete fc.properties[e]; break; case 4: case 5: delete Po.properties[e], delete this.h.properties[e]; break } } y() { for (const e of this.i.values()) { const t = `[${e}]`, s = { type: "object", description: m(1695, null), errorMessage: m(1696, null), $ref: Un }; this.A(t, s), cc.properties[t] = s, lc.properties[t] = s, uc.properties[t] = s, hc.properties[t] = s, fc.properties[t] = s, Po.properties[t] = s } } z() { const e = { type: "object", description: m(1697, null), errorMessage: m(1698, null), $ref: Un }; cc.patternProperties[Mn] = e, lc.patternProperties[Mn] = e, uc.patternProperties[Mn] = e, hc.patternProperties[Mn] = e, fc.patternProperties[Mn] = e, Po.patternProperties[Mn] = e, this.j.fire() } A(e, t) { const s = this.b.get(e)?.configurationDefaultOverrideValue; let i, n; s && (!t.disallowConfigurationDefault || !s.source) && (i = s.value, n = s.source), ni(i) && (i = t.defaultDefaultValue, n = void 0), ni(i) && (i = eR(t.type)), t.default = i, t.defaultValueSource = n } }, Up = "\\[([^\\]]+)\\]", Mp = new RegExp(Up, "g"), Mn = `^(${Up})+$`, Si = new RegExp(Mn), pc = new V4, Mt.add(Ps.Configuration, pc) } }); function mc(e) { return Object.isFrozen(e) ? e : zD(e) } function Fn(e, t) { const { added: s, removed: i, updated: n } = W4(t?.rawConfiguration, e?.rawConfiguration), r = [], o = e?.getAllOverrideIdentifiers() || [], a = t?.getAllOverrideIdentifiers() || []; if (t) { const c = a.filter(l => !o.includes(l)); for (const l of c) r.push([l, t.getKeysForOverrideIdentifier(l)]) } if (e) { const c = o.filter(l => !a.includes(l)); for (const l of c) r.push([l, e.getKeysForOverrideIdentifier(l)]) } if (t && e) { for (const c of o) if (a.includes(c)) { const l = W4({ contents: e.getOverrideValue(void 0, c) || {}, keys: e.getKeysForOverrideIdentifier(c) }, { contents: t.getOverrideValue(void 0, c) || {}, keys: t.getKeysForOverrideIdentifier(c) }); r.push([c, [...l.added, ...l.removed, ...l.updated]]) } } return { added: s, removed: i, updated: n, overrides: r } } function W4(e, t) { const s = e ? t ? e.keys.filter(r => t.keys.indexOf(r) === -1) : [...e.keys] : [], i = t ? e ? t.keys.filter(r => e.keys.indexOf(r) === -1) : [...t.keys] : [], n = []; if (e && t) { for (const r of t.keys) if (e.keys.indexOf(r) !== -1) { const o = Mu(t.contents, r), a = Mu(e.contents, r); $i(o, a) || n.push(r) } } return { added: s, removed: i, updated: n } } var mt, Fp, q4, G4, Fu, J4, Y4 = v({
  112. "out-build/vs/platform/configuration/common/configurationModels.js"() {
  113. "use strict"; Et(), re(), Ir(), z(), ls(), es(), $e(), ee(), ds(), Io(), hn(), mt = class Qr { static createEmptyModel(t) { return new Qr({}, [], [], void 0, t) } constructor(t, s, i, n, r) { this.b = t, this.c = s, this.d = i, this.raw = n, this.f = r, this.a = new Map } get rawConfiguration() { if (!this.g) if (this.raw?.length) { const t = this.raw.map(s => { if (s instanceof Qr) return s; const i = new Fp("", this.f); return i.parseRaw(s), i.configurationModel }); this.g = t.reduce((s, i) => i === s ? i : s.merge(i), t[0]) } else this.g = this; return this.g } get contents() { return this.b } get overrides() { return this.d } get keys() { return this.c } isEmpty() { return this.c.length === 0 && Object.keys(this.b).length === 0 && this.d.length === 0 } getValue(t) { return t ? Mu(this.contents, t) : this.contents } inspect(t, s) { const i = this; return { get value() { return mc(i.rawConfiguration.getValue(t)) }, get override() { return s ? mc(i.rawConfiguration.getOverrideValue(t, s)) : void 0 }, get merged() { return mc(s ? i.rawConfiguration.override(s).getValue(t) : i.rawConfiguration.getValue(t)) }, get overrides() { const n = []; for (const { contents: r, identifiers: o, keys: a } of i.rawConfiguration.overrides) { const c = new Qr(r, a, [], void 0, i.f).getValue(t); c !== void 0 && n.push({ identifiers: o, value: c }) } return n.length ? mc(n) : void 0 } } } getOverrideValue(t, s) { const i = this.j(s); return i ? t ? Mu(i, t) : i : void 0 } getKeysForOverrideIdentifier(t) { const s = []; for (const i of this.overrides) i.identifiers.includes(t) && s.push(...i.keys); return Qi(s) } getAllOverrideIdentifiers() { const t = []; for (const s of this.overrides) t.push(...s.identifiers); return Qi(t) } override(t) { let s = this.a.get(t); return s || (s = this.h(t), this.a.set(t, s)), s } merge(...t) { const s = ln(this.contents), i = ln(this.overrides), n = [...this.keys], r = this.raw?.length ? [...this.raw] : [this]; for (const o of t) if (r.push(...o.raw?.length ? o.raw : [o]), !o.isEmpty()) { this.i(s, o.contents); for (const a of o.overrides) { const [c] = i.filter(l => Dn(l.identifiers, a.identifiers)); c ? (this.i(c.contents, a.contents), c.keys.push(...a.keys), c.keys = Qi(c.keys)) : i.push(ln(a)) } for (const a of o.keys) n.indexOf(a) === -1 && n.push(a) } return new Qr(s, n, i, r.every(o => o instanceof Qr) ? void 0 : r, this.f) } h(t) { const s = this.j(t); if (!s || typeof s != "object" || !Object.keys(s).length) return this; const i = {}; for (const n of Qi([...Object.keys(this.contents), ...Object.keys(s)])) { let r = this.contents[n]; const o = s[n]; o && (typeof r == "object" && typeof o == "object" ? (r = ln(r), this.i(r, o)) : r = o), i[n] = r } return new Qr(i, this.keys, this.overrides, void 0, this.f) } i(t, s) { for (const i of Object.keys(s)) { if (i in t && ct(t[i]) && ct(s[i])) { this.i(t[i], s[i]); continue } t[i] = ln(s[i]) } } j(t) { let s = null, i = null; const n = r => { r && (i ? this.i(i, r) : i = ln(r)) }; for (const r of this.overrides) r.identifiers.length === 1 && r.identifiers[0] === t ? s = r.contents : r.identifiers.includes(t) && n(r.contents); return n(s), i } toJSON() { return { contents: this.contents, overrides: this.overrides, keys: this.keys } } addValue(t, s) { this.k(t, s, !0) } setValue(t, s) { this.k(t, s, !1) } removeValue(t) { const s = this.keys.indexOf(t); s !== -1 && (this.keys.splice(s, 1), qD(this.contents, t), Si.test(t) && this.overrides.splice(this.overrides.findIndex(i => Dn(i.identifiers, ac(t))), 1)) } k(t, s, i) { if (_4(this.contents, t, s, n => this.f.error(n)), i = i || this.keys.indexOf(t) === -1, i && this.keys.push(t), Si.test(t)) { const n = ac(t), r = { identifiers: n, keys: Object.keys(this.contents[t]), contents: Cp(this.contents[t], a => this.f.error(a)) }, o = this.overrides.findIndex(a => Dn(a.identifiers, n)); o !== -1 ? this.overrides[o] = r : this.overrides.push(r) } } }, Fp = class { constructor(e, t) { this.f = e, this.g = t, this.a = null, this.b = null, this.c = [], this.d = [] } get configurationModel() { return this.b || mt.createEmptyModel(this.g) } get restrictedConfigurations() { return this.c } get errors() { return this.d } parse(e, t) { if (!xt(e)) { const s = this.h(e); this.parseRaw(s, t) } } reparse(e) { this.a && this.parseRaw(this.a, e) } parseRaw(e, t) { this.a = e; const { contents: s, keys: i, overrides: n, restricted: r, hasExcludedProperties: o } = this.i(e, t); this.b = new mt(s, i, n, o ? [e] : void 0, this.g), this.c = r || [] } h(e) { let t = {}, s = null, i = []; const n = [], r = []; function o(c) { Array.isArray(i) ? i.push(c) : s !== null && (i[s] = c) } const a = { onObjectBegin: () => { const c = {}; o(c), n.push(i), i = c, s = null }, onObjectProperty: c => { s = c }, onObjectEnd: () => { i = n.pop() }, onArrayBegin: () => { const c = []; o(c), n.push(i), i = c, s = null }, onArrayEnd: () => { i = n.pop() }, onLiteralValue: o, onError: (c, l, u) => { r.push({ error: c, offset: l, length: u }) } }; if (e) try { Tu(e, a), t = i[0] || {} } catch (c) { this.g.error(`Error while parsing settings file ${this.f}: ${c}`), this.d = [c] } return t } i(e, t) { const s = Mt.as(Ps.Configuration).getConfigurationProperties(), i = this.j(e, s, !0, t); e = i.raw; const n = Cp(e, a => this.g.error(`Conflict in settings file ${this.f}: ${a}`)), r = Object.keys(e), o = this.m(e, a => this.g.error(`Conflict in settings file ${this.f}: ${a}`)); return { contents: n, keys: r, overrides: o, restricted: i.restricted, hasExcludedProperties: i.hasExcludedProperties } } j(e, t, s, i) { let n = !1; if (!i?.scopes && !i?.skipRestricted && !i?.exclude?.length) return { raw: e, restricted: [], hasExcludedProperties: n }; const r = {}, o = []; for (const a in e) if (Si.test(a) && s) { const c = this.j(e[a], t, !1, i); r[a] = c.raw, n = n || c.hasExcludedProperties, o.push(...c.restricted) } else { const c = t[a]; c?.restricted && o.push(a), this.l(a, c, i) ? r[a] = e[a] : n = !0 } return { raw: r, restricted: o, hasExcludedProperties: n } } l(e, t, s) { if (s.exclude?.includes(e)) return !1; if (s.include?.includes(e)) return !0; if (s.skipRestricted && t?.restricted || s.skipUnregistered && !t) return !1; const i = t ? typeof t.scope < "u" ? t.scope : 3 : void 0; return i === void 0 || s.scopes === void 0 ? !0 : s.scopes.includes(i) } m(e, t) { const s = []; for (const i of Object.keys(e)) if (Si.test(i)) { const n = {}; for (const r in e[i]) n[r] = e[i][r]; s.push({ identifiers: ac(i), keys: Object.keys(n), contents: Cp(n, t) }) } return s } }, q4 = class extends J { constructor(e, t, s, i, n) { super(), this.c = e, this.f = t, this.g = i, this.h = n, this.b = this.B(new D), this.onDidChange = this.b.event, this.a = new Fp(this.c.toString(), n), this.B(this.g.watch(s.dirname(this.c))), this.B(this.g.watch(this.c)), this.B(H.any(H.filter(this.g.onDidFilesChange, r => r.contains(this.c)), H.filter(this.g.onDidRunOperation, r => (r.isOperation(0) || r.isOperation(3) || r.isOperation(1) || r.isOperation(4)) && s.isEqual(r.resource, e)))(() => this.b.fire())) } async loadConfiguration() { try { const e = await this.g.readFile(this.c); return this.a.parse(e.value.toString() || "{}", this.f), this.a.configurationModel } catch { return mt.createEmptyModel(this.h) } } reparse(e) { return e && (this.f = e), this.a.reparse(this.f), this.a.configurationModel } getRestrictedSettings() { return this.a.restrictedConfigurations } }, G4 = class { constructor(e, t, s, i, n, r, o, a, c, l, u, h, d) { this.a = e, this.b = t, this.c = s, this.overrideIdentifiers = i, this.d = n, this.f = r, this.g = o, this.h = a, this.i = c, this.j = l, this.k = u, this.l = h, this.m = d } get value() { return mc(this.c) } n(e) { return e?.value !== void 0 || e?.override !== void 0 || e?.overrides !== void 0 ? e : void 0 } get q() { return this.p || (this.p = this.d.inspect(this.a, this.b.overrideIdentifier)), this.p } get defaultValue() { return this.q.merged } get default() { return this.n(this.q) } get s() { return this.r === void 0 && (this.r = this.f ? this.f.inspect(this.a) : null), this.r } get policyValue() { return this.s?.merged } get policy() { return this.s?.value !== void 0 ? { value: this.s.value } : void 0 } get u() { return this.t === void 0 && (this.t = this.g ? this.g.inspect(this.a) : null), this.t } get applicationValue() { return this.u?.merged } get application() { return this.n(this.u) } get w() { return this.v || (this.v = this.h.inspect(this.a, this.b.overrideIdentifier)), this.v } get userValue() { return this.w.merged } get user() { return this.n(this.w) } get y() { return this.x || (this.x = this.i.inspect(this.a, this.b.overrideIdentifier)), this.x } get userLocalValue() { return this.y.merged } get userLocal() { return this.n(this.y) } get A() { return this.z || (this.z = this.j.inspect(this.a, this.b.overrideIdentifier)), this.z } get userRemoteValue() { return this.A.merged } get userRemote() { return this.n(this.A) } get D() { return this.B === void 0 && (this.B = this.k ? this.k.inspect(this.a, this.b.overrideIdentifier) : null), this.B } get workspaceValue() { return this.D?.merged } get workspace() { return this.n(this.D) } get F() { return this.E === void 0 && (this.E = this.l ? this.l.inspect(this.a, this.b.overrideIdentifier) : null), this.E } get workspaceFolderValue() { return this.F?.merged } get workspaceFolder() { return this.n(this.F) } get H() { return this.G === void 0 && (this.G = this.m.inspect(this.a, this.b.overrideIdentifier)), this.G } get memoryValue() { return this.H.merged } get memory() { return this.n(this.H) } }, Fu = class SI { constructor(t, s, i, n, r, o, a, c, l, u) { this.j = t, this.l = s, this.m = i, this.n = n, this.p = r, this.q = o, this.r = a, this.s = c, this.t = l, this.u = u, this.h = null, this.i = new At, this.v = null } getValue(t, s, i) { return this.w(t, s, i).getValue(t) } updateValue(t, s, i = {}) { let n; i.resource ? (n = this.t.get(i.resource), n || (n = mt.createEmptyModel(this.u), this.t.set(i.resource, n))) : n = this.s, s === void 0 ? n.removeValue(t) : n.setValue(t, s), i.resource || (this.h = null) } inspect(t, s, i) { const n = this.w(t, s, i), r = this.A(s.resource, i), o = s.resource ? this.t.get(s.resource) || this.s : this.s, a = new Set; for (const c of n.overrides) for (const l of c.identifiers) n.getOverrideValue(t, l) !== void 0 && a.add(l); return new G4(t, s, n.getValue(t), a.size ? [...a] : void 0, this.j, this.l.isEmpty() ? void 0 : this.l, this.applicationConfiguration.isEmpty() ? void 0 : this.applicationConfiguration, this.userConfiguration, this.localUserConfiguration, this.remoteUserConfiguration, i ? this.q : void 0, r || void 0, o) } keys(t) { const s = this.A(void 0, t); return { default: this.j.keys.slice(0), user: this.userConfiguration.keys.slice(0), workspace: this.q.keys.slice(0), workspaceFolder: s ? s.keys.slice(0) : [] } } updateDefaultConfiguration(t) { this.j = t, this.h = null, this.i.clear() } updatePolicyConfiguration(t) { this.l = t } updateApplicationConfiguration(t) { this.m = t, this.h = null, this.i.clear() } updateLocalUserConfiguration(t) { this.n = t, this.v = null, this.h = null, this.i.clear() } updateRemoteUserConfiguration(t) { this.p = t, this.v = null, this.h = null, this.i.clear() } updateWorkspaceConfiguration(t) { this.q = t, this.h = null, this.i.clear() } updateFolderConfiguration(t, s) { this.r.set(t, s), this.i.delete(t) } deleteFolderConfiguration(t) { this.folderConfigurations.delete(t), this.i.delete(t) } compareAndUpdateDefaultConfiguration(t, s) { const i = []; if (!s) { const { added: n, updated: r, removed: o } = Fn(this.j, t); s = [...n, ...r, ...o] } for (const n of s) for (const r of ac(n)) { const o = this.j.getKeysForOverrideIdentifier(r), a = t.getKeysForOverrideIdentifier(r), c = [...a.filter(l => o.indexOf(l) === -1), ...o.filter(l => a.indexOf(l) === -1), ...o.filter(l => !$i(this.j.override(r).getValue(l), t.override(r).getValue(l)))]; i.push([r, c]) } return this.updateDefaultConfiguration(t), { keys: s, overrides: i } } compareAndUpdatePolicyConfiguration(t) { const { added: s, updated: i, removed: n } = Fn(this.l, t), r = [...s, ...i, ...n]; return r.length && this.updatePolicyConfiguration(t), { keys: r, overrides: [] } } compareAndUpdateApplicationConfiguration(t) { const { added: s, updated: i, removed: n, overrides: r } = Fn(this.applicationConfiguration, t), o = [...s, ...i, ...n]; return o.length && this.updateApplicationConfiguration(t), { keys: o, overrides: r } } compareAndUpdateLocalUserConfiguration(t) { const { added: s, updated: i, removed: n, overrides: r } = Fn(this.localUserConfiguration, t), o = [...s, ...i, ...n]; return o.length && this.updateLocalUserConfiguration(t), { keys: o, overrides: r } } compareAndUpdateRemoteUserConfiguration(t) { const { added: s, updated: i, removed: n, overrides: r } = Fn(this.remoteUserConfiguration, t), o = [...s, ...i, ...n]; return o.length && this.updateRemoteUserConfiguration(t), { keys: o, overrides: r } } compareAndUpdateWorkspaceConfiguration(t) { const { added: s, updated: i, removed: n, overrides: r } = Fn(this.workspaceConfiguration, t), o = [...s, ...i, ...n]; return o.length && this.updateWorkspaceConfiguration(t), { keys: o, overrides: r } } compareAndUpdateFolderConfiguration(t, s) { const i = this.folderConfigurations.get(t), { added: n, updated: r, removed: o, overrides: a } = Fn(i, s), c = [...n, ...r, ...o]; return (c.length || !i) && this.updateFolderConfiguration(t, s), { keys: c, overrides: a } } compareAndDeleteFolderConfiguration(t) { const s = this.folderConfigurations.get(t); if (!s) throw new Error("Unknown folder"); this.deleteFolderConfiguration(t); const { added: i, updated: n, removed: r, overrides: o } = Fn(s, void 0); return { keys: [...i, ...n, ...r], overrides: o } } get defaults() { return this.j } get applicationConfiguration() { return this.m } get userConfiguration() { return this.v || (this.v = this.p.isEmpty() ? this.n : this.n.merge(this.p)), this.v } get localUserConfiguration() { return this.n } get remoteUserConfiguration() { return this.p } get workspaceConfiguration() { return this.q } get folderConfigurations() { return this.r } w(t, s, i) { let n = this.x(s, i); return s.overrideIdentifier && (n = n.override(s.overrideIdentifier)), !this.l.isEmpty() && this.l.getValue(t) !== void 0 && (n = n.merge(this.l)), n } x({ resource: t }, s) { let i = this.y(); if (s && t) { const n = s.getFolder(t); n && (i = this.z(n.uri) || i); const r = this.t.get(t); r && (i = i.merge(r)) } return i } y() { return this.h || (this.h = this.j.merge(this.applicationConfiguration, this.userConfiguration, this.q, this.s)), this.h } z(t) { let s = this.i.get(t); if (!s) { const i = this.y(), n = this.r.get(t); n ? (s = i.merge(n), this.i.set(t, s)) : s = i } return s } A(t, s) { if (s && t) { const i = s.getFolder(t); if (i) return this.r.get(i.uri) } } toData() { return { defaults: { contents: this.j.contents, overrides: this.j.overrides, keys: this.j.keys }, policy: { contents: this.l.contents, overrides: this.l.overrides, keys: this.l.keys }, application: { contents: this.applicationConfiguration.contents, overrides: this.applicationConfiguration.overrides, keys: this.applicationConfiguration.keys }, user: { contents: this.userConfiguration.contents, overrides: this.userConfiguration.overrides, keys: this.userConfiguration.keys }, workspace: { contents: this.q.contents, overrides: this.q.overrides, keys: this.q.keys }, folders: [...this.r.keys()].reduce((t, s) => { const { contents: i, overrides: n, keys: r } = this.r.get(s); return t.push([s, { contents: i, overrides: n, keys: r }]), t }, []) } } allKeys() { const t = new Set; return this.j.keys.forEach(s => t.add(s)), this.userConfiguration.keys.forEach(s => t.add(s)), this.q.keys.forEach(s => t.add(s)), this.r.forEach(s => s.keys.forEach(i => t.add(i))), [...t.values()] } B() { const t = new Set; return this.j.getAllOverrideIdentifiers().forEach(s => t.add(s)), this.userConfiguration.getAllOverrideIdentifiers().forEach(s => t.add(s)), this.q.getAllOverrideIdentifiers().forEach(s => t.add(s)), this.r.forEach(s => s.getAllOverrideIdentifiers().forEach(i => t.add(i))), [...t.values()] } D(t) { const s = new Set; return this.j.getKeysForOverrideIdentifier(t).forEach(i => s.add(i)), this.userConfiguration.getKeysForOverrideIdentifier(t).forEach(i => s.add(i)), this.q.getKeysForOverrideIdentifier(t).forEach(i => s.add(i)), this.r.forEach(i => i.getKeysForOverrideIdentifier(t).forEach(n => s.add(n))), [...s.values()] } static parse(t, s) { const i = this.E(t.defaults, s), n = this.E(t.policy, s), r = this.E(t.application, s), o = this.E(t.user, s), a = this.E(t.workspace, s), c = t.folders.reduce((l, u) => (l.set(E.revive(u[0]), this.E(u[1], s)), l), new At); return new SI(i, n, r, o, mt.createEmptyModel(s), a, c, mt.createEmptyModel(s), new At, s) } static E(t, s) { return new mt(t.contents, t.keys, t.overrides, void 0, s) } }, J4 = class {
  114. constructor(e, t, s, i, n) {
  115. this.change = e, this.f = t, this.g = s, this.h = i, this.i = n, this.a = `
  116. `, this.b = this.a.charCodeAt(0), this.c = 46, this.affectedKeys = new Set, this.j = void 0; for (const r of e.keys) this.affectedKeys.add(r); for (const [, r] of e.overrides) for (const o of r) this.affectedKeys.add(o); this.d = this.a; for (const r of this.affectedKeys) this.d += r + this.a
  117. } get previousConfiguration() { return !this.j && this.f && (this.j = Fu.parse(this.f.data, this.i)), this.j } affectsConfiguration(e, t) { const s = this.a + e, i = this.d.indexOf(s); if (i < 0) return !1; const n = i + s.length; if (n >= this.d.length) return !1; const r = this.d.charCodeAt(n); if (r !== this.b && r !== this.c) return !1; if (t) { const o = this.previousConfiguration ? this.previousConfiguration.getValue(e, t, this.f?.workspace) : void 0, a = this.g.getValue(e, t, this.h); return !$i(o, a) } return !0 }
  118. }
  119. }
  120. }), X4, Bu, Hu = v({ "out-build/vs/platform/policy/common/policy.js"() { "use strict"; re(), pr(), z(), oe(), X4 = se("policy"), Bu = class { constructor() { this.onDidChange = H.None } async updatePolicyDefinitions() { return {} } getPolicyValue() { } serialize() { } } } }), Q4, Z4, zu, sR = v({
  121. "out-build/vs/platform/configuration/common/configurations.js"() {
  122. "use strict"; Et(), re(), z(), es(), $e(), Y4(), Io(), Re(), Hu(), hn(), fe(), Ir(), Q4 = class extends J { get configurationModel() { return this.b } constructor(e) { super(), this.c = e, this.a = this.B(new D), this.onDidChangeConfiguration = this.a.event, this.b = mt.createEmptyModel(this.c) } async initialize() { return this.h(), this.B(Mt.as(Ps.Configuration).onDidUpdateConfiguration(({ properties: e, defaultsOverrides: t }) => this.f(Array.from(e), t))), this.configurationModel } reload() { return this.h(), this.configurationModel } f(e, t) { this.j(e, Mt.as(Ps.Configuration).getConfigurationProperties()), this.a.fire({ defaults: this.configurationModel, properties: e }) } g() { return {} } h() { this.b = mt.createEmptyModel(this.c); const e = Mt.as(Ps.Configuration).getConfigurationProperties(); this.j(Object.keys(e), e) } j(e, t) { const s = this.g(); for (const i of e) { const n = s[i], r = t[i]; n !== void 0 ? this.b.setValue(i, n) : r ? this.b.setValue(i, r.default) : this.b.removeValue(i) } } }, Z4 = class { constructor() { this.onDidChangeConfiguration = H.None, this.configurationModel = mt.createEmptyModel(new g4) } async initialize() { return this.configurationModel } }, zu = class extends J {
  123. get configurationModel() { return this.b } constructor(t, s, i) { super(), this.c = t, this.f = s, this.g = i, this.a = this.B(new D), this.onDidChangeConfiguration = this.a.event, this.b = mt.createEmptyModel(this.g) } async initialize() { return this.g.trace("PolicyConfiguration#initialize"), this.m(await this.h(this.c.configurationModel.keys), !1), this.B(this.f.onDidChange(t => this.j(t))), this.B(this.c.onDidChangeConfiguration(async ({ properties: t }) => this.m(await this.h(t), !0))), this.b } async h(t) { this.g.trace("PolicyConfiguration#updatePolicyDefinitions", t); const s = {}, i = [], n = Mt.as(Ps.Configuration).getConfigurationProperties(); for (const r of t) { const o = n[r]; if (!o) { i.push(r); continue } if (o.policy) { if (o.type !== "string" && o.type !== "number" && o.type !== "array" && o.type !== "object") { this.g.warn(`Policy ${o.policy.name} has unsupported type ${o.type}`); continue } i.push(r), s[o.policy.name] = { type: o.type === "number" ? "number" : "string" } } } return $u(s) || await this.f.updatePolicyDefinitions(s), i } j(t) { this.g.trace("PolicyConfiguration#onDidChangePolicies", t); const s = Mt.as(Ps.Configuration).getPolicyConfigurations(), i = yi(t.map(n => s.get(n))); this.m(i, !0) } m(t, s) { this.g.trace("PolicyConfiguration#update", t); const i = Mt.as(Ps.Configuration).getConfigurationProperties(), n = [], r = this.b.isEmpty(); for (const o of t) { const a = i[o], c = a?.policy?.name; if (c) { let l = this.f.getPolicyValue(c); if (ve(l) && a.type !== "string") try { l = this.n(l) } catch (u) { this.g.error(`Error parsing policy value ${c}:`, ge(u)); continue } (r ? l !== void 0 : !$i(this.b.getValue(o), l)) && n.push([o, l]) } else this.b.getValue(o) !== void 0 && n.push([o, void 0]) } if (n.length) { this.g.trace("PolicyConfiguration#changed", n); const o = this.b; this.b = mt.createEmptyModel(this.g); for (const a of o.keys) this.b.setValue(a, o.getValue(a)); for (const [a, c] of n) c === void 0 ? this.b.removeValue(a) : this.b.setValue(a, c); s && this.a.fire(this.b) } } n(t) {
  124. let s = {}, i = null, n = []; const r = [], o = []; function a(l) { if (Array.isArray(n)) n.push(l); else if (i !== null) { if (n[i] !== void 0) throw new Error(`Duplicate property found: ${i}`); n[i] = l } } if (t && (Tu(t, { onObjectBegin: () => { const l = {}; a(l), r.push(n), n = l, i = null }, onObjectProperty: l => { i = l }, onObjectEnd: () => { n = r.pop() }, onArrayBegin: () => { const l = []; a(l), r.push(n), n = l, i = null }, onArrayEnd: () => { n = r.pop() }, onLiteralValue: a, onError: (l, u, h) => { o.push({ error: l, offset: u, length: h }) } }), s = n[0] || {}), o.length > 0) throw new Error(o.map(l => ge(l.error)).join(`
  125. `)); return s
  126. }
  127. }, zu = __decorate([__param(1, X4), __param(2, pe)], zu)
  128. }
  129. }), Bp, K4, e5 = v({
  130. "out-build/vs/platform/configuration/common/configurationService.js"() {
  131. "use strict"; Et(), Ue(), Me(), re(), Ir(), HD(), z(), ls(), es(), X(), kt(), ds(), Y4(), Io(), sR(), Hu(), Bp = class extends J { constructor(e, t, s, i) { super(), this.m = e, this.n = i, this.h = this.B(new D), this.onDidChangeConfiguration = this.h.event, this.b = this.B(new Q4(i)), this.c = s instanceof Bu ? new Z4 : this.B(new zu(this.b, s, i)), this.f = this.B(new q4(this.m, {}, Au, t, i)), this.a = new Fu(this.b.configurationModel, this.c.configurationModel, mt.createEmptyModel(i), mt.createEmptyModel(i), mt.createEmptyModel(i), mt.createEmptyModel(i), new At, mt.createEmptyModel(i), new At, i), this.j = new K4(e, t, this), this.g = this.B(new rc(() => this.reloadConfiguration(), 50)), this.B(this.b.onDidChangeConfiguration(({ defaults: n, properties: r }) => this.s(n, r))), this.B(this.c.onDidChangeConfiguration(n => this.t(n))), this.B(this.f.onDidChange(() => this.g.schedule())) } async initialize() { const [e, t, s] = await Promise.all([this.b.initialize(), this.c.initialize(), this.f.loadConfiguration()]); this.a = new Fu(e, t, mt.createEmptyModel(this.n), s, mt.createEmptyModel(this.n), mt.createEmptyModel(this.n), new At, mt.createEmptyModel(this.n), new At, this.n) } getConfigurationData() { return this.a.toData() } getValue(e, t) { const s = typeof e == "string" ? e : void 0, i = Op(e) ? e : Op(t) ? t : {}; return this.a.getValue(s, i, void 0) } async updateValue(e, t, s, i, n) { const r = WD(s) ? s : Op(s) ? { resource: s.resource, overrideIdentifiers: s.overrideIdentifier ? [s.overrideIdentifier] : void 0 } : void 0, o = r ? i : s; if (o !== void 0 && o !== 3 && o !== 2) throw new Error(`Unable to write ${e} to target ${o}.`); r?.overrideIdentifiers && (r.overrideIdentifiers = Qi(r.overrideIdentifiers), r.overrideIdentifiers = r.overrideIdentifiers.length ? r.overrideIdentifiers : void 0); const a = this.inspect(e, { resource: r?.resource, overrideIdentifier: r?.overrideIdentifiers ? r.overrideIdentifiers[0] : void 0 }); if (a.policyValue !== void 0) throw new Error(`Unable to write ${e} because it is configured in system policy.`); if ($i(t, a.defaultValue) && (t = void 0), r?.overrideIdentifiers?.length && r.overrideIdentifiers.length > 1) { const l = r.overrideIdentifiers.sort(), u = this.a.localUserConfiguration.overrides.find(h => Dn([...h.identifiers].sort(), l)); u && (r.overrideIdentifiers = u.identifiers) } const c = r?.overrideIdentifiers?.length ? [KD(r.overrideIdentifiers), e] : [e]; await this.j.write(c, t), await this.reloadConfiguration() } inspect(e, t = {}) { return this.a.inspect(e, t, void 0) } keys() { return this.a.keys(void 0) } async reloadConfiguration() { const e = await this.f.loadConfiguration(); this.r(e) } r(e) { const t = this.a.toData(), s = this.a.compareAndUpdateLocalUserConfiguration(e); this.u(s, t, 2) } s(e, t) { const s = this.a.toData(), i = this.a.compareAndUpdateDefaultConfiguration(e, t); this.u(i, s, 7) } t(e) { const t = this.a.toData(), s = this.a.compareAndUpdatePolicyConfiguration(e); this.u(s, t, 7) } u(e, t, s) { const i = new J4(e, { data: t }, this.a, void 0, this.n); i.source = s, this.h.fire(i) } }, K4 = class {
  132. constructor(e, t, s) { this.b = e, this.c = t, this.d = s, this.a = new bo } write(e, t) { return this.a.queue(() => this.e(e, t)) } async e(e, t) { let s; try { s = (await this.c.readFile(this.b)).value.toString() } catch (r) { if (r.fileOperationResult === 1) s = "{}"; else throw r } const i = []; if (Eo(s, i, { allowTrailingComma: !0, allowEmptyContent: !0 }), i.length > 0) throw new Error("Unable to write into the settings file. Please open the file to correct errors/warnings in the file and try again."); const n = this.f(s, e, t); s = BD(s, n), await this.c.writeFile(this.b, O.fromString(s)) } f(e, t, s) { const { tabSize: i, insertSpaces: n, eol: r } = this.h; if (!t.length) { const o = JSON.stringify(s, null, n ? " ".repeat(i) : " "); return [{ content: o, length: o.length, offset: 0 }] } return FD(e, t, s, { tabSize: i, insertSpaces: n, eol: r }) } get h() {
  133. if (!this.g) {
  134. let e = dr === 3 || dr === 2 ? `
  135. `: `\r
  136. `; const t = this.d.getValue("files.eol", { overrideIdentifier: "jsonc" }); t && typeof t == "string" && t !== "auto" && (e = t), this.g = { eol: e, insertSpaces: !!this.d.getValue("editor.insertSpaces", { overrideIdentifier: "jsonc" }), tabSize: this.d.getValue("editor.tabSize", { overrideIdentifier: "jsonc" }) }
  137. } return this.g
  138. }
  139. }
  140. }
  141. }); function Hp(e) { return e.res.statusCode && e.res.statusCode >= 200 && e.res.statusCode < 300 || e.res.statusCode === 1223 } function t5(e) { return e.res.statusCode === 204 } async function iR(e) { return t5(e) ? null : (await rn(e.stream)).toString() } async function Ar(e) { if (!Hp(e)) throw new Error("Server returned " + e.res.statusCode); return iR(e) } async function gc(e) {
  142. if (!Hp(e)) throw new Error("Server returned " + e.res.statusCode); if (t5(e)) return null; const s = (await rn(e.stream)).toString(); try { return JSON.parse(s) } catch (i) {
  143. throw i.message += `:
  144. `+ s, i
  145. }
  146. } function nR(e) { const t = Mt.as(Ps.Configuration), s = zp; zp = { id: "http", order: 15, title: m(2088, null), type: "object", scope: e, properties: { "http.proxy": { type: "string", pattern: "^(https?|socks|socks4a?|socks5h?)://([^:]*(:[^@]*)?@)?([^:]+|\\[[:0-9a-fA-F]+\\])(:\\d+)?/?$|^$", markdownDescription: m(2089, null), restricted: !0 }, "http.proxyStrictSSL": { type: "boolean", default: !0, description: m(2090, null), restricted: !0 }, "http.proxyKerberosServicePrincipal": { type: "string", markdownDescription: m(2091, null), restricted: !0 }, "http.noProxy": { type: "array", items: { type: "string" }, markdownDescription: m(2092, null), restricted: !0 }, "http.proxyAuthorization": { type: ["null", "string"], default: null, markdownDescription: m(2093, null), restricted: !0 }, "http.proxySupport": { type: "string", enum: ["off", "on", "fallback", "override"], enumDescriptions: [m(2094, null), m(2095, null), m(2096, null), m(2097, null)], default: "override", description: m(2098, null), restricted: !0 }, "http.systemCertificates": { type: "boolean", default: !0, description: m(2099, null), restricted: !0 }, "http.experimental.systemCertificatesV2": { type: "boolean", tags: ["experimental"], default: !1, description: m(2100, null), restricted: !0 }, "http.electronFetch": { type: "boolean", default: !1, description: m(2101, null), restricted: !0 }, "http.fetchAdditionalSupport": { type: "boolean", default: !0, markdownDescription: m(2102, null, "`#http.proxySupport#`", "`#http.systemCertificates#`"), restricted: !0 } } }, t.updateConfigurations({ add: [zp], remove: s ? [s] : [] }) } var Pi, s5, i5, zp, Dr = v({ "out-build/vs/platform/request/common/request.js"() { "use strict"; Me(), fe(), z(), he(), Io(), oe(), hn(), Pi = se("requestService"), s5 = class { constructor(e) { this.b = e } toJSON() { if (!this.a) { const e = Object.create(null); for (const t in this.b) t.toLowerCase() === "authorization" || t.toLowerCase() === "proxy-authorization" ? e[t] = "*****" : e[t] = this.b[t]; this.a = e } return this.a } }, i5 = class extends J { constructor(e) { super(), this.b = e, this.a = 0 } async c(e, t) { const s = `[network] #${++this.a}: ${e.url}`; this.b.trace(`${s} - begin`, e.type, new s5(e.headers ?? {})); try { const i = await t(); return this.b.trace(`${s} - end`, e.type, i.res.statusCode, i.res.headers), i } catch (i) { throw this.b.error(`${s} - error`, e.type, ge(i)), i } } }, nR(1) } }), Is, zs, ps = v({ "out-build/vs/platform/environment/common/environment.js"() { "use strict"; oe(), Is = se("environmentService"), zs = Is } }); function rR(e) { return n5.test(e) } var n5, We, Wt = v({ "out-build/vs/base/common/uuid.js"() { "use strict"; n5 = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i, We = function () { if (typeof crypto == "object" && typeof crypto.randomUUID == "function") return crypto.randomUUID.bind(crypto); let e; typeof crypto == "object" && typeof crypto.getRandomValues == "function" ? e = crypto.getRandomValues.bind(crypto) : e = function (i) { for (let n = 0; n < i.length; n++)i[n] = Math.floor(Math.random() * 256); return i }; const t = new Uint8Array(16), s = []; for (let i = 0; i < 256; i++)s.push(i.toString(16).padStart(2, "0")); return function () { e(t), t[6] = t[6] & 15 | 64, t[8] = t[8] & 63 | 128; let n = 0, r = ""; return r += s[t[n++]], r += s[t[n++]], r += s[t[n++]], r += s[t[n++]], r += "-", r += s[t[n++]], r += s[t[n++]], r += "-", r += s[t[n++]], r += s[t[n++]], r += "-", r += s[t[n++]], r += s[t[n++]], r += "-", r += s[t[n++]], r += s[t[n++]], r += s[t[n++]], r += s[t[n++]], r += s[t[n++]], r += s[t[n++]], r } }() } }); function Vp(e) { return oR(e, "NFC", r5) } function oR(e, t, s) { if (!e) return e; const i = s.get(e); if (i) return i; let n; return o5.test(e) ? n = e.normalize(t) : n = e, s.set(e, n), n } var r5, aR, o5, a5 = v({ "out-build/vs/base/common/normalization.js"() { "use strict"; ls(), r5 = new Fa(1e4), aR = new Fa(1e4), o5 = /[^\u0000-\u0080]/ } }); import *as Fe from "fs"; import { tmpdir as cR } from "os"; import { promisify as wc } from "util"; async function c5(e, t = Ao.UNLINK, s) { if (vD(e)) throw new Error("rimraf - will refuse to recursively delete root"); return t === Ao.UNLINK ? Wp(e) : lR(e, s) } async function lR(e, t = bD(cR())) { try { try { await Fe.promises.rename(e, t) } catch (s) { return s.code === "ENOENT" ? void 0 : Wp(e) } Wp(t).catch(s => { }) } catch (s) { if (s.code !== "ENOENT") throw s } } async function Wp(e) { return Fe.promises.rm(e, { recursive: !0, force: !0, maxRetries: 3 }) } async function Vu(e, t) { return hR(await (t ? uR(e) : Fe.promises.readdir(e))) } async function uR(e) { try { return await Fe.promises.readdir(e, { withFileTypes: !0 }) } catch (i) { console.warn("[node.js fs] readdir with filetypes failed with error: ", i) } const t = [], s = await Vu(e); for (const i of s) { let n = !1, r = !1, o = !1; try { const a = await Fe.promises.lstat(_(e, i)); n = a.isFile(), r = a.isDirectory(), o = a.isSymbolicLink() } catch (a) { console.warn("[node.js fs] unexpected error from lstat after readdir: ", a) } t.push({ name: i, isFile: () => n, isDirectory: () => r, isSymbolicLink: () => o }) } return t } function hR(e) { return e.map(t => typeof t == "string" ? _s ? Vp(t) : t : (t.name = _s ? Vp(t.name) : t.name, t)) } async function fR(e) { const t = await Vu(e), s = []; for (const i of t) await ms.existsDirectory(_(e, i)) && s.push(i); return s } function dR(e, t, s) { return f5.queueFor(E.file(e), () => { const i = gR(s); return new Promise((n, r) => mR(e, t, i, o => o ? r(o) : n())) }, Au) } function pR(e) { qp = e } function mR(e, t, s, i) { if (!qp) return Fe.writeFile(e, t, { mode: s.mode, flag: s.flag }, i); Fe.open(e, s.flag, s.mode, (n, r) => { if (n) return i(n); Fe.writeFile(r, t, o => { if (o) return Fe.close(r, () => i(o)); Fe.fdatasync(r, a => (a && (console.warn("[node.js fs] fdatasync is now disabled for this session because it failed: ", a), pR(!1)), Fe.close(r, c => i(c)))) }) }) } function gR(e) { return e ? { mode: typeof e.mode == "number" ? e.mode : 438, flag: typeof e.flag == "string" ? e.flag : "w" } : { mode: 438, flag: "w" } } async function wR(e, t, s = 6e4) { if (e !== t) try { me && typeof s == "number" ? await l5(e, t, Date.now(), s) : await Fe.promises.rename(e, t) } catch (i) { if (e.toLowerCase() !== t.toLowerCase() && i.code === "EXDEV" || e.endsWith(".")) await u5(e, t, { preserveSymlinks: !1 }), await c5(e, Ao.MOVE); else throw i } } async function l5(e, t, s, i, n = 0) { try { return await Fe.promises.rename(e, t) } catch (r) { if (r.code !== "EACCES" && r.code !== "EPERM" && r.code !== "EBUSY") throw r; if (Date.now() - s >= i) throw console.error(`[node.js fs] rename failed after ${n} retries with error: ${r}`), r; if (n === 0) { let o = !1; try { const { stat: a } = await ms.stat(t); a.isFile() || (o = !0) } catch { } if (o) throw r } return await Sr(Math.min(100, n * 10)), l5(e, t, s, i, n + 1) } } async function u5(e, t, s) { return h5(e, t, { root: { source: e, target: t }, options: s, handledSourcePaths: new Set }) } async function h5(e, t, s) { if (s.handledSourcePaths.has(e)) return; s.handledSourcePaths.add(e); const { stat: i, symbolicLink: n } = await ms.stat(e); if (n) { if (s.options.preserveSymlinks) try { return await yR(e, t, s) } catch { } if (n.dangling) return } return i.isDirectory() ? vR(e, t, i.mode & Gp, s) : bR(e, t, i.mode & Gp) } async function vR(e, t, s, i) { await Fe.promises.mkdir(t, { recursive: !0, mode: s }); const n = await Vu(e); for (const r of n) await h5(_(e, r), _(t, r), i) } async function bR(e, t, s) { await Fe.promises.copyFile(e, t), await Fe.promises.chmod(t, s) } async function yR(e, t, s) { let i = await Fe.promises.readlink(e); jn(i, s.root.source, !rt) && (i = _(s.root.target, i.substr(s.root.source.length + 1))), await Fe.promises.symlink(i, t) } var Ao, ms, f5, qp, Gp, Pe, ss = v({ "out-build/vs/base/node/pfs.js"() { "use strict"; Ue(), ki(), a5(), de(), X(), kt(), ee(), function (e) { e[e.UNLINK = 0] = "UNLINK", e[e.MOVE = 1] = "MOVE" }(Ao || (Ao = {})), function (e) { async function t(n) { let r; try { if (r = await Fe.promises.lstat(n), !r.isSymbolicLink()) return { stat: r } } catch { } try { return { stat: await Fe.promises.stat(n), symbolicLink: r?.isSymbolicLink() ? { dangling: !1 } : void 0 } } catch (o) { if (o.code === "ENOENT" && r) return { stat: r, symbolicLink: { dangling: !0 } }; if (me && o.code === "EACCES") try { return { stat: await Fe.promises.stat(await Fe.promises.readlink(n)), symbolicLink: { dangling: !1 } } } catch (a) { if (a.code === "ENOENT" && r) return { stat: r, symbolicLink: { dangling: !0 } }; throw a } throw o } } e.stat = t; async function s(n) { try { const { stat: r, symbolicLink: o } = await e.stat(n); return r.isFile() && o?.dangling !== !0 } catch { } return !1 } e.existsFile = s; async function i(n) { try { const { stat: r, symbolicLink: o } = await e.stat(n); return r.isDirectory() && o?.dangling !== !0 } catch { } return !1 } e.existsDirectory = i }(ms || (ms = {})), f5 = new Sp, qp = !0, Gp = 511, Pe = new class { get read() { return (e, t, s, i, n) => new Promise((r, o) => { Fe.read(e, t, s, i, n, (a, c, l) => a ? o(a) : r({ bytesRead: c, buffer: l })) }) } get write() { return (e, t, s, i, n) => new Promise((r, o) => { Fe.write(e, t, s, i, n, (a, c, l) => a ? o(a) : r({ bytesWritten: c, buffer: l })) }) } get fdatasync() { return wc(Fe.fdatasync) } get open() { return wc(Fe.open) } get close() { return wc(Fe.close) } get realpath() { return wc(Fe.realpath) } get ftruncate() { return wc(Fe.ftruncate) } async exists(e) { try { return await Fe.promises.access(e), !0 } catch { return !1 } } get readdir() { return Vu } get readDirsInDir() { return fR } get writeFile() { return dR } get rm() { return c5 } get rename() { return wR } get copy() { return u5 } } } }); import *as ER from "os"; function xR({ useAlternateBitness: e = !1 } = {}) { return e ? vc === 0 ? process.env["ProgramFiles(x86)"] || null : Do === 0 && process.env.ProgramW6432 || null : process.env.ProgramFiles || null } async function Wu({ useAlternateBitness: e = !1, findPreview: t = !1 } = {}) { const s = xR({ useAlternateBitness: e }); if (!s) return null; const i = _(s, "PowerShell"); if (!await ms.existsDirectory(i)) return null; let n = -1, r = null; for (const c of await Pe.readdir(i)) { let l = -1; if (t) { const h = c.indexOf("-"); if (h < 0) continue; const d = c.substring(0, h); if (!Jp.test(d) || c.substring(h + 1) !== "preview") continue; l = parseInt(d, 10) } else { if (!Jp.test(c)) continue; l = parseInt(c, 10) } if (l <= n) continue; const u = _(i, c, "pwsh.exe"); await ms.existsFile(u) && (r = u, n = l) } if (!r) return null; const o = s.includes("x86") ? " (x86)" : "", a = t ? " Preview" : ""; return new bc(r, `PowerShell${a}${o}`, !0) } async function d5({ findPreview: e } = {}) { if (!process.env.LOCALAPPDATA) return null; const t = _(process.env.LOCALAPPDATA, "Microsoft", "WindowsApps"); if (!await ms.existsDirectory(t)) return null; const { pwshMsixDirRegex: s, pwshMsixName: i } = e ? { pwshMsixDirRegex: g5, pwshMsixName: "PowerShell Preview (Store)" } : { pwshMsixDirRegex: m5, pwshMsixName: "PowerShell (Store)" }; for (const n of await Pe.readdir(t)) if (s.test(n)) { const r = _(t, n, "pwsh.exe"); return new bc(r, i) } return null } function kR() { const e = _(ER.homedir(), ".dotnet", "tools", "pwsh.exe"); return new bc(e, ".NET Core PowerShell Global Tool") } function $R() { const e = _(process.env.windir, vc === 1 && Do !== 1 ? "SysNative" : "System32", "WindowsPowerShell", "v1.0", "powershell.exe"); return new bc(e, "Windows PowerShell", !0) } async function* SR() { let e = await Wu(); e && (yield e), e = await Wu({ useAlternateBitness: !0 }), e && (yield e), e = await d5(), e && (yield e), e = kR(), e && (yield e), e = await Wu({ findPreview: !0 }), e && (yield e), e = await d5({ findPreview: !0 }), e && (yield e), e = await Wu({ useAlternateBitness: !0, findPreview: !0 }), e && (yield e), e = $R(), e && (yield e) } async function* p5() { for await (const e of SR()) await e.exists() && (yield e) } async function PR() { for await (const e of p5()) return e; return null } var Jp, m5, g5, w5, vc, Do, bc, v5 = v({ "out-build/vs/base/node/powershell.js"() { "use strict"; switch (de(), ss(), Jp = /^\d+$/, m5 = /^Microsoft.PowerShell_.*/, g5 = /^Microsoft.PowerShellPreview_.*/, function (e) { e[e.x64 = 0] = "x64", e[e.x86 = 1] = "x86", e[e.ARM = 2] = "ARM" }(w5 || (w5 = {})), process.arch) { case "ia32": vc = 1; break; case "arm": case "arm64": vc = 2; break; default: vc = 0; break }process.env.PROCESSOR_ARCHITEW6432 ? Do = process.env.PROCESSOR_ARCHITEW6432 === "ARM64" ? 2 : 0 : process.env.PROCESSOR_ARCHITECTURE === "ARM64" ? Do = 2 : process.env.PROCESSOR_ARCHITECTURE === "X86" ? Do = 1 : Do = 0, bc = class { constructor(e, t, s) { this.exePath = e, this.displayName = t, this.a = s } async exists() { return this.a === void 0 && (this.a = await ms.existsFile(this.exePath)), this.a } } } }); function IR(e, ...t) { const s = t.reduce((r, o) => (r[o] = !0, r), {}), i = [/^ELECTRON_.+$/, /^VSCODE_(?!(PORTABLE|SHELL_LOGIN|ENV_REPLACE|ENV_APPEND|ENV_PREPEND)).+$/, /^SNAP(|_.*)$/, /^GDK_PIXBUF_.+$/]; Object.keys(e).filter(r => !s[r]).forEach(r => { for (let o = 0; o < i.length; o++)if (r.search(i[o]) !== -1) { delete e[r]; break } }) } function b5(e) { e && (delete e.DEBUG, rt && delete e.LD_PRELOAD) } var y5, E5, qu = v({ "out-build/vs/base/common/processes.js"() { "use strict"; X(), function (e) { e[e.stdout = 0] = "stdout", e[e.stderr = 1] = "stderr" }(y5 || (y5 = {})), function (e) { e[e.Success = 0] = "Success", e[e.Unknown = 1] = "Unknown", e[e.AccessDenied = 2] = "AccessDenied", e[e.ProcessNotFound = 3] = "ProcessNotFound" }(E5 || (E5 = {})) } }); import { promises as x5 } from "fs"; function AR(e = js) { return e.comspec || "cmd.exe" } function DR(e) { let t = [], s = !1; const i = function (n) { if (s) { t.push(n); return } (!e.send(n, o => { if (o && console.error(o), s = !1, t.length > 0) { const a = t.slice(0); t = [], a.forEach(c => i(c)) } }) || me) && (s = !0) }; return { send: i } } var k5, $5 = v({ "out-build/vs/base/node/processes.js"() { "use strict"; de(), X(), ti(), qu(), $e(), ss(), function (e) { async function t(s, i, n) { if (sn(s)) return s; if (i === void 0 && (i = xi()), Ct(s) !== "." || (n === void 0 && ve(js.PATH) && (n = js.PATH.split(lo)), n === void 0 || n.length === 0)) return _(i, s); async function o(a) { if (await Pe.exists(a)) { let c; try { c = await x5.stat(a) } catch (l) { l.message.startsWith("EACCES") && (c = await x5.lstat(a)) } return c ? !c.isDirectory() : !1 } return !1 } for (const a of n) { let c; if (sn(a) ? c = _(a, s) : c = _(i, a, s), await o(c)) return c; let l = c + ".com"; if (await o(l) || (l = c + ".exe", await o(l))) return l } return _(i, s) } e.findExecutable = t }(k5 || (k5 = {})) } }); import { userInfo as RR } from "os"; async function S5(e, t) { return e === 1 ? me ? NR() : AR(t) : LR(e, t) } function LR(e, t) { if (rt && e === 2 || _s && e === 3) return "/bin/bash"; if (!Gu) { let s; if (me) s = "/bin/bash"; else { if (s = t.SHELL, !s) try { s = RR().shell } catch { } s || (s = "sh"), s === "/bin/false" && (s = "/bin/bash") } Gu = s } return Gu } async function NR() { return Ju || (Ju = (await PR()).exePath), Ju } var Gu, Ju, P5 = v({ "out-build/vs/base/node/shell.js"() { "use strict"; X(), v5(), $5(), Gu = null, Ju = null } }); function I5(e, t, s = N5) { const i = e.find(d => d.length > 0 && d[0] !== "-"), n = {}, r = ["_"], o = [], a = {}; let c; for (const d in t) { const p = t[d]; p.type === "subcommand" ? d === i && (c = p) : (p.alias && (n[d] = p.alias), p.type === "string" || p.type === "string[]" ? (r.push(d), p.deprecates && r.push(...p.deprecates)) : p.type === "boolean" && (o.push(d), p.deprecates && o.push(...p.deprecates)), p.global && (a[d] = p)) } if (c && i) { const d = a; for (const y in c.options) d[y] = c.options[y]; const p = e.filter(y => y !== i), g = s.getSubcommandReporter ? s.getSubcommandReporter(i) : void 0, w = I5(p, d, g); return { [i]: w, _: [] } } const l = (0, R5.default)(e, { string: r, boolean: o, alias: n }), u = {}, h = l; u._ = l._.map(d => String(d)).filter(d => d.length > 0), delete h._; for (const d in t) { const p = t[d]; if (p.type === "subcommand") continue; p.alias && delete h[p.alias]; let g = h[d]; if (p.deprecates) for (const w of p.deprecates) h.hasOwnProperty(w) && (g || (g = h[w], g && s.onDeprecatedOption(w, p.deprecationMessage || m(1783, null, d))), delete h[w]); if (typeof g < "u") { if (p.type === "string[]") { if (Array.isArray(g) || (g = [g]), !p.allowEmptyValue) { const w = g.filter(y => y.length > 0); w.length !== g.length && (s.onEmptyValue(d), g = w.length > 0 ? w : void 0) } } else p.type === "string" && (Array.isArray(g) ? (g = g.pop(), s.onMultipleValues(d, g)) : !g && !p.allowEmptyValue && (s.onEmptyValue(d), g = void 0)); u[d] = g, p.deprecationMessage && s.onDeprecatedOption(d, p.deprecationMessage) } delete h[d] } for (const d in h) s.onUnknownOption(d); return u } function OR(e, t) { let s = ""; return t.args && (Array.isArray(t.args) ? s = ` <${t.args.join("> <")}>` : s = ` <${t.args}>`), t.alias ? `-${t.alias} --${e}${s}` : `--${e}${s}` } function CR(e, t) { const s = []; for (const i in e) { const n = e[i], r = OR(i, n); s.push([r, n.description]) } return A5(s, t) } function A5(e, t) { const i = e.reduce((o, a) => Math.max(o, a[0].length), 12) + 2 + 1; if (t - i < 25) return e.reduce((o, a) => o.concat([` ${a[0]}`, ` ${a[1]}`]), []); const n = t - i - 1, r = []; for (const o of e) { const a = o[0], c = _R(o[1], n), l = D5(i - a.length - 2); r.push(" " + a + l + c[0]); for (let u = 1; u < c.length; u++)r.push(D5(i) + c[u]) } return r } function D5(e) { return " ".repeat(e) } function _R(e, t) { const s = []; for (; e.length;) { const i = e.length < t ? e.length : e.lastIndexOf(" ", t), n = e.slice(0, i).trim(); e = e.slice(i), s.push(n) } return s } function jR(e, t, s, i, n) {
  147. const r = process.stdout.isTTY && process.stdout.columns || 80, o = n?.noInputFiles !== !0 ? `[${m(1784, null)}...]` : "", a = [`${e} ${s}`]; a.push(""), a.push(`${m(1785, null)}: ${t} [${m(1786, null)}]${o}`), a.push(""), n?.noPipe !== !0 && (me ? a.push(m(1787, null, t)) : a.push(m(1788, null, t)), a.push("")); const c = {}, l = []; for (const u in i) { const h = i[u]; if (h.type === "subcommand") h.description && l.push({ command: u, description: h.description }); else if (h.description && h.cat) { let d = c[h.cat]; d || (c[h.cat] = d = {}), d[u] = h } } for (const u in c) { const h = u, d = c[h]; d && (a.push(L5[h]), a.push(...CR(d, r)), a.push("")) } return l.length && (a.push(m(1789, null)), a.push(...A5(l.map(u => [u.command, u.description]), r)), a.push("")), a.join(`
  148. `)
  149. } function TR(e, t) {
  150. return `${e || m(1790, null)}
  151. ${t || m(1791, null)}
  152. ${process.arch}`
  153. } var R5, L5, Qe, N5, Yu = v({ "out-build/vs/platform/environment/node/argv.js"() { "use strict"; R5 = jv(Tv(), 1), X(), he(), L5 = { o: m(1744, null), e: m(1745, null), t: m(1746, null) }, Qe = { 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: m(1747, null) }, "disable-telemetry": { type: "boolean" }, "telemetry-level": { type: "string" }, user: { type: "subcommand", options: { login: { type: "subcommand", options: { provider: { type: "string" }, "access-token": { type: "string" } } } } } } }, "serve-web": { type: "subcommand", description: "Run a server that displays the editor UI in browsers.", options: { "cli-data-dir": { type: "string", args: "dir", description: m(1748, null) }, "disable-telemetry": { type: "boolean" }, "telemetry-level": { type: "string" } } }, diff: { type: "boolean", cat: "o", alias: "d", args: ["file", "file"], description: m(1749, null) }, merge: { type: "boolean", cat: "o", alias: "m", args: ["path1", "path2", "base", "result"], description: m(1750, null) }, add: { type: "boolean", cat: "o", alias: "a", args: "folder", description: m(1751, null) }, goto: { type: "boolean", cat: "o", alias: "g", args: "file:line[:character]", description: m(1752, null) }, "new-window": { type: "boolean", cat: "o", alias: "n", description: m(1753, null) }, "reuse-window": { type: "boolean", cat: "o", alias: "r", description: m(1754, null) }, wait: { type: "boolean", cat: "o", alias: "w", description: m(1755, null) }, waitMarkerFilePath: { type: "string" }, locale: { type: "string", cat: "o", args: "locale", description: m(1756, null) }, "user-data-dir": { type: "string", cat: "o", args: "dir", description: m(1757, null) }, profile: { type: "string", cat: "o", args: "profileName", description: m(1758, null) }, help: { type: "boolean", cat: "o", alias: "h", description: m(1759, null) }, "extensions-dir": { type: "string", deprecates: ["extensionHomePath"], cat: "e", args: "dir", description: m(1760, null) }, "extensions-download-dir": { type: "string" }, "builtin-extensions-dir": { type: "string" }, "list-extensions": { type: "boolean", cat: "e", description: m(1761, null) }, "show-versions": { type: "boolean", cat: "e", description: m(1762, null) }, category: { type: "string", allowEmptyValue: !0, cat: "e", description: m(1763, null), args: "category" }, "install-extension": { type: "string[]", cat: "e", args: "ext-id | path", description: m(1764, null) }, "pre-release": { type: "boolean", cat: "e", description: m(1765, null) }, "uninstall-extension": { type: "string[]", cat: "e", args: "ext-id", description: m(1766, null) }, "update-extensions": { type: "boolean", cat: "e", description: m(1767, null) }, "enable-proposed-api": { type: "string[]", allowEmptyValue: !0, cat: "e", args: "ext-id", description: m(1768, null) }, version: { type: "boolean", cat: "t", alias: "v", description: m(1769, null) }, verbose: { type: "boolean", cat: "t", global: !0, description: m(1770, null) }, log: { type: "string[]", cat: "t", args: "level", global: !0, description: m(1771, null) }, status: { type: "boolean", alias: "s", cat: "t", description: m(1772, null) }, "prof-startup": { type: "boolean", cat: "t", description: m(1773, 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: m(1774, null) }, "disable-extension": { type: "string[]", cat: "t", args: "ext-id", description: m(1775, null) }, sync: { type: "string", cat: "t", description: m(1776, null), args: ["on | off"] }, "inspect-extensions": { type: "string", allowEmptyValue: !0, deprecates: ["debugPluginHost"], args: "port", cat: "t", description: m(1777, null) }, "inspect-brk-extensions": { type: "string", allowEmptyValue: !0, deprecates: ["debugBrkPluginHost"], args: "port", cat: "t", description: m(1778, null) }, "disable-lcd-text": { type: "boolean", cat: "t", description: m(1779, null) }, "disable-gpu": { type: "boolean", cat: "t", description: m(1780, null) }, "disable-chromium-sandbox": { type: "boolean", cat: "t", description: m(1781, null) }, sandbox: { type: "boolean" }, telemetry: { type: "boolean", cat: "t", description: m(1782, 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-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" }, "install-source": { type: "string" }, "enable-smoke-test-driver": { type: "boolean" }, logExtensionHostCommunication: { type: "boolean" }, "skip-release-notes": { type: "boolean" }, "skip-welcome": { type: "boolean" }, "disable-telemetry": { type: "boolean" }, "disable-updates": { type: "boolean" }, "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" }, trace: { 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" }, "locate-shell-integration-path": { type: "string", args: ["bash", "pwsh", "zsh", "fish"] }, "enable-coi": { 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" }, _: { type: "string[]" } }, N5 = { onUnknownOption: () => { }, onMultipleValues: () => { }, onEmptyValue: () => { }, onDeprecatedOption: () => { } } } }); import "assert"; function O5(e) { return e.VSCODE_CLI === "1" } var UR = v({ "out-build/vs/platform/environment/node/argvHelper.js"() { "use strict"; he(), Yu() } }); function MR(e, t, s) { return Math.min(Math.max(e, t), s) } var FR = v({ "out-build/vs/base/common/numbers.js"() { "use strict" } }); import { spawn as BR } from "child_process"; async function Yp(e, t, s, i) { return s["force-disable-user-env"] ? (t.trace("resolveShellEnv(): skipped (--force-disable-user-env)"), {}) : me ? (t.trace("resolveShellEnv(): skipped (Windows)"), {}) : O5(i) && !s["force-user-env"] ? (t.trace("resolveShellEnv(): skipped (VSCODE_CLI is set)"), {}) : (O5(i) ? t.trace("resolveShellEnv(): running (--force-user-env)") : t.trace("resolveShellEnv(): running (macOS/Linux)"), Xu || (Xu = Kt.withAsyncBody(async (n, r) => { const o = new Ei; let a = 1e4; const c = e.getValue("application.shellEnvironmentResolutionTimeout"); typeof c == "number" && (a = MR(c, 1, 120) * 1e3); const l = setTimeout(() => { o.dispose(!0), r(new Error(m(2103, null))) }, a); try { n(await HR(t, o.token)) } catch (u) { !In(u) && !o.token.isCancellationRequested ? r(new Error(m(2104, null, Cn(u)))) : n({}) } finally { clearTimeout(l), o.dispose() } })), Xu) } async function HR(e, t) { const s = process.env.ELECTRON_RUN_AS_NODE; e.trace("getUnixShellEnvironment#runAsNode", s); const i = process.env.ELECTRON_NO_ATTACH_CONSOLE; e.trace("getUnixShellEnvironment#noAttach", i); const n = We().replace(/-/g, "").substr(0, 12), r = new RegExp(n + "({.*})" + n), o = { ...process.env, ELECTRON_RUN_AS_NODE: "1", ELECTRON_NO_ATTACH_CONSOLE: "1", VSCODE_RESOLVING_ENVIRONMENT: "1" }; e.trace("getUnixShellEnvironment#env", o); const a = await S5(dr, o); return e.trace("getUnixShellEnvironment#shell", a), new Promise((c, l) => { if (t.isCancellationRequested) return l(new It); const u = at(a); let h, d; const p = ""; /^pwsh(-preview)?$/.test(u) ? (h = `& '${process.execPath}' ${p} -p '''${n}'' + JSON.stringify(process.env) + ''${n}'''`, d = ["-Login", "-Command"]) : u === "nu" ? (h = `^'${process.execPath}' ${p} -p '"${n}" + JSON.stringify(process.env) + "${n}"'`, d = ["-i", "-l", "-c"]) : u === "xonsh" ? (h = `import os, json; print("${n}", json.dumps(dict(os.environ)), "${n}")`, d = ["-i", "-l", "-c"]) : (h = `'${process.execPath}' ${p} -p '"${n}" + JSON.stringify(process.env) + "${n}"'`, u === "tcsh" || u === "csh" ? d = ["-ic"] : d = ["-i", "-l", "-c"]), e.trace("getUnixShellEnvironment#spawn", JSON.stringify(d), h); const g = BR(a, [...d, h], { detached: !0, stdio: ["ignore", "pipe", "pipe"], env: o }); t.onCancellationRequested(() => (g.kill(), l(new It))), g.on("error", x => { e.error("getUnixShellEnvironment#errorChildProcess", Cn(x)), l(x) }); const w = []; g.stdout.on("data", x => w.push(x)); const y = []; g.stderr.on("data", x => y.push(x)), g.on("close", (x, k) => { const A = Buffer.concat(w).toString("utf8"); e.trace("getUnixShellEnvironment#raw", A); const I = Buffer.concat(y).toString("utf8"); if (I.trim() && e.trace("getUnixShellEnvironment#stderr", I), x || k) return l(new Error(m(2105, null, x, k))); const L = r.exec(A), q = L ? L[1] : "{}"; try { const te = JSON.parse(q); s ? te.ELECTRON_RUN_AS_NODE = s : delete te.ELECTRON_RUN_AS_NODE, i ? te.ELECTRON_NO_ATTACH_CONSOLE = i : delete te.ELECTRON_NO_ATTACH_CONSOLE, delete te.VSCODE_RESOLVING_ENVIRONMENT, delete te.XDG_RUNTIME_DIR, e.trace("getUnixShellEnvironment#result", te), c(te) } catch (te) { e.error("getUnixShellEnvironment#errorCaught", Cn(te)), l(te) } }) }) } var Xu, Xp = v({ "out-build/vs/platform/shell/node/shellEnv.js"() { "use strict"; de(), he(), Dt(), yr(), fe(), X(), Wt(), P5(), UR(), Ue(), FR(), Xu = void 0 } }); import { parse as C5 } from "url"; function zR(e, t) { return e.protocol === "http:" ? t.HTTP_PROXY || t.http_proxy || null : e.protocol === "https:" && (t.HTTPS_PROXY || t.https_proxy || t.HTTP_PROXY || t.http_proxy) || null } async function VR(e, t, s = {}) { const i = C5(e), n = s.proxyUrl || zR(i, t); if (!n) return null; const r = C5(n); if (!/^https?:$/.test(r.protocol || "")) return null; const o = { host: r.hostname || "", port: (r.port ? +r.port : 0) || (r.protocol === "https" ? 443 : 80), auth: r.auth, rejectUnauthorized: ii(s.strictSSL) ? s.strictSSL : !0 }; if (i.protocol === "http:") { const { default: a } = await import("http-proxy-agent"); return new a.HttpProxyAgent(n, o) } else { const { default: a } = await import("https-proxy-agent"); return new a.HttpsProxyAgent(n, o) } } var WR = v({ "out-build/vs/platform/request/node/proxy.js"() { "use strict"; $e() } }); import { parse as _5 } from "url"; import { createGunzip as qR } from "zlib"; async function GR(e, t, s, i) { const n = await import("kerberos"), r = n.default || n, o = new URL(e), a = t || (process.platform === "win32" ? `HTTP/${o.hostname}` : `HTTP@${o.hostname}`); return s.debug(`${i} Kerberos authentication lookup`, `proxyURL:${o}`, `spn:${a}`), (await r.initializeClient(a)).step("") } async function JR(e) { return (_5(e.url).protocol === "https:" ? await import("https") : await import("http")).request } async function j5(e, t) { return Kt.withAsyncBody(async (s, i) => { const n = _5(e.url), r = e.getRawRequest ? e.getRawRequest(e) : await JR(e), o = { hostname: n.hostname, port: n.port ? parseInt(n.port) : n.protocol === "https:" ? 443 : 80, protocol: n.protocol, path: n.path, method: e.type || "GET", headers: e.headers, agent: e.agent, rejectUnauthorized: ii(e.strictSSL) ? e.strictSSL : !0 }; e.user && e.password && (o.auth = e.user + ":" + e.password); const a = r(o, c => { const l = On(e.followRedirects) ? e.followRedirects : 3; if (c.statusCode && c.statusCode >= 300 && c.statusCode < 400 && l > 0 && c.headers.location) j5({ ...e, url: c.headers.location, followRedirects: l - 1 }, t).then(s, i); else { let u = c; !e.isChromiumNetwork && c.headers["content-encoding"] === "gzip" && (u = c.pipe(qR())), s({ res: c, stream: uD(u) }) } }); a.on("error", i), e.timeout && a.setTimeout(e.timeout), e.isChromiumNetwork && a.removeHeader("Content-Length"), e.data && typeof e.data == "string" && a.write(e.data), a.end(), t.onCancellationRequested(() => { a.abort(), i(new It) }) }) } var yc, T5 = v({ "out-build/vs/platform/request/node/requestService.js"() { "use strict"; Ue(), Me(), fe(), $e(), ds(), ps(), Xp(), Re(), Dr(), WR(), yc = class extends i5 { constructor(t, s, i) { super(i), this.m = t, this.n = s, this.r(), this.B(t.onDidChangeConfiguration(n => { n.affectsConfiguration("http") && this.r() })) } r() { const t = this.m.getValue("http"); this.f = t?.proxy, this.g = !!t?.proxyStrictSSL, this.h = t?.proxyAuthorization } async request(t, s) { const { f: i, g: n } = this; let r; try { r = await Yp(this.m, this.b, this.n.args, process.env) } catch (c) { this.j || (this.j = !0, this.b.error("resolving shell environment failed", ge(c))) } const o = { ...process.env, ...r }, a = t.agent ? t.agent : await VR(t.url || "", o, { proxyUrl: i, strictSSL: n }); return t.agent = a, t.strictSSL = n, this.h && (t.headers = { ...t.headers || {}, "Proxy-Authorization": this.h }), this.c(t, () => j5(t, s)) } async resolveProxy(t) { } async lookupAuthorization(t) { } async lookupKerberosAuthorization(t) { try { const s = this.m.getValue("http.proxyKerberosServicePrincipal"); return "Negotiate " + await GR(t, s, this.b, "RequestService#lookupKerberosAuthorization") } catch (s) { this.b.debug("RequestService#lookupKerberosAuthorization Kerberos authentication failed", s); return } } async loadCertificates() { return (await import("@vscode/proxy-agent")).loadSystemCertificates({ log: this.b }) } }, yc = __decorate([__param(0, ts), __param(1, zs), __param(2, pe)], yc) } }); function U5(e) { if (!e) return; const t = e.indexOf("+"); return t < 0 ? e : e.substr(0, t) } var Qp = v({ "out-build/vs/platform/remote/common/remoteHosts.js"() { "use strict"; De() } }); function YR(e) { if (ro === 2 && /^penguin(\.|$)/i.test(e)) return "chromebook" } function XR(e, t, s, i, n, r, o, a, c, l) { const u = Object.create(null); u["common.machineId"] = r, u["common.sqmId"] = o, u["common.devDeviceId"] = a, u.sessionID = We() + Date.now(), u.commitHash = i, u.version = n, u["common.platformVersion"] = (e || "").replace(/^(\d+)(\.\d+)?(\.\d+)?(.*)/, "$1$2$3"), u["common.platform"] = Qv(ro), u["common.nodePlatform"] = q1, u["common.nodeArch"] = s, u["common.product"] = l || "desktop", c && (u["common.msftInternal"] = c); let h = 0; const d = Date.now(); Object.defineProperties(u, { timestamp: { get: () => new Date, enumerable: !0 }, "common.timesincesessionstart": { get: () => Date.now() - d, enumerable: !0 }, "common.sequence": { get: () => h++, enumerable: !0 } }), nb && (u["common.snap"] = "true"); const p = YR(t); return p && (u["common.platformDetail"] = p), u } function QR(e) { const t = js.USERDNSDOMAIN; if (!t) return !1; const s = t.toLowerCase(); return e.some(i => s === i) } var M5 = v({ "out-build/vs/platform/telemetry/common/commonProperties.js"() { "use strict"; X(), ti(), Wt() } }), qt, ZR, Zp, Ec, Kp, Qu, F5, B5, As = v({ "out-build/vs/platform/telemetry/common/telemetry.js"() { "use strict"; oe(), qt = se("telemetryService"), ZR = se("customEndpointTelemetryService"), Zp = "telemetry", Ec = "telemetry.telemetryLevel", Kp = "telemetry.enableCrashReporter", Qu = "telemetry.enableTelemetry", function (e) { e[e.NONE = 0] = "NONE", e[e.CRASH = 1] = "CRASH", e[e.ERROR = 2] = "ERROR", e[e.USAGE = 3] = "USAGE" }(F5 || (F5 = {})), function (e) { e.OFF = "off", e.CRASH = "crash", e.ERROR = "error", e.ON = "all" }(B5 || (B5 = {})) } }); function H5(e, t) { return !t.isBuilt && !t.disableTelemetry ? !0 : !(t.disableTelemetry || !e.enableTelemetry) } function KR(e, t) { return t.extensionTestsLocationURI ? !0 : !(t.isBuilt || t.disableTelemetry || e.enableTelemetry && e.aiConfig?.ariaKey) } function z5(e) { const t = e.getValue(Ec), s = e.getValue(Kp); if (e.getValue(Qu) === !1 || s === !1) return 0; switch (t ?? "all") { case "all": return 3; case "error": return 2; case "crash": return 1; case "off": return 0 } } function eL(e) { const t = {}, s = {}, i = {}; V5(e, i); for (let n in i) { n = n.length > 150 ? n.substr(n.length - 149) : n; const r = i[n]; typeof r == "number" ? s[n] = r : typeof r == "boolean" ? s[n] = r ? 1 : 0 : typeof r == "string" ? (r.length > 8192 && console.warn(`Telemetry property: ${n} has been trimmed to 8192, the original length is ${r.length}`), t[n] = r.substring(0, 8191)) : typeof r < "u" && r !== null && (t[n] = r) } return { properties: t, measurements: s } } function tL(e) { if (!e) return "none"; const t = U5(e); return J5.has(t) ? t : "other" } function V5(e, t, s = 0, i) { if (e) for (const n of Object.getOwnPropertyNames(e)) { const r = e[n], o = i ? i + n : n; Array.isArray(r) ? t[o] = Lp(r) : r instanceof Date ? t[o] = r.toISOString() : ct(r) ? s < 2 ? V5(r, t, s + 1, o + ".") : t[o] = Lp(r) : t[o] = r } } function sL(e, t) { const s = e.msftInternalDomains || [], i = t.getValue("telemetry.internalTesting"); return QR(s) || i } function iL(e) { return [e.appRoot, e.extensionsPath, e.userHome.fsPath, e.tmpDir.fsPath, e.userDataPath] } function nL(e, t) { if (!e || !e.includes("/") && !e.includes("\\")) return e; let s = e; const i = []; for (const a of t) for (; ;) { const c = a.exec(e); if (!c) break; i.push([c.index, a.lastIndex]) } const n = /^[\\\/]?(node_modules|node_modules\.asar)[\\\/]/, r = /(file:\/\/)?([a-zA-Z]:(\\\\|\\|\/)|(\\\\|\\|\/))?([\w-\._]+(\\\\|\\|\/))+[\w-\._]*/g; let o = 0; for (s = ""; ;) { const a = r.exec(e); if (!a) break; const c = i.some(([l, u]) => a.index < u && l < r.lastIndex); !n.test(a[0]) && !c && (s += e.substring(o, a.index) + "<REDACTED: user-file-path>", o = r.lastIndex) } return o < e.length && (s += e.substr(o)), s } function rL(e) { if (!e) return e; const t = [{ label: "Google API Key", regex: /AIza[A-Za-z0-9_\\\-]{35}/ }, { label: "Slack Token", regex: /xox[pbar]\-[A-Za-z0-9]/ }, { label: "GitHub Token", regex: /(gh[psuro]_[a-zA-Z0-9]{36}|github_pat_[a-zA-Z0-9]{22}_[a-zA-Z0-9]{59})/ }, { label: "Generic Secret", regex: /(key|token|sig|secret|signature|password|passwd|pwd|android:value)[^a-zA-Z0-9]/i }, { label: "CLI Credentials", regex: /((login|psexec|(certutil|psexec)\.exe).{1,50}(\s-u(ser(name)?)?\s+.{3,100})?\s-(admin|user|vm|root)?p(ass(word)?)?\s+["']?[^$\-\/\s]|(^|[\s\r\n\\])net(\.exe)?.{1,5}(user\s+|share\s+\/user:| user -? secrets ? set) \s + [^ $\s \/])/ }, { label: "Microsoft Entra ID", regex: /eyJ(?:0eXAiOiJKV1Qi|hbGci|[a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+\.)/ }, { label: "Email", regex: /@[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+/ }]; for (const s of t) if (s.regex.test(e)) return `<REDACTED: ${s.label}>`; return e } function em(e, t) { return un(e, s => { if (s instanceof xc || Object.hasOwnProperty.call(s, "isTrustedTelemetryValue")) return s.value; if (typeof s == "string") { let i = s.replaceAll("%20", " "); i = nL(i, t); for (const n of t) i = i.replace(n, ""); return i = rL(i), i } }) } var xc, tm, W5, q5, G5, J5, fn = v({ "out-build/vs/platform/telemetry/common/telemetryUtils.js"() { "use strict"; es(), $e(), Qp(), M5(), As(), xc = class { constructor(e) { this.value = e, this.isTrustedTelemetryValue = !0 } }, tm = class { constructor() { this.telemetryLevel = 0, this.sessionId = "someValue.sessionId", this.machineId = "someValue.machineId", this.sqmId = "someValue.sqmId", this.devDeviceId = "someValue.devDeviceId", this.firstSessionDate = "someValue.firstSessionDate", this.sendErrorTelemetry = !1 } publicLog() { } publicLog2() { } publicLogError() { } publicLogError2() { } setExperimentProperty() { } }, W5 = new tm, q5 = "extensionTelemetryLog", G5 = { log: () => null, flush: () => Promise.resolve(void 0) }, J5 = new Set(["ssh-remote", "dev-container", "attached-container", "wsl", "tunnel", "codespaces", "amlext"]) } }); function Y5(e) { switch (e) { case "win32-x64": return "Windows 64 bit"; case "win32-arm64": return "Windows ARM"; case "linux-x64": return "Linux 64 bit"; case "linux-arm64": return "Linux ARM 64"; case "linux-armhf": return "Linux ARM"; case "alpine-x64": return "Alpine Linux 64 bit"; case "alpine-arm64": return "Alpine ARM 64"; case "darwin-x64": return "Mac"; case "darwin-arm64": return "Mac Silicon"; case "web": return "Web"; case "universal": return "universal"; case "unknown": return "unknown"; case "undefined": return "undefined" } } function oL(e) { switch (e) { case "win32-x64": return "win32-x64"; case "win32-arm64": return "win32-arm64"; case "linux-x64": return "linux-x64"; case "linux-arm64": return "linux-arm64"; case "linux-armhf": return "linux-armhf"; case "alpine-x64": return "alpine-x64"; case "alpine-arm64": return "alpine-arm64"; case "darwin-x64": return "darwin-x64"; case "darwin-arm64": return "darwin-arm64"; case "web": return "web"; case "universal": return "universal"; default: return "unknown" } } function X5(e, t) { switch (e) { case 3: return t === "x64" ? "win32-x64" : t === "arm64" ? "win32-arm64" : "unknown"; case 2: return t === "x64" ? "linux-x64" : t === "arm64" ? "linux-arm64" : t === "arm" ? "linux-armhf" : "unknown"; case "alpine": return t === "x64" ? "alpine-x64" : t === "arm64" ? "alpine-arm64" : "unknown"; case 1: return t === "x64" ? "darwin-x64" : t === "arm64" ? "darwin-arm64" : "unknown"; case 0: return "web" } } function kc(e, t) { return t === "web" && !e.includes("web") } function sm(e, t, s) { return kc(t, s) ? !1 : e === "undefined" || e === "universal" ? !0 : e === "unknown" ? !1 : e === s } function aL(e) { return e && typeof e == "object" && typeof e.id == "string" && (!e.uuid || typeof e.uuid == "string") } async function im(e, t) { const s = await t.resolve(e); return s.children ? (await Promise.all(s.children.map(n => im(n.resource, t)))).reduce((n, r) => n + r, 0) : s.size ?? 0 } var Q5, Z5, K5, nm, e6, t6, s6, i6, n6, r6, o6, oi, a6, $c, c6, Lt, tt, Zu, cL, lL, dn, uL, hL, l6, Ku, Ds = v({ "out-build/vs/platform/extensionManagement/common/extensionManagement.js"() { "use strict"; he(), oe(), Q5 = "^([a-z0-9A-Z][a-z0-9-A-Z]*)\\.([a-z0-9A-Z][a-z0-9-A-Z]*)$", Z5 = new RegExp(Q5), K5 = "__web_extension", nm = "extensionInstallSource", e6 = "dependecyOrPackExtensionInstall", t6 = "clientTargetPlatform", function (e) { e.COMMAND = "command", e.SETTINGS_SYNC = "settingsSync" }(s6 || (s6 = {})), function (e) { e[e.NoneOrRelevance = 0] = "NoneOrRelevance", e[e.LastUpdatedDate = 1] = "LastUpdatedDate", e[e.Title = 2] = "Title", e[e.PublisherName = 3] = "PublisherName", e[e.InstallCount = 4] = "InstallCount", e[e.PublishedDate = 10] = "PublishedDate", e[e.AverageRating = 6] = "AverageRating", e[e.WeightedRating = 12] = "WeightedRating" }(i6 || (i6 = {})), function (e) { e[e.Default = 0] = "Default", e[e.Ascending = 1] = "Ascending", e[e.Descending = 2] = "Descending" }(n6 || (n6 = {})), function (e) { e.Install = "install", e.Uninstall = "uninstall" }(r6 || (r6 = {})), function (e) { e[e.None = 1] = "None", e[e.Install = 2] = "Install", e[e.Update = 3] = "Update", e[e.Migrate = 4] = "Migrate" }(o6 || (o6 = {})), oi = se("extensionGalleryService"), function (e) { e.Timeout = "Timeout", e.Cancelled = "Cancelled", e.Failed = "Failed", e.DownloadFailedWriting = "DownloadFailedWriting", e.Offline = "Offline" }(a6 || (a6 = {})), $c = class extends Error { constructor(e, t) { super(e), this.code = t, this.name = t } }, function (e) { e.Unsupported = "Unsupported", e.Deprecated = "Deprecated", e.Malicious = "Malicious", e.Incompatible = "Incompatible", e.IncompatibleApi = "IncompatibleApi", e.IncompatibleTargetPlatform = "IncompatibleTargetPlatform", e.ReleaseVersionNotFound = "ReleaseVersionNotFound", e.Invalid = "Invalid", e.Download = "Download", e.DownloadSignature = "DownloadSignature", e.DownloadFailedWriting = "DownloadFailedWriting", e.UpdateMetadata = "UpdateMetadata", e.Extract = "Extract", e.Scanning = "Scanning", e.ScanningExtension = "ScanningExtension", e.ReadUninstalled = "ReadUninstalled", e.UnsetUninstalled = "UnsetUninstalled", e.Delete = "Delete", e.Rename = "Rename", e.IntializeDefaultProfile = "IntializeDefaultProfile", e.AddToProfile = "AddToProfile", e.InstalledExtensionNotFound = "InstalledExtensionNotFound", e.PostInstall = "PostInstall", e.CorruptZip = "CorruptZip", e.IncompleteZip = "IncompleteZip", e.PackageNotSigned = "PackageNotSigned", e.SignatureVerificationInternal = "SignatureVerificationInternal", e.SignatureVerificationFailed = "SignatureVerificationFailed", e.NotAllowed = "NotAllowed", e.Gallery = "Gallery", e.Cancelled = "Cancelled", e.Unknown = "Unknown", e.Internal = "Internal" }(c6 || (c6 = {})), function (e) { e.NotSigned = "NotSigned", e.Success = "Success", e.RequiredArgumentMissing = "RequiredArgumentMissing", e.InvalidArgument = "InvalidArgument", e.PackageIsUnreadable = "PackageIsUnreadable", e.UnhandledException = "UnhandledException", e.SignatureManifestIsMissing = "SignatureManifestIsMissing", e.SignatureManifestIsUnreadable = "SignatureManifestIsUnreadable", e.SignatureIsMissing = "SignatureIsMissing", e.SignatureIsUnreadable = "SignatureIsUnreadable", e.CertificateIsUnreadable = "CertificateIsUnreadable", e.SignatureArchiveIsUnreadable = "SignatureArchiveIsUnreadable", e.FileAlreadyExists = "FileAlreadyExists", e.SignatureArchiveIsInvalidZip = "SignatureArchiveIsInvalidZip", e.SignatureArchiveHasSameSignatureFile = "SignatureArchiveHasSameSignatureFile", e.PackageIntegrityCheckFailed = "PackageIntegrityCheckFailed", e.SignatureIsInvalid = "SignatureIsInvalid", e.SignatureManifestIsInvalid = "SignatureManifestIsInvalid", e.SignatureIntegrityCheckFailed = "SignatureIntegrityCheckFailed", e.EntryIsMissing = "EntryIsMissing", e.EntryIsTampered = "EntryIsTampered", e.Untrusted = "Untrusted", e.CertificateRevoked = "CertificateRevoked", e.SignatureIsNotValid = "SignatureIsNotValid", e.UnknownError = "UnknownError", e.PackageIsInvalidZip = "PackageIsInvalidZip", e.SignatureArchiveHasTooManyEntries = "SignatureArchiveHasTooManyEntries" }(Lt || (Lt = {})), tt = class extends Error { constructor(e, t) { super(e), this.code = t, this.name = t } }, Zu = se("extensionManagementService"), cL = se("IGlobalExtensionEnablementService"), lL = se("IExtensionTipsService"), dn = se("IAllowedExtensionsService"), uL = Yv(1820, "Extensions"), hL = Yv(1821, "Preferences"), l6 = "extensions.gallery.useUnpkgResourceApi", Ku = "extensions.allowed" } }); function u6(e) { return e instanceof h6 ? !0 : e instanceof Error && e.name === eh && e.message === eh } var eh, h6, fL = v({ "out-build/vs/base/parts/request/common/request.js"() { "use strict"; eh = "Offline", h6 = class extends Error { constructor() { super(eh), this.name = this.message } } } }); function f6(e) { return dL(e) } function dL(e) { return e.contributes && e.contributes.localizations ? e.contributes.localizations.length > 0 : !1 } function pL(e) { return e.map(t => { const [s, i] = t.split("@"); return { proposalName: s, version: i ? parseInt(i) : void 0 } }) } function mL(e) { return e.map(t => t.split("@")[0]) } var rm, d6, om, p6, m6, g6, Bn, am, gL, Ii = v({ "out-build/vs/platform/extensions/common/extensions.js"() { "use strict"; et(), oe(), Qp(), rm = "extensions.user.cache", d6 = "extensions.builtin.cache", om = "undefined_publisher", p6 = ["AI", "Azure", "Chat", "Data Science", "Debuggers", "Extension Packs", "Education", "Formatters", "Keymaps", "Language Packs", "Linters", "Machine Learning", "Notebooks", "Programming Languages", "SCM Providers", "Snippets", "Testing", "Themes", "Visualization", "Other"], function (e) { e[e.System = 0] = "System", e[e.User = 1] = "User" }(m6 || (m6 = {})), function (e) { e.WIN32_X64 = "win32-x64", e.WIN32_ARM64 = "win32-arm64", e.LINUX_X64 = "linux-x64", e.LINUX_ARM64 = "linux-arm64", e.LINUX_ARMHF = "linux-armhf", e.ALPINE_X64 = "alpine-x64", e.ALPINE_ARM64 = "alpine-arm64", e.DARWIN_X64 = "darwin-x64", e.DARWIN_ARM64 = "darwin-arm64", e.WEB = "web", e.UNIVERSAL = "universal", e.UNKNOWN = "unknown", e.UNDEFINED = "undefined" }(g6 || (g6 = {})), Bn = class { constructor(e) { this.value = e, this._lower = e.toLowerCase() } static equals(e, t) { if (typeof e > "u" || e === null) return typeof t > "u" || t === null; if (typeof t > "u" || t === null) return !1; if (typeof e == "string" || typeof t == "string") { const s = typeof e == "string" ? e : e.value, i = typeof t == "string" ? t : t.value; return Ln(s, i) } return e._lower === t._lower } static toKey(e) { return typeof e == "string" ? e.toLowerCase() : e._lower } }, am = class { constructor() { this.c = new Map } clear() { this.c.clear() } delete(e) { this.c.delete(Bn.toKey(e)) } get(e) { return this.c.get(Bn.toKey(e)) } has(e) { return this.c.has(Bn.toKey(e)) } set(e, t) { this.c.set(Bn.toKey(e), t) } values() { return this.c.values() } forEach(e) { this.c.forEach(e) } [Symbol.iterator]() { return this.c[Symbol.iterator]() } }, gL = se("IBuiltinExtensionsScannerService") } }); function xe(e, t) { return e.uuid && t.uuid ? e.uuid === t.uuid : e.id === t.id ? !0 : V1(e.id, t.id) === 0 } function cm(e) { const t = y6.exec(e); return t && t[1] ? [th(t[1]), t[2]] : [th(e), void 0] } function lm(e, t) { return `${e}.${t}` } function th(e) { return e.toLowerCase() } function pn(e, t) { return th(lm(e ?? om, t)) } function w6(e, t) { const s = [], i = n => { for (const r of s) if (r.some(o => xe(t(o), t(n)))) return r; return null }; for (const n of e) { const r = i(n); r ? r.push(n) : s.push([n]) } return s } function wL(e) { return { id: e.identifier.id, name: e.manifest.name, galleryId: null, publisherId: e.publisherId, publisherName: e.manifest.publisher, publisherDisplayName: e.publisherDisplayName, dependencies: e.manifest.extensionDependencies && e.manifest.extensionDependencies.length > 0 } } function um(e) { return { id: new xc(e.identifier.id), name: new xc(e.name), extensionVersion: e.version, galleryId: e.identifier.uuid, publisherId: e.publisherId, publisherName: e.publisher, publisherDisplayName: e.publisherDisplayName, isPreReleaseVersion: e.properties.isPreReleaseVersion, dependencies: !!(e.properties.dependencies && e.properties.dependencies.length > 0), isSigned: e.isSigned, ...e.telemetryData } } async function vL(e, t) { if (!rt) return !1; let s; try { s = (await e.readFile(E.file("/etc/os-release"))).value.toString() } catch { try { s = (await e.readFile(E.file("/usr/lib/os-release"))).value.toString() } catch (n) { t.debug("Error while getting the os-release file.", ge(n)) } } return !!s && (s.match(/^ID=([^\u001b\r\n]*)/m) || [])[1] === "alpine" } async function v6(e, t) { const s = await vL(e, t), i = X5(s ? "alpine" : ro, G1); return t.debug("ComputeTargetPlatform:", i), i } var b6, is, y6, bL, mn = v({ "out-build/vs/platform/extensionManagement/common/extensionManagementUtil.js"() { "use strict"; et(), Ds(), Ii(), X(), ee(), fe(), ti(), fn(), b6 = /^([^.]+\..+)-(\d+\.\d+\.\d+)(-(.+))?$/, is = class f1 { static create(t) { const s = t.manifest ? t.manifest.version : t.version, i = t.manifest ? t.targetPlatform : t.properties.targetPlatform; return new f1(t.identifier, s, i) } static parse(t) { const s = b6.exec(t); return s && s[1] && s[2] ? new f1({ id: s[1] }, s[2], s[4] || void 0) : null } constructor(t, s, i = "undefined") { this.identifier = t, this.version = s, this.targetPlatform = i, this.id = t.id } toString() { return `${this.id}-${this.version}${this.targetPlatform !== "undefined" ? `-${this.targetPlatform}` : ""}` } equals(t) { return t instanceof f1 ? xe(this, t) && this.version === t.version && this.targetPlatform === t.targetPlatform : !1 } }, y6 = /^([^.]+\..+)@((prerelease)|(\d+\.\d+\.\d+(-.*)?))$/, bL = new Bn("pprice.better-merge") } }), Sc, Ze, sh = v({ "out-build/vs/base/common/severity.js"() { "use strict"; et(), function (e) { e[e.Ignore = 0] = "Ignore", e[e.Info = 1] = "Info", e[e.Warning = 2] = "Warning", e[e.Error = 3] = "Error" }(Sc || (Sc = {})), function (e) { const t = "error", s = "warning", i = "warn", n = "info", r = "ignore"; function o(c) { return c ? Ln(t, c) ? e.Error : Ln(s, c) || Ln(i, c) ? e.Warning : Ln(n, c) ? e.Info : e.Ignore : e.Ignore } e.fromValue = o; function a(c) { switch (c) { case e.Error: return t; case e.Warning: return s; case e.Info: return n; default: return r } } e.toString = a }(Sc || (Sc = {})), Ze = Sc } }), Pc, be, yL, EL, E6, xL, kL, $L, SL, PL, IL, AL, ih, x6, DL, RL, k6, LL, NL, OL, hm, CL, _L, jL, TL, UL, ML, FL, BL, HL, zL, VL, WL, qL, GL, JL, YL, XL, QL, Ro = v({ "out-build/vs/base/common/semver/semver.js"() { "use strict"; Pc = {}, be = { exports: Pc }, function (e, t) { if (typeof Pc == "object" && typeof be == "object") be.exports = t(); else if (typeof define == "function" && define.amd) define([], t); else { var s = t(); for (var i in s) (typeof Pc == "object" ? Pc : e)[i] = s[i] } }(typeof self < "u" ? self : void 0, function () { return function (e) { var t = {}; function s(i) { if (t[i]) return t[i].exports; var n = t[i] = { i, l: !1, exports: {} }; return e[i].call(n.exports, n, n.exports, s), n.l = !0, n.exports } return s.m = e, s.c = t, s.d = function (i, n, r) { s.o(i, n) || Object.defineProperty(i, n, { enumerable: !0, get: r }) }, s.r = function (i) { typeof Symbol < "u" && Symbol.toStringTag && Object.defineProperty(i, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(i, "__esModule", { value: !0 }) }, s.t = function (i, n) { if (1 & n && (i = s(i)), 8 & n || 4 & n && typeof i == "object" && i && i.__esModule) return i; var r = Object.create(null); if (s.r(r), Object.defineProperty(r, "default", { enumerable: !0, value: i }), 2 & n && typeof i != "string") for (var o in i) s.d(r, o, function (a) { return i[a] }.bind(null, o)); return r }, s.n = function (i) { var n = i && i.__esModule ? function () { return i.default } : function () { return i }; return s.d(n, "a", n), n }, s.o = function (i, n) { return Object.prototype.hasOwnProperty.call(i, n) }, s.p = "", s(s.s = 0) }([function (e, t, s) { (function (i) { var n; t = e.exports = Oe, n = typeof i == "object" && i.env && i.env.NODE_DEBUG && /\bsemver\b/i.test(i.env.NODE_DEBUG) ? function () { var b = Array.prototype.slice.call(arguments, 0); b.unshift("SEMVER"), console.log.apply(console, b) } : function () { }, t.SEMVER_SPEC_VERSION = "2.0.0"; var r = 256, o = Number.MAX_SAFE_INTEGER || 9007199254740991, a = t.re = [], c = t.src = [], l = 0, u = l++; c[u] = "0|[1-9]\\d*"; var h = l++; c[h] = "[0-9]+"; var d = l++; c[d] = "\\d*[a-zA-Z-][a-zA-Z0-9-]*"; var p = l++; c[p] = "(" + c[u] + ")\\.(" + c[u] + ")\\.(" + c[u] + ")"; var g = l++; c[g] = "(" + c[h] + ")\\.(" + c[h] + ")\\.(" + c[h] + ")"; var w = l++; c[w] = "(?:" + c[u] + "|" + c[d] + ")"; var y = l++; c[y] = "(?:" + c[h] + "|" + c[d] + ")"; var x = l++; c[x] = "(?:-(" + c[w] + "(?:\\." + c[w] + ")*))"; var k = l++; c[k] = "(?:-?(" + c[y] + "(?:\\." + c[y] + ")*))"; var A = l++; c[A] = "[0-9A-Za-z-]+"; var I = l++; c[I] = "(?:\\+(" + c[A] + "(?:\\." + c[A] + ")*))"; var L = l++, q = "v?" + c[p] + c[x] + "?" + c[I] + "?"; c[L] = "^" + q + "$"; var te = "[v=\\s]*" + c[g] + c[k] + "?" + c[I] + "?", V = l++; c[V] = "^" + te + "$"; var N = l++; c[N] = "((?:<|>)?=?)"; var le = l++; c[le] = c[h] + "|x|X|\\*"; var ue = l++; c[ue] = c[u] + "|x|X|\\*"; var K = l++; c[K] = "[v=\\s]*(" + c[ue] + ")(?:\\.(" + c[ue] + ")(?:\\.(" + c[ue] + ")(?:" + c[x] + ")?" + c[I] + "?)?)?"; var ht = l++; c[ht] = "[v=\\s]*(" + c[le] + ")(?:\\.(" + c[le] + ")(?:\\.(" + c[le] + ")(?:" + c[k] + ")?" + c[I] + "?)?)?"; var C = l++; c[C] = "^" + c[N] + "\\s*" + c[K] + "$"; var R = l++; c[R] = "^" + c[N] + "\\s*" + c[ht] + "$"; var M = l++; c[M] = "(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])"; var j = l++; c[j] = "(?:~>?)"; var G = l++; c[G] = "(\\s*)" + c[j] + "\\s+", a[G] = new RegExp(c[G], "g"); var ce = l++; c[ce] = "^" + c[j] + c[K] + "$"; var Ie = l++; c[Ie] = "^" + c[j] + c[ht] + "$"; var Je = l++; c[Je] = "(?:\\^)"; var vt = l++; c[vt] = "(\\s*)" + c[Je] + "\\s+", a[vt] = new RegExp(c[vt], "g"); var qi = l++; c[qi] = "^" + c[Je] + c[K] + "$"; var ur = l++; c[ur] = "^" + c[Je] + c[ht] + "$"; var Gi = l++; c[Gi] = "^" + c[N] + "\\s*(" + te + ")$|^$"; var Kr = l++; c[Kr] = "^" + c[N] + "\\s*(" + q + ")$|^$"; var pi = l++; c[pi] = "(\\s*)" + c[N] + "\\s*(" + te + "|" + c[K] + ")", a[pi] = new RegExp(c[pi], "g"); var Kl = l++; c[Kl] = "^\\s*(" + c[K] + ")\\s+-\\s+(" + c[K] + ")\\s*$"; var eu = l++; c[eu] = "^\\s*(" + c[ht] + ")\\s+-\\s+(" + c[ht] + ")\\s*$"; var Nv = l++; c[Nv] = "(<|>)?=?\\s*\\*"; for (var hr = 0; hr < 35; hr++)n(hr, c[hr]), a[hr] || (a[hr] = new RegExp(c[hr])); function fr(b, $) { if (b instanceof Oe) return b; if (typeof b != "string" || b.length > r || !($ ? a[V] : a[L]).test(b)) return null; try { return new Oe(b, $) } catch { return null } } function Oe(b, $) { if (b instanceof Oe) { if (b.loose === $) return b; b = b.version } else if (typeof b != "string") throw new TypeError("Invalid Version: " + b); if (b.length > r) throw new TypeError("version is longer than " + r + " characters"); if (!(this instanceof Oe)) return new Oe(b, $); n("SemVer", b, $), this.loose = $; var P = b.trim().match($ ? a[V] : a[L]); if (!P) throw new TypeError("Invalid Version: " + b); if (this.raw = b, this.major = +P[1], this.minor = +P[2], this.patch = +P[3], this.major > o || this.major < 0) throw new TypeError("Invalid major version"); if (this.minor > o || this.minor < 0) throw new TypeError("Invalid minor version"); if (this.patch > o || this.patch < 0) throw new TypeError("Invalid patch version"); P[4] ? this.prerelease = P[4].split(".").map(function (W) { if (/^[0-9]+$/.test(W)) { var ie = +W; if (ie >= 0 && ie < o) return ie } return W }) : this.prerelease = [], this.build = P[5] ? P[5].split(".") : [], this.format() } t.parse = fr, t.valid = function (b, $) { var P = fr(b, $); return P ? P.version : null }, t.clean = function (b, $) { var P = fr(b.trim().replace(/^[=v]+/, ""), $); return P ? P.version : null }, t.SemVer = Oe, Oe.prototype.format = function () { return this.version = this.major + "." + this.minor + "." + this.patch, this.prerelease.length && (this.version += "-" + this.prerelease.join(".")), this.version }, Oe.prototype.toString = function () { return this.version }, Oe.prototype.compare = function (b) { return n("SemVer.compare", this.version, this.loose, b), b instanceof Oe || (b = new Oe(b, this.loose)), this.compareMain(b) || this.comparePre(b) }, Oe.prototype.compareMain = function (b) { return b instanceof Oe || (b = new Oe(b, this.loose)), eo(this.major, b.major) || eo(this.minor, b.minor) || eo(this.patch, b.patch) }, Oe.prototype.comparePre = function (b) { if (b instanceof Oe || (b = new Oe(b, this.loose)), this.prerelease.length && !b.prerelease.length) return -1; if (!this.prerelease.length && b.prerelease.length) return 1; if (!this.prerelease.length && !b.prerelease.length) return 0; var $ = 0; do { var P = this.prerelease[$], W = b.prerelease[$]; if (n("prerelease compare", $, P, W), P === void 0 && W === void 0) return 0; if (W === void 0) return 1; if (P === void 0) return -1; if (P !== W) return eo(P, W) } while (++$) }, Oe.prototype.inc = function (b, $) { switch (b) { case "premajor": this.prerelease.length = 0, this.patch = 0, this.minor = 0, this.major++, this.inc("pre", $); break; case "preminor": this.prerelease.length = 0, this.patch = 0, this.minor++, this.inc("pre", $); break; case "prepatch": this.prerelease.length = 0, this.inc("patch", $), this.inc("pre", $); break; case "prerelease": this.prerelease.length === 0 && this.inc("patch", $), this.inc("pre", $); break; case "major": this.minor === 0 && this.patch === 0 && this.prerelease.length !== 0 || this.major++, this.minor = 0, this.patch = 0, this.prerelease = []; break; case "minor": this.patch === 0 && this.prerelease.length !== 0 || this.minor++, this.patch = 0, this.prerelease = []; break; case "patch": this.prerelease.length === 0 && this.patch++, this.prerelease = []; break; case "pre": if (this.prerelease.length === 0) this.prerelease = [0]; else { for (var P = this.prerelease.length; --P >= 0;)typeof this.prerelease[P] == "number" && (this.prerelease[P]++, P = -2); P === -1 && this.prerelease.push(0) } $ && (this.prerelease[0] === $ ? isNaN(this.prerelease[1]) && (this.prerelease = [$, 0]) : this.prerelease = [$, 0]); break; default: throw new Error("invalid increment argument: " + b) }return this.format(), this.raw = this.version, this }, t.inc = function (b, $, P, W) { typeof P == "string" && (W = P, P = void 0); try { return new Oe(b, P).inc($, W).version } catch { return null } }, t.diff = function (b, $) { if (y1(b, $)) return null; var P = fr(b), W = fr($); if (P.prerelease.length || W.prerelease.length) { for (var ie in P) if ((ie === "major" || ie === "minor" || ie === "patch") && P[ie] !== W[ie]) return "pre" + ie; return "prerelease" } for (var ie in P) if ((ie === "major" || ie === "minor" || ie === "patch") && P[ie] !== W[ie]) return ie }, t.compareIdentifiers = eo; var Ov = /^[0-9]+$/; function eo(b, $) { var P = Ov.test(b), W = Ov.test($); return P && W && (b = +b, $ = +$), P && !W ? -1 : W && !P ? 1 : b < $ ? -1 : b > $ ? 1 : 0 } function Ji(b, $, P) { return new Oe(b, P).compare(new Oe($, P)) } function tu(b, $, P) { return Ji(b, $, P) > 0 } function su(b, $, P) { return Ji(b, $, P) < 0 } function y1(b, $, P) { return Ji(b, $, P) === 0 } function Cv(b, $, P) { return Ji(b, $, P) !== 0 } function E1(b, $, P) { return Ji(b, $, P) >= 0 } function x1(b, $, P) { return Ji(b, $, P) <= 0 } function iu(b, $, P, W) { var ie; switch ($) { case "===": typeof b == "object" && (b = b.version), typeof P == "object" && (P = P.version), ie = b === P; break; case "!==": typeof b == "object" && (b = b.version), typeof P == "object" && (P = P.version), ie = b !== P; break; case "": case "=": case "==": ie = y1(b, P, W); break; case "!=": ie = Cv(b, P, W); break; case ">": ie = tu(b, P, W); break; case ">=": ie = E1(b, P, W); break; case "<": ie = su(b, P, W); break; case "<=": ie = x1(b, P, W); break; default: throw new TypeError("Invalid operator: " + $) }return ie } function Bs(b, $) { if (b instanceof Bs) { if (b.loose === $) return b; b = b.value } if (!(this instanceof Bs)) return new Bs(b, $); n("comparator", b, $), this.loose = $, this.parse(b), this.semver === La ? this.value = "" : this.value = this.operator + this.semver.version, n("comp", this) } t.rcompareIdentifiers = function (b, $) { return eo($, b) }, t.major = function (b, $) { return new Oe(b, $).major }, t.minor = function (b, $) { return new Oe(b, $).minor }, t.patch = function (b, $) { return new Oe(b, $).patch }, t.compare = Ji, t.compareLoose = function (b, $) { return Ji(b, $, !0) }, t.rcompare = function (b, $, P) { return Ji($, b, P) }, t.sort = function (b, $) { return b.sort(function (P, W) { return t.compare(P, W, $) }) }, t.rsort = function (b, $) { return b.sort(function (P, W) { return t.rcompare(P, W, $) }) }, t.gt = tu, t.lt = su, t.eq = y1, t.neq = Cv, t.gte = E1, t.lte = x1, t.cmp = iu, t.Comparator = Bs; var La = {}; function ft(b, $) { if (b instanceof ft) return b.loose === $ ? b : new ft(b.raw, $); if (b instanceof Bs) return new ft(b.value, $); if (!(this instanceof ft)) return new ft(b, $); if (this.loose = $, this.raw = b, this.set = b.split(/\s*\|\|\s*/).map(function (P) { return this.parseRange(P.trim()) }, this).filter(function (P) { return P.length }), !this.set.length) throw new TypeError("Invalid SemVer Range: " + b); this.format() } function cs(b) { return !b || b.toLowerCase() === "x" || b === "*" } function HI(b, $, P, W, ie, Tt, Ce, Es, bt, Xt, mi, yt, Ht) { return (($ = cs(P) ? "" : cs(W) ? ">=" + P + ".0.0" : cs(ie) ? ">=" + P + "." + W + ".0" : ">=" + $) + " " + (Es = cs(bt) ? "" : cs(Xt) ? "<" + (+bt + 1) + ".0.0" : cs(mi) ? "<" + bt + "." + (+Xt + 1) + ".0" : yt ? "<=" + bt + "." + Xt + "." + mi + "-" + yt : "<=" + Es)).trim() } function zI(b, $) { for (var P = 0; P < b.length; P++)if (!b[P].test($)) return !1; if ($.prerelease.length) { for (P = 0; P < b.length; P++)if (n(b[P].semver), b[P].semver !== La && b[P].semver.prerelease.length > 0) { var W = b[P].semver; if (W.major === $.major && W.minor === $.minor && W.patch === $.patch) return !0 } return !1 } return !0 } function nu(b, $, P) { try { $ = new ft($, P) } catch { return !1 } return $.test(b) } function k1(b, $, P, W) { var ie, Tt, Ce, Es, bt; switch (b = new Oe(b, W), $ = new ft($, W), P) { case ">": ie = tu, Tt = x1, Ce = su, Es = ">", bt = ">="; break; case "<": ie = su, Tt = E1, Ce = tu, Es = "<", bt = "<="; break; default: throw new TypeError('Must provide a hilo val of "<" or ">"') }if (nu(b, $, W)) return !1; for (var Xt = 0; Xt < $.set.length; ++Xt) { var mi = $.set[Xt], yt = null, Ht = null; if (mi.forEach(function (xs) { xs.semver === La && (xs = new Bs(">=0.0.0")), yt = yt || xs, Ht = Ht || xs, ie(xs.semver, yt.semver, W) ? yt = xs : Ce(xs.semver, Ht.semver, W) && (Ht = xs) }), yt.operator === Es || yt.operator === bt || (!Ht.operator || Ht.operator === Es) && Tt(b, Ht.semver) || Ht.operator === bt && Ce(b, Ht.semver)) return !1 } return !0 } Bs.prototype.parse = function (b) { var $ = this.loose ? a[Gi] : a[Kr], P = b.match($); if (!P) throw new TypeError("Invalid comparator: " + b); this.operator = P[1], this.operator === "=" && (this.operator = ""), P[2] ? this.semver = new Oe(P[2], this.loose) : this.semver = La }, Bs.prototype.toString = function () { return this.value }, Bs.prototype.test = function (b) { return n("Comparator.test", b, this.loose), this.semver === La || (typeof b == "string" && (b = new Oe(b, this.loose)), iu(b, this.operator, this.semver, this.loose)) }, Bs.prototype.intersects = function (b, $) { if (!(b instanceof Bs)) throw new TypeError("a Comparator is required"); var P; if (this.operator === "") return P = new ft(b.value, $), nu(this.value, P, $); if (b.operator === "") return P = new ft(this.value, $), nu(b.semver, P, $); var W = !(this.operator !== ">=" && this.operator !== ">" || b.operator !== ">=" && b.operator !== ">"), ie = !(this.operator !== "<=" && this.operator !== "<" || b.operator !== "<=" && b.operator !== "<"), Tt = this.semver.version === b.semver.version, Ce = !(this.operator !== ">=" && this.operator !== "<=" || b.operator !== ">=" && b.operator !== "<="), Es = iu(this.semver, "<", b.semver, $) && (this.operator === ">=" || this.operator === ">") && (b.operator === "<=" || b.operator === "<"), bt = iu(this.semver, ">", b.semver, $) && (this.operator === "<=" || this.operator === "<") && (b.operator === ">=" || b.operator === ">"); return W || ie || Tt && Ce || Es || bt }, t.Range = ft, ft.prototype.format = function () { return this.range = this.set.map(function (b) { return b.join(" ").trim() }).join("||").trim(), this.range }, ft.prototype.toString = function () { return this.range }, ft.prototype.parseRange = function (b) { var $ = this.loose; b = b.trim(), n("range", b, $); var P = $ ? a[eu] : a[Kl]; b = b.replace(P, HI), n("hyphen replace", b), b = b.replace(a[pi], "$1$2$3"), n("comparator trim", b, a[pi]), b = (b = (b = b.replace(a[G], "$1~")).replace(a[vt], "$1^")).split(/\s+/).join(" "); var W = $ ? a[Gi] : a[Kr], ie = b.split(" ").map(function (Tt) { return function (Ce, Es) { return n("comp", Ce), Ce = function (bt, Xt) { return bt.trim().split(/\s+/).map(function (mi) { return function (yt, Ht) { n("caret", yt, Ht); var xs = Ht ? a[ur] : a[qi]; return yt.replace(xs, function (Ks, ae, ke, Ye, nt) { var zt; return n("caret", yt, Ks, ae, ke, Ye, nt), cs(ae) ? zt = "" : cs(ke) ? zt = ">=" + ae + ".0.0 <" + (+ae + 1) + ".0.0" : cs(Ye) ? zt = ae === "0" ? ">=" + ae + "." + ke + ".0 <" + ae + "." + (+ke + 1) + ".0" : ">=" + ae + "." + ke + ".0 <" + (+ae + 1) + ".0.0" : nt ? (n("replaceCaret pr", nt), nt.charAt(0) !== "-" && (nt = "-" + nt), zt = ae === "0" ? ke === "0" ? ">=" + ae + "." + ke + "." + Ye + nt + " <" + ae + "." + ke + "." + (+Ye + 1) : ">=" + ae + "." + ke + "." + Ye + nt + " <" + ae + "." + (+ke + 1) + ".0" : ">=" + ae + "." + ke + "." + Ye + nt + " <" + (+ae + 1) + ".0.0") : (n("no pr"), zt = ae === "0" ? ke === "0" ? ">=" + ae + "." + ke + "." + Ye + " <" + ae + "." + ke + "." + (+Ye + 1) : ">=" + ae + "." + ke + "." + Ye + " <" + ae + "." + (+ke + 1) + ".0" : ">=" + ae + "." + ke + "." + Ye + " <" + (+ae + 1) + ".0.0"), n("caret return", zt), zt }) }(mi, Xt) }).join(" ") }(Ce, Es), n("caret", Ce), Ce = function (bt, Xt) { return bt.trim().split(/\s+/).map(function (mi) { return function (yt, Ht) { var xs = Ht ? a[Ie] : a[ce]; return yt.replace(xs, function (Ks, ae, ke, Ye, nt) { var zt; return n("tilde", yt, Ks, ae, ke, Ye, nt), cs(ae) ? zt = "" : cs(ke) ? zt = ">=" + ae + ".0.0 <" + (+ae + 1) + ".0.0" : cs(Ye) ? zt = ">=" + ae + "." + ke + ".0 <" + ae + "." + (+ke + 1) + ".0" : nt ? (n("replaceTilde pr", nt), nt.charAt(0) !== "-" && (nt = "-" + nt), zt = ">=" + ae + "." + ke + "." + Ye + nt + " <" + ae + "." + (+ke + 1) + ".0") : zt = ">=" + ae + "." + ke + "." + Ye + " <" + ae + "." + (+ke + 1) + ".0", n("tilde return", zt), zt }) }(mi, Xt) }).join(" ") }(Ce, Es), n("tildes", Ce), Ce = function (bt, Xt) { return n("replaceXRanges", bt, Xt), bt.split(/\s+/).map(function (mi) { return function (yt, Ht) { yt = yt.trim(); var xs = Ht ? a[R] : a[C]; return yt.replace(xs, function (Ks, ae, ke, Ye, nt, zt) { n("xRange", yt, Ks, ae, ke, Ye, nt, zt); var _v = cs(ke), Na = _v || cs(Ye), Oa = Na || cs(nt); return ae === "=" && Oa && (ae = ""), _v ? Ks = ae === ">" || ae === "<" ? "<0.0.0" : "*" : ae && Oa ? (Na && (Ye = 0), Oa && (nt = 0), ae === ">" ? (ae = ">=", Na ? (ke = +ke + 1, Ye = 0, nt = 0) : Oa && (Ye = +Ye + 1, nt = 0)) : ae === "<=" && (ae = "<", Na ? ke = +ke + 1 : Ye = +Ye + 1), Ks = ae + ke + "." + Ye + "." + nt) : Na ? Ks = ">=" + ke + ".0.0 <" + (+ke + 1) + ".0.0" : Oa && (Ks = ">=" + ke + "." + Ye + ".0 <" + ke + "." + (+Ye + 1) + ".0"), n("xRange return", Ks), Ks }) }(mi, Xt) }).join(" ") }(Ce, Es), n("xrange", Ce), Ce = function (bt, Xt) { return n("replaceStars", bt, Xt), bt.trim().replace(a[Nv], "") }(Ce, Es), n("stars", Ce), Ce }(Tt, $) }).join(" ").split(/\s+/); return this.loose && (ie = ie.filter(function (Tt) { return !!Tt.match(W) })), ie = ie.map(function (Tt) { return new Bs(Tt, $) }) }, ft.prototype.intersects = function (b, $) { if (!(b instanceof ft)) throw new TypeError("a Range is required"); return this.set.some(function (P) { return P.every(function (W) { return b.set.some(function (ie) { return ie.every(function (Tt) { return W.intersects(Tt, $) }) }) }) }) }, t.toComparators = function (b, $) { return new ft(b, $).set.map(function (P) { return P.map(function (W) { return W.value }).join(" ").trim().split(" ") }) }, ft.prototype.test = function (b) { if (!b) return !1; typeof b == "string" && (b = new Oe(b, this.loose)); for (var $ = 0; $ < this.set.length; $++)if (zI(this.set[$], b)) return !0; return !1 }, t.satisfies = nu, t.maxSatisfying = function (b, $, P) { var W = null, ie = null; try { var Tt = new ft($, P) } catch { return null } return b.forEach(function (Ce) { Tt.test(Ce) && (W && ie.compare(Ce) !== -1 || (ie = new Oe(W = Ce, P))) }), W }, t.minSatisfying = function (b, $, P) { var W = null, ie = null; try { var Tt = new ft($, P) } catch { return null } return b.forEach(function (Ce) { Tt.test(Ce) && (W && ie.compare(Ce) !== 1 || (ie = new Oe(W = Ce, P))) }), W }, t.validRange = function (b, $) { try { return new ft(b, $).range || "*" } catch { return null } }, t.ltr = function (b, $, P) { return k1(b, $, "<", P) }, t.gtr = function (b, $, P) { return k1(b, $, ">", P) }, t.outside = k1, t.prerelease = function (b, $) { var P = fr(b, $); return P && P.prerelease.length ? P.prerelease : null }, t.intersects = function (b, $, P) { return b = new ft(b, P), $ = new ft($, P), b.intersects($) }, t.coerce = function (b) { if (b instanceof Oe) return b; if (typeof b != "string") return null; var $ = b.match(a[M]); return $ == null ? null : fr(($[1] || "0") + "." + ($[2] || "0") + "." + ($[3] || "0")) } }).call(this, s(1)) }, function (e, t) { var s, i, n = e.exports = {}; function r() { throw new Error("setTimeout has not been defined") } function o() { throw new Error("clearTimeout has not been defined") } function a(y) { if (s === setTimeout) return setTimeout(y, 0); if ((s === r || !s) && setTimeout) return s = setTimeout, setTimeout(y, 0); try { return s(y, 0) } catch { try { return s.call(null, y, 0) } catch { return s.call(this, y, 0) } } } (function () { try { s = typeof setTimeout == "function" ? setTimeout : r } catch { s = r } try { i = typeof clearTimeout == "function" ? clearTimeout : o } catch { i = o } })(); var c, l = [], u = !1, h = -1; function d() { u && c && (u = !1, c.length ? l = c.concat(l) : h = -1, l.length && p()) } function p() { if (!u) { var y = a(d); u = !0; for (var x = l.length; x;) { for (c = l, l = []; ++h < x;)c && c[h].run(); h = -1, x = l.length } c = null, u = !1, function (k) { if (i === clearTimeout) return clearTimeout(k); if ((i === o || !i) && clearTimeout) return i = clearTimeout, clearTimeout(k); try { i(k) } catch { try { return i.call(null, k) } catch { return i.call(this, k) } } }(y) } } function g(y, x) { this.fun = y, this.array = x } function w() { } n.nextTick = function (y) { var x = new Array(arguments.length - 1); if (arguments.length > 1) for (var k = 1; k < arguments.length; k++)x[k - 1] = arguments[k]; l.push(new g(y, x)), l.length !== 1 || u || a(p) }, g.prototype.run = function () { this.fun.apply(null, this.array) }, n.title = "browser", n.browser = !0, n.env = {}, n.argv = [], n.version = "", n.versions = {}, n.on = w, n.addListener = w, n.once = w, n.off = w, n.removeListener = w, n.removeAllListeners = w, n.emit = w, n.prependListener = w, n.prependOnceListener = w, n.listeners = function (y) { return [] }, n.binding = function (y) { throw new Error("process.binding is not supported") }, n.cwd = function () { return "/" }, n.chdir = function (y) { throw new Error("process.chdir is not supported") }, n.umask = function () { return 0 } }]) }), yL = be.exports.SEMVER_SPEC_VERSION, EL = be.exports.parse, E6 = be.exports.valid, xL = be.exports.coerce, kL = be.exports.clean, $L = be.exports.inc, SL = be.exports.major, PL = be.exports.minor, IL = be.exports.patch, AL = be.exports.prerelease, ih = be.exports.gt, x6 = be.exports.gte, DL = be.exports.lt, RL = be.exports.lte, k6 = be.exports.eq, LL = be.exports.neq, NL = be.exports.cmp, OL = be.exports.compare, hm = be.exports.rcompare, CL = be.exports.compareIdentifiers, _L = be.exports.rcompareIdentifiers, jL = be.exports.compareBuild, TL = be.exports.sort, UL = be.exports.rsort, ML = be.exports.diff, FL = be.exports.validRange, BL = be.exports.satisfies, HL = be.exports.maxSatisfying, zL = be.exports.minSatisfying, VL = be.exports.minVersion, WL = be.exports.gtr, qL = be.exports.ltr, GL = be.exports.outside, JL = be.exports.intersects, YL = be.exports.SemVer, XL = be.exports.Comparator, QL = be.exports.Range } }), $6, S6, ZL = v({ "out-build/vs/platform/extensions/common/extensionsApiProposals.js"() { "use strict"; $6 = { activeComment: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.activeComment.d.ts" }, aiRelatedInformation: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.aiRelatedInformation.d.ts" }, aiTextSearchProvider: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts", version: 2 }, authLearnMore: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authLearnMore.d.ts" }, authSession: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authSession.d.ts" }, canonicalUriProvider: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.canonicalUriProvider.d.ts" }, chatEditing: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatEditing.d.ts" }, chatParticipantAdditions: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts" }, chatParticipantPrivate: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts", version: 2 }, chatProvider: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatProvider.d.ts" }, chatReferenceBinaryData: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatReferenceBinaryData.d.ts" }, chatTab: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatTab.d.ts" }, chatVariableResolver: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatVariableResolver.d.ts" }, codeActionAI: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codeActionAI.d.ts" }, codeActionRanges: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codeActionRanges.d.ts" }, codiconDecoration: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codiconDecoration.d.ts" }, commentReactor: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentReactor.d.ts" }, commentReveal: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentReveal.d.ts" }, commentThreadApplicability: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts" }, commentingRangeHint: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentingRangeHint.d.ts" }, commentsDraftState: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentsDraftState.d.ts" }, contribAccessibilityHelpContent: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribAccessibilityHelpContent.d.ts" }, contribCommentEditorActionsMenu: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentEditorActionsMenu.d.ts" }, contribCommentPeekContext: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentPeekContext.d.ts" }, contribCommentThreadAdditionalMenu: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentThreadAdditionalMenu.d.ts" }, contribCommentsViewThreadMenus: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentsViewThreadMenus.d.ts" }, contribDebugCreateConfiguration: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribDebugCreateConfiguration.d.ts" }, contribDiffEditorGutterToolBarMenus: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribDiffEditorGutterToolBarMenus.d.ts" }, contribEditSessions: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribEditSessions.d.ts" }, contribEditorContentMenu: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribEditorContentMenu.d.ts" }, contribLabelFormatterWorkspaceTooltip: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribLabelFormatterWorkspaceTooltip.d.ts" }, contribMenuBarHome: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribMenuBarHome.d.ts" }, contribMergeEditorMenus: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribMergeEditorMenus.d.ts" }, contribMultiDiffEditorMenus: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribMultiDiffEditorMenus.d.ts" }, contribNotebookStaticPreloads: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribNotebookStaticPreloads.d.ts" }, contribRemoteHelp: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribRemoteHelp.d.ts" }, contribShareMenu: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribShareMenu.d.ts" }, contribSourceControlHistoryItemMenu: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlHistoryItemMenu.d.ts" }, contribSourceControlHistoryTitleMenu: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlHistoryTitleMenu.d.ts" }, contribSourceControlInputBoxMenu: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlInputBoxMenu.d.ts" }, contribSourceControlTitleMenu: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlTitleMenu.d.ts" }, contribStatusBarItems: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribStatusBarItems.d.ts" }, contribViewContainerTitle: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribViewContainerTitle.d.ts" }, contribViewsRemote: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribViewsRemote.d.ts" }, contribViewsWelcome: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribViewsWelcome.d.ts" }, createFileSystemWatcher: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts" }, customEditorMove: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.customEditorMove.d.ts" }, debugVisualization: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.debugVisualization.d.ts" }, defaultChatParticipant: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts", version: 2 }, diffCommand: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.diffCommand.d.ts" }, diffContentOptions: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.diffContentOptions.d.ts" }, documentFiltersExclusive: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.documentFiltersExclusive.d.ts" }, documentPaste: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.documentPaste.d.ts" }, editSessionIdentityProvider: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editSessionIdentityProvider.d.ts" }, editorHoverVerbosityLevel: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editorHoverVerbosityLevel.d.ts" }, editorInsets: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editorInsets.d.ts" }, embeddings: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.embeddings.d.ts" }, extensionRuntime: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.extensionRuntime.d.ts" }, extensionsAny: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.extensionsAny.d.ts" }, externalUriOpener: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.externalUriOpener.d.ts" }, fileComments: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fileComments.d.ts" }, fileSearchProvider: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fileSearchProvider.d.ts" }, fileSearchProvider2: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fileSearchProvider2.d.ts" }, findFiles2: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findFiles2.d.ts", version: 2 }, findTextInFiles: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findTextInFiles.d.ts" }, findTextInFiles2: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findTextInFiles2.d.ts" }, fsChunks: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fsChunks.d.ts" }, idToken: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.idToken.d.ts" }, inlineCompletionsAdditions: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts" }, inlineEdit: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.inlineEdit.d.ts" }, interactive: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.interactive.d.ts" }, interactiveWindow: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.interactiveWindow.d.ts" }, ipc: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.ipc.d.ts" }, languageModelSystem: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelSystem.d.ts" }, languageStatusText: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageStatusText.d.ts" }, mappedEditsProvider: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts" }, multiDocumentHighlightProvider: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts" }, nativeWindowHandle: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.nativeWindowHandle.d.ts" }, newSymbolNamesProvider: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.newSymbolNamesProvider.d.ts" }, notebookCellExecution: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookCellExecution.d.ts" }, notebookCellExecutionState: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookCellExecutionState.d.ts" }, notebookControllerAffinityHidden: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookControllerAffinityHidden.d.ts" }, notebookDeprecated: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookDeprecated.d.ts" }, notebookExecution: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookExecution.d.ts" }, notebookKernelSource: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookKernelSource.d.ts" }, notebookLiveShare: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookLiveShare.d.ts" }, notebookMessaging: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookMessaging.d.ts" }, notebookMime: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookMime.d.ts" }, notebookReplDocument: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookReplDocument.d.ts" }, notebookVariableProvider: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts" }, portsAttributes: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.portsAttributes.d.ts" }, profileContentHandlers: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.profileContentHandlers.d.ts" }, quickDiffProvider: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickDiffProvider.d.ts" }, quickInputButtonLocation: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickInputButtonLocation.d.ts" }, quickPickItemTooltip: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickPickItemTooltip.d.ts" }, quickPickSortByLabel: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickPickSortByLabel.d.ts" }, resolvers: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.resolvers.d.ts" }, scmActionButton: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmActionButton.d.ts" }, scmHistoryProvider: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts" }, scmMultiDiffEditor: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmMultiDiffEditor.d.ts" }, scmSelectedProvider: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmSelectedProvider.d.ts" }, scmTextDocument: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmTextDocument.d.ts" }, scmValidation: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmValidation.d.ts" }, shareProvider: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.shareProvider.d.ts" }, showLocal: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.showLocal.d.ts" }, speech: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.speech.d.ts" }, tabInputMultiDiff: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tabInputMultiDiff.d.ts" }, tabInputTextMerge: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tabInputTextMerge.d.ts" }, taskPresentationGroup: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskPresentationGroup.d.ts" }, telemetry: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.telemetry.d.ts" }, terminalCompletionProvider: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalCompletionProvider.d.ts" }, terminalDataWriteEvent: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalDataWriteEvent.d.ts" }, terminalDimensions: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalDimensions.d.ts" }, terminalExecuteCommandEvent: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalExecuteCommandEvent.d.ts" }, terminalQuickFixProvider: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts" }, terminalSelection: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalSelection.d.ts" }, testObserver: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.testObserver.d.ts" }, testRelatedCode: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.testRelatedCode.d.ts" }, textEditorDiffInformation: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textEditorDiffInformation.d.ts" }, textSearchComplete2: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchComplete2.d.ts" }, textSearchProvider: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchProvider.d.ts" }, textSearchProvider2: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchProvider2.d.ts" }, timeline: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.timeline.d.ts" }, tokenInformation: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tokenInformation.d.ts" }, treeViewActiveItem: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeViewActiveItem.d.ts" }, treeViewMarkdownMessage: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeViewMarkdownMessage.d.ts" }, treeViewReveal: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeViewReveal.d.ts" }, tunnelFactory: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tunnelFactory.d.ts" }, tunnels: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tunnels.d.ts" }, valueSelectionInQuickPick: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.valueSelectionInQuickPick.d.ts" }, workspaceTrust: { proposal: "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.workspaceTrust.d.ts" } }, S6 = Object.freeze($6) } }); function KL(e) { return e = e.trim(), e === "*" || mm.test(e) } function fm(e) { if (!KL(e)) return null; if (e = e.trim(), e === "*") return { hasCaret: !1, hasGreaterEquals: !1, majorBase: 0, majorMustEqual: !1, minorBase: 0, minorMustEqual: !1, patchBase: 0, patchMustEqual: !1, preRelease: null }; const t = e.match(mm); return t ? { hasCaret: t[1] === "^", hasGreaterEquals: t[1] === ">=", majorBase: t[2] === "x" ? 0 : parseInt(t[2], 10), majorMustEqual: t[2] !== "x", minorBase: t[4] === "x" ? 0 : parseInt(t[4], 10), minorMustEqual: t[4] !== "x", patchBase: t[6] === "x" ? 0 : parseInt(t[6], 10), patchMustEqual: t[6] !== "x", preRelease: t[8] || null } : null } function dm(e) { if (!e) return null; const t = e.majorBase, s = e.majorMustEqual, i = e.minorBase; let n = e.minorMustEqual; const r = e.patchBase; let o = e.patchMustEqual; e.hasCaret && (t === 0 || (n = !1), o = !1); let a = 0; if (e.preRelease) { const c = A6.exec(e.preRelease); if (c) { const [, l, u, h] = c; a = Date.UTC(Number(l), Number(u) - 1, Number(h)) } } return { majorBase: t, majorMustEqual: s, minorBase: i, minorMustEqual: n, patchBase: r, patchMustEqual: o, isMinimum: e.hasGreaterEquals, notBefore: a } } function eN(e, t, s) { let i; typeof e == "string" ? i = dm(fm(e)) : i = e; let n; t instanceof Date ? n = t.getTime() : typeof t == "string" && (n = new Date(t).getTime()); let r; if (typeof s == "string" ? r = dm(fm(s)) : r = s, !i || !r) return !1; const o = i.majorBase, a = i.minorBase, c = i.patchBase; let l = r.majorBase, u = r.minorBase, h = r.patchBase; const d = r.notBefore; let p = r.majorMustEqual, g = r.minorMustEqual, w = r.patchMustEqual; return r.isMinimum ? o > l ? !0 : o < l ? !1 : a > u ? !0 : a < u || n && n < d ? !1 : c >= h : (o === 1 && l === 0 && (!p || !g || !w) && (l = 1, u = 0, h = 0, p = !0, g = !1, w = !1), o < l ? !1 : o > l ? !p : a < u ? !1 : a > u ? !g : c < h ? !1 : c > h ? !w : !(n && n < d)) } function tN(e, t, s, i, n, r) { const o = []; if (typeof i.publisher < "u" && typeof i.publisher != "string") return o.push([Ze.Error, m(1876, null)]), o; if (typeof i.name != "string") return o.push([Ze.Error, m(1877, null, "name")]), o; if (typeof i.version != "string") return o.push([Ze.Error, m(1878, null, "version")]), o; if (!i.engines) return o.push([Ze.Error, m(1879, null, "engines")]), o; if (typeof i.engines.vscode != "string") return o.push([Ze.Error, m(1880, null, "engines.vscode")]), o; if (typeof i.extensionDependencies < "u" && !I6(i.extensionDependencies)) return o.push([Ze.Error, m(1881, null, "extensionDependencies")]), o; if (typeof i.activationEvents < "u") { if (!I6(i.activationEvents)) return o.push([Ze.Error, m(1882, null, "activationEvents")]), o; if (typeof i.main > "u" && typeof i.browser > "u") return o.push([Ze.Error, m(1883, null, "activationEvents", "main", "browser")]), o } if (typeof i.extensionKind < "u" && typeof i.main > "u" && o.push([Ze.Warning, m(1884, null, "extensionKind")]), typeof i.main < "u") { if (typeof i.main != "string") return o.push([Ze.Error, m(1885, null, "main")]), o; { const l = ne(s, i.main); dp(l, s) || o.push([Ze.Warning, m(1886, null, l.path, s.path)]) } } if (typeof i.browser < "u") { if (typeof i.browser != "string") return o.push([Ze.Error, m(1887, null, "browser")]), o; { const l = ne(s, i.browser); dp(l, s) || o.push([Ze.Warning, m(1888, null, l.path, s.path)]) } } if (!E6(i.version)) return o.push([Ze.Error, m(1889, null)]), o; const a = []; if (!sN(e, t, i, n, a)) for (const l of a) o.push([Ze.Error, l]); if (r && i.enabledApiProposals?.length) { const l = []; if (!pm([...i.enabledApiProposals], l)) for (const u of l) o.push([Ze.Error, u]) } return o } function sN(e, t, s, i, n) { return i || typeof s.main > "u" && typeof s.browser > "u" ? !0 : P6(e, t, s.engines.vscode, n) } function nh(e, t, s) { return e === "*" || P6(t, s, e) } function pm(e, t) { if (e.length === 0) return !0; const s = Array.isArray(t) ? t : void 0, i = (s ? void 0 : t) ?? S6, n = [], r = pL(e); for (const { proposalName: o, version: a } of r) { if (!a) continue; i[o]?.version !== a && n.push(o) } return n.length ? (s && (n.length === 1 ? s.push(m(1890, null, n[0])) : s.push(m(1891, null, n.slice(0, n.length - 1).map(o => `'${o}'`).join(", "), n[n.length - 1]))), !1) : !0 } function P6(e, t, s, i = []) { const n = dm(fm(s)); if (!n) return i.push(m(1892, null, s)), !1; if (n.majorBase === 0) { if (!n.majorMustEqual || !n.minorMustEqual) return i.push(m(1893, null, s)), !1 } else if (!n.majorMustEqual) return i.push(m(1894, null, s)), !1; return eN(e, t, n) ? !0 : (i.push(m(1895, null, e, s)), !1) } function I6(e) { if (!Array.isArray(e)) return !1; for (let t = 0, s = e.length; t < s; t++)if (typeof e[t] != "string") return !1; return !0 } var mm, A6, rh = v({ "out-build/vs/platform/extensions/common/extensionValidator.js"() { "use strict"; kt(), sh(), he(), Ro(), Ii(), ZL(), mm = /^(\^|>=)?((\d+)|x)\.((\d+)|x)\.((\d+)|x)(\-.*)?$/, A6 = /^-(\d{4})(\d{2})(\d{2})$/ } }), D6, R6, gm, L6, N6, Ic, O6, Lo, oh = v({ "out-build/vs/base/common/ternarySearchTree.js"() { "use strict"; Et(), et(), D6 = class { constructor() { this.b = "", this.c = 0 } reset(e) { return this.b = e, this.c = 0, this } next() { return this.c += 1, this } hasNext() { return this.c < this.b.length - 1 } cmp(e) { const t = e.charCodeAt(0), s = this.b.charCodeAt(this.c); return t - s } value() { return this.b[this.c] } }, R6 = class { constructor(e = !0) { this.e = e } reset(e) { return this.b = e, this.c = 0, this.d = 0, this.next() } hasNext() { return this.d < this.b.length } next() { this.c = this.d; let e = !0; for (; this.d < this.b.length; this.d++)if (this.b.charCodeAt(this.d) === 46) if (e) this.c++; else break; else e = !1; return this } cmp(e) { return this.e ? z1(e, this.b, 0, e.length, this.c, this.d) : Va(e, this.b, 0, e.length, this.c, this.d) } value() { return this.b.substring(this.c, this.d) } }, gm = class { constructor(e = !0, t = !0) { this.f = e, this.g = t } reset(e) { this.d = 0, this.e = 0, this.b = e, this.c = e.length; for (let t = e.length - 1; t >= 0; t--, this.c--) { const s = this.b.charCodeAt(t); if (!(s === 47 || this.f && s === 92)) break } return this.next() } hasNext() { return this.e < this.c } next() { this.d = this.e; let e = !0; for (; this.e < this.c; this.e++) { const t = this.b.charCodeAt(this.e); if (t === 47 || this.f && t === 92) if (e) this.d++; else break; else e = !1 } return this } cmp(e) { return this.g ? z1(e, this.b, 0, e.length, this.d, this.e) : Va(e, this.b, 0, e.length, this.d, this.e) } value() { return this.b.substring(this.d, this.e) } }, function (e) { e[e.Scheme = 1] = "Scheme", e[e.Authority = 2] = "Authority", e[e.Path = 3] = "Path", e[e.Query = 4] = "Query", e[e.Fragment = 5] = "Fragment" }(L6 || (L6 = {})), N6 = class { constructor(e, t) { this.f = e, this.g = t, this.d = [], this.e = 0 } reset(e) { return this.c = e, this.d = [], this.c.scheme && this.d.push(1), this.c.authority && this.d.push(2), this.c.path && (this.b = new gm(!1, !this.f(e)), this.b.reset(e.path), this.b.value() && this.d.push(3)), this.g(e) || (this.c.query && this.d.push(4), this.c.fragment && this.d.push(5)), this.e = 0, this } next() { return this.d[this.e] === 3 && this.b.hasNext() ? this.b.next() : this.e += 1, this } hasNext() { return this.d[this.e] === 3 && this.b.hasNext() || this.e < this.d.length - 1 } cmp(e) { if (this.d[this.e] === 1) return V1(e, this.c.scheme); if (this.d[this.e] === 2) return V1(e, this.c.authority); if (this.d[this.e] === 3) return this.b.cmp(e); if (this.d[this.e] === 4) return H1(e, this.c.query); if (this.d[this.e] === 5) return H1(e, this.c.fragment); throw new Error } value() { if (this.d[this.e] === 1) return this.c.scheme; if (this.d[this.e] === 2) return this.c.authority; if (this.d[this.e] === 3) return this.b.value(); if (this.d[this.e] === 4) return this.c.query; if (this.d[this.e] === 5) return this.c.fragment; throw new Error } }, Ic = class { constructor() { this.height = 1 } isEmpty() { return !this.left && !this.mid && !this.right && !this.value } rotateLeft() { const e = this.right; return this.right = e.left, e.left = this, this.updateHeight(), e.updateHeight(), e } rotateRight() { const 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 } }, function (e) { e[e.Left = -1] = "Left", e[e.Mid = 0] = "Mid", e[e.Right = 1] = "Right" }(O6 || (O6 = {})), Lo = class Ql { static forUris(t = () => !1, s = () => !1) { return new Ql(new N6(t, s)) } static forPaths(t = !1) { return new Ql(new gm(void 0, !t)) } static forStrings() { return new Ql(new D6) } static forConfigKeys() { return new Ql(new R6) } constructor(t) { this.b = t } clear() { this.c = void 0 } fill(t, s) { if (s) { const i = s.slice(0); bb(i); for (const n of i) this.set(n, t) } else { const i = t.slice(0); bb(i); for (const n of i) this.set(n[0], n[1]) } } set(t, s) { const i = this.b.reset(t); let n; this.c || (this.c = new Ic, this.c.segment = i.value()); const r = []; for (n = this.c; ;) { const a = i.cmp(n.segment); if (a > 0) n.left || (n.left = new Ic, n.left.segment = i.value()), r.push([-1, n]), n = n.left; else if (a < 0) n.right || (n.right = new Ic, n.right.segment = i.value()), r.push([1, n]), n = n.right; else if (i.hasNext()) i.next(), n.mid || (n.mid = new Ic, n.mid.segment = i.value()), r.push([0, n]), n = n.mid; else break } const o = n.value; n.value = s, n.key = t; for (let a = r.length - 1; a >= 0; a--) { const c = r[a][1]; c.updateHeight(); const l = c.balanceFactor(); if (l < -1 || l > 1) { const u = r[a][0], h = r[a + 1][0]; if (u === 1 && h === 1) r[a][1] = c.rotateLeft(); else if (u === -1 && h === -1) r[a][1] = c.rotateRight(); else if (u === 1 && h === -1) c.right = r[a + 1][1] = r[a + 1][1].rotateRight(), r[a][1] = c.rotateLeft(); else if (u === -1 && h === 1) c.left = r[a + 1][1] = r[a + 1][1].rotateLeft(), r[a][1] = c.rotateRight(); else throw new Error; if (a > 0) switch (r[a - 1][0]) { case -1: r[a - 1][1].left = r[a][1]; break; case 1: r[a - 1][1].right = r[a][1]; break; case 0: r[a - 1][1].mid = r[a][1]; break } else this.c = r[0][1] } } return o } get(t) { return this.d(t)?.value } d(t) { const s = this.b.reset(t); let i = this.c; for (; i;) { const n = s.cmp(i.segment); if (n > 0) i = i.left; else if (n < 0) i = i.right; else if (s.hasNext()) s.next(), i = i.mid; else break } return i } has(t) { const s = this.d(t); return !(s?.value === void 0 && s?.mid === void 0) } delete(t) { return this.e(t, !1) } deleteSuperstr(t) { return this.e(t, !0) } e(t, s) { const i = this.b.reset(t), n = []; let r = this.c; for (; r;) { const o = i.cmp(r.segment); if (o > 0) n.push([-1, r]), r = r.left; else if (o < 0) n.push([1, r]), r = r.right; else if (i.hasNext()) i.next(), n.push([0, r]), r = r.mid; else break } if (r) { if (s ? (r.left = void 0, r.mid = void 0, r.right = void 0, r.height = 1) : (r.key = void 0, r.value = void 0), !r.mid && !r.value) if (r.left && r.right) { const o = this.f(r.right); if (o.key) { const { key: a, value: c, segment: l } = o; this.e(o.key, !1), r.key = a, r.value = c, r.segment = l } } else { const o = r.left ?? r.right; if (n.length > 0) { const [a, c] = n[n.length - 1]; switch (a) { case -1: c.left = o; break; case 0: c.mid = o; break; case 1: c.right = o; break } } else this.c = o } for (let o = n.length - 1; o >= 0; o--) { const a = n[o][1]; a.updateHeight(); const c = a.balanceFactor(); if (c > 1 ? (a.right.balanceFactor() >= 0 || (a.right = a.right.rotateRight()), n[o][1] = a.rotateLeft()) : c < -1 && (a.left.balanceFactor() <= 0 || (a.left = a.left.rotateLeft()), n[o][1] = a.rotateRight()), o > 0) switch (n[o - 1][0]) { case -1: n[o - 1][1].left = n[o][1]; break; case 1: n[o - 1][1].right = n[o][1]; break; case 0: n[o - 1][1].mid = n[o][1]; break } else this.c = n[0][1] } } } f(t) { for (; t.left;)t = t.left; return t } findSubstr(t) { const s = this.b.reset(t); let i = this.c, n; for (; i;) { const r = s.cmp(i.segment); if (r > 0) i = i.left; else if (r < 0) i = i.right; else if (s.hasNext()) s.next(), n = i.value || n, i = i.mid; else break } return i && i.value || n } findSuperstr(t) { return this.g(t, !1) } g(t, s) { const i = this.b.reset(t); let n = this.c; for (; n;) { const r = i.cmp(n.segment); if (r > 0) n = n.left; else if (r < 0) n = n.right; else if (i.hasNext()) i.next(), n = n.mid; else return n.mid ? this.h(n.mid) : s ? n.value : void 0 } } hasElementOrSubtree(t) { return this.g(t, !0) !== void 0 } forEach(t) { for (const [s, i] of this) t(i, s) } *[Symbol.iterator]() { yield* this.h(this.c) } h(t) { const s = []; return this.j(t, s), s[Symbol.iterator]() } j(t, s) { t && (t.left && this.j(t.left, s), t.value && s.push([t.key, t.value]), t.mid && this.j(t.mid, s), t.right && this.j(t.right, s)) } _isBalanced() { const t = s => { if (!s) return !0; const i = s.balanceFactor(); return i < -1 || i > 1 ? !1 : t(s.left) && t(s.right) }; return t(this.c) } } } }); function No(e) { return e.create === !0 } function Vs(e) { return !!(e.capabilities & 2) } function C6(e) { return !!(e.capabilities & 8) } function iN(e) { return !!(e.capabilities & 131072) } function Hn(e) { return !!(e.capabilities & 4) } function wm(e) { return !!(e.capabilities & 16) } function vm(e) { return Vs(e) ? !!(e.capabilities & 16384) : !1 } function _6(e) { return Vs(e) ? !!(e.capabilities & 32768) : !1 } function nN(e) { return !!(e.capabilities & 65536) } function gn(e, t) { return ch.create(e, t) } function Rr(e) { return e || gn(m(1910, null), Q.Unknown) } function j6(e, t) { return e.name = t ? `${t} (FileSystemError)` : "FileSystemError", e } function ah(e) { if (!e) return Q.Unknown; if (e instanceof ch) return e.code; const t = /^(.+) \(FileSystemError\)$/.exec(e.name); if (!t) return Q.Unknown; switch (t[1]) { case Q.FileExists: return Q.FileExists; case Q.FileIsADirectory: return Q.FileIsADirectory; case Q.FileNotADirectory: return Q.FileNotADirectory; case Q.FileNotFound: return Q.FileNotFound; case Q.FileTooLarge: return Q.FileTooLarge; case Q.FileWriteLocked: return Q.FileWriteLocked; case Q.NoPermissions: return Q.NoPermissions; case Q.Unavailable: return Q.Unavailable }return Q.Unknown } function Gt(e) { if (e instanceof Jt) return e.fileOperationResult; switch (ah(e)) { case Q.FileNotFound: return 1; case Q.FileIsADirectory: return 0; case Q.FileNotADirectory: return 9; case Q.FileWriteLocked: return 5; case Q.NoPermissions: return 6; case Q.FileExists: return 4; case Q.FileTooLarge: return 7; default: return 10 } } function rN(e, t, s) { return !e || !t || e === t || t.length > e.length ? !1 : (t.charAt(t.length - 1) !== Qt && (t += Qt), s ? W1(e, t) : e.indexOf(t) === 0) } function T6(e) { if (!(typeof e.size != "number" || typeof e.mtime != "number")) return e.mtime.toString(29) + e.size.toString(31) } var gt, Rs, Oo, U6, M6, Q, ch, F6, Lr, B6, H6, Jt, lh, uh, z6, V6, hh, Nr, st = v({ "out-build/vs/platform/files/common/files.js"() { "use strict"; oh(), de(), et(), $e(), ee(), he(), oe(), X(), De(), wu(), gt = se("fileService"), function (e) { e[e.Unknown = 0] = "Unknown", e[e.File = 1] = "File", e[e.Directory = 2] = "Directory", e[e.SymbolicLink = 64] = "SymbolicLink" }(Rs || (Rs = {})), function (e) { e[e.Readonly = 1] = "Readonly", e[e.Locked = 2] = "Locked" }(Oo || (Oo = {})), function (e) { e[e.UPDATED = 2] = "UPDATED", e[e.ADDED = 4] = "ADDED", e[e.DELETED = 8] = "DELETED" }(U6 || (U6 = {})), function (e) { e[e.None = 0] = "None", e[e.FileReadWrite = 2] = "FileReadWrite", e[e.FileOpenReadWriteClose = 4] = "FileOpenReadWriteClose", e[e.FileReadStream = 16] = "FileReadStream", e[e.FileFolderCopy = 8] = "FileFolderCopy", e[e.PathCaseSensitive = 1024] = "PathCaseSensitive", e[e.Readonly = 2048] = "Readonly", e[e.Trash = 4096] = "Trash", e[e.FileWriteUnlock = 8192] = "FileWriteUnlock", e[e.FileAtomicRead = 16384] = "FileAtomicRead", e[e.FileAtomicWrite = 32768] = "FileAtomicWrite", e[e.FileAtomicDelete = 65536] = "FileAtomicDelete", e[e.FileClone = 131072] = "FileClone" }(M6 || (M6 = {})), function (e) { e.FileExists = "EntryExists", e.FileNotFound = "EntryNotFound", e.FileNotADirectory = "EntryNotADirectory", e.FileIsADirectory = "EntryIsADirectory", e.FileExceedsStorageQuota = "EntryExceedsStorageQuota", e.FileTooLarge = "EntryTooLarge", e.FileWriteLocked = "EntryWriteLocked", e.NoPermissions = "NoPermissions", e.Unavailable = "Unavailable", e.Unknown = "Unknown" }(Q || (Q = {})), ch = class PI extends Error { static create(t, s) { const i = new PI(t.toString(), s); return j6(i, s), i } constructor(t, s) { super(t), this.code = s } }, function (e) { e[e.CREATE = 0] = "CREATE", e[e.DELETE = 1] = "DELETE", e[e.MOVE = 2] = "MOVE", e[e.COPY = 3] = "COPY", e[e.WRITE = 4] = "WRITE" }(F6 || (F6 = {})), Lr = class { constructor(e, t, s) { this.resource = e, this.operation = t, this.target = s } isOperation(e) { return this.operation === e } }, function (e) { e[e.UPDATED = 0] = "UPDATED", e[e.ADDED = 1] = "ADDED", e[e.DELETED = 2] = "DELETED" }(B6 || (B6 = {})), H6 = class d1 { static { this.a = null } constructor(t, s) { this.c = s, this.b = void 0, this.d = new gr(() => { const i = Lo.forUris(() => this.c); return i.fill(this.rawAdded.map(n => [n, !0])), i }), this.f = new gr(() => { const i = Lo.forUris(() => this.c); return i.fill(this.rawUpdated.map(n => [n, !0])), i }), this.g = new gr(() => { const i = Lo.forUris(() => this.c); return i.fill(this.rawDeleted.map(n => [n, !0])), i }), this.rawAdded = [], this.rawUpdated = [], this.rawDeleted = []; for (const i of t) { switch (i.type) { case 1: this.rawAdded.push(i.resource); break; case 0: this.rawUpdated.push(i.resource); break; case 2: this.rawDeleted.push(i.resource); break }this.b !== d1.a && (typeof i.cId == "number" ? this.b === void 0 ? this.b = i.cId : this.b !== i.cId && (this.b = d1.a) : this.b !== void 0 && (this.b = d1.a)) } } contains(t, ...s) { return this.h(t, { includeChildren: !1 }, ...s) } affects(t, ...s) { return this.h(t, { includeChildren: !0 }, ...s) } h(t, s, ...i) { if (!t) return !1; const n = i.length > 0; return !!((!n || i.includes(1)) && (this.d.value.get(t) || s.includeChildren && this.d.value.findSuperstr(t)) || (!n || i.includes(0)) && (this.f.value.get(t) || s.includeChildren && this.f.value.findSuperstr(t)) || (!n || i.includes(2)) && (this.g.value.findSubstr(t) || s.includeChildren && this.g.value.findSuperstr(t))) } gotAdded() { return this.rawAdded.length > 0 } gotDeleted() { return this.rawDeleted.length > 0 } gotUpdated() { return this.rawUpdated.length > 0 } correlates(t) { return this.b === t } hasCorrelation() { return typeof this.b == "number" } }, Jt = class extends Error { constructor(e, t, s) { super(e), this.fileOperationResult = t, this.options = s } }, lh = class extends Jt { constructor(e, t, s, i) { super(e, t, i), this.fileOperationResult = t, this.size = s } }, uh = class extends Jt { constructor(e, t, s) { super(e, 2, s), this.stat = t } }, function (e) { e[e.FILE_IS_DIRECTORY = 0] = "FILE_IS_DIRECTORY", e[e.FILE_NOT_FOUND = 1] = "FILE_NOT_FOUND", e[e.FILE_NOT_MODIFIED_SINCE = 2] = "FILE_NOT_MODIFIED_SINCE", e[e.FILE_MODIFIED_SINCE = 3] = "FILE_MODIFIED_SINCE", e[e.FILE_MOVE_CONFLICT = 4] = "FILE_MOVE_CONFLICT", e[e.FILE_WRITE_LOCKED = 5] = "FILE_WRITE_LOCKED", e[e.FILE_PERMISSION_DENIED = 6] = "FILE_PERMISSION_DENIED", e[e.FILE_TOO_LARGE = 7] = "FILE_TOO_LARGE", e[e.FILE_INVALID_PATH = 8] = "FILE_INVALID_PATH", e[e.FILE_NOT_DIRECTORY = 9] = "FILE_NOT_DIRECTORY", e[e.FILE_OTHER_ERROR = 10] = "FILE_OTHER_ERROR" }(z6 || (z6 = {})), function (e) { e[e.FILE = 0] = "FILE", e[e.FOLDER = 1] = "FOLDER", e[e.ROOT_FOLDER = 2] = "ROOT_FOLDER" }(V6 || (V6 = {})), hh = "", Nr = class ys { static { this.KB = 1024 } static { this.MB = ys.KB * ys.KB } static { this.GB = ys.MB * ys.KB } static { this.TB = ys.GB * ys.KB } static formatSize(t) { return On(t) || (t = 0), t < ys.KB ? m(1911, null, t.toFixed(0)) : t < ys.MB ? m(1912, null, (t / ys.KB).toFixed(2)) : t < ys.GB ? m(1913, null, (t / ys.MB).toFixed(2)) : t < ys.TB ? m(1914, null, (t / ys.GB).toFixed(2)) : m(1915, null, (t / ys.TB).toFixed(2)) } } } }), Nt, Ls = v({ "out-build/vs/platform/product/common/productService.js"() { "use strict"; oe(), Nt = se("productService") } }); async function oN(e, t, s) { let i = s && s.get("storage.serviceMachineId", -1) || null; if (i) return i; try { const r = (await t.readFile(e.serviceMachineIdResource)).value.toString(); i = rR(r) ? r : null } catch { i = null } if (!i) { i = We(); try { await t.writeFile(e.serviceMachineIdResource, O.fromString(i)) } catch { } } return s?.store("storage.serviceMachineId", i, -1, 1), i } var aN = v({ "out-build/vs/platform/externalServices/common/serviceMachineId.js"() { "use strict"; Me(), Wt() } }); async function cN(e, t, s, i, n, r, o) { const a = { "X-Market-Client-Id": `VSCode ${e}`, "User-Agent": `VSCode ${e} (${t.nameShort})` }; if (H5(t, s) && z5(i) === 3) { const c = await oN(s, n, r); a["X-Market-User-Id"] = c, a["VSCode-SessionId"] = o.machineId || c } return a } var lN = v({ "out-build/vs/platform/externalServices/common/marketplace.js"() { "use strict"; aN(), fn() } }); function uN(e) { return JSON.stringify(e, hN) } function W6(e) { let t = JSON.parse(e); return t = Ws(t), t } function hN(e, t) { return t instanceof RegExp ? { $mid: 2, source: t.source, flags: t.flags } : t } function Ws(e, t = 0) { if (!e || t > 200) return e; if (typeof e == "object") { switch (e.$mid) { case 1: return E.revive(e); case 2: return new RegExp(e.source, e.flags); case 17: return new Date(e.source) }if (e instanceof O || e instanceof Uint8Array) return e; if (Array.isArray(e)) for (let s = 0; s < e.length; ++s)e[s] = Ws(e[s], t + 1); else for (const s in e) Object.hasOwnProperty.call(e, s) && (e[s] = Ws(e[s], t + 1)) } return e } var Co = v({ "out-build/vs/base/common/marshalling.js"() { "use strict"; Me(), ee() } }), Ac, ai, fN, dN = v({ "out-build/vs/base/parts/storage/common/storage.js"() { "use strict"; Ue(), re(), z(), Co(), $e(), function (e) { e[e.STORAGE_DOES_NOT_EXIST = 0] = "STORAGE_DOES_NOT_EXIST", e[e.STORAGE_IN_MEMORY = 1] = "STORAGE_IN_MEMORY" }(Ac || (Ac = {})), function (e) { e[e.None = 0] = "None", e[e.Initialized = 1] = "Initialized", e[e.Closed = 2] = "Closed" }(ai || (ai = {})), fN = class II extends J { static { this.a = 100 } constructor(t, s = Object.create(null)) { super(), this.r = t, this.s = s, this.b = this.B(new gu), this.onDidChangeStorage = this.b.event, this.c = ai.None, this.f = new Map, this.g = this.B(new Pr(II.a)), this.h = new Set, this.j = new Map, this.m = void 0, this.n = [], this.t() } t() { this.B(this.r.onDidChangeItemsExternal(t => this.u(t))) } u(t) { this.b.pause(); try { t.changed?.forEach((s, i) => this.w(i, s)), t.deleted?.forEach(s => this.w(s, void 0)) } finally { this.b.resume() } } w(t, s) { if (this.c === ai.Closed) return; let i = !1; xt(s) ? i = this.f.delete(t) : this.f.get(t) !== s && (this.f.set(t, s), i = !0), i && this.b.fire({ key: t, external: !0 }) } get items() { return this.f } get size() { return this.f.size } async init() { this.c === ai.None && (this.c = ai.Initialized, this.s.hint !== Ac.STORAGE_DOES_NOT_EXIST && (this.f = await this.r.getItems())) } get(t, s) { const i = this.f.get(t); return xt(i) ? s : i } getBoolean(t, s) { const i = this.get(t); return xt(i) ? s : i === "true" } getNumber(t, s) { const i = this.get(t); return xt(i) ? s : parseInt(i, 10) } getObject(t, s) { const i = this.get(t); return xt(i) ? s : W6(i) } async set(t, s, i = !1) { if (this.c === ai.Closed) return; if (xt(s)) return this.delete(t, i); const n = ct(s) || Array.isArray(s) ? uN(s) : String(s); if (this.f.get(t) !== n) return this.f.set(t, n), this.j.set(t, n), this.h.delete(t), this.b.fire({ key: t, external: i }), this.D() } async delete(t, s = !1) { if (!(this.c === ai.Closed || !this.f.delete(t))) return this.h.has(t) || this.h.add(t), this.j.delete(t), this.b.fire({ key: t, external: s }), this.D() } async optimize() { if (this.c !== ai.Closed) return await this.flush(0), this.r.optimize() } async close() { return this.m || (this.m = this.y()), this.m } async y() { this.c = ai.Closed; try { await this.D(0) } catch { } await this.r.close(() => this.f) } get z() { return this.j.size > 0 || this.h.size > 0 } async C() { if (!this.z) return; const t = { insert: this.j, delete: this.h }; return this.h = new Set, this.j = new Map, this.r.updateItems(t).finally(() => { if (!this.z) for (; this.n.length;)this.n.pop()?.() }) } async flush(t) { if (!(this.c === ai.Closed || this.m)) return this.D(t) } async D(t) { return this.s.hint === Ac.STORAGE_IN_MEMORY ? this.C() : this.g.trigger(() => this.C(), t) } async whenFlushed() { if (this.z) return new Promise(t => this.n.push(t)) } isInMemory() { return this.s.hint === Ac.STORAGE_IN_MEMORY } } } }); function pN(e) { const t = e; return typeof t?.id == "string" && E.isUri(t.uri) } function mN(e) { const t = e; return typeof t?.id == "string" && E.isUri(t.configPath) } function gN(e) { return (typeof e == "string" ? vr(e) : Fy(e)) === J6 } var q6, G6, bm, J6, wN, ym = v({ "out-build/vs/platform/workspace/common/workspace.js"() { "use strict"; he(), de(), oh(), kt(), ee(), oe(), De(), q6 = se("contextService"), function (e) { e[e.EMPTY = 1] = "EMPTY", e[e.FOLDER = 2] = "FOLDER", e[e.WORKSPACE = 3] = "WORKSPACE" }(G6 || (G6 = {})), bm = "code-workspace", J6 = `.${bm}`, wN = [{ name: m(2536, null), extensions: [bm] }] } }), jt, qs = v({ "out-build/vs/platform/uriIdentity/common/uriIdentity.js"() { "use strict"; oe(), jt = se("IUriIdentityService") } }); function vN(e) { const t = e; return !!(t && typeof t == "object" && typeof t.id == "string" && typeof t.isDefault == "boolean" && typeof t.name == "string" && E.isUri(t.location) && E.isUri(t.globalStorageHome) && E.isUri(t.settingsResource) && E.isUri(t.keybindingsResource) && E.isUri(t.tasksResource) && E.isUri(t.snippetsHome) && E.isUri(t.extensionsResource)) } function Y6(e, t) { return { id: e.id, isDefault: e.isDefault, name: e.name, icon: e.icon, location: E.revive(e.location).with({ scheme: t }), globalStorageHome: E.revive(e.globalStorageHome).with({ scheme: t }), settingsResource: E.revive(e.settingsResource).with({ scheme: t }), keybindingsResource: E.revive(e.keybindingsResource).with({ scheme: t }), tasksResource: E.revive(e.tasksResource).with({ scheme: t }), snippetsHome: E.revive(e.snippetsHome).with({ scheme: t }), extensionsResource: E.revive(e.extensionsResource).with({ scheme: t }), cacheHome: E.revive(e.cacheHome).with({ scheme: t }), useDefaultFlags: e.useDefaultFlags, isTransient: e.isTransient, workspaces: e.workspaces?.map(s => E.revive(s)) } } function fh(e, t, s, i, n, r) { return { id: e, name: t, location: s, isDefault: !1, icon: n?.icon, globalStorageHome: r && n?.useDefaultFlags?.globalState ? r.globalStorageHome : ne(s, "globalStorage"), settingsResource: r && n?.useDefaultFlags?.settings ? r.settingsResource : ne(s, "settings.json"), keybindingsResource: r && n?.useDefaultFlags?.keybindings ? r.keybindingsResource : ne(s, "keybindings.json"), tasksResource: r && n?.useDefaultFlags?.tasks ? r.tasksResource : ne(s, "tasks.json"), snippetsHome: r && n?.useDefaultFlags?.snippets ? r.snippetsHome : ne(s, "snippets"), extensionsResource: r && n?.useDefaultFlags?.extensions ? r.extensionsResource : ne(s, "extensions.json"), cacheHome: ne(i, e), useDefaultFlags: n?.useDefaultFlags, isTransient: n?.transient, workspaces: n?.workspaces } } var X6, Gs, dh, Js = v({ "out-build/vs/platform/userDataProfile/common/userDataProfile.js"() { "use strict"; Ya(), re(), z(), kt(), ee(), he(), ps(), st(), oe(), Re(), ym(), qs(), Ue(), Wt(), et(), $e(), function (e) { e.Settings = "settings", e.Keybindings = "keybindings", e.Snippets = "snippets", e.Tasks = "tasks", e.Extensions = "extensions", e.GlobalState = "globalState" }(X6 || (X6 = {})), Gs = se("IUserDataProfilesService"), dh = class extends J { static { this.b = "userDataProfiles" } static { this.c = "profileAssociations" } get defaultProfile() { return this.profiles[0] } get profiles() { return [...this.C.profiles, ...this.r.profiles] } constructor(t, s, i, n) { super(), this.s = t, this.t = s, this.u = i, this.y = n, this.g = this.B(new D), this.onDidChangeProfiles = this.g.event, this.h = this.B(new D), this.onWillCreateProfile = this.h.event, this.j = this.B(new D), this.onWillRemoveProfile = this.j.event, this.m = this.B(new D), this.onDidResetWorkspaces = this.m.event, this.n = new Map, this.r = { profiles: [], emptyWindows: new Map }, this.profilesHome = ne(this.s.userRoamingDataHome, "profiles"), this.f = ne(this.s.cacheHome, "CachedProfilesData") } init() { this.z = void 0 } get C() { if (!this.z) { const t = this.D(), s = [t]; try { for (const n of this.N()) { if (!n.name || !ve(n.name) || !n.location) { this.y.warn("Skipping the invalid stored profile", n.location || n.name); continue } s.push(fh(Tn(n.location), n.name, n.location, this.f, { icon: n.icon, useDefaultFlags: n.useDefaultFlags }, t)) } } catch (n) { this.y.error(n) } const i = new Map; if (s.length) try { const n = this.P(); if (n.workspaces) for (const [r, o] of Object.entries(n.workspaces)) { const a = E.parse(r), c = s.find(l => l.id === o); if (c) { const l = c.workspaces ? c.workspaces.slice(0) : []; l.push(a), c.workspaces = l } } if (n.emptyWindows) for (const [r, o] of Object.entries(n.emptyWindows)) { const a = s.find(c => c.id === o); a && i.set(r, a) } } catch (n) { this.y.error(n) } this.z = { profiles: s, emptyWindows: i } } return this.z } D() { const t = fh("__default__profile__", m(2489, null), this.s.userRoamingDataHome, this.f); return { ...t, extensionsResource: this.R() ?? t.extensionsResource, isDefault: !0 } } async createTransientProfile(t) { const s = "Temp", i = new RegExp(`${Rn(s)}\\s(\\d+)`); let n = 0; for (const o of this.profiles) { const a = i.exec(o.name), c = a ? parseInt(a[1]) : 0; n = c > n ? c : n } const r = `${s} ${n + 1}`; return this.createProfile(ho(We()).toString(16), r, { transient: !0 }, t) } async createNamedProfile(t, s, i) { return this.createProfile(ho(We()).toString(16), t, s, i) } async createProfile(t, s, i, n) { return await this.F(t, s, i, n) } async F(t, s, i, n) { if (!ve(s) || !s) throw new Error("Name of the profile is mandatory and must be of type `string`"); let r = this.n.get(s); return r || (r = (async () => { try { if (this.profiles.find(u => u.id === t || !u.isTransient && !i?.transient && u.name === s)) throw new Error(`Profile with ${s} name already exists`); const a = n ? this.G(n) : void 0; E.isUri(a) && (i = { ...i, workspaces: [a] }); const c = fh(t, s, ne(this.profilesHome, t), this.f, i, this.defaultProfile); await this.t.createFolder(c.location); const l = []; return this.h.fire({ profile: c, join(u) { l.push(u) } }), await Kt.settled(l), a && !E.isUri(a) && this.L(a, c, !!c.isTransient), this.I([c], [], []), c } finally { this.n.delete(s) } })(), this.n.set(s, r)), r } async updateProfile(t, s) { const i = []; for (const r of this.profiles) { let o; if (t.id === r.id) r.isDefault ? s.workspaces && (o = r, o.workspaces = s.workspaces) : o = fh(r.id, s.name ?? r.name, r.location, this.f, { icon: s.icon === null ? void 0 : s.icon ?? r.icon, transient: s.transient ?? r.isTransient, useDefaultFlags: s.useDefaultFlags ?? r.useDefaultFlags, workspaces: s.workspaces ?? r.workspaces }, this.defaultProfile); else if (s.workspaces) { const a = r.workspaces?.filter(c => !s.workspaces?.some(l => this.u.extUri.isEqual(c, l))); r.workspaces?.length !== a?.length && (o = r, o.workspaces = a) } o && i.push(o) } if (!i.length) throw t.isDefault ? new Error("Cannot update default profile") : new Error(`Profile '${t.name}' does not exist`); this.I([], [], i); const n = this.profiles.find(r => r.id === t.id); if (!n) throw new Error(`Profile '${t.name}' was not updated`); return n } async removeProfile(t) { if (t.isDefault) throw new Error("Cannot remove default profile"); const s = this.profiles.find(n => n.id === t.id); if (!s) throw new Error(`Profile '${t.name}' does not exist`); const i = []; this.j.fire({ profile: s, join(n) { i.push(n) } }); try { await Promise.allSettled(i) } catch (n) { this.y.error(n) } this.I([], [s], []); try { await this.t.del(s.cacheHome, { recursive: !0 }) } catch (n) { Gt(n) !== 1 && this.y.error(n) } } async setProfileForWorkspace(t, s) { const i = this.profiles.find(r => r.id === s.id); if (!i) throw new Error(`Profile '${s.name}' does not exist`); const n = this.G(t); if (E.isUri(n)) { const r = i.workspaces ? [...i.workspaces] : []; r.some(o => this.u.extUri.isEqual(o, n)) || (r.push(n), await this.updateProfile(i, { workspaces: r })) } else this.L(n, i, !1), this.M(this.profiles) } unsetWorkspace(t, s = !1) { const i = this.G(t); if (E.isUri(i)) { const n = this.getProfileForWorkspace(t); n && this.updateProfile(n, { workspaces: n.workspaces?.filter(r => !this.u.extUri.isEqual(r, i)) }) } else this.L(i, void 0, s), this.M(this.profiles) } async resetWorkspaces() { this.r.emptyWindows.clear(), this.C.emptyWindows.clear(); for (const t of this.profiles) t.workspaces = void 0; this.I([], [], this.profiles), this.m.fire() } async cleanUp() { if (await this.t.exists(this.profilesHome)) { const t = await this.t.resolve(this.profilesHome); await Promise.all((t.children || []).filter(s => s.isDirectory && this.profiles.every(i => !this.u.extUri.isEqual(i.location, s.resource))).map(s => this.t.del(s.resource, { recursive: !0 }))) } } async cleanUpTransientProfiles() { const t = this.r.profiles.filter(s => !this.H(s)); await Promise.allSettled(t.map(s => this.removeProfile(s))) } getProfileForWorkspace(t) { const s = this.G(t); return E.isUri(s) ? this.profiles.find(i => i.workspaces?.some(n => this.u.extUri.isEqual(n, s))) : this.C.emptyWindows.get(s) ?? this.r.emptyWindows.get(s) } G(t) { return pN(t) ? t.uri : mN(t) ? t.configPath : t.id } H(t) { return !!(t.workspaces?.length || [...this.C.emptyWindows.values()].some(s => this.u.extUri.isEqual(s.location, t.location)) || [...this.r.emptyWindows.values()].some(s => this.u.extUri.isEqual(s.location, t.location))) } I(t, s, i) { const n = [...this.profiles, ...t], r = this.r.profiles; this.r.profiles = []; const o = []; for (let a of n) { if (s.some(c => a.id === c.id)) { for (const c of [...this.C.emptyWindows.keys()]) a.id === this.C.emptyWindows.get(c)?.id && this.C.emptyWindows.delete(c); continue } if (!a.isDefault) { a = i.find(l => a.id === l.id) ?? a; const c = r.find(l => a.id === l.id); if (a.isTransient) this.r.profiles.push(a); else if (c) { for (const [l, u] of this.r.emptyWindows.entries()) if (a.id === u.id) { this.r.emptyWindows.delete(l), this.C.emptyWindows.set(l, a); break } } } a.workspaces?.length === 0 && (a.workspaces = void 0), o.push(a) } this.M(o), this.J(t, s, i) } J(t, s, i) { this.g.fire({ added: t, removed: s, updated: i, all: this.profiles }) } L(t, s, i) { i = s?.isTransient ? !0 : i, i ? s ? this.r.emptyWindows.set(t, s) : this.r.emptyWindows.delete(t) : (this.r.emptyWindows.delete(t), s ? this.C.emptyWindows.set(t, s) : this.C.emptyWindows.delete(t)) } M(t) { const s = [], i = {}, n = {}; for (const r of t) if (!r.isTransient && (r.isDefault || s.push({ location: r.location, name: r.name, icon: r.icon, useDefaultFlags: r.useDefaultFlags }), r.workspaces)) for (const o of r.workspaces) i[o.toString()] = r.id; for (const [r, o] of this.C.emptyWindows.entries()) n[r.toString()] = o.id; this.Q({ workspaces: i, emptyWindows: n }), this.O(s), this.z = void 0 } N() { return [] } O(t) { throw new Error("not implemented") } P() { return {} } Q(t) { throw new Error("not implemented") } R() { } }, dh = __decorate([__param(0, Is), __param(1, gt), __param(2, jt), __param(3, pe)], dh) } }); function bN(e) { const t = e.get(Dc); if (t) try { return JSON.parse(t) } catch { } return Object.create(null) } function Q6(e) { return e.isDefault || !!e.useDefaultFlags?.globalState } async function yN(e, t, s, i, n, r) { const o = w => { try { return JSON.parse(w) } catch { return w } }, a = new Map, c = new Map; e.forEach((w, y) => { a.set(y, w), c.set(y, o(w)) }); const l = new Map, u = new Map; t.forEach((w, y) => { l.set(y, w), u.set(y, o(w)) }); const h = new Map, d = new Map; s.forEach((w, y) => { h.set(y, w), d.set(y, o(w)) }), console.group(i !== n ? `Storage: Application (path: ${i})` : `Storage: Application & Profile (path: ${i}, default profile)`); const p = []; if (a.forEach((w, y) => { p.push({ key: y, value: w }) }), console.table(p), console.groupEnd(), console.log(c), i !== n) { console.group(`Storage: Profile (path: ${n}, profile specific)`); const w = []; l.forEach((y, x) => { w.push({ key: x, value: y }) }), console.table(w), console.groupEnd(), console.log(u) } console.group(`Storage: Workspace (path: ${r})`); const g = []; h.forEach((w, y) => { g.push({ key: y, value: w }) }), console.table(g), console.groupEnd(), console.log(d) } var Z6, Dc, Em, _o, K6, e9, EN, t9 = v({ "out-build/vs/platform/storage/common/storage.js"() { "use strict"; Ue(), re(), z(), Yi(), $e(), dN(), oe(), Js(), Z6 = "__$__isNewStorageMarker", Dc = "__$__targetStorageMarker", Em = se("storageService"), function (e) { e[e.NONE = 0] = "NONE", e[e.SHUTDOWN = 1] = "SHUTDOWN" }(_o || (_o = {})), function (e) { e[e.APPLICATION = -1] = "APPLICATION", e[e.PROFILE = 0] = "PROFILE", e[e.WORKSPACE = 1] = "WORKSPACE" }(K6 || (K6 = {})), function (e) { e[e.USER = 0] = "USER", e[e.MACHINE = 1] = "MACHINE" }(e9 || (e9 = {})), EN = class AI extends J { static { this.a = 60 * 1e3 } constructor(t = { flushInterval: AI.a }) { super(), this.m = t, this.b = this.B(new gu), this.c = this.B(new gu), this.onDidChangeTarget = this.c.event, this.f = this.B(new D), this.onWillSaveState = this.f.event, this.h = this.B(new rc(() => this.n(), this.m.flushInterval)), this.j = this.B(new fu), this.C = void 0, this.F = void 0, this.H = void 0 } onDidChangeValue(t, s, i) { return H.filter(this.b.event, n => n.scope === t && (s === void 0 || n.key === s), i) } n() { this.j.value = $4(() => { this.r() && this.flush(), this.h.schedule() }) } r() { return !0 } t() { Ut([this.j, this.h]) } initialize() { return this.g || (this.g = (async () => { Pt("code/willInitStorage"); try { await this.O() } finally { Pt("code/didInitStorage") } this.h.schedule() })()), this.g } u(t, s) { const { key: i, external: n } = s; if (i === Dc) { switch (t) { case -1: this.H = void 0; break; case 0: this.F = void 0; break; case 1: this.C = void 0; break }this.c.fire({ scope: t }) } else this.b.fire({ scope: t, key: i, target: this.J(t)[i], external: n }) } w(t) { this.f.fire({ reason: t }) } get(t, s, i) { return this.P(s)?.get(t, i) } getBoolean(t, s, i) { return this.P(s)?.getBoolean(t, i) } getNumber(t, s, i) { return this.P(s)?.getNumber(t, i) } getObject(t, s, i) { return this.P(s)?.getObject(t, i) } storeAll(t, s) { this.y(() => { for (const i of t) this.store(i.key, i.value, i.scope, i.target, s) }) } store(t, s, i, n, r = !1) { if (xt(s)) { this.remove(t, i, r); return } this.y(() => { this.z(t, i, n), this.P(i)?.set(t, s, r) }) } remove(t, s, i = !1) { this.y(() => { this.z(t, s, void 0), this.P(s)?.delete(t, i) }) } y(t) { this.b.pause(), this.c.pause(); try { t() } finally { this.b.resume(), this.c.resume() } } keys(t, s) { const i = [], n = this.J(t); for (const r of Object.keys(n)) n[r] === s && i.push(r); return i } z(t, s, i, n = !1) { const r = this.J(s); typeof i == "number" ? r[t] !== i && (r[t] = i, this.P(s)?.set(Dc, JSON.stringify(r), n)) : typeof r[t] == "number" && (delete r[t], this.P(s)?.set(Dc, JSON.stringify(r), n)) } get D() { return this.C || (this.C = this.L(1)), this.C } get G() { return this.F || (this.F = this.L(0)), this.F } get I() { return this.H || (this.H = this.L(-1)), this.H } J(t) { switch (t) { case -1: return this.I; case 0: return this.G; default: return this.D } } L(t) { const s = this.P(t); return s ? bN(s) : Object.create(null) } isNew(t) { return this.getBoolean(Z6, t) === !0 } async flush(t = _o.NONE) { this.f.fire({ reason: t }); const s = this.P(-1), i = this.P(0), n = this.P(1); switch (t) { case _o.NONE: await Kt.settled([s?.whenFlushed() ?? Promise.resolve(), i?.whenFlushed() ?? Promise.resolve(), n?.whenFlushed() ?? Promise.resolve()]); break; case _o.SHUTDOWN: await Kt.settled([s?.flush(0) ?? Promise.resolve(), i?.flush(0) ?? Promise.resolve(), n?.flush(0) ?? Promise.resolve()]); break } } async log() { const t = this.P(-1)?.items ?? new Map, s = this.P(0)?.items ?? new Map, i = this.P(1)?.items ?? new Map; return yN(t, s, i, this.Q(-1) ?? "", this.Q(0) ?? "", this.Q(1) ?? "") } async optimize(t) { return await this.flush(), this.P(t)?.optimize() } async switch(t, s) { return this.w(_o.NONE), vN(t) ? this.R(t, s) : this.S(t, s) } M(t, s) { return !(t.id === s.id || Q6(s) && Q6(t)) } N(t, s, i) { this.y(() => { const n = new Set; for (const [r, o] of t) n.add(r), s.get(r) !== o && this.u(i, { key: r, external: !0 }); for (const [r] of s.items) n.has(r) || this.u(i, { key: r, external: !0 }) }) } } } }); function xN(...e) { return String(e.reduce((t, s) => t | s, 0)) } function xm(e, t) { const s = (e || []).filter(i => i.statisticName === t)[0]; return s ? s.value : 0 } function kN(e) { const t = "Microsoft.VisualStudio.Code.Translation."; return e.files.filter(i => i.assetType.indexOf(t) === 0).reduce((i, n) => { const r = wn(e, n.assetType); return r && i.push([n.assetType.substring(t.length), r]), i }, []) } function $N(e) { if (e.properties) { const t = e.properties.filter(n => n.key === Ft.Repository), s = new RegExp("((git|ssh|http(s)?)|(git@[\\w.]+))(:(//)?)([\\w.@:/\\-~]+)(.git)(/)?"), i = t.filter(n => s.test(n.value))[0]; return i ? { uri: i.value, fallbackUri: i.value } : null } return wn(e, Ft.Repository) } function SN(e) { return { uri: `${e.fallbackAssetUri}/${Ft.VSIX}?redirect=true${e.targetPlatform ? `&targetPlatform=${e.targetPlatform}` : ""}`, fallbackUri: `${e.fallbackAssetUri}/${Ft.VSIX}${e.targetPlatform ? `?targetPlatform=${e.targetPlatform}` : ""}` } } function wn(e, t) { return e.files.filter(i => i.assetType === t)[0] ? { uri: `${e.assetUri}/${t}${e.targetPlatform ? `?targetPlatform=${e.targetPlatform}` : ""}`, fallbackUri: `${e.fallbackAssetUri}/${t}${e.targetPlatform ? `?targetPlatform=${e.targetPlatform}` : ""}` } : null } function s9(e, t) { const s = e.properties ? e.properties.filter(n => n.key === t) : [], i = s.length > 0 && s[0].value; return i ? i.split(",").map(n => th(n)) : [] } function i9(e) { const t = e.properties ? e.properties.filter(s => s.key === Ai.Engine) : []; return t.length > 0 && t[0].value || "" } function Rc(e) { const t = e.properties ? e.properties.filter(s => s.key === Ai.PreRelease) : []; return t.length > 0 && t[0].value === "true" } function PN(e) { const t = e.properties ? e.properties.filter(s => s.key === Ai.ExecutesCode) : []; return t.length > 0 ? t[0].value === "true" : void 0 } function km(e) { const t = e.properties ? e.properties.filter(i => i.key === Ai.EnabledApiProposals) : [], s = t.length > 0 && t[0].value || ""; return s ? s.split(",") : [] } function IN(e) { const t = e.properties ? e.properties.filter(i => i.key === Ai.LocalizedLanguages) : [], s = t.length > 0 && t[0].value || ""; return s ? s.split(",") : [] } function AN(e) { return e.properties?.find(t => t.key === Ai.SponsorLink)?.value } function DN(e) { return e.properties?.find(t => t.key === Ai.SupportLink)?.value } function RN(e) { return e.indexOf("preview") !== -1 } function ph(e) { return e.targetPlatform ? oL(e.targetPlatform) : "undefined" } function $m(e) { const t = Qi(e.versions.map(ph)), s = !!e.tags?.includes(K5), i = t.indexOf("web"); return s ? i === -1 && t.push("web") : i !== -1 && t.splice(i, 1), t } function n9(e, t) { for (let s = 0; s < e.length; s++) { const i = e[s]; if (i.version === e[s - 1]?.version) { let n = s; if (ph(i) === t) for (; n > 0 && e[n - 1].version === i.version;)n--; n !== s && (e.splice(s, 1), e.splice(n, 0, i)) } } return e } function r9(e, t, s) { e.telemetryData = { index: t, querySource: s, queryActivityId: e.queryContext?.[jo] } } function o9(e, t, s, i) { const n = e.versions[0], r = { manifest: wn(t, Ft.Manifest), readme: wn(t, Ft.Details), changelog: wn(t, Ft.Changelog), license: wn(t, Ft.License), repository: $N(t), download: SN(t), icon: wn(t, Ft.Icon), signature: wn(t, Ft.Signature), coreTranslations: kN(t) }; return { type: "gallery", identifier: { id: pn(e.publisher.publisherName, e.extensionName), uuid: e.extensionId }, name: e.extensionName, version: t.version, displayName: e.displayName, publisherId: e.publisher.publisherId, publisher: e.publisher.publisherName, publisherDisplayName: e.publisher.displayName, publisherDomain: e.publisher.domain ? { link: e.publisher.domain, verified: !!e.publisher.isDomainVerified } : void 0, publisherSponsorLink: AN(n), description: e.shortDescription ?? "", installCount: xm(e.statistics, "install"), rating: xm(e.statistics, "averagerating"), ratingCount: xm(e.statistics, "ratingcount"), categories: e.categories || [], tags: e.tags || [], releaseDate: Date.parse(e.releaseDate), lastUpdated: Date.parse(e.lastUpdated), allTargetPlatforms: s, assets: r, properties: { dependencies: s9(t, Ai.Dependency), extensionPack: s9(t, Ai.ExtensionPack), engine: i9(t), enabledApiProposals: km(t), localizedLanguages: IN(t), targetPlatform: ph(t), isPreReleaseVersion: Rc(t), executesCode: PN(t) }, hasPreReleaseVersion: Rc(n), hasReleaseVersion: !0, preview: RN(e.flags), isSigned: !!r.signature, queryContext: i, supportLink: DN(n) } } var mh, jo, qe, ns, Ft, Ai, a9, c9, To, Lc, Sm, Nc, l9 = v({
  154. "out-build/vs/platform/extensionManagement/common/extensionGalleryService.js"() {
  155. "use strict"; Et(), Dt(), fe(), X(), ti(), $e(), ee(), fL(), ds(), ps(), Ds(), mn(), rh(), st(), Re(), Ls(), Dr(), lN(), t9(), As(), co(), et(), mh = $s ? "web" : X5(ro, G1), jo = "X-Market-Search-Activity-Id", function (e) { e[e.None = 0] = "None", e[e.IncludeVersions = 1] = "IncludeVersions", e[e.IncludeFiles = 2] = "IncludeFiles", e[e.IncludeCategoryAndTags = 4] = "IncludeCategoryAndTags", e[e.IncludeSharedAccounts = 8] = "IncludeSharedAccounts", e[e.IncludeVersionProperties = 16] = "IncludeVersionProperties", e[e.ExcludeNonValidated = 32] = "ExcludeNonValidated", e[e.IncludeInstallationTargets = 64] = "IncludeInstallationTargets", e[e.IncludeAssetUri = 128] = "IncludeAssetUri", e[e.IncludeStatistics = 256] = "IncludeStatistics", e[e.IncludeLatestVersionOnly = 512] = "IncludeLatestVersionOnly", e[e.Unpublished = 4096] = "Unpublished", e[e.IncludeNameConflictInfo = 32768] = "IncludeNameConflictInfo" }(qe || (qe = {})), function (e) { e[e.Tag = 1] = "Tag", e[e.ExtensionId = 4] = "ExtensionId", e[e.Category = 5] = "Category", e[e.ExtensionName = 7] = "ExtensionName", e[e.Target = 8] = "Target", e[e.Featured = 9] = "Featured", e[e.SearchText = 10] = "SearchText", e[e.ExcludeWithFlags = 12] = "ExcludeWithFlags" }(ns || (ns = {})), Ft = { Icon: "Microsoft.VisualStudio.Services.Icons.Default", Details: "Microsoft.VisualStudio.Services.Content.Details", Changelog: "Microsoft.VisualStudio.Services.Content.Changelog", Manifest: "Microsoft.VisualStudio.Code.Manifest", VSIX: "Microsoft.VisualStudio.Services.VSIXPackage", License: "Microsoft.VisualStudio.Services.Content.License", Repository: "Microsoft.VisualStudio.Services.Links.Source", Signature: "Microsoft.VisualStudio.Services.VsixSignature" }, Ai = { Dependency: "Microsoft.VisualStudio.Code.ExtensionDependencies", ExtensionPack: "Microsoft.VisualStudio.Code.ExtensionPack", Engine: "Microsoft.VisualStudio.Code.Engine", PreRelease: "Microsoft.VisualStudio.Code.PreRelease", EnabledApiProposals: "Microsoft.VisualStudio.Code.EnabledApiProposals", LocalizedLanguages: "Microsoft.VisualStudio.Code.LocalizedLanguages", WebExtension: "Microsoft.VisualStudio.Code.WebExtension", SponsorLink: "Microsoft.VisualStudio.Code.SponsorLink", SupportLink: "Microsoft.VisualStudio.Services.Links.Support", ExecutesCode: "Microsoft.VisualStudio.Code.ExecutesCode" }, a9 = 10, c9 = { pageNumber: 1, pageSize: a9, sortBy: 0, sortOrder: 0, flags: qe.None, criteria: [], assetTypes: [] }, To = class cr { constructor(t = c9) { this.d = t } get pageNumber() { return this.d.pageNumber } get pageSize() { return this.d.pageSize } get sortBy() { return this.d.sortBy } get sortOrder() { return this.d.sortOrder } get flags() { return this.d.flags } get criteria() { return this.d.criteria } withPage(t, s = this.d.pageSize) { return new cr({ ...this.d, pageNumber: t, pageSize: s }) } withFilter(t, ...s) { const i = [...this.d.criteria, ...s.length ? s.map(n => ({ filterType: t, value: n })) : [{ filterType: t }]]; return new cr({ ...this.d, criteria: i }) } withSortBy(t) { return new cr({ ...this.d, sortBy: t }) } withSortOrder(t) { return new cr({ ...this.d, sortOrder: t }) } withFlags(...t) { return new cr({ ...this.d, flags: t.reduce((s, i) => s | i, 0) }) } withAssetTypes(...t) { return new cr({ ...this.d, assetTypes: t }) } withSource(t) { return new cr({ ...this.d, source: t }) } get raw() { const { criteria: t, pageNumber: s, pageSize: i, sortBy: n, sortOrder: r, flags: o, assetTypes: a } = this.d; return { filters: [{ criteria: t, pageNumber: s, pageSize: i, sortBy: n, sortOrder: r }], assetTypes: a, flags: o } } get searchText() { const t = this.d.criteria.filter(s => s.filterType === ns.SearchText)[0]; return t && t.value ? t.value : "" } get telemetryData() { return { filterTypes: this.d.criteria.map(t => String(t.filterType)), flags: this.d.flags, sortBy: String(this.sortBy), sortOrder: String(this.sortOrder), pageNumber: String(this.pageNumber), source: this.d.source, searchTextLength: this.searchText.length } } }, Lc = class {
  156. constructor(t, s, i, n, r, o, a, c, l) { this.n = s, this.o = i, this.q = n, this.u = r, this.w = o, this.x = a, this.y = c, this.z = l; const u = a.extensionsGallery, h = u?.servicePPEUrl && c.getValue("_extensionsGallery.enablePPE"); this.d = h ? u.servicePPEUrl : u?.serviceUrl, this.g = h ? void 0 : u?.searchUrl, this.h = u?.controlUrl, this.j = u?.extensionUrlTemplate, this.l = a.extensionsEnabledWithApiProposalVersion?.map(d => d.toLowerCase()) ?? [], this.k = cN(a.version, a, this.q, this.y, this.w, t, this.u) } A(t = "") { return `${this.d}${t}` } isEnabled() { return !!this.d } async getExtensions(t, s, i) { if (!this.isEnabled()) throw new Error("No extension gallery service configured."); const n = Ne.isCancellationToken(s) ? {} : s, r = Ne.isCancellationToken(s) ? s : i, a = n.preferResourceApi && (this.y.getValue(l6) ?? !1) ? await this.C(t, n, r) : await this.B(t, n, r), c = a.map(u => u.identifier.uuid), l = []; for (const u of t) u.uuid && !c.includes(u.uuid) && l.push({ ...u, uuid: void 0 }); if (l.length) { this.u.publicLog2("galleryService:additionalQueryByName", { count: l.length }); const u = await this.B(l, n, r); a.push(...u) } return a } async B(t, s, i) { const n = [], r = [], o = [], a = []; let c = !0; for (const h of t) { h.uuid ? r.push(h.uuid) : n.push(h.id); const d = !!(h.version || h.preRelease); o.push({ id: h.id, uuid: h.uuid, includePreRelease: d }), h.version && a.push({ id: h.id, uuid: h.uuid, version: h.version }), c = c && !!h.hasPreRelease && !d } if (!r.length && !n.length) return []; let l = new To().withPage(1, t.length); r.length && (l = l.withFilter(ns.ExtensionId, ...r)), n.length && (l = l.withFilter(ns.ExtensionName, ...n)), (s.queryAllVersions || c) && (l = l.withFlags(l.flags, qe.IncludeVersions)), s.source && (l = l.withSource(s.source)); const { extensions: u } = await this.F(l, { targetPlatform: s.targetPlatform ?? mh, includePreRelease: o, versions: a, compatible: !!s.compatible, productVersion: s.productVersion ?? { version: this.x.version, date: this.x.date } }, i); return s.source && u.forEach((h, d) => r9(h, d, s.source)), u } async C(t, s, i) { const n = [], r = []; await Promise.allSettled(t.map(async a => { if (a.version) { n.push(a); return } try { const c = await this.I(a.id, i); if (!c) { n.push(a); return } const l = await this.G(c, { targetPlatform: s.targetPlatform ?? mh, includePreRelease: !!a.preRelease, compatible: !!s.compatible, productVersion: s.productVersion ?? { version: this.x.version, date: this.x.date } }, void 0, a.preRelease ? "prerelease" : "release"); l ? r.push(l) : (this.u.publicLog2("galleryService:fallbacktoquery", { extension: a.id, preRelease: !!a.preRelease, compatible: !!s.compatible }), (!s.compatible || this.z.isAllowed({ id: a.id, publisherDisplayName: c.publisher.displayName }) === !0) && n.push(a)) } catch (c) { this.o.error(`Error while getting the latest version for the extension ${a.id}.`, ge(c)), n.push(a) } })); const o = await this.B(n, s, i); return r.push(...o), r } async getCompatibleExtension(t, s, i, n = { version: this.x.version, date: this.x.date }) { if (kc(t.allTargetPlatforms, i)) return null; if (await this.isExtensionCompatible(t, s, i)) return t; if (this.z.isAllowed({ id: t.identifier.id, publisherDisplayName: t.publisherDisplayName }) !== !0) return null; const r = new To().withFlags(qe.IncludeVersions).withPage(1, 1).withFilter(ns.ExtensionId, t.identifier.uuid), { extensions: o } = await this.F(r, { targetPlatform: i, compatible: !0, includePreRelease: s, productVersion: n }, Ne.None); return o[0] || null } async isExtensionCompatible(t, s, i, n = { version: this.x.version, date: this.x.date }) { if (this.z.isAllowed(t) !== !0 || !sm(t.properties.targetPlatform, t.allTargetPlatforms, i) || !s && t.properties.isPreReleaseVersion) return !1; let r = t.properties.engine; if (!r) { const o = await this.getManifest(t, Ne.None); if (!o) throw new Error("Manifest was not found"); r = o.engines.vscode } return !(!nh(r, n.version, n.date) || !this.D(t.identifier, t.properties.enabledApiProposals)) } D(t, s) { return !s || !this.l.includes(t.id.toLowerCase()) ? !0 : pm(s) } async E(t, s, i, n, r, o, a, c = { version: this.x.version, date: this.x.date }) { const l = ph(s); if (!sm(l, o, a) || n !== "any" && Rc(s) !== (n === "prerelease")) return !1; if (r) { if (this.z.isAllowed({ id: t, publisherDisplayName: i, version: s.version, prerelease: Rc(s), targetPlatform: l }) !== !0) return !1; try { const u = await this.L(t, s); if (!nh(u, c.version, c.date)) return !1 } catch (u) { return this.o.error(`Error while getting the engine for the version ${s.version}.`, ge(u)), !1 } } return !0 } async query(t, s) { let i = t.text || ""; const n = t.pageSize ?? 50; let r = new To().withPage(1, n); i ? (i = i.replace(/\bcategory:("([^"]*)"|([^"]\S*))(\s+|\b|$)/g, (u, h, d) => (r = r.withFilter(ns.Category, d || h), "")), i = i.replace(/\btag:("([^"]*)"|([^"]\S*))(\s+|\b|$)/g, (u, h, d) => (r = r.withFilter(ns.Tag, d || h), "")), i = i.replace(/\bfeatured(\s+|\b|$)/g, () => (r = r.withFilter(ns.Featured), "")), i = i.trim(), i && (i = i.length < 200 ? i : i.substring(0, 200), r = r.withFilter(ns.SearchText, i)), r = r.withSortBy(0)) : r = r.withSortBy(4), typeof t.sortBy == "number" && (r = r.withSortBy(t.sortBy)), typeof t.sortOrder == "number" && (r = r.withSortOrder(t.sortOrder)), t.source && (r = r.withSource(t.source)); const o = async (u, h) => { const { extensions: d, total: p } = await this.F(u, { targetPlatform: mh, compatible: !1, includePreRelease: !!t.includePreRelease, productVersion: t.productVersion ?? { version: this.x.version, date: this.x.date } }, h); return d.forEach((g, w) => r9(g, (u.pageNumber - 1) * u.pageSize + w, t.source)), { extensions: d, total: p } }, { extensions: a, total: c } = await o(r, s), l = async (u, h) => { if (h.isCancellationRequested) throw new It; const { extensions: d } = await o(r.withPage(u + 1), h); return d }; return { firstPage: a, total: c, pageSize: r.pageSize, getPage: l } } async F(t, s, i) { const n = t.flags; t.flags & qe.IncludeLatestVersionOnly && t.flags & qe.IncludeVersions && (t = t.withFlags(t.flags & ~qe.IncludeVersions, qe.IncludeLatestVersionOnly)), !(t.flags & qe.IncludeLatestVersionOnly) && !(t.flags & qe.IncludeVersions) && (t = t.withFlags(t.flags, qe.IncludeLatestVersionOnly)), s.versions?.length && (t = t.withFlags(t.flags & ~qe.IncludeLatestVersionOnly, qe.IncludeVersions)), t = t.withFlags(t.flags, qe.IncludeAssetUri, qe.IncludeCategoryAndTags, qe.IncludeFiles, qe.IncludeStatistics, qe.IncludeVersionProperties); const { galleryExtensions: r, total: o, context: a } = await this.H(t, i); if (!(t.flags & qe.IncludeLatestVersionOnly)) { const h = []; for (const d of r) { const p = await this.G(d, s, a); p && h.push(p) } return { extensions: h, total: o } } const l = [], u = new Map; for (let h = 0; h < r.length; h++) { const d = r[h], p = { id: pn(d.publisher.publisherName, d.extensionName), uuid: d.extensionId }, g = ii(s.includePreRelease) ? s.includePreRelease : !!s.includePreRelease.find(y => xe(y, p))?.includePreRelease; if (s.compatible && (kc($m(d), s.targetPlatform) || this.z.isAllowed({ id: p.id, publisherDisplayName: d.publisher.displayName }) !== !0)) continue; const w = await this.G(d, s, a); !w || w.properties.isPreReleaseVersion && (!g || !w.hasReleaseVersion) || !w.properties.isPreReleaseVersion && w.properties.targetPlatform !== s.targetPlatform && w.hasPreReleaseVersion ? u.set(d.extensionId, h) : l.push([h, w]) } if (u.size) { const h = new Ki, d = new To().withFlags(n & ~qe.IncludeLatestVersionOnly, qe.IncludeVersions).withPage(1, u.size).withFilter(ns.ExtensionId, ...u.keys()), { extensions: p } = await this.F(d, s, i); this.u.publicLog2("galleryService:additionalQuery", { duration: h.elapsed(), count: u.size }); for (const g of p) { const w = u.get(g.identifier.uuid); l.push([w, g]) } } return { extensions: l.sort((h, d) => h[0] - d[0]).map(([, h]) => h), total: o } } async G(t, s, i, n) { const r = { id: pn(t.publisher.publisherName, t.extensionName), uuid: t.extensionId }, o = s.versions?.find(u => xe(u, r))?.version, a = ii(s.includePreRelease) ? s.includePreRelease : !!s.includePreRelease.find(u => xe(u, r))?.includePreRelease, c = $m(t), l = n9(t.versions, s.targetPlatform); if (s.compatible && kc(c, s.targetPlatform)) return null; for (let u = 0; u < l.length; u++) { const h = l[u]; if (!(o && h.version !== o)) { if (await this.E(r.id, h, t.publisher.displayName, n ?? (a ? "any" : "release"), s.compatible, c, s.targetPlatform, s.productVersion)) { if (s.compatible && !this.D(r, km(h))) continue; return o9(t, h, c, i) } if (o && h.version === o) return null } } return o || s.compatible ? null : o9(t, t.versions[0], c) } async H(t, s) { if (!this.isEnabled()) throw new Error("No extension gallery service configured."); t = t.withFlags(t.flags, qe.ExcludeNonValidated).withFilter(ns.Target, "Microsoft.VisualStudio.Code").withFilter(ns.ExcludeWithFlags, xN(qe.Unpublished)); const i = await this.k, n = JSON.stringify(t.raw), r = { ...i, "Content-Type": "application/json", Accept: "application/json;api-version=3.0-preview.1", "Accept-Encoding": "gzip", "Content-Length": String(n.length) }, o = new Ki; let a, c, l = 0; try { if (a = await this.n.request({ type: "POST", url: this.g && t.criteria.some(h => h.filterType === ns.SearchText) ? this.g : this.A("/extensionquery"), data: n, headers: r }, s), a.res.statusCode && a.res.statusCode >= 400 && a.res.statusCode < 500) return { galleryExtensions: [], total: l }; const u = await gc(a); if (u) { const h = u.results[0], d = h.extensions, p = h.resultMetadata && h.resultMetadata.filter(g => g.metadataType === "ResultCount")[0]; return l = p && p.metadataItems.filter(g => g.name === "TotalCount")[0].count || 0, { galleryExtensions: d, total: l, context: a.res.headers.activityid ? { [jo]: a.res.headers.activityid } : {} } } return { galleryExtensions: [], total: l } } catch (u) { if (In(u)) throw c = "Cancelled", u; { const h = ge(u); throw c = u6(u) ? "Offline" : h.startsWith("XHR timeout") ? "Timeout" : "Failed", new $c(h, c) } } finally { this.u.publicLog2("galleryService:query", { ...t.telemetryData, requestBodySize: String(n.length), duration: o.elapsed(), success: !!a && Hp(a), responseBodySize: a?.res.headers["Content-Length"], statusCode: a ? String(a.res.statusCode) : void 0, errorCode: c, count: String(l) }) } } async I(t, s) { let i; const n = new Ki; try { const [r, o] = t.split("."); if (!r || !o) { i = "InvalidExtensionId"; return } const a = E.parse(IA(this.j, { publisher: r, name: o })), l = { ...await this.k, "Content-Type": "application/json", Accept: "application/json;api-version=7.2-preview", "Accept-Encoding": "gzip" }, u = await this.n.request({ type: "GET", url: a.toString(!0), headers: l, timeout: 1e4 }, s); if (u.res.statusCode && u.res.statusCode !== 200) { i = "GalleryServiceError:" + u.res.statusCode, this.o.warn("Error getting latest version of the extension", t, u.res.statusCode); return } const h = await gc(u); if (h) return h; i = "NoData", this.o.warn("Error getting latest version of the extension", t, i) } catch (r) { if (In(r)) i = "Cancelled"; else { const o = ge(r); i = u6(r) ? "Offline" : o.startsWith("XHR timeout") ? "Timeout" : "Failed" } } finally { this.u.publicLog2("galleryService:getLatest", { extension: t, duration: n.elapsed(), errorCode: i }) } } async reportStatistic(t, s, i, n) { if (!this.isEnabled()) return; const r = $s ? this.A(`/itemName/${t}.${s}/version/${i}/statType/${n === "install" ? "1" : "3"}/vscodewebextension`) : this.A(`/publishers/${t}/extensions/${s}/${i}/stats?statType=${n}`), o = $s ? "api-version=6.1-preview.1" : "*/*;api-version=4.0-preview.1", c = { ...await this.k, Accept: o }; try { await this.n.request({ type: "POST", url: r, headers: c }, Ne.None) } catch { } } async download(t, s, i) { this.o.trace("ExtensionGalleryService#download", t.identifier.id); const n = um(t), r = new Date().getTime(), o = i === 2 ? "install" : i === 3 ? "update" : "", a = o ? { uri: `${t.assets.download.uri}${E.parse(t.assets.download.uri).query ? "&" : "?"}${o}=true`, fallbackUri: `${t.assets.download.fallbackUri}${E.parse(t.assets.download.fallbackUri).query ? "&" : "?"}${o}=true` } : t.assets.download, c = t.queryContext?.[jo] ? { [jo]: t.queryContext[jo] } : void 0, l = await this.K(t.identifier.id, a, Ft.VSIX, c ? { headers: c } : void 0); try { await this.w.writeFile(s, l.stream) } catch (u) { try { await this.w.del(s) } catch (h) { this.o.warn(`Error while deleting the file ${s.toString()}`, ge(h)) } throw new $c(ge(u), "DownloadFailedWriting") } this.u.publicLog("galleryService:downloadVSIX", { ...n, duration: new Date().getTime() - r }) } async downloadSignatureArchive(t, s) { if (!t.assets.signature) throw new Error("No signature asset found"); this.o.trace("ExtensionGalleryService#downloadSignatureArchive", t.identifier.id); const i = await this.K(t.identifier.id, t.assets.signature, Ft.Signature); try { await this.w.writeFile(s, i.stream) } catch (n) { try { await this.w.del(s) } catch (r) { this.o.warn(`Error while deleting the file ${s.toString()}`, ge(r)) } throw new $c(ge(n), "DownloadFailedWriting") } } async getReadme(t, s) { if (t.assets.readme) { const i = await this.K(t.identifier.id, t.assets.readme, Ft.Details, {}, s); return await Ar(i) || "" } return "" } async getManifest(t, s) { if (t.assets.manifest) { const i = await this.K(t.identifier.id, t.assets.manifest, Ft.Manifest, {}, s), n = await Ar(i); return n ? JSON.parse(n) : null } return null } async J(t, s, i) { const n = wn(s, Ft.Manifest); if (!n) throw new Error("Manifest was not found"); const r = { "Accept-Encoding": "gzip" }, o = await this.K(t, n, Ft.Manifest, { headers: r }); return await gc(o) } async getCoreTranslation(t, s) { const i = t.assets.coreTranslations.filter(n => n[0] === s.toUpperCase())[0]; if (i) { const n = await this.K(t.identifier.id, i[1], i[0]), r = await Ar(n); return r ? JSON.parse(r) : null } return null } async getChangelog(t, s) { if (t.assets.changelog) { const i = await this.K(t.identifier.id, t.assets.changelog, Ft.Changelog, {}, s); return await Ar(i) || "" } return "" } async getAllCompatibleVersions(t, s, i) { let n = new To().withFlags(qe.IncludeVersions, qe.IncludeCategoryAndTags, qe.IncludeFiles, qe.IncludeVersionProperties).withPage(1, 1); t.uuid ? n = n.withFilter(ns.ExtensionId, t.uuid) : n = n.withFilter(ns.ExtensionName, t.id); const { galleryExtensions: r } = await this.H(n, Ne.None); if (!r.length) return []; const o = $m(r[0]); if (kc(o, i)) return []; const a = []; await Promise.all(r[0].versions.map(async u => { try { await this.E(t.id, u, r[0].publisher.displayName, s ? "any" : "release", !0, o, i) && this.D(t, km(u)) && a.push(u) } catch { } })); const c = [], l = new Set; for (const u of n9(a, i)) l.has(u.version) || (l.add(u.version), c.push({ version: u.version, date: u.lastUpdated, isPreReleaseVersion: Rc(u) })); return c } async K(t, s, i, n = {}, r = Ne.None) {
  157. const o = await this.k, a = { type: "GET" }, c = { ...o, ...n.headers || {} }; n = { ...n, ...a, headers: c }; const l = s.uri, u = s.fallbackUri, h = { ...n, url: l }; try {
  158. const d = await this.n.request(h, r); if (d.res.statusCode === 200) return d; const p = await Ar(d); throw new Error(`Expected 200, got back ${d.res.statusCode} instead.
  159. ${p}`)
  160. } catch (d) { if (In(d)) throw d; const p = ge(d); this.u.publicLog2("galleryService:cdnFallback", { extension: t, assetType: i, message: p }); const g = { ...n, url: u }; return this.n.request(g, r) }
  161. } async L(t, s) { let i = i9(s); if (!i) { this.u.publicLog2("galleryService:engineFallback", { extension: t, version: s.version }); const n = await this.J(t, s, Ne.None); if (!n) throw new Error("Manifest was not found"); i = n.engines.vscode } return i } async getExtensionsControlManifest() { if (!this.isEnabled()) throw new Error("No extension gallery service configured."); if (!this.h) return { malicious: [], deprecated: {}, search: [] }; const t = await this.n.request({ type: "GET", url: this.h }, Ne.None); if (t.res.statusCode !== 200) throw new Error("Could not get extensions report."); const s = await gc(t), i = [], n = {}, r = [], o = []; if (s) { for (const a of s.malicious) i.push({ id: a }); if (s.migrateToPreRelease) for (const [a, c] of Object.entries(s.migrateToPreRelease)) (!c.engine || nh(c.engine, this.x.version, this.x.date)) && (n[a.toLowerCase()] = { disallowInstall: !0, extension: { id: c.id, displayName: c.displayName, autoMigrate: { storage: !!c.migrateStorage }, preRelease: !0 } }); if (s.deprecated) for (const [a, c] of Object.entries(s.deprecated)) c && (n[a.toLowerCase()] = ii(c) ? {} : c); if (s.search) for (const a of s.search) r.push(a); if (Array.isArray(s.extensionsEnabledWithPreRelease)) for (const a of s.extensionsEnabledWithPreRelease) o.push(a.toLowerCase()) } return { malicious: i, deprecated: n, search: r, extensionsEnabledWithPreRelease: o } }
  162. }, Lc = __decorate([__param(1, Pi), __param(2, pe), __param(3, Is), __param(4, qt), __param(5, gt), __param(6, Nt), __param(7, ts), __param(8, dn)], Lc), Sm = class extends Lc { constructor(t, s, i, n, r, o, a, c, l) { super(t, s, i, n, r, o, a, c, l) } }, Sm = __decorate([__param(0, Em), __param(1, Pi), __param(2, pe), __param(3, Is), __param(4, qt), __param(5, gt), __param(6, Nt), __param(7, ts), __param(8, dn)], Sm), Nc = class extends Lc { constructor(t, s, i, n, r, o, a, c) { super(void 0, t, s, i, n, r, o, a, c) } }, Nc = __decorate([__param(0, Pi), __param(1, pe), __param(2, Is), __param(3, qt), __param(4, gt), __param(5, Nt), __param(6, ts), __param(7, dn)], Nc)
  163. }
  164. }); import { createWriteStream as u9, promises as h9 } from "fs"; function LN(e) { const t = e.externalFileAttributes >> 16 || 33188; return [448, 56, 7].map(s => t & s).reduce((s, i) => s + i, t & 61440) } function f9(e) { if (e instanceof Oc) return e; let t; return g9.test(e.message) && (t = "CorruptZip"), new Oc(t, e) } function NN(e, t, s, i, n, r) { const o = Ct(t), a = _(i, o); if (!a.startsWith(i)) return Promise.reject(new Error(m(145, null, t))); const c = _(i, t); let l; return r.onCancellationRequested(() => { l?.destroy() }), Promise.resolve(h9.mkdir(a, { recursive: !0 })).then(() => new Promise((u, h) => { if (!r.isCancellationRequested) try { l = u9(c, { mode: s }), l.once("close", () => u()), l.once("error", h), e.once("error", h), e.pipe(l) } catch (d) { h(d) } })) } function ON(e, t, s, i) { let n = cn(() => Promise.resolve()), r = 0; const o = i.onCancellationRequested(() => { n.cancel(), e.close() }); return new Promise((a, c) => { const l = new b4, u = h => { h.isCancellationRequested || (r++, e.readEntry()) }; e.once("error", c), e.once("close", () => n.then(() => { i.isCancellationRequested || e.entryCount === r ? a() : c(new Oc("Incomplete", new Error(m(146, null, r, e.entryCount)))) }, c)), e.readEntry(), e.on("entry", h => { if (i.isCancellationRequested) return; if (!s.sourcePathRegex.test(h.fileName)) { u(i); return } const d = h.fileName.replace(s.sourcePathRegex, ""); if (/\/$/.test(d)) { const w = _(t, d); n = cn(y => h9.mkdir(w, { recursive: !0 }).then(() => u(y)).then(void 0, c)); return } const p = p9(e, h), g = LN(h); n = cn(w => l.queue(() => p.then(y => NN(y, d, g, t, s, w).then(() => u(w)))).then(null, c)) }) }).finally(() => o.dispose()) } async function d9(e, t = !1) { const { open: s } = await import("yauzl"); return new Promise((i, n) => { s(e, t ? { lazyEntries: !0 } : void 0, (r, o) => { r ? n(f9(r)) : i(sp(o)) }) }) } function p9(e, t) { return new Promise((s, i) => { e.openReadStream(t, (n, r) => { n ? i(f9(n)) : s(sp(r)) }) }) } async function CN(e, t) { const { ZipFile: s } = await import("yazl"); return new Promise((i, n) => { const r = new s; t.forEach(a => { a.contents ? r.addBuffer(typeof a.contents == "string" ? Buffer.from(a.contents, "utf8") : a.contents, a.path) : a.localPath && r.addFile(a.localPath, a.path) }), r.end(); const o = u9(e); r.outputStream.pipe(o), r.outputStream.once("error", n), o.once("error", n), o.once("finish", () => i(e)) }) } function _N(e, t, s = {}, i) { const n = new RegExp(s.sourcePath ? `^${s.sourcePath}` : ""); let r = d9(e, !0); return s.overwrite && (r = r.then(o => Pe.rm(t).then(() => o))), r.then(o => ON(o, t, { sourcePathRegex: n }, i)) } function jN(e, t) { return d9(e).then(s => new Promise((i, n) => { s.on("entry", r => { r.fileName === t && p9(s, r).then(o => i(o), o => n(o)) }), s.once("close", () => n(new Error(m(147, null, t)))) })) } function m9(e, t) { return jN(e, t).then(s => new Promise((i, n) => { const r = []; s.once("error", n), s.on("data", o => r.push(o)), s.on("end", () => i(Buffer.concat(r))) })) } var Pm, g9, Oc, Im = v({ "out-build/vs/base/node/zip.js"() { "use strict"; Ue(), de(), $e(), ss(), he(), Pm = "end of central directory record signature not found", g9 = new RegExp(Pm), Oc = class extends Error { constructor(e, t) { let s = t.message; switch (e) { case "CorruptZip": s = `Corrupt ZIP: ${s}`; break }super(s), this.type = e, this.cause = t } } } }), gh, Am = v({ "out-build/vs/platform/download/common/download.js"() { "use strict"; oe(), gh = se("downloadService") } }), TN, w9, v9, b9, UN, MN, FN, BN, HN = v({ "out-build/vs/base/common/naturalLanguage/korean.js"() { "use strict"; TN = new Uint32Array(10), function (e) { e[e.InitialConsonant = 4352] = "InitialConsonant", e[e.Vowel = 4449] = "Vowel", e[e.FinalConsonant = 4520] = "FinalConsonant", e[e.CompatibilityJamo = 12593] = "CompatibilityJamo" }(w9 || (w9 = {})), function (e) { e[e.NUL = 0] = "NUL", e[e.A = 65] = "A", e[e.B = 66] = "B", e[e.C = 67] = "C", e[e.D = 68] = "D", e[e.E = 69] = "E", e[e.F = 70] = "F", e[e.G = 71] = "G", e[e.H = 72] = "H", e[e.I = 73] = "I", e[e.J = 74] = "J", e[e.K = 75] = "K", e[e.L = 76] = "L", e[e.M = 77] = "M", e[e.N = 78] = "N", e[e.O = 79] = "O", e[e.P = 80] = "P", e[e.Q = 81] = "Q", e[e.R = 82] = "R", e[e.S = 83] = "S", e[e.T = 84] = "T", e[e.U = 85] = "U", e[e.V = 86] = "V", e[e.W = 87] = "W", e[e.X = 88] = "X", e[e.Y = 89] = "Y", e[e.Z = 90] = "Z", e[e.a = 97] = "a", e[e.b = 98] = "b", e[e.c = 99] = "c", e[e.d = 100] = "d", e[e.e = 101] = "e", e[e.f = 102] = "f", e[e.g = 103] = "g", e[e.h = 104] = "h", e[e.i = 105] = "i", e[e.j = 106] = "j", e[e.k = 107] = "k", e[e.l = 108] = "l", e[e.m = 109] = "m", e[e.n = 110] = "n", e[e.o = 111] = "o", e[e.p = 112] = "p", e[e.q = 113] = "q", e[e.r = 114] = "r", e[e.s = 115] = "s", e[e.t = 116] = "t", e[e.u = 117] = "u", e[e.v = 118] = "v", e[e.w = 119] = "w", e[e.x = 120] = "x", e[e.y = 121] = "y", e[e.z = 122] = "z" }(v9 || (v9 = {})), function (e) { e[e.fa = 24934] = "fa", e[e.fg = 26470] = "fg", e[e.fq = 29030] = "fq", e[e.fr = 29286] = "fr", e[e.ft = 29798] = "ft", e[e.fv = 30310] = "fv", e[e.fx = 30822] = "fx", e[e.hk = 27496] = "hk", e[e.hl = 27752] = "hl", e[e.ho = 28520] = "ho", e[e.ml = 27757] = "ml", e[e.nj = 27246] = "nj", e[e.nl = 27758] = "nl", e[e.np = 28782] = "np", e[e.qt = 29809] = "qt", e[e.rt = 29810] = "rt", e[e.sg = 26483] = "sg", e[e.sw = 30579] = "sw" }(b9 || (b9 = {})), UN = new Uint8Array([114, 82, 115, 101, 69, 102, 97, 113, 81, 116, 84, 100, 119, 87, 99, 122, 120, 118, 103]), MN = new Uint16Array([107, 111, 105, 79, 106, 112, 117, 80, 104, 27496, 28520, 27752, 121, 110, 27246, 28782, 27758, 98, 109, 27757, 108]), FN = new Uint16Array([114, 82, 29810, 115, 30579, 26483, 101, 102, 29286, 24934, 29030, 29798, 30822, 30310, 26470, 97, 113, 29809, 116, 84, 100, 119, 99, 122, 120, 118, 103]), BN = new Uint16Array([114, 82, 29810, 115, 30579, 26483, 101, 69, 102, 29286, 24934, 29030, 29798, 30822, 30310, 26470, 97, 113, 81, 29809, 116, 84, 100, 119, 87, 99, 122, 120, 118, 103, 107, 111, 105, 79, 106, 112, 117, 80, 104, 27496, 28520, 27752, 121, 110, 27246, 28782, 27758, 98, 109, 27757, 108]) } }); function y9(...e) { return function (t, s) { for (let i = 0, n = e.length; i < n; i++) { const r = e[i](t, s); if (r) return r } return null } } function E9(e, t, s) { if (!s || s.length < t.length) return null; let i; return e ? i = W1(s, t) : i = s.indexOf(t) === 0, i ? t.length > 0 ? [{ start: 0, end: t.length }] : [] : null } function zN(e, t) { const s = t.toLowerCase().indexOf(e.toLowerCase()); return s === -1 ? null : [{ start: s, end: s + e.length }] } function VN(e, t) { return Dm(e.toLowerCase(), t.toLowerCase(), 0, 0) } function Dm(e, t, s, i) { if (s === e.length) return []; if (i === t.length) return null; if (e[s] === t[i]) { let n = null; return (n = Dm(e, t, s + 1, i + 1)) ? k9({ start: i, end: i + 1 }, n) : null } return Dm(e, t, s, i + 1) } function Rm(e) { return 97 <= e && e <= 122 } function wh(e) { return 65 <= e && e <= 90 } function Lm(e) { return 48 <= e && e <= 57 } function WN(e) { return e === 32 || e === 9 || e === 10 || e === 13 } function x9(e) { return Rm(e) || wh(e) || Lm(e) } function k9(e, t) { return t.length === 0 ? t = [e] : e.end === t[0].start ? t[0].start = e.start : t.unshift(e), t } function $9(e, t) { for (let s = t; s < e.length; s++) { const i = e.charCodeAt(s); if (wh(i) || Lm(i) || s > 0 && !x9(e.charCodeAt(s - 1))) return s } return e.length } function Nm(e, t, s, i) { if (s === e.length) return []; if (i === t.length) return null; if (e[s] !== t[i].toLowerCase()) return null; { let n = null, r = i + 1; for (n = Nm(e, t, s + 1, i + 1); !n && (r = $9(t, r)) < t.length;)n = Nm(e, t, s + 1, r), r++; return n === null ? null : k9({ start: i, end: i + 1 }, n) } } function qN(e) { let t = 0, s = 0, i = 0, n = 0, r = 0; for (let u = 0; u < e.length; u++)r = e.charCodeAt(u), wh(r) && t++, Rm(r) && s++, x9(r) && i++, Lm(r) && n++; const o = t / e.length, a = s / e.length, c = i / e.length, l = n / e.length; return { upperPercent: o, lowerPercent: a, alphaPercent: c, numericPercent: l } } function GN(e) { const { upperPercent: t, lowerPercent: s } = e; return s === 0 && t > .6 } function JN(e) { const { upperPercent: t, lowerPercent: s, alphaPercent: i, numericPercent: n } = e; return s > .2 && t < .8 && i > .6 && n < .2 } function YN(e) { let t = 0, s = 0, i = 0, n = 0; for (let r = 0; r < e.length; r++)i = e.charCodeAt(r), wh(i) && t++, Rm(i) && s++, WN(i) && n++; return (t === 0 || s === 0) && n === 0 ? e.length <= 30 : t <= 5 } function S9(e, t) { if (!t || (t = t.trim(), t.length === 0) || !YN(e)) return null; t.length > 60 && (t = t.substring(0, 60)); const s = qN(t); if (!JN(s)) { if (!GN(s)) return null; t = t.toLowerCase() } let i = null, n = 0; for (e = e.toLowerCase(); n < t.length && (i = Nm(e, t, 0, n)) === null;)n = $9(t, n + 1); return i } function Om() { const e = [], t = []; for (let s = 0; s <= Cc; s++)t[s] = 0; for (let s = 0; s <= Cc; s++)e.push(t.slice(0)); return e } function P9(e) { const t = []; for (let s = 0; s <= e; s++)t[s] = 0; return t } var XN, Cm, I9, QN, ZN, KN, Cc, eO, tO, sO, iO, nO, A9, D9, rO, oO = v({ "out-build/vs/base/common/filters.js"() { "use strict"; ls(), HN(), et(), XN = E9.bind(void 0, !1), Cm = E9.bind(void 0, !0), I9 = new Set, "()[]{}<>`'\"-/;:,.?!".split("").forEach(e => I9.add(e.charCodeAt(0))), QN = y9(Cm, S9, zN), ZN = y9(Cm, S9, VN), KN = new Fa(1e4), Cc = 128, eO = P9(2 * Cc), tO = P9(2 * Cc), sO = Om(), iO = Om(), nO = Om(), function (e) { e[e.Diag = 1] = "Diag", e[e.Left = 2] = "Left", e[e.LeftLeft = 3] = "LeftLeft" }(A9 || (A9 = {})), function (e) { e.Default = [-100, 0]; function t(s) { return !s || s.length === 2 && s[0] === -100 && s[1] === 0 } e.isDefault = t }(D9 || (D9 = {})), rO = class { static { this.default = { boostFullMatch: !0, firstMatchCanBeWeak: !1 } } constructor(e, t) { this.firstMatchCanBeWeak = e, this.boostFullMatch = t } } } }); function f(e, t) { if (ve(t)) { const s = _m[t]; if (s === void 0) throw new Error(`${e} references an unknown codicon: ${t}`); t = s } return _m[e] = t, { id: e } } var _m, R9 = v({ "out-build/vs/base/common/codiconsUtil.js"() { "use strict"; $e(), _m = Object.create(null) } }), L9, aO = v({ "out-build/vs/base/common/codiconsLibrary.js"() { "use strict"; R9(), L9 = { add: f("add", 6e4), plus: f("plus", 6e4), gistNew: f("gist-new", 6e4), repoCreate: f("repo-create", 6e4), lightbulb: f("lightbulb", 60001), lightBulb: f("light-bulb", 60001), repo: f("repo", 60002), repoDelete: f("repo-delete", 60002), gistFork: f("gist-fork", 60003), repoForked: f("repo-forked", 60003), gitPullRequest: f("git-pull-request", 60004), gitPullRequestAbandoned: f("git-pull-request-abandoned", 60004), recordKeys: f("record-keys", 60005), keyboard: f("keyboard", 60005), tag: f("tag", 60006), gitPullRequestLabel: f("git-pull-request-label", 60006), tagAdd: f("tag-add", 60006), tagRemove: f("tag-remove", 60006), person: f("person", 60007), personFollow: f("person-follow", 60007), personOutline: f("person-outline", 60007), personFilled: f("person-filled", 60007), gitBranch: f("git-branch", 60008), gitBranchCreate: f("git-branch-create", 60008), gitBranchDelete: f("git-branch-delete", 60008), sourceControl: f("source-control", 60008), mirror: f("mirror", 60009), mirrorPublic: f("mirror-public", 60009), star: f("star", 60010), starAdd: f("star-add", 60010), starDelete: f("star-delete", 60010), starEmpty: f("star-empty", 60010), comment: f("comment", 60011), commentAdd: f("comment-add", 60011), alert: f("alert", 60012), warning: f("warning", 60012), search: f("search", 60013), searchSave: f("search-save", 60013), logOut: f("log-out", 60014), signOut: f("sign-out", 60014), logIn: f("log-in", 60015), signIn: f("sign-in", 60015), eye: f("eye", 60016), eyeUnwatch: f("eye-unwatch", 60016), eyeWatch: f("eye-watch", 60016), circleFilled: f("circle-filled", 60017), primitiveDot: f("primitive-dot", 60017), closeDirty: f("close-dirty", 60017), debugBreakpoint: f("debug-breakpoint", 60017), debugBreakpointDisabled: f("debug-breakpoint-disabled", 60017), debugHint: f("debug-hint", 60017), terminalDecorationSuccess: f("terminal-decoration-success", 60017), primitiveSquare: f("primitive-square", 60018), edit: f("edit", 60019), pencil: f("pencil", 60019), info: f("info", 60020), issueOpened: f("issue-opened", 60020), gistPrivate: f("gist-private", 60021), gitForkPrivate: f("git-fork-private", 60021), lock: f("lock", 60021), mirrorPrivate: f("mirror-private", 60021), close: f("close", 60022), removeClose: f("remove-close", 60022), x: f("x", 60022), repoSync: f("repo-sync", 60023), sync: f("sync", 60023), clone: f("clone", 60024), desktopDownload: f("desktop-download", 60024), beaker: f("beaker", 60025), microscope: f("microscope", 60025), vm: f("vm", 60026), deviceDesktop: f("device-desktop", 60026), file: f("file", 60027), fileText: f("file-text", 60027), more: f("more", 60028), ellipsis: f("ellipsis", 60028), kebabHorizontal: f("kebab-horizontal", 60028), mailReply: f("mail-reply", 60029), reply: f("reply", 60029), organization: f("organization", 60030), organizationFilled: f("organization-filled", 60030), organizationOutline: f("organization-outline", 60030), newFile: f("new-file", 60031), fileAdd: f("file-add", 60031), newFolder: f("new-folder", 60032), fileDirectoryCreate: f("file-directory-create", 60032), trash: f("trash", 60033), trashcan: f("trashcan", 60033), history: f("history", 60034), clock: f("clock", 60034), folder: f("folder", 60035), fileDirectory: f("file-directory", 60035), symbolFolder: f("symbol-folder", 60035), logoGithub: f("logo-github", 60036), markGithub: f("mark-github", 60036), github: f("github", 60036), terminal: f("terminal", 60037), console: f("console", 60037), repl: f("repl", 60037), zap: f("zap", 60038), symbolEvent: f("symbol-event", 60038), error: f("error", 60039), stop: f("stop", 60039), variable: f("variable", 60040), symbolVariable: f("symbol-variable", 60040), array: f("array", 60042), symbolArray: f("symbol-array", 60042), symbolModule: f("symbol-module", 60043), symbolPackage: f("symbol-package", 60043), symbolNamespace: f("symbol-namespace", 60043), symbolObject: f("symbol-object", 60043), symbolMethod: f("symbol-method", 60044), symbolFunction: f("symbol-function", 60044), symbolConstructor: f("symbol-constructor", 60044), symbolBoolean: f("symbol-boolean", 60047), symbolNull: f("symbol-null", 60047), symbolNumeric: f("symbol-numeric", 60048), symbolNumber: f("symbol-number", 60048), symbolStructure: f("symbol-structure", 60049), symbolStruct: f("symbol-struct", 60049), symbolParameter: f("symbol-parameter", 60050), symbolTypeParameter: f("symbol-type-parameter", 60050), symbolKey: f("symbol-key", 60051), symbolText: f("symbol-text", 60051), symbolReference: f("symbol-reference", 60052), goToFile: f("go-to-file", 60052), symbolEnum: f("symbol-enum", 60053), symbolValue: f("symbol-value", 60053), symbolRuler: f("symbol-ruler", 60054), symbolUnit: f("symbol-unit", 60054), activateBreakpoints: f("activate-breakpoints", 60055), archive: f("archive", 60056), arrowBoth: f("arrow-both", 60057), arrowDown: f("arrow-down", 60058), arrowLeft: f("arrow-left", 60059), arrowRight: f("arrow-right", 60060), arrowSmallDown: f("arrow-small-down", 60061), arrowSmallLeft: f("arrow-small-left", 60062), arrowSmallRight: f("arrow-small-right", 60063), arrowSmallUp: f("arrow-small-up", 60064), arrowUp: f("arrow-up", 60065), bell: f("bell", 60066), bold: f("bold", 60067), book: f("book", 60068), bookmark: f("bookmark", 60069), debugBreakpointConditionalUnverified: f("debug-breakpoint-conditional-unverified", 60070), debugBreakpointConditional: f("debug-breakpoint-conditional", 60071), debugBreakpointConditionalDisabled: f("debug-breakpoint-conditional-disabled", 60071), debugBreakpointDataUnverified: f("debug-breakpoint-data-unverified", 60072), debugBreakpointData: f("debug-breakpoint-data", 60073), debugBreakpointDataDisabled: f("debug-breakpoint-data-disabled", 60073), debugBreakpointLogUnverified: f("debug-breakpoint-log-unverified", 60074), debugBreakpointLog: f("debug-breakpoint-log", 60075), debugBreakpointLogDisabled: f("debug-breakpoint-log-disabled", 60075), briefcase: f("briefcase", 60076), broadcast: f("broadcast", 60077), browser: f("browser", 60078), bug: f("bug", 60079), calendar: f("calendar", 60080), caseSensitive: f("case-sensitive", 60081), check: f("check", 60082), checklist: f("checklist", 60083), chevronDown: f("chevron-down", 60084), chevronLeft: f("chevron-left", 60085), chevronRight: f("chevron-right", 60086), chevronUp: f("chevron-up", 60087), chromeClose: f("chrome-close", 60088), chromeMaximize: f("chrome-maximize", 60089), chromeMinimize: f("chrome-minimize", 60090), chromeRestore: f("chrome-restore", 60091), circleOutline: f("circle-outline", 60092), circle: f("circle", 60092), debugBreakpointUnverified: f("debug-breakpoint-unverified", 60092), terminalDecorationIncomplete: f("terminal-decoration-incomplete", 60092), circleSlash: f("circle-slash", 60093), circuitBoard: f("circuit-board", 60094), clearAll: f("clear-all", 60095), clippy: f("clippy", 60096), closeAll: f("close-all", 60097), cloudDownload: f("cloud-download", 60098), cloudUpload: f("cloud-upload", 60099), code: f("code", 60100), collapseAll: f("collapse-all", 60101), colorMode: f("color-mode", 60102), commentDiscussion: f("comment-discussion", 60103), creditCard: f("credit-card", 60105), dash: f("dash", 60108), dashboard: f("dashboard", 60109), database: f("database", 60110), debugContinue: f("debug-continue", 60111), debugDisconnect: f("debug-disconnect", 60112), debugPause: f("debug-pause", 60113), debugRestart: f("debug-restart", 60114), debugStart: f("debug-start", 60115), debugStepInto: f("debug-step-into", 60116), debugStepOut: f("debug-step-out", 60117), debugStepOver: f("debug-step-over", 60118), debugStop: f("debug-stop", 60119), debug: f("debug", 60120), deviceCameraVideo: f("device-camera-video", 60121), deviceCamera: f("device-camera", 60122), deviceMobile: f("device-mobile", 60123), diffAdded: f("diff-added", 60124), diffIgnored: f("diff-ignored", 60125), diffModified: f("diff-modified", 60126), diffRemoved: f("diff-removed", 60127), diffRenamed: f("diff-renamed", 60128), diff: f("diff", 60129), diffSidebyside: f("diff-sidebyside", 60129), discard: f("discard", 60130), editorLayout: f("editor-layout", 60131), emptyWindow: f("empty-window", 60132), exclude: f("exclude", 60133), extensions: f("extensions", 60134), eyeClosed: f("eye-closed", 60135), fileBinary: f("file-binary", 60136), fileCode: f("file-code", 60137), fileMedia: f("file-media", 60138), filePdf: f("file-pdf", 60139), fileSubmodule: f("file-submodule", 60140), fileSymlinkDirectory: f("file-symlink-directory", 60141), fileSymlinkFile: f("file-symlink-file", 60142), fileZip: f("file-zip", 60143), files: f("files", 60144), filter: f("filter", 60145), flame: f("flame", 60146), foldDown: f("fold-down", 60147), foldUp: f("fold-up", 60148), fold: f("fold", 60149), folderActive: f("folder-active", 60150), folderOpened: f("folder-opened", 60151), gear: f("gear", 60152), gift: f("gift", 60153), gistSecret: f("gist-secret", 60154), gist: f("gist", 60155), gitCommit: f("git-commit", 60156), gitCompare: f("git-compare", 60157), compareChanges: f("compare-changes", 60157), gitMerge: f("git-merge", 60158), githubAction: f("github-action", 60159), githubAlt: f("github-alt", 60160), globe: f("globe", 60161), grabber: f("grabber", 60162), graph: f("graph", 60163), gripper: f("gripper", 60164), heart: f("heart", 60165), home: f("home", 60166), horizontalRule: f("horizontal-rule", 60167), hubot: f("hubot", 60168), inbox: f("inbox", 60169), issueReopened: f("issue-reopened", 60171), issues: f("issues", 60172), italic: f("italic", 60173), jersey: f("jersey", 60174), json: f("json", 60175), kebabVertical: f("kebab-vertical", 60176), key: f("key", 60177), law: f("law", 60178), lightbulbAutofix: f("lightbulb-autofix", 60179), linkExternal: f("link-external", 60180), link: f("link", 60181), listOrdered: f("list-ordered", 60182), listUnordered: f("list-unordered", 60183), liveShare: f("live-share", 60184), loading: f("loading", 60185), location: f("location", 60186), mailRead: f("mail-read", 60187), mail: f("mail", 60188), markdown: f("markdown", 60189), megaphone: f("megaphone", 60190), mention: f("mention", 60191), milestone: f("milestone", 60192), gitPullRequestMilestone: f("git-pull-request-milestone", 60192), mortarBoard: f("mortar-board", 60193), move: f("move", 60194), multipleWindows: f("multiple-windows", 60195), mute: f("mute", 60196), noNewline: f("no-newline", 60197), note: f("note", 60198), octoface: f("octoface", 60199), openPreview: f("open-preview", 60200), package: f("package", 60201), paintcan: f("paintcan", 60202), pin: f("pin", 60203), play: f("play", 60204), run: f("run", 60204), plug: f("plug", 60205), preserveCase: f("preserve-case", 60206), preview: f("preview", 60207), project: f("project", 60208), pulse: f("pulse", 60209), question: f("question", 60210), quote: f("quote", 60211), radioTower: f("radio-tower", 60212), reactions: f("reactions", 60213), references: f("references", 60214), refresh: f("refresh", 60215), regex: f("regex", 60216), remoteExplorer: f("remote-explorer", 60217), remote: f("remote", 60218), remove: f("remove", 60219), replaceAll: f("replace-all", 60220), replace: f("replace", 60221), repoClone: f("repo-clone", 60222), repoForcePush: f("repo-force-push", 60223), repoPull: f("repo-pull", 60224), repoPush: f("repo-push", 60225), report: f("report", 60226), requestChanges: f("request-changes", 60227), rocket: f("rocket", 60228), rootFolderOpened: f("root-folder-opened", 60229), rootFolder: f("root-folder", 60230), rss: f("rss", 60231), ruby: f("ruby", 60232), saveAll: f("save-all", 60233), saveAs: f("save-as", 60234), save: f("save", 60235), screenFull: f("screen-full", 60236), screenNormal: f("screen-normal", 60237), searchStop: f("search-stop", 60238), server: f("server", 60240), settingsGear: f("settings-gear", 60241), settings: f("settings", 60242), shield: f("shield", 60243), smiley: f("smiley", 60244), sortPrecedence: f("sort-precedence", 60245), splitHorizontal: f("split-horizontal", 60246), splitVertical: f("split-vertical", 60247), squirrel: f("squirrel", 60248), starFull: f("star-full", 60249), starHalf: f("star-half", 60250), symbolClass: f("symbol-class", 60251), symbolColor: f("symbol-color", 60252), symbolConstant: f("symbol-constant", 60253), symbolEnumMember: f("symbol-enum-member", 60254), symbolField: f("symbol-field", 60255), symbolFile: f("symbol-file", 60256), symbolInterface: f("symbol-interface", 60257), symbolKeyword: f("symbol-keyword", 60258), symbolMisc: f("symbol-misc", 60259), symbolOperator: f("symbol-operator", 60260), symbolProperty: f("symbol-property", 60261), wrench: f("wrench", 60261), wrenchSubaction: f("wrench-subaction", 60261), symbolSnippet: f("symbol-snippet", 60262), tasklist: f("tasklist", 60263), telescope: f("telescope", 60264), textSize: f("text-size", 60265), threeBars: f("three-bars", 60266), thumbsdown: f("thumbsdown", 60267), thumbsup: f("thumbsup", 60268), tools: f("tools", 60269), triangleDown: f("triangle-down", 60270), triangleLeft: f("triangle-left", 60271), triangleRight: f("triangle-right", 60272), triangleUp: f("triangle-up", 60273), twitter: f("twitter", 60274), unfold: f("unfold", 60275), unlock: f("unlock", 60276), unmute: f("unmute", 60277), unverified: f("unverified", 60278), verified: f("verified", 60279), versions: f("versions", 60280), vmActive: f("vm-active", 60281), vmOutline: f("vm-outline", 60282), vmRunning: f("vm-running", 60283), watch: f("watch", 60284), whitespace: f("whitespace", 60285), wholeWord: f("whole-word", 60286), window: f("window", 60287), wordWrap: f("word-wrap", 60288), zoomIn: f("zoom-in", 60289), zoomOut: f("zoom-out", 60290), listFilter: f("list-filter", 60291), listFlat: f("list-flat", 60292), listSelection: f("list-selection", 60293), selection: f("selection", 60293), listTree: f("list-tree", 60294), debugBreakpointFunctionUnverified: f("debug-breakpoint-function-unverified", 60295), debugBreakpointFunction: f("debug-breakpoint-function", 60296), debugBreakpointFunctionDisabled: f("debug-breakpoint-function-disabled", 60296), debugStackframeActive: f("debug-stackframe-active", 60297), circleSmallFilled: f("circle-small-filled", 60298), debugStackframeDot: f("debug-stackframe-dot", 60298), terminalDecorationMark: f("terminal-decoration-mark", 60298), debugStackframe: f("debug-stackframe", 60299), debugStackframeFocused: f("debug-stackframe-focused", 60299), debugBreakpointUnsupported: f("debug-breakpoint-unsupported", 60300), symbolString: f("symbol-string", 60301), debugReverseContinue: f("debug-reverse-continue", 60302), debugStepBack: f("debug-step-back", 60303), debugRestartFrame: f("debug-restart-frame", 60304), debugAlt: f("debug-alt", 60305), callIncoming: f("call-incoming", 60306), callOutgoing: f("call-outgoing", 60307), menu: f("menu", 60308), expandAll: f("expand-all", 60309), feedback: f("feedback", 60310), gitPullRequestReviewer: f("git-pull-request-reviewer", 60310), groupByRefType: f("group-by-ref-type", 60311), ungroupByRefType: f("ungroup-by-ref-type", 60312), account: f("account", 60313), gitPullRequestAssignee: f("git-pull-request-assignee", 60313), bellDot: f("bell-dot", 60314), debugConsole: f("debug-console", 60315), library: f("library", 60316), output: f("output", 60317), runAll: f("run-all", 60318), syncIgnored: f("sync-ignored", 60319), pinned: f("pinned", 60320), githubInverted: f("github-inverted", 60321), serverProcess: f("server-process", 60322), serverEnvironment: f("server-environment", 60323), pass: f("pass", 60324), issueClosed: f("issue-closed", 60324), stopCircle: f("stop-circle", 60325), playCircle: f("play-circle", 60326), record: f("record", 60327), debugAltSmall: f("debug-alt-small", 60328), vmConnect: f("vm-connect", 60329), cloud: f("cloud", 60330), merge: f("merge", 60331), export: f("export", 60332), graphLeft: f("graph-left", 60333), magnet: f("magnet", 60334), notebook: f("notebook", 60335), redo: f("redo", 60336), checkAll: f("check-all", 60337), pinnedDirty: f("pinned-dirty", 60338), passFilled: f("pass-filled", 60339), circleLargeFilled: f("circle-large-filled", 60340), circleLarge: f("circle-large", 60341), circleLargeOutline: f("circle-large-outline", 60341), combine: f("combine", 60342), gather: f("gather", 60342), table: f("table", 60343), variableGroup: f("variable-group", 60344), typeHierarchy: f("type-hierarchy", 60345), typeHierarchySub: f("type-hierarchy-sub", 60346), typeHierarchySuper: f("type-hierarchy-super", 60347), gitPullRequestCreate: f("git-pull-request-create", 60348), runAbove: f("run-above", 60349), runBelow: f("run-below", 60350), notebookTemplate: f("notebook-template", 60351), debugRerun: f("debug-rerun", 60352), workspaceTrusted: f("workspace-trusted", 60353), workspaceUntrusted: f("workspace-untrusted", 60354), workspaceUnknown: f("workspace-unknown", 60355), terminalCmd: f("terminal-cmd", 60356), terminalDebian: f("terminal-debian", 60357), terminalLinux: f("terminal-linux", 60358), terminalPowershell: f("terminal-powershell", 60359), terminalTmux: f("terminal-tmux", 60360), terminalUbuntu: f("terminal-ubuntu", 60361), terminalBash: f("terminal-bash", 60362), arrowSwap: f("arrow-swap", 60363), copy: f("copy", 60364), personAdd: f("person-add", 60365), filterFilled: f("filter-filled", 60366), wand: f("wand", 60367), debugLineByLine: f("debug-line-by-line", 60368), inspect: f("inspect", 60369), layers: f("layers", 60370), layersDot: f("layers-dot", 60371), layersActive: f("layers-active", 60372), compass: f("compass", 60373), compassDot: f("compass-dot", 60374), compassActive: f("compass-active", 60375), azure: f("azure", 60376), issueDraft: f("issue-draft", 60377), gitPullRequestClosed: f("git-pull-request-closed", 60378), gitPullRequestDraft: f("git-pull-request-draft", 60379), debugAll: f("debug-all", 60380), debugCoverage: f("debug-coverage", 60381), runErrors: f("run-errors", 60382), folderLibrary: f("folder-library", 60383), debugContinueSmall: f("debug-continue-small", 60384), beakerStop: f("beaker-stop", 60385), graphLine: f("graph-line", 60386), graphScatter: f("graph-scatter", 60387), pieChart: f("pie-chart", 60388), bracket: f("bracket", 60175), bracketDot: f("bracket-dot", 60389), bracketError: f("bracket-error", 60390), lockSmall: f("lock-small", 60391), azureDevops: f("azure-devops", 60392), verifiedFilled: f("verified-filled", 60393), newline: f("newline", 60394), layout: f("layout", 60395), layoutActivitybarLeft: f("layout-activitybar-left", 60396), layoutActivitybarRight: f("layout-activitybar-right", 60397), layoutPanelLeft: f("layout-panel-left", 60398), layoutPanelCenter: f("layout-panel-center", 60399), layoutPanelJustify: f("layout-panel-justify", 60400), layoutPanelRight: f("layout-panel-right", 60401), layoutPanel: f("layout-panel", 60402), layoutSidebarLeft: f("layout-sidebar-left", 60403), layoutSidebarRight: f("layout-sidebar-right", 60404), layoutStatusbar: f("layout-statusbar", 60405), layoutMenubar: f("layout-menubar", 60406), layoutCentered: f("layout-centered", 60407), target: f("target", 60408), indent: f("indent", 60409), recordSmall: f("record-small", 60410), errorSmall: f("error-small", 60411), terminalDecorationError: f("terminal-decoration-error", 60411), arrowCircleDown: f("arrow-circle-down", 60412), arrowCircleLeft: f("arrow-circle-left", 60413), arrowCircleRight: f("arrow-circle-right", 60414), arrowCircleUp: f("arrow-circle-up", 60415), layoutSidebarRightOff: f("layout-sidebar-right-off", 60416), layoutPanelOff: f("layout-panel-off", 60417), layoutSidebarLeftOff: f("layout-sidebar-left-off", 60418), blank: f("blank", 60419), heartFilled: f("heart-filled", 60420), map: f("map", 60421), mapHorizontal: f("map-horizontal", 60421), foldHorizontal: f("fold-horizontal", 60421), mapFilled: f("map-filled", 60422), mapHorizontalFilled: f("map-horizontal-filled", 60422), foldHorizontalFilled: f("fold-horizontal-filled", 60422), circleSmall: f("circle-small", 60423), bellSlash: f("bell-slash", 60424), bellSlashDot: f("bell-slash-dot", 60425), commentUnresolved: f("comment-unresolved", 60426), gitPullRequestGoToChanges: f("git-pull-request-go-to-changes", 60427), gitPullRequestNewChanges: f("git-pull-request-new-changes", 60428), searchFuzzy: f("search-fuzzy", 60429), commentDraft: f("comment-draft", 60430), send: f("send", 60431), sparkle: f("sparkle", 60432), insert: f("insert", 60433), mic: f("mic", 60434), thumbsdownFilled: f("thumbsdown-filled", 60435), thumbsupFilled: f("thumbsup-filled", 60436), coffee: f("coffee", 60437), snake: f("snake", 60438), game: f("game", 60439), vr: f("vr", 60440), chip: f("chip", 60441), piano: f("piano", 60442), music: f("music", 60443), micFilled: f("mic-filled", 60444), repoFetch: f("repo-fetch", 60445), copilot: f("copilot", 60446), lightbulbSparkle: f("lightbulb-sparkle", 60447), robot: f("robot", 60448), sparkleFilled: f("sparkle-filled", 60449), diffSingle: f("diff-single", 60450), diffMultiple: f("diff-multiple", 60451), surroundWith: f("surround-with", 60452), share: f("share", 60453), gitStash: f("git-stash", 60454), gitStashApply: f("git-stash-apply", 60455), gitStashPop: f("git-stash-pop", 60456), vscode: f("vscode", 60457), vscodeInsiders: f("vscode-insiders", 60458), codeOss: f("code-oss", 60459), runCoverage: f("run-coverage", 60460), runAllCoverage: f("run-all-coverage", 60461), coverage: f("coverage", 60462), githubProject: f("github-project", 60463), mapVertical: f("map-vertical", 60464), foldVertical: f("fold-vertical", 60464), mapVerticalFilled: f("map-vertical-filled", 60465), foldVerticalFilled: f("fold-vertical-filled", 60465), goToSearch: f("go-to-search", 60466), percentage: f("percentage", 60467), sortPercentage: f("sort-percentage", 60467), attach: f("attach", 60468), goToEditingSession: f("go-to-editing-session", 60469), editSession: f("edit-session", 60470), codeReview: f("code-review", 60471), copilotWarning: f("copilot-warning", 60472), python: f("python", 60473), copilotLarge: f("copilot-large", 60474), copilotWarningLarge: f("copilot-warning-large", 60475) } } }); function N9() { return Object.values(T) } var O9, T, _c = v({ "out-build/vs/base/common/codicons.js"() { "use strict"; R9(), aO(), O9 = { dialogError: f("dialog-error", "error"), dialogWarning: f("dialog-warning", "warning"), dialogInfo: f("dialog-info", "info"), dialogClose: f("dialog-close", "close"), treeItemExpanded: f("tree-item-expanded", "chevron-down"), treeFilterOnTypeOn: f("tree-filter-on-type-on", "list-filter"), treeFilterOnTypeOff: f("tree-filter-on-type-off", "list-selection"), treeFilterClear: f("tree-filter-clear", "close"), treeItemLoading: f("tree-item-loading", "loading"), menuSelection: f("menu-selection", "check"), menuSubmenu: f("menu-submenu", "chevron-right"), menuBarMore: f("menubar-more", "more"), scrollbarButtonLeft: f("scrollbar-button-left", "triangle-left"), scrollbarButtonRight: f("scrollbar-button-right", "triangle-right"), scrollbarButtonUp: f("scrollbar-button-up", "triangle-up"), scrollbarButtonDown: f("scrollbar-button-down", "triangle-down"), toolBarMore: f("toolbar-more", "more"), quickInputBack: f("quick-input-back", "arrow-left"), dropDownButton: f("drop-down-button", 60084), symbolCustomColor: f("symbol-customcolor", 60252), exportIcon: f("export", 60332), workspaceUnspecified: f("workspace-unspecified", 60355), newLine: f("newline", 60394), thumbsDownFilled: f("thumbsdown-filled", 60435), thumbsUpFilled: f("thumbsup-filled", 60436), gitFetch: f("git-fetch", 60445), lightbulbSparkleAutofix: f("lightbulb-sparkle-autofix", 60447), debugBreakpointPending: f("debug-breakpoint-pending", 60377) }, T = { ...L9, ...O9 } } }), jm, zn, vh = v({ "out-build/vs/base/common/themables.js"() { "use strict"; _c(), function (e) { function t(s) { return s && typeof s == "object" && typeof s.id == "string" } e.isThemeColor = t }(jm || (jm = {})), function (e) { e.iconNameSegment = "[A-Za-z0-9]+", e.iconNameExpression = "[A-Za-z0-9-]+", e.iconModifierExpression = "~[A-Za-z]+", e.iconNameCharacter = "[A-Za-z0-9~-]"; const t = new RegExp(`^(${e.iconNameExpression})(${e.iconModifierExpression})?$`); function s(d) { const p = t.exec(d.id); if (!p) return s(T.error); const [, g, w] = p, y = ["codicon", "codicon-" + g]; return w && y.push("codicon-modifier-" + w.substring(1)), y } e.asClassNameArray = s; function i(d) { return s(d).join(" ") } e.asClassName = i; function n(d) { return "." + s(d).join(".") } e.asCSSSelector = n; function r(d) { return d && typeof d == "object" && typeof d.id == "string" && (typeof d.color > "u" || jm.isThemeColor(d.color)) } e.isThemeIcon = r; const o = new RegExp(`^\\$\\((${e.iconNameExpression}(?:${e.iconModifierExpression})?)\\)$`); function a(d) { const p = o.exec(d); if (!p) return; const [, g] = p; return { id: g } } e.fromString = a; function c(d) { return { id: d } } e.fromId = c; function l(d, p) { let g = d.id; const w = g.lastIndexOf("~"); return w !== -1 && (g = g.substring(0, w)), p && (g = `${g}~${p}`), { id: g } } e.modify = l; function u(d) { const p = d.id.lastIndexOf("~"); if (p !== -1) return d.id.substring(p + 1) } e.getModifier = u; function h(d, p) { return d.id === p.id && d.color?.id === p.color?.id } e.isEqual = h }(zn || (zn = {})) } }); function cO(e) { return e.replace(C9, (t, s) => s ? t : `\\${t}`) } var bh, C9, lO, uO, hO, fO = v({ "out-build/vs/base/common/iconLabels.js"() { "use strict"; oO(), et(), vh(), bh = new RegExp(`\\$\\(${zn.iconNameExpression}(?:${zn.iconModifierExpression})?\\)`, "g"), C9 = new RegExp(`(\\\\)?${bh.source}`, "g"), lO = new RegExp(`\\\\${bh.source}`, "g"), uO = new RegExp(`(\\s)?(\\\\)?${bh.source}(\\s)?`, "g"), hO = new RegExp(`\\$\\(${zn.iconNameCharacter}+\\)`, "g") } }); function jc(e) { return e instanceof Di ? !0 : e && typeof e == "object" ? typeof e.value == "string" && (typeof e.isTrusted == "boolean" || typeof e.isTrusted == "object" || e.isTrusted === void 0) && (typeof e.supportThemeIcons == "boolean" || e.supportThemeIcons === void 0) : !1 } function dO(e) { return e.replace(/[\\`*_{}[\]()#+\-!~]/g, "\\$&") } function pO(e, t) {
  165. const s = e.match(/^`+/gm)?.reduce((n, r) => n.length > r.length ? n : r).length ?? 0, i = s >= 3 ? s + 1 : 3; return [`${"`".repeat(i)}${t}`, e, `${"`".repeat(i)}`].join(`
  166. `)
  167. } function mO(e) { const t = [], s = e.split("|").map(n => n.trim()); e = s[0]; const i = s[1]; if (i) { const n = /height=(\d+)/.exec(i), r = /width=(\d+)/.exec(i), o = n ? n[1] : "", a = r ? r[1] : "", c = isFinite(parseInt(a)), l = isFinite(parseInt(o)); c && t.push(`width="${a}"`), l && t.push(`height="${o}"`) } return { href: e, dimensions: t } } var _9, Di, Tc = v({
  168. "out-build/vs/base/common/htmlContent.js"() {
  169. "use strict"; fe(), fO(), kt(), et(), ee(), function (e) { e[e.Paragraph = 0] = "Paragraph", e[e.Break = 1] = "Break" }(_9 || (_9 = {})), Di = class {
  170. constructor(e = "", t = !1) { if (this.value = e, typeof this.value != "string") throw _e("value"); typeof t == "boolean" ? (this.isTrusted = t, this.supportThemeIcons = !1, this.supportHtml = !1) : (this.isTrusted = t.isTrusted ?? void 0, this.supportThemeIcons = t.supportThemeIcons ?? !1, this.supportHtml = t.supportHtml ?? !1) } appendText(e, t = 0) {
  171. return this.value += dO(this.supportThemeIcons ? cO(e) : e).replace(/([ \t]+)/g, (s, i) => "&nbsp;".repeat(i.length)).replace(/\>/gm, "\\>").replace(/\n/g, t === 1 ? `\\
  172. `: `
  173. `), this
  174. } appendMarkdown(e) { return this.value += e, this } appendCodeblock(e, t) {
  175. return this.value += `
  176. ${pO(t, e)}
  177. `, this
  178. } appendLink(e, t, s) { return this.value += "[", this.value += this.c(t, "]"), this.value += "](", this.value += this.c(String(e), ")"), s && (this.value += ` "${this.c(this.c(s, '"'), ")")}"`), this.value += ")", this } c(e, t) { const s = new RegExp(Rn(t), "g"); return e.replace(s, (i, n) => e.charAt(n - 1) !== "\\" ? `\\${i}` : i) }
  179. }
  180. }
  181. }); function wt(e, t) { if (e instanceof tt) return e; let s; return e instanceof $c ? s = new tt(e.message, e.code === "DownloadFailedWriting" ? "DownloadFailedWriting" : "Gallery") : s = new tt(e.message, In(e) ? "Cancelled" : t ?? "Internal"), s.stack = e.stack, s } function Tm(e, t, { extensionData: s, verificationStatus: i, duration: n, error: r, source: o, durationSinceUpdate: a }) { e.publicLog(t, { ...s, source: o, duration: n, durationSinceUpdate: a, success: !r, errorcode: r?.code, verificationStatus: i === Lt.Success ? "Verified" : i ?? "Unverified" }) } var yh, Eh, Um, xh = v({ "out-build/vs/platform/extensionManagement/common/abstractExtensionManagementService.js"() { "use strict"; Et(), Ue(), Dt(), fe(), re(), z(), ls(), X(), ee(), he(), Ds(), mn(), Ii(), rh(), Re(), Ls(), As(), qs(), Js(), Tc(), yh = class extends J { constructor(t, s) { super(), this.g = t, this.h = s } async canInstall(t) { const s = this.h.isAllowed({ id: t.identifier.id, publisherDisplayName: t.publisherDisplayName }); if (s !== !0) return new Di(m(1798, null, s.value)); if (!await this.j(t)) { const i = $s ? m(1799, null, this.g.nameLong) : this.g.nameLong, n = $s ? "https://aka.ms/vscode-web-extensions-guide" : "https://aka.ms/vscode-platform-specific-extensions"; return new Di(`${m(1800, null, t.displayName ?? t.identifier.id, i, Y5(await this.getTargetPlatform()))} [${m(1801, null)}](${n})`) } return !0 } async j(t) { const s = await this.getTargetPlatform(); return t.allTargetPlatforms.some(i => sm(i, t.allTargetPlatforms, s)) } }, yh = __decorate([__param(0, Nt), __param(1, dn)], yh), Eh = class extends yh { get onInstallExtension() { return this.u.event } get onDidInstallExtensions() { return this.w.event } get onUninstallExtension() { return this.y.event } get onDidUninstallExtension() { return this.z.event } get onDidUpdateExtensionMetadata() { return this.C.event } constructor(t, s, i, n, r, o, a) { super(r, o), this.F = t, this.G = s, this.H = i, this.I = n, this.J = a, this.n = 0, this.s = new Map, this.t = new Map, this.u = this.B(new D), this.w = this.B(new D), this.y = this.B(new D), this.z = this.B(new D), this.C = this.B(new D), this.D = [], this.B(ye(() => { this.s.forEach(({ task: c }) => c.cancel()), this.t.forEach(c => c.cancel()), this.s.clear(), this.t.clear() })) } async installFromGallery(t, s = {}) { try { const n = (await this.installGalleryExtensions([{ extension: t, options: s }])).find(({ identifier: r }) => xe(r, t.identifier)); if (n?.local) return n?.local; throw n?.error ? n.error : new tt(`Unknown error while installing extension ${t.identifier.id}`, "Unknown") } catch (i) { throw wt(i) } } async installGalleryExtensions(t) { if (!this.F.isEnabled()) throw new tt(m(1802, null), "NotAllowed"); const s = [], i = []; return await Promise.allSettled(t.map(async ({ extension: n, options: r }) => { try { const o = await this.Q(n, !!r?.installGivenVersion, !!r?.installPreReleaseVersion, r.productVersion ?? { version: this.g.version, date: this.g.date }); i.push({ ...o, options: r }) } catch (o) { s.push({ identifier: n.identifier, operation: 2, source: n, error: o, profileLocation: r.profileLocation ?? this.Z() }) } })), i.length && s.push(...await this.L(i)), s } async uninstall(t, s) { return this.I.trace("ExtensionManagementService#uninstall", t.identifier.id), this.uninstallExtensions([{ extension: t, options: s }]) } async toggleAppliationScope(t, s) { if (f6(t.manifest) || t.isBuiltin) return t; if (t.isApplicationScoped) { let i = await this.updateMetadata(t, { isApplicationScoped: !1 }, this.J.defaultProfile.extensionsResource); this.H.extUri.isEqual(s, this.J.defaultProfile.extensionsResource) || (i = await this.bb(t, this.J.defaultProfile.extensionsResource, s)); for (const n of this.J.profiles) { const r = (await this.getInstalled(1, n.extensionsResource)).find(o => xe(o.identifier, t.identifier)); r ? this.C.fire({ local: r, profileLocation: n.extensionsResource }) : this.z.fire({ identifier: t.identifier, profileLocation: n.extensionsResource }) } return i } else { const i = this.H.extUri.isEqual(s, this.J.defaultProfile.extensionsResource) ? await this.updateMetadata(t, { isApplicationScoped: !0 }, this.J.defaultProfile.extensionsResource) : await this.bb(t, s, this.J.defaultProfile.extensionsResource, { isApplicationScoped: !0 }); return this.w.fire([{ identifier: i.identifier, operation: 2, local: i, profileLocation: this.J.defaultProfile.extensionsResource, applicationScoped: !0 }]), i } } getExtensionsControlManifest() { const t = new Date().getTime(); return (!this.m || t - this.n > 1e3 * 60 * 5) && (this.m = this.Y(), this.n = t), this.m } registerParticipant(t) { this.D.push(t) } async resetPinnedStateForAllUserExtensions(t) { try { await this.O(this.J.profiles.map(async s => { const i = await this.getInstalled(1, s.extensionsResource); await this.O(i.map(async n => { n.pinned !== t && await this.updateMetadata(n, { pinned: t }, s.extensionsResource) })) })) } catch (s) { throw this.I.error("Error while resetting pinned state for all user extensions", ge(s)), s } } async L(t) { const s = new Map, i = new Map, n = [], r = (c, l) => `${is.create(c).toString()}-${l.toString()}`, o = (c, l, u, h) => { if (!E.isUri(l)) { if (i.has(`${l.identifier.id.toLowerCase()}-${u.profileLocation.toString()}`)) return; const g = this.s.get(r(l, u.profileLocation)); if (g) { if (h && this.N(h, g.task)) { const w = g.task.identifier; this.I.info("Waiting for already requested installing extension", w.id, h.identifier.id, u.profileLocation.toString()), g.waitingTasks.push(h), n.push(H.toPromise(H.filter(this.onDidInstallExtensions, y => y.some(x => xe(x.identifier, w)))).then(y => { if (this.I.info("Finished waiting for already requested installing extension", w.id, h.identifier.id, u.profileLocation.toString()), !y.find(k => xe(k.identifier, w))?.local) throw new Error(`Extension ${w.id} is not installed`) })) } return } } const d = this.$(c, l, u), p = `${pn(c.publisher, c.name)}-${u.profileLocation.toString()}`; i.set(p, { task: d, root: h }), this.u.fire({ identifier: d.identifier, source: l, profileLocation: u.profileLocation }), this.I.info("Installing extension:", d.identifier.id, u), E.isUri(l) || this.s.set(r(l, u.profileLocation), { task: d, waitingTasks: [] }) }; try { for (const { manifest: l, extension: u, options: h } of t) { const d = h.isApplicationScoped || h.isBuiltin || f6(l), p = { ...h, installOnlyNewlyAddedFromExtensionPack: h.installOnlyNewlyAddedFromExtensionPack ?? !E.isUri(u), isApplicationScoped: d, profileLocation: d ? this.J.defaultProfile.extensionsResource : h.profileLocation ?? this.Z(), productVersion: h.productVersion ?? { version: this.g.version, date: this.g.date } }, g = E.isUri(u) ? void 0 : this.s.get(r(u, p.profileLocation)); g ? (this.I.info("Extension is already requested to install", g.task.identifier.id, p.profileLocation.toString()), n.push(g.task.waitUntilTaskIsFinished())) : o(l, u, p, void 0) } await Promise.all([...i.values()].map(async ({ task: l }) => { if (l.options.donotIncludePackAndDependencies) this.I.info("Installing the extension without checking dependencies and pack", l.identifier.id); else try { const u = await this.P(l.identifier, l.manifest, !!l.options.installOnlyNewlyAddedFromExtensionPack, !!l.options.installPreReleaseVersion, l.options.profileLocation, l.options.productVersion), h = await this.getInstalled(void 0, l.options.profileLocation, l.options.productVersion), d = { ...l.options, context: { ...l.options.context, [e6]: !0 } }; for (const { gallery: p, manifest: g } of Qi(u, ({ gallery: w }) => w.identifier.id)) h.some(({ identifier: w }) => xe(w, p.identifier)) || o(g, p, d, l) } catch (u) { if (E.isUri(l.source)) uu(l.manifest.extensionDependencies) && this.I.warn("Cannot install dependencies of extension:", l.identifier.id, u.message), uu(l.manifest.extensionPack) && this.I.warn("Cannot install packed extensions of extension:", l.identifier.id, u.message); else throw this.I.error("Error while preparing to install dependencies and extension packs of the extension:", l.identifier.id), u } })); const c = await this.M([...i.values()].map(({ task: l }) => l)); for (const [l, u] of c) o(u.manifest, u.source, { ...u.options, profileLocation: l }, void 0); await this.O([...i.entries()].map(async ([l, { task: u }]) => { const h = new Date().getTime(); let d; try { d = await u.run(), await this.O(this.D.map(p => p.postInstall(d, u.source, u.options, Ne.None)), "PostInstall") } catch (p) { const g = wt(p); throw E.isUri(u.source) || Tm(this.G, u.operation === 3 ? "extensionGallery:update" : "extensionGallery:install", { extensionData: um(u.source), error: g, source: u.options.context?.[nm] }), s.set(l, { error: g, identifier: u.identifier, operation: u.operation, source: u.source, context: u.options.context, profileLocation: u.options.profileLocation, applicationScoped: u.options.isApplicationScoped }), this.I.error("Error while installing the extension", u.identifier.id, ge(g), u.options.profileLocation.toString()), g } if (!E.isUri(u.source)) { const p = u.operation === 3, g = p ? void 0 : (new Date().getTime() - u.source.lastUpdated) / 1e3; if (Tm(this.G, p ? "extensionGallery:update" : "extensionGallery:install", { extensionData: um(u.source), verificationStatus: u.verificationStatus, duration: new Date().getTime() - h, durationSinceUpdate: g, source: u.options.context?.[nm] }), $s && u.operation !== 3) try { await this.F.reportStatistic(d.manifest.publisher, d.manifest.name, d.manifest.version, "install") } catch { } } s.set(l, { local: d, identifier: u.identifier, operation: u.operation, source: u.source, context: u.options.context, profileLocation: u.options.profileLocation, applicationScoped: d.isApplicationScoped }) })), n.length && await this.O(n) } catch (c) { const l = (d, p, g) => { const w = []; d.manifest.extensionDependencies?.length && w.push(...d.manifest.extensionDependencies), d.manifest.extensionPack?.length && w.push(...d.manifest.extensionPack); for (const y of w) { if (g.includes(y.toLowerCase())) continue; g.push(y.toLowerCase()); const x = s.get(`${y.toLowerCase()}-${p.toString()}`); x?.local && (g = l(x.local, p, g)) } return g }, u = d => ({ identifier: d.identifier, operation: 2, source: d.source, context: d.options.context, profileLocation: d.options.profileLocation, error: c }), h = []; for (const [d, { task: p, root: g }] of i) { const w = s.get(d); w ? w.local && g && !s.get(`${g.identifier.id.toLowerCase()}-${p.options.profileLocation.toString()}`)?.local && (h.push(this.ab(w.local, { versionOnly: !0, profileLocation: p.options.profileLocation })), s.set(d, u(p))) : (p.cancel(), s.set(d, u(p))) } for (const [d, { task: p }] of i) { const g = s.get(d); if (!g?.local || p.options.donotIncludePackAndDependencies) continue; l(g.local, p.options.profileLocation, [g.local.identifier.id.toLowerCase()]).slice(1).some(y => i.has(`${y.toLowerCase()}-${p.options.profileLocation.toString()}`) && !s.get(`${y.toLowerCase()}-${p.options.profileLocation.toString()}`)?.local) && (h.push(this.ab(g.local, { versionOnly: !0, profileLocation: p.options.profileLocation })), s.set(d, u(p))) } h.length && await Promise.allSettled(h.map(async d => { try { await d.run(), this.I.info("Rollback: Uninstalled extension", d.extension.identifier.id) } catch (p) { this.I.warn("Rollback: Error while uninstalling extension", d.extension.identifier.id, ge(p)) } })) } finally { for (const { task: c } of i.values()) c.source && !E.isUri(c.source) && this.s.delete(r(c.source, c.options.profileLocation)) } const a = [...s.values()]; for (const c of a) c.local && this.I.info("Extension installed successfully:", c.identifier.id, c.profileLocation.toString()); return this.w.fire(a), a } async M(t) { const s = [], i = new At; for (const n of t) if (!(n.operation !== 3 || n.options.isApplicationScoped || n.options.pinned || n.options.installGivenVersion || E.isUri(n.source))) for (const r of this.J.profiles) { if (this.H.extUri.isEqual(r.extensionsResource, n.options.profileLocation)) continue; let o = i.get(r.extensionsResource); o || (o = await this.getInstalled(1, r.extensionsResource), i.set(r.extensionsResource, o)); const a = o.find(c => xe(c.identifier, n.identifier)); a && !a.pinned && s.push([r.extensionsResource, n]) } return s } N(t, s) { for (const [, { task: i, waitingTasks: n }] of this.s.entries()) if (i === t && (n.includes(s) || n.some(r => this.N(r, s))) || i === s && n[0] && !this.N(t, n[0])) return !1; return !0 } async O(t, s) { const i = [], n = [], r = await Promise.allSettled(t); for (const a of r) a.status === "fulfilled" ? i.push(a.value) : n.push(wt(a.reason, s)); if (!n.length) return i; if (n.length === 1) throw n[0]; let o = new tt("", "Unknown"); for (const a of n) o = new tt(o.message ? `${o.message}, ${a.message}` : a.message, a.code !== "Unknown" && a.code !== "Internal" ? a.code : o.code); throw o } async P(t, s, i, n, r, o) { if (!this.F.isEnabled()) return []; const a = await this.getInstalled(void 0, r, o), c = [], l = [], u = async (h, d) => { c.push(h); const p = d.extensionDependencies || [], g = [...p]; if (d.extensionPack) { const w = i ? a.find(y => xe(y.identifier, h)) : void 0; for (const y of d.extensionPack) w && w.manifest.extensionPack && w.manifest.extensionPack.some(x => xe({ id: x }, { id: y })) || g.every(x => !xe({ id: x }, { id: y })) && g.push(y) } if (g.length) { const w = g.filter(y => c.every(x => !xe(x, { id: y }))); if (w.length) { const y = await this.F.getExtensions(w.map(x => ({ id: x, preRelease: n })), Ne.None); for (const x of y) { if (c.find(I => xe(I, x.identifier))) continue; const k = p.some(I => xe({ id: I }, x.identifier)); let A; try { A = await this.Q(x, !1, n, o) } catch (I) { if (k) throw I; this.I.info("Skipping the packed extension as it cannot be installed", x.identifier.id, ge(I)); continue } l.push({ gallery: A.extension, manifest: A.manifest }), await u(A.extension.identifier, A.manifest) } } } }; return await u(t, s), l } async Q(t, s, i, n) { let r; const o = await this.getExtensionsControlManifest(); if (o.malicious.some(l => xe(t.identifier, l))) throw new tt(m(1803, null, t.identifier.id), "Malicious"); const a = o.deprecated[t.identifier.id.toLowerCase()]; if (a?.extension?.autoMigrate) { if (this.I.info(`The '${t.identifier.id}' extension is deprecated, fetching the compatible '${a.extension.id}' extension instead.`), r = (await this.F.getExtensions([{ id: a.extension.id, preRelease: a.extension.preRelease }], { targetPlatform: await this.getTargetPlatform(), compatible: !0, productVersion: n }, Ne.None))[0], !r) throw new tt(m(1804, null, t.identifier.id, a.extension.id), "Deprecated") } else { if (await this.canInstall(t) !== !0) { const l = await this.getTargetPlatform(); throw new tt(m(1805, null, t.identifier.id, this.g.nameLong, Y5(l)), "IncompatibleTargetPlatform") } if (r = await this.R(t, s, i, n), !r) { const l = []; throw pm(t.properties.enabledApiProposals ?? [], l) ? !i && t.properties.isPreReleaseVersion && (await this.F.getExtensions([t.identifier], Ne.None))[0] ? new tt(m(1807, null, t.displayName ?? t.identifier.id), "ReleaseVersionNotFound") : new tt(m(1808, null, t.identifier.id, this.g.nameLong, this.g.version), "Incompatible") : new tt(m(1806, null, t.displayName ?? t.identifier.id, l[0]), "IncompatibleApi") } } this.I.info("Getting Manifest...", r.identifier.id); const c = await this.F.getManifest(r, Ne.None); if (c === null) throw new tt(`Missing manifest for extension ${r.identifier.id}`, "Invalid"); if (c.version !== r.version) throw new tt(`Cannot install '${r.identifier.id}' extension because of version mismatch in Marketplace`, "Invalid"); return { extension: r, manifest: c } } async R(t, s, i, n) { const r = await this.getTargetPlatform(); let o = null; return !s && t.hasPreReleaseVersion && t.properties.isPreReleaseVersion !== i && (o = (await this.F.getExtensions([{ ...t.identifier, preRelease: i }], { targetPlatform: r, compatible: !0, productVersion: n }, Ne.None))[0] || null), !o && await this.F.isExtensionCompatible(t, i, r, n) && (o = t), o || (s ? o = (await this.F.getExtensions([{ ...t.identifier, version: t.version }], { targetPlatform: r, compatible: !0, productVersion: n }, Ne.None))[0] || null : o = await this.F.getCompatibleExtension(t, i, r, n)), o } async uninstallExtensions(t) { const s = (l, u) => `${l.identifier.id.toLowerCase()}${u.versionOnly ? `-${l.manifest.version}` : ""}@${u.profileLocation.toString()}`, i = (l, u) => { const h = this.ab(l, u); return this.t.set(s(h.extension, u), h), this.I.info("Uninstalling extension from the profile:", `${l.identifier.id}@${l.manifest.version}`, u.profileLocation.toString()), this.y.fire({ identifier: l.identifier, profileLocation: u.profileLocation, applicationScoped: l.isApplicationScoped }), h }, n = (l, u, h) => { h ? this.I.error("Failed to uninstall extension from the profile:", `${l.identifier.id}@${l.manifest.version}`, u.profileLocation.toString(), h.message) : this.I.info("Successfully uninstalled extension from the profile", `${l.identifier.id}@${l.manifest.version}`, u.profileLocation.toString()), Tm(this.G, "extensionGallery:uninstall", { extensionData: wL(l), error: h }), this.z.fire({ identifier: l.identifier, error: h?.code, profileLocation: u.profileLocation, applicationScoped: l.isApplicationScoped }) }, r = [], o = [], a = [], c = new At; for (const { extension: l, options: u } of t) { const h = { ...u, profileLocation: l.isApplicationScoped ? this.J.defaultProfile.extensionsResource : u?.profileLocation ?? this.Z() }, d = this.t.get(s(l, h)); d ? (this.I.info("Extensions is already requested to uninstall", l.identifier.id), a.push(d.waitUntilTaskIsFinished())) : r.push(i(l, h)) } try { for (const l of r.slice(0)) { let u = c.get(l.options.profileLocation); if (u || c.set(l.options.profileLocation, u = await this.getInstalled(1, l.options.profileLocation)), l.options.donotIncludePack) this.I.info("Uninstalling the extension without including packed extension", `${l.extension.identifier.id}@${l.extension.manifest.version}`); else { const h = this.W(l.extension, u); for (const d of h) this.t.has(s(d, l.options)) ? this.I.info("Extensions is already requested to uninstall", d.identifier.id) : r.push(i(d, l.options)) } l.options.donotCheckDependents ? this.I.info("Uninstalling the extension without checking dependents", `${l.extension.identifier.id}@${l.extension.manifest.version}`) : this.S(r.map(h => h.extension), u, l.extension) } await this.O(r.map(async l => { try { if (await l.run(), await this.O(this.D.map(u => u.postUninstall(l.extension, l.options, Ne.None))), l.extension.identifier.uuid) try { await this.F.reportStatistic(l.extension.manifest.publisher, l.extension.manifest.name, l.extension.manifest.version, "uninstall") } catch { } } catch (u) { const h = wt(u); throw n(l.extension, l.options, h), h } finally { o.push(l) } })), a.length && await this.O(a); for (const l of r) n(l.extension, l.options) } catch (l) { const u = wt(l); for (const h of r) { try { h.cancel() } catch { } o.includes(h) || n(h.extension, h.options, u) } throw u } finally { for (const l of r) this.t.delete(s(l.extension, l.options)) || this.I.warn("Uninstallation task is not found in the cache", l.extension.identifier.id) } } S(t, s, i) { for (const n of t) { const r = this.X(n, s); if (r.length) { const o = r.filter(a => !t.some(c => xe(c.identifier, a.identifier))); if (o.length) throw new Error(this.U(n, o, i)) } } } U(t, s, i) { return i === t ? s.length === 1 ? m(1809, null, i.manifest.displayName || i.manifest.name, s[0].manifest.displayName || s[0].manifest.name) : s.length === 2 ? m(1810, null, i.manifest.displayName || i.manifest.name, s[0].manifest.displayName || s[0].manifest.name, s[1].manifest.displayName || s[1].manifest.name) : m(1811, null, i.manifest.displayName || i.manifest.name, s[0].manifest.displayName || s[0].manifest.name, s[1].manifest.displayName || s[1].manifest.name) : s.length === 1 ? m(1812, null, i.manifest.displayName || i.manifest.name, t.manifest.displayName || t.manifest.name, s[0].manifest.displayName || s[0].manifest.name) : s.length === 2 ? m(1813, null, i.manifest.displayName || i.manifest.name, t.manifest.displayName || t.manifest.name, s[0].manifest.displayName || s[0].manifest.name, s[1].manifest.displayName || s[1].manifest.name) : m(1814, null, i.manifest.displayName || i.manifest.name, t.manifest.displayName || t.manifest.name, s[0].manifest.displayName || s[0].manifest.name, s[1].manifest.displayName || s[1].manifest.name) } W(t, s, i = []) { if (i.indexOf(t) !== -1) return []; i.push(t); const n = t.manifest.extensionPack ? t.manifest.extensionPack : []; if (n.length) { const r = s.filter(a => !a.isBuiltin && n.some(c => xe({ id: c }, a.identifier))), o = []; for (const a of r) o.push(...this.W(a, s, i)); return [...r, ...o] } return [] } X(t, s) { return s.filter(i => i.manifest.extensionDependencies && i.manifest.extensionDependencies.some(n => xe({ id: n }, t.identifier))) } async Y() { try { return this.I.trace("ExtensionManagementService.updateControlCache"), await this.F.getExtensionsControlManifest() } catch (t) { return this.I.trace("ExtensionManagementService.refreshControlCache - failed to get extension control manifest", ge(t)), { malicious: [], deprecated: {}, search: [] } } } }, Eh = __decorate([__param(0, oi), __param(1, qt), __param(2, jt), __param(3, pe), __param(4, Nt), __param(5, dn), __param(6, Gs)], Eh), Um = class { constructor() { this.d = new kp } async waitUntilTaskIsFinished() { return await this.d.wait(), this.g } run() { return this.g || (this.g = cn(e => this.h(e))), this.d.open(), this.g } cancel() { this.g || (this.g = cn(e => new Promise((t, s) => { const i = e.onCancellationRequested(() => { i.dispose(), s(new It) }) })), this.d.open()), this.g.cancel() } } } }); function j9(e) { return ct(e) && aL(e.identifier) && (gO(e.location) || ve(e.location) && e.location) && (ni(e.relativeLocation) || ve(e.relativeLocation)) && e.version && ve(e.version) } function gO(e) { return e ? ve(e.path) && ve(e.scheme) : !1 } var T9, Uc, Ri, kh, Uo = v({ "out-build/vs/platform/extensionManagement/common/extensionsProfileScannerService.js"() { "use strict"; Ue(), Me(), z(), re(), ls(), ee(), Ds(), mn(), st(), oe(), Re(), Js(), qs(), $e(), fe(), As(), function (e) { e.ERROR_PROFILE_NOT_FOUND = "ERROR_PROFILE_NOT_FOUND", e.ERROR_INVALID_CONTENT = "ERROR_INVALID_CONTENT" }(T9 || (T9 = {})), Uc = class extends Error { constructor(e, t) { super(e), this.code = t } }, Ri = se("IExtensionsProfileScannerService"), kh = class extends J { constructor(t, s, i, n, r, o) { super(), this.j = t, this.m = s, this.n = i, this.r = n, this.s = r, this.t = o, this.b = this.B(new D), this.onAddExtensions = this.b.event, this.c = this.B(new D), this.onDidAddExtensions = this.c.event, this.f = this.B(new D), this.onRemoveExtensions = this.f.event, this.g = this.B(new D), this.onDidRemoveExtensions = this.g.event, this.h = new At } scanProfileExtensions(t, s) { return this.u(t, void 0, s) } async addExtensionsToProfile(t, s, i) { const n = [], r = []; try { return await this.u(s, o => { const a = []; if (i) a.push(...o); else for (const c of o) t.some(([l]) => xe(l.identifier, c.identifier) && l.manifest.version !== c.version) ? n.push(c) : a.push(c); for (const [c, l] of t) { const u = a.findIndex(d => xe(d.identifier, c.identifier) && d.version === c.manifest.version), h = { identifier: c.identifier, version: c.manifest.version, location: c.location, metadata: l }; u === -1 ? (r.push(h), a.push(h)) : a.splice(u, 1, h) } return r.length && this.b.fire({ extensions: r, profileLocation: s }), n.length && this.f.fire({ extensions: n, profileLocation: s }), a }), r.length && this.c.fire({ extensions: r, profileLocation: s }), n.length && this.g.fire({ extensions: n, profileLocation: s }), r } catch (o) { throw r.length && this.c.fire({ extensions: r, error: o, profileLocation: s }), n.length && this.g.fire({ extensions: n, error: o, profileLocation: s }), o } } async updateMetadata(t, s) { const i = []; return await this.u(s, n => { const r = []; for (const o of n) { const a = t.find(([c]) => xe(c.identifier, o.identifier) && c.manifest.version === o.version); a && (o.metadata = { ...o.metadata, ...a[1] }, i.push(o)), r.push(o) } return r }), i } async removeExtensionFromProfile(t, s) { const i = []; try { await this.u(s, n => { const r = []; for (const o of n) xe(o.identifier, t.identifier) ? i.push(o) : r.push(o); return i.length && this.f.fire({ extensions: i, profileLocation: s }), r }), i.length && this.g.fire({ extensions: i, profileLocation: s }) } catch (n) { throw i.length && this.g.fire({ extensions: i, error: n, profileLocation: s }), n } } async u(t, s, i) { return this.F(t).queue(async () => { let n = [], r; try { const o = await this.m.readFile(t); r = JSON.parse(o.value.toString().trim() || "[]") } catch (o) { if (Gt(o) !== 1) throw o; if (this.r.extUri.isEqual(t, this.n.defaultProfile.extensionsResource) && (r = await this.D()), !r && i?.bailOutWhenFileNotFound) throw new Uc(ge(o), "ERROR_PROFILE_NOT_FOUND") } if (r) { Array.isArray(r) || this.w(t); let o = !1; for (const a of r) { j9(a) || this.w(t); let c; if (ve(a.relativeLocation) && a.relativeLocation) c = this.z(a.relativeLocation); else if (ve(a.location)) { this.t.warn(`Extensions profile: Ignoring extension with invalid location: ${a.location}`); continue } else { c = E.revive(a.location); const l = this.y(c); l && (o = !0, a.relativeLocation = l) } ni(a.metadata?.hasPreReleaseVersion) && a.metadata?.preRelease && (o = !0, a.metadata.hasPreReleaseVersion = !0), n.push({ identifier: a.identifier, location: c, version: a.version, metadata: a.metadata }) } o && await this.m.writeFile(t, O.fromString(JSON.stringify(r))) } if (s) { n = s(n); const o = n.map(a => ({ identifier: a.identifier, version: a.version, location: a.location.toJSON(), relativeLocation: this.y(a.location), metadata: a.metadata })); await this.m.writeFile(t, O.fromString(JSON.stringify(o))) } return n }) } w(t) { const s = new Uc(`Invalid extensions content in ${t.toString()}`, "ERROR_INVALID_CONTENT"); throw this.s.publicLogError2("extensionsProfileScanningError", { code: s.code }), s } y(t) { return this.r.extUri.isEqual(this.r.extUri.dirname(t), this.j) ? this.r.extUri.basename(t) : void 0 } z(t) { return this.r.extUri.joinPath(this.j, t) } async D() { return this.C || (this.C = (async () => { const t = this.r.extUri.joinPath(this.n.defaultProfile.location, "extensions.json"), s = this.r.extUri.joinPath(this.j, ".init-default-profile-extensions"); let i; try { i = (await this.m.readFile(t)).value.toString() } catch (r) { if (Gt(r) === 1) return; throw r } this.t.info("Migrating extensions from old default profile location", t.toString()); let n; try { const r = JSON.parse(i); Array.isArray(r) && r.every(o => j9(o)) ? n = r : this.t.warn("Skipping migrating from old default profile locaiton: Found invalid data", r) } catch (r) { this.t.error(r) } if (n) try { await this.m.createFile(this.n.defaultProfile.extensionsResource, O.fromString(JSON.stringify(n)), { overwrite: !1 }), this.t.info("Migrated extensions from old default profile location to new location", t.toString(), this.n.defaultProfile.extensionsResource.toString()) } catch (r) { if (Gt(r) === 3) this.t.info("Migration from old default profile location to new location is done by another window", t.toString(), this.n.defaultProfile.extensionsResource.toString()); else throw r } try { await this.m.del(t) } catch (r) { Gt(r) !== 1 && this.t.error(r) } try { await this.m.del(s) } catch (r) { Gt(r) !== 1 && this.t.error(r) } return n })()), this.C } F(t) { let s = this.h.get(t); return s || (s = new bo, this.h.set(t, s)), s } }, kh = __decorate([__param(1, gt), __param(2, Gs), __param(3, jt), __param(4, qt), __param(5, pe)], kh) } }); function Mm(e) { switch (e) { case 1: return m(116, null); case 2: return m(117, null); case 3: return m(118, null); case 4: return m(119, null); case 5: return m(120, null); case 6: return m(121, null); case 7: return m(122, null); case 8: return m(123, null); case 9: return m(124, null); default: return "" } } var wO = v({ "out-build/vs/base/common/jsonErrorMessages.js"() { "use strict"; he() } }); function vO(e, t, s, i) { try { bO(e, t, s, i) } catch (n) { e.error(n?.message ?? n) } return t } function bO(e, t, s, i) { const n = (r, o, a) => { const c = r[o]; if (ve(c)) { const l = c, u = l.length; if (u > 1 && l[0] === "%" && l[u - 1] === "%") { const h = l.substr(1, u - 2); let d = s[h]; d === void 0 && i && (d = i[h]); const p = typeof d == "string" ? d : d?.message, g = i?.[h], w = typeof g == "string" ? g : g?.message; if (!p) { w || e.warn(`[${t.name}]: ${m(1854, null, h)}`); return } if (a && (o === "title" || o === "category") && w && w !== p) { const y = { value: p, original: w }; r[o] = y } else r[o] = p } } else if (ct(c)) for (const l in c) c.hasOwnProperty(l) && (l === "commands" ? n(c, l, !0) : n(c, l, a)); else if (Array.isArray(c)) for (let l = 0; l < c.length; l++)n(c, l, a) }; for (const r in t) t.hasOwnProperty(r) && n(t, r) } var yO = v({ "out-build/vs/platform/extensionManagement/common/extensionNls.js"() { "use strict"; $e(), he() } }); function $h(e, t) { const s = lm(e.manifest.publisher, e.manifest.name); return { id: s, identifier: new Bn(s), isBuiltin: e.type === 0, isUserBuiltin: e.type === 1 && e.isBuiltin, isUnderDevelopment: t, extensionLocation: e.location, uuid: e.identifier.uuid, targetPlatform: e.targetPlatform, publisherDisplayName: e.publisherDisplayName, preRelease: e.preRelease, ...e.manifest } } var Fm, Or, Sh, Mo, Mc, Fc, Bc = v({ "out-build/vs/platform/extensionManagement/common/extensionsScannerService.js"() { "use strict"; Et(), Ue(), es(), Me(), fe(), Ir(), wO(), z(), De(), de(), X(), kt(), Ro(), sh(), $e(), ee(), he(), ps(), mn(), Ii(), rh(), st(), oe(), Re(), Ls(), re(), Co(), Uo(), Js(), qs(), yO(), function (e) { function t(s, i) { if (s === i) return !0; const n = Object.keys(s), r = new Set; for (const o of Object.keys(i)) r.add(o); if (n.length !== r.size) return !1; for (const o of n) { if (s[o] !== i[o]) return !1; r.delete(o) } return r.size === 0 } e.equals = t }(Fm || (Fm = {})), Or = se("IExtensionsScannerService"), Sh = class extends J { constructor(t, s, i, n, r, o, a, c, l, u, h, d) { super(), this.systemExtensionsLocation = t, this.userExtensionsLocation = s, this.r = i, this.s = n, this.t = r, this.u = o, this.w = a, this.y = c, this.z = l, this.C = u, this.D = h, this.F = d, this.g = this.B(new D), this.onDidChangeCache = this.g.event, this.h = ne(this.userExtensionsLocation, ".obsolete"), this.j = this.B(this.F.createInstance(Fc, this.s, this.h)), this.m = this.B(this.F.createInstance(Fc, this.s, this.h)), this.n = this.B(this.F.createInstance(Mc, this.h)), this.H = void 0, this.B(this.j.onDidChangeCache(() => this.g.fire(0))), this.B(this.m.onDidChangeCache(() => this.g.fire(1))) } getTargetPlatform() { return this.G || (this.G = v6(this.w, this.y)), this.G } async scanAllExtensions(t, s, i) { const [n, r] = await Promise.all([this.scanSystemExtensions(t), this.scanUserExtensions(s)]), o = i ? await this.scanExtensionsUnderDevelopment(t, [...n, ...r]) : []; return this.L(n, r, o, await this.getTargetPlatform(), !0) } async scanSystemExtensions(t) { const s = []; s.push(this.M(!!t.useCache, t.language)), s.push(this.N(t.language, !!t.checkControlFile)); const [i, n] = await Promise.all(s); return this.J([...i, ...n], 0, t, !1) } async scanUserExtensions(t) { const s = t.profileLocation ?? this.userExtensionsLocation; this.y.trace("Started scanning user extensions", s); const i = this.D.extUri.isEqual(t.profileLocation, this.t.defaultProfile.extensionsResource) ? { bailOutWhenFileNotFound: !0 } : void 0, n = await this.P(s, !!t.profileLocation, 1, !t.includeUninstalled, t.language, !0, i, t.productVersion ?? this.R()), r = t.useCache && !n.devMode && n.excludeObsolete ? this.m : this.n; let o; try { o = await r.scanExtensions(n) } catch (a) { if (a instanceof Uc && a.code === "ERROR_PROFILE_NOT_FOUND") await this.I(), o = await r.scanExtensions(n); else throw a } return o = await this.J(o, 1, t, !0), this.y.trace("Scanned user extensions:", o.length), o } async scanExtensionsUnderDevelopment(t, s) { if (this.z.isExtensionDevelopment && this.z.extensionDevelopmentLocationURI) { const i = (await Promise.all(this.z.extensionDevelopmentLocationURI.filter(n => n.scheme === Z.file).map(async n => { const r = await this.P(n, !1, 1, !0, t.language, !1, void 0, t.productVersion ?? this.R()); return (await this.n.scanOneOrMultipleExtensions(r)).map(a => (a.type = s.find(c => xe(c.identifier, a.identifier))?.type ?? a.type, this.n.validate(a, r))) }))).flat(); return this.J(i, "development", t, !0) } return [] } async scanExistingExtension(t, s, i) { const n = await this.P(t, !1, s, !0, i.language, !0, void 0, i.productVersion ?? this.R()), r = await this.n.scanExtension(n); return !r || !i.includeInvalid && !r.isValid ? null : r } async scanOneOrMultipleExtensions(t, s, i) { const n = await this.P(t, !1, s, !0, i.language, !0, void 0, i.productVersion ?? this.R()), r = await this.n.scanOneOrMultipleExtensions(n); return this.J(r, s, i, !0) } async scanMultipleExtensions(t, s, i) { const n = []; return await Promise.all(t.map(async r => { const o = await this.scanOneOrMultipleExtensions(r, s, i); n.push(...o) })), this.J(n, s, i, !0) } async scanMetadata(t) { const s = ne(t, "package.json"), i = (await this.w.readFile(s)).value.toString(); return JSON.parse(i).__metadata } async updateMetadata(t, s) { const i = ne(t, "package.json"), n = (await this.w.readFile(i)).value.toString(), r = JSON.parse(n); s.isMachineScoped === !1 && delete s.isMachineScoped, s.isBuiltin === !1 && delete s.isBuiltin, r.__metadata = { ...r.__metadata, ...s }, await this.w.writeFile(ne(t, "package.json"), O.fromString(JSON.stringify(r, null, " "))) } async initializeDefaultProfileExtensions() { try { await this.u.scanProfileExtensions(this.t.defaultProfile.extensionsResource, { bailOutWhenFileNotFound: !0 }) } catch (t) { if (t instanceof Uc && t.code === "ERROR_PROFILE_NOT_FOUND") await this.I(); else throw t } } async I() { return this.H || (this.H = (async () => { try { this.y.info("Started initializing default profile extensions in extensions installation folder.", this.userExtensionsLocation.toString()); const t = await this.scanUserExtensions({ includeInvalid: !0 }); if (t.length) await this.u.addExtensionsToProfile(t.map(s => [s, s.metadata]), this.t.defaultProfile.extensionsResource); else try { await this.w.createFile(this.t.defaultProfile.extensionsResource, O.fromString(JSON.stringify([]))) } catch (s) { Gt(s) !== 1 && this.y.warn("Failed to create default profile extensions manifest in extensions installation folder.", this.userExtensionsLocation.toString(), ge(s)) } this.y.info("Completed initializing default profile extensions in extensions installation folder.", this.userExtensionsLocation.toString()) } catch (t) { this.y.error(t) } finally { this.H = void 0 } })()), this.H } async J(t, s, i, n) { return i.includeAllVersions || (t = this.L(s === 0 ? t : void 0, s === 1 ? t : void 0, s === "development" ? t : void 0, await this.getTargetPlatform(), n)), i.includeInvalid || (t = t.filter(r => r.isValid)), t.sort((r, o) => { const a = at(r.location.fsPath), c = at(o.location.fsPath); return a < c ? -1 : a > c ? 1 : 0 }) } L(t, s, i, n, r) { const o = (c, l, u) => { if (c.isValid && !l.isValid) return !1; if (c.isValid === l.isValid) { if (r && ih(c.manifest.version, l.manifest.version)) return this.y.debug(`Skipping extension ${l.location.path} with lower version ${l.manifest.version} in favour of ${c.location.path} with version ${c.manifest.version}`), !1; if (k6(c.manifest.version, l.manifest.version)) { if (c.type === 0) return this.y.debug(`Skipping extension ${l.location.path} in favour of system extension ${c.location.path} with same version`), !1; if (c.targetPlatform === n) return this.y.debug(`Skipping extension ${l.location.path} from different target platform ${l.targetPlatform}`), !1 } } return u ? this.y.warn(`Overwriting user extension ${c.location.path} with ${l.location.path}.`) : this.y.debug(`Overwriting user extension ${c.location.path} with ${l.location.path}.`), !0 }, a = new am; return t?.forEach(c => { const l = a.get(c.identifier.id); (!l || o(l, c, !1)) && a.set(c.identifier.id, c) }), s?.forEach(c => { const l = a.get(c.identifier.id); if (!l && t && c.type === 0) { this.y.debug(`Skipping obsolete system extension ${c.location.path}.`); return } (!l || o(l, c, !1)) && a.set(c.identifier.id, c) }), i?.forEach(c => { const l = a.get(c.identifier.id); (!l || o(l, c, !0)) && a.set(c.identifier.id, c), a.set(c.identifier.id, c) }), [...a.values()] } async M(t, s) { this.y.trace("Started scanning system extensions"); const i = await this.P(this.systemExtensionsLocation, !1, 0, !0, s, !0, void 0, this.R()), r = await (t && !i.devMode ? this.j : this.n).scanExtensions(i); return this.y.trace("Scanned system extensions:", r.length), r } async N(t, s) { const i = this.z.isBuilt ? [] : this.C.builtInExtensions; if (!i?.length) return []; this.y.trace("Started scanning dev system extensions"); const n = s ? await this.O() : {}, r = [], o = E.file(si(_(_t.asFileUri("").fsPath, "..", ".build", "builtInExtensions"))); for (const c of i) { const l = n[c.name] || "marketplace"; switch (l) { case "disabled": break; case "marketplace": r.push(ne(o, c.name)); break; default: r.push(E.file(l)); break } } const a = await Promise.all(r.map(async c => this.n.scanExtension(await this.P(c, !1, 0, !0, t, !0, void 0, this.R())))); return this.y.trace("Scanned dev system extensions:", a.length), yi(a) } async O() { try { const t = await this.w.readFile(this.r); return JSON.parse(t.value.toString()) } catch { return {} } } async P(t, s, i, n, r, o, a, c) { const l = await this.f(r ?? Ss), u = await this.Q(t), h = s && !this.D.extUri.isEqual(t, this.t.defaultProfile.extensionsResource) ? this.t.defaultProfile.extensionsResource : void 0, d = h ? await this.Q(h) : void 0; return new Mo(t, u, h, d, s, a, i, n, o, c.version, c.date, this.C.commit, !this.z.isBuilt, r, l) } async Q(t) { try { const s = await this.w.stat(t); if (typeof s.mtime == "number") return s.mtime } catch { } } R() { return { version: this.C.version, date: this.C.date } } }, Sh = __decorate([__param(4, Gs), __param(5, Ri), __param(6, gt), __param(7, pe), __param(8, Is), __param(9, Nt), __param(10, jt), __param(11, Er)], Sh), Mo = class { constructor(e, t, s, i, n, r, o, a, c, l, u, h, d, p, g) { this.location = e, this.mtime = t, this.applicationExtensionslocation = s, this.applicationExtensionslocationMtime = i, this.profile = n, this.profileScanOptions = r, this.type = o, this.excludeObsolete = a, this.validate = c, this.productVersion = l, this.productDate = u, this.productCommit = h, this.devMode = d, this.language = p, this.translations = g } static createNlsConfiguration(e) { return { language: e.language, pseudo: e.language === "pseudo", devMode: e.devMode, translations: e.translations } } static equals(e, t) { return fp(e.location, t.location) && e.mtime === t.mtime && fp(e.applicationExtensionslocation, t.applicationExtensionslocation) && e.applicationExtensionslocationMtime === t.applicationExtensionslocationMtime && e.profile === t.profile && $i(e.profileScanOptions, t.profileScanOptions) && e.type === t.type && e.excludeObsolete === t.excludeObsolete && e.validate === t.validate && e.productVersion === t.productVersion && e.productDate === t.productDate && e.productCommit === t.productCommit && e.devMode === t.devMode && e.language === t.language && Fm.equals(e.translations, t.translations) } }, Mc = class extends J { constructor(t, s, i, n, r, o, a) { super(), this.g = t, this.h = s, this.j = i, this.m = n, this.n = o, this.r = a, this.f = r.extensionsEnabledWithApiProposalVersion?.map(c => c.toLowerCase()) ?? [] } async scanExtensions(t) { const s = t.profile ? await this.t(t) : await this.s(t); let i = {}; if (t.excludeObsolete && t.type === 1) try { const n = (await this.m.readFile(this.g)).value.toString(); i = JSON.parse(n) } catch { } return $u(i) ? s : s.filter(n => !i[is.create(n).toString()]) } async s(t) { const s = await this.m.resolve(t.location); if (!s.children?.length) return []; const i = await Promise.all(s.children.map(async n => { if (!n.isDirectory || t.type === 1 && Tn(n.resource).indexOf(".") === 0) return null; const r = new Mo(n.resource, t.mtime, t.applicationExtensionslocation, t.applicationExtensionslocationMtime, t.profile, t.profileScanOptions, t.type, t.excludeObsolete, t.validate, t.productVersion, t.productDate, t.productCommit, t.devMode, t.language, t.translations); return this.scanExtension(r) })); return yi(i).sort((n, r) => n.location.path < r.location.path ? -1 : 1) } async t(t) { let s = await this.u(t.location, () => !0, t); if (t.applicationExtensionslocation && !this.j.extUri.isEqual(t.location, t.applicationExtensionslocation)) { s = s.filter(n => !n.metadata?.isApplicationScoped); const i = await this.u(t.applicationExtensionslocation, n => !!n.metadata?.isBuiltin || !!n.metadata?.isApplicationScoped, t); s.push(...i) } return s } async u(t, s, i) { const n = await this.h.scanProfileExtensions(t, i.profileScanOptions); if (!n.length) return []; const r = await Promise.all(n.map(async o => { if (s(o)) { const a = new Mo(o.location, i.mtime, i.applicationExtensionslocation, i.applicationExtensionslocationMtime, i.profile, i.profileScanOptions, i.type, i.excludeObsolete, i.validate, i.productVersion, i.productDate, i.productCommit, i.devMode, i.language, i.translations); return this.scanExtension(a, o.metadata) } return null })); return yi(r) } async scanOneOrMultipleExtensions(t) { try { if (await this.m.exists(ne(t.location, "package.json"))) { const s = await this.scanExtension(t); return s ? [s] : [] } else return await this.scanExtensions(t) } catch (s) { return this.r.error(`Error scanning extensions at ${t.location.path}:`, ge(s)), [] } } async scanExtension(t, s) { try { let i = await this.w(t.location); if (i) { i.publisher || (i.publisher = om), s = s ?? i.__metadata, s && !s?.size && i.__metadata?.size && (s.size = i.__metadata?.size), delete i.__metadata; const n = pn(i.publisher, i.name), r = s?.id ? { id: n, uuid: s.id } : { id: n }, o = s?.isSystem ? 0 : t.type, a = o === 0 || !!s?.isBuiltin; i = await this.y(t.location, i, Mo.createNlsConfiguration(t)); let c = { type: o, identifier: r, manifest: i, location: t.location, isBuiltin: a, targetPlatform: s?.targetPlatform ?? "undefined", publisherDisplayName: s?.publisherDisplayName, metadata: s, isValid: !0, validations: [], preRelease: !!s?.preRelease }; return t.validate && (c = this.validate(c, t)), i.enabledApiProposals && (!this.n.isBuilt || this.f.includes(n.toLowerCase())) && (i.originalEnabledApiProposals = i.enabledApiProposals, i.enabledApiProposals = mL([...i.enabledApiProposals])), c } } catch (i) { t.type !== 0 && this.r.error(i) } return null } validate(t, s) { let i = !0; const n = this.n.isBuilt && this.f.includes(t.identifier.id.toLowerCase()), r = tN(s.productVersion, s.productDate, s.location, t.manifest, t.isBuiltin, n); for (const [o, a] of r) o === Ze.Error && (i = !1, this.r.error(this.F(s.location, a))); return t.isValid = i, t.validations = r, t } async w(t) { const s = ne(t, "package.json"); let i; try { i = (await this.m.readFile(s)).value.toString() } catch (r) { return Gt(r) !== 1 && this.r.error(this.F(t, m(1855, null, s.path, r.message))), null } let n; try { n = JSON.parse(i) } catch { const o = []; Eo(i, o); for (const a of o) this.r.error(this.F(t, m(1856, null, s.path, a.offset, a.length, Mm(a.error)))); return null } return xo(n) !== "object" ? (this.r.error(this.F(t, m(1857, null, s.path))), null) : n } async y(t, s, i) { const n = await this.z(t, s, i); if (n) try { const r = [], o = await this.C(n.default, r); if (r.length > 0) return r.forEach(c => { this.r.error(this.F(t, m(1858, null, n.default?.path, Mm(c.error)))) }), s; if (xo(n) !== "object") return this.r.error(this.F(t, m(1859, null, n.default?.path))), s; const a = n.values || Object.create(null); return vO(this.r, s, a, o) } catch { } return s } async z(t, s, i) { const n = ne(t, "package.nls.json"), r = (l, u) => { u.forEach(h => { this.r.error(this.F(t, m(1860, null, l?.path, Mm(h.error)))) }) }, o = l => { this.r.error(this.F(t, m(1861, null, l?.path))) }, a = `${s.publisher}.${s.name}`, c = i.translations[a]; if (c) try { const l = E.file(c), u = (await this.m.readFile(l)).value.toString(), h = [], d = Eo(u, h); return h.length > 0 ? (r(l, h), { values: void 0, default: n }) : xo(d) !== "object" ? (o(l), { values: void 0, default: n }) : { values: d.contents ? d.contents.package : void 0, default: n } } catch { return { values: void 0, default: n } } else { if (!await this.m.exists(n)) return; let u; try { u = await this.D(t, i) } catch { return } if (!u.localized) return { values: void 0, default: u.original }; try { const h = (await this.m.readFile(u.localized)).value.toString(), d = [], p = Eo(h, d); return d.length > 0 ? (r(u.localized, d), { values: void 0, default: u.original }) : xo(p) !== "object" ? (o(u.localized), { values: void 0, default: u.original }) : { values: p, default: u.original } } catch { return { values: void 0, default: u.original } } } } async C(t, s) { if (t) try { const i = (await this.m.readFile(t)).value.toString(); return Eo(i, s) } catch { } } D(t, s) { return new Promise((i, n) => { const r = o => { const a = ne(t, `package.nls.${o}.json`); this.m.exists(a).then(c => { c && i({ localized: a, original: ne(t, "package.nls.json") }); const l = o.lastIndexOf("-"); l === -1 ? i({ localized: ne(t, "package.nls.json"), original: null }) : (o = o.substring(0, l), r(o)) }) }; if (s.devMode || s.pseudo || !s.language) return i({ localized: ne(t, "package.nls.json"), original: null }); r(s.language) }) } F(t, s) { return `[${t.path}]: ${s}` } }, Mc = __decorate([__param(1, Ri), __param(2, jt), __param(3, gt), __param(4, Nt), __param(5, Is), __param(6, pe)], Mc), Fc = class extends Mc { constructor(t, s, i, n, r, o, a, c, l) { super(s, n, r, o, a, c, l), this.J = t, this.L = i, this.H = this.B(new Pr(3e3)), this.I = this.B(new D), this.onDidChangeCache = this.I.event } async scanExtensions(t) { const s = this.P(t), i = await this.M(s); if (this.G = t, i && i.input && Mo.equals(i.input, this.G)) return this.r.debug("Using cached extensions scan result", t.type === 0 ? "system" : "user", t.location.toString()), this.H.trigger(() => this.O()), i.result.map(r => (r.location = E.revive(r.location), r)); const n = await super.scanExtensions(t); return await this.N(s, { input: t, result: n }), n } async M(t) { try { const s = await this.m.readFile(t), i = JSON.parse(s.value.toString()); return { result: i.result, input: Ws(i.input) } } catch (s) { this.r.debug("Error while reading the extension cache file:", t.path, ge(s)) } return null } async N(t, s) { try { await this.m.writeFile(t, O.fromString(JSON.stringify(s))) } catch (i) { this.r.debug("Error while writing the extension cache file:", t.path, ge(i)) } } async O() { if (!this.G) return; const t = this.P(this.G), s = await this.M(t); if (!s) return; const i = s.result, n = JSON.parse(JSON.stringify(await super.scanExtensions(this.G))); if (!$i(n, i)) try { this.r.info("Invalidating Cache", i, n), await this.m.del(t), this.I.fire() } catch (r) { this.r.error(r) } } P(t) { const s = this.Q(t); return this.j.extUri.joinPath(s.cacheHome, t.type === 0 ? d6 : rm) } Q(t) { return t.type === 0 ? this.L.defaultProfile : t.profile ? this.j.extUri.isEqual(t.location, this.J.extensionsResource) ? this.J : this.L.profiles.find(s => this.j.extUri.isEqual(t.location, s.extensionsResource)) ?? this.J : this.L.defaultProfile } }, Fc = __decorate([__param(2, Gs), __param(3, Ri), __param(4, jt), __param(5, gt), __param(6, Nt), __param(7, Is), __param(8, pe)], Fc) } }); function Bm(e) { let t = "Extract"; return e instanceof Oc && (e.type === "CorruptZip" ? t = "CorruptZip" : e.type === "Incomplete" && (t = "IncompleteZip")), wt(e, t) } async function Hm(e) { let t; try { t = await m9(e, "extension/package.json") } catch (s) { throw Bm(s) } try { return JSON.parse(t.toString("utf8")) } catch { throw new tt(m(1875, null), "Invalid") } } var U9 = v({ "out-build/vs/platform/extensionManagement/node/extensionManagementUtil.js"() { "use strict"; Im(), he(), xh(), Ds() } }), Ph, Hc, zm = v({
  182. "out-build/vs/platform/extensionManagement/node/extensionSignatureVerificationService.js"() {
  183. "use strict"; fe(), oe(), Re(), As(), Ds(), Ph = se("IExtensionSignatureVerificationService"), Hc = class {
  184. constructor(t, s) { this.b = t, this.c = s } d() { return this.a || (this.a = this.f()), this.a } async f() { return import("@vscode/vsce-sign") } async verify(t, s, i, n, r) {
  185. let o; try { o = await this.d() } catch (u) { this.b.error("Could not load vsce-sign module", ge(u)), this.b.info(`Extension signature verification is not done: ${t}`); return } const a = new Date().getTime(); let c; try { this.b.trace(`Verifying extension signature for ${t}...`), c = await o.verify(i, n, this.b.getLevel() === F.Trace) } catch (u) { c = { code: Lt.UnknownError, didExecute: !1, output: ge(u) } } const l = new Date().getTime() - a; return this.b.info(`Extension signature verification result for ${t}: ${c.code}. Executed: ${c.didExecute}. Duration: ${l}ms.`), this.b.trace(`Extension signature verification output for ${t}:
  186. ${c.output}`), this.c.publicLog2("extensionsignature:verification", { extensionId: t, extensionVersion: s, code: c.code, internalCode: c.internalCode, duration: l, didExecute: c.didExecute, clientTargetPlatform: r }), { code: c.code }
  187. }
  188. }, Hc = __decorate([__param(0, pe), __param(1, qt)], Hc)
  189. }
  190. }), Ih, Ah, EO = v({ "out-build/vs/platform/extensionManagement/node/extensionDownloader.js"() { "use strict"; Ue(), fe(), z(), De(), kt(), Ro(), Wt(), ss(), Im(), ps(), xh(), Ds(), mn(), U9(), zm(), st(), Re(), As(), qs(), Ah = class extends J { static { Ih = this } static { this.c = ".sigzip" } constructor(t, s, i, n, r, o, a) { super(), this.j = s, this.m = i, this.n = n, this.r = r, this.t = o, this.u = a, this.extensionsDownloadDir = t.extensionsDownloadLocation, this.f = o.extUri.joinPath(t.extensionsDownloadLocation, ".trash"), this.g = 20, this.h = this.F() } async download(t, s, i, n) { await this.h; const r = await this.w(t, s); if (!i) return { location: r, verificationStatus: void 0 }; if (!t.isSigned) return { location: r, verificationStatus: Lt.NotSigned }; let o; try { o = await this.y(t); const a = (await this.n.verify(t.identifier.id, t.version, r.fsPath, o.fsPath, n))?.code; if (a === Lt.PackageIsInvalidZip || a === Lt.SignatureArchiveIsInvalidZip) { try { await this.delete(r) } catch (c) { this.u.error(c) } throw new tt(Pm, "CorruptZip") } return { location: r, verificationStatus: a } } catch (a) { try { await this.delete(r) } catch (c) { this.u.error(c) } throw a } finally { if (o) try { await this.delete(o) } catch (a) { this.u.error(a) } } } async w(t, s) { try { const i = ne(this.extensionsDownloadDir, this.G(t)), n = await this.C(t, "vsix", async () => { await this.z(t, i, r => this.m.download(t, r, s)); try { await this.D(i.fsPath, "extension/package.json") } catch (r) { try { await this.j.del(i) } catch (o) { this.u.warn(`Error while deleting: ${i.path}`, ge(o)) } throw r } }, 2); return n > 1 && this.r.publicLog2("extensiongallery:downloadvsix:retry", { extensionId: t.identifier.id, attempts: n }), i } catch (i) { throw wt(i, "Download") } } async y(t) { try { const s = ne(this.extensionsDownloadDir, `${this.G(t)}${Ih.c}`), i = await this.C(t, "sigzip", async () => { await this.m.downloadSignatureArchive(t, s); try { await this.D(s.fsPath, ".signature.p7s") } catch (n) { try { await this.j.del(s) } catch (r) { this.u.warn(`Error while deleting: ${s.path}`, ge(r)) } throw n } }, 2); return i > 1 && this.r.publicLog2("extensiongallery:downloadsigzip:retry", { extensionId: t.identifier.id, attempts: i }), s } catch (s) { throw wt(s, "DownloadSignature") } } async z(t, s, i) { if (await this.j.exists(s)) return; if (s.scheme !== Z.file) { await i(s); return } const n = ne(this.extensionsDownloadDir, `.${We()}`); try { await i(n) } catch (r) { try { await this.j.del(n) } catch { } throw r } try { await Pe.rename(n.fsPath, s.fsPath, 2 * 60 * 1e3) } catch (r) { try { await this.j.del(n) } catch { } let o = !1; try { o = await this.j.exists(s) } catch { } if (o) this.u.info("Rename failed because the file was downloaded by another source. So ignoring renaming.", t.identifier.id, s.path); else throw this.u.info(`Rename failed because of ${ge(r)}. Deleted the file from downloaded location`, n.path), r } } async C(t, s, i, n) { let r = 1; for (; ;)try { return await i(), r } catch (o) { if (r++ > n) throw o; this.u.warn(`Failed downloading ${s}. ${ge(o)}. Retry again...`, t.identifier.id) } } async D(t, s) { try { await m9(t, s) } catch (i) { throw Bm(i) } } async delete(t) { await this.h; const s = this.t.extUri.relativePath(this.extensionsDownloadDir, t); s ? await this.j.move(t, this.t.extUri.joinPath(this.f, s), !0) : await this.j.del(t) } async F() { try { if (!await this.j.exists(this.extensionsDownloadDir)) { this.u.trace("Extension VSIX downloads cache dir does not exist"); return } try { await this.j.del(this.f, { recursive: !0 }) } catch (s) { Gt(s) !== 1 && this.u.error(s) } const t = await this.j.resolve(this.extensionsDownloadDir, { resolveMetadata: !0 }); if (t.children) { const s = [], i = [], n = []; for (const a of t.children) if (a.name.endsWith(Ih.c)) n.push(a.resource); else { const c = is.parse(a.name); c && i.push([c, a]) } const r = w6(i, ([a]) => a), o = []; for (const a of r) a.sort((c, l) => hm(c[0].version, l[0].version)), s.push(...a.slice(1).map(c => c[1].resource)), o.push(a[0][1]); o.sort((a, c) => a.mtime - c.mtime), s.push(...o.slice(0, Math.max(0, o.length - this.g)).map(a => a.resource)), s.push(...n), await Kt.settled(s.map(a => (this.u.trace("Deleting from cache", a.path), this.j.del(a)))) } } catch (t) { this.u.error(t) } } G(t) { return is.create(t).toString().toLowerCase() } }, Ah = Ih = __decorate([__param(0, zs), __param(1, gt), __param(2, oi), __param(3, Ph), __param(4, qt), __param(5, jt), __param(6, pe)], Ah) } }); import { fork as xO } from "child_process"; var Dh, kO = v({ "out-build/vs/platform/extensionManagement/node/extensionLifecycle.js"() { "use strict"; Ue(), yr(), re(), z(), De(), de(), ss(), Re(), Js(), Dh = class extends J { constructor(t, s) { super(), this.b = t, this.f = s, this.a = new $p(5) } async postUninstall(t) { const s = this.g(t, "uninstall"); s && (this.f.info(t.identifier.id, t.manifest.version, "Running post uninstall script"), await this.a.queue(async () => { try { await this.h(s.script, "uninstall", s.args, !0, t), this.f.info("Finished running post uninstall script", t.identifier.id, t.manifest.version) } catch (i) { this.f.error("Failed to run post uninstall script", t.identifier.id, t.manifest.version), this.f.error(i) } })); try { await Pe.rm(this.m(t)) } catch (i) { this.f.error("Error while removing extension storage path", t.identifier.id), this.f.error(i) } } g(t, s) { const i = `vscode:${s}`; if (t.location.scheme === Z.file && t.manifest && t.manifest.scripts && typeof t.manifest.scripts[i] == "string") { const n = t.manifest.scripts[i].split(" "); return n.length < 2 || n[0] !== "node" || !n[1] ? (this.f.warn(t.identifier.id, t.manifest.version, `${i} should be a node script`), null) : { script: _(t.location.fsPath, n[1]), args: n.slice(2) || [] } } return null } h(t, s, i, n, r) { return new Promise((o, a) => { const c = this.j(t, s, i, r); let l; const u = h => { l && (clearTimeout(l), l = null), h ? a(h) : o(void 0) }; c.on("error", h => { u(Cn(h) || "Unknown") }), c.on("exit", (h, d) => { u(h ? `post-${s} process exited with code ${h}` : void 0) }), n && (l = setTimeout(() => { l = null, c.kill(), a("timed out") }, 5e3)) }) } j(t, s, i, n) { const r = { silent: !0, execArgv: void 0 }, o = xO(t, [`--type=extension-post-${s}`, ...i], r); o.stdout.setEncoding("utf8"), o.stderr.setEncoding("utf8"); const a = H.fromNodeEventEmitter(o.stdout, "data"), c = H.fromNodeEventEmitter(o.stderr, "data"); this.B(a(h => this.f.info(n.identifier.id, n.manifest.version, `post-${s}`, h))), this.B(c(h => this.f.error(n.identifier.id, n.manifest.version, `post-${s}`, h))); const l = H.any(H.map(a, h => ({ data: `%c${h}`, format: [""] }), this.q), H.map(c, h => ({ data: `%c${h}`, format: ["color: red"] }), this.q)); return H.debounce(l, (h, d) => h ? { data: h.data + d.data, format: [...h.format, ...d.format] } : { data: d.data, format: d.format }, 100, void 0, void 0, void 0, this.q)(h => { console.group(n.identifier.id), console.log(h.data, ...h.format), console.groupEnd() }), o } m(t) { return _(this.b.defaultProfile.globalStorageHome.fsPath, t.identifier.id.toLowerCase()) } }, Dh = __decorate([__param(0, Gs), __param(1, pe)], Dh) } }), M9, $O = v({ "out-build/vs/platform/extensionManagement/node/extensionsManifestCache.js"() { "use strict"; z(), Ii(), st(), M9 = class extends J { constructor(e, t, s, i, n) { super(), this.a = e, this.b = t, this.c = s, this.f = n, this.B(i.onDidInstallExtensions(r => this.g(r))), this.B(i.onDidUninstallExtension(r => this.h(r))) } g(e) { for (const t of e) t.local && this.invalidate(t.profileLocation) } h(e) { e.error || this.invalidate(e.profileLocation) } async invalidate(e) { if (e) for (const t of this.a.profiles) this.c.extUri.isEqual(t.extensionsResource, e) && await this.j(t); else await this.j(this.a.defaultProfile) } async j(e) { try { await this.b.del(this.c.extUri.joinPath(e.cacheHome, rm)) } catch (t) { Gt(t) !== 1 && this.f.error(t) } } } } }), F9, SO = v({ "out-build/vs/platform/extensionManagement/node/extensionsWatcher.js"() { "use strict"; fe(), re(), z(), ls(), mn(), Ii(), F9 = class extends J { constructor(e, t, s, i, n, r, o) { super(), this.f = e, this.g = t, this.h = s, this.j = i, this.m = n, this.n = r, this.r = o, this.a = this.B(new D), this.onDidChangeExtensionsByAnotherSource = this.a.event, this.b = new Map, this.c = this.B(new du), this.s().then(null, a => o.error("Error while initializing Extensions Watcher", ge(a))) } async s() { await this.g.initializeDefaultProfileExtensions(), await this.u(this.h.profiles), this.t(), await this.H() } t() { this.B(this.h.onDidChangeProfiles(e => this.u(e.added))), this.B(this.j.onAddExtensions(e => this.w(e))), this.B(this.j.onDidAddExtensions(e => this.y(e))), this.B(this.j.onRemoveExtensions(e => this.z(e))), this.B(this.j.onDidRemoveExtensions(e => this.C(e))), this.B(this.n.onDidFilesChange(e => this.D(e))) } async u(e) { try { e.length && await Promise.all(e.map(t => (this.c.set(t.id, Rb(this.n.watch(this.m.extUri.dirname(t.extensionsResource)), this.n.watch(t.extensionsResource))), this.G(t.extensionsResource)))) } catch (t) { throw this.r.error(t), t } } async w(e) { for (const t of e.extensions) this.I(this.L(t.identifier, t.version), e.profileLocation) } async y(e) { for (const t of e.extensions) { const s = this.L(t.identifier, t.version); e.error ? this.J(s, e.profileLocation) : this.I(s, e.profileLocation) } } async z(e) { for (const t of e.extensions) this.J(this.L(t.identifier, t.version), e.profileLocation) } async C(e) { const t = [], s = []; for (const i of e.extensions) { const n = this.L(i.identifier, i.version); e.error ? this.I(n, e.profileLocation) : (this.J(n, e.profileLocation), this.b.has(n) || (this.r.debug("Extension is removed from all profiles", i.identifier.id, i.version), s.push(this.f.scanInstalledExtensionAtLocation(i.location).then(r => { r ? t.push(r) : this.r.info("Extension not found at the location", i.location.toString()) }, r => this.r.error(r))))) } try { await Promise.all(s), t.length && await this.H(t) } catch (i) { this.r.error(i) } } D(e) { for (const t of this.h.profiles) e.contains(t.extensionsResource, 0, 1) && this.F(t.extensionsResource) } async F(e) { const t = [], s = [], i = await this.j.scanProfileExtensions(e), n = new Set, r = new Set; for (const [o, a] of this.b) a.has(e) && r.add(o); for (const o of i) { const a = this.L(o.identifier, o.version); n.add(a), r.has(a) || (t.push(o.identifier), this.I(a, e)) } for (const o of r) if (!n.has(o)) { const a = this.M(o); a && (s.push(a.identifier), this.J(o, e)) } (t.length || s.length) && this.a.fire({ added: t.length ? { extensions: t, profileLocation: e } : void 0, removed: s.length ? { extensions: s, profileLocation: e } : void 0 }) } async G(e) { const t = await this.j.scanProfileExtensions(e); for (const s of t) this.I(this.L(s.identifier, s.version), e) } async H(e) { e || (e = (await this.f.scanAllUserInstalledExtensions()).filter(s => !this.b.has(this.L(s.identifier, s.manifest.version)))), e.length && await this.f.markAsUninstalled(...e) } I(e, t) { let s = this.b.get(e); s || this.b.set(e, s = new hu(i => this.m.extUri.getComparisonKey(i))), s.add(t) } J(e, t) { const s = this.b.get(e); s && s.delete(t), s?.size || this.b.delete(e) } L(e, t) { return `${Bn.toKey(e.id)}@${t}` } M(e) { const [t, s] = cm(e); return s ? { identifier: { id: t }, version: s } : void 0 } } } }); import *as PO from "fs"; var Rh, Vm, zc, Lh, Nh, B9, H9 = v({ "out-build/vs/platform/extensionManagement/node/extensionManagementService.js"() { "use strict"; Ue(), Me(), Dt(), yr(), fe(), re(), Ya(), z(), ls(), De(), de(), kt(), Ro(), $e(), ee(), Wt(), ss(), Im(), he(), Am(), ps(), xh(), Ds(), mn(), Uo(), Bc(), EO(), kO(), U9(), $O(), SO(), rh(), st(), oe(), Re(), Ls(), As(), qs(), Js(), ds(), X(), Rh = Zu, Vm = ".vsctmp", zc = class extends Eh { constructor(t, s, i, n, r, o, a, c, l, u, h, d, p, g) { super(t, s, p, i, h, d, g), this.gb = n, this.hb = r, this.ib = o, this.jb = a, this.kb = c, this.lb = l, this.mb = u, this.fb = new Map, this.yb = new hu; const w = this.B(c.createInstance(Dh)); this.cb = this.B(c.createInstance(Lh, x => w.postUninstall(x))), this.db = this.B(new M9(g, l, p, this, this.I)), this.eb = this.B(c.createInstance(Ah)); const y = this.B(new F9(this, this.hb, g, o, p, l, i)); this.B(y.onDidChangeExtensionsByAnotherSource(x => this.xb(x))), this.zb() } getTargetPlatform() { return this.nb || (this.nb = v6(this.lb, this.I)), this.nb } async zip(t) { this.I.trace("ExtensionManagementService#zip", t.identifier.id); const s = await this.wb(t), i = await CN(ne(this.eb.extensionsDownloadDir, We()).fsPath, s); return E.file(i) } async getManifest(t) { const { location: s, cleanup: i } = await this.pb(t), n = nn(s.fsPath); try { return await Hm(n) } finally { await i() } } getInstalled(t, s = this.J.defaultProfile.extensionsResource, i = { version: this.g.version, date: this.g.date }) { return this.cb.scanExtensions(t ?? null, s, i) } scanAllUserInstalledExtensions() { return this.cb.scanAllUserExtensions(!1) } scanInstalledExtensionAtLocation(t) { return this.cb.scanUserExtensionAtLocation(t) } async install(t, s = {}) { this.I.trace("ExtensionManagementService#install", t.toString()); const { location: i, cleanup: n } = await this.pb(t); try { const r = await Hm(nn(i.fsPath)), o = pn(r.publisher, r.name); if (r.engines && r.engines.vscode && !nh(r.engines.vscode, this.g.version, this.g.date)) throw new Error(m(1862, null, o, this.g.version)); const a = this.h.isAllowed({ id: o, version: r.version, publisherDisplayName: void 0 }); if (a !== !0) throw new Error(m(1863, null, a.value)); const l = (await this.L([{ manifest: r, extension: i, options: s }])).find(({ identifier: u }) => xe(u, { id: o })); if (l?.local) return l.local; throw l?.error ? l.error : wt(new Error(`Unknown error while installing extension ${o}`)) } finally { await n() } } async installFromLocation(t, s) { this.I.trace("ExtensionManagementService#installFromLocation", t.toString()); const i = await this.cb.scanUserExtensionAtLocation(t); if (!i || !i.manifest.name || !i.manifest.version) throw new Error(`Cannot find a valid extension from the location ${t.toString()}`); return await this.Bb([[i, { source: "resource" }]], s), this.I.info("Successfully installed extension", i.identifier.id, s.toString()), i } async installExtensionsFromProfile(t, s, i) { this.I.trace("ExtensionManagementService#installExtensionsFromProfile", t, s.toString(), i.toString()); const n = (await this.getInstalled(1, s)).filter(r => t.some(o => xe(o, r.identifier))); if (n.length) { const r = await Promise.all(n.map(o => this.cb.scanMetadata(o, s))); await this.Bb(n.map((o, a) => [o, r[a]]), i), this.I.info("Successfully installed extensions", n.map(o => o.identifier.id), i.toString()) } return n } async updateMetadata(t, s, i) { return this.I.trace("ExtensionManagementService#updateMetadata", t.identifier.id), s.isPreReleaseVersion && (s.preRelease = !0, s.hasPreReleaseVersion = !0), s.isMachineScoped === !1 && (s.isMachineScoped = void 0), s.isBuiltin === !1 && (s.isBuiltin = void 0), s.pinned === !1 && (s.pinned = void 0), t = await this.cb.updateMetadata(t, s, i), this.db.invalidate(i), this.C.fire({ local: t, profileLocation: i }), t } async reinstallFromGallery(t) { if (this.I.trace("ExtensionManagementService#reinstallFromGallery", t.identifier.id), !this.F.isEnabled()) throw new Error(m(1864, null)); const s = await this.getTargetPlatform(), [i] = await this.F.getExtensions([{ ...t.identifier, preRelease: t.preRelease }], { targetPlatform: s, compatible: !0 }, Ne.None); if (!i) throw new Error(m(1865, null)); await this.cb.setUninstalled(t); try { await this.cb.removeUninstalledExtension(t) } catch (n) { throw new Error(m(1866, null, Cn(n))) } return this.installFromGallery(i) } bb(t, s, i, n) { return this.cb.copyExtension(t, s, i, n) } copyExtensions(t, s) { return this.cb.copyExtensions(t, s, { version: this.g.version, date: this.g.date }) } markAsUninstalled(...t) { return this.cb.setUninstalled(...t) } async cleanUp() { this.I.trace("ExtensionManagementService#cleanUp"); try { await this.cb.cleanUp() } catch (t) { this.I.error(t) } } async download(t, s, i) { const { location: n } = await this.ub(t, s, !i); return n } async pb(t) { if (t.scheme === Z.file) return { location: t, async cleanup() { } }; this.I.trace("Downloading extension from", t.toString()); const s = ne(this.eb.extensionsDownloadDir, We()); return await this.jb.download(t, s), this.I.info("Downloaded extension to", s.toString()), { location: s, cleanup: async () => { try { await this.lb.del(s) } catch (n) { this.I.error(n) } } } } Z() { return this.J.defaultProfile.extensionsResource } $(t, s, i) { const n = s instanceof E ? new is({ id: pn(t.publisher, t.name) }, t.version) : is.create(s); return this.kb.createInstance(Nh, n, t, s, i, (r, o) => { if (s instanceof E) return this.vb(n, s, i, o); let a = this.fb.get(n.toString()); return a || (this.fb.set(n.toString(), a = this.tb(n, s, r, i, o)), a.finally(() => this.fb.delete(n.toString()))), a }, this.cb) } ab(t, s) { return new B9(t, s, this.ib) } async tb(t, s, i, n, r) { const { verificationStatus: o, location: a } = await this.ub(s, i, !n.donotVerifySignature, n.context?.[t6]); try { if (r.isCancellationRequested) throw new It; const c = await Hm(a.fsPath); if (!new is(s.identifier, s.version).equals(new is({ id: pn(c.publisher, c.name) }, c.version))) throw new tt(m(1867, null, s.identifier.id), "Invalid"); const l = await this.cb.extractUserExtension(t, a.fsPath, { id: s.identifier.uuid, publisherId: s.publisherId, publisherDisplayName: s.publisherDisplayName, targetPlatform: s.properties.targetPlatform, isApplicationScoped: n.isApplicationScoped, isMachineScoped: n.isMachineScoped, isBuiltin: n.isBuiltin, isPreReleaseVersion: s.properties.isPreReleaseVersion, hasPreReleaseVersion: s.properties.isPreReleaseVersion, installedTimestamp: Date.now(), pinned: n.installGivenVersion ? !0 : !!n.pinned, preRelease: ii(n.preRelease) ? n.preRelease : n.installPreReleaseVersion || s.properties.isPreReleaseVersion, source: "gallery" }, !1, r); if (o !== Lt.Success && this.gb.isBuilt) try { await this.eb.delete(a) } catch (u) { this.I.warn("Error while deleting the downloaded file", a.toString(), ge(u)) } return { local: l, verificationStatus: o } } catch (c) { try { await this.eb.delete(a) } catch (l) { this.I.warn("Error while deleting the downloaded file", a.toString(), ge(l)) } throw wt(c) } } async ub(t, s, i, n) { if (i) { const a = this.mb.getValue("extensions.verifySignature"); i = ii(a) ? a : !0 } const { location: r, verificationStatus: o } = await this.eb.download(t, s, i, n); if (o !== Lt.Success && o !== Lt.NotSigned && i && this.gb.isBuilt && !rt) { try { await this.eb.delete(r) } catch (a) { this.I.warn("Error while deleting the downloaded file", r.toString(), ge(a)) } if (!o) throw new tt(m(1868, null), "SignatureVerificationInternal"); switch (o) { case Lt.PackageIntegrityCheckFailed: case Lt.SignatureIsInvalid: case Lt.SignatureManifestIsInvalid: case Lt.SignatureIntegrityCheckFailed: case Lt.EntryIsMissing: case Lt.EntryIsTampered: case Lt.Untrusted: case Lt.CertificateRevoked: case Lt.SignatureIsNotValid: case Lt.SignatureArchiveHasTooManyEntries: throw new tt(m(1869, null, o), "SignatureVerificationFailed") }throw new tt(m(1870, null, o), "SignatureVerificationInternal") } return { location: r, verificationStatus: o } } async vb(t, s, i, n) { return { local: await this.cb.extractUserExtension(t, nn(s.fsPath), { isApplicationScoped: i.isApplicationScoped, isMachineScoped: i.isMachineScoped, isBuiltin: i.isBuiltin, installedTimestamp: Date.now(), pinned: i.installGivenVersion ? !0 : !!i.pinned, source: "vsix" }, ii(i.keepExisting) ? !i.keepExisting : !0, n) } } async wb(t) { const s = async n => { let r = await Pe.readdir(n); r = r.map(c => _(n, c)); const o = await Promise.all(r.map(c => PO.promises.stat(c))); let a = Promise.resolve([]); return o.forEach((c, l) => { const u = r[l]; c.isFile() && (a = a.then(h => [...h, u])), c.isDirectory() && (a = a.then(h => s(u).then(d => [...h, ...d]))) }), a }; return (await s(t.location.fsPath)).map(n => ({ path: `extension/${Wa(t.location.fsPath, n)}`, localPath: n })) } async xb({ added: t, removed: s }) { if (s) { const i = t && this.H.extUri.isEqual(s.profileLocation, t.profileLocation) ? s.extensions.filter(n => t.extensions.every(r => !xe(r, n))) : s.extensions; for (const n of i) this.I.info("Extensions removed from another source", n.id, s.profileLocation.toString()), this.z.fire({ identifier: n, profileLocation: s.profileLocation }) } if (t) { const n = (await this.getInstalled(1, t.profileLocation)).filter(r => t.extensions.some(o => xe(o, r.identifier))); this.w.fire(n.map(r => (this.I.info("Extensions added from another source", r.identifier.id, t.profileLocation.toString()), { identifier: r.identifier, local: r, profileLocation: t.profileLocation, operation: 1 }))) } } async zb() { this.B(this.cb.onExtract(s => this.yb.add(s))); const t = await this.lb.resolve(this.hb.userExtensionsLocation); for (const s of t.children ?? []) s.isDirectory && this.yb.add(s.resource); this.B(this.lb.watch(this.hb.userExtensionsLocation)), this.B(this.lb.onDidFilesChange(s => this.Ab(s))) } async Ab(t) { if (!t.affects(this.hb.userExtensionsLocation, 1)) return; const s = []; for (const i of t.rawAdded) { if (this.yb.has(i) || !this.H.extUri.isEqual(this.H.extUri.dirname(i), this.hb.userExtensionsLocation) || this.H.extUri.isEqual(i, this.H.extUri.joinPath(this.hb.userExtensionsLocation, ".obsolete")) || this.H.extUri.basename(i).startsWith(".") || !(await this.lb.stat(i)).isDirectory) continue; const n = await this.cb.scanUserExtensionAtLocation(i); n && n.installedTimestamp === void 0 && (this.yb.add(i), s.push(n)) } s.length && (await this.Bb(s.map(i => [i, void 0]), this.J.defaultProfile.extensionsResource), this.I.info("Added extensions to default profile from external source", s.map(i => i.identifier.id))) } async Bb(t, s) { const i = t.map(n => n[0]); await this.Cb(i), await this.ib.addExtensionsToProfile(t, s), this.w.fire(i.map(n => ({ local: n, identifier: n.identifier, operation: 1, profileLocation: s }))) } async Cb(t) { const s = await this.cb.getUninstalledExtensions(); for (const i of t) { const n = is.create(i); s[n.toString()] && (this.I.trace("Removing the extension from uninstalled list:", n.id), await this.cb.setInstalled(n), this.I.info("Removed the extension from uninstalled list:", n.id)) } } }, zc = __decorate([__param(0, oi), __param(1, qt), __param(2, pe), __param(3, zs), __param(4, Or), __param(5, Ri), __param(6, gh), __param(7, Er), __param(8, gt), __param(9, ts), __param(10, Nt), __param(11, dn), __param(12, jt), __param(13, Gs)], zc), Lh = class extends J { constructor(t, s, i, n, r, o, a) { super(), this.n = t, this.s = s, this.t = i, this.u = n, this.w = r, this.y = o, this.z = a, this.h = this.B(new D), this.onExtract = this.h.event, this.j = new At, this.m = new At, this.c = ne(this.t.userExtensionsLocation, ".obsolete"), this.g = new bo } async cleanUp() { await this.L(), await this.J(), await this.I() } async scanExtensions(t, s, i) { try { const n = { includeInvalid: !0, profileLocation: s, productVersion: i }; let r = []; if (t === null || t === 0) { let o = this.j.get(s); o || (o = this.t.scanAllExtensions({ includeInvalid: !0, useCache: !0 }, n, !1).finally(() => this.j.delete(s)), this.j.set(s, o)), r.push(...await o) } else if (t === 1) { let o = this.m.get(s); o || (o = this.t.scanUserExtensions(n).finally(() => this.m.delete(s)), this.m.set(s, o)), r.push(...await o) } return r = t !== null ? r.filter(o => o.type === t) : r, await Promise.all(r.map(o => this.H(o))) } catch (n) { throw wt(n, "Scanning") } } async scanAllUserExtensions(t) { try { const s = await this.t.scanUserExtensions({ includeAllVersions: !t, includeInvalid: !0 }); return await Promise.all(s.map(i => this.H(i))) } catch (s) { throw wt(s, "Scanning") } } async scanUserExtensionAtLocation(t) { try { const s = await this.t.scanExistingExtension(t, 1, { includeInvalid: !0 }); if (s) return await this.H(s) } catch (s) { this.z.error(s) } return null } async extractUserExtension(t, s, i, n, r) { const o = t.toString(), a = E.file(_(this.t.userExtensionsLocation.fsPath, `.${We()}`)), c = E.file(_(this.t.userExtensionsLocation.fsPath, o)); if (await this.s.exists(c)) { if (!n) try { return await this.scanLocalExtension(c, 1) } catch (l) { this.z.warn(`Error while scanning the existing extension at ${c.path}. Deleting the existing extension and extracting it.`, ge(l)) } try { await this.D(t.id, c, "removeExisting") } catch { throw new tt(m(1871, null, c.fsPath, t.id), "Delete") } } try { if (r.isCancellationRequested) throw new It; try { this.z.trace(`Started extracting the extension from ${s} to ${c.fsPath}`), await _N(s, a.fsPath, { sourcePath: "extension", overwrite: !0 }, r), this.z.info(`Extracted extension to ${c}:`, t.id) } catch (l) { throw Bm(l) } try { i.size = await im(a, this.s) } catch (l) { this.z.warn(`Error while getting the size of the extracted extension : ${a.fsPath}`, ge(l)) } try { await this.t.updateMetadata(a, i) } catch (l) { throw this.y.publicLog2("extension:extract", { extensionId: t.id, code: `${Gt(l)}` }), wt(l, "UpdateMetadata") } if (r.isCancellationRequested) throw new It; try { this.z.trace(`Started renaming the extension from ${a.fsPath} to ${c.fsPath}`), await this.G(a.fsPath, c.fsPath), this.z.info("Renamed to", c.fsPath) } catch (l) { if (l.code === "ENOTEMPTY") { this.z.info("Rename failed because extension was installed by another source. So ignoring renaming.", t.id); try { await this.s.del(a, { recursive: !0 }) } catch { } } else throw this.z.info(`Rename failed because of ${ge(l)}. Deleted from extracted location`, a), l } this.h.fire(c) } catch (l) { try { await this.s.del(a, { recursive: !0 }) } catch { } throw l } return this.scanLocalExtension(c, 1) } async scanMetadata(t, s) { return s ? (await this.C(t, s))?.metadata : this.t.scanMetadata(t.location) } async C(t, s) { return (await this.u.scanProfileExtensions(s)).find(n => xe(n.identifier, t.identifier)) } async updateMetadata(t, s, i) { try { i ? await this.u.updateMetadata([[t, s]], i) : await this.t.updateMetadata(t.location, s) } catch (n) { throw this.y.publicLog2("extension:extract", { extensionId: t.identifier.id, code: `${Gt(n)}`, isProfile: !!i }), wt(n, "UpdateMetadata") } return this.scanLocalExtension(t.location, t.type, i) } async getUninstalledExtensions() { try { return await this.F() } catch (t) { throw wt(t, "ReadUninstalled") } } async setUninstalled(...t) { const s = t.map(i => is.create(i)); await this.F(i => s.forEach(n => { i[n.toString()] = !0, this.z.info("Marked extension as uninstalled", n.toString()) })) } async setInstalled(t) { try { await this.F(s => delete s[t.toString()]) } catch (s) { throw wt(s, "UnsetUninstalled") } } async removeExtension(t, s) { if (this.w.extUri.isEqualOrParent(t.location, this.t.userExtensionsLocation)) return this.D(t.identifier.id, t.location, s) } async removeUninstalledExtension(t) { await this.removeExtension(t, "uninstalled"), await this.F(s => delete s[is.create(t).toString()]) } async copyExtension(t, s, i, n) { const r = await this.C(t, s), o = await this.C(t, i); if (n = { ...r?.metadata, ...n }, o) if (this.w.extUri.isEqual(o.location, t.location)) await this.u.updateMetadata([[t, { ...o.metadata, ...n }]], i); else { const a = await this.scanLocalExtension(o.location, t.type, i); await this.u.removeExtensionFromProfile(a, i), await this.u.addExtensionsToProfile([[t, { ...o.metadata, ...n }]], i) } else await this.u.addExtensionsToProfile([[t, n]], i); return this.scanLocalExtension(t.location, t.type, i) } async copyExtensions(t, s, i) { const n = await this.scanExtensions(1, t, i), r = await Promise.all(n.filter(o => !o.isApplicationScoped).map(async o => [o, await this.scanMetadata(o, t)])); await this.u.addExtensionsToProfile(r, s) } async D(t, s, i) { this.z.trace(`Deleting ${i} extension from disk`, t, s.fsPath); const n = this.w.extUri.joinPath(this.w.extUri.dirname(s), `${this.w.extUri.basename(s)}.${ho(We()).toString(16)}${Vm}`); await this.G(s.fsPath, n.fsPath), await this.s.del(n, { recursive: !0 }), this.z.info(`Deleted ${i} extension from disk`, t, s.fsPath) } F(t) { return this.g.queue(async () => { let s; try { s = (await this.s.readFile(this.c, "utf8")).value.toString() } catch (n) { if (Gt(n) !== 1) throw n } let i = {}; if (s) try { i = JSON.parse(s) } catch { } return t && (t(i), Object.keys(i).length ? await this.s.writeFile(this.c, O.fromString(JSON.stringify(i))) : await this.s.del(this.c)), i }) } async G(t, s) { try { await Pe.rename(t, s, 2 * 60 * 1e3) } catch (i) { throw wt(i, "Rename") } } async scanLocalExtension(t, s, i) { try { if (i) { const r = (await this.t.scanUserExtensions({ profileLocation: i })).find(o => this.w.extUri.isEqual(o.location, t)); if (r) return await this.H(r) } else { const n = await this.t.scanExistingExtension(t, s, { includeInvalid: !0 }); if (n) return await this.H(n) } throw new tt(m(1872, null, t.path), "ScanningExtension") } catch (n) { throw wt(n, "ScanningExtension") } } async H(t) { const s = await this.s.resolve(t.location); let i, n; return s.children && (i = s.children.find(({ name: r }) => /^readme(\.txt|\.md|)$/i.test(r))?.resource, n = s.children.find(({ name: r }) => /^changelog(\.txt|\.md|)$/i.test(r))?.resource), { identifier: t.identifier, type: t.type, isBuiltin: t.isBuiltin || !!t.metadata?.isBuiltin, location: t.location, manifest: t.manifest, targetPlatform: t.targetPlatform, validations: t.validations, isValid: t.isValid, readmeUrl: i, changelogUrl: n, publisherDisplayName: t.metadata?.publisherDisplayName, publisherId: t.metadata?.publisherId || null, isApplicationScoped: !!t.metadata?.isApplicationScoped, isMachineScoped: !!t.metadata?.isMachineScoped, isPreReleaseVersion: !!t.metadata?.isPreReleaseVersion, hasPreReleaseVersion: !!t.metadata?.hasPreReleaseVersion, preRelease: t.preRelease, installedTimestamp: t.metadata?.installedTimestamp, updated: !!t.metadata?.updated, pinned: !!t.metadata?.pinned, isWorkspaceScoped: !1, source: t.metadata?.source ?? (t.identifier.uuid ? "gallery" : "vsix"), size: t.metadata?.size ?? 0 } } async I() { const t = await this.t.scanUserExtensions({ includeInvalid: !0 }); await Promise.all(t.map(async s => { if (!s.metadata?.size && s.metadata?.source !== "resource") { const i = await im(s.location, this.s); await this.t.updateMetadata(s.location, { size: i }) } })) } async J() { const t = await this.getUninstalledExtensions(); if (Object.keys(t).length === 0) { this.z.debug("No uninstalled extensions found."); return } this.z.debug("Removing uninstalled extensions:", Object.keys(t)); const s = await this.t.scanUserExtensions({ includeAllVersions: !0, includeUninstalled: !0, includeInvalid: !0 }), i = new Set; for (const r of s) t[is.create(r).toString()] || i.add(r.identifier.id.toLowerCase()); try { const r = w6(s, o => o.identifier); await Kt.settled(r.map(async o => { const a = o.sort((c, l) => hm(c.manifest.version, l.manifest.version))[0]; i.has(a.identifier.id.toLowerCase()) || await this.n(await this.H(a)) })) } catch (r) { this.z.error(r) } const n = s.filter(r => r.metadata && t[is.create(r).toString()]); await Promise.allSettled(n.map(r => this.removeUninstalledExtension(r))) } async L() { this.z.trace("ExtensionManagementService#removeTempDeleteFolders"); let t; try { t = await this.s.resolve(this.t.userExtensionsLocation) } catch (s) { Gt(s) !== 1 && this.z.error(s); return } if (t?.children) try { await Promise.allSettled(t.children.map(async s => { if (!(!s.isDirectory || !s.name.endsWith(Vm))) { this.z.trace("Deleting the temporarily deleted folder", s.resource.toString()); try { await this.s.del(s.resource, { recursive: !0 }), this.z.trace("Deleted the temporarily deleted folder", s.resource.toString()) } catch (i) { Gt(i) !== 1 && this.z.error(i) } } })) } catch { } } }, Lh = __decorate([__param(1, gt), __param(2, Or), __param(3, Ri), __param(4, jt), __param(5, qt), __param(6, pe)], Lh), Nh = class extends Um { get operation() { return this.options.operation ?? this.j } get verificationStatus() { return this.k } constructor(t, s, i, n, r, o, a, c, l, u, h, d) { super(), this.l = t, this.manifest = s, this.source = i, this.options = n, this.m = r, this.n = o, this.o = a, this.p = c, this.q = l, this.s = u, this.t = h, this.u = d, this.j = 2, this.identifier = this.l.identifier } async h(t) { const i = (await this.n.scanExtensions(1, this.options.profileLocation, this.options.productVersion)).find(a => xe(a.identifier, this.identifier)); i && (this.j = 3); const n = { isApplicationScoped: this.options.isApplicationScoped || i?.isApplicationScoped, isMachineScoped: this.options.isMachineScoped || i?.isMachineScoped, isBuiltin: this.options.isBuiltin || i?.isBuiltin, isSystem: i?.type === 0 ? !0 : void 0, installedTimestamp: Date.now(), pinned: this.options.installGivenVersion ? !0 : this.options.pinned ?? i?.pinned, source: this.source instanceof E ? "vsix" : "gallery" }; let r; if (this.source instanceof E) { if (i && this.l.equals(new is(i.identifier, i.manifest.version))) try { await this.n.removeExtension(i, "existing") } catch { throw new Error(m(1873, null, this.manifest.displayName || this.manifest.name)) } const a = await this.w(this.l); if (a) try { await this.n.removeExtension(a, "existing") } catch { throw new Error(m(1874, null, this.manifest.displayName || this.manifest.name)) } } else { if (n.id = this.source.identifier.uuid, n.publisherId = this.source.publisherId, n.publisherDisplayName = this.source.publisherDisplayName, n.targetPlatform = this.source.properties.targetPlatform, n.updated = !!i, n.isPreReleaseVersion = this.source.properties.isPreReleaseVersion, n.hasPreReleaseVersion = i?.hasPreReleaseVersion || this.source.properties.isPreReleaseVersion, n.preRelease = ii(this.options.preRelease) ? this.options.preRelease : this.options.installPreReleaseVersion || this.source.properties.isPreReleaseVersion || i?.preRelease, i && i.type !== 0 && i.manifest.version === this.source.version) return this.n.updateMetadata(i, n, this.options.profileLocation); r = await this.w(this.l) } if (t.isCancellationRequested) throw wt(new It); if (!r) { const a = await this.m(this.operation, t); r = a.local, this.k = a.verificationStatus } if (this.o.extUri.isEqual(this.q.defaultProfile.extensionsResource, this.options.profileLocation)) try { await this.s.initializeDefaultProfileExtensions() } catch (a) { throw wt(a, "IntializeDefaultProfile") } if (t.isCancellationRequested) throw wt(new It); try { await this.t.addExtensionsToProfile([[r, n]], this.options.profileLocation, !r.isValid) } catch (a) { throw wt(a, "AddToProfile") } const o = await this.n.scanLocalExtension(r.location, 1, this.options.profileLocation); if (!o) throw new tt("Cannot find the installed extension", "InstalledExtensionNotFound"); return this.source instanceof E && this.x(r, t), o } async w(t) { return (await this.n.getUninstalledExtensions())[t.toString()] ? (this.u.trace("Removing the extension from uninstalled list:", t.id), await this.n.setInstalled(t), this.u.info("Removed the extension from uninstalled list:", t.id), (await this.n.scanAllUserExtensions(!0)).find(n => is.create(n).equals(t))) : void 0 } async x(t, s) { try { let [i] = await this.p.getExtensions([{ id: t.identifier.id, version: t.manifest.version }], s); if (i || ([i] = await this.p.getExtensions([{ id: t.identifier.id }], s)), i) { const n = { id: i.identifier.uuid, publisherDisplayName: i.publisherDisplayName, publisherId: i.publisherId, isPreReleaseVersion: i.properties.isPreReleaseVersion, hasPreReleaseVersion: t.hasPreReleaseVersion || i.properties.isPreReleaseVersion, preRelease: i.properties.isPreReleaseVersion || this.options.installPreReleaseVersion }; await this.n.updateMetadata(t, n, this.options.profileLocation) } } catch { } } }, Nh = __decorate([__param(6, jt), __param(7, oi), __param(8, Gs), __param(9, Or), __param(10, Ri), __param(11, pe)], Nh), B9 = class extends Um { constructor(e, t, s) { super(), this.extension = e, this.options = t, this.j = s } async h(e) { await this.j.removeExtensionFromProfile(this.extension, this.options.profileLocation) } } } }), z9, Wm, IO = v({
  191. "out-build/vs/platform/instantiation/common/graph.js"() {
  192. "use strict"; z9 = class { constructor(e, t) { this.key = e, this.data = t, this.incoming = new Map, this.outgoing = new Map } }, Wm = class {
  193. constructor(e) { this.b = e, this.a = new Map } roots() { const e = []; for (const t of this.a.values()) t.outgoing.size === 0 && e.push(t); return e } insertEdge(e, t) { const s = this.lookupOrInsertNode(e), i = this.lookupOrInsertNode(t); s.outgoing.set(i.key, i), i.incoming.set(s.key, s) } removeNode(e) { const t = this.b(e); this.a.delete(t); for (const s of this.a.values()) s.outgoing.delete(t), s.incoming.delete(t) } lookupOrInsertNode(e) { const t = this.b(e); let s = this.a.get(t); return s || (s = new z9(t, e), this.a.set(t, s)), s } lookup(e) { return this.a.get(this.b(e)) } isEmpty() { return this.a.size === 0 } toString() {
  194. const e = []; for (const [t, s] of this.a) e.push(`${t}
  195. (-> incoming)[${[...s.incoming.keys()].join(", ")}]
  196. (outgoing ->)[${[...s.outgoing.keys()].join(",")}]
  197. `); return e.join(`
  198. `)
  199. } findCycleSlow() { for (const [e, t] of this.a) { const s = new Set([e]), i = this.c(t, s); if (i) return i } } c(e, t) { for (const [s, i] of e.outgoing) { if (t.has(s)) return [...t, s].join(" -> "); t.add(s); const n = this.c(i, t); if (n) return n; t.delete(s) } }
  200. }
  201. }
  202. }), V9, qm, Gm, W9, Oh, q9 = v({
  203. "out-build/vs/platform/instantiation/common/instantiationService.js"() {
  204. "use strict"; Ue(), fe(), z(), Ou(), IO(), oe(), tp(), Nb(), V9 = !1, qm = class extends Error {
  205. constructor(e) {
  206. super("cyclic dependency between services"), this.message = e.findCycleSlow() ?? `UNABLE to detect cycle, dumping graph:
  207. ${e.toString()}`
  208. }
  209. }, Gm = class kv { constructor(t = new ku, s = !1, i, n = V9) { this.i = t, this.j = s, this.k = i, this.l = n, this.f = !1, this.g = new Set, this.h = new Set, this.t = new Set, this.i.set(Er, this), this._globalGraph = n ? i?._globalGraph ?? new Wm(r => r) : void 0 } dispose() { if (!this.f) { this.f = !0, Ut(this.h), this.h.clear(); for (const t of this.g) xA(t) && t.dispose(); this.g.clear() } } m() { if (this.f) throw new Error("InstantiationService has been disposed") } createChild(t, s) { this.m(); const i = this, n = new class extends kv { dispose() { i.h.delete(n), super.dispose() } }(t, this.j, this, this.l); return this.h.add(n), s?.add(n), n } invokeFunction(t, ...s) { this.m(); const i = Oh.traceInvocation(this.l, t); let n = !1; try { return t({ get: o => { if (n) throw Vv("service accessor is only valid during the invocation of its target method"); const a = this.s(o, i); if (!a) throw new Error(`[invokeFunction] unknown service '${o}'`); return a } }, ...s) } finally { n = !0, i.stop() } } createInstance(t, ...s) { this.m(); let i, n; return t instanceof Xe ? (i = Oh.traceCreation(this.l, t.ctor), n = this.o(t.ctor, t.staticArguments.concat(s), i)) : (i = Oh.traceCreation(this.l, t), n = this.o(t, s, i)), i.stop(), n } o(t, s = [], i) { const n = ri.getServiceDependencies(t).sort((a, c) => a.index - c.index), r = []; for (const a of n) { const c = this.s(a.id, i); c || this.y(`[createInstance] ${t.name} depends on UNKNOWN service ${a.id}.`, !1), r.push(c) } const o = n.length > 0 ? n[0].index : s.length; if (s.length !== o) { console.trace(`[createInstance] First service dependency of ${t.name} at position ${o + 1} conflicts with ${s.length} static arguments`); const a = o - s.length; a > 0 ? s = s.concat(new Array(a)) : s = s.slice(0, o) } return Reflect.construct(t, s.concat(r)) } q(t, s) { if (this.i.get(t) instanceof Xe) this.i.set(t, s); else if (this.k) this.k.q(t, s); else throw new Error("illegalState - setting UNKNOWN service instance") } r(t) { const s = this.i.get(t); return !s && this.k ? this.k.r(t) : s } s(t, s) { this._globalGraph && this.c && this._globalGraph.insertEdge(this.c, String(t)); const i = this.r(t); return i instanceof Xe ? this.u(t, i, s.branch(t, !0)) : (s.branch(t, !1), i) } u(t, s, i) { if (this.t.has(t)) throw new Error(`illegal state - RECURSIVELY instantiating service '${t}'`); this.t.add(t); try { return this.v(t, s, i) } finally { this.t.delete(t) } } v(t, s, i) { const n = new Wm(c => c.id.toString()); let r = 0; const o = [{ id: t, desc: s, _trace: i }], a = new Set; for (; o.length;) { const c = o.pop(); if (!a.has(String(c.id))) { if (a.add(String(c.id)), n.lookupOrInsertNode(c), r++ > 1e3) throw new qm(n); for (const l of ri.getServiceDependencies(c.desc.ctor)) { const u = this.r(l.id); if (u || this.y(`[createInstance] ${t} depends on ${l.id} which is NOT registered.`, !0), this._globalGraph?.insertEdge(String(c.id), String(l.id)), u instanceof Xe) { const h = { id: l.id, desc: u, _trace: c._trace.branch(l.id, !0) }; n.insertEdge(c, h), o.push(h) } } } } for (; ;) { const c = n.roots(); if (c.length === 0) { if (!n.isEmpty()) throw new qm(n); break } for (const { data: l } of c) { if (this.r(l.id) instanceof Xe) { const h = this.w(l.id, l.desc.ctor, l.desc.staticArguments, l.desc.supportsDelayedInstantiation, l._trace); this.q(l.id, h) } n.removeNode(l) } } return this.r(t) } w(t, s, i = [], n, r) { if (this.i.get(t) instanceof Xe) return this.x(t, s, i, n, r, this.g); if (this.k) return this.k.w(t, s, i, n, r); throw new Error(`illegalState - creating UNKNOWN service instance ${s.name}`) } x(t, s, i = [], n, r, o) { if (n) { const a = new kv(void 0, this.j, this, this.l); a.c = String(t); const c = new Map, l = new P4(() => { const u = a.o(s, i, r); for (const [h, d] of c) { const p = u[h]; if (typeof p == "function") for (const g of d) g.disposable = p.apply(u, g.listener) } return c.clear(), o.add(u), u }); return new Proxy(Object.create(null), { get(u, h) { if (!l.isInitialized && typeof h == "string" && (h.startsWith("onDid") || h.startsWith("onWill"))) { let g = c.get(h); return g || (g = new T1, c.set(h, g)), (y, x, k) => { if (l.isInitialized) return l.value[h](y, x, k); { const A = { listener: [y, x, k], disposable: void 0 }, I = g.push(A); return ye(() => { I(), A.disposable?.dispose() }) } } } if (h in u) return u[h]; const d = l.value; let p = d[h]; return typeof p != "function" || (p = p.bind(d), u[h] = p), p }, set(u, h, d) { return l.value[h] = d, !0 }, getPrototypeOf(u) { return s.prototype } }) } else { const a = this.o(s, i, r); return o.add(a), a } } y(t, s) { if (s && console.warn(t), this.j) throw new Error(t) } }, function (e) { e[e.None = 0] = "None", e[e.Creation = 1] = "Creation", e[e.Invocation = 2] = "Invocation", e[e.Branch = 3] = "Branch" }(W9 || (W9 = {})), Oh = class Vi {
  210. static { this.all = new Set } static { this.c = new class extends Vi { constructor() { super(0, null) } stop() { } branch() { return this } } } static traceInvocation(t, s) {
  211. return t ? new Vi(2, s.name || new Error().stack.split(`
  212. `).slice(3, 4).join(`
  213. `)) : Vi.c
  214. } static traceCreation(t, s) { return t ? new Vi(1, s.name) : Vi.c } static { this.f = 0 } constructor(t, s) { this.type = t, this.name = s, this.g = Date.now(), this.h = [] } branch(t, s) { const i = new Vi(3, t.toString()); return this.h.push([t, s, i]), i } stop() {
  215. const t = Date.now() - this.g; Vi.f += t; let s = !1; function i(r, o) {
  216. const a = [], c = new Array(r + 1).join(" "); for (const [l, u, h] of o.h) if (u && h) { s = !0, a.push(`${c}CREATES -> ${l}`); const d = i(r + 1, h); d && a.push(d) } else a.push(`${c}uses -> ${l}`); return a.join(`
  217. `)
  218. } const n = [`${this.type === 1 ? "CREATE" : "CALL"} ${this.name}`, `${i(1, this)}`, `DONE, took ${t.toFixed(2)}ms (grand total ${Vi.f.toFixed(2)}ms)`]; (t > 2 || s) && Vi.all.add(n.join(`
  219. `))
  220. }
  221. }
  222. }
  223. }), Ns, Ch, Bt, Vc = v({ "out-build/vs/platform/product/common/product.js"() { "use strict"; if (ti(), Ch = globalThis.vscode, typeof Ch < "u" && typeof Ch.context < "u") { const e = Ch.context.configuration(); if (e) Ns = e.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 (Ns = globalThis._VSCODE_PRODUCT_JSON, js.VSCODE_DEV && Object.assign(Ns, { nameShort: `${Ns.nameShort} Dev`, nameLong: `${Ns.nameLong} Dev`, dataFolderName: `${Ns.dataFolderName}-dev`, serverDataFolderName: Ns.serverDataFolderName ? `${Ns.serverDataFolderName}-dev` : void 0 }), !Ns.version) { const e = globalThis._VSCODE_PACKAGE_JSON; Object.assign(Ns, { version: e.version }) } } else Ns = { nameShort: "OpenVSCode Server", nameLong: "OpenVSCode Server", applicationName: "openvscode-server", dataFolderName: ".openvscode-server", win32MutexName: "openvscodeserver", licenseName: "MIT", licenseUrl: "https://github.com/gitpod-io/openvscode-server/blob/main/LICENSE.txt", serverLicenseUrl: "https://github.com/gitpod-io/openvscode-server/blob/main/LICENSE.txt", serverGreeting: [], serverLicense: [], serverLicensePrompt: "", serverApplicationName: "openvscode-server", serverDataFolderName: ".openvscode-server", tunnelApplicationName: "openvscode-server-tunnel", win32DirName: "OpenVSCode Server", win32NameVersion: "OpenVSCode Server", win32RegValueName: "OpenVSCodeServer", win32x64AppId: "{{D77B7E06-80BA-4137-BCF4-654B95CCEBC5}", win32arm64AppId: "{{D1ACE434-89C5-48D1-88D3-E2991DF85475}", win32x64UserAppId: "{{CC6B787D-37A0-49E8-AE24-8559A032BE0C}", win32arm64UserAppId: "{{3AEBF0C8-F733-4AD4-BADE-FDB816D53D7B}", win32AppUserModelId: "OpenVSCode Server", win32ShellNameShort: "OpenVSC&ode Server", win32TunnelServiceMutex: "openvscode.server-tunnelservice", win32TunnelMutex: "openvscode.server-tunnel", darwinBundleIdentifier: "openvscode.server", linuxIconName: "openvscode.server", licenseFileName: "LICENSE.txt", twitterUrl: "https://twitter.com/gitpod", reportIssueUrl: "https://github.com/gitpod-io/openvscode-server/issues/new", requestFeatureUrl: "https://github.com/gitpod-io/openvscode-server/issues", reportMarketplaceIssueUrl: "https://github.com/eclipse/openvsx/issues", sendASmile: { reportIssueUrl: "https://github.com/gitpod-io/openvscode-server/issues/new", requestFeatureUrl: "https://github.com/gitpod-io/openvscode-server/issues" }, nodejsRepository: "https://nodejs.org", urlProtocol: "openvscode-server", embedderIdentifier: "openvscode-server", webviewContentExternalBaseUrlTemplate: "https://{{uuid}}.vscode-cdn.net/insider/ef65ac1ba57f57f2a3961bfe94aa20481caca4c6/out/vs/workbench/contrib/webview/browser/pre/", extensionRecommendations: { "muhammad-sammy.csharp": { 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}" }] }, "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-azuretools.vscode-docker": { onFileOpen: [{ pathGlob: "{**/dockerfile,**/Dockerfile,**/docker-compose.yml,**/docker-compose.*.yml}", important: !0 }, { languages: ["dockerfile"], important: !0 }, { pathGlob: "{**/*.cs,**/project.json,**/global.json,**/*.csproj,**/*.cshtml,**/*.sln,**/appsettings.json,**/*.py,**/*.ipynb,**/*.js,**/*.ts,**/package.json}" }] }, "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}" }] }, "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}" }] }, "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" }] }, "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,**/*.py,**/*.go,**/*.rb}" }], onSettingsEditorOpen: {} }, "GitHub.vscode-github-actions": { onFileOpen: [{ pathGlob: "{**/.github/workflows/*.yml}", important: !0 }] }, "mechatroner.rainbow-csv": { onFileOpen: [{ pathGlob: "**/*.csv", important: !0 }] }, "tomoki1207.pdf": { onFileOpen: [{ pathGlob: "**/*.pdf", important: !0 }] } }, commonlyUsedSettings: ["files.autoSave", "editor.fontSize", "editor.fontFamily", "GitHub.copilot.manageExtension", "editor.tabSize", "editor.renderWhitespace", "editor.cursorStyle", "editor.multiCursorModifier", "editor.insertSpaces", "editor.wordWrap", "files.exclude", "files.associations", "workbench.editor.enablePreview"], 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", "muhammad-sammy.csharp", "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"], 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" } } }, maven: { configPath: "pom.xml", configName: "Maven", recommendations: { "vscjava.vscode-java-pack": { name: "Java", important: !0, isExtensionPack: !0, whenNotInstalled: ["ASF.apache-netbeans-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"] } } }, "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\\]" } } } }, 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.bintray.com", "api.travis-ci.com", "api.travis-ci.org", "app.fossa.io", "badge.buildkite.com", "badge.fury.io", "badge.waffle.io", "badgen.net", "badges.frapsoft.com", "badges.gitter.im", "badges.greenkeeper.io", "cdn.travis-ci.com", "cdn.travis-ci.org", "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", "gemnasium.com", "githost.io", "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", "www.bithound.io", "www.versioneye.com"], extensionAllowedBadgeProvidersRegex: ["^https:\\/\\/github\\.com\\/[^/]+\\/[^/]+\\/(actions\\/)?workflows\\/.*badge\\.svg"], 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"] }, 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.96.0", sha256: "278cd8b129c133d834a8105d0e0699f2f940c5c159fa5c821c7b9a4f7ffd3581", 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" } }], extensionsGallery: { serviceUrl: "https://open-vsx.org/vscode/gallery", itemUrl: "https://open-vsx.org/vscode/item", resourceUrlTemplate: "https://open-vsx.org/vscode/unpkg/{publisher}/{name}/{version}/{path}", controlUrl: "", recommendationsUrl: "", nlsBaseUrl: "", publisherUrl: "" }, linkProtectionTrustedDomains: ["https://open-vsx.org"], quality: "stable", version: "1.96.4", commit: "56bdd153e7c7f853189fd6965f73b2049f6d06c9", date: "2025-01-25T12:59:50.940Z" }, Object.keys(Ns).length === 0 && Object.assign(Ns, { version: "1.95.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" }); Bt = Ns } }); async function G9(e, t, s, i, n, r) { let o; try { await AO(e, t, s, i, n, r) } catch (a) { o = a } finally { o && n.errorTransformer && (o = n.errorTransformer(o)), typeof o < "u" && s.error(o), s.end() } } async function AO(e, t, s, i, n, r) { Jm(r); const o = await e.open(t, { create: !1 }); try { Jm(r); let a = 0, c = 0, l = n && typeof n.length == "number" ? n.length : void 0, u = O.alloc(Math.min(n.bufferSize, typeof l == "number" ? l : n.bufferSize)), h = n && typeof n.position == "number" ? n.position : 0, d = 0; do c = await e.read(o, h, u.buffer, d, u.byteLength - d), h += c, d += c, a += c, typeof l == "number" && (l -= c), d === u.byteLength && (await s.write(i(u)), u = O.alloc(Math.min(n.bufferSize, typeof l == "number" ? l : n.bufferSize)), d = 0); while (c > 0 && (typeof l != "number" || l > 0) && Jm(r) && DO(a, n)); if (d > 0) { let p = d; typeof l == "number" && (p = Math.min(d, l)), s.write(i(u.slice(0, p))) } } catch (a) { throw Rr(a) } finally { await e.close(o) } } function Jm(e) { if (e.isCancellationRequested) throw zv(); return !0 } function DO(e, t) { if (typeof t?.limits?.size == "number" && e > t.limits.size) throw gn(m(1943, null), Q.FileTooLarge); return !0 } var J9 = v({ "out-build/vs/platform/files/common/io.js"() { "use strict"; Me(), fe(), he(), st() } }), Ym, Wc, Y9 = v({ "out-build/vs/platform/files/common/fileService.js"() { "use strict"; Et(), Ue(), Me(), Dt(), re(), Ya(), pr(), z(), oh(), De(), Yi(), kt(), qa(), he(), st(), J9(), Re(), fe(), Wc = class extends J { static { Ym = this } constructor(t) { super(), this.b = t, this.a = 256 * 1024, this.c = this.B(new D), this.onDidChangeFileSystemProviderRegistrations = this.c.event, this.f = this.B(new D), this.onWillActivateFileSystemProvider = this.f.event, this.g = this.B(new D), this.onDidChangeFileSystemProviderCapabilities = this.g.event, this.h = new Map, this.r = this.B(new D), this.onDidRunOperation = this.r.event, this.X = this.B(new D), this.Y = this.B(new D), this.onDidFilesChange = this.Y.event, this.Z = this.B(new D), this.onDidWatchError = this.Z.event, this.$ = new Map, this.cb = this.B(new Sp) } registerProvider(t, s) { if (this.h.has(t)) throw new Error(`A filesystem provider for the scheme '${t}' is already registered.`); Pt(`code/registerFilesystem/${t}`); const i = new ut; return this.h.set(t, s), this.c.fire({ added: !0, scheme: t, provider: s }), i.add(s.onDidChangeFile(n => { const r = new H6(n, !this.S(s)); this.X.fire(r), r.hasCorrelation() || this.Y.fire(r) })), typeof s.onDidWatchError == "function" && i.add(s.onDidWatchError(n => this.Z.fire(new Error(n)))), i.add(s.onDidChangeCapabilities(() => this.g.fire({ provider: s, scheme: t }))), ye(() => { this.c.fire({ added: !1, scheme: t, provider: s }), this.h.delete(t), Ut(i) }) } getProvider(t) { return this.h.get(t) } async activateProvider(t) { const s = []; this.f.fire({ scheme: t, join(i) { s.push(i) } }), !this.h.has(t) && await Kt.settled(s) } async canHandleResource(t) { return await this.activateProvider(t.scheme), this.hasProvider(t) } hasProvider(t) { return this.h.has(t.scheme) } hasCapability(t, s) { const i = this.h.get(t.scheme); return !!(i && i.capabilities & s) } listCapabilities() { return Zi.map(this.h, ([t, s]) => ({ scheme: t, capabilities: s.capabilities })) } async j(t) { if (!zy(t)) throw new Jt(m(1916, null, this.sb(t)), 8); await this.activateProvider(t.scheme); const s = this.h.get(t.scheme); if (!s) { const i = new Xi; throw i.message = m(1917, null, t.toString()), i } return s } async m(t) { const s = await this.j(t); if (Hn(s) || Vs(s) || wm(s)) return s; throw new Error(`Filesystem provider for scheme '${t.scheme}' neither has FileReadWrite, FileReadStream nor FileOpenReadWriteClose capability which is needed for the read operation.`) } async n(t) { const s = await this.j(t); if (Hn(s) || Vs(s)) return s; throw new Error(`Filesystem provider for scheme '${t.scheme}' neither has FileReadWrite nor FileOpenReadWriteClose capability which is needed for the write operation.`) } async resolve(t, s) { try { return await this.s(t, s) } catch (i) { throw ah(i) === Q.FileNotFound ? new Jt(m(1918, null, this.sb(t)), 1) : Rr(i) } } async s(t, s) { const i = await this.j(t), n = this.S(i), r = s?.resolveTo, o = s?.resolveSingleChildDescendants, a = s?.resolveMetadata, c = await i.stat(t); let l; return this.t(i, t, c, void 0, !!a, (u, h) => (l || (l = Lo.forUris(() => !n), l.set(t, !0), r && l.fill(!0, r)), l.get(u.resource) || l.findSuperstr(u.resource.with({ query: null, fragment: null })) ? !0 : u.isDirectory && o ? h === 1 : !1)) } async t(t, s, i, n, r, o) { const { providerExtUri: a } = this.R(t), c = { resource: s, name: a.basename(s), isFile: (i.type & Rs.File) !== 0, isDirectory: (i.type & Rs.Directory) !== 0, isSymbolicLink: (i.type & Rs.SymbolicLink) !== 0, mtime: i.mtime, ctime: i.ctime, size: i.size, readonly: !!((i.permissions ?? 0) & Oo.Readonly) || !!(t.capabilities & 2048), locked: !!((i.permissions ?? 0) & Oo.Locked), etag: T6({ mtime: i.mtime, size: i.size }), children: void 0 }; if (c.isDirectory && o(c, n)) { try { const l = await t.readdir(s), u = await Kt.settled(l.map(async ([h, d]) => { try { const p = a.joinPath(s, h), g = r ? await t.stat(p) : { type: d }; return await this.t(t, p, g, l.length, r, o) } catch (p) { return this.b.trace(p), null } })); c.children = yi(u) } catch (l) { this.b.trace(l), c.children = [] } return c } return c } async resolveAll(t) { return Kt.settled(t.map(async s => { try { return { stat: await this.s(s.resource, s.options), success: !0 } } catch (i) { return this.b.trace(i), { stat: void 0, success: !1 } } })) } async stat(t) { const s = await this.j(t), i = await s.stat(t); return this.t(s, t, i, void 0, !0, () => !1) } async exists(t) { const s = await this.j(t); try { return !!await s.stat(t) } catch { return !1 } } async canCreateFile(t, s) { try { await this.u(t, s) } catch (i) { return i } return !0 } async u(t, s) { if (!s?.overwrite && await this.exists(t)) throw new Jt(m(1919, null, this.sb(t)), 3, s) } async createFile(t, s = O.fromString(""), i) { await this.u(t, i); const n = await this.writeFile(t, s); return this.r.fire(new Lr(t, 0, n)), n } async writeFile(t, s, i) { const n = this.qb(await this.n(t), t), { providerExtUri: r } = this.R(n); let o = i; if (_6(n) && !o?.atomic) { const a = n.enforceAtomicWriteFile?.(t); a && (o = { ...i, atomic: a }) } try { await this.w(n, t, o) || await this.U(n, r.dirname(t)); let c; if (Vs(n) && !(s instanceof O)) if (Su(s)) { const l = await ZA(s, 3); l.ended ? c = O.concat(l.buffer) : c = l } else c = QA(s, l => O.concat(l), 3); else c = s; !Hn(n) || Vs(n) && c instanceof O || Vs(n) && _6(n) && o?.atomic ? await this.hb(n, t, o, c) : await this.db(n, t, o, c instanceof O ? cD(c) : c), this.r.fire(new Lr(t, 4)) } catch (a) { throw new Jt(m(1920, null, this.sb(t), Rr(a).toString()), Gt(a), o) } return this.resolve(t, { resolveMetadata: !0 }) } async w(t, s, i) { const n = !!i?.unlock; if (n && !(t.capabilities & 8192)) throw new Error(m(1921, null, this.sb(s))); if (!!i?.atomic) { if (!(t.capabilities & 32768)) throw new Error(m(1922, null, this.sb(s))); if (!(t.capabilities & 2)) throw new Error(m(1923, null, this.sb(s))); if (n) throw new Error(m(1924, null, this.sb(s))) } let o; try { o = await t.stat(s) } catch { return } if (o.type & Rs.Directory) throw new Jt(m(1925, null, this.sb(s)), 0, i); if (this.rb(s, o), typeof i?.mtime == "number" && typeof i.etag == "string" && i.etag !== hh && typeof o.mtime == "number" && typeof o.size == "number" && i.mtime < o.mtime && i.etag !== T6({ mtime: i.mtime, size: o.size })) throw new Jt(m(1926, null), 3, i); return o } async readFile(t, s, i) { const n = await this.m(t); return s?.atomic ? this.z(n, t, s, i) : this.C(n, t, s, i) } async z(t, s, i, n) { return new Promise((r, o) => { this.cb.queueFor(s, async () => { try { const a = await this.C(t, s, i, n); r(a) } catch (a) { o(a) } }, this.R(t).providerExtUri) }) } async C(t, s, i, n) { const r = await this.D(t, s, { ...i, preferUnbuffered: !0 }, n); return { ...r, value: await rn(r.value) } } async readFileStream(t, s, i) { const n = await this.m(t); return this.D(n, t, s, i) } async D(t, s, i, n) { const r = new Ei(n); let o = i; vm(t) && t.enforceAtomicReadFile?.(s) && (o = { ...i, atomic: !0 }); const a = this.J(s, o).then(l => l, l => { throw r.dispose(!0), l }); let c; try { return typeof o?.etag == "string" && o.etag !== hh && await a, o?.atomic && vm(t) || !(Hn(t) || wm(t)) || Vs(t) && o?.preferUnbuffered ? c = this.I(t, s, o) : wm(t) ? c = this.G(t, s, r.token, o) : c = this.H(t, s, r.token, o), c.on("end", () => r.dispose()), c.on("error", () => r.dispose()), { ...await a, value: c } } catch (l) { throw c && await $y(c), this.F(l, s, o) } } F(t, s, i) { const n = m(1927, null, this.sb(s), Rr(t).toString()); return t instanceof uh ? new uh(n, t.stat, i) : t instanceof lh ? new lh(n, t.fileOperationResult, t.size, t.options) : new Jt(n, Gt(t), i) } G(t, s, i, n = Object.create(null)) { const r = t.readFileStream(s, n, i); return Sy(r, { data: o => o instanceof O ? o : O.wrap(o), error: o => this.F(o, s, n) }, o => O.concat(o)) } H(t, s, i, n = Object.create(null)) { const r = hD(); return G9(t, s, r, o => o, { ...n, bufferSize: this.a, errorTransformer: o => this.F(o, s, n) }, i), r } I(t, s, i) { const n = Pu(r => O.concat(r)); return (async () => { try { let r; i?.atomic && vm(t) ? r = await t.readFile(s, { atomic: !0 }) : r = await t.readFile(s), typeof i?.position == "number" && (r = r.slice(i.position)), typeof i?.length == "number" && (r = r.slice(0, i.length)), this.L(s, r.byteLength, i), n.end(O.wrap(r)) } catch (r) { n.error(r), n.end() } })(), n } async J(t, s) { const i = await this.resolve(t, { resolveMetadata: !0 }); if (i.isDirectory) throw new Jt(m(1928, null, this.sb(t)), 0, s); if (typeof s?.etag == "string" && s.etag !== hh && s.etag === i.etag) throw new uh(m(1929, null), i, s); return this.L(t, i.size, s), i } L(t, s, i) { if (typeof i?.limits?.size == "number" && s > i.limits.size) throw new lh(m(1930, null, this.sb(t)), 7, s, i) } async canMove(t, s, i) { return this.M(t, s, "move", i) } async canCopy(t, s, i) { return this.M(t, s, "copy", i) } async M(t, s, i, n) { if (t.toString() !== s.toString()) try { const r = i === "move" ? this.qb(await this.n(t), t) : await this.m(t), o = this.qb(await this.n(s), s); await this.Q(r, t, o, s, i, n) } catch (r) { return r } return !0 } async move(t, s, i) { const n = this.qb(await this.n(t), t), r = this.qb(await this.n(s), s), o = await this.N(n, t, r, s, "move", !!i), a = await this.resolve(s, { resolveMetadata: !0 }); return this.r.fire(new Lr(t, o === "move" ? 2 : 3, a)), a } async copy(t, s, i) { const n = await this.m(t), r = this.qb(await this.n(s), s), o = await this.N(n, t, r, s, "copy", !!i), a = await this.resolve(s, { resolveMetadata: !0 }); return this.r.fire(new Lr(t, o === "copy" ? 3 : 2, a)), a } async N(t, s, i, n, r, o) { if (s.toString() === n.toString()) return r; const { exists: a, isSameResourceWithDifferentPathCase: c } = await this.Q(t, s, i, n, r, o); if (a && !c && o && await this.del(n, { recursive: !0 }), await this.U(i, this.R(i).providerExtUri.dirname(n)), r === "copy") { if (t === i && C6(t)) await t.copy(s, n, { overwrite: o }); else { const l = await this.resolve(s); l.isDirectory ? await this.P(t, l, i, n) : await this.O(t, s, i, n) } return r } else return t === i ? (await t.rename(s, n, { overwrite: o }), r) : (await this.N(t, s, i, n, "copy", o), await this.del(s, { recursive: !0 }), "copy") } async O(t, s, i, n) { if (Hn(t) && Hn(i)) return this.jb(t, s, i, n); if (Hn(t) && Vs(i)) return this.pb(t, s, i, n); if (Vs(t) && Hn(i)) return this.nb(t, s, i, n); if (Vs(t) && Vs(i)) return this.lb(t, s, i, n) } async P(t, s, i, n) { await i.mkdir(n), Array.isArray(s.children) && await Kt.settled(s.children.map(async r => { const o = this.R(i).providerExtUri.joinPath(n, r.name); return r.isDirectory ? this.P(t, await this.resolve(r.resource), i, o) : this.O(t, r.resource, i, o) })) } async Q(t, s, i, n, r, o) { let a = !1; if (t === i) { const { providerExtUri: l, isPathCaseSensitive: u } = this.R(t); if (u || (a = l.isEqual(s, n)), a && r === "copy") throw new Error(m(1931, null, this.sb(s), this.sb(n))); if (!a && l.isEqualOrParent(n, s)) throw new Error(m(1932, null, this.sb(s), this.sb(n))) } const c = await this.exists(n); if (c && !a) { if (!o) throw new Jt(m(1933, null, this.sb(s), this.sb(n)), 4); if (t === i) { const { providerExtUri: l } = this.R(t); if (l.isEqualOrParent(s, n)) throw new Error(m(1934, null, this.sb(s), this.sb(n))) } } return { exists: c, isSameResourceWithDifferentPathCase: a } } R(t) { const s = this.S(t); return { providerExtUri: s ? Se : My, isPathCaseSensitive: s } } S(t) { return !!(t.capabilities & 1024) } async createFolder(t) { const s = this.qb(await this.j(t), t); await this.U(s, t); const i = await this.resolve(t, { resolveMetadata: !0 }); return this.r.fire(new Lr(t, 0, i)), i } async U(t, s) { const i = [], { providerExtUri: n } = this.R(t); for (; !n.isEqual(s, n.dirname(s));)try { if (!((await t.stat(s)).type & Rs.Directory)) throw new Error(m(1935, null, this.sb(s))); break } catch (r) { if (ah(r) !== Q.FileNotFound) throw r; i.push(n.basename(s)), s = n.dirname(s) } for (let r = i.length - 1; r >= 0; r--) { s = n.joinPath(s, i[r]); try { await t.mkdir(s) } catch (o) { if (ah(o) !== Q.FileExists) throw o } } } async canDelete(t, s) { try { await this.W(t, s) } catch (i) { return i } return !0 } async W(t, s) { const i = this.qb(await this.j(t), t), n = !!s?.useTrash; if (n && !(i.capabilities & 4096)) throw new Error(m(1936, null, this.sb(t))); const r = s?.atomic; if (r && !(i.capabilities & 65536)) throw new Error(m(1937, null, this.sb(t))); if (n && r) throw new Error(m(1938, null, this.sb(t))); let o; try { o = await i.stat(t) } catch { } if (o) this.rb(t, o); else throw new Jt(m(1939, null, this.sb(t)), 1); if (!!!s?.recursive) { const c = await this.resolve(t); if (c.isDirectory && Array.isArray(c.children) && c.children.length > 0) throw new Error(m(1940, null, this.sb(t))) } return i } async del(t, s) { const i = await this.W(t, s); let n = s; if (nN(i) && !n?.atomic) { const c = i.enforceAtomicDelete?.(t); c && (n = { ...s, atomic: c }) } const r = !!n?.useTrash, o = !!n?.recursive, a = n?.atomic ?? !1; await i.delete(t, { recursive: o, useTrash: r, atomic: a }), this.r.fire(new Lr(t, 1)) } async cloneFile(t, s) { const i = await this.j(t), n = this.qb(await this.n(s), s); if (!(i === n && this.R(i).providerExtUri.isEqual(t, s))) return i === n && iN(i) ? i.cloneFile(t, s) : (await this.U(n, this.R(n).providerExtUri.dirname(s)), i === n && C6(i) ? this.cb.queueFor(t, () => i.copy(t, s, { overwrite: !0 }), this.R(i).providerExtUri) : this.cb.queueFor(t, () => this.O(i, t, n, s), this.R(i).providerExtUri)) } static { this.ab = 0 } createWatcher(t, s) { return this.watch(t, { ...s, correlationId: Ym.ab++ }) } watch(t, s = { recursive: !1, excludes: [] }) { const i = new ut; let n = !1, r = () => { n = !0 }; i.add(ye(() => r())), (async () => { try { const a = await this.bb(t, s); n ? Ut(a) : r = () => Ut(a) } catch (a) { this.b.error(a) } })(); const o = s.correlationId; if (typeof o == "number") { const a = i.add(new D); return i.add(this.X.event(l => { l.correlates(o) && a.fire(l) })), { onDidChange: a.event, dispose: () => i.dispose() } } return i } async bb(t, s) { const i = await this.j(t), n = ho([this.R(i).providerExtUri.getComparisonKey(t), s]); let r = this.$.get(n); return r || (r = { count: 0, disposable: i.watch(t, s) }, this.$.set(n, r)), r.count += 1, ye(() => { r && (r.count--, r.count === 0 && (Ut(r.disposable), this.$.delete(n))) }) } dispose() { super.dispose(); for (const [, t] of this.$) Ut(t.disposable); this.$.clear() } async db(t, s, i, n) { return this.cb.queueFor(s, async () => { const r = await t.open(s, { create: !0, unlock: i?.unlock ?? !1 }); try { Su(n) || rp(n) ? await this.eb(t, r, n) : await this.fb(t, r, n) } catch (o) { throw Rr(o) } finally { await t.close(r) } }, this.R(t).providerExtUri) } async eb(t, s, i) { let n = 0, r; if (rp(i)) { if (i.buffer.length > 0) { const o = O.concat(i.buffer); await this.gb(t, s, o, o.byteLength, n, 0), n += o.byteLength } if (i.ended) return; r = i.stream } else r = i; return new Promise((o, a) => { Iu(r, { onData: async c => { r.pause(); try { await this.gb(t, s, c, c.byteLength, n, 0) } catch (l) { return a(l) } n += c.byteLength, setTimeout(() => r.resume()) }, onError: c => a(c), onEnd: () => o() }) }) } async fb(t, s, i) { let n = 0, r; for (; (r = i.read()) !== null;)await this.gb(t, s, r, r.byteLength, n, 0), n += r.byteLength } async gb(t, s, i, n, r, o) { let a = 0; for (; a < n;) { const c = await t.write(s, r + a, i.buffer, o + a, n - a); a += c } } async hb(t, s, i, n) { return this.cb.queueFor(s, () => this.ib(t, s, i, n), this.R(t).providerExtUri) } async ib(t, s, i, n) { let r; n instanceof O ? r = n : Su(n) ? r = await rn(n) : rp(n) ? r = await lD(n) : r = aD(n), await t.writeFile(s, r.buffer, { create: !0, overwrite: !0, unlock: i?.unlock ?? !1, atomic: i?.atomic ?? !1 }) } async jb(t, s, i, n) { return this.cb.queueFor(n, () => this.kb(t, s, i, n), this.R(i).providerExtUri) } async kb(t, s, i, n) { let r, o; try { r = await t.open(s, { create: !1 }), o = await i.open(n, { create: !0, unlock: !1 }); const a = O.alloc(this.a); let c = 0, l = 0, u = 0; do u = await t.read(r, c, a.buffer, l, a.byteLength - l), await this.gb(i, o, a, u, c, l), c += u, l += u, l === a.byteLength && (l = 0); while (u > 0) } catch (a) { throw Rr(a) } finally { await Kt.settled([typeof r == "number" ? t.close(r) : Promise.resolve(), typeof o == "number" ? i.close(o) : Promise.resolve()]) } } async lb(t, s, i, n) { return this.cb.queueFor(n, () => this.mb(t, s, i, n), this.R(i).providerExtUri) } async mb(t, s, i, n) { return i.writeFile(n, await t.readFile(s), { create: !0, overwrite: !0, unlock: !1, atomic: !1 }) } async nb(t, s, i, n) { return this.cb.queueFor(n, () => this.ob(t, s, i, n), this.R(i).providerExtUri) } async ob(t, s, i, n) { const r = await i.open(n, { create: !0, unlock: !1 }); try { const o = await t.readFile(s); await this.gb(i, r, O.wrap(o), o.byteLength, 0, 0) } catch (o) { throw Rr(o) } finally { await i.close(r) } } async pb(t, s, i, n) { const r = await rn(this.H(t, s, Ne.None)); await this.hb(i, n, void 0, r) } qb(t, s) { if (t.capabilities & 2048) throw new Jt(m(1941, null, this.sb(s)), 6); return t } rb(t, s) { if ((s.permissions ?? 0) & Oo.Readonly) throw new Jt(m(1942, null, this.sb(t)), 6) } sb(t) { return t.scheme === Z.file ? t.fsPath : t.toString(!0) } }, Wc = Ym = __decorate([__param(0, pe)], Wc) } }); function X9(e, t) { switch (e) { case 0: return ""; case 1: return `${Gc}*?`; default: return `(?:${qc}|${Gc}+${qc}${t ? `|${qc}${Gc}+` : ""})*?` } } function Q9(e, t) { if (!e) return []; const s = []; let i = !1, n = !1, r = ""; for (const o of e) { switch (o) { case t: if (!i && !n) { s.push(r), r = ""; continue } break; case "{": i = !0; break; case "}": i = !1; break; case "[": n = !0; break; case "]": n = !1; break }r += o } return r && s.push(r), s } function Z9(e) { if (!e) return ""; let t = ""; const s = Q9(e, Zm); if (s.every(i => i === Fo)) t = ".*"; else { let i = !1; s.forEach((n, r) => { if (n === Fo) { if (i) return; t += X9(2, r === s.length - 1) } else { let o = !1, a = "", c = !1, l = ""; for (const u of n) { if (u !== "}" && o) { a += u; continue } if (c && (u !== "]" || !l)) { let h; u === "-" ? h = u : (u === "^" || u === "!") && !l ? h = "^" : u === Zm ? h = "" : h = Rn(u), l += h; continue } switch (u) { case "{": o = !0; continue; case "[": c = !0; continue; case "}": { const d = `(?:${Q9(a, ",").map(p => Z9(p)).join("|")})`; t += d, o = !1, a = ""; break } case "]": { t += "[" + l + "]", c = !1, l = ""; break } case "?": t += Gc; continue; case "*": t += X9(1); continue; default: t += Rn(u) } } r < s.length - 1 && (s[r + 1] !== Fo || r + 2 < s.length) && (t += qc) } i = n === Fo }) } return t } function Xm(e, t) { if (!e) return ci; let s; typeof e != "string" ? s = e.pattern : s = e, s = s.trim(); const i = `${s}_${!!t.trimForExclusions}`; let n = Km.get(i); if (n) return K9(n, e); let r; return n7.test(s) ? n = RO(s.substr(4), s) : (r = r7.exec(Qm(s, t))) ? n = LO(r[1], s) : (t.trimForExclusions ? a7 : o7).test(s) ? n = NO(s, t) : (r = c7.exec(Qm(s, t))) ? n = e7(r[1].substr(1), s, !0) : (r = l7.exec(Qm(s, t))) ? n = e7(r[1], s, !1) : n = OO(s), Km.set(i, n), K9(n, e) } function K9(e, t) { if (typeof t == "string") return e; const s = function (i, n) { return jn(i, t.base, !rt) ? e(AA(i.substr(t.base.length), Qt), n) : null }; return s.allBasenames = e.allBasenames, s.allPaths = e.allPaths, s.basenames = e.basenames, s.patterns = e.patterns, s } function Qm(e, t) { return t.trimForExclusions && e.endsWith("/**") ? e.substr(0, e.length - 2) : e } function RO(e, t) { return function (s, i) { return typeof s == "string" && s.endsWith(e) ? t : null } } function LO(e, t) { const s = `/${e}`, i = `\\${e}`, n = function (o, a) { return typeof o != "string" ? null : a ? a === e ? t : null : o === e || o.endsWith(s) || o.endsWith(i) ? t : null }, r = [e]; return n.basenames = r, n.patterns = [t], n.allBasenames = r, n } function NO(e, t) { const s = t7(e.slice(1, -1).split(",").map(a => Xm(a, t)).filter(a => a !== ci), e), i = s.length; if (!i) return ci; if (i === 1) return s[0]; const n = function (a, c) { for (let l = 0, u = s.length; l < u; l++)if (s[l](a, c)) return e; return null }, r = s.find(a => !!a.allBasenames); r && (n.allBasenames = r.allBasenames); const o = s.reduce((a, c) => c.allPaths ? a.concat(c.allPaths) : a, []); return o.length && (n.allPaths = o), n } function e7(e, t, s) { const i = Qt === Ae.sep, n = i ? e : e.replace(i7, Qt), r = Qt + n, o = Ae.sep + e; let a; return s ? a = function (c, l) { return typeof c == "string" && (c === n || c.endsWith(r) || !i && (c === e || c.endsWith(o))) ? t : null } : a = function (c, l) { return typeof c == "string" && (c === n || !i && c === e) ? t : null }, a.allPaths = [(s ? "*/" : "./") + e], a } function OO(e) { try { const t = new RegExp(`^${Z9(e)}$`); return function (s) { return t.lastIndex = 0, typeof s == "string" && t.test(s) ? e : null } } catch { return ci } } function CO(e, t = {}) { if (!e) return eg; if (typeof e == "string" || _O(e)) { const s = Xm(e, t); if (s === ci) return eg; const i = function (n, r) { return !!s(n, r) }; return s.allBasenames && (i.allBasenames = s.allBasenames), s.allPaths && (i.allPaths = s.allPaths), i } return jO(e, t) } function _O(e) { const t = e; return t ? typeof t.base == "string" && typeof t.pattern == "string" : !1 } function jO(e, t) { const s = t7(Object.getOwnPropertyNames(e).map(a => TO(a, e[a], t)).filter(a => a !== ci)), i = s.length; if (!i) return ci; if (!s.some(a => !!a.requiresSiblings)) { if (i === 1) return s[0]; const a = function (u, h) { let d; for (let p = 0, g = s.length; p < g; p++) { const w = s[p](u, h); if (typeof w == "string") return w; Ep(w) && (d || (d = []), d.push(w)) } return d ? (async () => { for (const p of d) { const g = await p; if (typeof g == "string") return g } return null })() : null }, c = s.find(u => !!u.allBasenames); c && (a.allBasenames = c.allBasenames); const l = s.reduce((u, h) => h.allPaths ? u.concat(h.allPaths) : u, []); return l.length && (a.allPaths = l), a } const n = function (a, c, l) { let u, h; for (let d = 0, p = s.length; d < p; d++) { const g = s[d]; g.requiresSiblings && l && (c || (c = at(a)), u || (u = c.substr(0, c.length - vr(a).length))); const w = g(a, c, u, l); if (typeof w == "string") return w; Ep(w) && (h || (h = []), h.push(w)) } return h ? (async () => { for (const d of h) { const p = await d; if (typeof p == "string") return p } return null })() : null }, r = s.find(a => !!a.allBasenames); r && (n.allBasenames = r.allBasenames); const o = s.reduce((a, c) => c.allPaths ? a.concat(c.allPaths) : a, []); return o.length && (n.allPaths = o), n } function TO(e, t, s) { if (t === !1) return ci; const i = Xm(e, s); if (i === ci) return ci; if (typeof t == "boolean") return i; if (t) { const n = t.when; if (typeof n == "string") { const r = (o, a, c, l) => { if (!l || !i(o, a)) return null; const u = n.replace("$(basename)", () => c), h = l(u); return Ep(h) ? h.then(d => d ? e : null) : h ? e : null }; return r.requiresSiblings = !0, r } } return i } function t7(e, t) { const s = e.filter(a => !!a.basenames); if (s.length < 2) return e; const i = s.reduce((a, c) => { const l = c.basenames; return l ? a.concat(l) : a }, []); let n; if (t) { n = []; for (let a = 0, c = i.length; a < c; a++)n.push(t) } else n = s.reduce((a, c) => { const l = c.patterns; return l ? a.concat(l) : a }, []); const r = function (a, c) { if (typeof a != "string") return null; if (!c) { let u; for (u = a.length; u > 0; u--) { const h = a.charCodeAt(u - 1); if (h === 47 || h === 92) break } c = a.substr(u) } const l = i.indexOf(c); return l !== -1 ? n[l] : null }; r.basenames = i, r.patterns = n, r.allBasenames = i; const o = e.filter(a => !a.basenames); return o.push(r), o } function s7(e, t) { return Dn(e, t, (s, i) => typeof s == "string" && typeof i == "string" ? s === i : typeof s != "string" && typeof i != "string" ? s.base === i.base && s.pattern === i.pattern : !1) } var Fo, Zm, qc, Gc, i7, n7, r7, o7, a7, c7, l7, Km, eg, ci, tg = v({ "out-build/vs/base/common/glob.js"() { "use strict"; Et(), Ue(), ki(), ls(), de(), X(), et(), Fo = "**", Zm = "/", qc = "[/\\\\]", Gc = "[^/\\\\]", i7 = /\//g, n7 = /^\*\*\/\*\.[\w\.-]+$/, r7 = /^\*\*\/([\w\.-]+)\/?$/, o7 = /^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/, a7 = /^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/, c7 = /^\*\*((\/[\w\.-]+)+)\/?$/, l7 = /^([\w\.-]+(\/[\w\.-]+)*)\/?$/, Km = new Fa(1e4), eg = function () { return !1 }, ci = function () { return null } } }); function u7(e) { return typeof e.correlationId == "number" } function UO(e) { return e.recursive === !0 } function h7(e) { return e.map(t => ({ type: t.type, resource: E.revive(t.resource), cId: t.cId })) } function MO(e) { const t = new m7; for (const s of e) t.processEvent(s); return t.coalesce() } function FO(e, t) { return typeof t == "string" && !t.startsWith(Fo) && !sn(t) ? { base: e, pattern: t } : t } function f7(e, t) { const s = []; for (const i of t) s.push(CO(FO(e, i))); return s } function BO(e, t) { if (typeof t == "number") switch (e.type) { case 1: return (t & 4) === 0; case 2: return (t & 8) === 0; case 0: return (t & 2) === 0 }return !1 } function HO(e) { if (typeof e == "number") { const t = []; return e & 4 && t.push("Added"), e & 8 && t.push("Deleted"), e & 2 && t.push("Updated"), t.length === 0 ? "<all>" : `[${t.join(", ")}]` } return "<none>" } var sg, d7, p7, m7, Bo = v({ "out-build/vs/platform/files/common/watcher.js"() { "use strict"; tg(), z(), de(), X(), ee(), st(), sg = class DI extends J { static { this.a = 5 } constructor(t, s, i, n) { super(), this.h = t, this.j = s, this.m = i, this.n = n, this.c = this.B(new fu), this.f = void 0, this.g = 0 } s() { const t = new ut; this.c.value = t, this.b = this.r(t), this.b.setVerboseLogging(this.m), t.add(this.b.onDidChangeFile(s => this.h(s))), t.add(this.b.onDidLogMessage(s => this.j(s))), t.add(this.b.onDidError(s => this.t(s.error, s.request))) } t(t, s) { this.u(t, s) ? this.g < DI.a && this.f ? (this.y(`restarting watcher after unexpected error: ${t}`), this.w(this.f)) : this.y(`gave up attempting to restart watcher after unexpected error: ${t}`) : this.y(t) } u(t, s) { return !(!this.n.restartOnError || s || t.indexOf("No space left on device") !== -1 || t.indexOf("EMFILE") !== -1) } w(t) { this.g++, this.s(), this.watch(t) } async watch(t) { this.f = t, await this.b?.watch(t) } async setVerboseLogging(t) { this.m = t, await this.b?.setVerboseLogging(t) } y(t) { this.j({ type: "error", message: `[File Watcher (${this.n.type})] ${t}` }) } z(t) { this.j({ type: "trace", message: `[File Watcher (${this.n.type})] ${t}` }) } dispose() { return this.b = void 0, super.dispose() } }, d7 = class extends sg { constructor(e, t, s) { super(e, t, s, { type: "node.js", restartOnError: !1 }) } }, p7 = class extends sg { constructor(e, t, s) { super(e, t, s, { type: "universal", restartOnError: !0 }) } }, m7 = class { constructor() { this.a = new Set, this.b = new Map } c(e) { return rt ? e.resource.fsPath : e.resource.fsPath.toLowerCase() } processEvent(e) { const t = this.b.get(this.c(e)); let s = !1; if (t) { const i = t.type, n = e.type; t.resource.fsPath !== e.resource.fsPath && (e.type === 2 || e.type === 1) ? s = !0 : i === 1 && n === 2 ? (this.b.delete(this.c(e)), this.a.delete(t)) : i === 2 && n === 1 ? t.type = 0 : i === 1 && n === 0 || (t.type = n) } else s = !0; s && (this.a.add(e), this.b.set(this.c(e), e)) } coalesce() { const e = [], t = []; return Array.from(this.a).filter(s => s.type !== 2 ? (e.push(s), !1) : !0).sort((s, i) => s.resource.fsPath.length - i.resource.fsPath.length).filter(s => t.some(i => rN(s.resource.fsPath, i, !rt)) ? !1 : (t.push(s.resource.fsPath), !0)).concat(e) } } } }), g7, zO = v({ "out-build/vs/platform/files/common/diskFileSystemProvider.js"() { "use strict"; Et(), Ue(), fe(), re(), ki(), z(), de(), Bo(), Re(), g7 = class extends J { constructor(e, t) { super(), this.a = e, this.b = t, this.c = this.B(new D), this.onDidChangeFile = this.c.event, this.g = this.B(new D), this.onDidWatchError = this.g.event, this.j = [], this.m = this.B(new Pr(0)), this.y = [], this.z = this.B(new Pr(0)) } watch(e, t) { return t.recursive || this.b?.watcher?.forceUniversal ? this.n(e, t) : this.C(e, t) } n(e, t) { const s = this.r(e, t), i = vb(this.j, s); return this.s(), ye(() => { i(), this.s() }) } r(e, t) { const s = { path: this.L(e), excludes: t.excludes, includes: t.includes, recursive: t.recursive, filter: t.filter, correlationId: t.correlationId }; if (UO(s)) { const i = this.b?.watcher?.recursive?.usePolling; i === !0 ? s.pollingInterval = this.b?.watcher?.recursive?.pollingInterval ?? 5e3 : Array.isArray(i) && i.includes(s.path) && (s.pollingInterval = this.b?.watcher?.recursive?.pollingInterval ?? 5e3) } return s } s() { this.m.trigger(() => this.t()).catch(e => Vt(e)) } t() { return this.h || (this.h = this.B(this.u(e => this.c.fire(h7(e)), e => this.H(e), this.a.getLevel() === F.Trace)), this.B(this.a.onDidChangeLogLevel(() => { this.h?.setVerboseLogging(this.a.getLevel() === F.Trace) }))), this.h.watch(this.j) } C(e, t) { const s = { path: this.L(e), excludes: t.excludes, includes: t.includes, recursive: !1, filter: t.filter, correlationId: t.correlationId }, i = vb(this.y, s); return this.D(), ye(() => { i(), this.D() }) } D() { this.z.trigger(() => this.F()).catch(e => Vt(e)) } F() { return this.w || (this.w = this.B(this.G(e => this.c.fire(h7(e)), e => this.H(e), this.a.getLevel() === F.Trace)), this.B(this.a.onDidChangeLogLevel(() => { this.w?.setVerboseLogging(this.a.getLevel() === F.Trace) }))), this.w.watch(this.y) } H(e) { e.type === "error" && this.g.fire(e.message), this.I(e) } I(e) { this.a[e.type](e.message) } J(e) { return si(e.fsPath) } L(e) { const t = this.J(e); return wD(t) } } } }); function je(e, t, s) { let i = null, n = null; if (typeof s.value == "function" ? (i = "value", n = s.value, n.length !== 0 && console.warn("Memoize should only be used in functions with zero parameters")) : typeof s.get == "function" && (i = "get", n = s.get), !n) throw new Error("not supported"); const r = `$memoize$${t}`; s[i] = function (...o) { return this.hasOwnProperty(r) || Object.defineProperty(this, r, { configurable: !1, enumerable: !1, writable: !1, value: n.apply(this, o) }), this[r] } } var ig = v({ "out-build/vs/base/common/decorators.js"() { "use strict" } }); function Ho(e) { switch (e) { case 100: return "req"; case 101: return "cancel"; case 102: return "subscribe"; case 103: return "unsubscribe" } } function _h(e) { switch (e) { case 200: return "init"; case 201: return "reply:"; case 202: case 203: return "replyErr:"; case 204: return "event:" } } function zo(e) { let t = 0; for (let s = 0; ; s += 7) { const i = e.read(1); if (t |= (i.buffer[0] & 127) << s, !(i.buffer[0] & 128)) return t } } function Vo(e, t) { if (t === 0) { e.write(y7); return } let s = 0; for (let n = t; n !== 0; n = n >>> 7)s++; const i = O.alloc(s); for (let n = 0; t !== 0; n++)i.buffer[n] = t & 127, t = t >>> 7, t > 0 && (i.buffer[n] |= 128); e.write(i) } function Vn(e) { const t = O.alloc(1); return t.writeUInt8(e, 0), t } function Jc(e, t) { if (typeof t > "u") e.write(Wn.Undefined); else if (typeof t == "string") { const s = O.fromString(t); e.write(Wn.String), Vo(e, s.byteLength), e.write(s) } else if (E7 && Buffer.isBuffer(t)) { const s = O.wrap(t); e.write(Wn.Buffer), Vo(e, s.byteLength), e.write(s) } else if (t instanceof O) e.write(Wn.VSBuffer), Vo(e, t.byteLength), e.write(t); else if (Array.isArray(t)) { e.write(Wn.Array), Vo(e, t.length); for (const s of t) Jc(e, s) } else if (typeof t == "number" && (t | 0) === t) e.write(Wn.Uint), Vo(e, t); else { const s = O.fromString(JSON.stringify(t)); e.write(Wn.Object), Vo(e, s.byteLength), e.write(s) } } function Wo(e) { switch (e.read(1).readUInt8(0)) { case rs.Undefined: return; case rs.String: return e.read(zo(e)).toString(); case rs.Buffer: return e.read(zo(e)).buffer; case rs.VSBuffer: return e.read(zo(e)); case rs.Array: { const s = zo(e), i = []; for (let n = 0; n < s; n++)i.push(Wo(e)); return i } case rs.Object: return JSON.parse(e.read(zo(e)).toString()); case rs.Int: return zo(e) } } function w7(e) { return { call(t, s, i) { return e.then(n => n.call(t, s, i)) }, listen(t, s) { const i = new F1; return e.then(n => i.input = n.listen(t, s)), i.event } } } function VO(e) { let t = !1; return { call(s, i, n) { return t ? e.call(s, i, n) : Sr(0).then(() => t = !0).then(() => e.call(s, i, n)) }, listen(s, i) { if (t) return e.listen(s, i); const n = new F1; return Sr(0).then(() => t = !0).then(() => n.input = e.listen(s, i)), n.event } } } var v7, b7, Cr, y7, jh, ng, rs, Wn, E7, x7, k7, Th, $7, S7, Yc, qo = v({
  224. "out-build/vs/base/parts/ipc/common/ipc.js"() {
  225. "use strict"; Et(), Ue(), Me(), Dt(), ig(), fe(), re(), lu(), z(), Co(), et(), $e(), function (e) { e[e.Promise = 100] = "Promise", e[e.PromiseCancel = 101] = "PromiseCancel", e[e.EventListen = 102] = "EventListen", e[e.EventDispose = 103] = "EventDispose" }(v7 || (v7 = {})), function (e) { e[e.Initialize = 200] = "Initialize", e[e.PromiseSuccess = 201] = "PromiseSuccess", e[e.PromiseError = 202] = "PromiseError", e[e.PromiseErrorObj = 203] = "PromiseErrorObj", e[e.EventFire = 204] = "EventFire" }(b7 || (b7 = {})), function (e) { e[e.Uninitialized = 0] = "Uninitialized", e[e.Idle = 1] = "Idle" }(Cr || (Cr = {})), y7 = Vn(0), jh = class { constructor(e) { this.b = e, this.a = 0 } read(e) { const t = this.b.slice(this.a, this.a + e); return this.a += t.byteLength, t } }, ng = class { constructor() { this.a = [] } get buffer() { return O.concat(this.a) } write(e) { this.a.push(e) } }, function (e) { e[e.Undefined = 0] = "Undefined", e[e.String = 1] = "String", e[e.Buffer = 2] = "Buffer", e[e.VSBuffer = 3] = "VSBuffer", e[e.Array = 4] = "Array", e[e.Object = 5] = "Object", e[e.Int = 6] = "Int" }(rs || (rs = {})), Wn = { Undefined: Vn(rs.Undefined), String: Vn(rs.String), Buffer: Vn(rs.Buffer), VSBuffer: Vn(rs.VSBuffer), Array: Vn(rs.Array), Object: Vn(rs.Object), Uint: Vn(rs.Int) }, E7 = typeof Buffer < "u", x7 = class {
  226. constructor(e, t, s = null, i = 1e3) { this.h = e, this.j = t, this.k = s, this.l = i, this.b = new Map, this.d = new Map, this.g = new Map, this.f = this.h.onMessage(n => this.q(n)), this.m({ type: 200 }) } registerChannel(e, t) { this.b.set(e, t), setTimeout(() => this.w(e), 0) } m(e) { switch (e.type) { case 200: { const t = this.o([e.type]); this.k?.logOutgoing(t, 0, 1, _h(e.type)); return } case 201: case 202: case 204: case 203: { const t = this.o([e.type, e.id], e.data); this.k?.logOutgoing(t, e.id, 1, _h(e.type), e.data); return } } } o(e, t = void 0) { const s = new ng; return Jc(s, e), Jc(s, t), this.p(s.buffer) } p(e) { try { return this.h.send(e), e.byteLength } catch { return 0 } } q(e) { const t = new jh(e), s = Wo(t), i = Wo(t), n = s[0]; switch (n) { case 100: return this.k?.logIncoming(e.byteLength, s[1], 1, `${Ho(n)}: ${s[2]}.${s[3]}`, i), this.s({ type: n, id: s[1], channelName: s[2], name: s[3], arg: i }); case 102: return this.k?.logIncoming(e.byteLength, s[1], 1, `${Ho(n)}: ${s[2]}.${s[3]}`, i), this.t({ type: n, id: s[1], channelName: s[2], name: s[3], arg: i }); case 101: return this.k?.logIncoming(e.byteLength, s[1], 1, `${Ho(n)}`), this.u({ type: n, id: s[1] }); case 103: return this.k?.logIncoming(e.byteLength, s[1], 1, `${Ho(n)}`), this.u({ type: n, id: s[1] }) } } s(e) {
  227. const t = this.b.get(e.channelName); if (!t) { this.v(e); return } const s = new Ei; let i; try { i = t.call(this.j, e.name, e.arg, s.token) } catch (o) { i = Promise.reject(o) } const n = e.id; i.then(o => { this.m({ id: n, data: o, type: 201 }) }, o => {
  228. o instanceof Error ? this.m({
  229. id: n, data: {
  230. message: o.message, name: o.name, stack: o.stack ? o.stack.split(`
  231. `) : void 0
  232. }, type: 202
  233. }) : this.m({ id: n, data: o, type: 203 })
  234. }).finally(() => { r.dispose(), this.d.delete(e.id) }); const r = ye(() => s.cancel()); this.d.set(e.id, r)
  235. } t(e) { const t = this.b.get(e.channelName); if (!t) { this.v(e); return } const s = e.id, n = t.listen(this.j, e.name, e.arg)(r => this.m({ id: s, data: r, type: 204 })); this.d.set(e.id, n) } u(e) { const t = this.d.get(e.id); t && (t.dispose(), this.d.delete(e.id)) } v(e) { let t = this.g.get(e.channelName); t || (t = [], this.g.set(e.channelName, t)); const s = setTimeout(() => { console.error(`Unknown channel: ${e.channelName}`), e.type === 100 && this.m({ id: e.id, data: { name: "Unknown channel", message: `Channel name '${e.channelName}' timed out after ${this.l}ms`, stack: void 0 }, type: 202 }) }, this.l); t.push({ request: e, timeoutTimer: s }) } w(e) { const t = this.g.get(e); if (t) { for (const s of t) switch (clearTimeout(s.timeoutTimer), s.request.type) { case 100: this.s(s.request); break; case 102: this.t(s.request); break }this.g.delete(e) } } dispose() { this.f && (this.f.dispose(), this.f = null), Ut(this.d.values()), this.d.clear() }
  236. }, function (e) { e[e.LocalSide = 0] = "LocalSide", e[e.OtherSide = 1] = "OtherSide" }(k7 || (k7 = {})), Th = class {
  237. constructor(e, t = null) { this.l = e, this.a = !1, this.b = Cr.Uninitialized, this.d = new Set, this.f = new Map, this.g = 0, this.k = new D, this.onDidInitialize = this.k.event, this.h = this.l.onMessage(s => this.s(s)), this.j = t } getChannel(e) { const t = this; return { call(s, i, n) { return t.a ? Promise.reject(new It) : t.m(e, s, i, n) }, listen(s, i) { return t.a ? H.None : t.o(e, s, i) } } } m(e, t, s, i = Ne.None) {
  238. const n = this.g++, o = { id: n, type: 100, channelName: e, name: t, arg: s }; if (i.isCancellationRequested) return Promise.reject(new It); let a, c; return new Promise((u, h) => {
  239. if (i.isCancellationRequested) return h(new It); const d = () => {
  240. const w = y => {
  241. switch (y.type) {
  242. case 201: this.f.delete(n), u(y.data); break; case 202: {
  243. this.f.delete(n); const x = new Error(y.data.message); x.stack = Array.isArray(y.data.stack) ? y.data.stack.join(`
  244. `) : y.data.stack, x.name = y.data.name, h(x); break
  245. } case 203: this.f.delete(n), h(y.data); break
  246. }
  247. }; this.f.set(n, w), this.p(o)
  248. }; let p = null; this.b === Cr.Idle ? d() : (p = cn(w => this.u()), p.then(() => { p = null, d() })); const g = () => { p ? (p.cancel(), p = null) : this.p({ id: n, type: 101 }), h(new It) }; a = i.onCancellationRequested(g), c = { dispose: cu(() => { g(), a.dispose() }) }, this.d.add(c)
  249. }).finally(() => { a.dispose(), this.d.delete(c) })
  250. } o(e, t, s) { const i = this.g++, r = { id: i, type: 102, channelName: e, name: t, arg: s }; let o = null; const a = new D({ onWillAddFirstListener: () => { const l = () => { this.d.add(a), this.p(r) }; this.b === Cr.Idle ? l() : (o = cn(u => this.u()), o.then(() => { o = null, l() })) }, onDidRemoveLastListener: () => { o ? (o.cancel(), o = null) : (this.d.delete(a), this.p({ id: i, type: 103 })) } }), c = l => a.fire(l.data); return this.f.set(i, c), a.event } p(e) { switch (e.type) { case 100: case 102: { const t = this.q([e.type, e.id, e.channelName, e.name], e.arg); this.j?.logOutgoing(t, e.id, 0, `${Ho(e.type)}: ${e.channelName}.${e.name}`, e.arg); return } case 101: case 103: { const t = this.q([e.type, e.id]); this.j?.logOutgoing(t, e.id, 0, Ho(e.type)); return } } } q(e, t = void 0) { const s = new ng; return Jc(s, e), Jc(s, t), this.r(s.buffer) } r(e) { try { return this.l.send(e), e.byteLength } catch { return 0 } } s(e) { const t = new jh(e), s = Wo(t), i = Wo(t), n = s[0]; switch (n) { case 200: return this.j?.logIncoming(e.byteLength, 0, 0, _h(n)), this.t({ type: s[0] }); case 201: case 202: case 204: case 203: return this.j?.logIncoming(e.byteLength, s[1], 0, _h(n), i), this.t({ type: s[0], id: s[1], data: i }) } } t(e) { if (e.type === 200) { this.b = Cr.Idle, this.k.fire(); return } this.f.get(e.id)?.(e) } get onDidInitializePromise() { return H.toPromise(this.onDidInitialize) } u() { return this.b === Cr.Idle ? Promise.resolve() : this.onDidInitializePromise } dispose() { this.a = !0, this.h && (this.h.dispose(), this.h = null), Ut(this.d.values()), this.d.clear() }
  251. }, __decorate([je], Th.prototype, "onDidInitializePromise", null), $7 = class { get connections() { const e = []; return this.f.forEach(t => e.push(t)), e } constructor(e, t, s) { this.a = new Map, this.f = new Set, this.g = new D, this.onDidAddConnection = this.g.event, this.h = new D, this.onDidRemoveConnection = this.h.event, this.j = new ut, this.j.add(e(({ protocol: i, onDidClientDisconnect: n }) => { const r = H.once(i.onMessage); this.j.add(r(o => { const a = new jh(o), c = Wo(a), l = new x7(i, c, t, s), u = new Th(i, t); this.a.forEach((d, p) => l.registerChannel(p, d)); const h = { channelServer: l, channelClient: u, ctx: c }; this.f.add(h), this.g.fire(h), this.j.add(n(() => { l.dispose(), u.dispose(), this.f.delete(h), this.h.fire(h) })) })) })) } getChannel(e, t) { const s = this; return { call(i, n, r) { let o; if (ip(t)) { const c = gA(s.connections.filter(t)); o = c ? Promise.resolve(c) : H.toPromise(H.filter(s.onDidAddConnection, t)) } else o = t.routeCall(s, i, n); const a = o.then(c => c.channelClient.getChannel(e)); return w7(a).call(i, n, r) }, listen(i, n) { if (ip(t)) return s.k(e, t, i, n); const r = t.routeEvent(s, i, n).then(o => o.channelClient.getChannel(e)); return w7(r).listen(i, n) } } } k(e, t, s, i) { const n = this; let r; const o = new D({ onWillAddFirstListener: () => { r = new ut; const a = new Vb, c = new Map, l = h => { const p = h.channelClient.getChannel(e).listen(s, i), g = a.add(p); c.set(h, g) }, u = h => { const d = c.get(h); d && (d.dispose(), c.delete(h)) }; n.connections.filter(t).forEach(l), H.filter(n.onDidAddConnection, t)(l, void 0, r), n.onDidRemoveConnection(u, void 0, r), a.event(o.fire, o, r), r.add(a) }, onDidRemoveLastListener: () => { r?.dispose(), r = void 0 } }); return n.j.add(o), o.event } registerChannel(e, t) { this.a.set(e, t); for (const s of this.f) s.channelServer.registerChannel(e, t) } dispose() { this.j.dispose(); for (const e of this.f) e.channelClient.dispose(), e.channelServer.dispose(); this.f.clear(), this.a.clear(), this.g.dispose(), this.h.dispose() } }, S7 = class { constructor(e) { this.a = e } routeCall(e) { return this.b(e) } routeEvent(e) { return this.b(e) } async b(e) { for (const t of e.connections) if (await Promise.resolve(this.a(t.ctx))) return Promise.resolve(t); return await H.toPromise(e.onDidAddConnection), await this.b(e) } }, function (e) { function t(r, o, a) { const c = r, l = a && a.disableMarshalling, u = new Map; for (const h in c) i(h) && u.set(h, H.buffer(c[h], !0, void 0, o)); return new class { listen(h, d, p) { const g = u.get(d); if (g) return g; const w = c[d]; if (typeof w == "function") { if (n(d)) return w.call(c, p); if (i(d)) return u.set(d, H.buffer(c[d], !0, void 0, o)), u.get(d) } throw new Xi(`Event not found: ${d}`) } call(h, d, p) { const g = c[d]; if (typeof g == "function") { if (!l && Array.isArray(p)) for (let y = 0; y < p.length; y++)p[y] = Ws(p[y]); let w = g.apply(c, p); return w instanceof Promise || (w = Promise.resolve(w)), w } throw new Xi(`Method not found: ${d}`) } } } e.fromService = t; function s(r, o) { const a = o && o.disableMarshalling; return new Proxy({}, { get(c, l) { if (typeof l == "string") return o?.properties?.has(l) ? o.properties.get(l) : n(l) ? function (u) { return r.listen(l, u) } : i(l) ? r.listen(l) : async function (...u) { let h; o && !xt(o.context) ? h = [o.context, ...u] : h = u; const d = await r.call(l, h); return a ? d : Ws(d) }; throw new Xi(`Property not found: ${String(l)}`) } }) } e.toService = s; function i(r) { return r[0] === "o" && r[1] === "n" && Jb(r.charCodeAt(2)) } function n(r) { return /^onDynamic/.test(r) && Jb(r.charCodeAt(9)) } }(Yc || (Yc = {}))
  252. }
  253. }); function WO(e) { const t = e; return t && typeof t.type == "string" && typeof t.severity == "string" } function qO(e) { const t = []; let s; try { const i = JSON.parse(e.arguments), n = i[i.length - 1]; n && n.__$stack && (i.pop(), s = n.__$stack), t.push(...i) } catch { t.push("Unable to log remote console arguments", e.arguments) } return { args: t, stack: s } } function GO(e) {
  254. if (!e) return e; const t = e.indexOf(`
  255. `); return t === -1 ? e : e.substring(0, t)
  256. } function JO(e, t) { const { args: s, stack: i } = qO(e), n = typeof s[0] == "string" && s.length === 1; let r = GO(i); r && (r = `(${r.trim()})`); let o = []; if (typeof s[0] == "string" ? r && n ? o = [`%c[${t}] %c${s[0]} %c${r}`, Go("blue"), Go(""), Go("grey")] : o = [`%c[${t}] %c${s[0]}`, Go("blue"), Go(""), ...s.slice(1)] : o = [`%c[${t}]%`, Go("blue"), ...s], r && !n && o.push(r), typeof console[e.severity] != "function") throw new Error("Unknown console method"); console[e.severity].apply(console, o) } function Go(e) { return `color: ${e}` } var YO = v({ "out-build/vs/base/common/console.js"() { "use strict"; ee() } }); import { fork as XO } from "child_process"; var rg, P7 = v({ "out-build/vs/base/parts/ipc/node/ipc.cp.js"() { "use strict"; Ue(), Me(), Dt(), YO(), fe(), re(), z(), es(), $5(), qu(), qo(), rg = class { constructor(e, t) { this.i = e, this.j = t, this.c = new Set, this.g = new Map, this.h = new D, this.onDidProcessExit = this.h.event; const s = t && t.timeout ? t.timeout : 6e4; this.b = new xp(s), this.d = null, this.f = null } getChannel(e) { const t = this; return { call(s, i, n) { return t.k(e, s, i, n) }, listen(s, i) { return t.l(e, s, i) } } } k(e, t, s, i = Ne.None) { if (!this.b) return Promise.reject(new Error("disposed")); if (i.isCancellationRequested) return Promise.reject(zv()); this.b.cancel(); const n = this.n(e), r = cn(c => n.call(t, s, c)), o = i.onCancellationRequested(() => r.cancel()), a = ye(() => r.cancel()); return this.c.add(a), r.finally(() => { o.dispose(), this.c.delete(a), this.c.size === 0 && this.b && this.b.trigger(() => this.o()) }), r } l(e, t, s) { if (!this.b) return H.None; this.b.cancel(); let i; const n = new D({ onWillAddFirstListener: () => { i = this.n(e).listen(t, s)(n.fire, n), this.c.add(i) }, onDidRemoveLastListener: () => { this.c.delete(i), i.dispose(), this.c.size === 0 && this.b && this.b.trigger(() => this.o()) } }); return n.event } get m() { if (!this.f) { const e = this.j && this.j.args ? this.j.args : [], t = Object.create(null); t.env = { ...ln(process.env), VSCODE_PARENT_PID: String(process.pid) }, this.j && this.j.env && (t.env = { ...t.env, ...this.j.env }), this.j && this.j.freshExecArgv && (t.execArgv = []), this.j && typeof this.j.debug == "number" && (t.execArgv = ["--nolazy", "--inspect=" + this.j.debug]), this.j && typeof this.j.debugBrk == "number" && (t.execArgv = ["--nolazy", "--inspect-brk=" + this.j.debugBrk]), t.execArgv === void 0 && (t.execArgv = process.execArgv.filter(u => !/^--inspect(-brk)?=/.test(u)).filter(u => !u.startsWith("--vscode-"))), b5(t.env), this.d = XO(this.i, e, t); const s = new D, n = H.fromNodeEventEmitter(this.d, "message", u => u)(u => { if (WO(u)) { JO(u, `IPC Library: ${this.j.serverName}`); return } s.fire(O.wrap(Buffer.from(u, "base64"))) }), r = this.j.useQueue ? DR(this.d) : this.d, o = u => this.d && this.d.connected && r.send(u.buffer.toString("base64")), a = s.event, c = { send: o, onMessage: a }; this.f = new Th(c); const l = () => this.o(); process.once("exit", l), this.d.on("error", u => console.warn('IPC "' + this.j.serverName + '" errored with ' + u)), this.d.on("exit", (u, h) => { process.removeListener("exit", l), n.dispose(), this.c.forEach(d => Ut(d)), this.c.clear(), u !== 0 && h !== "SIGTERM" && console.warn('IPC "' + this.j.serverName + '" crashed with exit code ' + u + " and signal " + h), this.b?.cancel(), this.o(), this.h.fire({ code: u, signal: h }) }) } return this.f } n(e) { let t = this.g.get(e); return t || (t = this.m.getChannel(e), this.g.set(e, t)), t } o() { this.f && (this.d && (this.d.kill(), this.d = null), this.f = null, this.g.clear()) } dispose() { this.h.dispose(), this.b?.cancel(), this.b = void 0, this.o(), this.c.clear() } } } }), I7, QO = v({ "out-build/vs/platform/files/node/watcher/watcherClient.js"() { "use strict"; De(), qo(), P7(), Bo(), I7 = class extends p7 { constructor(e, t, s) { super(e, t, s), this.s() } r(e) { const t = e.add(new rg(_t.asFileUri("bootstrap-fork").fsPath, { serverName: "File Watcher", args: ["--type=fileWatcher"], env: { VSCODE_ESM_ENTRYPOINT: "vs/platform/files/node/watcher/watcherMain", VSCODE_PIPE_LOGGING: "true", VSCODE_VERBOSE_LOGGING: "true" } })); return e.add(t.onDidProcessExit(({ code: s, signal: i }) => this.t(`terminated by itself with code ${s}, signal: ${i} (ETERM)`))), Yc.toService(VO(t.getChannel("watcher"))) } } } }); import { watchFile as ZO, unwatchFile as KO } from "fs"; var A7, eC = v({ "out-build/vs/platform/files/node/watcher/baseWatcher.js"() { "use strict"; z(), Bo(), re(), ee(), Ue(), Ya(), fe(), A7 = class extends J { constructor() { super(), this.a = this.B(new D), this.onDidChangeFile = this.a.event, this.b = this.B(new D), this.onDidLogMessage = this.b.event, this.c = this.B(new D), this.f = this.c.event, this.g = new Map, this.h = new Map, this.j = this.B(new du), this.m = new Set, this.n = this.B(new Pr(this.y())), this.r = 5007, this.s = new _u, this.R = !1, this.B(this.f(e => this.z({ id: this.u(e), correlationId: this.t(e) ? e.correlationId : void 0, path: e.path }))) } t(e) { return u7(e) } u(e) { return this.t(e) ? e.correlationId : ho(e) } async watch(e) { this.s.isSettled || this.s.complete(), this.s = new _u; try { this.g.clear(), this.h.clear(); for (const t of e) this.t(t) ? this.g.set(t.correlationId, t) : this.h.set(this.u(t), t); for (const [t] of this.j) !this.h.has(t) && !this.g.has(t) && (this.j.deleteAndDispose(t), this.m.delete(t)); return await this.w(!1) } finally { this.s.complete() } } w(e) { const t = []; for (const [s, i] of [...this.h, ...this.g]) this.j.has(s) || t.push(i); return this.n.trigger(() => this.N(t), e ? this.y() : 0).catch(s => Vt(s)) } y() { return 800 } isSuspended(e) { const t = this.u(e); return this.m.has(t) ? "polling" : this.j.has(t) } async z(e) { if (this.j.has(e.id)) return; const t = new ut; this.j.set(e.id, t), await this.s.p, !t.isDisposed && (this.D(e, t), this.w(!0)) } C(e) { this.j.deleteAndDispose(e.id), this.m.delete(e.id), this.w(!1) } D(e, t) { this.F(e, t) ? (this.P(`reusing an existing recursive watcher to monitor ${e.path}`), this.m.delete(e.id)) : (this.G(e, t), this.m.add(e.id)) } F(e, t) { const s = this.O?.subscribe(e.path, (i, n) => { t.isDisposed || (i ? this.D(e, t) : n?.type === 1 && this.H(e)) }); return s ? (t.add(s), !0) : !1 } G(e, t) { let s = !1; const i = (n, r) => { if (t.isDisposed) return; const o = this.I(n), a = this.I(r), c = s; s = o, !o && (a || c) && this.H(e) }; this.P(`starting fs.watchFile() on ${e.path} (correlationId: ${e.correlationId})`); try { ZO(e.path, { persistent: !1, interval: this.r }, i) } catch (n) { this.Q(`fs.watchFile() failed with error ${n} on path ${e.path} (correlationId: ${e.correlationId})`) } t.add(ye(() => { this.P(`stopping fs.watchFile() on ${e.path} (correlationId: ${e.correlationId})`); try { KO(e.path, i) } catch (n) { this.Q(`fs.unwatchFile() failed with error ${n} on path ${e.path} (correlationId: ${e.correlationId})`) } })) } H(e) { this.P(`detected ${e.path} exists again, resuming watcher (correlationId: ${e.correlationId})`); const t = { resource: E.file(e.path), type: 1, cId: e.correlationId }; this.a.fire([t]), this.J(t, e), this.C(e) } I(e) { return e.ctimeMs === 0 && e.ino === 0 } async stop() { this.j.clearAndDisposeAll(), this.m.clear() } J(e, t) { if (this.R) { const s = ` >> normalized ${e.type === 1 ? "[ADDED]" : e.type === 2 ? "[DELETED]" : "[CHANGED]"} ${e.resource.fsPath}`; this.L(s, t) } } L(e, t) { this.R && this.P(`${e}${typeof t.correlationId == "number" ? ` <${t.correlationId}> ` : ""}`) } M(e) { return `${e.path} (excludes: ${e.excludes.length > 0 ? e.excludes : "<none>"}, includes: ${e.includes && e.includes.length > 0 ? JSON.stringify(e.includes) : "<all>"}, filter: ${HO(e.filter)}, correlationId: ${typeof e.correlationId == "number" ? e.correlationId : "<none>"})` } async setVerboseLogging(e) { this.R = e } } } }); import "fs"; async function og(e, t) { if (rt) return e; const s = Ct(e); if (e === s) return e; const i = (at(e) || e).toLowerCase(); try { if (t?.isCancellationRequested) return null; const r = (await Pe.readdir(s)).filter(o => o.toLowerCase() === i); if (r.length === 1) { const o = await og(s, t); if (o) return _(o, r[0]) } else if (r.length > 1) { const o = r.indexOf(i); if (o >= 0) { const a = await og(s, t); if (a) return _(a, r[o]) } } } catch { } return null } var tC = v({ "out-build/vs/base/node/extpath.js"() { "use strict"; de(), X(), et(), ss() } }); import { watch as sC, promises as iC } from "fs"; var D7, nC = v({ "out-build/vs/platform/files/node/watcher/nodejs/nodejsWatcherLib.js"() { "use strict"; Ue(), Dt(), ki(), z(), a5(), de(), X(), kt(), ee(), tC(), ss(), Bo(), D7 = class p1 extends J { static { this.a = 100 } static { this.b = 75 } get isReusingRecursiveWatcher() { return this.n } get failed() { return this.r } constructor(t, s, i, n, r, o) { super(), this.s = t, this.t = s, this.u = i, this.w = n, this.y = r, this.z = o, this.c = this.B(new k4({ maxWorkChunkSize: 100, throttleDelay: 200, maxBufferedWork: 1e4 }, a => this.u(a))), this.f = this.B(new x4(a => this.M(a), p1.b)), this.g = f7(this.s.path, this.s.excludes), this.h = this.s.includes ? f7(this.s.path, this.s.includes) : void 0, this.j = u7(this.s) ? this.s.filter : void 0, this.m = new Ei, this.ready = this.C(), this.n = !1, this.r = !1 } async C() { try { const t = await this.F(this.s); if (this.m.token.isCancellationRequested) return; const s = await iC.stat(t); if (this.m.token.isCancellationRequested) return; this.B(await this.G(t, s.isDirectory())) } catch (t) { t.code !== "ENOENT" ? this.O(t) : this.Q(`ignoring a path for watching who's stat info failed to resolve: ${this.s.path} (error: ${t})`), this.D() } } D() { this.r = !0, this.w?.() } async F(t) { let s = t.path; try { s = await Pe.realpath(t.path), t.path === s && (s = await og(t.path, this.m.token) ?? t.path), t.path !== s && this.Q(`correcting a path to watch that seems to be a symbolic link or wrong casing (original: ${t.path}, real: ${s})`) } catch { } return s } async G(t, s) { const i = new ut; return this.H(t, s, i) ? (this.Q(`reusing an existing recursive watcher for ${this.s.path}`), this.n = !0) : (this.n = !1, await this.I(t, s, i)), i } H(t, s, i) { if (s) return !1; const n = E.file(this.s.path), r = this.t?.subscribe(this.s.path, async (o, a) => { if (!i.isDisposed) if (o) { const c = await this.G(t, s); i.isDisposed ? c.dispose() : i.add(c) } else a && (typeof a.cId == "number" || typeof this.s.correlationId == "number") && this.L({ resource: n, type: a.type, cId: this.s.correlationId }, !0) }); return r ? (i.add(r), !0) : !1 } async I(t, s, i) { if (_s && jn(t, "/Volumes/", !0)) { this.O(`Refusing to watch ${t} for changes using fs.watch() for possibly being a network share where watching is unreliable and unstable.`); return } const n = new Ei(this.m.token); i.add(ye(() => n.dispose(!0))); const r = new ut; i.add(r); try { const o = E.file(this.s.path), a = at(t), c = sC(t); r.add(ye(() => { c.removeAllListeners(), c.close() })), this.Q(`Started watching: '${t}'`); const l = new Set; if (s) try { for (const h of await Pe.readdir(t)) l.add(h) } catch (h) { this.O(h) } if (n.token.isCancellationRequested) return; const u = new Map; r.add(ye(() => { for (const [, h] of u) h.dispose(); u.clear() })), c.on("error", (h, d) => { n.token.isCancellationRequested || (this.O(`Failed to watch ${t} for changes using fs.watch() (${h}, ${d})`), this.D()) }), c.on("change", (h, d) => { if (n.token.isCancellationRequested) return; this.z && this.R(`[raw] ["${h}"] ${d}`); let p = ""; if (d && (p = d.toString(), _s && (p = Vp(p))), !(!p || h !== "change" && h !== "rename")) if (s) if (h === "rename") { u.get(p)?.dispose(); const g = setTimeout(async () => { if (u.delete(p), p === a && !await Pe.exists(t)) { this.J(o); return } if (n.token.isCancellationRequested) return; const w = await this.N(_(t, p)); if (n.token.isCancellationRequested) return; let y; w ? l.has(p) ? y = 0 : (y = 1, l.add(p)) : (l.delete(p), y = 2), this.L({ resource: ne(o, p), type: y, cId: this.s.correlationId }) }, p1.a); u.set(p, ye(() => clearTimeout(g))) } else { let g; l.has(p) ? g = 0 : (g = 1, l.add(p)), this.L({ resource: ne(o, p), type: g, cId: this.s.correlationId }) } else if (h === "rename" || p !== a) { const g = setTimeout(async () => { const w = await Pe.exists(t); n.token.isCancellationRequested || (w ? (this.L({ resource: o, type: 0, cId: this.s.correlationId }, !0), r.add(await this.G(t, !1))) : this.J(o)) }, p1.a); r.clear(), r.add(ye(() => clearTimeout(g))) } else this.L({ resource: o, type: 0, cId: this.s.correlationId }, !0) }) } catch (o) { n.token.isCancellationRequested || this.O(`Failed to watch ${t} for changes using fs.watch() (${o.toString()})`), this.D() } } J(t) { this.P("Watcher shutdown because watched path got deleted"), this.L({ resource: t, type: 2, cId: this.s.correlationId }, !0), this.f.flush(), this.D() } L(t, s = !1) { this.m.token.isCancellationRequested || (this.z && this.R(`${t.type === 1 ? "[ADDED]" : t.type === 2 ? "[DELETED]" : "[CHANGED]"} ${t.resource.fsPath}`), !s && this.g.some(i => i(t.resource.fsPath)) ? this.z && this.R(` >> ignored (excluded) ${t.resource.fsPath}`) : !s && this.h && this.h.length > 0 && !this.h.some(i => i(t.resource.fsPath)) ? this.z && this.R(` >> ignored (not included) ${t.resource.fsPath}`) : this.f.work(t)) } M(t) { const s = MO(t), i = []; for (const r of s) { if (BO(r, this.j)) { this.z && this.R(` >> ignored (filtered) ${r.resource.fsPath}`); continue } i.push(r) } if (i.length === 0) return; if (this.z) for (const r of i) this.R(` >> normalized ${r.type === 1 ? "[ADDED]" : r.type === 2 ? "[DELETED]" : "[CHANGED]"} ${r.resource.fsPath}`); this.c.work(i) ? this.c.pending > 0 && this.Q(`started throttling events due to large amount of file change events at once (pending: ${this.c.pending}, most recent change: ${i[0].resource.fsPath}). Use 'files.watcherExclude' setting to exclude folders with lots of changing files (e.g. compilation output).`) : this.P(`started ignoring events due to too many file change events at once (incoming: ${i.length}, most recent change: ${i[0].resource.fsPath}). Use 'files.watcherExclude' setting to exclude folders with lots of changing files (e.g. compilation output).`) } async N(t) { if (rt) return Pe.exists(t); try { const s = at(t); return (await Pe.readdir(Ct(t))).some(n => n === s) } catch (s) { return this.Q(s), !1 } } setVerboseLogging(t) { this.z = t } O(t) { this.m.token.isCancellationRequested || this.y?.({ type: "error", message: `[File Watcher (node.js)] ${t}` }) } P(t) { this.m.token.isCancellationRequested || this.y?.({ type: "warn", message: `[File Watcher (node.js)] ${t}` }) } Q(t) { !this.m.token.isCancellationRequested && this.z && this.y?.({ type: "trace", message: `[File Watcher (node.js)] ${t}` }) } R(t) { !this.m.token.isCancellationRequested && this.z && this.Q(`${t}${typeof this.s.correlationId == "number" ? ` <${this.s.correlationId}> ` : ""}`) } dispose() { this.m.dispose(!0), super.dispose() } } } }), R7, rC = v({ "out-build/vs/platform/files/node/watcher/nodejs/nodejsWatcher.js"() { "use strict"; re(), tg(), eC(), X(), nC(), ki(), R7 = class extends A7 { constructor(e) { super(), this.O = e, this.onDidError = H.None, this.watchers = new Set } async N(e) { e = this.Z(e); const t = [], s = new Set(Array.from(this.watchers)); for (const i of e) { const n = this.W(i); n && s7(n.request.excludes, i.excludes) && s7(n.request.includes, i.includes) ? s.delete(n) : t.push(i) } t.length && this.P(`Request to start watching: ${t.map(i => this.M(i)).join(",")}`), s.size && this.P(`Request to stop watching: ${Array.from(s).map(i => this.M(i.request)).join(",")}`); for (const i of s) this.Y(i); for (const i of t) this.X(i) } W(e) { for (const t of this.watchers) if (typeof e.correlationId == "number" || typeof t.request.correlationId == "number") { if (t.request.correlationId === e.correlationId) return t } else if (hp(t.request.path, e.path, !rt)) return t } X(e) { const t = new D7(e, this.O, i => this.a.fire(i), () => this.c.fire(e), i => this.b.fire(i), this.R), s = { request: e, instance: t }; this.watchers.add(s) } async stop() { await super.stop(); for (const e of this.watchers) this.Y(e) } Y(e) { this.P("stopping file watcher", e), this.watchers.delete(e), e.instance.dispose() } Z(e) { const t = new Map; for (const s of e) { const i = rt ? s.path : s.path.toLowerCase(); let n = t.get(s.correlationId); n || (n = new Map, t.set(s.correlationId, n)), n.has(i) && this.P(`ignoring a request for watching who's path is already watched: ${this.M(s)}`), n.set(i, s) } return Array.from(t.values()).map(s => Array.from(s.values())).flat() } async setVerboseLogging(e) { super.setVerboseLogging(e); for (const t of this.watchers) t.instance.setVerboseLogging(e) } P(e, t) { this.R && this.b.fire({ type: "trace", message: this.bb(e, t) }) } Q(e) { this.b.fire({ type: "warn", message: this.bb(e) }) } bb(e, t) { return t ? `[File Watcher (node.js)] ${e} (${this.M(t.request)})` : `[File Watcher (node.js)] ${e}` } } } }), L7, oC = v({ "out-build/vs/platform/files/node/watcher/nodejs/nodejsClient.js"() { "use strict"; Bo(), rC(), L7 = class extends d7 { constructor(e, t, s) { super(e, t, s), this.s() } r(e) { return e.add(new R7(void 0)) } } } }); import { promises as _r } from "fs"; var Xc, Uh = v({ "out-build/vs/platform/files/node/diskFileSystemProvider.js"() { "use strict"; Ue(), ls(), Me(), re(), ki(), z(), de(), X(), kt(), qa(), ss(), he(), st(), J9(), zO(), QO(), oC(), Xc = class Zl extends g7 { static { this.M = !1 } constructor(t, s) { super(t, s), this.onDidChangeCapabilities = H.None, this.Q = new At(i => Au.getComparisonKey(i)), this.Y = new Map, this.Z = new Map, this.$ = new Map } get capabilities() { return this.N || (this.N = 253982, rt && (this.N |= 1024)), this.N } async stat(t) { try { const { stat: s, symbolicLink: i } = await ms.stat(this.J(t)); return { type: this.P(s, i), ctime: s.birthtime.getTime(), mtime: s.mtime.getTime(), size: s.size, permissions: s.mode & 128 ? void 0 : Oo.Locked } } catch (s) { throw this.ib(s) } } async O(t) { try { return await this.stat(t) } catch { return } } async readdir(t) { try { const s = await Pe.readdir(this.J(t), { withFileTypes: !0 }), i = []; return await Promise.all(s.map(async n => { try { let r; n.isSymbolicLink() ? r = (await this.stat(ne(t, n.name))).type : r = this.P(n), i.push([n.name, r]) } catch (r) { this.a.trace(r) } })), i } catch (s) { throw this.ib(s) } } P(t, s) { let i; return s?.dangling ? i = Rs.Unknown : t.isFile() ? i = Rs.File : t.isDirectory() ? i = Rs.Directory : i = Rs.Unknown, s && (i |= Rs.SymbolicLink), i } async R(t) { const s = this.J(t); this.S(`[Disk FileSystemProvider]: createResourceLock() - request to acquire resource lock (${s})`); let i; for (; i = this.Q.get(t);)this.S(`[Disk FileSystemProvider]: createResourceLock() - waiting for resource lock to be released (${s})`), await i.wait(); const n = new kp; return this.Q.set(t, n), this.S(`[Disk FileSystemProvider]: createResourceLock() - new resource lock created (${s})`), ye(() => { this.S(`[Disk FileSystemProvider]: createResourceLock() - resource lock dispose() (${s})`), this.Q.get(t) === n && (this.S(`[Disk FileSystemProvider]: createResourceLock() - resource lock removed from resource-lock map (${s})`), this.Q.delete(t)), this.S(`[Disk FileSystemProvider]: createResourceLock() - resource lock barrier open() (${s})`), n.open() }) } async readFile(t, s) { let i; try { s?.atomic && (this.S(`[Disk FileSystemProvider]: atomic read operation started (${this.J(t)})`), i = await this.R(t)); const n = this.J(t); return await _r.readFile(n) } catch (n) { throw this.ib(n) } finally { i?.dispose() } } S(t) { Zl.M && this.a.trace(t) } readFileStream(t, s, i) { const n = Pu(r => O.concat(r.map(o => O.wrap(o))).buffer); return G9(this, t, n, r => r.buffer, { ...s, bufferSize: 256 * 1024 }, i), n } async writeFile(t, s, i) { return i?.atomic !== !1 && i?.atomic?.postfix && await this.U(t) ? this.W(t, ne(By(t), `${Tn(t)}${i.atomic.postfix}`), s, i) : this.X(t, s, i) } async U(t) { try { const s = this.J(t), { symbolicLink: i } = await ms.stat(s); if (i) return !1 } catch { } return !0 } async W(t, s, i, n) { const r = new ut; try { r.add(await this.R(t)), r.add(await this.R(s)), await this.X(s, i, n, !0); try { await this.rename(s, t, { overwrite: !0 }) } catch (o) { try { await this.delete(s, { recursive: !1, useTrash: !1, atomic: !1 }) } catch { } throw o } } finally { r.dispose() } } async X(t, s, i, n) { let r; try { const o = this.J(t); if (!i.create || !i.overwrite) { if (await Pe.exists(o)) { if (!i.overwrite) throw gn(m(1946, null), Q.FileExists) } else if (!i.create) throw gn(m(1947, null), Q.FileNotFound) } r = await this.open(t, { create: !0, unlock: i.unlock }, n), await this.write(r, 0, s, 0, s.byteLength) } catch (o) { throw await this.jb(t, o) } finally { typeof r == "number" && await this.close(r) } } static { this.ab = !0 } static configureFlushOnWrite(t) { Zl.ab = t } async open(t, s, i) { const n = this.J(t); let r; No(s) && !i && (r = await this.R(t)); let o; try { if (No(s) && s.unlock) try { const { stat: a } = await ms.stat(n); a.mode & 128 || await _r.chmod(n, a.mode | 128) } catch (a) { a.code !== "ENOENT" && this.a.trace(a) } if (me && No(s)) try { o = await Pe.open(n, "r+"), await Pe.ftruncate(o, 0) } catch (a) { if (a.code !== "ENOENT" && this.a.trace(a), typeof o == "number") { try { await Pe.close(o) } catch (c) { this.a.trace(c) } o = void 0 } } typeof o != "number" && (o = await Pe.open(n, No(s) ? "w" : "r")) } catch (a) { throw r?.dispose(), No(s) ? await this.jb(t, a) : this.ib(a) } if (this.Y.set(o, 0), No(s) && this.$.set(o, t), r) { const a = this.Z.get(o); this.S(`[Disk FileSystemProvider]: open() - storing lock for handle ${o} (${n})`), this.Z.set(o, r), a && (this.S(`[Disk FileSystemProvider]: open() - disposing a previous lock that was still stored on same handle ${o} (${n})`), a.dispose()) } return o } async close(t) { const s = this.Z.get(t); try { if (this.Y.delete(t), this.$.delete(t) && Zl.ab) try { await Pe.fdatasync(t) } catch (i) { Zl.configureFlushOnWrite(!1), this.a.error(i) } return await Pe.close(t) } catch (i) { throw this.ib(i) } finally { s && (this.Z.get(t) === s && (this.S(`[Disk FileSystemProvider]: close() - resource lock removed from handle-lock map ${t}`), this.Z.delete(t)), this.S(`[Disk FileSystemProvider]: close() - disposing lock for handle ${t}`), s.dispose()) } } async read(t, s, i, n, r) { const o = this.bb(t, s); let a = null; try { a = (await Pe.read(t, i, n, r, o)).bytesRead } catch (c) { throw this.ib(c) } finally { this.cb(t, o, a) } return a } bb(t, s) { return s === this.Y.get(t) ? null : s } cb(t, s, i) { const n = this.Y.get(t); typeof n == "number" && (typeof s == "number" || (typeof i == "number" ? this.Y.set(t, n + i) : this.Y.delete(t))) } async write(t, s, i, n, r) { return OD(() => this.db(t, s, i, n, r), 100, 3) } async db(t, s, i, n, r) { const o = this.bb(t, s); let a = null; try { a = (await Pe.write(t, i, n, r, o)).bytesWritten } catch (c) { throw await this.jb(this.$.get(t), c) } finally { this.cb(t, o, a) } return a } async mkdir(t) { try { await _r.mkdir(this.J(t)) } catch (s) { throw this.ib(s) } } async delete(t, s) { try { const i = this.J(t); if (s.recursive) { let n; s?.atomic !== !1 && s.atomic.postfix && (n = _(Ct(i), `${at(i)}${s.atomic.postfix}`)), await Pe.rm(i, Ao.MOVE, n) } else try { await _r.unlink(i) } catch (n) { if (n.code === "EPERM" || n.code === "EISDIR") { let r = !1; try { const { stat: o, symbolicLink: a } = await ms.stat(i); r = o.isDirectory() && !a } catch { } if (r) await _r.rmdir(i); else throw n } else throw n } } catch (i) { throw this.ib(i) } } async rename(t, s, i) { const n = this.J(t), r = this.J(s); if (n !== r) try { await this.eb(t, s, "move", i.overwrite), await Pe.rename(n, r) } catch (o) { throw (o.code === "EINVAL" || o.code === "EBUSY" || o.code === "ENAMETOOLONG") && (o = new Error(m(1948, null, at(n), at(Ct(r)), o.toString()))), this.ib(o) } } async copy(t, s, i) { const n = this.J(t), r = this.J(s); if (n !== r) try { await this.eb(t, s, "copy", i.overwrite), await Pe.copy(n, r, { preserveSymlinks: !0 }) } catch (o) { throw (o.code === "EINVAL" || o.code === "EBUSY" || o.code === "ENAMETOOLONG") && (o = new Error(m(1949, null, at(n), at(Ct(r)), o.toString()))), this.ib(o) } } async eb(t, s, i, n) { const r = this.J(t), o = this.J(s); let a = !1; if (!!(this.capabilities & 1024) || (a = hp(r, o, !0)), a) { if (i === "copy") throw gn(m(1950, null), Q.FileExists); if (i === "move") return } const l = await this.O(t); if (!l) throw gn(m(1951, null), Q.FileNotFound); const u = await this.O(s); if (u) { if (!n) throw gn(m(1952, null), Q.FileExists); l.type & Rs.File && u.type & Rs.File || await this.delete(s, { recursive: !0, useTrash: !1, atomic: !1 }) } } async cloneFile(t, s) { return this.fb(t, s, !1) } async fb(t, s, i) { const n = this.J(t), r = this.J(s), o = !!(this.capabilities & 1024); if (hp(n, r, !o)) return; const a = new ut; try { a.add(await this.R(t)), a.add(await this.R(s)), i && await _r.mkdir(Ct(r), { recursive: !0 }), await _r.copyFile(n, r) } catch (c) { if (c.code === "ENOENT" && !i) return this.fb(t, s, !0); throw this.ib(c) } finally { a.dispose() } } u(t, s, i) { return new I7(n => t(n), n => s(n), i) } G(t, s, i) { return new L7(n => t(n), n => s(n), i) } ib(t) { if (t instanceof ch) return t; let s = t, i; switch (t.code) { case "ENOENT": i = Q.FileNotFound; break; case "EISDIR": i = Q.FileIsADirectory; break; case "ENOTDIR": i = Q.FileNotADirectory; break; case "EEXIST": i = Q.FileExists; break; case "EPERM": case "EACCES": i = Q.NoPermissions; break; case "ERR_UNC_HOST_NOT_ALLOWED": s = `${t.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`, i = Q.Unknown; break; default: i = Q.Unknown }return gn(s, i) } async jb(t, s) { let i = this.ib(s); if (t && i.code === Q.NoPermissions) try { const { stat: n } = await ms.stat(this.J(t)); n.mode & 128 || (i = gn(s, Q.FileWriteLocked)) } catch (n) { this.a.trace(n) } return i } } } }); function aC(e) { return e.getFullYear() + "-" + String(e.getMonth() + 1).padStart(2, "0") + "-" + String(e.getDate()).padStart(2, "0") + "T" + String(e.getHours()).padStart(2, "0") + ":" + String(e.getMinutes()).padStart(2, "0") + ":" + String(e.getSeconds()).padStart(2, "0") + "." + (e.getMilliseconds() / 1e3).toFixed(3).slice(2, 5) + "Z" } var N7, O7, Mh, cC, lC, uC, hC = v({ "out-build/vs/base/common/date.js"() { "use strict"; he(), X(), N7 = 60, O7 = N7 * 60, Mh = O7 * 24, cC = Mh * 7, lC = Mh * 30, uC = Mh * 365 } }); function fC(e, t) { return C7(e["inspect-extensions"], e["inspect-brk-extensions"], 5870, t, e.debugId, e.extensionEnvironment) } function C7(e, t, s, i, n, r) { const a = Number(t || e) || (i ? null : s), c = a ? !!t : !1; let l; if (r) try { l = JSON.parse(r) } catch { } return { port: a, break: c, debugId: n, env: l } } var ag, Te, dC = v({ "out-build/vs/platform/environment/common/environmentService.js"() { "use strict"; hC(), ig(), De(), de(), ti(), kt(), ee(), ag = /^([^.]+\..+)[:=](.+)$/, Te = class { get appRoot() { return Ct(_t.asFileUri("").fsPath) } get userHome() { return E.file(this.b.homeDir) } get userDataPath() { return this.b.userDataDir } get appSettingsHome() { return E.file(_(this.userDataPath, "User")) } get tmpDir() { return E.file(this.b.tmpDir) } get cacheHome() { return E.file(this.userDataPath) } get stateResource() { return ne(this.appSettingsHome, "globalStorage", "storage.json") } get userRoamingDataHome() { return this.appSettingsHome.with({ scheme: Z.vscodeUserData }) } get userDataSyncHome() { return ne(this.appSettingsHome, "sync") } get logsHome() { if (!this.args.logsPath) { const e = aC(new Date).replace(/-|:|\.\d+Z$/g, ""); this.args.logsPath = _(this.userDataPath, "logs", e) } return E.file(this.args.logsPath) } get sync() { return this.args.sync } get machineSettingsResource() { return ne(E.file(_(this.userDataPath, "Machine")), "settings.json") } get workspaceStorageHome() { return ne(this.appSettingsHome, "workspaceStorage") } get localHistoryHome() { return ne(this.appSettingsHome, "History") } get keyboardLayoutResource() { return ne(this.userRoamingDataHome, "keyboardLayout.json") } get argvResource() { const e = js.VSCODE_PORTABLE; return e ? E.file(_(e, "argv.json")) : ne(this.userHome, this.c.dataFolderName, "argv.json") } get isExtensionDevelopment() { return !!this.args.extensionDevelopmentPath } get untitledWorkspacesHome() { return E.file(_(this.userDataPath, "Workspaces")) } get builtinExtensionsPath() { const e = this.args["builtin-extensions-dir"]; return e ? nn(e) : si(_(_t.asFileUri("").fsPath, "..", "extensions")) } get extensionsDownloadLocation() { const e = this.args["extensions-download-dir"]; return e ? E.file(nn(e)) : E.file(_(this.userDataPath, "CachedExtensionVSIXs")) } get extensionsPath() { const e = this.args["extensions-dir"]; if (e) return nn(e); const t = js.VSCODE_EXTENSIONS; if (t) return t; const s = js.VSCODE_PORTABLE; return s ? _(s, "extensions") : ne(this.userHome, this.c.dataFolderName, "extensions").fsPath } get extensionDevelopmentLocationURI() { const e = this.args.extensionDevelopmentPath; if (Array.isArray(e)) return e.map(t => /^[^:/?#]+?:\/\//.test(t) ? E.parse(t) : E.file(si(t))) } get extensionDevelopmentKind() { return this.args.extensionDevelopmentKind?.map(e => e === "ui" || e === "workspace" || e === "web" ? e : "workspace") } get extensionTestsLocationURI() { const e = this.args.extensionTestsPath; if (e) return /^[^:/?#]+?:\/\//.test(e) ? E.parse(e) : E.file(si(e)) } get disableExtensions() { if (this.args["disable-extensions"]) return !0; const 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 fC(this.args, this.isBuilt) } get debugRenderer() { return !!this.args.debugRenderer } get isBuilt() { return !js.VSCODE_DEV } get verbose() { return !!this.args.verbose } get logLevel() { return this.args.log?.find(e => !ag.test(e)) } get extensionLogLevel() { const e = []; for (const t of this.args.log || []) { const s = ag.exec(t); s && s[1] && s[2] && e.push([s[1], s[2]]) } return e.length ? e : void 0 } get serviceMachineIdResource() { return ne(E.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 disableWorkspaceTrust() { return !!this.args["disable-workspace-trust"] } get useInMemorySecretStorage() { return !!this.args["use-inmemory-secretstorage"] } get policyFile() { if (this.args["__enable-file-policy"]) { const e = js.VSCODE_PORTABLE; return e ? E.file(_(e, "policy.json")) : ne(this.userHome, this.c.dataFolderName, "policy.json") } } get continueOn() { return this.args.continueOn } set continueOn(e) { this.args.continueOn = e } get args() { return this.a } constructor(e, t, s) { this.a = e, this.b = t, this.c = s, this.editSessionId = this.args.editSessionId } }, __decorate([je], Te.prototype, "appRoot", null), __decorate([je], Te.prototype, "userHome", null), __decorate([je], Te.prototype, "userDataPath", null), __decorate([je], Te.prototype, "appSettingsHome", null), __decorate([je], Te.prototype, "tmpDir", null), __decorate([je], Te.prototype, "cacheHome", null), __decorate([je], Te.prototype, "stateResource", null), __decorate([je], Te.prototype, "userRoamingDataHome", null), __decorate([je], Te.prototype, "userDataSyncHome", null), __decorate([je], Te.prototype, "sync", null), __decorate([je], Te.prototype, "machineSettingsResource", null), __decorate([je], Te.prototype, "workspaceStorageHome", null), __decorate([je], Te.prototype, "localHistoryHome", null), __decorate([je], Te.prototype, "keyboardLayoutResource", null), __decorate([je], Te.prototype, "argvResource", null), __decorate([je], Te.prototype, "isExtensionDevelopment", null), __decorate([je], Te.prototype, "untitledWorkspacesHome", null), __decorate([je], Te.prototype, "builtinExtensionsPath", null), __decorate([je], Te.prototype, "extensionsPath", null), __decorate([je], Te.prototype, "extensionDevelopmentLocationURI", null), __decorate([je], Te.prototype, "extensionDevelopmentKind", null), __decorate([je], Te.prototype, "extensionTestsLocationURI", null), __decorate([je], Te.prototype, "debugExtensionHost", null), __decorate([je], Te.prototype, "logLevel", null), __decorate([je], Te.prototype, "extensionLogLevel", null), __decorate([je], Te.prototype, "serviceMachineIdResource", null), __decorate([je], Te.prototype, "disableTelemetry", null), __decorate([je], Te.prototype, "disableWorkspaceTrust", null), __decorate([je], Te.prototype, "useInMemorySecretStorage", null), __decorate([je], Te.prototype, "policyFile", null) } }); import *as _7 from "os"; import *as qn from "path"; function pC(e, t) { const s = mC(e, t), i = [s]; return qn.isAbsolute(s) || i.unshift(j7), qn.resolve(...i) } function mC(e, t) { process.env.VSCODE_DEV && (t = "code-oss-dev"); const s = process.env.VSCODE_PORTABLE; if (s) return qn.join(s, "user-data"); let i = process.env.VSCODE_APPDATA; if (i) return qn.join(i, t); const n = e["user-data-dir"]; if (n) return n; switch (process.platform) { case "win32": if (i = process.env.APPDATA, !i) { const r = process.env.USERPROFILE; if (typeof r != "string") throw new Error("Windows: Unexpected undefined %USERPROFILE% environment variable"); i = qn.join(r, "AppData", "Roaming") } break; case "darwin": i = qn.join(_7.homedir(), "Library", "Application Support"); break; case "linux": i = process.env.XDG_CONFIG_HOME || qn.join(_7.homedir(), ".config"); break; default: throw new Error("Platform not supported") }return qn.join(i, t) } var j7, gC = v({ "out-build/vs/platform/environment/node/userDataPath.js"() { "use strict"; j7 = process.env.VSCODE_CWD || process.cwd() } }); import { homedir as wC, tmpdir as vC } from "os"; function bC(e, t) { return C7(e["inspect-ptyhost"], e["inspect-brk-ptyhost"], 5877, t, e.extensionEnvironment) } var T7, U7 = v({ "out-build/vs/platform/environment/node/environmentService.js"() { "use strict"; dC(), gC(), T7 = class extends Te { constructor(e, t) { super(e, { homeDir: wC(), tmpDir: vC(), userDataDir: pC(e, t.nameShort) }, t) } } } }), cg, Qc, Fh, Jo = v({ "out-build/vs/server/node/serverEnvironmentService.js"() { "use strict"; he(), U7(), Yu(), oe(), ps(), ig(), cg = { host: { type: "string", cat: "o", args: "ip-address", description: m(2551, null) }, port: { type: "string", cat: "o", args: "port | port range", description: m(2552, null) }, "socket-path": { type: "string", cat: "o", args: "path", description: m(2553, null) }, "server-base-path": { type: "string", cat: "o", args: "path", description: m(2554, null) }, "connection-token": { type: "string", cat: "o", args: "token", deprecates: ["connectionToken"], description: m(2555, null) }, "connection-token-file": { type: "string", cat: "o", args: "path", deprecates: ["connection-secret", "connectionTokenFile"], description: m(2556, null) }, "without-connection-token": { type: "boolean", cat: "o", description: m(2557, null) }, "disable-websocket-compression": { type: "boolean" }, "print-startup-performance": { type: "boolean" }, "print-ip-address": { type: "boolean" }, "accept-server-license-terms": { type: "boolean", cat: "o", description: m(2558, null) }, "server-data-dir": { type: "string", cat: "o", description: m(2559, null) }, "telemetry-level": { type: "string", cat: "o", args: "level", description: m(2560, null) }, "user-data-dir": Qe["user-data-dir"], "enable-smoke-test-driver": Qe["enable-smoke-test-driver"], "disable-telemetry": Qe["disable-telemetry"], "disable-workspace-trust": Qe["disable-workspace-trust"], "file-watcher-polling": { type: "string", deprecates: ["fileWatcherPolling"] }, log: Qe.log, logsPath: Qe.logsPath, "force-disable-user-env": Qe["force-disable-user-env"], folder: { type: "string", deprecationMessage: "No longer supported. Folder needs to be provided in the browser URL or with `default-folder`." }, workspace: { type: "string", deprecationMessage: "No longer supported. Workspace needs to be provided in the browser URL or with `default-workspace`." }, "default-folder": { type: "string", description: m(2561, null) }, "default-workspace": { type: "string", description: m(2562, null) }, "enable-sync": { type: "boolean" }, "github-auth": { type: "string" }, "use-test-resolver": { type: "boolean" }, "extensions-dir": Qe["extensions-dir"], "extensions-download-dir": Qe["extensions-download-dir"], "builtin-extensions-dir": Qe["builtin-extensions-dir"], "install-extension": Qe["install-extension"], "install-builtin-extension": Qe["install-builtin-extension"], "update-extensions": Qe["update-extensions"], "uninstall-extension": Qe["uninstall-extension"], "list-extensions": Qe["list-extensions"], "locate-extension": Qe["locate-extension"], "show-versions": Qe["show-versions"], category: Qe.category, force: Qe.force, "do-not-sync": Qe["do-not-sync"], "pre-release": Qe["pre-release"], "start-server": { type: "boolean", cat: "e", description: m(2563, null) }, "enable-remote-auto-shutdown": { type: "boolean" }, "remote-auto-shutdown-without-delay": { type: "boolean" }, "use-host-proxy": { type: "boolean" }, "without-browser-env-var": { type: "boolean" }, help: Qe.help, version: Qe.version, "locate-shell-integration-path": Qe["locate-shell-integration-path"], compatibility: { type: "string" }, _: Qe._ }, Qc = Is, Fh = class extends T7 { get userRoamingDataHome() { return this.appSettingsHome } get args() { return super.args } }, __decorate([je], Fh.prototype, "userRoamingDataHome", null) } }), M7, lg, Zc, F7 = v({
  257. "out-build/vs/platform/extensionManagement/common/extensionManagementCLI.js"() {
  258. "use strict"; Dt(), fe(), De(), kt(), Ro(), ee(), he(), Ds(), mn(), Ii(), M7 = e => m(1822, null, e), lg = m(1823, null, "ms-dotnettools.csharp"), Zc = class {
  259. constructor(t, s, i) { this.a = t, this.b = s, this.d = i } get f() { } async listExtensions(t, s, i) { let n = await this.b.getInstalled(1, i); const r = p6.map(a => a.toLowerCase()); if (s && s !== "") { if (r.indexOf(s.toLowerCase()) < 0) { this.a.info("Invalid category please enter a valid category. To list valid categories run --category without a category specified"); return } n = n.filter(a => a.manifest.categories ? a.manifest.categories.map(l => l.toLowerCase()).indexOf(s.toLowerCase()) > -1 : !1) } else if (s === "") { this.a.info("Possible Categories: "), r.forEach(a => { this.a.info(a) }); return } this.f && this.a.info(m(1824, null, this.f)), n = n.sort((a, c) => a.identifier.id.localeCompare(c.identifier.id)); let o; for (const a of n) o !== a.identifier.id && (o = a.identifier.id, this.a.info(t ? `${o}@${a.manifest.version}` : o)) } async installExtensions(t, s, i, n) { const r = []; try { t.length && this.a.info(this.f ? m(1825, null, this.f) : m(1826, null)); const o = [], a = [], c = (u, h, d) => { a.push({ id: u, version: h !== "prerelease" ? h : void 0, installOptions: { ...i, isBuiltin: d, installPreReleaseVersion: h === "prerelease" || i.installPreReleaseVersion } }) }; for (const u of t) if (u instanceof E) o.push({ vsix: u, installOptions: i }); else { const [h, d] = cm(u); c(h, d, !1) } for (const u of s) if (u instanceof E) o.push({ vsix: u, installOptions: { ...i, isBuiltin: !0, donotIncludePackAndDependencies: !0 } }); else { const [h, d] = cm(u); c(h, d, !0) } const l = await this.b.getInstalled(void 0, i.profileLocation); if (o.length && await Promise.all(o.map(async ({ vsix: u, installOptions: h }) => { try { await this.h(u, h, n, l) } catch (d) { this.a.error(d), r.push(u.toString()) } })), a.length) { const u = await this.g(a, l, n); r.push(...u) } } catch (o) { throw this.a.error(m(1827, null, ge(o))), o } if (r.length) throw new Error(m(1828, null, r.join(", "))) } async updateExtensions(t) { const s = await this.b.getInstalled(1, t), i = []; for (const a of s) a.identifier.uuid && i.push({ ...a.identifier, preRelease: a.preRelease }); this.a.trace(m(1829, null, i.length)); const n = await this.d.getExtensions(i, { compatible: !0 }, Ne.None), r = []; for (const a of n) for (const c of s) xe(c.identifier, a.identifier) && ih(a.version, c.manifest.version) && r.push({ extension: a, options: { operation: 3, installPreReleaseVersion: c.preRelease, profileLocation: t, isApplicationScoped: c.isApplicationScoped } }); if (!r.length) { this.a.info(m(1830, null)); return } this.a.info(m(1831, null, r.map(a => a.extension.identifier.id).join(", "))); const o = await this.b.installGalleryExtensions(r); for (const a of o) a.error ? this.a.error(m(1832, null, a.identifier.id, ge(a.error))) : this.a.info(m(1833, null, a.identifier.id, a.local?.manifest.version)) } async g(t, s, i) {
  260. if (t = t.filter(({ id: a, version: c }) => { const l = s.find(u => xe(u.identifier, { id: a })); if (l) { if (!i && (!c || c === "prerelease" && l.preRelease)) return this.a.info(m(1834, null, a, l.manifest.version, a)), !1; if (c && l.manifest.version === c) return this.a.info(m(1835, null, `${a}@${c}`)), !1 } return !0 }), !t.length) return []; const n = [], r = [], o = await this.j(t); if (await Promise.all(t.map(async ({ id: a, version: c, installOptions: l }) => {
  261. const u = o.get(a.toLowerCase()); if (!u) {
  262. this.a.error(`${M7(c ? `${a}@${c}` : a)}
  263. ${lg}`), n.push(a); return
  264. } try { const d = await this.d.getManifest(u, Ne.None); if (d && !this.k(d)) return } catch (d) { this.a.error(d.message || d.stack || d), n.push(a); return } const h = s.find(d => xe(d.identifier, u.identifier)); if (h) { if (u.version === h.manifest.version) { this.a.info(m(1836, null, c ? `${a}@${c}` : a)); return } this.a.info(m(1837, null, a, u.version)) } l.isBuiltin ? this.a.info(c ? m(1838, null, a, c) : m(1839, null, a)) : this.a.info(c ? m(1840, null, a, c) : m(1841, null, a)), r.push({ extension: u, options: { ...l, installGivenVersion: !!c, isApplicationScoped: l.isApplicationScoped || h?.isApplicationScoped } })
  265. })), r.length) { const a = await this.b.installGalleryExtensions(r); for (const c of a) c.error ? (this.a.error(m(1842, null, c.identifier.id, ge(c.error))), n.push(c.identifier.id)) : this.a.info(m(1843, null, c.identifier.id, c.local?.manifest.version)) } return n
  266. } async h(t, s, i, n) { const r = await this.b.getManifest(t); if (!r) throw new Error("Invalid vsix"); if (await this.l(r, i, s.profileLocation, n)) try { await this.b.install(t, { ...s, installGivenVersion: !0 }), this.a.info(m(1844, null, Tn(t))) } catch (a) { if (In(a)) this.a.info(m(1845, null, Tn(t))); else throw a } } async j(t) { const s = new Map, i = t.some(o => o.installOptions.installPreReleaseVersion), n = await this.b.getTargetPlatform(), r = []; for (const o of t) Z5.test(o.id) && r.push({ ...o, preRelease: i }); if (r.length) { const o = await this.d.getExtensions(r, { targetPlatform: n }, Ne.None); for (const a of o) s.set(a.identifier.id.toLowerCase(), a) } return s } k(t) { return !0 } async l(t, s, i, n) { if (!s) { const r = { id: pn(t.publisher, t.name) }, o = n.find(a => xe(r, a.identifier) && ih(a.manifest.version, t.version)); if (o) return this.a.info(m(1846, null, o.identifier.id, o.manifest.version, t.version)), !1 } return this.k(t) } async uninstallExtensions(t, s, i) {
  267. const n = async o => { if (o instanceof E) { const a = await this.b.getManifest(o); return lm(a.publisher, a.name) } return o }, r = []; for (const o of t) {
  268. const a = await n(o), l = (await this.b.getInstalled(void 0, i)).filter(u => xe(u.identifier, { id: a })); if (!l.length) throw new Error(`${this.m(a)}
  269. ${lg}`); if (l.some(u => u.type === 0)) { this.a.info(m(1847, null, a)); return } if (!s && l.some(u => u.isBuiltin)) { this.a.info(m(1848, null, a)); return } this.a.info(m(1849, null, a)); for (const u of l) await this.b.uninstall(u, { profileLocation: i }), r.push(u); this.f ? this.a.info(m(1850, null, a, this.f)) : this.a.info(m(1851, null, a))
  270. }
  271. } async locateExtension(t) { const s = await this.b.getInstalled(); t.forEach(i => { s.forEach(n => { if (n.identifier.id === i && n.location.scheme === Z.file) { this.a.info(n.location.fsPath); return } }) }) } m(t) { return this.f ? m(1852, null, t, this.f) : m(1853, null, t) }
  272. }, Zc = __decorate([__param(1, Zu), __param(2, oi)], Zc)
  273. }
  274. }); function yC(e) { return e.tags.find(t => t.startsWith("lp-"))?.split("lp-")[1] } var Bh, Hh, ug = v({ "out-build/vs/platform/languagePacks/common/languagePacks.js"() { "use strict"; Dt(), z(), X(), he(), Ds(), oe(), Bh = se("languagePackService"), Hh = class extends J { constructor(t) { super(), this.c = t } async getAvailableLanguages() { const t = new Ei; setTimeout(() => t.cancel(), 1e3); let s; try { s = await this.c.query({ text: 'category:"language packs"', pageSize: 20 }, t.token) } catch { return [] } const n = s.firstPage.filter(r => r.properties.localizedLanguages?.length && r.tags.some(o => o.startsWith("lp-"))).map(r => { const o = r.properties.localizedLanguages?.[0], a = yC(r); return { ...this.f(a, o, r), extensionId: r.identifier.id, galleryExtension: r } }); return n.push(this.f("en", "English")), n } f(t, s, i) { const n = s ?? t; let r; if (n !== t && (r = `(${t})`), t.toLowerCase() === Ss.toLowerCase() && (r ??= "", r += m(1961, null)), i?.installCount) { r ??= ""; const o = i.installCount; let a; o > 1e6 ? a = `${Math.floor(o / 1e5) / 10}M` : o > 1e3 ? a = `${Math.floor(o / 1e3)}K` : a = String(o), r += ` $(cloud-download) ${a}` } return { id: t, label: n, description: r } } }, Hh = __decorate([__param(0, oi)], Hh) } }); import *as EC from "fs"; import { createHash as xC } from "crypto"; function kC(e) { if (typeof e.languageId != "string" || !Array.isArray(e.translations) || e.translations.length === 0) return !1; for (const t of e.translations) if (typeof t.id != "string" || typeof t.path != "string") return !1; return !(e.languageName && typeof e.languageName != "string" || e.localizedLanguageName && typeof e.localizedLanguageName != "string") } var Kc, zh, B7 = v({ "out-build/vs/platform/languagePacks/node/languagePacks.js"() { "use strict"; Et(), Ue(), z(), De(), de(), ss(), ps(), Ds(), mn(), Re(), ug(), ee(), Kc = class extends Hh { constructor(t, s, i, n) { super(i), this.h = t, this.j = n, this.g = this.B(new zh(s, n)), this.h.registerParticipant({ postInstall: async r => this.m(r), postUninstall: async r => this.n(r) }) } async getBuiltInExtensionTranslationsUri(t, s) { const n = (await this.g.getLanguagePacks())[s]; if (!n) { this.j.warn(`No language pack found for ${s}`); return } const r = n.translations[t]; return r ? E.file(r) : void 0 } async getInstalledLanguages() { const t = await this.g.getLanguagePacks(), s = Object.keys(t).map(i => { const n = t[i]; return { ...this.f(i, n.label), extensionId: n.extensions[0].extensionIdentifier.id } }); return s.push(this.f("en", "English")), s.sort((i, n) => i.label.localeCompare(n.label)), s } async m(t) { t && t.manifest && t.manifest.contributes && t.manifest.contributes.localizations && t.manifest.contributes.localizations.length && (this.j.info("Adding language packs from the extension", t.identifier.id), await this.update()) } async n(t) { const s = await this.g.getLanguagePacks(); Object.keys(s).some(i => s[i] && s[i].extensions.some(n => xe(n.extensionIdentifier, t.identifier))) && (this.j.info("Removing language packs from the extension", t.identifier.id), await this.update()) } async update() { const [t, s] = await Promise.all([this.g.getLanguagePacks(), this.h.getInstalled()]), i = await this.g.update(s); return !Dn(Object.keys(t), Object.keys(i)) } }, Kc = __decorate([__param(0, Zu), __param(1, zs), __param(2, oi), __param(3, pe)], Kc), zh = class extends J { constructor(t, s) { super(), this.j = s, this.c = {}, this.f = _(t.userDataPath, "languagepacks.json"), this.g = new bo } getLanguagePacks() { return this.g.size || !this.h ? this.s().then(() => this.c) : Promise.resolve(this.c) } update(t) { return this.s(s => { Object.keys(s).forEach(i => delete s[i]), this.m(s, ...t) }).then(() => this.c) } m(t, ...s) { for (const i of s) i && i.manifest && i.manifest.contributes && i.manifest.contributes.localizations && i.manifest.contributes.localizations.length && this.n(t, i); Object.keys(t).forEach(i => this.r(t[i])) } n(t, s) { const i = s.identifier, n = s.manifest.contributes && s.manifest.contributes.localizations ? s.manifest.contributes.localizations : []; for (const r of n) if (s.location.scheme === Z.file && kC(r)) { let o = t[r.languageId]; o || (o = { hash: "", extensions: [], translations: {}, label: r.localizedLanguageName ?? r.languageName }, t[r.languageId] = o); const a = o.extensions.filter(c => xe(c.extensionIdentifier, i))[0]; a ? a.version = s.manifest.version : o.extensions.push({ extensionIdentifier: i, version: s.manifest.version }); for (const c of r.translations) o.translations[c.id] = _(s.location.fsPath, c.path) } } r(t) { if (t) { const s = xC("md5"); for (const i of t.extensions) s.update(i.extensionIdentifier.uuid || i.extensionIdentifier.id).update(i.version); t.hash = s.digest("hex") } } s(t = () => null) { return this.g.queue(() => { let s = null; return EC.promises.readFile(this.f, "utf8").then(void 0, i => i.code === "ENOENT" ? Promise.resolve("{}") : Promise.reject(i)).then(i => { try { return JSON.parse(i) } catch { return {} } }).then(i => (s = t(i), i)).then(i => { for (const r of Object.keys(i)) i[r] || delete i[r]; this.c = i, this.h = !0; const n = JSON.stringify(this.c); return this.j.debug("Writing language packs", n), Pe.writeFile(this.f, n) }).then(() => s, i => this.j.error(i)) }) } }, zh = __decorate([__param(0, zs), __param(1, pe)], zh) } }), Vh, $C = v({
  275. "out-build/vs/platform/download/common/downloadService.js"() {
  276. "use strict"; Dt(), De(), st(), Dr(), Vh = class {
  277. constructor(t, s) { this.a = t, this.b = s } async download(t, s, i = Ne.None) {
  278. if (t.scheme === Z.file || t.scheme === Z.vscodeRemote) { await this.b.copy(t, s); return } const n = { type: "GET", url: t.toString(!0) }, r = await this.a.request(n, i); if (r.res.statusCode === 200) await this.b.writeFile(s, r.stream); else {
  279. const o = await Ar(r); throw new Error(`Expected 200, got back ${r.res.statusCode} instead.
  280. ${o}`)
  281. }
  282. }
  283. }, Vh = __decorate([__param(0, Pi), __param(1, gt)], Vh)
  284. }
  285. }); function H7(e, t, s) { t instanceof Xe || (t = new Xe(t, [], !!s)), z7.push([e, t]) } var z7, V7, W7 = v({ "out-build/vs/platform/instantiation/common/extensions.js"() { "use strict"; Ou(), z7 = [], function (e) { e[e.Eager = 0] = "Eager", e[e.Delayed = 1] = "Delayed" }(V7 || (V7 = {})) } }), q7, Wh, Yo, G7, SC = v({ "out-build/vs/base/common/skipList.js"() { "use strict"; Wh = class { constructor(e, t, s) { this.level = e, this.key = t, this.value = s, this.forward = [] } }, Yo = void 0, G7 = class Ra { constructor(t, s = 2 ** 16) { this.comparator = t, this[q7] = "SkipList", this.d = 0, this.f = 0, this.c = Math.max(1, Math.log2(s) | 0), this.e = new Wh(this.c, Yo, Yo) } get size() { return this.f } clear() { this.e = new Wh(this.c, Yo, Yo), this.f = 0 } has(t) { return !!Ra.g(this, t, this.comparator) } get(t) { return Ra.g(this, t, this.comparator)?.value } set(t, s) { return Ra.h(this, t, s, this.comparator) && (this.f += 1), this } delete(t) { const s = Ra.k(this, t, this.comparator); return s && (this.f -= 1), s } forEach(t, s) { let i = this.e.forward[0]; for (; i;)t.call(s, i.value, i.key, this), i = i.forward[0] } [(q7 = Symbol.toStringTag, Symbol.iterator)]() { return this.entries() } *entries() { let t = this.e.forward[0]; for (; t;)yield [t.key, t.value], t = t.forward[0] } *keys() { let t = this.e.forward[0]; for (; t;)yield t.key, t = t.forward[0] } *values() { let t = this.e.forward[0]; for (; t;)yield t.value, t = t.forward[0] } toString() { let t = "[SkipList]:", s = this.e.forward[0]; for (; s;)t += `node(${s.key}, ${s.value}, lvl:${s.level})`, s = s.forward[0]; return t } static g(t, s, i) { let n = t.e; for (let r = t.d - 1; r >= 0; r--)for (; n.forward[r] && i(n.forward[r].key, s) < 0;)n = n.forward[r]; if (n = n.forward[0], n && i(n.key, s) === 0) return n } static h(t, s, i, n) { const r = []; let o = t.e; for (let a = t.d - 1; a >= 0; a--) { for (; o.forward[a] && n(o.forward[a].key, s) < 0;)o = o.forward[a]; r[a] = o } if (o = o.forward[0], o && n(o.key, s) === 0) return o.value = i, !1; { const a = Ra.j(t); if (a > t.d) { for (let c = t.d; c < a; c++)r[c] = t.e; t.d = a } o = new Wh(a, s, i); for (let c = 0; c < a; c++)o.forward[c] = r[c].forward[c], r[c].forward[c] = o; return !0 } } static j(t, s = .5) { let i = 1; for (; Math.random() < s && i < t.c;)i += 1; return i } static k(t, s, i) { const n = []; let r = t.e; for (let o = t.d - 1; o >= 0; o--) { for (; r.forward[o] && i(r.forward[o].key, s) < 0;)r = r.forward[o]; n[o] = r } if (r = r.forward[0], !r || i(r.key, s) !== 0) return !1; for (let o = 0; o < t.d && n[o].forward[o] === r; o++)n[o].forward[o] = r.forward[o]; for (; t.d > 0 && t.e.forward[t.d - 1] === Yo;)t.d -= 1; return !0 } } } }), hg, Xo, J7 = v({ "out-build/vs/platform/uriIdentity/common/uriIdentityService.js"() { "use strict"; qs(), W7(), st(), kt(), SC(), re(), z(), hg = class $v { static { this._clock = 0 } constructor(t) { this.uri = t, this.time = $v._clock++ } touch() { return this.time = $v._clock++, this } }, Xo = class { constructor(t) { this.g = t, this.c = new ut, this.f = 2 ** 16; const s = new Map, i = n => { let r = s.get(n.scheme); return r === void 0 && (r = t.hasProvider(n) && !this.g.hasCapability(n, 1024), s.set(n.scheme, r)), r }; this.c.add(H.any(t.onDidChangeFileSystemProviderRegistrations, t.onDidChangeFileSystemProviderCapabilities)(n => { s.delete(n.scheme) })), this.extUri = new Xa(i), this.d = new G7((n, r) => this.extUri.compare(n, r, !0), this.f) } dispose() { this.c.dispose(), this.d.clear() } asCanonicalUri(t) { this.g.hasProvider(t) && (t = Hy(t)); const s = this.d.get(t); return s ? s.touch().uri.with({ fragment: t.fragment }) : (this.d.set(t, new hg(t)), this.h(), t) } h() { if (this.d.size < this.f) return; const t = [...this.d.entries()].sort((i, n) => i[1].time < n[1].time ? 1 : i[1].time > n[1].time ? -1 : 0); hg._clock = 0, this.d.clear(); const s = this.f * .5; for (let i = 0; i < s; i++)this.d.set(t[i][0], t[i][1].touch()) } }, Xo = __decorate([__param(0, gt)], Xo), H7(jt, Xo, 1) } }); async function Y7(e, t) { if (!Bt.commit || !await Pe.exists(dg)) return { userLocale: "en", osLocale: "en", resolvedLanguage: "en", defaultMessagesFile: dg, locale: "en", availableLanguages: {} }; const s = `${e}||${t}`; let i = pg.get(s); return i || (i = Mv({ userLocale: e, osLocale: e, commit: Bt.commit, userDataPath: t, nlsMetadataPath: fg }), pg.set(s, i)), i } var fg, dg, pg, X7 = v({ "out-build/vs/server/node/remoteLanguagePacks.js"() { "use strict"; De(), de(), Fv(), ss(), Vc(), fg = _(_t.asFileUri("").fsPath), dg = _(fg, "nls.messages.json"), pg = new Map } }), el, Q7 = v({ "out-build/vs/server/node/extensionsScannerService.js"() { "use strict"; kt(), ee(), ps(), Uo(), Bc(), st(), oe(), Re(), Ls(), qs(), Js(), X7(), el = class extends Sh { constructor(t, s, i, n, r, o, a, c) { super(E.file(r.builtinExtensionsPath), E.file(r.extensionsPath), ne(r.userHome, ".vscode-oss-dev", "extensions", "control.json"), t.defaultProfile, t, s, i, n, r, o, a, c), this.S = r } async f(t) { const s = await Y7(t, this.S.userDataPath); if (s.languagePack) try { const i = await this.w.readFile(E.file(s.languagePack.translationsConfigFile)); return JSON.parse(i.value.toString()) } catch { } return Object.create(null) } }, el = __decorate([__param(0, Gs), __param(1, Ri), __param(2, gt), __param(3, pe), __param(4, zs), __param(5, Nt), __param(6, jt), __param(7, Er)], el) } }), Z7, K7, PC = v({ "out-build/vs/platform/state/node/state.js"() { "use strict"; oe(), Z7 = se("stateReadService"), K7 = se("stateService") } }), e8, t8, qh, s8, IC = v({ "out-build/vs/platform/state/node/stateService.js"() { "use strict"; Ue(), Me(), z(), $e(), ps(), st(), Re(), function (e) { e[e.IMMEDIATE = 0] = "IMMEDIATE", e[e.DELAYED = 1] = "DELAYED" }(e8 || (e8 = {})), t8 = class extends J { constructor(e, t, s, i) { super(), this.h = e, this.j = t, this.m = s, this.n = i, this.a = Object.create(null), this.b = "", this.c = this.B(new Pr(this.j === 0 ? 0 : 100)), this.f = void 0, this.g = void 0 } init() { return this.f || (this.f = this.r()), this.f } async r() { try { this.b = (await this.n.readFile(this.h)).value.toString(), this.a = JSON.parse(this.b) } catch (e) { e.fileOperationResult !== 1 && this.m.error(e) } } getItem(e, t) { const s = this.a[e]; return xt(s) ? t : s } setItem(e, t) { this.setItems([{ key: e, data: t }]) } setItems(e) { let t = !1; for (const { key: s, data: i } of e) this.a[s] !== i && (xt(i) ? ni(this.a[s]) || (this.a[s] = void 0, t = !0) : (this.a[s] = i, t = !0)); t && this.s() } removeItem(e) { ni(this.a[e]) || (this.a[e] = void 0, this.s()) } async s() { if (!this.g) return this.c.trigger(() => this.t()) } async t() { if (!this.f) return; await this.f; const e = JSON.stringify(this.a, null, 4); if (e !== this.b) try { await this.n.writeFile(this.h, O.fromString(e), { atomic: { postfix: ".vsctmp" } }), this.b = e } catch (t) { this.m.error(t) } } async close() { return this.g || (this.g = this.c.trigger(() => this.t(), 0)), this.g } }, qh = class extends J { constructor(t, s, i, n) { super(), this.a = this.B(new t8(s.stateResource, t, i, n)) } async init() { await this.a.init() } getItem(t, s) { return this.a.getItem(t, s) } }, qh = __decorate([__param(1, Is), __param(2, pe), __param(3, gt)], qh), s8 = class extends qh { setItem(e, t) { this.a.setItem(e, t) } setItems(e) { this.a.setItems(e) } removeItem(e) { this.a.removeItem(e) } close() { return this.a.close() } } } }), Gh, Qo, Jh, Yh, tl, i8 = v({ "out-build/vs/platform/userDataProfile/node/userDataProfile.js"() { "use strict"; ee(), ps(), st(), Re(), PC(), qs(), Js(), $e(), IC(), Jh = Gh = class extends dh { constructor(t, s, i, n, r) { super(i, n, s, r), this.a = t, this.S = i } N() { return this.a.getItem(Gh.b, []).map(s => ({ ...s, location: ve(s.location) ? this.u.extUri.joinPath(this.profilesHome, s.location) : E.revive(s.location) })) } P() { return this.a.getItem(Gh.c, {}) } R() { return this.u.extUri.joinPath(E.file(this.S.extensionsPath).with({ scheme: this.profilesHome.scheme }), "extensions.json") } }, Jh = Gh = __decorate([__param(0, Z7), __param(1, jt), __param(2, zs), __param(3, gt), __param(4, pe)], Jh), Yh = Qo = class extends Jh { constructor(t, s, i, n, r) { super(t, s, i, n, r), this.Y = t } O(t) { t.length ? this.Y.setItem(Qo.b, t.map(s => ({ ...s, location: this.u.extUri.basename(s.location) }))) : this.Y.removeItem(Qo.b) } Q(t) { t.emptyWindows || t.workspaces ? this.Y.setItem(Qo.c, t) : this.Y.removeItem(Qo.c) } }, Yh = Qo = __decorate([__param(0, K7), __param(1, jt), __param(2, zs), __param(3, gt), __param(4, pe)], Yh), tl = class extends Yh { constructor(t, s, i, n) { super(new s8(0, s, n, i), t, s, i, n) } async init() { return await this.Y.init(), super.init() } }, tl = __decorate([__param(0, jt), __param(1, zs), __param(2, gt), __param(3, pe)], tl) } }), sl, n8 = v({ "out-build/vs/platform/extensionManagement/node/extensionsProfileScannerService.js"() { "use strict"; Re(), Js(), qs(), As(), Uo(), st(), ps(), ee(), sl = class extends kh { constructor(t, s, i, n, r, o) { super(E.file(t.extensionsPath), s, i, n, r, o) } }, sl = __decorate([__param(0, zs), __param(1, gt), __param(2, Gs), __param(3, jt), __param(4, qt), __param(5, pe)], sl) } }), mg, r8 = v({ "out-build/vs/platform/log/common/logService.js"() { "use strict"; z(), Re(), mg = class extends J { constructor(e, t = []) { super(), this.a = new d4([e, ...t]), this.B(e.onDidChangeLogLevel(s => this.setLevel(s))) } get onDidChangeLogLevel() { return this.a.onDidChangeLogLevel } setLevel(e) { this.a.setLevel(e) } getLevel() { return this.a.getLevel() } trace(e, ...t) { this.a.trace(e, ...t) } debug(e, ...t) { this.a.debug(e, ...t) } info(e, ...t) { this.a.info(e, ...t) } warn(e, ...t) { this.a.warn(e, ...t) } error(e, ...t) { this.a.error(e, ...t) } flush() { this.a.flush() } } } }); async function AC(e, t, s, i, n) { try { const r = await import("@vscode/spdlog"); r.setFlushOn(vn.Trace); const o = await r.createAsyncRotatingLogger(e, t, s, i); return n ? o.clearFormatters() : o.setPattern("%Y-%m-%d %H:%M:%S.%e [%l] %v"), o } catch (r) { console.error(r) } return null } function o8(e, t, s) { switch (t) { case F.Trace: e.trace(s); break; case F.Debug: e.debug(s); break; case F.Info: e.info(s); break; case F.Warning: e.warn(s); break; case F.Error: e.error(s); break; case F.Off: break; default: throw new Error(`Invalid log level ${t}`) } } function a8(e, t) { switch (t) { case F.Trace: e.setLevel(vn.Trace); break; case F.Debug: e.setLevel(vn.Debug); break; case F.Info: e.setLevel(vn.Info); break; case F.Warning: e.setLevel(vn.Warning); break; case F.Error: e.setLevel(vn.Error); break; case F.Off: e.setLevel(vn.Off); break; default: throw new Error(`Invalid log level ${t}`) } } var vn, c8, DC = v({ "out-build/vs/platform/log/node/spdlogLog.js"() { "use strict"; st(), Re(), function (e) { e[e.Trace = 0] = "Trace", e[e.Debug = 1] = "Debug", e[e.Info = 2] = "Info", e[e.Warning = 3] = "Warning", e[e.Error = 4] = "Error", e[e.Critical = 5] = "Critical", e[e.Off = 6] = "Off" }(vn || (vn = {})), c8 = class extends h4 { constructor(e, t, s, i, n) { super(), this.n = [], this.setLevel(n), this.r = this.t(e, t, s, i), this.B(this.onDidChangeLogLevel(r => { this.s && a8(this.s, r) })) } async t(e, t, s, i) { const n = s ? 6 : 1, r = 30 / n * Nr.MB, o = await AC(e, t, r, n, i); if (o) { this.s = o, a8(this.s, this.getLevel()); for (const { level: a, message: c } of this.n) o8(this.s, a, c); this.n = [] } } m(e, t) { this.s ? o8(this.s, e, t) : this.getLevel() <= e && this.n.push({ level: e, message: t }) } flush() { this.s ? this.w() : this.r.then(() => this.w()) } dispose() { this.s ? this.y() : this.r.then(() => this.y()), super.dispose() } w() { this.s && this.s.flush() } y() { this.s && (this.s.drop(), this.s = void 0) } } } }), gg, l8 = v({ "out-build/vs/platform/log/node/loggerService.js"() { "use strict"; Wt(), Re(), DC(), gg = class extends p4 { s(e, t, s) { return new c8(We(), e.fsPath, !s?.donotRotate, !!s?.donotUseFormatters, t) } } } }); function RC() { return process.uncHostAllowlist } function wg(e) { if (process.platform !== "win32") return; const t = RC(); if (t) if (typeof e == "string") t.add(e.toLowerCase()); else for (const s of LC(e)) wg(s) } function LC(e) { const t = new Set; if (Array.isArray(e)) for (const s of e) typeof s == "string" && t.add(s); return Array.from(t) } function u8() { process.platform === "win32" && (process.restrictUNCAccess = !1) } var h8 = v({ "out-build/vs/base/node/unc.js"() { "use strict" } }); function NC(e) { return e.type === "gallery" } function OC(e) { return e.type === 1 || e.type === 0 } var f8, il, d8 = v({ "out-build/vs/platform/extensionManagement/common/allowedExtensionsService.js"() { "use strict"; z(), ee(), he(), Ds(), Ls(), Tc(), ds(), $e(), re(), f8 = /^(?<version>\d+\.\d+\.\d+(-.*)?)(@(?<platform>.+))?$/, il = class extends J { constructor(t, s) { super(), this.f = s, this.c = this.B(new D), this.onDidChangeAllowedExtensions = this.c.event, this.b = t.extensionPublisherOrgs?.map(i => i.toLowerCase()) ?? [], this.a = this.g(), this.B(this.f.onDidChangeConfiguration(i => { i.affectsConfiguration(Ku) && (this.a = this.g(), this.c.fire()) })) } g() { const t = this.f.inspect(Ku), s = t.policyValue ?? t.userValue ?? t.defaultValue; if (!ct(s) || Array.isArray(s)) return; const i = Object.entries(s).map(([n, r]) => [n.toLowerCase(), r]); if (!(i.length === 1 && i[0][0] === "*" && i[0][1] === !0)) return Object.fromEntries(i) } isAllowed(t) { if (!this.a) return !0; let s, i, n, r, o, a; NC(t) ? (s = t.identifier.id.toLowerCase(), i = t.version, r = t.properties.isPreReleaseVersion, o = t.publisher.toLowerCase(), a = t.publisherDisplayName.toLowerCase(), n = t.properties.targetPlatform) : OC(t) ? (s = t.identifier.id.toLowerCase(), i = t.manifest.version, r = t.preRelease, o = t.manifest.publisher.toLowerCase(), a = t.publisherDisplayName?.toLowerCase(), n = t.targetPlatform) : (s = t.id.toLowerCase(), i = t.version ?? "*", n = t.targetPlatform ?? "universal", r = t.prerelease ?? !1, o = t.id.substring(0, t.id.indexOf(".")).toLowerCase(), a = t.publisherDisplayName?.toLowerCase()); const c = E.parse(`command:workbench.action.openSettings?${encodeURIComponent(JSON.stringify({ query: `@id:${Ku}` }))}`).toString(), l = this.a[s], u = new Di(m(1815, null, c)); if (!ni(l)) return ii(l) ? l ? !0 : u : l === "stable" && r ? new Di(m(1816, null, c)) : i !== "*" && Array.isArray(l) && !l.some(p => { const g = f8.exec(p); if (g && g.groups) { const { platform: w, version: y } = g.groups; return !(y !== i || n !== "universal" && w && n !== w) } return !1 }) ? new Di(m(1817, null, i, c)) : !0; const h = a && this.b.includes(a) ? a : o, d = this.a[h]; return ni(d) ? this.a["*"] === !0 ? !0 : u : ii(d) ? d ? !0 : new Di(m(1818, null, h, c)) : d === "stable" && r ? new Di(m(1819, null, h, c)) : !0 } }, il = __decorate([__param(0, Nt), __param(1, ts)], il) } }); function p8(e) { setTimeout(() => process.exit(e), 0) } async function CC(e, t, s) { if (e.help) { const n = Bt.serverApplicationName + (me ? ".cmd" : ""); console.log(jR(Bt.nameLong, n, Bt.version, s, { noInputFiles: !0, noPipe: !0 })); return } if (e.version) { console.log(TR(Bt.version, Bt.commit)); return } const i = new m8(e, t); try { await i.run(), p8(0) } catch { p8(1) } finally { i.dispose() } } var m8, _C = v({ "out-build/vs/server/node/remoteExtensionHostAgentCli.js"() { "use strict"; tp(), Re(), Ou(), e5(), ds(), Dr(), T5(), fn(), As(), Ds(), l9(), H9(), zm(), q9(), Vc(), z(), Y9(), Uh(), De(), st(), Ls(), Jo(), F7(), ug(), B7(), fe(), ee(), de(), ti(), $C(), Am(), qs(), J7(), Yu(), X(), Bc(), Q7(), Js(), Uo(), Hu(), i8(), n8(), r8(), l8(), he(), h8(), d8(), m8 = class extends J { constructor(e, t) { super(), this.a = e, this.b = t, this.c() } c() { process.once("exit", () => this.dispose()) } async run() { const e = await this.f(); await e.invokeFunction(async t => { const s = t.get(ts), i = t.get(pe); me && (s.getValue("security.restrictUNCAccess") === !1 ? u8() : wg(s.getValue("security.allowedUNCHosts"))); try { await this.g(e.createInstance(Zc, new f4(i.getLevel(), !1))) } catch (n) { throw i.error(n), console.error(ge(n)), n } }) } async f() { const e = new ku, t = { _serviceBrand: void 0, ...Bt }; e.set(Nt, t); const s = new Fh(this.a, t); e.set(Qc, s); const i = new gg(yp(s), s.logsHome); e.set(sc, i); const n = new mg(this.B(i.createLogger("remoteCLI", { name: m(2550, null) }))); e.set(pe, n), n.trace(`Remote configuration data at ${this.b}`), n.trace("process arguments:", this.a); const r = this.B(new Wc(n)); e.set(gt, r), r.registerProvider(Z.file, this.B(new Xc(n))); const o = new Xo(r); e.set(jt, o); const a = this.B(new tl(o, s, r, n)); e.set(Gs, a); const c = this.B(new Bp(a.defaultProfile.settingsResource, r, new Bu, n)); return e.set(ts, c), await Promise.all([c.initialize(), a.init()]), e.set(Pi, new Xe(yc)), e.set(gh, new Xe(Vh)), e.set(qt, W5), e.set(oi, new Xe(Nc)), e.set(Ri, new Xe(sl)), e.set(Or, new Xe(el)), e.set(Ph, new Xe(Hc)), e.set(dn, new Xe(il)), e.set(Rh, new Xe(zc)), e.set(Bh, new Xe(Kc)), new Gm(e) } async g(e) { if (this.a["list-extensions"]) return e.listExtensions(!!this.a["show-versions"], this.a.category); if (this.a["install-extension"] || this.a["install-builtin-extension"]) { const t = { isMachineScoped: !!this.a["do-not-sync"], installPreReleaseVersion: !!this.a["pre-release"] }; return e.installExtensions(this.h(this.a["install-extension"] || []), this.h(this.a["install-builtin-extension"] || []), t, !!this.a.force) } else { if (this.a["uninstall-extension"]) return e.uninstallExtensions(this.h(this.a["uninstall-extension"]), !!this.a.force); if (this.a["update-extensions"]) return e.updateExtensions(); if (this.a["locate-extension"]) return e.locateExtension(this.a["locate-extension"]) } } h(e) { return e.map(t => /\.vsix$/i.test(t) ? E.file(sn(t) ? t : _(xi(), t)) : t) } } } }); import { constants as jC, promises as TC } from "fs"; import { createInterface as UC } from "readline"; async function MC(e) { if (_s || me) return; let t; for (const s of ["/etc/os-release", "/usr/lib/os-release", "/etc/lsb-release"]) try { t = await TC.open(s, jC.R_OK); break } catch { } if (!t) { e("Unable to retrieve release information from known identifier paths."); return } try { const s = new Set(["ID", "DISTRIB_ID", "ID_LIKE", "VERSION_ID", "DISTRIB_RELEASE"]), i = { id: "unknown" }; for await (const n of UC({ input: t.createReadStream(), crlfDelay: 1 / 0 })) { if (!n.includes("=")) continue; const r = n.split("=")[0].toUpperCase().trim(); if (s.has(r)) { const o = n.split("=")[1].replace(/"/g, "").toLowerCase().trim(); r === "ID" || r === "DISTRIB_ID" ? i.id = o : r === "ID_LIKE" ? i.id_like = o : (r === "VERSION_ID" || r === "DISTRIB_RELEASE") && (i.version_id = o) } } return i } catch (s) { e(s) } } var FC = v({ "out-build/vs/base/node/osReleaseInfo.js"() { "use strict"; X() } }); import *as BC from "net"; function HC(e, t, s, i = 1) { let n = !1; return new Promise(r => { const o = setTimeout(() => { if (!n) return n = !0, r(0) }, s); vg(e, t, i, a => { if (!n) return n = !0, clearTimeout(o), r(a) }) }) } function vg(e, t, s, i) { if (t === 0) return i(0); const n = new BC.Socket; n.once("connect", () => (g8(n), vg(e + s, t - 1, s, i))), n.once("data", () => { }), n.once("error", r => (g8(n), r.code !== "ECONNREFUSED" ? vg(e + s, t - 1, s, i) : i(e))), n.connect(e, "127.0.0.1") } function g8(e) { try { e.removeAllListeners("connect"), e.removeAllListeners("error"), e.end(), e.destroy(), e.unref() } catch (t) { console.error(t) } } var zC = v({ "out-build/vs/base/node/ports.js"() { "use strict" } }); function Gn() { return Xh || (Xh = O.alloc(0)), Xh } function w8(e) { switch (e) { case 0: return "None"; case 1: return "Regular"; case 2: return "Control"; case 3: return "Ack"; case 5: return "Disconnect"; case 6: return "ReplayRequest"; case 7: return "PauseWriting"; case 8: return "ResumeWriting"; case 9: return "KeepAlive" } } var v8, bg, b8, Xh, yg, y8, E8, li, Eg, xg, Zo, x8, k8, $8, S8, P8 = v({ "out-build/vs/base/parts/ipc/common/ipc.net.js"() { "use strict"; Me(), re(), z(), qo(), function (e) { e.Created = "created", e.Read = "read", e.Write = "write", e.Open = "open", e.Error = "error", e.Close = "close", e.BrowserWebSocketBlobReceived = "browserWebSocketBlobReceived", e.NodeEndReceived = "nodeEndReceived", e.NodeEndSent = "nodeEndSent", e.NodeDrainBegin = "nodeDrainBegin", e.NodeDrainEnd = "nodeDrainEnd", e.zlibInflateError = "zlibInflateError", e.zlibInflateData = "zlibInflateData", e.zlibInflateInitialWrite = "zlibInflateInitialWrite", e.zlibInflateInitialFlushFired = "zlibInflateInitialFlushFired", e.zlibInflateWrite = "zlibInflateWrite", e.zlibInflateFlushFired = "zlibInflateFlushFired", e.zlibDeflateError = "zlibDeflateError", e.zlibDeflateData = "zlibDeflateData", e.zlibDeflateWrite = "zlibDeflateWrite", e.zlibDeflateFlushFired = "zlibDeflateFlushFired", e.WebSocketNodeSocketWrite = "webSocketNodeSocketWrite", e.WebSocketNodeSocketPeekedHeader = "webSocketNodeSocketPeekedHeader", e.WebSocketNodeSocketReadHeader = "webSocketNodeSocketReadHeader", e.WebSocketNodeSocketReadData = "webSocketNodeSocketReadData", e.WebSocketNodeSocketUnmaskedData = "webSocketNodeSocketUnmaskedData", e.WebSocketNodeSocketDrainBegin = "webSocketNodeSocketDrainBegin", e.WebSocketNodeSocketDrainEnd = "webSocketNodeSocketDrainEnd", e.ProtocolHeaderRead = "protocolHeaderRead", e.ProtocolMessageRead = "protocolMessageRead", e.ProtocolHeaderWrite = "protocolHeaderWrite", e.ProtocolMessageWrite = "protocolMessageWrite", e.ProtocolWrite = "protocolWrite" }(v8 || (v8 = {})), function (e) { e.enableDiagnostics = !1, e.records = []; const t = new WeakMap; let s = 0; function i(r, o) { if (!t.has(r)) { const a = String(++s); t.set(r, a) } return t.get(r) } function n(r, o, a, c) { if (!e.enableDiagnostics) return; const l = i(r, o); if (c instanceof O || c instanceof Uint8Array || c instanceof ArrayBuffer || ArrayBuffer.isView(c)) { const u = O.alloc(c.byteLength); u.set(c), e.records.push({ timestamp: Date.now(), id: l, label: o, type: a, buff: u }) } else e.records.push({ timestamp: Date.now(), id: l, label: o, type: a, data: c }) } e.traceSocketEvent = n }(bg || (bg = {})), function (e) { e[e.NodeSocketCloseEvent = 0] = "NodeSocketCloseEvent", e[e.WebSocketCloseEvent = 1] = "WebSocketCloseEvent" }(b8 || (b8 = {})), Xh = null, yg = class { get byteLength() { return this.b } constructor() { this.a = [], this.b = 0 } acceptChunk(e) { this.a.push(e), this.b += e.byteLength } read(e) { return this.c(e, !0) } peek(e) { return this.c(e, !1) } c(e, t) { if (e === 0) return Gn(); if (e > this.b) throw new Error("Cannot read so many bytes!"); if (this.a[0].byteLength === e) { const r = this.a[0]; return t && (this.a.shift(), this.b -= e), r } if (this.a[0].byteLength > e) { const r = this.a[0].slice(0, e); return t && (this.a[0] = this.a[0].slice(e), this.b -= e), r } const s = O.alloc(e); let i = 0, n = 0; for (; e > 0;) { const r = this.a[n]; if (r.byteLength > e) { const o = r.slice(0, e); s.set(o, i), i += e, t && (this.a[n] = r.slice(e), this.b -= e), e -= e } else s.set(r, i), i += r.byteLength, t ? (this.a.shift(), this.b -= r.byteLength) : n++, e -= r.byteLength } return s } }, function (e) { e[e.None = 0] = "None", e[e.Regular = 1] = "Regular", e[e.Control = 2] = "Control", e[e.Ack = 3] = "Ack", e[e.Disconnect = 5] = "Disconnect", e[e.ReplayRequest = 6] = "ReplayRequest", e[e.Pause = 7] = "Pause", e[e.Resume = 8] = "Resume", e[e.KeepAlive = 9] = "KeepAlive" }(y8 || (y8 = {})), function (e) { e[e.HeaderLength = 13] = "HeaderLength", e[e.AcknowledgeTime = 2e3] = "AcknowledgeTime", e[e.TimeoutTime = 2e4] = "TimeoutTime", e[e.ReconnectionGraceTime = 108e5] = "ReconnectionGraceTime", e[e.ReconnectionShortGraceTime = 3e5] = "ReconnectionShortGraceTime", e[e.KeepAliveSendTime = 5e3] = "KeepAliveSendTime" }(E8 || (E8 = {})), li = class { constructor(e, t, s, i) { this.type = e, this.id = t, this.ack = s, this.data = i, this.writtenTime = 0 } get size() { return this.data.byteLength } }, Eg = class extends J { constructor(e) { super(), this.f = this.B(new D), this.onMessage = this.f.event, this.g = { readHead: !0, readLen: 13, messageType: 0, id: 0, ack: 0 }, this.a = e, this.b = !1, this.c = new yg, this.B(this.a.onData(t => this.acceptChunk(t))), this.lastReadTime = Date.now() } acceptChunk(e) { if (!(!e || e.byteLength === 0)) for (this.lastReadTime = Date.now(), this.c.acceptChunk(e); this.c.byteLength >= this.g.readLen;) { const t = this.c.read(this.g.readLen); if (this.g.readHead) this.g.readHead = !1, this.g.readLen = t.readUInt32BE(9), this.g.messageType = t.readUInt8(0), this.g.id = t.readUInt32BE(1), this.g.ack = t.readUInt32BE(5), this.a.traceSocketEvent("protocolHeaderRead", { messageType: w8(this.g.messageType), id: this.g.id, ack: this.g.ack, messageSize: this.g.readLen }); else { const s = this.g.messageType, i = this.g.id, n = this.g.ack; if (this.g.readHead = !0, this.g.readLen = 13, this.g.messageType = 0, this.g.id = 0, this.g.ack = 0, this.a.traceSocketEvent("protocolMessageRead", t), this.f.fire(new li(s, i, n, t)), this.b) break } } } readEntireBuffer() { return this.c.read(this.c.byteLength) } dispose() { this.b = !0, super.dispose() } }, xg = class { constructor(e) { this.k = null, this.a = !1, this.b = !1, this.c = e, this.d = [], this.f = 0, this.lastWriteTime = 0 } dispose() { try { this.flush() } catch { } this.a = !0 } drain() { return this.flush(), this.c.drain() } flush() { this.m() } pause() { this.b = !0 } resume() { this.b = !1, this.l() } write(e) { if (this.a) return; e.writtenTime = Date.now(), this.lastWriteTime = Date.now(); const t = O.alloc(13); t.writeUInt8(e.type, 0), t.writeUInt32BE(e.id, 1), t.writeUInt32BE(e.ack, 5), t.writeUInt32BE(e.data.byteLength, 9), this.c.traceSocketEvent("protocolHeaderWrite", { messageType: w8(e.type), id: e.id, ack: e.ack, messageSize: e.data.byteLength }), this.c.traceSocketEvent("protocolMessageWrite", e.data), this.j(t, e.data) } g(e, t) { const s = this.f === 0; return this.d.push(e, t), this.f += e.byteLength + t.byteLength, s } h() { const e = O.concat(this.d, this.f); return this.d.length = 0, this.f = 0, e } j(e, t) { this.g(e, t) && this.l() } l() { this.k || (this.k = setTimeout(() => { this.k = null, this.m() })) } m() { if (this.f === 0 || this.b) return; const e = this.h(); this.c.traceSocketEvent("protocolWrite", { byteLength: e.byteLength }), this.c.write(e) } }, Zo = class { constructor() { this.b = !1, this.c = !1, this.d = [], this.a = new D({ onWillAddFirstListener: () => { this.b = !0, queueMicrotask(() => this.f()) }, onDidRemoveLastListener: () => { this.b = !1 } }), this.event = this.a.event } f() { if (!this.c) { for (this.c = !0; this.b && this.d.length > 0;)this.a.fire(this.d.shift()); this.c = !1 } } fire(e) { this.b ? this.d.length > 0 ? this.d.push(e) : this.a.fire(e) : this.d.push(e) } flushBuffer() { this.d = [] } }, x8 = class { constructor(e) { this.data = e, this.next = null } }, k8 = class { constructor() { this.a = null, this.b = null } length() { let e = 0, t = this.a; for (; t;)t = t.next, e++; return e } peek() { return this.a ? this.a.data : null } toArray() { const e = []; let t = 0, s = this.a; for (; s;)e[t++] = s.data, s = s.next; return e } pop() { if (this.a) { if (this.a === this.b) { this.a = null, this.b = null; return } this.a = this.a.next } } push(e) { const t = new x8(e); if (!this.a) { this.a = t, this.b = t; return } this.b.next = t, this.b = t } }, $8 = class Wi { static { this.a = 10 } static { this.b = null } static getInstance() { return Wi.b || (Wi.b = new Wi), Wi.b } constructor() { this.c = []; const t = Date.now(); for (let s = 0; s < Wi.a; s++)this.c[s] = t - 1e3 * s; setInterval(() => { for (let s = Wi.a; s >= 1; s--)this.c[s] = this.c[s - 1]; this.c[0] = Date.now() }, 1e3) } d() { const t = Date.now(), s = (1 + Wi.a) * 1e3; let i = 0; for (let n = 0; n < Wi.a; n++)t - this.c[n] <= s && i++; return 1 - i / Wi.a } hasHighLoad() { return this.d() >= .5 } }, S8 = class { get unacknowledgedCount() { return this.d - this.f } constructor(e) { this.v = new Zo, this.onControlMessage = this.v.event, this.w = new Zo, this.onMessage = this.w.event, this.x = new Zo, this.onDidDispose = this.x.event, this.y = new Zo, this.onSocketClose = this.y.event, this.z = new Zo, this.onSocketTimeout = this.z.event, this.t = e.loadEstimator ?? $8.getInstance(), this.u = e.sendKeepAlive ?? !0, this.a = !1, this.c = new k8, this.d = 0, this.f = 0, this.g = null, this.h = 0, this.j = 0, this.k = 0, this.l = null, this.n = 0, this.o = Date.now(), this.s = new ut, this.p = e.socket, this.q = this.s.add(new xg(this.p)), this.r = this.s.add(new Eg(this.p)), this.s.add(this.r.onMessage(t => this.A(t))), this.s.add(this.p.onClose(t => this.y.fire(t))), e.initialChunk && this.r.acceptChunk(e.initialChunk), this.u ? this.m = setInterval(() => { this.E() }, 5e3) : this.m = null } dispose() { this.g && (clearTimeout(this.g), this.g = null), this.l && (clearTimeout(this.l), this.l = null), this.m && (clearInterval(this.m), this.m = null), this.s.dispose() } drain() { return this.q.drain() } sendDisconnect() { if (!this.b) { this.b = !0; const e = new li(5, 0, 0, Gn()); this.q.write(e), this.q.flush() } } sendPause() { const e = new li(7, 0, 0, Gn()); this.q.write(e) } sendResume() { const e = new li(8, 0, 0, Gn()); this.q.write(e) } pauseSocketWriting() { this.q.pause() } getSocket() { return this.p } getMillisSinceLastIncomingData() { return Date.now() - this.r.lastReadTime } beginAcceptReconnection(e, t) { this.a = !0, this.s.dispose(), this.s = new ut, this.v.flushBuffer(), this.y.flushBuffer(), this.z.flushBuffer(), this.p.dispose(), this.n = 0, this.o = Date.now(), this.p = e, this.q = this.s.add(new xg(this.p)), this.r = this.s.add(new Eg(this.p)), this.s.add(this.r.onMessage(s => this.A(s))), this.s.add(this.p.onClose(s => this.y.fire(s))), this.r.acceptChunk(t) } endAcceptReconnection() { this.a = !1, this.j = this.h; const e = new li(3, 0, this.j, Gn()); this.q.write(e); const t = this.c.toArray(); for (let s = 0, i = t.length; s < i; s++)this.q.write(t[s]); this.C() } acceptDisconnect() { this.x.fire() } A(e) { if (e.ack > this.f) { this.f = e.ack; do { const t = this.c.peek(); if (t && t.id <= e.ack) this.c.pop(); else break } while (!0) } switch (e.type) { case 0: break; case 1: { if (e.id > this.h) if (e.id !== this.h + 1) { const t = Date.now(); t - this.n > 1e4 && (this.n = t, this.q.write(new li(6, 0, 0, Gn()))) } else this.h = e.id, this.k = Date.now(), this.B(), this.w.fire(e.data); break } case 2: { this.v.fire(e.data); break } case 3: break; case 5: { this.x.fire(); break } case 6: { const t = this.c.toArray(); for (let s = 0, i = t.length; s < i; s++)this.q.write(t[s]); this.C(); break } case 7: { this.q.pause(); break } case 8: { this.q.resume(); break } case 9: break } } readEntireBuffer() { return this.r.readEntireBuffer() } flush() { this.q.flush() } send(e) { const t = ++this.d; this.j = this.h; const s = new li(1, t, this.j, e); this.c.push(s), this.a || (this.q.write(s), this.C()) } sendControl(e) { const t = new li(2, 0, 0, e); this.q.write(t) } B() { if (this.h <= this.j || this.l) return; const e = Date.now() - this.k; if (e >= 2e3) { this.D(); return } this.l = setTimeout(() => { this.l = null, this.B() }, 2e3 - e + 5) } C() { if (this.d <= this.f || this.g || this.a) return; const e = this.c.peek(), t = Date.now() - e.writtenTime, s = Date.now() - this.r.lastReadTime, i = Date.now() - this.o; if (t >= 2e4 && s >= 2e4 && i >= 2e4 && !this.t.hasHighLoad()) { this.o = Date.now(), this.z.fire({ unacknowledgedMsgCount: this.c.length(), timeSinceOldestUnacknowledgedMsg: t, timeSinceLastReceivedSomeData: s }); return } const n = Math.max(2e4 - t, 2e4 - s, 2e4 - i, 500); this.g = setTimeout(() => { this.g = null, this.C() }, n) } D() { if (this.h <= this.j) return; this.j = this.h; const e = new li(3, 0, this.j, Gn()); this.q.write(e) } E() { this.j = this.h; const e = new li(9, 0, this.j, Gn()); this.q.write(e) } } } }); import "crypto"; import "net"; import { tmpdir as VC } from "os"; import { createDeflateRaw as WC, createInflateRaw as qC } from "zlib"; function GC(e, t) { if (t === 0) return; const s = e.byteLength >>> 2; for (let c = 0; c < s; c++) { const l = e.readUInt32BE(c * 4); e.writeUInt32BE(l ^ t, c * 4) } const i = s * 4, n = e.byteLength - i, r = t >>> 24 & 255, o = t >>> 16 & 255, a = t >>> 8 & 255; n >= 1 && e.writeUInt8(e.readUInt8(i) ^ r, i), n >= 2 && e.writeUInt8(e.readUInt8(i + 1) ^ o, i + 1), n >= 3 && e.writeUInt8(e.readUInt8(i + 2) ^ a, i + 2) } function kg() { const e = We(); if (process.platform === "win32") return `\\\\.\\pipe\\vscode-ipc-${e}-sock`; const t = process.platform !== "darwin" && $g ? $g : VC(), s = _(t, `vscode-ipc-${e}.sock`); return JC(s), s } function JC(e) { const t = C8[ro]; typeof t == "number" && e.length >= t && console.warn(`WARNING: IPC handle "${e}" is longer than ${t} chars, try a shorter --user-data-dir`) } var I8, Ko, A8, D8, R8, L8, N8, O8, $g, C8, Qh = v({ "out-build/vs/base/parts/ipc/node/ipc.net.js"() { "use strict"; Me(), fe(), re(), z(), de(), X(), Wt(), qo(), P8(), I8 = 3e4, Ko = class { traceSocketEvent(e, t) { bg.traceSocketEvent(this.socket, this.debugLabel, e, t) } constructor(e, t = "") { this.f = !0, this.debugLabel = t, this.socket = e, this.traceSocketEvent("created", { type: "NodeSocket" }), this.a = i => { if (this.traceSocketEvent("error", { code: i?.code, message: i?.message }), i) { if (i.code === "EPIPE") return; Vt(i) } }, this.socket.on("error", this.a); let s; this.b = i => { this.traceSocketEvent("close", { hadError: i }), this.f = !1, s && clearTimeout(s) }, this.socket.on("close", this.b), this.d = () => { this.traceSocketEvent("nodeEndReceived"), this.f = !1, s = setTimeout(() => e.destroy(), I8) }, this.socket.on("end", this.d) } dispose() { this.socket.off("error", this.a), this.socket.off("close", this.b), this.socket.off("end", this.d), this.socket.destroy() } onData(e) { const t = s => { this.traceSocketEvent("read", s), e(O.wrap(s)) }; return this.socket.on("data", t), { dispose: () => this.socket.off("data", t) } } onClose(e) { const t = s => { e({ type: 0, hadError: s, error: void 0 }) }; return this.socket.on("close", t), { dispose: () => this.socket.off("close", t) } } onEnd(e) { const t = () => { e() }; return this.socket.on("end", t), { dispose: () => this.socket.off("end", t) } } write(e) { if (!(this.socket.destroyed || !this.f)) try { this.traceSocketEvent("write", e), this.socket.write(e.buffer, t => { if (t) { if (t.code === "EPIPE") return; Vt(t) } }) } catch (t) { if (t.code === "EPIPE") return; Vt(t) } } end() { this.traceSocketEvent("nodeEndSent"), this.socket.end() } drain() { return this.traceSocketEvent("nodeDrainBegin"), new Promise((e, t) => { if (this.socket.bufferSize === 0) { this.traceSocketEvent("nodeDrainEnd"), e(); return } const s = () => { this.socket.off("close", s), this.socket.off("end", s), this.socket.off("error", s), this.socket.off("timeout", s), this.socket.off("drain", s), this.traceSocketEvent("nodeDrainEnd"), e() }; this.socket.on("close", s), this.socket.on("end", s), this.socket.on("error", s), this.socket.on("timeout", s), this.socket.on("drain", s) }) } }, function (e) { e[e.MinHeaderByteSize = 2] = "MinHeaderByteSize", e[e.MaxWebSocketMessageLength = 262144] = "MaxWebSocketMessageLength" }(A8 || (A8 = {})), function (e) { e[e.PeekHeader = 1] = "PeekHeader", e[e.ReadHeader = 2] = "ReadHeader", e[e.ReadBody = 3] = "ReadBody", e[e.Fin = 4] = "Fin" }(D8 || (D8 = {})), R8 = class extends J { get permessageDeflate() { return this.a.permessageDeflate } get recordedInflateBytes() { return this.a.recordedInflateBytes } traceSocketEvent(e, t) { this.socket.traceSocketEvent(e, t) } constructor(e, t, s, i) { super(), this.f = this.B(new D), this.g = this.B(new D), this.h = !1, this.j = { state: 1, readLen: 2, fin: 0, compressed: !1, firstFrameOfMessage: !0, mask: 0, opcode: 0 }, this.socket = e, this.traceSocketEvent("created", { type: "WebSocketNodeSocket", permessageDeflate: t, inflateBytesLength: s?.byteLength || 0, recordInflateBytes: i }), this.a = this.B(new L8(this, t, s, i, this.f, (n, r) => this.m(n, r))), this.B(this.a.onError(n => { console.error(n), Vt(n), this.g.fire({ type: 0, hadError: !0, error: n }) })), this.b = new yg, this.B(this.socket.onData(n => this.n(n))), this.B(this.socket.onClose(async n => { this.a.isProcessingReadQueue() && await H.toPromise(this.a.onDidFinishProcessingReadQueue), this.g.fire(n) })) } dispose() { this.a.isProcessingWriteQueue() ? this.B(this.a.onDidFinishProcessingWriteQueue(() => { this.dispose() })) : (this.socket.dispose(), super.dispose()) } onData(e) { return this.f.event(e) } onClose(e) { return this.g.event(e) } onEnd(e) { return this.socket.onEnd(e) } write(e) { let t = 0; for (; t < e.byteLength;)this.a.writeMessage(e.slice(t, Math.min(t + 262144, e.byteLength)), { compressed: !0, opcode: 2 }), t += 262144 } m(e, { compressed: t, opcode: s }) { if (this.h) return; this.traceSocketEvent("webSocketNodeSocketWrite", e); let i = 2; e.byteLength < 126 ? i += 0 : e.byteLength < 2 ** 16 ? i += 2 : i += 8; const n = O.alloc(i), r = t ? 64 : 0, o = s & 15; if (n.writeUInt8(128 | r | o, 0), e.byteLength < 126) n.writeUInt8(e.byteLength, 1); else if (e.byteLength < 2 ** 16) { n.writeUInt8(126, 1); let a = 1; n.writeUInt8(e.byteLength >>> 8 & 255, ++a), n.writeUInt8(e.byteLength >>> 0 & 255, ++a) } else { n.writeUInt8(127, 1); let a = 1; n.writeUInt8(0, ++a), n.writeUInt8(0, ++a), n.writeUInt8(0, ++a), n.writeUInt8(0, ++a), n.writeUInt8(e.byteLength >>> 24 & 255, ++a), n.writeUInt8(e.byteLength >>> 16 & 255, ++a), n.writeUInt8(e.byteLength >>> 8 & 255, ++a), n.writeUInt8(e.byteLength >>> 0 & 255, ++a) } this.socket.write(O.concat([n, e])) } end() { this.h = !0, this.socket.end() } n(e) { if (e.byteLength !== 0) { for (this.b.acceptChunk(e); this.b.byteLength >= this.j.readLen;)if (this.j.state === 1) { const t = this.b.peek(this.j.readLen), s = t.readUInt8(0), i = (s & 128) >>> 7, n = (s & 64) >>> 6, r = s & 15, o = t.readUInt8(1), a = (o & 128) >>> 7, c = o & 127; this.j.state = 2, this.j.readLen = 2 + (a ? 4 : 0) + (c === 126 ? 2 : 0) + (c === 127 ? 8 : 0), this.j.fin = i, this.j.firstFrameOfMessage && (this.j.compressed = !!n), this.j.firstFrameOfMessage = !!i, this.j.mask = 0, this.j.opcode = r, this.traceSocketEvent("webSocketNodeSocketPeekedHeader", { headerSize: this.j.readLen, compressed: this.j.compressed, fin: this.j.fin, opcode: this.j.opcode }) } else if (this.j.state === 2) { const t = this.b.read(this.j.readLen), s = t.readUInt8(1), i = (s & 128) >>> 7; let n = s & 127, r = 1; n === 126 ? n = t.readUInt8(++r) * 2 ** 8 + t.readUInt8(++r) : n === 127 && (n = t.readUInt8(++r) * 0 + t.readUInt8(++r) * 0 + t.readUInt8(++r) * 0 + t.readUInt8(++r) * 0 + t.readUInt8(++r) * 2 ** 24 + t.readUInt8(++r) * 2 ** 16 + t.readUInt8(++r) * 2 ** 8 + t.readUInt8(++r)); let o = 0; i && (o = t.readUInt8(++r) * 2 ** 24 + t.readUInt8(++r) * 2 ** 16 + t.readUInt8(++r) * 2 ** 8 + t.readUInt8(++r)), this.j.state = 3, this.j.readLen = n, this.j.mask = o, this.traceSocketEvent("webSocketNodeSocketPeekedHeader", { bodySize: this.j.readLen, compressed: this.j.compressed, fin: this.j.fin, mask: this.j.mask, opcode: this.j.opcode }) } else if (this.j.state === 3) { const t = this.b.read(this.j.readLen); this.traceSocketEvent("webSocketNodeSocketReadData", t), GC(t, this.j.mask), this.traceSocketEvent("webSocketNodeSocketUnmaskedData", t), this.j.state = 1, this.j.readLen = 2, this.j.mask = 0, this.j.opcode <= 2 ? this.a.acceptFrame(t, this.j.compressed, !!this.j.fin) : this.j.opcode === 9 && this.a.writeMessage(t, { compressed: !1, opcode: 10 }) } } } async drain() { this.traceSocketEvent("webSocketNodeSocketDrainBegin"), this.a.isProcessingWriteQueue() && await H.toPromise(this.a.onDidFinishProcessingWriteQueue), await this.socket.drain(), this.traceSocketEvent("webSocketNodeSocketDrainEnd") } }, L8 = class extends J { get permessageDeflate() { return !!(this.b && this.f) } get recordedInflateBytes() { return this.b ? this.b.recordedInflateBytes : O.alloc(0) } constructor(e, t, s, i, n, r) { super(), this.n = e, this.r = n, this.s = r, this.a = this.B(new D), this.onError = this.a.event, this.g = [], this.h = [], this.j = this.B(new D), this.onDidFinishProcessingReadQueue = this.j.event, this.m = this.B(new D), this.onDidFinishProcessingWriteQueue = this.m.event, this.t = !1, this.y = !1, t ? (this.b = this.B(new N8(this.n, i, s, { windowBits: 15 })), this.f = this.B(new O8(this.n, { windowBits: 15 })), this.B(this.b.onError(o => this.a.fire(o))), this.B(this.f.onError(o => this.a.fire(o)))) : (this.b = null, this.f = null) } writeMessage(e, t) { this.g.push({ data: e, options: t }), this.u() } async u() { if (!this.t) { for (this.t = !0; this.g.length > 0;) { const { data: e, options: t } = this.g.shift(); if (this.f && t.compressed) { const s = await this.w(this.f, e); this.s(s, t) } else this.s(e, { ...t, compressed: !1 }) } this.t = !1, this.m.fire() } } isProcessingWriteQueue() { return this.t } w(e, t) { return new Promise((s, i) => { e.write(t), e.flush(n => s(n)) }) } acceptFrame(e, t, s) { this.h.push({ data: e, isCompressed: t, isLastFrameOfMessage: s }), this.z() } async z() { if (!this.y) { for (this.y = !0; this.h.length > 0;) { const e = this.h.shift(); if (this.b && e.isCompressed) { const t = await this.C(this.b, e.data, e.isLastFrameOfMessage); this.r.fire(t) } else this.r.fire(e.data) } this.y = !1, this.j.fire() } } isProcessingReadQueue() { return this.y } C(e, t, s) { return new Promise((i, n) => { e.write(t), s && e.write(O.fromByteArray([0, 0, 255, 255])), e.flush(r => i(r)) }) } }, N8 = class extends J { get recordedInflateBytes() { return this.j ? O.concat(this.f) : O.alloc(0) } constructor(e, t, s, i) { super(), this.h = e, this.j = t, this.a = this.B(new D), this.onError = this.a.event, this.f = [], this.g = [], this.b = qC(i), this.b.on("error", n => { this.h.traceSocketEvent("zlibInflateError", { message: n?.message, code: n?.code }), this.a.fire(n) }), this.b.on("data", n => { this.h.traceSocketEvent("zlibInflateData", n), this.g.push(O.wrap(n)) }), s && (this.h.traceSocketEvent("zlibInflateInitialWrite", s.buffer), this.b.write(s.buffer), this.b.flush(() => { this.h.traceSocketEvent("zlibInflateInitialFlushFired"), this.g.length = 0 })) } write(e) { this.j && this.f.push(e.clone()), this.h.traceSocketEvent("zlibInflateWrite", e), this.b.write(e.buffer) } flush(e) { this.b.flush(() => { this.h.traceSocketEvent("zlibInflateFlushFired"); const t = O.concat(this.g); this.g.length = 0, e(t) }) } }, O8 = class extends J { constructor(e, t) { super(), this.g = e, this.a = this.B(new D), this.onError = this.a.event, this.f = [], this.b = WC({ windowBits: 15 }), this.b.on("error", s => { this.g.traceSocketEvent("zlibDeflateError", { message: s?.message, code: s?.code }), this.a.fire(s) }), this.b.on("data", s => { this.g.traceSocketEvent("zlibDeflateData", s), this.f.push(O.wrap(s)) }) } write(e) { this.g.traceSocketEvent("zlibDeflateWrite", e.buffer), this.b.write(e.buffer) } flush(e) { this.b.flush(2, () => { this.g.traceSocketEvent("zlibDeflateFlushFired"); let t = O.concat(this.f); this.f.length = 0, t = t.slice(0, t.byteLength - 4), e(t) }) } }, $g = process.env.XDG_RUNTIME_DIR, C8 = { 2: 107, 1: 103 } } }), Sg, _8, j8 = v({ "out-build/vs/server/node/extensionHostStatusService.js"() { "use strict"; oe(), Sg = se("extensionHostStatusService"), _8 = class { constructor() { this.a = new Map } setExitInfo(e, t) { this.a.set(e, t) } getExitInfo(e) { return this.a.get(e) || null } } } }); function YC(e) { delete e[Pg.ENV_KEY], delete e[Ig.ENV_KEY], delete e[M8.ENV_KEY] } function T8(e, t) { YC(t), e.serialize(t) } var U8, Pg, Ig, M8, XC = v({ "out-build/vs/workbench/services/extensions/common/extensionHostEnv.js"() { "use strict"; (function (e) { e[e.IPC = 1] = "IPC", e[e.Socket = 2] = "Socket", e[e.MessagePort = 3] = "MessagePort" })(U8 || (U8 = {})), Pg = class RI { static { this.ENV_KEY = "VSCODE_EXTHOST_IPC_HOOK" } constructor(t) { this.pipeName = t, this.type = 1 } serialize(t) { t[RI.ENV_KEY] = this.pipeName } }, Ig = class LI { constructor() { this.type = 2 } static { this.ENV_KEY = "VSCODE_EXTHOST_WILL_SEND_SOCKET" } serialize(t) { t[LI.ENV_KEY] = "1" } }, M8 = class NI { constructor() { this.type = 3 } static { this.ENV_KEY = "VSCODE_WILL_SEND_MESSAGE_PORT" } serialize(t) { t[NI.ENV_KEY] = "1" } } } }); import *as QC from "child_process"; import *as ZC from "net"; async function F8(e = {}, t, s, i, n, r) { const o = await Y7(s, i.userDataPath); let a = {}; if (t) try { a = await Yp(r, n, i.args, process.env) } catch (p) { n.error("ExtensionHostConnection#buildUserEnvironment resolving shell environment failed", p) } const l = { ...process.env, ...a, VSCODE_ESM_ENTRYPOINT: "vs/workbench/api/node/extensionHostProcess", VSCODE_HANDLES_UNCAUGHT_ERRORS: "true", VSCODE_NLS_CONFIG: JSON.stringify(o), ...e }, u = i.isBuilt ? _(i.appRoot, "bin") : _(i.appRoot, "resources", "server", "bin-dev"), h = _(u, "remote-cli"); let d = KC(l, "PATH"); return d ? d = h + lo + d : d = h, e_(l, "PATH", d), i.args["without-browser-env-var"] || (l.BROWSER = _(u, "helpers", me ? "browser.cmd" : "browser.sh")), t_(l), l } function KC(e, t) { const s = Object.keys(e).filter(n => n.toLowerCase() === t.toLowerCase()), i = s.length > 0 ? s[0] : t; return e[i] } function e_(e, t, s) { const i = Object.keys(e).filter(r => r.toLowerCase() === t.toLowerCase()), n = i.length > 0 ? i[0] : t; e[n] = s } function t_(e) { for (const t of Object.keys(e)) e[t] === null && delete e[t] } var Ag, Zh, B8 = v({ "out-build/vs/server/node/extensionHostConnection.js"() { "use strict"; Me(), re(), z(), De(), de(), X(), qu(), Qh(), ds(), Re(), Xp(), j8(), X7(), Jo(), XC(), Ag = class { constructor(e, t) { this.socket = e, this.initialDataChunk = t } socketDrain() { return this.socket.drain() } toIExtHostSocketMessage() { let e, t, s; return this.socket instanceof Ko ? (e = !0, t = !1, s = O.alloc(0)) : (e = !1, t = this.socket.permessageDeflate, s = this.socket.recordedInflateBytes), { type: "VSCODE_EXTHOST_IPC_SOCKET", initialDataChunk: this.initialDataChunk.buffer.toString("base64"), skipWebSocketFrames: e, permessageDeflate: t, inflateBytes: s.buffer.toString("base64") } } }, Zh = class extends J { constructor(t, s, i, n, r, o, a, c) { super(), this.m = t, this.n = r, this.r = o, this.s = a, this.t = c, this.b = new D, this.onClose = this.b.event, this.c = !me || !this.n.args["socket-path"], this.f = !1, this.g = s, this.h = null, this.j = new Ag(i, n), this.w("New connection established.") } dispose() { this.D(), super.dispose() } get u() { return `[${this.g}][${this.m.substr(0, 8)}][ExtensionHostConnection] ` } w(t) { this.r.info(`${this.u}${t}`) } y(t) { this.r.error(`${this.u}${t}`) } async z(t, s) { const i = new ut; i.add(s.socket), i.add(ye(() => { t.destroy() })); const n = () => { i.dispose() }; i.add(s.socket.onEnd(n)), i.add(s.socket.onClose(n)), i.add(H.fromNodeEventEmitter(t, "end")(n)), i.add(H.fromNodeEventEmitter(t, "close")(n)), i.add(H.fromNodeEventEmitter(t, "error")(n)), i.add(s.socket.onData(r => t.write(r.buffer))), i.add(H.fromNodeEventEmitter(t, "data")(r => { s.socket.write(O.wrap(r)) })), s.initialDataChunk.byteLength > 0 && t.write(s.initialDataChunk.buffer) } async C(t, s) { await s.socketDrain(); const i = s.toIExtHostSocketMessage(); let n; s.socket instanceof Ko ? n = s.socket.socket : n = s.socket.socket.socket, t.send(i, n) } shortenReconnectionGraceTimeIfNecessary() { if (!this.h) return; const t = { type: "VSCODE_EXTHOST_IPC_REDUCE_GRACE_TIME" }; this.h.send(t) } acceptReconnection(t, s, i) { this.g = t, this.w("The client has reconnected."); const n = new Ag(s, i); if (!this.h) { this.j = n; return } this.C(this.h, n) } D() { this.f || (this.f = !0, this.j && (this.j.socket.end(), this.j = null), this.h && (this.h.kill(), this.h = null), this.b.fire(void 0)) } async start(t) { try { let s = process.execArgv ? process.execArgv.filter(h => !/^--inspect(-brk)?=/.test(h)) : []; t.port && !process.pkg && (s = [`--inspect${t.break ? "-brk" : ""}=${t.port}`]); const i = await F8(t.env, !0, t.language, this.n, this.r, this.t); b5(i); let n; if (this.c) T8(new Ig, i), n = null; else { const { namedPipeServer: h, pipeName: d } = await this.F(); T8(new Pg(d), i), n = h } const r = { env: i, execArgv: s, silent: !0 }; r.execArgv.unshift("--dns-result-order=ipv4first"); const o = ["--type=extensionHost", "--transformURIs"], a = this.n.args["use-host-proxy"]; o.push(`--useHostProxy=${a ? "true" : "false"}`), this.h = QC.fork(_t.asFileUri("bootstrap-fork").fsPath, o, r); const c = this.h.pid; this.w(`<${c}> Launched Extension Host Process.`), this.h.stdout.setEncoding("utf8"), this.h.stderr.setEncoding("utf8"); const l = H.fromNodeEventEmitter(this.h.stdout, "data"), u = H.fromNodeEventEmitter(this.h.stderr, "data"); if (this.B(l(h => this.w(`<${c}> ${h}`))), this.B(u(h => this.w(`<${c}><stderr> ${h}`))), this.h.on("error", h => { this.y(`<${c}> Extension Host Process had an error`), this.r.error(h), this.D() }), this.h.on("exit", (h, d) => { this.s.setExitInfo(this.m, { code: h, signal: d }), this.w(`<${c}> Extension Host Process exited with code: ${h}, signal: ${d}.`), this.D() }), n) n.on("connection", h => { n.close(), this.z(h, this.j) }); else { const h = d => { d.type === "VSCODE_EXTHOST_IPC_READY" && (this.h.removeListener("message", h), this.C(this.h, this.j), this.j = null) }; this.h.on("message", h) } } catch (s) { console.error("ExtensionHostConnection errored"), s && console.error(s) } } F() { return new Promise((t, s) => { const i = kg(), n = ZC.createServer(); n.on("error", s), n.listen(i, () => { n?.removeListener("error", s), t({ pipeName: i, namedPipeServer: n }) }) }) } }, Zh = __decorate([__param(4, Qc), __param(5, pe), __param(6, Sg), __param(7, ts)], Zh) } }); function Kh(e) { let t = 0, s = 0, i = 0; e >= 1e3 && (i = Math.floor(e / 1e3), e -= i * 1e3), i >= 60 && (s = Math.floor(i / 60), i -= s * 60), s >= 60 && (t = Math.floor(s / 60), s -= t * 60); const n = t ? `${t}h` : "", r = s ? `${s}m` : "", o = i ? `${i}s` : "", a = e ? `${e}ms` : ""; return `${n}${r}${o}${a}` } var H8, s_ = v({ "out-build/vs/server/node/remoteExtensionManagement.js"() { "use strict"; re(), Ue(), H8 = class { constructor(e, t, s, i) { this.i = e, this.j = t, this.a = new D, this.onClose = this.a.event, this.b = 108e5, this.c = 3e5, this.d = s, this.protocol = i, this.e = !1, this.f = new Pp(() => { this.k(`The reconnection grace time of ${Kh(this.b)} has expired, so the connection will be disposed.`), this.l() }, this.b), this.g = new Pp(() => { this.k(`The reconnection short grace time of ${Kh(this.c)} has expired, so the connection will be disposed.`), this.l() }, this.c), this.protocol.onDidDispose(() => { this.k("The client has disconnected gracefully, so the connection will be disposed."), this.l() }), this.protocol.onSocketClose(() => { this.k(`The client has disconnected, will wait for reconnection ${Kh(this.b)} before disposing...`), this.f.schedule() }), this.k("New connection established.") } k(e) { this.i.info(`[${this.d}][${this.j.substr(0, 8)}][ManagementConnection] ${e}`) } shortenReconnectionGraceTimeIfNecessary() { this.g.isScheduled() || this.f.isScheduled() && (this.k(`Another client has connected, will shorten the wait for reconnection ${Kh(this.c)} before disposing...`), this.g.schedule()) } l() { if (this.e) return; this.e = !0, this.f.dispose(), this.g.dispose(); const e = this.protocol.getSocket(); this.protocol.sendDisconnect(), this.protocol.dispose(), e.end(), this.a.fire(void 0) } acceptReconnection(e, t, s) { this.d = e, this.k("The client has reconnected."), this.f.cancel(), this.g.cancel(), this.protocol.beginAcceptReconnection(t, s), this.protocol.endAcceptReconnection() } } } }); import *as i_ from "cookie"; import *as z8 from "fs"; async function n_(e, t) { const s = e["without-connection-token"], i = e["connection-token"], n = e["connection-token-file"]; if (s) return typeof i < "u" || typeof n < "u" ? new jr("Please do not use the argument '--connection-token' or '--connection-token-file' at the same time as '--without-connection-token'.") : new W8; if (typeof n < "u") { if (typeof i < "u") return new jr("Please do not use the argument '--connection-token' at the same time as '--connection-token-file'."); let r; try { r = z8.readFileSync(n).toString().replace(/\r?\n$/, "") } catch { return new jr(`Unable to read the connection token file at '${n}'.`) } return ef.test(r) ? new tf(r) : new jr(`The connection token defined in '${n} does not adhere to the characters 0-9, a-z, A-Z, _, or -.`) } return typeof i < "u" ? ef.test(i) ? new tf(i) : new jr(`The connection token '${i} does not adhere to the characters 0-9, a-z, A-Z or -.`) : new tf(await t()) } async function r_(e) { return n_(e, async () => { if (!e["user-data-dir"]) return We(); const s = _(e["user-data-dir"], "token"); try { const r = (await z8.promises.readFile(s)).toString().replace(/\r?\n$/, ""); if (ef.test(r)) return r } catch { } const i = We(); try { await Pe.writeFile(s, i, { mode: 384 }) } catch { } return i }) } function o_(e, t, s) { console.log('hi', e.validate,s.query); if (e.validate(s.query[uo])) return !0; const i = i_.parse(t.headers.cookie || ""); return e.validate(i[xu]) } var ef, V8, W8, tf, jr, a_ = v({ "out-build/vs/server/node/serverConnectionToken.js"() { "use strict"; de(), Wt(), De(), ss(), ef = /^[0-9A-Za-z_-]+$/, function (e) { e[e.None = 0] = "None", e[e.Optional = 1] = "Optional", e[e.Mandatory = 2] = "Mandatory" }(V8 || (V8 = {})), W8 = class { constructor() { this.type = 0 } validate(e) { return !0 } }, tf = class { constructor(e) { this.value = e, this.type = 2 } validate(e) { return e === this.value } }, jr = class { constructor(e) { this.message = e } } } }); import { networkInterfaces as c_ } from "os"; function l_(e) { const t = e.replace(/\-/g, ":").toLowerCase(); return !q8.has(t) } function u_() { const e = c_(); for (const t in e) { const s = e[t]; if (s) { for (const { mac: i } of s) if (l_(i)) return i } } throw new Error("Unable to retrieve mac address (unexpected format)") } var q8, h_ = v({ "out-build/vs/base/node/macAddress.js"() { "use strict"; q8 = new Set(["00:00:00:00:00:00", "ff:ff:ff:ff:ff:ff", "ac:de:48:00:11:22"]) } }); import { networkInterfaces as f_ } from "os"; async function d_(e) { return Rg || (Rg = (async () => await p_(e) || We())()), Rg } async function p_(e) { try { const t = await import("crypto"), s = u_(); return t.createHash("sha256").update(s, "utf8").digest("hex") } catch (t) { e(t); return } } async function m_(e) { if (me) { const t = await import("@vscode/windows-registry"); try { return t.GetStringRegKey("HKEY_LOCAL_MACHINE", G8, "MachineId") || "" } catch (s) { return e(s), "" } } return "" } async function g_(e) { try { return await (await import("@vscode/deviceid")).getDeviceId() } catch (t) { return e(t), We() } } var Dg, Rg, G8, J8 = v({ "out-build/vs/base/node/id.js"() { "use strict"; oh(), Wt(), h_(), X(), Dg = new class { c(e) { return this.a || (this.a = Lo.forStrings(), this.a.set("00-50-56", !0), this.a.set("00-0C-29", !0), this.a.set("00-05-69", !0), this.a.set("00-03-FF", !0), this.a.set("00-1C-42", !0), this.a.set("00-16-3E", !0), this.a.set("08-00-27", !0), this.a.set("00:50:56", !0), this.a.set("00:0C:29", !0), this.a.set("00:05:69", !0), this.a.set("00:03:FF", !0), this.a.set("00:1C:42", !0), this.a.set("00:16:3E", !0), this.a.set("08:00:27", !0)), !!this.a.findSubstr(e) } value() { if (this.b === void 0) { let e = 0, t = 0; const s = f_(); for (const i in s) { const n = s[i]; if (n) for (const { mac: r, internal: o } of n) o || (t += 1, this.c(r.toUpperCase()) && (e += 1)) } this.b = t > 0 ? e / t : 0 } return this.b } }, G8 = "Software\\Microsoft\\SQMClient" } }), Lg, w_ = v({ "out-build/vs/platform/debug/common/extensionHostDebugIpc.js"() { "use strict"; re(), z(), Lg = class { constructor() { this.a = new D, this.b = new D, this.c = new D, this.d = new D } static { this.ChannelName = "extensionhostdebugservice" } call(e, t, s) { switch (t) { case "close": return Promise.resolve(this.a.fire({ sessionId: s[0] })); case "reload": return Promise.resolve(this.b.fire({ sessionId: s[0] })); case "terminate": return Promise.resolve(this.c.fire({ sessionId: s[0] })); case "attach": return Promise.resolve(this.d.fire({ sessionId: s[0], port: s[1], subId: s[2] })) }throw new Error("Method not implemented.") } listen(e, t, s) { switch (t) { case "close": return this.a.event; case "reload": return this.b.event; case "terminate": return this.c.event; case "attach": return this.d.event }throw new Error("Method not implemented.") } } } }), Y8, v_ = v({ "out-build/vs/platform/download/common/downloadIpc.js"() { "use strict"; ee(), Y8 = class { constructor(e, t) { this.a = e, this.b = t } async download(e, t) { const s = this.b(); s && (e = s.transformOutgoingURI(e), t = s.transformOutgoingURI(t)), await this.a.call("download", [e, t]) } } } }); function X8(e) { return e.toJSON() } function Q8(e, t, s) { if (!e || s > 200) return null; if (typeof e == "object") { if (e instanceof E) return t.transformOutgoing(e); for (const i in e) if (Object.hasOwnProperty.call(e, i)) { const n = Q8(e[i], t, s + 1); n !== null && (e[i] = n) } } return null } function Jn(e, t) { const s = Q8(e, t, 0); return s === null ? e : s } function Ng(e, t, s, i) { if (!e || i > 200) return null; if (typeof e == "object") { if (e.$mid === 1) return s ? E.revive(t.transformIncoming(e)) : t.transformIncoming(e); if (e instanceof O) return null; for (const n in e) if (Object.hasOwnProperty.call(e, n)) { const r = Ng(e[n], t, s, i + 1); r !== null && (e[n] = r) } } return null } function Z8(e, t) { const s = Ng(e, t, !1, 0); return s === null ? e : s } function K8(e, t) { const s = Ng(e, t, !0, 0); return s === null ? e : s } var e2, Og, nl = v({ "out-build/vs/base/common/uriIpc.js"() { "use strict"; Me(), ee(), e2 = class { constructor(e) { this.a = e } transformIncoming(e) { const t = this.a.transformIncoming(e); return t === e ? e : X8(E.from(t)) } transformOutgoing(e) { const t = this.a.transformOutgoing(e); return t === e ? e : X8(E.from(t)) } transformOutgoingURI(e) { const t = this.a.transformOutgoing(e); return t === e ? e : E.from(t) } transformOutgoingScheme(e) { return this.a.transformOutgoingScheme(e) } }, Og = new class { transformIncoming(e) { return e } transformOutgoing(e) { return e } transformOutgoingURI(e) { return e } transformOutgoingScheme(e) { return e } } } }); function ui(e, t) { return e ? E.revive(t ? t.transformIncoming(e) : e) : void 0 } function ea(e, t) { return t ? t.transformOutgoingURI(e) : e } function ta(e, t) { t = t || Og; const s = e.manifest; return { ...K8({ ...e, manifest: void 0 }, t), manifest: s } } function rl(e, t) { return e?.profileLocation ? K8(e, t ?? Og) : e } function ol(e, t) { return t ? un(e, s => s instanceof E ? t.transformOutgoingURI(s) : void 0) : e } var t2, b_ = v({ "out-build/vs/platform/extensionManagement/common/extensionManagementIpc.js"() { "use strict"; re(), es(), ee(), nl(), xh(), t2 = class { constructor(e, t) { this.a = e, this.b = t, this.onInstallExtension = H.buffer(e.onInstallExtension, !0), this.onDidInstallExtensions = H.buffer(e.onDidInstallExtensions, !0), this.onUninstallExtension = H.buffer(e.onUninstallExtension, !0), this.onDidUninstallExtension = H.buffer(e.onDidUninstallExtension, !0), this.onDidUpdateExtensionMetadata = H.buffer(e.onDidUpdateExtensionMetadata, !0) } listen(e, t) { const s = this.b(e); switch (t) { case "onInstallExtension": return H.map(this.onInstallExtension, i => ({ ...i, profileLocation: i.profileLocation ? ea(i.profileLocation, s) : i.profileLocation })); case "onDidInstallExtensions": return H.map(this.onDidInstallExtensions, i => i.map(n => ({ ...n, local: n.local ? ol(n.local, s) : n.local, profileLocation: n.profileLocation ? ea(n.profileLocation, s) : n.profileLocation }))); case "onUninstallExtension": return H.map(this.onUninstallExtension, i => ({ ...i, profileLocation: i.profileLocation ? ea(i.profileLocation, s) : i.profileLocation })); case "onDidUninstallExtension": return H.map(this.onDidUninstallExtension, i => ({ ...i, profileLocation: i.profileLocation ? ea(i.profileLocation, s) : i.profileLocation })); case "onDidUpdateExtensionMetadata": return H.map(this.onDidUpdateExtensionMetadata, i => ({ local: ol(i.local, s), profileLocation: ea(i.profileLocation, s) })) }throw new Error("Invalid listen") } async call(e, t, s) { const i = this.b(e); switch (t) { case "zip": { const n = ta(s[0], i), r = await this.a.zip(n); return ea(r, i) } case "install": return this.a.install(ui(s[0], i), rl(s[1], i)); case "installFromLocation": return this.a.installFromLocation(ui(s[0], i), ui(s[1], i)); case "installExtensionsFromProfile": return this.a.installExtensionsFromProfile(s[0], ui(s[1], i), ui(s[2], i)); case "getManifest": return this.a.getManifest(ui(s[0], i)); case "getTargetPlatform": return this.a.getTargetPlatform(); case "installFromGallery": return this.a.installFromGallery(s[0], rl(s[1], i)); case "installGalleryExtensions": { const n = s[0]; return this.a.installGalleryExtensions(n.map(({ extension: r, options: o }) => ({ extension: r, options: rl(o, i) ?? {} }))) } case "uninstall": return this.a.uninstall(ta(s[0], i), rl(s[1], i)); case "uninstallExtensions": { const n = s[0]; return this.a.uninstallExtensions(n.map(({ extension: r, options: o }) => ({ extension: ta(r, i), options: rl(o, i) }))) } case "reinstallFromGallery": return this.a.reinstallFromGallery(ta(s[0], i)); case "getInstalled": return (await this.a.getInstalled(s[0], ui(s[1], i), s[2])).map(r => ol(r, i)); case "toggleAppliationScope": { const n = await this.a.toggleAppliationScope(ta(s[0], i), ui(s[1], i)); return ol(n, i) } case "copyExtensions": return this.a.copyExtensions(ui(s[0], i), ui(s[1], i)); case "updateMetadata": { const n = await this.a.updateMetadata(ta(s[0], i), s[1], ui(s[2], i)); return ol(n, i) } case "resetPinnedStateForAllUserExtensions": return this.a.resetPinnedStateForAllUserExtensions(s[0]); case "getExtensionsControlManifest": return this.a.getExtensionsControlManifest(); case "download": return this.a.download(s[0], s[1], s[2]); case "cleanUp": return this.a.cleanUp() }throw new Error("Invalid call") } } } }), s2, y_ = v({ "out-build/vs/platform/request/common/requestIpc.js"() { "use strict"; Me(), Dt(), s2 = class { constructor(e) { this.a = e } listen(e, t) { throw new Error("Invalid listen") } call(e, t, s, i = Ne.None) { switch (t) { case "request": return this.a.request(s[0], i).then(async ({ res: n, stream: r }) => { const o = await rn(r); return [{ statusCode: n.statusCode, headers: n.headers }, o] }); case "resolveProxy": return this.a.resolveProxy(s[0]); case "lookupAuthorization": return this.a.lookupAuthorization(s[0]); case "lookupKerberosAuthorization": return this.a.lookupKerberosAuthorization(s[0]); case "loadCertificates": return this.a.loadCertificates() }throw new Error("Invalid call") } } } }), Cg, i2, E_ = v({
  286. "out-build/vs/platform/telemetry/common/errorTelemetry.js"() {
  287. "use strict"; Et(), fe(), z(), es(), st(), function (e) { function t(s, i) { return s.callstack < i.callstack ? -1 : s.callstack > i.callstack ? 1 : 0 } e.compare = t }(Cg || (Cg = {})), i2 = class OI {
  288. static { this.ERROR_FLUSH_TIMEOUT = 5 * 1e3 } constructor(t, s = OI.ERROR_FLUSH_TIMEOUT) { this.f = -1, this.g = [], this.h = new ut, this.c = t, this.d = s; const i = _a.addListener(n => this.j(n)); this.h.add(ye(i)), this.i() } dispose() { clearTimeout(this.f), this.l(), this.h.dispose() } i() { } j(t) {
  289. if (!t || t.code || (t.detail && t.detail.stack && (t = t.detail), Xi.isErrorNoTelemetry(t) || t instanceof Jt || typeof t?.message == "string" && t.message.includes("Unable to read file"))) return; const s = Array.isArray(t.stack) ? t.stack.join(`
  290. `) : t.stack, i = t.message ? t.message : Lp(t); s && this.k({ msg: i, callstack: s })
  291. } k(t) { const s = fA(this.g, t, Cg.compare); s < 0 ? (t.count = 1, this.g.splice(~s, 0, t)) : (this.g[s].count || (this.g[s].count = 0), this.g[s].count += 1), this.f === -1 && (this.f = setTimeout(() => { this.l(), this.f = -1 }, this.d)) } l() { for (const t of this.g) this.c.publicLogError2("UnhandledError", t); this.g.length = 0 }
  292. }
  293. }
  294. }), n2, x_ = v({ "out-build/vs/platform/telemetry/node/errorTelemetry.js"() { "use strict"; fe(), E_(), n2 = class extends i2 { i() { Bv(t => console.error(t)); const e = []; process.on("unhandledRejection", (t, s) => { e.push(s), setTimeout(() => { const i = e.indexOf(s); i >= 0 && s.catch(n => { e.splice(i, 1), In(n) || (console.warn(`rejected promise not handled within 1 second: ${n}`), n.stack && console.warn(`stack trace: ${n.stack}`), t && Vt(t)) }) }, 1e3) }), process.on("rejectionHandled", t => { const s = e.indexOf(t); s >= 0 && e.splice(s, 1) }), process.on("uncaughtException", t => { Hv(t) || Vt(t) }) } } } }), k_, r2, o2, a2, c2, l2, u2, al, h2, f2, gs, d2, p2, m2, g2, w2, v2, b2, y2, E2, $_, x2, _g = v({ "out-build/vs/platform/terminal/common/terminal.js"() { "use strict"; oe(), wo(), hn(), k_ = new Ee("terminalTabFocusMode", !1, !0), function (e) { e.AutomationProfile = "terminal.integrated.automationProfile.", e.DefaultProfile = "terminal.integrated.defaultProfile.", e.Profiles = "terminal.integrated.profiles." }(r2 || (r2 = {})), function (e) { e.SendKeybindingsToShell = "terminal.integrated.sendKeybindingsToShell", e.AutomationProfileLinux = "terminal.integrated.automationProfile.linux", e.AutomationProfileMacOs = "terminal.integrated.automationProfile.osx", e.AutomationProfileWindows = "terminal.integrated.automationProfile.windows", e.ProfilesWindows = "terminal.integrated.profiles.windows", e.ProfilesMacOs = "terminal.integrated.profiles.osx", e.ProfilesLinux = "terminal.integrated.profiles.linux", e.DefaultProfileLinux = "terminal.integrated.defaultProfile.linux", e.DefaultProfileMacOs = "terminal.integrated.defaultProfile.osx", e.DefaultProfileWindows = "terminal.integrated.defaultProfile.windows", e.UseWslProfiles = "terminal.integrated.useWslProfiles", e.TabsDefaultColor = "terminal.integrated.tabs.defaultColor", e.TabsDefaultIcon = "terminal.integrated.tabs.defaultIcon", e.TabsEnabled = "terminal.integrated.tabs.enabled", e.TabsEnableAnimation = "terminal.integrated.tabs.enableAnimation", e.TabsHideCondition = "terminal.integrated.tabs.hideCondition", e.TabsShowActiveTerminal = "terminal.integrated.tabs.showActiveTerminal", e.TabsShowActions = "terminal.integrated.tabs.showActions", e.TabsLocation = "terminal.integrated.tabs.location", e.TabsFocusMode = "terminal.integrated.tabs.focusMode", e.MacOptionIsMeta = "terminal.integrated.macOptionIsMeta", e.MacOptionClickForcesSelection = "terminal.integrated.macOptionClickForcesSelection", e.AltClickMovesCursor = "terminal.integrated.altClickMovesCursor", e.CopyOnSelection = "terminal.integrated.copyOnSelection", e.EnableMultiLinePasteWarning = "terminal.integrated.enableMultiLinePasteWarning", e.DrawBoldTextInBrightColors = "terminal.integrated.drawBoldTextInBrightColors", e.FontFamily = "terminal.integrated.fontFamily", e.FontSize = "terminal.integrated.fontSize", e.LetterSpacing = "terminal.integrated.letterSpacing", e.LineHeight = "terminal.integrated.lineHeight", e.MinimumContrastRatio = "terminal.integrated.minimumContrastRatio", e.TabStopWidth = "terminal.integrated.tabStopWidth", e.FastScrollSensitivity = "terminal.integrated.fastScrollSensitivity", e.MouseWheelScrollSensitivity = "terminal.integrated.mouseWheelScrollSensitivity", e.BellDuration = "terminal.integrated.bellDuration", e.FontWeight = "terminal.integrated.fontWeight", e.FontWeightBold = "terminal.integrated.fontWeightBold", e.CursorBlinking = "terminal.integrated.cursorBlinking", e.CursorStyle = "terminal.integrated.cursorStyle", e.CursorStyleInactive = "terminal.integrated.cursorStyleInactive", e.CursorWidth = "terminal.integrated.cursorWidth", e.Scrollback = "terminal.integrated.scrollback", e.DetectLocale = "terminal.integrated.detectLocale", e.DefaultLocation = "terminal.integrated.defaultLocation", e.GpuAcceleration = "terminal.integrated.gpuAcceleration", e.TerminalTitleSeparator = "terminal.integrated.tabs.separator", e.TerminalTitle = "terminal.integrated.tabs.title", e.TerminalDescription = "terminal.integrated.tabs.description", e.RightClickBehavior = "terminal.integrated.rightClickBehavior", e.MiddleClickBehavior = "terminal.integrated.middleClickBehavior", e.Cwd = "terminal.integrated.cwd", e.ConfirmOnExit = "terminal.integrated.confirmOnExit", e.ConfirmOnKill = "terminal.integrated.confirmOnKill", e.EnableBell = "terminal.integrated.enableBell", e.EnableVisualBell = "terminal.integrated.enableVisualBell", e.CommandsToSkipShell = "terminal.integrated.commandsToSkipShell", e.AllowChords = "terminal.integrated.allowChords", e.AllowMnemonics = "terminal.integrated.allowMnemonics", e.TabFocusMode = "terminal.integrated.tabFocusMode", e.EnvMacOs = "terminal.integrated.env.osx", e.EnvLinux = "terminal.integrated.env.linux", e.EnvWindows = "terminal.integrated.env.windows", e.EnvironmentChangesIndicator = "terminal.integrated.environmentChangesIndicator", e.EnvironmentChangesRelaunch = "terminal.integrated.environmentChangesRelaunch", e.ExperimentalWindowsUseConptyDll = "terminal.integrated.experimental.windowsUseConptyDll", e.ShowExitAlert = "terminal.integrated.showExitAlert", e.SplitCwd = "terminal.integrated.splitCwd", e.WindowsEnableConpty = "terminal.integrated.windowsEnableConpty", e.WordSeparators = "terminal.integrated.wordSeparators", e.EnableFileLinks = "terminal.integrated.enableFileLinks", e.AllowedLinkSchemes = "terminal.integrated.allowedLinkSchemes", e.UnicodeVersion = "terminal.integrated.unicodeVersion", e.EnablePersistentSessions = "terminal.integrated.enablePersistentSessions", e.PersistentSessionReviveProcess = "terminal.integrated.persistentSessionReviveProcess", e.HideOnStartup = "terminal.integrated.hideOnStartup", e.CustomGlyphs = "terminal.integrated.customGlyphs", e.RescaleOverlappingGlyphs = "terminal.integrated.rescaleOverlappingGlyphs", e.PersistentSessionScrollback = "terminal.integrated.persistentSessionScrollback", e.InheritEnv = "terminal.integrated.inheritEnv", e.ShowLinkHover = "terminal.integrated.showLinkHover", e.IgnoreProcessNames = "terminal.integrated.ignoreProcessNames", e.ShellIntegrationEnabled = "terminal.integrated.shellIntegration.enabled", e.ShellIntegrationShowWelcome = "terminal.integrated.shellIntegration.showWelcome", e.ShellIntegrationDecorationsEnabled = "terminal.integrated.shellIntegration.decorationsEnabled", e.EnableImages = "terminal.integrated.enableImages", e.SmoothScrolling = "terminal.integrated.smoothScrolling", e.IgnoreBracketedPasteMode = "terminal.integrated.ignoreBracketedPasteMode", e.FocusAfterRun = "terminal.integrated.focusAfterRun", e.FontLigatures = "terminal.integrated.fontLigatures", e.DeveloperPtyHostLatency = "terminal.integrated.developer.ptyHost.latency", e.DeveloperPtyHostStartupDelay = "terminal.integrated.developer.ptyHost.startupDelay", e.DevMode = "terminal.integrated.developer.devMode" }(o2 || (o2 = {})), function (e) { e.Bash = "bash", e.Fish = "fish", e.Sh = "sh", e.Csh = "csh", e.Ksh = "ksh", e.Zsh = "zsh" }(a2 || (a2 = {})), function (e) { e.CommandPrompt = "cmd", e.Wsl = "wsl", e.GitBash = "gitbash" }(c2 || (c2 = {})), function (e) { e.PowerShell = "pwsh", e.Python = "python", e.Julia = "julia", e.NuShell = "nu" }(l2 || (l2 = {})), function (e) { e[e.Api = 0] = "Api", e[e.Process = 1] = "Process", e[e.Sequence = 2] = "Sequence", e[e.Config = 3] = "Config" }(u2 || (u2 = {})), function (e) { e.LocalPty = "localPty", e.PtyHost = "ptyHost", e.PtyHostWindow = "ptyHostWindow", e.Logger = "logger", e.Heartbeat = "heartbeat" }(al || (al = {})), function (e) { e.Cwd = "cwd", e.InitialCwd = "initialCwd", e.FixedDimensions = "fixedDimensions", e.Title = "title", e.ShellType = "shellType", e.HasChildProcesses = "hasChildProcesses", e.ResolvedShellLaunchConfig = "resolvedShellLaunchConfig", e.OverrideDimensions = "overrideDimensions", e.FailedShellIntegrationActivation = "failedShellIntegrationActivation", e.UsedShellIntegrationInjection = "usedShellIntegrationInjection" }(h2 || (h2 = {})), f2 = se("ptyService"), function (e) { e[e.BeatInterval = 5e3] = "BeatInterval", e[e.ConnectingBeatInterval = 2e4] = "ConnectingBeatInterval", e[e.FirstWaitMultiplier = 1.2] = "FirstWaitMultiplier", e[e.SecondWaitMultiplier = 1] = "SecondWaitMultiplier", e[e.CreateProcessTimeout = 5e3] = "CreateProcessTimeout" }(gs || (gs = {})), function (e) { e[e.Panel = 1] = "Panel", e[e.Editor = 2] = "Editor" }(d2 || (d2 = {})), function (e) { e.TerminalView = "view", e.Editor = "editor" }(p2 || (p2 = {})), function (e) { e[e.GraceTime = 6e4] = "GraceTime", e[e.ShortGraceTime = 6e3] = "ShortGraceTime" }(m2 || (m2 = {})), function (e) { e[e.HighWatermarkChars = 1e5] = "HighWatermarkChars", e[e.LowWatermarkChars = 5e3] = "LowWatermarkChars", e[e.CharCountAckSize = 5e3] = "CharCountAckSize" }(g2 || (g2 = {})), function (e) { e.GitBash = "Git Bash", e.Pwsh = "PowerShell" }(w2 || (w2 = {})), function (e) { e[e.Off = 0] = "Off", e[e.FinalTerm = 1] = "FinalTerm", e[e.VSCode = 2] = "VSCode" }(v2 || (v2 = {})), function (e) { e[e.Unknown = 0] = "Unknown", e[e.Shutdown = 1] = "Shutdown", e[e.Process = 2] = "Process", e[e.User = 3] = "User", e[e.Extension = 4] = "Extension" }(b2 || (b2 = {})), y2 = { Backend: "workbench.contributions.terminal.processBackend" }, E2 = class { constructor() { this.a = new Map } get backends() { return this.a } registerTerminalBackend(e) { const t = this.b(e.remoteAuthority); if (this.a.has(t)) throw new Error(`A terminal backend with remote authority '${t}' was already registered.`); this.a.set(t, e) } getTerminalBackend(e) { return this.a.get(this.b(e)) } b(e) { return e?.toLowerCase() ?? "" } }, Mt.add(y2.Backend, new E2), $_ = se("localPtyService"), x2 = se("terminalLogService") } }), k2, $2, S2 = v({ "out-build/vs/platform/log/common/logIpc.js"() { "use strict"; ee(), re(), Re(), z(), k2 = class { constructor(e, t) { this.a = e, this.b = t } listen(e, t) { const s = this.b(e); switch (t) { case "onDidChangeLoggers": return H.map(this.a.onDidChangeLoggers, i => ({ added: [...i.added].map(n => this.c(n, s)), removed: [...i.removed].map(n => this.c(n, s)) })); case "onDidChangeVisibility": return H.map(this.a.onDidChangeVisibility, i => [s.transformOutgoingURI(i[0]), i[1]]); case "onDidChangeLogLevel": return H.map(this.a.onDidChangeLogLevel, i => bp(i) ? i : [s.transformOutgoingURI(i[0]), i[1]]) }throw new Error(`Event not found: ${t}`) } async call(e, t, s) { const i = this.b(e); switch (t) { case "setLogLevel": return bp(s[0]) ? this.a.setLogLevel(s[0]) : this.a.setLogLevel(E.revive(i.transformIncoming(s[0][0])), s[0][1]); case "getRegisteredLoggers": return Promise.resolve([...this.a.getRegisteredLoggers()].map(n => this.c(n, i))) }throw new Error(`Call not found: ${t}`) } c(e, t) { return { ...e, resource: t.transformOutgoingURI(e.resource) } } }, $2 = class extends J { constructor(e, t) { super(), t.call("setLogLevel", [e.getLogLevel()]), this.B(e.onDidChangeLogLevel(s => t.call("setLogLevel", [s]))), t.call("getRegisteredLoggers").then(s => { for (const i of s) e.registerLogger({ ...i, resource: E.revive(i.resource) }) }), this.B(t.listen("onDidChangeVisibility")(([s, i]) => e.setVisibility(E.revive(s), i))), this.B(t.listen("onDidChangeLoggers")(({ added: s, removed: i }) => { for (const n of s) e.registerLogger({ ...n, resource: E.revive(n.resource) }); for (const n of i) e.deregisterLogger(n.resource) })) } } } }), sf, S_ = v({ "out-build/vs/platform/terminal/common/requestStore.js"() { "use strict"; Ue(), Dt(), re(), z(), Re(), sf = class extends J { constructor(t, s) { super(), this.h = s, this.a = 0, this.c = new Map, this.f = new Map, this.g = this.B(new D), this.onCreateRequest = this.g.event, this.b = t === void 0 ? 15e3 : t, this.B(ye(() => { for (const i of this.f.values()) Ut(i) })) } createRequest(t) { return new Promise((s, i) => { const n = ++this.a; this.c.set(n, s), this.g.fire({ requestId: n, ...t }); const r = new Ei; Sr(this.b, r.token).then(() => i(`Request ${n} timed out (${this.b}ms)`)), this.f.set(n, [ye(() => r.cancel())]) }) } acceptReply(t, s) { const i = this.c.get(t); i ? (this.c.delete(t), Ut(this.f.get(t) || []), this.f.delete(t), i(s)) : this.h.warn(`RequestStore#acceptReply was called without receiving a matching request ${t}`) } }, sf = __decorate([__param(1, pe)], sf) } }); function P_(e, t) { const s = [{ name: null, description: m(2157, null) }]; return s.push(...e.map(i => ({ name: i.profileName, description: I_(i) }))), t && s.push(...t.map(i => ({ name: i.title, description: A_(i) }))), { values: s.map(i => i.name), markdownDescriptions: s.map(i => i.description) } } function I_(e) {
  295. let t = `$(${zn.isThemeIcon(e.icon) ? e.icon.id : e.icon ? e.icon : T.terminal.id}) ${e.profileName}
  296. - path: ${e.path}`; return e.args && (typeof e.args == "string" ? t += `
  297. - args: "${e.args}"` : t += `
  298. - args: [${e.args.length === 0 ? "" : `'${e.args.join("','")}'`}]`), e.overrideName !== void 0 && (t += `
  299. - overrideName: ${e.overrideName}`), e.color && (t += `
  300. - color: ${e.color}`), e.env && (t += `
  301. - env: ${JSON.stringify(e.env)}`), t
  302. } function A_(e) {
  303. return `$(${zn.isThemeIcon(e.icon) ? e.icon.id : e.icon ? e.icon : T.terminal.id}) ${e.title}
  304. - extensionIdentifier: ${e.extensionIdentifier}`
  305. } var D_ = v({ "out-build/vs/platform/terminal/common/terminalProfiles.js"() { "use strict"; _c(), ee(), he(), vh() } }); function jg(e) { const t = e === 2 ? "linux" : e === 1 ? "osx" : "windows"; return m(2133, null, Qv(e), '```json\n"terminal.integrated.profile.' + t + '": {\n "bash": null\n}\n```', "[", "](https://code.visualstudio.com/docs/terminal/profiles)") } function R_() { Mt.as(Ps.Configuration).registerConfiguration(A2), L_() } function L_(e, t) { const s = Mt.as(Ps.Configuration); let i; e && (i = P_(e?.profiles, t)); const n = Tg; Tg = { id: "terminal", order: 100, title: m(2153, null), type: "object", properties: { "terminal.integrated.defaultProfile.linux": { restricted: !0, markdownDescription: m(2154, null), type: ["string", "null"], default: null, enum: e?.os === 3 ? i?.values : void 0, markdownEnumDescriptions: e?.os === 3 ? i?.markdownDescriptions : void 0 }, "terminal.integrated.defaultProfile.osx": { restricted: !0, markdownDescription: m(2155, null), type: ["string", "null"], default: null, enum: e?.os === 2 ? i?.values : void 0, markdownEnumDescriptions: e?.os === 2 ? i?.markdownDescriptions : void 0 }, "terminal.integrated.defaultProfile.windows": { restricted: !0, markdownDescription: m(2156, null), type: ["string", "null"], default: null, enum: e?.os === 1 ? i?.values : void 0, markdownEnumDescriptions: e?.os === 1 ? i?.markdownDescriptions : void 0 } } }, s.updateConfigurations({ add: [Tg], remove: n ? [n] : [] }) } var P2, I2, Tr, nf, rf, A2, Tg, N_ = v({ "out-build/vs/platform/terminal/common/terminalPlatformConfiguration.js"() { "use strict"; _c(), X(), he(), Io(), hn(), D_(), P2 = { type: ["string", "null"], enum: ["terminal.ansiBlack", "terminal.ansiRed", "terminal.ansiGreen", "terminal.ansiYellow", "terminal.ansiBlue", "terminal.ansiMagenta", "terminal.ansiCyan", "terminal.ansiWhite"], default: null }, I2 = { type: "string", enum: Array.from(N9(), e => e.id), markdownEnumDescriptions: Array.from(N9(), e => `$(${e.id})`) }, Tr = { args: { description: m(2126, null), type: "array", items: { type: "string" } }, overrideName: { description: m(2127, null), type: "boolean" }, icon: { description: m(2128, null), ...I2 }, color: { description: m(2129, null), ...P2 }, env: { markdownDescription: m(2130, null), type: "object", additionalProperties: { type: ["string", "null"] }, default: {} } }, nf = { type: "object", required: ["path"], properties: { path: { description: m(2131, null), type: ["string", "array"], items: { type: "string" } }, ...Tr } }, rf = { type: "object", required: ["path"], properties: { path: { description: m(2132, null), type: ["string"], items: { type: "string" } }, ...Tr } }, A2 = { id: "terminal", order: 100, title: m(2134, null), type: "object", properties: { "terminal.integrated.automationProfile.linux": { restricted: !0, markdownDescription: m(2135, null), type: ["object", "null"], default: null, anyOf: [{ type: "null" }, rf], defaultSnippets: [{ body: { path: "${1}", icon: "${2}" } }] }, "terminal.integrated.automationProfile.osx": { restricted: !0, markdownDescription: m(2136, null), type: ["object", "null"], default: null, anyOf: [{ type: "null" }, rf], defaultSnippets: [{ body: { path: "${1}", icon: "${2}" } }] }, "terminal.integrated.automationProfile.windows": { restricted: !0, markdownDescription: m(2137, null, "`terminal.integrated.automationShell.windows`"), type: ["object", "null"], default: null, anyOf: [{ type: "null" }, rf], defaultSnippets: [{ body: { path: "${1}", icon: "${2}" } }] }, "terminal.integrated.profiles.windows": { restricted: !0, markdownDescription: jg(3), type: "object", default: { PowerShell: { source: "PowerShell", icon: "terminal-powershell" }, "Command Prompt": { path: ["${env:windir}\\Sysnative\\cmd.exe", "${env:windir}\\System32\\cmd.exe"], args: [], icon: "terminal-cmd" }, "Git Bash": { source: "Git Bash" } }, additionalProperties: { anyOf: [{ type: "object", required: ["source"], properties: { source: { description: m(2138, null), enum: ["PowerShell", "Git Bash"] }, ...Tr } }, { type: "object", required: ["extensionIdentifier", "id", "title"], properties: { extensionIdentifier: { description: m(2139, null), type: "string" }, id: { description: m(2140, null), type: "string" }, title: { description: m(2141, null), type: "string" }, ...Tr } }, { type: "null" }, nf] } }, "terminal.integrated.profiles.osx": { restricted: !0, markdownDescription: jg(1), type: "object", default: { bash: { path: "bash", args: ["-l"], icon: "terminal-bash" }, zsh: { path: "zsh", args: ["-l"] }, fish: { path: "fish", args: ["-l"] }, tmux: { path: "tmux", icon: "terminal-tmux" }, pwsh: { path: "pwsh", icon: "terminal-powershell" } }, additionalProperties: { anyOf: [{ type: "object", required: ["extensionIdentifier", "id", "title"], properties: { extensionIdentifier: { description: m(2142, null), type: "string" }, id: { description: m(2143, null), type: "string" }, title: { description: m(2144, null), type: "string" }, ...Tr } }, { type: "null" }, nf] } }, "terminal.integrated.profiles.linux": { restricted: !0, markdownDescription: jg(2), type: "object", default: { bash: { path: "bash", icon: "terminal-bash" }, zsh: { path: "zsh" }, fish: { path: "fish" }, tmux: { path: "tmux", icon: "terminal-tmux" }, pwsh: { path: "pwsh", icon: "terminal-powershell" } }, additionalProperties: { anyOf: [{ type: "object", required: ["extensionIdentifier", "id", "title"], properties: { extensionIdentifier: { description: m(2145, null), type: "string" }, id: { description: m(2146, null), type: "string" }, title: { description: m(2147, null), type: "string" }, ...Tr } }, { type: "null" }, nf] } }, "terminal.integrated.useWslProfiles": { description: m(2148, null), type: "boolean", default: !0 }, "terminal.integrated.inheritEnv": { scope: 1, description: m(2149, null), type: "boolean", default: !0 }, "terminal.integrated.persistentSessionScrollback": { scope: 1, markdownDescription: m(2150, null), type: "number", default: 100 }, "terminal.integrated.showLinkHover": { scope: 1, description: m(2151, null), type: "boolean", default: !0 }, "terminal.integrated.ignoreProcessNames": { markdownDescription: m(2152, null, "`#terminal.integrated.confirmOnKill#`"), type: "array", items: { type: "string", uniqueItems: !0 }, default: ["starship", "oh-my-posh", "bash", "zsh"] } } } } }), bn, D2 = v({ "out-build/vs/platform/terminal/common/environmentVariable.js"() { "use strict"; (function (e) { e[e.Replace = 1] = "Replace", e[e.Append = 2] = "Append", e[e.Prepend = 3] = "Prepend" })(bn || (bn = {})) } }); function O_(e) { return [...e.entries()] } function C_(e) { return e ? [...e.entries()] : [] } function __(e) { return new Map(e) } function j_(e) { return new Map(e ?? []) } var Ug = v({ "out-build/vs/platform/terminal/common/environmentVariableShared.js"() { "use strict" } }); function R2(e, t, s = !1) { return e.scope ? !!(e.scope.workspaceFolder && t?.workspaceFolder && e.scope.workspaceFolder.index === t.workspaceFolder.index) : s ? t === e.scope : !0 } function L2(e, t) { if (!t) return e; const s = new Set; t.forEach(n => s.add(n.extensionIdentifier)); const i = []; return e.forEach(n => { s.has(n.extensionIdentifier) || i.push(n) }), i.length === 0 ? void 0 : i } function T_(e, t) { if (!t) return; const s = new Map; t.forEach(n => s.set(n.extensionIdentifier, n)); const i = []; return e.forEach(n => { const r = s.get(n.extensionIdentifier); r && (n.type !== r.type || n.value !== r.value || n.scope?.workspaceFolder?.index !== r.scope?.workspaceFolder?.index) && i.push(r) }), i.length === 0 ? void 0 : i } var N2, O2, C2 = v({ "out-build/vs/platform/terminal/common/environmentVariableCollection.js"() { "use strict"; X(), D2(), N2 = new Map([[bn.Append, "APPEND"], [bn.Prepend, "PREPEND"], [bn.Replace, "REPLACE"]]), O2 = class { constructor(e) { this.collections = e, this.a = new Map, this.b = new Map, e.forEach((t, s) => { this.d(t, s); const i = t.map.entries(); let n = i.next(); for (; !n.done;) { const r = n.value[1], o = n.value[0]; let a = this.a.get(o); if (a || (a = [], this.a.set(o, a)), a.length > 0 && a[0].type === bn.Replace) { n = i.next(); continue } const c = { extensionIdentifier: s, value: r.value, type: r.type, scope: r.scope, variable: r.variable, options: r.options }; c.scope || delete c.scope, a.unshift(c), n = i.next() } }) } async applyToProcessEnvironment(e, t, s) { let i; me && (i = {}, Object.keys(e).forEach(n => i[n.toLowerCase()] = n)); for (const [n, r] of this.getVariableMap(t)) { const o = me && i[n.toLowerCase()] || n; for (const a of r) { const c = s ? await s(a.value) : a.value; if (a.options?.applyAtProcessCreation ?? !0) switch (a.type) { case bn.Append: e[o] = (e[o] || "") + c; break; case bn.Prepend: e[o] = c + (e[o] || ""); break; case bn.Replace: e[o] = c; break }if (a.options?.applyAtShellIntegration ?? !1) { const l = `VSCODE_ENV_${N2.get(a.type)}`; e[l] = (e[l] ? e[l] + ":" : "") + n + "=" + this.c(c) } } } } c(e) { return e.replaceAll(":", "\\x3a") } diff(e, t) { const s = new Map, i = new Map, n = new Map; if (e.getVariableMap(t).forEach((r, o) => { const a = this.getVariableMap(t).get(o), c = L2(r, a); c && s.set(o, c) }), this.getVariableMap(t).forEach((r, o) => { const a = e.getVariableMap(t).get(o), c = L2(r, a); c && n.set(o, c) }), this.getVariableMap(t).forEach((r, o) => { const a = e.getVariableMap(t).get(o), c = T_(r, a); c && i.set(o, c) }), !(s.size === 0 && i.size === 0 && n.size === 0)) return { added: s, changed: i, removed: n } } getVariableMap(e) { const t = new Map; for (const s of this.a.values()) { const i = s.filter(n => R2(n, e)); i.length > 0 && t.set(i[0].variable, i) } return t } getDescriptionMap(e) { const t = new Map; for (const s of this.b.values()) { const i = s.filter(n => R2(n, e, !0)); for (const n of i) t.set(n.extensionIdentifier, n.description) } return t } d(e, t) { if (!e.descriptionMap) return; const s = e.descriptionMap.entries(); let i = s.next(); for (; !i.done;) { const n = i.value[1], r = i.value[0]; let o = this.b.get(r); o || (o = [], this.b.set(r, o)); const a = { extensionIdentifier: t, scope: n.scope, description: n.description }; a.scope || delete a.scope, o.push(a), i = s.next() } } } } }); import *as U_ from "os"; function M_() { const e = /(\d+)\.(\d+)\.(\d+)/g.exec(U_.release()); let t = 0; return e && e.length === 4 && (t = parseInt(e[3])), t } async function _2(e, t, s, i = js, n = Pe.exists) { if (sn(e)) return await n(e) ? e : void 0; if (t === void 0 && (t = xi()), Ct(e) !== ".") { const c = _(t, e); return await n(c) ? c : void 0 } const o = VD(i, "PATH"); if (s === void 0 && ve(o) && (s = o.split(lo)), s === void 0 || s.length === 0) { const c = _(t, e); return await n(c) ? c : void 0 } for (const c of s) { let l; if (sn(c) ? l = _(c, e) : l = _(t, c, e), await n(l)) return l; if (me) { let u = l + ".com"; if (await n(u) || (u = l + ".exe", await n(u))) return u } } const a = _(t, e); return await n(a) ? a : void 0 } var hi, Li, F_ = v({ "out-build/vs/platform/terminal/node/terminalEnvironment.js"() { "use strict"; De(), es(), de(), X(), ti(), et(), $e(), ss(), D2(), Ug(), C2(), function (e) { e.WindowsPwsh = "windows-pwsh", e.WindowsPwshLogin = "windows-pwsh-login", e.Pwsh = "pwsh", e.PwshLogin = "pwsh-login", e.Zsh = "zsh", e.ZshLogin = "zsh-login", e.Bash = "bash", e.Fish = "fish", e.FishLogin = "fish-login" }(hi || (hi = {})), Li = new Map, Li.set(hi.WindowsPwsh, ["-noexit", "-command", 'try { . "{0}\\out\\vs\\workbench\\contrib\\terminal\\common\\scripts\\shellIntegration.ps1" } catch {}{1}']), Li.set(hi.WindowsPwshLogin, ["-l", "-noexit", "-command", 'try { . "{0}\\out\\vs\\workbench\\contrib\\terminal\\common\\scripts\\shellIntegration.ps1" } catch {}{1}']), Li.set(hi.Pwsh, ["-noexit", "-command", '. "{0}/out/vs/workbench/contrib/terminal/common/scripts/shellIntegration.ps1"{1}']), Li.set(hi.PwshLogin, ["-l", "-noexit", "-command", '. "{0}/out/vs/workbench/contrib/terminal/common/scripts/shellIntegration.ps1"']), Li.set(hi.Zsh, ["-i"]), Li.set(hi.ZshLogin, ["-il"]), Li.set(hi.Bash, ["--init-file", "{0}/out/vs/workbench/contrib/terminal/common/scripts/shellIntegration-bash.sh"]), Li.set(hi.Fish, ["--init-command", 'source "{0}/out/vs/workbench/contrib/terminal/common/scripts/shellIntegration.fish"']), Li.set(hi.FishLogin, ["-l", "--init-command", 'source "{0}/out/vs/workbench/contrib/terminal/common/scripts/shellIntegration.fish"']) } }); import *as B_ from "fs"; import *as H_ from "child_process"; import { dirname as z_, resolve as V_ } from "path"; function W_(e, t, s, i, n = process.env, r, o, a, c) { return r = r || { existsFile: ms.existsFile, readFile: B_.promises.readFile }, me ? q_(s, r, n, o, i.getValue("terminal.integrated.useWslProfiles") !== !1, e && typeof e == "object" ? { ...e } : i.getValue("terminal.integrated.profiles.windows"), typeof t == "string" ? t : i.getValue("terminal.integrated.defaultProfile.windows"), c, a) : K_(r, o, s, e && typeof e == "object" ? { ...e } : i.getValue(rt ? "terminal.integrated.profiles.linux" : "terminal.integrated.profiles.osx"), typeof t == "string" ? t : i.getValue(rt ? "terminal.integrated.defaultProfile.linux" : "terminal.integrated.defaultProfile.osx"), c, a, n) } async function q_(e, t, s, i, n, r, o, a, c) { const l = process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432"), u = `${process.env.windir}\\${l ? "Sysnative" : "System32"}`; let h = !1; M_() >= 16299 && (h = !0), await J_(a); const d = new Map; if (e) { d.set("PowerShell", { source: "PowerShell", icon: T.terminalPowershell, isAutoDetected: !0 }), d.set("Windows PowerShell", { path: `${u}\\WindowsPowerShell\\v1.0\\powershell.exe`, icon: T.terminalPowershell, isAutoDetected: !0 }), d.set("Git Bash", { source: "Git Bash", isAutoDetected: !0 }), d.set("Command Prompt", { path: `${u}\\cmd.exe`, icon: T.terminalCmd, isAutoDetected: !0 }), d.set("Cygwin", { path: [{ path: `${process.env.HOMEDRIVE}\\cygwin64\\bin\\bash.exe`, isUnsafe: !0 }, { path: `${process.env.HOMEDRIVE}\\cygwin\\bin\\bash.exe`, isUnsafe: !0 }], args: ["--login"], isAutoDetected: !0 }), d.set("bash (MSYS2)", { path: [{ path: `${process.env.HOMEDRIVE}\\msys64\\usr\\bin\\bash.exe`, isUnsafe: !0 }], args: ["--login", "-i"], env: { CHERE_INVOKING: "1" }, icon: T.terminalBash, isAutoDetected: !0 }); const g = `${process.env.CMDER_ROOT || `${process.env.HOMEDRIVE}\\cmder`}\\vendor\\bin\\vscode_init.cmd`; d.set("Cmder", { path: `${u}\\cmd.exe`, args: ["/K", g], requiresPath: process.env.CMDER_ROOT ? g : { path: g, isUnsafe: !0 }, isAutoDetected: !0 }) } U2(r, d); const p = await j2(d.entries(), o, t, s, i, c); if (e && n) try { const g = await Q_(`${u}\\${h ? "wsl" : "bash"}.exe`, o); for (const w of g) (!r || !(w.profileName in r)) && p.push(w) } catch { Mg && (i?.trace("WSL is not installed, so could not detect WSL profiles"), Mg = !1) } return p } async function j2(e, t, s, i = process.env, n, r) { const o = []; for (const [a, c] of e) o.push(G_(a, c, t, s, i, n, r)); return (await Promise.all(o)).filter(a => !!a) } async function G_(e, t, s, i, n = process.env, r, o) { if (t === null) return; let a, c, l; if ("source" in t && !("path" in t)) { const p = cl?.get(t.source); if (!p) return; a = p.paths, c = t.args || p.args, t.icon ? l = T2(t.icon) : p.icon && (l = p.icon) } else a = Array.isArray(t.path) ? t.path : [t.path], c = me || Array.isArray(t.args) ? t.args : void 0, l = T2(t.icon); let u; if (o) { const p = a.map(w => typeof w == "string" ? w : w.path), g = await o(p); u = new Array(a.length); for (let w = 0; w < a.length; w++)typeof a[w] == "string" ? u[w] = g[w] : u[w] = { path: g[w], isUnsafe: !0 } } else u = a.slice(); let h; if (t.requiresPath) { let p; if (ve(t.requiresPath) ? p = t.requiresPath : (p = t.requiresPath.path, t.requiresPath.isUnsafe && (h = p)), !await i.existsFile(p)) return } const d = await of(e, s, u, i, n, c, t.env, t.overrideName, t.isAutoDetected, h); if (!d) { r?.debug("Terminal profile not validated", e, a); return } return d.isAutoDetected = t.isAutoDetected, d.icon = l, d.color = t.color, d } function T2(e) { return typeof e == "string" ? { id: e } : e } async function J_(e) { if (cl && !e) return; const [t, s] = await Promise.all([Y_(), e || X_()]); cl = new Map, cl.set("Git Bash", { profileName: "Git Bash", paths: t, args: ["--login", "-i"] }), cl.set("PowerShell", { profileName: "PowerShell", paths: s, icon: T.terminalPowershell }) } async function Y_() { const e = new Set, t = await _2("git.exe"); if (t) { const n = z_(t); e.add(V_(n, "../..")) } function s(n, r) { r && n.add(r) } s(e, process.env.ProgramW6432), s(e, process.env.ProgramFiles), s(e, process.env["ProgramFiles(X86)"]), s(e, `${process.env.LocalAppData}\\Program`); const i = []; for (const n of e) i.push(`${n}\\Git\\bin\\bash.exe`, `${n}\\Git\\usr\\bin\\bash.exe`, `${n}\\usr\\bin\\bash.exe`); return i.push(`${process.env.UserProfile}\\scoop\\apps\\git\\current\\bin\\bash.exe`), i.push(`${process.env.UserProfile}\\scoop\\apps\\git-with-openssh\\current\\bin\\bash.exe`), i } async function X_() { const e = []; for await (const t of p5()) e.push(t.exePath); return e } async function Q_(e, t) { const s = [], i = await new Promise((o, a) => { H_.exec("wsl.exe -l -q", { encoding: "utf16le", timeout: 1e3 }, (c, l) => { if (c) return a("Problem occurred when getting wsl distros"); o(l) }) }); if (!i) return []; const n = new RegExp(/[\r?\n]/), r = i.split(n).filter(o => o.trim().length > 0 && o !== ""); for (const o of r) { if (o === "" || o.startsWith("docker-desktop")) continue; const a = `${o} (WSL)`, c = { profileName: a, path: e, args: ["-d", `${o}`], isDefault: a === t, icon: Z_(o), isAutoDetected: !1 }; s.push(c) } return s } function Z_(e) { return e.includes("Ubuntu") ? T.terminalUbuntu : e.includes("Debian") ? T.terminalDebian : T.terminalLinux } async function K_(e, t, s, i, n, r, o, a) {
  306. const c = new Map; if (s && await e.existsFile("/etc/shells")) {
  307. const l = (await e.readFile("/etc/shells")).toString(), u = (r || l.split(`
  308. `)).map(d => { const p = d.indexOf("#"); return p === -1 ? d : d.substring(0, p) }).filter(d => d.trim().length > 0), h = new Map; for (const d of u) { let p = at(d), g = h.get(p) || 0; g++, g > 1 && (p = `${p} (${g})`), h.set(p, g), c.set(p, { path: d, isAutoDetected: !0 }) }
  309. } return U2(i, c), await j2(c.entries(), n, e, a, t, o)
  310. } function U2(e, t) { if (e) for (const [s, i] of Object.entries(e)) i === null || typeof i != "object" || !("path" in i) && !("source" in i) ? t.delete(s) : (i.icon = i.icon || t.get(s)?.icon, t.set(s, i)) } async function of(e, t, s, i, n, r, o, a, c, l) { if (s.length === 0) return Promise.resolve(void 0); const u = s.shift(); if (u === "") return of(e, t, s, i, n, r, o, a, c); const h = typeof u != "string" && u.isUnsafe, d = typeof u == "string" ? u : u.path, p = { profileName: e, path: d, args: r, env: o, overrideName: a, isAutoDetected: c, isDefault: e === t, isUnsafePath: h, requiresUnsafePath: l }; if (at(d) === d) { const w = n.PATH ? n.PATH.split(lo) : void 0, y = await _2(d, void 0, w, void 0, i.existsFile); return y ? (p.path = y, p.isFromPath = !0, p) : of(e, t, s, i, n, r) } return await i.existsFile(si(d)) ? p : of(e, t, s, i, n, r, o, a, c) } var M2, cl, Mg, ej = v({ "out-build/vs/platform/terminal/node/terminalProfiles.js"() { "use strict"; _c(), de(), X(), $e(), ss(), v5(), F_(), function (e) { e.UnixShellsPath = "/etc/shells" }(M2 || (M2 = {})), Mg = !0 } }), Fg, af, tj = v({ "out-build/vs/platform/terminal/node/ptyHostService.js"() { "use strict"; re(), z(), X(), qo(), ds(), Re(), S2(), Xp(), S_(), _g(), N_(), ej(), P5(), co(), function (e) { e[e.MaxRestarts = 5] = "MaxRestarts" }(Fg || (Fg = {})), af = class extends J { get c() { return this.h(), this.a } get f() { return this.h(), this.b } get g() { return this.b } h() { this.a || this.U() } constructor(t, s, i, n) { super(), this.M = t, this.N = s, this.O = i, this.P = n, this.m = !1, this.n = 0, this.r = !0, this.u = this.B(new D), this.onPtyHostExit = this.u.event, this.w = this.B(new D), this.onPtyHostStart = this.w.event, this.y = this.B(new D), this.onPtyHostUnresponsive = this.y.event, this.z = this.B(new D), this.onPtyHostResponsive = this.z.event, this.C = this.B(new D), this.onPtyHostRequestResolveVariables = this.C.event, this.D = this.B(new D), this.onProcessData = this.D.event, this.F = this.B(new D), this.onProcessReady = this.F.event, this.G = this.B(new D), this.onProcessReplay = this.G.event, this.H = this.B(new D), this.onProcessOrphanQuestion = this.H.event, this.I = this.B(new D), this.onDidRequestDetach = this.I.event, this.J = this.B(new D), this.onDidChangeProperty = this.J.event, this.L = this.B(new D), this.onProcessExit = this.L.event, R_(), this.B(this.M), this.B(ye(() => this.W())), this.j = this.B(new sf(void 0, this.O)), this.B(this.j.onCreateRequest(this.C.fire, this.C)), this.M.onRequestConnection && this.B(H.once(this.M.onRequestConnection)(() => this.h())), this.M.onWillShutdown && this.B(this.M.onWillShutdown(() => this.m = !0)) } get Q() { return this.N.getValue("terminal.integrated.ignoreProcessNames") } async R() { return this.g?.refreshIgnoreProcessNames?.(this.Q) } async S() { if (me) return process.env; try { return await Yp(this.N, this.O, { _: [] }, process.env) } catch (t) { return this.O.error("ptyHost was unable to resolve shell environment", t), {} } } U() { const t = this.M.start(), s = t.client; this.O.getLevel() === F.Trace && this.O.trace("PtyHostService#_startPtyHost", new Error().stack?.replace(/^Error/, "")), Yc.toService(s.getChannel(al.Heartbeat)).onBeat(() => this.X()), this.X(!0), this.B(t.onDidProcessExit(r => { this.u.fire(r.code), !this.m && !this.q.isDisposed && (this.n <= Fg.MaxRestarts ? (this.O.error(`ptyHost terminated unexpectedly with code ${r.code}`), this.n++, this.restartPtyHost()) : this.O.error(`ptyHost terminated unexpectedly with code ${r.code}, giving up`)) })); const n = Yc.toService(s.getChannel(al.PtyHost)); return this.B(n.onProcessData(r => this.D.fire(r))), this.B(n.onProcessReady(r => this.F.fire(r))), this.B(n.onProcessExit(r => this.L.fire(r))), this.B(n.onDidChangeProperty(r => this.J.fire(r))), this.B(n.onProcessReplay(r => this.G.fire(r))), this.B(n.onProcessOrphanQuestion(r => this.H.fire(r))), this.B(n.onDidRequestDetach(r => this.I.fire(r))), this.B(new $2(this.P, s.getChannel(al.Logger))), this.a = t, this.b = n, this.w.fire(), this.B(this.N.onDidChangeConfiguration(async r => { r.affectsConfiguration("terminal.integrated.ignoreProcessNames") && await this.R() })), this.R(), [t, n] } async createProcess(t, s, i, n, r, o, a, c, l, u, h) { const d = setTimeout(() => this.$(), gs.CreateProcessTimeout), p = await this.f.createProcess(t, s, i, n, r, o, a, c, l, u, h); return clearTimeout(d), p } updateTitle(t, s, i) { return this.f.updateTitle(t, s, i) } updateIcon(t, s, i, n) { return this.f.updateIcon(t, s, i, n) } attachToProcess(t) { return this.f.attachToProcess(t) } detachFromProcess(t, s) { return this.f.detachFromProcess(t, s) } shutdownAll() { return this.f.shutdownAll() } listProcesses() { return this.f.listProcesses() } async getPerformanceMarks() { return this.g?.getPerformanceMarks() ?? [] } async reduceConnectionGraceTime() { return this.g?.reduceConnectionGraceTime() } start(t) { return this.f.start(t) } shutdown(t, s) { return this.f.shutdown(t, s) } input(t, s) { return this.f.input(t, s) } processBinary(t, s) { return this.f.processBinary(t, s) } resize(t, s, i) { return this.f.resize(t, s, i) } clearBuffer(t) { return this.f.clearBuffer(t) } acknowledgeDataEvent(t, s) { return this.f.acknowledgeDataEvent(t, s) } setUnicodeVersion(t, s) { return this.f.setUnicodeVersion(t, s) } getInitialCwd(t) { return this.f.getInitialCwd(t) } getCwd(t) { return this.f.getCwd(t) } async getLatency() { const t = new Ki, s = await this.f.getLatency(); return t.stop(), [{ label: "ptyhostservice<->ptyhost", latency: t.elapsed() }, ...s] } orphanQuestionReply(t) { return this.f.orphanQuestionReply(t) } installAutoReply(t, s) { return this.f.installAutoReply(t, s) } uninstallAllAutoReplies() { return this.f.uninstallAllAutoReplies() } getDefaultSystemShell(t) { return this.g?.getDefaultSystemShell(t) ?? S5(t ?? dr, process.env) } async getProfiles(t, s, i, n = !1) { const r = await this.S(); return W_(s, i, n, this.N, r, void 0, this.O, this.bb.bind(this, t)) } async getEnvironment() { return this.b ? this.f.getEnvironment() : { ...process.env } } getWslPath(t, s) { return this.f.getWslPath(t, s) } getRevivedPtyNewId(t, s) { return this.f.getRevivedPtyNewId(t, s) } setTerminalLayoutInfo(t) { return this.f.setTerminalLayoutInfo(t) } async getTerminalLayoutInfo(t) { return this.g?.getTerminalLayoutInfo(t) } async requestDetachInstance(t, s) { return this.f.requestDetachInstance(t, s) } async acceptDetachInstanceReply(t, s) { return this.f.acceptDetachInstanceReply(t, s) } async freePortKillProcess(t) { if (!this.f.freePortKillProcess) throw new Error("freePortKillProcess does not exist on the pty proxy"); return this.f.freePortKillProcess(t) } async serializeTerminalState(t) { return this.f.serializeTerminalState(t) } async reviveTerminalProcesses(t, s, i) { return this.f.reviveTerminalProcesses(t, s, i) } async refreshProperty(t, s) { return this.f.refreshProperty(t, s) } async updateProperty(t, s, i) { return this.f.updateProperty(t, s, i) } async restartPtyHost() { this.W(), this.r = !0, this.U() } W() { this.f.shutdownAll(), this.c.store.dispose() } X(t) { this.ab(), this.s = setTimeout(() => this.Y(), t ? gs.ConnectingBeatInterval : gs.BeatInterval * gs.FirstWaitMultiplier), this.r || (this.r = !0, this.z.fire()) } Y() { this.O.warn(`No ptyHost heartbeat after ${gs.BeatInterval * gs.FirstWaitMultiplier / 1e3} seconds`), this.s = void 0, this.t = setTimeout(() => this.Z(), gs.BeatInterval * gs.SecondWaitMultiplier) } Z() { this.O.error(`No ptyHost heartbeat after ${(gs.BeatInterval * gs.FirstWaitMultiplier + gs.BeatInterval * gs.FirstWaitMultiplier) / 1e3} seconds`), this.t = void 0, this.r && (this.r = !1, this.y.fire()) } $() { this.ab(), this.O.error(`No ptyHost response to createProcess after ${gs.CreateProcessTimeout / 1e3} seconds`), this.r && (this.r = !1, this.y.fire()) } ab() { this.s && (clearTimeout(this.s), this.s = void 0), this.t && (clearTimeout(this.t), this.t = void 0) } bb(t, s) { return this.j.createRequest({ workspaceId: t, originalText: s }) } async acceptPtyHostResolvedVariables(t, s) { this.j.acceptReply(t, s) } }, af = __decorate([__param(1, ts), __param(2, pe), __param(3, sc)], af) } }); function sj(e) { return { transformIncoming: t => t.scheme === "vscode-remote" ? { scheme: "file", path: t.path, query: t.query, fragment: t.fragment } : t.scheme === "file" ? { scheme: "vscode-local", path: t.path, query: t.query, fragment: t.fragment } : t, transformOutgoing: t => t.scheme === "file" ? { scheme: "vscode-remote", authority: e, path: t.path, query: t.query, fragment: t.fragment } : t.scheme === "vscode-local" ? { scheme: "file", path: t.path, query: t.query, fragment: t.fragment } : t, transformOutgoingScheme: t => t === "file" ? "vscode-remote" : t === "vscode-local" ? "file" : t } } function ll(e) { return new e2(sj(e)) } var cf = v({ "out-build/vs/workbench/api/node/uriTransformer.js"() { "use strict"; nl() } }); import { exec as lf } from "child_process"; function Bg(e) {
  311. return new Promise((t, s) => {
  312. let i; const n = new Map; function r(c, l, u, h, d) { const p = n.get(l); if (c === e || p) { const g = { name: o(u), cmd: u, pid: c, ppid: l, load: h, mem: d }; n.set(c, g), c === e && (i = g), p && (p.children || (p.children = []), p.children.push(g), p.children.length > 1 && (p.children = p.children.sort((w, y) => w.pid - y.pid))) } } function o(c) { const l = /--utility-sub-type=network/i, u = /--crashes-directory/i, h = /\\pipe\\winpty-control/i, d = /conhost\.exe.+--headless/i, p = /--type=([a-zA-Z-]+)/; if (u.exec(c)) return "electron-crash-reporter"; if (h.exec(c)) return "winpty-agent"; if (d.exec(c)) return "conpty-agent"; let g = p.exec(c); if (g && g.length === 2) return g[1] === "renderer" ? "window" : g[1] === "utility" ? l.exec(c) ? "utility-network-service" : "utility-process" : g[1] === "extensionHost" ? "extension-host" : g[1]; const w = /[a-zA-Z-]+\.js/g; let y = ""; do g = w.exec(c), g && (y += g + " "); while (g); return y && c.indexOf("node ") < 0 && c.indexOf("node.exe") < 0 ? `electron-nodejs (${y})` : c } if (process.platform === "win32") { const c = l => l.indexOf("\\\\?\\") === 0 || l.indexOf("\\??\\") === 0 ? l.substring(4) : l.indexOf('"\\\\?\\') === 0 || l.indexOf('"\\??\\') === 0 ? '"' + l.substring(5) : l; import("@vscode/windows-process-tree").then(l => { l.getProcessList(e, u => { if (!u) { s(new Error(`Root process ${e} not found`)); return } l.getProcessCpuUsage(u, h => { const d = new Map; h.forEach(p => { const g = c(p.commandLine || ""); d.set(p.pid, { name: o(g), cmd: g, pid: p.pid, ppid: p.ppid, load: p.cpu || 0, mem: p.memory || 0 }) }), i = d.get(e), i ? (d.forEach(p => { const g = d.get(p.ppid); g && (g.children || (g.children = []), g.children.push(p)) }), d.forEach(p => { p.children && (p.children = p.children.sort((g, w) => g.pid - w.pid)) }), t(i)) : s(new Error(`Root process ${e} not found`)) }) }, l.ProcessDataFlag.CommandLine | l.ProcessDataFlag.Memory) }) } else {
  313. let c = function () {
  314. let l = [i]; const u = []; for (; l.length;) { const d = l.shift(); d && (u.push(d.pid), d.children && (l = l.concat(d.children))) } let h = JSON.stringify(_t.asFileUri("vs/base/node/cpuUsage.sh").fsPath); h += " " + u.join(" "), lf(h, {}, (d, p, g) => {
  315. if (d || g) s(d || new Error(g.toString())); else {
  316. const w = p.toString().split(`
  317. `); for (let y = 0; y < u.length; y++) { const x = n.get(u[y]); x.load = parseFloat(w[y]) } if (!i) { s(new Error(`Root process ${e} not found`)); return } t(i)
  318. }
  319. })
  320. }; var a = c; lf("which ps", {}, (l, u, h) => { if (l || h) if (process.platform !== "linux") s(l || new Error(h.toString())); else { const d = JSON.stringify(_t.asFileUri("vs/base/node/ps.sh").fsPath); lf(d, {}, (p, g, w) => { p || w ? s(p || new Error(w.toString())) : (F2(g, r), c()) }) } else { const d = u.toString().trim(); lf(`${d} -ax -o pid=,ppid=,pcpu=,pmem=,command=`, { maxBuffer: 1e3 * 1024, env: { LC_NUMERIC: "en_US.UTF-8" } }, (g, w, y) => { g || y && !y.includes("screen size is bogus") ? s(g || new Error(y.toString())) : (F2(w, r), process.platform === "linux" ? c() : i ? t(i) : s(new Error(`Root process ${e} not found`))) }) } })
  321. }
  322. })
  323. } function F2(e, t) {
  324. const s = /^\s*([0-9]+)\s+([0-9]+)\s+([0-9]+\.[0-9]+)\s+([0-9]+\.[0-9]+)\s+(.+)$/, i = e.toString().split(`
  325. `); for (const n of i) { const r = s.exec(n.trim()); r && r.length === 6 && t(parseInt(r[1]), parseInt(r[2]), r[5], parseFloat(r[3]), parseFloat(r[4])) }
  326. } var B2 = v({ "out-build/vs/base/node/ps.js"() { "use strict"; De() } }); function H2(e) { return !!e.hostName && !!e.errorMessage } var z2, ij, nj = v({ "out-build/vs/platform/diagnostics/common/diagnostics.js"() { "use strict"; oe(), z2 = "diagnosticsService", ij = se(z2) } }); import *as rj from "fs"; import *as ws from "os"; async function uf(e, t) { const s = `${e}::${t.join(":")}`, i = zg.get(s); if (i) return i; const n = [{ tag: "grunt.js", filePattern: /^gruntfile\.js$/i }, { tag: "gulp.js", filePattern: /^gulpfile\.js$/i }, { tag: "tsconfig.json", filePattern: /^tsconfig\.json$/i }, { tag: "package.json", filePattern: /^package\.json$/i }, { tag: "jsconfig.json", filePattern: /^jsconfig\.json$/i }, { tag: "tslint.json", filePattern: /^tslint\.json$/i }, { tag: "eslint.json", filePattern: /^eslint\.json$/i }, { tag: "tasks.json", filePattern: /^tasks\.json$/i }, { tag: "launch.json", filePattern: /^launch\.json$/i }, { tag: "settings.json", filePattern: /^settings\.json$/i }, { tag: "webpack.config.js", filePattern: /^webpack\.config\.js$/i }, { tag: "project.json", filePattern: /^project\.json$/i }, { tag: "makefile", filePattern: /^makefile$/i }, { tag: "sln", filePattern: /^.+\.sln$/i }, { tag: "csproj", filePattern: /^.+\.csproj$/i }, { tag: "cmake", filePattern: /^.+\.cmake$/i }, { tag: "github-actions", filePattern: /^.+\.ya?ml$/i, relativePathPattern: /^\.github(?:\/|\\)workflows$/i }, { tag: "devcontainer.json", filePattern: /^devcontainer\.json$/i }, { tag: "dockerfile", filePattern: /^(dockerfile|docker\-compose\.ya?ml)$/i }, { tag: "cursorrules", filePattern: /^\.cursorrules$/i }], r = new Map, o = new Map, a = 2e4; function c(u, h, d, p) { const g = h.substring(u.length + 1); return Kt.withAsyncBody(async w => { let y; p.readdirCount++; try { y = await Pe.readdir(h, { withFileTypes: !0 }) } catch { w(); return } if (p.count >= a) { p.count += y.length, p.maxReached = !0, w(); return } let x = y.length; if (x === 0) { w(); return } let k = y; p.count + y.length > a && (p.maxReached = !0, x = a - p.count, k = y.slice(0, x)), p.count += y.length; for (const A of k) if (A.isDirectory()) { if (d.includes(A.name) || await c(u, _(h, A.name), d, p), --x === 0) { w(); return } } else { const I = A.name.lastIndexOf("."); if (I >= 0) { const L = A.name.substring(I + 1); L && r.set(L, (r.get(L) ?? 0) + 1) } for (const L of n) L.relativePathPattern?.test(g) !== !1 && L.filePattern.test(A.name) && o.set(L.tag, (o.get(L.tag) ?? 0) + 1); if (--x === 0) { w(); return } } }) } const l = Kt.withAsyncBody(async u => { const h = { count: 0, maxReached: !1, readdirCount: 0 }, d = new Ki(!0); await c(e, e, t, h); const p = await oj(e); u({ configFiles: Hg(o), fileTypes: Hg(r), fileCount: h.count, maxFilesReached: h.maxReached, launchConfigFiles: p, totalScanTime: d.elapsed(), totalReaddirCount: h.readdirCount }) }); return zg.set(s, l), l } function Hg(e) { return Array.from(e.entries(), ([t, s]) => ({ name: t, count: s })).sort((t, s) => s.count - t.count) } function V2() { const e = { os: `${ws.type()} ${ws.arch()} ${ws.release()}`, memory: `${(ws.totalmem() / Nr.GB).toFixed(2)}GB (${(ws.freemem() / Nr.GB).toFixed(2)}GB free)`, vmHint: `${Math.round(Dg.value() * 100)}%` }, t = ws.cpus(); return t && t.length > 0 && (e.cpus = `${t[0].model} (${t.length} x ${t[0].speed})`), e } async function oj(e) { try { const t = new Map, s = _(e, ".vscode", "launch.json"), i = await rj.promises.readFile(s), n = [], r = Eo(i.toString(), n); if (n.length) return console.log(`Unable to parse ${s}`), []; if (xo(r) === "object" && r.configurations) for (const o of r.configurations) { const a = o.type; a && (t.has(a) ? t.set(a, t.get(a) + 1) : t.set(a, 1)) } return Hg(t) } catch { return [] } } var zg, Vg, aj = v({
  327. "out-build/vs/platform/diagnostics/node/diagnosticsService.js"() {
  328. "use strict"; Ue(), Ir(), De(), de(), X(), co(), ee(), J8(), ss(), B2(), nj(), st(), Ls(), As(), zg = new Map, Vg = class {
  329. constructor(t, s) { this.c = t, this.d = s } f(t) {
  330. const s = []; return s.push(`OS Version: ${t.os}`), s.push(`CPUs: ${t.cpus}`), s.push(`Memory (System): ${t.memory}`), s.push(`VM: ${t.vmHint}`), s.join(`
  331. `)
  332. } g(t) {
  333. const s = []; s.push(`Version: ${this.d.nameShort} ${this.d.version} (${this.d.commit || "Commit unknown"}, ${this.d.date || "Date unknown"})`), s.push(`OS Version: ${ws.type()} ${ws.arch()} ${ws.release()}`); const i = ws.cpus(); return i && i.length > 0 && s.push(`CPUs: ${i[0].model} (${i.length} x ${i[0].speed})`), s.push(`Memory (System): ${(ws.totalmem() / Nr.GB).toFixed(2)}GB (${(ws.freemem() / Nr.GB).toFixed(2)}GB free)`), me || s.push(`Load (avg): ${ws.loadavg().map(n => Math.round(n)).join(", ")}`), s.push(`VM: ${Math.round(Dg.value() * 100)}%`), s.push(`Screen Reader: ${t.screenReader ? "yes" : "no"}`), s.push(`Process Argv: ${t.mainArguments.join(" ")}`), s.push(`GPU Status: ${this.j(t.gpuFeatureStatus)}`), s.join(`
  334. `)
  335. } async getPerformanceInfo(t, s) {
  336. return Promise.all([Bg(t.mainPID), this.k(t)]).then(async i => {
  337. let [n, r] = i, o = this.m(t, n); return s.forEach(a => {
  338. if (H2(a)) o += `
  339. ${a.errorMessage}`, r += `
  340. ${a.errorMessage}`; else if (o += `
  341. Remote: ${a.hostName}`, a.processes && (o += `
  342. ${this.m(t, a.processes)}`), a.workspaceMetadata) {
  343. r += `
  344. | Remote: ${a.hostName}`; for (const c of Object.keys(a.workspaceMetadata)) { const l = a.workspaceMetadata[c]; let u = `${l.fileCount} files`; l.maxFilesReached && (u = `more than ${u}`), r += `| Folder (${c}): ${u}`, r += this.h(l) }
  345. }
  346. }), { processInfo: o, workspaceInfo: r }
  347. })
  348. } async getSystemInfo(t, s) { const { memory: i, vmHint: n, os: r, cpus: o } = V2(), a = { os: r, memory: i, cpus: o, vmHint: n, processArgs: `${t.mainArguments.join(" ")}`, gpuStatus: t.gpuFeatureStatus, screenReader: `${t.screenReader ? "yes" : "no"}`, remoteData: s }; return me || (a.load = `${ws.loadavg().map(c => Math.round(c)).join(", ")}`), rt && (a.linuxEnv = { desktopSession: process.env.DESKTOP_SESSION, xdgSessionDesktop: process.env.XDG_SESSION_DESKTOP, xdgCurrentDesktop: process.env.XDG_CURRENT_DESKTOP, xdgSessionType: process.env.XDG_SESSION_TYPE }), Promise.resolve(a) } async getDiagnostics(t, s) {
  349. const i = []; return Bg(t.mainPID).then(async n => (i.push(""), i.push(this.g(t)), i.push(""), i.push(this.m(t, n)), t.windows.some(r => r.folderURIs && r.folderURIs.length > 0 && !r.remoteAuthority) && (i.push(""), i.push("Workspace Stats: "), i.push(await this.k(t))), s.forEach(r => {
  350. if (H2(r)) i.push(`
  351. ${r.errorMessage}`); else if (i.push(`
  352. `), i.push(`Remote: ${r.hostName}`), i.push(this.f(r.machineInfo)), r.processes && i.push(this.m(t, r.processes)), r.workspaceMetadata) for (const o of Object.keys(r.workspaceMetadata)) { const a = r.workspaceMetadata[o]; let c = `${a.fileCount} files`; a.maxFilesReached && (c = `more than ${c}`), i.push(`Folder (${o}): ${c}`), i.push(this.h(a)) }
  353. }), i.push(""), i.push(""), i.join(`
  354. `)))
  355. } h(t) {
  356. const s = []; let n = 0; const r = (l, u) => { const h = ` ${l}(${u})`; n + h.length > 60 ? (s.push(o), o = "| ", n = o.length) : n += h.length, o += h }; let o = "| File types:"; const a = 10, c = t.fileTypes.length > a ? a : t.fileTypes.length; for (let l = 0; l < c; l++) { const u = t.fileTypes[l]; r(u.name, u.count) } if (s.push(o), t.configFiles.length >= 0 && (o = "| Conf files:", n = 0, t.configFiles.forEach(l => { r(l.name, l.count) }), s.push(o)), t.launchConfigFiles.length > 0) { let l = "| Launch Configs:"; t.launchConfigFiles.forEach(u => { const h = u.count > 1 ? ` ${u.name}(${u.count})` : ` ${u.name}`; l += h }), s.push(l) } return s.join(`
  357. `)
  358. } j(t) {
  359. const s = Math.max(...Object.keys(t).map(i => i.length)); return Object.keys(t).map(i => `${i}: ${" ".repeat(s - i.length)} ${t[i]}`).join(`
  360. `)
  361. } k(t) {
  362. const s = [], i = []; return t.windows.forEach(n => { n.folderURIs.length === 0 || n.remoteAuthority || (s.push(`| Window (${n.title})`), n.folderURIs.forEach(r => { const o = E.revive(r); if (o.scheme === Z.file) { const a = o.fsPath; i.push(uf(a, ["node_modules", ".git"]).then(c => { let l = `${c.fileCount} files`; c.maxFilesReached && (l = `more than ${l}`), s.push(`| Folder (${at(a)}): ${l}`), s.push(this.h(c)) }).catch(c => { s.push(`| Error: Unable to collect workspace stats for folder ${a} (${c.toString()})`) })) } else s.push(`| Folder (${o.toString()}): Workspace stats not available.`) })) }), Promise.all(i).then(n => s.join(`
  363. `)).catch(n => `Unable to collect workspace stats: ${n}`)
  364. } m(t, s) {
  365. const i = new Map; t.windows.forEach(r => i.set(r.pid, `window [${r.id}] (${r.title})`)), t.pidToNames.forEach(({ pid: r, name: o }) => i.set(r, o)); const n = []; return n.push("CPU % Mem MB PID Process"), s && this.n(t.mainPID, i, n, s, 0), n.join(`
  366. `)
  367. } n(t, s, i, n, r) { const o = r === 0; let a; o ? a = n.pid === t ? `${this.d.applicationName} main` : "remote agent" : s.has(n.pid) ? a = s.get(n.pid) : a = `${" ".repeat(r)} ${n.name}`; const c = process.platform === "win32" ? n.mem : ws.totalmem() * (n.mem / 100); i.push(`${n.load.toFixed(0).padStart(5, " ")} ${(c / Nr.MB).toFixed(0).padStart(6, " ")} ${n.pid.toFixed(0).padStart(6, " ")} ${a}`), Array.isArray(n.children) && n.children.forEach(l => this.n(t, s, i, l, r + 1)) } async getWorkspaceFileExtensions(t) { const s = new Set; for (const { uri: i } of t.folders) { const n = E.revive(i); if (n.scheme !== Z.file) continue; const r = n.fsPath; try { (await uf(r, ["node_modules", ".git"])).fileTypes.forEach(a => s.add(a.name)) } catch { } } return { extensions: [...s] } } async reportWorkspaceStats(t) { for (const { uri: s } of t.folders) { const i = E.revive(s); if (i.scheme !== Z.file) continue; const n = i.fsPath; try { const r = await uf(n, ["node_modules", ".git"]); this.c.publicLog2("workspace.stats", { "workspace.id": t.telemetryId, rendererSessionId: t.rendererSessionId }), r.fileTypes.forEach(o => { this.c.publicLog2("workspace.stats.file", { rendererSessionId: t.rendererSessionId, type: o.name, count: o.count }) }), r.launchConfigFiles.forEach(o => { this.c.publicLog2("workspace.stats.launchConfigFile", { rendererSessionId: t.rendererSessionId, type: o.name, count: o.count }) }), r.configFiles.forEach(o => { this.c.publicLog2("workspace.stats.configFiles", { rendererSessionId: t.rendererSessionId, type: o.name, count: o.count }) }), this.c.publicLog2("workspace.stats.metadata", { duration: r.totalScanTime, reachedLimit: r.maxFilesReached, fileCount: r.fileCount, readdirCount: r.totalReaddirCount }) } catch { } } }
  368. }, Vg = __decorate([__param(0, qt), __param(1, Nt)], Vg)
  369. }
  370. }), W2, cj = v({ "out-build/vs/server/node/remoteAgentEnvironmentImpl.js"() { "use strict"; X(), Yi(), ee(), cf(), nl(), B2(), aj(), de(), kt(), W2 = class CI { static { this.a = 1 } constructor(t, s, i, n) { this.b = t, this.c = s, this.d = i, this.e = n } async call(t, s, i) { switch (s) { case "getEnvironmentData": { const n = i, r = ll(n.remoteAuthority); let o = await this.f(n.profile); return o = Jn(o, r), o } case "getExtensionHostExitInfo": { const n = i; return this.e.getExitInfo(n.reconnectionToken) } case "getDiagnosticInfo": { const n = i, r = { machineInfo: V2() }, o = n.includeProcesses ? Bg(process.pid) : Promise.resolve(); let a = []; const c = {}; if (n.folders) { const l = ll(""); a = n.folders.map(h => E.revive(l.transformIncoming(h))).filter(h => h.scheme === "file").map(h => uf(h.fsPath, ["node_modules", ".git"]).then(d => { c[at(h.fsPath)] = d })) } return Promise.all([o, ...a]).then(([l, u]) => (r.processes = l || void 0, r.workspaceMetadata = n.folders ? c : void 0, r)) } }throw new Error(`IPC Command ${s} not found`) } listen(t, s, i) { throw new Error("Not supported") } async f(t) { t && !this.d.profiles.some(i => i.id === t) && await this.d.createProfile(t, t); let s = !1; if (process.platform === "linux") { const i = process.glibcVersion; s = (i ? parseInt(i.split(".")[1]) : 28) <= 27 } return { pid: process.pid, connectionToken: this.b.type !== 0 ? this.b.value : "", appRoot: E.file(this.c.appRoot), settingsPath: this.c.machineSettingsResource, logsPath: this.c.logsHome, extensionHostLogsPath: ne(this.c.logsHome, `exthost${CI.a++}`), globalStorageHome: this.d.defaultProfile.globalStorageHome, workspaceStorageHome: this.c.workspaceStorageHome, localHistoryHome: this.c.localHistoryHome, userHome: this.c.userHome, os: dr, arch: process.arch, marks: Uv(), useHostProxy: !!this.c.args["use-host-proxy"], profiles: { home: this.d.profilesHome, all: [...this.d.profiles].map(i => ({ ...i })) }, isUnsupportedGlibc: s } } } } }), q2, G2, lj = v({ "out-build/vs/platform/files/node/diskFileSystemProviderServer.js"() { "use strict"; re(), Uh(), z(), Me(), qa(), Dt(), q2 = class extends J { constructor(e, t) { super(), this.a = e, this.b = t, this.F = new Map, this.G = new Map } call(e, t, s) { const i = this.c(e); switch (t) { case "stat": return this.g(i, s[0]); case "readdir": return this.h(i, s[0]); case "open": return this.r(i, s[0], s[1]); case "close": return this.s(s[0]); case "read": return this.t(s[0], s[1], s[2]); case "readFile": return this.j(i, s[0], s[1]); case "write": return this.u(s[0], s[1], s[2], s[3], s[4]); case "writeFile": return this.n(i, s[0], s[1], s[2]); case "rename": return this.z(i, s[0], s[1], s[2]); case "copy": return this.C(i, s[0], s[1], s[2]); case "cloneFile": return this.D(i, s[0], s[1]); case "mkdir": return this.w(i, s[0]); case "delete": return this.y(i, s[0], s[1]); case "watch": return this.I(i, s[0], s[1], s[2], s[3]); case "unwatch": return this.J(s[0], s[1]) }throw new Error(`IPC Command ${t} not found`) } listen(e, t, s) { const i = this.c(e); switch (t) { case "fileChange": return this.H(i, s[0]); case "readFileStream": return this.m(i, s[0], s[1]) }throw new Error(`Unknown event ${t}`) } g(e, t) { const s = this.f(e, t, !0); return this.a.stat(s) } h(e, t) { const s = this.f(e, t); return this.a.readdir(s) } async j(e, t, s) { const i = this.f(e, t, !0), n = await this.a.readFile(i, s); return O.wrap(n) } m(e, t, s) { const i = this.f(e, t, !0), n = new Ei, r = new D({ onDidRemoveLastListener: () => { n.cancel() } }), o = this.a.readFileStream(i, s, n.token); return Iu(o, { onData: a => r.fire(O.wrap(a)), onError: a => r.fire(a), onEnd: () => { r.fire("end"), r.dispose(), n.dispose() } }), r.event } n(e, t, s, i) { const n = this.f(e, t); return this.a.writeFile(n, s.buffer, i) } r(e, t, s) { const i = this.f(e, t, !0); return this.a.open(i, s) } s(e) { return this.a.close(e) } async t(e, t, s) { const i = O.alloc(s), r = await this.a.read(e, t, i.buffer, 0, s); return [i, r] } u(e, t, s, i, n) { return this.a.write(e, t, s.buffer, i, n) } w(e, t) { const s = this.f(e, t); return this.a.mkdir(s) } y(e, t, s) { const i = this.f(e, t); return this.a.delete(i, s) } z(e, t, s, i) { const n = this.f(e, t), r = this.f(e, s); return this.a.rename(n, r, i) } C(e, t, s, i) { const n = this.f(e, t), r = this.f(e, s); return this.a.copy(n, r, i) } D(e, t, s) { const i = this.f(e, t), n = this.f(e, s); return this.a.cloneFile(i, n) } H(e, t) { const s = new D({ onWillAddFirstListener: () => { this.F.set(t, this.L(e, s)) }, onDidRemoveLastListener: () => { Ut(this.F.get(t)), this.F.delete(t) } }); return s.event } async I(e, t, s, i, n) { const r = this.F.get(t); if (r) { const o = this.f(e, i), a = r.watch(s, o, n); this.G.set(t + s, a) } } async J(e, t) { const s = e + t, i = this.G.get(s); i && (Ut(i), this.G.delete(s)) } dispose() { super.dispose(); for (const [, e] of this.G) e.dispose(); this.G.clear(); for (const [, e] of this.F) e.dispose(); this.F.clear() } }, G2 = class extends J { constructor(e, t, s, i) { super(), this.c = e, this.f = s, this.g = i, this.a = new Map, this.b = this.B(new Xc(this.f)), this.h(t) } h(e) { const t = this.B(new D); this.B(t.event(s => { e.fire(s.map(i => ({ resource: this.c.transformOutgoingURI(i.resource), type: i.type, cId: i.cId }))) })), this.B(this.b.onDidChangeFile(s => t.fire(s))), this.B(this.b.onDidWatchError(s => e.fire(s))) } j(e) { } m(e) { } watch(e, t, s) { const i = this.m(this.g); return Array.isArray(i) && (s.excludes = [...s.excludes, ...i]), this.a.set(e, this.b.watch(t, s)), ye(() => { Ut(this.a.get(e)), this.a.delete(e) }) } dispose() { for (const [, e] of this.a) e.dispose(); this.a.clear(), super.dispose() } } } }), J2, Y2, uj = v({ "out-build/vs/server/node/remoteFileSystemProviderServer.js"() { "use strict"; ee(), cf(), Uh(), de(), lj(), J2 = class extends q2 { constructor(e, t, s) { super(new Xc(e), e), this.N = t, this.O = s, this.M = new Map, this.B(this.a) } c(e) { let t = this.M.get(e.remoteAuthority); return t || (t = ll(e.remoteAuthority), this.M.set(e.remoteAuthority, t)), t } f(e, t, s = !1) { if (s && t.path === "/vscode-resource" && t.query) { const i = JSON.parse(t.query).requestResourcePath; return E.from({ scheme: "file", path: i }) } return E.revive(e.transformIncoming(t)) } L(e, t) { return new Y2(e, t, this.b, this.N, this.O) } }, Y2 = class extends G2 { constructor(e, t, s, i, n) { super(e, t, s, i) } j(e) { const t = e.args["file-watcher-polling"]; if (t) { const s = t.split(lo), i = Number(s[0]); if (i > 0) return { usePolling: s.length > 1 ? s.slice(1) : !0, pollingInterval: i } } } m(e) { if (e.extensionsPath) return [Ae.join(e.extensionsPath, "**")] } } } }), X2, hj = v({ "out-build/vs/platform/telemetry/common/remoteTelemetryChannel.js"() { "use strict"; z(), X2 = class extends J { constructor(e, t) { super(), this.a = e, this.b = t } async call(e, t, s) { switch (t) { case "updateTelemetryLevel": { const { telemetryLevel: i } = s; return this.a.updateInjectedTelemetryLevel(i) } case "logTelemetry": { const { eventName: i, data: n } = s; return this.b ? this.b.log(i, n) : Promise.resolve() } case "flushTelemetry": return this.b ? this.b.flush() : Promise.resolve(); case "ping": return }throw new Error(`IPC Command ${t} not found`) } listen(e, t, s) { throw new Error("Not supported") } dispose() { this.a.updateInjectedTelemetryLevel(0), super.dispose() } } } }); function fj() {
  371. const e = m(2107, null, Bt.nameLong), t = Bt.privacyStatementUrl ? m(2109, null, "https://aka.ms/vscode-telemetry", Bt.privacyStatementUrl) : m(2108, null, "https://aka.ms/vscode-telemetry"), s = $s ? "" : m(2110, null), i = m(2111, null), n = m(2112, null), r = m(2113, null), o = m(2114, null), a = `
  372. | | ${i} | ${n} | ${r} |
  373. |:------|:---------------------:|:---------------:|:--------------:|
  374. | all | \u2713 | \u2713 | \u2713 |
  375. | error | \u2713 | \u2713 | - |
  376. | crash | \u2713 | - | - |
  377. | off | - | - | - |
  378. `, c = m(2115, null); return `
  379. ${e} ${t} ${s}
  380. &nbsp;
  381. ${o}
  382. ${a}
  383. &nbsp;
  384. ${c}
  385. `} var hf, dj = v({ "out-build/vs/platform/telemetry/common/telemetryService.js"() { "use strict"; z(), es(), X(), et(), he(), ds(), Io(), Vc(), Ls(), hn(), As(), fn(), hf = class { static { this.IDLE_START_EVENT_NAME = "UserIdleStart" } static { this.IDLE_STOP_EVENT_NAME = "UserIdleStop" } constructor(t, s, i) { this.k = s, this.l = i, this.d = {}, this.i = new ut, this.j = [], this.b = t.appenders, this.c = t.commonProperties ?? Object.create(null), this.sessionId = this.c.sessionID, this.machineId = this.c["common.machineId"], this.sqmId = this.c["common.sqmId"], this.devDeviceId = this.c["common.devDeviceId"], this.firstSessionDate = this.c["common.firstSessionDate"], this.msftInternal = this.c["common.msftInternal"], this.f = t.piiPaths || [], this.g = 3, this.h = !!t.sendErrorTelemetry, this.j = [/(vscode-)?file:\/\/\/.*?\/resources\/app\//gi]; for (const n of this.f) this.j.push(new RegExp(Rn(n), "gi")), n.indexOf("\\") >= 0 && this.j.push(new RegExp(Rn(n.replace(/\\/g, "/")), "gi")); this.m(), this.i.add(this.k.onDidChangeConfiguration(n => { (n.affectsConfiguration(Ec) || n.affectsConfiguration(Qu) || n.affectsConfiguration(Kp)) && this.m() })) } setExperimentProperty(t, s) { this.d[t] = s } m() { let t = z5(this.k); const s = this.l.enabledTelemetryLevels; if (s) { this.h = this.sendErrorTelemetry ? s.error : !1; const i = s.usage ? 3 : s.error ? 2 : 0; t = Math.min(t, i) } this.g = t } get sendErrorTelemetry() { return this.h } get telemetryLevel() { return this.g } dispose() { this.i.dispose() } n(t, s, i) { this.g < s || (i = $o(i, this.d), i = em(i, this.j), i = $o(i, this.c), this.b.forEach(n => n.log(t, i))) } publicLog(t, s) { this.n(t, 3, s) } publicLog2(t, s) { this.publicLog(t, s) } publicLogError(t, s) { this.h && this.n(t, 2, s) } publicLogError2(t, s) { this.publicLogError(t, s) } }, hf = __decorate([__param(1, ts), __param(2, Nt)], hf), Mt.as(Ps.Configuration).registerConfiguration({ id: Zp, order: 1, type: "object", title: m(2116, null), properties: { [Ec]: { type: "string", enum: ["all", "error", "crash", "off"], enumDescriptions: [m(2117, null), m(2118, null), m(2119, null), m(2120, null)], markdownDescription: fj(), default: "all", restricted: !0, scope: 1, tags: ["usesOnlineServices", "telemetry"] } } }), Mt.as(Ps.Configuration).registerConfiguration({ id: Zp, order: 110, type: "object", title: m(2121, null), properties: { [Qu]: { type: "boolean", markdownDescription: Bt.privacyStatementUrl ? m(2123, null, Bt.nameLong, Bt.privacyStatementUrl) : m(2122, null, Bt.nameLong), default: !0, restricted: !0, markdownDeprecationMessage: m(2124, null, `\`#${Ec}#\``), scope: 1, tags: ["usesOnlineServices", "telemetry"] } } }) } }), ff, Q2, df, pj = v({ "out-build/vs/platform/telemetry/common/serverTelemetryService.js"() { "use strict"; ds(), oe(), Ls(), As(), dj(), fn(), ff = class extends hf { constructor(t, s, i, n) { super(t, i, n), this.o = s } publicLog(t, s) { if (!(this.o < 3)) return super.publicLog(t, s) } publicLog2(t, s) { return this.publicLog(t, s) } publicLogError(t, s) { return this.o < 2 ? Promise.resolve(void 0) : super.publicLogError(t, s) } publicLogError2(t, s) { return this.publicLogError(t, s) } async updateInjectedTelemetryLevel(t) { if (t === void 0) throw this.o = 0, new Error("Telemetry level cannot be undefined. This will cause infinite looping!"); this.o = this.o ? Math.min(this.o, t) : t, this.o === 0 && this.dispose() } }, ff = __decorate([__param(2, ts), __param(3, Nt)], ff), Q2 = new class extends tm { async updateInjectedTelemetryLevel() { } }, df = qt } }); function mj(e) { const t = vr(e); return K2[t.toLowerCase()] } function Z2(e, t) { const s = eE.exec(e); return s ? `${s[1].toLowerCase()}/${s[2].toLowerCase()}${s[3] ?? ""}` : t ? void 0 : e } var Ni, K2, eE, pf = v({ "out-build/vs/base/common/mime.js"() { "use strict"; de(), Ni = Object.freeze({ text: "text/plain", binary: "application/octet-stream", unknown: "application/unknown", markdown: "text/markdown", latex: "text/latex", uriList: "text/uri-list" }), K2 = { ".aac": "audio/x-aac", ".avi": "video/x-msvideo", ".bmp": "image/bmp", ".flv": "video/x-flv", ".gif": "image/gif", ".ico": "image/x-icon", ".jpe": "image/jpg", ".jpeg": "image/jpg", ".jpg": "image/jpg", ".m1v": "video/mpeg", ".m2a": "audio/mpeg", ".m2v": "video/mpeg", ".m3a": "audio/mpeg", ".mid": "audio/midi", ".midi": "audio/midi", ".mk3d": "video/x-matroska", ".mks": "video/x-matroska", ".mkv": "video/x-matroska", ".mov": "video/quicktime", ".movie": "video/x-sgi-movie", ".mp2": "audio/mpeg", ".mp2a": "audio/mpeg", ".mp3": "audio/mpeg", ".mp4": "video/mp4", ".mp4a": "audio/mp4", ".mp4v": "video/mp4", ".mpe": "video/mpeg", ".mpeg": "video/mpeg", ".mpg": "video/mpeg", ".mpg4": "video/mp4", ".mpga": "audio/mpeg", ".oga": "audio/ogg", ".ogg": "audio/ogg", ".opus": "audio/opus", ".ogv": "video/ogg", ".png": "image/png", ".psd": "image/vnd.adobe.photoshop", ".qt": "video/quicktime", ".spx": "audio/ogg", ".svg": "image/svg+xml", ".tga": "image/x-tga", ".tif": "image/tiff", ".tiff": "image/tiff", ".wav": "audio/x-wav", ".webm": "video/webm", ".webp": "image/webp", ".wma": "audio/x-ms-wma", ".wmv": "video/x-ms-wmv", ".woff": "application/font-woff" }, eE = /^(.+)\/(.+?)(;.+)?$/ } }), tE, sE, iE, nE = v({ "out-build/vs/platform/remote/common/remoteAuthorityResolver.js"() { "use strict"; fe(), oe(), tE = se("remoteAuthorityResolverService"), function (e) { e[e.WebSocket = 0] = "WebSocket", e[e.Managed = 1] = "Managed" }(sE || (sE = {})), function (e) { e.Unknown = "Unknown", e.NotAvailable = "NotAvailable", e.TemporarilyNotAvailable = "TemporarilyNotAvailable", e.NoResolverFound = "NoResolverFound", e.InvalidAuthority = "InvalidAuthority" }(iE || (iE = {})) } }); function rE(e) { if (e.scheme !== Z.vscodeNotebookCell) return; const t = e.fragment.indexOf("s"); if (t < 0) return; const s = parseInt(e.fragment.substring(0, t).replace(aE, ""), Wg), i = Iy(e.fragment.substring(t + 1)).toString(); if (!isNaN(s)) return { handle: s, notebook: e.with({ scheme: i, fragment: null }) } } function gj(e, t) { const s = t.toString(Wg), n = `${s.length < mf.length ? mf[s.length - 1] : "z"}${s}s${op(O.fromString(e.scheme), !0, !0)}`; return e.with({ scheme: Z.vscodeNotebookCell, fragment: n }) } function wj(e) { if (e.scheme !== Z.vscodeNotebookMetadata) return; const t = Iy(e.fragment).toString(); return e.with({ scheme: t, fragment: null }) } function vj(e) { const t = `${op(O.fromString(e.scheme), !0, !0)}`; return e.with({ scheme: Z.vscodeNotebookMetadata, fragment: t }) } var oE, mf, aE, Wg, cE, bj = v({ "out-build/vs/workbench/services/notebook/common/notebookDocumentService.js"() { "use strict"; Me(), ls(), De(), W7(), oe(), oE = se("notebookDocumentService"), mf = ["W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f"], aE = new RegExp(`^[${mf.join("")}]+`), Wg = 7, cE = class { constructor() { this.a = new At } getNotebook(e) { if (e.scheme === Z.vscodeNotebookCell) { const t = rE(e); if (t) { const s = this.a.get(t.notebook); if (s) return s } } return this.a.get(e) } addNotebookDocument(e) { this.a.set(e.uri, e) } removeNotebookDocument(e) { this.a.delete(e.uri) } }, H7(oE, cE, 1) } }); function yj(e) { return ["application/vnd.code.notebook.stdout", "application/vnd.code.notebook.stderr"].includes(e) } var sa, Ej, xj, lE, ul, uE, hE, fE, dE, pE, mE, gE, wE, kj, $j, vE, bE, yE, Sj, Pj, EE, Ij, Aj, Dj, xE = v({ "out-build/vs/workbench/contrib/notebook/common/notebookCommon.js"() { "use strict"; Me(), tg(), pr(), pf(), De(), de(), X(), wo(), bj(), function (e) { e[e.Markup = 1] = "Markup", e[e.Code = 2] = "Code" }(sa || (sa = {})), Ej = ["application/json", "application/javascript", "text/html", "image/svg+xml", Ni.latex, Ni.markdown, "image/png", "image/jpeg", Ni.text], xj = [Ni.latex, Ni.markdown, "application/json", "text/html", "image/svg+xml", "image/png", "image/jpeg", Ni.text], function (e) { e[e.Running = 1] = "Running", e[e.Idle = 2] = "Idle" }(lE || (lE = {})), function (e) { e[e.Unconfirmed = 1] = "Unconfirmed", e[e.Pending = 2] = "Pending", e[e.Executing = 3] = "Executing" }(ul || (ul = {})), function (e) { e[e.Unconfirmed = 1] = "Unconfirmed", e[e.Pending = 2] = "Pending", e[e.Executing = 3] = "Executing" }(uE || (uE = {})), function (e) { e[e.WithHardKernelDependency = 0] = "WithHardKernelDependency", e[e.WithOptionalKernelDependency = 1] = "WithOptionalKernelDependency", e[e.Pure = 2] = "Pure", e[e.Never = 3] = "Never" }(hE || (hE = {})), function (e) { e.Always = "always", e.Never = "never", e.Optional = "optional" }(fE || (fE = {})), function (e) { e[e.ModelChange = 1] = "ModelChange", e[e.Move = 2] = "Move", e[e.ChangeCellLanguage = 5] = "ChangeCellLanguage", e[e.Initialize = 6] = "Initialize", e[e.ChangeCellMetadata = 7] = "ChangeCellMetadata", e[e.Output = 8] = "Output", e[e.OutputItem = 9] = "OutputItem", e[e.ChangeCellContent = 10] = "ChangeCellContent", e[e.ChangeDocumentMetadata = 11] = "ChangeDocumentMetadata", e[e.ChangeCellInternalMetadata = 12] = "ChangeCellInternalMetadata", e[e.ChangeCellMime = 13] = "ChangeCellMime", e[e.Unknown = 100] = "Unknown" }(dE || (dE = {})), function (e) { e[e.Handle = 0] = "Handle", e[e.Index = 1] = "Index" }(pE || (pE = {})), function (e) { e[e.Replace = 1] = "Replace", e[e.Output = 2] = "Output", e[e.Metadata = 3] = "Metadata", e[e.CellLanguage = 4] = "CellLanguage", e[e.DocumentMetadata = 5] = "DocumentMetadata", e[e.Move = 6] = "Move", e[e.OutputItems = 7] = "OutputItems", e[e.PartialMetadata = 8] = "PartialMetadata", e[e.PartialInternalMetadata = 9] = "PartialInternalMetadata" }(mE || (mE = {})), function (e) { e.scheme = Z.vscodeNotebookMetadata; function t(i) { return vj(i) } e.generate = t; function s(i) { return wj(i) } e.parse = s }(gE || (gE = {})), function (e) { e.scheme = Z.vscodeNotebookCell; function t(a, c) { return gj(a, c) } e.generate = t; function s(a) { return rE(a) } e.parse = s; function i(a, c) { return a.with({ scheme: Z.vscodeNotebookCellOutput, fragment: `op${c ?? ""},${a.scheme !== Z.file ? a.scheme : ""}` }) } e.generateCellOutputUri = i; function n(a) { if (a.scheme !== Z.vscodeNotebookCellOutput) return; const c = /^op([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})?\,(.*)$/i.exec(a.fragment); if (!c) return; const l = c[1] && c[1] !== "" ? c[1] : void 0, u = c[2]; return { outputId: l, notebook: a.with({ scheme: u || Z.file, fragment: null }) } } e.parseCellOutputUri = n; function r(a, c, l) { return e.generate(a, c).with({ scheme: l }) } e.generateCellPropertyUri = r; function o(a, c) { if (a.scheme === c) return e.parse(a.with({ scheme: e.scheme })) } e.parseCellPropertyUri = o }(wE || (wE = {})), kj = new Ee("notebookEditorCursorAtBoundary", "none"), $j = new Ee("notebookEditorCursorAtLineBoundary", "none"), function (e) { e.default = "default", e.option = "option" }(vE || (vE = {})), function (e) { e.Cells = "cells", e.Text = "text", e.None = "none" }(bE || (bE = {})), function (e) { e[e.Left = 1] = "Left", e[e.Right = 2] = "Right" }(yE || (yE = {})), Sj = class m1 { static { this.d = "notebook/" } static create(t, s) { return `${m1.d}${t}/${s ?? t}` } static parse(t) { if (t.startsWith(m1.d)) { const s = t.substring(m1.d.length).split("/"); if (s.length === 2) return { notebookType: s[0], viewType: s[1] } } } }, Pj = new TextDecoder, EE = "\x1B[A", Ij = EE.split("").map(e => e.charCodeAt(0)), Aj = 8, Dj = 13 } }); function B(e) { return Object.assign(e, { apply: function (...s) { if (s.length === 0) return Reflect.construct(e, []); { const i = s.length === 1 ? [] : s[1]; return Reflect.construct(e, i, s[0].constructor) } }, call: function (...s) { if (s.length === 0) return Reflect.construct(e, []); { const [i, ...n] = s; return Reflect.construct(e, n, i.constructor) } } }) } function kE(e) { return e.isEmpty ? `[${e.start.line}:${e.start.character})` : `[${e.start.line}:${e.start.character} -> ${e.end.line}:${e.end.character})` } function Rj(e) { let t = kE(e); return e.isEmpty || (e.active.isEqual(e.start) ? t = `|${t}` : t = `${t}|`), t } function $E(e) { let t = ""; for (let s = 0; s < e.length; s++)t += e[s].replace(/,/g, ",,") + ","; return t } function gf(e) { if (e) { if (e.covered > e.total) throw new Error(`The total number of covered items (${e.covered}) cannot be greater than the total (${e.total})`); if (e.total < 0) throw new Error(`The number of covered items (${e.total}) cannot be negative`) } } var qg, Ur, yn, Gg, Mr, Yn, Fr, Jg, Yg, wf, hl, Xg, Oi, Ci, Qg, vs, Zg, SE, PE, fl, Le, Ke, dl, ia, IE, Br, vf, Kg, AE, pl, na, ra, Ts, En, ml, bf, yf, Ef, DE, xf, kf, $f, Be, Sf, Pf, If, Af, e0, it, Df, t0, RE, LE, NE, s0, xn, i0, n0, r0, OE, CE, Rf, Lf, gl, Y, Nf, Of, o0, a0, c0, oa, Cf, _E, _i, wl, jE, _f, TE, UE, aa, jf, Tf, vl, l0, Uf, ME, FE, BE, HE, zE, VE, WE, qE, u0, Mf, Ff, GE, Bf, JE, h0, bl, YE, f0, yl, Hf, zf, Vf, XE, QE, Wf, d0, ZE, El, Xn, p0, KE, ca, e3, la, m0, g0, w0, v0, b0, y0, E0, qf, t3, Gf, Jf, Yf, Xf, s3, i3, n3, x0, k0, Qn, r3, o3, a3, c3, l3, u3, h3, f3, $0, d3, p3, m3, S0, g3, Hr, P0, w3, v3, b3, ua, Qf, I0, y3, E3, x3, k3, $3, A0, S3, P3, ha, I3, xl, A3, D0, Zf, kl, Kf, D3, R3, L3, N3, O3, C3, _3, R0, j3, T3, U3, fa, M3, F3, L0, N0, O0, B3, C0, _0, j0, T0, U0, M0, F0, H3, B0, H0, Ys, z3, V3, ji, z0, W3, V0, Xs, da, W0, q3, G3, J3, Y3, X3, Q3, q0 = v({ "out-build/vs/workbench/api/common/extHostTypes.js"() { "use strict"; Et(), fe(), Tc(), ls(), pf(), et(), $e(), ee(), Wt(), Ii(), st(), nE(), xE(), function (e) { e[e.Top = 0] = "Top", e[e.Bottom = 1] = "Bottom" }(SE || (SE = {})), function (e) { e[e.TerminalCommand = 0] = "TerminalCommand", e[e.Opener = 1] = "Opener", e[e.Command = 3] = "Command" }(PE || (PE = {})), fl = qg = class { static from(...t) { let s = t; return new qg(function () { if (s) { for (const i of s) i && typeof i.dispose == "function" && i.dispose(); s = void 0 } }) } #e; constructor(t) { this.#e = t } dispose() { typeof this.#e == "function" && (this.#e(), this.#e = void 0) } }, fl = qg = __decorate([B], fl), Le = Ur = class { static Min(...t) { if (t.length === 0) throw new TypeError; let s = t[0]; for (let i = 1; i < t.length; i++) { const n = t[i]; n.isBefore(s) && (s = n) } return s } static Max(...t) { if (t.length === 0) throw new TypeError; let s = t[0]; for (let i = 1; i < t.length; i++) { const n = t[i]; n.isAfter(s) && (s = n) } return s } static isPosition(t) { if (!t) return !1; if (t instanceof Ur) return !0; const { line: s, character: i } = t; return typeof s == "number" && typeof i == "number" } static of(t) { if (t instanceof Ur) return t; if (this.isPosition(t)) return new Ur(t.line, t.character); throw new Error("Invalid argument, is NOT a position-like object") } get line() { return this.c } get character() { return this.e } constructor(t, s) { if (t < 0) throw _e("line must be non-negative"); if (s < 0) throw _e("character must be non-negative"); this.c = t, this.e = s } isBefore(t) { return this.c < t.c ? !0 : t.c < this.c ? !1 : this.e < t.e } isBeforeOrEqual(t) { return this.c < t.c ? !0 : t.c < this.c ? !1 : this.e <= t.e } isAfter(t) { return !this.isBeforeOrEqual(t) } isAfterOrEqual(t) { return !this.isBefore(t) } isEqual(t) { return this.c === t.c && this.e === t.e } compareTo(t) { return this.c < t.c ? -1 : this.c > t.line ? 1 : this.e < t.e ? -1 : this.e > t.e ? 1 : 0 } translate(t, s = 0) { if (t === null || s === null) throw _e(); let i; return typeof t > "u" ? i = 0 : typeof t == "number" ? i = t : (i = typeof t.lineDelta == "number" ? t.lineDelta : 0, s = typeof t.characterDelta == "number" ? t.characterDelta : 0), i === 0 && s === 0 ? this : new Ur(this.line + i, this.character + s) } with(t, s = this.character) { if (t === null || s === null) throw _e(); let i; return typeof t > "u" ? i = this.line : typeof t == "number" ? i = t : (i = typeof t.line == "number" ? t.line : this.line, s = typeof t.character == "number" ? t.character : this.character), i === this.line && s === this.character ? this : new Ur(i, s) } toJSON() { return { line: this.line, character: this.character } } [Symbol.for("debug.description")]() { return `(${this.line}:${this.character})` } }, Le = Ur = __decorate([B], Le), Ke = yn = class { static isRange(t) { return t instanceof yn ? !0 : t ? Le.isPosition(t.start) && Le.isPosition(t.end) : !1 } static of(t) { if (t instanceof yn) return t; if (this.isRange(t)) return new yn(t.start, t.end); throw new Error("Invalid argument, is NOT a range-like object") } get start() { return this.c } get end() { return this.e } constructor(t, s, i, n) { let r, o; if (typeof t == "number" && typeof s == "number" && typeof i == "number" && typeof n == "number" ? (r = new Le(t, s), o = new Le(i, n)) : Le.isPosition(t) && Le.isPosition(s) && (r = Le.of(t), o = Le.of(s)), !r || !o) throw new Error("Invalid arguments"); r.isBefore(o) ? (this.c = r, this.e = o) : (this.c = o, this.e = r) } contains(t) { return yn.isRange(t) ? this.contains(t.start) && this.contains(t.end) : Le.isPosition(t) ? !(Le.of(t).isBefore(this.c) || this.e.isBefore(t)) : !1 } isEqual(t) { return this.c.isEqual(t.c) && this.e.isEqual(t.e) } intersection(t) { const s = Le.Max(t.start, this.c), i = Le.Min(t.end, this.e); if (!s.isAfter(i)) return new yn(s, i) } union(t) { if (this.contains(t)) return this; if (t.contains(this)) return t; const s = Le.Min(t.start, this.c), i = Le.Max(t.end, this.end); return new yn(s, i) } get isEmpty() { return this.c.isEqual(this.e) } get isSingleLine() { return this.c.line === this.e.line } with(t, s = this.end) { if (t === null || s === null) throw _e(); let i; return t ? Le.isPosition(t) ? i = t : (i = t.start || this.start, s = t.end || this.end) : i = this.start, i.isEqual(this.c) && s.isEqual(this.end) ? this : new yn(i, s) } toJSON() { return [this.start, this.end] } [Symbol.for("debug.description")]() { return kE(this) } }, Ke = yn = __decorate([B], Ke), dl = Gg = class extends Ke { static isSelection(t) { return t instanceof Gg ? !0 : t ? Ke.isRange(t) && Le.isPosition(t.anchor) && Le.isPosition(t.active) && typeof t.isReversed == "boolean" : !1 } get anchor() { return this.f } get active() { return this.g } constructor(t, s, i, n) { let r, o; if (typeof t == "number" && typeof s == "number" && typeof i == "number" && typeof n == "number" ? (r = new Le(t, s), o = new Le(i, n)) : Le.isPosition(t) && Le.isPosition(s) && (r = Le.of(t), o = Le.of(s)), !r || !o) throw new Error("Invalid arguments"); super(r, o), this.f = r, this.g = o } get isReversed() { return this.f === this.e } toJSON() { return { start: this.start, end: this.end, active: this.active, anchor: this.anchor } } [Symbol.for("debug.description")]() { return Rj(this) } }, dl = Gg = __decorate([B], dl), function (e) { e[e.LF = 1] = "LF", e[e.CRLF = 2] = "CRLF" }(ia || (ia = {})), function (e) { e[e.Replace = 1] = "Replace", e[e.Append = 2] = "Append", e[e.Prepend = 3] = "Prepend" }(IE || (IE = {})), Br = Mr = class { static isTextEdit(t) { return t instanceof Mr ? !0 : t ? Ke.isRange(t) && typeof t.newText == "string" : !1 } static replace(t, s) { return new Mr(t, s) } static insert(t, s) { return Mr.replace(new Ke(t, t), s) } static delete(t) { return Mr.replace(t, "") } static setEndOfLine(t) { const s = new Mr(new Ke(new Le(0, 0), new Le(0, 0)), ""); return s.newEol = t, s } get range() { return this.c } set range(t) { if (t && !Ke.isRange(t)) throw _e("range"); this.c = t } get newText() { return this.e || "" } set newText(t) { if (t && typeof t != "string") throw _e("newText"); this.e = t } get newEol() { return this.f } set newEol(t) { if (t && typeof t != "number") throw _e("newEol"); this.f = t } constructor(t, s) { this.c = t, this.e = s } toJSON() { return { range: this.range, newText: this.newText, newEol: this.f } } }, Br = Mr = __decorate([B], Br), vf = Yn = class { static isNotebookCellEdit(t) { return t instanceof Yn ? !0 : t ? Hr.isNotebookRange(t) && Array.isArray(t.newCells) : !1 } static replaceCells(t, s) { return new Yn(t, s) } static insertCells(t, s) { return new Yn(new Hr(t, t), s) } static deleteCells(t) { return new Yn(t, []) } static updateCellMetadata(t, s) { const i = new Yn(new Hr(t, t), []); return i.newCellMetadata = s, i } static updateNotebookMetadata(t) { const s = new Yn(new Hr(0, 0), []); return s.newNotebookMetadata = t, s } constructor(t, s) { this.range = t, this.newCells = s } }, vf = Yn = __decorate([B], vf), Kg = class g1 { static isSnippetTextEdit(t) { return t instanceof g1 ? !0 : t ? Ke.isRange(t.range) && na.isSnippetString(t.snippet) : !1 } static replace(t, s) { return new g1(t, s) } static insert(t, s) { return g1.replace(new Ke(t, t), s) } constructor(t, s) { this.range = t, this.snippet = s } }, function (e) { e[e.File = 1] = "File", e[e.Text = 2] = "Text", e[e.Cell = 3] = "Cell", e[e.CellReplace = 5] = "CellReplace", e[e.Snippet = 6] = "Snippet" }(AE || (AE = {})), pl = class { constructor() { this.c = [] } _allEntries() { return this.c } renameFile(t, s, i, n) { this.c.push({ _type: 1, from: t, to: s, options: i, metadata: n }) } createFile(t, s, i) { this.c.push({ _type: 1, from: void 0, to: t, options: s, metadata: i }) } deleteFile(t, s, i) { this.c.push({ _type: 1, from: t, to: void 0, options: s, metadata: i }) } e(t, s, i) { this.c.push({ _type: 3, metadata: i, uri: t, edit: { editType: 5, metadata: s } }) } f(t, s, i, n) { const r = s.start, o = s.end; (r !== o || i.length > 0) && this.c.push({ _type: 5, uri: t, index: r, count: o - r, cells: i, metadata: n }) } g(t, s, i, n) { this.c.push({ _type: 3, metadata: n, uri: t, edit: { editType: 3, index: s, metadata: i } }) } replace(t, s, i, n) { this.c.push({ _type: 2, uri: t, edit: new Br(s, i), metadata: n }) } insert(t, s, i, n) { this.replace(t, new Ke(s, s), i, n) } delete(t, s, i) { this.replace(t, s, "", i) } has(t) { return this.c.some(s => s._type === 2 && s.uri.toString() === t.toString()) } set(t, s) { if (s) for (const i of s) { if (!i) continue; let n, r; Array.isArray(i) ? (n = i[0], r = i[1]) : n = i, vf.isNotebookCellEdit(n) ? n.newCellMetadata ? this.g(t, n.range.start, n.newCellMetadata, r) : n.newNotebookMetadata ? this.e(t, n.newNotebookMetadata, r) : this.f(t, n.range, n.newCells, r) : Kg.isSnippetTextEdit(n) ? this.c.push({ _type: 6, uri: t, range: n.range, edit: n.snippet, metadata: r }) : this.c.push({ _type: 2, uri: t, edit: n, metadata: r }) } else { for (let i = 0; i < this.c.length; i++) { const n = this.c[i]; switch (n._type) { case 2: case 6: case 3: case 5: n.uri.toString() === t.toString() && (this.c[i] = void 0); break } } pA(this.c) } } get(t) { const s = []; for (const i of this.c) i._type === 2 && i.uri.toString() === t.toString() && s.push(i.edit); return s } entries() { const t = new At; for (const s of this.c) if (s._type === 2) { let i = t.get(s.uri); i || (i = [s.uri, []], t.set(s.uri, i)), i[1].push(s.edit) } return [...t.values()] } get size() { return this.entries().length } toJSON() { return this.entries() } }, pl = __decorate([B], pl), na = Fr = class { static isSnippetString(t) { return t instanceof Fr ? !0 : t ? typeof t.value == "string" : !1 } static c(t) { return t.replace(/\$|}|\\/g, "\\$&") } constructor(t) { this.e = 1, this.value = t || "" } appendText(t) { return this.value += Fr.c(t), this } appendTabstop(t = this.e++) { return this.value += "$", this.value += t, this } appendPlaceholder(t, s = this.e++) { if (typeof t == "function") { const i = new Fr; i.e = this.e, t(i), this.e = i.e, t = i.value } else t = Fr.c(t); return this.value += "${", this.value += s, this.value += ":", this.value += t, this.value += "}", this } appendChoice(t, s = this.e++) { const i = t.map(n => n.replaceAll(/[|\\,]/g, "\\$&")).join(","); return this.value += "${", this.value += s, this.value += "|", this.value += i, this.value += "|}", this } appendVariable(t, s) { if (typeof s == "function") { const i = new Fr; i.e = this.e, s(i), this.e = i.e, s = i.value } else typeof s == "string" && (s = s.replace(/\$|}/g, "\\$&")); return this.value += "${", this.value += t, s && (this.value += ":", this.value += s), this.value += "}", this } }, na = Fr = __decorate([B], na), function (e) { e[e.Unnecessary = 1] = "Unnecessary", e[e.Deprecated = 2] = "Deprecated" }(ra || (ra = {})), function (e) { e[e.Hint = 3] = "Hint", e[e.Information = 2] = "Information", e[e.Warning = 1] = "Warning", e[e.Error = 0] = "Error" }(Ts || (Ts = {})), En = Jg = class { static isLocation(t) { return t instanceof Jg ? !0 : t ? Ke.isRange(t.range) && E.isUri(t.uri) : !1 } constructor(t, s) { if (this.uri = t, s) if (Ke.isRange(s)) this.range = Ke.of(s); else if (Le.isPosition(s)) this.range = new Ke(s, s); else throw new Error("Illegal argument") } toJSON() { return { uri: this.uri, range: this.range } } }, En = Jg = __decorate([B], En), ml = class { static is(t) { return t ? typeof t.message == "string" && t.location && Ke.isRange(t.location.range) && E.isUri(t.location.uri) : !1 } constructor(t, s) { this.location = t, this.message = s } static isEqual(t, s) { return t === s ? !0 : !t || !s ? !1 : t.message === s.message && t.location.range.isEqual(s.location.range) && t.location.uri.toString() === s.location.uri.toString() } }, ml = __decorate([B], ml), bf = class { constructor(t, s, i = Ts.Error) { if (!Ke.isRange(t)) throw new TypeError("range must be set"); if (!s) throw new TypeError("message must be set"); this.range = t, this.message = s, this.severity = i } toJSON() { return { severity: Ts[this.severity], message: this.message, range: this.range, source: this.source, code: this.code } } static isEqual(t, s) { return t === s ? !0 : !t || !s ? !1 : t.message === s.message && t.severity === s.severity && t.code === s.code && t.severity === s.severity && t.source === s.source && t.range.isEqual(s.range) && Dn(t.tags, s.tags) && Dn(t.relatedInformation, s.relatedInformation, ml.isEqual) } }, bf = __decorate([B], bf), yf = class { constructor(t, s) { if (!t) throw new Error("Illegal argument, contents must be defined"); Array.isArray(t) ? this.contents = t : this.contents = [t], this.range = s } }, yf = __decorate([B], yf), Ef = class extends yf { constructor(t, s, i, n) { super(t, s), this.canIncreaseVerbosity = i, this.canDecreaseVerbosity = n } }, Ef = __decorate([B], Ef), function (e) { e[e.Increase = 0] = "Increase", e[e.Decrease = 1] = "Decrease" }(DE || (DE = {})), function (e) { e[e.Text = 0] = "Text", e[e.Read = 1] = "Read", e[e.Write = 2] = "Write" }(xf || (xf = {})), kf = class { constructor(t, s = xf.Text) { this.range = t, this.kind = s } toJSON() { return { range: this.range, kind: xf[this.kind] } } }, kf = __decorate([B], kf), $f = class { constructor(t, s) { this.uri = t, this.highlights = s } toJSON() { return { uri: this.uri, highlights: this.highlights.map(t => t.toJSON()) } } }, $f = __decorate([B], $f), function (e) { e[e.File = 0] = "File", e[e.Module = 1] = "Module", e[e.Namespace = 2] = "Namespace", e[e.Package = 3] = "Package", e[e.Class = 4] = "Class", e[e.Method = 5] = "Method", e[e.Property = 6] = "Property", e[e.Field = 7] = "Field", e[e.Constructor = 8] = "Constructor", e[e.Enum = 9] = "Enum", e[e.Interface = 10] = "Interface", e[e.Function = 11] = "Function", e[e.Variable = 12] = "Variable", e[e.Constant = 13] = "Constant", e[e.String = 14] = "String", e[e.Number = 15] = "Number", e[e.Boolean = 16] = "Boolean", e[e.Array = 17] = "Array", e[e.Object = 18] = "Object", e[e.Key = 19] = "Key", e[e.Null = 20] = "Null", e[e.EnumMember = 21] = "EnumMember", e[e.Struct = 22] = "Struct", e[e.Event = 23] = "Event", e[e.Operator = 24] = "Operator", e[e.TypeParameter = 25] = "TypeParameter" }(Be || (Be = {})), function (e) { e[e.Deprecated = 1] = "Deprecated" }(Sf || (Sf = {})), Pf = Yg = class { static validate(t) { if (!t.name) throw new Error("name must not be falsy") } constructor(t, s, i, n, r) { this.name = t, this.kind = s, this.containerName = r, typeof i == "string" && (this.containerName = i), n instanceof En ? this.location = n : i instanceof Ke && (this.location = new En(n, i)), Yg.validate(this) } toJSON() { return { name: this.name, kind: Be[this.kind], location: this.location, containerName: this.containerName } } }, Pf = Yg = __decorate([B], Pf), If = wf = class { static validate(t) { if (!t.name) throw new Error("name must not be falsy"); if (!t.range.contains(t.selectionRange)) throw new Error("selectionRange must be contained in fullRange"); t.children?.forEach(wf.validate) } constructor(t, s, i, n, r) { this.name = t, this.detail = s, this.kind = i, this.range = n, this.selectionRange = r, this.children = [], wf.validate(this) } }, If = wf = __decorate([B], If), function (e) { e[e.Invoke = 1] = "Invoke", e[e.Automatic = 2] = "Automatic" }(Af || (Af = {})), e0 = class { constructor(t, s) { this.title = t, this.kind = s } }, e0 = __decorate([B], e0), it = class { static { hl = this } static { this.c = "." } constructor(t) { this.value = t } append(t) { return new hl(this.value ? this.value + hl.c + t : t) } intersects(t) { return this.contains(t) || t.contains(this) } contains(t) { return this.value === t.value || t.value.startsWith(this.value + hl.c) } }, it = hl = __decorate([B], it), it.Empty = new it(""), it.QuickFix = it.Empty.append("quickfix"), it.Refactor = it.Empty.append("refactor"), it.RefactorExtract = it.Refactor.append("extract"), it.RefactorInline = it.Refactor.append("inline"), it.RefactorMove = it.Refactor.append("move"), it.RefactorRewrite = it.Refactor.append("rewrite"), it.Source = it.Empty.append("source"), it.SourceOrganizeImports = it.Source.append("organizeImports"), it.SourceFixAll = it.Source.append("fixAll"), it.Notebook = it.Empty.append("notebook"), Df = class { constructor(t, s) { if (this.range = t, this.parent = s, s && !s.range.contains(this.range)) throw new Error("Invalid argument: parent must contain this range") } }, Df = __decorate([B], Df), t0 = class { constructor(e, t, s, i, n, r) { this.kind = e, this.name = t, this.detail = s, this.uri = i, this.range = n, this.selectionRange = r } }, RE = class { constructor(e, t) { this.fromRanges = t, this.from = e } }, LE = class { constructor(e, t) { this.fromRanges = t, this.to = e } }, function (e) { e[e.Information = 0] = "Information", e[e.Warning = 1] = "Warning", e[e.Error = 2] = "Error" }(NE || (NE = {})), s0 = class { constructor(t, s) { this.range = t, this.command = s } get isResolved() { return !!this.command } }, s0 = __decorate([B], s0), xn = Xg = class { #e; static isMarkdownString(t) { return t instanceof Xg ? !0 : t && t.appendCodeblock && t.appendMarkdown && t.appendText && t.value !== void 0 } constructor(t, s = !1) { this.#e = new Di(t, { supportThemeIcons: s }) } get value() { return this.#e.value } set value(t) { this.#e.value = t } get isTrusted() { return this.#e.isTrusted } set isTrusted(t) { this.#e.isTrusted = t } get supportThemeIcons() { return this.#e.supportThemeIcons } set supportThemeIcons(t) { this.#e.supportThemeIcons = t } get supportHtml() { return this.#e.supportHtml } set supportHtml(t) { this.#e.supportHtml = t } get baseUri() { return this.#e.baseUri } set baseUri(t) { this.#e.baseUri = t } appendText(t) { return this.#e.appendText(t), this } appendMarkdown(t) { return this.#e.appendMarkdown(t), this } appendCodeblock(t, s) { return this.#e.appendCodeblock(s ?? "", t), this } }, xn = Xg = __decorate([B], xn), i0 = class { constructor(t, s) { this.label = t, this.documentation = s } }, i0 = __decorate([B], i0), n0 = class { constructor(t, s) { this.label = t, this.documentation = s, this.parameters = [] } }, n0 = __decorate([B], n0), r0 = class { constructor() { this.activeSignature = 0, this.activeParameter = 0, this.signatures = [] } }, r0 = __decorate([B], r0), function (e) { e[e.Invoke = 1] = "Invoke", e[e.TriggerCharacter = 2] = "TriggerCharacter", e[e.ContentChange = 3] = "ContentChange" }(OE || (OE = {})), function (e) { e[e.Type = 1] = "Type", e[e.Parameter = 2] = "Parameter" }(CE || (CE = {})), Rf = class { constructor(t) { this.value = t } }, Rf = __decorate([B], Rf), Lf = class { constructor(t, s, i) { this.position = t, this.label = s, this.kind = i } }, Lf = __decorate([B], Lf), function (e) { e[e.Invoke = 0] = "Invoke", e[e.TriggerCharacter = 1] = "TriggerCharacter", e[e.TriggerForIncompleteCompletions = 2] = "TriggerForIncompleteCompletions" }(gl || (gl = {})), function (e) { e[e.Text = 0] = "Text", e[e.Method = 1] = "Method", e[e.Function = 2] = "Function", e[e.Constructor = 3] = "Constructor", e[e.Field = 4] = "Field", e[e.Variable = 5] = "Variable", e[e.Class = 6] = "Class", e[e.Interface = 7] = "Interface", e[e.Module = 8] = "Module", e[e.Property = 9] = "Property", e[e.Unit = 10] = "Unit", e[e.Value = 11] = "Value", e[e.Enum = 12] = "Enum", e[e.Keyword = 13] = "Keyword", e[e.Snippet = 14] = "Snippet", e[e.Color = 15] = "Color", e[e.File = 16] = "File", e[e.Reference = 17] = "Reference", e[e.Folder = 18] = "Folder", e[e.EnumMember = 19] = "EnumMember", e[e.Constant = 20] = "Constant", e[e.Struct = 21] = "Struct", e[e.Event = 22] = "Event", e[e.Operator = 23] = "Operator", e[e.TypeParameter = 24] = "TypeParameter", e[e.User = 25] = "User", e[e.Issue = 26] = "Issue" }(Y || (Y = {})), function (e) { e[e.Deprecated = 1] = "Deprecated" }(Nf || (Nf = {})), Of = class { constructor(t, s) { this.label = t, this.kind = s } toJSON() { return { label: this.label, kind: this.kind && Y[this.kind], detail: this.detail, documentation: this.documentation, sortText: this.sortText, filterText: this.filterText, preselect: this.preselect, insertText: this.insertText, textEdit: this.textEdit } } }, Of = __decorate([B], Of), o0 = class { constructor(t = [], s = !1) { this.items = t, this.isIncomplete = s } }, o0 = __decorate([B], o0), a0 = class { constructor(t, s, i) { this.insertText = t, this.range = s, this.command = i } }, a0 = __decorate([B], a0), c0 = class { constructor(t) { this.commands = void 0, this.suppressSuggestions = void 0, this.items = t } }, c0 = __decorate([B], c0), function (e) { e[e.Unknown = 0] = "Unknown", e[e.Word = 1] = "Word", e[e.Line = 2] = "Line", e[e.Suggest = 3] = "Suggest" }(oa || (oa = {})), function (e) { e[e.Active = -1] = "Active", e[e.Beside = -2] = "Beside", e[e.One = 1] = "One", e[e.Two = 2] = "Two", e[e.Three = 3] = "Three", e[e.Four = 4] = "Four", e[e.Five = 5] = "Five", e[e.Six = 6] = "Six", e[e.Seven = 7] = "Seven", e[e.Eight = 8] = "Eight", e[e.Nine = 9] = "Nine" }(Cf || (Cf = {})), function (e) { e[e.Left = 1] = "Left", e[e.Right = 2] = "Right" }(_E || (_E = {})), function (e) { e[e.Off = 0] = "Off", e[e.On = 1] = "On", e[e.Relative = 2] = "Relative", e[e.Interval = 3] = "Interval" }(_i || (_i = {})), function (e) { e[e.Manual = 1] = "Manual", e[e.AfterDelay = 2] = "AfterDelay", e[e.FocusOut = 3] = "FocusOut" }(wl || (wl = {})), function (e) { e[e.Default = 0] = "Default", e[e.InCenter = 1] = "InCenter", e[e.InCenterIfOutsideViewport = 2] = "InCenterIfOutsideViewport", e[e.AtTop = 3] = "AtTop" }(jE || (jE = {})), function (e) { e[e.Keyboard = 1] = "Keyboard", e[e.Mouse = 2] = "Mouse", e[e.Command = 3] = "Command" }(_f || (_f = {})), function (e) { e[e.Addition = 1] = "Addition", e[e.Deletion = 2] = "Deletion", e[e.Modification = 3] = "Modification" }(TE || (TE = {})), function (e) { e[e.Undo = 1] = "Undo", e[e.Redo = 2] = "Redo" }(UE || (UE = {})), function (e) { e[e.OpenOpen = 0] = "OpenOpen", e[e.ClosedClosed = 1] = "ClosedClosed", e[e.OpenClosed = 2] = "OpenClosed", e[e.ClosedOpen = 3] = "ClosedOpen" }(aa || (aa = {})), function (e) { function t(s) { switch (s) { case "keyboard": return e.Keyboard; case "mouse": return e.Mouse; case "api": return e.Command } } e.fromValue = t }(_f || (_f = {})), function (e) { e[e.Other = 0] = "Other", e[e.Comment = 1] = "Comment", e[e.String = 2] = "String", e[e.RegEx = 3] = "RegEx" }(jf || (jf = {})), function (e) { function t(s) { switch (s) { case e.Other: return "other"; case e.Comment: return "comment"; case e.String: return "string"; case e.RegEx: return "regex" }return "other" } e.toString = t }(jf || (jf = {})), Tf = class { constructor(t, s) { if (s && !E.isUri(s)) throw _e("target"); if (!Ke.isRange(t) || t.isEmpty) throw _e("range"); this.range = t, this.target = s } }, Tf = __decorate([B], Tf), vl = class { constructor(t, s, i, n) { this.red = t, this.green = s, this.blue = i, this.alpha = n } }, vl = __decorate([B], vl), l0 = class { constructor(t, s) { if (s && !(s instanceof vl)) throw _e("color"); if (!Ke.isRange(t) || t.isEmpty) throw _e("range"); this.range = t, this.color = s } }, l0 = __decorate([B], l0), Uf = class { constructor(t) { if (!t || typeof t != "string") throw _e("label"); this.label = t } }, Uf = __decorate([B], Uf), function (e) { e[e.RGB = 0] = "RGB", e[e.HEX = 1] = "HEX", e[e.HSL = 2] = "HSL" }(ME || (ME = {})), function (e) { e[e.Error = 0] = "Error", e[e.Warning = 1] = "Warning", e[e.Information = 2] = "Information" }(FE || (FE = {})), function (e) { e[e.Unknown = 0] = "Unknown", e[e.Shutdown = 1] = "Shutdown", e[e.Process = 2] = "Process", e[e.User = 3] = "User", e[e.Extension = 4] = "Extension" }(BE || (BE = {})), function (e) { e[e.Low = 0] = "Low", e[e.Medium = 1] = "Medium", e[e.High = 2] = "High" }(HE || (HE = {})), function (e) { e[e.Panel = 1] = "Panel", e[e.Editor = 2] = "Editor" }(zE || (zE = {})), function (e) { e[e.File = 0] = "File", e[e.Folder = 1] = "Folder", e[e.Flag = 2] = "Flag", e[e.Method = 3] = "Method", e[e.Argument = 4] = "Argument" }(VE || (VE = {})), function (e) { e[e.Always = 1] = "Always", e[e.Silent = 2] = "Silent", e[e.Never = 3] = "Never" }(WE || (WE = {})), function (e) { e[e.Shared = 1] = "Shared", e[e.Dedicated = 2] = "Dedicated", e[e.New = 3] = "New" }(qE || (qE = {})), u0 = class { static { Oi = this } static { this.Clean = new Oi("clean", "Clean") } static { this.Build = new Oi("build", "Build") } static { this.Rebuild = new Oi("rebuild", "Rebuild") } static { this.Test = new Oi("test", "Test") } static from(t) { switch (t) { case "clean": return Oi.Clean; case "build": return Oi.Build; case "rebuild": return Oi.Rebuild; case "test": return Oi.Test; default: return } } constructor(t, s) { if (this.label = s, typeof t != "string" || typeof s != "string") throw _e("name"); this.c = t } get id() { return this.c } }, u0 = Oi = __decorate([B], u0), Mf = class { constructor(t, s, i) { if (typeof t != "string") throw _e("process"); this.e = [], this.c = t, s !== void 0 && (Array.isArray(s) ? (this.e = s, this.f = i) : this.f = s) } get process() { return this.c } set process(t) { if (typeof t != "string") throw _e("process"); this.c = t } get args() { return this.e } set args(t) { Array.isArray(t) || (t = []), this.e = t } get options() { return this.f } set options(t) { this.f = t } computeId() { const t = []; if (t.push("process"), this.c !== void 0 && t.push(this.c), this.e && this.e.length > 0) for (const s of this.e) t.push(s); return $E(t) } }, Mf = __decorate([B], Mf), Ff = class { constructor(t, s, i) { if (this.f = [], Array.isArray(s)) { if (!t) throw _e("command can't be undefined or null"); if (typeof t != "string" && typeof t.value != "string") throw _e("command"); this.e = t, this.f = s, this.g = i } else { if (typeof t != "string") throw _e("commandLine"); this.c = t, this.g = s } } get commandLine() { return this.c } set commandLine(t) { if (typeof t != "string") throw _e("commandLine"); this.c = t } get command() { return this.e ? this.e : "" } set command(t) { if (typeof t != "string" && typeof t.value != "string") throw _e("command"); this.e = t } get args() { return this.f } set args(t) { this.f = t || [] } get options() { return this.g } set options(t) { this.g = t } computeId() { const t = []; if (t.push("shell"), this.c !== void 0 && t.push(this.c), this.e !== void 0 && t.push(typeof this.e == "string" ? this.e : this.e.value), this.f && this.f.length > 0) for (const s of this.f) t.push(typeof s == "string" ? s : s.value); return $E(t) } }, Ff = __decorate([B], Ff), function (e) { e[e.Escape = 1] = "Escape", e[e.Strong = 2] = "Strong", e[e.Weak = 3] = "Weak" }(GE || (GE = {})), function (e) { e[e.Global = 1] = "Global", e[e.Workspace = 2] = "Workspace" }(Bf || (Bf = {})), JE = class { constructor(e) { this.c = e } computeId() { return "customExecution" + We() } set callback(e) { this.c = e } get callback() { return this.c } }, h0 = class { static { Ci = this } static { this.c = "customExecution" } static { this.e = "process" } static { this.f = "shell" } static { this.g = "$empty" } constructor(t, s, i, n, r, o) { this.k = !1, this.l = this.definition = t; let a; typeof s == "string" ? (this.o = this.name = s, this.w = this.source = i, this.execution = n, a = r, this.k = !0) : s === Bf.Global || s === Bf.Workspace ? (this.target = s, this.o = this.name = i, this.w = this.source = n, this.execution = r, a = o) : (this.target = s, this.o = this.name = i, this.w = this.source = n, this.execution = r, a = o), typeof a == "string" ? (this.r = [a], this.t = !0) : Array.isArray(a) ? (this.r = a, this.t = !0) : (this.r = [], this.t = !1), this.u = !1, this.y = Object.create(null), this.z = Object.create(null) } get _id() { return this.j } set _id(t) { this.j = t } get _deprecated() { return this.k } B() { this.j !== void 0 && (this.j = void 0, this.m = void 0, this.C()) } C() { this.q instanceof Mf ? this.l = { type: Ci.e, id: this.q.computeId() } : this.q instanceof Ff ? this.l = { type: Ci.f, id: this.q.computeId() } : this.q instanceof JE ? this.l = { type: Ci.c, id: this.q.computeId() } : this.l = { type: Ci.g, id: We() } } get definition() { return this.l } set definition(t) { if (t == null) throw _e("Kind can't be undefined or null"); this.B(), this.l = t } get scope() { return this.m } set target(t) { this.B(), this.m = t } get name() { return this.o } set name(t) { if (typeof t != "string") throw _e("name"); this.B(), this.o = t } get execution() { return this.q } set execution(t) { t === null && (t = void 0), this.B(), this.q = t; const s = this.l.type; (Ci.g === s || Ci.e === s || Ci.f === s || Ci.c === s) && this.C() } get problemMatchers() { return this.r } set problemMatchers(t) { if (Array.isArray(t)) this.B(), this.r = t, this.t = !0; else { this.B(), this.r = [], this.t = !1; return } } get hasDefinedMatchers() { return this.t } get isBackground() { return this.u } set isBackground(t) { t !== !0 && t !== !1 && (t = !1), this.B(), this.u = t } get source() { return this.w } set source(t) { if (typeof t != "string" || t.length === 0) throw _e("source must be a string of length > 0"); this.B(), this.w = t } get group() { return this.x } set group(t) { t === null && (t = void 0), this.B(), this.x = t } get detail() { return this.A } set detail(t) { t === null && (t = void 0), this.A = t } get presentationOptions() { return this.y } set presentationOptions(t) { t == null && (t = Object.create(null)), this.B(), this.y = t } get runOptions() { return this.z } set runOptions(t) { t == null && (t = Object.create(null)), this.B(), this.z = t } }, h0 = Ci = __decorate([B], h0), function (e) { e[e.SourceControl = 1] = "SourceControl", e[e.Window = 10] = "Window", e[e.Notification = 15] = "Notification" }(bl || (bl = {})), function (e) { function t(s) { const i = s; return On(i.value) ? i.tooltip && !ve(i.tooltip) ? (console.log("INVALID view badge, invalid tooltip", i.tooltip), !1) : !0 : (console.log("INVALID view badge, invalid value", i.value), !1) } e.isViewBadge = t }(YE || (YE = {})), f0 = Qg = class { static isTreeItem(t, s) { const i = t; if (i.checkboxState !== void 0) { const n = On(i.checkboxState) ? i.checkboxState : ct(i.checkboxState) && On(i.checkboxState.state) ? i.checkboxState.state : void 0, r = !On(i.checkboxState) && ct(i.checkboxState) ? i.checkboxState.tooltip : void 0; if (n === void 0 || n !== Hf.Checked && n !== Hf.Unchecked || r !== void 0 && !ve(r)) return console.log("INVALID tree item, invalid checkboxState", i.checkboxState), !1 } if (t instanceof Qg) return !0; if (i.label !== void 0 && !ve(i.label) && !i.label?.label) return console.log("INVALID tree item, invalid label", i.label), !1; if (i.id !== void 0 && !ve(i.id)) return console.log("INVALID tree item, invalid id", i.id), !1; if (i.iconPath !== void 0 && !ve(i.iconPath) && !E.isUri(i.iconPath) && (!i.iconPath || !ve(i.iconPath.id))) { const n = i.iconPath; if (!n || !ve(n.light) && !E.isUri(n.light) && !ve(n.dark) && !E.isUri(n.dark)) return console.log("INVALID tree item, invalid iconPath", i.iconPath), !1 } return i.description !== void 0 && !ve(i.description) && typeof i.description != "boolean" ? (console.log("INVALID tree item, invalid description", i.description), !1) : i.resourceUri !== void 0 && !E.isUri(i.resourceUri) ? (console.log("INVALID tree item, invalid resourceUri", i.resourceUri), !1) : i.tooltip !== void 0 && !ve(i.tooltip) && !(i.tooltip instanceof xn) ? (console.log("INVALID tree item, invalid tooltip", i.tooltip), !1) : i.command !== void 0 && !i.command.command ? (console.log("INVALID tree item, invalid command", i.command), !1) : i.collapsibleState !== void 0 && i.collapsibleState < yl.None && i.collapsibleState > yl.Expanded ? (console.log("INVALID tree item, invalid collapsibleState", i.collapsibleState), !1) : i.contextValue !== void 0 && !ve(i.contextValue) ? (console.log("INVALID tree item, invalid contextValue", i.contextValue), !1) : i.accessibilityInformation !== void 0 && !i.accessibilityInformation?.label ? (console.log("INVALID tree item, invalid accessibilityInformation", i.accessibilityInformation), !1) : !0 } constructor(t, s = yl.None) { this.collapsibleState = s, E.isUri(t) ? this.resourceUri = t : this.label = t } }, f0 = Qg = __decorate([B], f0), function (e) { e[e.None = 0] = "None", e[e.Collapsed = 1] = "Collapsed", e[e.Expanded = 2] = "Expanded" }(yl || (yl = {})), function (e) { e[e.Unchecked = 0] = "Unchecked", e[e.Checked = 1] = "Checked" }(Hf || (Hf = {})), zf = class { async asString() { return typeof this.value == "string" ? this.value : JSON.stringify(this.value) } asFile() { } constructor(t) { this.value = t } }, zf = __decorate([B], zf), Vf = class extends zf { }, XE = class extends Vf { #e; constructor(e) { super(""), this.#e = e } asFile() { return this.#e } }, QE = class { constructor(e, t, s, i) { this.name = e, this.uri = t, this._itemId = s, this.c = i } data() { return this.c() } }, Wf = class { #e = new Map; constructor(t) { for (const [s, i] of t ?? []) { const n = this.#e.get(this.#t(s)); n ? n.push(i) : this.#e.set(this.#t(s), [i]) } } get(t) { return this.#e.get(this.#t(t))?.[0] } set(t, s) { this.#e.set(this.#t(t), [s]) } forEach(t, s) { for (const [i, n] of this.#e) for (const r of n) t.call(s, r, i, this) } *[Symbol.iterator]() { for (const [t, s] of this.#e) for (const i of s) yield [t, i] } #t(t) { return t.toLowerCase() } }, Wf = __decorate([B], Wf), d0 = class { constructor(t, s, i) { this.insertText = t, this.title = s, this.kind = i } }, d0 = __decorate([B], d0), function (e) { e[e.Automatic = 0] = "Automatic", e[e.PasteAs = 1] = "PasteAs" }(ZE || (ZE = {})), El = class w1 { static { this.c = "." } constructor(t) { this.value = t } append(...t) { return new w1((this.value ? [this.value, ...t] : t).join(w1.c)) } intersects(t) { return this.contains(t) || t.contains(this) } contains(t) { return this.value === t.value || t.value.startsWith(this.value + w1.c) } }, El.Empty = new El(""), El.Text = new El("text"), Xn = class { constructor(t, s) { this.id = t, this.color = s } static isThemeIcon(t) { return typeof t.id != "string" ? (console.log("INVALID ThemeIcon, invalid id", t.id), !1) : !0 } }, Xn = __decorate([B], Xn), Xn.File = new Xn("file"), Xn.Folder = new Xn("folder"), p0 = class { constructor(t) { this.id = t } }, p0 = __decorate([B], p0), function (e) { e[e.Global = 1] = "Global", e[e.Workspace = 2] = "Workspace", e[e.WorkspaceFolder = 3] = "WorkspaceFolder" }(KE || (KE = {})), ca = class { get base() { return this.c } set base(t) { this.c = t, this.e = E.file(t) } get baseUri() { return this.e } set baseUri(t) { this.e = t, this.c = t.fsPath } constructor(t, s) { if (typeof t != "string" && (!t || !E.isUri(t) && !E.isUri(t.uri))) throw _e("base"); if (typeof s != "string") throw _e("pattern"); typeof t == "string" ? this.baseUri = E.file(t) : E.isUri(t) ? this.baseUri = t : this.baseUri = t.uri, this.pattern = s } toJSON() { return { pattern: this.pattern, base: this.base, baseUri: this.baseUri.toJSON() } } }, ca = __decorate([B], ca), e3 = new WeakMap, la = class { constructor(t, s, i, n, r) { this.enabled = typeof t == "boolean" ? t : !0, typeof s == "string" && (this.condition = s), typeof i == "string" && (this.hitCondition = i), typeof n == "string" && (this.logMessage = n), typeof r == "string" && (this.mode = r) } get id() { return this.c || (this.c = e3.get(this) ?? We()), this.c } }, la = __decorate([B], la), m0 = class extends la { constructor(t, s, i, n, r, o) { if (super(s, i, n, r, o), t === null) throw _e("location"); this.location = t } }, m0 = __decorate([B], m0), g0 = class extends la { constructor(t, s, i, n, r, o) { super(s, i, n, r, o), this.functionName = t } }, g0 = __decorate([B], g0), w0 = class extends la { constructor(t, s, i, n, r, o, a, c) { if (super(n, r, o, a, c), !s) throw _e("dataId"); this.label = t, this.dataId = s, this.canPersist = i } }, w0 = __decorate([B], w0), v0 = class { constructor(t, s, i) { this.command = t, this.args = s || [], this.options = i } }, v0 = __decorate([B], v0), b0 = class { constructor(t, s) { this.port = t, this.host = s } }, b0 = __decorate([B], b0), y0 = class { constructor(t) { this.path = t } }, y0 = __decorate([B], y0), E0 = class { constructor(t) { this.implementation = t } }, E0 = __decorate([B], E0), qf = class { constructor(t, s) { this.range = t, this.expression = s } }, qf = __decorate([B], qf), function (e) { e[e.Invoke = 0] = "Invoke", e[e.Automatic = 1] = "Automatic" }(t3 || (t3 = {})), Gf = class { constructor(t, s) { this.range = t, this.text = s } }, Gf = __decorate([B], Gf), Jf = class { constructor(t, s, i = !0) { this.range = t, this.variableName = s, this.caseSensitiveLookup = i } }, Jf = __decorate([B], Jf), Yf = class { constructor(t, s) { this.range = t, this.expression = s } }, Yf = __decorate([B], Yf), Xf = class { constructor(t, s) { this.frameId = t, this.stoppedLocation = s } }, Xf = __decorate([B], Xf), function (e) { e[e.AIGenerated = 1] = "AIGenerated" }(s3 || (s3 = {})), function (e) { e[e.Invoke = 0] = "Invoke", e[e.Automatic = 1] = "Automatic" }(i3 || (i3 = {})), function (e) { e[e.Changed = 1] = "Changed", e[e.Created = 2] = "Created", e[e.Deleted = 3] = "Deleted" }(n3 || (n3 = {})), x0 = vs = class extends Error { static FileExists(t) { return new vs(t, Q.FileExists, vs.FileExists) } static FileNotFound(t) { return new vs(t, Q.FileNotFound, vs.FileNotFound) } static FileNotADirectory(t) { return new vs(t, Q.FileNotADirectory, vs.FileNotADirectory) } static FileIsADirectory(t) { return new vs(t, Q.FileIsADirectory, vs.FileIsADirectory) } static NoPermissions(t) { return new vs(t, Q.NoPermissions, vs.NoPermissions) } static Unavailable(t) { return new vs(t, Q.Unavailable, vs.Unavailable) } constructor(t, s = Q.Unknown, i) { super(E.isUri(t) ? t.toString(!0) : t), this.code = i?.name ?? "Unknown", j6(this, s), Object.setPrototypeOf(this, vs.prototype), typeof Error.captureStackTrace == "function" && typeof i == "function" && Error.captureStackTrace(this, i) } }, x0 = vs = __decorate([B], x0), k0 = class { constructor(t, s, i) { this.start = t, this.end = s, this.kind = i } }, k0 = __decorate([B], k0), function (e) { e[e.Comment = 1] = "Comment", e[e.Imports = 2] = "Imports", e[e.Region = 3] = "Region" }(Qn || (Qn = {})), function (e) { e[e.Collapsed = 0] = "Collapsed", e[e.Expanded = 1] = "Expanded" }(r3 || (r3 = {})), function (e) { e[e.Editing = 0] = "Editing", e[e.Preview = 1] = "Preview" }(o3 || (o3 = {})), function (e) { e[e.Published = 0] = "Published", e[e.Draft = 1] = "Draft" }(a3 || (a3 = {})), function (e) { e[e.Unresolved = 0] = "Unresolved", e[e.Resolved = 1] = "Resolved" }(c3 || (c3 = {})), function (e) { e[e.Current = 0] = "Current", e[e.Outdated = 1] = "Outdated" }(l3 || (l3 = {})), function (e) { e[e.Reply = 1] = "Reply", e[e.Comment = 2] = "Comment" }(u3 || (u3 = {})), function (e) { e[e.Separate = 0] = "Separate", e[e.MergeWithParent = 1] = "MergeWithParent" }(h3 || (h3 = {})), function (e) { e[e.Title = 1] = "Title", e[e.Inline = 2] = "Inline" }(f3 || (f3 = {})), $0 = class { static { this.Back = { iconPath: new Xn("arrow-left") } } constructor() { } }, $0 = __decorate([B], $0), function (e) { e[e.Separator = -1] = "Separator", e[e.Default = 0] = "Default" }(d3 || (d3 = {})), function (e) { e[e.Info = 1] = "Info", e[e.Warning = 2] = "Warning", e[e.Error = 3] = "Error" }(p3 || (p3 = {})), function (e) { e[e.UI = 1] = "UI", e[e.Workspace = 2] = "Workspace" }(m3 || (m3 = {})), S0 = class { constructor(t) { this.kind = t } }, S0 = __decorate([B], S0), function (e) { e[e.Light = 1] = "Light", e[e.Dark = 2] = "Dark", e[e.HighContrast = 3] = "HighContrast", e[e.HighContrastLight = 4] = "HighContrastLight" }(g3 || (g3 = {})), Hr = class Sv { static isNotebookRange(t) { return t instanceof Sv ? !0 : t ? typeof t.start == "number" && typeof t.end == "number" : !1 } get start() { return this.c } get end() { return this.e } get isEmpty() { return this.c === this.e } constructor(t, s) { if (t < 0) throw _e("start must be positive"); if (s < 0) throw _e("end must be positive"); t <= s ? (this.c = t, this.e = s) : (this.c = s, this.e = t) } with(t) { let s = this.c, i = this.e; return t.start !== void 0 && (s = t.start), t.end !== void 0 && (i = t.end), s === this.c && i === this.e ? this : new Sv(s, i) } }, P0 = class Pv { static validate(t) { if (typeof t.kind != "number") throw new Error("NotebookCellData MUST have 'kind' property"); if (typeof t.value != "string") throw new Error("NotebookCellData MUST have 'value' property"); if (typeof t.languageId != "string") throw new Error("NotebookCellData MUST have 'languageId' property") } static isNotebookCellDataArray(t) { return Array.isArray(t) && t.every(s => Pv.isNotebookCellData(s)) } static isNotebookCellData(t) { return !0 } constructor(t, s, i, n, r, o, a) { this.kind = t, this.value = s, this.languageId = i, this.mime = n, this.outputs = r ?? [], this.metadata = o, this.executionSummary = a, Pv.validate(this) } }, w3 = class { constructor(e) { this.cells = e } }, v3 = class Pn { static isNotebookCellOutputItem(t) { return t instanceof Pn ? !0 : t ? typeof t.mime == "string" && t.data instanceof Uint8Array : !1 } static error(t) { const s = { name: t.name, message: t.message, stack: t.stack }; return Pn.json(s, "application/vnd.code.notebook.error") } static stdout(t) { return Pn.text(t, "application/vnd.code.notebook.stdout") } static stderr(t) { return Pn.text(t, "application/vnd.code.notebook.stderr") } static bytes(t, s = "application/octet-stream") { return new Pn(t, s) } static #e = new TextEncoder; static text(t, s = Ni.text) { const i = Pn.#e.encode(String(t)); return new Pn(i, s) } static json(t, s = "text/x-json") { const i = JSON.stringify(t, void 0, " "); return Pn.text(i, s) } constructor(t, s) { this.data = t, this.mime = s; const i = Z2(s, !0); if (!i) throw new Error(`INVALID mime type: ${s}. Must be in the format "type/subtype[;optionalparameter]"`); this.mime = i } }, b3 = class Iv { static isNotebookCellOutput(t) { return t instanceof Iv ? !0 : !t || typeof t != "object" ? !1 : typeof t.id == "string" && Array.isArray(t.items) } static ensureUniqueMimeTypes(t, s = !1) { const i = new Set, n = new Set; for (let r = 0; r < t.length; r++) { const o = t[r], a = Z2(o.mime); if (!i.has(a) || yj(a)) { i.add(a); continue } n.add(r), s && console.warn(`DUPLICATED mime type '${o.mime}' will be dropped`) } return n.size === 0 ? t : t.filter((r, o) => !n.has(o)) } constructor(t, s, i) { this.items = Iv.ensureUniqueMimeTypes(t, !0), typeof s == "string" ? (this.id = s, this.metadata = i) : (this.id = We(), this.metadata = s ?? i) } }, function (e) { e[e.Markup = 1] = "Markup", e[e.Code = 2] = "Code" }(ua || (ua = {})), function (e) { e[e.Idle = 1] = "Idle", e[e.Pending = 2] = "Pending", e[e.Executing = 3] = "Executing" }(Qf || (Qf = {})), function (e) { e[e.Left = 1] = "Left", e[e.Right = 2] = "Right" }(I0 || (I0 = {})), function (e) { e[e.Default = 0] = "Default", e[e.InCenter = 1] = "InCenter", e[e.InCenterIfOutsideViewport = 2] = "InCenterIfOutsideViewport", e[e.AtTop = 3] = "AtTop" }(y3 || (y3 = {})), function (e) { e[e.Default = 1] = "Default", e[e.Preferred = 2] = "Preferred" }(E3 || (E3 = {})), function (e) { e[e.Default = 1] = "Default", e[e.Preferred = 2] = "Preferred", e[e.Hidden = -1] = "Hidden" }(x3 || (x3 = {})), k3 = class { constructor(e, t = []) { this.uri = e, this.provides = yb(t) } }, function (e) { e[e.Named = 1] = "Named", e[e.Indexed = 2] = "Indexed" }($3 || ($3 = {})), A0 = class { constructor(t, s) { this.label = t, this.timestamp = s } }, A0 = __decorate([B], A0), function (e) { e[e.Production = 1] = "Production", e[e.Development = 2] = "Development", e[e.Test = 3] = "Test" }(S3 || (S3 = {})), function (e) { e[e.Node = 1] = "Node", e[e.Webworker = 2] = "Webworker" }(P3 || (P3 = {})), function (e) { e[e.Other = 0] = "Other", e[e.Comment = 1] = "Comment", e[e.String = 2] = "String", e[e.RegEx = 3] = "RegEx" }(ha || (ha = {})), function (e) { e[e.Queued = 1] = "Queued", e[e.Running = 2] = "Running", e[e.Passed = 3] = "Passed", e[e.Failed = 4] = "Failed", e[e.Skipped = 5] = "Skipped", e[e.Errored = 6] = "Errored" }(I3 || (I3 = {})), function (e) { e[e.Run = 1] = "Run", e[e.Debug = 2] = "Debug", e[e.Coverage = 3] = "Coverage" }(xl || (xl = {})), A3 = class { constructor(e, t, s) { this.controllerId = e, this.profileId = t, this.kind = s } }, D0 = class { constructor(t = void 0, s = void 0, i = void 0, n = !1, r = !0) { this.include = t, this.exclude = s, this.profile = i, this.continuous = n, this.preserveFocus = r } }, D0 = __decorate([B], D0), Zf = Zg = class { static diff(t, s, i) { const n = new Zg(t); return n.expectedOutput = s, n.actualOutput = i, n } constructor(t) { this.message = t } }, Zf = Zg = __decorate([B], Zf), kl = class { constructor(t) { this.id = t } }, kl = __decorate([B], kl), Kf = class { constructor(e, t) { this.covered = e, this.total = t, gf(this) } }, D3 = class _I { static fromDetails(t, s) { const i = new Kf(0, 0), n = new Kf(0, 0), r = new Kf(0, 0); for (const a of s) if ("branches" in a) { i.total += 1, i.covered += a.executed ? 1 : 0; for (const c of a.branches) n.total += 1, n.covered += c.executed ? 1 : 0 } else r.total += 1, r.covered += a.executed ? 1 : 0; const o = new _I(t, i, n.total > 0 ? n : void 0, r.total > 0 ? r : void 0); return o.detailedCoverage = s, o } constructor(t, s, i, n, r = []) { this.uri = t, this.statementCoverage = s, this.branchCoverage = i, this.declarationCoverage = n, this.includesTests = r } }, R3 = class { get executionCount() { return +this.executed } set executionCount(e) { this.executed = e } constructor(e, t, s = []) { this.executed = e, this.location = t, this.branches = s } }, L3 = class { get executionCount() { return +this.executed } set executionCount(e) { this.executed = e } constructor(e, t, s) { this.executed = e, this.location = t, this.label = s } }, N3 = class { get executionCount() { return +this.executed } set executionCount(e) { this.executed = e } constructor(e, t, s) { this.name = e, this.executed = t, this.location = s } }, function (e) { e[e.None = 0] = "None", e[e.Option = 1] = "Option", e[e.Default = 2] = "Default", e[e.Preferred = 3] = "Preferred" }(O3 || (O3 = {})), function (e) { e[e.Untrusted = 0] = "Untrusted", e[e.Trusted = 1] = "Trusted", e[e.Unspecified = 2] = "Unspecified" }(C3 || (C3 = {})), function (e) { e[e.Notify = 1] = "Notify", e[e.OpenBrowser = 2] = "OpenBrowser", e[e.OpenPreview = 3] = "OpenPreview", e[e.Silent = 4] = "Silent", e[e.Ignore = 5] = "Ignore", e[e.OpenBrowserOnce = 6] = "OpenBrowserOnce" }(_3 || (_3 = {})), R0 = class { constructor(e, t, s, i, n, r) { this.kind = e, this.name = t, this.detail = s, this.uri = i, this.range = n, this.selectionRange = r } }, function (e) { e[e.Down = 0] = "Down", e[e.Up = 1] = "Up" }(j3 || (j3 = {})), function (e) { e[e.Action = 1] = "Action", e[e.Toolbar = 2] = "Toolbar" }(T3 || (T3 = {})), function (e) { e[e.Short = 1] = "Short", e[e.Medium = 2] = "Medium", e[e.Full = 3] = "Full" }(U3 || (U3 = {})), function (e) { e[e.Accepted = 1] = "Accepted", e[e.Rejected = 2] = "Rejected", e[e.Saved = 3] = "Saved" }(fa || (fa = {})), function (e) { e[e.Unhelpful = 0] = "Unhelpful", e[e.Helpful = 1] = "Helpful", e[e.Undone = 2] = "Undone", e[e.Accepted = 3] = "Accepted", e[e.Bug = 4] = "Bug" }(M3 || (M3 = {})), function (e) { e[e.Unhelpful = 0] = "Unhelpful", e[e.Helpful = 1] = "Helpful" }(F3 || (F3 = {})), L0 = class { constructor(e) { if (typeof e != "string" && e.isTrusted === !0) throw new Error("The boolean form of MarkdownString.isTrusted is NOT supported for chat participants."); this.value = typeof e == "string" ? new xn(e) : e } }, N0 = class { constructor(e, t) { if (typeof e != "string" && e.isTrusted === !0) throw new Error("The boolean form of MarkdownString.isTrusted is NOT supported for chat participants."); this.value = typeof e == "string" ? new xn(e) : e, this.vulnerabilities = t } }, O0 = class { constructor(e, t) { this.participant = e, this.command = t } }, B3 = class { constructor(e, t, s, i) { this.title = e, this.message = t, this.data = s, this.buttons = i } }, C0 = class { constructor(e, t) { this.value = e, this.baseUri = t } }, _0 = class { constructor(e, t) { this.value = e, this.value2 = e, this.title = t } }, j0 = class { constructor(e) { this.value = e } }, T0 = class { constructor(e) { if (typeof e != "string" && e.isTrusted === !0) throw new Error("The boolean form of MarkdownString.isTrusted is NOT supported for chat participants."); this.value = typeof e == "string" ? new xn(e) : e } }, U0 = class { constructor(e) { this.value = e } }, M0 = class { constructor(e, t, s) { this.value = e, this.iconPath = t, this.options = s } }, F0 = class { constructor(e) { this.value = e } }, H3 = class { constructor(e, t, s) { this.value = e, this.license = t, this.snippet = s } }, B0 = class { constructor(e, t) { this.uri = e, this.range = t } }, H0 = class { constructor(e, t) { this.uri = e, t === !0 ? (this.isDone = !0, this.edits = []) : this.edits = Array.isArray(t) ? t : [t] } }, function (e) { e[e.Panel = 1] = "Panel", e[e.Terminal = 2] = "Terminal", e[e.Notebook = 3] = "Notebook", e[e.Editor = 4] = "Editor", e[e.EditingSession = 5] = "EditingSession" }(Ys || (Ys = {})), function (e) { e[e.Complete = 1] = "Complete", e[e.Partial = 2] = "Partial", e[e.Omitted = 3] = "Omitted" }(z3 || (z3 = {})), V3 = class { constructor(e, t) { this.mimeType = e, this.data = t } }, function (e) { e[e.User = 1] = "User", e[e.Assistant = 2] = "Assistant", e[e.System = 3] = "System" }(ji || (ji = {})), z0 = class { constructor(e, t, s) { this.callId = e, this.content = t, this.isError = s ?? !1 } }, W3 = class Av { static User(t, s) { return new Av(ji.User, t, s) } static Assistant(t, s) { return new Av(ji.Assistant, t, s) } set content(t) { typeof t == "string" ? this.c = [new Xs(t)] : this.c = t } get content() { return this.c } set content2(t) { t && (this.content = t.map(s => typeof s == "string" ? new Xs(s) : s)) } get content2() { return this.content.map(t => t instanceof Xs ? t.value : t) } constructor(t, s, i) { this.c = [], this.role = t, this.content = s, this.name = i } }, V0 = class { constructor(e, t, s) { this.callId = e, this.name = t, this.input = s } }, Xs = class { constructor(e) { this.value = e } toJSON() { return { $mid: 21, value: this.value } } }, da = class { constructor(e) { this.value = e } toJSON() { return { $mid: 22, value: this.value } } }, W0 = class { constructor(e) { this.content = e } toJSON() { return { $mid: 20, content: this.content } } }, function (e) { e[e.Auto = 1] = "Auto", e[e.Required = 2] = "Required" }(q3 || (q3 = {})), function (e) { e[e.SymbolInformation = 1] = "SymbolInformation", e[e.CommandInformation = 2] = "CommandInformation", e[e.SearchInformation = 3] = "SearchInformation", e[e.SettingInformation = 4] = "SettingInformation" }(G3 || (G3 = {})), function (e) { e[e.Started = 1] = "Started", e[e.Recognizing = 2] = "Recognizing", e[e.Recognized = 3] = "Recognized", e[e.Stopped = 4] = "Stopped", e[e.Error = 5] = "Error" }(J3 || (J3 = {})), function (e) { e[e.Started = 1] = "Started", e[e.Stopped = 2] = "Stopped", e[e.Error = 3] = "Error" }(Y3 || (Y3 = {})), function (e) { e[e.Recognized = 1] = "Recognized", e[e.Stopped = 2] = "Stopped" }(X3 || (X3 = {})), function (e) { e[e.Invoke = 0] = "Invoke", e[e.Automatic = 1] = "Automatic" }(Q3 || (Q3 = {})) } }), ed, Lj = v({
  386. "out-build/vs/base/common/dataTransfer.js"() {
  387. "use strict"; Et(), pr(), Wt(), ed = Object.freeze({
  388. create: e => Qi(e.map(t => t.toString())).join(`\r
  389. `), split: e => e.split(`\r
  390. `), parse: e => ed.split(e).filter(t => !t.startsWith("#"))
  391. })
  392. }
  393. }); function G0() { return { async: !1, breaks: !1, extensions: null, gfm: !0, hooks: null, pedantic: !1, renderer: null, silent: !1, tokenizer: null, walkTokens: null } } function Z3(e) { Zn = e } function Us(e, t) { if (t) { if (J0.test(e)) return e.replace(sx, X0) } else if (Y0.test(e)) return e.replace(ix, X0); return e } function Ge(e, t) { let s = typeof e == "string" ? e : e.source; t = t || ""; const i = { replace: (n, r) => { let o = typeof r == "string" ? r : r.source; return o = o.replace(rx, "$1"), s = s.replace(n, o), i }, getRegex: () => new RegExp(s, t) }; return i } function K3(e) { try { e = encodeURI(e).replace(/%25/g, "%") } catch { return null } return e } function ex(e, t) { const s = e.replace(/\|/g, (r, o, a) => { let c = !1, l = o; for (; --l >= 0 && a[l] === "\\";)c = !c; return c ? "|" : " |" }), i = s.split(/ \|/); let n = 0; if (i[0].trim() || i.shift(), i.length > 0 && !i[i.length - 1].trim() && i.pop(), t) if (i.length > t) i.splice(t); else for (; i.length < t;)i.push(""); for (; n < i.length; n++)i[n] = i[n].trim().replace(/\\\|/g, "|"); return i } function $l(e, t, s) { const i = e.length; if (i === 0) return ""; let n = 0; for (; n < i;) { const r = e.charAt(i - n - 1); if (r === t && !s) n++; else if (r !== t && s) n++; else break } return e.slice(0, i - n) } function Nj(e, t) { if (e.indexOf(t[1]) === -1) return -1; let s = 0; for (let i = 0; i < e.length; i++)if (e[i] === "\\") i++; else if (e[i] === t[0]) s++; else if (e[i] === t[1] && (s--, s < 0)) return i; return -1 } function tx(e, t, s, i) { const n = t.href, r = t.title ? Us(t.title) : null, o = e[1].replace(/\\([\[\]])/g, "$1"); if (e[0].charAt(0) !== "!") { i.state.inLink = !0; const a = { type: "link", raw: s, href: n, title: r, text: o, tokens: i.inlineTokens(o) }; return i.state.inLink = !1, a } return { type: "image", raw: s, href: n, title: r, text: Us(o) } } function Oj(e, t) {
  394. const s = e.match(/^(\s+)(?:```)/); if (s === null) return t; const i = s[1]; return t.split(`
  395. `).map(n => { const r = n.match(/^\s+/); if (r === null) return n; const [o] = r; return o.length >= i.length ? n.slice(i.length) : n }).join(`
  396. `)
  397. } function He(e, t) { return tr.parse(e, t) } var Zn, J0, sx, Y0, ix, nx, X0, rx, pa, Sl, ox, ax, cx, ma, lx, Q0, Z0, td, ux, sd, hx, fx, Pl, id, dx, K0, px, nd, ew, mx, gx, tw, wx, sw, vx, ga, bx, yx, Ex, xx, kx, $x, Sx, Px, Ix, Il, Ax, iw, nw, Dx, rd, Rx, od, Lx, Al, wa, Kn, Dl, ad, er, Rl, Nx, tr, Cj, _j, jj, Tj, Uj, Mj, Fj, Bj = v({
  398. "out-build/vs/base/common/marked/marked.js"() {
  399. "use strict"; Zn = G0(), J0 = /[&<>"']/, sx = new RegExp(J0.source, "g"), Y0 = /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/, ix = new RegExp(Y0.source, "g"), nx = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" }, X0 = e => nx[e], rx = /(^|[^\[])\^/g, pa = { exec: () => null }, Sl = class {
  400. options; rules; lexer; constructor(e) { this.options = e || Zn } space(e) { const t = this.rules.block.newline.exec(e); if (t && t[0].length > 0) return { type: "space", raw: t[0] } } code(e) {
  401. const t = this.rules.block.code.exec(e); if (t) {
  402. const s = t[0].replace(/^ {1,4}/gm, ""); return {
  403. type: "code", raw: t[0], codeBlockStyle: "indented", text: this.options.pedantic ? s : $l(s, `
  404. `)
  405. }
  406. }
  407. } fences(e) { const t = this.rules.block.fences.exec(e); if (t) { const s = t[0], i = Oj(s, t[3] || ""); return { type: "code", raw: s, lang: t[2] ? t[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : t[2], text: i } } } heading(e) { const t = this.rules.block.heading.exec(e); if (t) { let s = t[2].trim(); if (/#$/.test(s)) { const i = $l(s, "#"); (this.options.pedantic || !i || / $/.test(i)) && (s = i.trim()) } return { type: "heading", raw: t[0], depth: t[1].length, text: s, tokens: this.lexer.inline(s) } } } hr(e) {
  408. const t = this.rules.block.hr.exec(e); if (t) return {
  409. type: "hr", raw: $l(t[0], `
  410. `)
  411. }
  412. } blockquote(e) {
  413. const t = this.rules.block.blockquote.exec(e); if (t) {
  414. let s = $l(t[0], `
  415. `).split(`
  416. `), i = "", n = ""; const r = []; for (; s.length > 0;) {
  417. let o = !1; const a = []; let c; for (c = 0; c < s.length; c++)if (/^ {0,3}>/.test(s[c])) a.push(s[c]), o = !0; else if (!o) a.push(s[c]); else break; s = s.slice(c); const l = a.join(`
  418. `), u = l.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g, `
  419. $1`).replace(/^ {0,3}>[ \t]?/gm, ""); i = i ? `${i}
  420. ${l}` : l, n = n ? `${n}
  421. ${u}` : u; const h = this.lexer.state.top; if (this.lexer.state.top = !0, this.lexer.blockTokens(u, r, !0), this.lexer.state.top = h, s.length === 0) break; const d = r[r.length - 1]; if (d?.type === "code") break; if (d?.type === "blockquote") {
  422. const p = d, g = p.raw + `
  423. `+ s.join(`
  424. `), w = this.blockquote(g); r[r.length - 1] = w, i = i.substring(0, i.length - p.raw.length) + w.raw, n = n.substring(0, n.length - p.text.length) + w.text; break
  425. } else if (d?.type === "list") {
  426. const p = d, g = p.raw + `
  427. `+ s.join(`
  428. `), w = this.list(g); r[r.length - 1] = w, i = i.substring(0, i.length - d.raw.length) + w.raw, n = n.substring(0, n.length - p.raw.length) + w.raw, s = g.substring(r[r.length - 1].raw.length).split(`
  429. `); continue
  430. }
  431. } return { type: "blockquote", raw: i, tokens: r, text: n }
  432. }
  433. } list(e) {
  434. let t = this.rules.block.list.exec(e); if (t) {
  435. let s = t[1].trim(); const i = s.length > 1, n = { type: "list", raw: "", ordered: i, start: i ? +s.slice(0, -1) : "", loose: !1, items: [] }; s = i ? `\\d{1,9}\\${s.slice(-1)}` : `\\${s}`, this.options.pedantic && (s = i ? s : "[*+-]"); const r = new RegExp(`^( {0,3}${s})((?:[ ][^\\n]*)?(?:\\n|$))`); let o = !1; for (; e;) {
  436. let a = !1, c = "", l = ""; if (!(t = r.exec(e)) || this.rules.block.hr.test(e)) break; c = t[0], e = e.substring(c.length); let u = t[2].split(`
  437. `, 1)[0].replace(/^\t+/, y => " ".repeat(3 * y.length)), h = e.split(`
  438. `, 1)[0], d = !u.trim(), p = 0; if (this.options.pedantic ? (p = 2, l = u.trimStart()) : d ? p = t[1].length + 1 : (p = t[2].search(/[^ ]/), p = p > 4 ? 1 : p, l = u.slice(p), p += t[1].length), d && /^ *$/.test(h) && (c += h + `
  439. `, e = e.substring(h.length + 1), a = !0), !a) {
  440. const y = new RegExp(`^ {0,${Math.min(3, p - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`), x = new RegExp(`^ {0,${Math.min(3, p - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`), k = new RegExp(`^ {0,${Math.min(3, p - 1)}}(?:\`\`\`|~~~)`), A = new RegExp(`^ {0,${Math.min(3, p - 1)}}#`); for (; e;) {
  441. const I = e.split(`
  442. `, 1)[0]; if (h = I, this.options.pedantic && (h = h.replace(/^ {1,4}(?=( {4})*[^ ])/g, " ")), k.test(h) || A.test(h) || y.test(h) || x.test(e)) break; if (h.search(/[^ ]/) >= p || !h.trim()) l += `
  443. `+ h.slice(p); else {
  444. if (d || u.search(/[^ ]/) >= 4 || k.test(u) || A.test(u) || x.test(u)) break; l += `
  445. `+ h
  446. } !d && !h.trim() && (d = !0), c += I + `
  447. `, e = e.substring(I.length + 1), u = h.slice(p)
  448. }
  449. } n.loose || (o ? n.loose = !0 : /\n *\n *$/.test(c) && (o = !0)); let g = null, w; this.options.gfm && (g = /^\[[ xX]\] /.exec(l), g && (w = g[0] !== "[ ] ", l = l.replace(/^\[[ xX]\] +/, ""))), n.items.push({ type: "list_item", raw: c, task: !!g, checked: w, loose: !1, text: l, tokens: [] }), n.raw += c
  450. } n.items[n.items.length - 1].raw = n.items[n.items.length - 1].raw.trimEnd(), n.items[n.items.length - 1].text = n.items[n.items.length - 1].text.trimEnd(), n.raw = n.raw.trimEnd(); for (let a = 0; a < n.items.length; a++)if (this.lexer.state.top = !1, n.items[a].tokens = this.lexer.blockTokens(n.items[a].text, []), !n.loose) { const c = n.items[a].tokens.filter(u => u.type === "space"), l = c.length > 0 && c.some(u => /\n.*\n/.test(u.raw)); n.loose = l } if (n.loose) for (let a = 0; a < n.items.length; a++)n.items[a].loose = !0; return n
  451. }
  452. } html(e) { const t = this.rules.block.html.exec(e); if (t) return { type: "html", block: !0, raw: t[0], pre: t[1] === "pre" || t[1] === "script" || t[1] === "style", text: t[0] } } def(e) { const t = this.rules.block.def.exec(e); if (t) { const s = t[1].toLowerCase().replace(/\s+/g, " "), i = t[2] ? t[2].replace(/^<(.*)>$/, "$1").replace(this.rules.inline.anyPunctuation, "$1") : "", n = t[3] ? t[3].substring(1, t[3].length - 1).replace(this.rules.inline.anyPunctuation, "$1") : t[3]; return { type: "def", tag: s, raw: t[0], href: i, title: n } } } table(e) {
  453. const t = this.rules.block.table.exec(e); if (!t || !/[:|]/.test(t[2])) return; const s = ex(t[1]), i = t[2].replace(/^\||\| *$/g, "").split("|"), n = t[3] && t[3].trim() ? t[3].replace(/\n[ \t]*$/, "").split(`
  454. `) : [], r = { type: "table", raw: t[0], header: [], align: [], rows: [] }; if (s.length === i.length) { for (const o of i) /^ *-+: *$/.test(o) ? r.align.push("right") : /^ *:-+: *$/.test(o) ? r.align.push("center") : /^ *:-+ *$/.test(o) ? r.align.push("left") : r.align.push(null); for (let o = 0; o < s.length; o++)r.header.push({ text: s[o], tokens: this.lexer.inline(s[o]), header: !0, align: r.align[o] }); for (const o of n) r.rows.push(ex(o, r.header.length).map((a, c) => ({ text: a, tokens: this.lexer.inline(a), header: !1, align: r.align[c] }))); return r }
  455. } lheading(e) { const t = this.rules.block.lheading.exec(e); if (t) return { type: "heading", raw: t[0], depth: t[2].charAt(0) === "=" ? 1 : 2, text: t[1], tokens: this.lexer.inline(t[1]) } } paragraph(e) {
  456. const t = this.rules.block.paragraph.exec(e); if (t) {
  457. const s = t[1].charAt(t[1].length - 1) === `
  458. `? t[1].slice(0, -1) : t[1]; return { type: "paragraph", raw: t[0], text: s, tokens: this.lexer.inline(s) }
  459. }
  460. } text(e) { const t = this.rules.block.text.exec(e); if (t) return { type: "text", raw: t[0], text: t[0], tokens: this.lexer.inline(t[0]) } } escape(e) { const t = this.rules.inline.escape.exec(e); if (t) return { type: "escape", raw: t[0], text: Us(t[1]) } } tag(e) { const t = this.rules.inline.tag.exec(e); if (t) return !this.lexer.state.inLink && /^<a /i.test(t[0]) ? this.lexer.state.inLink = !0 : this.lexer.state.inLink && /^<\/a>/i.test(t[0]) && (this.lexer.state.inLink = !1), !this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(t[0]) ? this.lexer.state.inRawBlock = !0 : this.lexer.state.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0]) && (this.lexer.state.inRawBlock = !1), { type: "html", raw: t[0], inLink: this.lexer.state.inLink, inRawBlock: this.lexer.state.inRawBlock, block: !1, text: t[0] } } link(e) { const t = this.rules.inline.link.exec(e); if (t) { const s = t[2].trim(); if (!this.options.pedantic && /^</.test(s)) { if (!/>$/.test(s)) return; const r = $l(s.slice(0, -1), "\\"); if ((s.length - r.length) % 2 === 0) return } else { const r = Nj(t[2], "()"); if (r > -1) { const a = (t[0].indexOf("!") === 0 ? 5 : 4) + t[1].length + r; t[2] = t[2].substring(0, r), t[0] = t[0].substring(0, a).trim(), t[3] = "" } } let i = t[2], n = ""; if (this.options.pedantic) { const r = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i); r && (i = r[1], n = r[3]) } else n = t[3] ? t[3].slice(1, -1) : ""; return i = i.trim(), /^</.test(i) && (this.options.pedantic && !/>$/.test(s) ? i = i.slice(1) : i = i.slice(1, -1)), tx(t, { href: i && i.replace(this.rules.inline.anyPunctuation, "$1"), title: n && n.replace(this.rules.inline.anyPunctuation, "$1") }, t[0], this.lexer) } } reflink(e, t) { let s; if ((s = this.rules.inline.reflink.exec(e)) || (s = this.rules.inline.nolink.exec(e))) { const i = (s[2] || s[1]).replace(/\s+/g, " "), n = t[i.toLowerCase()]; if (!n) { const r = s[0].charAt(0); return { type: "text", raw: r, text: r } } return tx(s, n, s[0], this.lexer) } } emStrong(e, t, s = "") { let i = this.rules.inline.emStrongLDelim.exec(e); if (!i || i[3] && s.match(/[\p{L}\p{N}]/u)) return; if (!(i[1] || i[2] || "") || !s || this.rules.inline.punctuation.exec(s)) { const r = [...i[0]].length - 1; let o, a, c = r, l = 0; const u = i[0][0] === "*" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd; for (u.lastIndex = 0, t = t.slice(-1 * e.length + r); (i = u.exec(t)) != null;) { if (o = i[1] || i[2] || i[3] || i[4] || i[5] || i[6], !o) continue; if (a = [...o].length, i[3] || i[4]) { c += a; continue } else if ((i[5] || i[6]) && r % 3 && !((r + a) % 3)) { l += a; continue } if (c -= a, c > 0) continue; a = Math.min(a, a + c + l); const h = [...i[0]][0].length, d = e.slice(0, r + i.index + h + a); if (Math.min(r, a) % 2) { const g = d.slice(1, -1); return { type: "em", raw: d, text: g, tokens: this.lexer.inlineTokens(g) } } const p = d.slice(2, -2); return { type: "strong", raw: d, text: p, tokens: this.lexer.inlineTokens(p) } } } } codespan(e) { const t = this.rules.inline.code.exec(e); if (t) { let s = t[2].replace(/\n/g, " "); const i = /[^ ]/.test(s), n = /^ /.test(s) && / $/.test(s); return i && n && (s = s.substring(1, s.length - 1)), s = Us(s, !0), { type: "codespan", raw: t[0], text: s } } } br(e) { const t = this.rules.inline.br.exec(e); if (t) return { type: "br", raw: t[0] } } del(e) { const t = this.rules.inline.del.exec(e); if (t) return { type: "del", raw: t[0], text: t[2], tokens: this.lexer.inlineTokens(t[2]) } } autolink(e) { const t = this.rules.inline.autolink.exec(e); if (t) { let s, i; return t[2] === "@" ? (s = Us(t[1]), i = "mailto:" + s) : (s = Us(t[1]), i = s), { type: "link", raw: t[0], text: s, href: i, tokens: [{ type: "text", raw: s, text: s }] } } } url(e) { let t; if (t = this.rules.inline.url.exec(e)) { let s, i; if (t[2] === "@") s = Us(t[0]), i = "mailto:" + s; else { let n; do n = t[0], t[0] = this.rules.inline._backpedal.exec(t[0])?.[0] ?? ""; while (n !== t[0]); s = Us(t[0]), t[1] === "www." ? i = "http://" + t[0] : i = t[0] } return { type: "link", raw: t[0], text: s, href: i, tokens: [{ type: "text", raw: s, text: s }] } } } inlineText(e) { const t = this.rules.inline.text.exec(e); if (t) { let s; return this.lexer.state.inRawBlock ? s = t[0] : s = Us(t[0]), { type: "text", raw: t[0], text: s } } }
  461. }, ox = /^(?: *(?:\n|$))+/, ax = /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/, cx = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, ma = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, lx = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, Q0 = /(?:[*+-]|\d{1,9}[.)])/, Z0 = Ge(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g, Q0).replace(/blockCode/g, / {4}/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).getRegex(), td = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, ux = /^[^\n]+/, sd = /(?!\s*\])(?:\\.|[^\[\]\\])+/, hx = Ge(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label", sd).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), fx = Ge(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, Q0).getRegex(), Pl = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", id = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, dx = Ge("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))", "i").replace("comment", id).replace("tag", Pl).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), K0 = Ge(td).replace("hr", ma).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Pl).getRegex(), px = Ge(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", K0).getRegex(), nd = { blockquote: px, code: ax, def: hx, fences: cx, heading: lx, hr: ma, html: dx, lheading: Z0, list: fx, newline: ox, paragraph: K0, table: pa, text: ux }, ew = Ge("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", ma).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", " {4}[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Pl).getRegex(), mx = { ...nd, table: ew, paragraph: Ge(td).replace("hr", ma).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", ew).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Pl).getRegex() }, gx = {
  462. ...nd, html: Ge(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", id).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(), def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^(#{1,6})(.*)(?:\n+|$)/, fences: pa, lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, paragraph: Ge(td).replace("hr", ma).replace("heading", ` *#{1,6} *[^
  463. ]`).replace("lheading", Z0).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
  464. }, tw = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, wx = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, sw = /^( {2,}|\\)\n(?!\s*$)/, vx = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, ga = "\\p{P}\\p{S}", bx = Ge(/^((?![*_])[\spunctuation])/, "u").replace(/punctuation/g, ga).getRegex(), yx = /\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g, Ex = Ge(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/, "u").replace(/punct/g, ga).getRegex(), xx = Ge("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])", "gu").replace(/punct/g, ga).getRegex(), kx = Ge("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])", "gu").replace(/punct/g, ga).getRegex(), $x = Ge(/\\([punct])/, "gu").replace(/punct/g, ga).getRegex(), Sx = Ge(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), Px = Ge(id).replace("(?:-->|$)", "-->").getRegex(), Ix = Ge("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", Px).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), Il = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/, Ax = Ge(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label", Il).replace("href", /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), iw = Ge(/^!?\[(label)\]\[(ref)\]/).replace("label", Il).replace("ref", sd).getRegex(), nw = Ge(/^!?\[(ref)\](?:\[\])?/).replace("ref", sd).getRegex(), Dx = Ge("reflink|nolink(?!\\()", "g").replace("reflink", iw).replace("nolink", nw).getRegex(), rd = { _backpedal: pa, anyPunctuation: $x, autolink: Sx, blockSkip: yx, br: sw, code: wx, del: pa, emStrongLDelim: Ex, emStrongRDelimAst: xx, emStrongRDelimUnd: kx, escape: tw, link: Ax, nolink: nw, punctuation: bx, reflink: iw, reflinkSearch: Dx, tag: Ix, text: vx, url: pa }, Rx = { ...rd, link: Ge(/^!?\[(label)\]\((.*?)\)/).replace("label", Il).getRegex(), reflink: Ge(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", Il).getRegex() }, od = { ...rd, escape: Ge(tw).replace("])", "~|])").getRegex(), url: Ge(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, "i").replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/, text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/ }, Lx = { ...od, br: Ge(sw).replace("{2,}", "*").getRegex(), text: Ge(od.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex() }, Al = { normal: nd, gfm: mx, pedantic: gx }, wa = { normal: rd, gfm: od, breaks: Lx, pedantic: Rx }, Kn = class Dv {
  465. tokens; options; state; tokenizer; inlineQueue; constructor(t) { this.tokens = [], this.tokens.links = Object.create(null), this.options = t || Zn, this.options.tokenizer = this.options.tokenizer || new Sl, this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = { inLink: !1, inRawBlock: !1, top: !0 }; const s = { block: Al.normal, inline: wa.normal }; this.options.pedantic ? (s.block = Al.pedantic, s.inline = wa.pedantic) : this.options.gfm && (s.block = Al.gfm, this.options.breaks ? s.inline = wa.breaks : s.inline = wa.gfm), this.tokenizer.rules = s } static get rules() { return { block: Al, inline: wa } } static lex(t, s) { return new Dv(s).lex(t) } static lexInline(t, s) { return new Dv(s).inlineTokens(t) } lex(t) {
  466. t = t.replace(/\r\n|\r/g, `
  467. `), this.blockTokens(t, this.tokens); for (let s = 0; s < this.inlineQueue.length; s++) { const i = this.inlineQueue[s]; this.inlineTokens(i.src, i.tokens) } return this.inlineQueue = [], this.tokens
  468. } blockTokens(t, s = [], i = !1) {
  469. this.options.pedantic ? t = t.replace(/\t/g, " ").replace(/^ +$/gm, "") : t = t.replace(/^( *)(\t+)/gm, (a, c, l) => c + " ".repeat(l.length)); let n, r, o; for (; t;)if (!(this.options.extensions && this.options.extensions.block && this.options.extensions.block.some(a => (n = a.call({ lexer: this }, t, s)) ? (t = t.substring(n.raw.length), s.push(n), !0) : !1))) {
  470. if (n = this.tokenizer.space(t)) {
  471. t = t.substring(n.raw.length), n.raw.length === 1 && s.length > 0 ? s[s.length - 1].raw += `
  472. `: s.push(n); continue
  473. } if (n = this.tokenizer.code(t)) {
  474. t = t.substring(n.raw.length), r = s[s.length - 1], r && (r.type === "paragraph" || r.type === "text") ? (r.raw += `
  475. `+ n.raw, r.text += `
  476. `+ n.text, this.inlineQueue[this.inlineQueue.length - 1].src = r.text) : s.push(n); continue
  477. } if (n = this.tokenizer.fences(t)) { t = t.substring(n.raw.length), s.push(n); continue } if (n = this.tokenizer.heading(t)) { t = t.substring(n.raw.length), s.push(n); continue } if (n = this.tokenizer.hr(t)) { t = t.substring(n.raw.length), s.push(n); continue } if (n = this.tokenizer.blockquote(t)) { t = t.substring(n.raw.length), s.push(n); continue } if (n = this.tokenizer.list(t)) { t = t.substring(n.raw.length), s.push(n); continue } if (n = this.tokenizer.html(t)) { t = t.substring(n.raw.length), s.push(n); continue } if (n = this.tokenizer.def(t)) {
  478. t = t.substring(n.raw.length), r = s[s.length - 1], r && (r.type === "paragraph" || r.type === "text") ? (r.raw += `
  479. `+ n.raw, r.text += `
  480. `+ n.raw, this.inlineQueue[this.inlineQueue.length - 1].src = r.text) : this.tokens.links[n.tag] || (this.tokens.links[n.tag] = { href: n.href, title: n.title }); continue
  481. } if (n = this.tokenizer.table(t)) { t = t.substring(n.raw.length), s.push(n); continue } if (n = this.tokenizer.lheading(t)) { t = t.substring(n.raw.length), s.push(n); continue } if (o = t, this.options.extensions && this.options.extensions.startBlock) { let a = 1 / 0; const c = t.slice(1); let l; this.options.extensions.startBlock.forEach(u => { l = u.call({ lexer: this }, c), typeof l == "number" && l >= 0 && (a = Math.min(a, l)) }), a < 1 / 0 && a >= 0 && (o = t.substring(0, a + 1)) } if (this.state.top && (n = this.tokenizer.paragraph(o))) {
  482. r = s[s.length - 1], i && r?.type === "paragraph" ? (r.raw += `
  483. `+ n.raw, r.text += `
  484. `+ n.text, this.inlineQueue.pop(), this.inlineQueue[this.inlineQueue.length - 1].src = r.text) : s.push(n), i = o.length !== t.length, t = t.substring(n.raw.length); continue
  485. } if (n = this.tokenizer.text(t)) {
  486. t = t.substring(n.raw.length), r = s[s.length - 1], r && r.type === "text" ? (r.raw += `
  487. `+ n.raw, r.text += `
  488. `+ n.text, this.inlineQueue.pop(), this.inlineQueue[this.inlineQueue.length - 1].src = r.text) : s.push(n); continue
  489. } if (t) { const a = "Infinite loop on byte: " + t.charCodeAt(0); if (this.options.silent) { console.error(a); break } else throw new Error(a) }
  490. } return this.state.top = !0, s
  491. } inline(t, s = []) { return this.inlineQueue.push({ src: t, tokens: s }), s } inlineTokens(t, s = []) { let i, n, r, o = t, a, c, l; if (this.tokens.links) { const u = Object.keys(this.tokens.links); if (u.length > 0) for (; (a = this.tokenizer.rules.inline.reflinkSearch.exec(o)) != null;)u.includes(a[0].slice(a[0].lastIndexOf("[") + 1, -1)) && (o = o.slice(0, a.index) + "[" + "a".repeat(a[0].length - 2) + "]" + o.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex)) } for (; (a = this.tokenizer.rules.inline.blockSkip.exec(o)) != null;)o = o.slice(0, a.index) + "[" + "a".repeat(a[0].length - 2) + "]" + o.slice(this.tokenizer.rules.inline.blockSkip.lastIndex); for (; (a = this.tokenizer.rules.inline.anyPunctuation.exec(o)) != null;)o = o.slice(0, a.index) + "++" + o.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex); for (; t;)if (c || (l = ""), c = !1, !(this.options.extensions && this.options.extensions.inline && this.options.extensions.inline.some(u => (i = u.call({ lexer: this }, t, s)) ? (t = t.substring(i.raw.length), s.push(i), !0) : !1))) { if (i = this.tokenizer.escape(t)) { t = t.substring(i.raw.length), s.push(i); continue } if (i = this.tokenizer.tag(t)) { t = t.substring(i.raw.length), n = s[s.length - 1], n && i.type === "text" && n.type === "text" ? (n.raw += i.raw, n.text += i.text) : s.push(i); continue } if (i = this.tokenizer.link(t)) { t = t.substring(i.raw.length), s.push(i); continue } if (i = this.tokenizer.reflink(t, this.tokens.links)) { t = t.substring(i.raw.length), n = s[s.length - 1], n && i.type === "text" && n.type === "text" ? (n.raw += i.raw, n.text += i.text) : s.push(i); continue } if (i = this.tokenizer.emStrong(t, o, l)) { t = t.substring(i.raw.length), s.push(i); continue } if (i = this.tokenizer.codespan(t)) { t = t.substring(i.raw.length), s.push(i); continue } if (i = this.tokenizer.br(t)) { t = t.substring(i.raw.length), s.push(i); continue } if (i = this.tokenizer.del(t)) { t = t.substring(i.raw.length), s.push(i); continue } if (i = this.tokenizer.autolink(t)) { t = t.substring(i.raw.length), s.push(i); continue } if (!this.state.inLink && (i = this.tokenizer.url(t))) { t = t.substring(i.raw.length), s.push(i); continue } if (r = t, this.options.extensions && this.options.extensions.startInline) { let u = 1 / 0; const h = t.slice(1); let d; this.options.extensions.startInline.forEach(p => { d = p.call({ lexer: this }, h), typeof d == "number" && d >= 0 && (u = Math.min(u, d)) }), u < 1 / 0 && u >= 0 && (r = t.substring(0, u + 1)) } if (i = this.tokenizer.inlineText(r)) { t = t.substring(i.raw.length), i.raw.slice(-1) !== "_" && (l = i.raw.slice(-1)), c = !0, n = s[s.length - 1], n && n.type === "text" ? (n.raw += i.raw, n.text += i.text) : s.push(i); continue } if (t) { const u = "Infinite loop on byte: " + t.charCodeAt(0); if (this.options.silent) { console.error(u); break } else throw new Error(u) } } return s }
  492. }, Dl = class {
  493. options; parser; constructor(e) { this.options = e || Zn } space(e) { return "" } code({ text: e, lang: t, escaped: s }) {
  494. const i = (t || "").match(/^\S*/)?.[0], n = e.replace(/\n$/, "") + `
  495. `; return i ? '<pre><code class="language-' + Us(i) + '">' + (s ? n : Us(n, !0)) + `</code></pre>
  496. `: "<pre><code>" + (s ? n : Us(n, !0)) + `</code></pre>
  497. `} blockquote({ tokens: e }) {
  498. return `<blockquote>
  499. ${this.parser.parse(e)}</blockquote>
  500. `} html({ text: e }) { return e } heading({ tokens: e, depth: t }) {
  501. return `<h${t}>${this.parser.parseInline(e)}</h${t}>
  502. `} hr(e) {
  503. return `<hr>
  504. `} list(e) {
  505. const t = e.ordered, s = e.start; let i = ""; for (let o = 0; o < e.items.length; o++) { const a = e.items[o]; i += this.listitem(a) } const n = t ? "ol" : "ul", r = t && s !== 1 ? ' start="' + s + '"' : ""; return "<" + n + r + `>
  506. `+ i + "</" + n + `>
  507. `} listitem(e) {
  508. let t = ""; if (e.task) { const s = this.checkbox({ checked: !!e.checked }); e.loose ? e.tokens.length > 0 && e.tokens[0].type === "paragraph" ? (e.tokens[0].text = s + " " + e.tokens[0].text, e.tokens[0].tokens && e.tokens[0].tokens.length > 0 && e.tokens[0].tokens[0].type === "text" && (e.tokens[0].tokens[0].text = s + " " + e.tokens[0].tokens[0].text)) : e.tokens.unshift({ type: "text", raw: s + " ", text: s + " " }) : t += s + " " } return t += this.parser.parse(e.tokens, !!e.loose), `<li>${t}</li>
  509. `} checkbox({ checked: e }) { return "<input " + (e ? 'checked="" ' : "") + 'disabled="" type="checkbox">' } paragraph({ tokens: e }) {
  510. return `<p>${this.parser.parseInline(e)}</p>
  511. `} table(e) {
  512. let t = "", s = ""; for (let n = 0; n < e.header.length; n++)s += this.tablecell(e.header[n]); t += this.tablerow({ text: s }); let i = ""; for (let n = 0; n < e.rows.length; n++) { const r = e.rows[n]; s = ""; for (let o = 0; o < r.length; o++)s += this.tablecell(r[o]); i += this.tablerow({ text: s }) } return i && (i = `<tbody>${i}</tbody>`), `<table>
  513. <thead>
  514. `+ t + `</thead>
  515. `+ i + `</table>
  516. `} tablerow({ text: e }) {
  517. return `<tr>
  518. ${e}</tr>
  519. `} tablecell(e) {
  520. const t = this.parser.parseInline(e.tokens), s = e.header ? "th" : "td"; return (e.align ? `<${s} align="${e.align}">` : `<${s}>`) + t + `</${s}>
  521. `} strong({ tokens: e }) { return `<strong>${this.parser.parseInline(e)}</strong>` } em({ tokens: e }) { return `<em>${this.parser.parseInline(e)}</em>` } codespan({ text: e }) { return `<code>${e}</code>` } br(e) { return "<br>" } del({ tokens: e }) { return `<del>${this.parser.parseInline(e)}</del>` } link({ href: e, title: t, tokens: s }) { const i = this.parser.parseInline(s), n = K3(e); if (n === null) return i; e = n; let r = '<a href="' + e + '"'; return t && (r += ' title="' + t + '"'), r += ">" + i + "</a>", r } image({ href: e, title: t, text: s }) { const i = K3(e); if (i === null) return s; e = i; let n = `<img src="${e}" alt="${s}"`; return t && (n += ` title="${t}"`), n += ">", n } text(e) { return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : e.text }
  522. }, ad = class { strong({ text: e }) { return e } em({ text: e }) { return e } codespan({ text: e }) { return e } del({ text: e }) { return e } html({ text: e }) { return e } text({ text: e }) { return e } link({ text: e }) { return "" + e } image({ text: e }) { return "" + e } br() { return "" } }, er = class Rv {
  523. options; renderer; textRenderer; constructor(t) { this.options = t || Zn, this.options.renderer = this.options.renderer || new Dl, this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new ad } static parse(t, s) { return new Rv(s).parse(t) } static parseInline(t, s) { return new Rv(s).parseInline(t) } parse(t, s = !0) {
  524. let i = ""; for (let n = 0; n < t.length; n++) {
  525. const r = t[n]; if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[r.type]) { const a = r, c = this.options.extensions.renderers[a.type].call({ parser: this }, a); if (c !== !1 || !["space", "hr", "heading", "code", "table", "blockquote", "list", "html", "paragraph", "text"].includes(a.type)) { i += c || ""; continue } } const o = r; switch (o.type) {
  526. case "space": { i += this.renderer.space(o); continue } case "hr": { i += this.renderer.hr(o); continue } case "heading": { i += this.renderer.heading(o); continue } case "code": { i += this.renderer.code(o); continue } case "table": { i += this.renderer.table(o); continue } case "blockquote": { i += this.renderer.blockquote(o); continue } case "list": { i += this.renderer.list(o); continue } case "html": { i += this.renderer.html(o); continue } case "paragraph": { i += this.renderer.paragraph(o); continue } case "text": {
  527. let a = o, c = this.renderer.text(a); for (; n + 1 < t.length && t[n + 1].type === "text";)a = t[++n], c += `
  528. `+ this.renderer.text(a); s ? i += this.renderer.paragraph({ type: "paragraph", raw: c, text: c, tokens: [{ type: "text", raw: c, text: c }] }) : i += c; continue
  529. } default: { const a = 'Token with "' + o.type + '" type was not found.'; if (this.options.silent) return console.error(a), ""; throw new Error(a) }
  530. }
  531. } return i
  532. } parseInline(t, s) { s = s || this.renderer; let i = ""; for (let n = 0; n < t.length; n++) { const r = t[n]; if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[r.type]) { const a = this.options.extensions.renderers[r.type].call({ parser: this }, r); if (a !== !1 || !["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes(r.type)) { i += a || ""; continue } } const o = r; switch (o.type) { case "escape": { i += s.text(o); break } case "html": { i += s.html(o); break } case "link": { i += s.link(o); break } case "image": { i += s.image(o); break } case "strong": { i += s.strong(o); break } case "em": { i += s.em(o); break } case "codespan": { i += s.codespan(o); break } case "br": { i += s.br(o); break } case "del": { i += s.del(o); break } case "text": { i += s.text(o); break } default: { const a = 'Token with "' + o.type + '" type was not found.'; if (this.options.silent) return console.error(a), ""; throw new Error(a) } } } return i }
  533. }, Rl = class { options; constructor(e) { this.options = e || Zn } static passThroughHooks = new Set(["preprocess", "postprocess", "processAllTokens"]); preprocess(e) { return e } postprocess(e) { return e } processAllTokens(e) { return e } }, Nx = class {
  534. defaults = G0(); options = this.setOptions; parse = this.parseMarkdown(Kn.lex, er.parse); parseInline = this.parseMarkdown(Kn.lexInline, er.parseInline); Parser = er; Renderer = Dl; TextRenderer = ad; Lexer = Kn; Tokenizer = Sl; Hooks = Rl; constructor(...e) { this.use(...e) } walkTokens(e, t) { let s = []; for (const i of e) switch (s = s.concat(t.call(this, i)), i.type) { case "table": { const n = i; for (const r of n.header) s = s.concat(this.walkTokens(r.tokens, t)); for (const r of n.rows) for (const o of r) s = s.concat(this.walkTokens(o.tokens, t)); break } case "list": { const n = i; s = s.concat(this.walkTokens(n.items, t)); break } default: { const n = i; this.defaults.extensions?.childTokens?.[n.type] ? this.defaults.extensions.childTokens[n.type].forEach(r => { const o = n[r].flat(1 / 0); s = s.concat(this.walkTokens(o, t)) }) : n.tokens && (s = s.concat(this.walkTokens(n.tokens, t))) } }return s } use(...e) { const t = this.defaults.extensions || { renderers: {}, childTokens: {} }; return e.forEach(s => { const i = { ...s }; if (i.async = this.defaults.async || i.async || !1, s.extensions && (s.extensions.forEach(n => { if (!n.name) throw new Error("extension name required"); if ("renderer" in n) { const r = t.renderers[n.name]; r ? t.renderers[n.name] = function (...o) { let a = n.renderer.apply(this, o); return a === !1 && (a = r.apply(this, o)), a } : t.renderers[n.name] = n.renderer } if ("tokenizer" in n) { if (!n.level || n.level !== "block" && n.level !== "inline") throw new Error("extension level must be 'block' or 'inline'"); const r = t[n.level]; r ? r.unshift(n.tokenizer) : t[n.level] = [n.tokenizer], n.start && (n.level === "block" ? t.startBlock ? t.startBlock.push(n.start) : t.startBlock = [n.start] : n.level === "inline" && (t.startInline ? t.startInline.push(n.start) : t.startInline = [n.start])) } "childTokens" in n && n.childTokens && (t.childTokens[n.name] = n.childTokens) }), i.extensions = t), s.renderer) { const n = this.defaults.renderer || new Dl(this.defaults); for (const r in s.renderer) { if (!(r in n)) throw new Error(`renderer '${r}' does not exist`); if (["options", "parser"].includes(r)) continue; const o = r, a = s.renderer[o], c = n[o]; n[o] = (...l) => { let u = a.apply(n, l); return u === !1 && (u = c.apply(n, l)), u || "" } } i.renderer = n } if (s.tokenizer) { const n = this.defaults.tokenizer || new Sl(this.defaults); for (const r in s.tokenizer) { if (!(r in n)) throw new Error(`tokenizer '${r}' does not exist`); if (["options", "rules", "lexer"].includes(r)) continue; const o = r, a = s.tokenizer[o], c = n[o]; n[o] = (...l) => { let u = a.apply(n, l); return u === !1 && (u = c.apply(n, l)), u } } i.tokenizer = n } if (s.hooks) { const n = this.defaults.hooks || new Rl; for (const r in s.hooks) { if (!(r in n)) throw new Error(`hook '${r}' does not exist`); if (r === "options") continue; const o = r, a = s.hooks[o], c = n[o]; Rl.passThroughHooks.has(r) ? n[o] = l => { if (this.defaults.async) return Promise.resolve(a.call(n, l)).then(h => c.call(n, h)); const u = a.call(n, l); return c.call(n, u) } : n[o] = (...l) => { let u = a.apply(n, l); return u === !1 && (u = c.apply(n, l)), u } } i.hooks = n } if (s.walkTokens) { const n = this.defaults.walkTokens, r = s.walkTokens; i.walkTokens = function (o) { let a = []; return a.push(r.call(this, o)), n && (a = a.concat(n.call(this, o))), a } } this.defaults = { ...this.defaults, ...i } }), this } setOptions(e) { return this.defaults = { ...this.defaults, ...e }, this } lexer(e, t) { return Kn.lex(e, t ?? this.defaults) } parser(e, t) { return er.parse(e, t ?? this.defaults) } parseMarkdown(e, t) { return (i, n) => { const r = { ...n }, o = { ...this.defaults, ...r }, a = this.onError(!!o.silent, !!o.async); if (this.defaults.async === !0 && r.async === !1) return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.")); if (typeof i > "u" || i === null) return a(new Error("marked(): input parameter is undefined or null")); if (typeof i != "string") return a(new Error("marked(): input parameter is of type " + Object.prototype.toString.call(i) + ", string expected")); if (o.hooks && (o.hooks.options = o), o.async) return Promise.resolve(o.hooks ? o.hooks.preprocess(i) : i).then(c => e(c, o)).then(c => o.hooks ? o.hooks.processAllTokens(c) : c).then(c => o.walkTokens ? Promise.all(this.walkTokens(c, o.walkTokens)).then(() => c) : c).then(c => t(c, o)).then(c => o.hooks ? o.hooks.postprocess(c) : c).catch(a); try { o.hooks && (i = o.hooks.preprocess(i)); let c = e(i, o); o.hooks && (c = o.hooks.processAllTokens(c)), o.walkTokens && this.walkTokens(c, o.walkTokens); let l = t(c, o); return o.hooks && (l = o.hooks.postprocess(l)), l } catch (c) { return a(c) } } } onError(e, t) {
  535. return s => {
  536. if (s.message += `
  537. Please report this to https://github.com/markedjs/marked.`, e) { const i = "<p>An error occurred:</p><pre>" + Us(s.message + "", !0) + "</pre>"; return t ? Promise.resolve(i) : i } if (t) return Promise.reject(s); throw s
  538. }
  539. }
  540. }, tr = new Nx, He.options = He.setOptions = function (e) { return tr.setOptions(e), He.defaults = tr.defaults, Z3(He.defaults), He }, He.getDefaults = G0, He.defaults = Zn, He.use = function (...e) { return tr.use(...e), He.defaults = tr.defaults, Z3(He.defaults), He }, He.walkTokens = function (e, t) { return tr.walkTokens(e, t) }, He.parseInline = tr.parseInline, He.Parser = er, He.parser = er.parse, He.Renderer = Dl, He.TextRenderer = ad, He.Lexer = Kn, He.lexer = Kn.lex, He.Tokenizer = Sl, He.Hooks = Rl, He.parse = He, Cj = He.options, _j = He.setOptions, jj = He.use, Tj = He.walkTokens, Uj = He.parseInline, Mj = er.parse, Fj = Kn.lex
  541. }
  542. }); function* Ox(e) { const t = [e]; for (; t.length > 0;) { const s = t.pop(); if (yield s, s.children) for (const i of s.children.values()) t.push(i) } } var Yt, Cx, cd, Hj = v({ "out-build/vs/base/common/prefixTree.js"() { "use strict"; pr(), Yt = Symbol("unset"), Cx = class { constructor() { this.root = new cd, this.a = 0 } get size() { return this.a } get nodes() { return this.root.children?.values() || Zi.empty() } get entries() { return this.root.children?.entries() || Zi.empty() } insert(e, t, s) { this.c(e, i => i._value = t, s) } mutate(e, t) { this.c(e, s => s._value = t(s._value === Yt ? void 0 : s._value)) } mutatePath(e, t) { this.c(e, () => { }, s => t(s)) } delete(e) { const t = this.b(e); if (!t) return; let s = t.length - 1; const i = t[s].node._value; if (i !== Yt) { for (this.a--, t[s].node._value = Yt; s > 0; s--) { const { node: n, part: r } = t[s]; if (n.children?.size || n._value !== Yt) break; t[s - 1].node.children.delete(r) } return i } } *deleteRecursive(e) { const t = this.b(e); if (!t) return; const s = t[t.length - 1].node; for (let i = t.length - 1; i > 0; i--) { const n = t[i - 1]; if (n.node.children.delete(t[i].part), n.node.children.size > 0 || n.node._value !== Yt) break } for (const i of Ox(s)) i._value !== Yt && (this.a--, yield i._value); s === this.root && (this.root._value = Yt, this.root.children = void 0) } find(e) { let t = this.root; for (const s of e) { const i = t.children?.get(s); if (!i) return; t = i } return t._value === Yt ? void 0 : t._value } hasKeyOrParent(e) { let t = this.root; for (const s of e) { const i = t.children?.get(s); if (!i) return !1; if (i._value !== Yt) return !0; t = i } return !1 } hasKeyOrChildren(e) { let t = this.root; for (const s of e) { const i = t.children?.get(s); if (!i) return !1; t = i } return !0 } hasKey(e) { let t = this.root; for (const s of e) { const i = t.children?.get(s); if (!i) return !1; t = i } return t._value !== Yt } b(e) { const t = [{ part: "", node: this.root }]; let s = 0; for (const i of e) { const n = t[s].node.children?.get(i); if (!n) return; t.push({ part: i, node: n }), s++ } return t } c(e, t, s) { let i = this.root; for (const o of e) { if (i.children) if (i.children.has(o)) i = i.children.get(o); else { const a = new cd; i.children.set(o, a), i = a } else { const a = new cd; i.children = new Map([[o, a]]), i = a } s?.(i) } const n = i._value === Yt ? 0 : 1; t(i); const r = i._value === Yt ? 0 : 1; this.a += r - n } *values() { for (const { _value: e } of Ox(this.root)) e !== Yt && (yield e) } }, cd = class { constructor() { this._value = Yt } get value() { return this._value === Yt ? void 0 : this._value } set value(e) { this._value = e === void 0 ? Yt : e } } } }), zr, rw = v({ "out-build/vs/editor/common/core/position.js"() { "use strict"; zr = class Zr { constructor(t, s) { this.lineNumber = t, this.column = s } with(t = this.lineNumber, s = this.column) { return t === this.lineNumber && s === this.column ? this : new Zr(t, s) } delta(t = 0, s = 0) { return this.with(this.lineNumber + t, this.column + s) } equals(t) { return Zr.equals(this, t) } static equals(t, s) { return !t && !s ? !0 : !!t && !!s && t.lineNumber === s.lineNumber && t.column === s.column } isBefore(t) { return Zr.isBefore(this, t) } static isBefore(t, s) { return t.lineNumber < s.lineNumber ? !0 : s.lineNumber < t.lineNumber ? !1 : t.column < s.column } isBeforeOrEqual(t) { return Zr.isBeforeOrEqual(this, t) } static isBeforeOrEqual(t, s) { return t.lineNumber < s.lineNumber ? !0 : s.lineNumber < t.lineNumber ? !1 : t.column <= s.column } static compare(t, s) { const i = t.lineNumber | 0, n = s.lineNumber | 0; if (i === n) { const r = t.column | 0, o = s.column | 0; return r - o } return i - n } clone() { return new Zr(this.lineNumber, this.column) } toString() { return "(" + this.lineNumber + "," + this.column + ")" } static lift(t) { return new Zr(t.lineNumber, t.column) } static isIPosition(t) { return t && typeof t.lineNumber == "number" && typeof t.column == "number" } toJSON() { return { lineNumber: this.lineNumber, column: this.column } } } } }), Ti, va = v({ "out-build/vs/editor/common/core/range.js"() { "use strict"; rw(), Ti = class St { constructor(t, s, i, n) { t > i || t === i && s > n ? (this.startLineNumber = i, this.startColumn = n, this.endLineNumber = t, this.endColumn = s) : (this.startLineNumber = t, this.startColumn = s, this.endLineNumber = i, this.endColumn = n) } isEmpty() { return St.isEmpty(this) } static isEmpty(t) { return t.startLineNumber === t.endLineNumber && t.startColumn === t.endColumn } containsPosition(t) { return St.containsPosition(this, t) } static containsPosition(t, s) { return !(s.lineNumber < t.startLineNumber || s.lineNumber > t.endLineNumber || s.lineNumber === t.startLineNumber && s.column < t.startColumn || s.lineNumber === t.endLineNumber && s.column > t.endColumn) } static strictContainsPosition(t, s) { return !(s.lineNumber < t.startLineNumber || s.lineNumber > t.endLineNumber || s.lineNumber === t.startLineNumber && s.column <= t.startColumn || s.lineNumber === t.endLineNumber && s.column >= t.endColumn) } containsRange(t) { return St.containsRange(this, t) } static containsRange(t, s) { return !(s.startLineNumber < t.startLineNumber || s.endLineNumber < t.startLineNumber || s.startLineNumber > t.endLineNumber || s.endLineNumber > t.endLineNumber || s.startLineNumber === t.startLineNumber && s.startColumn < t.startColumn || s.endLineNumber === t.endLineNumber && s.endColumn > t.endColumn) } strictContainsRange(t) { return St.strictContainsRange(this, t) } static strictContainsRange(t, s) { return !(s.startLineNumber < t.startLineNumber || s.endLineNumber < t.startLineNumber || s.startLineNumber > t.endLineNumber || s.endLineNumber > t.endLineNumber || s.startLineNumber === t.startLineNumber && s.startColumn <= t.startColumn || s.endLineNumber === t.endLineNumber && s.endColumn >= t.endColumn) } plusRange(t) { return St.plusRange(this, t) } static plusRange(t, s) { let i, n, r, o; return s.startLineNumber < t.startLineNumber ? (i = s.startLineNumber, n = s.startColumn) : s.startLineNumber === t.startLineNumber ? (i = s.startLineNumber, n = Math.min(s.startColumn, t.startColumn)) : (i = t.startLineNumber, n = t.startColumn), s.endLineNumber > t.endLineNumber ? (r = s.endLineNumber, o = s.endColumn) : s.endLineNumber === t.endLineNumber ? (r = s.endLineNumber, o = Math.max(s.endColumn, t.endColumn)) : (r = t.endLineNumber, o = t.endColumn), new St(i, n, r, o) } intersectRanges(t) { return St.intersectRanges(this, t) } static intersectRanges(t, s) { let i = t.startLineNumber, n = t.startColumn, r = t.endLineNumber, o = t.endColumn; const a = s.startLineNumber, c = s.startColumn, l = s.endLineNumber, u = s.endColumn; return i < a ? (i = a, n = c) : i === a && (n = Math.max(n, c)), r > l ? (r = l, o = u) : r === l && (o = Math.min(o, u)), i > r || i === r && n > o ? null : new St(i, n, r, o) } equalsRange(t) { return St.equalsRange(this, t) } static equalsRange(t, s) { return !t && !s ? !0 : !!t && !!s && t.startLineNumber === s.startLineNumber && t.startColumn === s.startColumn && t.endLineNumber === s.endLineNumber && t.endColumn === s.endColumn } getEndPosition() { return St.getEndPosition(this) } static getEndPosition(t) { return new zr(t.endLineNumber, t.endColumn) } getStartPosition() { return St.getStartPosition(this) } static getStartPosition(t) { return new zr(t.startLineNumber, t.startColumn) } toString() { return "[" + this.startLineNumber + "," + this.startColumn + " -> " + this.endLineNumber + "," + this.endColumn + "]" } setEndPosition(t, s) { return new St(this.startLineNumber, this.startColumn, t, s) } setStartPosition(t, s) { return new St(t, s, this.endLineNumber, this.endColumn) } collapseToStart() { return St.collapseToStart(this) } static collapseToStart(t) { return new St(t.startLineNumber, t.startColumn, t.startLineNumber, t.startColumn) } collapseToEnd() { return St.collapseToEnd(this) } static collapseToEnd(t) { return new St(t.endLineNumber, t.endColumn, t.endLineNumber, t.endColumn) } delta(t) { return new St(this.startLineNumber + t, this.startColumn, this.endLineNumber + t, this.endColumn) } static fromPositions(t, s = t) { return new St(t.lineNumber, t.column, s.lineNumber, s.column) } static lift(t) { return t ? new St(t.startLineNumber, t.startColumn, t.endLineNumber, t.endColumn) : null } static isIRange(t) { return t && typeof t.startLineNumber == "number" && typeof t.startColumn == "number" && typeof t.endLineNumber == "number" && typeof t.endColumn == "number" } static areIntersectingOrTouching(t, s) { return !(t.endLineNumber < s.startLineNumber || t.endLineNumber === s.startLineNumber && t.endColumn < s.startColumn || s.endLineNumber < t.startLineNumber || s.endLineNumber === t.startLineNumber && s.endColumn < t.startColumn) } static areIntersecting(t, s) { return !(t.endLineNumber < s.startLineNumber || t.endLineNumber === s.startLineNumber && t.endColumn <= s.startColumn || s.endLineNumber < t.startLineNumber || s.endLineNumber === t.startLineNumber && s.endColumn <= t.startColumn) } static compareRangesUsingStarts(t, s) { if (t && s) { const r = t.startLineNumber | 0, o = s.startLineNumber | 0; if (r === o) { const a = t.startColumn | 0, c = s.startColumn | 0; if (a === c) { const l = t.endLineNumber | 0, u = s.endLineNumber | 0; if (l === u) { const h = t.endColumn | 0, d = s.endColumn | 0; return h - d } return l - u } return a - c } return r - o } return (t ? 1 : 0) - (s ? 1 : 0) } static compareRangesUsingEnds(t, s) { return t.endLineNumber === s.endLineNumber ? t.endColumn === s.endColumn ? t.startLineNumber === s.startLineNumber ? t.startColumn - s.startColumn : t.startLineNumber - s.startLineNumber : t.endColumn - s.endColumn : t.endLineNumber - s.endLineNumber } static spansMultipleLines(t) { return t.endLineNumber > t.startLineNumber } toJSON() { return this } } } }), zj = v({ "out-build/vs/editor/common/core/editOperation.js"() { "use strict"; va() } }), ow, _x, Vj = v({ "out-build/vs/editor/common/tokenizationRegistry.js"() { "use strict"; re(), z(), ow = class { constructor() { this.a = new Map, this.b = new Map, this.c = new D, this.onDidChange = this.c.event, this.d = null } handleChange(e) { this.c.fire({ changedLanguages: e, changedColorMap: !1 }) } register(e, t) { return this.a.set(e, t), this.handleChange([e]), ye(() => { this.a.get(e) === t && (this.a.delete(e), this.handleChange([e])) }) } get(e) { return this.a.get(e) || null } registerFactory(e, t) { this.b.get(e)?.dispose(); const s = new _x(this, e, t); return this.b.set(e, s), ye(() => { const i = this.b.get(e); !i || i !== s || (this.b.delete(e), i.dispose()) }) } async getOrCreate(e) { const t = this.get(e); if (t) return t; const s = this.b.get(e); return !s || s.isResolved ? null : (await s.resolve(), this.get(e)) } isResolved(e) { if (this.get(e)) return !0; const s = this.b.get(e); return !!(!s || s.isResolved) } setColorMap(e) { this.d = e, this.c.fire({ changedLanguages: Array.from(this.a.keys()), changedColorMap: !0 }) } getColorMap() { return this.d } getDefaultBackground() { return this.d && this.d.length > 2 ? this.d[2] : null } }, _x = class extends J { get isResolved() { return this.c } constructor(e, t, s) { super(), this.f = e, this.g = t, this.h = s, this.a = !1, this.b = null, this.c = !1 } dispose() { this.a = !0, super.dispose() } async resolve() { return this.b || (this.b = this.j()), this.b } async j() { const e = await this.h.tokenizationSupport; this.c = !0, e && !this.a && this.B(this.f.register(this.g, e)) } } } }), jx, Tx, Ux, Mx, Fx, Bx, Hx, zx, Vx, Wx, qx, Gx, Jx, Wj, Yx, Xx, Vr, Qx, Zx, aw, Kx, ek, tk, sk, ik, nk, qj, Gj, rk, ok, Jj = v({ "out-build/vs/editor/common/languages.js"() { "use strict"; _c(), ee(), zj(), va(), Vj(), he(), function (e) { e[e.Increase = 0] = "Increase", e[e.Decrease = 1] = "Decrease" }(jx || (jx = {})), function (e) { e[e.Method = 0] = "Method", e[e.Function = 1] = "Function", e[e.Constructor = 2] = "Constructor", e[e.Field = 3] = "Field", e[e.Variable = 4] = "Variable", e[e.Class = 5] = "Class", e[e.Struct = 6] = "Struct", e[e.Interface = 7] = "Interface", e[e.Module = 8] = "Module", e[e.Property = 9] = "Property", e[e.Event = 10] = "Event", e[e.Operator = 11] = "Operator", e[e.Unit = 12] = "Unit", e[e.Value = 13] = "Value", e[e.Constant = 14] = "Constant", e[e.Enum = 15] = "Enum", e[e.EnumMember = 16] = "EnumMember", e[e.Keyword = 17] = "Keyword", e[e.Text = 18] = "Text", e[e.Color = 19] = "Color", e[e.File = 20] = "File", e[e.Reference = 21] = "Reference", e[e.Customcolor = 22] = "Customcolor", e[e.Folder = 23] = "Folder", e[e.TypeParameter = 24] = "TypeParameter", e[e.User = 25] = "User", e[e.Issue = 26] = "Issue", e[e.Snippet = 27] = "Snippet" }(Tx || (Tx = {})), function (e) { const t = new Map; t.set(0, T.symbolMethod), t.set(1, T.symbolFunction), t.set(2, T.symbolConstructor), t.set(3, T.symbolField), t.set(4, T.symbolVariable), t.set(5, T.symbolClass), t.set(6, T.symbolStruct), t.set(7, T.symbolInterface), t.set(8, T.symbolModule), t.set(9, T.symbolProperty), t.set(10, T.symbolEvent), t.set(11, T.symbolOperator), t.set(12, T.symbolUnit), t.set(13, T.symbolValue), t.set(15, T.symbolEnum), t.set(14, T.symbolConstant), t.set(15, T.symbolEnum), t.set(16, T.symbolEnumMember), t.set(17, T.symbolKeyword), t.set(27, T.symbolSnippet), t.set(18, T.symbolText), t.set(19, T.symbolColor), t.set(20, T.symbolFile), t.set(21, T.symbolReference), t.set(22, T.symbolCustomColor), t.set(23, T.symbolFolder), t.set(24, T.symbolTypeParameter), t.set(25, T.account), t.set(26, T.issues); function s(r) { let o = t.get(r); return o || (console.info("No codicon found for CompletionItemKind " + r), o = T.symbolProperty), o } e.toIcon = s; const i = new Map; i.set("method", 0), i.set("function", 1), i.set("constructor", 2), i.set("field", 3), i.set("variable", 4), i.set("class", 5), i.set("struct", 6), i.set("interface", 7), i.set("module", 8), i.set("property", 9), i.set("event", 10), i.set("operator", 11), i.set("unit", 12), i.set("value", 13), i.set("constant", 14), i.set("enum", 15), i.set("enum-member", 16), i.set("enumMember", 16), i.set("keyword", 17), i.set("snippet", 27), i.set("text", 18), i.set("color", 19), i.set("file", 20), i.set("reference", 21), i.set("customcolor", 22), i.set("folder", 23), i.set("type-parameter", 24), i.set("typeParameter", 24), i.set("account", 25), i.set("issue", 26); function n(r, o) { let a = i.get(r); return typeof a > "u" && !o && (a = 9), a } e.fromString = n }(Ux || (Ux = {})), function (e) { e[e.Deprecated = 1] = "Deprecated" }(Mx || (Mx = {})), function (e) { e[e.None = 0] = "None", e[e.KeepWhitespace = 1] = "KeepWhitespace", e[e.InsertAsSnippet = 4] = "InsertAsSnippet" }(Fx || (Fx = {})), function (e) { e[e.Word = 0] = "Word", e[e.Line = 1] = "Line", e[e.Suggest = 2] = "Suggest" }(Bx || (Bx = {})), function (e) { e[e.Invoke = 0] = "Invoke", e[e.TriggerCharacter = 1] = "TriggerCharacter", e[e.TriggerForIncompleteCompletions = 2] = "TriggerForIncompleteCompletions" }(Hx || (Hx = {})), function (e) { e[e.Automatic = 0] = "Automatic", e[e.Explicit = 1] = "Explicit" }(zx || (zx = {})), function (e) { e[e.Invoke = 1] = "Invoke", e[e.Auto = 2] = "Auto" }(Vx || (Vx = {})), function (e) { e[e.Automatic = 0] = "Automatic", e[e.PasteAs = 1] = "PasteAs" }(Wx || (Wx = {})), function (e) { e[e.Invoke = 1] = "Invoke", e[e.TriggerCharacter = 2] = "TriggerCharacter", e[e.ContentChange = 3] = "ContentChange" }(qx || (qx = {})), function (e) { e[e.Text = 0] = "Text", e[e.Read = 1] = "Read", e[e.Write = 2] = "Write" }(Gx || (Gx = {})), function (e) { e[e.File = 0] = "File", e[e.Module = 1] = "Module", e[e.Namespace = 2] = "Namespace", e[e.Package = 3] = "Package", e[e.Class = 4] = "Class", e[e.Method = 5] = "Method", e[e.Property = 6] = "Property", e[e.Field = 7] = "Field", e[e.Constructor = 8] = "Constructor", e[e.Enum = 9] = "Enum", e[e.Interface = 10] = "Interface", e[e.Function = 11] = "Function", e[e.Variable = 12] = "Variable", e[e.Constant = 13] = "Constant", e[e.String = 14] = "String", e[e.Number = 15] = "Number", e[e.Boolean = 16] = "Boolean", e[e.Array = 17] = "Array", e[e.Object = 18] = "Object", e[e.Key = 19] = "Key", e[e.Null = 20] = "Null", e[e.EnumMember = 21] = "EnumMember", e[e.Struct = 22] = "Struct", e[e.Event = 23] = "Event", e[e.Operator = 24] = "Operator", e[e.TypeParameter = 25] = "TypeParameter" }(Jx || (Jx = {})), Wj = { 17: m(804, null), 16: m(805, null), 4: m(806, null), 13: m(807, null), 8: m(808, null), 9: m(809, null), 21: m(810, null), 23: m(811, null), 7: m(812, null), 0: m(813, null), 11: m(814, null), 10: m(815, null), 19: m(816, null), 5: m(817, null), 1: m(818, null), 2: m(819, null), 20: m(820, null), 15: m(821, null), 18: m(822, null), 24: m(823, null), 3: m(824, null), 6: m(825, null), 14: m(826, null), 22: m(827, null), 25: m(828, null), 12: m(829, null) }, function (e) { e[e.Deprecated = 1] = "Deprecated" }(Yx || (Yx = {})), function (e) { const t = new Map; t.set(0, T.symbolFile), t.set(1, T.symbolModule), t.set(2, T.symbolNamespace), t.set(3, T.symbolPackage), t.set(4, T.symbolClass), t.set(5, T.symbolMethod), t.set(6, T.symbolProperty), t.set(7, T.symbolField), t.set(8, T.symbolConstructor), t.set(9, T.symbolEnum), t.set(10, T.symbolInterface), t.set(11, T.symbolFunction), t.set(12, T.symbolVariable), t.set(13, T.symbolConstant), t.set(14, T.symbolString), t.set(15, T.symbolNumber), t.set(16, T.symbolBoolean), t.set(17, T.symbolArray), t.set(18, T.symbolObject), t.set(19, T.symbolKey), t.set(20, T.symbolNull), t.set(21, T.symbolEnumMember), t.set(22, T.symbolStruct), t.set(23, T.symbolEvent), t.set(24, T.symbolOperator), t.set(25, T.symbolTypeParameter); function s(r) { let o = t.get(r); return o || (console.info("No codicon found for SymbolKind " + r), o = T.symbolProperty), o } e.toIcon = s; const i = new Map; i.set(0, 20), i.set(1, 8), i.set(2, 8), i.set(3, 8), i.set(4, 5), i.set(5, 0), i.set(6, 9), i.set(7, 3), i.set(8, 2), i.set(9, 15), i.set(10, 7), i.set(11, 1), i.set(12, 4), i.set(13, 14), i.set(14, 18), i.set(15, 13), i.set(16, 13), i.set(17, 13), i.set(18, 13), i.set(19, 17), i.set(20, 13), i.set(21, 16), i.set(22, 6), i.set(23, 10), i.set(24, 11), i.set(25, 24); function n(r) { let o = i.get(r); return o === void 0 && (console.info("No completion kind found for SymbolKind " + r), o = 20), o } e.toCompletionKind = n }(Xx || (Xx = {})), Vr = class lr { static { this.Comment = new lr("comment") } static { this.Imports = new lr("imports") } static { this.Region = new lr("region") } static fromValue(t) { switch (t) { case "comment": return lr.Comment; case "imports": return lr.Imports; case "region": return lr.Region }return new lr(t) } constructor(t) { this.value = t } }, function (e) { e[e.AIGenerated = 1] = "AIGenerated" }(Qx || (Qx = {})), function (e) { e[e.Invoke = 0] = "Invoke", e[e.Automatic = 1] = "Automatic" }(Zx || (Zx = {})), function (e) { function t(s) { return !s || typeof s != "object" ? !1 : typeof s.id == "string" && typeof s.title == "string" } e.is = t }(aw || (aw = {})), function (e) { e[e.Collapsed = 0] = "Collapsed", e[e.Expanded = 1] = "Expanded" }(Kx || (Kx = {})), function (e) { e[e.Unresolved = 0] = "Unresolved", e[e.Resolved = 1] = "Resolved" }(ek || (ek = {})), function (e) { e[e.Current = 0] = "Current", e[e.Outdated = 1] = "Outdated" }(tk || (tk = {})), function (e) { e[e.Editing = 0] = "Editing", e[e.Preview = 1] = "Preview" }(sk || (sk = {})), function (e) { e[e.Published = 0] = "Published", e[e.Draft = 1] = "Draft" }(ik || (ik = {})), function (e) { e[e.Type = 1] = "Type", e[e.Parameter = 2] = "Parameter" }(nk || (nk = {})), qj = new ow, Gj = new ow, function (e) { e[e.None = 0] = "None", e[e.Option = 1] = "Option", e[e.Default = 2] = "Default", e[e.Preferred = 3] = "Preferred" }(rk || (rk = {})), function (e) { e[e.Invoke = 0] = "Invoke", e[e.Automatic = 1] = "Automatic" }(ok || (ok = {})) } }), ak, Os, ck, Yj, Xj = v({ "out-build/vs/platform/markers/common/markers.js"() { "use strict"; sh(), he(), oe(), function (e) { e[e.Unnecessary = 1] = "Unnecessary", e[e.Deprecated = 2] = "Deprecated" }(ak || (ak = {})), function (e) { e[e.Hint = 1] = "Hint", e[e.Info = 2] = "Info", e[e.Warning = 4] = "Warning", e[e.Error = 8] = "Error" }(Os || (Os = {})), function (e) { function t(o, a) { return a - o } e.compare = t; const s = Object.create(null); s[e.Error] = m(1998, null), s[e.Warning] = m(1999, null), s[e.Info] = m(2e3, null); function i(o) { return s[o] || "" } e.toString = i; function n(o) { switch (o) { case Ze.Error: return e.Error; case Ze.Warning: return e.Warning; case Ze.Info: return e.Info; case Ze.Ignore: return e.Hint } } e.fromSeverity = n; function r(o) { switch (o) { case e.Error: return Ze.Error; case e.Warning: return Ze.Warning; case e.Info: return Ze.Info; case e.Hint: return Ze.Ignore } } e.toSeverity = r }(Os || (Os = {})), function (e) { const t = ""; function s(n) { return i(n, !0) } e.makeKey = s; function i(n, r) { const o = [t]; return n.source ? o.push(n.source.replace("\xA6", "\\\xA6")) : o.push(t), n.code ? typeof n.code == "string" ? o.push(n.code.replace("\xA6", "\\\xA6")) : o.push(n.code.value.replace("\xA6", "\\\xA6")) : o.push(t), n.severity !== void 0 && n.severity !== null ? o.push(Os.toString(n.severity)) : o.push(t), n.message && r ? o.push(n.message.replace("\xA6", "\\\xA6")) : o.push(t), n.startLineNumber !== void 0 && n.startLineNumber !== null ? o.push(n.startLineNumber.toString()) : o.push(t), n.startColumn !== void 0 && n.startColumn !== null ? o.push(n.startColumn.toString()) : o.push(t), n.endLineNumber !== void 0 && n.endLineNumber !== null ? o.push(n.endLineNumber.toString()) : o.push(t), n.endColumn !== void 0 && n.endColumn !== null ? o.push(n.endColumn.toString()) : o.push(t), o.push(t), o.join("\xA6") } e.makeKeyOptionalMessage = i }(ck || (ck = {})), Yj = se("markerService") } }), lk, Qj, Zj, Kj = v({ "out-build/vs/base/common/actions.js"() { "use strict"; re(), z(), he(), lk = class extends J { constructor(e, t = "", s = "", i = !0, n) { super(), this.j = this.B(new D), this.onDidChange = this.j.event, this.z = !0, this.m = e, this.n = t, this.w = s, this.z = i, this.D = n } get id() { return this.m } get label() { return this.n } set label(e) { this.F(e) } F(e) { this.n !== e && (this.n = e, this.j.fire({ label: e })) } get tooltip() { return this.u || "" } set tooltip(e) { this.G(e) } G(e) { this.u !== e && (this.u = e, this.j.fire({ tooltip: e })) } get class() { return this.w } set class(e) { this.H(e) } H(e) { this.w !== e && (this.w = e, this.j.fire({ class: e })) } get enabled() { return this.z } set enabled(e) { this.I(e) } I(e) { this.z !== e && (this.z = e, this.j.fire({ enabled: e })) } get checked() { return this.C } set checked(e) { this.J(e) } J(e) { this.C !== e && (this.C = e, this.j.fire({ checked: e })) } async run(e, t) { this.D && await this.D(e) } }, Qj = class Lv { constructor() { this.id = Lv.ID, this.label = "", this.tooltip = "", this.class = "separator", this.enabled = !1, this.checked = !1 } static join(...t) { let s = []; for (const i of t) i.length && (s.length ? s = [...s, new Lv, ...i] : s = i); return s } static { this.ID = "vs.actions.separator" } async run() { } }, Zj = class jI extends lk { static { this.ID = "vs.actions.empty" } constructor() { super(jI.ID, m(44, null), void 0, !1) } } } }); function ld(e) { if (sr(e)) return !1; const t = e; return t?.original !== void 0 && t.modified !== void 0 } function uk(e) { if (sr(e)) return !1; const t = e; return !t || t.resources && !Array.isArray(t.resources) ? !1 : !!t.resources || !!t.multiDiffSource } function cw(e) { if (sr(e) || ld(e)) return !1; const t = e; return t?.primary !== void 0 && t.secondary !== void 0 } function ud(e) { if (sr(e)) return !1; const t = e; return E.isUri(t?.base?.resource) && E.isUri(t?.input1?.resource) && E.isUri(t?.input2?.resource) && E.isUri(t?.result?.resource) } function sr(e) { return e instanceof bk } function eT(e) { const t = e; return E.isUri(t?.preferredResource) } function tT(e) { const t = e; return sr(t?.primary) && sr(t?.secondary) } function sT(e) { const t = e; return sr(t?.modified) && sr(t?.original) } var hk, fk, dk, pk, mk, gk, wk, iT, vk, bk, yk, Ek, kn, xk, kk, hd, $k, Sk, Pk, lw = v({ "out-build/vs/workbench/common/editor.js"() { "use strict"; he(), $e(), ee(), z(), oe(), hn(), st(), De(), yr(), Kj(), sh(), hk = { EditorPane: "workbench.contributions.editors", EditorFactory: "workbench.contributions.editor.inputFactories" }, fk = { id: "default", displayName: m(4129, null), providerDisplayName: m(4130, null) }, function (e) { e[e.PROGRAMMATIC = 1] = "PROGRAMMATIC", e[e.USER = 2] = "USER", e[e.EDIT = 3] = "EDIT", e[e.NAVIGATION = 4] = "NAVIGATION", e[e.JUMP = 5] = "JUMP" }(dk || (dk = {})), function (e) { e[e.IDENTICAL = 1] = "IDENTICAL", e[e.SIMILAR = 2] = "SIMILAR", e[e.DIFFERENT = 3] = "DIFFERENT" }(pk || (pk = {})), function (e) { e[e.SHORT = 0] = "SHORT", e[e.MEDIUM = 1] = "MEDIUM", e[e.LONG = 2] = "LONG" }(mk || (mk = {})), function (e) { e[e.EXPLICIT = 1] = "EXPLICIT", e[e.AUTO = 2] = "AUTO", e[e.FOCUS_CHANGE = 3] = "FOCUS_CHANGE", e[e.WINDOW_CHANGE = 4] = "WINDOW_CHANGE" }(gk || (gk = {})), wk = class { constructor() { this.a = new Map } registerSource(e, t) { let s = this.a.get(e); return s || (s = { source: e, label: t }, this.a.set(e, s)), s.source } getSourceLabel(e) { return this.a.get(e)?.label ?? e } }, iT = new wk, function (e) { e[e.None = 0] = "None", e[e.Readonly = 2] = "Readonly", e[e.Untitled = 4] = "Untitled", e[e.Singleton = 8] = "Singleton", e[e.RequiresTrust = 16] = "RequiresTrust", e[e.CanSplitInGroup = 32] = "CanSplitInGroup", e[e.ForceDescription = 64] = "ForceDescription", e[e.CanDropIntoEditor = 128] = "CanDropIntoEditor", e[e.MultipleEditors = 256] = "MultipleEditors", e[e.Scratchpad = 512] = "Scratchpad" }(vk || (vk = {})), bk = class extends J { }, function (e) { e[e.UNKNOWN = 0] = "UNKNOWN", e[e.REPLACE = 1] = "REPLACE", e[e.MOVE = 2] = "MOVE", e[e.UNPIN = 3] = "UNPIN" }(yk || (yk = {})), function (e) { e[e.GROUP_ACTIVE = 0] = "GROUP_ACTIVE", e[e.GROUP_INDEX = 1] = "GROUP_INDEX", e[e.GROUP_LABEL = 2] = "GROUP_LABEL", e[e.GROUP_LOCKED = 3] = "GROUP_LOCKED", e[e.EDITORS_SELECTION = 4] = "EDITORS_SELECTION", e[e.EDITOR_OPEN = 5] = "EDITOR_OPEN", e[e.EDITOR_CLOSE = 6] = "EDITOR_CLOSE", e[e.EDITOR_MOVE = 7] = "EDITOR_MOVE", e[e.EDITOR_ACTIVE = 8] = "EDITOR_ACTIVE", e[e.EDITOR_LABEL = 9] = "EDITOR_LABEL", e[e.EDITOR_CAPABILITIES = 10] = "EDITOR_CAPABILITIES", e[e.EDITOR_PIN = 11] = "EDITOR_PIN", e[e.EDITOR_TRANSIENT = 12] = "EDITOR_TRANSIENT", e[e.EDITOR_STICKY = 13] = "EDITOR_STICKY", e[e.EDITOR_DIRTY = 14] = "EDITOR_DIRTY", e[e.EDITOR_WILL_DISPOSE = 15] = "EDITOR_WILL_DISPOSE" }(Ek || (Ek = {})), function (e) { e[e.PRIMARY = 1] = "PRIMARY", e[e.SECONDARY = 2] = "SECONDARY", e[e.BOTH = 3] = "BOTH", e[e.ANY = 4] = "ANY" }(kn || (kn = {})), xk = class { getOriginalUri(e, t) { if (!e) return; if (ud(e)) return hd.getOriginalUri(e.result, t); if (t?.supportSideBySide) { const { primary: i, secondary: n } = this.a(e); if (i && n) { if (t?.supportSideBySide === kn.BOTH) return { primary: this.getOriginalUri(i, { filterByScheme: t.filterByScheme }), secondary: this.getOriginalUri(n, { filterByScheme: t.filterByScheme }) }; if (t?.supportSideBySide === kn.ANY) return this.getOriginalUri(i, { filterByScheme: t.filterByScheme }) ?? this.getOriginalUri(n, { filterByScheme: t.filterByScheme }); e = t.supportSideBySide === kn.PRIMARY ? i : n } } if (ld(e) || uk(e) || cw(e) || ud(e)) return; const s = eT(e) ? e.preferredResource : e.resource; return !s || !t || !t.filterByScheme ? s : this.b(s, t.filterByScheme) } a(e) { return tT(e) || cw(e) ? { primary: e.primary, secondary: e.secondary } : sT(e) || ld(e) ? { primary: e.modified, secondary: e.original } : { primary: void 0, secondary: void 0 } } getCanonicalUri(e, t) { if (!e) return; if (ud(e)) return hd.getCanonicalUri(e.result, t); if (t?.supportSideBySide) { const { primary: i, secondary: n } = this.a(e); if (i && n) { if (t?.supportSideBySide === kn.BOTH) return { primary: this.getCanonicalUri(i, { filterByScheme: t.filterByScheme }), secondary: this.getCanonicalUri(n, { filterByScheme: t.filterByScheme }) }; if (t?.supportSideBySide === kn.ANY) return this.getCanonicalUri(i, { filterByScheme: t.filterByScheme }) ?? this.getCanonicalUri(n, { filterByScheme: t.filterByScheme }); e = t.supportSideBySide === kn.PRIMARY ? i : n } } if (ld(e) || uk(e) || cw(e) || ud(e)) return; const s = e.resource; return !s || !t || !t.filterByScheme ? s : this.b(s, t.filterByScheme) } b(e, t) { if (Array.isArray(t)) { if (t.some(s => e.scheme === s)) return e } else if (t === e.scheme) return e } }, function (e) { e[e.UNKNOWN = 0] = "UNKNOWN", e[e.KEYBOARD = 1] = "KEYBOARD", e[e.MOUSE = 2] = "MOUSE" }(kk || (kk = {})), hd = new xk, function (e) { e[e.LEFT = 0] = "LEFT", e[e.RIGHT = 1] = "RIGHT" }($k || ($k = {})), Sk = class { constructor() { this.c = new Map, this.d = new Map } start(e) { const t = this.a = e.get(Er); for (const [s, i] of this.c) this.e(s, i, t); this.c.clear() } e(e, t, s) { const i = s.createInstance(t); this.d.set(e, i) } registerFileEditorFactory(e) { if (this.b) throw new Error("Can only register one file editor factory."); this.b = e } getFileEditorFactory() { return sp(this.b) } registerEditorSerializer(e, t) { if (this.c.has(e) || this.d.has(e)) throw new Error(`A editor serializer with type ID '${e}' was already registered.`); return this.a ? this.e(e, t, this.a) : this.c.set(e, t), ye(() => { this.c.delete(e), this.d.delete(e) }) } getEditorSerializer(e) { return this.d.get(typeof e == "string" ? e : e.typeId) } }, Mt.add(hk.EditorFactory, new Sk), function (e) { e[e.MOST_RECENTLY_ACTIVE = 0] = "MOST_RECENTLY_ACTIVE", e[e.SEQUENTIAL = 1] = "SEQUENTIAL" }(Pk || (Pk = {})) } }); function nT(e, t) { const s = fd.get(e); if (s) return s; const i = rT(e, t); if (i) { let n = hw.get(i) ?? 0; n++, hw.set(i, n); const r = n === 1 ? i : `${i}#${n}`; return fd.set(e, r), r } } function rT(e, t) { const s = fd.get(e); if (s) return s; const i = t.owner ? aT(t.owner) + "." : ""; let n; const r = t.debugNameSource; if (r !== void 0) if (typeof r == "function") { if (n = r(), n !== void 0) return i + n } else return i + r; const o = t.referenceFn; if (o !== void 0 && (n = uw(o), n !== void 0)) return i + n; if (t.owner !== void 0) { const a = oT(t.owner, e); if (a !== void 0) return i + a } } function oT(e, t) { for (const s in e) if (e[s] === t) return s } function aT(e) { const t = dw.get(e); if (t) return t; const s = cT(e); let i = fw.get(s) ?? 0; i++, fw.set(s, i); const n = i === 1 ? s : `${s}#${i}`; return dw.set(e, n), n } function cT(e) { const t = e.constructor; return t ? t.name : "Object" } function uw(e) { const t = e.toString(), i = /\/\*\*\s*@description\s*([^*]*)\*\//.exec(t); return (i ? i[1] : void 0)?.trim() } var ba, hw, fd, fw, dw, ya = v({ "out-build/vs/base/common/observableInternal/debugName.js"() { "use strict"; ba = class { constructor(e, t, s) { this.owner = e, this.debugNameSource = t, this.referenceFn = s } getDebugName(e) { return nT(e, this) } }, hw = new Map, fd = new WeakMap, fw = new Map, dw = new WeakMap } }), dd, lT = v({ "out-build/vs/base/common/equals.js"() { "use strict"; Et(), dd = (e, t) => e === t } }), Ea = v({ "out-build/vs/base/common/observableInternal/commonFacade/deps.js"() { "use strict"; jp(), lT(), fe(), re(), z() } }); function uT(e) { Ik = e } function Ui() { return Ik } function hT(e) { const t = new Array, s = []; let i = ""; function n(o) { if ("length" in o) for (const a of o) a && n(a); else "text" in o ? (i += `%c${o.text}`, t.push(o.style), o.data && s.push(...o.data)) : "data" in o && s.push(...o.data) } n(e); const r = [i, ...t]; return r.push(...s), r } function xa(e) { return fi(e, { color: "black" }) } function Ll(e) { return fi(mT(`${e}: `, 10), { color: "black", bold: !0 }) } function fi(e, t = { color: "black" }) { function s(n) { return Object.entries(n).reduce((r, [o, a]) => `${r}${o}:${a};`, "") } const i = { color: t.color }; return t.strikeThrough && (i["text-decoration"] = "line-through"), t.bold && (i["font-weight"] = "bold"), { text: e, style: s(i) } } function Nl(e, t) { switch (typeof e) { case "number": return "" + e; case "string": return e.length + 2 <= t ? `"${e}"` : `"${e.substr(0, t - 7)}"+...`; case "boolean": return e ? "true" : "false"; case "undefined": return "undefined"; case "object": return e === null ? "null" : Array.isArray(e) ? fT(e, t) : dT(e, t); case "symbol": return e.toString(); case "function": return `[[Function${e.name ? " " + e.name : ""}]]`; default: return "" + e } } function fT(e, t) { let s = "[ ", i = !0; for (const n of e) { if (i || (s += ", "), s.length - 5 > t) { s += "..."; break } i = !1, s += `${Nl(n, t - s.length)}` } return s += " ]", s } function dT(e, t) { let s = "{ ", i = !0; for (const [n, r] of Object.entries(e)) { if (i || (s += ", "), s.length - 5 > t) { s += "..."; break } i = !1, s += `${n}: ${Nl(r, t - s.length)}` } return s += " }", s } function pT(e, t) { let s = ""; for (let i = 1; i <= t; i++)s += e; return s } function mT(e, t) { for (; e.length < t;)e += " "; return e } var Ik, Ak, Ol = v({ "out-build/vs/base/common/observableInternal/logging.js"() { "use strict"; Ak = class { constructor() { this.a = 0, this.d = new WeakMap } b(e) { return hT([xa(pT("| ", this.a)), e]) } c(e) { return e.hadValue ? e.didChange ? [xa(" "), fi(Nl(e.oldValue, 70), { color: "red", strikeThrough: !0 }), xa(" "), fi(Nl(e.newValue, 60), { color: "green" })] : [xa(" (unchanged)")] : [xa(" "), fi(Nl(e.newValue, 60), { color: "green" }), xa(" (initial)")] } handleObservableChanged(e, t) { console.log(...this.b([Ll("observable value changed"), fi(e.debugName, { color: "BlueViolet" }), ...this.c(t)])) } formatChanges(e) { if (e.size !== 0) return fi(" (changed deps: " + [...e].map(t => t.debugName).join(", ") + ")", { color: "gray" }) } handleDerivedCreated(e) { const t = e.handleChange; this.d.set(e, new Set), e.handleChange = (s, i) => (this.d.get(e).add(s), t.apply(e, [s, i])) } handleDerivedRecomputed(e, t) { const s = this.d.get(e); console.log(...this.b([Ll("derived recomputed"), fi(e.debugName, { color: "BlueViolet" }), ...this.c(t), this.formatChanges(s), { data: [{ fn: e._debugNameData.referenceFn ?? e._computeFn }] }])), s.clear() } handleFromEventObservableTriggered(e, t) { console.log(...this.b([Ll("observable from event triggered"), fi(e.debugName, { color: "BlueViolet" }), ...this.c(t), { data: [{ fn: e._getValue }] }])) } handleAutorunCreated(e) { const t = e.handleChange; this.d.set(e, new Set), e.handleChange = (s, i) => (this.d.get(e).add(s), t.apply(e, [s, i])) } handleAutorunTriggered(e) { const t = this.d.get(e); console.log(...this.b([Ll("autorun"), fi(e.debugName, { color: "BlueViolet" }), this.formatChanges(t), { data: [{ fn: e._debugNameData.referenceFn ?? e._runFn }] }])), t.clear(), this.a++ } handleAutorunFinished(e) { this.a-- } handleBeginTransaction(e) { let t = e.getDebugName(); t === void 0 && (t = ""), console.log(...this.b([Ll("transaction"), fi(t, { color: "BlueViolet" }), { data: [{ fn: e._fn }] }])), this.a++ } handleEndTransaction() { this.a-- } } } }); function gT(e) { Dk = e } function wT(e) { Rk = e } function vT(e) { pw = e } function bT(e, t) { const s = new mw(e, t); try { e(s) } finally { s.finish() } } function yT(e, t, s) { e ? t(e) : bT(t, s) } function ET(e, t) { let s; return typeof e == "string" ? s = new ba(void 0, e, void 0) : s = new ba(e, void 0, void 0), new Nk(s, t, dd) } var Dk, Rk, pw, Lk, pd, mw, Nk, ka = v({ "out-build/vs/base/common/observableInternal/base.js"() { "use strict"; ya(), Ea(), Ol(), Lk = class { get TChange() { return null } reportChanges() { this.get() } read(e) { return e ? e.readObservable(this) : this.get() } map(e, t) { const s = t === void 0 ? void 0 : e, i = t === void 0 ? e : t; return pw({ owner: s, debugName: () => { const n = uw(i); if (n !== void 0) return n; const o = /^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(i.toString()); if (o) return `${this.debugName}.${o[2]}`; if (!s) return `${this.debugName} (mapped)` }, debugReferenceFn: i }, n => i(this.read(n), n)) } flatten() { return pw({ owner: void 0, debugName: () => `${this.debugName} (flattened)` }, e => this.read(e).read(e)) } recomputeInitiallyAndOnChange(e, t) { return e.add(Dk(this, t)), this } keepObserved(e) { return e.add(Rk(this)), this } get a() { return this.get() } }, pd = class extends Lk { constructor() { super(...arguments), this.b = new Set } addObserver(e) { const t = this.b.size; this.b.add(e), t === 0 && this.c() } removeObserver(e) { this.b.delete(e) && this.b.size === 0 && this.f() } c() { } f() { } }, mw = class { constructor(e, t) { this._fn = e, this.b = t, this.a = [], Ui()?.handleBeginTransaction(this) } getDebugName() { return this.b ? this.b() : uw(this._fn) } updateObserver(e, t) { this.a.push({ observer: e, observable: t }), e.beginUpdate(t) } finish() { const e = this.a; for (let t = 0; t < e.length; t++) { const { observer: s, observable: i } = e[t]; s.endUpdate(i) } this.a = null, Ui()?.handleEndTransaction() } }, Nk = class extends pd { get debugName() { return this.e.getDebugName(this) ?? "ObservableValue" } constructor(e, t, s) { super(), this.e = e, this.g = s, this.d = t } get() { return this.d } set(e, t, s) { if (s === void 0 && this.g(this.d, e)) return; let i; t || (t = i = new mw(() => { }, () => `Setting ${this.debugName}`)); try { const n = this.d; this.h(e), Ui()?.handleObservableChanged(this, { oldValue: n, newValue: e, change: s, didChange: !0, hadValue: !0 }); for (const r of this.b) t.updateObserver(r, this), r.handleChange(this, s) } finally { i && i.finish() } } toString() { return `${this.debugName}: ${this.d}` } h(e) { this.d = e } } } }), xT = v({ "out-build/vs/base/common/observableInternal/lazyObservableValue.js"() { "use strict"; ka() } }), kT = v({ "out-build/vs/base/common/observableInternal/api.js"() { "use strict"; ka(), ya(), Ea(), xT() } }); function Ok(e) { return new gw(new ba(void 0, void 0, e), e, void 0, void 0) } var Ck, gw, ww = v({ "out-build/vs/base/common/observableInternal/autorun.js"() { "use strict"; ya(), Ea(), Ol(), function (e) { e[e.dependenciesMightHaveChanged = 1] = "dependenciesMightHaveChanged", e[e.stale = 2] = "stale", e[e.upToDate = 3] = "upToDate" }(Ck || (Ck = {})), gw = class { get debugName() { return this._debugNameData.getDebugName(this) ?? "(anonymous)" } constructor(e, t, s, i) { this._debugNameData = e, this._runFn = t, this.i = s, this.j = i, this.a = 2, this.b = 0, this.c = !1, this.f = new Set, this.g = new Set, this.l = !1, this.h = this.i?.(), Ui()?.handleAutorunCreated(this), this.k(), oo(this) } dispose() { this.c = !0; for (const e of this.f) e.removeObserver(this); this.f.clear(), ao(this) } k() { if (this.a === 3) return; const e = this.g; this.g = this.f, this.f = e, this.a = 3; const t = this.c; try { if (!t) { Ui()?.handleAutorunTriggered(this); const s = this.h; try { this.h = this.i?.(), this.l = !0, this._runFn(this, s) } catch (i) { ru(i) } finally { this.l = !1 } } } finally { t || Ui()?.handleAutorunFinished(this); for (const s of this.g) s.removeObserver(this); this.g.clear() } } toString() { return `Autorun<${this.debugName}>` } beginUpdate() { this.a === 3 && (this.a = 1), this.b++ } endUpdate() { try { if (this.b === 1) do { if (this.a === 1) { this.a = 3; for (const e of this.f) if (e.reportChanges(), this.a === 2) break } this.k() } while (this.a !== 3) } finally { this.b-- } U4(() => this.b >= 0) } handlePossibleChange(e) { this.a === 3 && this.f.has(e) && !this.g.has(e) && (this.a = 1) } handleChange(e, t) { if (this.f.has(e) && !this.g.has(e)) try { (this.j ? this.j({ changedObservable: e, change: t, didChange: i => i === e }, this.h) : !0) && (this.a = 2) } catch (s) { ru(s) } } readObservable(e) { if (!this.l) throw new to("The reader object cannot be used outside its compute function!"); if (this.c) return e.get(); e.addObserver(this); const t = e.get(); return this.f.add(e), this.g.delete(e), t } }, function (e) { e.Observer = gw }(Ok || (Ok = {})) } }); function $T(e, t) { return new jk(new ba(e.owner, e.debugName, e.debugReferenceFn), t, void 0, void 0, e.onLastObserverRemoved, e.equalsFn ?? dd) } var _k, jk, md = v({ "out-build/vs/base/common/observableInternal/derived.js"() { "use strict"; ka(), ya(), Ea(), Ol(), vT($T), function (e) { e[e.initial = 0] = "initial", e[e.dependenciesMightHaveChanged = 1] = "dependenciesMightHaveChanged", e[e.stale = 2] = "stale", e[e.upToDate = 3] = "upToDate" }(_k || (_k = {})), jk = class extends pd { get debugName() { return this._debugNameData.getDebugName(this) ?? "(anonymous)" } constructor(e, t, s, i, n = void 0, r) { super(), this._debugNameData = e, this._computeFn = t, this.q = s, this.s = i, this.t = n, this.u = r, this.g = 0, this.h = void 0, this.j = 0, this.k = new Set, this.l = new Set, this.m = void 0, this.n = !1, this.p = !1, this.x = !1, this.m = this.q?.(), Ui()?.handleDerivedCreated(this) } f() { this.g = 0, this.h = void 0; for (const e of this.k) e.removeObserver(this); this.k.clear(), this.t?.() } get() { if (this.p) throw new to("Cyclic deriveds are not supported yet!"); if (this.b.size === 0) { let e; try { this.x = !0, e = this._computeFn(this, this.q?.()) } finally { this.x = !1 } return this.f(), e } else { do { if (this.g === 1) { for (const e of this.k) if (e.reportChanges(), this.g === 2) break } this.g === 1 && (this.g = 3), this.w() } while (this.g !== 3); return this.h } } w() { if (this.g === 3) return; const e = this.l; this.l = this.k, this.k = e; const t = this.g !== 0, s = this.h; this.g = 3; let i = !1; this.p = !1; try { const n = this.m; this.m = this.q?.(); try { this.x = !0, this.h = this._computeFn(this, n) } finally { this.x = !1; for (const r of this.l) r.removeObserver(this); this.l.clear() } i = t && !this.u(s, this.h), Ui()?.handleDerivedRecomputed(this, { oldValue: s, newValue: this.h, change: void 0, didChange: i, hadValue: t }) } catch (n) { ru(n) } if (this.p = !1, i) for (const n of this.b) n.handleChange(this, void 0) } toString() { return `LazyDerived<${this.debugName}>` } beginUpdate(e) { if (this.n) throw new to("Cyclic deriveds are not supported yet!"); this.j++, this.n = !0; try { const t = this.j === 1; if (this.g === 3 && (this.g = 1, !t)) for (const s of this.b) s.handlePossibleChange(this); if (t) for (const s of this.b) s.beginUpdate(this) } finally { this.n = !1 } } endUpdate(e) { if (this.j--, this.j === 0) { const t = [...this.b]; for (const s of t) s.endUpdate(this) } U4(() => this.j >= 0) } handlePossibleChange(e) { if (this.g === 3 && this.k.has(e) && !this.l.has(e)) { this.g = 1; for (const t of this.b) t.handlePossibleChange(this) } } handleChange(e, t) { if (this.k.has(e) && !this.l.has(e)) { let s = !1; try { s = this.s ? this.s({ changedObservable: e, change: t, didChange: n => n === e }, this.m) : !0 } catch (n) { ru(n) } const i = this.g === 3; if (s && (this.g === 1 || i) && (this.g = 2, i)) for (const n of this.b) n.handlePossibleChange(this) } } readObservable(e) { if (!this.x) throw new to("The reader object cannot be used outside its compute function!"); e.addObserver(this); const t = e.get(); return this.k.add(e), this.l.delete(e), t } addObserver(e) { const t = !this.b.has(e) && this.j > 0; super.addObserver(e), t && e.beginUpdate(this) } removeObserver(e) { const t = this.b.has(e) && this.j > 0; super.removeObserver(e), t && e.endUpdate(this) } } } }), ST = v({ "out-build/vs/base/common/observableInternal/promise.js"() { "use strict"; ka(), md() } }), PT = v({ "out-build/vs/base/common/observableInternal/commonFacade/cancellation.js"() { "use strict"; fe(), Dt() } }), IT = v({ "out-build/vs/base/common/observableInternal/utilsCancellation.js"() { "use strict"; ya(), PT(), md(), Ea(), ww() } }); function Tk(...e) { let t, s, i; return e.length === 3 ? [t, s, i] = e : [s, i] = e, new Wr(new ba(t, void 0, i), s, i, () => Wr.globalTransaction, dd) } function AT(e) { const t = new vw(!1, void 0); return e.addObserver(t), ye(() => { e.removeObserver(t) }) } function DT(e, t) { const s = new vw(!0, t); return e.addObserver(s), t ? t(e.get()) : e.reportChanges(), ye(() => { e.removeObserver(s) }) } var Wr, vw, RT = v({ "out-build/vs/base/common/observableInternal/utils.js"() { "use strict"; ww(), ka(), ya(), Ea(), md(), Ol(), Wr = class extends pd { constructor(e, t, s, i, n) { super(), this.k = e, this.l = t, this._getValue = s, this.n = i, this.p = n, this.h = !1, this.s = r => { const o = this._getValue(r), a = this.g, c = !this.h || !this.p(a, o); let l = !1; c && (this.g = o, this.h && (l = !0, yT(this.n(), u => { Ui()?.handleFromEventObservableTriggered(this, { oldValue: a, newValue: o, change: void 0, didChange: c, hadValue: this.h }); for (const h of this.b) u.updateObserver(h, this), h.handleChange(this, void 0) }, () => { const u = this.q(); return "Event fired" + (u ? `: ${u}` : "") })), this.h = !0), l || Ui()?.handleFromEventObservableTriggered(this, { oldValue: a, newValue: o, change: void 0, didChange: c, hadValue: this.h }) } } q() { return this.k.getDebugName(this) } get debugName() { const e = this.q(); return "From Event" + (e ? `: ${e}` : "") } c() { this.j = this.l(this.s) } f() { this.j.dispose(), this.j = void 0, this.h = !1, this.g = void 0 } get() { return this.j ? (this.h || this.s(void 0), this.g) : this._getValue(void 0) } }, function (e) { e.Observer = Wr; function t(s, i) { let n = !1; Wr.globalTransaction === void 0 && (Wr.globalTransaction = s, n = !0); try { i() } finally { n && (Wr.globalTransaction = void 0) } } e.batchEventsGlobally = t }(Tk || (Tk = {})), wT(AT), gT(DT), vw = class { constructor(e, t) { this.b = e, this.c = t, this.a = 0 } beginUpdate(e) { this.a++ } endUpdate(e) { this.a--, this.a === 0 && this.b && (this.c ? this.c(e.get()) : e.reportChanges()) } handlePossibleChange(e) { } handleChange(e, t) { } } } }), Uk, LT = v({ "out-build/vs/base/common/observableInternal/index.js"() { "use strict"; kT(), ww(), ka(), md(), ST(), IT(), RT(), Ol(), Uk = !1, Uk && uT(new Ak) } }), NT = v({ "out-build/vs/base/common/observable.js"() { "use strict"; LT() } }), Cl, OT = v({ "out-build/vs/workbench/contrib/chat/common/chatContextKeys.js"() { "use strict"; he(), wo(), function (e) { e.responseVote = new Ee("chatSessionResponseVote", "", { type: "string", description: m(5079, null) }), e.responseDetectedAgentCommand = new Ee("chatSessionResponseDetectedAgentOrCommand", !1, { type: "boolean", description: m(5080, null) }), e.responseSupportsIssueReporting = new Ee("chatResponseSupportsIssueReporting", !1, { type: "boolean", description: m(5081, null) }), e.responseIsFiltered = new Ee("chatSessionResponseFiltered", !1, { type: "boolean", description: m(5082, null) }), e.responseHasError = new Ee("chatSessionResponseError", !1, { type: "boolean", description: m(5083, null) }), e.requestInProgress = new Ee("chatSessionRequestInProgress", !1, { type: "boolean", description: m(5084, null) }), e.isResponse = new Ee("chatResponse", !1, { type: "boolean", description: m(5085, null) }), e.isRequest = new Ee("chatRequest", !1, { type: "boolean", description: m(5086, null) }), e.itemId = new Ee("chatItemId", "", { type: "string", description: m(5087, null) }), e.lastItemId = new Ee("chatLastItemId", [], { type: "string", description: m(5088, null) }), e.editApplied = new Ee("chatEditApplied", !1, { type: "boolean", description: m(5089, null) }), e.inputHasText = new Ee("chatInputHasText", !1, { type: "boolean", description: m(5090, null) }), e.inputHasFocus = new Ee("chatInputHasFocus", !1, { type: "boolean", description: m(5091, null) }), e.inChatInput = new Ee("inChatInput", !1, { type: "boolean", description: m(5092, null) }), e.inChatSession = new Ee("inChat", !1, { type: "boolean", description: m(5093, null) }), e.enabled = new Ee("chatIsEnabled", !1, { type: "boolean", description: m(5094, null) }), e.panelParticipantRegistered = new Ee("chatPanelParticipantRegistered", !1, { type: "boolean", description: m(5095, null) }), e.editingParticipantRegistered = new Ee("chatEditingParticipantRegistered", !1, { type: "boolean", description: m(5096, null) }), e.chatEditingCanUndo = new Ee("chatEditingCanUndo", !1, { type: "boolean", description: m(5097, null) }), e.chatEditingCanRedo = new Ee("chatEditingCanRedo", !1, { type: "boolean", description: m(5098, null) }), e.extensionInvalid = new Ee("chatExtensionInvalid", !1, { type: "boolean", description: m(5099, null) }), e.inputCursorAtTop = new Ee("chatCursorAtTop", !1), e.inputHasAgent = new Ee("chatInputHasAgent", !1), e.location = new Ee("chatLocation", void 0), e.inQuickChat = new Ee("quickChatHasFocus", !1, { type: "boolean", description: m(5100, null) }), e.hasFileAttachments = new Ee("chatHasFileAttachments", !1, { type: "boolean", description: m(5101, null) }), e.languageModelsAreUserSelectable = new Ee("chatModelsAreUserSelectable", !1, { type: "boolean", description: m(5102, null) }), e.Setup = { canSignUp: new Ee("chatSetupCanSignUp", !1, !0), signedOut: new Ee("chatSetupSignedOut", !1, !0), limited: new Ee("chatSetupLimited", !1, !0), triggered: new Ee("chatSetupTriggered", !1, !0), installed: new Ee("chatSetupInstalled", !1, !0) }, e.chatQuotaExceeded = new Ee("chatQuotaExceeded", !1, !0), e.completionsQuotaExceeded = new Ee("completionsQuotaExceeded", !1, !0) }(Cl || (Cl = {})) } }); function CT(e) { return `${e.extensionId.value}.${e.id}` } var _l, bs, _T, bw, jl, jT, yw, TT = v({ "out-build/vs/workbench/contrib/chat/common/chatAgents.js"() { "use strict"; wb(), Ue(), Dt(), re(), Tc(), pr(), z(), Co(), NT(), et(), vh(), wo(), Ii(), oe(), Re(), Ls(), Dr(), t9(), OT(), function (e) { e.Panel = "panel", e.Terminal = "terminal", e.Notebook = "notebook", e.Editor = "editor", e.EditingSession = "editing-session" }(bs || (bs = {})), function (e) { function t(s) { switch (s) { case "panel": return e.Panel; case "terminal": return e.Terminal; case "notebook": return e.Notebook; case "editor": return e.Editor; case "editing-session": return e.EditingSession }return e.Panel } e.fromRaw = t }(bs || (bs = {})), _T = se("chatAgentService"), bw = class extends J { static { this.AGENT_LEADER = "@" } constructor(t) { super(), this.r = t, this.b = new Map, this.f = new D, this.onDidChangeAgents = this.f.event, this.g = new Set, this.n = new Map, this.u = new Map, this.h = Cl.enabled.bindTo(this.r), this.j = Cl.panelParticipantRegistered.bindTo(this.r), this.m = Cl.editingParticipantRegistered.bindTo(this.r), this.B(t.onDidChangeContext(s => { s.affectsSome(this.g) && this.t() })) } registerAgent(t, s) { if (this.getAgent(t)) throw new Error(`Agent already registered: ${JSON.stringify(t)}`); const n = this, r = s.slashCommands; s = { ...s, get slashCommands() { return r.filter(a => !a.when || n.r.contextMatchesRules($t.deserialize(a.when))) } }; const o = { data: s }; return this.b.set(t, o), this.s(), this.t(), this.f.fire(void 0), ye(() => { this.b.delete(t), this.s(), this.t(), this.f.fire(void 0) }) } s() { this.g.clear(); for (const t of this.b.values()) if (t.data.when) { const s = $t.deserialize(t.data.when); for (const i of s?.keys() || []) this.g.add(i) } } t() { let t = !1, s = !1; for (const i of this.getAgents()) i.isDefault && i.locations.includes(bs.EditingSession) ? t = !0 : i.isDefault && (s = !0); this.m.set(t), this.j.set(s) } registerAgentImplementation(t, s) { const i = this.b.get(t); if (!i) throw new Error(`Unknown agent: ${JSON.stringify(t)}`); if (i.impl) throw new Error(`Agent already has implementation: ${JSON.stringify(t)}`); return i.data.isDefault && this.h.set(!0), i.impl = s, this.f.fire(new jl(i.data, s)), ye(() => { i.impl = void 0, this.f.fire(void 0), i.data.isDefault && this.h.set(!1) }) } registerDynamicAgent(t, s) { t.isDynamic = !0; const i = { data: t, impl: s }; return this.b.set(t.id, i), this.f.fire(new jl(t, s)), ye(() => { this.b.delete(t.id), this.f.fire(void 0) }) } registerAgentCompletionProvider(t, s) { return this.u.set(t, s), { dispose: () => { this.u.delete(t) } } } async getAgentCompletionItems(t, s, i) { return await this.u.get(t)?.(s, i) ?? [] } updateAgent(t, s) { const i = this.b.get(t); if (!i?.impl) throw new Error(`No activated agent with id ${JSON.stringify(t)} registered`); i.data.metadata = { ...i.data.metadata, ...s }, this.f.fire(new jl(i.data, i.impl)) } getDefaultAgent(t) { return cA(this.getActivatedAgents(), s => !!s.isDefault && s.locations.includes(t)) } getContributedDefaultAgent(t) { return this.getAgents().find(s => !!s.isDefault && s.locations.includes(t)) } getSecondaryAgent() { return Zi.find(this.b.values(), t => !!t.data.metadata.isSecondary)?.data } getAgent(t, s = !1) { if (!(!this.w(t) && !s)) return this.b.get(t)?.data } w(t) { const s = this.b.get(t); return !s?.data.when || this.r.contextMatchesRules($t.deserialize(s.data.when)) } getAgentByFullyQualifiedId(t) { const s = Zi.find(this.b.values(), i => CT(i.data) === t)?.data; if (!(s && !this.w(s.id))) return s } getAgents() { return Array.from(this.b.values()).map(t => t.data).filter(t => this.w(t.id)) } getActivatedAgents() { return Array.from(this.b.values()).filter(t => !!t.impl).filter(t => this.w(t.data.id)).map(t => new jl(t.data, t.impl)) } getAgentsByName(t) { return this.getAgents().filter(s => s.name === t) } agentHasDupeName(t) { const s = this.getAgent(t); return s ? this.getAgentsByName(s.name).filter(i => i.extensionId.value !== s.extensionId.value).length > 0 : !1 } async invokeAgent(t, s, i, n, r) { const o = this.b.get(t); if (!o?.impl) throw new Error(`No activated agent with id "${t}"`); return await o.impl.invoke(s, i, n, r) } async getFollowups(t, s, i, n, r) { const o = this.b.get(t); if (!o?.impl) throw new Error(`No activated agent with id "${t}"`); return o.impl?.provideFollowups ? o.impl.provideFollowups(s, i, n, r) : [] } async getChatTitle(t, s, i) { const n = this.b.get(t); if (!n?.impl) throw new Error(`No activated agent with id "${t}"`); if (n.impl?.provideChatTitle) return n.impl.provideChatTitle(s, i) } registerChatParticipantDetectionProvider(t, s) { return this.n.set(t, s), ye(() => { this.n.delete(t) }) } hasChatParticipantDetectionProviders() { return this.n.size > 0 } async detectAgentOrCommand(t, s, i, n) { const r = Zi.first(this.n.values()); if (!r) return; const o = this.getAgents().reduce((u, h) => { if (h.locations.includes(i.location)) { u.push({ participant: h.id, disambiguation: h.disambiguation ?? [] }); for (const d of h.slashCommands) u.push({ participant: h.id, command: d.name, disambiguation: d.disambiguation ?? [] }) } return u }, []), a = await r.provideParticipantDetection(t, s, { ...i, participants: o }, n); if (!a) return; const c = this.getAgent(a.participant); if (!c) return; if (!a.command) return { agent: c }; const l = c?.slashCommands.find(u => u.name === a.command); if (l) return { agent: c, command: l } } }, bw = __decorate([__param(0, l4)], bw), jl = class { constructor(e, t) { this.b = e, this.d = t } get id() { return this.b.id } get name() { return this.b.name ?? "" } get fullName() { return this.b.fullName ?? "" } get description() { return this.b.description ?? "" } get extensionId() { return this.b.extensionId } get extensionPublisherId() { return this.b.extensionPublisherId } get extensionPublisherDisplayName() { return this.b.publisherDisplayName } get extensionDisplayName() { return this.b.extensionDisplayName } get isDefault() { return this.b.isDefault } get metadata() { return this.b.metadata } get slashCommands() { return this.b.slashCommands } get locations() { return this.b.locations } get disambiguation() { return this.b.disambiguation } async invoke(e, t, s, i) { return this.d.invoke(e, t, s, i) } async provideFollowups(e, t, s, i) { return this.d.provideFollowups ? this.d.provideFollowups(e, t, s, i) : [] } provideWelcomeMessage(e) { if (this.d.provideWelcomeMessage) return this.d.provideWelcomeMessage(e) } provideSampleQuestions(e, t) { if (this.d.provideSampleQuestions) return this.d.provideSampleQuestions(e, t) } toJSON() { return this.b } }, jT = se("chatAgentNameService"), yw = class { static { _l = this } static { this.b = "chat.participantNameRegistry" } constructor(t, s, i, n) { if (this.h = s, this.i = i, this.j = n, this.f = ET(this, Object.create(null)), this.g = !1, !t.chatParticipantRegistry) return; this.d = t.chatParticipantRegistry; const r = n.get(_l.b, -1); try { this.f.set(JSON.parse(r ?? "{}"), void 0) } catch { n.remove(_l.b, -1) } this.k() } k() { this.g || this.l().catch(t => this.i.warn("Failed to fetch chat participant registry", t)).then(() => Sr(5 * 60 * 1e3)).then(() => this.k()) } async l() { const t = await this.h.request({ type: "GET", url: this.d }, Ne.None); if (t.res.statusCode !== 200) throw new Error("Could not get extensions report."); const s = await gc(t); if (!s || s.version !== 1) throw new Error("Unexpected chat participant registry response."); const i = s.restrictedChatParticipants; this.f.set(i, void 0), this.j.store(_l.b, JSON.stringify(i), -1, 1) } getAgentNameRestriction(t) { const s = this.m(t.name, t).get(), i = !t.fullName || this.m(t.fullName.replace(/\s/g, ""), t).get(); return s && i } m(t, s) { return this.f.map(n => n[t.toLowerCase()]).map(n => n ? n.some(r => Ln(r, r.includes(".") ? s.extensionId.value : s.extensionPublisherId)) : !0) } dispose() { this.g = !0 } }, yw = _l = __decorate([__param(0, Nt), __param(1, Pi), __param(2, pe), __param(3, Em)], yw) } }), Mk, Fk, $a, gd = v({ "out-build/vs/workbench/contrib/testing/common/testId.js"() { "use strict"; (function (e) { e.Delimiter = "\0" })(Mk || (Mk = {})), function (e) { e[e.IsSame = 0] = "IsSame", e[e.Disconnected = 1] = "Disconnected", e[e.IsChild = 2] = "IsChild", e[e.IsParent = 3] = "IsParent" }(Fk || (Fk = {})), $a = class Zs { static fromExtHostTestItem(t, s, i = t.parent) { if (t._isRoot) return new Zs([s]); const n = [t.id]; for (let r = i; r && r.id !== s; r = r.parent)n.push(r.id); return n.push(s), new Zs(n.reverse()) } static isRoot(t) { return !t.includes("\0") } static root(t) { const s = t.indexOf("\0"); return s === -1 ? t : t.slice(0, s) } static fromString(t) { return new Zs(t.split("\0")) } static join(t, s) { return new Zs([...t.path, s]) } static joinToString(t, s) { return t.toString() + "\0" + s } static parentId(t) { const s = t.lastIndexOf("\0"); return s === -1 ? void 0 : t.slice(0, s) } static localId(t) { const s = t.lastIndexOf("\0"); return s === -1 ? t : t.slice(s + 1) } static isChild(t, s) { return s[t.length] === "\0" && s.startsWith(t) } static compare(t, s) { return t === s ? 0 : Zs.isChild(t, s) ? 2 : Zs.isChild(s, t) ? 3 : 1 } static getLengthOfCommonPrefix(t, s) { if (t === 0) return 0; let i = 0; for (; i < t - 1;) { for (let n = 1; n < t; n++) { const r = s(n - 1), o = s(n); if (r.path[i] !== o.path[i]) return i } i++ } return i } constructor(t, s = t.length) { if (this.path = t, this.d = s, t.length === 0 || s < 1) throw new Error("cannot create test with empty path") } get rootId() { return new Zs(this.path, 1) } get parentId() { return this.d > 1 ? new Zs(this.path, this.d - 1) : void 0 } get localId() { return this.path[this.d - 1] } get controllerId() { return this.path[0] } get isRoot() { return this.d === 1 } *idsFromRoot() { for (let t = 1; t <= this.d; t++)yield new Zs(this.path, t) } *idsToRoot() { for (let t = this.d; t > 0; t--)yield new Zs(this.path, t) } compare(t) { if (typeof t == "string") return Zs.compare(this.toString(), t); for (let s = 0; s < t.d && s < this.d; s++)if (t.path[s] !== this.path[s]) return 1; return t.d > this.d ? 2 : t.d < this.d ? 3 : 0 } toJSON() { return this.toString() } toString() { if (!this.c) { this.c = this.path[0]; for (let t = 1; t < this.d; t++)this.c += "\0", this.c += this.path[t] } return this.c } } } }); function Ew(e) { return { ...e, location: e.location?.toJSON() } } function xw(e) { return e.location = e.location ? zr.isIPosition(e.location) ? zr.lift(e.location) : Ti.lift(e.location) : void 0, e } var Bk, Hk, zk, Vk, UT, Sa, Wk, wd, vd, bd, yd, Tl, kw, qk, Gk, Ed, Jk, qr, xd, Yk, $w, Xk, Qk, Zk, kd, $d, Sd, Kk, e$, Sw = v({ "out-build/vs/workbench/contrib/testing/common/testTypes.js"() { "use strict"; ee(), rw(), va(), he(), gd(), function (e) { e[e.Unset = 0] = "Unset", e[e.Queued = 1] = "Queued", e[e.Running = 2] = "Running", e[e.Passed = 3] = "Passed", e[e.Failed = 4] = "Failed", e[e.Skipped = 5] = "Skipped", e[e.Errored = 6] = "Errored" }(Bk || (Bk = {})), function (e) { e[e.Run = 1] = "Run", e[e.Debug = 2] = "Debug", e[e.Coverage = 3] = "Coverage" }(Hk || (Hk = {})), function (e) { e[e.Refresh = 2] = "Refresh", e[e.CodeRelatedToTest = 4] = "CodeRelatedToTest", e[e.TestRelatedToCode = 8] = "TestRelatedToCode" }(zk || (zk = {})), function (e) { e[e.Run = 2] = "Run", e[e.Debug = 4] = "Debug", e[e.Coverage = 8] = "Coverage", e[e.HasNonDefaultProfile = 16] = "HasNonDefaultProfile", e[e.HasConfigurable = 32] = "HasConfigurable", e[e.SupportsContinuousRun = 64] = "SupportsContinuousRun" }(Vk || (Vk = {})), UT = { 2: m(11362, null), 4: m(11363, null), 8: m(11364, null) }, function (e) { e.serialize = t => ({ range: t.range.toJSON(), uri: t.uri.toJSON() }), e.deserialize = (t, s) => ({ range: Ti.lift(s.range), uri: t.asCanonicalUri(E.revive(s.uri)) }) }(Sa || (Sa = {})), function (e) { e[e.Error = 0] = "Error", e[e.Output = 1] = "Output" }(Wk || (Wk = {})), function (e) { e.serialize = t => ({ label: t.label, uri: t.uri?.toJSON(), position: t.position?.toJSON() }), e.deserialize = (t, s) => ({ label: s.label, uri: s.uri ? t.asCanonicalUri(E.revive(s.uri)) : void 0, position: s.position ? zr.lift(s.position) : void 0 }) }(wd || (wd = {})), function (e) { e.serialize = t => ({ message: t.message, type: 0, expected: t.expected, actual: t.actual, contextValue: t.contextValue, location: t.location && Sa.serialize(t.location), stackTrace: t.stackTrace?.map(wd.serialize) }), e.deserialize = (t, s) => ({ message: s.message, type: 0, expected: s.expected, actual: s.actual, contextValue: s.contextValue, location: s.location && Sa.deserialize(t, s.location), stackTrace: s.stackTrace && s.stackTrace.map(i => wd.deserialize(t, i)) }) }(vd || (vd = {})), function (e) { e.serialize = t => ({ message: t.message, type: 1, offset: t.offset, length: t.length, location: t.location && Sa.serialize(t.location) }), e.deserialize = (t, s) => ({ message: s.message, type: 1, offset: s.offset, length: s.length, location: s.location && Sa.deserialize(t, s.location) }) }(bd || (bd = {})), function (e) { e.serialize = t => t.type === 0 ? vd.serialize(t) : bd.serialize(t), e.deserialize = (t, s) => s.type === 0 ? vd.deserialize(t, s) : bd.deserialize(t, s), e.isDiffable = t => t.type === 0 && t.actual !== void 0 && t.expected !== void 0 }(yd || (yd = {})), function (e) { e.serializeWithoutMessages = t => ({ state: t.state, duration: t.duration, messages: [] }), e.serialize = t => ({ state: t.state, duration: t.duration, messages: t.messages.map(yd.serialize) }), e.deserialize = (t, s) => ({ state: s.state, duration: s.duration, messages: s.messages.map(i => yd.deserialize(t, i)) }) }(Tl || (Tl = {})), kw = "\0", qk = (e, t) => e + kw + t, Gk = e => { const t = e.indexOf(kw); return { ctrlId: e.slice(0, t), tagId: e.slice(t + 1) } }, function (e) { e.serialize = t => ({ extId: t.extId, label: t.label, tags: t.tags, busy: t.busy, children: void 0, uri: t.uri?.toJSON(), range: t.range?.toJSON() || null, description: t.description, error: t.error, sortText: t.sortText }), e.deserialize = (t, s) => ({ extId: s.extId, label: s.label, tags: s.tags, busy: s.busy, children: void 0, uri: s.uri ? t.asCanonicalUri(E.revive(s.uri)) : void 0, range: s.range ? Ti.lift(s.range) : null, description: s.description, error: s.error, sortText: s.sortText }) }(Ed || (Ed = {})), function (e) { e[e.NotExpandable = 0] = "NotExpandable", e[e.Expandable = 1] = "Expandable", e[e.BusyExpanding = 2] = "BusyExpanding", e[e.Expanded = 3] = "Expanded" }(Jk || (Jk = {})), function (e) { e.serialize = t => ({ expand: t.expand, item: Ed.serialize(t.item) }), e.deserialize = (t, s) => ({ controllerId: $a.root(s.item.extId), expand: s.expand, item: Ed.deserialize(t, s.item) }) }(qr || (qr = {})), function (e) { e.serialize = t => { let s; return t.item && (s = {}, t.item.label !== void 0 && (s.label = t.item.label), t.item.tags !== void 0 && (s.tags = t.item.tags), t.item.busy !== void 0 && (s.busy = t.item.busy), t.item.uri !== void 0 && (s.uri = t.item.uri?.toJSON()), t.item.range !== void 0 && (s.range = t.item.range?.toJSON()), t.item.description !== void 0 && (s.description = t.item.description), t.item.error !== void 0 && (s.error = t.item.error), t.item.sortText !== void 0 && (s.sortText = t.item.sortText)), { extId: t.extId, expand: t.expand, item: s } }, e.deserialize = t => { let s; return t.item && (s = {}, t.item.label !== void 0 && (s.label = t.item.label), t.item.tags !== void 0 && (s.tags = t.item.tags), t.item.busy !== void 0 && (s.busy = t.item.busy), t.item.range !== void 0 && (s.range = t.item.range ? Ti.lift(t.item.range) : null), t.item.description !== void 0 && (s.description = t.item.description), t.item.error !== void 0 && (s.error = t.item.error), t.item.sortText !== void 0 && (s.sortText = t.item.sortText)), { extId: t.extId, expand: t.expand, item: s } } }(xd || (xd = {})), function (e) { e.serializeWithoutMessages = t => ({ ...qr.serialize(t), ownComputedState: t.ownComputedState, computedState: t.computedState, tasks: t.tasks.map(Tl.serializeWithoutMessages) }), e.serialize = t => ({ ...qr.serialize(t), ownComputedState: t.ownComputedState, computedState: t.computedState, tasks: t.tasks.map(Tl.serialize) }), e.deserialize = (t, s) => ({ ...qr.deserialize(t, s), ownComputedState: s.ownComputedState, computedState: s.computedState, tasks: s.tasks.map(i => Tl.deserialize(t, i)), retired: !0 }) }(Yk || (Yk = {})), function (e) { e.empty = () => ({ covered: 0, total: 0 }), e.sum = (t, s) => { t.covered += s.covered, t.total += s.total } }($w || ($w = {})), function (e) { e.serialize = t => ({ id: t.id, statement: t.statement, branch: t.branch, declaration: t.declaration, testIds: t.testIds, uri: t.uri.toJSON() }), e.deserialize = (t, s) => ({ id: s.id, statement: s.statement, branch: s.branch, declaration: s.declaration, testIds: s.testIds, uri: t.asCanonicalUri(E.revive(s.uri)) }), e.empty = (t, s) => ({ id: t, uri: s, statement: $w.empty() }) }(Xk || (Xk = {})), function (e) { e[e.Declaration = 0] = "Declaration", e[e.Statement = 1] = "Statement", e[e.Branch = 2] = "Branch" }(Qk || (Qk = {})), function (e) { e.serialize = t => t.type === 0 ? $d.serialize(t) : Sd.serialize(t), e.deserialize = t => t.type === 0 ? $d.deserialize(t) : Sd.deserialize(t) }(Zk || (Zk = {})), function (e) { e.serialize = Ew, e.deserialize = xw }(kd || (kd = {})), function (e) { e.serialize = Ew, e.deserialize = xw }($d || ($d = {})), function (e) { e.serialize = t => ({ ...Ew(t), branches: t.branches?.map(kd.serialize) }), e.deserialize = t => ({ ...xw(t), branches: t.branches?.map(kd.deserialize) }) }(Sd || (Sd = {})), function (e) { e[e.Add = 0] = "Add", e[e.Update = 1] = "Update", e[e.DocumentSynced = 2] = "DocumentSynced", e[e.Remove = 3] = "Remove", e[e.IncrementPendingExtHosts = 4] = "IncrementPendingExtHosts", e[e.Retire = 5] = "Retire", e[e.AddTag = 6] = "AddTag", e[e.RemoveTag = 7] = "RemoveTag" }(Kk || (Kk = {})), function (e) { e.deserialize = (t, s) => s.op === 0 ? { op: s.op, item: qr.deserialize(t, s.item) } : s.op === 1 ? { op: s.op, item: xd.deserialize(s.item) } : s.op === 2 ? { op: s.op, uri: t.asCanonicalUri(E.revive(s.uri)), docv: s.docv } : s, e.serialize = t => t.op === 0 ? { op: t.op, item: qr.serialize(t.item) } : t.op === 1 ? { op: t.op, item: xd.serialize(t.item) } : t }(e$ || (e$ = {})) } }), MT, t$, s$, i$, n$, r$, o$, a$, FT = v({ "out-build/vs/workbench/services/editor/common/editorGroupsService.js"() { "use strict"; oe(), lw(), MT = se("editorGroupsService"), function (e) { e[e.UP = 0] = "UP", e[e.DOWN = 1] = "DOWN", e[e.LEFT = 2] = "LEFT", e[e.RIGHT = 3] = "RIGHT" }(t$ || (t$ = {})), function (e) { e[e.HORIZONTAL = 0] = "HORIZONTAL", e[e.VERTICAL = 1] = "VERTICAL" }(s$ || (s$ = {})), function (e) { e[e.FIRST = 0] = "FIRST", e[e.LAST = 1] = "LAST", e[e.NEXT = 2] = "NEXT", e[e.PREVIOUS = 3] = "PREVIOUS" }(i$ || (i$ = {})), function (e) { e[e.MAXIMIZE = 0] = "MAXIMIZE", e[e.EXPAND = 1] = "EXPAND", e[e.EVEN = 2] = "EVEN" }(n$ || (n$ = {})), function (e) { e[e.COPY_EDITORS = 0] = "COPY_EDITORS", e[e.MOVE_EDITORS = 1] = "MOVE_EDITORS" }(r$ || (r$ = {})), function (e) { e[e.CREATION_TIME = 0] = "CREATION_TIME", e[e.MOST_RECENTLY_ACTIVE = 1] = "MOST_RECENTLY_ACTIVE", e[e.GRID_APPEARANCE = 2] = "GRID_APPEARANCE" }(o$ || (o$ = {})), function (e) { e[e.NEW_EDITOR = 1] = "NEW_EDITOR", e[e.MOVE_EDITOR = 2] = "MOVE_EDITOR", e[e.COPY_EDITOR = 3] = "COPY_EDITOR" }(a$ || (a$ = {})) } }), c$, l$, u$, h$ = v({ "out-build/vs/workbench/services/editor/common/editorService.js"() { "use strict"; oe(), FT(), c$ = se("editorService"), l$ = -1, u$ = -2 } }), f$, Pa, d$, BT, p$, Pd, m$, g$, w$ = v({ "out-build/vs/workbench/contrib/testing/common/testItemCollection.js"() { "use strict"; Ue(), re(), z(), jp(), Sw(), gd(), function (e) { e[e.Upsert = 0] = "Upsert", e[e.SetTags = 1] = "SetTags", e[e.UpdateCanResolveChildren = 2] = "UpdateCanResolveChildren", e[e.RemoveChild = 3] = "RemoveChild", e[e.SetProp = 4] = "SetProp", e[e.Bulk = 5] = "Bulk", e[e.DocumentSynced = 6] = "DocumentSynced" }(f$ || (f$ = {})), Pa = (e, t) => e === t, d$ = { range: (e, t) => e === t ? !0 : !e || !t ? !1 : e.equalsRange(t), busy: Pa, label: Pa, description: Pa, error: Pa, sortText: Pa, tags: (e, t) => !(e.length !== t.length || e.some(s => !t.includes(s))) }, BT = Object.entries(d$), p$ = class extends Error { constructor(e) { super(`Attempted to insert a duplicate test item ID ${e}`) } }, Pd = class extends Error { constructor(e) { super(`TestItem with ID "${e}" is invalid. Make sure to create it from the createTestItem method.`) } }, m$ = class extends Error { constructor(e, t, s) { super(`TestItem with ID "${e}" is from controller "${t}" and cannot be added as a child of an item from controller "${s}".`) } }, g$ = (e, t, s) => { let i = new Map; return { get size() { return i.size }, forEach(n, r) { for (const o of i.values()) n.call(r, o, this) }, [Symbol.iterator]() { return i.entries() }, replace(n) { const r = new Map, o = new Set(i.keys()), a = { op: 5, ops: [] }; for (const c of n) { if (!(c instanceof s)) throw new Pd(c.id); const l = t(c).controllerId; if (l !== e.controllerId) throw new m$(c.id, l, e.controllerId); if (r.has(c.id)) throw new p$(c.id); r.set(c.id, c), o.delete(c.id), a.ops.push({ op: 0, item: c }) } for (const c of o.keys()) a.ops.push({ op: 3, id: c }); e.listener?.(a), i = r }, add(n) { if (!(n instanceof s)) throw new Pd(n.id); i.set(n.id, n), e.listener?.({ op: 0, item: n }) }, delete(n) { i.delete(n) && e.listener?.({ op: 3, id: n }) }, get(n) { return i.get(n) }, toJSON() { return Array.from(i.values()) } } } } }), Pw, v$, Iw, b$ = v({ "out-build/vs/workbench/api/common/extHostTestingPrivateApi.js"() { "use strict"; w$(), Pw = new WeakMap, v$ = (e, t) => { const s = { controllerId: t }; return Pw.set(e, s), s }, Iw = e => { const t = Pw.get(e); if (!t) throw new Pd(e?.id || "<unknown>"); return t } } }); function Aw(e) { return typeof e > "u" ? e : typeof e == "string" ? E.file(e) : e } var Dw, U, ir, y$, $n, E$, Id, x$, Ad, Dd, k$, lt, Ia, Rd, Rw, $$, di, S$, Mi, nr, Ld, P$, Ul, I$, A$, rr, D$, R$, L$, N$, O$, Nd, C$, Lw, _$, Nw, Ow, j$, Od, Cd, T$, U$, Cw, _w, M$, F$, B$, H$, z$, V$, _d, W$, q$, jd, G$, Fi, J$, Y$, Ml, jw, Td, X$, Ud, Q$, Fl, Md, Fd, Z$, K$, eS, tS, sS, Tw, or, Uw, Mw, Bd, iS, nS, rS, Fw, oS, Hd, aS, Bw, zd, cS, Vd, Hw, zw, Vw, Ww, Wd, qd, qw, Gw, Jw, lS, uS, Gd, Yw, Jd, Xw, hS, fS, dS, Qw, Zw, Kw, pS, Yd, mS, gS, wS, ev, vS, bS, yS, ES = v({
  543. "out-build/vs/workbench/api/common/extHostTypeConverters.js"() {
  544. "use strict"; Et(), Me(), Lj(), lu(), Tc(), ls(), Bj(), Co(), pf(), es(), Hj(), kt(), vh(), $e(), ee(), va(), Jj(), Xj(), lw(), TT(), xE(), gd(), Sw(), h$(), b$(), q0(), q0(), function (e) { function t(i) { const { selectionStartLineNumber: n, selectionStartColumn: r, positionLineNumber: o, positionColumn: a } = i, c = new Le(n - 1, r - 1), l = new Le(o - 1, a - 1); return new dl(c, l) } e.to = t; function s(i) { const { anchor: n, active: r } = i; return { selectionStartLineNumber: n.line + 1, selectionStartColumn: n.character + 1, positionLineNumber: r.line + 1, positionColumn: r.character + 1 } } e.from = s }(Dw || (Dw = {})), function (e) { function t(i) { if (!i) return; const { start: n, end: r } = i; return { startLineNumber: n.line + 1, startColumn: n.character + 1, endLineNumber: r.line + 1, endColumn: r.character + 1 } } e.from = t; function s(i) { if (!i) return; const { startLineNumber: n, startColumn: r, endLineNumber: o, endColumn: a } = i; return new Ke(n - 1, r - 1, o - 1, a - 1) } e.to = s }(U || (U = {})), function (e) { function t(i) { return { uri: i.uri, range: U.from(i.range) } } e.from = t; function s(i) { return new En(E.revive(i.uri), U.to(i.range)) } e.to = s }(ir || (ir = {})), function (e) { function t(s) { switch (s) { case 1: return ha.Comment; case 0: return ha.Other; case 3: return ha.RegEx; case 2: return ha.String } } e.to = t }(y$ || (y$ = {})), function (e) { function t(i) { return new Le(i.lineNumber - 1, i.column - 1) } e.to = t; function s(i) { return { lineNumber: i.line + 1, column: i.character + 1 } } e.from = s }($n || ($n = {})), function (e) { function t(n, r, o) { return yi(yb(n).map(a => s(a, r, o))) } e.from = t; function s(n, r, o) { if (typeof n == "string") return { $serialized: !0, language: n, isBuiltin: o?.isBuiltin }; if (n) return { $serialized: !0, language: n.language, scheme: i(n.scheme, r), pattern: Fi.from(n.pattern) ?? void 0, exclusive: n.exclusive, notebookType: n.notebookType, isBuiltin: o?.isBuiltin } } function i(n, r) { return r && typeof n == "string" ? r.transformOutgoingScheme(n) : n } }(E$ || (E$ = {})), function (e) { function t(i) { switch (i) { case ra.Unnecessary: return 1; case ra.Deprecated: return 2 } } e.from = t; function s(i) { switch (i) { case 1: return ra.Unnecessary; case 2: return ra.Deprecated; default: return } } e.to = s }(Id || (Id = {})), function (e) { function t(i) { let n; return i.code && (ve(i.code) || On(i.code) ? n = String(i.code) : n = { value: String(i.code.value), target: i.code.target }), { ...U.from(i.range), message: i.message, source: i.source, code: n, severity: Dd.from(i.severity), relatedInformation: i.relatedInformation && i.relatedInformation.map(Ad.from), tags: Array.isArray(i.tags) ? yi(i.tags.map(Id.from)) : void 0 } } e.from = t; function s(i) { const n = new bf(U.to(i), i.message, Dd.to(i.severity)); return n.source = i.source, n.code = ve(i.code) ? i.code : i.code?.value, n.relatedInformation = i.relatedInformation && i.relatedInformation.map(Ad.to), n.tags = i.tags && yi(i.tags.map(Id.to)), n } e.to = s }(x$ || (x$ = {})), function (e) { function t(i) { return { ...U.from(i.location.range), message: i.message, resource: i.location.uri } } e.from = t; function s(i) { return new ml(new En(i.resource, U.to(i)), i.message) } e.to = s }(Ad || (Ad = {})), function (e) { function t(i) { switch (i) { case Ts.Error: return Os.Error; case Ts.Warning: return Os.Warning; case Ts.Information: return Os.Info; case Ts.Hint: return Os.Hint }return Os.Error } e.from = t; function s(i) { switch (i) { case Os.Info: return Ts.Information; case Os.Warning: return Ts.Warning; case Os.Error: return Ts.Error; case Os.Hint: return Ts.Hint; default: return Ts.Error } } e.to = s }(Dd || (Dd = {})), function (e) { function t(i) { return typeof i == "number" && i >= Cf.One ? i - 1 : i === Cf.Beside ? u$ : l$ } e.from = t; function s(i) { if (typeof i == "number" && i >= 0) return i + 1; throw new Error("invalid 'EditorGroupColumn'") } e.to = s }(k$ || (k$ = {})), function (e) {
  545. function t(a) { return a.map(e.from) } e.fromMany = t; function s(a) { return a && typeof a == "object" && typeof a.language == "string" && typeof a.value == "string" } function i(a) {
  546. let c; if (s(a)) {
  547. const { language: h, value: d } = a; c = {
  548. value: "```" + h + `
  549. `+ d + "\n```\n"
  550. }
  551. } else xn.isMarkdownString(a) ? c = { value: a.value, isTrusted: a.isTrusted, supportThemeIcons: a.supportThemeIcons, supportHtml: a.supportHtml, baseUri: a.baseUri } : typeof a == "string" ? c = { value: a } : c = { value: "" }; const l = Object.create(null); c.uris = l; const u = ({ href: h }) => { try { let d = E.parse(h, !0); d = d.with({ query: n(d.query, l) }), l[h] = d } catch { } return "" }; return He.walkTokens(He.lexer(c.value), h => { h.type === "link" ? u({ href: h.href }) : h.type === "image" && typeof h.href == "string" && u(mO(h.href)) }), c
  552. } e.from = i; function n(a, c) { if (!a) return a; let l; try { l = W6(a) } catch { } if (!l) return a; let u = !1; return l = un(l, h => { if (E.isUri(h)) { const d = `__uri_${Math.random().toString(16).slice(2, 8)}`; return c[d] = h, u = !0, d } else return }), u ? JSON.stringify(l) : a } function r(a) { const c = new xn(a.value, a.supportThemeIcons); return c.isTrusted = a.isTrusted, c.supportHtml = a.supportHtml, c.baseUri = a.baseUri ? E.from(a.baseUri) : void 0, c } e.to = r; function o(a) { if (a) return typeof a == "string" ? a : e.from(a) } e.fromStrict = o
  553. }(lt || (lt = {})), function (e) { function t(s) { return typeof s > "u" ? s : { contentText: s.contentText, contentIconPath: s.contentIconPath ? Aw(s.contentIconPath) : void 0, border: s.border, borderColor: s.borderColor, fontStyle: s.fontStyle, fontWeight: s.fontWeight, textDecoration: s.textDecoration, color: s.color, backgroundColor: s.backgroundColor, margin: s.margin, width: s.width, height: s.height } } e.from = t }(Ia || (Ia = {})), function (e) { function t(s) { return typeof s > "u" ? s : { backgroundColor: s.backgroundColor, outline: s.outline, outlineColor: s.outlineColor, outlineStyle: s.outlineStyle, outlineWidth: s.outlineWidth, border: s.border, borderColor: s.borderColor, borderRadius: s.borderRadius, borderSpacing: s.borderSpacing, borderStyle: s.borderStyle, borderWidth: s.borderWidth, fontStyle: s.fontStyle, fontWeight: s.fontWeight, textDecoration: s.textDecoration, cursor: s.cursor, color: s.color, opacity: s.opacity, letterSpacing: s.letterSpacing, gutterIconPath: s.gutterIconPath ? Aw(s.gutterIconPath) : void 0, gutterIconSize: s.gutterIconSize, overviewRulerColor: s.overviewRulerColor, before: s.before ? Ia.from(s.before) : void 0, after: s.after ? Ia.from(s.after) : void 0 } } e.from = t }(Rd || (Rd = {})), function (e) { function t(s) { if (typeof s > "u") return s; switch (s) { case aa.OpenOpen: return 0; case aa.ClosedClosed: return 1; case aa.OpenClosed: return 2; case aa.ClosedOpen: return 3 } } e.from = t }(Rw || (Rw = {})), function (e) { function t(s) { return { isWholeLine: s.isWholeLine, rangeBehavior: s.rangeBehavior ? Rw.from(s.rangeBehavior) : void 0, overviewRulerLane: s.overviewRulerLane, light: s.light ? Rd.from(s.light) : void 0, dark: s.dark ? Rd.from(s.dark) : void 0, backgroundColor: s.backgroundColor, outline: s.outline, outlineColor: s.outlineColor, outlineStyle: s.outlineStyle, outlineWidth: s.outlineWidth, border: s.border, borderColor: s.borderColor, borderRadius: s.borderRadius, borderSpacing: s.borderSpacing, borderStyle: s.borderStyle, borderWidth: s.borderWidth, fontStyle: s.fontStyle, fontWeight: s.fontWeight, textDecoration: s.textDecoration, cursor: s.cursor, color: s.color, opacity: s.opacity, letterSpacing: s.letterSpacing, gutterIconPath: s.gutterIconPath ? Aw(s.gutterIconPath) : void 0, gutterIconSize: s.gutterIconSize, overviewRulerColor: s.overviewRulerColor, before: s.before ? Ia.from(s.before) : void 0, after: s.after ? Ia.from(s.after) : void 0 } } e.from = t }($$ || ($$ = {})), function (e) { function t(i) { return { text: i.newText, eol: i.newEol && _d.from(i.newEol), range: U.from(i.range) } } e.from = t; function s(i) { const n = new Br(U.to(i.range), i.text); return n.newEol = typeof i.eol > "u" ? void 0 : _d.to(i.eol), n } e.to = s }(di || (di = {})), function (e) { function t(i, n) { const r = { edits: [] }; if (i instanceof pl) { const o = new hu; for (const a of i._allEntries()) a._type === 1 && E.isUri(a.to) && a.from === void 0 && o.add(a.to); for (const a of i._allEntries()) if (a._type === 1) { let c; a.options?.contents && (ArrayBuffer.isView(a.options.contents) ? c = { type: "base64", value: op(O.wrap(a.options.contents)) } : c = { type: "dataTransferItem", id: a.options.contents._itemId }), r.edits.push({ oldResource: a.from, newResource: a.to, options: { ...a.options, contents: c }, metadata: a.metadata }) } else a._type === 2 ? r.edits.push({ resource: a.uri, textEdit: di.from(a.edit), versionId: o.has(a.uri) ? void 0 : n?.getTextDocumentVersion(a.uri), metadata: a.metadata }) : a._type === 6 ? r.edits.push({ resource: a.uri, textEdit: { range: U.from(a.range), text: a.edit.value, insertAsSnippet: !0 }, versionId: o.has(a.uri) ? void 0 : n?.getTextDocumentVersion(a.uri), metadata: a.metadata }) : a._type === 3 ? r.edits.push({ metadata: a.metadata, resource: a.uri, cellEdit: a.edit, notebookVersionId: n?.getNotebookDocumentVersion(a.uri) }) : a._type === 5 && r.edits.push({ metadata: a.metadata, resource: a.uri, notebookVersionId: n?.getNotebookDocumentVersion(a.uri), cellEdit: { editType: 1, index: a.index, count: a.count, cells: a.cells.map(Fl.from) } }) } return r } e.from = t; function s(i) { const n = new pl, r = new At; for (const o of i.edits) if (o.textEdit) { const a = o, c = E.revive(a.resource), l = U.to(a.textEdit.range), u = a.textEdit.text, h = a.textEdit.insertAsSnippet; let d; h ? d = Kg.replace(l, new na(u)) : d = Br.replace(l, u); const p = r.get(c); p ? p.push(d) : r.set(c, [d]) } else n.renameFile(E.revive(o.oldResource), E.revive(o.newResource), o.options); for (const [o, a] of r) n.set(o, a); return n } e.to = s }(S$ || (S$ = {})), function (e) { const t = Object.create(null); t[Be.File] = 0, t[Be.Module] = 1, t[Be.Namespace] = 2, t[Be.Package] = 3, t[Be.Class] = 4, t[Be.Method] = 5, t[Be.Property] = 6, t[Be.Field] = 7, t[Be.Constructor] = 8, t[Be.Enum] = 9, t[Be.Interface] = 10, t[Be.Function] = 11, t[Be.Variable] = 12, t[Be.Constant] = 13, t[Be.String] = 14, t[Be.Number] = 15, t[Be.Boolean] = 16, t[Be.Array] = 17, t[Be.Object] = 18, t[Be.Key] = 19, t[Be.Null] = 20, t[Be.EnumMember] = 21, t[Be.Struct] = 22, t[Be.Event] = 23, t[Be.Operator] = 24, t[Be.TypeParameter] = 25; function s(n) { return typeof t[n] == "number" ? t[n] : 6 } e.from = s; function i(n) { for (const r in t) if (t[r] === n) return Number(r); return Be.Property } e.to = i }(Mi || (Mi = {})), function (e) { function t(i) { switch (i) { case Sf.Deprecated: return 1 } } e.from = t; function s(i) { switch (i) { case 1: return Sf.Deprecated } } e.to = s }(nr || (nr = {})), function (e) { function t(i) { return { name: i.name, kind: Mi.from(i.kind), tags: i.tags && i.tags.map(nr.from), containerName: i.containerName, location: rr.from(i.location) } } e.from = t; function s(i) { const n = new Pf(i.name, Mi.to(i.kind), i.containerName, rr.to(i.location)); return n.tags = i.tags && i.tags.map(nr.to), n } e.to = s }(Ld || (Ld = {})), function (e) { function t(i) { const n = { name: i.name || "!!MISSING: name!!", detail: i.detail, range: U.from(i.range), selectionRange: U.from(i.selectionRange), kind: Mi.from(i.kind), tags: i.tags?.map(nr.from) ?? [] }; return i.children && (n.children = i.children.map(t)), n } e.from = t; function s(i) { const n = new If(i.name, i.detail, Mi.to(i.kind), U.to(i.range), U.to(i.selectionRange)); return uu(i.tags) && (n.tags = i.tags.map(nr.to)), i.children && (n.children = i.children.map(s)), n } e.to = s }(P$ || (P$ = {})), function (e) { function t(i) { const n = new t0(Mi.to(i.kind), i.name, i.detail || "", E.revive(i.uri), U.to(i.range), U.to(i.selectionRange)); return n._sessionId = i._sessionId, n._itemId = i._itemId, n } e.to = t; function s(i, n, r) { if (n = n ?? i._sessionId, r = r ?? i._itemId, n === void 0 || r === void 0) throw new Error("invalid item"); return { _sessionId: n, _itemId: r, name: i.name, detail: i.detail, kind: Mi.from(i.kind), uri: i.uri, range: U.from(i.range), selectionRange: U.from(i.selectionRange), tags: i.tags?.map(nr.from) } } e.from = s }(Ul || (Ul = {})), function (e) { function t(s) { return new RE(Ul.to(s.from), s.fromRanges.map(i => U.to(i))) } e.to = t }(I$ || (I$ = {})), function (e) { function t(s) { return new LE(Ul.to(s.to), s.fromRanges.map(i => U.to(i))) } e.to = t }(A$ || (A$ = {})), function (e) { function t(i) { return { range: i.range && U.from(i.range), uri: i.uri } } e.from = t; function s(i) { return new En(E.revive(i.uri), U.to(i.range)) } e.to = s }(rr || (rr = {})), function (e) { function t(i) { const n = i, r = i; return { originSelectionRange: n.originSelectionRange ? U.from(n.originSelectionRange) : void 0, uri: n.targetUri ? n.targetUri : r.uri, range: U.from(n.targetRange ? n.targetRange : r.range), targetSelectionRange: n.targetSelectionRange ? U.from(n.targetSelectionRange) : void 0 } } e.from = t; function s(i) { return { targetUri: E.revive(i.uri), targetRange: U.to(i.range), targetSelectionRange: i.targetSelectionRange ? U.to(i.targetSelectionRange) : void 0, originSelectionRange: i.originSelectionRange ? U.to(i.originSelectionRange) : void 0 } } e.to = s }(D$ || (D$ = {})), function (e) { function t(i) { return { range: U.from(i.range), contents: lt.fromMany(i.contents), canIncreaseVerbosity: i.canIncreaseVerbosity, canDecreaseVerbosity: i.canDecreaseVerbosity } } e.from = t; function s(i) { const n = i.contents.map(lt.to), r = U.to(i.range), o = i.canIncreaseVerbosity, a = i.canDecreaseVerbosity; return new Ef(n, r, o, a) } e.to = s }(R$ || (R$ = {})), function (e) { function t(i) { return { range: U.from(i.range), expression: i.expression } } e.from = t; function s(i) { return new qf(U.to(i.range), i.expression) } e.to = s }(L$ || (L$ = {})), function (e) { function t(i) { if (i instanceof Gf) return { type: "text", range: U.from(i.range), text: i.text }; if (i instanceof Jf) return { type: "variable", range: U.from(i.range), variableName: i.variableName, caseSensitiveLookup: i.caseSensitiveLookup }; if (i instanceof Yf) return { type: "expression", range: U.from(i.range), expression: i.expression }; throw new Error("Unknown 'InlineValue' type") } e.from = t; function s(i) { switch (i.type) { case "text": return { range: U.to(i.range), text: i.text }; case "variable": return { range: U.to(i.range), variableName: i.variableName, caseSensitiveLookup: i.caseSensitiveLookup }; case "expression": return { range: U.to(i.range), expression: i.expression } } } e.to = s }(N$ || (N$ = {})), function (e) { function t(i) { return { frameId: i.frameId, stoppedLocation: U.from(i.stoppedLocation) } } e.from = t; function s(i) { return new Xf(i.frameId, U.to(i.stoppedLocation)) } e.to = s }(O$ || (O$ = {})), function (e) { function t(i) { return { range: U.from(i.range), kind: i.kind } } e.from = t; function s(i) { return new kf(U.to(i.range), i.kind) } e.to = s }(Nd || (Nd = {})), function (e) { function t(i) { return { uri: i.uri, highlights: i.highlights.map(Nd.from) } } e.from = t; function s(i) { return new $f(E.revive(i.uri), i.highlights.map(Nd.to)) } e.to = s }(C$ || (C$ = {})), function (e) { function t(s) { switch (s) { case 1: return gl.TriggerCharacter; case 2: return gl.TriggerForIncompleteCompletions; case 0: default: return gl.Invoke } } e.to = t }(Lw || (Lw = {})), function (e) { function t(s) { return { triggerKind: Lw.to(s.triggerKind), triggerCharacter: s.triggerCharacter } } e.to = t }(_$ || (_$ = {})), function (e) { function t(i) { switch (i) { case Nf.Deprecated: return 1 } } e.from = t; function s(i) { switch (i) { case 1: return Nf.Deprecated } } e.to = s }(Nw || (Nw = {})), function (e) { const t = new Map([[Y.Method, 0], [Y.Function, 1], [Y.Constructor, 2], [Y.Field, 3], [Y.Variable, 4], [Y.Class, 5], [Y.Interface, 7], [Y.Struct, 6], [Y.Module, 8], [Y.Property, 9], [Y.Unit, 12], [Y.Value, 13], [Y.Constant, 14], [Y.Enum, 15], [Y.EnumMember, 16], [Y.Keyword, 17], [Y.Snippet, 27], [Y.Text, 18], [Y.Color, 19], [Y.File, 20], [Y.Reference, 21], [Y.Folder, 23], [Y.Event, 10], [Y.Operator, 11], [Y.TypeParameter, 24], [Y.Issue, 26], [Y.User, 25]]); function s(r) { return t.get(r) ?? 9 } e.from = s; const i = new Map([[0, Y.Method], [1, Y.Function], [2, Y.Constructor], [3, Y.Field], [4, Y.Variable], [5, Y.Class], [7, Y.Interface], [6, Y.Struct], [8, Y.Module], [9, Y.Property], [12, Y.Unit], [13, Y.Value], [14, Y.Constant], [15, Y.Enum], [16, Y.EnumMember], [17, Y.Keyword], [27, Y.Snippet], [18, Y.Text], [19, Y.Color], [20, Y.File], [21, Y.Reference], [23, Y.Folder], [10, Y.Event], [11, Y.Operator], [24, Y.TypeParameter], [25, Y.User], [26, Y.Issue]]); function n(r) { return i.get(r) ?? Y.Property } e.to = n }(Ow || (Ow = {})), function (e) { function t(s, i) { const n = new Of(s.label); return n.insertText = s.insertText, n.kind = Ow.to(s.kind), n.tags = s.tags?.map(Nw.to), n.detail = s.detail, n.documentation = jc(s.documentation) ? lt.to(s.documentation) : s.documentation, n.sortText = s.sortText, n.filterText = s.filterText, n.preselect = s.preselect, n.commitCharacters = s.commitCharacters, Ti.isIRange(s.range) ? n.range = U.to(s.range) : typeof s.range == "object" && (n.range = { inserting: U.to(s.range.insert), replacing: U.to(s.range.replace) }), n.keepWhitespace = typeof s.insertTextRules > "u" ? !1 : !!(s.insertTextRules & 1), typeof s.insertTextRules < "u" && s.insertTextRules & 4 ? n.insertText = new na(s.insertText) : (n.insertText = s.insertText, n.textEdit = n.range instanceof Ke ? new Br(n.range, n.insertText) : void 0), s.additionalTextEdits && s.additionalTextEdits.length > 0 && (n.additionalTextEdits = s.additionalTextEdits.map(r => di.to(r))), n.command = i && s.command ? i.fromInternal(s.command) : void 0, n } e.to = t }(j$ || (j$ = {})), function (e) { function t(i) { if (typeof i.label != "string" && !Array.isArray(i.label)) throw new TypeError("Invalid label"); return { label: i.label, documentation: lt.fromStrict(i.documentation) } } e.from = t; function s(i) { return { label: i.label, documentation: jc(i.documentation) ? lt.to(i.documentation) : i.documentation } } e.to = s }(Od || (Od = {})), function (e) { function t(i) { return { label: i.label, documentation: lt.fromStrict(i.documentation), parameters: Array.isArray(i.parameters) ? i.parameters.map(Od.from) : [], activeParameter: i.activeParameter } } e.from = t; function s(i) { return { label: i.label, documentation: jc(i.documentation) ? lt.to(i.documentation) : i.documentation, parameters: Array.isArray(i.parameters) ? i.parameters.map(Od.to) : [], activeParameter: i.activeParameter } } e.to = s }(Cd || (Cd = {})), function (e) { function t(i) { return { activeSignature: i.activeSignature, activeParameter: i.activeParameter, signatures: Array.isArray(i.signatures) ? i.signatures.map(Cd.from) : [] } } e.from = t; function s(i) { return { activeSignature: i.activeSignature, activeParameter: i.activeParameter, signatures: Array.isArray(i.signatures) ? i.signatures.map(Cd.to) : [] } } e.to = s }(T$ || (T$ = {})), function (e) { function t(s, i) { const n = new Lf($n.to(i.position), typeof i.label == "string" ? i.label : i.label.map(Cw.to.bind(void 0, s)), i.kind && _w.to(i.kind)); return n.textEdits = i.textEdits && i.textEdits.map(di.to), n.tooltip = jc(i.tooltip) ? lt.to(i.tooltip) : i.tooltip, n.paddingLeft = i.paddingLeft, n.paddingRight = i.paddingRight, n } e.to = t }(U$ || (U$ = {})), function (e) { function t(s, i) { const n = new Rf(i.label); return n.tooltip = jc(i.tooltip) ? lt.to(i.tooltip) : i.tooltip, aw.is(i.command) && (n.command = s.fromInternal(i.command)), i.location && (n.location = rr.to(i.location)), n } e.to = t }(Cw || (Cw = {})), function (e) { function t(i) { return i } e.from = t; function s(i) { return i } e.to = s }(_w || (_w = {})), function (e) { function t(i) { return { range: U.from(i.range), url: i.target, tooltip: i.tooltip } } e.from = t; function s(i) { let n; if (i.url) try { n = typeof i.url == "string" ? E.parse(i.url, !0) : E.revive(i.url) } catch { } const r = new Tf(U.to(i.range), n); return r.tooltip = i.tooltip, r } e.to = s }(M$ || (M$ = {})), function (e) { function t(i) { const n = new Uf(i.label); return i.textEdit && (n.textEdit = di.to(i.textEdit)), i.additionalTextEdits && (n.additionalTextEdits = i.additionalTextEdits.map(r => di.to(r))), n } e.to = t; function s(i) { return { label: i.label, textEdit: i.textEdit ? di.from(i.textEdit) : void 0, additionalTextEdits: i.additionalTextEdits ? i.additionalTextEdits.map(n => di.from(n)) : void 0 } } e.from = s }(F$ || (F$ = {})), function (e) { function t(i) { return new vl(i[0], i[1], i[2], i[3]) } e.to = t; function s(i) { return [i.red, i.green, i.blue, i.alpha] } e.from = s }(B$ || (B$ = {})), function (e) { function t(i) { return { range: U.from(i.range) } } e.from = t; function s(i) { return new Df(U.to(i.range)) } e.to = s }(H$ || (H$ = {})), function (e) { function t(s) { switch (s) { case 2: return wl.AfterDelay; case 1: return wl.Manual; case 3: case 4: return wl.FocusOut } } e.to = t }(z$ || (z$ = {})), function (e) { function t(i) { switch (i) { case _i.Off: return 0; case _i.Relative: return 2; case _i.Interval: return 3; case _i.On: default: return 1 } } e.from = t; function s(i) { switch (i) { case 0: return _i.Off; case 2: return _i.Relative; case 3: return _i.Interval; case 1: default: return _i.On } } e.to = s }(V$ || (V$ = {})), function (e) { function t(i) { if (i === ia.CRLF) return 1; if (i === ia.LF) return 0 } e.from = t; function s(i) { if (i === 1) return ia.CRLF; if (i === 0) return ia.LF } e.to = s }(_d || (_d = {})), function (e) { function t(s) { if (typeof s == "object") return s.viewId; switch (s) { case bl.SourceControl: return 3; case bl.Window: return 10; case bl.Notification: return 15 }throw new Error("Unknown 'ProgressLocation'") } e.from = t }(W$ || (W$ = {})), function (e) { function t(i) { const n = { start: i.start + 1, end: i.end + 1 }; return i.kind && (n.kind = jd.from(i.kind)), n } e.from = t; function s(i) { const n = { start: i.start - 1, end: i.end - 1 }; return i.kind && (n.kind = jd.to(i.kind)), n } e.to = s }(q$ || (q$ = {})), function (e) { function t(i) { if (i) switch (i) { case Qn.Comment: return Vr.Comment; case Qn.Imports: return Vr.Imports; case Qn.Region: return Vr.Region } } e.from = t; function s(i) { if (i) switch (i.value) { case Vr.Comment.value: return Qn.Comment; case Vr.Imports.value: return Qn.Imports; case Vr.Region.value: return Qn.Region } } e.to = s }(jd || (jd = {})), function (e) { function t(s) { if (s) return { pinned: typeof s.preview == "boolean" ? !s.preview : void 0, inactive: s.background, preserveFocus: s.preserveFocus, selection: typeof s.selection == "object" ? U.from(s.selection) : void 0, override: typeof s.override == "boolean" ? fk.id : void 0 } } e.from = t }(G$ || (G$ = {})), function (e) { function t(r) { return r instanceof ca ? r.toJSON() : typeof r == "string" ? r : s(r) || i(r) ? new ca(r.baseUri ?? r.base, r.pattern).toJSON() : r } e.from = t; function s(r) { const o = r; return o ? E.isUri(o.baseUri) && typeof o.pattern == "string" : !1 } function i(r) { const o = r; return o ? typeof o.base == "string" && typeof o.pattern == "string" : !1 } function n(r) { return typeof r == "string" ? r : new ca(E.revive(r.baseUri), r.pattern) } e.to = n }(Fi || (Fi = {})), function (e) { function t(s) { if (s) { if (Array.isArray(s)) return s.map(t); if (typeof s == "string") return s; { const i = s; return { language: i.language, scheme: i.scheme, pattern: Fi.from(i.pattern) ?? void 0, exclusive: i.exclusive, notebookType: i.notebookType } } } else return } e.from = t }(J$ || (J$ = {})), function (e) { function t(i) { return !!i && typeof i == "object" && "documents" in i && Array.isArray(i.documents) && i.documents.every(n => Array.isArray(n) && n.every(Ml.is)) } e.is = t; function s(i) { return { documents: i.documents.map(n => n.map(Ml.from)), conversation: i.conversation?.map(n => n.type === "request" ? { type: "request", message: n.message } : { type: "response", message: n.message, result: n.result ? Yd.from(n.result) : void 0, references: n.references?.map(Ml.from) }) } } e.from = s }(Y$ || (Y$ = {})), function (e) { function t(n) { return typeof n == "object" && n !== null && "uri" in n && E.isUri(n.uri) && "version" in n && typeof n.version == "number" && "ranges" in n && Array.isArray(n.ranges) && n.ranges.every(r => r instanceof Ke) } e.is = t; function s(n) { return { uri: n.uri, version: n.version, ranges: n.ranges.map(r => U.from(r)) } } e.from = s; function i(n) { return { uri: E.revive(n.uri), version: n.version, ranges: n.ranges.map(r => U.to(r)) } } e.to = i }(Ml || (Ml = {})), function (e) { function t(i) { return { start: i.start, end: i.end } } e.from = t; function s(i) { return new Hr(i.start, i.end) } e.to = s }(jw || (jw = {})), function (e) { function t(i) { return { timing: typeof i.runStartTime == "number" && typeof i.runEndTime == "number" ? { startTime: i.runStartTime, endTime: i.runEndTime } : void 0, executionOrder: i.executionOrder, success: i.lastRunSuccess } } e.to = t; function s(i) { return { lastRunSuccess: i.success, runStartTime: i.timing?.startTime, runEndTime: i.timing?.endTime, executionOrder: i.executionOrder } } e.from = s }(Td || (Td = {})), function (e) { function t(s) { if (s === ul.Unconfirmed) return Qf.Pending; if (s === ul.Pending) return; if (s === ul.Executing) return Qf.Executing; throw new Error(`Unknown state: ${s}`) } e.to = t }(X$ || (X$ = {})), function (e) { function t(i) { switch (i) { case ua.Markup: return sa.Markup; case ua.Code: default: return sa.Code } } e.from = t; function s(i) { switch (i) { case sa.Markup: return ua.Markup; case sa.Code: default: return ua.Code } } e.to = s }(Ud || (Ud = {})), function (e) { function t(i) { const n = { metadata: i.metadata ?? Object.create(null), cells: [] }; for (const r of i.cells) P0.validate(r), n.cells.push(Fl.from(r)); return n } e.from = t; function s(i) { const n = new w3(i.cells.map(Fl.to)); return $u(i.metadata) || (n.metadata = i.metadata), n } e.to = s }(Q$ || (Q$ = {})), function (e) { function t(i) { return { cellKind: Ud.from(i.kind), language: i.languageId, mime: i.mime, source: i.value, metadata: i.metadata, internalMetadata: Td.from(i.executionSummary ?? {}), outputs: i.outputs ? i.outputs.map(Fd.from) : [] } } e.from = t; function s(i) { return new P0(Ud.to(i.cellKind), i.source, i.language, i.mime, i.outputs ? i.outputs.map(Fd.to) : void 0, i.metadata, i.internalMetadata ? Td.to(i.internalMetadata) : void 0) } e.to = s }(Fl || (Fl = {})), function (e) { function t(i) { return { mime: i.mime, valueBytes: O.wrap(i.data) } } e.from = t; function s(i) { return new v3(i.valueBytes.buffer, i.mime) } e.to = s }(Md || (Md = {})), function (e) { function t(i) { return { outputId: i.id, items: i.items.map(Md.from), metadata: i.metadata } } e.from = t; function s(i) { const n = i.items.map(Md.to); return new b3(n, i.outputId, i.metadata) } e.to = s }(Fd || (Fd = {})), function (e) { function t(n) { return i(n) ? { include: Fi.from(n.include) ?? void 0, exclude: Fi.from(n.exclude) ?? void 0 } : Fi.from(n) ?? void 0 } e.from = t; function s(n) { return i(n) ? { include: Fi.to(n.include), exclude: Fi.to(n.exclude) } : Fi.to(n) } e.to = s; function i(n) { const r = n; return r ? !xt(r.include) && !xt(r.exclude) : !1 } }(Z$ || (Z$ = {})), function (e) { function t(s, i, n) { const r = typeof s.command == "string" ? { title: "", command: s.command } : s.command; return { alignment: s.alignment === I0.Left ? 1 : 2, command: i.toInternal(r, n), text: s.text, tooltip: s.tooltip, accessibilityInformation: s.accessibilityInformation, priority: s.priority } } e.from = t }(K$ || (K$ = {})), function (e) { function t(s, i, n) { const r = typeof s.command == "string" ? { title: "", command: s.command } : s.command; return { command: i.toInternal(r, n), label: s.label, description: s.description, detail: s.detail, documentation: s.documentation } } e.from = t }(eS || (eS = {})), function (e) { function t(s) { return { transientOutputs: s?.transientOutputs ?? !1, transientCellMetadata: s?.transientCellMetadata ?? {}, transientDocumentMetadata: s?.transientDocumentMetadata ?? {}, cellContentMetadata: s?.cellContentMetadata ?? {} } } e.from = t }(tS || (tS = {})), function (e) { function t(i) { return { uri: i.uri, provides: i.provides } } e.from = t; function s(i) { return new k3(E.revive(i.uri), i.provides) } e.to = s }(sS || (sS = {})), function (e) { function t(i) { return { message: lt.fromStrict(i.message) || "", type: 0, expected: i.expectedOutput, actual: i.actualOutput, contextValue: i.contextValue, location: i.location && { range: U.from(i.location.range), uri: i.location.uri }, stackTrace: i.stackTrace?.map(n => ({ label: n.label, position: n.position && $n.from(n.position), uri: n.uri && E.revive(n.uri).toJSON() })) } } e.from = t; function s(i) { const n = new Zf(typeof i.message == "string" ? i.message : lt.to(i.message)); return n.actualOutput = i.actual, n.expectedOutput = i.expected, n.contextValue = i.contextValue, n.location = i.location ? rr.to(i.location) : void 0, n } e.to = s }(Tw || (Tw = {})), function (e) { e.namespace = qk, e.denamespace = Gk }(or || (or = {})), function (e) { function t(s) { return { controllerId: s.controllerId, profileId: s.profileId, group: Mw.from(s.kind) } } e.from = t }(Uw || (Uw = {})), function (e) { const t = { [xl.Coverage]: 8, [xl.Debug]: 4, [xl.Run]: 2 }; function s(i) { return t.hasOwnProperty(i) ? t[i] : 2 } e.from = s }(Mw || (Mw = {})), function (e) { function t(i) { const n = Iw(i).controllerId; return { extId: $a.fromExtHostTestItem(i, n).toString(), label: i.label, uri: E.revive(i.uri), busy: i.busy, tags: i.tags.map(r => or.namespace(n, r.id)), range: Ti.lift(U.from(i.range)), description: i.description || null, sortText: i.sortText || null, error: i.error && lt.fromStrict(i.error) || null } } e.from = t; function s(i) { return { parent: void 0, error: void 0, id: $a.fromString(i.extId).localId, label: i.label, uri: E.revive(i.uri), tags: (i.tags || []).map(n => { const { tagId: r } = or.denamespace(n); return new kl(r) }), children: { add: () => { }, delete: () => { }, forEach: () => { }, *[Symbol.iterator]() { }, get: () => { }, replace: () => { }, size: 0 }, range: U.to(i.range || void 0), canResolveChildren: !1, busy: i.busy, description: i.description || void 0, sortText: i.sortText || void 0 } } e.toPlain = s }(Bd || (Bd = {})), function (e) { function t(i) { return { id: i.id } } e.from = t; function s(i) { return new kl(i.id) } e.to = s }(or || (or = {})), function (e) { const t = (i, n) => { const r = i.value; if (!r) return; const o = { ...Bd.toPlain(r.item), parent: n, taskStates: r.tasks.map(a => ({ state: a.state, duration: a.duration, messages: a.messages.filter(c => c.type === 0).map(Tw.to) })), children: [] }; if (i.children) for (const a of i.children.values()) { const c = t(a, o); c && o.children.push(c) } return o }; function s(i) { const n = new Cx; for (const a of i.items) n.insert($a.fromString(a.item.extId).path, a); const r = [n.nodes], o = []; for (; r.length;)for (const a of r.pop()) a.value ? o.push(a) : a.children && r.push(a.children.values()); return { completedAt: i.completedAt, results: o.map(a => t(a)).filter(JA) } } e.to = s }(iS || (iS = {})), function (e) { function t(a) { return { covered: a.covered, total: a.total } } function s(a) { return "line" in a ? $n.from(a) : U.from(a) } function i(a) { if (a) return "endLineNumber" in a ? U.to(a) : $n.to(a) } function n(a) { if (a.type === 1) { const c = []; if (a.branches) for (const l of a.branches) c.push({ executed: l.count, location: i(l.location), label: l.label }); return new R3(a.count, i(a.location), a.branches?.map(l => new L3(l.count, i(l.location), l.label))) } else return new N3(a.name, a.count, i(a.location)) } e.to = n; function r(a) { if (typeof a.executed == "number" && a.executed < 0) throw new Error(`Invalid coverage count ${a.executed}`); return "branches" in a ? { count: a.executed, location: s(a.location), type: 1, branches: a.branches.length ? a.branches.map(c => ({ count: c.executed, location: c.location && s(c.location), label: c.label })) : void 0 } : { type: 0, name: a.name, count: a.executed, location: s(a.location) } } e.fromDetails = r; function o(a, c, l) { return gf(l.statementCoverage), gf(l.branchCoverage), gf(l.declarationCoverage), { id: c, uri: l.uri, statement: t(l.statementCoverage), branch: l.branchCoverage && t(l.branchCoverage), declaration: l.declarationCoverage && t(l.declarationCoverage), testIds: l instanceof D3 && l.includesTests.length ? l.includesTests.map(u => $a.fromExtHostTestItem(u, a).toString()) : void 0 } } e.fromFile = o }(nS || (nS = {})), function (e) { function t(s) { switch (s) { case 1: return Af.Invoke; case 2: return Af.Automatic } } e.to = t }(rS || (rS = {})), function (e) { function t(i) { const n = new R0(Mi.to(i.kind), i.name, i.detail || "", E.revive(i.uri), U.to(i.range), U.to(i.selectionRange)); return n._sessionId = i._sessionId, n._itemId = i._itemId, n } e.to = t; function s(i, n, r) { if (n = n ?? i._sessionId, r = r ?? i._itemId, n === void 0 || r === void 0) throw new Error("invalid item"); return { _sessionId: n, _itemId: r, kind: Mi.from(i.kind), name: i.name, detail: i.detail ?? "", uri: i.uri, range: U.from(i.range), selectionRange: U.from(i.selectionRange), tags: i.tags?.map(nr.from) } } e.from = s }(Fw || (Fw = {})), function (e) { function t(s) { if (s) return { value: s.value, tooltip: s.tooltip } } e.from = t }(oS || (oS = {})), function (e) { function t(r, o, a) { const c = o.fileData; return c ? new XE(new QE(c.name, E.revive(c.uri), c.id, cu(() => a(c.id)))) : r === Ni.uriList && o.uriListData ? new Vf(n(o.uriListData)) : new Vf(o.asString) } e.to = t; async function s(r, o) { const a = await o.asString(); if (r === Ni.uriList) return { asString: a, fileData: void 0, uriListData: i(a) }; const c = o.asFile(); return { asString: a, fileData: c ? { name: c.name, uri: c.uri, id: c._itemId ?? c.id } : void 0 } } e.from = s; function i(r) { return ed.split(r).map(o => { if (o.startsWith("#")) return o; try { return E.parse(o) } catch { } return o }) } function n(r) { return ed.create(r.map(o => typeof o == "string" ? o : E.revive(o))) } }(Hd || (Hd = {})), function (e) { function t(i, n) { const r = i.items.map(([o, a]) => [o, Hd.to(o, a, n)]); return new Wf(r) } e.toDataTransfer = t; async function s(i) { const n = { items: [] }, r = []; for (const [o, a] of i) r.push((async () => { n.items.push([o, await Hd.from(o, a)]) })()); return await Promise.all(r), n } e.from = s }(aS || (aS = {})), function (e) { function t(i, n) { return { kind: "reply", agentId: i.participant ?? n?.agentId ?? "", subCommand: i.command ?? n?.command, message: i.prompt, title: i.label } } e.from = t; function s(i) { return { prompt: i.message, label: i.title, participant: i.agentId, command: i.subCommand } } e.to = s }(Bw || (Bw = {})), function (e) { function t(i) { switch (i) { case 0: return ji.System; case 1: return ji.User; case 2: return ji.Assistant } } e.to = t; function s(i) { switch (i) { case ji.System: return 0; case ji.User: return 1; case ji.Assistant: return 2 }return 1 } e.from = s }(zd || (zd = {})), function (e) { function t(i) { const n = i.content.map(a => { if (a.type === "text") return new Xs(a.value); if (a.type === "tool_result") { const c = a.value.map(l => l.type === "text" ? new Xs(l.value) : new da(l.value)); return new z0(a.toolCallId, c, a.isError) } else return new V0(a.toolCallId, a.name, a.parameters) }), r = zd.to(i.role); return new W3(r, n, i.name) } e.to = t; function s(i) { const n = zd.from(i.role), r = i.name; let o = i.content; typeof o == "string" && (o = [new Xs(o)]); const a = o.map(c => { if (c instanceof z0) return { type: "tool_result", toolCallId: c.callId, value: yi(c.content.map(l => l instanceof Xs ? { type: "text", value: l.value } : l instanceof da ? { type: "prompt_tsx", value: l.value } : void 0)), isError: c.isError }; if (c instanceof V0) return { type: "tool_use", toolCallId: c.callId, name: c.name, parameters: c.input }; if (c instanceof Xs) return { type: "text", value: c.value }; if (typeof c != "string") throw new Error("Unexpected chat message content type"); return { type: "text", value: c } }); return { role: n, name: r, content: a } } e.from = s }(cS || (cS = {})), function (e) { function t(i) { return { kind: "markdownContent", content: lt.from(i.value) } } e.from = t; function s(i) { return new L0(lt.to(i.content)) } e.to = s }(Vd || (Vd = {})), function (e) { function t(i) { return { kind: "codeblockUri", uri: i.value } } e.from = t; function s(i) { return new F0(E.revive(i.uri)) } e.to = s }(Hw || (Hw = {})), function (e) { function t(i) { return { kind: "markdownVuln", content: lt.from(i.value), vulnerabilities: i.vulnerabilities } } e.from = t; function s(i) { return new N0(lt.to(i.content), i.vulnerabilities) } e.to = s }(zw || (zw = {})), function (e) { function t(i) { return { kind: "agentDetection", agentId: i.participant, command: i.command } } e.from = t; function s(i) { return new O0(i.agentId, i.command) } e.to = s }(Vw || (Vw = {})), function (e) { function t(s) { return { kind: "confirmation", title: s.title, message: s.message, data: s.data, buttons: s.buttons } } e.from = t }(Ww || (Ww = {})), function (e) { function t(i) { const { value: n, baseUri: r } = i; function o(a, c) { return a.map(l => { const u = E.joinPath(c, l.name); return { label: l.name, uri: u, children: l.children && o(l.children, u) } }) } return { kind: "treeData", treeData: { label: Tn(r), uri: r, children: o(n, r) } } } e.from = t; function s(i) { const n = Ws(i.treeData); function r(c) { return c.map(l => ({ name: l.label, children: l.children && r(l.children) })) } const o = n.uri, a = n.children ? r(n.children) : []; return new C0(a, o) } e.to = s }(Wd || (Wd = {})), function (e) { function t(i) { const n = o => E.isUri(o), r = o => "name" in o; return { kind: "inlineReference", name: i.title, inlineReference: n(i.value) ? i.value : r(i.value) ? Ld.from(i.value) : ir.from(i.value) } } e.from = t; function s(i) { const n = Ws(i); return new _0(E.isUri(n.inlineReference) ? n.inlineReference : "location" in n.inlineReference ? Ld.to(n.inlineReference) : ir.to(n.inlineReference), i.name) } e.to = s }(qd || (qd = {})), function (e) { function t(i) { return { kind: "progressMessage", content: lt.from(i.value) } } e.from = t; function s(i) { return new j0(i.content.value) } e.to = s }(qw || (qw = {})), function (e) { function t(i) { return { kind: "warning", content: lt.from(i.value) } } e.from = t; function s(i) { return new T0(i.content.value) } e.to = s }(Gw || (Gw = {})), function (e) { function t(i) { return { kind: "move", uri: i.uri, range: U.from(i.range) } } e.from = t; function s(i) { return new B0(E.revive(i.uri), U.to(i.range)) } e.to = s }(Jw || (Jw = {})), function (e) { function t(s) { return { kind: "progressTask", content: lt.from(s.value) } } e.from = t }(lS || (lS = {})), function (e) { function t(s) { return { kind: "progressTaskResult", content: typeof s == "string" ? lt.from(s) : void 0 } } e.from = t }(uS || (uS = {})), function (e) { function t(i, n, r) { return { kind: "command", command: n.toInternal(i.value, r) ?? { command: i.value.command, title: i.value.title } } } e.from = t; function s(i, n) { return new U0(n.fromInternal(i.command) ?? { command: i.command.id, title: i.command.title }) } e.to = s }(Gd || (Gd = {})), function (e) { function t(i) { return { kind: "textEdit", uri: i.uri, edits: i.edits.map(n => di.from(n)), done: i.isDone } } e.from = t; function s(i) { const n = new H0(E.revive(i.uri), i.edits.map(r => di.to(r))); return n.isDone = i.done, n } e.to = s }(Yw || (Yw = {})), function (e) { function t(i) { const n = zn.isThemeIcon(i.iconPath) ? i.iconPath : E.isUri(i.iconPath) ? { light: E.revive(i.iconPath) } : i.iconPath && "light" in i.iconPath && "dark" in i.iconPath && E.isUri(i.iconPath.light) && E.isUri(i.iconPath.dark) ? { light: E.revive(i.iconPath.light), dark: E.revive(i.iconPath.dark) } : void 0; return typeof i.value == "object" && "variableName" in i.value ? { kind: "reference", reference: { variableName: i.value.variableName, value: E.isUri(i.value.value) || !i.value.value ? i.value.value : ir.from(i.value.value) }, iconPath: n, options: i.options } : { kind: "reference", reference: E.isUri(i.value) || typeof i.value == "string" ? i.value : ir.from(i.value), iconPath: n, options: i.options } } e.from = t; function s(i) { const n = Ws(i), r = o => E.isUri(o) ? o : ir.to(o); return new M0(typeof n.reference == "string" ? n.reference : "variableName" in n.reference ? { variableName: n.reference.variableName, value: n.reference.value && r(n.reference.value) } : r(n.reference)) } e.to = s }(Jd || (Jd = {})), function (e) { function t(s) { return { kind: "codeCitation", value: s.value, license: s.license, snippet: s.snippet } } e.from = t }(Xw || (Xw = {})), function (e) { function t(n, r, o) { return n instanceof L0 ? Vd.from(n) : n instanceof _0 ? qd.from(n) : n instanceof M0 ? Jd.from(n) : n instanceof j0 ? qw.from(n) : n instanceof C0 ? Wd.from(n) : n instanceof U0 ? Gd.from(n, r, o) : n instanceof H0 ? Yw.from(n) : n instanceof N0 ? zw.from(n) : n instanceof F0 ? Hw.from(n) : n instanceof O0 ? Vw.from(n) : n instanceof T0 ? Gw.from(n) : n instanceof B3 ? Ww.from(n) : n instanceof H3 ? Xw.from(n) : n instanceof B0 ? Jw.from(n) : { kind: "markdownContent", content: lt.from("") } } e.from = t; function s(n, r) { switch (n.kind) { case "reference": return Jd.to(n); case "markdownContent": case "inlineReference": case "progressMessage": case "treeData": case "command": return i(n, r) } } e.to = s; function i(n, r) { switch (n.kind) { case "markdownContent": return Vd.to(n); case "inlineReference": return qd.to(n); case "progressMessage": return; case "treeData": return Wd.to(n); case "command": return Gd.to(n, r) } } e.toContent = i }(hS || (hS = {})), function (e) { function t(s, i, n) { const r = s.variables.variables.filter(a => a.isTool), o = s.variables.variables.filter(a => !a.isTool); return { prompt: s.message, command: s.command, attempt: s.attempt ?? 0, enableCommandDetection: s.enableCommandDetection ?? !0, isParticipantDetected: s.isParticipantDetected ?? !1, references: o.map(Zw.to), toolReferences: r.map(Kw.to), location: Qw.to(s.location), acceptedConfirmationData: s.acceptedConfirmationData, rejectedConfirmationData: s.rejectedConfirmationData, location2: i, toolInvocationToken: Object.freeze({ sessionId: s.sessionId }), model: n } } e.to = t }(fS || (fS = {})), function (e) { function t(s) { return { prompt: s.prompt, files: s.files.map(i => E.revive(i)) } } e.to = t }(dS || (dS = {})), function (e) { function t(i) { switch (i) { case bs.Notebook: return Ys.Notebook; case bs.Terminal: return Ys.Terminal; case bs.Panel: return Ys.Panel; case bs.Editor: return Ys.Editor; case bs.EditingSession: return Ys.EditingSession } } e.to = t; function s(i) { switch (i) { case Ys.Notebook: return bs.Notebook; case Ys.Terminal: return bs.Terminal; case Ys.Panel: return bs.Panel; case Ys.Editor: return bs.Editor; case Ys.EditingSession: return bs.EditingSession } } e.from = s }(Qw || (Qw = {})), function (e) { function t(s) { const i = s.value; if (!i) throw new Error("Invalid value reference"); return { id: s.id, name: s.name, range: s.range && [s.range.start, s.range.endExclusive], value: oy(i) ? E.revive(i) : i && typeof i == "object" && "uri" in i && "range" in i && oy(i.uri) ? ir.to(Ws(i)) : s.isImage ? new V3(s.mimeType ?? "image/png", () => Promise.resolve(new Uint8Array(Object.values(i)))) : i, modelDescription: s.modelDescription } } e.to = t }(Zw || (Zw = {})), function (e) { function t(s) { if (s.value) throw new Error("Invalid tool reference"); return { name: s.id, range: s.range && [s.range.start, s.range.endExclusive] } } e.to = t }(Kw || (Kw = {})), function (e) { function t(s, i, n) { return { id: s.id, label: s.label, fullName: s.fullName, icon: s.icon?.id, value: s.values[0].value, insertText: s.insertText, detail: s.detail, documentation: s.documentation, command: i.toInternal(s.command, n) } } e.from = t }(pS || (pS = {})), function (e) { function t(n) { return { errorDetails: n.errorDetails, metadata: i(n.metadata), nextQuestion: n.nextQuestion } } e.to = t; function s(n) { return { errorDetails: n.errorDetails, metadata: n.metadata, nextQuestion: n.nextQuestion } } e.from = s; function i(n) { return un(n, r => { if (r.$mid === 20) return new W0(un(r.content, i)); if (r.$mid === 21) return new Xs(r.value); if (r.$mid === 22) return new da(r.value) }) } }(Yd || (Yd = {})), function (e) { function t(s, i, n) { if (i.action.kind === "vote") return; const r = Yd.to(s); if (i.action.kind === "command") { const o = i.action.commandButton.command; return { action: { kind: "command", commandButton: { command: n.fromInternal(o) ?? { command: o.id, title: o.title } } }, result: r } } else return i.action.kind === "followUp" ? { action: { kind: "followUp", followup: Bw.to(i.action.followup) }, result: r } : i.action.kind === "inlineChat" ? { action: { kind: "editor", accepted: i.action.action === "accepted" }, result: r } : i.action.kind === "chatEditingSessionAction" ? { action: { kind: "chatEditingSessionAction", outcome: new Map([["accepted", fa.Accepted], ["rejected", fa.Rejected], ["saved", fa.Saved]]).get(i.action.outcome) ?? fa.Rejected, uri: E.revive(i.action.uri), hasRemainingEdits: i.action.hasRemainingEdits }, result: r } : { action: i.action, result: r } } e.to = t }(mS || (mS = {})), function (e) { function t(s, i, n) { return "terminalCommand" in s ? { terminalCommand: s.terminalCommand, shouldExecute: s.shouldExecute } : "uri" in s ? { uri: s.uri } : i.toInternal(s, n) } e.from = t }(gS || (gS = {})), function (e) { function t(s) { return { kind: ev.to(s.kind) } } e.to = t }(wS || (wS = {})), function (e) { function t(s) { switch (s) { case 0: return oa.Word; case 1: return oa.Line; case 2: return oa.Suggest; default: return oa.Unknown } } e.to = t }(ev || (ev = {})), function (e) { function t(s, i) { return { id: i, label: s.label, description: s.description, canEdit: s.canEdit, collapsibleState: s.collapsibleState || 0, contextValue: s.contextValue } } e.from = t }(vS || (vS = {})), function (e) { function t(s) { return { name: s.id, description: s.modelDescription, inputSchema: s.inputSchema, tags: s.tags ?? [] } } e.to = t }(bS || (bS = {})), function (e) { function t(i) { return new W0(i.content.map(n => n.kind === "text" ? new Xs(n.value) : new da(n.value))) } e.to = t; function s(i) { return { content: i.content.map(n => { if (n instanceof Xs) return { kind: "text", value: n.value }; if (n instanceof da) return { kind: "promptTsx", value: n.value }; throw new Error("Unknown LanguageModelToolResult part type") }) } } e.from = s }(yS || (yS = {}))
  554. }
  555. }); function S(e) { const t = new xS(e); return kS[t.nid] = t, t } var xS, kS, $S, SS = v({ "out-build/vs/workbench/services/extensions/common/proxyIdentifier.js"() { "use strict"; xS = class TI { static { this.count = 0 } constructor(t) { this._proxyIdentifierBrand = void 0, this.sid = t, this.nid = ++TI.count } }, kS = [], $S = class { constructor(e) { this.value = e } } } }), PS, IS, AS, DS, RS, LS, NS, OS, HT, CS, _S, jS, tv, zT, VT = v({ "out-build/vs/workbench/api/common/extHost.protocol.js"() { "use strict"; SS(), function (e) { e[e.Default = 0] = "Default", e[e.InCenter = 1] = "InCenter", e[e.InCenterIfOutsideViewport = 2] = "InCenterIfOutsideViewport", e[e.AtTop = 3] = "AtTop" }(PS || (PS = {})), function (e) { e[e.UnknownInput = 0] = "UnknownInput", e[e.TextInput = 1] = "TextInput", e[e.TextDiffInput = 2] = "TextDiffInput", e[e.TextMergeInput = 3] = "TextMergeInput", e[e.NotebookInput = 4] = "NotebookInput", e[e.NotebookDiffInput = 5] = "NotebookDiffInput", e[e.CustomEditorInput = 6] = "CustomEditorInput", e[e.WebviewEditorInput = 7] = "WebviewEditorInput", e[e.TerminalEditorInput = 8] = "TerminalEditorInput", e[e.InteractiveEditorInput = 9] = "InteractiveEditorInput", e[e.ChatEditorInput = 10] = "ChatEditorInput", e[e.MultiDiffEditorInput = 11] = "MultiDiffEditorInput" }(IS || (IS = {})), function (e) { e[e.TAB_OPEN = 0] = "TAB_OPEN", e[e.TAB_CLOSE = 1] = "TAB_CLOSE", e[e.TAB_UPDATE = 2] = "TAB_UPDATE", e[e.TAB_MOVE = 3] = "TAB_MOVE" }(AS || (AS = {})), function (e) { e[e.Editable = 0] = "Editable", e[e.SupportsHotExit = 1] = "SupportsHotExit" }(DS || (DS = {})), function (e) { e[e.Int8Array = 1] = "Int8Array", e[e.Uint8Array = 2] = "Uint8Array", e[e.Uint8ClampedArray = 3] = "Uint8ClampedArray", e[e.Int16Array = 4] = "Int16Array", e[e.Uint16Array = 5] = "Uint16Array", e[e.Int32Array = 6] = "Int32Array", e[e.Uint32Array = 7] = "Uint32Array", e[e.Float32Array = 8] = "Float32Array", e[e.Float64Array = 9] = "Float64Array", e[e.BigInt64Array = 10] = "BigInt64Array", e[e.BigUint64Array = 11] = "BigUint64Array" }(RS || (RS = {})), function (e) { e[e.Text = 1] = "Text", e[e.Error = 2] = "Error", e[e.Rich = 3] = "Rich" }(LS || (LS = {})), function (e) { e[e.Default = 0] = "Default", e[e.InCenter = 1] = "InCenter", e[e.InCenterIfOutsideViewport = 2] = "InCenterIfOutsideViewport", e[e.AtTop = 3] = "AtTop" }(NS || (NS = {})), function (e) { e[e.None = 0] = "None", e[e.Process = 1] = "Process", e[e.Output = 2] = "Output", e[e.Hybrid = 3] = "Hybrid" }(OS || (OS = {})), HT = class UI { static { this.a = 0 } static mixin(t) { return t._id = UI.a++, t } }, function (e) { e.label = "a", e.kind = "b", e.detail = "c", e.documentation = "d", e.sortText = "e", e.filterText = "f", e.preselect = "g", e.insertText = "h", e.insertTextRules = "i", e.range = "j", e.commitCharacters = "k", e.additionalTextEdits = "l", e.kindModifier = "m", e.commandIdent = "n", e.commandId = "o", e.commandArguments = "p" }(CS || (CS = {})), function (e) { e.defaultRanges = "a", e.completions = "b", e.isIncomplete = "c", e.duration = "d" }(_S || (_S = {})), function (e) { e[e.Workspace = 0] = "Workspace", e[e.TextDocument = 1] = "TextDocument" }(jS || (jS = {})), tv = { MainThreadAuthentication: S("MainThreadAuthentication"), MainThreadBulkEdits: S("MainThreadBulkEdits"), MainThreadLanguageModels: S("MainThreadLanguageModels"), MainThreadEmbeddings: S("MainThreadEmbeddings"), MainThreadChatAgents2: S("MainThreadChatAgents2"), MainThreadCodeMapper: S("MainThreadCodeMapper"), MainThreadChatVariables: S("MainThreadChatVariables"), MainThreadLanguageModelTools: S("MainThreadChatSkills"), MainThreadClipboard: S("MainThreadClipboard"), MainThreadCommands: S("MainThreadCommands"), MainThreadComments: S("MainThreadComments"), MainThreadConfiguration: S("MainThreadConfiguration"), MainThreadConsole: S("MainThreadConsole"), MainThreadDebugService: S("MainThreadDebugService"), MainThreadDecorations: S("MainThreadDecorations"), MainThreadDiagnostics: S("MainThreadDiagnostics"), MainThreadDialogs: S("MainThreadDiaglogs"), MainThreadDocuments: S("MainThreadDocuments"), MainThreadDocumentContentProviders: S("MainThreadDocumentContentProviders"), MainThreadTextEditors: S("MainThreadTextEditors"), MainThreadEditorInsets: S("MainThreadEditorInsets"), MainThreadEditorTabs: S("MainThreadEditorTabs"), MainThreadErrors: S("MainThreadErrors"), MainThreadTreeViews: S("MainThreadTreeViews"), MainThreadDownloadService: S("MainThreadDownloadService"), MainThreadLanguageFeatures: S("MainThreadLanguageFeatures"), MainThreadLanguages: S("MainThreadLanguages"), MainThreadLogger: S("MainThreadLogger"), MainThreadMessageService: S("MainThreadMessageService"), MainThreadOutputService: S("MainThreadOutputService"), MainThreadProgress: S("MainThreadProgress"), MainThreadQuickDiff: S("MainThreadQuickDiff"), MainThreadQuickOpen: S("MainThreadQuickOpen"), MainThreadStatusBar: S("MainThreadStatusBar"), MainThreadSecretState: S("MainThreadSecretState"), MainThreadStorage: S("MainThreadStorage"), MainThreadSpeech: S("MainThreadSpeechProvider"), MainThreadTelemetry: S("MainThreadTelemetry"), MainThreadTerminalService: S("MainThreadTerminalService"), MainThreadTerminalShellIntegration: S("MainThreadTerminalShellIntegration"), MainThreadWebviews: S("MainThreadWebviews"), MainThreadWebviewPanels: S("MainThreadWebviewPanels"), MainThreadWebviewViews: S("MainThreadWebviewViews"), MainThreadCustomEditors: S("MainThreadCustomEditors"), MainThreadUrls: S("MainThreadUrls"), MainThreadUriOpeners: S("MainThreadUriOpeners"), MainThreadProfileContentHandlers: S("MainThreadProfileContentHandlers"), MainThreadWorkspace: S("MainThreadWorkspace"), MainThreadFileSystem: S("MainThreadFileSystem"), MainThreadFileSystemEventService: S("MainThreadFileSystemEventService"), MainThreadExtensionService: S("MainThreadExtensionService"), MainThreadSCM: S("MainThreadSCM"), MainThreadSearch: S("MainThreadSearch"), MainThreadShare: S("MainThreadShare"), MainThreadTask: S("MainThreadTask"), MainThreadWindow: S("MainThreadWindow"), MainThreadLabelService: S("MainThreadLabelService"), MainThreadNotebook: S("MainThreadNotebook"), MainThreadNotebookDocuments: S("MainThreadNotebookDocumentsShape"), MainThreadNotebookEditors: S("MainThreadNotebookEditorsShape"), MainThreadNotebookKernels: S("MainThreadNotebookKernels"), MainThreadNotebookRenderers: S("MainThreadNotebookRenderers"), MainThreadInteractive: S("MainThreadInteractive"), MainThreadTheming: S("MainThreadTheming"), MainThreadTunnelService: S("MainThreadTunnelService"), MainThreadManagedSockets: S("MainThreadManagedSockets"), MainThreadTimeline: S("MainThreadTimeline"), MainThreadTesting: S("MainThreadTesting"), MainThreadLocalization: S("MainThreadLocalizationShape"), MainThreadAiRelatedInformation: S("MainThreadAiRelatedInformation"), MainThreadAiEmbeddingVector: S("MainThreadAiEmbeddingVector") }, zT = { ExtHostCodeMapper: S("ExtHostCodeMapper"), ExtHostCommands: S("ExtHostCommands"), ExtHostConfiguration: S("ExtHostConfiguration"), ExtHostDiagnostics: S("ExtHostDiagnostics"), ExtHostDebugService: S("ExtHostDebugService"), ExtHostDecorations: S("ExtHostDecorations"), ExtHostDocumentsAndEditors: S("ExtHostDocumentsAndEditors"), ExtHostDocuments: S("ExtHostDocuments"), ExtHostDocumentContentProviders: S("ExtHostDocumentContentProviders"), ExtHostDocumentSaveParticipant: S("ExtHostDocumentSaveParticipant"), ExtHostEditors: S("ExtHostEditors"), ExtHostTreeViews: S("ExtHostTreeViews"), ExtHostFileSystem: S("ExtHostFileSystem"), ExtHostFileSystemInfo: S("ExtHostFileSystemInfo"), ExtHostFileSystemEventService: S("ExtHostFileSystemEventService"), ExtHostLanguages: S("ExtHostLanguages"), ExtHostLanguageFeatures: S("ExtHostLanguageFeatures"), ExtHostQuickOpen: S("ExtHostQuickOpen"), ExtHostQuickDiff: S("ExtHostQuickDiff"), ExtHostStatusBar: S("ExtHostStatusBar"), ExtHostShare: S("ExtHostShare"), ExtHostExtensionService: S("ExtHostExtensionService"), ExtHostLogLevelServiceShape: S("ExtHostLogLevelServiceShape"), ExtHostTerminalService: S("ExtHostTerminalService"), ExtHostTerminalShellIntegration: S("ExtHostTerminalShellIntegration"), ExtHostSCM: S("ExtHostSCM"), ExtHostSearch: S("ExtHostSearch"), ExtHostTask: S("ExtHostTask"), ExtHostWorkspace: S("ExtHostWorkspace"), ExtHostWindow: S("ExtHostWindow"), ExtHostWebviews: S("ExtHostWebviews"), ExtHostWebviewPanels: S("ExtHostWebviewPanels"), ExtHostCustomEditors: S("ExtHostCustomEditors"), ExtHostWebviewViews: S("ExtHostWebviewViews"), ExtHostEditorInsets: S("ExtHostEditorInsets"), ExtHostEditorTabs: S("ExtHostEditorTabs"), ExtHostProgress: S("ExtHostProgress"), ExtHostComments: S("ExtHostComments"), ExtHostSecretState: S("ExtHostSecretState"), ExtHostStorage: S("ExtHostStorage"), ExtHostUrls: S("ExtHostUrls"), ExtHostUriOpeners: S("ExtHostUriOpeners"), ExtHostProfileContentHandlers: S("ExtHostProfileContentHandlers"), ExtHostOutputService: S("ExtHostOutputService"), ExtHostLabelService: S("ExtHostLabelService"), ExtHostNotebook: S("ExtHostNotebook"), ExtHostNotebookDocuments: S("ExtHostNotebookDocuments"), ExtHostNotebookEditors: S("ExtHostNotebookEditors"), ExtHostNotebookKernels: S("ExtHostNotebookKernels"), ExtHostNotebookRenderers: S("ExtHostNotebookRenderers"), ExtHostNotebookDocumentSaveParticipant: S("ExtHostNotebookDocumentSaveParticipant"), ExtHostInteractive: S("ExtHostInteractive"), ExtHostChatAgents2: S("ExtHostChatAgents"), ExtHostChatVariables: S("ExtHostChatVariables"), ExtHostLanguageModelTools: S("ExtHostChatSkills"), ExtHostChatProvider: S("ExtHostChatProvider"), ExtHostSpeech: S("ExtHostSpeech"), ExtHostEmbeddings: S("ExtHostEmbeddings"), ExtHostAiRelatedInformation: S("ExtHostAiRelatedInformation"), ExtHostAiEmbeddingVector: S("ExtHostAiEmbeddingVector"), ExtHostTheming: S("ExtHostTheming"), ExtHostTunnelService: S("ExtHostTunnelService"), ExtHostManagedSockets: S("ExtHostManagedSockets"), ExtHostAuthentication: S("ExtHostAuthentication"), ExtHostTimeline: S("ExtHostTimeline"), ExtHostTesting: S("ExtHostTesting"), ExtHostTelemetry: S("ExtHostTelemetry"), ExtHostLocalization: S("ExtHostLocalization") } } }), TS, WT = v({ "out-build/vs/workbench/api/common/extHostRpcService.js"() { "use strict"; oe(), TS = se("IExtHostRpcService") } }), ar, Gr, Sn, Jr, US, sv, MS, qT = v({ "out-build/vs/workbench/api/common/extHostTestItem.js"() { "use strict"; ee(), va(), gd(), w$(), Sw(), b$(), ES(), ar = (e, t, s, i) => { let n = t; return { enumerable: !0, configurable: !1, get() { return n }, set(r) { if (!s(n, r)) { const o = n; n = r, e.listener?.(i(r, o)) } } } }, Gr = (e, t) => e === t, Sn = { range: (e, t) => e === t ? !0 : !e || !t ? !1 : e.isEqual(t), label: Gr, description: Gr, sortText: Gr, busy: Gr, error: Gr, canResolveChildren: Gr, tags: (e, t) => !(e.length !== t.length || e.some(s => !t.find(i => s.id === i.id))) }, Jr = e => t => ({ op: 4, update: e(t) }), US = (e, t) => ({ range: (() => { let s; const i = Jr(n => ({ range: Ti.lift(U.from(n)) })); return { enumerable: !0, configurable: !1, get() { return s }, set(n) { e.listener?.({ op: 6 }), Sn.range(s, n) || (s = n, e.listener?.(i(n))) } } })(), label: ar(e, t, Sn.label, Jr(s => ({ label: s }))), description: ar(e, void 0, Sn.description, Jr(s => ({ description: s }))), sortText: ar(e, void 0, Sn.sortText, Jr(s => ({ sortText: s }))), canResolveChildren: ar(e, !1, Sn.canResolveChildren, s => ({ op: 2, state: s })), busy: ar(e, !1, Sn.busy, Jr(s => ({ busy: s }))), error: ar(e, void 0, Sn.error, Jr(s => ({ error: lt.fromStrict(s) || null }))), tags: ar(e, [], Sn.tags, (s, i) => ({ op: 1, new: s.map(or.from), old: i.map(or.from) })) }), sv = class MI { constructor(t, s, i, n) { if (s.includes("\0")) throw new Error(`Test IDs may not include the ${JSON.stringify(s)} symbol`); const r = v$(this, t); Object.defineProperties(this, { id: { value: s, enumerable: !0, writable: !1 }, uri: { value: n, enumerable: !0, writable: !1 }, parent: { enumerable: !1, get() { return r.parent instanceof MS ? void 0 : r.parent } }, children: { value: g$(r, Iw, MI), enumerable: !0, writable: !1 }, ...US(r, i) }) } }, MS = class extends sv { constructor(e, t) { super(e, e, t, void 0), this._isRoot = !0 } } } }), FS, GT = v({ "out-build/vs/workbench/api/common/extHostInitDataService.js"() { "use strict"; oe(), FS = se("IExtHostInitDataService") } }), Xd, BS, HS, zS, JT = v({ "out-build/vs/workbench/services/extensions/common/extensionHostProtocol.js"() { "use strict"; Me(), function (e) { e[e.Desktop = 1] = "Desktop", e[e.Web = 2] = "Web" }(Xd || (Xd = {})), function (e) { e[e.VersionMismatch = 55] = "VersionMismatch", e[e.UnexpectedError = 81] = "UnexpectedError" }(BS || (BS = {})), function (e) { e[e.Initialized = 0] = "Initialized", e[e.Ready = 1] = "Ready", e[e.Terminate = 2] = "Terminate" }(HS || (HS = {})), function (e) { e.Start = "START_NATIVE_LOG", e.End = "END_NATIVE_LOG" }(zS || (zS = {})) } }); function YT(e) { const t = Date.now() - new Date(e).getTime(); return isNaN(t) ? !1 : t < 1e3 * 60 * 60 * 24 } var iv, VS, WS, XT = v({ "out-build/vs/workbench/api/common/extHostTelemetry.js"() { "use strict"; oe(), re(), Re(), GT(), JT(), Qp(), fn(), es(), ee(), z(), he(), iv = class extends J { constructor(t, s) { super(), this.s = t, this.t = s, this.a = this.B(new D), this.onDidChangeTelemetryEnabled = this.a.event, this.b = this.B(new D), this.onDidChangeTelemetryConfiguration = this.b.event, this.c = { usage: !0, error: !0 }, this.f = 0, this.g = !1, this.j = !1, this.r = new Map, this.m = E.revive(this.s.environment.extensionTelemetryLogResource), this.j = this.s.environment.isExtensionTelemetryLoggingOnly, this.n = s.createLogger(this.m, { id: q5, name: m(2763, null, this.j ? " (Not Sent)" : ""), hidden: !0 }), this.B(this.n), this.B(s.onDidChangeLogLevel(i => { bp(i) && this.u() })), this.n.info("Below are logs for extension telemetry events sent to the telemetry output channel API once the log level is set to trace."), this.n.info("===========================================================") } u() { this.t.setVisibility(this.m, this.g && this.t.getLogLevel() === F.Trace) } getTelemetryConfiguration() { return this.f === 3 } getTelemetryDetails() { return { isCrashEnabled: this.f >= 1, isErrorsEnabled: this.c.error ? this.f >= 2 : !1, isUsageEnabled: this.c.usage ? this.f >= 3 : !1 } } instantiateLogger(t, s, i) { const n = this.getTelemetryDetails(), r = new VS(s, i, t, this.n, this.j, this.getBuiltInCommonProperties(t), { isUsageEnabled: n.isUsageEnabled, isErrorsEnabled: n.isErrorsEnabled }), o = this.r.get(t.identifier.value) ?? []; return this.r.set(t.identifier.value, [...o, r]), r.apiTelemetryLogger } $initializeTelemetryLevel(t, s, i) { this.f = t, this.g = s, this.c = i ?? { usage: !0, error: !0 }, this.u() } getBuiltInCommonProperties(t) { const s = Object.create(null); switch (s["common.extname"] = `${t.publisher}.${t.name}`, s["common.extversion"] = t.version, s["common.vscodemachineid"] = this.s.telemetryInfo.machineId, s["common.vscodesessionid"] = this.s.telemetryInfo.sessionId, s["common.sqmid"] = this.s.telemetryInfo.sqmId, s["common.devDeviceId"] = this.s.telemetryInfo.devDeviceId, s["common.vscodeversion"] = this.s.version, s["common.isnewappinstall"] = YT(this.s.telemetryInfo.firstSessionDate), s["common.product"] = this.s.environment.appHost, this.s.uiKind) { case Xd.Web: s["common.uikind"] = "web"; break; case Xd.Desktop: s["common.uikind"] = "desktop"; break; default: s["common.uikind"] = "unknown" }return s["common.remotename"] = U5(tL(this.s.remote.authority)), s } $onDidChangeTelemetryLevel(t) { this.h = this.getTelemetryConfiguration(), this.f = t; const s = this.getTelemetryDetails(); this.r.forEach((i, n) => { const r = i.filter(o => !o.isDisposed); r.length === 0 ? this.r.delete(n) : this.r.set(n, r) }), this.r.forEach(i => { for (const n of i) n.updateTelemetryEnablements(s.isUsageEnabled, s.isErrorsEnabled) }), this.h !== this.getTelemetryConfiguration() && this.a.fire(this.getTelemetryConfiguration()), this.b.fire(this.getTelemetryDetails()), this.u() } onExtensionError(t, s) { const n = this.r.get(t.value)?.filter(o => !o.isDisposed); if (!n) return this.r.delete(t.value), !1; let r = !1; for (const o of n) o.ignoreUnhandledExtHostErrors || (o.logError(s), r = !0); return r } }, iv = __decorate([__param(0, FS), __param(1, sc)], iv), VS = class { static validateSender(e) { if (typeof e != "object") throw new TypeError("TelemetrySender argument is invalid"); if (typeof e.sendEventData != "function") throw new TypeError("TelemetrySender.sendEventData must be a function"); if (typeof e.sendErrorData != "function") throw new TypeError("TelemetrySender.sendErrorData must be a function"); if (typeof e.flush < "u" && typeof e.flush != "function") throw new TypeError("TelemetrySender.flush must be a function or undefined") } constructor(e, t, s, i, n, r, o) { this.g = s, this.h = i, this.i = n, this.j = r, this.a = new D, this.ignoreUnhandledExtHostErrors = t?.ignoreUnhandledErrors ?? !1, this.b = t?.ignoreBuiltInCommonProperties ?? !1, this.c = t?.additionalCommonProperties, this.f = e, this.d = { isUsageEnabled: o.isUsageEnabled, isErrorsEnabled: o.isErrorsEnabled } } updateTelemetryEnablements(e, t) { this.e && (this.d = { isUsageEnabled: e, isErrorsEnabled: t }, this.a.fire(this.e)) } mixInCommonPropsAndCleanData(e) { let t = "properties" in e ? e.properties ?? {} : e; return t = em(t, []), this.c && (t = $o(t, this.c)), this.b || (t = $o(t, this.j)), "properties" in e ? e.properties = t : e = t, e } k(e, t) { this.f && (this.g.publisher === "vscode" ? e = this.g.name + "/" + e : e = this.g.identifier.value + "/" + e, t = this.mixInCommonPropsAndCleanData(t || {}), this.i || this.f?.sendEventData(e, t), this.h.trace(e, t)) } logUsage(e, t) { this.d.isUsageEnabled && this.k(e, t) } logError(e, t) { if (!(!this.d.isErrorsEnabled || !this.f)) if (typeof e == "string") this.k(e, t); else { const s = { name: e.name, message: e.message, stack: e.stack, cause: e.cause }, i = em(s, []), n = new Error(i.message, { cause: i.cause }); n.stack = i.stack, n.name = i.name, t = this.mixInCommonPropsAndCleanData(t || {}), this.i || this.f.sendErrorData(n, t), this.h.trace("exception", t) } } get apiTelemetryLogger() { if (!this.e) { const e = this, t = { logUsage: e.logUsage.bind(e), get isUsageEnabled() { return e.d.isUsageEnabled }, get isErrorsEnabled() { return e.d.isErrorsEnabled }, logError: e.logError.bind(e), dispose: e.dispose.bind(e), onDidChangeEnableStates: e.a.event.bind(e) }; this.e = Object.freeze(t) } return this.e } get isDisposed() { return !this.f } dispose() { if (this.f?.flush) { let e = this.f; this.f = void 0, Promise.resolve(e.flush()).then(e = void 0), this.e = void 0 } else this.f = void 0 } }, WS = se("IExtHostTelemetry") } }), nv, qS, GS, QT, JS, ZT = v({ "out-build/vs/workbench/api/common/extHostCommands.js"() { "use strict"; $e(), q0(), ES(), es(), VT(), Et(), Re(), Co(), va(), rw(), ee(), z(), oe(), WT(), qT(), Me(), SS(), yr(), co(), fn(), XT(), Wt(), nv = class { #e; #t; #s; constructor(t, s, i) { this.b = new Map, this.c = new Map, this.#e = t.getProxy(tv.MainThreadCommands), this.d = s, this.#s = i, this.#t = t.getProxy(tv.MainThreadTelemetry), this.converter = new GS(this, n => { const r = this.c.get(n); return r?.result === JS.Void ? r : void 0 }, s), this.f = [{ processArgument(n) { return Ws(n) } }, { processArgument(n) { return un(n, function (r) { if (Ti.isIRange(r)) return U.to(r); if (zr.isIPosition(r)) return $n.to(r); if (Ti.isIRange(r.range) && E.isUri(r.uri)) return rr.to(r); if (r instanceof O) return r.buffer.buffer; if (!Array.isArray(r)) return r }) } }] } registerArgumentProcessor(t) { this.f.push(t) } registerApiCommand(t) { const s = this.registerCommand(!1, t.id, async (...i) => { const n = t.args.map((o, a) => { if (!o.validate(i[a])) throw new Error(`Invalid argument '${o.name}' when running '${t.id}', received: ${typeof i[a] == "object" ? JSON.stringify(i[a], null, " ") : i[a]} `); return o.convert(i[a]) }), r = await this.executeCommand(t.internalId, ...n); return t.result.convert(r, i, this.converter) }, void 0, { description: t.description, args: t.args, returns: t.result.description }); return this.c.set(t.id, t), new fl(() => { s.dispose(), this.c.delete(t.id) }) } registerCommand(t, s, i, n, r, o) { if (this.d.trace("ExtHostCommands#registerCommand", s), !s.trim().length) throw new Error("invalid id"); if (this.b.has(s)) throw new Error(`command '${s}' already exists`); return this.b.set(s, { callback: i, thisArg: n, metadata: r, extension: o }), t && this.#e.$registerCommand(s), new fl(() => { this.b.delete(s) && t && this.#e.$unregisterCommand(s) }) } executeCommand(t, ...s) { return this.d.trace("ExtHostCommands#executeCommand", t), this.g(t, s, !0) } async g(t, s, i) { if (this.b.has(t)) return this.#e.$fireCommandActivationEvent(t), this.h(t, s, !1); { let n = !1; const r = un(s, function (o) { if (o instanceof Le) return $n.from(o); if (o instanceof Ke) return U.from(o); if (o instanceof En) return rr.from(o); if (Hr.isNotebookRange(o)) return jw.from(o); if (o instanceof ArrayBuffer) return n = !0, O.wrap(new Uint8Array(o)); if (o instanceof Uint8Array) return n = !0, O.wrap(o); if (o instanceof O) return n = !0, o; if (!Array.isArray(o)) return o }); try { const o = await this.#e.$executeCommand(t, n ? new $S(r) : r, i); return Ws(o) } catch (o) { if (o instanceof Error && o.message === "$executeCommand:retry") return this.g(t, s, !1); throw o } } } async h(t, s, i) { const n = this.b.get(t); if (!n) throw new Error("Unknown command"); const { callback: r, thisArg: o, metadata: a } = n; if (a?.args) for (let l = 0; l < a.args.length; l++)try { YA(s[l], a.args[l].constraint) } catch { throw new Error(`Running the contributed command: '${t}' failed. Illegal argument '${a.args[l].name}' - ${a.args[l].description}`) } const c = Ki.create(); try { return await r.apply(o, s) } catch (l) { if (t === this.converter.delegatingCommandId) { const u = this.converter.getActualCommand(...s); u && (t = u.command) } if (this.d.error(l, t, n.extension?.identifier), !i) throw l; if (n.extension?.identifier) { const u = this.#s.onExtensionError(n.extension.identifier, l); this.d.trace("forwarded error to extension?", u, n.extension?.identifier) } throw new class extends Error { constructor() { super(Cn(l)), this.id = t, this.source = n.extension?.displayName ?? n.extension?.name } } } finally { this.j(n, t, c.elapsed()) } } j(t, s, i) { t.extension && this.#t.$publicLog2("Extension:ActionExecuted", { extensionId: t.extension.identifier.value, id: new xc(s), duration: i }) } $executeContributedCommand(t, ...s) { this.d.trace("ExtHostCommands#$executeContributedCommand", t); const i = this.b.get(t); return i ? (s = s.map(n => this.f.reduce((r, o) => o.processArgument(r, i.extension?.identifier), n)), this.h(t, s, !0)) : Promise.reject(new Error(`Contributed command '${t}' does not exist.`)) } getCommands(t = !1) { return this.d.trace("ExtHostCommands#getCommands", t), this.#e.$getCommands().then(s => (t && (s = s.filter(i => i[0] !== "_")), s)) } $getContributedCommandMetadata() { const t = Object.create(null); for (const [s, i] of this.b) { const { metadata: n } = i; n && (t[s] = n) } return Promise.resolve(t) } }, nv = __decorate([__param(0, TS), __param(1, pe), __param(2, WS)], nv), qS = se("IExtHostCommands"), GS = class { constructor(e, t, s) { this.d = e, this.f = t, this.g = s, this.delegatingCommandId = `__vsc${We()}`, this.b = new Map, this.c = 0, this.d.registerCommand(!0, this.delegatingCommandId, this.h, this) } toInternal(e, t) { if (!e) return; const s = { $ident: void 0, id: e.command, title: e.title, tooltip: e.tooltip }; if (!e.command) return s; const i = this.f(e.command); if (i) s.id = i.internalId, s.arguments = i.args.map((n, r) => n.convert(e.arguments && e.arguments[r])); else if (uu(e.arguments)) { const n = `${e.command} /${++this.c}`; this.b.set(n, e), t.add(ye(() => { this.b.delete(n), this.g.trace("CommandsConverter#DISPOSE", n) })), s.$ident = n, s.id = this.delegatingCommandId, s.arguments = [n], this.g.trace("CommandsConverter#CREATE", e.command, n) } return s } fromInternal(e) { return typeof e.$ident == "string" ? this.b.get(e.$ident) : { command: e.id, title: e.title, arguments: e.arguments } } getActualCommand(...e) { return this.b.get(e[0]) } h(...e) { const t = this.getActualCommand(...e); return this.g.trace("CommandsConverter#EXECUTE", e[0], t ? t.command : "MISSING"), t ? this.d.executeCommand(t.command, ...t.arguments || []) : Promise.reject(`Actual command not found, wanted to execute ${e[0]}`) } }, QT = class as { static { this.Uri = new as("uri", "Uri of a text document", t => E.isUri(t), t => t) } static { this.Position = new as("position", "A position in a text document", t => Le.isPosition(t), $n.from) } static { this.Range = new as("range", "A range in a text document", t => Ke.isRange(t), U.from) } static { this.Selection = new as("selection", "A selection in a text document", t => dl.isSelection(t), Dw.from) } static { this.Number = new as("number", "", t => typeof t == "number", t => t) } static { this.String = new as("string", "", t => typeof t == "string", t => t) } static { this.StringArray = as.Arr(as.String) } static Arr(t) { return new as(`${t.name}_array`, `Array of ${t.name}, ${t.description}`, s => Array.isArray(s) && s.every(i => t.validate(i)), s => s.map(i => t.convert(i))) } static { this.CallHierarchyItem = new as("item", "A call hierarchy item", t => t instanceof t0, Ul.from) } static { this.TypeHierarchyItem = new as("item", "A type hierarchy item", t => t instanceof R0, Fw.from) } static { this.TestItem = new as("testItem", "A VS Code TestItem", t => t instanceof sv, Bd.from) } static { this.TestProfile = new as("testProfile", "A VS Code test profile", t => t instanceof A3, Uw.from) } constructor(t, s, i, n) { this.name = t, this.description = s, this.validate = i, this.convert = n } optional() { return new as(this.name, `(optional) ${this.description}`, t => t == null || this.validate(t), t => t === void 0 ? void 0 : t === null ? null : this.convert(t)) } with(t, s) { return new as(t ?? this.name, s ?? this.description, this.validate, this.convert) } }, JS = class FI { static { this.Void = new FI("no result", t => t) } constructor(t, s) { this.description = t, this.convert = s } } } }); import *as KT from "http"; import *as YS from "fs"; var rv, ov, eU = v({ "out-build/vs/workbench/api/node/extHostCLIServer.js"() { "use strict"; Qh(), ZT(), ee(), Re(), ym(), rv = class { constructor(e, t, s) { this.b = e, this.c = t, this.f = s, this.a = KT.createServer((i, n) => this.h(i, n)), this.g().catch(i => (t.error(i), "")) } get ipcHandlePath() { return this.f } async g() { try { this.a.listen(this.ipcHandlePath), this.a.on("error", e => this.c.error(e)) } catch { this.c.error("Could not start open from terminal server.") } return this.f } h(e, t) { const s = (n, r) => { t.writeHead(n, { "content-type": "application/json" }), t.end(JSON.stringify(r || null), o => o && this.c.error(o)) }, i = []; e.setEncoding("utf8"), e.on("data", n => i.push(n)), e.on("end", async () => { try { const n = JSON.parse(i.join("")); let r; switch (n.type) { case "open": r = await this.i(n); break; case "openExternal": r = await this.j(n); break; case "status": r = await this.l(n); break; case "extensionManagement": r = await this.k(n); break; default: s(404, `Unknown message type: ${n.type}`); break }s(200, r) } catch (n) { const r = n instanceof Error ? n.message : JSON.stringify(n); s(500, r), this.c.error("Error while processing pipe request", n) } }) } async i(e) { const { fileURIs: t, folderURIs: s, forceNewWindow: i, diffMode: n, mergeMode: r, addMode: o, forceReuseWindow: a, gotoLineMode: c, waitMarkerFilePath: l, remoteAuthority: u } = e, h = []; if (Array.isArray(s)) for (const w of s) try { h.push({ folderUri: E.parse(w) }) } catch { } if (Array.isArray(t)) for (const w of t) try { gN(w) ? h.push({ workspaceUri: E.parse(w) }) : h.push({ fileUri: E.parse(w) }) } catch { } const d = l ? E.file(l) : void 0, g = { forceNewWindow: i, diffMode: n, mergeMode: r, addMode: o, gotoLineMode: c, forceReuseWindow: a, preferNewWindow: !a && !d && !o, waitMarkerFileURI: d, remoteAuthority: u }; this.b.executeCommand("_remoteCLI.windowOpen", h, g) } async j(e) { for (const t of e.uris) { const s = E.parse(t), i = s.scheme === "file" ? s : t; await this.b.executeCommand("_remoteCLI.openExternal", i) } } async k(e) { const t = i => i?.map(n => /\.vsix$/i.test(n) ? E.parse(n) : n), s = { list: e.list, install: t(e.install), uninstall: t(e.uninstall), force: e.force }; return await this.b.executeCommand("_remoteCLI.manageExtensions", s) } async l(e) { return await this.b.executeCommand("_remoteCLI.getSystemStatus") } dispose() { this.a.close(), this.f && process.platform !== "win32" && YS.existsSync(this.f) && YS.unlinkSync(this.f) } }, ov = class extends rv { constructor(t, s) { super(t, s, kg()) } }, ov = __decorate([__param(0, qS), __param(1, pe)], ov) } }); function XS(e) { return e.match(/^['"].*['"]$/) && (e = e.substring(1, e.length - 1)), dr === 1 && e && e[1] === ":" ? e[0].toUpperCase() + e.substring(1) : e } function tU(e) { return !e.strictEnv } var QS = v({ "out-build/vs/platform/terminal/common/terminalEnvironment.js"() { "use strict"; X() } }); function ZS(e, t) { if (t) if (me) for (const s in t) { let i = s; for (const r in e) if (s.toLowerCase() === r.toLowerCase()) { i = r; break } const n = t[s]; n !== void 0 && KS(e, i, n) } else Object.keys(t).forEach(s => { const i = t[s]; i !== void 0 && KS(e, s, i) }) } function KS(e, t, s) { typeof s == "string" ? e[t] = s : delete e[t] } function sU(e, t, s, i) { e.TERM_PROGRAM = "vscode", t && (e.TERM_PROGRAM_VERSION = t), iU(e, i) && (e.LANG = nU(s)), e.COLORTERM = "truecolor" } function eP(e, t) { if (t) for (const s of Object.keys(t)) { const i = t[s]; i != null && (e[s] = i) } } async function tP(e, t) { return await Promise.all(Object.entries(t).map(async ([s, i]) => { if (typeof i == "string") try { t[s] = await e(i) } catch { t[s] = i } })), t } function iU(e, t) { if (t === "on") return !0; if (t === "auto") { const s = e.LANG; return !s || s.search(/\.UTF\-8$/) === -1 && s.search(/\.utf8$/) === -1 && s.search(/\.euc.+/) === -1 } return !1 } function nU(e) { const t = e ? e.split("-") : [], s = t.length; if (s === 0) return "en_US.UTF-8"; if (s === 1) { const i = { af: "ZA", am: "ET", be: "BY", bg: "BG", ca: "ES", cs: "CZ", da: "DK", de: "DE", el: "GR", en: "US", es: "ES", et: "EE", eu: "ES", fi: "FI", fr: "FR", he: "IL", hr: "HR", hu: "HU", hy: "AM", is: "IS", it: "IT", ja: "JP", kk: "KZ", ko: "KR", lt: "LT", nl: "NL", no: "NO", pl: "PL", pt: "BR", ro: "RO", ru: "RU", sk: "SK", sl: "SI", sr: "YU", sv: "SE", tr: "TR", uk: "UA", zh: "CN" }; t[0] in i && t.push(i[t[0]]) } else t[1] = t[1].toUpperCase(); return t.join("_") + ".UTF-8" } async function rU(e, t, s, i, n, r) { if (e.cwd) { const a = typeof e.cwd == "object" ? e.cwd.fsPath : e.cwd, c = await sP(a, s); return XS(c || a) } let o; return !e.ignoreConfigurationCwd && n && (s && (n = await sP(n, s, r)), n && (sn(n) ? o = n : i && (o = _(i.fsPath, n)))), o || (o = i ? i.fsPath : t || ""), XS(o) } async function sP(e, t, s) { if (t) try { return await t(e) } catch (i) { s?.error("Could not resolve terminal cwd", i); return } return e } function oU(e, t, s) { if (s) return i => s.resolveWithEnvironment(t, e, i) } async function aU(e, t, s, i, n, r) { const o = {}; if (e.strictEnv) eP(o, e.env); else { eP(o, r); const a = { ...t }; s && (a && await tP(s, a), e.env && await tP(s, e.env)), _s && (o.VSCODE_NODE_OPTIONS && (o.NODE_OPTIONS = o.VSCODE_NODE_OPTIONS, delete o.VSCODE_NODE_OPTIONS), o.VSCODE_NODE_REPL_EXTERNAL_MODULE && (o.NODE_REPL_EXTERNAL_MODULE = o.VSCODE_NODE_REPL_EXTERNAL_MODULE, delete o.VSCODE_NODE_REPL_EXTERNAL_MODULE)), IR(o, "VSCODE_IPC_HOOK_CLI"), ZS(o, a), ZS(o, e.env), sU(o, i, Ss, n) } return o } var cU = v({ "out-build/vs/workbench/contrib/terminal/common/terminalEnvironment.js"() { "use strict"; de(), ee(), qu(), X(), QS(), $e() } }); function Bl(e, t = me) { return jy(e, t) ? e.charAt(0).toUpperCase() + e.slice(1) : e } var iP, lU = v({ "out-build/vs/base/common/labels.js"() { "use strict"; ki(), de(), X(), kt(), et(), function (e) { e[e.TEXT = 0] = "TEXT", e[e.VARIABLE = 1] = "VARIABLE", e[e.SEPARATOR = 2] = "SEPARATOR" }(iP || (iP = {})) } }), nP, ze, os, rP = v({ "out-build/vs/workbench/services/configurationResolver/common/configurationResolver.js"() { "use strict"; oe(), fe(), nP = se("configurationResolverService"), function (e) { e.Unknown = "unknown", e.Env = "env", e.Config = "config", e.Command = "command", e.Input = "input", e.ExtensionInstallFolder = "extensionInstallFolder", e.WorkspaceFolder = "workspaceFolder", e.Cwd = "cwd", e.WorkspaceFolderBasename = "workspaceFolderBasename", e.UserHome = "userHome", e.LineNumber = "lineNumber", e.SelectedText = "selectedText", e.File = "file", e.FileWorkspaceFolder = "fileWorkspaceFolder", e.FileWorkspaceFolderBasename = "fileWorkspaceFolderBasename", e.RelativeFile = "relativeFile", e.RelativeFileDirname = "relativeFileDirname", e.FileDirname = "fileDirname", e.FileExtname = "fileExtname", e.FileBasename = "fileBasename", e.FileBasenameNoExtension = "fileBasenameNoExtension", e.FileDirnameBasename = "fileDirnameBasename", e.ExecPath = "execPath", e.ExecInstallFolder = "execInstallFolder", e.PathSeparator = "pathSeparator", e.PathSeparatorAlias = "/" }(ze || (ze = {})), os = class extends Xi { constructor(e, t) { super(t), this.variable = e } } } }), oP, uU = v({ "out-build/vs/workbench/services/configurationResolver/common/variableResolver.js"() { "use strict"; de(), ti(), $e(), es(), X(), lU(), he(), rP(), et(), oP = class v1 { static { this.VARIABLE_LHS = "${" } static { this.VARIABLE_REGEXP = /\$\{(.*?)\}/g } constructor(t, s, i, n) { this.h = new Map, this.a = t, this.b = s, this.g = i, n && (this.c = n.then(r => this.i(r))) } i(t) { if (me) { const s = Object.create(null); return Object.keys(t).forEach(i => { s[i.toLowerCase()] = t[i] }), s } return t } resolveWithEnvironment(t, s, i) { return this.l({ env: this.i(t), userHome: void 0 }, s ? s.uri : void 0, i) } async resolveAsync(t, s) { const i = { env: await this.c, userHome: await this.g }; return this.l(i, t ? t.uri : void 0, s) } async j(t, s, i, n) { const r = ln(s); me && r.windows ? Object.keys(r.windows).forEach(a => r[a] = r.windows[a]) : _s && r.osx ? Object.keys(r.osx).forEach(a => r[a] = r.osx[a]) : rt && r.linux && Object.keys(r.linux).forEach(a => r[a] = r.linux[a]), delete r.windows, delete r.osx, delete r.linux; const o = { env: await this.c, userHome: await this.g }; return this.l(o, t ? t.uri : void 0, r, i, n) } async resolveAnyAsync(t, s, i) { return this.j(t, s, i) } async resolveAnyMap(t, s, i) { const n = new Map; return { newConfig: await this.j(t, s, i, n), resolvedVariables: n } } resolveWithInteractionReplace(t, s, i, n) { throw new Error("resolveWithInteractionReplace not implemented.") } resolveWithInteraction(t, s, i, n) { throw new Error("resolveWithInteraction not implemented.") } contributeVariable(t, s) { if (this.h.has(t)) throw new Error("Variable " + t + " is contributed twice."); this.h.set(t, s) } async l(t, s, i, n, r) { if (ve(i)) return this.m(t, s, i, n, r); if (Array.isArray(i)) return Promise.all(i.map(o => this.l(t, s, o, n, r))); if (ct(i)) { const o = Object.create(null), a = await Promise.all(Object.keys(i).map(async c => [await this.m(t, s, c, n, r), await this.l(t, s, i[c], n, r)])); for (const [c, l] of a) o[c] = l; return o } return i } m(t, s, i, n, r) { return RA(i, v1.VARIABLE_REGEXP, async (o, a) => { if (a.includes(v1.VARIABLE_LHS)) return o; let c = await this.o(t, o, a, s, n); return r?.set(a, c), c !== o && ve(c) && c.match(v1.VARIABLE_REGEXP) && (c = await this.m(t, s, c, n, r)), c }) } n(t) { return this.b ? this.b.getUriLabel(t, { noPrefix: !0 }) : t.fsPath } async o(t, s, i, n, r) { let o; const a = i.split(":"); a.length > 1 && (i = a[0], o = a[1]); const c = h => { const d = this.a.getFilePath(); if (d) return Bl(d); throw new os(h, m(12637, null, s)) }, l = h => { const d = c(h); if (this.a.getWorkspaceFolderPathForFile) { const p = this.a.getWorkspaceFolderPathForFile(); if (p) return Bl(p) } throw new os(h, m(12638, null, s, at(d))) }, u = h => { if (o) { const d = this.a.getFolderUri(o); if (d) return d; throw new os(h, m(12639, null, s, o)) } if (n) return n; throw this.a.getWorkspaceFolderCount() > 1 ? new os(h, m(12640, null, s)) : new os(h, m(12641, null, s)) }; switch (i) { case "env": if (o) { if (t.env) { const h = t.env[me ? o.toLowerCase() : o]; if (ve(h)) return h } return "" } throw new os(ze.Env, m(12642, null, s)); case "config": if (o) { const h = this.a.getConfigurationValue(n, o); if (xt(h)) throw new os(ze.Config, m(12643, null, s, o)); if (ct(h)) throw new os(ze.Config, m(12644, null, s, o)); return h } throw new os(ze.Config, m(12645, null, s)); case "command": return this.p(ze.Command, s, o, r, "command"); case "input": return this.p(ze.Input, s, o, r, "input"); case "extensionInstallFolder": if (o) { const h = await this.a.getExtension(o); if (!h) throw new os(ze.ExtensionInstallFolder, m(12646, null, s, o)); return this.n(h.extensionLocation) } throw new os(ze.ExtensionInstallFolder, m(12647, null, s)); default: switch (i) { case "workspaceRoot": case "workspaceFolder": return Bl(this.n(u(ze.WorkspaceFolder))); case "cwd": return n || o ? Bl(this.n(u(ze.Cwd))) : xi(); case "workspaceRootFolderName": case "workspaceFolderBasename": return Bl(at(this.n(u(ze.WorkspaceFolderBasename)))); case "userHome": { if (t.userHome) return t.userHome; throw new os(ze.UserHome, m(12648, null, s)) } case "lineNumber": { const h = this.a.getLineNumber(); if (h) return h; throw new os(ze.LineNumber, m(12649, null, s)) } case "selectedText": { const h = this.a.getSelectedText(); if (h) return h; throw new os(ze.SelectedText, m(12650, null, s)) } case "file": return c(ze.File); case "fileWorkspaceFolder": return l(ze.FileWorkspaceFolder); case "fileWorkspaceFolderBasename": return at(l(ze.FileWorkspaceFolderBasename)); case "relativeFile": return n || o ? Wa(this.n(u(ze.RelativeFile)), c(ze.RelativeFile)) : c(ze.RelativeFile); case "relativeFileDirname": { const h = Ct(c(ze.RelativeFileDirname)); if (n || o) { const d = Wa(this.n(u(ze.RelativeFileDirname)), h); return d.length === 0 ? "." : d } return h } case "fileDirname": return Ct(c(ze.FileDirname)); case "fileExtname": return vr(c(ze.FileExtname)); case "fileBasename": return at(c(ze.FileBasename)); case "fileBasenameNoExtension": { const h = at(c(ze.FileBasenameNoExtension)); return h.slice(0, h.length - vr(h).length) } case "fileDirnameBasename": return at(Ct(c(ze.FileDirnameBasename))); case "execPath": { const h = this.a.getExecPath(); return h || s } case "execInstallFolder": { const h = this.a.getAppRoot(); return h || s } case "pathSeparator": case "/": return Qt; default: try { const h = o ? `${i}:${o}` : i; return this.p(ze.Unknown, s, h, r, void 0) } catch { return s } } } } p(t, s, i, n, r) { if (i && n) { const o = r === void 0 ? n[i] : n[r + ":" + i]; if (typeof o == "string") return o; throw new os(t, m(12651, null, s)) } return s } } } }); import *as aP from "os"; var cP, lP, hU = v({ "out-build/vs/server/node/remoteTerminalChannel.js"() { "use strict"; re(), es(), z(), de(), X(), ee(), Qh(), cf(), eU(), C2(), Ug(), cU(), uU(), B8(), Ue(), QS(), cP = class extends oP { constructor(e, t, s, i, n) { super({ getFolderUri: r => { const o = t.filter(a => a.name === r); if (o && o.length > 0) return o[0].uri }, getWorkspaceFolderCount: () => t.length, getConfigurationValue: (r, o) => i[`config:${o}`], getExecPath: () => e.VSCODE_EXEC_PATH, getAppRoot: () => e.VSCODE_CWD, getFilePath: () => { if (s) return si(s.fsPath) }, getSelectedText: () => i.selectedText, getLineNumber: () => i.lineNumber, getExtension: async r => { const a = (await n.getInstalled()).find(c => c.identifier.id === r); return a && { extensionLocation: a.location } } }, void 0, Promise.resolve(aP.homedir()), Promise.resolve(e)) } }, lP = class extends J { constructor(e, t, s, i, n, r) { super(), this.g = e, this.h = t, this.j = s, this.m = i, this.n = n, this.r = r, this.a = 0, this.b = new Map, this.c = this.B(new D), this.onExecuteCommand = this.c.event } async call(e, t, s) { switch (t) { case "$restartPtyHost": return this.j.restartPtyHost.apply(this.j, s); case "$createProcess": { const i = ll(e.remoteAuthority); return this.s(i, s) } case "$attachToProcess": return this.j.attachToProcess.apply(this.j, s); case "$detachFromProcess": return this.j.detachFromProcess.apply(this.j, s); case "$listProcesses": return this.j.listProcesses.apply(this.j, s); case "$getLatency": return this.j.getLatency.apply(this.j, s); case "$getPerformanceMarks": return this.j.getPerformanceMarks.apply(this.j, s); case "$orphanQuestionReply": return this.j.orphanQuestionReply.apply(this.j, s); case "$acceptPtyHostResolvedVariables": return this.j.acceptPtyHostResolvedVariables.apply(this.j, s); case "$start": return this.j.start.apply(this.j, s); case "$input": return this.j.input.apply(this.j, s); case "$acknowledgeDataEvent": return this.j.acknowledgeDataEvent.apply(this.j, s); case "$shutdown": return this.j.shutdown.apply(this.j, s); case "$resize": return this.j.resize.apply(this.j, s); case "$clearBuffer": return this.j.clearBuffer.apply(this.j, s); case "$getInitialCwd": return this.j.getInitialCwd.apply(this.j, s); case "$getCwd": return this.j.getCwd.apply(this.j, s); case "$processBinary": return this.j.processBinary.apply(this.j, s); case "$sendCommandResult": return this.u(s[0], s[1], s[2]); case "$installAutoReply": return this.j.installAutoReply.apply(this.j, s); case "$uninstallAllAutoReplies": return this.j.uninstallAllAutoReplies.apply(this.j, s); case "$getDefaultSystemShell": return this.w.apply(this, s); case "$getProfiles": return this.y.apply(this, s); case "$getEnvironment": return this.z(); case "$getWslPath": return this.C(s[0], s[1]); case "$getTerminalLayoutInfo": return this.j.getTerminalLayoutInfo(s); case "$setTerminalLayoutInfo": return this.j.setTerminalLayoutInfo(s); case "$serializeTerminalState": return this.j.serializeTerminalState.apply(this.j, s); case "$reviveTerminalProcesses": return this.j.reviveTerminalProcesses.apply(this.j, s); case "$getRevivedPtyNewId": return this.j.getRevivedPtyNewId.apply(this.j, s); case "$setUnicodeVersion": return this.j.setUnicodeVersion.apply(this.j, s); case "$reduceConnectionGraceTime": return this.D(); case "$updateIcon": return this.j.updateIcon.apply(this.j, s); case "$updateTitle": return this.j.updateTitle.apply(this.j, s); case "$updateProperty": return this.j.updateProperty.apply(this.j, s); case "$refreshProperty": return this.j.refreshProperty.apply(this.j, s); case "$requestDetachInstance": return this.j.requestDetachInstance(s[0], s[1]); case "$acceptDetachedInstance": return this.j.acceptDetachInstanceReply(s[0], s[1]); case "$freePortKillProcess": return this.j.freePortKillProcess.apply(this.j, s); case "$acceptDetachInstanceReply": return this.j.acceptDetachInstanceReply.apply(this.j, s) }throw new Error(`IPC Command ${t} not found`) } listen(e, t, s) { switch (t) { case "$onPtyHostExitEvent": return this.j.onPtyHostExit || H.None; case "$onPtyHostStartEvent": return this.j.onPtyHostStart || H.None; case "$onPtyHostUnresponsiveEvent": return this.j.onPtyHostUnresponsive || H.None; case "$onPtyHostResponsiveEvent": return this.j.onPtyHostResponsive || H.None; case "$onPtyHostRequestResolveVariablesEvent": return this.j.onPtyHostRequestResolveVariables || H.None; case "$onProcessDataEvent": return this.j.onProcessData; case "$onProcessReadyEvent": return this.j.onProcessReady; case "$onProcessExitEvent": return this.j.onProcessExit; case "$onProcessReplayEvent": return this.j.onProcessReplay; case "$onProcessOrphanQuestion": return this.j.onProcessOrphanQuestion; case "$onExecuteCommand": return this.onExecuteCommand; case "$onDidRequestDetach": return this.j.onDidRequestDetach || H.None; case "$onDidChangeProperty": return this.j.onDidChangeProperty }throw new Error(`IPC Command ${t} not found`) } async s(e, t) { const s = { name: t.shellLaunchConfig.name, executable: t.shellLaunchConfig.executable, args: t.shellLaunchConfig.args, cwd: typeof t.shellLaunchConfig.cwd == "string" || typeof t.shellLaunchConfig.cwd > "u" ? t.shellLaunchConfig.cwd : E.revive(e.transformIncoming(t.shellLaunchConfig.cwd)), env: t.shellLaunchConfig.env, useShellEnvironment: t.shellLaunchConfig.useShellEnvironment, reconnectionProperties: t.shellLaunchConfig.reconnectionProperties, type: t.shellLaunchConfig.type, isFeatureTerminal: t.shellLaunchConfig.isFeatureTerminal }, i = await F8(t.resolverEnv, !!t.shellLaunchConfig.useShellEnvironment, Ss, this.g, this.h, this.r); this.h.trace("baseEnv", i); const n = k => ({ uri: E.revive(e.transformIncoming(k.uri)), name: k.name, index: k.index, toResource: () => { throw new Error("Not implemented") } }), r = t.workspaceFolders.map(n), o = t.activeWorkspaceFolder ? n(t.activeWorkspaceFolder) : void 0, a = t.activeFileResource ? E.revive(e.transformIncoming(t.activeFileResource)) : void 0, c = new cP(i, r, a, t.resolvedVariables, this.n), l = oU(o, process.env, c), u = await rU(s, aP.homedir(), l, o?.uri, t.configuration["terminal.integrated.cwd"], this.h); s.cwd = u; const h = me ? "terminal.integrated.env.windows" : _s ? "terminal.integrated.env.osx" : "terminal.integrated.env.linux", d = t.configuration[h], p = await aU(s, d, l, this.m.version, t.configuration["terminal.integrated.detectLocale"], i); if (tU(s)) { const k = []; for (const [q, te, V] of t.envVariableCollections) k.push([q, { map: __(te), descriptionMap: j_(V) }]); const A = new Map(k), I = new O2(A), L = o ? o ?? void 0 : void 0; await I.applyToProcessEnvironment(p, { workspaceFolder: L }, l) } this.h.debug("Terminal process launching on remote agent", { shellLaunchConfig: s, initialCwd: u, cols: t.cols, rows: t.rows, env: p }); const g = kg(); p.VSCODE_IPC_HOOK_CLI = g; const w = await this.j.createProcess(s, u, t.cols, t.rows, t.unicodeVersion, p, i, t.options, t.shouldPersistTerminal, t.workspaceId, t.workspaceName), y = { executeCommand: (k, ...A) => this.t(w, k, A, e) }, x = new rv(y, this.h, g); return this.j.onProcessExit(k => k.id === w && x.dispose()), { persistentTerminalId: w, resolvedShellLaunchConfig: s } } t(e, t, s, i) { const { resolve: n, reject: r, promise: o } = ND(), a = ++this.a; this.b.set(a, { resolve: n, reject: r, uriTransformer: i }); const c = un(s, l => { if (l && l.$mid === 1) return i.transformOutgoing(l); if (l && l instanceof E) return i.transformOutgoingURI(l) }); return this.c.fire({ reqId: a, persistentProcessId: e, commandId: t, commandArgs: c }), o } u(e, t, s) { const i = this.b.get(e); if (!i) return; this.b.delete(e); const n = un(s, r => { if (r && r.$mid === 1) return i.uriTransformer.transformIncoming(r) }); t ? i.reject(n) : i.resolve(n) } w(e) { return this.j.getDefaultSystemShell(e) } async y(e, t, s, i) { return this.j.getProfiles(e, t, s, i) || [] } z() { return { ...process.env } } C(e, t) { return this.j.getWslPath(e, t) } D() { return this.j.reduceConnectionGraceTime() } } } }), Qd, uP, fU, hP, dU, Hl, av, cv, fP, dP, pU = v({ "out-build/vs/workbench/services/configuration/common/configuration.js"() { "use strict"; ds(), oe(), Qd = ".vscode", uP = "settings", fU = `${Qd}/${uP}.json`, hP = [3, 4, 5], dU = [1, ...hP], Hl = "tasks", av = "launch", cv = Object.create(null), cv[Hl] = `${Qd}/${Hl}.json`, cv[av] = `${Qd}/${av}.json`, fP = Object.create(null), fP[Hl] = `${Hl}.json`, dP = ts } }), pP, mP, mU = v({ "out-build/vs/platform/label/common/label.js"() { "use strict"; oe(), pP = se("labelService"), function (e) { e[e.SHORT = 0] = "SHORT", e[e.MEDIUM = 1] = "MEDIUM", e[e.LONG = 2] = "LONG" }(mP || (mP = {})) } }), gP, gU = v({ "out-build/vs/workbench/contrib/terminal/common/environmentVariable.js"() { "use strict"; oe(), gP = se("environmentVariableService") } }), wP, lv, wU = v({ "out-build/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.js"() { "use strict"; pU(), nE(), ym(), Ug(), rP(), lw(), h$(), De(), mU(), gU(), _g(), wP = "remoteterminal", lv = class { get onPtyHostExit() { return this.b.listen("$onPtyHostExitEvent") } get onPtyHostStart() { return this.b.listen("$onPtyHostStartEvent") } get onPtyHostUnresponsive() { return this.b.listen("$onPtyHostUnresponsiveEvent") } get onPtyHostResponsive() { return this.b.listen("$onPtyHostResponsiveEvent") } get onPtyHostRequestResolveVariables() { return this.b.listen("$onPtyHostRequestResolveVariablesEvent") } get onProcessData() { return this.b.listen("$onProcessDataEvent") } get onProcessExit() { return this.b.listen("$onProcessExitEvent") } get onProcessReady() { return this.b.listen("$onProcessReadyEvent") } get onProcessReplay() { return this.b.listen("$onProcessReplayEvent") } get onProcessOrphanQuestion() { return this.b.listen("$onProcessOrphanQuestion") } get onExecuteCommand() { return this.b.listen("$onExecuteCommand") } get onDidRequestDetach() { return this.b.listen("$onDidRequestDetach") } get onDidChangeProperty() { return this.b.listen("$onDidChangeProperty") } constructor(t, s, i, n, r, o, a, c, l, u) { this.a = t, this.b = s, this.c = i, this.d = n, this.e = r, this.f = o, this.g = a, this.h = c, this.i = l, this.j = u } restartPtyHost() { return this.b.call("$restartPtyHost", []) } async createProcess(t, s, i, n, r, o, a, c) { await this.c.whenRemoteConfigurationLoaded(); const l = Object.create(null), u = i ? this.d.getWorkspaceFolder(i) ?? void 0 : void 0; let h; try { h = (await this.e.resolveAnyMap(u, { shellLaunchConfig: t, configuration: s })).resolvedVariables } catch (I) { this.h.error(I) } if (h) for (const [I, L] of h.entries()) (/^config:/.test(I) || I === "selectedText" || I === "lineNumber") && (l[I] = L); const d = []; for (const [I, L] of this.f.collections.entries()) d.push([I, O_(L.map), C_(L.descriptionMap)]); const p = await this.g.resolveAuthority(this.a), g = p.options && p.options.extensionHostEnv, w = this.d.getWorkspace(), y = w.folders, x = i ? this.d.getWorkspaceFolder(i) : null, k = hd.getOriginalUri(this.i.activeEditor, { supportSideBySide: kn.PRIMARY, filterByScheme: [Z.file, Z.vscodeUserData, Z.vscodeRemote] }), A = { configuration: s, resolvedVariables: l, envVariableCollections: d, shellLaunchConfig: t, workspaceId: w.id, workspaceName: this.j.getWorkspaceLabel(w), workspaceFolders: y, activeWorkspaceFolder: x, activeFileResource: k, shouldPersistTerminal: r, options: n, cols: o, rows: a, unicodeVersion: c, resolverEnv: g }; return await this.b.call("$createProcess", A) } requestDetachInstance(t, s) { return this.b.call("$requestDetachInstance", [t, s]) } acceptDetachInstanceReply(t, s) { return this.b.call("$acceptDetachInstanceReply", [t, s]) } attachToProcess(t) { return this.b.call("$attachToProcess", [t]) } detachFromProcess(t, s) { return this.b.call("$detachFromProcess", [t, s]) } listProcesses() { return this.b.call("$listProcesses") } getLatency() { return this.b.call("$getLatency") } getPerformanceMarks() { return this.b.call("$getPerformanceMarks") } reduceConnectionGraceTime() { return this.b.call("$reduceConnectionGraceTime") } processBinary(t, s) { return this.b.call("$processBinary", [t, s]) } start(t) { return this.b.call("$start", [t]) } input(t, s) { return this.b.call("$input", [t, s]) } acknowledgeDataEvent(t, s) { return this.b.call("$acknowledgeDataEvent", [t, s]) } setUnicodeVersion(t, s) { return this.b.call("$setUnicodeVersion", [t, s]) } shutdown(t, s) { return this.b.call("$shutdown", [t, s]) } resize(t, s, i) { return this.b.call("$resize", [t, s, i]) } clearBuffer(t) { return this.b.call("$clearBuffer", [t]) } getInitialCwd(t) { return this.b.call("$getInitialCwd", [t]) } getCwd(t) { return this.b.call("$getCwd", [t]) } orphanQuestionReply(t) { return this.b.call("$orphanQuestionReply", [t]) } sendCommandResult(t, s, i) { return this.b.call("$sendCommandResult", [t, s, i]) } freePortKillProcess(t) { return this.b.call("$freePortKillProcess", [t]) } getDefaultSystemShell(t) { return this.b.call("$getDefaultSystemShell", [t]) } getProfiles(t, s, i) { return this.b.call("$getProfiles", [this.d.getWorkspace().id, t, s, i]) } acceptPtyHostResolvedVariables(t, s) { return this.b.call("$acceptPtyHostResolvedVariables", [t, s]) } getEnvironment() { return this.b.call("$getEnvironment") } getWslPath(t, s) { return this.b.call("$getWslPath", [t, s]) } setTerminalLayoutInfo(t) { const i = { workspaceId: this.d.getWorkspace().id, tabs: t ? t.tabs : [] }; return this.b.call("$setTerminalLayoutInfo", i) } updateTitle(t, s, i) { return this.b.call("$updateTitle", [t, s, i]) } updateIcon(t, s, i, n) { return this.b.call("$updateIcon", [t, s, i, n]) } refreshProperty(t, s) { return this.b.call("$refreshProperty", [t, s]) } updateProperty(t, s, i) { return this.b.call("$updateProperty", [t, s, i]) } getTerminalLayoutInfo() { const s = { workspaceId: this.d.getWorkspace().id }; return this.b.call("$getTerminalLayoutInfo", s) } reviveTerminalProcesses(t, s, i) { return this.b.call("$reviveTerminalProcesses", [t, s, i]) } getRevivedPtyNewId(t) { return this.b.call("$getRevivedPtyNewId", [t]) } serializeTerminalState(t) { return this.b.call("$serializeTerminalState", [t]) } installAutoReply(t, s) { return this.b.call("$installAutoReply", [t, s]) } uninstallAllAutoReplies() { return this.b.call("$uninstallAllAutoReplies", []) } }, lv = __decorate([__param(2, dP), __param(3, q6), __param(4, nP), __param(5, gP), __param(6, tE), __param(7, x2), __param(8, c$), __param(9, pP)], lv) } }), vU = v({ "out-build/vs/platform/files/common/diskFileSystemProviderClient.js"() { "use strict"; Me(), yr(), fe(), re(), z(), qa(), Wt(), st(), Bo() } }), vP, bU = v({ "out-build/vs/workbench/services/remote/common/remoteFileSystemProviderClient.js"() { "use strict"; fe(), z(), De(), vU(), vP = "remoteFilesystem" } }); async function bP(e, t, s) { s === void 0 && (s = !!(globalThis._VSCODE_PRODUCT_JSON ?? globalThis.vscode?.context?.configuration()?.product)?.commit); const i = t ? `${e}/${t}` : e; if (Zd.has(i)) return Zd.get(i); let n; if (/^\w[\w\d+.-]*:\/\//.test(i)) n = i; else { const c = `${yP && s && !$s ? vy : wy}/${i}`; n = _t.asBrowserUri(c).toString(!0) } const r = xP.INSTANCE.load(n); return Zd.set(i, r), r } var yP, EP, Yr, xP, Zd, yU = v({ "out-build/vs/amdX.js"() { "use strict"; De(), X(), ee(), Wt(), yP = !1, EP = class { constructor(e, t, s) { this.id = e, this.dependencies = t, this.callback = s } }, function (e) { e[e.Uninitialized = 1] = "Uninitialized", e[e.InitializedInternal = 2] = "InitializedInternal", e[e.InitializedExternal = 3] = "InitializedExternal" }(Yr || (Yr = {})), xP = class BI { static { this.INSTANCE = new BI } constructor() { this.a = typeof self == "object" && self.constructor && self.constructor.name === "DedicatedWorkerGlobalScope", this.b = typeof document == "object", this.c = [], this.d = Yr.Uninitialized } g() { if (this.d === Yr.Uninitialized) { if (globalThis.define) { this.d = Yr.InitializedExternal; return } } else return; this.d = Yr.InitializedInternal, globalThis.define = (t, s, i) => { typeof t != "string" && (i = s, s = t, t = null), (typeof s != "object" || !Array.isArray(s)) && (i = s, s = null), this.c.push(new EP(t, s, i)) }, globalThis.define.amd = !0, this.b ? this.f = globalThis._VSCODE_WEB_PACKAGE_TTP ?? window.trustedTypes?.createPolicy("amdLoader", { createScriptURL(t) { if (t.startsWith(window.location.origin) || t.startsWith(`${Z.vscodeFileResource}://${ep}`)) return t; throw new Error(`[trusted_script_src] Invalid script url: ${t}`) } }) : this.a && (this.f = globalThis._VSCODE_WEB_PACKAGE_TTP ?? globalThis.trustedTypes?.createPolicy("amdLoader", { createScriptURL(t) { return t } })) } async load(t) { if (this.g(), this.d === Yr.InitializedExternal) return new Promise(o => { const a = We(); globalThis.define(a, [t], function (c) { o(c) }) }); const s = await (this.a ? this.i(t) : this.b ? this.h(t) : this.j(t)); if (!s) { console.warn(`Did not receive a define call from script ${t}`); return } const i = {}, n = [], r = []; if (Array.isArray(s.dependencies)) for (const o of s.dependencies) o === "exports" ? n.push(i) : r.push(o); if (r.length > 0) throw new Error(`Cannot resolve dependencies for script ${t}. The dependencies are: ${r.join(", ")}`); return typeof s.callback == "function" ? s.callback(...n) ?? i : s.callback } h(t) { return new Promise((s, i) => { const n = document.createElement("script"); n.setAttribute("async", "async"), n.setAttribute("type", "text/javascript"); const r = () => { n.removeEventListener("load", o), n.removeEventListener("error", a) }, o = c => { r(), s(this.c.pop()) }, a = c => { r(), i(c) }; n.addEventListener("load", o), n.addEventListener("error", a), this.f && (t = this.f.createScriptURL(t)), n.setAttribute("src", t), window.document.getElementsByTagName("head")[0].appendChild(n) }) } async i(t) { return this.f && (t = this.f.createScriptURL(t)), await import(t), this.c.pop() } async j(t) { try { const s = (await import("fs")).default, i = (await import("vm")).default, n = (await import("module")).default, r = E.parse(t).fsPath, o = s.readFileSync(r).toString(), a = n.wrap(o.replace(/^#!.*/, "")); return new i.Script(a).runInThisContext().apply(), this.c.pop() } catch (s) { throw s } } }, Zd = new Map } }); async function EU(e, t, s) { const i = $s ? await bP("@microsoft/1ds-core-js", "bundle/ms.core.min.js") : await import("@microsoft/1ds-core-js"), n = $s ? await bP("@microsoft/1ds-post-js", "bundle/ms.post.min.js") : await import("@microsoft/1ds-post-js"), r = new i.AppInsightsCore, o = new n.PostChannel, a = { instrumentationKey: e, endpointUrl: uv, loggingLevelTelemetry: 0, loggingLevelConsole: 0, disableCookiesUsage: !0, disableDbgExt: !0, disableInstrumentationKeyValidation: !0, channels: [[o]] }; if (s) { a.extensionConfig = {}; const c = { alwaysUseXhrOverride: !0, ignoreMc1Ms0CookieProcessing: !0, httpXHROverride: s }; a.extensionConfig[o.identifier] = c } return r.initialize(a, []), r.addTelemetryInitializer(c => { c.ext = c.ext ?? {}, c.ext.web = c.ext.web ?? {}, c.ext.web.consentDetails = '{"GPC_DataSharingOptIn":false}', t && (c.ext.utc = c.ext.utc ?? {}, c.ext.utc.flags = 8462029) }), r } var uv, kP, $P, xU = v({ "out-build/vs/platform/telemetry/common/1dsAppender.js"() { "use strict"; yU(), fe(), es(), X(), fn(), uv = "https://mobile.events.data.microsoft.com/OneCollector/1.0", kP = "https://mobile.events.data.microsoft.com/ping", $P = class { constructor(e, t, s, i, n) { this.e = e, this.f = t, this.g = s, this.h = n, this.c = uv, this.d = kP, this.g || (this.g = {}), typeof i == "function" ? this.a = i() : this.a = i, this.b = null } i(e) { if (this.a) { if (typeof this.a != "string") { e(this.a); return } this.b || (this.b = EU(this.a, this.e, this.h)), this.b.then(t => { e(t) }, t => { Vt(t), console.error(t) }) } } log(e, t) { if (!this.a) return; t = $o(t, this.g), t = eL(t); const s = this.f + "/" + e; try { this.i(i => { i.pluginVersionString = t?.properties.version ?? "Unknown", i.track({ name: s, baseData: { name: s, properties: t?.properties, measurements: t?.measurements } }) }) } catch { } } flush() { return this.a ? new Promise(e => { this.i(t => { t.unload(!0, () => { this.a = void 0, e(void 0) }) }) }) : Promise.resolve(void 0) } } } }); import *as kU from "https"; async function $U(e, t) { const s = await t.request(e, Ne.None), i = (await rn(s.stream)).toString(), n = s.res.statusCode ?? 200; return { headers: s.res.headers, statusCode: n, responseData: i } } async function SU(e) { const t = { method: e.type, headers: e.headers }; return new Promise((i, n) => { const r = kU.request(e.url ?? "", t, o => { o.on("data", function (a) { i({ headers: o.headers, statusCode: o.statusCode ?? 200, responseData: a.toString() }) }), o.on("error", function (a) { n(a) }) }); r.write(e.data, o => { o && n(o) }), r.end() }) } async function PU(e, t, s) { const i = typeof t.data == "string" ? t.data : new TextDecoder().decode(t.data), n = { type: "POST", headers: { ...t.headers, "Content-Type": "application/json", "Content-Length": Buffer.byteLength(t.data).toString() }, url: t.urlString, data: i }; try { const r = e ? await $U(n, e) : await SU(n); s(r.statusCode, r.headers, r.responseData) } catch { s(0, {}) } } var SP, IU = v({ "out-build/vs/platform/telemetry/node/1dsAppender.js"() { "use strict"; Me(), Dt(), xU(), SP = class extends $P { constructor(e, t, s, i, n) { const r = { sendPOST: (o, a) => { PU(e, o, a) } }; super(t, s, i, n, r) } } } }); function AU(e, t, s, i, n) { const r = new am; return e.forEach(o => { const a = r.get(o.identifier); a && n.warn(m(12893, null, a.extensionLocation.fsPath, o.extensionLocation.fsPath)), r.set(o.identifier, o) }), t.forEach(o => { const a = r.get(o.identifier); if (a) if (a.isBuiltin) { if (x6(a.version, o.version)) { n.warn(`Skipping extension ${o.extensionLocation.path} in favour of the builtin extension ${a.extensionLocation.path}.`); return } o.isBuiltin = !0 } else n.warn(m(12894, null, a.extensionLocation.fsPath, o.extensionLocation.fsPath)); else if (o.isBuiltin) { n.warn(`Skipping obsolete builtin extension ${o.extensionLocation.path}`); return } r.set(o.identifier, o) }), s.forEach(o => { const a = r.get(o.identifier); a && n.warn(m(12895, null, a.extensionLocation.fsPath, o.extensionLocation.fsPath)), r.set(o.identifier, o) }), i.forEach(o => { n.info(m(12896, null, o.extensionLocation.fsPath)); const a = r.get(o.identifier); a && a.isBuiltin && (o.isBuiltin = !0), r.set(o.identifier, o) }), Array.from(r.values()) } var DU = v({ "out-build/vs/workbench/services/extensions/common/extensionsUtil.js"() { "use strict"; Ii(), he(), Ro() } }), PP, IP, RU = v({ "out-build/vs/server/node/remoteExtensionsScanner.js"() { "use strict"; de(), X(), ti(), ee(), Yi(), nl(), wo(), Bc(), DU(), De(), PP = class { constructor(e, t, s, i, n, r, o) { this.c = e, this.d = s, this.f = i, this.g = n, this.h = r, this.i = o, this.a = Promise.resolve(), this.b = Promise.resolve(); const a = t.args["install-builtin-extension"]; if (a) { n.trace("Installing builtin extensions passed via args..."); const l = { isMachineScoped: !!t.args["do-not-sync"], installPreReleaseVersion: !!t.args["pre-release"] }; Pt("code/server/willInstallBuiltinExtensions"), this.b = this.a = e.installExtensions([], this.j(a), l, !!t.args.force).then(() => { Pt("code/server/didInstallBuiltinExtensions"), n.trace("Finished installing builtin extensions") }, u => { n.error(u) }) } const c = t.args["install-extension"]; c && (n.trace("Installing extensions passed via args..."), this.b = this.a.then(() => e.installExtensions(this.j(c), [], { isMachineScoped: !!t.args["do-not-sync"], installPreReleaseVersion: !!t.args["pre-release"], isApplicationScoped: !0 }, !!t.args.force)).then(() => { n.trace("Finished installing extensions") }, l => { n.error(l) })) } j(e) { return e.map(t => /\.vsix$/i.test(t) ? E.file(sn(t) ? t : _(xi(), t)) : t) } whenExtensionsReady() { return this.b } async scanExtensions(e, t, s, i, n) { Pt("code/server/willScanExtensions"), this.g.trace(`Scanning extensions using UI language: ${e}`), await this.a; const r = i ? i.filter(a => a.scheme === Z.file).map(a => a.fsPath) : void 0; t = t ?? this.d.defaultProfile.extensionsResource; const o = await this.k(t, e ?? Ss, s, r, n); return this.g.trace("Scanned Extensions", o), this.r(o), Pt("code/server/didScanExtensions"), o } async k(e, t, s, i, n) { await this.q(t, n); const [r, o, a, c] = await Promise.all([this.n(t), this.o(e, t), this.m(t, s), this.l(t, i)]); return AU(r, o, a, c, this.g) } async l(e, t) { return t ? (await Promise.all(t.map(s => this.f.scanOneOrMultipleExtensions(E.file(nn(s)), 1, { language: e })))).flat().map(s => $h(s, !0)) : [] } async m(e, t) { const s = []; if (t?.length) { const i = await Promise.all(t.map(n => this.f.scanExistingExtension(n, 1, { language: e }))); for (const n of i) n && s.push($h(n, !1)) } return s } async n(e) { return (await this.f.scanSystemExtensions({ language: e, useCache: !0 })).map(s => $h(s, !1)) } async o(e, t) { return (await this.f.scanUserExtensions({ profileLocation: e, language: t, useCache: !0 })).map(i => $h(i, !1)) } async q(e, t) { if (!(e === An || !this.h.isEnabled())) { try { if ((await this.i.getInstalledLanguages()).find(i => i.id === e)) { this.g.trace(`Language Pack ${e} is already installed. Skipping language pack installation.`); return } } catch (s) { this.g.error(s) } if (!t) { this.g.trace(`No language pack id provided for language ${e}. Skipping language pack installation.`); return } this.g.trace(`Language Pack ${t} for language ${e} is not installed. It will be installed now.`); try { await this.c.installExtensions([t], [], { isMachineScoped: !0 }, !0) } catch (s) { this.g.error(s) } } } r(e) { const t = (a, c) => a.replace(/file/g, "vscode-remote"), s = a => { let c = ""; return c += a.global ? "g" : "", c += a.ignoreCase ? "i" : "", c += a.multiline ? "m" : "", new RegExp(t(a.source, !0), c) }, i = new class { mapDefined(a) { return kr.create(a) } mapNot(a) { return $r.create(a) } mapEquals(a, c) { return a === "resourceScheme" && typeof c == "string" ? po.create(a, t(c, !1)) : po.create(a, c) } mapNotEquals(a, c) { return a === "resourceScheme" && typeof c == "string" ? mo.create(a, t(c, !1)) : mo.create(a, c) } mapGreater(a, c) { return Za.create(a, c) } mapGreaterEquals(a, c) { return Ka.create(a, c) } mapSmaller(a, c) { return ec.create(a, c) } mapSmallerEquals(a, c) { return tc.create(a, c) } mapRegex(a, c) { return a === "resourceScheme" && c ? go.create(a, s(c)) : go.create(a, c) } mapIn(a, c) { return Ru.create(a, c) } mapNotIn(a, c) { return Lu.create(a, c) } }, n = a => { if (!a || !a.when || !/resourceScheme/.test(a.when)) return; const c = $t.deserialize(a.when); if (!c) return; const l = c.map(i); a.when = l.serialize() }, r = a => { if (Array.isArray(a)) for (const c of a) n(c); else n(a) }, o = a => { for (const c in a) r(a[c]) }; e.forEach(a => { a.contributes && (a.contributes.menus && o(a.contributes.menus), a.contributes.keybindings && r(a.contributes.keybindings), a.contributes.views && o(a.contributes.views)) }) } }, IP = class { constructor(e, t) { this.a = e, this.b = t } listen(e, t) { throw new Error("Invalid listen") } async call(e, t, s) { const i = this.b(e); switch (t) { case "whenExtensionsReady": return this.a.whenExtensionsReady(); case "scanExtensions": { const n = s[0], r = s[1] ? E.revive(i.transformIncoming(s[1])) : void 0, o = Array.isArray(s[2]) ? s[2].map(u => E.revive(i.transformIncoming(u))) : void 0, a = Array.isArray(s[3]) ? s[3].map(u => E.revive(i.transformIncoming(u))) : void 0, c = s[4]; return (await this.a.scanExtensions(n, r, o, a, c)).map(u => Jn(u, i)) } }throw new Error("Invalid call") } } } }), LU, AP, NU = v({ "out-build/vs/platform/remote/common/remoteExtensionsScanner.js"() { "use strict"; oe(), LU = se("IRemoteExtensionsScannerService"), AP = "remoteExtensionsScanner" } }), DP, OU = v({ "out-build/vs/platform/userDataProfile/common/userDataProfileIpc.js"() { "use strict"; re(), z(), Js(), nl(), DP = class { constructor(e, t) { this.a = e, this.b = t } listen(e, t) { const s = this.b(e); switch (t) { case "onDidChangeProfiles": return H.map(this.a.onDidChangeProfiles, i => ({ all: i.all.map(n => Jn({ ...n }, s)), added: i.added.map(n => Jn({ ...n }, s)), removed: i.removed.map(n => Jn({ ...n }, s)), updated: i.updated.map(n => Jn({ ...n }, s)) })) }throw new Error(`Invalid listen ${t}`) } async call(e, t, s) { const i = this.b(e); switch (t) { case "createProfile": { const n = await this.a.createProfile(s[0], s[1], s[2]); return Jn({ ...n }, i) } case "updateProfile": { let n = Y6(Z8(s[0], i), this.a.profilesHome.scheme); return n = await this.a.updateProfile(n, s[1]), Jn({ ...n }, i) } case "removeProfile": { const n = Y6(Z8(s[0], i), this.a.profilesHome.scheme); return this.a.removeProfile(n) } }throw new Error(`Invalid call ${t}`) } } } }), Kd, CU = v({ "out-build/vs/platform/terminal/node/nodePtyHostStarter.js"() { "use strict"; z(), De(), P7(), ps(), U7(), Kd = class extends J { constructor(t, s) { super(), this.a = t, this.b = s } start() { const t = { serverName: "Pty Host", args: ["--type=ptyHost", "--logsPath", this.b.logsHome.with({ scheme: Z.file }).fsPath], env: { VSCODE_ESM_ENTRYPOINT: "vs/platform/terminal/node/ptyHostMain", VSCODE_PIPE_LOGGING: "true", VSCODE_VERBOSE_LOGGING: "true", VSCODE_RECONNECT_GRACE_TIME: this.a.graceTime, VSCODE_RECONNECT_SHORT_GRACE_TIME: this.a.shortGraceTime, VSCODE_RECONNECT_SCROLLBACK: this.a.scrollback } }, s = bC(this.b.args, this.b.isBuilt); s && (s.break && s.port ? t.debugBrk = s.port : !s.break && s.port && (t.debug = s.port)); const i = new rg(_t.asFileUri("bootstrap-fork").fsPath, t), n = new ut; return n.add(i), { client: i, store: n, onDidProcessExit: i.onDidProcessExit } } }, Kd = __decorate([__param(1, Is)], Kd) } }); import { spawn as _U } from "child_process"; import { relative as jU } from "path"; var hv, e1, RP = v({
  556. "out-build/vs/platform/cssDev/node/cssDevService.js"() {
  557. "use strict"; De(), co(), ps(), oe(), Re(), hv = se("ICSSDevelopmentService"), e1 = class {
  558. constructor(t, s) { this.b = t, this.c = s } get isEnabled() { return !this.b.isBuilt } getCssModules() { return this.a ??= this.d(), this.a } async d() {
  559. if (!this.isEnabled) return []; const t = await import("@vscode/ripgrep"); return await new Promise(s => {
  560. const i = Ki.create(), n = [], r = new TextDecoder, o = _t.asFileUri("").fsPath, a = _U(t.rgPath, ["-g", "**/*.css", "--files", "--no-ignore", o], {}); a.stdout.on("data", c => {
  561. const l = r.decode(c, { stream: !0 }); n.push(l.split(`
  562. `).filter(Boolean))
  563. }), a.on("error", c => { this.c.error("[CSS_DEV] FAILED to compute CSS data", c), s([]) }), a.on("close", () => { const c = n.flat().map(l => jU(o, l).replace(/\\/g, "/")).filter(Boolean).sort(); s(c), this.c.info(`[CSS_DEV] DONE, ${c.length} css modules (${Math.round(i.elapsed())}ms)`) })
  564. })
  565. }
  566. }, e1 = __decorate([__param(0, Is), __param(1, pe)], e1)
  567. }
  568. }); import { hostname as TU, release as UU } from "os"; async function MU(e, t, s, i) {
  569. const n = new ku, r = new NP, o = { _serviceBrand: void 0, ...Bt }; n.set(Nt, o); const a = new Fh(t, o); n.set(Is, a), n.set(zs, a); const c = new gg(yp(a), a.logsHome); n.set(sc, c), r.registerChannel("logger", new k2(c, ue => zl(ue.remoteAuthority))); const l = c.createLogger("remoteagent", { name: m(2564, null) }), u = new mg(l, [new OP(yp(a))]); n.set(pe, u), setTimeout(() => FU(a.logsHome.with({ scheme: Z.file }).fsPath).then(null, ue => u.error(ue)), 1e4), u.onDidChangeLogLevel(ue => AD(u, ue, `Log level changed to ${u4(u.getLevel())}`)), u.trace(`Remote configuration data at ${s}`), u.trace("process arguments:", a.args), Array.isArray(o.serverGreeting) && u.info(`
  570. ${o.serverGreeting.join(`
  571. `)}
  572. `), r.registerChannel(Lg.ChannelName, new Lg); const h = new S7(ue => ue.clientId === "renderer"), d = i.add(new Wc(u)); n.set(gt, d), d.registerProvider(Z.file, i.add(new Xc(u))); const p = new Xo(d); n.set(jt, p); const g = new Bp(a.machineSettingsResource, d, new Bu, u); n.set(ts, g); const w = new tl(p, a, d, u); n.set(Gs, w), r.registerChannel("userDataProfiles", new DP(w, ue => zl(ue.remoteAuthority))), n.set(hv, new Xe(e1, void 0, !0)); const [, , y, x, k] = await Promise.all([g.initialize(), w.init(), d_(u.error.bind(u)), m_(u.error.bind(u)), g_(u.error.bind(u))]), A = new _8; n.set(Sg, A); const I = new yc(g, a, u); n.set(Pi, I); let L = G5; const q = sL(o, g); if (H5(o, a)) { !KR(o, a) && o.aiConfig?.ariaKey && (L = new SP(I, q, LP, null, o.aiConfig.ariaKey), i.add(ye(() => L?.flush()))); const ue = { appenders: [L], commonProperties: XR(UU(), TU(), process.arch, o.commit, o.version + "-remote", y, x, k, q, "remoteAgent"), piiPaths: iL(a) }, K = a.args["telemetry-level"]; let ht = 3; K === "all" ? ht = 3 : K === "error" ? ht = 2 : K === "crash" ? ht = 1 : K !== void 0 && (ht = 0), n.set(df, new Xe(ff, [ue, ht])) } else n.set(df, Q2); n.set(oi, new Xe(Nc)); const te = r.getChannel("download", h); n.set(gh, new Y8(te, () => zl("renderer"))), n.set(Ri, new Xe(sl)), n.set(Or, new Xe(el)), n.set(Ph, new Xe(Hc)), n.set(dn, new Xe(il)), n.set(Rh, new Xe(zc)); const V = new Gm(n); n.set(Bh, V.createInstance(Kc)); const N = V.createInstance(Kd, { graceTime: 108e5, shortGraceTime: 3e5, scrollback: g.getValue("terminal.integrated.persistentSessionScrollback") ?? 100 }), le = V.createInstance(af, N); return n.set(f2, le), V.invokeFunction(ue => { const K = ue.get(Rh), ht = ue.get(Or), C = ue.get(oi), R = ue.get(Bh), M = new W2(e, a, w, A); r.registerChannel("remoteextensionsenvironment", M); const j = new X2(ue.get(df), L); r.registerChannel("telemetry", j), r.registerChannel(wP, new lP(a, u, le, o, K, g)); const G = new PP(V.createInstance(Zc, u), a, w, ht, u, C, R); r.registerChannel(AP, new IP(G, Je => zl(Je.remoteAuthority))); const ce = i.add(new J2(u, a, g)); r.registerChannel(vP, ce), r.registerChannel("request", new s2(ue.get(Pi))); const Ie = new t2(K, Je => zl(Je.remoteAuthority)); return r.registerChannel("extensions", Ie), G.whenExtensionsReady().then(() => K.cleanUp()), i.add(new n2(ue.get(qt))), { telemetryService: ue.get(qt) } }), { socketServer: r, instantiationService: V }
  573. } function zl(e) { return t1[e] || (t1[e] = ll(e)), t1[e] } function Bi() { const e = new Date; return `${fv(e.getHours())}:${fv(e.getMinutes())}:${fv(e.getSeconds())}` } function fv(e) { return e < 10 ? `0${e}` : String(e) } async function FU(e) { const t = at(e), s = Ct(e), r = (await Pe.readdir(s)).filter(a => /^\d{8}T\d{6}$/.test(a)).sort().filter(a => a !== t), o = r.slice(0, Math.max(0, r.length - 9)); await Promise.all(o.map(a => Pe.rm(_(s, a)))) } var LP, t1, NP, OP, BU = v({ "out-build/vs/server/node/serverServices.js"() { "use strict"; re(), z(), De(), de(), J8(), ss(), qo(), ds(), e5(), w_(), Am(), v_(), ps(), l9(), Ds(), zm(), F7(), b_(), H9(), st(), Y9(), Uh(), Ou(), q9(), tp(), ug(), B7(), Re(), Vc(), Ls(), Dr(), y_(), T5(), M5(), As(), fn(), x_(), _g(), tj(), qs(), J7(), cj(), uj(), hj(), pj(), hU(), cf(), Jo(), wU(), bU(), j8(), Bc(), Q7(), Uo(), Js(), Hu(), IU(), l8(), i8(), n8(), r8(), S2(), he(), RU(), NU(), OU(), CU(), RP(), d8(), LP = "monacoworkbench", t1 = Object.create(null), NP = class extends $7 { constructor() { const e = new D; super(e.event), this.b = e } acceptConnection(e, t) { this.b.fire({ protocol: e, onDidClientDisconnect: t }) } }, OP = class extends nc { constructor(e = ic) { super(), this.setLevel(e), this.h = !!process.stdout.isTTY } trace(e, ...t) { this.g(F.Trace) && (this.h ? console.log(`\x1B[90m[${Bi()}]\x1B[0m`, e, ...t) : console.log(`[${Bi()}]`, e, ...t)) } debug(e, ...t) { this.g(F.Debug) && (this.h ? console.log(`\x1B[90m[${Bi()}]\x1B[0m`, e, ...t) : console.log(`[${Bi()}]`, e, ...t)) } info(e, ...t) { this.g(F.Info) && (this.h ? console.log(`\x1B[90m[${Bi()}]\x1B[0m`, e, ...t) : console.log(`[${Bi()}]`, e, ...t)) } warn(e, ...t) { this.g(F.Warning) && (this.h ? console.warn(`\x1B[93m[${Bi()}]\x1B[0m`, e, ...t) : console.warn(`[${Bi()}]`, e, ...t)) } error(e, ...t) { this.g(F.Error) && (this.h ? console.error(`\x1B[91m[${Bi()}]\x1B[0m`, e, ...t) : console.error(`[${Bi()}]`, e, ...t)) } flush() { } } } }); import { createReadStream as HU, promises as Vl } from "fs"; import *as zU from "path"; import *as VU from "url"; import *as dv from "cookie"; import *as WU from "crypto"; async function Ms(e, t, s, i) { t.writeHead(s, { "Content-Type": "text/plain" }), t.end(i) } async function CP(e, t, s, i, n, r) { try { const o = await Vl.stat(e); if (t === 1) { const a = `W/"${[o.ino, o.size, o.mtime.getTime()].join("-")}"`; if (i.headers["if-none-match"] === a) return n.writeHead(304), void n.end(); r.Etag = a } else t === 2 ? r["Cache-Control"] = "public, max-age=31536000" : t === 0 && (r["Cache-Control"] = "no-store"); r["Content-Type"] = _P[vr(e)] || mj(e) || "text/plain", n.writeHead(200, r), HU(e).pipe(n) } catch (o) { return o.code !== "ENOENT" ? (s.error(o), console.error(o.toString())) : console.error(`File not found: ${e}`), n.writeHead(404, { "Content-Type": "text/plain" }), void n.end("Not found") } } var _P, jP, s1, i1, qU = v({
  574. "out-build/vs/server/node/webClientServer.js"() {
  575. "use strict"; ki(), pf(), X(), Re(), Jo(), de(), De(), Wt(), Ls(), Dr(), Dt(), ee(), Me(), $e(), RP(), _P = { ".html": "text/html", ".js": "text/javascript", ".json": "application/json", ".css": "text/css", ".svg": "image/svg+xml" }, function (e) { e[e.NO_CACHING = 0] = "NO_CACHING", e[e.ETAG = 1] = "ETAG", e[e.NO_EXPIRY = 2] = "NO_EXPIRY" }(jP || (jP = {})), s1 = Ct(_t.asFileUri("").fsPath), i1 = class {
  576. constructor(t, s, i, n, r, o, a, c) { this.f = t, this.g = s, this.serverRootPath = i, this.h = n, this.i = r, this.j = o, this.k = a, this.l = c, this.a = this.k.extensionsGallery?.resourceUrlTemplate ? E.parse(this.k.extensionsGallery.resourceUrlTemplate) : void 0, this.b = `${i}/static`, this.c = `${i}/callback`, this.d = `${i}/web-extension-resource` } async handle(t, s, i) { try { const n = i.pathname; return n.startsWith(this.b) && n.charCodeAt(this.b.length) === 47 ? this.m(t, s, i) : n === this.g ? this.p(t, s, i) : n === this.c ? this.r(s) : n.startsWith(this.d) && n.charCodeAt(this.d.length) === 47 ? this.o(t, s, i) : Ms(t, s, 404, "Not found.") } catch (n) { return this.i.error(n), console.error(n.toString()), Ms(t, s, 500, "Internal Server Error.") } } async m(t, s, i) { const n = Object.create(null), o = decodeURIComponent(i.pathname).substring(this.b.length + 1), a = _(s1, o); return jn(a, s1, !rt) ? CP(a, this.h.isBuilt ? 2 : 1, this.i, t, s, n) : Ms(t, s, 400, "Bad request.") } n(t) { const s = t.authority.indexOf("."); return s !== -1 ? t.authority.substring(s + 1) : void 0 } async o(t, s, i) { if (!this.a) return Ms(t, s, 500, "No extension gallery service configured."); const n = decodeURIComponent(i.pathname), r = si(n.substring(this.d.length + 1)), o = E.parse(r).with({ scheme: this.a.scheme, authority: r.substring(0, r.indexOf("/")), path: r.substring(r.indexOf("/") + 1) }); if (this.n(this.a) !== this.n(o)) return Ms(t, s, 403, "Request Forbidden"); const a = {}, c = g => { const w = t.headers[g]; w && (ve(w) || w[0]) ? a[g] = ve(w) ? w : w[0] : g !== g.toLowerCase() && c(g.toLowerCase()) }; c("X-Client-Name"), c("X-Client-Version"), c("X-Machine-Id"), c("X-Client-Commit"); const l = await this.j.request({ type: "GET", url: o.toString(!0), headers: a }, Ne.None), u = l.res.statusCode || 500; if (u !== 200) { let g = null; try { g = await Ar(l) } catch { } return Ms(t, s, u, g || `Request failed with status ${u}`) } const h = Object.create(null), d = g => { const w = l.res.headers[g]; w ? h[g] = w : g !== g.toLowerCase() && d(g.toLowerCase()) }; d("Cache-Control"), d("Content-Type"), s.writeHead(200, h); const p = await rn(l.stream); return void s.end(p.buffer) } async p(t, s, i) { const n = i.query[uo]; if (typeof n == "string") { const V = Object.create(null); V["Set-Cookie"] = dv.serialize(xu, n, { sameSite: "lax", maxAge: 60 * 60 * 24 * 7 }); const N = Object.create(null); for (const ue in i.query) ue !== uo && (N[ue] = i.query[ue]); const le = VU.format({ pathname: i.pathname, query: N }); return V.Location = le, s.writeHead(302, V), void s.end() } const r = V => { const N = t.headers[V]; return Array.isArray(N) ? N[0] : N }, o = !this.h.isBuilt && this.h.args["use-test-resolver"], a = o ? "test+test" : r("x-original-host") || r("x-forwarded-host") || t.headers.host; if (!a) return Ms(t, s, 400, "Bad request."); function c(V) { return JSON.stringify(V).replace(/"/g, "&quot;") } let l; this.h.args["enable-smoke-test-driver"] && (l = !1); const u = V => V && E.file(zU.resolve(V)).with({ scheme: Z.vscodeRemote, authority: a }), h = _t.asFileUri(`vs/code/browser/workbench/workbench${this.h.isBuilt ? "" : "-dev"}.html`).fsPath, d = !this.h.isBuilt && this.h.args["github-auth"] ? { id: We(), providerId: "github", accessToken: this.h.args["github-auth"], scopes: [["user:email"], ["repo"]] } : void 0, p = {}; if (!this.h.isBuilt) try { const V = JSON.parse((await Vl.readFile(_(s1, "product.overrides.json"))).toString()); Object.assign(p, V) } catch { } const g = { remoteAuthority: a, serverBasePath: this.g, _wrapWebWorkerExtHostInIframe: l, developmentOptions: { enableSmokeTestDriver: this.h.args["enable-smoke-test-driver"] ? !0 : void 0, logLevel: this.i.getLevel() }, settingsSyncOptions: !this.h.isBuilt && this.h.args["enable-sync"] ? { enabled: !0 } : void 0, enableWorkspaceTrust: !this.h.args["disable-workspace-trust"], folderUri: u(this.h.args["default-folder"]), workspaceUri: u(this.h.args["default-workspace"]), productConfiguration: p, callbackRoute: this.c }, y = dv.parse(t.headers.cookie || "")["vscode.nls.locale"] || t.headers["accept-language"]?.split(",")[0]?.toLowerCase() || "en"; let x, k; !y.startsWith("en") && this.k.nlsCoreBaseUrl ? (x = this.k.nlsCoreBaseUrl, k = `${x}${this.k.commit}/${this.k.version}/${y}/nls.messages.js`) : k = ""; const A = { WORKBENCH_WEB_CONFIGURATION: c(g), WORKBENCH_AUTH_SESSION: d ? c(d) : "", WORKBENCH_WEB_BASE_URL: this.b, WORKBENCH_NLS_URL: k, WORKBENCH_NLS_FALLBACK_URL: `${this.b}/out/nls.messages.js` }; if (this.l.isEnabled) { const V = await this.l.getCssModules(); A.WORKBENCH_DEV_CSS_MODULES = JSON.stringify(V) } if (o) { const V = []; for (const N of ["vscode-test-resolver", "github-authentication"]) { const le = JSON.parse((await Vl.readFile(_t.asFileUri(`${gy}/${N}/package.json`).fsPath)).toString()); V.push({ extensionPath: N, packageJSON: le }) } A.WORKBENCH_BUILTIN_EXTENSIONS = c(V) } let I; try { I = (await Vl.readFile(h)).toString().replace(/\{\{([^}]+)\}\}/g, (N, le) => A[le] ?? "undefined") } catch { return s.writeHead(404, { "Content-Type": "text/plain" }), void s.end("Not found") } const te = { "Content-Type": "text/html", "Content-Security-Policy": ["default-src 'self';", "img-src 'self' https: data: blob:;", "media-src 'self';", `script-src 'self' 'unsafe-eval' ${x ?? ""} blob: 'nonce-1nline-m4p' ${this.q(I).join(" ")} 'sha256-2Q+j4hfT09+1+imS46J2YlkCtHWQt0/BE79PXjJ0ZJ8=' 'sha256-/r7rqQ+yrxt57sxLuQ6AMYcy/lUpvAIzHjIJt/OeLWU=' ${o ? "" : `http://${a}`};`, "child-src 'self';", "frame-src 'self' https://*.vscode-cdn.net data:;", "worker-src 'self' data: blob:;", "style-src 'self' 'unsafe-inline';", "connect-src 'self' ws: wss: https:;", "font-src 'self' blob:;", "manifest-src 'self';"].join(" ") }; return this.f.type !== 0 && (te["Set-Cookie"] = dv.serialize(xu, this.f.value, { sameSite: "lax", maxAge: 60 * 60 * 24 * 7 })), s.writeHead(200, te), void s.end(I) } q(t) {
  577. const s = /<script>([\s\S]+?)<\/script>/img, i = []; let n; for (; n = s.exec(t);) {
  578. const r = WU.createHash("sha256"), o = n[1].replace(/\r\n/g, `
  579. `), a = r.update(Buffer.from(o)).digest().toString("base64"); i.push(`'sha256-${a}'`)
  580. } return i
  581. } async r(t) { const s = _t.asFileUri("vs/code/browser/workbench/callback.html").fsPath, i = (await Vl.readFile(s)).toString(), n = ["default-src 'self';", "img-src 'self' https: data: blob:;", "media-src 'none';", `script-src 'self' ${this.q(i).join(" ")};`, "style-src 'self' 'unsafe-inline';", "font-src 'self' blob:;"].join(" "); return t.writeHead(200, { "Content-Type": "text/html", "Content-Security-Policy": n }), void t.end(i) }
  582. }, i1 = __decorate([__param(3, Qc), __param(4, pe), __param(5, Pi), __param(6, Nt), __param(7, hv)], i1)
  583. }
  584. }); import *as GU from "crypto"; import *as n1 from "fs"; import *as JU from "net"; import { performance as YU } from "perf_hooks"; import *as TP from "url"; import { createRequire as XU } from "node:module"; async function QU(e, t, s) {
  585. const i = await r_(t); i instanceof jr && (console.warn(i.message), process.exit(1)); function n(k) { Bv(A => { Hv(A) && A.stack && /unexpectedErrorHandler/.test(A.stack) || k(A) }) } const r = []; n(k => { r.push(k), console.error(k) }); let o = !1; process.on("SIGPIPE", () => { o || (o = !0, Vt(new Error("Unexpected SIGPIPE"))) }); const a = new ut, { socketServer: c, instantiationService: l } = await MU(i, t, s, a); l.invokeFunction(k => { const A = k.get(pe); r.forEach(I => A.error(I)), r.length = 0, n(I => A.error(I)) }), l.invokeFunction(k => { const A = k.get(ts); me && (A.getValue("security.restrictUNCAccess") === !1 ? u8() : wg(A.getValue("security.allowedUNCHosts"))) }), l.invokeFunction(k => {
  586. const A = k.get(pe); if (me && process.env.HOMEDRIVE && process.env.HOMEPATH) {
  587. const I = _(process.env.HOMEDRIVE, "node_modules"), L = Ct(_(process.env.HOMEDRIVE, process.env.HOMEPATH)), q = _(L, "node_modules"); if (n1.existsSync(I) || n1.existsSync(q)) {
  588. const te = `
  589. *
  590. * !!!! Server terminated due to presence of CVE-2020-1416 !!!!
  591. *
  592. * Please remove the following directories and re-try
  593. * ${I}
  594. * ${q}
  595. *
  596. * For more information on the vulnerability https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-1416
  597. *
  598. `; A.warn(te), console.warn(te), process.exit(0)
  599. }
  600. }
  601. }); const u = l.invokeFunction(k => { const A = k.get(pe); if (n1.existsSync(_(_t.asFileUri("").fsPath, "../node_modules/vsda"))) try { return UP("vsda") } catch (L) { A.error(L) } return null }); let h = t["server-base-path"]; h && !h.startsWith("/") && (h = `/${h}`); const d = n1.existsSync(_t.asFileUri("vs/code/browser/workbench/workbench.html").fsPath); if (d && e && typeof e != "string") { const k = i.type !== 0 ? `?${uo}=${i.value}` : ""; console.log(`Web UI available at http://localhost${e.port === 80 ? "" : `:${e.port}`}${h ?? ""}${k}`) } const p = l.createInstance(r1, c, i, u, d, h); Pt("code/server/ready"); const g = YU.now(), w = global.vscodeServerStartTime, y = global.vscodeServerListenTime, x = global.vscodeServerCodeLoadedTime; if (l.invokeFunction(async k => { const A = k.get(qt); if (A.publicLog2("serverStart", { startTime: w, startedTime: y, codeLoadedTime: x, readyTime: g }), rt) { const I = k.get(pe), L = await MC(I.error.bind(I)); L && A.publicLog2("serverPlatformInfo", { platformId: L.id, platformVersionId: L.version_id, platformIdLike: L.id_like }) } }), t["print-startup-performance"]) {
  602. let k = ""; k += `Start-up time: ${y - w}
  603. `, k += `Code loading time: ${x - w}
  604. `, k += `Initialized time: ${g - w}
  605. `, k += `
  606. `, console.log(k)
  607. } return p
  608. } var UP, MP, r1, FP, ZU = v({
  609. "out-build/vs/server/node/remoteExtensionHostAgentServer.js"() {
  610. "use strict"; Me(), fe(), ki(), z(), De(), de(), Yi(), X(), et(), ee(), Wt(), FC(), zC(), h8(), P8(), Qh(), ds(), oe(), Re(), Ls(), As(), B8(), s_(), a_(), Jo(), BU(), qU(), UP = XU(import.meta.url), MP = 5 * 60 * 1e3, r1 = class extends J {
  611. constructor(t, s, i, n, r, o, a, c, l) { super(), this.n = t, this.r = s, this.s = i, this.t = o, this.u = a, this.w = c, this.y = l, this.h = FP.create(this.u), this.j = dy(a, r), this.a = Object.create(null), this.b = Object.create(null), this.f = new Set, this.g = n ? this.y.createInstance(i1, this.r, r ?? "/", this.j) : null, this.w.info("Extension host agent started."), this.L(!0) } async handleRequest(t, s) { if (t.method !== "GET") return Ms(t, s, 405, `Unsupported method ${t.method}`); if (!t.url) return Ms(t, s, 400, "Bad request."); const i = TP.parse(t.url, !0); let n = i.pathname; if (!n) return Ms(t, s, 400, "Bad request."); if (n.startsWith(this.j) && n.charCodeAt(this.j.length) === 47 && (n = n.substring(this.j.length)), n === "/version") return s.writeHead(200, { "Content-Type": "text/plain" }), void s.end(this.u.commit || ""); if (n === "/delay-shutdown") return this.N(), s.writeHead(200), void s.end("OK"); if (!o_(this.r, t, i)) return Ms(t, s, 403, "Forbidden!!!." + t + i + this.r); if (n === "/vscode-remote-resource") { const r = i.query.path; if (typeof r != "string") return Ms(t, s, 400, "Bad request."); let o; try { o = E.from({ scheme: Z.file, path: r }).fsPath } catch { return Ms(t, s, 400, "Bad request.") } const a = Object.create(null); this.t.isBuilt && (jn(o, this.t.builtinExtensionsPath, !rt) || jn(o, this.t.extensionsPath, !rt)) && (a["Cache-Control"] = "public, max-age=31536000"), a.Vary = "Origin"; const c = t.headers.origin; return c && this.h.matches(c) && (a["Access-Control-Allow-Origin"] = c), CP(o, 1, this.w, t, s, a) } if (this.g) { this.g.handle(t, s, i); return } return s.writeHead(404, { "Content-Type": "text/plain" }), void s.end("Not found") } handleUpgrade(t, s) {
  612. let i = We(), n = !1, r = !1; if (t.url) { const h = TP.parse(t.url, !0).query; typeof h.reconnectionToken == "string" && (i = h.reconnectionToken), h.reconnection === "true" && (n = !0), h.skipWebSocketFrames === "true" && (r = !0) } if (t.headers.upgrade === void 0 || t.headers.upgrade.toLowerCase() !== "websocket") { s.end("HTTP/1.1 400 Bad Request"); return } const o = t.headers["sec-websocket-key"], a = GU.createHash("sha1"); a.update(o + "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"); const l = ["HTTP/1.1 101 Switching Protocols", "Upgrade: websocket", "Connection: Upgrade", `Sec-WebSocket-Accept: ${a.digest("base64")}`]; let u = !1; if (!r && !this.t.args["disable-websocket-compression"] && t.headers["sec-websocket-extensions"]) { const h = Array.isArray(t.headers["sec-websocket-extensions"]) ? t.headers["sec-websocket-extensions"] : [t.headers["sec-websocket-extensions"]]; for (const d of h) if (!/\b((server_max_window_bits)|(server_no_context_takeover)|(client_no_context_takeover))\b/.test(d)) { if (/\b(permessage-deflate)\b/.test(d)) { u = !0, l.push("Sec-WebSocket-Extensions: permessage-deflate"); break } if (/\b(x-webkit-deflate-frame)\b/.test(d)) { u = !0, l.push("Sec-WebSocket-Extensions: x-webkit-deflate-frame"); break } } } s.write(l.join(`\r
  613. `) + `\r
  614. \r
  615. `), s.setTimeout(0), s.setNoDelay(!0), r ? this.D(new Ko(s, `server-connection-${i}`), n, i) : this.D(new R8(new Ko(s, `server-connection-${i}`), u, null, !0), n, i)
  616. } handleServerError(t) { this.w.error("Error occurred in server"), this.w.error(t) } z(t) { let s; return t instanceof Ko ? s = t.socket : s = t.socket.socket, s.remoteAddress || "<unknown>" } async C(t, s, i) { const n = s.getSocket(); this.w.error(`${t} ${i}.`); const r = { type: "error", reason: i }; s.sendControl(O.fromString(JSON.stringify(r))), s.dispose(), await n.drain(), n.dispose() } D(t, s, i) { const n = this.z(t), r = `[${n}][${i.substr(0, 8)}]`, o = new S8({ socket: t }), a = this.s ? new this.s.validator : null, c = this.s ? new this.s.signer : null; let l; (function (p) { p[p.WaitingForAuth = 0] = "WaitingForAuth", p[p.WaitingForConnectionType = 1] = "WaitingForConnectionType", p[p.Done = 2] = "Done", p[p.Error = 3] = "Error" })(l || (l = {})); let u = 0; const h = p => { u = 3, d.dispose(), this.C(r, o, p) }, d = o.onControlMessage(p => { if (u === 0) { let g; try { g = JSON.parse(p.toString()) } catch { return h("Malformed first message") } if (g.type !== "auth") return h("Invalid first message"); if (this.r.type === 2 && !this.r.validate(g.auth)) return h("Unauthorized client refused: auth mismatch"); let w = We(); if (c) try { w = c.sign(g.data) } catch { } let y = We(); if (a) try { y = a.createNewMessage(y) } catch { } const x = { type: "sign", data: y, signedData: w }; o.sendControl(O.fromString(JSON.stringify(x))), u = 1 } else if (u === 1) { let g; try { g = JSON.parse(p.toString()) } catch { return h("Malformed second message") } if (g.type !== "connectionType") return h("Invalid second message"); if (typeof g.signedData != "string") return h("Invalid second message field type"); const w = g.commit, y = this.u.commit; if (w && y && w !== y) return h("Client refused: version mismatch"); let x = !1; if (!a) x = !0; else if (this.r.validate(g.signedData)) x = !0; else try { x = a.validate(g.signedData) === "ok" } catch { } if (!x) { if (this.t.isBuilt) return h("Unauthorized client refused"); this.w.error(`${r} Unauthorized client handshake failed but we proceed because of dev mode.`) } for (const k in this.b) this.b[k].shortenReconnectionGraceTimeIfNecessary(); for (const k in this.a) this.a[k].shortenReconnectionGraceTimeIfNecessary(); u = 2, d.dispose(), this.F(n, r, o, t, s, i, g) } }) } async F(t, s, i, n, r, o, a) { const c = a.desiredConnectionType === 1 ? `${s}[ManagementConnection]` : a.desiredConnectionType === 2 ? `${s}[ExtensionHostConnection]` : s; if (a.desiredConnectionType === 1) if (r) { if (!this.b[o]) return this.f.has(o) ? this.C(c, i, "Unknown reconnection token (seen before)") : this.C(c, i, "Unknown reconnection token (never seen)"); i.sendControl(O.fromString(JSON.stringify({ type: "ok" }))); const l = i.readEntireBuffer(); i.dispose(), this.b[o].acceptReconnection(t, n, l) } else { if (this.b[o]) return this.C(c, i, "Duplicate reconnection token"); i.sendControl(O.fromString(JSON.stringify({ type: "ok" }))); const l = new H8(this.w, o, t, i); this.n.acceptConnection(l.protocol, l.onClose), this.b[o] = l, this.f.add(o), l.onClose(() => { delete this.b[o] }) } else if (a.desiredConnectionType === 2) { const l = a.args || { language: "en" }, u = await this.I(l); if (u.port && this.w.trace(`${c} - startParams debug port ${u.port}`), this.w.trace(`${c} - startParams language: ${u.language}`), this.w.trace(`${c} - startParams env: ${JSON.stringify(u.env)}`), r) { if (!this.a[o]) return this.f.has(o) ? this.C(c, i, "Unknown reconnection token (seen before)") : this.C(c, i, "Unknown reconnection token (never seen)"); i.sendPause(), i.sendControl(O.fromString(JSON.stringify(u.port ? { debugPort: u.port } : {}))); const h = i.readEntireBuffer(); i.dispose(), this.a[o].acceptReconnection(t, n, h) } else { if (this.a[o]) return this.C(c, i, "Duplicate reconnection token"); i.sendPause(), i.sendControl(O.fromString(JSON.stringify(u.port ? { debugPort: u.port } : {}))); const h = i.readEntireBuffer(); i.dispose(); const d = this.y.createInstance(Zh, o, t, n, h); this.a[o] = d, this.f.add(o), d.onClose(() => { d.dispose(), delete this.a[o], this.J() }), d.start(u) } } else if (a.desiredConnectionType === 3) { const l = a.args; this.G(i, l) } else return this.C(c, i, "Unknown initial data received") } async G(t, s) { const i = t.getSocket().socket, n = t.readEntireBuffer(); t.dispose(), i.pause(); const r = await this.H(s.host, s.port); n.byteLength > 0 && r.write(n.buffer), r.on("end", () => i.end()), r.on("close", () => i.end()), r.on("error", () => i.destroy()), i.on("end", () => r.end()), i.on("close", () => r.end()), i.on("error", () => r.destroy()), r.pipe(i), i.pipe(r) } H(t, s) { return new Promise((i, n) => { const r = JU.createConnection({ host: t, port: s, autoSelectFamily: !0 }, () => { r.removeListener("error", n), r.pause(), i(r) }); r.once("error", n) }) } I(t) { return typeof t.port == "number" ? HC(t.port, 10, 5e3).then(s => (t.port = s, t)) : (t.debugId = void 0, t.port = void 0, t.break = void 0, Promise.resolve(t)) } async J() { if (!this.t.args["enable-remote-auto-shutdown"]) return; this.O(), !!Object.keys(this.a).length || (console.log("Last EH closed, waiting before shutting down"), this.w.info("Last EH closed, waiting before shutting down"), this.L()) } L(t = !1) { this.t.args["enable-remote-auto-shutdown"] && (this.t.args["remote-auto-shutdown-without-delay"] && !t ? this.M() : this.m = setTimeout(() => { this.m = void 0, this.M() }, MP)) } M() { if (!!Object.keys(this.a).length) { console.log("New EH opened, aborting shutdown"), this.w.info("New EH opened, aborting shutdown"); return } else console.log("Last EH closed, shutting down"), this.w.info("Last EH closed, shutting down"), this.dispose(), process.exit(0) } N() { this.m && (console.log("Got delay-shutdown request while in shutdown timeout, delaying"), this.w.info("Got delay-shutdown request while in shutdown timeout, delaying"), this.O(), this.L()) } O() { this.m && (console.log("Cancelling previous shutdown timeout"), this.w.info("Cancelling previous shutdown timeout"), clearTimeout(this.m), this.m = void 0) }
  617. }, r1 = __decorate([__param(5, Qc), __param(6, Nt), __param(7, pe), __param(8, Er)], r1), FP = class b1 { static create(t) { const s = t.webEndpointUrlTemplate, i = t.commit, n = t.quality; if (!s || !i || !n) return new b1(null); const r = We(), a = new URL(s.replace("{{uuid}}", r).replace("{{commit}}", i).replace("{{quality}}", n)).origin, c = Rn(a).replace(r, "[a-zA-Z0-9\\-]+"); try { const l = DA(`^${c}$`, !0, { matchCase: !1 }); return new b1(l) } catch { return new b1(null) } } constructor(t) { this.a = t } matches(t) { return this.a ? this.a.test(t) : !1 } }
  618. }
  619. }), BP = {}; QI(BP, { $4Y: () => tM, $5Y: () => sM }); import *as KU from "os"; import *as HP from "fs"; import { performance as eM } from "perf_hooks"; function tM() { CC(Hi, Aa, cg) } function sM(e) { return QU(e, Hi, Aa) } var zP, Hi, Aa, Wl, o1, VP, WP, qP, GP, JP, iM = v({ "out-build/vs/server/node/server.main.js"() { "use strict"; De(), _C(), ZU(), Yu(), de(), Jo(), Vc(), Yi(), Pt("code/server/codeLoaded"), global.vscodeServerCodeLoadedTime = eM.now(), zP = { onMultipleValues: (e, t) => { console.error(`Option '${e}' can only be defined once. Using value ${t}.`) }, onEmptyValue: e => { console.error(`Ignoring option '${e}': Value must not be empty.`) }, onUnknownOption: e => { console.error(`Ignoring option '${e}': not supported for server.`) }, onDeprecatedOption: (e, t) => { console.warn(`Option '${e}' is deprecated: ${t}`) } }, Hi = I5(process.argv.slice(2), cg, zP), Aa = Hi["server-data-dir"] || process.env.VSCODE_AGENT_FOLDER || _(KU.homedir(), Bt.serverDataFolderName || ".vscode-remote"), Wl = Hi["user-data-dir"] || _(Aa, "data"), o1 = _(Wl, "User"), VP = _(o1, "globalStorage"), WP = _(o1, "History"), qP = _(Wl, "Machine"), GP = Ct(_t.asFileUri("").fsPath), JP = _(GP, "extensions"), Hi["user-data-dir"] = Wl, Hi["builtin-extensions-dir"] = JP, Hi["extensions-dir"] = Hi["extensions-dir"] || _(Aa, "extensions"), [Aa, Hi["extensions-dir"], Wl, o1, qP, VP, WP].forEach(e => { try { HP.existsSync(e) || HP.mkdirSync(e, { mode: 448 }) } catch (t) { console.error(t) } }) } }); delete process.env.ELECTRON_RUN_AS_NODE; var nM = jv(Tv(), 1); import *as YP from "path"; import *as XP from "http"; import *as rM from "os"; import *as oM from "readline"; import { performance as QP } from "perf_hooks"; import { fileURLToPath as aM } from "url"; import *as ZP from "path"; import "fs"; import { fileURLToPath as cM } from "url"; import { createRequire as lM } from "node:module"; var uM = lM(import.meta.url), LH = ZP.dirname(cM(import.meta.url)); if (Error.stackTraceLimit = 100, !process.env.VSCODE_HANDLES_SIGPIPE) { let e = !1; process.on("SIGPIPE", () => { e || (e = !0, console.error(new Error("Unexpected SIGPIPE"))) }) } function hM() { try { typeof process.env.VSCODE_CWD != "string" && (process.env.VSCODE_CWD = process.cwd()), process.platform === "win32" && process.chdir(ZP.dirname(process.execPath)) } catch (e) { console.error(e) } } hM(); function fM(e) { if (!process.env.VSCODE_DEV) return; if (!e) throw new Error("Missing injectPath"); uM("node:module").register("./bootstrap-import.js", { parentURL: import.meta.url, data: e }) } import *as dM from "path"; import *as pv from "fs"; import { fileURLToPath as pM } from "url"; import { createRequire as mM, register as gM } from "node:module"; import { createRequire as wM } from "node:module"; var KP = wM(import.meta.url), mv = { BUILD_INSERT_PRODUCT_CONFIGURATION: "BUILD_INSERT_PRODUCT_CONFIGURATION" }; mv.BUILD_INSERT_PRODUCT_CONFIGURATION && (mv = KP("../product.json")); var gv = { "name": "OpenVSCode Server", "version": "1.96.4", "private": true, "overrides": { "node-gyp-build": "4.8.1", "kerberos@2.1.1": { "node-addon-api": "7.1.0" }, "@parcel/watcher@2.1.0": { "node-addon-api": "7.1.0" } }, "type": "module" }; gv.BUILD_INSERT_PACKAGE_CONFIGURATION && (gv = KP("../package.json")); var zi = mv, vM = gv; Yi(); var bM = mM(import.meta.url), yM = dM.dirname(pM(import.meta.url)); if ((process.env.ELECTRON_RUN_AS_NODE || process.versions.electron) && gM(`data:text/javascript;base64,${Buffer.from(`
  620. export async function resolve(specifier, context, nextResolve) {
  621. if (specifier === 'fs') {
  622. return {
  623. format: 'builtin',
  624. shortCircuit: true,
  625. url: 'node:original-fs'
  626. };
  627. }
  628. // Defer to the next hook in the chain, which would be the
  629. // Node.js default resolve if this is the last user-specified loader.
  630. return nextResolve(specifier, context);
  631. }`).toString("base64")}`, import.meta.url), globalThis._VSCODE_PRODUCT_JSON = { ...zi }, process.env.VSCODE_DEV) try { const e = bM("../product.overrides.json"); globalThis._VSCODE_PRODUCT_JSON = Object.assign(globalThis._VSCODE_PRODUCT_JSON, e) } catch { } globalThis._VSCODE_PACKAGE_JSON = { ...vM }, globalThis._VSCODE_FILE_ROOT = yM; var wv = void 0; function EM() { return wv || (wv = xM()), wv } async function xM() { Pt("code/willLoadNls"); let e, t; if (process.env.VSCODE_NLS_CONFIG) try { e = JSON.parse(process.env.VSCODE_NLS_CONFIG), e?.languagePack?.messagesFile ? t = e.languagePack.messagesFile : e?.defaultMessagesFile && (t = e.defaultMessagesFile), globalThis._VSCODE_NLS_LANGUAGE = e?.resolvedLanguage } catch (s) { console.error(`Error reading VSCODE_NLS_CONFIG from environment: ${s}`) } if (!(process.env.VSCODE_DEV || !t)) { try { globalThis._VSCODE_NLS_MESSAGES = JSON.parse((await pv.promises.readFile(t)).toString()) } catch (s) { if (console.error(`Error reading NLS messages file ${t}: ${s}`), e?.languagePack?.corruptMarkerFile) try { await pv.promises.writeFile(e.languagePack.corruptMarkerFile, "corrupted") } catch (i) { console.error(`Error writing corrupted NLS marker file: ${i}`) } if (e?.defaultMessagesFile && e.defaultMessagesFile !== t) try { globalThis._VSCODE_NLS_MESSAGES = JSON.parse((await pv.promises.readFile(e.defaultMessagesFile)).toString()) } catch (i) { console.error(`Error reading default NLS messages file ${e.defaultMessagesFile}: ${i}`) } } return Pt("code/didLoadNls"), e } } async function kM() { await EM() } Fv(), Yi(); var eI = YP.dirname(aM(import.meta.url)); Pt("code/server/start"), globalThis.vscodeServerStartTime = QP.now(); var Cs = (0, nM.default)(process.argv.slice(2), { boolean: ["start-server", "list-extensions", "print-ip-address", "help", "version", "accept-server-license-terms", "update-extensions"], string: ["install-extension", "install-builtin-extension", "uninstall-extension", "locate-extension", "socket-path", "host", "port", "compatibility"], alias: { help: "h", version: "v" } });["host", "port", "accept-server-license-terms"].forEach(e => { if (!Cs[e]) { const t = process.env[`VSCODE_SERVER_${e.toUpperCase().replace("-", "_")}`]; t && (Cs[e] = t) } }); var $M = ["list-extensions", "locate-extension"], SM = ["install-extension", "install-builtin-extension", "uninstall-extension", "update-extensions"], PM = Cs.help || Cs.version || $M.some(e => !!Cs[e]) || SM.some(e => !!Cs[e]) && !Cs["start-server"], tI = await Mv({ userLocale: "en", osLocale: "en", commit: zi.commit, userDataPath: "", nlsMetadataPath: eI }); if (PM) sI(tI).then(e => { e.$4Y() }); else {
  632. let e = null, t = null; const s = () => (t || (t = sI(tI).then(async l => { const u = await l.$5Y(r); return e = u, u })), t); if (Array.isArray(zi.serverLicense) && zi.serverLicense.length && (console.log(zi.serverLicense.join(`
  633. `)), zi.serverLicensePrompt && Cs["accept-server-license-terms"] !== !0)) { RM() && (console.log("To accept the license terms, start the server with --accept-server-license-terms"), process.exit(1)); try { await iI(zi.serverLicensePrompt) || process.exit(1) } catch (l) { console.log(l), process.exit(1) } } let i = !0, n = !0, r = null; const o = XP.createServer(async (l, u) => (i && (i = !1, Pt("code/server/firstRequest")), (await s()).handleRequest(l, u))); o.on("upgrade", async (l, u) => (n && (n = !1, Pt("code/server/firstWebSocket")), (await s()).handleUpgrade(l, u))), o.on("error", async l => (await s()).handleServerError(l)); const a = vv(Cs.host) || (Cs.compatibility !== "1.63" ? "localhost" : void 0), c = Cs["socket-path"] ? { path: vv(Cs["socket-path"]) } : { host: a, port: await IM(a, vv(Cs.port)) }; o.listen(c, async () => {
  634. let l = Array.isArray(zi.serverGreeting) && zi.serverGreeting.length ? `
  635. ${zi.serverGreeting.join(`
  636. `)}
  637. `: ""; if (typeof c.port == "number" && Cs["print-ip-address"]) {
  638. const u = rM.networkInterfaces(); Object.keys(u).forEach(function (h) {
  639. u[h]?.forEach(function (d) {
  640. !d.internal && d.family === "IPv4" && (l += `IP Address: ${d.address}
  641. `)
  642. })
  643. })
  644. } if (r = o.address(), r === null) throw new Error("Unexpected server address"); l += `Server bound to ${typeof r == "string" ? r : `${r.address}:${r.port} (${r.family})`}
  645. `, l += `Extension host agent listening on ${typeof r == "string" ? r : r.port}
  646. `, console.log(l), Pt("code/server/started"), globalThis.vscodeServerListenTime = QP.now(), await s()
  647. }), process.on("exit", () => { o.close(), e && e.dispose() })
  648. } function vv(e) { return Array.isArray(e) && (e = e.pop()), typeof e == "string" ? e : void 0 } async function IM(e, t) { if (t) { let s; if (t.match(/^\d+$/)) return parseInt(t, 10); if (s = AM(t)) { const i = await DM(e, s.start, s.end); if (i !== void 0) return i; console.warn(`--port: Could not find free port in range: ${s.start} - ${s.end} (inclusive).`), process.exit(1) } else console.warn(`--port "${t}" is not a valid number or range. Ranges must be in the form 'from-to' with 'from' an integer larger than 0 and not larger than 'end'.`), process.exit(1) } return 3e3 } function AM(e) { const t = e.match(/^(\d+)-(\d+)$/); if (t) { const s = parseInt(t[1], 10), i = parseInt(t[2], 10); if (s > 0 && s <= i && i <= 65535) return { start: s, end: i } } } async function DM(e, t, s) { const i = n => new Promise(r => { const o = XP.createServer(); o.listen(n, e, () => { o.close(), r(!0) }).on("error", () => { r(!1) }) }); for (let n = t; n <= s; n++)if (await i(n)) return n } async function sI(e) { return process.env.VSCODE_NLS_CONFIG = JSON.stringify(e), process.env.VSCODE_HANDLES_SIGPIPE = "true", process.env.VSCODE_DEV ? (process.env.VSCODE_DEV_INJECT_NODE_MODULE_LOOKUP_PATH = process.env.VSCODE_DEV_INJECT_NODE_MODULE_LOOKUP_PATH || YP.join(eI, "..", "remote", "node_modules"), fM(process.env.VSCODE_DEV_INJECT_NODE_MODULE_LOOKUP_PATH)) : delete process.env.VSCODE_DEV_INJECT_NODE_MODULE_LOOKUP_PATH, await kM(), Promise.resolve().then(() => (iM(), BP)) } function RM() { try { return !process.stdin.isTTY } catch { } return !1 } function iI(e) {
  649. const t = oM.createInterface({ input: process.stdin, output: process.stdout }); return new Promise((s, i) => {
  650. t.question(e + " ", async function (n) {
  651. t.close(); const r = n.toString().trim().toLowerCase(); r === "" || r === "y" || r === "yes" ? s(!0) : r === "n" || r === "no" ? s(!1) : (process.stdout.write(`
  652. Invalid Response. Answer either yes (y, yes) or no (n, no)
  653. `), s(await iI(e)))
  654. })
  655. })
  656. }
  657. //# sourceMappingURL=https://main.vscode-cdn.net/sourcemaps/56bdd153e7c7f853189fd6965f73b2049f6d06c9/core/server-main.js.map