@achasoft/dsh-advanced-sidebar 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +205 -0
- package/cordis.patch.yml +158 -0
- package/lib/client.js +24890 -0
- package/lib/client.js.map +1 -0
- package/lib/host.js +3156 -0
- package/lib/index.js +20 -0
- package/lib/remote.js +1994 -0
- package/lib/typert.host.js +2000 -0
- package/package.json +136 -0
- package/types/client/ActionMenu.d.ts +36 -0
- package/types/client/Glyphs.d.ts +49 -0
- package/types/client/PanelHost.d.ts +24 -0
- package/types/client/Seats.d.ts +16 -0
- package/types/client/SettingsCard.d.ts +22 -0
- package/types/client/contract.d.ts +358 -0
- package/types/client/controller.d.ts +224 -0
- package/types/client/cx.d.ts +16 -0
- package/types/client/index.d.ts +39 -0
- package/types/client/locales.d.ts +474 -0
- package/types/client/panels/ChangesPanel.d.ts +22 -0
- package/types/client/panels/FilesPanel.d.ts +16 -0
- package/types/client/panels/PreviewPanel.d.ts +27 -0
- package/types/client/panels/TasksPanel.d.ts +28 -0
- package/types/client/panels/TerminalPanel.d.ts +40 -0
- package/types/client/panels/shared.d.ts +65 -0
- package/types/client/target.d.ts +23 -0
- package/types/client/terminal-screen.d.ts +95 -0
- package/types/client/ui/Alert.d.ts +30 -0
- package/types/client/ui/Badge.d.ts +24 -0
- package/types/client/ui/Button.d.ts +28 -0
- package/types/client/ui/Calendar.d.ts +65 -0
- package/types/client/ui/DatePicker.d.ts +41 -0
- package/types/client/ui/Dialog.d.ts +61 -0
- package/types/client/ui/DropdownMenu.d.ts +98 -0
- package/types/client/ui/Input.d.ts +25 -0
- package/types/client/ui/Layer.d.ts +56 -0
- package/types/client/ui/Select.d.ts +49 -0
- package/types/client/ui/Separator.d.ts +15 -0
- package/types/client/ui/Tabs.d.ts +49 -0
- package/types/client/ui/Toggle.d.ts +57 -0
- package/types/client/ui/Tooltip.d.ts +22 -0
- package/types/client/ui/anchor.d.ts +92 -0
- package/types/client/ui/index.d.ts +42 -0
- package/types/client/use-capability.d.ts +27 -0
- package/types/host/deletion.d.ts +57 -0
- package/types/host/files.d.ts +43 -0
- package/types/host/git.d.ts +198 -0
- package/types/host/index.d.ts +210 -0
- package/types/host/open-in.d.ts +93 -0
- package/types/host/paths.d.ts +55 -0
- package/types/host/porcelain.d.ts +51 -0
- package/types/host/preview.d.ts +185 -0
- package/types/host/run.d.ts +72 -0
- package/types/host/tasks.d.ts +80 -0
- package/types/host/terminals.d.ts +86 -0
- package/types/host/types.d.ts +877 -0
- package/types/index.d.ts +17 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","names":["_a","object","_a","config","initializer","util.jsonStringifyReplacer","issue","error","core.$ZodAsyncError","util.finalizeIssue","core.config","parse","errors.$ZodRealError","parseAsync","errors.$ZodError","safeParse","safeParseAsync","encode","decode","encodeAsync","decodeAsync","safeEncode","safeDecode","safeEncodeAsync","safeDecodeAsync","duration","version","_emoji","date","time","datetime","string","number","boolean","_null","_a","inst","util.floatSafeRemainder","util.NUMBER_FORMAT_RANGES","regexes.integer","util.nullish","util.getLengthableOrigin","regexes.lowercase","regexes.uppercase","util.escapeRegex","_a","util.aborted","checks","util.explicitlyAborted","core.$ZodAsyncError","checkResult","canary","result","safeParse","safeParseAsync","regexes.string","_","regexes.guid","regexes.uuid","regexes.email","regexes.emoji","regexes.nanoid","regexes.cuid","regexes.cuid2","regexes.ulid","regexes.xid","regexes.ksuid","regexes.datetime","regexes.date","regexes.time","regexes.duration","regexes.ipv4","regexes.ipv6","regexes.cidrv4","regexes.cidrv6","regexes.base64","base64","regexes.base64url","regexes.e164","regexes.number","regexes.boolean","regexes.null","util.prefixIssues","util.optionalKeys","r","util.cached","isObject","util.isObject","util.esc","allowsEval","util.allowsEval","util.finalizeIssue","core.config","util.cleanRegex","results","left","right","util.isPlainObject","util.getEnumValues","util.escapeRegex","core.$ZodEncodeError","util.issue","meta","util.normalizeParams","_null","checks.$ZodCheckLessThan","checks.$ZodCheckGreaterThan","checks.$ZodCheckMultipleOf","checks.$ZodCheckMaxLength","checks.$ZodCheckMinLength","checks.$ZodCheckLengthEquals","checks.$ZodCheckRegex","checks.$ZodCheckLowerCase","checks.$ZodCheckUpperCase","checks.$ZodCheckIncludes","checks.$ZodCheckStartsWith","checks.$ZodCheckEndsWith","checks.$ZodCheckOverwrite","util.slugify","issue","util.issue","checks.$ZodCheck","describe","meta","process","_a","meta","id","schema","process","core._isoDateTime","core._isoDate","core._isoTime","core._isoDuration","core.formatError","core.flattenError","issue","util.jsonStringifyReplacer","issues","parse.parse","parse.safeParse","parse.parseAsync","parse.safeParseAsync","parse.encode","parse.decode","parse.encodeAsync","parse.decodeAsync","parse.safeEncode","parse.safeDecode","parse.safeEncodeAsync","parse.safeDecodeAsync","def","util.mergeDefs","core.clone","meta","checks.overwrite","processors.stringProcessor","checks.regex","checks.includes","checks.startsWith","checks.endsWith","checks.minLength","checks.maxLength","checks.length","checks.lowercase","checks.uppercase","checks.trim","checks.normalize","checks.toLowerCase","checks.toUpperCase","checks.slugify","core._email","core._url","core._jwt","core._emoji","core._guid","core._uuid","core._uuidv4","core._uuidv6","core._uuidv7","core._nanoid","core._cuid","core._cuid2","core._ulid","core._base64","core._base64url","core._xid","core._ksuid","core._ipv4","core._ipv6","core._cidrv4","core._cidrv6","core._e164","iso.datetime","iso.date","iso.time","iso.duration","core._string","processors.numberProcessor","checks.gt","checks.gte","checks.lt","checks.lte","checks.multipleOf","core._number","core._int","processors.booleanProcessor","core._boolean","processors.nullProcessor","core._null","processors.unknownProcessor","core._unknown","processors.neverProcessor","core._never","processors.arrayProcessor","core._array","processors.objectProcessor","util.extend","util.safeExtend","util.merge","util.pick","util.omit","util.partial","util.required","util.normalizeParams","processors.unionProcessor","processors.intersectionProcessor","processors.enumProcessor","processors.literalProcessor","processors.transformProcessor","core.$ZodEncodeError","issue","util.issue","output","processors.optionalProcessor","processors.nullableProcessor","processors.defaultProcessor","util.shallowClone","processors.prefaultProcessor","processors.nonoptionalProcessor","processors.catchProcessor","processors.pipeProcessor","processors.readonlyProcessor","processors.customProcessor","core._refine","core._superRefine","core.describe","core.meta","z.object","z.string","z.union","z.literal","z.boolean","z.number","z.array","z.null","same","confirm","css","IconWarningOutline16","VARIANTS","css","css","Button","date","css","IconChevronLeftOutline14","IconChevronRightOutline14","css","_Fragment","css","IconChevronDownOutline14","FOCUSABLE","css","_Fragment","_Fragment","css","IconChevronRightOutline14","surface","IconCheckOutline16","Input","css","Textarea","_Fragment","css","IconChevronDownOutline14","IconCheckOutline16","css","css","IconCloseFill14","css","IconCheckOutline14","css","css","_Fragment","Fragment","IconRefreshOutline14","IconLoadingOutline16","IconSparkle16","IconChevronDownOutline14","IconChevronRightOutline14","IconCloseOutline16","IconCheckOutline16","IconCopyOutline16","_Fragment","css","IconChevronLeftOutline14","IconRefreshOutline14","IconFolderClose16","IconRightUpOutline16","describe","dotState","_Fragment","css","StateDot","IconStopFill16","IconLoadingOutline16","IconPlayOutline16","IconRefreshOutline14","IconRightUpOutline16","_Fragment","css","IconChevronDownOutline14","IconChevronRightOutline14","StateDot","IconStopFill16","e","t","s","r","n","o","t","i","e","a","u","l","h","c","d","_","m","v","S","y","f","p","C","g","Terminal","FitAddon","css","IconStopFill16","IconTrashOutline16","IconRefreshOutline14","_Fragment","IconPlusOutline16","confirm","width","_Fragment","css","IconCloseOutline16","css","describe","number","IconChevronDownOutline14","_Fragment","IconFolderOpenOutline16","IconQueueOutline14","IconArchiveOutline20","IconTrashOutline16","_Fragment","css","IconEllipsisOutline16","describe","sidebarRemote","describe"],"sources":["../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/core.js","../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/util.js","../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/errors.js","../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/parse.js","../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/regexes.js","../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/checks.js","../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/doc.js","../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/versions.js","../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/schemas.js","../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/registries.js","../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/api.js","../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/to-json-schema.js","../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/json-schema-processors.js","../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/iso.js","../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/errors.js","../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/parse.js","../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/schemas.js","../generated/typert.remote-client.js","../tsbuild/client/contract.js","../tsbuild/client/controller.js","../tsbuild/client/cx.js","../tsbuild/client/Glyphs.js","../tsbuild/client/ui/Alert.js","../tsbuild/client/ui/Badge.js","../tsbuild/client/ui/Button.js","../tsbuild/client/ui/Calendar.js","../tsbuild/client/ui/anchor.js","../tsbuild/client/ui/Layer.js","../tsbuild/client/ui/DatePicker.js","../tsbuild/client/ui/Dialog.js","../tsbuild/client/ui/DropdownMenu.js","../tsbuild/client/ui/Input.js","../tsbuild/client/ui/Select.js","../tsbuild/client/ui/Separator.js","../tsbuild/client/ui/Tabs.js","../tsbuild/client/ui/Toggle.js","../tsbuild/client/panels/shared.js","../tsbuild/client/panels/ChangesPanel.js","../tsbuild/client/panels/FilesPanel.js","../tsbuild/client/use-capability.js","../tsbuild/client/terminal-screen.js","../tsbuild/client/panels/PreviewPanel.js","../tsbuild/client/panels/TasksPanel.js","../node_modules/.pnpm/@xterm+addon-fit@0.11.0/node_modules/@xterm/addon-fit/lib/addon-fit.js","../node_modules/.pnpm/@xterm+xterm@6.0.0/node_modules/@xterm/xterm/lib/xterm.js","../tsbuild/client/panels/TerminalPanel.js","../tsbuild/client/PanelHost.js","../tsbuild/client/SettingsCard.js","../tsbuild/client/ActionMenu.js","../tsbuild/client/target.js","../tsbuild/client/Seats.js","../tsbuild/client/locales.js","../tsbuild/client/index.js"],"sourcesContent":["var _a;\n/** A special constant with type `never` */\nexport const NEVER = /*@__PURE__*/ Object.freeze({\n status: \"aborted\",\n});\nexport /*@__NO_SIDE_EFFECTS__*/ function $constructor(name, initializer, params) {\n function init(inst, def) {\n if (!inst._zod) {\n Object.defineProperty(inst, \"_zod\", {\n value: {\n def,\n constr: _,\n traits: new Set(),\n },\n enumerable: false,\n });\n }\n if (inst._zod.traits.has(name)) {\n return;\n }\n inst._zod.traits.add(name);\n initializer(inst, def);\n // support prototype modifications\n const proto = _.prototype;\n const keys = Object.keys(proto);\n for (let i = 0; i < keys.length; i++) {\n const k = keys[i];\n if (!(k in inst)) {\n inst[k] = proto[k].bind(inst);\n }\n }\n }\n // doesn't work if Parent has a constructor with arguments\n const Parent = params?.Parent ?? Object;\n class Definition extends Parent {\n }\n Object.defineProperty(Definition, \"name\", { value: name });\n function _(def) {\n var _a;\n const inst = params?.Parent ? new Definition() : this;\n init(inst, def);\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n for (const fn of inst._zod.deferred) {\n fn();\n }\n return inst;\n }\n Object.defineProperty(_, \"init\", { value: init });\n Object.defineProperty(_, Symbol.hasInstance, {\n value: (inst) => {\n if (params?.Parent && inst instanceof params.Parent)\n return true;\n return inst?._zod?.traits?.has(name);\n },\n });\n Object.defineProperty(_, \"name\", { value: name });\n return _;\n}\n////////////////////////////// UTILITIES ///////////////////////////////////////\nexport const $brand = Symbol(\"zod_brand\");\nexport class $ZodAsyncError extends Error {\n constructor() {\n super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`);\n }\n}\nexport class $ZodEncodeError extends Error {\n constructor(name) {\n super(`Encountered unidirectional transform during encode: ${name}`);\n this.name = \"ZodEncodeError\";\n }\n}\n(_a = globalThis).__zod_globalConfig ?? (_a.__zod_globalConfig = {});\nexport const globalConfig = globalThis.__zod_globalConfig;\nexport function config(newConfig) {\n if (newConfig)\n Object.assign(globalConfig, newConfig);\n return globalConfig;\n}\n","import { globalConfig } from \"./core.js\";\n// functions\nexport function assertEqual(val) {\n return val;\n}\nexport function assertNotEqual(val) {\n return val;\n}\nexport function assertIs(_arg) { }\nexport function assertNever(_x) {\n throw new Error(\"Unexpected value in exhaustive check\");\n}\nexport function assert(_) { }\nexport function getEnumValues(entries) {\n const numericValues = Object.values(entries).filter((v) => typeof v === \"number\");\n const values = Object.entries(entries)\n .filter(([k, _]) => numericValues.indexOf(+k) === -1)\n .map(([_, v]) => v);\n return values;\n}\nexport function joinValues(array, separator = \"|\") {\n return array.map((val) => stringifyPrimitive(val)).join(separator);\n}\nexport function jsonStringifyReplacer(_, value) {\n if (typeof value === \"bigint\")\n return value.toString();\n return value;\n}\nexport function cached(getter) {\n const set = false;\n return {\n get value() {\n if (!set) {\n const value = getter();\n Object.defineProperty(this, \"value\", { value });\n return value;\n }\n throw new Error(\"cached value already set\");\n },\n };\n}\nexport function nullish(input) {\n return input === null || input === undefined;\n}\nexport function cleanRegex(source) {\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n return source.slice(start, end);\n}\nexport function floatSafeRemainder(val, step) {\n const ratio = val / step;\n const roundedRatio = Math.round(ratio);\n // Use a relative epsilon scaled to the magnitude of the result\n const tolerance = Number.EPSILON * Math.max(Math.abs(ratio), 1);\n if (Math.abs(ratio - roundedRatio) < tolerance)\n return 0;\n return ratio - roundedRatio;\n}\nconst EVALUATING = /* @__PURE__*/ Symbol(\"evaluating\");\nexport function defineLazy(object, key, getter) {\n let value = undefined;\n Object.defineProperty(object, key, {\n get() {\n if (value === EVALUATING) {\n // Circular reference detected, return undefined to break the cycle\n return undefined;\n }\n if (value === undefined) {\n value = EVALUATING;\n value = getter();\n }\n return value;\n },\n set(v) {\n Object.defineProperty(object, key, {\n value: v,\n // configurable: true,\n });\n // object[key] = v;\n },\n configurable: true,\n });\n}\nexport function objectClone(obj) {\n return Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));\n}\nexport function assignProp(target, prop, value) {\n Object.defineProperty(target, prop, {\n value,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n}\nexport function mergeDefs(...defs) {\n const mergedDescriptors = {};\n for (const def of defs) {\n const descriptors = Object.getOwnPropertyDescriptors(def);\n Object.assign(mergedDescriptors, descriptors);\n }\n return Object.defineProperties({}, mergedDescriptors);\n}\nexport function cloneDef(schema) {\n return mergeDefs(schema._zod.def);\n}\nexport function getElementAtPath(obj, path) {\n if (!path)\n return obj;\n return path.reduce((acc, key) => acc?.[key], obj);\n}\nexport function promiseAllObject(promisesObj) {\n const keys = Object.keys(promisesObj);\n const promises = keys.map((key) => promisesObj[key]);\n return Promise.all(promises).then((results) => {\n const resolvedObj = {};\n for (let i = 0; i < keys.length; i++) {\n resolvedObj[keys[i]] = results[i];\n }\n return resolvedObj;\n });\n}\nexport function randomString(length = 10) {\n const chars = \"abcdefghijklmnopqrstuvwxyz\";\n let str = \"\";\n for (let i = 0; i < length; i++) {\n str += chars[Math.floor(Math.random() * chars.length)];\n }\n return str;\n}\nexport function esc(str) {\n return JSON.stringify(str);\n}\nexport function slugify(input) {\n return input\n .toLowerCase()\n .trim()\n .replace(/[^\\w\\s-]/g, \"\")\n .replace(/[\\s_-]+/g, \"-\")\n .replace(/^-+|-+$/g, \"\");\n}\nexport const captureStackTrace = (\"captureStackTrace\" in Error ? Error.captureStackTrace : (..._args) => { });\nexport function isObject(data) {\n return typeof data === \"object\" && data !== null && !Array.isArray(data);\n}\nexport const allowsEval = /* @__PURE__*/ cached(() => {\n // Skip the probe under `jitless`: strict CSPs report the caught `new Function`\n // as a `securitypolicyviolation` even though the throw is swallowed.\n if (globalConfig.jitless) {\n return false;\n }\n // @ts-ignore\n if (typeof navigator !== \"undefined\" && navigator?.userAgent?.includes(\"Cloudflare\")) {\n return false;\n }\n try {\n const F = Function;\n new F(\"\");\n return true;\n }\n catch (_) {\n return false;\n }\n});\nexport function isPlainObject(o) {\n if (isObject(o) === false)\n return false;\n // modified constructor\n const ctor = o.constructor;\n if (ctor === undefined)\n return true;\n if (typeof ctor !== \"function\")\n return true;\n // modified prototype\n const prot = ctor.prototype;\n if (isObject(prot) === false)\n return false;\n // ctor doesn't have static `isPrototypeOf`\n if (Object.prototype.hasOwnProperty.call(prot, \"isPrototypeOf\") === false) {\n return false;\n }\n return true;\n}\nexport function shallowClone(o) {\n if (isPlainObject(o))\n return { ...o };\n if (Array.isArray(o))\n return [...o];\n if (o instanceof Map)\n return new Map(o);\n if (o instanceof Set)\n return new Set(o);\n return o;\n}\nexport function numKeys(data) {\n let keyCount = 0;\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n keyCount++;\n }\n }\n return keyCount;\n}\nexport const getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return \"undefined\";\n case \"string\":\n return \"string\";\n case \"number\":\n return Number.isNaN(data) ? \"nan\" : \"number\";\n case \"boolean\":\n return \"boolean\";\n case \"function\":\n return \"function\";\n case \"bigint\":\n return \"bigint\";\n case \"symbol\":\n return \"symbol\";\n case \"object\":\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return \"promise\";\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return \"map\";\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return \"set\";\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return \"date\";\n }\n // @ts-ignore\n if (typeof File !== \"undefined\" && data instanceof File) {\n return \"file\";\n }\n return \"object\";\n default:\n throw new Error(`Unknown data type: ${t}`);\n }\n};\nexport const propertyKeyTypes = /* @__PURE__*/ new Set([\"string\", \"number\", \"symbol\"]);\nexport const primitiveTypes = /* @__PURE__*/ new Set([\n \"string\",\n \"number\",\n \"bigint\",\n \"boolean\",\n \"symbol\",\n \"undefined\",\n]);\nexport function escapeRegex(str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n// zod-specific utils\nexport function clone(inst, def, params) {\n const cl = new inst._zod.constr(def ?? inst._zod.def);\n if (!def || params?.parent)\n cl._zod.parent = inst;\n return cl;\n}\nexport function normalizeParams(_params) {\n const params = _params;\n if (!params)\n return {};\n if (typeof params === \"string\")\n return { error: () => params };\n if (params?.message !== undefined) {\n if (params?.error !== undefined)\n throw new Error(\"Cannot specify both `message` and `error` params\");\n params.error = params.message;\n }\n delete params.message;\n if (typeof params.error === \"string\")\n return { ...params, error: () => params.error };\n return params;\n}\nexport function createTransparentProxy(getter) {\n let target;\n return new Proxy({}, {\n get(_, prop, receiver) {\n target ?? (target = getter());\n return Reflect.get(target, prop, receiver);\n },\n set(_, prop, value, receiver) {\n target ?? (target = getter());\n return Reflect.set(target, prop, value, receiver);\n },\n has(_, prop) {\n target ?? (target = getter());\n return Reflect.has(target, prop);\n },\n deleteProperty(_, prop) {\n target ?? (target = getter());\n return Reflect.deleteProperty(target, prop);\n },\n ownKeys(_) {\n target ?? (target = getter());\n return Reflect.ownKeys(target);\n },\n getOwnPropertyDescriptor(_, prop) {\n target ?? (target = getter());\n return Reflect.getOwnPropertyDescriptor(target, prop);\n },\n defineProperty(_, prop, descriptor) {\n target ?? (target = getter());\n return Reflect.defineProperty(target, prop, descriptor);\n },\n });\n}\nexport function stringifyPrimitive(value) {\n if (typeof value === \"bigint\")\n return value.toString() + \"n\";\n if (typeof value === \"string\")\n return `\"${value}\"`;\n return `${value}`;\n}\nexport function optionalKeys(shape) {\n return Object.keys(shape).filter((k) => {\n return shape[k]._zod.optin === \"optional\" && shape[k]._zod.optout === \"optional\";\n });\n}\nexport const NUMBER_FORMAT_RANGES = {\n safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],\n int32: [-2147483648, 2147483647],\n uint32: [0, 4294967295],\n float32: [-3.4028234663852886e38, 3.4028234663852886e38],\n float64: [-Number.MAX_VALUE, Number.MAX_VALUE],\n};\nexport const BIGINT_FORMAT_RANGES = {\n int64: [/* @__PURE__*/ BigInt(\"-9223372036854775808\"), /* @__PURE__*/ BigInt(\"9223372036854775807\")],\n uint64: [/* @__PURE__*/ BigInt(0), /* @__PURE__*/ BigInt(\"18446744073709551615\")],\n};\nexport function pick(schema, mask) {\n const currDef = schema._zod.def;\n const checks = currDef.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n throw new Error(\".pick() cannot be used on object schemas containing refinements\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = {};\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n newShape[key] = currDef.shape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function omit(schema, mask) {\n const currDef = schema._zod.def;\n const checks = currDef.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n throw new Error(\".omit() cannot be used on object schemas containing refinements\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = { ...schema._zod.def.shape };\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n delete newShape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function extend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to extend: expected a plain object\");\n }\n const checks = schema._zod.def.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n // Only throw if new shape overlaps with existing shape\n // Use getOwnPropertyDescriptor to check key existence without accessing values\n const existingShape = schema._zod.def.shape;\n for (const key in shape) {\n if (Object.getOwnPropertyDescriptor(existingShape, key) !== undefined) {\n throw new Error(\"Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.\");\n }\n }\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n });\n return clone(schema, def);\n}\nexport function safeExtend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to safeExtend: expected a plain object\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n });\n return clone(schema, def);\n}\nexport function merge(a, b) {\n if (a._zod.def.checks?.length) {\n throw new Error(\".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.\");\n }\n const def = mergeDefs(a._zod.def, {\n get shape() {\n const _shape = { ...a._zod.def.shape, ...b._zod.def.shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n get catchall() {\n return b._zod.def.catchall;\n },\n checks: b._zod.def.checks ?? [],\n });\n return clone(a, def);\n}\nexport function partial(Class, schema, mask) {\n const currDef = schema._zod.def;\n const checks = currDef.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n throw new Error(\".partial() cannot be used on object schemas containing refinements\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in oldShape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n else {\n for (const key in oldShape) {\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function required(Class, schema, mask) {\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n else {\n for (const key in oldShape) {\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n });\n return clone(schema, def);\n}\n// invalid_type | too_big | too_small | invalid_format | not_multiple_of | unrecognized_keys | invalid_union | invalid_key | invalid_element | invalid_value | custom\nexport function aborted(x, startIndex = 0) {\n if (x.aborted === true)\n return true;\n for (let i = startIndex; i < x.issues.length; i++) {\n if (x.issues[i]?.continue !== true) {\n return true;\n }\n }\n return false;\n}\n// Checks for explicit abort (continue === false), as opposed to implicit abort (continue === undefined).\n// Used to respect `abort: true` in .refine() even for checks that have a `when` function.\nexport function explicitlyAborted(x, startIndex = 0) {\n if (x.aborted === true)\n return true;\n for (let i = startIndex; i < x.issues.length; i++) {\n if (x.issues[i]?.continue === false) {\n return true;\n }\n }\n return false;\n}\nexport function prefixIssues(path, issues) {\n return issues.map((iss) => {\n var _a;\n (_a = iss).path ?? (_a.path = []);\n iss.path.unshift(path);\n return iss;\n });\n}\nexport function unwrapMessage(message) {\n return typeof message === \"string\" ? message : message?.message;\n}\nexport function finalizeIssue(iss, ctx, config) {\n const message = iss.message\n ? iss.message\n : (unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ??\n unwrapMessage(ctx?.error?.(iss)) ??\n unwrapMessage(config.customError?.(iss)) ??\n unwrapMessage(config.localeError?.(iss)) ??\n \"Invalid input\");\n const { inst: _inst, continue: _continue, input: _input, ...rest } = iss;\n rest.path ?? (rest.path = []);\n rest.message = message;\n if (ctx?.reportInput) {\n rest.input = _input;\n }\n return rest;\n}\nexport function getSizableOrigin(input) {\n if (input instanceof Set)\n return \"set\";\n if (input instanceof Map)\n return \"map\";\n // @ts-ignore\n if (input instanceof File)\n return \"file\";\n return \"unknown\";\n}\nexport function getLengthableOrigin(input) {\n if (Array.isArray(input))\n return \"array\";\n if (typeof input === \"string\")\n return \"string\";\n return \"unknown\";\n}\nexport function parsedType(data) {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"nan\" : \"number\";\n }\n case \"object\": {\n if (data === null) {\n return \"null\";\n }\n if (Array.isArray(data)) {\n return \"array\";\n }\n const obj = data;\n if (obj && Object.getPrototypeOf(obj) !== Object.prototype && \"constructor\" in obj && obj.constructor) {\n return obj.constructor.name;\n }\n }\n }\n return t;\n}\nexport function issue(...args) {\n const [iss, input, inst] = args;\n if (typeof iss === \"string\") {\n return {\n message: iss,\n code: \"custom\",\n input,\n inst,\n };\n }\n return { ...iss };\n}\nexport function cleanEnum(obj) {\n return Object.entries(obj)\n .filter(([k, _]) => {\n // return true if NaN, meaning it's not a number, thus a string key\n return Number.isNaN(Number.parseInt(k, 10));\n })\n .map((el) => el[1]);\n}\n// Codec utility functions\nexport function base64ToUint8Array(base64) {\n const binaryString = atob(base64);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n}\nexport function uint8ArrayToBase64(bytes) {\n let binaryString = \"\";\n for (let i = 0; i < bytes.length; i++) {\n binaryString += String.fromCharCode(bytes[i]);\n }\n return btoa(binaryString);\n}\nexport function base64urlToUint8Array(base64url) {\n const base64 = base64url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padding = \"=\".repeat((4 - (base64.length % 4)) % 4);\n return base64ToUint8Array(base64 + padding);\n}\nexport function uint8ArrayToBase64url(bytes) {\n return uint8ArrayToBase64(bytes).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n}\nexport function hexToUint8Array(hex) {\n const cleanHex = hex.replace(/^0x/, \"\");\n if (cleanHex.length % 2 !== 0) {\n throw new Error(\"Invalid hex string length\");\n }\n const bytes = new Uint8Array(cleanHex.length / 2);\n for (let i = 0; i < cleanHex.length; i += 2) {\n bytes[i / 2] = Number.parseInt(cleanHex.slice(i, i + 2), 16);\n }\n return bytes;\n}\nexport function uint8ArrayToHex(bytes) {\n return Array.from(bytes)\n .map((b) => b.toString(16).padStart(2, \"0\"))\n .join(\"\");\n}\n// instanceof\nexport class Class {\n constructor(..._args) { }\n}\n","import { $constructor } from \"./core.js\";\nimport * as util from \"./util.js\";\nconst initializer = (inst, def) => {\n inst.name = \"$ZodError\";\n Object.defineProperty(inst, \"_zod\", {\n value: inst._zod,\n enumerable: false,\n });\n Object.defineProperty(inst, \"issues\", {\n value: def,\n enumerable: false,\n });\n inst.message = JSON.stringify(def, util.jsonStringifyReplacer, 2);\n Object.defineProperty(inst, \"toString\", {\n value: () => inst.message,\n enumerable: false,\n });\n};\nexport const $ZodError = $constructor(\"$ZodError\", initializer);\nexport const $ZodRealError = $constructor(\"$ZodError\", initializer, { Parent: Error });\nexport function flattenError(error, mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of error.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n}\nexport function formatError(error, mapper = (issue) => issue.message) {\n const fieldErrors = { _errors: [] };\n const processError = (error, path = []) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n issue.errors.map((issues) => processError({ issues }, [...path, ...issue.path]));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues }, [...path, ...issue.path]);\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues }, [...path, ...issue.path]);\n }\n else {\n const fullpath = [...path, ...issue.path];\n if (fullpath.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < fullpath.length) {\n const el = fullpath[i];\n const terminal = i === fullpath.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n }\n };\n processError(error);\n return fieldErrors;\n}\nexport function treeifyError(error, mapper = (issue) => issue.message) {\n const result = { errors: [] };\n const processError = (error, path = []) => {\n var _a, _b;\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n // regular union error\n issue.errors.map((issues) => processError({ issues }, [...path, ...issue.path]));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues }, [...path, ...issue.path]);\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues }, [...path, ...issue.path]);\n }\n else {\n const fullpath = [...path, ...issue.path];\n if (fullpath.length === 0) {\n result.errors.push(mapper(issue));\n continue;\n }\n let curr = result;\n let i = 0;\n while (i < fullpath.length) {\n const el = fullpath[i];\n const terminal = i === fullpath.length - 1;\n if (typeof el === \"string\") {\n curr.properties ?? (curr.properties = {});\n (_a = curr.properties)[el] ?? (_a[el] = { errors: [] });\n curr = curr.properties[el];\n }\n else {\n curr.items ?? (curr.items = []);\n (_b = curr.items)[el] ?? (_b[el] = { errors: [] });\n curr = curr.items[el];\n }\n if (terminal) {\n curr.errors.push(mapper(issue));\n }\n i++;\n }\n }\n }\n };\n processError(error);\n return result;\n}\n/** Format a ZodError as a human-readable string in the following form.\n *\n * From\n *\n * ```ts\n * ZodError {\n * issues: [\n * {\n * expected: 'string',\n * code: 'invalid_type',\n * path: [ 'username' ],\n * message: 'Invalid input: expected string'\n * },\n * {\n * expected: 'number',\n * code: 'invalid_type',\n * path: [ 'favoriteNumbers', 1 ],\n * message: 'Invalid input: expected number'\n * }\n * ];\n * }\n * ```\n *\n * to\n *\n * ```\n * username\n * ✖ Expected number, received string at \"username\n * favoriteNumbers[0]\n * ✖ Invalid input: expected number\n * ```\n */\nexport function toDotPath(_path) {\n const segs = [];\n const path = _path.map((seg) => (typeof seg === \"object\" ? seg.key : seg));\n for (const seg of path) {\n if (typeof seg === \"number\")\n segs.push(`[${seg}]`);\n else if (typeof seg === \"symbol\")\n segs.push(`[${JSON.stringify(String(seg))}]`);\n else if (/[^\\w$]/.test(seg))\n segs.push(`[${JSON.stringify(seg)}]`);\n else {\n if (segs.length)\n segs.push(\".\");\n segs.push(seg);\n }\n }\n return segs.join(\"\");\n}\nexport function prettifyError(error) {\n const lines = [];\n // sort by path length\n const issues = [...error.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length);\n // Process each issue\n for (const issue of issues) {\n lines.push(`✖ ${issue.message}`);\n if (issue.path?.length)\n lines.push(` → at ${toDotPath(issue.path)}`);\n }\n // Convert Map to formatted string\n return lines.join(\"\\n\");\n}\n","import * as core from \"./core.js\";\nimport * as errors from \"./errors.js\";\nimport * as util from \"./util.js\";\nexport const _parse = (_Err) => (schema, value, _ctx, _params) => {\n const ctx = _ctx ? { ..._ctx, async: false } : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n if (result.issues.length) {\n const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, _params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parse = /* @__PURE__*/ _parse(errors.$ZodRealError);\nexport const _parseAsync = (_Err) => async (schema, value, _ctx, params) => {\n const ctx = _ctx ? { ..._ctx, async: true } : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n if (result.issues.length) {\n const e = new (params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parseAsync = /* @__PURE__*/ _parseAsync(errors.$ZodRealError);\nexport const _safeParse = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, async: false } : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n return result.issues.length\n ? {\n success: false,\n error: new (_Err ?? errors.$ZodError)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParse = /* @__PURE__*/ _safeParse(errors.$ZodRealError);\nexport const _safeParseAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, async: true } : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n return result.issues.length\n ? {\n success: false,\n error: new _Err(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParseAsync = /* @__PURE__*/ _safeParseAsync(errors.$ZodRealError);\nexport const _encode = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, direction: \"backward\" } : { direction: \"backward\" };\n return _parse(_Err)(schema, value, ctx);\n};\nexport const encode = /* @__PURE__*/ _encode(errors.$ZodRealError);\nexport const _decode = (_Err) => (schema, value, _ctx) => {\n return _parse(_Err)(schema, value, _ctx);\n};\nexport const decode = /* @__PURE__*/ _decode(errors.$ZodRealError);\nexport const _encodeAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, direction: \"backward\" } : { direction: \"backward\" };\n return _parseAsync(_Err)(schema, value, ctx);\n};\nexport const encodeAsync = /* @__PURE__*/ _encodeAsync(errors.$ZodRealError);\nexport const _decodeAsync = (_Err) => async (schema, value, _ctx) => {\n return _parseAsync(_Err)(schema, value, _ctx);\n};\nexport const decodeAsync = /* @__PURE__*/ _decodeAsync(errors.$ZodRealError);\nexport const _safeEncode = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, direction: \"backward\" } : { direction: \"backward\" };\n return _safeParse(_Err)(schema, value, ctx);\n};\nexport const safeEncode = /* @__PURE__*/ _safeEncode(errors.$ZodRealError);\nexport const _safeDecode = (_Err) => (schema, value, _ctx) => {\n return _safeParse(_Err)(schema, value, _ctx);\n};\nexport const safeDecode = /* @__PURE__*/ _safeDecode(errors.$ZodRealError);\nexport const _safeEncodeAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, direction: \"backward\" } : { direction: \"backward\" };\n return _safeParseAsync(_Err)(schema, value, ctx);\n};\nexport const safeEncodeAsync = /* @__PURE__*/ _safeEncodeAsync(errors.$ZodRealError);\nexport const _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {\n return _safeParseAsync(_Err)(schema, value, _ctx);\n};\nexport const safeDecodeAsync = /* @__PURE__*/ _safeDecodeAsync(errors.$ZodRealError);\n","import * as util from \"./util.js\";\n/**\n * @deprecated CUID v1 is deprecated by its authors due to information leakage\n * (timestamps embedded in the id). Use {@link cuid2} instead.\n * See https://github.com/paralleldrive/cuid.\n */\nexport const cuid = /^[cC][0-9a-z]{6,}$/;\nexport const cuid2 = /^[0-9a-z]+$/;\nexport const ulid = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/;\nexport const xid = /^[0-9a-vA-V]{20}$/;\nexport const ksuid = /^[A-Za-z0-9]{27}$/;\nexport const nanoid = /^[a-zA-Z0-9_-]{21}$/;\n/** ISO 8601-1 duration regex. Does not support the 8601-2 extensions like negative durations or fractional/negative components. */\nexport const duration = /^P(?:(\\d+W)|(?!.*W)(?=\\d|T\\d)(\\d+Y)?(\\d+M)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+([.,]\\d+)?S)?)?)$/;\n/** Implements ISO 8601-2 extensions like explicit +- prefixes, mixing weeks with other units, and fractional/negative components. */\nexport const extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n/** A regex for any UUID-like identifier: 8-4-4-4-12 hex pattern */\nexport const guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;\n/** Returns a regex for validating an RFC 9562/4122 UUID.\n *\n * @param version Optionally specify a version 1-8. If no version is specified, all versions are supported. */\nexport const uuid = (version) => {\n if (!version)\n return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;\n return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);\n};\nexport const uuid4 = /*@__PURE__*/ uuid(4);\nexport const uuid6 = /*@__PURE__*/ uuid(6);\nexport const uuid7 = /*@__PURE__*/ uuid(7);\n/** Practical email validation */\nexport const email = /^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$/;\n/** Equivalent to the HTML5 input[type=email] validation implemented by browsers. Source: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email */\nexport const html5Email = /^[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])?)*$/;\n/** The classic emailregex.com regex for RFC 5322-compliant emails */\nexport const rfc5322Email = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n/** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */\nexport const unicodeEmail = /^[^\\s@\"]{1,64}@[^\\s@]{1,255}$/u;\nexport const idnEmail = unicodeEmail;\nexport const browserEmail = /^[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])?)*$/;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emoji = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nexport function emoji() {\n return new RegExp(_emoji, \"u\");\n}\nexport const ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nexport const ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;\nexport const mac = (delimiter) => {\n const escapedDelim = util.escapeRegex(delimiter ?? \":\");\n return new RegExp(`^(?:[0-9A-F]{2}${escapedDelim}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${escapedDelim}){5}[0-9a-f]{2}$`);\n};\nexport const cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/([0-9]|[1-2][0-9]|3[0-2])$/;\nexport const cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nexport const base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;\nexport const base64url = /^[A-Za-z0-9_-]*$/;\n// based on https://stackoverflow.com/questions/106179/regular-expression-to-match-dns-hostname-or-ip-address\n// export const hostname: RegExp = /^([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+$/;\nexport const hostname = /^(?=.{1,253}\\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\\.?$/;\nexport const domain = /^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,}$/;\nexport const httpProtocol = /^https?$/;\n// https://blog.stevenlevithan.com/archives/validate-phone-number#r4-3 (regex sans spaces)\n// E.164: leading digit must be 1-9; total digits (excluding '+') between 7-15\nexport const e164 = /^\\+[1-9]\\d{6,14}$/;\n// const dateSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateSource = `(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))`;\nexport const date = /*@__PURE__*/ new RegExp(`^${dateSource}$`);\nfunction timeSource(args) {\n const hhmm = `(?:[01]\\\\d|2[0-3]):[0-5]\\\\d`;\n const regex = typeof args.precision === \"number\"\n ? args.precision === -1\n ? `${hhmm}`\n : args.precision === 0\n ? `${hhmm}:[0-5]\\\\d`\n : `${hhmm}:[0-5]\\\\d\\\\.\\\\d{${args.precision}}`\n : `${hhmm}(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?`;\n return regex;\n}\nexport function time(args) {\n return new RegExp(`^${timeSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nexport function datetime(args) {\n const time = timeSource({ precision: args.precision });\n const opts = [\"Z\"];\n if (args.local)\n opts.push(\"\");\n // if (args.offset) opts.push(`([+-]\\\\d{2}:\\\\d{2})`);\n if (args.offset)\n opts.push(`([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)`);\n const timeRegex = `${time}(?:${opts.join(\"|\")})`;\n return new RegExp(`^${dateSource}T(?:${timeRegex})$`);\n}\nexport const string = (params) => {\n const regex = params ? `[\\\\s\\\\S]{${params?.minimum ?? 0},${params?.maximum ?? \"\"}}` : `[\\\\s\\\\S]*`;\n return new RegExp(`^${regex}$`);\n};\nexport const bigint = /^-?\\d+n?$/;\nexport const integer = /^-?\\d+$/;\nexport const number = /^-?\\d+(?:\\.\\d+)?$/;\nexport const boolean = /^(?:true|false)$/i;\nconst _null = /^null$/i;\nexport { _null as null };\nconst _undefined = /^undefined$/i;\nexport { _undefined as undefined };\n// regex for string with no uppercase letters\nexport const lowercase = /^[^A-Z]*$/;\n// regex for string with no lowercase letters\nexport const uppercase = /^[^a-z]*$/;\n// regex for hexadecimal strings (any length)\nexport const hex = /^[0-9a-fA-F]*$/;\n// Hash regexes for different algorithms and encodings\n// Helper function to create base64 regex with exact length and padding\nfunction fixedBase64(bodyLength, padding) {\n return new RegExp(`^[A-Za-z0-9+/]{${bodyLength}}${padding}$`);\n}\n// Helper function to create base64url regex with exact length (no padding)\nfunction fixedBase64url(length) {\n return new RegExp(`^[A-Za-z0-9_-]{${length}}$`);\n}\n// MD5 (16 bytes): base64 = 24 chars total (22 + \"==\")\nexport const md5_hex = /^[0-9a-fA-F]{32}$/;\nexport const md5_base64 = /*@__PURE__*/ fixedBase64(22, \"==\");\nexport const md5_base64url = /*@__PURE__*/ fixedBase64url(22);\n// SHA1 (20 bytes): base64 = 28 chars total (27 + \"=\")\nexport const sha1_hex = /^[0-9a-fA-F]{40}$/;\nexport const sha1_base64 = /*@__PURE__*/ fixedBase64(27, \"=\");\nexport const sha1_base64url = /*@__PURE__*/ fixedBase64url(27);\n// SHA256 (32 bytes): base64 = 44 chars total (43 + \"=\")\nexport const sha256_hex = /^[0-9a-fA-F]{64}$/;\nexport const sha256_base64 = /*@__PURE__*/ fixedBase64(43, \"=\");\nexport const sha256_base64url = /*@__PURE__*/ fixedBase64url(43);\n// SHA384 (48 bytes): base64 = 64 chars total (no padding)\nexport const sha384_hex = /^[0-9a-fA-F]{96}$/;\nexport const sha384_base64 = /*@__PURE__*/ fixedBase64(64, \"\");\nexport const sha384_base64url = /*@__PURE__*/ fixedBase64url(64);\n// SHA512 (64 bytes): base64 = 88 chars total (86 + \"==\")\nexport const sha512_hex = /^[0-9a-fA-F]{128}$/;\nexport const sha512_base64 = /*@__PURE__*/ fixedBase64(86, \"==\");\nexport const sha512_base64url = /*@__PURE__*/ fixedBase64url(86);\n","// import { $ZodType } from \"./schemas.js\";\nimport * as core from \"./core.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nexport const $ZodCheck = /*@__PURE__*/ core.$constructor(\"$ZodCheck\", (inst, def) => {\n var _a;\n inst._zod ?? (inst._zod = {});\n inst._zod.def = def;\n (_a = inst._zod).onattach ?? (_a.onattach = []);\n});\nconst numericOriginMap = {\n number: \"number\",\n bigint: \"bigint\",\n object: \"date\",\n};\nexport const $ZodCheckLessThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckLessThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.maximum : bag.exclusiveMaximum) ?? Number.POSITIVE_INFINITY;\n if (def.value < curr) {\n if (def.inclusive)\n bag.maximum = def.value;\n else\n bag.exclusiveMaximum = def.value;\n }\n });\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value <= def.value : payload.value < def.value) {\n return;\n }\n payload.issues.push({\n origin,\n code: \"too_big\",\n maximum: typeof def.value === \"object\" ? def.value.getTime() : def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckGreaterThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckGreaterThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.minimum : bag.exclusiveMinimum) ?? Number.NEGATIVE_INFINITY;\n if (def.value > curr) {\n if (def.inclusive)\n bag.minimum = def.value;\n else\n bag.exclusiveMinimum = def.value;\n }\n });\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value >= def.value : payload.value > def.value) {\n return;\n }\n payload.issues.push({\n origin,\n code: \"too_small\",\n minimum: typeof def.value === \"object\" ? def.value.getTime() : def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMultipleOf = \n/*@__PURE__*/ core.$constructor(\"$ZodCheckMultipleOf\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.onattach.push((inst) => {\n var _a;\n (_a = inst._zod.bag).multipleOf ?? (_a.multipleOf = def.value);\n });\n inst._zod.check = (payload) => {\n if (typeof payload.value !== typeof def.value)\n throw new Error(\"Cannot mix number and bigint in multiple_of check.\");\n const isMultiple = typeof payload.value === \"bigint\"\n ? payload.value % def.value === BigInt(0)\n : util.floatSafeRemainder(payload.value, def.value) === 0;\n if (isMultiple)\n return;\n payload.issues.push({\n origin: typeof payload.value,\n code: \"not_multiple_of\",\n divisor: def.value,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckNumberFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n def.format = def.format || \"float64\";\n const isInt = def.format?.includes(\"int\");\n const origin = isInt ? \"int\" : \"number\";\n const [minimum, maximum] = util.NUMBER_FORMAT_RANGES[def.format];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n if (isInt)\n bag.pattern = regexes.integer;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (isInt) {\n if (!Number.isInteger(input)) {\n // invalid_format issue\n // payload.issues.push({\n // expected: def.format,\n // format: def.format,\n // code: \"invalid_format\",\n // input,\n // inst,\n // });\n // invalid_type issue\n payload.issues.push({\n expected: origin,\n format: def.format,\n code: \"invalid_type\",\n continue: false,\n input,\n inst,\n });\n return;\n // not_multiple_of issue\n // payload.issues.push({\n // code: \"not_multiple_of\",\n // origin: \"number\",\n // input,\n // inst,\n // divisor: 1,\n // });\n }\n if (!Number.isSafeInteger(input)) {\n if (input > 0) {\n // too_big\n payload.issues.push({\n input,\n code: \"too_big\",\n maximum: Number.MAX_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n inclusive: true,\n continue: !def.abort,\n });\n }\n else {\n // too_small\n payload.issues.push({\n input,\n code: \"too_small\",\n minimum: Number.MIN_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n inclusive: true,\n continue: !def.abort,\n });\n }\n return;\n }\n }\n if (input < minimum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_small\",\n minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_big\",\n maximum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodCheckBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckBigIntFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n const [minimum, maximum] = util.BIGINT_FORMAT_RANGES[def.format];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (input < minimum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_small\",\n minimum: minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_big\",\n maximum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodCheckMaxSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size <= def.maximum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_big\",\n maximum: def.maximum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size >= def.minimum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_small\",\n minimum: def.minimum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckSizeEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckSizeEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.size;\n bag.maximum = def.size;\n bag.size = def.size;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size === def.size)\n return;\n const tooBig = size > def.size;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n ...(tooBig ? { code: \"too_big\", maximum: def.size } : { code: \"too_small\", minimum: def.size }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMaxLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length <= def.maximum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_big\",\n maximum: def.maximum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length >= def.minimum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_small\",\n minimum: def.minimum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLengthEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckLengthEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.length;\n bag.maximum = def.length;\n bag.length = def.length;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length === def.length)\n return;\n const origin = util.getLengthableOrigin(input);\n const tooBig = length > def.length;\n payload.issues.push({\n origin,\n ...(tooBig ? { code: \"too_big\", maximum: def.length } : { code: \"too_small\", minimum: def.length }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckStringFormat\", (inst, def) => {\n var _a, _b;\n $ZodCheck.init(inst, def);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n if (def.pattern) {\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(def.pattern);\n }\n });\n if (def.pattern)\n (_a = inst._zod).check ?? (_a.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n ...(def.pattern ? { pattern: def.pattern.toString() } : {}),\n inst,\n continue: !def.abort,\n });\n });\n else\n (_b = inst._zod).check ?? (_b.check = () => { });\n});\nexport const $ZodCheckRegex = /*@__PURE__*/ core.$constructor(\"$ZodCheckRegex\", (inst, def) => {\n $ZodCheckStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"regex\",\n input: payload.value,\n pattern: def.pattern.toString(),\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLowerCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckLowerCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.lowercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckUpperCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckUpperCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.uppercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckIncludes = /*@__PURE__*/ core.$constructor(\"$ZodCheckIncludes\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const escapedRegex = util.escapeRegex(def.includes);\n const pattern = new RegExp(typeof def.position === \"number\" ? `^.{${def.position}}${escapedRegex}` : escapedRegex);\n def.pattern = pattern;\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.includes(def.includes, def.position))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"includes\",\n includes: def.includes,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStartsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckStartsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`^${util.escapeRegex(def.prefix)}.*`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.startsWith(def.prefix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"starts_with\",\n prefix: def.prefix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckEndsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckEndsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`.*${util.escapeRegex(def.suffix)}$`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.endsWith(def.suffix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"ends_with\",\n suffix: def.suffix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n///////////////////////////////////\n///// $ZodCheckProperty /////\n///////////////////////////////////\nfunction handleCheckPropertyResult(result, payload, property) {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(property, result.issues));\n }\n}\nexport const $ZodCheckProperty = /*@__PURE__*/ core.$constructor(\"$ZodCheckProperty\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n const result = def.schema._zod.run({\n value: payload.value[def.property],\n issues: [],\n }, {});\n if (result instanceof Promise) {\n return result.then((result) => handleCheckPropertyResult(result, payload, def.property));\n }\n handleCheckPropertyResult(result, payload, def.property);\n return;\n };\n});\nexport const $ZodCheckMimeType = /*@__PURE__*/ core.$constructor(\"$ZodCheckMimeType\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const mimeSet = new Set(def.mime);\n inst._zod.onattach.push((inst) => {\n inst._zod.bag.mime = def.mime;\n });\n inst._zod.check = (payload) => {\n if (mimeSet.has(payload.value.type))\n return;\n payload.issues.push({\n code: \"invalid_value\",\n values: def.mime,\n input: payload.value.type,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckOverwrite = /*@__PURE__*/ core.$constructor(\"$ZodCheckOverwrite\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n payload.value = def.tx(payload.value);\n };\n});\n","export class Doc {\n constructor(args = []) {\n this.content = [];\n this.indent = 0;\n if (this)\n this.args = args;\n }\n indented(fn) {\n this.indent += 1;\n fn(this);\n this.indent -= 1;\n }\n write(arg) {\n if (typeof arg === \"function\") {\n arg(this, { execution: \"sync\" });\n arg(this, { execution: \"async\" });\n return;\n }\n const content = arg;\n const lines = content.split(\"\\n\").filter((x) => x);\n const minIndent = Math.min(...lines.map((x) => x.length - x.trimStart().length));\n const dedented = lines.map((x) => x.slice(minIndent)).map((x) => \" \".repeat(this.indent * 2) + x);\n for (const line of dedented) {\n this.content.push(line);\n }\n }\n compile() {\n const F = Function;\n const args = this?.args;\n const content = this?.content ?? [``];\n const lines = [...content.map((x) => ` ${x}`)];\n // console.log(lines.join(\"\\n\"));\n return new F(...args, lines.join(\"\\n\"));\n }\n}\n","export const version = {\n major: 4,\n minor: 4,\n patch: 3,\n};\n","import * as checks from \"./checks.js\";\nimport * as core from \"./core.js\";\nimport { Doc } from \"./doc.js\";\nimport { parse, parseAsync, safeParse, safeParseAsync } from \"./parse.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nimport { version } from \"./versions.js\";\nexport const $ZodType = /*@__PURE__*/ core.$constructor(\"$ZodType\", (inst, def) => {\n var _a;\n inst ?? (inst = {});\n inst._zod.def = def; // set _def property\n inst._zod.bag = inst._zod.bag || {}; // initialize _bag object\n inst._zod.version = version;\n const checks = [...(inst._zod.def.checks ?? [])];\n // if inst is itself a checks.$ZodCheck, run it as a check\n if (inst._zod.traits.has(\"$ZodCheck\")) {\n checks.unshift(inst);\n }\n for (const ch of checks) {\n for (const fn of ch._zod.onattach) {\n fn(inst);\n }\n }\n if (checks.length === 0) {\n // deferred initializer\n // inst._zod.parse is not yet defined\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n inst._zod.deferred?.push(() => {\n inst._zod.run = inst._zod.parse;\n });\n }\n else {\n const runChecks = (payload, checks, ctx) => {\n let isAborted = util.aborted(payload);\n let asyncResult;\n for (const ch of checks) {\n if (ch._zod.def.when) {\n if (util.explicitlyAborted(payload))\n continue;\n const shouldRun = ch._zod.def.when(payload);\n if (!shouldRun)\n continue;\n }\n else if (isAborted) {\n continue;\n }\n const currLen = payload.issues.length;\n const _ = ch._zod.check(payload);\n if (_ instanceof Promise && ctx?.async === false) {\n throw new core.$ZodAsyncError();\n }\n if (asyncResult || _ instanceof Promise) {\n asyncResult = (asyncResult ?? Promise.resolve()).then(async () => {\n await _;\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n return;\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n });\n }\n else {\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n continue;\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n }\n }\n if (asyncResult) {\n return asyncResult.then(() => {\n return payload;\n });\n }\n return payload;\n };\n const handleCanaryResult = (canary, payload, ctx) => {\n // abort if the canary is aborted\n if (util.aborted(canary)) {\n canary.aborted = true;\n return canary;\n }\n // run checks first, then\n const checkResult = runChecks(payload, checks, ctx);\n if (checkResult instanceof Promise) {\n if (ctx.async === false)\n throw new core.$ZodAsyncError();\n return checkResult.then((checkResult) => inst._zod.parse(checkResult, ctx));\n }\n return inst._zod.parse(checkResult, ctx);\n };\n inst._zod.run = (payload, ctx) => {\n if (ctx.skipChecks) {\n return inst._zod.parse(payload, ctx);\n }\n if (ctx.direction === \"backward\") {\n // run canary\n // initial pass (no checks)\n const canary = inst._zod.parse({ value: payload.value, issues: [] }, { ...ctx, skipChecks: true });\n if (canary instanceof Promise) {\n return canary.then((canary) => {\n return handleCanaryResult(canary, payload, ctx);\n });\n }\n return handleCanaryResult(canary, payload, ctx);\n }\n // forward\n const result = inst._zod.parse(payload, ctx);\n if (result instanceof Promise) {\n if (ctx.async === false)\n throw new core.$ZodAsyncError();\n return result.then((result) => runChecks(result, checks, ctx));\n }\n return runChecks(result, checks, ctx);\n };\n }\n // Lazy initialize ~standard to avoid creating objects for every schema\n util.defineLazy(inst, \"~standard\", () => ({\n validate: (value) => {\n try {\n const r = safeParse(inst, value);\n return r.success ? { value: r.data } : { issues: r.error?.issues };\n }\n catch (_) {\n return safeParseAsync(inst, value).then((r) => (r.success ? { value: r.data } : { issues: r.error?.issues }));\n }\n },\n vendor: \"zod\",\n version: 1,\n }));\n});\nexport { clone } from \"./util.js\";\nexport const $ZodString = /*@__PURE__*/ core.$constructor(\"$ZodString\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = [...(inst?._zod.bag?.patterns ?? [])].pop() ?? regexes.string(inst._zod.bag);\n inst._zod.parse = (payload, _) => {\n if (def.coerce)\n try {\n payload.value = String(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"string\")\n return payload;\n payload.issues.push({\n expected: \"string\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodStringFormat\", (inst, def) => {\n // check initialization must come first\n checks.$ZodCheckStringFormat.init(inst, def);\n $ZodString.init(inst, def);\n});\nexport const $ZodGUID = /*@__PURE__*/ core.$constructor(\"$ZodGUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.guid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodUUID = /*@__PURE__*/ core.$constructor(\"$ZodUUID\", (inst, def) => {\n if (def.version) {\n const versionMap = {\n v1: 1,\n v2: 2,\n v3: 3,\n v4: 4,\n v5: 5,\n v6: 6,\n v7: 7,\n v8: 8,\n };\n const v = versionMap[def.version];\n if (v === undefined)\n throw new Error(`Invalid UUID version: \"${def.version}\"`);\n def.pattern ?? (def.pattern = regexes.uuid(v));\n }\n else\n def.pattern ?? (def.pattern = regexes.uuid());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodEmail = /*@__PURE__*/ core.$constructor(\"$ZodEmail\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.email);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodURL = /*@__PURE__*/ core.$constructor(\"$ZodURL\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n try {\n // Trim whitespace from input\n const trimmed = payload.value.trim();\n // When normalize is off, require :// for http/https URLs\n // This prevents strings like \"http:example.com\" or \"https:/path\" from being silently accepted\n if (!def.normalize && def.protocol?.source === regexes.httpProtocol.source) {\n if (!/^https?:\\/\\//i.test(trimmed)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid URL format\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n return;\n }\n }\n // @ts-ignore\n const url = new URL(trimmed);\n if (def.hostname) {\n def.hostname.lastIndex = 0;\n if (!def.hostname.test(url.hostname)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid hostname\",\n pattern: def.hostname.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n }\n if (def.protocol) {\n def.protocol.lastIndex = 0;\n if (!def.protocol.test(url.protocol.endsWith(\":\") ? url.protocol.slice(0, -1) : url.protocol)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid protocol\",\n pattern: def.protocol.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n }\n // Set the output value based on normalize flag\n if (def.normalize) {\n // Use normalized URL\n payload.value = url.href;\n }\n else {\n // Preserve the original input (trimmed)\n payload.value = trimmed;\n }\n return;\n }\n catch (_) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodEmoji = /*@__PURE__*/ core.$constructor(\"$ZodEmoji\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.emoji());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodNanoID = /*@__PURE__*/ core.$constructor(\"$ZodNanoID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.nanoid);\n $ZodStringFormat.init(inst, def);\n});\n/**\n * @deprecated CUID v1 is deprecated by its authors due to information leakage\n * (timestamps embedded in the id). Use {@link $ZodCUID2} instead.\n * See https://github.com/paralleldrive/cuid.\n */\nexport const $ZodCUID = /*@__PURE__*/ core.$constructor(\"$ZodCUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCUID2 = /*@__PURE__*/ core.$constructor(\"$ZodCUID2\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid2);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodULID = /*@__PURE__*/ core.$constructor(\"$ZodULID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ulid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodXID = /*@__PURE__*/ core.$constructor(\"$ZodXID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.xid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodKSUID = /*@__PURE__*/ core.$constructor(\"$ZodKSUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ksuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODateTime = /*@__PURE__*/ core.$constructor(\"$ZodISODateTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.datetime(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODate = /*@__PURE__*/ core.$constructor(\"$ZodISODate\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.date);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISOTime = /*@__PURE__*/ core.$constructor(\"$ZodISOTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.time(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODuration = /*@__PURE__*/ core.$constructor(\"$ZodISODuration\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.duration);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodIPv4 = /*@__PURE__*/ core.$constructor(\"$ZodIPv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv4);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.format = `ipv4`;\n});\nexport const $ZodIPv6 = /*@__PURE__*/ core.$constructor(\"$ZodIPv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv6);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.format = `ipv6`;\n inst._zod.check = (payload) => {\n try {\n // @ts-ignore\n new URL(`http://[${payload.value}]`);\n // return;\n }\n catch {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"ipv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodMAC = /*@__PURE__*/ core.$constructor(\"$ZodMAC\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.mac(def.delimiter));\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.format = `mac`;\n});\nexport const $ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv4);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv6); // not used for validation\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n const parts = payload.value.split(\"/\");\n try {\n if (parts.length !== 2)\n throw new Error();\n const [address, prefix] = parts;\n if (!prefix)\n throw new Error();\n const prefixNum = Number(prefix);\n if (`${prefixNum}` !== prefix)\n throw new Error();\n if (prefixNum < 0 || prefixNum > 128)\n throw new Error();\n // @ts-ignore\n new URL(`http://[${address}]`);\n }\n catch {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"cidrv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\n////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64(data) {\n if (data === \"\")\n return true;\n // atob ignores whitespace, so reject it up front.\n if (/\\s/.test(data))\n return false;\n if (data.length % 4 !== 0)\n return false;\n try {\n // @ts-ignore\n atob(data);\n return true;\n }\n catch {\n return false;\n }\n}\nexport const $ZodBase64 = /*@__PURE__*/ core.$constructor(\"$ZodBase64\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.base64);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.contentEncoding = \"base64\";\n inst._zod.check = (payload) => {\n if (isValidBase64(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64URL(data) {\n if (!regexes.base64url.test(data))\n return false;\n const base64 = data.replace(/[-_]/g, (c) => (c === \"-\" ? \"+\" : \"/\"));\n const padded = base64.padEnd(Math.ceil(base64.length / 4) * 4, \"=\");\n return isValidBase64(padded);\n}\nexport const $ZodBase64URL = /*@__PURE__*/ core.$constructor(\"$ZodBase64URL\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.base64url);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.contentEncoding = \"base64url\";\n inst._zod.check = (payload) => {\n if (isValidBase64URL(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodE164 = /*@__PURE__*/ core.$constructor(\"$ZodE164\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.e164);\n $ZodStringFormat.init(inst, def);\n});\n////////////////////////////// ZodJWT //////////////////////////////\nexport function isValidJWT(token, algorithm = null) {\n try {\n const tokensParts = token.split(\".\");\n if (tokensParts.length !== 3)\n return false;\n const [header] = tokensParts;\n if (!header)\n return false;\n // @ts-ignore\n const parsedHeader = JSON.parse(atob(header));\n if (\"typ\" in parsedHeader && parsedHeader?.typ !== \"JWT\")\n return false;\n if (!parsedHeader.alg)\n return false;\n if (algorithm && (!(\"alg\" in parsedHeader) || parsedHeader.alg !== algorithm))\n return false;\n return true;\n }\n catch {\n return false;\n }\n}\nexport const $ZodJWT = /*@__PURE__*/ core.$constructor(\"$ZodJWT\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (isValidJWT(payload.value, def.alg))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"jwt\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCustomStringFormat\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (def.fn(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodNumber = /*@__PURE__*/ core.$constructor(\"$ZodNumber\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = inst._zod.bag.pattern ?? regexes.number;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Number(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"number\" && !Number.isNaN(input) && Number.isFinite(input)) {\n return payload;\n }\n const received = typeof input === \"number\"\n ? Number.isNaN(input)\n ? \"NaN\"\n : !Number.isFinite(input)\n ? \"Infinity\"\n : undefined\n : undefined;\n payload.issues.push({\n expected: \"number\",\n code: \"invalid_type\",\n input,\n inst,\n ...(received ? { received } : {}),\n });\n return payload;\n };\n});\nexport const $ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodNumberFormat\", (inst, def) => {\n checks.$ZodCheckNumberFormat.init(inst, def);\n $ZodNumber.init(inst, def); // no format checks\n});\nexport const $ZodBoolean = /*@__PURE__*/ core.$constructor(\"$ZodBoolean\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.boolean;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Boolean(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"boolean\")\n return payload;\n payload.issues.push({\n expected: \"boolean\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigInt = /*@__PURE__*/ core.$constructor(\"$ZodBigInt\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.bigint;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = BigInt(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"bigint\")\n return payload;\n payload.issues.push({\n expected: \"bigint\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodBigIntFormat\", (inst, def) => {\n checks.$ZodCheckBigIntFormat.init(inst, def);\n $ZodBigInt.init(inst, def); // no format checks\n});\nexport const $ZodSymbol = /*@__PURE__*/ core.$constructor(\"$ZodSymbol\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"symbol\")\n return payload;\n payload.issues.push({\n expected: \"symbol\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodUndefined = /*@__PURE__*/ core.$constructor(\"$ZodUndefined\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.undefined;\n inst._zod.values = new Set([undefined]);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"undefined\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodNull = /*@__PURE__*/ core.$constructor(\"$ZodNull\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.null;\n inst._zod.values = new Set([null]);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (input === null)\n return payload;\n payload.issues.push({\n expected: \"null\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodAny = /*@__PURE__*/ core.$constructor(\"$ZodAny\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodUnknown = /*@__PURE__*/ core.$constructor(\"$ZodUnknown\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodNever = /*@__PURE__*/ core.$constructor(\"$ZodNever\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n payload.issues.push({\n expected: \"never\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodVoid = /*@__PURE__*/ core.$constructor(\"$ZodVoid\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"void\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodDate = /*@__PURE__*/ core.$constructor(\"$ZodDate\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce) {\n try {\n payload.value = new Date(payload.value);\n }\n catch (_err) { }\n }\n const input = payload.value;\n const isDate = input instanceof Date;\n const isValidDate = isDate && !Number.isNaN(input.getTime());\n if (isValidDate)\n return payload;\n payload.issues.push({\n expected: \"date\",\n code: \"invalid_type\",\n input,\n ...(isDate ? { received: \"Invalid Date\" } : {}),\n inst,\n });\n return payload;\n };\n});\nfunction handleArrayResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nexport const $ZodArray = /*@__PURE__*/ core.$constructor(\"$ZodArray\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n expected: \"array\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n payload.value = Array(input.length);\n const proms = [];\n for (let i = 0; i < input.length; i++) {\n const item = input[i];\n const result = def.element._zod.run({\n value: item,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleArrayResult(result, payload, i)));\n }\n else {\n handleArrayResult(result, payload, i);\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload; //handleArrayResultsAsync(parseResults, final);\n };\n});\nfunction handlePropertyResult(result, final, key, input, isOptionalIn, isOptionalOut) {\n const isPresent = key in input;\n if (result.issues.length) {\n // For optional-in/out schemas, ignore errors on absent keys.\n if (isOptionalIn && isOptionalOut && !isPresent) {\n return;\n }\n final.issues.push(...util.prefixIssues(key, result.issues));\n }\n if (!isPresent && !isOptionalIn) {\n if (!result.issues.length) {\n final.issues.push({\n code: \"invalid_type\",\n expected: \"nonoptional\",\n input: undefined,\n path: [key],\n });\n }\n return;\n }\n if (result.value === undefined) {\n if (isPresent) {\n final.value[key] = undefined;\n }\n }\n else {\n final.value[key] = result.value;\n }\n}\nfunction normalizeDef(def) {\n const keys = Object.keys(def.shape);\n for (const k of keys) {\n if (!def.shape?.[k]?._zod?.traits?.has(\"$ZodType\")) {\n throw new Error(`Invalid element at key \"${k}\": expected a Zod schema`);\n }\n }\n const okeys = util.optionalKeys(def.shape);\n return {\n ...def,\n keys,\n keySet: new Set(keys),\n numKeys: keys.length,\n optionalKeys: new Set(okeys),\n };\n}\nfunction handleCatchall(proms, input, payload, ctx, def, inst) {\n const unrecognized = [];\n const keySet = def.keySet;\n const _catchall = def.catchall._zod;\n const t = _catchall.def.type;\n const isOptionalIn = _catchall.optin === \"optional\";\n const isOptionalOut = _catchall.optout === \"optional\";\n for (const key in input) {\n // skip __proto__ so it can't replace the result prototype via the\n // assignment setter on the plain {} we build into\n if (key === \"__proto__\")\n continue;\n if (keySet.has(key))\n continue;\n if (t === \"never\") {\n unrecognized.push(key);\n continue;\n }\n const r = _catchall.run({ value: input[key], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((r) => handlePropertyResult(r, payload, key, input, isOptionalIn, isOptionalOut)));\n }\n else {\n handlePropertyResult(r, payload, key, input, isOptionalIn, isOptionalOut);\n }\n }\n if (unrecognized.length) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n keys: unrecognized,\n input,\n inst,\n });\n }\n if (!proms.length)\n return payload;\n return Promise.all(proms).then(() => {\n return payload;\n });\n}\nexport const $ZodObject = /*@__PURE__*/ core.$constructor(\"$ZodObject\", (inst, def) => {\n // requires cast because technically $ZodObject doesn't extend\n $ZodType.init(inst, def);\n // const sh = def.shape;\n const desc = Object.getOwnPropertyDescriptor(def, \"shape\");\n if (!desc?.get) {\n const sh = def.shape;\n Object.defineProperty(def, \"shape\", {\n get: () => {\n const newSh = { ...sh };\n Object.defineProperty(def, \"shape\", {\n value: newSh,\n });\n return newSh;\n },\n });\n }\n const _normalized = util.cached(() => normalizeDef(def));\n util.defineLazy(inst._zod, \"propValues\", () => {\n const shape = def.shape;\n const propValues = {};\n for (const key in shape) {\n const field = shape[key]._zod;\n if (field.values) {\n propValues[key] ?? (propValues[key] = new Set());\n for (const v of field.values)\n propValues[key].add(v);\n }\n }\n return propValues;\n });\n const isObject = util.isObject;\n const catchall = def.catchall;\n let value;\n inst._zod.parse = (payload, ctx) => {\n value ?? (value = _normalized.value);\n const input = payload.value;\n if (!isObject(input)) {\n payload.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n payload.value = {};\n const proms = [];\n const shape = value.shape;\n for (const key of value.keys) {\n const el = shape[key];\n const isOptionalIn = el._zod.optin === \"optional\";\n const isOptionalOut = el._zod.optout === \"optional\";\n const r = el._zod.run({ value: input[key], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((r) => handlePropertyResult(r, payload, key, input, isOptionalIn, isOptionalOut)));\n }\n else {\n handlePropertyResult(r, payload, key, input, isOptionalIn, isOptionalOut);\n }\n }\n if (!catchall) {\n return proms.length ? Promise.all(proms).then(() => payload) : payload;\n }\n return handleCatchall(proms, input, payload, ctx, _normalized.value, inst);\n };\n});\nexport const $ZodObjectJIT = /*@__PURE__*/ core.$constructor(\"$ZodObjectJIT\", (inst, def) => {\n // requires cast because technically $ZodObject doesn't extend\n $ZodObject.init(inst, def);\n const superParse = inst._zod.parse;\n const _normalized = util.cached(() => normalizeDef(def));\n const generateFastpass = (shape) => {\n const doc = new Doc([\"shape\", \"payload\", \"ctx\"]);\n const normalized = _normalized.value;\n const parseStr = (key) => {\n const k = util.esc(key);\n return `shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`;\n };\n doc.write(`const input = payload.value;`);\n const ids = Object.create(null);\n let counter = 0;\n for (const key of normalized.keys) {\n ids[key] = `key_${counter++}`;\n }\n // A: preserve key order {\n doc.write(`const newResult = {};`);\n for (const key of normalized.keys) {\n const id = ids[key];\n const k = util.esc(key);\n const schema = shape[key];\n const isOptionalIn = schema?._zod?.optin === \"optional\";\n const isOptionalOut = schema?._zod?.optout === \"optional\";\n doc.write(`const ${id} = ${parseStr(key)};`);\n if (isOptionalIn && isOptionalOut) {\n // For optional-in/out schemas, ignore errors on absent keys\n doc.write(`\n if (${id}.issues.length) {\n if (${k} in input) {\n payload.issues = payload.issues.concat(${id}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${k}, ...iss.path] : [${k}]\n })));\n }\n }\n \n if (${id}.value === undefined) {\n if (${k} in input) {\n newResult[${k}] = undefined;\n }\n } else {\n newResult[${k}] = ${id}.value;\n }\n \n `);\n }\n else if (!isOptionalIn) {\n doc.write(`\n const ${id}_present = ${k} in input;\n if (${id}.issues.length) {\n payload.issues = payload.issues.concat(${id}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${k}, ...iss.path] : [${k}]\n })));\n }\n if (!${id}_present && !${id}.issues.length) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"nonoptional\",\n input: undefined,\n path: [${k}]\n });\n }\n\n if (${id}_present) {\n if (${id}.value === undefined) {\n newResult[${k}] = undefined;\n } else {\n newResult[${k}] = ${id}.value;\n }\n }\n\n `);\n }\n else {\n doc.write(`\n if (${id}.issues.length) {\n payload.issues = payload.issues.concat(${id}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${k}, ...iss.path] : [${k}]\n })));\n }\n \n if (${id}.value === undefined) {\n if (${k} in input) {\n newResult[${k}] = undefined;\n }\n } else {\n newResult[${k}] = ${id}.value;\n }\n \n `);\n }\n }\n doc.write(`payload.value = newResult;`);\n doc.write(`return payload;`);\n const fn = doc.compile();\n return (payload, ctx) => fn(shape, payload, ctx);\n };\n let fastpass;\n const isObject = util.isObject;\n const jit = !core.globalConfig.jitless;\n const allowsEval = util.allowsEval;\n const fastEnabled = jit && allowsEval.value; // && !def.catchall;\n const catchall = def.catchall;\n let value;\n inst._zod.parse = (payload, ctx) => {\n value ?? (value = _normalized.value);\n const input = payload.value;\n if (!isObject(input)) {\n payload.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n if (jit && fastEnabled && ctx?.async === false && ctx.jitless !== true) {\n // always synchronous\n if (!fastpass)\n fastpass = generateFastpass(def.shape);\n payload = fastpass(payload, ctx);\n if (!catchall)\n return payload;\n return handleCatchall([], input, payload, ctx, value, inst);\n }\n return superParse(payload, ctx);\n };\n});\nfunction handleUnionResults(results, final, inst, ctx) {\n for (const result of results) {\n if (result.issues.length === 0) {\n final.value = result.value;\n return final;\n }\n }\n const nonaborted = results.filter((r) => !util.aborted(r));\n if (nonaborted.length === 1) {\n final.value = nonaborted[0].value;\n return nonaborted[0];\n }\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: results.map((result) => result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n });\n return final;\n}\nexport const $ZodUnion = /*@__PURE__*/ core.$constructor(\"$ZodUnion\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.options.some((o) => o._zod.optin === \"optional\") ? \"optional\" : undefined);\n util.defineLazy(inst._zod, \"optout\", () => def.options.some((o) => o._zod.optout === \"optional\") ? \"optional\" : undefined);\n util.defineLazy(inst._zod, \"values\", () => {\n if (def.options.every((o) => o._zod.values)) {\n return new Set(def.options.flatMap((option) => Array.from(option._zod.values)));\n }\n return undefined;\n });\n util.defineLazy(inst._zod, \"pattern\", () => {\n if (def.options.every((o) => o._zod.pattern)) {\n const patterns = def.options.map((o) => o._zod.pattern);\n return new RegExp(`^(${patterns.map((p) => util.cleanRegex(p.source)).join(\"|\")})$`);\n }\n return undefined;\n });\n const first = def.options.length === 1 ? def.options[0]._zod.run : null;\n inst._zod.parse = (payload, ctx) => {\n if (first) {\n return first(payload, ctx);\n }\n let async = false;\n const results = [];\n for (const option of def.options) {\n const result = option._zod.run({\n value: payload.value,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n results.push(result);\n async = true;\n }\n else {\n if (result.issues.length === 0)\n return result;\n results.push(result);\n }\n }\n if (!async)\n return handleUnionResults(results, payload, inst, ctx);\n return Promise.all(results).then((results) => {\n return handleUnionResults(results, payload, inst, ctx);\n });\n };\n});\nfunction handleExclusiveUnionResults(results, final, inst, ctx) {\n const successes = results.filter((r) => r.issues.length === 0);\n if (successes.length === 1) {\n final.value = successes[0].value;\n return final;\n }\n if (successes.length === 0) {\n // No matches - same as regular union\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: results.map((result) => result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n });\n }\n else {\n // Multiple matches - exclusive union failure\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: [],\n inclusive: false,\n });\n }\n return final;\n}\nexport const $ZodXor = /*@__PURE__*/ core.$constructor(\"$ZodXor\", (inst, def) => {\n $ZodUnion.init(inst, def);\n def.inclusive = false;\n const first = def.options.length === 1 ? def.options[0]._zod.run : null;\n inst._zod.parse = (payload, ctx) => {\n if (first) {\n return first(payload, ctx);\n }\n let async = false;\n const results = [];\n for (const option of def.options) {\n const result = option._zod.run({\n value: payload.value,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n results.push(result);\n async = true;\n }\n else {\n results.push(result);\n }\n }\n if (!async)\n return handleExclusiveUnionResults(results, payload, inst, ctx);\n return Promise.all(results).then((results) => {\n return handleExclusiveUnionResults(results, payload, inst, ctx);\n });\n };\n});\nexport const $ZodDiscriminatedUnion = \n/*@__PURE__*/\ncore.$constructor(\"$ZodDiscriminatedUnion\", (inst, def) => {\n def.inclusive = false;\n $ZodUnion.init(inst, def);\n const _super = inst._zod.parse;\n util.defineLazy(inst._zod, \"propValues\", () => {\n const propValues = {};\n for (const option of def.options) {\n const pv = option._zod.propValues;\n if (!pv || Object.keys(pv).length === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(option)}\"`);\n for (const [k, v] of Object.entries(pv)) {\n if (!propValues[k])\n propValues[k] = new Set();\n for (const val of v) {\n propValues[k].add(val);\n }\n }\n }\n return propValues;\n });\n const disc = util.cached(() => {\n const opts = def.options;\n const map = new Map();\n for (const o of opts) {\n const values = o._zod.propValues?.[def.discriminator];\n if (!values || values.size === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(o)}\"`);\n for (const v of values) {\n if (map.has(v)) {\n throw new Error(`Duplicate discriminator value \"${String(v)}\"`);\n }\n map.set(v, o);\n }\n }\n return map;\n });\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isObject(input)) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"object\",\n input,\n inst,\n });\n return payload;\n }\n const opt = disc.value.get(input?.[def.discriminator]);\n if (opt) {\n return opt._zod.run(payload, ctx);\n }\n // Fall back to union matching when the fast discriminator path fails:\n // - explicitly enabled via unionFallback, or\n // - during backward direction (encode), since codec-based discriminators\n // have different values in forward vs backward directions\n if (def.unionFallback || ctx.direction === \"backward\") {\n return _super(payload, ctx);\n }\n // no matching discriminator\n payload.issues.push({\n code: \"invalid_union\",\n errors: [],\n note: \"No matching discriminator\",\n discriminator: def.discriminator,\n options: Array.from(disc.value.keys()),\n input,\n path: [def.discriminator],\n inst,\n });\n return payload;\n };\n});\nexport const $ZodIntersection = /*@__PURE__*/ core.$constructor(\"$ZodIntersection\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n const left = def.left._zod.run({ value: input, issues: [] }, ctx);\n const right = def.right._zod.run({ value: input, issues: [] }, ctx);\n const async = left instanceof Promise || right instanceof Promise;\n if (async) {\n return Promise.all([left, right]).then(([left, right]) => {\n return handleIntersectionResults(payload, left, right);\n });\n }\n return handleIntersectionResults(payload, left, right);\n };\n});\nfunction mergeValues(a, b) {\n // const aType = parse.t(a);\n // const bType = parse.t(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n if (a instanceof Date && b instanceof Date && +a === +b) {\n return { valid: true, data: a };\n }\n if (util.isPlainObject(a) && util.isPlainObject(b)) {\n const bKeys = Object.keys(b);\n const sharedKeys = Object.keys(a).filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [key, ...sharedValue.mergeErrorPath],\n };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return { valid: false, mergeErrorPath: [] };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [index, ...sharedValue.mergeErrorPath],\n };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n return { valid: false, mergeErrorPath: [] };\n}\nfunction handleIntersectionResults(result, left, right) {\n // Track which side(s) report each key as unrecognized\n const unrecKeys = new Map();\n let unrecIssue;\n for (const iss of left.issues) {\n if (iss.code === \"unrecognized_keys\") {\n unrecIssue ?? (unrecIssue = iss);\n for (const k of iss.keys) {\n if (!unrecKeys.has(k))\n unrecKeys.set(k, {});\n unrecKeys.get(k).l = true;\n }\n }\n else {\n result.issues.push(iss);\n }\n }\n for (const iss of right.issues) {\n if (iss.code === \"unrecognized_keys\") {\n for (const k of iss.keys) {\n if (!unrecKeys.has(k))\n unrecKeys.set(k, {});\n unrecKeys.get(k).r = true;\n }\n }\n else {\n result.issues.push(iss);\n }\n }\n // Report only keys unrecognized by BOTH sides\n const bothKeys = [...unrecKeys].filter(([, f]) => f.l && f.r).map(([k]) => k);\n if (bothKeys.length && unrecIssue) {\n result.issues.push({ ...unrecIssue, keys: bothKeys });\n }\n if (util.aborted(result))\n return result;\n const merged = mergeValues(left.value, right.value);\n if (!merged.valid) {\n throw new Error(`Unmergable intersection. Error path: ` + `${JSON.stringify(merged.mergeErrorPath)}`);\n }\n result.value = merged.data;\n return result;\n}\nexport const $ZodTuple = /*@__PURE__*/ core.$constructor(\"$ZodTuple\", (inst, def) => {\n $ZodType.init(inst, def);\n const items = def.items;\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n input,\n inst,\n expected: \"tuple\",\n code: \"invalid_type\",\n });\n return payload;\n }\n payload.value = [];\n const proms = [];\n const optinStart = getTupleOptStart(items, \"optin\");\n const optoutStart = getTupleOptStart(items, \"optout\");\n if (!def.rest) {\n if (input.length < optinStart) {\n payload.issues.push({\n code: \"too_small\",\n minimum: optinStart,\n inclusive: true,\n input,\n inst,\n origin: \"array\",\n });\n return payload;\n }\n if (input.length > items.length) {\n payload.issues.push({\n code: \"too_big\",\n maximum: items.length,\n inclusive: true,\n input,\n inst,\n origin: \"array\",\n });\n }\n }\n // Run every item in parallel, collecting results into an indexed\n // array. The post-processing in `handleTupleResults` walks them in\n // order so it can decide whether an absent optional-output error can\n // truncate the tail or must be reported to preserve required output.\n const itemResults = new Array(items.length);\n for (let i = 0; i < items.length; i++) {\n const r = items[i]._zod.run({ value: input[i], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((rr) => {\n itemResults[i] = rr;\n }));\n }\n else {\n itemResults[i] = r;\n }\n }\n if (def.rest) {\n let i = items.length - 1;\n const rest = input.slice(items.length);\n for (const el of rest) {\n i++;\n const result = def.rest._zod.run({ value: el, issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((r) => handleTupleResult(r, payload, i)));\n }\n else {\n handleTupleResult(result, payload, i);\n }\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => handleTupleResults(itemResults, payload, items, input, optoutStart));\n }\n return handleTupleResults(itemResults, payload, items, input, optoutStart);\n };\n});\nfunction getTupleOptStart(items, key) {\n for (let i = items.length - 1; i >= 0; i--) {\n if (items[i]._zod[key] !== \"optional\")\n return i + 1;\n }\n return 0;\n}\nfunction handleTupleResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nfunction handleTupleResults(itemResults, final, items, input, optoutStart) {\n // Walk results in order. Mirror $ZodObject's swallow-on-absent-optional\n // rule, but only after `optoutStart`: the first index where the output\n // tuple tail can be absent.\n for (let i = 0; i < items.length; i++) {\n const r = itemResults[i];\n const isPresent = i < input.length;\n if (r.issues.length) {\n if (!isPresent && i >= optoutStart) {\n final.value.length = i;\n break;\n }\n final.issues.push(...util.prefixIssues(i, r.issues));\n }\n final.value[i] = r.value;\n }\n // Drop trailing slots that produced `undefined` for absent input\n // (the array analog of an absent optional key on an object). The\n // `i >= input.length` floor is critical: an explicit `undefined`\n // *inside* the input must be preserved even when the schema is\n // optional-out (e.g. `z.string().or(z.undefined())` accepting an\n // explicit undefined value).\n for (let i = final.value.length - 1; i >= input.length; i--) {\n if (items[i]._zod.optout === \"optional\" && final.value[i] === undefined) {\n final.value.length = i;\n }\n else {\n break;\n }\n }\n return final;\n}\nexport const $ZodRecord = /*@__PURE__*/ core.$constructor(\"$ZodRecord\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isPlainObject(input)) {\n payload.issues.push({\n expected: \"record\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n const values = def.keyType._zod.values;\n if (values) {\n payload.value = {};\n const recordKeys = new Set();\n for (const key of values) {\n if (typeof key === \"string\" || typeof key === \"number\" || typeof key === \"symbol\") {\n recordKeys.add(typeof key === \"number\" ? key.toString() : key);\n const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n if (keyResult instanceof Promise) {\n throw new Error(\"Async schemas not supported in object keys currently\");\n }\n if (keyResult.issues.length) {\n payload.issues.push({\n code: \"invalid_key\",\n origin: \"record\",\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n input: key,\n path: [key],\n inst,\n });\n continue;\n }\n const outKey = keyResult.value;\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[outKey] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[outKey] = result.value;\n }\n }\n }\n let unrecognized;\n for (const key in input) {\n if (!recordKeys.has(key)) {\n unrecognized = unrecognized ?? [];\n unrecognized.push(key);\n }\n }\n if (unrecognized && unrecognized.length > 0) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n input,\n inst,\n keys: unrecognized,\n });\n }\n }\n else {\n payload.value = {};\n // Reflect.ownKeys for Symbol-key support; filter non-enumerable to match z.object()\n for (const key of Reflect.ownKeys(input)) {\n if (key === \"__proto__\")\n continue;\n if (!Object.prototype.propertyIsEnumerable.call(input, key))\n continue;\n let keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n if (keyResult instanceof Promise) {\n throw new Error(\"Async schemas not supported in object keys currently\");\n }\n // Numeric string fallback: if key is a numeric string and failed, retry with Number(key)\n // This handles z.number(), z.literal([1, 2, 3]), and unions containing numeric literals\n const checkNumericKey = typeof key === \"string\" && regexes.number.test(key) && keyResult.issues.length;\n if (checkNumericKey) {\n const retryResult = def.keyType._zod.run({ value: Number(key), issues: [] }, ctx);\n if (retryResult instanceof Promise) {\n throw new Error(\"Async schemas not supported in object keys currently\");\n }\n if (retryResult.issues.length === 0) {\n keyResult = retryResult;\n }\n }\n if (keyResult.issues.length) {\n if (def.mode === \"loose\") {\n // Pass through unchanged\n payload.value[key] = input[key];\n }\n else {\n // Default \"strict\" behavior: error on invalid key\n payload.issues.push({\n code: \"invalid_key\",\n origin: \"record\",\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n input: key,\n path: [key],\n inst,\n });\n }\n continue;\n }\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[keyResult.value] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[keyResult.value] = result.value;\n }\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload;\n };\n});\nexport const $ZodMap = /*@__PURE__*/ core.$constructor(\"$ZodMap\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Map)) {\n payload.issues.push({\n expected: \"map\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n payload.value = new Map();\n for (const [key, value] of input) {\n const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n const valueResult = def.valueType._zod.run({ value: value, issues: [] }, ctx);\n if (keyResult instanceof Promise || valueResult instanceof Promise) {\n proms.push(Promise.all([keyResult, valueResult]).then(([keyResult, valueResult]) => {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }));\n }\n else {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleMapResult(keyResult, valueResult, final, key, input, inst, ctx) {\n if (keyResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, keyResult.issues));\n }\n else {\n final.issues.push({\n code: \"invalid_key\",\n origin: \"map\",\n input,\n inst,\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n if (valueResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, valueResult.issues));\n }\n else {\n final.issues.push({\n origin: \"map\",\n code: \"invalid_element\",\n input,\n inst,\n key: key,\n issues: valueResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n final.value.set(keyResult.value, valueResult.value);\n}\nexport const $ZodSet = /*@__PURE__*/ core.$constructor(\"$ZodSet\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Set)) {\n payload.issues.push({\n input,\n inst,\n expected: \"set\",\n code: \"invalid_type\",\n });\n return payload;\n }\n const proms = [];\n payload.value = new Set();\n for (const item of input) {\n const result = def.valueType._zod.run({ value: item, issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleSetResult(result, payload)));\n }\n else\n handleSetResult(result, payload);\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleSetResult(result, final) {\n if (result.issues.length) {\n final.issues.push(...result.issues);\n }\n final.value.add(result.value);\n}\nexport const $ZodEnum = /*@__PURE__*/ core.$constructor(\"$ZodEnum\", (inst, def) => {\n $ZodType.init(inst, def);\n const values = util.getEnumValues(def.entries);\n const valuesSet = new Set(values);\n inst._zod.values = valuesSet;\n inst._zod.pattern = new RegExp(`^(${values\n .filter((k) => util.propertyKeyTypes.has(typeof k))\n .map((o) => (typeof o === \"string\" ? util.escapeRegex(o) : o.toString()))\n .join(\"|\")})$`);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (valuesSet.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodLiteral = /*@__PURE__*/ core.$constructor(\"$ZodLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n if (def.values.length === 0) {\n throw new Error(\"Cannot create literal schema with no valid values\");\n }\n const values = new Set(def.values);\n inst._zod.values = values;\n inst._zod.pattern = new RegExp(`^(${def.values\n .map((o) => (typeof o === \"string\" ? util.escapeRegex(o) : o ? util.escapeRegex(o.toString()) : String(o)))\n .join(\"|\")})$`);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (values.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values: def.values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodFile = /*@__PURE__*/ core.$constructor(\"$ZodFile\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n // @ts-ignore\n if (input instanceof File)\n return payload;\n payload.issues.push({\n expected: \"file\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodTransform = /*@__PURE__*/ core.$constructor(\"$ZodTransform\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n throw new core.$ZodEncodeError(inst.constructor.name);\n }\n const _out = def.transform(payload.value, payload);\n if (ctx.async) {\n const output = _out instanceof Promise ? _out : Promise.resolve(_out);\n return output.then((output) => {\n payload.value = output;\n payload.fallback = true;\n return payload;\n });\n }\n if (_out instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n payload.value = _out;\n payload.fallback = true;\n return payload;\n };\n});\nfunction handleOptionalResult(result, input) {\n if (input === undefined && (result.issues.length || result.fallback)) {\n return { issues: [], value: undefined };\n }\n return result;\n}\nexport const $ZodOptional = /*@__PURE__*/ core.$constructor(\"$ZodOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n inst._zod.optout = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => {\n return def.innerType._zod.values ? new Set([...def.innerType._zod.values, undefined]) : undefined;\n });\n util.defineLazy(inst._zod, \"pattern\", () => {\n const pattern = def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)})?$`) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n if (def.innerType._zod.optin === \"optional\") {\n const input = payload.value;\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise)\n return result.then((r) => handleOptionalResult(r, input));\n return handleOptionalResult(result, input);\n }\n if (payload.value === undefined) {\n return payload;\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodExactOptional = /*@__PURE__*/ core.$constructor(\"$ZodExactOptional\", (inst, def) => {\n // Call parent init - inherits optin/optout = \"optional\"\n $ZodOptional.init(inst, def);\n // Override values/pattern to NOT add undefined\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n util.defineLazy(inst._zod, \"pattern\", () => def.innerType._zod.pattern);\n // Override parse to just delegate (no undefined handling)\n inst._zod.parse = (payload, ctx) => {\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNullable = /*@__PURE__*/ core.$constructor(\"$ZodNullable\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n util.defineLazy(inst._zod, \"pattern\", () => {\n const pattern = def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)}|null)$`) : undefined;\n });\n util.defineLazy(inst._zod, \"values\", () => {\n return def.innerType._zod.values ? new Set([...def.innerType._zod.values, null]) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n // Forward direction (decode): allow null to pass through\n if (payload.value === null)\n return payload;\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodDefault = /*@__PURE__*/ core.$constructor(\"$ZodDefault\", (inst, def) => {\n $ZodType.init(inst, def);\n // inst._zod.qin = \"true\";\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n // Forward direction (decode): apply defaults for undefined input\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n /**\n * $ZodDefault returns the default value immediately in forward direction.\n * It doesn't pass the default value into the validator (\"prefault\"). There's no reason to pass the default value through validation. The validity of the default is enforced by TypeScript statically. Otherwise, it's the responsibility of the user to ensure the default is valid. In the case of pipes with divergent in/out types, you can specify the default on the `in` schema of your ZodPipe to set a \"prefault\" for the pipe. */\n return payload;\n }\n // Forward direction: continue with default handling\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleDefaultResult(result, def));\n }\n return handleDefaultResult(result, def);\n };\n});\nfunction handleDefaultResult(payload, def) {\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return payload;\n}\nexport const $ZodPrefault = /*@__PURE__*/ core.$constructor(\"$ZodPrefault\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n // Forward direction (decode): apply prefault for undefined input\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNonOptional = /*@__PURE__*/ core.$constructor(\"$ZodNonOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => {\n const v = def.innerType._zod.values;\n return v ? new Set([...v].filter((x) => x !== undefined)) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleNonOptionalResult(result, inst));\n }\n return handleNonOptionalResult(result, inst);\n };\n});\nfunction handleNonOptionalResult(payload, inst) {\n if (!payload.issues.length && payload.value === undefined) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"nonoptional\",\n input: payload.value,\n inst,\n });\n }\n return payload;\n}\nexport const $ZodSuccess = /*@__PURE__*/ core.$constructor(\"$ZodSuccess\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n throw new core.$ZodEncodeError(\"ZodSuccess\");\n }\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => {\n payload.value = result.issues.length === 0;\n return payload;\n });\n }\n payload.value = result.issues.length === 0;\n return payload;\n };\n});\nexport const $ZodCatch = /*@__PURE__*/ core.$constructor(\"$ZodCatch\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n // Forward direction (decode): apply catch logic\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => {\n payload.value = result.value;\n if (result.issues.length) {\n payload.value = def.catchValue({\n ...payload,\n error: {\n issues: result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n },\n input: payload.value,\n });\n payload.issues = [];\n payload.fallback = true;\n }\n return payload;\n });\n }\n payload.value = result.value;\n if (result.issues.length) {\n payload.value = def.catchValue({\n ...payload,\n error: {\n issues: result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n },\n input: payload.value,\n });\n payload.issues = [];\n payload.fallback = true;\n }\n return payload;\n };\n});\nexport const $ZodNaN = /*@__PURE__*/ core.$constructor(\"$ZodNaN\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"number\" || !Number.isNaN(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"nan\",\n code: \"invalid_type\",\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodPipe = /*@__PURE__*/ core.$constructor(\"$ZodPipe\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => def.in._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.in._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.out._zod.optout);\n util.defineLazy(inst._zod, \"propValues\", () => def.in._zod.propValues);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n const right = def.out._zod.run(payload, ctx);\n if (right instanceof Promise) {\n return right.then((right) => handlePipeResult(right, def.in, ctx));\n }\n return handlePipeResult(right, def.in, ctx);\n }\n const left = def.in._zod.run(payload, ctx);\n if (left instanceof Promise) {\n return left.then((left) => handlePipeResult(left, def.out, ctx));\n }\n return handlePipeResult(left, def.out, ctx);\n };\n});\nfunction handlePipeResult(left, next, ctx) {\n if (left.issues.length) {\n // prevent further checks\n left.aborted = true;\n return left;\n }\n return next._zod.run({ value: left.value, issues: left.issues, fallback: left.fallback }, ctx);\n}\nexport const $ZodCodec = /*@__PURE__*/ core.$constructor(\"$ZodCodec\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => def.in._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.in._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.out._zod.optout);\n util.defineLazy(inst._zod, \"propValues\", () => def.in._zod.propValues);\n inst._zod.parse = (payload, ctx) => {\n const direction = ctx.direction || \"forward\";\n if (direction === \"forward\") {\n const left = def.in._zod.run(payload, ctx);\n if (left instanceof Promise) {\n return left.then((left) => handleCodecAResult(left, def, ctx));\n }\n return handleCodecAResult(left, def, ctx);\n }\n else {\n const right = def.out._zod.run(payload, ctx);\n if (right instanceof Promise) {\n return right.then((right) => handleCodecAResult(right, def, ctx));\n }\n return handleCodecAResult(right, def, ctx);\n }\n };\n});\nfunction handleCodecAResult(result, def, ctx) {\n if (result.issues.length) {\n // prevent further checks\n result.aborted = true;\n return result;\n }\n const direction = ctx.direction || \"forward\";\n if (direction === \"forward\") {\n const transformed = def.transform(result.value, result);\n if (transformed instanceof Promise) {\n return transformed.then((value) => handleCodecTxResult(result, value, def.out, ctx));\n }\n return handleCodecTxResult(result, transformed, def.out, ctx);\n }\n else {\n const transformed = def.reverseTransform(result.value, result);\n if (transformed instanceof Promise) {\n return transformed.then((value) => handleCodecTxResult(result, value, def.in, ctx));\n }\n return handleCodecTxResult(result, transformed, def.in, ctx);\n }\n}\nfunction handleCodecTxResult(left, value, nextSchema, ctx) {\n // Check if transform added any issues\n if (left.issues.length) {\n left.aborted = true;\n return left;\n }\n return nextSchema._zod.run({ value, issues: left.issues }, ctx);\n}\nexport const $ZodPreprocess = /*@__PURE__*/ core.$constructor(\"$ZodPreprocess\", (inst, def) => {\n $ZodPipe.init(inst, def);\n});\nexport const $ZodReadonly = /*@__PURE__*/ core.$constructor(\"$ZodReadonly\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"propValues\", () => def.innerType._zod.propValues);\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType?._zod?.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType?._zod?.optout);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then(handleReadonlyResult);\n }\n return handleReadonlyResult(result);\n };\n});\nfunction handleReadonlyResult(payload) {\n payload.value = Object.freeze(payload.value);\n return payload;\n}\nexport const $ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"$ZodTemplateLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n const regexParts = [];\n for (const part of def.parts) {\n if (typeof part === \"object\" && part !== null) {\n // is Zod schema\n if (!part._zod.pattern) {\n // if (!source)\n throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);\n }\n const source = part._zod.pattern instanceof RegExp ? part._zod.pattern.source : part._zod.pattern;\n if (!source)\n throw new Error(`Invalid template literal part: ${part._zod.traits}`);\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n regexParts.push(source.slice(start, end));\n }\n else if (part === null || util.primitiveTypes.has(typeof part)) {\n regexParts.push(util.escapeRegex(`${part}`));\n }\n else {\n throw new Error(`Invalid template literal part: ${part}`);\n }\n }\n inst._zod.pattern = new RegExp(`^${regexParts.join(\"\")}$`);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"string\") {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"string\",\n code: \"invalid_type\",\n });\n return payload;\n }\n inst._zod.pattern.lastIndex = 0;\n if (!inst._zod.pattern.test(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n code: \"invalid_format\",\n format: def.format ?? \"template_literal\",\n pattern: inst._zod.pattern.source,\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodFunction = /*@__PURE__*/ core.$constructor(\"$ZodFunction\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._def = def;\n inst._zod.def = def;\n inst.implement = (func) => {\n if (typeof func !== \"function\") {\n throw new Error(\"implement() must be called with a function\");\n }\n return function (...args) {\n const parsedArgs = inst._def.input ? parse(inst._def.input, args) : args;\n const result = Reflect.apply(func, this, parsedArgs);\n if (inst._def.output) {\n return parse(inst._def.output, result);\n }\n return result;\n };\n };\n inst.implementAsync = (func) => {\n if (typeof func !== \"function\") {\n throw new Error(\"implementAsync() must be called with a function\");\n }\n return async function (...args) {\n const parsedArgs = inst._def.input ? await parseAsync(inst._def.input, args) : args;\n const result = await Reflect.apply(func, this, parsedArgs);\n if (inst._def.output) {\n return await parseAsync(inst._def.output, result);\n }\n return result;\n };\n };\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"function\") {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"function\",\n input: payload.value,\n inst,\n });\n return payload;\n }\n // Check if output is a promise type to determine if we should use async implementation\n const hasPromiseOutput = inst._def.output && inst._def.output._zod.def.type === \"promise\";\n if (hasPromiseOutput) {\n payload.value = inst.implementAsync(payload.value);\n }\n else {\n payload.value = inst.implement(payload.value);\n }\n return payload;\n };\n inst.input = (...args) => {\n const F = inst.constructor;\n if (Array.isArray(args[0])) {\n return new F({\n type: \"function\",\n input: new $ZodTuple({\n type: \"tuple\",\n items: args[0],\n rest: args[1],\n }),\n output: inst._def.output,\n });\n }\n return new F({\n type: \"function\",\n input: args[0],\n output: inst._def.output,\n });\n };\n inst.output = (output) => {\n const F = inst.constructor;\n return new F({\n type: \"function\",\n input: inst._def.input,\n output,\n });\n };\n return inst;\n});\nexport const $ZodPromise = /*@__PURE__*/ core.$constructor(\"$ZodPromise\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n return Promise.resolve(payload.value).then((inner) => def.innerType._zod.run({ value: inner, issues: [] }, ctx));\n };\n});\nexport const $ZodLazy = /*@__PURE__*/ core.$constructor(\"$ZodLazy\", (inst, def) => {\n $ZodType.init(inst, def);\n // Cache the resolved inner type on the shared `def` so all clones of this\n // lazy (e.g. via `.describe()`/`.meta()`) share the same inner instance,\n // preserving identity for cycle detection on recursive schemas.\n util.defineLazy(inst._zod, \"innerType\", () => {\n const d = def;\n if (!d._cachedInner)\n d._cachedInner = def.getter();\n return d._cachedInner;\n });\n util.defineLazy(inst._zod, \"pattern\", () => inst._zod.innerType?._zod?.pattern);\n util.defineLazy(inst._zod, \"propValues\", () => inst._zod.innerType?._zod?.propValues);\n util.defineLazy(inst._zod, \"optin\", () => inst._zod.innerType?._zod?.optin ?? undefined);\n util.defineLazy(inst._zod, \"optout\", () => inst._zod.innerType?._zod?.optout ?? undefined);\n inst._zod.parse = (payload, ctx) => {\n const inner = inst._zod.innerType;\n return inner._zod.run(payload, ctx);\n };\n});\nexport const $ZodCustom = /*@__PURE__*/ core.$constructor(\"$ZodCustom\", (inst, def) => {\n checks.$ZodCheck.init(inst, def);\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _) => {\n return payload;\n };\n inst._zod.check = (payload) => {\n const input = payload.value;\n const r = def.fn(input);\n if (r instanceof Promise) {\n return r.then((r) => handleRefineResult(r, payload, input, inst));\n }\n handleRefineResult(r, payload, input, inst);\n return;\n };\n});\nfunction handleRefineResult(result, payload, input, inst) {\n if (!result) {\n const _iss = {\n code: \"custom\",\n input,\n inst, // incorporates params.error into issue reporting\n path: [...(inst._zod.def.path ?? [])], // incorporates params.error into issue reporting\n continue: !inst._zod.def.abort,\n // params: inst._zod.def.params,\n };\n if (inst._zod.def.params)\n _iss.params = inst._zod.def.params;\n payload.issues.push(util.issue(_iss));\n }\n}\n","var _a;\nexport const $output = Symbol(\"ZodOutput\");\nexport const $input = Symbol(\"ZodInput\");\nexport class $ZodRegistry {\n constructor() {\n this._map = new WeakMap();\n this._idmap = new Map();\n }\n add(schema, ..._meta) {\n const meta = _meta[0];\n this._map.set(schema, meta);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n this._idmap.set(meta.id, schema);\n }\n return this;\n }\n clear() {\n this._map = new WeakMap();\n this._idmap = new Map();\n return this;\n }\n remove(schema) {\n const meta = this._map.get(schema);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n this._idmap.delete(meta.id);\n }\n this._map.delete(schema);\n return this;\n }\n get(schema) {\n // return this._map.get(schema) as any;\n // inherit metadata\n const p = schema._zod.parent;\n if (p) {\n const pm = { ...(this.get(p) ?? {}) };\n delete pm.id; // do not inherit id\n const f = { ...pm, ...this._map.get(schema) };\n return Object.keys(f).length ? f : undefined;\n }\n return this._map.get(schema);\n }\n has(schema) {\n return this._map.has(schema);\n }\n}\n// registries\nexport function registry() {\n return new $ZodRegistry();\n}\n(_a = globalThis).__zod_globalRegistry ?? (_a.__zod_globalRegistry = registry());\nexport const globalRegistry = globalThis.__zod_globalRegistry;\n","import * as checks from \"./checks.js\";\nimport * as registries from \"./registries.js\";\nimport * as schemas from \"./schemas.js\";\nimport * as util from \"./util.js\";\n// @__NO_SIDE_EFFECTS__\nexport function _string(Class, params) {\n return new Class({\n type: \"string\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedString(Class, params) {\n return new Class({\n type: \"string\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _email(Class, params) {\n return new Class({\n type: \"string\",\n format: \"email\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _guid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"guid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuidv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v4\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuidv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v6\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuidv7(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v7\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _emoji(Class, params) {\n return new Class({\n type: \"string\",\n format: \"emoji\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nanoid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"nanoid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n/**\n * @deprecated CUID v1 is deprecated by its authors due to information leakage\n * (timestamps embedded in the id). Use {@link _cuid2} instead.\n * See https://github.com/paralleldrive/cuid.\n */\n// @__NO_SIDE_EFFECTS__\nexport function _cuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _cuid2(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid2\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ulid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ulid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _xid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"xid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ksuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ksuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ipv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ipv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _mac(Class, params) {\n return new Class({\n type: \"string\",\n format: \"mac\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _cidrv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _cidrv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _base64(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _base64url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _e164(Class, params) {\n return new Class({\n type: \"string\",\n format: \"e164\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _jwt(Class, params) {\n return new Class({\n type: \"string\",\n format: \"jwt\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport const TimePrecision = {\n Any: null,\n Minute: -1,\n Second: 0,\n Millisecond: 3,\n Microsecond: 6,\n};\n// @__NO_SIDE_EFFECTS__\nexport function _isoDateTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"datetime\",\n check: \"string_format\",\n offset: false,\n local: false,\n precision: null,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _isoDate(Class, params) {\n return new Class({\n type: \"string\",\n format: \"date\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _isoTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"time\",\n check: \"string_format\",\n precision: null,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _isoDuration(Class, params) {\n return new Class({\n type: \"string\",\n format: \"duration\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _number(Class, params) {\n return new Class({\n type: \"number\",\n checks: [],\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedNumber(Class, params) {\n return new Class({\n type: \"number\",\n coerce: true,\n checks: [],\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _int(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"safeint\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _float32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float32\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _float64(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float64\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _int32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"int32\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uint32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"uint32\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _boolean(Class, params) {\n return new Class({\n type: \"boolean\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedBoolean(Class, params) {\n return new Class({\n type: \"boolean\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _bigint(Class, params) {\n return new Class({\n type: \"bigint\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedBigint(Class, params) {\n return new Class({\n type: \"bigint\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _int64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"int64\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uint64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"uint64\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _symbol(Class, params) {\n return new Class({\n type: \"symbol\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _undefined(Class, params) {\n return new Class({\n type: \"undefined\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _null(Class, params) {\n return new Class({\n type: \"null\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _any(Class) {\n return new Class({\n type: \"any\",\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _unknown(Class) {\n return new Class({\n type: \"unknown\",\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _never(Class, params) {\n return new Class({\n type: \"never\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _void(Class, params) {\n return new Class({\n type: \"void\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _date(Class, params) {\n return new Class({\n type: \"date\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedDate(Class, params) {\n return new Class({\n type: \"date\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nan(Class, params) {\n return new Class({\n type: \"nan\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lt(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lte(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.lte()` instead. */\n_lte as _max, };\n// @__NO_SIDE_EFFECTS__\nexport function _gt(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _gte(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.gte()` instead. */\n_gte as _min, };\n// @__NO_SIDE_EFFECTS__\nexport function _positive(params) {\n return _gt(0, params);\n}\n// negative\n// @__NO_SIDE_EFFECTS__\nexport function _negative(params) {\n return _lt(0, params);\n}\n// nonpositive\n// @__NO_SIDE_EFFECTS__\nexport function _nonpositive(params) {\n return _lte(0, params);\n}\n// nonnegative\n// @__NO_SIDE_EFFECTS__\nexport function _nonnegative(params) {\n return _gte(0, params);\n}\n// @__NO_SIDE_EFFECTS__\nexport function _multipleOf(value, params) {\n return new checks.$ZodCheckMultipleOf({\n check: \"multiple_of\",\n ...util.normalizeParams(params),\n value,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _maxSize(maximum, params) {\n return new checks.$ZodCheckMaxSize({\n check: \"max_size\",\n ...util.normalizeParams(params),\n maximum,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _minSize(minimum, params) {\n return new checks.$ZodCheckMinSize({\n check: \"min_size\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _size(size, params) {\n return new checks.$ZodCheckSizeEquals({\n check: \"size_equals\",\n ...util.normalizeParams(params),\n size,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _maxLength(maximum, params) {\n const ch = new checks.$ZodCheckMaxLength({\n check: \"max_length\",\n ...util.normalizeParams(params),\n maximum,\n });\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _minLength(minimum, params) {\n return new checks.$ZodCheckMinLength({\n check: \"min_length\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _length(length, params) {\n return new checks.$ZodCheckLengthEquals({\n check: \"length_equals\",\n ...util.normalizeParams(params),\n length,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _regex(pattern, params) {\n return new checks.$ZodCheckRegex({\n check: \"string_format\",\n format: \"regex\",\n ...util.normalizeParams(params),\n pattern,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lowercase(params) {\n return new checks.$ZodCheckLowerCase({\n check: \"string_format\",\n format: \"lowercase\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uppercase(params) {\n return new checks.$ZodCheckUpperCase({\n check: \"string_format\",\n format: \"uppercase\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _includes(includes, params) {\n return new checks.$ZodCheckIncludes({\n check: \"string_format\",\n format: \"includes\",\n ...util.normalizeParams(params),\n includes,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _startsWith(prefix, params) {\n return new checks.$ZodCheckStartsWith({\n check: \"string_format\",\n format: \"starts_with\",\n ...util.normalizeParams(params),\n prefix,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _endsWith(suffix, params) {\n return new checks.$ZodCheckEndsWith({\n check: \"string_format\",\n format: \"ends_with\",\n ...util.normalizeParams(params),\n suffix,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _property(property, schema, params) {\n return new checks.$ZodCheckProperty({\n check: \"property\",\n property,\n schema,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _mime(types, params) {\n return new checks.$ZodCheckMimeType({\n check: \"mime_type\",\n mime: types,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _overwrite(tx) {\n return new checks.$ZodCheckOverwrite({\n check: \"overwrite\",\n tx,\n });\n}\n// normalize\n// @__NO_SIDE_EFFECTS__\nexport function _normalize(form) {\n return _overwrite((input) => input.normalize(form));\n}\n// trim\n// @__NO_SIDE_EFFECTS__\nexport function _trim() {\n return _overwrite((input) => input.trim());\n}\n// toLowerCase\n// @__NO_SIDE_EFFECTS__\nexport function _toLowerCase() {\n return _overwrite((input) => input.toLowerCase());\n}\n// toUpperCase\n// @__NO_SIDE_EFFECTS__\nexport function _toUpperCase() {\n return _overwrite((input) => input.toUpperCase());\n}\n// slugify\n// @__NO_SIDE_EFFECTS__\nexport function _slugify() {\n return _overwrite((input) => util.slugify(input));\n}\n// @__NO_SIDE_EFFECTS__\nexport function _array(Class, element, params) {\n return new Class({\n type: \"array\",\n element,\n // get element() {\n // return element;\n // },\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _union(Class, options, params) {\n return new Class({\n type: \"union\",\n options,\n ...util.normalizeParams(params),\n });\n}\nexport function _xor(Class, options, params) {\n return new Class({\n type: \"union\",\n options,\n inclusive: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _discriminatedUnion(Class, discriminator, options, params) {\n return new Class({\n type: \"union\",\n options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _intersection(Class, left, right) {\n return new Class({\n type: \"intersection\",\n left,\n right,\n });\n}\n// export function _tuple(\n// Class: util.SchemaClass<schemas.$ZodTuple>,\n// items: [],\n// params?: string | $ZodTupleParams\n// ): schemas.$ZodTuple<[], null>;\n// @__NO_SIDE_EFFECTS__\nexport function _tuple(Class, items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof schemas.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new Class({\n type: \"tuple\",\n items,\n rest,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _record(Class, keyType, valueType, params) {\n return new Class({\n type: \"record\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _map(Class, keyType, valueType, params) {\n return new Class({\n type: \"map\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _set(Class, valueType, params) {\n return new Class({\n type: \"set\",\n valueType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _enum(Class, values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n // if (Array.isArray(values)) {\n // for (const value of values) {\n // entries[value] = value;\n // }\n // } else {\n // Object.assign(entries, values);\n // }\n // const entries: util.EnumLike = {};\n // for (const val of values) {\n // entries[val] = val;\n // }\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function _nativeEnum(Class, entries, params) {\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _literal(Class, value, params) {\n return new Class({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _file(Class, params) {\n return new Class({\n type: \"file\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _transform(Class, fn) {\n return new Class({\n type: \"transform\",\n transform: fn,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _optional(Class, innerType) {\n return new Class({\n type: \"optional\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nullable(Class, innerType) {\n return new Class({\n type: \"nullable\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _default(Class, innerType, defaultValue) {\n return new Class({\n type: \"default\",\n innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nonoptional(Class, innerType, params) {\n return new Class({\n type: \"nonoptional\",\n innerType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _success(Class, innerType) {\n return new Class({\n type: \"success\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _catch(Class, innerType, catchValue) {\n return new Class({\n type: \"catch\",\n innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : () => catchValue),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _pipe(Class, in_, out) {\n return new Class({\n type: \"pipe\",\n in: in_,\n out,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _readonly(Class, innerType) {\n return new Class({\n type: \"readonly\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _templateLiteral(Class, parts, params) {\n return new Class({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lazy(Class, getter) {\n return new Class({\n type: \"lazy\",\n getter,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _promise(Class, innerType) {\n return new Class({\n type: \"promise\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _custom(Class, fn, _params) {\n const norm = util.normalizeParams(_params);\n norm.abort ?? (norm.abort = true); // default to abort:false\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...norm,\n });\n return schema;\n}\n// same as _custom but defaults to abort:false\n// @__NO_SIDE_EFFECTS__\nexport function _refine(Class, fn, _params) {\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...util.normalizeParams(_params),\n });\n return schema;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _superRefine(fn, params) {\n const ch = _check((payload) => {\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, ch._zod.def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n _issue.input ?? (_issue.input = payload.value);\n _issue.inst ?? (_issue.inst = ch);\n _issue.continue ?? (_issue.continue = !ch._zod.def.abort); // abort is always undefined, so this is always true...\n payload.issues.push(util.issue(_issue));\n }\n };\n return fn(payload.value, payload);\n }, params);\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _check(fn, params) {\n const ch = new checks.$ZodCheck({\n check: \"custom\",\n ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function describe(description) {\n const ch = new checks.$ZodCheck({ check: \"describe\" });\n ch._zod.onattach = [\n (inst) => {\n const existing = registries.globalRegistry.get(inst) ?? {};\n registries.globalRegistry.add(inst, { ...existing, description });\n },\n ];\n ch._zod.check = () => { }; // no-op check\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function meta(metadata) {\n const ch = new checks.$ZodCheck({ check: \"meta\" });\n ch._zod.onattach = [\n (inst) => {\n const existing = registries.globalRegistry.get(inst) ?? {};\n registries.globalRegistry.add(inst, { ...existing, ...metadata });\n },\n ];\n ch._zod.check = () => { }; // no-op check\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _stringbool(Classes, _params) {\n const params = util.normalizeParams(_params);\n let truthyArray = params.truthy ?? [\"true\", \"1\", \"yes\", \"on\", \"y\", \"enabled\"];\n let falsyArray = params.falsy ?? [\"false\", \"0\", \"no\", \"off\", \"n\", \"disabled\"];\n if (params.case !== \"sensitive\") {\n truthyArray = truthyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n falsyArray = falsyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n }\n const truthySet = new Set(truthyArray);\n const falsySet = new Set(falsyArray);\n const _Codec = Classes.Codec ?? schemas.$ZodCodec;\n const _Boolean = Classes.Boolean ?? schemas.$ZodBoolean;\n const _String = Classes.String ?? schemas.$ZodString;\n const stringSchema = new _String({ type: \"string\", error: params.error });\n const booleanSchema = new _Boolean({ type: \"boolean\", error: params.error });\n const codec = new _Codec({\n type: \"pipe\",\n in: stringSchema,\n out: booleanSchema,\n transform: ((input, payload) => {\n let data = input;\n if (params.case !== \"sensitive\")\n data = data.toLowerCase();\n if (truthySet.has(data)) {\n return true;\n }\n else if (falsySet.has(data)) {\n return false;\n }\n else {\n payload.issues.push({\n code: \"invalid_value\",\n expected: \"stringbool\",\n values: [...truthySet, ...falsySet],\n input: payload.value,\n inst: codec,\n continue: false,\n });\n return {};\n }\n }),\n reverseTransform: ((input, _payload) => {\n if (input === true) {\n return truthyArray[0] || \"true\";\n }\n else {\n return falsyArray[0] || \"false\";\n }\n }),\n error: params.error,\n });\n return codec;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _stringFormat(Class, format, fnOrRegex, _params = {}) {\n const params = util.normalizeParams(_params);\n const def = {\n ...util.normalizeParams(_params),\n check: \"string_format\",\n type: \"string\",\n format,\n fn: typeof fnOrRegex === \"function\" ? fnOrRegex : (val) => fnOrRegex.test(val),\n ...params,\n };\n if (fnOrRegex instanceof RegExp) {\n def.pattern = fnOrRegex;\n }\n const inst = new Class(def);\n return inst;\n}\n","import { globalRegistry } from \"./registries.js\";\n// function initializeContext<T extends schemas.$ZodType>(inputs: JSONSchemaGeneratorParams<T>): ToJSONSchemaContext<T> {\n// return {\n// processor: inputs.processor,\n// metadataRegistry: inputs.metadata ?? globalRegistry,\n// target: inputs.target ?? \"draft-2020-12\",\n// unrepresentable: inputs.unrepresentable ?? \"throw\",\n// };\n// }\nexport function initializeContext(params) {\n // Normalize target: convert old non-hyphenated versions to hyphenated versions\n let target = params?.target ?? \"draft-2020-12\";\n if (target === \"draft-4\")\n target = \"draft-04\";\n if (target === \"draft-7\")\n target = \"draft-07\";\n return {\n processors: params.processors ?? {},\n metadataRegistry: params?.metadata ?? globalRegistry,\n target,\n unrepresentable: params?.unrepresentable ?? \"throw\",\n override: params?.override ?? (() => { }),\n io: params?.io ?? \"output\",\n counter: 0,\n seen: new Map(),\n cycles: params?.cycles ?? \"ref\",\n reused: params?.reused ?? \"inline\",\n external: params?.external ?? undefined,\n };\n}\nexport function process(schema, ctx, _params = { path: [], schemaPath: [] }) {\n var _a;\n const def = schema._zod.def;\n // check for schema in seens\n const seen = ctx.seen.get(schema);\n if (seen) {\n seen.count++;\n // check if cycle\n const isCycle = _params.schemaPath.includes(schema);\n if (isCycle) {\n seen.cycle = _params.path;\n }\n return seen.schema;\n }\n // initialize\n const result = { schema: {}, count: 1, cycle: undefined, path: _params.path };\n ctx.seen.set(schema, result);\n // custom method overrides default behavior\n const overrideSchema = schema._zod.toJSONSchema?.();\n if (overrideSchema) {\n result.schema = overrideSchema;\n }\n else {\n const params = {\n ..._params,\n schemaPath: [..._params.schemaPath, schema],\n path: _params.path,\n };\n if (schema._zod.processJSONSchema) {\n schema._zod.processJSONSchema(ctx, result.schema, params);\n }\n else {\n const _json = result.schema;\n const processor = ctx.processors[def.type];\n if (!processor) {\n throw new Error(`[toJSONSchema]: Non-representable type encountered: ${def.type}`);\n }\n processor(schema, ctx, _json, params);\n }\n const parent = schema._zod.parent;\n if (parent) {\n // Also set ref if processor didn't (for inheritance)\n if (!result.ref)\n result.ref = parent;\n process(parent, ctx, params);\n ctx.seen.get(parent).isParent = true;\n }\n }\n // metadata\n const meta = ctx.metadataRegistry.get(schema);\n if (meta)\n Object.assign(result.schema, meta);\n if (ctx.io === \"input\" && isTransforming(schema)) {\n // examples/defaults only apply to output type of pipe\n delete result.schema.examples;\n delete result.schema.default;\n }\n // set prefault as default\n if (ctx.io === \"input\" && \"_prefault\" in result.schema)\n (_a = result.schema).default ?? (_a.default = result.schema._prefault);\n delete result.schema._prefault;\n // pulling fresh from ctx.seen in case it was overwritten\n const _result = ctx.seen.get(schema);\n return _result.schema;\n}\nexport function extractDefs(ctx, schema\n// params: EmitParams\n) {\n // iterate over seen map;\n const root = ctx.seen.get(schema);\n if (!root)\n throw new Error(\"Unprocessed schema. This is a bug in Zod.\");\n // Track ids to detect duplicates across different schemas\n const idToSchema = new Map();\n for (const entry of ctx.seen.entries()) {\n const id = ctx.metadataRegistry.get(entry[0])?.id;\n if (id) {\n const existing = idToSchema.get(id);\n if (existing && existing !== entry[0]) {\n throw new Error(`Duplicate schema id \"${id}\" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);\n }\n idToSchema.set(id, entry[0]);\n }\n }\n // returns a ref to the schema\n // defId will be empty if the ref points to an external schema (or #)\n const makeURI = (entry) => {\n // comparing the seen objects because sometimes\n // multiple schemas map to the same seen object.\n // e.g. lazy\n // external is configured\n const defsSegment = ctx.target === \"draft-2020-12\" ? \"$defs\" : \"definitions\";\n if (ctx.external) {\n const externalId = ctx.external.registry.get(entry[0])?.id; // ?? \"__shared\";// `__schema${ctx.counter++}`;\n // check if schema is in the external registry\n const uriGenerator = ctx.external.uri ?? ((id) => id);\n if (externalId) {\n return { ref: uriGenerator(externalId) };\n }\n // otherwise, add to __shared\n const id = entry[1].defId ?? entry[1].schema.id ?? `schema${ctx.counter++}`;\n entry[1].defId = id; // set defId so it will be reused if needed\n return { defId: id, ref: `${uriGenerator(\"__shared\")}#/${defsSegment}/${id}` };\n }\n if (entry[1] === root) {\n return { ref: \"#\" };\n }\n // self-contained schema\n const uriPrefix = `#`;\n const defUriPrefix = `${uriPrefix}/${defsSegment}/`;\n const defId = entry[1].schema.id ?? `__schema${ctx.counter++}`;\n return { defId, ref: defUriPrefix + defId };\n };\n // stored cached version in `def` property\n // remove all properties, set $ref\n const extractToDef = (entry) => {\n // if the schema is already a reference, do not extract it\n if (entry[1].schema.$ref) {\n return;\n }\n const seen = entry[1];\n const { ref, defId } = makeURI(entry);\n seen.def = { ...seen.schema };\n // defId won't be set if the schema is a reference to an external schema\n // or if the schema is the root schema\n if (defId)\n seen.defId = defId;\n // wipe away all properties except $ref\n const schema = seen.schema;\n for (const key in schema) {\n delete schema[key];\n }\n schema.$ref = ref;\n };\n // throw on cycles\n // break cycles\n if (ctx.cycles === \"throw\") {\n for (const entry of ctx.seen.entries()) {\n const seen = entry[1];\n if (seen.cycle) {\n throw new Error(\"Cycle detected: \" +\n `#/${seen.cycle?.join(\"/\")}/<root>` +\n '\\n\\nSet the `cycles` parameter to `\"ref\"` to resolve cyclical schemas with defs.');\n }\n }\n }\n // extract schemas into $defs\n for (const entry of ctx.seen.entries()) {\n const seen = entry[1];\n // convert root schema to # $ref\n if (schema === entry[0]) {\n extractToDef(entry); // this has special handling for the root schema\n continue;\n }\n // extract schemas that are in the external registry\n if (ctx.external) {\n const ext = ctx.external.registry.get(entry[0])?.id;\n if (schema !== entry[0] && ext) {\n extractToDef(entry);\n continue;\n }\n }\n // extract schemas with `id` meta\n const id = ctx.metadataRegistry.get(entry[0])?.id;\n if (id) {\n extractToDef(entry);\n continue;\n }\n // break cycles\n if (seen.cycle) {\n // any\n extractToDef(entry);\n continue;\n }\n // extract reused schemas\n if (seen.count > 1) {\n if (ctx.reused === \"ref\") {\n extractToDef(entry);\n // biome-ignore lint:\n continue;\n }\n }\n }\n}\nexport function finalize(ctx, schema) {\n const root = ctx.seen.get(schema);\n if (!root)\n throw new Error(\"Unprocessed schema. This is a bug in Zod.\");\n // flatten refs - inherit properties from parent schemas\n const flattenRef = (zodSchema) => {\n const seen = ctx.seen.get(zodSchema);\n // already processed\n if (seen.ref === null)\n return;\n const schema = seen.def ?? seen.schema;\n const _cached = { ...schema };\n const ref = seen.ref;\n seen.ref = null; // prevent infinite recursion\n if (ref) {\n flattenRef(ref);\n const refSeen = ctx.seen.get(ref);\n const refSchema = refSeen.schema;\n // merge referenced schema into current\n if (refSchema.$ref && (ctx.target === \"draft-07\" || ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\")) {\n // older drafts can't combine $ref with other properties\n schema.allOf = schema.allOf ?? [];\n schema.allOf.push(refSchema);\n }\n else {\n Object.assign(schema, refSchema);\n }\n // restore child's own properties (child wins)\n Object.assign(schema, _cached);\n const isParentRef = zodSchema._zod.parent === ref;\n // For parent chain, child is a refinement - remove parent-only properties\n if (isParentRef) {\n for (const key in schema) {\n if (key === \"$ref\" || key === \"allOf\")\n continue;\n if (!(key in _cached)) {\n delete schema[key];\n }\n }\n }\n // When ref was extracted to $defs, remove properties that match the definition\n if (refSchema.$ref && refSeen.def) {\n for (const key in schema) {\n if (key === \"$ref\" || key === \"allOf\")\n continue;\n if (key in refSeen.def && JSON.stringify(schema[key]) === JSON.stringify(refSeen.def[key])) {\n delete schema[key];\n }\n }\n }\n }\n // If parent was extracted (has $ref), propagate $ref to this schema\n // This handles cases like: readonly().meta({id}).describe()\n // where processor sets ref to innerType but parent should be referenced\n const parent = zodSchema._zod.parent;\n if (parent && parent !== ref) {\n // Ensure parent is processed first so its def has inherited properties\n flattenRef(parent);\n const parentSeen = ctx.seen.get(parent);\n if (parentSeen?.schema.$ref) {\n schema.$ref = parentSeen.schema.$ref;\n // De-duplicate with parent's definition\n if (parentSeen.def) {\n for (const key in schema) {\n if (key === \"$ref\" || key === \"allOf\")\n continue;\n if (key in parentSeen.def && JSON.stringify(schema[key]) === JSON.stringify(parentSeen.def[key])) {\n delete schema[key];\n }\n }\n }\n }\n }\n // execute overrides\n ctx.override({\n zodSchema: zodSchema,\n jsonSchema: schema,\n path: seen.path ?? [],\n });\n };\n for (const entry of [...ctx.seen.entries()].reverse()) {\n flattenRef(entry[0]);\n }\n const result = {};\n if (ctx.target === \"draft-2020-12\") {\n result.$schema = \"https://json-schema.org/draft/2020-12/schema\";\n }\n else if (ctx.target === \"draft-07\") {\n result.$schema = \"http://json-schema.org/draft-07/schema#\";\n }\n else if (ctx.target === \"draft-04\") {\n result.$schema = \"http://json-schema.org/draft-04/schema#\";\n }\n else if (ctx.target === \"openapi-3.0\") {\n // OpenAPI 3.0 schema objects should not include a $schema property\n }\n else {\n // Arbitrary string values are allowed but won't have a $schema property set\n }\n if (ctx.external?.uri) {\n const id = ctx.external.registry.get(schema)?.id;\n if (!id)\n throw new Error(\"Schema is missing an `id` property\");\n result.$id = ctx.external.uri(id);\n }\n Object.assign(result, root.def ?? root.schema);\n // The `id` in `.meta()` is a Zod-specific registration tag used to extract\n // schemas into $defs — it is not user-facing JSON Schema metadata. Strip it\n // from the output body where it would otherwise leak. The id is preserved\n // implicitly via the $defs key (and via $ref paths).\n const rootMetaId = ctx.metadataRegistry.get(schema)?.id;\n if (rootMetaId !== undefined && result.id === rootMetaId)\n delete result.id;\n // build defs object\n const defs = ctx.external?.defs ?? {};\n for (const entry of ctx.seen.entries()) {\n const seen = entry[1];\n if (seen.def && seen.defId) {\n if (seen.def.id === seen.defId)\n delete seen.def.id;\n defs[seen.defId] = seen.def;\n }\n }\n // set definitions in result\n if (ctx.external) {\n }\n else {\n if (Object.keys(defs).length > 0) {\n if (ctx.target === \"draft-2020-12\") {\n result.$defs = defs;\n }\n else {\n result.definitions = defs;\n }\n }\n }\n try {\n // this \"finalizes\" this schema and ensures all cycles are removed\n // each call to finalize() is functionally independent\n // though the seen map is shared\n const finalized = JSON.parse(JSON.stringify(result));\n Object.defineProperty(finalized, \"~standard\", {\n value: {\n ...schema[\"~standard\"],\n jsonSchema: {\n input: createStandardJSONSchemaMethod(schema, \"input\", ctx.processors),\n output: createStandardJSONSchemaMethod(schema, \"output\", ctx.processors),\n },\n },\n enumerable: false,\n writable: false,\n });\n return finalized;\n }\n catch (_err) {\n throw new Error(\"Error converting schema to JSON.\");\n }\n}\nfunction isTransforming(_schema, _ctx) {\n const ctx = _ctx ?? { seen: new Set() };\n if (ctx.seen.has(_schema))\n return false;\n ctx.seen.add(_schema);\n const def = _schema._zod.def;\n if (def.type === \"transform\")\n return true;\n if (def.type === \"array\")\n return isTransforming(def.element, ctx);\n if (def.type === \"set\")\n return isTransforming(def.valueType, ctx);\n if (def.type === \"lazy\")\n return isTransforming(def.getter(), ctx);\n if (def.type === \"promise\" ||\n def.type === \"optional\" ||\n def.type === \"nonoptional\" ||\n def.type === \"nullable\" ||\n def.type === \"readonly\" ||\n def.type === \"default\" ||\n def.type === \"prefault\") {\n return isTransforming(def.innerType, ctx);\n }\n if (def.type === \"intersection\") {\n return isTransforming(def.left, ctx) || isTransforming(def.right, ctx);\n }\n if (def.type === \"record\" || def.type === \"map\") {\n return isTransforming(def.keyType, ctx) || isTransforming(def.valueType, ctx);\n }\n if (def.type === \"pipe\") {\n if (_schema._zod.traits.has(\"$ZodCodec\"))\n return true;\n return isTransforming(def.in, ctx) || isTransforming(def.out, ctx);\n }\n if (def.type === \"object\") {\n for (const key in def.shape) {\n if (isTransforming(def.shape[key], ctx))\n return true;\n }\n return false;\n }\n if (def.type === \"union\") {\n for (const option of def.options) {\n if (isTransforming(option, ctx))\n return true;\n }\n return false;\n }\n if (def.type === \"tuple\") {\n for (const item of def.items) {\n if (isTransforming(item, ctx))\n return true;\n }\n if (def.rest && isTransforming(def.rest, ctx))\n return true;\n return false;\n }\n return false;\n}\n/**\n * Creates a toJSONSchema method for a schema instance.\n * This encapsulates the logic of initializing context, processing, extracting defs, and finalizing.\n */\nexport const createToJSONSchemaMethod = (schema, processors = {}) => (params) => {\n const ctx = initializeContext({ ...params, processors });\n process(schema, ctx);\n extractDefs(ctx, schema);\n return finalize(ctx, schema);\n};\nexport const createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params) => {\n const { libraryOptions, target } = params ?? {};\n const ctx = initializeContext({ ...(libraryOptions ?? {}), target, io, processors });\n process(schema, ctx);\n extractDefs(ctx, schema);\n return finalize(ctx, schema);\n};\n","import { extractDefs, finalize, initializeContext, process, } from \"./to-json-schema.js\";\nimport { getEnumValues } from \"./util.js\";\nconst formatMap = {\n guid: \"uuid\",\n url: \"uri\",\n datetime: \"date-time\",\n json_string: \"json-string\",\n regex: \"\", // do not set\n};\n// ==================== SIMPLE TYPE PROCESSORS ====================\nexport const stringProcessor = (schema, ctx, _json, _params) => {\n const json = _json;\n json.type = \"string\";\n const { minimum, maximum, format, patterns, contentEncoding } = schema._zod\n .bag;\n if (typeof minimum === \"number\")\n json.minLength = minimum;\n if (typeof maximum === \"number\")\n json.maxLength = maximum;\n // custom pattern overrides format\n if (format) {\n json.format = formatMap[format] ?? format;\n if (json.format === \"\")\n delete json.format; // empty format is not valid\n // JSON Schema format: \"time\" requires a full time with offset or Z\n // z.iso.time() does not include timezone information, so format: \"time\" should never be used\n if (format === \"time\") {\n delete json.format;\n }\n }\n if (contentEncoding)\n json.contentEncoding = contentEncoding;\n if (patterns && patterns.size > 0) {\n const regexes = [...patterns];\n if (regexes.length === 1)\n json.pattern = regexes[0].source;\n else if (regexes.length > 1) {\n json.allOf = [\n ...regexes.map((regex) => ({\n ...(ctx.target === \"draft-07\" || ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\"\n ? { type: \"string\" }\n : {}),\n pattern: regex.source,\n })),\n ];\n }\n }\n};\nexport const numberProcessor = (schema, ctx, _json, _params) => {\n const json = _json;\n const { minimum, maximum, format, multipleOf, exclusiveMaximum, exclusiveMinimum } = schema._zod.bag;\n if (typeof format === \"string\" && format.includes(\"int\"))\n json.type = \"integer\";\n else\n json.type = \"number\";\n // when both minimum and exclusiveMinimum exist, pick the more restrictive one\n const exMin = typeof exclusiveMinimum === \"number\" && exclusiveMinimum >= (minimum ?? Number.NEGATIVE_INFINITY);\n const exMax = typeof exclusiveMaximum === \"number\" && exclusiveMaximum <= (maximum ?? Number.POSITIVE_INFINITY);\n const legacy = ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\";\n if (exMin) {\n if (legacy) {\n json.minimum = exclusiveMinimum;\n json.exclusiveMinimum = true;\n }\n else {\n json.exclusiveMinimum = exclusiveMinimum;\n }\n }\n else if (typeof minimum === \"number\") {\n json.minimum = minimum;\n }\n if (exMax) {\n if (legacy) {\n json.maximum = exclusiveMaximum;\n json.exclusiveMaximum = true;\n }\n else {\n json.exclusiveMaximum = exclusiveMaximum;\n }\n }\n else if (typeof maximum === \"number\") {\n json.maximum = maximum;\n }\n if (typeof multipleOf === \"number\")\n json.multipleOf = multipleOf;\n};\nexport const booleanProcessor = (_schema, _ctx, json, _params) => {\n json.type = \"boolean\";\n};\nexport const bigintProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"BigInt cannot be represented in JSON Schema\");\n }\n};\nexport const symbolProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Symbols cannot be represented in JSON Schema\");\n }\n};\nexport const nullProcessor = (_schema, ctx, json, _params) => {\n if (ctx.target === \"openapi-3.0\") {\n json.type = \"string\";\n json.nullable = true;\n json.enum = [null];\n }\n else {\n json.type = \"null\";\n }\n};\nexport const undefinedProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Undefined cannot be represented in JSON Schema\");\n }\n};\nexport const voidProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Void cannot be represented in JSON Schema\");\n }\n};\nexport const neverProcessor = (_schema, _ctx, json, _params) => {\n json.not = {};\n};\nexport const anyProcessor = (_schema, _ctx, _json, _params) => {\n // empty schema accepts anything\n};\nexport const unknownProcessor = (_schema, _ctx, _json, _params) => {\n // empty schema accepts anything\n};\nexport const dateProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Date cannot be represented in JSON Schema\");\n }\n};\nexport const enumProcessor = (schema, _ctx, json, _params) => {\n const def = schema._zod.def;\n const values = getEnumValues(def.entries);\n // Number enums can have both string and number values\n if (values.every((v) => typeof v === \"number\"))\n json.type = \"number\";\n if (values.every((v) => typeof v === \"string\"))\n json.type = \"string\";\n json.enum = values;\n};\nexport const literalProcessor = (schema, ctx, json, _params) => {\n const def = schema._zod.def;\n const vals = [];\n for (const val of def.values) {\n if (val === undefined) {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Literal `undefined` cannot be represented in JSON Schema\");\n }\n else {\n // do not add to vals\n }\n }\n else if (typeof val === \"bigint\") {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"BigInt literals cannot be represented in JSON Schema\");\n }\n else {\n vals.push(Number(val));\n }\n }\n else {\n vals.push(val);\n }\n }\n if (vals.length === 0) {\n // do nothing (an undefined literal was stripped)\n }\n else if (vals.length === 1) {\n const val = vals[0];\n json.type = val === null ? \"null\" : typeof val;\n if (ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\") {\n json.enum = [val];\n }\n else {\n json.const = val;\n }\n }\n else {\n if (vals.every((v) => typeof v === \"number\"))\n json.type = \"number\";\n if (vals.every((v) => typeof v === \"string\"))\n json.type = \"string\";\n if (vals.every((v) => typeof v === \"boolean\"))\n json.type = \"boolean\";\n if (vals.every((v) => v === null))\n json.type = \"null\";\n json.enum = vals;\n }\n};\nexport const nanProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"NaN cannot be represented in JSON Schema\");\n }\n};\nexport const templateLiteralProcessor = (schema, _ctx, json, _params) => {\n const _json = json;\n const pattern = schema._zod.pattern;\n if (!pattern)\n throw new Error(\"Pattern not found in template literal\");\n _json.type = \"string\";\n _json.pattern = pattern.source;\n};\nexport const fileProcessor = (schema, _ctx, json, _params) => {\n const _json = json;\n const file = {\n type: \"string\",\n format: \"binary\",\n contentEncoding: \"binary\",\n };\n const { minimum, maximum, mime } = schema._zod.bag;\n if (minimum !== undefined)\n file.minLength = minimum;\n if (maximum !== undefined)\n file.maxLength = maximum;\n if (mime) {\n if (mime.length === 1) {\n file.contentMediaType = mime[0];\n Object.assign(_json, file);\n }\n else {\n Object.assign(_json, file); // shared props at root\n _json.anyOf = mime.map((m) => ({ contentMediaType: m })); // only contentMediaType differs\n }\n }\n else {\n Object.assign(_json, file);\n }\n};\nexport const successProcessor = (_schema, _ctx, json, _params) => {\n json.type = \"boolean\";\n};\nexport const customProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Custom types cannot be represented in JSON Schema\");\n }\n};\nexport const functionProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Function types cannot be represented in JSON Schema\");\n }\n};\nexport const transformProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Transforms cannot be represented in JSON Schema\");\n }\n};\nexport const mapProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Map cannot be represented in JSON Schema\");\n }\n};\nexport const setProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Set cannot be represented in JSON Schema\");\n }\n};\n// ==================== COMPOSITE TYPE PROCESSORS ====================\nexport const arrayProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n const { minimum, maximum } = schema._zod.bag;\n if (typeof minimum === \"number\")\n json.minItems = minimum;\n if (typeof maximum === \"number\")\n json.maxItems = maximum;\n json.type = \"array\";\n json.items = process(def.element, ctx, {\n ...params,\n path: [...params.path, \"items\"],\n });\n};\nexport const objectProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n json.type = \"object\";\n json.properties = {};\n const shape = def.shape;\n for (const key in shape) {\n json.properties[key] = process(shape[key], ctx, {\n ...params,\n path: [...params.path, \"properties\", key],\n });\n }\n // required keys\n const allKeys = new Set(Object.keys(shape));\n const requiredKeys = new Set([...allKeys].filter((key) => {\n const v = def.shape[key]._zod;\n if (ctx.io === \"input\") {\n return v.optin === undefined;\n }\n else {\n return v.optout === undefined;\n }\n }));\n if (requiredKeys.size > 0) {\n json.required = Array.from(requiredKeys);\n }\n // catchall\n if (def.catchall?._zod.def.type === \"never\") {\n // strict\n json.additionalProperties = false;\n }\n else if (!def.catchall) {\n // regular\n if (ctx.io === \"output\")\n json.additionalProperties = false;\n }\n else if (def.catchall) {\n json.additionalProperties = process(def.catchall, ctx, {\n ...params,\n path: [...params.path, \"additionalProperties\"],\n });\n }\n};\nexport const unionProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n // Exclusive unions (inclusive === false) use oneOf (exactly one match) instead of anyOf (one or more matches)\n // This includes both z.xor() and discriminated unions\n const isExclusive = def.inclusive === false;\n const options = def.options.map((x, i) => process(x, ctx, {\n ...params,\n path: [...params.path, isExclusive ? \"oneOf\" : \"anyOf\", i],\n }));\n if (isExclusive) {\n json.oneOf = options;\n }\n else {\n json.anyOf = options;\n }\n};\nexport const intersectionProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n const a = process(def.left, ctx, {\n ...params,\n path: [...params.path, \"allOf\", 0],\n });\n const b = process(def.right, ctx, {\n ...params,\n path: [...params.path, \"allOf\", 1],\n });\n const isSimpleIntersection = (val) => \"allOf\" in val && Object.keys(val).length === 1;\n const allOf = [\n ...(isSimpleIntersection(a) ? a.allOf : [a]),\n ...(isSimpleIntersection(b) ? b.allOf : [b]),\n ];\n json.allOf = allOf;\n};\nexport const tupleProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n json.type = \"array\";\n const prefixPath = ctx.target === \"draft-2020-12\" ? \"prefixItems\" : \"items\";\n const restPath = ctx.target === \"draft-2020-12\" ? \"items\" : ctx.target === \"openapi-3.0\" ? \"items\" : \"additionalItems\";\n const prefixItems = def.items.map((x, i) => process(x, ctx, {\n ...params,\n path: [...params.path, prefixPath, i],\n }));\n const rest = def.rest\n ? process(def.rest, ctx, {\n ...params,\n path: [...params.path, restPath, ...(ctx.target === \"openapi-3.0\" ? [def.items.length] : [])],\n })\n : null;\n if (ctx.target === \"draft-2020-12\") {\n json.prefixItems = prefixItems;\n if (rest) {\n json.items = rest;\n }\n }\n else if (ctx.target === \"openapi-3.0\") {\n json.items = {\n anyOf: prefixItems,\n };\n if (rest) {\n json.items.anyOf.push(rest);\n }\n json.minItems = prefixItems.length;\n if (!rest) {\n json.maxItems = prefixItems.length;\n }\n }\n else {\n json.items = prefixItems;\n if (rest) {\n json.additionalItems = rest;\n }\n }\n // length\n const { minimum, maximum } = schema._zod.bag;\n if (typeof minimum === \"number\")\n json.minItems = minimum;\n if (typeof maximum === \"number\")\n json.maxItems = maximum;\n};\nexport const recordProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n json.type = \"object\";\n // For looseRecord with regex patterns, use patternProperties\n // This correctly represents \"only validate keys matching the pattern\" semantics\n // and composes well with allOf (intersections)\n const keyType = def.keyType;\n const keyBag = keyType._zod.bag;\n const patterns = keyBag?.patterns;\n if (def.mode === \"loose\" && patterns && patterns.size > 0) {\n // Use patternProperties for looseRecord with regex patterns\n const valueSchema = process(def.valueType, ctx, {\n ...params,\n path: [...params.path, \"patternProperties\", \"*\"],\n });\n json.patternProperties = {};\n for (const pattern of patterns) {\n json.patternProperties[pattern.source] = valueSchema;\n }\n }\n else {\n // Default behavior: use propertyNames + additionalProperties\n if (ctx.target === \"draft-07\" || ctx.target === \"draft-2020-12\") {\n json.propertyNames = process(def.keyType, ctx, {\n ...params,\n path: [...params.path, \"propertyNames\"],\n });\n }\n json.additionalProperties = process(def.valueType, ctx, {\n ...params,\n path: [...params.path, \"additionalProperties\"],\n });\n }\n // Add required for keys with discrete values (enum, literal, etc.)\n const keyValues = keyType._zod.values;\n if (keyValues) {\n const validKeyValues = [...keyValues].filter((v) => typeof v === \"string\" || typeof v === \"number\");\n if (validKeyValues.length > 0) {\n json.required = validKeyValues;\n }\n }\n};\nexport const nullableProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n const inner = process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n if (ctx.target === \"openapi-3.0\") {\n seen.ref = def.innerType;\n json.nullable = true;\n }\n else {\n json.anyOf = [inner, { type: \"null\" }];\n }\n};\nexport const nonoptionalProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n};\nexport const defaultProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n json.default = JSON.parse(JSON.stringify(def.defaultValue));\n};\nexport const prefaultProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n if (ctx.io === \"input\")\n json._prefault = JSON.parse(JSON.stringify(def.defaultValue));\n};\nexport const catchProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n let catchValue;\n try {\n catchValue = def.catchValue(undefined);\n }\n catch {\n throw new Error(\"Dynamic catch values are not supported in JSON Schema\");\n }\n json.default = catchValue;\n};\nexport const pipeProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n const inIsTransform = def.in._zod.traits.has(\"$ZodTransform\");\n const innerType = ctx.io === \"input\" ? (inIsTransform ? def.out : def.in) : def.out;\n process(innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = innerType;\n};\nexport const readonlyProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n json.readOnly = true;\n};\nexport const promiseProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n};\nexport const optionalProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n};\nexport const lazyProcessor = (schema, ctx, _json, params) => {\n const innerType = schema._zod.innerType;\n process(innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = innerType;\n};\n// ==================== ALL PROCESSORS ====================\nexport const allProcessors = {\n string: stringProcessor,\n number: numberProcessor,\n boolean: booleanProcessor,\n bigint: bigintProcessor,\n symbol: symbolProcessor,\n null: nullProcessor,\n undefined: undefinedProcessor,\n void: voidProcessor,\n never: neverProcessor,\n any: anyProcessor,\n unknown: unknownProcessor,\n date: dateProcessor,\n enum: enumProcessor,\n literal: literalProcessor,\n nan: nanProcessor,\n template_literal: templateLiteralProcessor,\n file: fileProcessor,\n success: successProcessor,\n custom: customProcessor,\n function: functionProcessor,\n transform: transformProcessor,\n map: mapProcessor,\n set: setProcessor,\n array: arrayProcessor,\n object: objectProcessor,\n union: unionProcessor,\n intersection: intersectionProcessor,\n tuple: tupleProcessor,\n record: recordProcessor,\n nullable: nullableProcessor,\n nonoptional: nonoptionalProcessor,\n default: defaultProcessor,\n prefault: prefaultProcessor,\n catch: catchProcessor,\n pipe: pipeProcessor,\n readonly: readonlyProcessor,\n promise: promiseProcessor,\n optional: optionalProcessor,\n lazy: lazyProcessor,\n};\nexport function toJSONSchema(input, params) {\n if (\"_idmap\" in input) {\n // Registry case\n const registry = input;\n const ctx = initializeContext({ ...params, processors: allProcessors });\n const defs = {};\n // First pass: process all schemas to build the seen map\n for (const entry of registry._idmap.entries()) {\n const [_, schema] = entry;\n process(schema, ctx);\n }\n const schemas = {};\n const external = {\n registry,\n uri: params?.uri,\n defs,\n };\n // Update the context with external configuration\n ctx.external = external;\n // Second pass: emit each schema\n for (const entry of registry._idmap.entries()) {\n const [key, schema] = entry;\n extractDefs(ctx, schema);\n schemas[key] = finalize(ctx, schema);\n }\n if (Object.keys(defs).length > 0) {\n const defsSegment = ctx.target === \"draft-2020-12\" ? \"$defs\" : \"definitions\";\n schemas.__shared = {\n [defsSegment]: defs,\n };\n }\n return { schemas };\n }\n // Single schema case\n const ctx = initializeContext({ ...params, processors: allProcessors });\n process(input, ctx);\n extractDefs(ctx, input);\n return finalize(ctx, input);\n}\n","import * as core from \"../core/index.js\";\nimport * as schemas from \"./schemas.js\";\nexport const ZodISODateTime = /*@__PURE__*/ core.$constructor(\"ZodISODateTime\", (inst, def) => {\n core.$ZodISODateTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function datetime(params) {\n return core._isoDateTime(ZodISODateTime, params);\n}\nexport const ZodISODate = /*@__PURE__*/ core.$constructor(\"ZodISODate\", (inst, def) => {\n core.$ZodISODate.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function date(params) {\n return core._isoDate(ZodISODate, params);\n}\nexport const ZodISOTime = /*@__PURE__*/ core.$constructor(\"ZodISOTime\", (inst, def) => {\n core.$ZodISOTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function time(params) {\n return core._isoTime(ZodISOTime, params);\n}\nexport const ZodISODuration = /*@__PURE__*/ core.$constructor(\"ZodISODuration\", (inst, def) => {\n core.$ZodISODuration.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function duration(params) {\n return core._isoDuration(ZodISODuration, params);\n}\n","import * as core from \"../core/index.js\";\nimport { $ZodError } from \"../core/index.js\";\nimport * as util from \"../core/util.js\";\nconst initializer = (inst, issues) => {\n $ZodError.init(inst, issues);\n inst.name = \"ZodError\";\n Object.defineProperties(inst, {\n format: {\n value: (mapper) => core.formatError(inst, mapper),\n // enumerable: false,\n },\n flatten: {\n value: (mapper) => core.flattenError(inst, mapper),\n // enumerable: false,\n },\n addIssue: {\n value: (issue) => {\n inst.issues.push(issue);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n addIssues: {\n value: (issues) => {\n inst.issues.push(...issues);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n isEmpty: {\n get() {\n return inst.issues.length === 0;\n },\n // enumerable: false,\n },\n });\n // Object.defineProperty(inst, \"isEmpty\", {\n // get() {\n // return inst.issues.length === 0;\n // },\n // });\n};\nexport const ZodError = /*@__PURE__*/ core.$constructor(\"ZodError\", initializer);\nexport const ZodRealError = /*@__PURE__*/ core.$constructor(\"ZodError\", initializer, {\n Parent: Error,\n});\n// /** @deprecated Use `z.core.$ZodErrorMapCtx` instead. */\n// export type ErrorMapCtx = core.$ZodErrorMapCtx;\n","import * as core from \"../core/index.js\";\nimport { ZodRealError } from \"./errors.js\";\nexport const parse = /* @__PURE__ */ core._parse(ZodRealError);\nexport const parseAsync = /* @__PURE__ */ core._parseAsync(ZodRealError);\nexport const safeParse = /* @__PURE__ */ core._safeParse(ZodRealError);\nexport const safeParseAsync = /* @__PURE__ */ core._safeParseAsync(ZodRealError);\n// Codec functions\nexport const encode = /* @__PURE__ */ core._encode(ZodRealError);\nexport const decode = /* @__PURE__ */ core._decode(ZodRealError);\nexport const encodeAsync = /* @__PURE__ */ core._encodeAsync(ZodRealError);\nexport const decodeAsync = /* @__PURE__ */ core._decodeAsync(ZodRealError);\nexport const safeEncode = /* @__PURE__ */ core._safeEncode(ZodRealError);\nexport const safeDecode = /* @__PURE__ */ core._safeDecode(ZodRealError);\nexport const safeEncodeAsync = /* @__PURE__ */ core._safeEncodeAsync(ZodRealError);\nexport const safeDecodeAsync = /* @__PURE__ */ core._safeDecodeAsync(ZodRealError);\n","import * as core from \"../core/index.js\";\nimport { util } from \"../core/index.js\";\nimport * as processors from \"../core/json-schema-processors.js\";\nimport { createStandardJSONSchemaMethod, createToJSONSchemaMethod } from \"../core/to-json-schema.js\";\nimport * as checks from \"./checks.js\";\nimport * as iso from \"./iso.js\";\nimport * as parse from \"./parse.js\";\n// Lazy-bind builder methods.\n//\n// Builder methods (`.optional`, `.array`, `.refine`, ...) live as\n// non-enumerable getters on each concrete schema constructor's\n// prototype. On first access from an instance the getter allocates\n// `fn.bind(this)` and caches it as an own property on that instance,\n// so detached usage (`const m = schema.optional; m()`) still works\n// and the per-instance allocation only happens for methods actually\n// touched.\n//\n// One install per (prototype, group), memoized by `_installedGroups`.\nconst _installedGroups = /* @__PURE__ */ new WeakMap();\nfunction _installLazyMethods(inst, group, methods) {\n const proto = Object.getPrototypeOf(inst);\n let installed = _installedGroups.get(proto);\n if (!installed) {\n installed = new Set();\n _installedGroups.set(proto, installed);\n }\n if (installed.has(group))\n return;\n installed.add(group);\n for (const key in methods) {\n const fn = methods[key];\n Object.defineProperty(proto, key, {\n configurable: true,\n enumerable: false,\n get() {\n const bound = fn.bind(this);\n Object.defineProperty(this, key, {\n configurable: true,\n writable: true,\n enumerable: true,\n value: bound,\n });\n return bound;\n },\n set(v) {\n Object.defineProperty(this, key, {\n configurable: true,\n writable: true,\n enumerable: true,\n value: v,\n });\n },\n });\n }\n}\nexport const ZodType = /*@__PURE__*/ core.$constructor(\"ZodType\", (inst, def) => {\n core.$ZodType.init(inst, def);\n Object.assign(inst[\"~standard\"], {\n jsonSchema: {\n input: createStandardJSONSchemaMethod(inst, \"input\"),\n output: createStandardJSONSchemaMethod(inst, \"output\"),\n },\n });\n inst.toJSONSchema = createToJSONSchemaMethod(inst, {});\n inst.def = def;\n inst.type = def.type;\n Object.defineProperty(inst, \"_def\", { value: def });\n // Parse-family is intentionally kept as per-instance closures: these are\n // the hot path AND the most-detached methods (`arr.map(schema.parse)`,\n // `const { parse } = schema`, etc.). Eager closures here mean callers pay\n // ~12 closure allocations per schema but get monomorphic call sites and\n // detached usage that \"just works\".\n inst.parse = (data, params) => parse.parse(inst, data, params, { callee: inst.parse });\n inst.safeParse = (data, params) => parse.safeParse(inst, data, params);\n inst.parseAsync = async (data, params) => parse.parseAsync(inst, data, params, { callee: inst.parseAsync });\n inst.safeParseAsync = async (data, params) => parse.safeParseAsync(inst, data, params);\n inst.spa = inst.safeParseAsync;\n inst.encode = (data, params) => parse.encode(inst, data, params);\n inst.decode = (data, params) => parse.decode(inst, data, params);\n inst.encodeAsync = async (data, params) => parse.encodeAsync(inst, data, params);\n inst.decodeAsync = async (data, params) => parse.decodeAsync(inst, data, params);\n inst.safeEncode = (data, params) => parse.safeEncode(inst, data, params);\n inst.safeDecode = (data, params) => parse.safeDecode(inst, data, params);\n inst.safeEncodeAsync = async (data, params) => parse.safeEncodeAsync(inst, data, params);\n inst.safeDecodeAsync = async (data, params) => parse.safeDecodeAsync(inst, data, params);\n // All builder methods are placed on the internal prototype as lazy-bind\n // getters. On first access per-instance, a bound thunk is allocated and\n // cached as an own property; subsequent accesses skip the getter. This\n // means: no per-instance allocation for unused methods, full\n // detachability preserved (`const m = schema.optional; m()` works), and\n // shared underlying function references across all instances.\n _installLazyMethods(inst, \"ZodType\", {\n check(...chks) {\n const def = this.def;\n return this.clone(util.mergeDefs(def, {\n checks: [\n ...(def.checks ?? []),\n ...chks.map((ch) => typeof ch === \"function\" ? { _zod: { check: ch, def: { check: \"custom\" }, onattach: [] } } : ch),\n ],\n }), { parent: true });\n },\n with(...chks) {\n return this.check(...chks);\n },\n clone(def, params) {\n return core.clone(this, def, params);\n },\n brand() {\n return this;\n },\n register(reg, meta) {\n reg.add(this, meta);\n return this;\n },\n refine(check, params) {\n return this.check(refine(check, params));\n },\n superRefine(refinement, params) {\n return this.check(superRefine(refinement, params));\n },\n overwrite(fn) {\n return this.check(checks.overwrite(fn));\n },\n optional() {\n return optional(this);\n },\n exactOptional() {\n return exactOptional(this);\n },\n nullable() {\n return nullable(this);\n },\n nullish() {\n return optional(nullable(this));\n },\n nonoptional(params) {\n return nonoptional(this, params);\n },\n array() {\n return array(this);\n },\n or(arg) {\n return union([this, arg]);\n },\n and(arg) {\n return intersection(this, arg);\n },\n transform(tx) {\n return pipe(this, transform(tx));\n },\n default(d) {\n return _default(this, d);\n },\n prefault(d) {\n return prefault(this, d);\n },\n catch(params) {\n return _catch(this, params);\n },\n pipe(target) {\n return pipe(this, target);\n },\n readonly() {\n return readonly(this);\n },\n describe(description) {\n const cl = this.clone();\n core.globalRegistry.add(cl, { description });\n return cl;\n },\n meta(...args) {\n // overloaded: meta() returns the registered metadata, meta(data)\n // returns a clone with `data` registered. The mapped type picks\n // up the second overload, so we accept variadic any-args and\n // return `any` to satisfy both at runtime.\n if (args.length === 0)\n return core.globalRegistry.get(this);\n const cl = this.clone();\n core.globalRegistry.add(cl, args[0]);\n return cl;\n },\n isOptional() {\n return this.safeParse(undefined).success;\n },\n isNullable() {\n return this.safeParse(null).success;\n },\n apply(fn) {\n return fn(this);\n },\n });\n Object.defineProperty(inst, \"description\", {\n get() {\n return core.globalRegistry.get(inst)?.description;\n },\n configurable: true,\n });\n return inst;\n});\n/** @internal */\nexport const _ZodString = /*@__PURE__*/ core.$constructor(\"_ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.stringProcessor(inst, ctx, json, params);\n const bag = inst._zod.bag;\n inst.format = bag.format ?? null;\n inst.minLength = bag.minimum ?? null;\n inst.maxLength = bag.maximum ?? null;\n _installLazyMethods(inst, \"_ZodString\", {\n regex(...args) {\n return this.check(checks.regex(...args));\n },\n includes(...args) {\n return this.check(checks.includes(...args));\n },\n startsWith(...args) {\n return this.check(checks.startsWith(...args));\n },\n endsWith(...args) {\n return this.check(checks.endsWith(...args));\n },\n min(...args) {\n return this.check(checks.minLength(...args));\n },\n max(...args) {\n return this.check(checks.maxLength(...args));\n },\n length(...args) {\n return this.check(checks.length(...args));\n },\n nonempty(...args) {\n return this.check(checks.minLength(1, ...args));\n },\n lowercase(params) {\n return this.check(checks.lowercase(params));\n },\n uppercase(params) {\n return this.check(checks.uppercase(params));\n },\n trim() {\n return this.check(checks.trim());\n },\n normalize(...args) {\n return this.check(checks.normalize(...args));\n },\n toLowerCase() {\n return this.check(checks.toLowerCase());\n },\n toUpperCase() {\n return this.check(checks.toUpperCase());\n },\n slugify() {\n return this.check(checks.slugify());\n },\n });\n});\nexport const ZodString = /*@__PURE__*/ core.$constructor(\"ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n _ZodString.init(inst, def);\n inst.email = (params) => inst.check(core._email(ZodEmail, params));\n inst.url = (params) => inst.check(core._url(ZodURL, params));\n inst.jwt = (params) => inst.check(core._jwt(ZodJWT, params));\n inst.emoji = (params) => inst.check(core._emoji(ZodEmoji, params));\n inst.guid = (params) => inst.check(core._guid(ZodGUID, params));\n inst.uuid = (params) => inst.check(core._uuid(ZodUUID, params));\n inst.uuidv4 = (params) => inst.check(core._uuidv4(ZodUUID, params));\n inst.uuidv6 = (params) => inst.check(core._uuidv6(ZodUUID, params));\n inst.uuidv7 = (params) => inst.check(core._uuidv7(ZodUUID, params));\n inst.nanoid = (params) => inst.check(core._nanoid(ZodNanoID, params));\n inst.guid = (params) => inst.check(core._guid(ZodGUID, params));\n inst.cuid = (params) => inst.check(core._cuid(ZodCUID, params));\n inst.cuid2 = (params) => inst.check(core._cuid2(ZodCUID2, params));\n inst.ulid = (params) => inst.check(core._ulid(ZodULID, params));\n inst.base64 = (params) => inst.check(core._base64(ZodBase64, params));\n inst.base64url = (params) => inst.check(core._base64url(ZodBase64URL, params));\n inst.xid = (params) => inst.check(core._xid(ZodXID, params));\n inst.ksuid = (params) => inst.check(core._ksuid(ZodKSUID, params));\n inst.ipv4 = (params) => inst.check(core._ipv4(ZodIPv4, params));\n inst.ipv6 = (params) => inst.check(core._ipv6(ZodIPv6, params));\n inst.cidrv4 = (params) => inst.check(core._cidrv4(ZodCIDRv4, params));\n inst.cidrv6 = (params) => inst.check(core._cidrv6(ZodCIDRv6, params));\n inst.e164 = (params) => inst.check(core._e164(ZodE164, params));\n // iso\n inst.datetime = (params) => inst.check(iso.datetime(params));\n inst.date = (params) => inst.check(iso.date(params));\n inst.time = (params) => inst.check(iso.time(params));\n inst.duration = (params) => inst.check(iso.duration(params));\n});\nexport function string(params) {\n return core._string(ZodString, params);\n}\nexport const ZodStringFormat = /*@__PURE__*/ core.$constructor(\"ZodStringFormat\", (inst, def) => {\n core.$ZodStringFormat.init(inst, def);\n _ZodString.init(inst, def);\n});\nexport const ZodEmail = /*@__PURE__*/ core.$constructor(\"ZodEmail\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmail.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function email(params) {\n return core._email(ZodEmail, params);\n}\nexport const ZodGUID = /*@__PURE__*/ core.$constructor(\"ZodGUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodGUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function guid(params) {\n return core._guid(ZodGUID, params);\n}\nexport const ZodUUID = /*@__PURE__*/ core.$constructor(\"ZodUUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodUUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function uuid(params) {\n return core._uuid(ZodUUID, params);\n}\nexport function uuidv4(params) {\n return core._uuidv4(ZodUUID, params);\n}\n// ZodUUIDv6\nexport function uuidv6(params) {\n return core._uuidv6(ZodUUID, params);\n}\n// ZodUUIDv7\nexport function uuidv7(params) {\n return core._uuidv7(ZodUUID, params);\n}\nexport const ZodURL = /*@__PURE__*/ core.$constructor(\"ZodURL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodURL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function url(params) {\n return core._url(ZodURL, params);\n}\nexport function httpUrl(params) {\n return core._url(ZodURL, {\n protocol: core.regexes.httpProtocol,\n hostname: core.regexes.domain,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodEmoji = /*@__PURE__*/ core.$constructor(\"ZodEmoji\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmoji.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function emoji(params) {\n return core._emoji(ZodEmoji, params);\n}\nexport const ZodNanoID = /*@__PURE__*/ core.$constructor(\"ZodNanoID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodNanoID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function nanoid(params) {\n return core._nanoid(ZodNanoID, params);\n}\n/**\n * @deprecated CUID v1 is deprecated by its authors due to information leakage\n * (timestamps embedded in the id). Use {@link ZodCUID2} instead.\n * See https://github.com/paralleldrive/cuid.\n */\nexport const ZodCUID = /*@__PURE__*/ core.$constructor(\"ZodCUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\n/**\n * Validates a CUID v1 string.\n *\n * @deprecated CUID v1 is deprecated by its authors due to information leakage\n * (timestamps embedded in the id). Use {@link cuid2 | `z.cuid2()`} instead.\n * See https://github.com/paralleldrive/cuid.\n */\nexport function cuid(params) {\n return core._cuid(ZodCUID, params);\n}\nexport const ZodCUID2 = /*@__PURE__*/ core.$constructor(\"ZodCUID2\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID2.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cuid2(params) {\n return core._cuid2(ZodCUID2, params);\n}\nexport const ZodULID = /*@__PURE__*/ core.$constructor(\"ZodULID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodULID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ulid(params) {\n return core._ulid(ZodULID, params);\n}\nexport const ZodXID = /*@__PURE__*/ core.$constructor(\"ZodXID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodXID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function xid(params) {\n return core._xid(ZodXID, params);\n}\nexport const ZodKSUID = /*@__PURE__*/ core.$constructor(\"ZodKSUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodKSUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ksuid(params) {\n return core._ksuid(ZodKSUID, params);\n}\nexport const ZodIPv4 = /*@__PURE__*/ core.$constructor(\"ZodIPv4\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv4(params) {\n return core._ipv4(ZodIPv4, params);\n}\nexport const ZodMAC = /*@__PURE__*/ core.$constructor(\"ZodMAC\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodMAC.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function mac(params) {\n return core._mac(ZodMAC, params);\n}\nexport const ZodIPv6 = /*@__PURE__*/ core.$constructor(\"ZodIPv6\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv6(params) {\n return core._ipv6(ZodIPv6, params);\n}\nexport const ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv4\", (inst, def) => {\n core.$ZodCIDRv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv4(params) {\n return core._cidrv4(ZodCIDRv4, params);\n}\nexport const ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv6\", (inst, def) => {\n core.$ZodCIDRv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv6(params) {\n return core._cidrv6(ZodCIDRv6, params);\n}\nexport const ZodBase64 = /*@__PURE__*/ core.$constructor(\"ZodBase64\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64(params) {\n return core._base64(ZodBase64, params);\n}\nexport const ZodBase64URL = /*@__PURE__*/ core.$constructor(\"ZodBase64URL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64URL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64url(params) {\n return core._base64url(ZodBase64URL, params);\n}\nexport const ZodE164 = /*@__PURE__*/ core.$constructor(\"ZodE164\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodE164.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function e164(params) {\n return core._e164(ZodE164, params);\n}\nexport const ZodJWT = /*@__PURE__*/ core.$constructor(\"ZodJWT\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodJWT.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function jwt(params) {\n return core._jwt(ZodJWT, params);\n}\nexport const ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"ZodCustomStringFormat\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCustomStringFormat.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function stringFormat(format, fnOrRegex, _params = {}) {\n return core._stringFormat(ZodCustomStringFormat, format, fnOrRegex, _params);\n}\nexport function hostname(_params) {\n return core._stringFormat(ZodCustomStringFormat, \"hostname\", core.regexes.hostname, _params);\n}\nexport function hex(_params) {\n return core._stringFormat(ZodCustomStringFormat, \"hex\", core.regexes.hex, _params);\n}\nexport function hash(alg, params) {\n const enc = params?.enc ?? \"hex\";\n const format = `${alg}_${enc}`;\n const regex = core.regexes[format];\n if (!regex)\n throw new Error(`Unrecognized hash format: ${format}`);\n return core._stringFormat(ZodCustomStringFormat, format, regex, params);\n}\nexport const ZodNumber = /*@__PURE__*/ core.$constructor(\"ZodNumber\", (inst, def) => {\n core.$ZodNumber.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.numberProcessor(inst, ctx, json, params);\n _installLazyMethods(inst, \"ZodNumber\", {\n gt(value, params) {\n return this.check(checks.gt(value, params));\n },\n gte(value, params) {\n return this.check(checks.gte(value, params));\n },\n min(value, params) {\n return this.check(checks.gte(value, params));\n },\n lt(value, params) {\n return this.check(checks.lt(value, params));\n },\n lte(value, params) {\n return this.check(checks.lte(value, params));\n },\n max(value, params) {\n return this.check(checks.lte(value, params));\n },\n int(params) {\n return this.check(int(params));\n },\n safe(params) {\n return this.check(int(params));\n },\n positive(params) {\n return this.check(checks.gt(0, params));\n },\n nonnegative(params) {\n return this.check(checks.gte(0, params));\n },\n negative(params) {\n return this.check(checks.lt(0, params));\n },\n nonpositive(params) {\n return this.check(checks.lte(0, params));\n },\n multipleOf(value, params) {\n return this.check(checks.multipleOf(value, params));\n },\n step(value, params) {\n return this.check(checks.multipleOf(value, params));\n },\n finite() {\n return this;\n },\n });\n const bag = inst._zod.bag;\n inst.minValue =\n Math.max(bag.minimum ?? Number.NEGATIVE_INFINITY, bag.exclusiveMinimum ?? Number.NEGATIVE_INFINITY) ?? null;\n inst.maxValue =\n Math.min(bag.maximum ?? Number.POSITIVE_INFINITY, bag.exclusiveMaximum ?? Number.POSITIVE_INFINITY) ?? null;\n inst.isInt = (bag.format ?? \"\").includes(\"int\") || Number.isSafeInteger(bag.multipleOf ?? 0.5);\n inst.isFinite = true;\n inst.format = bag.format ?? null;\n});\nexport function number(params) {\n return core._number(ZodNumber, params);\n}\nexport const ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"ZodNumberFormat\", (inst, def) => {\n core.$ZodNumberFormat.init(inst, def);\n ZodNumber.init(inst, def);\n});\nexport function int(params) {\n return core._int(ZodNumberFormat, params);\n}\nexport function float32(params) {\n return core._float32(ZodNumberFormat, params);\n}\nexport function float64(params) {\n return core._float64(ZodNumberFormat, params);\n}\nexport function int32(params) {\n return core._int32(ZodNumberFormat, params);\n}\nexport function uint32(params) {\n return core._uint32(ZodNumberFormat, params);\n}\nexport const ZodBoolean = /*@__PURE__*/ core.$constructor(\"ZodBoolean\", (inst, def) => {\n core.$ZodBoolean.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.booleanProcessor(inst, ctx, json, params);\n});\nexport function boolean(params) {\n return core._boolean(ZodBoolean, params);\n}\nexport const ZodBigInt = /*@__PURE__*/ core.$constructor(\"ZodBigInt\", (inst, def) => {\n core.$ZodBigInt.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.bigintProcessor(inst, ctx, json, params);\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.gt = (value, params) => inst.check(checks.gt(value, params));\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.lt = (value, params) => inst.check(checks.lt(value, params));\n inst.lte = (value, params) => inst.check(checks.lte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n inst.positive = (params) => inst.check(checks.gt(BigInt(0), params));\n inst.negative = (params) => inst.check(checks.lt(BigInt(0), params));\n inst.nonpositive = (params) => inst.check(checks.lte(BigInt(0), params));\n inst.nonnegative = (params) => inst.check(checks.gte(BigInt(0), params));\n inst.multipleOf = (value, params) => inst.check(checks.multipleOf(value, params));\n const bag = inst._zod.bag;\n inst.minValue = bag.minimum ?? null;\n inst.maxValue = bag.maximum ?? null;\n inst.format = bag.format ?? null;\n});\nexport function bigint(params) {\n return core._bigint(ZodBigInt, params);\n}\nexport const ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"ZodBigIntFormat\", (inst, def) => {\n core.$ZodBigIntFormat.init(inst, def);\n ZodBigInt.init(inst, def);\n});\n// int64\nexport function int64(params) {\n return core._int64(ZodBigIntFormat, params);\n}\n// uint64\nexport function uint64(params) {\n return core._uint64(ZodBigIntFormat, params);\n}\nexport const ZodSymbol = /*@__PURE__*/ core.$constructor(\"ZodSymbol\", (inst, def) => {\n core.$ZodSymbol.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.symbolProcessor(inst, ctx, json, params);\n});\nexport function symbol(params) {\n return core._symbol(ZodSymbol, params);\n}\nexport const ZodUndefined = /*@__PURE__*/ core.$constructor(\"ZodUndefined\", (inst, def) => {\n core.$ZodUndefined.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.undefinedProcessor(inst, ctx, json, params);\n});\nfunction _undefined(params) {\n return core._undefined(ZodUndefined, params);\n}\nexport { _undefined as undefined };\nexport const ZodNull = /*@__PURE__*/ core.$constructor(\"ZodNull\", (inst, def) => {\n core.$ZodNull.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nullProcessor(inst, ctx, json, params);\n});\nfunction _null(params) {\n return core._null(ZodNull, params);\n}\nexport { _null as null };\nexport const ZodAny = /*@__PURE__*/ core.$constructor(\"ZodAny\", (inst, def) => {\n core.$ZodAny.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.anyProcessor(inst, ctx, json, params);\n});\nexport function any() {\n return core._any(ZodAny);\n}\nexport const ZodUnknown = /*@__PURE__*/ core.$constructor(\"ZodUnknown\", (inst, def) => {\n core.$ZodUnknown.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.unknownProcessor(inst, ctx, json, params);\n});\nexport function unknown() {\n return core._unknown(ZodUnknown);\n}\nexport const ZodNever = /*@__PURE__*/ core.$constructor(\"ZodNever\", (inst, def) => {\n core.$ZodNever.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.neverProcessor(inst, ctx, json, params);\n});\nexport function never(params) {\n return core._never(ZodNever, params);\n}\nexport const ZodVoid = /*@__PURE__*/ core.$constructor(\"ZodVoid\", (inst, def) => {\n core.$ZodVoid.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.voidProcessor(inst, ctx, json, params);\n});\nfunction _void(params) {\n return core._void(ZodVoid, params);\n}\nexport { _void as void };\nexport const ZodDate = /*@__PURE__*/ core.$constructor(\"ZodDate\", (inst, def) => {\n core.$ZodDate.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.dateProcessor(inst, ctx, json, params);\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n const c = inst._zod.bag;\n inst.minDate = c.minimum ? new Date(c.minimum) : null;\n inst.maxDate = c.maximum ? new Date(c.maximum) : null;\n});\nexport function date(params) {\n return core._date(ZodDate, params);\n}\nexport const ZodArray = /*@__PURE__*/ core.$constructor(\"ZodArray\", (inst, def) => {\n core.$ZodArray.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.arrayProcessor(inst, ctx, json, params);\n inst.element = def.element;\n _installLazyMethods(inst, \"ZodArray\", {\n min(n, params) {\n return this.check(checks.minLength(n, params));\n },\n nonempty(params) {\n return this.check(checks.minLength(1, params));\n },\n max(n, params) {\n return this.check(checks.maxLength(n, params));\n },\n length(n, params) {\n return this.check(checks.length(n, params));\n },\n unwrap() {\n return this.element;\n },\n });\n});\nexport function array(element, params) {\n return core._array(ZodArray, element, params);\n}\n// .keyof\nexport function keyof(schema) {\n const shape = schema._zod.def.shape;\n return _enum(Object.keys(shape));\n}\nexport const ZodObject = /*@__PURE__*/ core.$constructor(\"ZodObject\", (inst, def) => {\n core.$ZodObjectJIT.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.objectProcessor(inst, ctx, json, params);\n util.defineLazy(inst, \"shape\", () => {\n return def.shape;\n });\n _installLazyMethods(inst, \"ZodObject\", {\n keyof() {\n return _enum(Object.keys(this._zod.def.shape));\n },\n catchall(catchall) {\n return this.clone({ ...this._zod.def, catchall: catchall });\n },\n passthrough() {\n return this.clone({ ...this._zod.def, catchall: unknown() });\n },\n loose() {\n return this.clone({ ...this._zod.def, catchall: unknown() });\n },\n strict() {\n return this.clone({ ...this._zod.def, catchall: never() });\n },\n strip() {\n return this.clone({ ...this._zod.def, catchall: undefined });\n },\n extend(incoming) {\n return util.extend(this, incoming);\n },\n safeExtend(incoming) {\n return util.safeExtend(this, incoming);\n },\n merge(other) {\n return util.merge(this, other);\n },\n pick(mask) {\n return util.pick(this, mask);\n },\n omit(mask) {\n return util.omit(this, mask);\n },\n partial(...args) {\n return util.partial(ZodOptional, this, args[0]);\n },\n required(...args) {\n return util.required(ZodNonOptional, this, args[0]);\n },\n });\n});\nexport function object(shape, params) {\n const def = {\n type: \"object\",\n shape: shape ?? {},\n ...util.normalizeParams(params),\n };\n return new ZodObject(def);\n}\n// strictObject\nexport function strictObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n shape,\n catchall: never(),\n ...util.normalizeParams(params),\n });\n}\n// looseObject\nexport function looseObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n shape,\n catchall: unknown(),\n ...util.normalizeParams(params),\n });\n}\nexport const ZodUnion = /*@__PURE__*/ core.$constructor(\"ZodUnion\", (inst, def) => {\n core.$ZodUnion.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.unionProcessor(inst, ctx, json, params);\n inst.options = def.options;\n});\nexport function union(options, params) {\n return new ZodUnion({\n type: \"union\",\n options: options,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodXor = /*@__PURE__*/ core.$constructor(\"ZodXor\", (inst, def) => {\n ZodUnion.init(inst, def);\n core.$ZodXor.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.unionProcessor(inst, ctx, json, params);\n inst.options = def.options;\n});\n/** Creates an exclusive union (XOR) where exactly one option must match.\n * Unlike regular unions that succeed when any option matches, xor fails if\n * zero or more than one option matches the input. */\nexport function xor(options, params) {\n return new ZodXor({\n type: \"union\",\n options: options,\n inclusive: false,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodDiscriminatedUnion = /*@__PURE__*/ core.$constructor(\"ZodDiscriminatedUnion\", (inst, def) => {\n ZodUnion.init(inst, def);\n core.$ZodDiscriminatedUnion.init(inst, def);\n});\nexport function discriminatedUnion(discriminator, options, params) {\n // const [options, params] = args;\n return new ZodDiscriminatedUnion({\n type: \"union\",\n options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodIntersection = /*@__PURE__*/ core.$constructor(\"ZodIntersection\", (inst, def) => {\n core.$ZodIntersection.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.intersectionProcessor(inst, ctx, json, params);\n});\nexport function intersection(left, right) {\n return new ZodIntersection({\n type: \"intersection\",\n left: left,\n right: right,\n });\n}\nexport const ZodTuple = /*@__PURE__*/ core.$constructor(\"ZodTuple\", (inst, def) => {\n core.$ZodTuple.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.tupleProcessor(inst, ctx, json, params);\n inst.rest = (rest) => inst.clone({\n ...inst._zod.def,\n rest: rest,\n });\n});\nexport function tuple(items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof core.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new ZodTuple({\n type: \"tuple\",\n items: items,\n rest,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodRecord = /*@__PURE__*/ core.$constructor(\"ZodRecord\", (inst, def) => {\n core.$ZodRecord.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.recordProcessor(inst, ctx, json, params);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n});\nexport function record(keyType, valueType, params) {\n // v3-compat: z.record(valueType, params?) — defaults keyType to z.string()\n if (!valueType || !valueType._zod) {\n return new ZodRecord({\n type: \"record\",\n keyType: string(),\n valueType: keyType,\n ...util.normalizeParams(valueType),\n });\n }\n return new ZodRecord({\n type: \"record\",\n keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\n// type alksjf = core.output<core.$ZodRecordKey>;\nexport function partialRecord(keyType, valueType, params) {\n const k = core.clone(keyType);\n k._zod.values = undefined;\n return new ZodRecord({\n type: \"record\",\n keyType: k,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function looseRecord(keyType, valueType, params) {\n return new ZodRecord({\n type: \"record\",\n keyType,\n valueType: valueType,\n mode: \"loose\",\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMap = /*@__PURE__*/ core.$constructor(\"ZodMap\", (inst, def) => {\n core.$ZodMap.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.mapProcessor(inst, ctx, json, params);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n inst.min = (...args) => inst.check(core._minSize(...args));\n inst.nonempty = (params) => inst.check(core._minSize(1, params));\n inst.max = (...args) => inst.check(core._maxSize(...args));\n inst.size = (...args) => inst.check(core._size(...args));\n});\nexport function map(keyType, valueType, params) {\n return new ZodMap({\n type: \"map\",\n keyType: keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSet = /*@__PURE__*/ core.$constructor(\"ZodSet\", (inst, def) => {\n core.$ZodSet.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.setProcessor(inst, ctx, json, params);\n inst.min = (...args) => inst.check(core._minSize(...args));\n inst.nonempty = (params) => inst.check(core._minSize(1, params));\n inst.max = (...args) => inst.check(core._maxSize(...args));\n inst.size = (...args) => inst.check(core._size(...args));\n});\nexport function set(valueType, params) {\n return new ZodSet({\n type: \"set\",\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodEnum = /*@__PURE__*/ core.$constructor(\"ZodEnum\", (inst, def) => {\n core.$ZodEnum.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.enumProcessor(inst, ctx, json, params);\n inst.enum = def.entries;\n inst.options = Object.values(def.entries);\n const keys = new Set(Object.keys(def.entries));\n inst.extract = (values, params) => {\n const newEntries = {};\n for (const value of values) {\n if (keys.has(value)) {\n newEntries[value] = def.entries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n inst.exclude = (values, params) => {\n const newEntries = { ...def.entries };\n for (const value of values) {\n if (keys.has(value)) {\n delete newEntries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n});\nfunction _enum(values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport { _enum as enum };\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function nativeEnum(entries, params) {\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLiteral = /*@__PURE__*/ core.$constructor(\"ZodLiteral\", (inst, def) => {\n core.$ZodLiteral.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.literalProcessor(inst, ctx, json, params);\n inst.values = new Set(def.values);\n Object.defineProperty(inst, \"value\", {\n get() {\n if (def.values.length > 1) {\n throw new Error(\"This schema contains multiple valid literal values. Use `.values` instead.\");\n }\n return def.values[0];\n },\n });\n});\nexport function literal(value, params) {\n return new ZodLiteral({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\nexport const ZodFile = /*@__PURE__*/ core.$constructor(\"ZodFile\", (inst, def) => {\n core.$ZodFile.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.fileProcessor(inst, ctx, json, params);\n inst.min = (size, params) => inst.check(core._minSize(size, params));\n inst.max = (size, params) => inst.check(core._maxSize(size, params));\n inst.mime = (types, params) => inst.check(core._mime(Array.isArray(types) ? types : [types], params));\n});\nexport function file(params) {\n return core._file(ZodFile, params);\n}\nexport const ZodTransform = /*@__PURE__*/ core.$constructor(\"ZodTransform\", (inst, def) => {\n core.$ZodTransform.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.transformProcessor(inst, ctx, json, params);\n inst._zod.parse = (payload, _ctx) => {\n if (_ctx.direction === \"backward\") {\n throw new core.$ZodEncodeError(inst.constructor.name);\n }\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n _issue.input ?? (_issue.input = payload.value);\n _issue.inst ?? (_issue.inst = inst);\n // _issue.continue ??= true;\n payload.issues.push(util.issue(_issue));\n }\n };\n const output = def.transform(payload.value, payload);\n if (output instanceof Promise) {\n return output.then((output) => {\n payload.value = output;\n payload.fallback = true;\n return payload;\n });\n }\n payload.value = output;\n payload.fallback = true;\n return payload;\n };\n});\nexport function transform(fn) {\n return new ZodTransform({\n type: \"transform\",\n transform: fn,\n });\n}\nexport const ZodOptional = /*@__PURE__*/ core.$constructor(\"ZodOptional\", (inst, def) => {\n core.$ZodOptional.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.optionalProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function optional(innerType) {\n return new ZodOptional({\n type: \"optional\",\n innerType: innerType,\n });\n}\nexport const ZodExactOptional = /*@__PURE__*/ core.$constructor(\"ZodExactOptional\", (inst, def) => {\n core.$ZodExactOptional.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.optionalProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function exactOptional(innerType) {\n return new ZodExactOptional({\n type: \"optional\",\n innerType: innerType,\n });\n}\nexport const ZodNullable = /*@__PURE__*/ core.$constructor(\"ZodNullable\", (inst, def) => {\n core.$ZodNullable.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nullableProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nullable(innerType) {\n return new ZodNullable({\n type: \"nullable\",\n innerType: innerType,\n });\n}\n// nullish\nexport function nullish(innerType) {\n return optional(nullable(innerType));\n}\nexport const ZodDefault = /*@__PURE__*/ core.$constructor(\"ZodDefault\", (inst, def) => {\n core.$ZodDefault.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.defaultProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeDefault = inst.unwrap;\n});\nexport function _default(innerType, defaultValue) {\n return new ZodDefault({\n type: \"default\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\nexport const ZodPrefault = /*@__PURE__*/ core.$constructor(\"ZodPrefault\", (inst, def) => {\n core.$ZodPrefault.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.prefaultProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function prefault(innerType, defaultValue) {\n return new ZodPrefault({\n type: \"prefault\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\nexport const ZodNonOptional = /*@__PURE__*/ core.$constructor(\"ZodNonOptional\", (inst, def) => {\n core.$ZodNonOptional.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nonoptionalProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nonoptional(innerType, params) {\n return new ZodNonOptional({\n type: \"nonoptional\",\n innerType: innerType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSuccess = /*@__PURE__*/ core.$constructor(\"ZodSuccess\", (inst, def) => {\n core.$ZodSuccess.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.successProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function success(innerType) {\n return new ZodSuccess({\n type: \"success\",\n innerType: innerType,\n });\n}\nexport const ZodCatch = /*@__PURE__*/ core.$constructor(\"ZodCatch\", (inst, def) => {\n core.$ZodCatch.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.catchProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeCatch = inst.unwrap;\n});\nfunction _catch(innerType, catchValue) {\n return new ZodCatch({\n type: \"catch\",\n innerType: innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : () => catchValue),\n });\n}\nexport { _catch as catch };\nexport const ZodNaN = /*@__PURE__*/ core.$constructor(\"ZodNaN\", (inst, def) => {\n core.$ZodNaN.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nanProcessor(inst, ctx, json, params);\n});\nexport function nan(params) {\n return core._nan(ZodNaN, params);\n}\nexport const ZodPipe = /*@__PURE__*/ core.$constructor(\"ZodPipe\", (inst, def) => {\n core.$ZodPipe.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.pipeProcessor(inst, ctx, json, params);\n inst.in = def.in;\n inst.out = def.out;\n});\nexport function pipe(in_, out) {\n return new ZodPipe({\n type: \"pipe\",\n in: in_,\n out: out,\n // ...util.normalizeParams(params),\n });\n}\nexport const ZodCodec = /*@__PURE__*/ core.$constructor(\"ZodCodec\", (inst, def) => {\n ZodPipe.init(inst, def);\n core.$ZodCodec.init(inst, def);\n});\nexport function codec(in_, out, params) {\n return new ZodCodec({\n type: \"pipe\",\n in: in_,\n out: out,\n transform: params.decode,\n reverseTransform: params.encode,\n });\n}\nexport function invertCodec(codec) {\n const def = codec._zod.def;\n return new ZodCodec({\n type: \"pipe\",\n in: def.out,\n out: def.in,\n transform: def.reverseTransform,\n reverseTransform: def.transform,\n });\n}\nexport const ZodPreprocess = /*@__PURE__*/ core.$constructor(\"ZodPreprocess\", (inst, def) => {\n ZodPipe.init(inst, def);\n core.$ZodPreprocess.init(inst, def);\n});\nexport const ZodReadonly = /*@__PURE__*/ core.$constructor(\"ZodReadonly\", (inst, def) => {\n core.$ZodReadonly.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.readonlyProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function readonly(innerType) {\n return new ZodReadonly({\n type: \"readonly\",\n innerType: innerType,\n });\n}\nexport const ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"ZodTemplateLiteral\", (inst, def) => {\n core.$ZodTemplateLiteral.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.templateLiteralProcessor(inst, ctx, json, params);\n});\nexport function templateLiteral(parts, params) {\n return new ZodTemplateLiteral({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLazy = /*@__PURE__*/ core.$constructor(\"ZodLazy\", (inst, def) => {\n core.$ZodLazy.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.lazyProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.getter();\n});\nexport function lazy(getter) {\n return new ZodLazy({\n type: \"lazy\",\n getter: getter,\n });\n}\nexport const ZodPromise = /*@__PURE__*/ core.$constructor(\"ZodPromise\", (inst, def) => {\n core.$ZodPromise.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.promiseProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function promise(innerType) {\n return new ZodPromise({\n type: \"promise\",\n innerType: innerType,\n });\n}\nexport const ZodFunction = /*@__PURE__*/ core.$constructor(\"ZodFunction\", (inst, def) => {\n core.$ZodFunction.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.functionProcessor(inst, ctx, json, params);\n});\nexport function _function(params) {\n return new ZodFunction({\n type: \"function\",\n input: Array.isArray(params?.input) ? tuple(params?.input) : (params?.input ?? array(unknown())),\n output: params?.output ?? unknown(),\n });\n}\nexport { _function as function };\nexport const ZodCustom = /*@__PURE__*/ core.$constructor(\"ZodCustom\", (inst, def) => {\n core.$ZodCustom.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.customProcessor(inst, ctx, json, params);\n});\n// custom checks\nexport function check(fn) {\n const ch = new core.$ZodCheck({\n check: \"custom\",\n // ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\nexport function custom(fn, _params) {\n return core._custom(ZodCustom, fn ?? (() => true), _params);\n}\nexport function refine(fn, _params = {}) {\n return core._refine(ZodCustom, fn, _params);\n}\n// superRefine\nexport function superRefine(fn, params) {\n return core._superRefine(fn, params);\n}\n// Re-export describe and meta from core\nexport const describe = core.describe;\nexport const meta = core.meta;\nfunction _instanceof(cls, params = {}) {\n const inst = new ZodCustom({\n type: \"custom\",\n check: \"custom\",\n fn: (data) => data instanceof cls,\n abort: true,\n ...util.normalizeParams(params),\n });\n inst._zod.bag.Class = cls;\n // Override check to emit invalid_type instead of custom\n inst._zod.check = (payload) => {\n if (!(payload.value instanceof cls)) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: cls.name,\n input: payload.value,\n inst,\n path: [...(inst._zod.def.path ?? [])],\n });\n }\n };\n return inst;\n}\nexport { _instanceof as instanceof };\n// stringbool\nexport const stringbool = (...args) => core._stringbool({\n Codec: ZodCodec,\n Boolean: ZodBoolean,\n String: ZodString,\n}, ...args);\nexport function json(params) {\n const jsonSchema = lazy(() => {\n return union([string(params), number(), boolean(), _null(), array(jsonSchema), record(string(), jsonSchema)]);\n });\n return jsonSchema;\n}\n// preprocess\nexport function preprocess(fn, schema) {\n return new ZodPreprocess({\n type: \"pipe\",\n in: transform(fn),\n out: schema,\n });\n}\n","/* Generated by @deepseek-ai/dsh-typert-generator from the Host FaceModel — do not edit. */\nimport { z } from 'zod'\n\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_deleteSession_parameter_0$schema = z.object({\n 'sessionId': z.string().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_deleteSession_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n 'archived': z.boolean().readonly(),\n 'purged': z.boolean().readonly(),\n 'artifactPath': z.string().readonly().optional(),\n 'purgeSkippedReason': z.string().readonly().optional(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"disabled\"), z.literal(\"no-registry\"), z.literal(\"unknown-session\"), z.literal(\"archive-failed\"), z.literal(\"remove-failed\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_describe_result$schema = z.object({\n 'git': z.object({\n 'available': z.boolean().readonly(),\n 'reason': z.string().readonly().optional(),\n 'detail': z.string().readonly().optional(),\n}).readonly(),\n 'terminal': z.object({\n 'available': z.boolean().readonly(),\n 'reason': z.string().readonly().optional(),\n 'detail': z.string().readonly().optional(),\n}).readonly(),\n 'files': z.object({\n 'available': z.boolean().readonly(),\n 'reason': z.string().readonly().optional(),\n 'detail': z.string().readonly().optional(),\n}).readonly(),\n 'preview': z.object({\n 'available': z.boolean().readonly(),\n 'reason': z.string().readonly().optional(),\n 'detail': z.string().readonly().optional(),\n 'running': z.number().readonly(),\n}).readonly(),\n 'tasks': z.object({\n 'available': z.boolean().readonly(),\n 'reason': z.string().readonly().optional(),\n 'detail': z.string().readonly().optional(),\n 'canKill': z.boolean().readonly(),\n 'canReadOutput': z.boolean().readonly(),\n}).readonly(),\n 'openIn': z.array(z.object({\n 'id': z.string().readonly(),\n 'label': z.string().readonly(),\n 'available': z.boolean().readonly(),\n 'kind': z.union([z.literal(\"reveal\"), z.literal(\"command\")]).readonly(),\n})).readonly(),\n 'deletion': z.object({\n 'canPurge': z.boolean().readonly(),\n 'mode': z.union([z.literal(\"archive\"), z.literal(\"purge\")]).readonly(),\n 'reason': z.string().readonly().optional(),\n}).readonly(),\n 'settings': z.object({\n 'showInSessionHeader': z.boolean().readonly(),\n 'showChanges': z.boolean().readonly(),\n 'showTerminal': z.boolean().readonly(),\n 'showFiles': z.boolean().readonly(),\n 'showTasks': z.boolean().readonly(),\n 'showOpenIn': z.boolean().readonly(),\n 'showArchive': z.boolean().readonly(),\n 'showDelete': z.boolean().readonly(),\n 'showPreview': z.boolean().readonly(),\n 'panelWidth': z.number().readonly(),\n 'confirmDelete': z.boolean().readonly(),\n 'deleteMode': z.union([z.literal(\"archive\"), z.literal(\"purge\")]).readonly(),\n 'allowTaskKill': z.boolean().readonly(),\n 'showTaskOutput': z.boolean().readonly(),\n 'gitMaxFiles': z.number().readonly(),\n 'gitDiffMaxBytes': z.number().readonly(),\n 'gitTimeoutMs': z.number().readonly(),\n 'gitCommitTimeoutMs': z.number().readonly(),\n 'allowGitStaging': z.boolean().readonly(),\n 'allowGitCommit': z.boolean().readonly(),\n 'allowGitPush': z.boolean().readonly(),\n 'gitPushTimeoutMs': z.number().readonly(),\n 'allowCommitMessageDraft': z.boolean().readonly(),\n 'commitMessagePrompt': z.string().readonly(),\n 'commitMessageMaxBytes': z.number().readonly(),\n 'terminalShell': z.string().readonly(),\n 'terminalScrollback': z.number().readonly(),\n 'maxTerminals': z.number().readonly(),\n 'terminalGraceMs': z.number().readonly(),\n 'filesMaxPreviewBytes': z.number().readonly(),\n 'filesMaxEntries': z.number().readonly(),\n 'filesShowHidden': z.boolean().readonly(),\n 'editors': z.array(z.object({\n 'id': z.string().readonly(),\n 'label': z.string().readonly(),\n 'command': z.string().readonly(),\n 'args': z.array(z.string()),\n})),\n 'previews': z.array(z.object({\n 'name': z.string(),\n 'runtimeExecutable': z.string(),\n 'runtimeArgs': z.array(z.string()),\n 'port': z.number(),\n 'url': z.string(),\n 'cwd': z.string(),\n})),\n 'previewsFromLaunchFile': z.boolean().readonly(),\n 'maxPreviews': z.number().readonly(),\n 'previewReadyTimeoutMs': z.number().readonly(),\n 'previewScrollback': z.number().readonly(),\n 'previewGraceMs': z.number().readonly(),\n}).readonly(),\n 'readAt': z.number().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_gitDiff_parameter_0$schema = z.object({\n 'workspacePath': z.string().readonly(),\n 'path': z.string().readonly(),\n 'staged': z.boolean().readonly(),\n 'untracked': z.boolean().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_gitDiff_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n 'path': z.string().readonly(),\n 'patch': z.string().readonly(),\n 'binary': z.boolean().readonly(),\n 'truncated': z.boolean().readonly(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-filesystem\"), z.literal(\"no-git\"), z.literal(\"not-a-repository\"), z.literal(\"git-failed\"), z.literal(\"timeout\"), z.literal(\"cancelled\"), z.literal(\"path-denied\"), z.literal(\"disabled\"), z.literal(\"nothing-staged\"), z.literal(\"empty-message\"), z.literal(\"no-identity\"), z.literal(\"no-upstream\"), z.literal(\"detached-head\"), z.literal(\"no-model\"), z.literal(\"llm-failed\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_gitStatus_parameter_0$schema = z.object({\n 'workspacePath': z.string().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_gitStatus_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n 'write': z.object({\n 'canStage': z.boolean().readonly(),\n 'canCommit': z.boolean().readonly(),\n 'canPush': z.boolean().readonly(),\n 'canDraftMessage': z.boolean().readonly(),\n 'author': z.string().readonly().optional(),\n}).readonly(),\n 'repositoryRoot': z.string().readonly(),\n 'prefix': z.string().readonly(),\n 'branch': z.string().readonly().optional(),\n 'upstream': z.string().readonly().optional(),\n 'ahead': z.number().readonly(),\n 'behind': z.number().readonly(),\n 'detached': z.boolean().readonly(),\n 'staged': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'unstaged': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'untracked': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'conflicted': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'truncated': z.boolean().readonly(),\n 'readAt': z.number().readonly(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-filesystem\"), z.literal(\"no-git\"), z.literal(\"not-a-repository\"), z.literal(\"git-failed\"), z.literal(\"timeout\"), z.literal(\"cancelled\"), z.literal(\"path-denied\"), z.literal(\"disabled\"), z.literal(\"nothing-staged\"), z.literal(\"empty-message\"), z.literal(\"no-identity\"), z.literal(\"no-upstream\"), z.literal(\"detached-head\"), z.literal(\"no-model\"), z.literal(\"llm-failed\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_gitStage_parameter_0$schema = z.object({\n 'workspacePath': z.string().readonly(),\n 'paths': z.array(z.string()).readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_gitStage_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n 'status': z.object({\n 'ok': z.literal(true).readonly(),\n 'write': z.object({\n 'canStage': z.boolean().readonly(),\n 'canCommit': z.boolean().readonly(),\n 'canPush': z.boolean().readonly(),\n 'canDraftMessage': z.boolean().readonly(),\n 'author': z.string().readonly().optional(),\n}).readonly(),\n 'repositoryRoot': z.string().readonly(),\n 'prefix': z.string().readonly(),\n 'branch': z.string().readonly().optional(),\n 'upstream': z.string().readonly().optional(),\n 'ahead': z.number().readonly(),\n 'behind': z.number().readonly(),\n 'detached': z.boolean().readonly(),\n 'staged': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'unstaged': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'untracked': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'conflicted': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'truncated': z.boolean().readonly(),\n 'readAt': z.number().readonly(),\n}).readonly(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-filesystem\"), z.literal(\"no-git\"), z.literal(\"not-a-repository\"), z.literal(\"git-failed\"), z.literal(\"timeout\"), z.literal(\"cancelled\"), z.literal(\"path-denied\"), z.literal(\"disabled\"), z.literal(\"nothing-staged\"), z.literal(\"empty-message\"), z.literal(\"no-identity\"), z.literal(\"no-upstream\"), z.literal(\"detached-head\"), z.literal(\"no-model\"), z.literal(\"llm-failed\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_gitUnstage_parameter_0$schema = z.object({\n 'workspacePath': z.string().readonly(),\n 'paths': z.array(z.string()).readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_gitUnstage_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n 'status': z.object({\n 'ok': z.literal(true).readonly(),\n 'write': z.object({\n 'canStage': z.boolean().readonly(),\n 'canCommit': z.boolean().readonly(),\n 'canPush': z.boolean().readonly(),\n 'canDraftMessage': z.boolean().readonly(),\n 'author': z.string().readonly().optional(),\n}).readonly(),\n 'repositoryRoot': z.string().readonly(),\n 'prefix': z.string().readonly(),\n 'branch': z.string().readonly().optional(),\n 'upstream': z.string().readonly().optional(),\n 'ahead': z.number().readonly(),\n 'behind': z.number().readonly(),\n 'detached': z.boolean().readonly(),\n 'staged': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'unstaged': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'untracked': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'conflicted': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'truncated': z.boolean().readonly(),\n 'readAt': z.number().readonly(),\n}).readonly(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-filesystem\"), z.literal(\"no-git\"), z.literal(\"not-a-repository\"), z.literal(\"git-failed\"), z.literal(\"timeout\"), z.literal(\"cancelled\"), z.literal(\"path-denied\"), z.literal(\"disabled\"), z.literal(\"nothing-staged\"), z.literal(\"empty-message\"), z.literal(\"no-identity\"), z.literal(\"no-upstream\"), z.literal(\"detached-head\"), z.literal(\"no-model\"), z.literal(\"llm-failed\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_gitCommit_parameter_0$schema = z.object({\n 'workspacePath': z.string().readonly(),\n 'message': z.string().readonly(),\n 'amend': z.boolean().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_gitCommit_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n 'commit': z.string().readonly(),\n 'subject': z.string().readonly(),\n 'status': z.object({\n 'ok': z.literal(true).readonly(),\n 'write': z.object({\n 'canStage': z.boolean().readonly(),\n 'canCommit': z.boolean().readonly(),\n 'canPush': z.boolean().readonly(),\n 'canDraftMessage': z.boolean().readonly(),\n 'author': z.string().readonly().optional(),\n}).readonly(),\n 'repositoryRoot': z.string().readonly(),\n 'prefix': z.string().readonly(),\n 'branch': z.string().readonly().optional(),\n 'upstream': z.string().readonly().optional(),\n 'ahead': z.number().readonly(),\n 'behind': z.number().readonly(),\n 'detached': z.boolean().readonly(),\n 'staged': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'unstaged': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'untracked': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'conflicted': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'truncated': z.boolean().readonly(),\n 'readAt': z.number().readonly(),\n}).readonly(),\n 'notes': z.string().readonly(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-filesystem\"), z.literal(\"no-git\"), z.literal(\"not-a-repository\"), z.literal(\"git-failed\"), z.literal(\"timeout\"), z.literal(\"cancelled\"), z.literal(\"path-denied\"), z.literal(\"disabled\"), z.literal(\"nothing-staged\"), z.literal(\"empty-message\"), z.literal(\"no-identity\"), z.literal(\"no-upstream\"), z.literal(\"detached-head\"), z.literal(\"no-model\"), z.literal(\"llm-failed\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_gitPush_parameter_0$schema = z.object({\n 'workspacePath': z.string().readonly(),\n 'setUpstream': z.boolean().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_gitPush_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n 'branch': z.string().readonly(),\n 'remote': z.string().readonly(),\n 'published': z.boolean().readonly(),\n 'status': z.object({\n 'ok': z.literal(true).readonly(),\n 'write': z.object({\n 'canStage': z.boolean().readonly(),\n 'canCommit': z.boolean().readonly(),\n 'canPush': z.boolean().readonly(),\n 'canDraftMessage': z.boolean().readonly(),\n 'author': z.string().readonly().optional(),\n}).readonly(),\n 'repositoryRoot': z.string().readonly(),\n 'prefix': z.string().readonly(),\n 'branch': z.string().readonly().optional(),\n 'upstream': z.string().readonly().optional(),\n 'ahead': z.number().readonly(),\n 'behind': z.number().readonly(),\n 'detached': z.boolean().readonly(),\n 'staged': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'unstaged': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'untracked': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'conflicted': z.array(z.object({\n 'path': z.string().readonly(),\n 'oldPath': z.string().readonly().optional(),\n 'index': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'worktree': z.union([z.literal(\"unmodified\"), z.literal(\"added\"), z.literal(\"modified\"), z.literal(\"deleted\"), z.literal(\"renamed\"), z.literal(\"copied\"), z.literal(\"typechange\"), z.literal(\"untracked\"), z.literal(\"ignored\"), z.literal(\"conflicted\")]).readonly(),\n 'untracked': z.boolean().readonly(),\n 'conflicted': z.boolean().readonly(),\n})).readonly(),\n 'truncated': z.boolean().readonly(),\n 'readAt': z.number().readonly(),\n}).readonly(),\n 'notes': z.string().readonly(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-filesystem\"), z.literal(\"no-git\"), z.literal(\"not-a-repository\"), z.literal(\"git-failed\"), z.literal(\"timeout\"), z.literal(\"cancelled\"), z.literal(\"path-denied\"), z.literal(\"disabled\"), z.literal(\"nothing-staged\"), z.literal(\"empty-message\"), z.literal(\"no-identity\"), z.literal(\"no-upstream\"), z.literal(\"detached-head\"), z.literal(\"no-model\"), z.literal(\"llm-failed\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_gitCommitMessage_parameter_0$schema = z.object({\n 'workspacePath': z.string().readonly(),\n 'amend': z.boolean().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_gitCommitMessage_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n 'message': z.string().readonly(),\n 'model': z.string().readonly(),\n 'truncated': z.boolean().readonly(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-filesystem\"), z.literal(\"no-git\"), z.literal(\"not-a-repository\"), z.literal(\"git-failed\"), z.literal(\"timeout\"), z.literal(\"cancelled\"), z.literal(\"path-denied\"), z.literal(\"disabled\"), z.literal(\"nothing-staged\"), z.literal(\"empty-message\"), z.literal(\"no-identity\"), z.literal(\"no-upstream\"), z.literal(\"detached-head\"), z.literal(\"no-model\"), z.literal(\"llm-failed\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_listEntries_parameter_0$schema = z.object({\n 'path': z.string().readonly(),\n 'workspacePath': z.string().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_listEntries_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n 'path': z.string().readonly(),\n 'parent': z.string().readonly().optional(),\n 'entries': z.array(z.object({\n 'name': z.string().readonly(),\n 'path': z.string().readonly(),\n 'kind': z.union([z.literal(\"file\"), z.literal(\"directory\"), z.literal(\"other\")]).readonly(),\n 'size': z.number().readonly().optional(),\n})).readonly(),\n 'truncated': z.boolean().readonly(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-filesystem\"), z.literal(\"path-denied\"), z.literal(\"not-a-file\"), z.literal(\"read-failed\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_openIn_parameter_0$schema = z.object({\n 'targetId': z.string().readonly(),\n 'path': z.string().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_openIn_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"unknown-target\"), z.literal(\"unavailable\"), z.literal(\"launch-failed\"), z.literal(\"path-denied\"), z.literal(\"timeout\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_previewList_parameter_0$schema = z.object({\n 'workspacePath': z.string().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_previewList_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n 'servers': z.array(z.object({\n 'serverId': z.string().readonly().optional(),\n 'name': z.string().readonly(),\n 'origin': z.union([z.literal(\"launch-json\"), z.literal(\"settings\")]).readonly(),\n 'startable': z.boolean().readonly(),\n 'state': z.union([z.literal(\"stopped\"), z.literal(\"starting\"), z.literal(\"ready\"), z.literal(\"exited\"), z.literal(\"failed\")]).readonly(),\n 'url': z.string().readonly().optional(),\n 'port': z.number().readonly().optional(),\n 'pid': z.number().readonly().optional(),\n 'exitCode': z.union([z.number(), z.null()]).readonly().optional(),\n 'detail': z.string().readonly().optional(),\n 'startedAt': z.number().readonly().optional(),\n})).readonly(),\n 'launchFile': z.string().readonly().optional(),\n 'launchFileError': z.string().readonly().optional(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-subprocess\"), z.literal(\"no-filesystem\"), z.literal(\"path-denied\"), z.literal(\"unknown-server\"), z.literal(\"not-startable\"), z.literal(\"unavailable\"), z.literal(\"spawn-failed\"), z.literal(\"limit-reached\"), z.literal(\"closed\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_previewLogs_parameter_0$schema = z.object({\n 'serverId': z.string().readonly(),\n 'fromOffset': z.number().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_previewLogs_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n 'serverId': z.string().readonly(),\n 'text': z.string().readonly(),\n 'nextOffset': z.number().readonly(),\n 'lossy': z.boolean().readonly(),\n 'server': z.object({\n 'serverId': z.string().readonly().optional(),\n 'name': z.string().readonly(),\n 'origin': z.union([z.literal(\"launch-json\"), z.literal(\"settings\")]).readonly(),\n 'startable': z.boolean().readonly(),\n 'state': z.union([z.literal(\"stopped\"), z.literal(\"starting\"), z.literal(\"ready\"), z.literal(\"exited\"), z.literal(\"failed\")]).readonly(),\n 'url': z.string().readonly().optional(),\n 'port': z.number().readonly().optional(),\n 'pid': z.number().readonly().optional(),\n 'exitCode': z.union([z.number(), z.null()]).readonly().optional(),\n 'detail': z.string().readonly().optional(),\n 'startedAt': z.number().readonly().optional(),\n}).readonly(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-subprocess\"), z.literal(\"no-filesystem\"), z.literal(\"path-denied\"), z.literal(\"unknown-server\"), z.literal(\"not-startable\"), z.literal(\"unavailable\"), z.literal(\"spawn-failed\"), z.literal(\"limit-reached\"), z.literal(\"closed\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_previewStart_parameter_0$schema = z.object({\n 'workspacePath': z.string().readonly(),\n 'name': z.string().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_previewStart_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n 'server': z.object({\n 'serverId': z.string().readonly().optional(),\n 'name': z.string().readonly(),\n 'origin': z.union([z.literal(\"launch-json\"), z.literal(\"settings\")]).readonly(),\n 'startable': z.boolean().readonly(),\n 'state': z.union([z.literal(\"stopped\"), z.literal(\"starting\"), z.literal(\"ready\"), z.literal(\"exited\"), z.literal(\"failed\")]).readonly(),\n 'url': z.string().readonly().optional(),\n 'port': z.number().readonly().optional(),\n 'pid': z.number().readonly().optional(),\n 'exitCode': z.union([z.number(), z.null()]).readonly().optional(),\n 'detail': z.string().readonly().optional(),\n 'startedAt': z.number().readonly().optional(),\n}).readonly(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-subprocess\"), z.literal(\"no-filesystem\"), z.literal(\"path-denied\"), z.literal(\"unknown-server\"), z.literal(\"not-startable\"), z.literal(\"unavailable\"), z.literal(\"spawn-failed\"), z.literal(\"limit-reached\"), z.literal(\"closed\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_previewStop_parameter_0$schema = z.object({\n 'serverId': z.string().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_previewStop_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-subprocess\"), z.literal(\"no-filesystem\"), z.literal(\"path-denied\"), z.literal(\"unknown-server\"), z.literal(\"not-startable\"), z.literal(\"unavailable\"), z.literal(\"spawn-failed\"), z.literal(\"limit-reached\"), z.literal(\"closed\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_readFile_parameter_0$schema = z.object({\n 'path': z.string().readonly(),\n 'workspacePath': z.string().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_readFile_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n 'path': z.string().readonly(),\n 'text': z.string().readonly(),\n 'binary': z.boolean().readonly(),\n 'truncated': z.boolean().readonly(),\n 'bytes': z.number().readonly(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-filesystem\"), z.literal(\"path-denied\"), z.literal(\"not-a-file\"), z.literal(\"read-failed\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_taskKill_parameter_0$schema = z.object({\n 'sessionId': z.string().readonly(),\n 'taskId': z.string().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_taskKill_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n 'outcome': z.union([z.literal(\"requested\"), z.literal(\"already-finished\")]).readonly(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-registry\"), z.literal(\"disabled\"), z.literal(\"unknown-session\"), z.literal(\"unknown-task\"), z.literal(\"registry-refused\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_taskOutput_parameter_0$schema = z.object({\n 'sessionId': z.string().readonly(),\n 'taskId': z.string().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_taskOutput_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n 'taskId': z.string().readonly(),\n 'readable': z.boolean().readonly(),\n 'text': z.string().readonly(),\n 'reason': z.string().readonly().optional(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-registry\"), z.literal(\"disabled\"), z.literal(\"unknown-session\"), z.literal(\"unknown-task\"), z.literal(\"registry-refused\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalClose_parameter_0$schema = z.object({\n 'terminalId': z.string().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalClose_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-subprocess\"), z.literal(\"no-filesystem\"), z.literal(\"spawn-failed\"), z.literal(\"unknown-terminal\"), z.literal(\"path-denied\"), z.literal(\"limit-reached\"), z.literal(\"closed\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalOpen_parameter_0$schema = z.object({\n 'workspacePath': z.string().readonly(),\n 'cols': z.number().readonly(),\n 'rows': z.number().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalOpen_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n 'terminalId': z.string().readonly(),\n 'shell': z.string().readonly(),\n 'cwd': z.string().readonly(),\n 'pid': z.number().readonly(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-subprocess\"), z.literal(\"no-filesystem\"), z.literal(\"spawn-failed\"), z.literal(\"unknown-terminal\"), z.literal(\"path-denied\"), z.literal(\"limit-reached\"), z.literal(\"closed\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalRead_parameter_0$schema = z.object({\n 'terminalId': z.string().readonly(),\n 'fromOffset': z.number().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalRead_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n 'terminalId': z.string().readonly(),\n 'text': z.string().readonly(),\n 'nextOffset': z.number().readonly(),\n 'lossy': z.boolean().readonly(),\n 'running': z.boolean().readonly(),\n 'exitCode': z.union([z.number(), z.null()]).readonly().optional(),\n 'signal': z.union([z.string(), z.null()]).readonly().optional(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-subprocess\"), z.literal(\"no-filesystem\"), z.literal(\"spawn-failed\"), z.literal(\"unknown-terminal\"), z.literal(\"path-denied\"), z.literal(\"limit-reached\"), z.literal(\"closed\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalSignal_parameter_0$schema = z.object({\n 'terminalId': z.string().readonly(),\n 'signal': z.union([z.literal(\"SIGINT\"), z.literal(\"SIGTERM\"), z.literal(\"SIGKILL\"), z.literal(\"SIGTSTP\"), z.literal(\"SIGHUP\")]).readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalSignal_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-subprocess\"), z.literal(\"no-filesystem\"), z.literal(\"spawn-failed\"), z.literal(\"unknown-terminal\"), z.literal(\"path-denied\"), z.literal(\"limit-reached\"), z.literal(\"closed\")]).readonly(),\n 'message': z.string().readonly(),\n})])\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalWrite_parameter_0$schema = z.object({\n 'terminalId': z.string().readonly(),\n 'data': z.string().readonly(),\n})\nconst _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalWrite_result$schema = z.union([z.object({\n 'ok': z.literal(true).readonly(),\n}), z.object({\n 'ok': z.literal(false).readonly(),\n 'code': z.union([z.literal(\"no-subprocess\"), z.literal(\"no-filesystem\"), z.literal(\"spawn-failed\"), z.literal(\"unknown-terminal\"), z.literal(\"path-denied\"), z.literal(\"limit-reached\"), z.literal(\"closed\")]).readonly(),\n 'message': z.string().readonly(),\n})])\n\nexport const TYPERT_REMOTE = {\n package: '@achasoft/dsh-advanced-sidebar',\n descriptors: [\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/deleteSession',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'deleteSession',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#DeleteSessionRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_deleteSession_parameter_0$schema,\n },\n },\n ],\n cancellation: { parameter: 'signal' },\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#DeleteSessionResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_deleteSession_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":464,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/describe',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'describe',\n invocation: { kind: 'direct' },\n parameters: [\n \n ],\n cancellation: { parameter: 'signal' },\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#AdvancedSidebarView',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_describe_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":234,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/gitDiff',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'gitDiff',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#GitDiffRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_gitDiff_parameter_0$schema,\n },\n },\n ],\n cancellation: { parameter: 'signal' },\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#GitDiffResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_gitDiff_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":274,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/gitStatus',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'gitStatus',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#GitStatusRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_gitStatus_parameter_0$schema,\n },\n },\n ],\n cancellation: { parameter: 'signal' },\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#GitStatusResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_gitStatus_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":263,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/gitStage',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'gitStage',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#GitStageRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_gitStage_parameter_0$schema,\n },\n },\n ],\n cancellation: { parameter: 'signal' },\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#GitStageResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_gitStage_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":285,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/gitUnstage',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'gitUnstage',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#GitStageRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_gitUnstage_parameter_0$schema,\n },\n },\n ],\n cancellation: { parameter: 'signal' },\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#GitStageResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_gitUnstage_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":296,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/gitCommit',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'gitCommit',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#GitCommitRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_gitCommit_parameter_0$schema,\n },\n },\n ],\n cancellation: { parameter: 'signal' },\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#GitCommitResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_gitCommit_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":307,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/gitPush',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'gitPush',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#GitPushRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_gitPush_parameter_0$schema,\n },\n },\n ],\n cancellation: { parameter: 'signal' },\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#GitPushResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_gitPush_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":320,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/gitCommitMessage',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'gitCommitMessage',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#GitCommitMessageRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_gitCommitMessage_parameter_0$schema,\n },\n },\n ],\n cancellation: { parameter: 'signal' },\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#GitCommitMessageResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_gitCommitMessage_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":333,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/listEntries',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'listEntries',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#ListEntriesRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_listEntries_parameter_0$schema,\n },\n },\n ],\n cancellation: { parameter: 'signal' },\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#ListEntriesResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_listEntries_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":369,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/openIn',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'openIn',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#OpenInRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_openIn_parameter_0$schema,\n },\n },\n ],\n cancellation: { parameter: 'signal' },\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#OpenInResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_openIn_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":433,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/previewList',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'previewList',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#PreviewListRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_previewList_parameter_0$schema,\n },\n },\n ],\n cancellation: { parameter: 'signal' },\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#PreviewListResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_previewList_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":380,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/previewLogs',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'previewLogs',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#PreviewLogsRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_previewLogs_parameter_0$schema,\n },\n },\n ],\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#PreviewLogsResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_previewLogs_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":411,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/previewStart',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'previewStart',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#PreviewStartRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_previewStart_parameter_0$schema,\n },\n },\n ],\n cancellation: { parameter: 'signal' },\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#PreviewStartResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_previewStart_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":391,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/previewStop',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'previewStop',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#PreviewStopRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_previewStop_parameter_0$schema,\n },\n },\n ],\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#PreviewStopResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_previewStop_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":401,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/readFile',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'readFile',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#ReadFileRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_readFile_parameter_0$schema,\n },\n },\n ],\n cancellation: { parameter: 'signal' },\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#ReadFileResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_readFile_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":422,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/taskKill',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'taskKill',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#TaskKillRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_taskKill_parameter_0$schema,\n },\n },\n ],\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#TaskKillResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_taskKill_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":443,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/taskOutput',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'taskOutput',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#TaskOutputRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_taskOutput_parameter_0$schema,\n },\n },\n ],\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#TaskOutputResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_taskOutput_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":453,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/terminalClose',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'terminalClose',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#TerminalCloseRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalClose_parameter_0$schema,\n },\n },\n ],\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#TerminalAckResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalClose_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":358,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/terminalOpen',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'terminalOpen',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#TerminalOpenRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalOpen_parameter_0$schema,\n },\n },\n ],\n cancellation: { parameter: 'signal' },\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#TerminalOpenResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalOpen_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":318,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/terminalRead',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'terminalRead',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#TerminalReadRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalRead_parameter_0$schema,\n },\n },\n ],\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#TerminalReadResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalRead_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":328,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/terminalSignal',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'terminalSignal',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#TerminalSignalRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalSignal_parameter_0$schema,\n },\n },\n ],\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#TerminalAckResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalSignal_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":348,\"column\":3},\n },\n {\n id: '@achasoft/dsh-advanced-sidebar#advancedSidebar/terminalWrite',\n service: 'advancedSidebar',\n namespace: 'advancedSidebar',\n method: 'terminalWrite',\n invocation: { kind: 'direct' },\n parameters: [\n {\n name: 'request',\n wire: 'request',\n source: 'json',\n codec: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#TerminalWriteRequest',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalWrite_parameter_0$schema,\n },\n },\n ],\n result: {\n mode: 'strict',\n typeSymbol: '../src/host/types.ts#TerminalAckResult',\n schema: _achasoft_dsh_advanced_sidebar_advancedSidebar_terminalWrite_result$schema,\n },\n sourceLocation: {\"file\":\"src/host/index.ts\",\"line\":338,\"column\":3},\n },\n ],\n}\n\nexport default TYPERT_REMOTE\n","/**\n * The registrant-side contracts of this plugin's four slot entries: what each component is handed,\n * and the props type it composes from the framework's shares.\n *\n * Each face is the whole business surface of one seat. Components never reach a cordis service —\n * the `apply` closes over `ctx` and hands plain callbacks down, which is what lets every one of\n * these render in a test with no context at all.\n * @module @achasoft/dsh-advanced-sidebar/client/contract\n */\n/** The dictionary namespace this plugin owns; also its settings namespace's camelCase twin. */\nexport const LOCALE_NS = 'advancedSidebar';\n/** The settings namespace the Host section is registered under (kebab-case, as that grammar requires). */\nexport const SETTINGS_NS = 'advanced-sidebar';\n/** The Remote namespace, read as `ctx.remote.advancedSidebar.…`. */\nexport const REMOTE_NS = 'advancedSidebar';\n//# sourceMappingURL=contract.js.map","/**\n * The one piece of state shared by this plugin's four slot registrations.\n *\n * The menu trigger, the dock, and the confirmation dialog are separate slot entries with no common\n * React ancestor, so the panel a person opened cannot live in a component. It lives here, in\n * a `HostObservable` the registrations hand down through their inject faces' reserved `hooks`\n * compartment; the renderer binds each source into a `use<Name>` selector hook, so a component\n * re-renders for the slice it selected and nothing else.\n * @module @achasoft/dsh-advanced-sidebar/client/controller\n */\n/** The empty group, shared so a target with no terminals keeps one identity across renders. */\nconst NO_TERMINALS = { tabs: [], activeId: undefined };\n/**\n * The key one target's terminal group is held under.\n *\n * The directory is part of it: a session whose working directory changed is a different place to\n * have a shell in, and reusing the group would leave a tab labelled with a path its shell is not in.\n * @param target - the session and directory the panel acts on.\n * @returns the group key.\n */\nexport function terminalKey(target) {\n return `${target.sessionId}\\u0000${target.directory ?? ''}`;\n}\n/** The initial, fully closed state. Shared so an unchanged snapshot keeps one identity. */\nconst CLOSED = {\n panel: { panel: undefined, target: undefined },\n confirm: undefined,\n notice: undefined,\n dockWidth: undefined,\n terminals: {},\n};\n/**\n * Holds the plugin's cross-registration state and notifies its subscribers.\n *\n * It is a plain observable rather than a cordis service: nothing outside this package reads it, and\n * a service key would be a public name for something private to four registrations.\n */\nexport class PanelController {\n state = CLOSED;\n listeners = new Set();\n nextNoticeId = 1;\n /**\n * Current state.\n * @returns the snapshot; identity changes only when something actually moved.\n */\n getSnapshot() {\n return this.state;\n }\n /**\n * Subscribe to state changes.\n * @param listener - called after every commit.\n * @returns the unsubscribe.\n */\n subscribe(listener) {\n this.listeners.add(listener);\n return () => { this.listeners.delete(listener); };\n }\n /**\n * Show one panel in the dock. Choosing the panel that is already open on the same session closes\n * the dock, which is what makes the menu entry read as a toggle.\n * @param panel - which panel.\n * @param target - what it acts on.\n */\n open(panel, target) {\n const current = this.state.panel;\n const same = current.panel === panel && current.target?.sessionId === target.sessionId;\n this.commit({ ...this.state, panel: same ? CLOSED.panel : { panel, target } });\n }\n /** Close the dock. */\n close() {\n if (this.state.panel.panel === undefined)\n return;\n this.commit({ ...this.state, panel: CLOSED.panel });\n }\n /**\n * Ask for confirmation before Delete commits.\n * @param target - what Delete would act on.\n * @param purges - whether the Host would also remove the durable log.\n */\n askDelete(target, purges) {\n this.commit({ ...this.state, confirm: { target, purges, busy: false } });\n }\n /** Mark the pending Delete as in flight. */\n markDeleting() {\n const confirm = this.state.confirm;\n if (confirm === undefined || confirm.busy)\n return;\n this.commit({ ...this.state, confirm: { ...confirm, busy: true } });\n }\n /** Dismiss the Delete confirmation without acting. */\n dismissDelete() {\n if (this.state.confirm === undefined)\n return;\n this.commit({ ...this.state, confirm: undefined });\n }\n /**\n * Show one message.\n * @param tone - whether the message reports a failure.\n * @param text - the message.\n */\n notify(tone, text) {\n this.commit({ ...this.state, notice: { id: this.nextNoticeId++, tone, text } });\n }\n /**\n * Dismiss one message, ignoring a request for a message that has already been replaced.\n * @param id - the notice to dismiss.\n */\n dismissNotice(id) {\n if (this.state.notice?.id !== id)\n return;\n this.commit({ ...this.state, notice: undefined });\n }\n /**\n * Withdraw everything a session owned, because that session is gone.\n * @param sessionId - the session that disappeared.\n */\n forget(sessionId) {\n const panel = this.state.panel.target?.sessionId === sessionId ? CLOSED.panel : this.state.panel;\n const confirm = this.state.confirm?.target.sessionId === sessionId ? undefined : this.state.confirm;\n if (panel === this.state.panel && confirm === this.state.confirm)\n return;\n this.commit({ ...this.state, panel, confirm });\n }\n /**\n * Store the dock width a resize settled on.\n *\n * Kept here as well as written to the settings section: the section is read-only on every remote\n * Web Client, and a drag that cannot be persisted must still resize the dock.\n * @param width - the width in pixels.\n */\n setDockWidth(width) {\n if (this.state.dockWidth === width)\n return;\n this.commit({ ...this.state, dockWidth: width });\n }\n /**\n * The terminal group one target holds.\n * @param key - the group key from {@link terminalKey}.\n * @returns the group; the empty group when nothing has been opened yet.\n */\n terminals(key) {\n return this.state.terminals[key] ?? NO_TERMINALS;\n }\n /**\n * Add one tab, in the state a tab has before its shell has been allocated, and show it.\n * @param key - the group key.\n * @param tabId - the caller-generated tab id, so the caller can allocate against it immediately.\n */\n addTerminal(key, tabId) {\n const group = this.terminals(key);\n this.putTerminals(key, {\n tabs: [...group.tabs, { tabId, terminalId: undefined, shell: undefined, error: undefined }],\n activeId: tabId,\n });\n }\n /**\n * Record what a tab's allocation answered.\n * @param key - the group key.\n * @param tabId - the tab the allocation was for.\n * @param outcome - the handle and the shell, or the failure.\n */\n settleTerminal(key, tabId, outcome) {\n const group = this.terminals(key);\n if (!group.tabs.some(tab => tab.tabId === tabId))\n return;\n this.putTerminals(key, {\n ...group,\n tabs: group.tabs.map(tab => tab.tabId !== tabId\n ? tab\n : 'error' in outcome\n ? { ...tab, terminalId: undefined, shell: undefined, error: outcome.error }\n : { tabId, terminalId: outcome.terminalId, shell: outcome.shell, error: undefined }),\n });\n }\n /**\n * Show one tab's screen.\n * @param key - the group key.\n * @param tabId - the tab to show.\n */\n activateTerminal(key, tabId) {\n const group = this.terminals(key);\n if (group.activeId === tabId || !group.tabs.some(tab => tab.tabId === tabId))\n return;\n this.putTerminals(key, { ...group, activeId: tabId });\n }\n /**\n * Drop one tab and show its neighbour.\n * @param key - the group key.\n * @param tabId - the tab to drop.\n * @returns the Host handle the caller must now close, when the tab had one.\n */\n removeTerminal(key, tabId) {\n const group = this.terminals(key);\n const at = group.tabs.findIndex(tab => tab.tabId === tabId);\n if (at < 0)\n return undefined;\n const tabs = group.tabs.filter(tab => tab.tabId !== tabId);\n // The neighbour to the left, or the new first tab: closing the last tab of a run must not leave\n // the group pointing past its own end.\n const activeId = group.activeId !== tabId\n ? group.activeId\n : tabs[Math.max(0, at - 1)]?.tabId;\n this.putTerminals(key, { tabs, activeId });\n return group.tabs[at]?.terminalId;\n }\n /**\n * Drop every terminal one session owns, whatever directory it had them in.\n * @param sessionId - the session.\n * @returns the Host handles the caller must now close.\n */\n dropTerminals(sessionId) {\n const prefix = `${sessionId}\\u0000`;\n const kept = {};\n const closing = [];\n for (const [key, group] of Object.entries(this.state.terminals)) {\n if (!key.startsWith(prefix)) {\n kept[key] = group;\n continue;\n }\n for (const tab of group.tabs)\n if (tab.terminalId !== undefined)\n closing.push(tab.terminalId);\n }\n if (closing.length > 0)\n this.commit({ ...this.state, terminals: kept });\n return closing;\n }\n /**\n * Every open handle, for the teardown that must close them.\n * @returns the Host handles this browser half still holds.\n */\n allTerminals() {\n return Object.values(this.state.terminals)\n .flatMap(group => group.tabs.map(tab => tab.terminalId))\n .filter((id) => id !== undefined);\n }\n /** Close everything. Called from the plugin's teardown effect. */\n reset() {\n this.commit(CLOSED);\n this.listeners.clear();\n }\n /**\n * Replace one target's terminal group.\n * @param key - the group key.\n * @param group - the group after the change; an empty one is dropped rather than stored.\n */\n putTerminals(key, group) {\n const terminals = { ...this.state.terminals };\n if (group.tabs.length === 0)\n delete terminals[key];\n else\n terminals[key] = group;\n this.commit({ ...this.state, terminals });\n }\n /**\n * Store one state and notify.\n * @param next - the committed state.\n */\n commit(next) {\n this.state = next;\n // A copy, because a listener may unsubscribe from inside its own call — mutating the live set\n // mid-iteration would skip the listener that follows it.\n for (const listener of [...this.listeners])\n listener();\n }\n}\n//# sourceMappingURL=controller.js.map","/**\n * Class-name joining.\n *\n * `clsx` is what the harness's own components use, but it is not a module-table specifier, so an\n * out-of-tree browser half would have to bundle a private copy of it into every plugin. Three lines\n * cover everything this package needs.\n * @module @achasoft/dsh-advanced-sidebar/client/cx\n */\n/**\n * Join class names, dropping the falsy ones.\n * @param values - names and conditional names.\n * @returns the joined class attribute, empty when nothing applied.\n */\nexport function cx(...values) {\n return values.filter((value) => typeof value === 'string' && value !== '').join(' ');\n}\n//# sourceMappingURL=cx.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/**\n * A page with a folded corner: one file.\n * @param props - size and class overrides.\n * @returns the glyph element.\n */\nexport function FileGlyph({ size = 16, className }) {\n return (_jsxs(\"svg\", { className: className, width: size, height: size, viewBox: \"0 0 16 16\", fill: \"none\", stroke: \"currentColor\", strokeWidth: \"1.4\", strokeLinecap: \"round\", strokeLinejoin: \"round\", \"aria-hidden\": true, children: [_jsx(\"path\", { d: \"M9 2H4.5A1.5 1.5 0 0 0 3 3.5v9A1.5 1.5 0 0 0 4.5 14h7a1.5 1.5 0 0 0 1.5-1.5V6L9 2Z\" }), _jsx(\"path\", { d: \"M9 2v3.2a.8.8 0 0 0 .8.8H13\" })] }));\n}\n/**\n * A window with a prompt caret: a terminal.\n * @param props - size and class overrides.\n * @returns the glyph element.\n */\nexport function TerminalGlyph({ size = 16, className }) {\n return (_jsxs(\"svg\", { className: className, width: size, height: size, viewBox: \"0 0 16 16\", fill: \"none\", stroke: \"currentColor\", strokeWidth: \"1.4\", strokeLinecap: \"round\", strokeLinejoin: \"round\", \"aria-hidden\": true, children: [_jsx(\"rect\", { x: \"2\", y: \"3\", width: \"12\", height: \"10\", rx: \"1.6\" }), _jsx(\"path\", { d: \"M5 6.6 7 8.4 5 10.2\" }), _jsx(\"path\", { d: \"M8.6 10.4H11\" })] }));\n}\n/**\n * Two file cards with a plus and a minus: changed files.\n * @param props - size and class overrides.\n * @returns the glyph element.\n */\nexport function ChangesGlyph({ size = 16, className }) {\n return (_jsxs(\"svg\", { className: className, width: size, height: size, viewBox: \"0 0 16 16\", fill: \"none\", stroke: \"currentColor\", strokeWidth: \"1.4\", strokeLinecap: \"round\", strokeLinejoin: \"round\", \"aria-hidden\": true, children: [_jsx(\"path\", { d: \"M3.4 2.2h4L9.6 4.4v3.2\" }), _jsx(\"path\", { d: \"M3.4 2.2v8.2\" }), _jsx(\"path\", { d: \"M9.6 7.6H6.4A1.4 1.4 0 0 0 5 9v4.4a1.4 1.4 0 0 0 1.4 1.4h5.2a1.4 1.4 0 0 0 1.4-1.4V9a1.4 1.4 0 0 0-1.4-1.4Z\" }), _jsx(\"path\", { d: \"M7.4 11.2h3.2\" })] }));\n}\n/**\n * A browser window with a play mark: a running application.\n * @param props - size and class overrides.\n * @returns the glyph element.\n */\nexport function PreviewGlyph({ size = 16, className }) {\n return (_jsxs(\"svg\", { className: className, width: size, height: size, viewBox: \"0 0 16 16\", fill: \"none\", stroke: \"currentColor\", strokeWidth: \"1.4\", strokeLinecap: \"round\", strokeLinejoin: \"round\", \"aria-hidden\": true, children: [_jsx(\"rect\", { x: \"2\", y: \"2.6\", width: \"12\", height: \"10.8\", rx: \"1.6\" }), _jsx(\"path\", { d: \"M2 5.8h12\" }), _jsx(\"path\", { d: \"M6.8 8.2 9.8 9.9 6.8 11.6Z\" })] }));\n}\n/**\n * A browser window pushed out of a frame: open somewhere else.\n * @param props - size and class overrides.\n * @returns the glyph element.\n */\nexport function ExternalGlyph({ size = 16, className }) {\n return (_jsxs(\"svg\", { className: className, width: size, height: size, viewBox: \"0 0 16 16\", fill: \"none\", stroke: \"currentColor\", strokeWidth: \"1.4\", strokeLinecap: \"round\", strokeLinejoin: \"round\", \"aria-hidden\": true, children: [_jsx(\"path\", { d: \"M9.2 2.6H13.4V6.8\" }), _jsx(\"path\", { d: \"M13.4 2.6 7.6 8.4\" }), _jsx(\"path\", { d: \"M12 9.6v2.8a1.4 1.4 0 0 1-1.4 1.4H3.6a1.4 1.4 0 0 1-1.4-1.4V5.4A1.4 1.4 0 0 1 3.6 4h2.8\" })] }));\n}\n/**\n * An arrow leaving a branch line: a push.\n * @param props - size and class overrides.\n * @returns the glyph element.\n */\nexport function PushGlyph({ size = 16, className }) {\n return (_jsxs(\"svg\", { className: className, width: size, height: size, viewBox: \"0 0 16 16\", fill: \"none\", stroke: \"currentColor\", strokeWidth: \"1.4\", strokeLinecap: \"round\", strokeLinejoin: \"round\", \"aria-hidden\": true, children: [_jsx(\"path\", { d: \"M8 13.5V3.2\" }), _jsx(\"path\", { d: \"M4.4 6.8 8 3.2l3.6 3.6\" }), _jsx(\"path\", { d: \"M3 14h10\" })] }));\n}\n//# sourceMappingURL=Glyphs.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { IconWarningOutline16 } from '@deepseek-ai/dsh-client-ui-primitives';\nimport { cx } from \"../cx.js\";\nimport css from './Ui.module.css';\n/** Class per tone. */\nconst TONES = {\n default: undefined,\n success: css.alertSuccess,\n warning: css.alertWarning,\n destructive: css.alertDestructive,\n};\n/**\n * An alert.\n * @param props - the tone, the optional heading, the message, and an optional action.\n * @returns the alert element.\n * @see {@link AlertProps}\n */\nexport function Alert(props) {\n const { tone = 'default', title, icon, children, action, className } = props;\n const glyph = icon ?? (tone === 'destructive' || tone === 'warning' ? _jsx(IconWarningOutline16, {}) : undefined);\n return (_jsxs(\"div\", { className: cx(css.alert, TONES[tone], className), role: tone === 'destructive' ? 'alert' : 'status', children: [glyph !== undefined && _jsx(\"span\", { className: css.alertIcon, children: glyph }), _jsxs(\"span\", { className: css.alertBody, children: [title !== undefined && _jsx(\"span\", { className: css.alertTitle, children: title }), children] }), action] }));\n}\n//# sourceMappingURL=Alert.js.map","import { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { cx } from \"../cx.js\";\nimport css from './Ui.module.css';\n/** Class per tone. */\nconst VARIANTS = {\n default: css.badgeDefault ?? '',\n secondary: css.badgeSecondary ?? '',\n outline: css.badgeOutline ?? '',\n success: css.badgeSuccess ?? '',\n warning: css.badgeWarning ?? '',\n destructive: css.badgeDestructive ?? '',\n};\n/**\n * A badge.\n * @param props - the tone, the optional monospace form, an optional icon, and span attributes.\n * @returns the badge element.\n * @see {@link BadgeProps}\n */\nexport function Badge(props) {\n const { variant = 'secondary', code = false, icon, className, children, ...rest } = props;\n return (_jsxs(\"span\", { className: cx(css.badge, VARIANTS[variant], code && css.badgeCode, className), ...rest, children: [icon, children] }));\n}\n//# sourceMappingURL=Badge.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/**\n * The kit's button, in shadcn's variant/size vocabulary.\n * @module @achasoft/dsh-advanced-sidebar/client/ui/Button\n */\nimport { forwardRef } from 'react';\nimport { cx } from \"../cx.js\";\nimport css from './Ui.module.css';\n/** Class per variant, so the union stays exhaustive at the type level. */\nconst VARIANTS = {\n default: css.default ?? '',\n secondary: css.secondary ?? '',\n outline: css.outline ?? '',\n ghost: css.ghost ?? '',\n destructive: css.destructive ?? '',\n};\n/** Class per size. */\nconst SIZES = {\n sm: css.sizeSm ?? '',\n md: css.sizeMd ?? '',\n lg: css.sizeLg ?? '',\n icon: css.sizeIcon ?? '',\n 'icon-lg': css.sizeIconLg ?? '',\n};\n/**\n * A button.\n * @param props - the two style axes, an optional leading icon, and every native button attribute.\n * @param ref - forwarded to the button element, so a caller can anchor a layer to it.\n * @returns the button element.\n * @see {@link ButtonProps}\n */\nexport const Button = forwardRef(function Button(props, ref) {\n const { variant = 'ghost', size = 'md', icon, active, className, children, type, ...rest } = props;\n return (_jsxs(\"button\", { ref: ref, \n // Always stated: a button inside a form defaults to `submit`, and every button here acts.\n type: type ?? 'button', className: cx(css.button, VARIANTS[variant], SIZES[size], active === true && css.buttonOn, className), ...active === undefined ? {} : { 'aria-pressed': active }, ...rest, children: [icon !== undefined && _jsx(\"span\", { className: css.itemIcon, children: icon }), children] }));\n});\n//# sourceMappingURL=Button.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/**\n * The kit's month grid.\n *\n * Dates are handled as local calendar days, never as instants: a task started at 23:30 belongs to\n * the day the operator saw on the clock, and comparing `Date` values directly would put it on the\n * next one for anybody east of UTC. {@link dayKey} is the comparison used everywhere.\n * @module @achasoft/dsh-advanced-sidebar/client/ui/Calendar\n */\nimport { useState } from 'react';\nimport { IconChevronLeftOutline14, IconChevronRightOutline14 } from '@deepseek-ai/dsh-client-ui-primitives';\nimport { Button } from \"./Button.js\";\nimport { cx } from \"../cx.js\";\nimport css from './Ui.module.css';\n/** Days in one week; the grid's column count and the week-start arithmetic both use it. */\nconst WEEK = 7;\n/** Weeks drawn, so switching months never changes the grid's height. */\nconst WEEKS = 6;\n/**\n * One local calendar day, as `YYYY-MM-DD`.\n *\n * `toISOString` is deliberately not used: it converts to UTC first, which shifts the day for most\n * of the world.\n * @param date - any instant.\n * @returns the local day it falls on.\n */\nexport function dayKey(date) {\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n return `${String(date.getFullYear())}-${month}-${day}`;\n}\n/**\n * Midnight at the start of one local day.\n * @param date - any instant.\n * @returns a new Date at 00:00 local time on the same day.\n */\nexport function startOfDay(date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate());\n}\n/**\n * The days one month grid shows, including the leading and trailing days of its neighbours.\n * @param month - any instant inside the month.\n * @param weekStart - 0 for Sunday, 1 for Monday.\n * @returns 42 consecutive local days.\n */\nexport function monthGrid(month, weekStart) {\n const first = new Date(month.getFullYear(), month.getMonth(), 1);\n const lead = (first.getDay() - weekStart + WEEK) % WEEK;\n const start = new Date(first.getFullYear(), first.getMonth(), 1 - lead);\n return Array.from({ length: WEEK * WEEKS }, (_, index) => new Date(start.getFullYear(), start.getMonth(), start.getDate() + index));\n}\n/**\n * A month grid.\n * @param props - the selection, the bounds, and the control labels.\n * @returns the calendar element.\n * @see {@link CalendarProps}\n */\nexport function Calendar(props) {\n const { value, onValueChange, min, max, locale, weekStart = 1 } = props;\n const { clearLabel, onClear, todayLabel, previousLabel, nextLabel } = props;\n const today = startOfDay(new Date());\n const [month, setMonth] = useState(() => startOfDay(value ?? today));\n const grid = monthGrid(month, weekStart);\n const monthName = new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }).format(month);\n const weekdayName = new Intl.DateTimeFormat(locale, { weekday: 'short' });\n const selectedKey = value === undefined ? undefined : dayKey(value);\n const todayKey = dayKey(today);\n const shift = (delta) => {\n setMonth(current => new Date(current.getFullYear(), current.getMonth() + delta, 1));\n };\n return (_jsxs(\"div\", { className: css.calendar, children: [_jsxs(\"div\", { className: css.calendarHead, children: [_jsx(Button, { size: \"icon\", \"aria-label\": previousLabel, onClick: () => { shift(-1); }, children: _jsx(IconChevronLeftOutline14, {}) }), _jsx(\"span\", { className: css.calendarMonth, children: monthName }), _jsx(Button, { size: \"icon\", \"aria-label\": nextLabel, onClick: () => { shift(1); }, children: _jsx(IconChevronRightOutline14, {}) })] }), _jsxs(\"div\", { className: css.calendarGrid, role: \"grid\", children: [grid.slice(0, WEEK).map(day => (_jsx(\"span\", { className: css.calendarWeekday, children: weekdayName.format(day).slice(0, 2) }, `weekday-${dayKey(day)}`))), grid.map((day) => {\n const key = dayKey(day);\n const outside = day.getMonth() !== month.getMonth();\n const blocked = (min !== undefined && day < startOfDay(min)) || (max !== undefined && day > startOfDay(max));\n return (_jsx(\"button\", { type: \"button\", className: cx(css.day, outside && css.dayOutside, key === todayKey && css.dayToday, key === selectedKey && css.daySelected), disabled: blocked, \"aria-pressed\": key === selectedKey, onClick: () => { onValueChange(day); }, children: day.getDate() }, key));\n })] }), _jsxs(\"div\", { className: css.calendarFoot, children: [_jsx(Button, { size: \"sm\", onClick: () => { setMonth(today); onValueChange(today); }, children: todayLabel }), clearLabel !== undefined && onClear !== undefined && (_jsx(Button, { size: \"sm\", onClick: onClear, children: clearLabel }))] })] }));\n}\n//# sourceMappingURL=Calendar.js.map","/**\n * Collision-aware placement for every layer this package floats above the page: the action menu,\n * its submenus, the select lists, the date picker, and the tooltips.\n *\n * The harness's own `Menu` primitive clamps a root list into the viewport but pins a submenu at\n * `left: calc(100% + 10px)` with no flip, so a menu opened near the right edge pushes its submenu\n * off screen. Placement here is a pure function of four rectangles, which is what makes the flip\n * decision testable and identical for every layer that uses it.\n * @module @achasoft/dsh-advanced-sidebar/client/ui/anchor\n */\nimport { useCallback, useLayoutEffect, useRef, useState } from 'react';\n/** The default request; every layer overrides only what differs. */\nexport const DEFAULT_PLACEMENT = {\n side: 'bottom',\n align: 'start',\n sideOffset: 6,\n alignOffset: 0,\n padding: 8,\n};\n/** The opposite of one side, used for both the flip and the fallback. */\nconst OPPOSITE = {\n top: 'bottom', bottom: 'top', left: 'right', right: 'left',\n};\n/**\n * Clamp one coordinate into a range, tolerating a range narrower than the value it bounds.\n * @param value - the coordinate.\n * @param low - the lower bound.\n * @param high - the upper bound; a bound below `low` yields `low`.\n * @returns the clamped coordinate.\n */\nfunction clamp(value, low, high) {\n return Math.max(low, Math.min(value, high));\n}\n/**\n * Room between one anchor edge and the matching viewport edge, minus the requested clearance.\n * @param side - the edge to measure from.\n * @param anchor - the anchor rectangle.\n * @param viewport - the viewport rectangle.\n * @param request - the placement request; supplies the gap and the clearance.\n * @returns the available extent along the side's axis.\n */\nfunction room(side, anchor, viewport, request) {\n const gap = request.sideOffset + request.padding;\n switch (side) {\n case 'top': return anchor.top - gap;\n case 'bottom': return viewport.height - anchor.bottom - gap;\n case 'left': return anchor.left - gap;\n case 'right': return viewport.width - anchor.right - gap;\n }\n}\n/**\n * Place one layer against its anchor, flipping to the opposite side when it does not fit and\n * shifting along the other axis to stay inside the viewport.\n *\n * The flip is taken only when the opposite side has strictly more room: a layer that fits nowhere\n * keeps the side it asked for and is capped by {@link Placement.maxHeight} instead of jumping to a\n * side that is just as short.\n * @param anchor - the trigger's rectangle, in viewport coordinates.\n * @param layer - the layer's measured size.\n * @param viewport - the viewport rectangle.\n * @param request - the preferred side, alignment, gaps, and clearance.\n * @returns where to position the layer and how tall it may be.\n */\nexport function placeLayer(anchor, layer, viewport, request) {\n const horizontal = request.side === 'left' || request.side === 'right';\n const extent = horizontal ? layer.width : layer.height;\n const primary = room(request.side, anchor, viewport, request);\n const secondary = room(OPPOSITE[request.side], anchor, viewport, request);\n const side = extent > primary && secondary > primary ? OPPOSITE[request.side] : request.side;\n let left;\n let top;\n if (horizontal) {\n left = side === 'right' ? anchor.right + request.sideOffset : anchor.left - request.sideOffset - layer.width;\n top = request.align === 'start'\n ? anchor.top + request.alignOffset\n : request.align === 'end'\n ? anchor.bottom - layer.height - request.alignOffset\n : anchor.top + (anchor.height - layer.height) / 2;\n }\n else {\n top = side === 'bottom' ? anchor.bottom + request.sideOffset : anchor.top - request.sideOffset - layer.height;\n left = request.align === 'start'\n ? anchor.left + request.alignOffset\n : request.align === 'end'\n ? anchor.right - layer.width - request.alignOffset\n : anchor.left + (anchor.width - layer.width) / 2;\n }\n // The shift is what keeps an end-aligned list attached to a trigger near the opposite edge; the\n // reported align follows it so a caller drawing an arrow points at the right place.\n const maxLeft = viewport.width - layer.width - request.padding;\n const maxTop = viewport.height - layer.height - request.padding;\n const shiftedLeft = clamp(left, request.padding, Math.max(request.padding, maxLeft));\n const shiftedTop = clamp(top, request.padding, Math.max(request.padding, maxTop));\n const align = horizontal || shiftedLeft === left\n ? request.align\n : shiftedLeft < left ? 'end' : 'start';\n const available = horizontal\n ? viewport.height - 2 * request.padding\n : room(side, anchor, viewport, request) + request.padding;\n return {\n left: Math.round(shiftedLeft),\n top: Math.round(shiftedTop),\n side,\n align,\n maxHeight: Math.max(0, Math.round(available)),\n };\n}\n/**\n * Whether two placements would draw the layer identically.\n * @param a - the placement in effect, if any.\n * @param b - the freshly computed placement.\n * @returns true when nothing moved.\n */\nfunction same(a, b) {\n return a !== undefined && a.left === b.left && a.top === b.top && a.side === b.side\n && a.align === b.align && a.maxHeight === b.maxHeight;\n}\n/** The style a layer wears before its first measurement: laid out, sized, and invisible. */\nconst MEASURING = { position: 'fixed', left: 0, top: 0, visibility: 'hidden' };\n/**\n * Position one floating element against a caller-owned anchor rectangle.\n *\n * The first placement runs in a layout effect against the hidden pre-render, so the first painted\n * frame is already final — a layer that measured zero and corrected itself afterwards visibly\n * jumps. While open, scroll (captured, so a scrolling pane counts) and resize re-place it.\n * @param open - whether the layer is rendered; closed suspends every listener.\n * @param getAnchorRect - the anchor's current rectangle; null skips placement for that frame.\n * @param request - overrides of {@link DEFAULT_PLACEMENT}.\n * @returns the ref, the style, the resolved side, and a manual re-place.\n */\nexport function useAnchoredLayer(open, getAnchorRect, request = {}) {\n const ref = useRef(null);\n const [placement, setPlacement] = useState(undefined);\n const { side, align, sideOffset, alignOffset, padding } = { ...DEFAULT_PLACEMENT, ...request };\n const place = useCallback(() => {\n const layer = ref.current;\n const anchor = getAnchorRect();\n if (layer === null || anchor === null)\n return;\n // The cap is removed before measuring, so a layer that was previously capped short reports the\n // height it actually wants rather than the height it was last squeezed into.\n layer.style.maxHeight = '';\n const next = placeLayer(anchor, { width: layer.offsetWidth, height: layer.offsetHeight }, { left: 0, top: 0, right: window.innerWidth, bottom: window.innerHeight, width: window.innerWidth, height: window.innerHeight }, { side, align, sideOffset, alignOffset, padding });\n // Committed only on a real move: a scroll or resize listener that stored an equal-but-new\n // object would re-render every layer at pointer cadence, and an anchor callback rebuilt per\n // render would then never stop re-placing.\n setPlacement(current => same(current, next) ? current : next);\n }, [getAnchorRect, side, align, sideOffset, alignOffset, padding]);\n useLayoutEffect(() => {\n if (!open) {\n setPlacement(undefined);\n return;\n }\n place();\n window.addEventListener('scroll', place, true);\n window.addEventListener('resize', place);\n return () => {\n window.removeEventListener('scroll', place, true);\n window.removeEventListener('resize', place);\n };\n }, [open, place]);\n return {\n ref,\n style: placement === undefined\n ? MEASURING\n : { position: 'fixed', left: placement.left, top: placement.top, maxHeight: placement.maxHeight },\n side: placement?.side ?? side,\n place,\n };\n}\n//# sourceMappingURL=anchor.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * The portal every floating surface in the kit is drawn in: menus, submenus, select lists, the date\n * picker, and tooltips.\n *\n * Floating surfaces go to `document.body` rather than staying beside their trigger. The dock, the\n * session header, and the settings card all sit inside overflow-clipping containers, and a list\n * rendered in place is cropped by the first of them.\n * @module @achasoft/dsh-advanced-sidebar/client/ui/Layer\n */\nimport { createPortal } from 'react-dom';\nimport { useAnchoredLayer } from \"./anchor.js\";\nimport { cx } from \"../cx.js\";\nimport css from './Ui.module.css';\n/**\n * A positioned floating surface.\n * @param props - the open flag, the anchor, the placement, and the contents.\n * @returns the portal, or null while closed.\n * @see {@link LayerProps}\n */\nexport function Layer(props) {\n const { open, anchorRef, placement, role, treeId, className, style, children, contentRef, tabIndex, onKeyDown } = props;\n const ariaLabel = props['aria-label'];\n const layer = useAnchoredLayer(open, () => anchorRef.current?.getBoundingClientRect() ?? null, placement ?? {});\n if (!open)\n return null;\n return createPortal(_jsx(\"div\", { ref: (node) => {\n layer.ref.current = node;\n if (contentRef !== undefined)\n contentRef.current = node;\n }, className: cx(css.layer, className), style: { ...layer.style, ...style }, \"data-side\": layer.side, ...treeId === undefined ? {} : { 'data-dsh-layer': treeId }, ...role === undefined ? {} : { role }, ...tabIndex === undefined ? {} : { tabIndex }, ...ariaLabel === undefined ? {} : { 'aria-label': ariaLabel }, ...onKeyDown === undefined ? {} : { onKeyDown }, children: children }), document.body);\n}\n/**\n * Whether one event target sits inside the trigger or any surface of one layer tree.\n *\n * A portal is outside its trigger's DOM subtree, and a submenu is outside its parent list's, so an\n * outside-click test that only walks the trigger would dismiss the menu on its own rows.\n * @param target - the event target.\n * @param treeId - the tree marker every surface of one menu carries.\n * @param anchor - the trigger element.\n * @returns true when the target belongs to the tree.\n */\nexport function insideLayerTree(target, treeId, anchor) {\n if (!(target instanceof Node))\n return false;\n if (anchor?.contains(target) === true)\n return true;\n const element = target instanceof Element ? target : target.parentElement;\n if (element === null)\n return false;\n return element.closest(`[data-dsh-layer=\"${treeId}\"]`) !== null;\n}\n//# sourceMappingURL=Layer.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/**\n * The kit's date picker: a trigger showing the chosen day, and the month grid in a floating layer.\n * @module @achasoft/dsh-advanced-sidebar/client/ui/DatePicker\n */\nimport { useEffect, useId, useRef, useState } from 'react';\nimport { IconChevronDownOutline14 } from '@deepseek-ai/dsh-client-ui-primitives';\nimport { Calendar } from \"./Calendar.js\";\nimport { Layer, insideLayerTree } from \"./Layer.js\";\nimport { cx } from \"../cx.js\";\nimport css from './Ui.module.css';\n/**\n * A date picker.\n * @param props - the selection, the labels, and the bounds.\n * @returns the trigger and, while open, the month grid.\n * @see {@link DatePickerProps}\n */\nexport function DatePicker(props) {\n const { value, onValueChange, placeholder, clearLabel, todayLabel } = props;\n const { previousLabel, nextLabel, max, locale, disabled = false, className } = props;\n const [open, setOpen] = useState(false);\n const triggerRef = useRef(null);\n const treeId = useId();\n useEffect(() => {\n if (!open)\n return;\n const onPointerDown = (event) => {\n if (insideLayerTree(event.target, treeId, triggerRef.current))\n return;\n setOpen(false);\n };\n const onKeyDown = (event) => {\n if (event.key === 'Escape') {\n setOpen(false);\n triggerRef.current?.focus();\n }\n };\n document.addEventListener('pointerdown', onPointerDown);\n document.addEventListener('keydown', onKeyDown);\n return () => {\n document.removeEventListener('pointerdown', onPointerDown);\n document.removeEventListener('keydown', onKeyDown);\n };\n }, [open, treeId]);\n const shown = value === undefined\n ? placeholder\n : new Intl.DateTimeFormat(locale, { dateStyle: 'medium' }).format(value);\n return (_jsxs(_Fragment, { children: [_jsxs(\"button\", { ref: triggerRef, type: \"button\", className: cx(css.trigger, className), disabled: disabled, \"aria-haspopup\": \"dialog\", \"aria-expanded\": open, ...props['aria-label'] === undefined ? {} : { 'aria-label': props['aria-label'] }, onClick: () => { setOpen(current => !current); }, children: [_jsx(\"span\", { className: cx(css.triggerValue, value === undefined && css.triggerPlaceholder), children: shown }), _jsx(IconChevronDownOutline14, {})] }), _jsx(Layer, { open: open, anchorRef: triggerRef, treeId: treeId, role: \"dialog\", placement: { side: 'bottom', align: 'start', sideOffset: 4 }, children: _jsx(Calendar, { value: value, onValueChange: (next) => { setOpen(false); onValueChange(next); }, onClear: () => { setOpen(false); onValueChange(undefined); }, clearLabel: clearLabel, todayLabel: todayLabel, previousLabel: previousLabel, nextLabel: nextLabel, max: max, locale: locale }) })] }));\n}\n//# sourceMappingURL=DatePicker.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/**\n * The kit's modal: a scrimmed, centred card, and the confirmation form of it.\n *\n * Unlike the dock this plugin opens beside the conversation, a dialog IS modal: it takes focus,\n * traps it, and blocks the page behind its scrim. That is the whole difference between asking a\n * question and offering a panel, and it is why Delete uses this and the panels do not.\n * @module @achasoft/dsh-advanced-sidebar/client/ui/Dialog\n */\nimport { useEffect, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport { Button } from \"./Button.js\";\nimport { cx } from \"../cx.js\";\nimport css from './Ui.module.css';\n/** Everything focus can land on inside a dialog. */\nconst FOCUSABLE = 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])';\n/**\n * A modal dialog.\n * @param props - the open state, the heading, the body, and the action row.\n * @returns the portal, or null while closed.\n * @see {@link DialogProps}\n */\nexport function Dialog(props) {\n const { open, onClose, title, description, children, footer, busy = false, className } = props;\n const cardRef = useRef(null);\n const restoreRef = useRef(null);\n useEffect(() => {\n if (!open)\n return;\n restoreRef.current = document.activeElement instanceof HTMLElement ? document.activeElement : null;\n const card = cardRef.current;\n card?.querySelector(FOCUSABLE)?.focus();\n const restore = restoreRef.current;\n return () => { restore?.focus(); };\n }, [open]);\n useEffect(() => {\n if (!open)\n return;\n const onKeyDown = (event) => {\n if (event.key === 'Escape') {\n if (busy)\n return;\n event.stopPropagation();\n onClose();\n return;\n }\n if (event.key !== 'Tab')\n return;\n const rows = [...(cardRef.current?.querySelectorAll(FOCUSABLE) ?? [])];\n if (rows.length === 0)\n return;\n const first = rows[0];\n const last = rows[rows.length - 1];\n // The cycle is closed here rather than left to the browser: the dialog is a portal at the end\n // of the body, so tabbing out of it lands in the page behind the scrim.\n if (!event.shiftKey && document.activeElement === last) {\n event.preventDefault();\n first?.focus();\n }\n else if (event.shiftKey && document.activeElement === first) {\n event.preventDefault();\n last?.focus();\n }\n };\n document.addEventListener('keydown', onKeyDown, true);\n return () => { document.removeEventListener('keydown', onKeyDown, true); };\n }, [open, busy, onClose]);\n if (!open)\n return null;\n return createPortal(_jsx(\"div\", { className: css.dialogOverlay, role: \"presentation\", onPointerDown: (event) => {\n if (busy || event.target !== event.currentTarget)\n return;\n onClose();\n }, children: _jsxs(\"div\", { ref: cardRef, className: cx(css.dialog, className), role: \"dialog\", \"aria-modal\": \"true\", \"aria-label\": title, children: [_jsxs(\"div\", { children: [_jsx(\"h2\", { className: css.dialogTitle, children: title }), description !== undefined && _jsx(\"p\", { className: css.dialogDescription, children: description })] }), children, footer !== undefined && _jsx(\"div\", { className: css.dialogFooter, children: footer })] }) }), document.body);\n}\n/**\n * A confirmation dialog: a question, a cancel, and one action that commits it.\n * @param props.open - whether the dialog is showing.\n * @param props.onClose - dismiss without acting.\n * @param props.onConfirm - commit the action.\n * @param props.title - the question.\n * @param props.description - what committing will do.\n * @param props.confirmLabel - the committing control's text.\n * @param props.cancelLabel - the dismissing control's text.\n * @param props.destructive - draw the committing control as destructive.\n * @param props.busy - the action is in flight; both controls refuse.\n * @param props.children - extra body content between the description and the action row.\n * @returns the dialog.\n */\nexport function AlertDialog(props) {\n const { open, onClose, onConfirm, title, description, confirmLabel, cancelLabel } = props;\n const { destructive = false, busy = false, children } = props;\n return (_jsx(Dialog, { open: open, onClose: onClose, title: title, busy: busy, ...description === undefined ? {} : { description }, footer: (_jsxs(_Fragment, { children: [_jsx(Button, { variant: \"outline\", disabled: busy, onClick: onClose, children: cancelLabel }), _jsx(Button, { variant: destructive ? 'destructive' : 'default', disabled: busy, onClick: onConfirm, children: confirmLabel })] })), children: children }));\n}\n//# sourceMappingURL=Dialog.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/**\n * The kit's dropdown menu, with submenus that stay on screen.\n *\n * The harness's `Menu` primitive pins a submenu at `left: calc(100% + 10px)` with no collision\n * handling, so a menu anchored near the right edge of the window — the session header's, always —\n * pushed its `Open in` submenu off the viewport entirely. Every surface here is placed through\n * {@link placeLayer}, which flips a submenu to the left of its row when the right side cannot hold\n * it and shifts it vertically to stay inside the window.\n *\n * Keyboard handling follows the WAI-ARIA menu pattern: arrows move, Home/End jump, Right opens a\n * submenu, Left closes it, Escape closes the deepest surface, and focus returns to the row that\n * opened it — and to the trigger when the whole menu closes.\n * @module @achasoft/dsh-advanced-sidebar/client/ui/DropdownMenu\n */\nimport { useCallback, useEffect, useId, useRef, useState } from 'react';\nimport { IconCheckOutline16, IconChevronRightOutline14 } from '@deepseek-ai/dsh-client-ui-primitives';\nimport { Layer, insideLayerTree } from \"./Layer.js\";\nimport { cx } from \"../cx.js\";\nimport css from './Ui.module.css';\n/** Rows a keyboard can land on. */\nconst FOCUSABLE = '[role=\"menuitem\"]:not([disabled])';\n/**\n * Move focus within one surface.\n * @param list - the surface element.\n * @param delta - 1 for the next row, -1 for the previous; wraps at both ends.\n * @param absolute - `first` or `last` ignores `delta` and jumps.\n */\nfunction moveFocus(list, delta, absolute) {\n if (list === null)\n return;\n const rows = [...list.querySelectorAll(FOCUSABLE)];\n if (rows.length === 0)\n return;\n if (absolute !== undefined) {\n rows[absolute === 'first' ? 0 : rows.length - 1]?.focus();\n return;\n }\n const at = rows.findIndex(row => row === document.activeElement);\n const next = at < 0 ? (delta > 0 ? 0 : rows.length - 1) : (at + delta + rows.length) % rows.length;\n rows[next]?.focus();\n}\n/** One row's shared parts, so a leaf and a submenu parent are drawn identically. */\nfunction RowBody({ node }) {\n const note = node.kind === 'item' ? node.note : undefined;\n return (_jsxs(_Fragment, { children: [node.icon !== undefined && _jsx(\"span\", { className: css.itemIcon, children: node.icon }), _jsxs(\"span\", { className: css.itemBody, children: [_jsx(\"span\", { className: css.itemLabel, children: node.label }), note !== undefined && note !== '' && _jsx(\"span\", { className: css.itemNote, children: note })] })] }));\n}\n/**\n * One row that opens a nested surface, plus that surface while it is open.\n *\n * A component of its own so the row's element has a stable ref: the nested surface is positioned\n * against it on every scroll and resize, and an anchor object rebuilt per render would re-run the\n * placement effect indefinitely.\n * @param props.node - the parent row.\n * @param props.expanded - whether this row's surface is open.\n * @param props.onExpand - open this row's surface, or close every sibling's.\n * @param props.surface - the shared surface parameters this row's child inherits.\n * @returns the row and, while expanded, its surface.\n */\nfunction SubmenuRow(props) {\n const { node, expanded, onExpand, surface } = props;\n const rowRef = useRef(null);\n const [focusChild, setFocusChild] = useState(false);\n const open = (withFocus) => {\n if (node.disabled === true)\n return;\n setFocusChild(withFocus);\n onExpand(node.id);\n };\n return (_jsxs(_Fragment, { children: [_jsxs(\"button\", { ref: rowRef, type: \"button\", role: \"menuitem\", className: cx(css.item, expanded && css.itemActive), disabled: node.disabled === true, \"aria-haspopup\": \"menu\", \"aria-expanded\": expanded, onMouseEnter: () => { open(false); }, onClick: () => { open(true); }, onKeyDown: (event) => {\n if (event.key !== 'ArrowRight' && event.key !== 'Enter' && event.key !== ' ')\n return;\n event.preventDefault();\n event.stopPropagation();\n open(true);\n }, children: [_jsx(RowBody, { node: node }), _jsx(\"span\", { className: css.itemChevron, children: _jsx(IconChevronRightOutline14, {}) })] }), expanded && (_jsx(MenuSurface, { nodes: node.items, anchorRef: rowRef, treeId: surface.treeId, \n // The right of the row, flipping to its left when the window cannot hold it there.\n side: \"right\", align: \"start\", autoFocus: focusChild, onSelect: surface.onSelect, onClose: surface.onClose, onCloseSelf: () => {\n onExpand(undefined);\n rowRef.current?.focus();\n } }))] }));\n}\n/**\n * One menu surface and, recursively, whichever of its rows has an open submenu.\n * @param props - the rows, the anchor, and the tree-wide callbacks.\n * @returns the surface.\n * @see {@link SurfaceProps}\n */\nfunction MenuSurface(props) {\n const { nodes, anchorRef, treeId, side, align, label, autoFocus, onSelect, onClose, onCloseSelf } = props;\n const [openSub, setOpenSub] = useState(undefined);\n const listRef = useRef(null);\n useEffect(() => {\n if (autoFocus)\n listRef.current?.focus();\n }, [autoFocus]);\n const onKeyDown = (event) => {\n // Only the surface the event started in acts. Submenus are React children of their parent\n // surface, so an unguarded parent would also move its own focus for a key pressed in a child.\n const target = event.target;\n const own = target === event.currentTarget\n || (target instanceof Node && listRef.current?.contains(target) === true);\n if (!own)\n return;\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n event.stopPropagation();\n moveFocus(listRef.current, 1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n event.stopPropagation();\n moveFocus(listRef.current, -1);\n break;\n case 'Home':\n event.preventDefault();\n event.stopPropagation();\n moveFocus(listRef.current, 0, 'first');\n break;\n case 'End':\n event.preventDefault();\n event.stopPropagation();\n moveFocus(listRef.current, 0, 'last');\n break;\n case 'Escape':\n event.preventDefault();\n event.stopPropagation();\n if (onCloseSelf === undefined)\n onClose();\n else\n onCloseSelf();\n break;\n case 'ArrowLeft':\n if (onCloseSelf === undefined)\n break;\n event.preventDefault();\n event.stopPropagation();\n onCloseSelf();\n break;\n default:\n break;\n }\n };\n const horizontal = side === 'left' || side === 'right';\n return (_jsx(Layer, { open: true, anchorRef: anchorRef, treeId: treeId, role: \"menu\", tabIndex: -1, className: css.menu, contentRef: listRef, placement: { side, align, sideOffset: horizontal ? 2 : 6, alignOffset: horizontal ? -4 : 0 }, onKeyDown: onKeyDown, ...label === undefined ? {} : { 'aria-label': label }, children: nodes.map((node) => {\n switch (node.kind) {\n case 'separator':\n return _jsx(\"hr\", { className: css.separator }, node.id);\n case 'label':\n return _jsx(\"div\", { className: css.menuLabel, role: \"presentation\", children: node.text }, node.id);\n case 'sub':\n return (_jsx(SubmenuRow, { node: node, expanded: openSub === node.id, onExpand: setOpenSub, surface: { treeId, onSelect, onClose } }, node.id));\n case 'item':\n return (_jsxs(\"button\", { type: \"button\", role: \"menuitem\", className: cx(css.item, node.danger === true && css.itemDanger), disabled: node.disabled === true, onMouseEnter: () => { setOpenSub(undefined); }, onClick: () => { onSelect(node.id); }, children: [_jsx(RowBody, { node: node }), node.checked === true && _jsx(\"span\", { className: css.itemCheck, children: _jsx(IconCheckOutline16, {}) })] }, node.id));\n }\n }) }));\n}\n/**\n * A dropdown menu anchored to a caller-owned trigger.\n *\n * The trigger is rendered by the caller rather than by this component: each seat needs its own\n * geometry and its own accessible name, and a wrapper element around a flex-centred icon button is\n * not laid out where the button is — which is what put the harness menu's list against the wrong\n * edge in the collapsed rail.\n * @param props - the open state, the trigger, the rows, and the selection callback.\n * @returns the menu surface, or null while closed.\n * @see {@link DropdownMenuProps}\n */\nexport function DropdownMenu(props) {\n const { open, onClose, anchorRef, items, onSelect, side = 'bottom', align = 'start', label } = props;\n const treeId = useId();\n useEffect(() => {\n if (!open)\n return;\n const onPointerDown = (event) => {\n if (insideLayerTree(event.target, treeId, anchorRef.current))\n return;\n onClose();\n };\n document.addEventListener('pointerdown', onPointerDown);\n return () => { document.removeEventListener('pointerdown', onPointerDown); };\n }, [open, onClose, treeId, anchorRef]);\n // Focus returns to the trigger when the menu closes, wherever the close came from. Without it a\n // keyboard user is dropped at the top of the document by an Escape.\n const anchor = anchorRef.current;\n useEffect(() => {\n if (!open)\n return;\n return () => {\n if (anchor !== null && document.activeElement === document.body)\n anchor.focus();\n };\n }, [open, anchor]);\n const select = useCallback((id) => {\n onClose();\n onSelect(id);\n }, [onClose, onSelect]);\n if (!open)\n return null;\n return (_jsx(MenuSurface, { nodes: items, anchorRef: anchorRef, treeId: treeId, side: side, align: align, label: label, autoFocus: true, onSelect: select, onClose: onClose }));\n}\n//# sourceMappingURL=DropdownMenu.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * The kit's text controls: a single-line input and a textarea, both in shadcn's bordered form.\n * @module @achasoft/dsh-advanced-sidebar/client/ui/Input\n */\nimport { forwardRef } from 'react';\nimport { cx } from \"../cx.js\";\nimport css from './Ui.module.css';\n/**\n * A single-line input.\n * @param props - the optional monospace form and every native input attribute.\n * @param ref - forwarded to the input element.\n * @returns the input element.\n * @see {@link InputProps}\n */\nexport const Input = forwardRef(function Input(props, ref) {\n const { code = false, className, type, ...rest } = props;\n return (_jsx(\"input\", { ref: ref, type: type ?? 'text', className: cx(css.input, code && css.inputCode, type === 'number' && css.inputNumber, className), ...rest }));\n});\n/**\n * A multi-line input.\n * @param props - every native textarea attribute.\n * @param ref - forwarded to the textarea element.\n * @returns the textarea element.\n */\nexport const Textarea = forwardRef(function Textarea({ className, ...rest }, ref) {\n return _jsx(\"textarea\", { ref: ref, className: cx(css.input, css.textarea, className), ...rest });\n});\n//# sourceMappingURL=Input.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/**\n * The kit's select: a trigger showing the current option and a floating list of the rest.\n *\n * A native `<select>` cannot be drawn in this vocabulary — its popup is the operating system's, and\n * on the platforms this Web Client runs on it ignores every colour the app resolves. The list here\n * is the same {@link Layer} the menu uses, so it flips and clamps like everything else.\n * @module @achasoft/dsh-advanced-sidebar/client/ui/Select\n */\nimport { useEffect, useId, useRef, useState } from 'react';\nimport { IconCheckOutline16, IconChevronDownOutline14 } from '@deepseek-ai/dsh-client-ui-primitives';\nimport { Layer, insideLayerTree } from \"./Layer.js\";\nimport { cx } from \"../cx.js\";\nimport css from './Ui.module.css';\n/**\n * A select.\n * @param props - the value, the options, and the change callback.\n * @returns the trigger and, while open, its list.\n * @see {@link SelectProps}\n */\nexport function Select(props) {\n const { value, onValueChange, options, placeholder, disabled = false, className, id } = props;\n const [open, setOpen] = useState(false);\n const triggerRef = useRef(null);\n const treeId = useId();\n const selected = options.find(option => option.value === value);\n useEffect(() => {\n if (!open)\n return;\n const onPointerDown = (event) => {\n if (insideLayerTree(event.target, treeId, triggerRef.current))\n return;\n setOpen(false);\n };\n const onKeyDown = (event) => {\n if (event.key === 'Escape') {\n setOpen(false);\n triggerRef.current?.focus();\n }\n };\n document.addEventListener('pointerdown', onPointerDown);\n document.addEventListener('keydown', onKeyDown);\n return () => {\n document.removeEventListener('pointerdown', onPointerDown);\n document.removeEventListener('keydown', onKeyDown);\n };\n }, [open, treeId]);\n return (_jsxs(_Fragment, { children: [_jsxs(\"button\", { ref: triggerRef, type: \"button\", className: cx(css.trigger, className), disabled: disabled, \"aria-haspopup\": \"listbox\", \"aria-expanded\": open, ...id === undefined ? {} : { id }, ...props['aria-label'] === undefined ? {} : { 'aria-label': props['aria-label'] }, onClick: () => { setOpen(current => !current); }, children: [_jsx(\"span\", { className: cx(css.triggerValue, selected === undefined && css.triggerPlaceholder), children: selected?.label ?? placeholder }), _jsx(IconChevronDownOutline14, {})] }), _jsx(Layer, { open: open, anchorRef: triggerRef, treeId: treeId, role: \"listbox\", className: css.menu, placement: { side: 'bottom', align: 'start', sideOffset: 4 }, children: options.map(option => (_jsxs(\"button\", { type: \"button\", role: \"option\", \"aria-selected\": option.value === value, className: css.item, disabled: option.disabled === true, onClick: () => {\n setOpen(false);\n triggerRef.current?.focus();\n if (option.value !== value)\n onValueChange(option.value);\n }, children: [_jsxs(\"span\", { className: css.itemBody, children: [_jsx(\"span\", { className: css.itemLabel, children: option.label }), option.note !== undefined && _jsx(\"span\", { className: css.itemNote, children: option.note })] }), option.value === value && _jsx(\"span\", { className: css.itemCheck, children: _jsx(IconCheckOutline16, {}) })] }, option.value))) })] }));\n}\n//# sourceMappingURL=Select.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * The kit's separator: a hairline between groups, in either orientation.\n * @module @achasoft/dsh-advanced-sidebar/client/ui/Separator\n */\nimport { cx } from \"../cx.js\";\nimport css from './Ui.module.css';\n/**\n * A hairline.\n * @param props.orientation - `horizontal` (default) draws a rule across the flow; `vertical` draws\n * one between two controls in a row.\n * @param props.className - additional classes.\n * @returns the separator element.\n */\nexport function Separator({ orientation = 'horizontal', className }) {\n return (_jsx(\"hr\", { className: cx(orientation === 'vertical' ? css.separatorVertical : css.separator, className), \"aria-orientation\": orientation }));\n}\n//# sourceMappingURL=Separator.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { IconCloseFill14 } from '@deepseek-ai/dsh-client-ui-primitives';\nimport { cx } from \"../cx.js\";\nimport css from './Ui.module.css';\n/**\n * A tab strip.\n * @param props - the tabs, the selection, and the callbacks.\n * @returns the strip.\n * @see {@link TabsProps}\n */\nexport function Tabs(props) {\n const { tabs, value, onValueChange, onClose, children, className } = props;\n return (_jsxs(\"div\", { className: cx(css.tabs, className), role: \"tablist\", ...props['aria-label'] === undefined ? {} : { 'aria-label': props['aria-label'] }, children: [_jsx(\"div\", { className: css.tabsScroll, children: tabs.map(tab => (_jsxs(\"button\", { type: \"button\", role: \"tab\", \"aria-selected\": tab.id === value, className: cx(css.tab, tab.id === value && css.tabActive), ...tab.title === undefined ? {} : { title: tab.title }, onClick: () => { onValueChange(tab.id); }, onKeyDown: (event) => {\n // Delete closes the focused tab, which is the only keyboard path to the close\n // control: it is a span inside the tab button, because a button cannot nest one.\n if (onClose === undefined || event.key !== 'Delete')\n return;\n event.preventDefault();\n onClose(tab.id);\n }, onAuxClick: (event) => {\n if (onClose === undefined || event.button !== 1)\n return;\n event.preventDefault();\n onClose(tab.id);\n }, children: [tab.icon, _jsx(\"span\", { className: css.tabLabel, children: tab.label }), onClose !== undefined && (_jsx(\"span\", { className: css.tabClose, role: \"presentation\", onPointerDown: (event) => {\n // Down, not click: the tab's own click would otherwise select a tab that is\n // about to disappear, moving the panel twice for one gesture.\n event.preventDefault();\n event.stopPropagation();\n onClose(tab.id);\n }, children: _jsx(IconCloseFill14, {}) }))] }, tab.id))) }), children] }));\n}\n//# sourceMappingURL=Tabs.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { IconCheckOutline14 } from '@deepseek-ai/dsh-client-ui-primitives';\nimport { cx } from \"../cx.js\";\nimport css from './Ui.module.css';\n/**\n * A switch.\n * @param props - the state, the change callback, and the accessibility attributes.\n * @returns the switch element.\n * @see {@link ToggleProps}\n */\nexport function Switch(props) {\n const { checked, onCheckedChange, disabled = false, className, ...aria } = props;\n return (_jsx(\"button\", { type: \"button\", role: \"switch\", \"aria-checked\": checked, disabled: disabled, className: cx(css.switch, className), onClick: () => { onCheckedChange(!checked); }, ...aria, children: _jsx(\"span\", { className: css.switchThumb }) }));\n}\n/**\n * A checkbox.\n * @param props - the state, the change callback, and the accessibility attributes.\n * @returns the checkbox element.\n * @see {@link ToggleProps}\n */\nexport function Checkbox(props) {\n const { checked, onCheckedChange, disabled = false, className, ...aria } = props;\n return (_jsx(\"button\", { type: \"button\", role: \"checkbox\", \"aria-checked\": checked, disabled: disabled, className: cx(css.checkbox, className), onClick: () => { onCheckedChange(!checked); }, ...aria, children: checked && _jsx(IconCheckOutline14, {}) }));\n}\n/**\n * A checkbox with its label, as one click target.\n * @param props.checked - current state.\n * @param props.onCheckedChange - the state changed.\n * @param props.disabled - refuses the press.\n * @param props.children - the label.\n * @returns the labelled checkbox.\n */\nexport function CheckboxRow(props) {\n const { checked, onCheckedChange, disabled = false, children } = props;\n return (_jsxs(\"label\", { className: css.checkRow, children: [_jsx(Checkbox, { checked: checked, onCheckedChange: onCheckedChange, disabled: disabled }), children] }));\n}\n//# sourceMappingURL=Toggle.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/**\n * Pieces the five panels share: the props they are all given, the two formatters that would\n * otherwise be written five times, and the path renderer.\n * @module @achasoft/dsh-advanced-sidebar/client/panels/shared\n */\nimport { useEffect, useRef } from 'react';\nimport css from './Panels.module.css';\n/** Binary size units, largest last so the loop can stop at the first that fits. */\nconst UNITS = ['B', 'KB', 'MB', 'GB', 'TB'];\n/**\n * Format a byte count for a file row.\n *\n * Locale-independent on purpose: these are units, not prose, and a translated \"KB\" would make a\n * size unreadable to anyone reading the same screen in the other language.\n * @param bytes - the size.\n * @returns the formatted size.\n */\nexport function formatBytes(bytes) {\n let value = Math.max(0, bytes);\n let unit = 0;\n while (value >= 1_024 && unit < UNITS.length - 1) {\n value /= 1_024;\n unit += 1;\n }\n const rounded = unit === 0 ? String(Math.round(value)) : value.toFixed(value < 10 ? 1 : 0);\n return `${rounded} ${UNITS[unit] ?? 'B'}`;\n}\n/**\n * How many trailing characters of a path stay visible when it is too long for its box.\n *\n * Enough for a basename and a little of its directory, which is the part that identifies a row.\n */\nconst PATH_TAIL = 18;\n/**\n * Render one path, truncating in the MIDDLE rather than at either end.\n *\n * The usual one-line trick for this — `direction: rtl` with `text-overflow: ellipsis` — is wrong\n * for a path: the bidirectional algorithm reorders the neutral characters a path is made of, so\n * `dsh/tasks.db` renders as `dsh\\tasks.db.` with the separator flipped and the ellipsis moved\n * inside the name. Two spans do it correctly and in one direction: the head clips with an ellipsis,\n * the tail never shrinks.\n * @param props.value - the path.\n * @param props.className - the row's own class; the container is a flex box.\n * @returns the path element.\n */\nexport function PathText({ value, className }) {\n const cut = Math.max(0, value.length - PATH_TAIL);\n return (_jsxs(\"span\", { className: className, title: value, children: [_jsx(\"span\", { className: css.pathHead, children: value.slice(0, cut) }), _jsx(\"span\", { className: css.pathTail, children: value.slice(cut) })] }));\n}\n/**\n * Hold the latest value of something an effect reads but must not RESTART for.\n *\n * The translator is the case this exists for. Its identity changes on every locale switch, and an\n * effect that lists it as a dependency is torn down and re-run when the interface language\n * changes — which for the terminal effect means killing a running shell, and for a poll chain means\n * dropping and re-arming it. The effects need the current translator, not a reason to restart.\n * @param value - the value to track.\n * @returns a ref whose `current` is the latest value.\n */\nexport function useLatest(value) {\n const ref = useRef(value);\n useEffect(() => { ref.current = value; }, [value]);\n return ref;\n}\n/**\n * Phrase one transport failure for a panel's error line.\n * @param reason - whatever the call rejected with.\n * @param t - the namespace translator.\n * @returns a single-line message.\n */\nexport function transportMessage(reason, t) {\n return t('error.transport', { message: reason instanceof Error ? reason.message : String(reason) });\n}\n//# sourceMappingURL=shared.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/**\n * The Changes panel: what git reports as uncommitted in the session's working directory, each\n * file's patch on demand, and the two writes that turn a reading into a commit.\n *\n * Staging and committing are offered; DISCARDING is not. Stage, unstage, and commit are all\n * recoverable — the working tree is untouched by the first two, and a commit stays in the reflog —\n * while discarding destroys uncommitted work with nothing left to recover it from. A sidebar is the\n * wrong place for the one irreversible verb in the set, and `git restore` is a keystroke away in\n * the Terminal panel beside it.\n *\n * Every write returns the reading that follows it, so the lists never lag a round trip behind the\n * index they describe.\n * @module @achasoft/dsh-advanced-sidebar/client/panels/ChangesPanel\n */\nimport { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { IconCheckOutline16, IconChevronDownOutline14, IconChevronRightOutline14, IconCloseOutline16, IconCopyOutline16, IconLoadingOutline16, IconRefreshOutline14, IconSparkle16, } from '@deepseek-ai/dsh-client-ui-primitives';\nimport { PushGlyph } from \"../Glyphs.js\";\nimport { Alert, Badge, Button, CheckboxRow, Textarea } from \"../ui/index.js\";\nimport { cx } from \"../cx.js\";\nimport { PathText, transportMessage, useLatest } from \"./shared.js\";\nimport css from './Panels.module.css';\n/** Row key: a path alone is ambiguous, because the same path can be staged AND unstaged. */\nfunction rowKey(group, change) {\n return `${group}:${change.path}`;\n}\n/** The single letter git would print for a row, taken from whichever index the group describes. */\nfunction statusLetter(group, change) {\n if (group === 'untracked')\n return 'U';\n if (group === 'conflicted')\n return '!';\n const state = group === 'staged' ? change.index : change.worktree;\n switch (state) {\n case 'added': return 'A';\n case 'deleted': return 'D';\n case 'renamed': return 'R';\n case 'copied': return 'C';\n case 'typechange': return 'T';\n default: return 'M';\n }\n}\n/** One unified-diff line, classified for colouring. */\nfunction DiffLine({ line }) {\n const kind = line.startsWith('+++') || line.startsWith('---')\n ? 'meta'\n : line.startsWith('@@')\n ? 'hunk'\n : line.startsWith('+')\n ? 'add'\n : line.startsWith('-')\n ? 'remove'\n : line.startsWith('diff ') || line.startsWith('index ') || line.startsWith('new file')\n || line.startsWith('deleted file') || line.startsWith('similarity ')\n || line.startsWith('rename ') || line.startsWith('Binary files')\n ? 'meta'\n : 'context';\n return (_jsx(\"span\", { className: cx(css.diffLine, kind === 'add' && css.diffAdd, kind === 'remove' && css.diffRemove, kind === 'hunk' && css.diffHunk, kind === 'meta' && css.diffMeta), children: line === '' ? ' ' : line }));\n}\n/** The patch body for one expanded row. */\nfunction Diff({ state, t }) {\n if (state.loading)\n return _jsx(\"p\", { className: css.quiet, children: t('panel.loading') });\n if (state.error !== undefined)\n return _jsx(Alert, { tone: \"destructive\", className: css.panelAlert, children: state.error });\n const result = state.result;\n if (result === undefined)\n return null;\n if (!result.ok)\n return _jsx(Alert, { tone: \"destructive\", className: css.panelAlert, children: result.message });\n if (result.binary)\n return _jsx(\"p\", { className: css.quiet, children: t('changes.diff.binary') });\n if (result.patch.trim() === '')\n return _jsx(\"p\", { className: css.quiet, children: t('changes.diff.empty') });\n return (_jsxs(_Fragment, { children: [_jsx(\"pre\", { className: css.diff, children: result.patch.split('\\n').map((line, index) => (\n // eslint-disable-next-line react/no-array-index-key -- a patch line has no identity of\n // its own; the array is replaced wholesale on every reload, so the index is stable.\n _jsxs(Fragment, { children: [_jsx(DiffLine, { line: line }), '\\n'] }, index))) }), result.truncated && (_jsx(\"p\", { className: css.quiet, children: t('changes.diff.truncated', { n: result.patch.length }) }))] }));\n}\n/**\n * The git status reading and its per-file patches.\n * @param props - the target, the translator, and the dock's face.\n * @returns the panel body.\n * @see {@link PanelProps}\n */\nexport function ChangesPanel({ target, t, face }) {\n const [status, setStatus] = useState(undefined);\n const [error, setError] = useState(undefined);\n const [generation, setGeneration] = useState(0);\n const [expanded, setExpanded] = useState(undefined);\n const [diffs, setDiffs] = useState({});\n const [copied, setCopied] = useState(false);\n const copiedTimer = useRef(0);\n useEffect(() => () => { window.clearTimeout(copiedTimer.current); }, []);\n const directory = target.directory;\n const { gitStatus, gitDiff, gitStage, gitUnstage, gitCommit, gitPush, gitCommitMessage } = face;\n const { copy, notify } = face;\n const latest = useLatest(t);\n const [message, setMessage] = useState('');\n const [amend, setAmend] = useState(false);\n /** The write in flight; one at a time, because two overlapping index writes would race. */\n const [writing, setWriting] = useState(false);\n /** The model call in flight, and the handle that abandons it. */\n const [drafting, setDrafting] = useState(false);\n const draft = useRef(undefined);\n // A draft outlives neither the panel nor a session switch: the model call would settle into a\n // box describing a different repository.\n useEffect(() => () => { draft.current?.abort(); }, []);\n useEffect(() => {\n if (directory === undefined)\n return;\n const controller = new AbortController();\n setError(undefined);\n gitStatus(directory, controller.signal).then((next) => { if (!controller.signal.aborted)\n setStatus(next); }, (reason) => {\n if (!controller.signal.aborted)\n setError(transportMessage(reason, latest.current));\n });\n return () => { controller.abort(); };\n }, [directory, generation, gitStatus, latest]);\n // A reload invalidates every open patch: the row is still there, but what it showed described the\n // previous reading. Clearing is cheaper and more honest than re-fetching patches nobody expanded.\n useEffect(() => { setDiffs({}); }, [generation]);\n const toggle = useCallback((group, change) => {\n const key = rowKey(group, change);\n setExpanded(current => (current === key ? undefined : key));\n if (directory === undefined || diffs[key] !== undefined)\n return;\n setDiffs(current => ({ ...current, [key]: { loading: true, result: undefined, error: undefined } }));\n gitDiff({\n workspacePath: directory,\n path: change.path,\n staged: group === 'staged',\n untracked: group === 'untracked',\n }).then((result) => {\n setDiffs(current => ({ ...current, [key]: { loading: false, result, error: undefined } }));\n }, (reason) => {\n setDiffs(current => ({\n ...current,\n [key]: { loading: false, result: undefined, error: transportMessage(reason, latest.current) },\n }));\n });\n }, [diffs, directory, gitDiff, latest]);\n const groups = useMemo(() => {\n if (status === undefined || !status.ok)\n return [];\n return [\n ['conflicted', status.conflicted],\n ['staged', status.staged],\n ['unstaged', status.unstaged],\n ['untracked', status.untracked],\n ];\n }, [status]);\n const total = groups.reduce((sum, [, rows]) => sum + rows.length, 0);\n const write = status?.ok === true ? status.write : undefined;\n const stagedCount = status?.ok === true ? status.staged.length : 0;\n const ahead = status?.ok === true ? status.ahead : 0;\n const published = status?.ok === true && status.upstream !== undefined;\n // Nothing to send is a disabled button rather than a request that git would answer with\n // \"Everything up-to-date\"; publishing a new branch has something to do at zero commits ahead.\n const pushDisabled = writing || (published && ahead === 0);\n const pushTitle = !published\n ? t('changes.publish.hint')\n : ahead === 0\n ? t('changes.push.upToDate')\n : t('changes.push.hint', { n: ahead, upstream: status?.ok === true ? status.upstream ?? '' : '' });\n /**\n * Run one index write and adopt the reading it returns.\n * @param run - the endpoint call.\n */\n const commitWrite = useCallback((run) => {\n setWriting(true);\n run().then((result) => {\n setWriting(false);\n if (!result.ok) {\n notify('error', result.message);\n return;\n }\n setStatus(result.status);\n // The patches described the previous index. Keeping them would show a staged file's diff\n // as if it were still unstaged, so they go with the reading they belonged to.\n setDiffs({});\n setExpanded(undefined);\n }, (reason) => {\n setWriting(false);\n notify('error', transportMessage(reason, latest.current));\n });\n }, [notify, latest]);\n const stage = useCallback((paths) => {\n if (directory === undefined || paths.length === 0)\n return;\n commitWrite(() => gitStage(directory, paths));\n }, [commitWrite, directory, gitStage]);\n const unstage = useCallback((paths) => {\n if (directory === undefined || paths.length === 0)\n return;\n commitWrite(() => gitUnstage(directory, paths));\n }, [commitWrite, directory, gitUnstage]);\n const push = useCallback((setUpstream) => {\n if (directory === undefined)\n return;\n setWriting(true);\n gitPush(directory, setUpstream).then((result) => {\n setWriting(false);\n if (!result.ok) {\n notify('error', result.message);\n return;\n }\n setStatus(result.status);\n notify('info', latest.current(result.published ? 'changes.push.published' : 'changes.push.done', { branch: result.branch, remote: result.remote }));\n // git narrates a push on stderr even when it succeeds — the ref update, and any advice the\n // remote attached to it. That text is the receipt, so it is shown rather than dropped.\n if (result.notes !== '')\n notify('info', result.notes);\n }, (reason) => {\n setWriting(false);\n notify('error', transportMessage(reason, latest.current));\n });\n }, [directory, gitPush, notify, latest]);\n const suggest = useCallback(() => {\n if (directory === undefined)\n return;\n draft.current?.abort();\n const controller = new AbortController();\n draft.current = controller;\n setDrafting(true);\n gitCommitMessage(directory, amend, controller.signal).then((result) => {\n if (controller.signal.aborted)\n return;\n setDrafting(false);\n if (!result.ok) {\n notify('error', result.message);\n return;\n }\n // Written into the box rather than committed: the draft is a starting point a person edits,\n // which is the whole difference between this and a model that commits on its own.\n setMessage(result.message);\n if (result.truncated)\n notify('info', latest.current('changes.commit.suggest.truncated'));\n }, (reason) => {\n if (controller.signal.aborted)\n return;\n setDrafting(false);\n notify('error', transportMessage(reason, latest.current));\n });\n }, [amend, directory, gitCommitMessage, notify, latest]);\n const record = useCallback(() => {\n if (directory === undefined)\n return;\n setWriting(true);\n gitCommit(directory, message, amend).then((result) => {\n setWriting(false);\n if (!result.ok) {\n notify('error', result.message);\n return;\n }\n setStatus(result.status);\n setDiffs({});\n setExpanded(undefined);\n setMessage('');\n setAmend(false);\n notify('info', latest.current('changes.commit.done', { commit: result.commit, subject: result.subject }));\n // A hook's advice is worth surfacing on its own: it explains a commit that succeeded but\n // reformatted something, which the success line alone would hide.\n if (result.notes !== '')\n notify('info', result.notes);\n }, (reason) => {\n setWriting(false);\n notify('error', transportMessage(reason, latest.current));\n });\n }, [amend, directory, gitCommit, message, notify, latest]);\n return (_jsxs(_Fragment, { children: [_jsxs(\"div\", { className: css.toolbar, children: [status?.ok === true && (_jsxs(_Fragment, { children: [_jsx(\"span\", { className: css.branch, children: status.detached\n ? t('changes.branch.detached')\n : status.branch ?? t('changes.branch.unborn') }), status.ahead > 0 && _jsx(Badge, { children: t('changes.ahead', { n: status.ahead }) }), status.behind > 0 && _jsx(Badge, { children: t('changes.behind', { n: status.behind }) }), _jsx(\"span\", { className: css.spacer }), _jsx(\"span\", { className: css.quietInline, children: t('changes.count', { n: total }) })] })), status?.ok !== true && _jsx(\"span\", { className: css.spacer }), status?.ok === true && write?.canPush === true && (_jsx(Button, { size: \"sm\", variant: status.ahead > 0 ? 'secondary' : 'ghost', icon: _jsx(PushGlyph, { size: 14 }), \"aria-label\": status.upstream === undefined ? t('changes.publish') : t('changes.push'), title: pushTitle, disabled: pushDisabled, onClick: () => { push(status.upstream === undefined); }, children: status.upstream === undefined ? t('changes.publish') : t('changes.push') })), _jsx(Button, { size: \"icon\", \"aria-label\": t('panel.refresh'), title: t('panel.refresh'), onClick: () => { setGeneration(value => value + 1); }, children: _jsx(IconRefreshOutline14, {}) })] }), write?.canCommit === true && (_jsxs(\"div\", { className: css.commitBox, children: [_jsx(Textarea, { className: css.commitMessage, \"aria-label\": t('changes.commit.message'), placeholder: t('changes.commit.placeholder'), rows: 2, spellCheck: false, disabled: writing, value: message, onChange: (event) => { setMessage(event.target.value); }, onKeyDown: (event) => {\n // The message is multi-line, so plain Enter must insert one; the modifier chord is\n // what every commit box in every editor uses to send.\n if (event.key === 'Enter' && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n if (!writing && message.trim() !== '')\n record();\n }\n } }), _jsxs(\"div\", { className: css.commitRow, children: [_jsx(CheckboxRow, { checked: amend, disabled: writing, onCheckedChange: setAmend, children: t('changes.commit.amend') }), _jsx(\"span\", { className: css.spacer }), write.canDraftMessage && (_jsx(Button, { size: \"sm\", icon: drafting ? _jsx(IconLoadingOutline16, {}) : _jsx(IconSparkle16, {}), \"aria-label\": t('changes.commit.suggest'), title: t('changes.commit.suggest.hint'), \n // The model is shown the staged patch, so there is nothing to describe without one.\n disabled: writing || drafting || (stagedCount === 0 && !amend), onClick: suggest, children: t('changes.commit.suggest') })), _jsxs(Button, { variant: \"default\", size: \"sm\", \n // Amending has something to record with an empty index; an ordinary commit does not.\n disabled: writing || drafting || message.trim() === '' || (stagedCount === 0 && !amend), onClick: record, children: [writing ? _jsx(IconLoadingOutline16, {}) : null, stagedCount === 0\n ? t('changes.commit')\n // Counted copy takes one key per plural form: English needs \"1 file\" against\n // \"2 files\", and a single template would print \"1 files\" for the commonest case.\n : t(stagedCount === 1 ? 'changes.commit.count.one' : 'changes.commit.count.other', { n: stagedCount })] })] }), _jsx(\"p\", { className: css.commitHint, children: write.author === undefined\n ? t('changes.commit.noIdentity')\n : t('changes.commit.author', { author: write.author }) })] })), _jsxs(\"div\", { className: css.scroll, children: [error !== undefined && _jsx(Alert, { tone: \"destructive\", className: css.panelAlert, children: error }), status === undefined && error === undefined && _jsx(\"p\", { className: css.quiet, children: t('panel.loading') }), status?.ok === false && _jsx(Alert, { tone: \"destructive\", className: css.panelAlert, children: status.message }), status?.ok === true && total === 0 && _jsx(\"p\", { className: css.quiet, children: t('changes.empty') }), status?.ok === true && write?.canStage === false && total > 0 && (_jsx(\"p\", { className: css.quiet, children: t('changes.readOnly') })), status?.ok === true && groups.map(([group, rows]) => (rows.length === 0 ? null : (_jsxs(\"section\", { className: css.group, children: [_jsxs(\"h3\", { className: css.groupTitle, children: [t(`changes.group.${group}`), _jsx(\"span\", { className: css.groupCount, children: rows.length }), write?.canStage === true && group !== 'conflicted' && (_jsx(Button, { size: \"sm\", className: css.groupAction, disabled: writing, onClick: () => {\n const paths = rows.map(row => row.path);\n if (group === 'staged')\n unstage(paths);\n else\n stage(paths);\n }, children: group === 'staged' ? t('changes.unstage.all') : t('changes.stage.all') }))] }), rows.map((change) => {\n const key = rowKey(group, change);\n const open = expanded === key;\n const state = diffs[key];\n return (_jsxs(\"div\", { className: cx(css.fileBlock, open && css.fileBlockOpen), children: [_jsxs(\"div\", { className: css.fileLine, children: [_jsxs(\"button\", { type: \"button\", className: cx(css.fileRow, open && css.fileRowOpen), onClick: () => { toggle(group, change); }, children: [open ? _jsx(IconChevronDownOutline14, {}) : _jsx(IconChevronRightOutline14, {}), _jsx(\"span\", { className: cx(css.letter, css[`letter${statusLetter(group, change)}`]), children: statusLetter(group, change) }), _jsx(PathText, { className: css.filePath, value: change.oldPath === undefined ? change.path : `${change.oldPath} → ${change.path}` })] }), write?.canStage === true && group !== 'conflicted' && (_jsx(Button, { size: \"icon\", className: css.rowAction, \"aria-label\": group === 'staged' ? t('changes.unstage') : t('changes.stage'), title: group === 'staged' ? t('changes.unstage') : t('changes.stage'), disabled: writing, onClick: () => {\n if (group === 'staged')\n unstage([change.path]);\n else\n stage([change.path]);\n }, children: group === 'staged' ? _jsx(IconCloseOutline16, {}) : _jsx(IconCheckOutline16, {}) }))] }), open && (_jsxs(\"div\", { className: css.diffBlock, children: [state?.result?.ok === true && !state.result.binary && state.result.patch !== '' && (_jsx(Button, { size: \"sm\", className: css.copyButton, icon: _jsx(IconCopyOutline16, {}), onClick: () => {\n void copy(state.result?.ok === true ? state.result.patch : '').then((done) => {\n if (!done)\n return;\n setCopied(true);\n window.clearTimeout(copiedTimer.current);\n copiedTimer.current = window.setTimeout(() => { setCopied(false); }, 1_500);\n });\n }, children: copied ? t('changes.diff.copied') : t('changes.diff.copy') })), _jsx(Diff, { state: state ?? { loading: true, result: undefined, error: undefined }, t: t })] }))] }, key));\n })] }, group)))), status?.ok === true && status.truncated && (_jsx(\"p\", { className: css.quiet, children: t('changes.truncated', { n: total }) }))] })] }));\n}\n//# sourceMappingURL=ChangesPanel.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/**\n * The Files panel: the session's working directory, one level at a time, with a text preview.\n *\n * The listing comes from this plugin's own endpoint rather than the Web Client's `listDirectory`,\n * because the Host's browse capability returns directories only — its one shipped caller is a\n * workspace picker, and a file browser that cannot show files is not one.\n * @module @achasoft/dsh-advanced-sidebar/client/panels/FilesPanel\n */\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { IconChevronLeftOutline14, IconFolderClose16, IconRefreshOutline14, IconRightUpOutline16, } from '@deepseek-ai/dsh-client-ui-primitives';\nimport { Alert, Badge, Button } from \"../ui/index.js\";\nimport { cx } from \"../cx.js\";\nimport { FileGlyph } from \"../Glyphs.js\";\nimport { PathText, formatBytes, transportMessage, useLatest } from \"./shared.js\";\nimport css from './Panels.module.css';\n/**\n * The directory listing and the preview beside it.\n * @param props - the target, the translator, and the dock's face.\n * @returns the panel body.\n * @see {@link PanelProps}\n */\nexport function FilesPanel({ target, t, face }) {\n const { listEntries, readFile, openPath } = face;\n const latest = useLatest(t);\n const workspace = target.directory;\n const [path, setPath] = useState(workspace);\n const [listing, setListing] = useState(undefined);\n const [error, setError] = useState(undefined);\n const [generation, setGeneration] = useState(0);\n const [selected, setSelected] = useState(undefined);\n const [preview, setPreview] = useState(undefined);\n const [previewError, setPreviewError] = useState(undefined);\n /** The preview request in flight; a slower earlier read must not overwrite a newer selection. */\n const wanted = useRef(undefined);\n // A directory change resets the workspace root too, because the panel can be reopened on a\n // different session without unmounting.\n useEffect(() => { setPath(workspace); setSelected(undefined); setPreview(undefined); }, [workspace]);\n useEffect(() => {\n if (path === undefined || workspace === undefined)\n return;\n const controller = new AbortController();\n setError(undefined);\n listEntries(path, workspace, controller.signal).then((next) => { if (!controller.signal.aborted)\n setListing(next); }, (reason) => {\n if (!controller.signal.aborted)\n setError(transportMessage(reason, latest.current));\n });\n return () => { controller.abort(); };\n }, [path, workspace, generation, listEntries, latest]);\n const openFile = useCallback((entry) => {\n if (workspace === undefined)\n return;\n setSelected(entry.path);\n setPreview(undefined);\n setPreviewError(undefined);\n wanted.current = entry.path;\n readFile(entry.path, workspace).then((result) => { if (wanted.current === entry.path)\n setPreview(result); }, (reason) => {\n if (wanted.current === entry.path)\n setPreviewError(transportMessage(reason, latest.current));\n });\n }, [readFile, workspace, latest]);\n const level = listing?.ok === true ? listing : undefined;\n return (_jsxs(_Fragment, { children: [_jsxs(\"div\", { className: css.toolbar, children: [_jsx(Button, { size: \"icon\", \"aria-label\": t('files.up'), title: t('files.up'), disabled: level?.parent === undefined, onClick: () => { if (level?.parent !== undefined)\n setPath(level.parent); }, children: _jsx(IconChevronLeftOutline14, {}) }), _jsx(PathText, { className: css.crumb, value: level?.path ?? path ?? '' }), _jsx(\"span\", { className: css.spacer }), _jsx(Button, { size: \"icon\", \"aria-label\": t('panel.refresh'), title: t('panel.refresh'), onClick: () => { setGeneration(value => value + 1); }, children: _jsx(IconRefreshOutline14, {}) })] }), _jsxs(\"div\", { className: css.split, children: [_jsxs(\"div\", { className: css.scroll, children: [error !== undefined && _jsx(Alert, { tone: \"destructive\", className: css.panelAlert, children: error }), listing === undefined && error === undefined && _jsx(\"p\", { className: css.quiet, children: t('panel.loading') }), listing?.ok === false && _jsx(Alert, { tone: \"destructive\", className: css.panelAlert, children: listing.message }), level !== undefined && level.entries.length === 0 && _jsx(\"p\", { className: css.quiet, children: t('files.empty') }), level?.entries.map(entry => (_jsxs(\"button\", { type: \"button\", className: cx(css.fileRow, selected === entry.path && css.fileRowOpen), onClick: () => {\n if (entry.kind === 'directory') {\n setPath(entry.path);\n setSelected(undefined);\n setPreview(undefined);\n }\n else if (entry.kind === 'file')\n openFile(entry);\n }, \n // A socket or a device is listed so the tree is not silently incomplete, but there is\n // nothing to open and nothing to preview.\n disabled: entry.kind === 'other', children: [entry.kind === 'directory' ? _jsx(IconFolderClose16, {}) : _jsx(FileGlyph, { size: 16 }), _jsx(\"span\", { className: css.entryName, children: entry.name }), entry.size !== undefined && entry.kind === 'file' && (_jsx(Badge, { variant: \"outline\", className: css.fileSize, children: formatBytes(entry.size) }))] }, entry.path))), level?.truncated === true && _jsx(\"p\", { className: css.quiet, children: t('changes.truncated', { n: level.entries.length }) })] }), _jsxs(\"div\", { className: css.preview, children: [selected === undefined && _jsx(\"p\", { className: css.quiet, children: t('files.preview.pick') }), selected !== undefined && (_jsxs(\"div\", { className: css.previewHead, children: [_jsx(PathText, { className: css.filePath, value: selected }), _jsx(Button, { size: \"icon\", \"aria-label\": t('files.open'), title: t('files.open'), onClick: () => { void openPath(selected); }, children: _jsx(IconRightUpOutline16, {}) })] })), previewError !== undefined && _jsx(Alert, { tone: \"destructive\", className: css.panelAlert, children: previewError }), selected !== undefined && preview === undefined && previewError === undefined && (_jsx(\"p\", { className: css.quiet, children: t('panel.loading') })), preview?.ok === false && _jsx(Alert, { tone: \"destructive\", className: css.panelAlert, children: preview.message }), preview?.ok === true && preview.binary && (_jsx(\"p\", { className: css.quiet, children: t('files.preview.binary', { bytes: formatBytes(preview.bytes) }) })), preview?.ok === true && !preview.binary && (_jsxs(_Fragment, { children: [_jsx(\"pre\", { className: css.previewText, children: preview.text }), preview.truncated && (_jsx(\"p\", { className: css.quiet, children: t('files.preview.truncated', { n: preview.text.length }) }))] }))] })] })] }));\n}\n//# sourceMappingURL=FilesPanel.js.map","/**\n * The capability-view hook shared by the two menu seats and the settings card.\n *\n * There is no host-to-client push channel available to an out-of-tree plugin, so the view is\n * fetched rather than subscribed. It is fetched on demand — when a menu opens, when a card is\n * expanded — rather than on a timer: the facts it carries (is git installed, does `code` resolve)\n * change on the scale of an operator installing something, and a poll would spend a PATH scan per\n * interval to notice.\n * @module @achasoft/dsh-advanced-sidebar/client/use-capability\n */\nimport { useCallback, useEffect, useRef, useState } from 'react';\n/**\n * Read the Host capability view on demand.\n * @param describe - the endpoint call.\n * @param enabled - false suspends fetching entirely (a collapsed card, a seat switched off).\n * @returns the view, the last error, and a stable refresh.\n */\nexport function useCapabilityView(describe, enabled = true) {\n const [view, setView] = useState(undefined);\n const [error, setError] = useState(undefined);\n const [generation, setGeneration] = useState(0);\n // A ref, not state: bumping the generation is what re-runs the effect, and a pending flag in\n // state would re-render every seat twice per open for a fact nothing renders.\n const inFlight = useRef(false);\n useEffect(() => {\n if (!enabled)\n return;\n const controller = new AbortController();\n inFlight.current = true;\n describe(controller.signal).then((next) => {\n if (controller.signal.aborted)\n return;\n setView(next);\n setError(undefined);\n }, (reason) => {\n if (controller.signal.aborted)\n return;\n // The previous view is deliberately kept: a menu that empties itself on one failed probe\n // would be worse than one showing slightly stale availability.\n setError(reason instanceof Error ? reason.message : String(reason));\n }).finally(() => { inFlight.current = false; });\n return () => { controller.abort(); };\n }, [describe, enabled, generation]);\n const refresh = useCallback(() => {\n if (inFlight.current)\n return;\n setGeneration(value => value + 1);\n }, []);\n return { view, error, refresh };\n}\n//# sourceMappingURL=use-capability.js.map","/**\n * A one-line-at-a-time terminal screen: enough of the control vocabulary that a shell prompt, an\n * interactive line edit, and a progress line all read correctly.\n *\n * This is deliberately not a full terminal emulator — there is no scroll region, no alternate\n * screen, and no vertical cursor addressing, so a full-screen editor run in the panel will not\n * render. What IS modelled is everything that decides what the current line SAYS, because an\n * interactive shell redraws its prompt constantly and a screen that drops those sequences turns\n * every keystroke into overwritten gibberish:\n *\n * - CR / BS move within the line.\n * - `CUF` / `CUB` / `CHA` / `HPA` move the column, which is how `zle` and `readline` reposition\n * themselves after re-emitting a prompt.\n * - `EL` erases part of the line, `ECH` blanks characters in place, and `DCH` / `ICH` delete and\n * insert them — the four a shell uses to edit text you already typed.\n * - `ED` with parameter 2 clears the screen, which is what `clear` sends.\n *\n * Colour, mode switches, bracketed paste, and window titles are discarded: they change presentation,\n * not text. Vertical movement is discarded too, and that is the honest boundary of this model.\n *\n * Feeding is incremental: the panel writes each polled delta, so cost is proportional to new output\n * rather than to the whole retained scrollback.\n * @module @achasoft/dsh-advanced-sidebar/client/terminal-screen\n */\n/** Tab stops, at the width every terminal defaults to. */\nconst TAB_WIDTH = 8;\n/** Escape, the byte that introduces every sequence this screen skips or applies. */\nconst ESC = '\\u001B';\n/** Bell, one of the two OSC terminators. */\nconst BEL = '\\u0007';\n/** A mutable text screen fed by {@link TerminalScreen.write}. */\nexport class TerminalScreen {\n maxLines;\n lines = [''];\n column = 0;\n /** Bumped on every mutation so React can re-render from a primitive rather than an array identity. */\n generation = 0;\n /**\n * @param maxLines - how many lines to retain; the head is dropped past it.\n */\n constructor(maxLines) {\n this.maxLines = maxLines;\n }\n /**\n * The current screen.\n * @returns the retained lines, oldest first.\n */\n snapshot() {\n return this.lines;\n }\n /**\n * A value that changes whenever the screen does.\n * @returns the mutation counter.\n */\n revision() {\n return this.generation;\n }\n /** Discard everything and start from one empty line. */\n clear() {\n this.lines = [''];\n this.column = 0;\n this.generation += 1;\n }\n /**\n * Feed one chunk of terminal output.\n * @param text - the delta, exactly as the terminal produced it.\n */\n write(text) {\n if (text === '')\n return;\n let index = 0;\n while (index < text.length) {\n const character = text[index] ?? '';\n if (character === ESC) {\n index = this.escape(text, index);\n continue;\n }\n index += 1;\n if (character === '\\n') {\n this.newline();\n continue;\n }\n if (character === '\\r') {\n this.column = 0;\n continue;\n }\n if (character === '\\b') {\n this.column = Math.max(0, this.column - 1);\n continue;\n }\n if (character === '\\t') {\n this.put(' '.repeat(TAB_WIDTH - (this.column % TAB_WIDTH)));\n continue;\n }\n // Every other C0 control (BEL, SO, SI, ...) changes presentation, not text.\n if (character < ' ')\n continue;\n this.put(character);\n }\n this.generation += 1;\n }\n /**\n * Consume one escape sequence, applying the ones that change the text or the column.\n * @param text - the chunk being written.\n * @param start - index of the ESC byte.\n * @returns the index just past the sequence.\n */\n escape(text, start) {\n const next = text[start + 1];\n if (next === undefined)\n return start + 1;\n if (next === '[') {\n // CSI: parameter bytes, then optional intermediates, then one final byte in 0x40-0x7E.\n let index = start + 2;\n let parameters = '';\n while (index < text.length) {\n const character = text[index] ?? '';\n if (character >= '@' && character <= '~') {\n // A private sequence (`CSI ? … h`) is a mode switch — bracketed paste, cursor visibility,\n // the alternate screen — and never text.\n if (!parameters.startsWith('?'))\n this.csi(character, parameters);\n return index + 1;\n }\n parameters += character;\n index += 1;\n }\n // A sequence split across two polled deltas: dropping the tail is better than printing it,\n // and the next delta's leftover final byte is a single stray character at worst.\n return text.length;\n }\n if (next === ']') {\n // OSC: runs to BEL or ST. Window titles and hyperlinks live here; neither is text.\n let index = start + 2;\n while (index < text.length) {\n if (text[index] === BEL)\n return index + 1;\n if (text[index] === ESC && text[index + 1] === '\\\\')\n return index + 2;\n index += 1;\n }\n return text.length;\n }\n // Two-byte escapes (charset selection, reverse index, ...): skip the pair.\n return start + 2;\n }\n /**\n * Apply one CSI sequence.\n * @param final - the sequence's final byte.\n * @param parameters - the parameter bytes before it.\n */\n csi(final, parameters) {\n // Every sequence here takes one numeric parameter defaulting to 1, except the erase family,\n // whose parameter selects a mode and defaults to 0.\n const first = parameters.split(';')[0] ?? '';\n const count = first === '' ? 1 : Math.max(1, Number.parseInt(first, 10) || 1);\n const mode = first === '' ? 0 : Number.parseInt(first, 10) || 0;\n switch (final) {\n case 'C':\n this.column += count;\n return;\n case 'D':\n this.column = Math.max(0, this.column - count);\n return;\n case 'G':\n case '`':\n this.column = Math.max(0, count - 1);\n return;\n case 'K':\n this.eraseInLine(mode);\n return;\n case 'X':\n this.eraseCharacters(count);\n return;\n case 'P':\n this.deleteCharacters(count);\n return;\n case '@':\n this.insertBlanks(count);\n return;\n // `ED` with 2 or 3 is what `clear` sends; 0 and 1 erase relative to a cursor row this model\n // does not track, so they are dropped rather than guessed at.\n case 'J':\n if (mode >= 2)\n this.clear();\n return;\n default:\n // Vertical movement, scroll regions, mode changes, and colour all reach here and are\n // discarded: this model has one line under a cursor, not a grid.\n }\n }\n /** The line the cursor sits on, padded out to the cursor when it sits past the end. */\n padded() {\n const line = this.lines[this.lines.length - 1] ?? '';\n return line.length < this.column ? line + ' '.repeat(this.column - line.length) : line;\n }\n /**\n * Apply the erase-in-line sequence.\n * @param mode - 0 erases to the end, 1 to the cursor, 2 the whole line.\n */\n eraseInLine(mode) {\n const line = this.padded();\n if (mode === 0)\n this.lines[this.lines.length - 1] = line.slice(0, this.column);\n else if (mode === 1)\n this.lines[this.lines.length - 1] = ' '.repeat(this.column) + line.slice(this.column);\n else if (mode === 2)\n this.lines[this.lines.length - 1] = '';\n }\n /**\n * Blank characters in place, leaving the cursor where it was.\n * @param count - how many characters to blank.\n */\n eraseCharacters(count) {\n const line = this.padded();\n this.lines[this.lines.length - 1] = line.slice(0, this.column)\n + ' '.repeat(count)\n + line.slice(this.column + count);\n }\n /**\n * Delete characters at the cursor, shifting the rest of the line left.\n * @param count - how many characters to delete.\n */\n deleteCharacters(count) {\n const line = this.padded();\n this.lines[this.lines.length - 1] = line.slice(0, this.column) + line.slice(this.column + count);\n }\n /**\n * Insert blanks at the cursor, shifting the rest of the line right.\n * @param count - how many blanks to insert.\n */\n insertBlanks(count) {\n const line = this.padded();\n this.lines[this.lines.length - 1] = line.slice(0, this.column) + ' '.repeat(count) + line.slice(this.column);\n }\n /** Start a new line, dropping the head once the retention bound is reached. */\n newline() {\n this.lines.push('');\n this.column = 0;\n if (this.lines.length > this.maxLines)\n this.lines.splice(0, this.lines.length - this.maxLines);\n }\n /**\n * Write printable text at the cursor, overwriting what it covers.\n * @param text - printable characters only.\n */\n put(text) {\n const line = this.padded();\n this.lines[this.lines.length - 1] = line.slice(0, this.column) + text + line.slice(this.column + text.length);\n this.column += text.length;\n }\n}\n//# sourceMappingURL=terminal-screen.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/**\n * The Preview panel: run the thing you are building and look at it without leaving the session.\n *\n * A launch configuration is started on the Host, its port is watched until it accepts, and the\n * result is rendered in a frame beside the conversation. The frame is a plain `<iframe>` pointed at\n * a loopback URL, which is what makes this work for any dev server rather than for a list of\n * blessed ones.\n *\n * Two things a person needs are therefore always present, not hidden behind a state:\n *\n * - **Logs.** A server that failed to start has nothing to show in the frame, and its stderr is the\n * only place the reason exists. The log view is one toggle away at every state, and opens itself\n * when a start fails.\n * - **Open in a new window.** A page can refuse to be framed (`X-Frame-Options`,\n * `frame-ancestors`), and cross-origin framing gives the panel no way to detect that — the load\n * event fires either way. So the escape hatch is a permanent control rather than an error\n * recovery, and the panel says so instead of pretending a blank frame is a loading one.\n * @module @achasoft/dsh-advanced-sidebar/client/panels/PreviewPanel\n */\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { IconLoadingOutline16, IconPlayOutline16, IconRefreshOutline14, IconRightUpOutline16, IconStopFill16, StateDot, } from '@deepseek-ai/dsh-client-ui-primitives';\nimport { Alert, Button, Input, Select } from \"../ui/index.js\";\nimport { cx } from \"../cx.js\";\nimport { TerminalScreen } from \"../terminal-screen.js\";\nimport { transportMessage, useLatest } from \"./shared.js\";\nimport css from './Panels.module.css';\n/** How often the panel asks for logs and state while a server is starting. */\nconst FAST_POLL_MS = 400;\n/** How often it asks once the server is ready and only the log view is watching. */\nconst SLOW_POLL_MS = 1_500;\n/** Retained log lines. */\nconst LOG_LINES = 4_000;\n/** The viewport sizes the frame can be pinned to, in the order the picker lists them. */\nconst DEVICES = [\n { id: 'desktop', width: 0, height: 0 },\n { id: 'tablet', width: 768, height: 1_024 },\n { id: 'mobile', width: 375, height: 812 },\n];\n/**\n * Status marker for one server state.\n *\n * `stopped` has no marker of its own: the dot set carries no neutral member, and a `warning` dot on\n * a server nobody started would read as something being wrong.\n * @param state - the server's lifecycle state.\n * @returns the dot state, or undefined while nothing is running.\n */\nfunction dotState(state) {\n switch (state) {\n case 'ready': return 'done';\n case 'starting': return 'ongoing';\n case 'failed': return 'error';\n case 'exited': return 'warning';\n default: return undefined;\n }\n}\n/**\n * The server picker, the frame, and the log view.\n * @param props - the target, the translator, and the dock's face.\n * @returns the panel body.\n * @see {@link PanelProps}\n */\nexport function PreviewPanel({ target, t, face }) {\n const { previewList, previewStart, previewStop, previewLogs } = face;\n const latest = useLatest(t);\n const directory = target.directory;\n const [servers, setServers] = useState(undefined);\n const [launchFile, setLaunchFile] = useState(undefined);\n const [launchError, setLaunchError] = useState(undefined);\n const [error, setError] = useState(undefined);\n const [selected, setSelected] = useState(undefined);\n const [busy, setBusy] = useState(false);\n const [generation, setGeneration] = useState(0);\n const [address, setAddress] = useState('');\n const [frameKey, setFrameKey] = useState(0);\n const [device, setDevice] = useState('desktop');\n const [showLogs, setShowLogs] = useState(false);\n const [logRevision, setLogRevision] = useState(0);\n const logs = useMemo(() => new TerminalScreen(LOG_LINES), []);\n const logOffset = useRef(0);\n const stageRef = useRef(null);\n /** The server whose failure already opened the log view; a failed start opens it once, not per poll. */\n const openedOnFailure = useRef(undefined);\n const logViewRef = useRef(null);\n const [stage, setStage] = useState({ width: 0, height: 0 });\n // --- the configuration list -----------------------------------------------------------------\n useEffect(() => {\n if (directory === undefined)\n return;\n const controller = new AbortController();\n setError(undefined);\n previewList(directory, controller.signal).then((result) => {\n if (controller.signal.aborted)\n return;\n if (!result.ok) {\n setError(result.message);\n return;\n }\n setServers(result.servers);\n setLaunchFile(result.launchFile);\n setLaunchError(result.launchFileError);\n // The first configuration is selected on arrival so the panel opens on something rather\n // than on an empty picker the operator has to notice.\n setSelected(current => current ?? result.servers[0]?.name);\n }, (reason) => {\n if (!controller.signal.aborted)\n setError(transportMessage(reason, latest.current));\n });\n return () => { controller.abort(); };\n }, [directory, generation, previewList, latest]);\n const server = servers?.find(entry => entry.name === selected);\n const serverId = server?.serverId;\n const state = server?.state ?? 'stopped';\n // The address bar follows the selected server until the operator edits it; a typed address then\n // stays put, because navigating somewhere else is the whole reason the field is editable.\n const serverUrl = server?.url;\n useEffect(() => { setAddress(serverUrl ?? ''); }, [serverUrl, selected]);\n // --- logs and live state --------------------------------------------------------------------\n // A new server means a new stream: the offset and the screen belong to one serverId, and carrying\n // either across would splice two servers' output into one log.\n useEffect(() => {\n logs.clear();\n logOffset.current = 0;\n setLogRevision(value => value + 1);\n }, [serverId, logs]);\n // A failed server is NOT a reason to keep polling: nothing ever moves a record out of `failed`,\n // so including it here would re-arm the chain forever on a dead process. A start that fails is\n // still covered — it opens the log view, and `showLogs` carries the polling through the transition.\n const watching = serverId !== undefined && (state === 'starting' || showLogs);\n useEffect(() => {\n if (serverId === undefined || !watching)\n return;\n let live = true;\n let timer = 0;\n const tick = () => {\n previewLogs(serverId, logOffset.current).then((result) => {\n if (!live)\n return;\n if (result.ok) {\n if (result.text !== '') {\n logs.write(result.text);\n setLogRevision(value => value + 1);\n }\n logOffset.current = result.nextOffset;\n // The state rides the same response, so a start that succeeds or fails is noticed\n // without a second endpoint and without a list refresh.\n setServers(current => current?.map(entry => entry.name === result.server.name ? result.server : entry));\n // Once per server, not per tick: re-asserting it every poll would make the Logs\n // toggle un-closable on a failed start.\n if (result.server.state === 'failed' && openedOnFailure.current !== serverId) {\n openedOnFailure.current = serverId;\n setShowLogs(true);\n }\n }\n else if (result.code === 'unknown-server') {\n // The server was stopped from elsewhere; stop polling for it rather than looping on a\n // handle the Host has forgotten.\n live = false;\n setGeneration(value => value + 1);\n return;\n }\n else {\n setError(result.message);\n }\n const cadence = result.ok && result.server.state === 'starting' ? FAST_POLL_MS : SLOW_POLL_MS;\n timer = window.setTimeout(tick, cadence);\n }, (reason) => {\n if (!live)\n return;\n setError(transportMessage(reason, latest.current));\n timer = window.setTimeout(tick, SLOW_POLL_MS);\n });\n };\n tick();\n return () => {\n live = false;\n window.clearTimeout(timer);\n };\n }, [serverId, watching, logs, previewLogs, latest]);\n useEffect(() => {\n const view = logViewRef.current;\n if (view === null)\n return;\n const atBottom = view.scrollHeight - view.scrollTop - view.clientHeight < 40;\n if (atBottom)\n view.scrollTop = view.scrollHeight;\n }, [logRevision]);\n // The frame reloads itself when a starting server becomes ready: the first load would have hit a\n // port that was not listening yet and cached a connection error.\n const readyMark = state === 'ready' ? serverId ?? server?.name : undefined;\n useEffect(() => {\n if (readyMark !== undefined)\n setFrameKey(value => value + 1);\n }, [readyMark]);\n // --- device presets -------------------------------------------------------------------------\n // The stage is measured rather than assumed: the dock's width is a setting, and a preset wider\n // than the stage has to be scaled down instead of clipped.\n useEffect(() => {\n const element = stageRef.current;\n if (element === null || typeof ResizeObserver === 'undefined')\n return;\n const observer = new ResizeObserver(() => {\n setStage({ width: element.clientWidth, height: element.clientHeight });\n });\n observer.observe(element);\n setStage({ width: element.clientWidth, height: element.clientHeight });\n return () => { observer.disconnect(); };\n }, [showLogs]);\n const preset = DEVICES.find(entry => entry.id === device) ?? DEVICES[0];\n const framed = preset.width > 0 && preset.height > 0;\n const scale = framed && stage.width > 0 && stage.height > 0\n ? Math.min(1, stage.width / preset.width, stage.height / preset.height)\n : 1;\n // --- actions --------------------------------------------------------------------------------\n const start = useCallback(() => {\n if (directory === undefined || selected === undefined)\n return;\n setBusy(true);\n setError(undefined);\n logs.clear();\n logOffset.current = 0;\n previewStart(directory, selected).then((result) => {\n setBusy(false);\n if (!result.ok) {\n setError(result.message);\n setShowLogs(true);\n return;\n }\n setServers(current => current?.map(entry => entry.name === result.server.name ? result.server : entry));\n }, (reason) => { setBusy(false); setError(transportMessage(reason, latest.current)); });\n }, [directory, selected, logs, previewStart, latest]);\n const stop = useCallback(() => {\n if (serverId === undefined)\n return;\n setBusy(true);\n previewStop(serverId).then((result) => {\n setBusy(false);\n if (!result.ok) {\n setError(result.message);\n return;\n }\n setGeneration(value => value + 1);\n }, (reason) => { setBusy(false); setError(transportMessage(reason, latest.current)); });\n }, [serverId, previewStop, latest]);\n const running = state === 'starting' || state === 'ready';\n const canStart = server?.startable === true && !running && !busy;\n const src = address.trim();\n return (_jsxs(_Fragment, { children: [_jsxs(\"div\", { className: css.toolbar, children: [dotState(state) !== undefined\n ? _jsx(StateDot, { state: dotState(state) ?? 'done', className: css.taskDot })\n : _jsx(\"span\", { className: css.taskDot }), _jsx(Select, { className: css.previewPicker, \"aria-label\": t('preview.server'), value: selected, placeholder: t('preview.none'), disabled: servers === undefined || servers.length === 0, options: (servers ?? []).map(entry => ({\n value: entry.name,\n label: entry.name,\n note: entry.origin === 'launch-json' ? 'launch.json' : undefined,\n })), onValueChange: setSelected }), _jsx(\"span\", { className: css.quietInline, children: t(`preview.state.${state}`) }), _jsx(\"span\", { className: css.spacer }), running\n ? (_jsx(Button, { size: \"icon\", \"aria-label\": t('preview.stop'), title: t('preview.stop'), disabled: busy, onClick: stop, children: _jsx(IconStopFill16, {}) }))\n : (_jsx(Button, { size: \"icon\", \"aria-label\": t('preview.start'), title: server?.startable === false ? t('preview.notStartable') : t('preview.start'), disabled: !canStart, onClick: start, children: busy ? _jsx(IconLoadingOutline16, {}) : _jsx(IconPlayOutline16, {}) })), _jsx(Button, { size: \"sm\", active: showLogs, \"aria-label\": t('preview.logs'), title: t('preview.logs'), onClick: () => { setShowLogs(value => !value); }, children: t('preview.logs') })] }), _jsxs(\"div\", { className: css.toolbar, children: [_jsx(Input, { className: css.addressBar, code: true, spellCheck: false, autoComplete: \"off\", \"aria-label\": t('preview.address'), placeholder: t('preview.address'), value: address, onChange: (event) => { setAddress(event.target.value); }, onKeyDown: (event) => { if (event.key === 'Enter')\n setFrameKey(value => value + 1); } }), _jsx(Button, { size: \"icon\", \"aria-label\": t('panel.refresh'), title: t('panel.refresh'), disabled: src === '', onClick: () => { setFrameKey(value => value + 1); }, children: _jsx(IconRefreshOutline14, {}) }), _jsx(Button, { size: \"icon\", \"aria-label\": t('preview.newWindow'), title: t('preview.newWindow'), disabled: src === '', onClick: () => { window.open(src, '_blank', 'noopener,noreferrer'); }, children: _jsx(IconRightUpOutline16, {}) }), _jsx(Select, { className: css.previewPicker, \"aria-label\": t('preview.device'), value: device, options: DEVICES.map(entry => ({\n value: entry.id,\n label: t(`preview.device.${entry.id}`),\n })), onValueChange: setDevice })] }), error !== undefined && _jsx(Alert, { tone: \"destructive\", className: css.panelAlert, children: error }), launchError !== undefined && _jsx(\"p\", { className: css.quiet, children: launchError }), server?.detail !== undefined && state !== 'ready' && _jsx(\"p\", { className: css.quiet, children: server.detail }), servers?.length === 0 && (_jsx(\"p\", { className: css.quiet, children: launchFile === undefined ? t('preview.empty') : t('preview.emptyFile', { file: launchFile }) })), _jsx(\"div\", { ref: stageRef, className: cx(css.previewStage, showLogs && css.previewStageShort), children: src === ''\n ? _jsx(\"p\", { className: css.quiet, children: t('preview.noUrl') })\n : (_jsx(\"iframe\", { className: css.previewFrame, src: src, title: t('preview.frame', { name: server?.name ?? '' }), style: framed\n ? {\n width: `${String(preset.width)}px`,\n height: `${String(preset.height)}px`,\n transform: `scale(${String(scale)})`,\n }\n : undefined, \n // The framed page is someone's own dev server, not this application: it gets the\n // ordinary same-origin-for-itself sandbox and nothing that would let it reach out.\n sandbox: \"allow-scripts allow-same-origin allow-forms allow-popups allow-modals\", referrerPolicy: \"no-referrer\" }, frameKey)) }), showLogs && (_jsxs(\"div\", { ref: logViewRef, className: css.previewLogs, children: [_jsx(\"pre\", { className: css.terminalText, children: logs.snapshot().join('\\n') }), logs.snapshot().join('') === '' && _jsx(\"p\", { className: css.quiet, children: t('preview.logs.empty') })] }))] }));\n}\n//# sourceMappingURL=PreviewPanel.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/**\n * The Background tasks panel: this session's `ctx.jobs` records, with Stop and the output of a\n * settled one.\n *\n * The list is not fetched. The Host already pushes `session/jobs` frames that the Web Client folds\n * into its `jobsBySession` mirror, so this panel reads the same live data the session header's job\n * chip reads — it appears, moves, and empties without a single request. Only the two verbs the\n * mirror has no wire for go over this plugin's endpoint.\n * @module @achasoft/dsh-advanced-sidebar/client/panels/TasksPanel\n */\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { IconChevronDownOutline14, IconChevronRightOutline14, IconStopFill16, StateDot } from '@deepseek-ai/dsh-client-ui-primitives';\nimport { Alert, Badge, Button, DatePicker, Input, Select, startOfDay } from \"../ui/index.js\";\nimport { cx } from \"../cx.js\";\nimport { transportMessage } from \"./shared.js\";\nimport css from './Panels.module.css';\n/** The lifecycle states, in the order the filter offers them. */\nconst STATUSES = ['running', 'stopping', 'completed', 'killed', 'failed'];\n/** Stable empty list, so a session with no tasks keeps one array identity across renders. */\nconst NO_TASKS = [];\n/** How often the elapsed clock advances while something is live. */\nconst TICK_MS = 1_000;\n/** A task the registry still holds open, and whose duration therefore ticks. */\nfunction isLive(task) {\n return task.status === 'running' || task.status === 'stopping';\n}\n/**\n * Status marker semantics. `stopping` and `killed` share the attention colour: both mean the work\n * ended, or is ending, on request rather than on its own.\n * @param status - the wire status.\n * @returns the dot state.\n */\nfunction dotState(status) {\n switch (status) {\n case 'running': return 'ongoing';\n case 'stopping': return 'warning';\n case 'completed': return 'done';\n case 'killed': return 'warning';\n default: return 'error';\n }\n}\n/**\n * Elapsed time in at most two adjacent units.\n * @param elapsedMs - the span.\n * @param t - the namespace translator.\n * @returns the formatted duration.\n */\nfunction formatDuration(elapsedMs, t) {\n const total = Math.max(0, Math.floor(elapsedMs / 1_000));\n const seconds = total % 60;\n const minutes = Math.floor(total / 60) % 60;\n const hours = Math.floor(total / 3_600);\n if (hours > 0)\n return t('tasks.duration.hours', { hours, minutes });\n if (minutes > 0)\n return t('tasks.duration.minutes', { minutes, seconds });\n return t('tasks.duration.seconds', { seconds });\n}\n/**\n * Live rows first in start order, then settled rows newest-first. Two tasks that settled in the\n * same millisecond fall back to start order, so the sort never depends on map iteration.\n * @param tasks - the mirror's list.\n * @returns the ordered rows.\n */\nfunction ordered(tasks) {\n return [...tasks].sort((left, right) => {\n const liveLeft = isLive(left);\n if (liveLeft !== isLive(right))\n return liveLeft ? -1 : 1;\n if (liveLeft)\n return left.startedAt - right.startedAt;\n const finished = (right.finishedAt ?? right.startedAt) - (left.finishedAt ?? left.startedAt);\n return finished !== 0 ? finished : left.startedAt - right.startedAt;\n });\n}\n/**\n * The task list, Stop, and the output of a settled task.\n * @param props - the target, the translator, the dock's face, the session feed, and the settings.\n * @returns the panel body.\n * @see {@link TasksPanelProps}\n */\nexport function TasksPanel({ target, t, face, useSessions, settings }) {\n const { taskKill, taskOutput, notify } = face;\n const sessionId = target.sessionId;\n const tasks = useSessions((state) => state.jobsBySession[sessionId]) ?? NO_TASKS;\n const [now, setNow] = useState(() => Date.now());\n const [expanded, setExpanded] = useState(undefined);\n const [outputs, setOutputs] = useState({});\n const [busy, setBusy] = useState(undefined);\n const [text, setText] = useState('');\n const [status, setStatus] = useState('all');\n const [since, setSince] = useState(undefined);\n const all = useMemo(() => ordered(tasks), [tasks]);\n const rows = useMemo(() => {\n const needle = text.trim().toLowerCase();\n // `startedAt` is an instant and the picker answers with a local midnight, so the comparison is\n // against that midnight rather than against a formatted day: a task started at 23:30 belongs to\n // the day the operator saw on the clock.\n const from = since === undefined ? undefined : startOfDay(since).getTime();\n return all.filter(task => (needle === ''\n || task.label.toLowerCase().includes(needle)\n || task.kind.toLowerCase().includes(needle))\n && (status === 'all' || task.status === status)\n && (from === undefined || task.startedAt >= from));\n }, [all, text, status, since]);\n const liveCount = useMemo(() => tasks.filter(isLive).length, [tasks]);\n // The clock runs only while something moves: a list of finished tasks re-renders never.\n useEffect(() => {\n if (liveCount === 0)\n return;\n setNow(Date.now());\n const timer = window.setInterval(() => { setNow(Date.now()); }, TICK_MS);\n return () => { window.clearInterval(timer); };\n }, [liveCount]);\n const load = useCallback((taskId, status) => {\n setOutputs(current => ({ ...current, [taskId]: { status, loading: true, result: undefined, error: undefined } }));\n taskOutput(sessionId, taskId).then((result) => {\n setOutputs(current => ({ ...current, [taskId]: { status, loading: false, result, error: undefined } }));\n }, (reason) => {\n setOutputs(current => ({\n ...current,\n [taskId]: { status, loading: false, result: undefined, error: transportMessage(reason, t) },\n }));\n });\n }, [sessionId, taskOutput, t]);\n const stop = useCallback((taskId) => {\n setBusy(taskId);\n taskKill(sessionId, taskId).then((result) => {\n setBusy(undefined);\n if (!result.ok) {\n notify('error', result.message);\n return;\n }\n notify('info', result.outcome === 'requested' ? t('tasks.stopped') : t('tasks.alreadyFinished'));\n // The registry marks a killed record reported, which is exactly the condition that makes\n // its output readable — so a Stop is the moment to offer it.\n if (expanded === taskId)\n load(taskId, 'killed');\n }, (reason) => {\n setBusy(undefined);\n notify('error', transportMessage(reason, t));\n });\n }, [expanded, load, notify, sessionId, taskKill, t]);\n const canStop = settings?.allowTaskKill === true;\n const canRead = settings?.showTaskOutput === true;\n const filtered = rows.length !== all.length;\n return (_jsxs(_Fragment, { children: [_jsxs(\"div\", { className: css.filterBar, children: [_jsx(Input, { className: css.filterText, \"aria-label\": t('tasks.filter.text'), placeholder: t('tasks.filter.text.placeholder'), value: text, onChange: (event) => { setText(event.target.value); } }), _jsx(Select, { className: css.filterControl, \"aria-label\": t('tasks.filter.status'), value: status, options: [\n { value: 'all', label: t('tasks.filter.status.all') },\n ...STATUSES.map(entry => ({\n value: entry,\n label: t(`tasks.status.${entry}`),\n })),\n ], onValueChange: setStatus }), _jsx(DatePicker, { className: css.filterControl, \"aria-label\": t('tasks.filter.since'), value: since, onValueChange: setSince, placeholder: t('tasks.filter.since.any'), clearLabel: t('date.clear'), todayLabel: t('date.today'), previousLabel: t('date.previousMonth'), nextLabel: t('date.nextMonth'), \n // A task cannot have started after now, so a later day would only ever empty the list.\n max: new Date() })] }), _jsxs(\"div\", { className: css.scroll, children: [all.length === 0 && _jsx(\"p\", { className: css.quiet, children: t('tasks.empty') }), all.length > 0 && rows.length === 0 && _jsx(\"p\", { className: css.quiet, children: t('tasks.filter.none') }), filtered && rows.length > 0 && (_jsx(\"p\", { className: css.quiet, children: t('tasks.filter.count', { shown: rows.length, total: all.length }) })), rows.map((task) => {\n const live = isLive(task);\n const elapsed = live ? now - task.startedAt : (task.finishedAt ?? task.startedAt) - task.startedAt;\n const open = expanded === task.id;\n const output = outputs[task.id];\n return (_jsxs(\"div\", { className: css.taskBlock, children: [_jsxs(\"div\", { className: cx(css.taskRow, !live && css.taskRowSettled), children: [canRead\n ? (_jsx(\"button\", { type: \"button\", className: css.taskDisclosure, \"aria-expanded\": open, \"aria-label\": t('tasks.output'), onClick: () => {\n const next = open ? undefined : task.id;\n setExpanded(next);\n // Re-read when the task has MOVED since the cached answer: output withheld\n // from a running task becomes readable the moment it settles, and a cache\n // keyed only on the id would show \"still running\" for the rest of the session.\n if (next !== undefined && outputs[task.id]?.status !== task.status) {\n load(task.id, task.status);\n }\n }, children: open ? _jsx(IconChevronDownOutline14, {}) : _jsx(IconChevronRightOutline14, {}) }))\n : _jsx(\"span\", { className: css.taskDisclosureSpacer }), _jsx(StateDot, { state: dotState(task.status), className: css.taskDot }), _jsx(Badge, { variant: \"outline\", className: css.taskKind, children: task.kind }), _jsx(\"span\", { className: css.taskLabel, title: task.label, children: task.label }), _jsx(\"span\", { className: css.taskStatus, title: task.detail ?? undefined, children: task.detail ?? t(`tasks.status.${task.status}`) }), _jsx(\"span\", { className: css.taskDuration, children: formatDuration(elapsed, t) }), canStop && live && (_jsx(Button, { size: \"icon\", \"aria-label\": t('tasks.stop'), title: t('tasks.stop'), disabled: busy === task.id, onClick: () => { stop(task.id); }, children: _jsx(IconStopFill16, {}) }))] }), open && (_jsxs(\"div\", { className: css.taskOutput, children: [output?.loading === true && _jsx(\"p\", { className: css.quiet, children: t('panel.loading') }), output?.error !== undefined && (_jsx(Alert, { tone: \"destructive\", className: css.panelAlert, children: output.error })), output?.result?.ok === false && (_jsx(Alert, { tone: \"destructive\", className: css.panelAlert, children: output.result.message })), output?.result?.ok === true && !output.result.readable && (_jsx(\"p\", { className: css.quiet, children: output.result.reason ?? t('tasks.output.withheld') })), output?.result?.ok === true && output.result.readable && (output.result.text === ''\n ? _jsx(\"p\", { className: css.quiet, children: t('tasks.output.empty') })\n : _jsx(\"pre\", { className: css.terminalText, children: output.result.text }))] }))] }, task.id));\n })] })] }));\n}\n//# sourceMappingURL=TasksPanel.js.map","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.FitAddon=t():e.FitAddon=t()}(globalThis,(()=>(()=>{\"use strict\";var e={};return(()=>{var t=e;Object.defineProperty(t,\"__esModule\",{value:!0}),t.FitAddon=void 0,t.FitAddon=class{activate(e){this._terminal=e}dispose(){}fit(){const e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;const t=this._terminal._core;this._terminal.rows===e.rows&&this._terminal.cols===e.cols||(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal)return;if(!this._terminal.element||!this._terminal.element.parentElement)return;const e=this._terminal._core._renderService.dimensions;if(0===e.css.cell.width||0===e.css.cell.height)return;const t=0===this._terminal.options.scrollback?0:this._terminal.options.overviewRuler?.width||14,r=window.getComputedStyle(this._terminal.element.parentElement),i=parseInt(r.getPropertyValue(\"height\")),o=Math.max(0,parseInt(r.getPropertyValue(\"width\"))),s=window.getComputedStyle(this._terminal.element),n=i-(parseInt(s.getPropertyValue(\"padding-top\"))+parseInt(s.getPropertyValue(\"padding-bottom\"))),l=o-(parseInt(s.getPropertyValue(\"padding-right\"))+parseInt(s.getPropertyValue(\"padding-left\")))-t;return{cols:Math.max(2,Math.floor(l/e.css.cell.width)),rows:Math.max(1,Math.floor(n/e.css.cell.height))}}}})(),e})()));\n//# sourceMappingURL=addon-fit.js.map","!function(e,t){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{var i=t();for(var s in i)(\"object\"==typeof exports?exports:e)[s]=i[s]}}(globalThis,(()=>(()=>{\"use strict\";var e={2840:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.AccessibilityManager=void 0;const n=i(7721),o=i(4292),a=i(7150),l=i(7098),h=i(6501),c=i(7093);let d=class extends a.Disposable{constructor(e,t,i,s){super(),this._terminal=e,this._coreBrowserService=i,this._renderService=s,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce=\"\";const r=this._coreBrowserService.mainDocument;this._accessibilityContainer=r.createElement(\"div\"),this._accessibilityContainer.classList.add(\"xterm-accessibility\"),this._rowContainer=r.createElement(\"div\"),this._rowContainer.setAttribute(\"role\",\"list\"),this._rowContainer.classList.add(\"xterm-accessibility-tree\"),this._rowElements=[];for(let e=0;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);if(this._topBoundaryFocusListener=e=>this._handleBoundaryFocus(e,0),this._bottomBoundaryFocusListener=e=>this._handleBoundaryFocus(e,1),this._rowElements[0].addEventListener(\"focus\",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=r.createElement(\"div\"),this._liveRegion.classList.add(\"live-region\"),this._liveRegion.setAttribute(\"aria-live\",\"assertive\"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new o.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error(\"Cannot enable accessibility before Terminal.open\");this._terminal.element.insertAdjacentElement(\"afterbegin\",this._accessibilityContainer),this._register(this._terminal.onResize((e=>this._handleResize(e.rows)))),this._register(this._terminal.onRender((e=>this._refreshRows(e.start,e.end)))),this._register(this._terminal.onScroll((()=>this._refreshRows()))),this._register(this._terminal.onA11yChar((e=>this._handleChar(e)))),this._register(this._terminal.onLineFeed((()=>this._handleChar(\"\\n\")))),this._register(this._terminal.onA11yTab((e=>this._handleTab(e)))),this._register(this._terminal.onKey((e=>this._handleKey(e.key)))),this._register(this._terminal.onBlur((()=>this._clearLiveRegion()))),this._register(this._renderService.onDimensionsChange((()=>this._refreshRowsDimensions()))),this._register((0,c.addDisposableListener)(r,\"selectionchange\",(()=>this._handleSelectionChange()))),this._register(this._coreBrowserService.onDprChange((()=>this._refreshRowsDimensions()))),this._refreshRowsDimensions(),this._refreshRows(),this._register((0,a.toDisposable)((()=>{this._accessibilityContainer.remove(),this._rowElements.length=0})))}_handleTab(e){for(let t=0;t<e;t++)this._handleChar(\" \")}_handleChar(e){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,\"\\n\"===e&&(this._liveRegionLineCount++,21===this._liveRegionLineCount&&(this._liveRegion.textContent+=n.tooMuchOutput.get())))}_clearLiveRegion(){this._liveRegion.textContent=\"\",this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),/\\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){const i=this._terminal.buffer,s=i.lines.length.toString();for(let r=e;r<=t;r++){const e=i.lines.get(i.ydisp+r),t=[],n=e?.translateToString(!0,void 0,void 0,t)||\"\",o=(i.ydisp+r+1).toString(),a=this._rowElements[r];a&&(0===n.length?(a.textContent=\" \",this._rowColumns.set(a,[0,1])):(a.textContent=n,this._rowColumns.set(a,t)),a.setAttribute(\"aria-posinset\",o),a.setAttribute(\"aria-setsize\",s),this._alignRowWidth(a))}this._announceCharacters()}_announceCharacters(){0!==this._charsToAnnounce.length&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce=\"\")}_handleBoundaryFocus(e,t){const i=e.target,s=this._rowElements[0===t?1:this._rowElements.length-2];if(i.getAttribute(\"aria-posinset\")===(0===t?\"1\":`${this._terminal.buffer.lines.length}`))return;if(e.relatedTarget!==s)return;let r,n;if(0===t?(r=i,n=this._rowElements.pop(),this._rowContainer.removeChild(n)):(r=this._rowElements.shift(),n=i,this._rowContainer.removeChild(r)),r.removeEventListener(\"focus\",this._topBoundaryFocusListener),n.removeEventListener(\"focus\",this._bottomBoundaryFocusListener),0===t){const e=this._createAccessibilityTreeNode();this._rowElements.unshift(e),this._rowContainer.insertAdjacentElement(\"afterbegin\",e)}else{const e=this._createAccessibilityTreeNode();this._rowElements.push(e),this._rowContainer.appendChild(e)}this._rowElements[0].addEventListener(\"focus\",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._terminal.scrollLines(0===t?-1:1),this._rowElements[0===t?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){if(0===this._rowElements.length)return;const e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed)return void(this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection());if(!e.anchorNode||!e.focusNode)return void console.error(\"anchorNode and/or focusNode are null\");let t={node:e.anchorNode,offset:e.anchorOffset},i={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(i.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===i.node&&t.offset>i.offset)&&([t,i]=[i,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;const s=this._rowElements.slice(-1)[0];if(i.node.compareDocumentPosition(s)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(i={node:s,offset:s.textContent?.length??0}),!this._rowContainer.contains(i.node))return;const r=({node:e,offset:t})=>{const i=e instanceof Text?e.parentNode:e;let s=parseInt(i?.getAttribute(\"aria-posinset\"),10)-1;if(isNaN(s))return console.warn(\"row is invalid. Race condition?\"),null;const r=this._rowColumns.get(i);if(!r)return console.warn(\"columns is null. Race condition?\"),null;let n=t<r.length?r[t]:r.slice(-1)[0]+1;return n>=this._terminal.cols&&(++s,n=0),{row:s,column:n}},n=r(t),o=r(i);if(n&&o){if(n.row>o.row||n.row===o.row&&n.column>=o.column)throw new Error(\"invalid range\");this._terminal.select(n.column,n.row,(o.row-n.row)*this._terminal.cols-n.column+o.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener(\"focus\",this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const e=this._coreBrowserService.mainDocument.createElement(\"div\");return e.setAttribute(\"role\",\"listitem\"),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e<this._terminal.rows;e++)this._refreshRowDimensions(this._rowElements[e]),this._alignRowWidth(this._rowElements[e])}}_refreshRowDimensions(e){e.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(e){e.style.transform=\"\";const t=e.getBoundingClientRect().width,i=this._rowColumns.get(e)?.slice(-1)?.[0];if(!i)return;const s=i*this._renderService.dimensions.css.cell.width;e.style.transform=`scaleX(${s/t})`}};t.AccessibilityManager=d,t.AccessibilityManager=d=s([r(1,h.IInstantiationService),r(2,l.ICoreBrowserService),r(3,l.IRenderService)],d)},7861:(e,t)=>{function i(e){return e.replace(/\\r?\\n/g,\"\\r\")}function s(e,t){return t?\"\u001b[200~\"+e+\"\u001b[201~\":e}function r(e,t,r,n){e=s(e=i(e),r.decPrivateModes.bracketedPasteMode&&!0!==n.rawOptions.ignoreBracketedPasteMode),r.triggerDataEvent(e,!0),t.value=\"\"}function n(e,t,i){const s=i.getBoundingClientRect(),r=e.clientX-s.left-10,n=e.clientY-s.top-10;t.style.width=\"20px\",t.style.height=\"20px\",t.style.left=`${r}px`,t.style.top=`${n}px`,t.style.zIndex=\"1000\",t.focus()}Object.defineProperty(t,\"__esModule\",{value:!0}),t.prepareTextForTerminal=i,t.bracketTextForPaste=s,t.copyHandler=function(e,t){e.clipboardData&&e.clipboardData.setData(\"text/plain\",t.selectionText),e.preventDefault()},t.handlePasteEvent=function(e,t,i,s){e.stopPropagation(),e.clipboardData&&r(e.clipboardData.getData(\"text/plain\"),t,i,s)},t.paste=r,t.moveTextAreaUnderMouseCursor=n,t.rightClickHandler=function(e,t,i,s,r){n(e,t,i),r&&s.rightClickSelect(e),t.value=s.selectionText,t.select()}},7174:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ColorContrastCache=void 0;const s=i(7710);t.ColorContrastCache=class{constructor(){this._color=new s.TwoKeyMap,this._css=new s.TwoKeyMap}setCss(e,t,i){this._css.set(e,t,i)}getCss(e,t){return this._css.get(e,t)}setColor(e,t,i){this._color.set(e,t,i)}getColor(e,t){return this._color.get(e,t)}clear(){this._color.clear(),this._css.clear()}}},1718:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreBrowserTerminal=void 0;const s=i(7861),r=i(7721),n=i(3285),o=i(4017),a=i(4196),l=i(9925),h=i(3618),c=i(3955),d=i(4792),u=i(945),_=i(9574),f=i(9820),p=i(9784),g=i(5783),m=i(2079),v=i(7098),S=i(9078),b=i(4103),C=i(5777),y=i(701),w=i(6107),E=i(3534),D=i(706),L=i(8693),R=i(4720),A=i(6501),T=i(2486),k=i(2840),M=i(8906),O=i(802),I=i(7093),P=i(7150);class x extends C.CoreTerminal{get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}constructor(e={}){super(e),this._linkifier=this._register(new P.MutableDisposable),this.browser=y,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new P.MutableDisposable),this._onCursorMove=this._register(new O.Emitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new O.Emitter),this.onKey=this._onKey.event,this._onRender=this._register(new O.Emitter),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new O.Emitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new O.Emitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new O.Emitter),this.onBell=this._onBell.event,this._onFocus=this._register(new O.Emitter),this._onBlur=this._register(new O.Emitter),this._onA11yCharEmitter=this._register(new O.Emitter),this._onA11yTabEmitter=this._register(new O.Emitter),this._onWillOpen=this._register(new O.Emitter),this._setup(),this._decorationService=this._instantiationService.createInstance(R.DecorationService),this._instantiationService.setService(A.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(f.LinkProviderService),this._instantiationService.setService(v.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(n.OscLinkProvider)),this._register(this._inputHandler.onRequestBell((()=>this._onBell.fire()))),this._register(this._inputHandler.onRequestRefreshRows((e=>this.refresh(e?.start??0,e?.end??this.rows-1)))),this._register(this._inputHandler.onRequestSendFocus((()=>this._reportFocus()))),this._register(this._inputHandler.onRequestReset((()=>this.reset()))),this._register(this._inputHandler.onRequestWindowsOptionsReport((e=>this._reportWindowsOptions(e)))),this._register(this._inputHandler.onColor((e=>this._handleColorEvent(e)))),this._register(O.Event.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(O.Event.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(O.Event.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(O.Event.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize((e=>this._afterResize(e.cols,e.rows)))),this._register((0,P.toDisposable)((()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)})))}_handleColorEvent(e){if(this._themeService)for(const t of e){let e,i=\"\";switch(t.index){case 256:e=\"foreground\",i=\"10\";break;case 257:e=\"background\",i=\"11\";break;case 258:e=\"cursor\",i=\"12\";break;default:e=\"ansi\",i=\"4;\"+t.index}switch(t.type){case 0:const s=b.color.toColorRGB(\"ansi\"===e?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${E.C0.ESC}]${i};${(0,L.toRgbString)(s)}${E.C1_ESCAPED.ST}`);break;case 1:if(\"ansi\"===e)this._themeService.modifyColors((e=>e.ansi[t.index]=b.channels.toColor(...t.color)));else{const i=e;this._themeService.modifyColors((e=>e[i]=b.channels.toColor(...t.color)))}break;case 2:this._themeService.restoreColor(t.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(k.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(E.C0.ESC+\"[I\"),this.element.classList.add(\"focus\"),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value=\"\",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(E.C0.ESC+\"[O\"),this.element.classList.remove(\"focus\"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;const e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;const i=Math.min(this.buffer.x,this.cols-1),s=this._renderService.dimensions.css.cell.height,r=t.getWidth(i),n=this._renderService.dimensions.css.cell.width*r,o=this.buffer.y*this._renderService.dimensions.css.cell.height,a=i*this._renderService.dimensions.css.cell.width;this.textarea.style.left=a+\"px\",this.textarea.style.top=o+\"px\",this.textarea.style.width=n+\"px\",this.textarea.style.height=s+\"px\",this.textarea.style.lineHeight=s+\"px\",this.textarea.style.zIndex=\"-5\"}_initGlobal(){this._bindKeys(),this._register((0,I.addDisposableListener)(this.element,\"copy\",(e=>{this.hasSelection()&&(0,s.copyHandler)(e,this._selectionService)})));const e=e=>(0,s.handlePasteEvent)(e,this.textarea,this.coreService,this.optionsService);this._register((0,I.addDisposableListener)(this.textarea,\"paste\",e)),this._register((0,I.addDisposableListener)(this.element,\"paste\",e)),y.isFirefox?this._register((0,I.addDisposableListener)(this.element,\"mousedown\",(e=>{2===e.button&&(0,s.rightClickHandler)(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))):this._register((0,I.addDisposableListener)(this.element,\"contextmenu\",(e=>{(0,s.rightClickHandler)(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))),y.isLinux&&this._register((0,I.addDisposableListener)(this.element,\"auxclick\",(e=>{1===e.button&&(0,s.moveTextAreaUnderMouseCursor)(e,this.textarea,this.screenElement)})))}_bindKeys(){this._register((0,I.addDisposableListener)(this.textarea,\"keyup\",(e=>this._keyUp(e)),!0)),this._register((0,I.addDisposableListener)(this.textarea,\"keydown\",(e=>this._keyDown(e)),!0)),this._register((0,I.addDisposableListener)(this.textarea,\"keypress\",(e=>this._keyPress(e)),!0)),this._register((0,I.addDisposableListener)(this.textarea,\"compositionstart\",(()=>this._compositionHelper.compositionstart()))),this._register((0,I.addDisposableListener)(this.textarea,\"compositionupdate\",(e=>this._compositionHelper.compositionupdate(e)))),this._register((0,I.addDisposableListener)(this.textarea,\"compositionend\",(()=>this._compositionHelper.compositionend()))),this._register((0,I.addDisposableListener)(this.textarea,\"input\",(e=>this._inputEvent(e)),!0)),this._register(this.onRender((()=>this._compositionHelper.updateCompositionElements())))}open(e){if(!e)throw new Error(\"Terminal requires a parent element.\");if(e.isConnected||this._logService.debug(\"Terminal.open was called on an element that was not attached to the DOM\"),this.element?.ownerDocument.defaultView&&this._coreBrowserService)return void(this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView));this._document=e.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement(\"div\"),this.element.dir=\"ltr\",this.element.classList.add(\"terminal\"),this.element.classList.add(\"xterm\"),e.appendChild(this.element);const t=this._document.createDocumentFragment();this._viewportElement=this._document.createElement(\"div\"),this._viewportElement.classList.add(\"xterm-viewport\"),t.appendChild(this._viewportElement),this.screenElement=this._document.createElement(\"div\"),this.screenElement.classList.add(\"xterm-screen\"),this._register((0,I.addDisposableListener)(this.screenElement,\"mousemove\",(e=>this.updateCursorStyle(e)))),this._helperContainer=this._document.createElement(\"div\"),this._helperContainer.classList.add(\"xterm-helpers\"),this.screenElement.appendChild(this._helperContainer),t.appendChild(this.screenElement);const i=this.textarea=this._document.createElement(\"textarea\");this.textarea.classList.add(\"xterm-helper-textarea\"),this.textarea.setAttribute(\"aria-label\",r.promptLabel.get()),y.isChromeOS||this.textarea.setAttribute(\"aria-multiline\",\"false\"),this.textarea.setAttribute(\"autocorrect\",\"off\"),this.textarea.setAttribute(\"autocapitalize\",\"off\"),this.textarea.setAttribute(\"spellcheck\",\"false\"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange(\"disableStdin\",(()=>i.readOnly=this.optionsService.rawOptions.disableStdin))),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(_.CoreBrowserService,this.textarea,e.ownerDocument.defaultView??window,this._document??\"undefined\"!=typeof window?window.document:null)),this._instantiationService.setService(v.ICoreBrowserService,this._coreBrowserService),this._register((0,I.addDisposableListener)(this.textarea,\"focus\",(e=>this._handleTextAreaFocus(e)))),this._register((0,I.addDisposableListener)(this.textarea,\"blur\",(()=>this._handleTextAreaBlur()))),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(d.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(v.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(S.ThemeService),this._instantiationService.setService(v.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(u.CharacterJoinerService),this._instantiationService.setService(v.ICharacterJoinerService,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(g.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(v.IRenderService,this._renderService),this._register(this._renderService.onRenderedViewportChange((e=>this._onRender.fire(e)))),this.onResize((e=>this._renderService.resize(e.cols,e.rows))),this._compositionView=this._document.createElement(\"div\"),this._compositionView.classList.add(\"composition-view\"),this._compositionHelper=this._instantiationService.createInstance(h.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(p.MouseService),this._instantiationService.setService(v.IMouseService,this._mouseService);const s=this._linkifier.value=this._register(this._instantiationService.createInstance(M.Linkifier,this.screenElement));this.element.appendChild(t);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove((()=>{this._renderService.handleCursorMove(),this._syncTextArea()}))),this._register(this.onResize((()=>this._renderService.handleResize(this.cols,this.rows)))),this._register(this.onBlur((()=>this._renderService.handleBlur()))),this._register(this.onFocus((()=>this._renderService.handleFocus()))),this._viewport=this._register(this._instantiationService.createInstance(o.Viewport,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines((e=>{super.scrollLines(e,!1),this.refresh(0,this.rows-1)}))),this._selectionService=this._register(this._instantiationService.createInstance(m.SelectionService,this.element,this.screenElement,s)),this._instantiationService.setService(v.ISelectionService,this._selectionService),this._register(this._selectionService.onRequestScrollLines((e=>this.scrollLines(e.amount,e.suppressScrollEvent)))),this._register(this._selectionService.onSelectionChange((()=>this._onSelectionChange.fire()))),this._register(this._selectionService.onRequestRedraw((e=>this._renderService.handleSelectionChanged(e.start,e.end,e.columnSelectMode)))),this._register(this._selectionService.onLinuxMouseSelection((e=>{this.textarea.value=e,this.textarea.focus(),this.textarea.select()}))),this._register(O.Event.any(this._onScroll.event,this._inputHandler.onScroll)((()=>{this._selectionService.refresh(),this._viewport?.queueSync()}))),this._register(this._instantiationService.createInstance(a.BufferDecorationRenderer,this.screenElement)),this._register((0,I.addDisposableListener)(this.element,\"mousedown\",(e=>this._selectionService.handleMouseDown(e)))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add(\"enable-mouse-events\")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(k.AccessibilityManager,this)),this._register(this.optionsService.onSpecificOptionChange(\"screenReaderMode\",(e=>this._handleScreenReaderModeOptionChange(e)))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(l.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(\"overviewRuler\",(e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(l.OverviewRulerRenderer,this._viewportElement,this.screenElement)))})),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(c.DomRenderer,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){const e=this,t=this.element;function i(t){const i=e._mouseService.getMouseReportCoords(t,e.screenElement);if(!i)return!1;let s,r;switch(t.overrideType||t.type){case\"mousemove\":r=32,void 0===t.buttons?(s=3,void 0!==t.button&&(s=t.button<3?t.button:3)):s=1&t.buttons?0:4&t.buttons?1:2&t.buttons?2:3;break;case\"mouseup\":r=0,s=t.button<3?t.button:3;break;case\"mousedown\":r=1,s=t.button<3?t.button:3;break;case\"wheel\":if(e._customWheelEventHandler&&!1===e._customWheelEventHandler(t))return!1;const i=t.deltaY;if(0===i)return!1;if(0===e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr))return!1;r=i<0?0:1,s=4;break;default:return!1}return!(void 0===r||void 0===s||s>4)&&e.coreMouseService.triggerMouseEvent({col:i.col,row:i.row,x:i.x,y:i.y,button:s,action:r,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey})}const s={mouseup:null,wheel:null,mousedrag:null,mousemove:null},r={mouseup:e=>(i(e),e.buttons||(this._document.removeEventListener(\"mouseup\",s.mouseup),s.mousedrag&&this._document.removeEventListener(\"mousemove\",s.mousedrag)),this.cancel(e)),wheel:e=>(i(e),this.cancel(e,!0)),mousedrag:e=>{e.buttons&&i(e)},mousemove:e=>{e.buttons||i(e)}};this._register(this.coreMouseService.onProtocolChange((e=>{e?(\"debug\"===this.optionsService.rawOptions.logLevel&&this._logService.debug(\"Binding to mouse events:\",this.coreMouseService.explainEvents(e)),this.element.classList.add(\"enable-mouse-events\"),this._selectionService.disable()):(this._logService.debug(\"Unbinding from mouse events.\"),this.element.classList.remove(\"enable-mouse-events\"),this._selectionService.enable()),8&e?s.mousemove||(t.addEventListener(\"mousemove\",r.mousemove),s.mousemove=r.mousemove):(t.removeEventListener(\"mousemove\",s.mousemove),s.mousemove=null),16&e?s.wheel||(t.addEventListener(\"wheel\",r.wheel,{passive:!1}),s.wheel=r.wheel):(t.removeEventListener(\"wheel\",s.wheel),s.wheel=null),2&e?s.mouseup||(s.mouseup=r.mouseup):(this._document.removeEventListener(\"mouseup\",s.mouseup),s.mouseup=null),4&e?s.mousedrag||(s.mousedrag=r.mousedrag):(this._document.removeEventListener(\"mousemove\",s.mousedrag),s.mousedrag=null)}))),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register((0,I.addDisposableListener)(t,\"mousedown\",(e=>{if(e.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(e))return i(e),s.mouseup&&this._document.addEventListener(\"mouseup\",s.mouseup),s.mousedrag&&this._document.addEventListener(\"mousemove\",s.mousedrag),this.cancel(e)}))),this._register((0,I.addDisposableListener)(t,\"wheel\",(t=>{if(!s.wheel){if(this._customWheelEventHandler&&!1===this._customWheelEventHandler(t))return!1;if(!this.buffer.hasScrollback){if(0===t.deltaY)return!1;if(0===e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr))return this.cancel(t,!0);const i=E.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?\"O\":\"[\")+(t.deltaY<0?\"A\":\"B\");return this.coreService.triggerDataEvent(i,!0),this.cancel(t,!0)}}}),{passive:!1}))}refresh(e,t){this._renderService?.refreshRows(e,t)}updateCursorStyle(e){this._selectionService?.shouldColumnSelect(e)?this.element.classList.add(\"column-select\"):this.element.classList.remove(\"column-select\")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,t){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,t),this.refresh(0,this.rows-1)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){e&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){const t=e-this._bufferService.buffer.ydisp;0!==t&&this.scrollLines(t)}paste(e){(0,s.paste)(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw new Error(\"Terminal must be opened first\");const t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw new Error(\"Terminal must be opened first\");this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(e,t,i){this._selectionService.setSelection(e,t,i)}getSelection(){return this._selectionService?this._selectionService.selectionText:\"\"}getSelectionPosition(){if(this._selectionService&&this._selectionService.hasSelection)return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(e,t){this._selectionService?.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;const t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;t||\"Dead\"!==e.key&&\"AltGraph\"!==e.key||(this._unprocessedDeadKey=!0);const i=(0,D.evaluateKeyboardEvent)(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),3===i.type||2===i.type){const t=this.rows-1;return this.scrollLines(2===i.type?-t:t),this.cancel(e,!0)}return 1===i.type&&this.selectAll(),!!this._isThirdLevelShift(this.browser,e)||(i.cancel&&this.cancel(e,!0),!i.key||!!(e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&1===e.key.length&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):(i.key!==E.C0.ETX&&i.key!==E.C0.CR||(this.textarea.value=\"\"),this._onKey.fire({key:i.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(i.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey?this.cancel(e,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(e,t){const i=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState(\"AltGraph\");return\"keypress\"===t.type?i:i&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,this._customKeyEventHandler&&!1===this._customKeyEventHandler(e)||(function(e){return 16===e.keyCode||17===e.keyCode||18===e.keyCode}(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled)return!1;if(this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null===e.which||void 0===e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)||(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(e){if(e.data&&\"insertText\"===e.inputType&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;const t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){e!==this.cols||t!==this.rows?super.resize(e,t):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(e,t){this._charSizeService?.measure()}clear(){if(0!==this.buffer.ybase||0!==this.buffer.y){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e<this.rows;e++)this.buffer.lines.push(this.buffer.getBlankLine(w.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;const e=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=e,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains(\"focus\")?this.coreService.triggerDataEvent(E.C0.ESC+\"[I\"):this.coreService.triggerDataEvent(E.C0.ESC+\"[O\")}_reportWindowsOptions(e){if(this._renderService)switch(e){case T.WindowsOptionsReportType.GET_WIN_SIZE_PIXELS:const e=this._renderService.dimensions.css.canvas.width.toFixed(0),t=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${E.C0.ESC}[4;${t};${e}t`);break;case T.WindowsOptionsReportType.GET_CELL_SIZE_PIXELS:const i=this._renderService.dimensions.css.cell.width.toFixed(0),s=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${E.C0.ESC}[6;${s};${i}t`)}}cancel(e,t){if(this.options.cancelEvents||t)return e.preventDefault(),e.stopPropagation(),!1}}t.CoreBrowserTerminal=x},8906:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Linkifier=void 0;const n=i(7150),o=i(6501),a=i(7098),l=i(802),h=i(7093);let c=class extends n.Disposable{get currentLink(){return this._currentLink}constructor(e,t,i,s,r){super(),this._element=e,this._mouseService=t,this._renderService=i,this._bufferService=s,this._linkProviderService=r,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new l.Emitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new l.Emitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register((0,n.toDisposable)((()=>{(0,n.dispose)(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()}))),this._register(this._bufferService.onResize((()=>{this._clearCurrentLink(),this._wasResized=!0}))),this._register((0,h.addDisposableListener)(this._element,\"mouseleave\",(()=>{this._isMouseOut=!0,this._clearCurrentLink()}))),this._register((0,h.addDisposableListener)(this._element,\"mousemove\",this._handleMouseMove.bind(this))),this._register((0,h.addDisposableListener)(this._element,\"mousedown\",this._handleMouseDown.bind(this))),this._register((0,h.addDisposableListener)(this._element,\"mouseup\",this._handleMouseUp.bind(this)))}_handleMouseMove(e){this._lastMouseEvent=e;const t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;const i=e.composedPath();for(let e=0;e<i.length;e++){const t=i[e];if(t.classList.contains(\"xterm\"))break;if(t.classList.contains(\"xterm-hover\"))return}this._lastBufferCell&&t.x===this._lastBufferCell.x&&t.y===this._lastBufferCell.y||(this._handleHover(t),this._lastBufferCell=t)}_handleHover(e){if(this._activeLine!==e.y||this._wasResized)return this._clearCurrentLink(),this._askForLink(e,!1),void(this._wasResized=!1);this._currentLink&&this._linkAtPosition(this._currentLink.link,e)||(this._clearCurrentLink(),this._askForLink(e,!0))}_askForLink(e,t){this._activeProviderReplies&&t||(this._activeProviderReplies?.forEach((e=>{e?.forEach((e=>{e.link.dispose&&e.link.dispose()}))})),this._activeProviderReplies=new Map,this._activeLine=e.y);let i=!1;for(const[s,r]of this._linkProviderService.linkProviders.entries())if(t){const t=this._activeProviderReplies?.get(s);t&&(i=this._checkLinkProviderResult(s,e,i))}else r.provideLinks(e.y,(t=>{if(this._isMouseOut)return;const r=t?.map((e=>({link:e})));this._activeProviderReplies?.set(s,r),i=this._checkLinkProviderResult(s,e,i),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)}))}_removeIntersectingLinks(e,t){const i=new Set;for(let s=0;s<t.size;s++){const r=t.get(s);if(r)for(let t=0;t<r.length;t++){const s=r[t],n=s.link.range.start.y<e?0:s.link.range.start.x,o=s.link.range.end.y>e?this._bufferService.cols:s.link.range.end.x;for(let e=n;e<=o;e++){if(i.has(e)){r.splice(t--,1);break}i.add(e)}}}}_checkLinkProviderResult(e,t,i){if(!this._activeProviderReplies)return i;const s=this._activeProviderReplies.get(e);let r=!1;for(let t=0;t<e;t++)this._activeProviderReplies.has(t)&&!this._activeProviderReplies.get(t)||(r=!0);if(!r&&s){const e=s.find((e=>this._linkAtPosition(e.link,t)));e&&(i=!0,this._handleNewLink(e))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!i)for(let e=0;e<this._activeProviderReplies.size;e++){const s=this._activeProviderReplies.get(e)?.find((e=>this._linkAtPosition(e.link,t)));if(s){i=!0,this._handleNewLink(s);break}}return i}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;const t=this._positionFromMouseEvent(e,this._element,this._mouseService);var i,s;t&&this._mouseDownLink&&(i=this._mouseDownLink.link,s=this._currentLink.link,i.text===s.text&&i.range.start.x===s.range.start.x&&i.range.start.y===s.range.start.y&&i.range.end.x===s.range.end.x&&i.range.end.y===s.range.end.y)&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){this._currentLink&&this._lastMouseEvent&&(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,n.dispose)(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;const t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:void 0===e.link.decorations||e.link.decorations.underline,pointerCursor:void 0===e.link.decorations||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:e=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==e&&(this._currentLink.state.decorations.pointerCursor=e,this._currentLink.state.isHovered&&this._element.classList.toggle(\"xterm-cursor-pointer\",e))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:t=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,t))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((e=>{if(!this._currentLink)return;const t=0===e.start?0:e.start+1+this._bufferService.buffer.ydisp,i=this._bufferService.buffer.ydisp+1+e.end;if(this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=i&&(this._clearCurrentLink(t,i),this._lastMouseEvent)){const e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._askForLink(e,!1)}}))))}_linkHover(e,t,i){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add(\"xterm-cursor-pointer\")),t.hover&&t.hover(i,t.text)}_fireUnderlineEvent(e,t){const i=e.range,s=this._bufferService.buffer.ydisp,r=this._createLinkUnderlineEvent(i.start.x-1,i.start.y-s-1,i.end.x,i.end.y-s-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(r)}_linkLeave(e,t,i){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove(\"xterm-cursor-pointer\")),t.leave&&t.leave(i,t.text)}_linkAtPosition(e,t){const i=e.range.start.y*this._bufferService.cols+e.range.start.x,s=e.range.end.y*this._bufferService.cols+e.range.end.x,r=t.y*this._bufferService.cols+t.x;return i<=r&&r<=s}_positionFromMouseEvent(e,t,i){const s=i.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(s)return{x:s[0],y:s[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,i,s,r){return{x1:e,y1:t,x2:i,y2:s,cols:this._bufferService.cols,fg:r}}};t.Linkifier=c,t.Linkifier=c=s([r(1,a.IMouseService),r(2,a.IRenderService),r(3,o.IBufferService),r(4,a.ILinkProviderService)],c)},7721:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.tooMuchOutput=t.promptLabel=void 0;let i=\"Terminal input\";const s={get:()=>i,set:e=>i=e};t.promptLabel=s;let r=\"Too much output to announce, navigate to rows manually to read\";const n={get:()=>r,set:e=>r=e};t.tooMuchOutput=n},3285:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.OscLinkProvider=void 0;const n=i(3055),o=i(6501);let a=class{constructor(e,t,i){this._bufferService=e,this._optionsService=t,this._oscLinkService=i}provideLinks(e,t){const i=this._bufferService.buffer.lines.get(e-1);if(!i)return void t(void 0);const s=[],r=this._optionsService.rawOptions.linkHandler,o=new n.CellData,a=i.getTrimmedLength();let h=-1,c=-1,d=!1;for(let t=0;t<a;t++)if(-1!==c||i.hasContent(t)){if(i.loadCell(t,o),o.hasExtendedAttrs()&&o.extended.urlId){if(-1===c){c=t,h=o.extended.urlId;continue}d=o.extended.urlId!==h}else-1!==c&&(d=!0);if(d||-1!==c&&t===a-1){const i=this._oscLinkService.getLinkData(h)?.uri;if(i){const n={start:{x:c+1,y:e},end:{x:t+(d||t!==a-1?0:1),y:e}};let o=!1;if(!r?.allowNonHttpProtocols)try{const e=new URL(i);[\"http:\",\"https:\"].includes(e.protocol)||(o=!0)}catch(e){o=!0}o||s.push({text:i,range:n,activate:(e,t)=>r?r.activate(e,t,n):l(0,t),hover:(e,t)=>r?.hover?.(e,t,n),leave:(e,t)=>r?.leave?.(e,t,n)})}d=!1,o.hasExtendedAttrs()&&o.extended.urlId?(c=t,h=o.extended.urlId):(c=-1,h=-1)}}t(s)}};function l(e,t){if(confirm(`Do you want to navigate to ${t}?\\n\\nWARNING: This link could potentially be dangerous`)){const e=window.open();if(e){try{e.opener=null}catch{}e.location.href=t}else console.warn(\"Opening link blocked as opener could not be cleared\")}}t.OscLinkProvider=a,t.OscLinkProvider=a=s([r(0,o.IBufferService),r(1,o.IOptionsService),r(2,o.IOscLinkService)],a)},4852:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.RenderDebouncer=void 0,t.RenderDebouncer=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh()))),this._animationFrame}refresh(e,t,i){this._rowCount=i,e=void 0!==e?e:0,t=void 0!==t?t:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,e):e,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,t):t,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._animationFrame=void 0,void 0===this._rowStart||void 0===this._rowEnd||void 0===this._rowCount)return void this._runRefreshCallbacks();const e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(const e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}}},4292:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TimeBasedDebouncer=void 0,t.TimeBasedDebouncer=class{constructor(e,t=1e3){this._renderCallback=e,this._debounceThresholdMS=t,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(e,t,i){this._rowCount=i,e=void 0!==e?e:0,t=void 0!==t?t:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,e):e,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,t):t;const s=performance.now();if(s-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=s,this._innerRefresh();else if(!this._additionalRefreshRequested){const e=s-this._lastRefreshMs,t=this._debounceThresholdMS-e;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout((()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0}),t)}}_innerRefresh(){if(void 0===this._rowStart||void 0===this._rowEnd||void 0===this._rowCount)return;const e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t)}}},9302:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DEFAULT_ANSI_COLORS=void 0;const s=i(4103);t.DEFAULT_ANSI_COLORS=Object.freeze((()=>{const e=[s.css.toColor(\"#2e3436\"),s.css.toColor(\"#cc0000\"),s.css.toColor(\"#4e9a06\"),s.css.toColor(\"#c4a000\"),s.css.toColor(\"#3465a4\"),s.css.toColor(\"#75507b\"),s.css.toColor(\"#06989a\"),s.css.toColor(\"#d3d7cf\"),s.css.toColor(\"#555753\"),s.css.toColor(\"#ef2929\"),s.css.toColor(\"#8ae234\"),s.css.toColor(\"#fce94f\"),s.css.toColor(\"#729fcf\"),s.css.toColor(\"#ad7fa8\"),s.css.toColor(\"#34e2e2\"),s.css.toColor(\"#eeeeec\")],t=[0,95,135,175,215,255];for(let i=0;i<216;i++){const r=t[i/36%6|0],n=t[i/6%6|0],o=t[i%6];e.push({css:s.channels.toCss(r,n,o),rgba:s.channels.toRgba(r,n,o)})}for(let t=0;t<24;t++){const i=8+10*t;e.push({css:s.channels.toCss(i,i,i),rgba:s.channels.toRgba(i,i,i)})}return e})())},4017:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Viewport=void 0;const n=i(7098),o=i(7150),a=i(6501),l=i(7093),h=i(8234),c=i(802),d=i(9881);let u=class extends o.Disposable{constructor(e,t,i,s,r,n,a,u){super(),this._bufferService=i,this._optionsService=a,this._renderService=u,this._onRequestScrollLines=this._register(new c.Emitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;const _=this._register(new d.Scrollable({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:e=>(0,l.scheduleAtNextAnimationFrame)(s.window,e)}));this._register(this._optionsService.onSpecificOptionChange(\"smoothScrollDuration\",(()=>{_.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)}))),this._scrollableElement=this._register(new h.SmoothScrollableElement(t,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},_)),this._register(this._optionsService.onMultipleOptionChange([\"scrollSensitivity\",\"fastScrollSensitivity\",\"overviewRuler\"],(()=>this._scrollableElement.updateOptions(this._getChangeOptions())))),this._register(r.onProtocolChange((e=>{this._scrollableElement.updateOptions({handleMouseWheel:!(16&e)})}))),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(c.Event.runAndSubscribe(n.onChangeColors,(()=>{this._scrollableElement.getDomNode().style.backgroundColor=n.colors.background.css}))),e.appendChild(this._scrollableElement.getDomNode()),this._register((0,o.toDisposable)((()=>this._scrollableElement.getDomNode().remove()))),this._styleElement=s.mainDocument.createElement(\"style\"),t.appendChild(this._styleElement),this._register((0,o.toDisposable)((()=>this._styleElement.remove()))),this._register(c.Event.runAndSubscribe(n.onChangeColors,(()=>{this._styleElement.textContent=[\".xterm .xterm-scrollable-element > .scrollbar > .slider {\",` background: ${n.colors.scrollbarSliderBackground.css};`,\"}\",\".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {\",` background: ${n.colors.scrollbarSliderHoverBackground.css};`,\"}\",\".xterm .xterm-scrollable-element > .scrollbar > .slider.active {\",` background: ${n.colors.scrollbarSliderActiveBackground.css};`,\"}\"].join(\"\\n\")}))),this._register(this._bufferService.onResize((()=>this.queueSync()))),this._register(this._bufferService.buffers.onBufferActivate((()=>{this._latestYDisp=void 0,this.queueSync()}))),this._register(this._bufferService.onScroll((()=>this._sync()))),this._register(this._scrollableElement.onScroll((e=>this._handleScroll(e))))}scrollLines(e){const t=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:t.scrollTop+e*this._renderService.dimensions.css.cell.height})}scrollToLine(e,t){t&&(this._latestYDisp=e),this._scrollableElement.setScrollPosition({reuseAnimation:!t,scrollTop:e*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:this._optionsService.rawOptions.overviewRuler?.width||14}}queueSync(e){void 0!==e&&(this._latestYDisp=e),void 0===this._queuedAnimationFrame&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback((()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)})))}_sync(e=this._bufferService.buffer.ydisp){this._renderService&&!this._isSyncing&&(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,e!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:e*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(e){if(!this._renderService)return;if(this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;const t=Math.round(e.scrollTop/this._renderService.dimensions.css.cell.height),i=t-this._bufferService.buffer.ydisp;0!==i&&(this._latestYDisp=t,this._onRequestScrollLines.fire(i)),this._isHandlingScroll=!1}};t.Viewport=u,t.Viewport=u=s([r(2,a.IBufferService),r(3,n.ICoreBrowserService),r(4,a.ICoreMouseService),r(5,n.IThemeService),r(6,a.IOptionsService),r(7,n.IRenderService)],u)},4196:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferDecorationRenderer=void 0;const n=i(7098),o=i(7150),a=i(6501);let l=class extends o.Disposable{constructor(e,t,i,s,r){super(),this._screenElement=e,this._bufferService=t,this._coreBrowserService=i,this._decorationService=s,this._renderService=r,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement(\"div\"),this._container.classList.add(\"xterm-decoration-container\"),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange((()=>this._doRefreshDecorations()))),this._register(this._renderService.onDimensionsChange((()=>{this._dimensionsChanged=!0,this._queueRefresh()}))),this._register(this._coreBrowserService.onDprChange((()=>this._queueRefresh()))),this._register(this._bufferService.buffers.onBufferActivate((()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt}))),this._register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh()))),this._register(this._decorationService.onDecorationRemoved((e=>this._removeDecoration(e)))),this._register((0,o.toDisposable)((()=>{this._container.remove(),this._decorationElements.clear()})))}_queueRefresh(){void 0===this._animationFrame&&(this._animationFrame=this._renderService.addRefreshCallback((()=>{this._doRefreshDecorations(),this._animationFrame=void 0})))}_doRefreshDecorations(){for(const e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){const t=this._coreBrowserService.mainDocument.createElement(\"div\");t.classList.add(\"xterm-decoration\"),t.classList.toggle(\"xterm-decoration-top-layer\",\"top\"===e?.options?.layer),t.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,t.style.height=(e.options.height||1)*this._renderService.dimensions.css.cell.height+\"px\",t.style.top=(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height+\"px\",t.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;const i=e.options.x??0;return i&&i>this._bufferService.cols&&(t.style.display=\"none\"),this._refreshXPosition(e,t),t}_refreshStyle(e){const t=e.marker.line-this._bufferService.buffers.active.ydisp;if(t<0||t>=this._bufferService.rows)e.element&&(e.element.style.display=\"none\",e.onRenderEmitter.fire(e.element));else{let i=this._decorationElements.get(e);i||(i=this._createElement(e),e.element=i,this._decorationElements.set(e,i),this._container.appendChild(i),e.onDispose((()=>{this._decorationElements.delete(e),i.remove()}))),i.style.display=this._altBufferIsActive?\"none\":\"block\",this._altBufferIsActive||(i.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,i.style.height=(e.options.height||1)*this._renderService.dimensions.css.cell.height+\"px\",i.style.top=t*this._renderService.dimensions.css.cell.height+\"px\",i.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),e.onRenderEmitter.fire(i)}}_refreshXPosition(e,t=e.element){if(!t)return;const i=e.options.x??0;\"right\"===(e.options.anchor||\"left\")?t.style.right=i?i*this._renderService.dimensions.css.cell.width+\"px\":\"\":t.style.left=i?i*this._renderService.dimensions.css.cell.width+\"px\":\"\"}_removeDecoration(e){this._decorationElements.get(e)?.remove(),this._decorationElements.delete(e),e.dispose()}};t.BufferDecorationRenderer=l,t.BufferDecorationRenderer=l=s([r(1,a.IBufferService),r(2,n.ICoreBrowserService),r(3,a.IDecorationService),r(4,n.IRenderService)],l)},957:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ColorZoneStore=void 0,t.ColorZoneStore=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(e){if(e.options.overviewRulerOptions){for(const t of this._zones)if(t.color===e.options.overviewRulerOptions.color&&t.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(t,e.marker.line))return;if(this._lineAdjacentToZone(t,e.marker.line,e.options.overviewRulerOptions.position))return void this._addLineToZone(t,e.marker.line)}if(this._zonePoolIndex<this._zonePool.length)return this._zonePool[this._zonePoolIndex].color=e.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=e.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=e.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=e.marker.line,void this._zones.push(this._zonePool[this._zonePoolIndex++]);this._zones.push({color:e.options.overviewRulerOptions.color,position:e.options.overviewRulerOptions.position,startBufferLine:e.marker.line,endBufferLine:e.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(e){this._linePadding=e}_lineIntersectsZone(e,t){return t>=e.startBufferLine&&t<=e.endBufferLine}_lineAdjacentToZone(e,t,i){return t>=e.startBufferLine-this._linePadding[i||\"full\"]&&t<=e.endBufferLine+this._linePadding[i||\"full\"]}_addLineToZone(e,t){e.startBufferLine=Math.min(e.startBufferLine,t),e.endBufferLine=Math.max(e.endBufferLine,t)}}},9925:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.OverviewRulerRenderer=void 0;const n=i(957),o=i(7098),a=i(7150),l=i(6501),h={full:0,left:0,center:0,right:0},c={full:0,left:0,center:0,right:0},d={full:0,left:0,center:0,right:0};let u=class extends a.Disposable{get _width(){return this._optionsService.options.overviewRuler?.width||0}constructor(e,t,i,s,r,o,l,h){super(),this._viewportElement=e,this._screenElement=t,this._bufferService=i,this._decorationService=s,this._renderService=r,this._optionsService=o,this._themeService=l,this._coreBrowserService=h,this._colorZoneStore=new n.ColorZoneStore,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement(\"canvas\"),this._canvas.classList.add(\"xterm-decoration-overview-ruler\"),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement),this._register((0,a.toDisposable)((()=>this._canvas?.remove())));const c=this._canvas.getContext(\"2d\");if(!c)throw new Error(\"Ctx cannot be null\");this._ctx=c,this._register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh(void 0,!0)))),this._register(this._decorationService.onDecorationRemoved((()=>this._queueRefresh(void 0,!0)))),this._register(this._renderService.onRenderedViewportChange((()=>this._queueRefresh()))),this._register(this._bufferService.buffers.onBufferActivate((()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?\"none\":\"block\"}))),this._register(this._bufferService.onScroll((()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())}))),this._register(this._renderService.onRender((()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)}))),this._register(this._coreBrowserService.onDprChange((()=>this._queueRefresh(!0)))),this._register(this._optionsService.onSpecificOptionChange(\"overviewRuler\",(()=>this._queueRefresh(!0)))),this._register(this._themeService.onChangeColors((()=>this._queueRefresh()))),this._queueRefresh(!0)}_refreshDrawConstants(){const e=Math.floor((this._canvas.width-1)/3),t=Math.ceil((this._canvas.width-1)/3);c.full=this._canvas.width,c.left=e,c.center=t,c.right=e,this._refreshDrawHeightConstants(),d.full=1,d.left=1,d.center=1+c.left,d.right=1+c.left+c.center}_refreshDrawHeightConstants(){h.full=Math.round(2*this._coreBrowserService.dpr);const e=this._canvas.height/this._bufferService.buffer.lines.length,t=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowserService.dpr);h.left=t,h.center=t,h.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(const e of this._decorationService.decorations)this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1,this._renderRulerOutline();const e=this._colorZoneStore.zones;for(const t of e)\"full\"!==t.position&&this._renderColorZone(t);for(const t of e)\"full\"===t.position&&this._renderColorZone(t);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(d[e.position||\"full\"],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-h[e.position||\"full\"]/2),c[e.position||\"full\"],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+h[e.position||\"full\"]))}_queueRefresh(e,t){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=t||this._shouldUpdateAnchor,void 0===this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._refreshDecorations(),this._animationFrame=void 0})))}};t.OverviewRulerRenderer=u,t.OverviewRulerRenderer=u=s([r(2,l.IBufferService),r(3,l.IDecorationService),r(4,o.IRenderService),r(5,l.IOptionsService),r(6,o.IThemeService),r(7,o.ICoreBrowserService)],u)},3618:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CompositionHelper=void 0;const n=i(7098),o=i(6501),a=i(3534);let l=class{get isComposing(){return this._isComposing}constructor(e,t,i,s,r,n){this._textarea=e,this._compositionView=t,this._bufferService=i,this._optionsService=s,this._coreService=r,this._renderService=n,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=\"\"}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent=\"\",this._dataAlreadySent=\"\",this._compositionView.classList.add(\"active\")}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout((()=>{this._compositionPosition.end=this._textarea.value.length}),0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(20===e.keyCode||229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this._finalizeComposition(!1)}return 229!==e.keyCode||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(e){if(this._compositionView.classList.remove(\"active\"),this._isComposing=!1,e){const e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((()=>{if(this._isSendingComposition){let t;this._isSendingComposition=!1,e.start+=this._dataAlreadySent.length,t=this._isComposing?this._textarea.value.substring(e.start,this._compositionPosition.start):this._textarea.value.substring(e.start),t.length>0&&this._coreService.triggerDataEvent(t,!0)}}),0)}else{this._isSendingComposition=!1;const e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){const e=this._textarea.value;setTimeout((()=>{if(!this._isComposing){const t=this._textarea.value,i=t.replace(e,\"\");this._dataAlreadySent=i,t.length>e.length?this._coreService.triggerDataEvent(i,!0):t.length<e.length?this._coreService.triggerDataEvent(`${a.C0.DEL}`,!0):t.length===e.length&&t!==e&&this._coreService.triggerDataEvent(t,!0)}}),0)}updateCompositionElements(e){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){const e=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),t=this._renderService.dimensions.css.cell.height,i=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,s=e*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=s+\"px\",this._compositionView.style.top=i+\"px\",this._compositionView.style.height=t+\"px\",this._compositionView.style.lineHeight=t+\"px\",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+\"px\";const r=this._compositionView.getBoundingClientRect();this._textarea.style.left=s+\"px\",this._textarea.style.top=i+\"px\",this._textarea.style.width=Math.max(r.width,1)+\"px\",this._textarea.style.height=Math.max(r.height,1)+\"px\",this._textarea.style.lineHeight=r.height+\"px\"}e||setTimeout((()=>this.updateCompositionElements(!0)),0)}}};t.CompositionHelper=l,t.CompositionHelper=l=s([r(2,o.IBufferService),r(3,o.IOptionsService),r(4,o.ICoreService),r(5,n.IRenderService)],l)},5251:(e,t)=>{function i(e,t,i){const s=i.getBoundingClientRect(),r=e.getComputedStyle(i),n=parseInt(r.getPropertyValue(\"padding-left\")),o=parseInt(r.getPropertyValue(\"padding-top\"));return[t.clientX-s.left-n,t.clientY-s.top-o]}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getCoordsRelativeToElement=i,t.getCoords=function(e,t,s,r,n,o,a,l,h){if(!o)return;const c=i(e,t,s);return c?(c[0]=Math.ceil((c[0]+(h?a/2:0))/a),c[1]=Math.ceil(c[1]/l),c[0]=Math.min(Math.max(c[0],1),r+(h?1:0)),c[1]=Math.min(Math.max(c[1],1),n),c):void 0}},9686:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.moveToCellSequence=function(e,t,i,s){const o=i.buffer.x,c=i.buffer.y;if(!i.buffer.hasScrollback)return function(e,t,i,s,o,c){return 0===r(t,s,o,c).length?\"\":h(a(e,t,e,t-n(t,o),!1,o).length,l(\"D\",c))}(o,c,0,t,i,s)+r(c,t,i,s)+function(e,t,i,s,o,c){let d;d=r(t,s,o,c).length>0?s-n(s,o):t;const u=s,_=function(e,t,i,s,o,a){let l;return l=r(i,s,o,a).length>0?s-n(s,o):t,e<i&&l<=s||e>=i&&l<s?\"C\":\"D\"}(e,t,i,s,o,c);return h(a(e,d,i,u,\"C\"===_,o).length,l(_,c))}(o,c,e,t,i,s);let d;if(c===t)return d=o>e?\"D\":\"C\",h(Math.abs(o-e),l(d,s));d=c>t?\"D\":\"C\";const u=Math.abs(c-t);return h(function(e,t){return t.cols-e}(c>t?e:o,i)+(u-1)*i.cols+1+((c>t?o:e)-1),l(d,s))};const s=i(3534);function r(e,t,i,s){const r=e-n(e,i),a=t-n(t,i),c=Math.abs(r-a)-function(e,t,i){let s=0;const r=e-n(e,i),a=t-n(t,i);for(let n=0;n<Math.abs(r-a);n++){const a=\"A\"===o(e,t)?-1:1,l=i.buffer.lines.get(r+a*n);l?.isWrapped&&s++}return s}(e,t,i);return h(c,l(o(e,t),s))}function n(e,t){let i=0,s=t.buffer.lines.get(e),r=s?.isWrapped;for(;r&&e>=0&&e<t.rows;)i++,s=t.buffer.lines.get(--e),r=s?.isWrapped;return i}function o(e,t){return e>t?\"A\":\"B\"}function a(e,t,i,s,r,n){let o=e,a=t,l=\"\";for(;(o!==i||a!==s)&&a>=0&&a<n.buffer.lines.length;)o+=r?1:-1,r&&o>n.cols-1?(l+=n.buffer.translateBufferLineToString(a,!1,e,o),o=0,e=0,a++):!r&&o<0&&(l+=n.buffer.translateBufferLineToString(a,!1,0,e+1),o=n.cols-1,e=o,a--);return l+n.buffer.translateBufferLineToString(a,!1,e,o)}function l(e,t){const i=t?\"O\":\"[\";return s.C0.ESC+i+e}function h(e,t){e=Math.floor(e);let i=\"\";for(let s=0;s<e;s++)i+=t;return i}},3955:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.DomRenderer=void 0;const n=i(1433),o=i(2744),a=i(9176),l=i(6181),h=i(2274),c=i(7098),d=i(4103),u=i(7150),_=i(6501),f=i(802),p=\"xterm-dom-renderer-owner-\",g=\"xterm-rows\",m=\"xterm-fg-\",v=\"xterm-bg-\",S=\"xterm-focus\",b=\"xterm-selection\";let C=1,y=class extends u.Disposable{constructor(e,t,i,s,r,a,c,d,_,m,v,S,y,w){super(),this._terminal=e,this._document=t,this._element=i,this._screenElement=s,this._viewportElement=r,this._helperContainer=a,this._linkifier2=c,this._charSizeService=_,this._optionsService=m,this._bufferService=v,this._coreService=S,this._coreBrowserService=y,this._themeService=w,this._terminalClass=C++,this._rowElements=[],this._selectionRenderModel=(0,h.createSelectionRenderModel)(),this.onRequestRedraw=this._register(new f.Emitter).event,this._rowContainer=this._document.createElement(\"div\"),this._rowContainer.classList.add(g),this._rowContainer.style.lineHeight=\"normal\",this._rowContainer.setAttribute(\"aria-hidden\",\"true\"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement(\"div\"),this._selectionContainer.classList.add(b),this._selectionContainer.setAttribute(\"aria-hidden\",\"true\"),this.dimensions=(0,l.createRenderDimensions)(),this._updateDimensions(),this._register(this._optionsService.onOptionChange((()=>this._handleOptionsChanged()))),this._register(this._themeService.onChangeColors((e=>this._injectCss(e)))),this._injectCss(this._themeService.colors),this._rowFactory=d.createInstance(n.DomRendererRowFactory,document),this._element.classList.add(p+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline((e=>this._handleLinkHover(e)))),this._register(this._linkifier2.onHideLinkUnderline((e=>this._handleLinkLeave(e)))),this._register((0,u.toDisposable)((()=>{this._element.classList.remove(p+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()}))),this._widthCache=new o.WidthCache(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){const e=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/e),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(const e of this._rowElements)e.style.width=`${this.dimensions.css.canvas.width}px`,e.style.height=`${this.dimensions.css.cell.height}px`,e.style.lineHeight=`${this.dimensions.css.cell.height}px`,e.style.overflow=\"hidden\";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement(\"style\"),this._screenElement.appendChild(this._dimensionsStyleElement));const t=`${this._terminalSelector} .${g} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=t,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(e){this._themeStyleElement||(this._themeStyleElement=this._document.createElement(\"style\"),this._screenElement.appendChild(this._themeStyleElement));let t=`${this._terminalSelector} .${g} { pointer-events: none; color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;t+=`${this._terminalSelector} .${g} .xterm-dim { color: ${d.color.multiplyOpacity(e.foreground,.5).css};}`,t+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;const i=`blink_underline_${this._terminalClass}`,s=`blink_bar_${this._terminalClass}`,r=`blink_block_${this._terminalClass}`;t+=`@keyframes ${i} { 50% { border-bottom-style: hidden; }}`,t+=`@keyframes ${s} { 50% { box-shadow: none; }}`,t+=`@keyframes ${r} { 0% { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css}; } 50% { background-color: inherit; color: ${e.cursor.css}; }}`,t+=`${this._terminalSelector} .${g}.${S} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${g}.${S} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${s} 1s step-end infinite;}${this._terminalSelector} .${g}.${S} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${g} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${g} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${g} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${g} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${g} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${b} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${b} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${b} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(const[i,s]of e.ansi.entries())t+=`${this._terminalSelector} .${m}${i} { color: ${s.css}; }${this._terminalSelector} .${m}${i}.xterm-dim { color: ${d.color.multiplyOpacity(s,.5).css}; }${this._terminalSelector} .${v}${i} { background-color: ${s.css}; }`;t+=`${this._terminalSelector} .${m}${a.INVERTED_DEFAULT_COLOR} { color: ${d.color.opaque(e.background).css}; }${this._terminalSelector} .${m}${a.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${d.color.multiplyOpacity(d.color.opaque(e.background),.5).css}; }${this._terminalSelector} .${v}${a.INVERTED_DEFAULT_COLOR} { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=t}_setDefaultSpacing(){const e=this.dimensions.css.cell.width-this._widthCache.get(\"W\",!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,t){for(let e=this._rowElements.length;e<=t;e++){const e=this._document.createElement(\"div\");this._rowContainer.appendChild(e),this._rowElements.push(e)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,t){this._refreshRowElements(e,t),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(S),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(S),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,t,i){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,t,i),this.renderRows(0,this._bufferService.rows-1),!e||!t)return;if(this._selectionRenderModel.update(this._terminal,e,t,i),!this._selectionRenderModel.hasSelection)return;const s=this._selectionRenderModel.viewportStartRow,r=this._selectionRenderModel.viewportEndRow,n=this._selectionRenderModel.viewportCappedStartRow,o=this._selectionRenderModel.viewportCappedEndRow,a=this._document.createDocumentFragment();if(i){const i=e[0]>t[0];a.appendChild(this._createSelectionElement(n,i?t[0]:e[0],i?e[0]:t[0],o-n+1))}else{const i=s===n?e[0]:0,l=n===r?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(n,i,l));const h=o-n-1;if(a.appendChild(this._createSelectionElement(n+1,0,this._bufferService.cols,h)),n!==o){const e=r===o?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(o,0,e))}}this._selectionContainer.appendChild(a)}_createSelectionElement(e,t,i,s=1){const r=this._document.createElement(\"div\"),n=t*this.dimensions.css.cell.width;let o=this.dimensions.css.cell.width*(i-t);return n+o>this.dimensions.css.canvas.width&&(o=this.dimensions.css.canvas.width-n),r.style.height=s*this.dimensions.css.cell.height+\"px\",r.style.top=e*this.dimensions.css.cell.height+\"px\",r.style.left=`${n}px`,r.style.width=`${o}px`,r}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(const e of this._rowElements)e.replaceChildren()}renderRows(e,t){const i=this._bufferService.buffer,s=i.ybase+i.y,r=Math.min(i.x,this._bufferService.cols-1),n=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,o=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,a=this._optionsService.rawOptions.cursorInactiveStyle;for(let l=e;l<=t;l++){const e=l+i.ydisp,t=this._rowElements[l],h=i.lines.get(e);if(!t||!h)break;t.replaceChildren(...this._rowFactory.createRow(h,e,e===s,o,a,r,n,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${p}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,t,i,s,r,n){i<0&&(e=0),s<0&&(t=0);const o=this._bufferService.rows-1;i=Math.max(Math.min(i,o),0),s=Math.max(Math.min(s,o),0),r=Math.min(r,this._bufferService.cols);const a=this._bufferService.buffer,l=a.ybase+a.y,h=Math.min(a.x,r-1),c=this._optionsService.rawOptions.cursorBlink,d=this._optionsService.rawOptions.cursorStyle,u=this._optionsService.rawOptions.cursorInactiveStyle;for(let o=i;o<=s;++o){const _=o+a.ydisp,f=this._rowElements[o],p=a.lines.get(_);if(!f||!p)break;f.replaceChildren(...this._rowFactory.createRow(p,_,_===l,d,u,h,c,this.dimensions.css.cell.width,this._widthCache,n?o===i?e:0:-1,n?(o===s?t:r)-1:-1))}}};t.DomRenderer=y,t.DomRenderer=y=s([r(7,_.IInstantiationService),r(8,c.ICharSizeService),r(9,_.IOptionsService),r(10,_.IBufferService),r(11,_.ICoreService),r(12,c.ICoreBrowserService),r(13,c.IThemeService)],y)},1433:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.DomRendererRowFactory=void 0;const n=i(9176),o=i(8938),a=i(3055),l=i(6501),h=i(4103),c=i(7098),d=i(945),u=i(6181),_=i(5451);let f=class{constructor(e,t,i,s,r,n,o){this._document=e,this._characterJoinerService=t,this._optionsService=i,this._coreBrowserService=s,this._coreService=r,this._decorationService=n,this._themeService=o,this._workCell=new a.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(e,t,i){this._selectionStart=e,this._selectionEnd=t,this._columnSelectMode=i}createRow(e,t,i,s,r,a,l,c,u,f,g){const m=[],v=this._characterJoinerService.getJoinedCharacters(t),S=this._themeService.colors;let b,C=e.getNoBgTrimmedLength();i&&C<a+1&&(C=a+1);let y=0,w=\"\",E=0,D=0,L=0,R=0,A=!1,T=0,k=!1,M=0,O=0;const I=[],P=-1!==f&&-1!==g;for(let x=0;x<C;x++){e.loadCell(x,this._workCell);let C=this._workCell.getWidth();if(0===C)continue;let B=!1,N=x>=O,U=x,F=this._workCell;if(v.length>0&&x===v[0][0]&&N){const s=v.shift(),r=this._isCellInSelection(s[0],t);for(E=s[0]+1;E<s[1];E++)N&&=r===this._isCellInSelection(E,t);N&&=!i||a<s[0]||a>=s[1],N?(B=!0,F=new d.JoinedCellData(this._workCell,e.translateToString(!0,s[0],s[1]),s[1]-s[0]),U=s[1]-1,C=F.getWidth()):O=s[1]}const W=this._isCellInSelection(x,t),H=i&&x===a,K=P&&x>=f&&x<=g;let z=!1;this._decorationService.forEachDecorationAtCell(x,t,void 0,(e=>{z=!0}));let j=F.getChars()||o.WHITESPACE_CELL_CHAR;if(\" \"===j&&(F.isUnderline()||F.isOverline())&&(j=\" \"),M=C*c-u.get(j,F.isBold(),F.isItalic()),b){if(y&&(W&&k||!W&&!k&&F.bg===D)&&(W&&k&&S.selectionForeground||F.fg===L)&&F.extended.ext===R&&K===A&&M===T&&!H&&!B&&!z&&N){F.isInvisible()?w+=o.WHITESPACE_CELL_CHAR:w+=j,y++;continue}y&&(b.textContent=w),b=this._document.createElement(\"span\"),y=0,w=\"\"}else b=this._document.createElement(\"span\");if(D=F.bg,L=F.fg,R=F.extended.ext,A=K,T=M,k=W,B&&a>=x&&a<=U&&(a=x),!this._coreService.isCursorHidden&&H&&this._coreService.isCursorInitialized)if(I.push(\"xterm-cursor\"),this._coreBrowserService.isFocused)l&&I.push(\"xterm-cursor-blink\"),I.push(\"bar\"===s?\"xterm-cursor-bar\":\"underline\"===s?\"xterm-cursor-underline\":\"xterm-cursor-block\");else if(r)switch(r){case\"outline\":I.push(\"xterm-cursor-outline\");break;case\"block\":I.push(\"xterm-cursor-block\");break;case\"bar\":I.push(\"xterm-cursor-bar\");break;case\"underline\":I.push(\"xterm-cursor-underline\")}if(F.isBold()&&I.push(\"xterm-bold\"),F.isItalic()&&I.push(\"xterm-italic\"),F.isDim()&&I.push(\"xterm-dim\"),w=F.isInvisible()?o.WHITESPACE_CELL_CHAR:F.getChars()||o.WHITESPACE_CELL_CHAR,F.isUnderline()&&(I.push(`xterm-underline-${F.extended.underlineStyle}`),\" \"===w&&(w=\" \"),!F.isUnderlineColorDefault()))if(F.isUnderlineColorRGB())b.style.textDecorationColor=`rgb(${_.AttributeData.toColorRGB(F.getUnderlineColor()).join(\",\")})`;else{let e=F.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&F.isBold()&&e<8&&(e+=8),b.style.textDecorationColor=S.ansi[e].css}F.isOverline()&&(I.push(\"xterm-overline\"),\" \"===w&&(w=\" \")),F.isStrikethrough()&&I.push(\"xterm-strikethrough\"),K&&(b.style.textDecoration=\"underline\");let $=F.getFgColor(),V=F.getFgColorMode(),G=F.getBgColor(),q=F.getBgColorMode();const X=!!F.isInverse();if(X){const e=$;$=G,G=e;const t=V;V=q,q=t}let Y,Z,J,Q=!1;switch(this._decorationService.forEachDecorationAtCell(x,t,void 0,(e=>{\"top\"!==e.options.layer&&Q||(e.backgroundColorRGB&&(q=50331648,G=e.backgroundColorRGB.rgba>>8&16777215,Y=e.backgroundColorRGB),e.foregroundColorRGB&&(V=50331648,$=e.foregroundColorRGB.rgba>>8&16777215,Z=e.foregroundColorRGB),Q=\"top\"===e.options.layer)})),!Q&&W&&(Y=this._coreBrowserService.isFocused?S.selectionBackgroundOpaque:S.selectionInactiveBackgroundOpaque,G=Y.rgba>>8&16777215,q=50331648,Q=!0,S.selectionForeground&&(V=50331648,$=S.selectionForeground.rgba>>8&16777215,Z=S.selectionForeground)),Q&&I.push(\"xterm-decoration-top\"),q){case 16777216:case 33554432:J=S.ansi[G],I.push(`xterm-bg-${G}`);break;case 50331648:J=h.channels.toColor(G>>16,G>>8&255,255&G),this._addStyle(b,`background-color:#${p((G>>>0).toString(16),\"0\",6)}`);break;default:X?(J=S.foreground,I.push(`xterm-bg-${n.INVERTED_DEFAULT_COLOR}`)):J=S.background}switch(Y||F.isDim()&&(Y=h.color.multiplyOpacity(J,.5)),V){case 16777216:case 33554432:F.isBold()&&$<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&($+=8),this._applyMinimumContrast(b,J,S.ansi[$],F,Y,void 0)||I.push(`xterm-fg-${$}`);break;case 50331648:const e=h.channels.toColor($>>16&255,$>>8&255,255&$);this._applyMinimumContrast(b,J,e,F,Y,Z)||this._addStyle(b,`color:#${p($.toString(16),\"0\",6)}`);break;default:this._applyMinimumContrast(b,J,S.foreground,F,Y,Z)||X&&I.push(`xterm-fg-${n.INVERTED_DEFAULT_COLOR}`)}I.length&&(b.className=I.join(\" \"),I.length=0),H||B||z||!N?b.textContent=w:y++,M!==this.defaultSpacing&&(b.style.letterSpacing=`${M}px`),m.push(b),x=U}return b&&y&&(b.textContent=w),m}_applyMinimumContrast(e,t,i,s,r,n){if(1===this._optionsService.rawOptions.minimumContrastRatio||(0,u.treatGlyphAsBackgroundColor)(s.getCode()))return!1;const o=this._getContrastCache(s);let a;if(r||n||(a=o.getColor(t.rgba,i.rgba)),void 0===a){const e=this._optionsService.rawOptions.minimumContrastRatio/(s.isDim()?2:1);a=h.color.ensureContrastRatio(r||t,n||i,e),o.setColor((r||t).rgba,(n||i).rgba,a??null)}return!!a&&(this._addStyle(e,`color:${a.css}`),!0)}_getContrastCache(e){return e.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(e,t){e.setAttribute(\"style\",`${e.getAttribute(\"style\")||\"\"}${t};`)}_isCellInSelection(e,t){const i=this._selectionStart,s=this._selectionEnd;return!(!i||!s)&&(this._columnSelectMode?i[0]<=s[0]?e>=i[0]&&t>=i[1]&&e<s[0]&&t<=s[1]:e<i[0]&&t>=i[1]&&e>=s[0]&&t<=s[1]:t>i[1]&&t<s[1]||i[1]===s[1]&&t===i[1]&&e>=i[0]&&e<s[0]||i[1]<s[1]&&t===s[1]&&e<s[0]||i[1]<s[1]&&t===i[1]&&e>=i[0])}};function p(e,t,i){for(;e.length<i;)e=t+e;return e}t.DomRendererRowFactory=f,t.DomRendererRowFactory=f=s([r(1,c.ICharacterJoinerService),r(2,l.IOptionsService),r(3,c.ICoreBrowserService),r(4,l.ICoreService),r(5,l.IDecorationService),r(6,c.IThemeService)],f)},2744:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WidthCache=void 0,t.WidthCache=class{constructor(e,t){this._flat=new Float32Array(256),this._font=\"\",this._fontSize=0,this._weight=\"normal\",this._weightBold=\"bold\",this._measureElements=[],this._container=e.createElement(\"div\"),this._container.classList.add(\"xterm-width-cache-measure-container\"),this._container.setAttribute(\"aria-hidden\",\"true\"),this._container.style.whiteSpace=\"pre\",this._container.style.fontKerning=\"none\";const i=e.createElement(\"span\");i.classList.add(\"xterm-char-measure-element\");const s=e.createElement(\"span\");s.classList.add(\"xterm-char-measure-element\"),s.style.fontWeight=\"bold\";const r=e.createElement(\"span\");r.classList.add(\"xterm-char-measure-element\"),r.style.fontStyle=\"italic\";const n=e.createElement(\"span\");n.classList.add(\"xterm-char-measure-element\"),n.style.fontWeight=\"bold\",n.style.fontStyle=\"italic\",this._measureElements=[i,s,r,n],this._container.appendChild(i),this._container.appendChild(s),this._container.appendChild(r),this._container.appendChild(n),t.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(e,t,i,s){e===this._font&&t===this._fontSize&&i===this._weight&&s===this._weightBold||(this._font=e,this._fontSize=t,this._weight=i,this._weightBold=s,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${i}`,this._measureElements[1].style.fontWeight=`${s}`,this._measureElements[2].style.fontWeight=`${i}`,this._measureElements[3].style.fontWeight=`${s}`,this.clear())}get(e,t,i){let s=0;if(!t&&!i&&1===e.length&&(s=e.charCodeAt(0))<256){if(-9999!==this._flat[s])return this._flat[s];const t=this._measure(e,0);return t>0&&(this._flat[s]=t),t}let r=e;t&&(r+=\"B\"),i&&(r+=\"I\");let n=this._holey.get(r);if(void 0===n){let s=0;t&&(s|=1),i&&(s|=2),n=this._measure(e,s),n>0&&this._holey.set(r,n)}return n}_measure(e,t){const i=this._measureElements[t];return i.textContent=e.repeat(32),i.offsetWidth/32}}},9176:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.INVERTED_DEFAULT_COLOR=void 0,t.INVERTED_DEFAULT_COLOR=257},6181:(e,t)=>{function i(e){return 57508<=e&&e<=57558}function s(e){return e>=128512&&e<=128591||e>=127744&&e<=128511||e>=128640&&e<=128767||e>=9728&&e<=9983||e>=9984&&e<=10175||e>=65024&&e<=65039||e>=129280&&e<=129535||e>=127462&&e<=127487}Object.defineProperty(t,\"__esModule\",{value:!0}),t.throwIfFalsy=function(e){if(!e)throw new Error(\"value must not be falsy\");return e},t.isPowerlineGlyph=i,t.isRestrictedPowerlineGlyph=function(e){return 57520<=e&&e<=57527},t.isEmoji=s,t.allowRescaling=function(e,t,r,n){return 1===t&&r>Math.ceil(1.5*n)&&void 0!==e&&e>255&&!s(e)&&!i(e)&&!function(e){return 57344<=e&&e<=63743}(e)},t.treatGlyphAsBackgroundColor=function(e){return i(e)||function(e){return 9472<=e&&e<=9631}(e)},t.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},t.computeNextVariantOffset=function(e,t,i=0){return(e-(2*Math.round(t)-i))%(2*Math.round(t))}},2274:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.createSelectionRenderModel=function(){return new i};class i{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(e,t,i,s=!1){if(this.selectionStart=t,this.selectionEnd=i,!t||!i||t[0]===i[0]&&t[1]===i[1])return void this.clear();const r=e.buffers.active.ydisp,n=t[1]-r,o=i[1]-r,a=Math.max(n,0),l=Math.min(o,e.rows-1);a>=e.rows||l<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=s,this.viewportStartRow=n,this.viewportEndRow=o,this.viewportCappedStartRow=a,this.viewportCappedEndRow=l,this.startCol=t[0],this.endCol=i[0])}isCellSelected(e,t,i){return!!this.hasSelection&&(i-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&i>=this.viewportCappedStartRow&&t<this.endCol&&i<=this.viewportCappedEndRow:t<this.startCol&&i>=this.viewportCappedStartRow&&t>=this.endCol&&i<=this.viewportCappedEndRow:i>this.viewportStartRow&&i<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&i===this.viewportStartRow&&t>=this.startCol&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&i===this.viewportEndRow&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&i===this.viewportStartRow&&t>=this.startCol)}}},5959:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.SelectionModel=void 0,t.SelectionModel=class{constructor(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){const e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?e%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){const e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){const e=this.selectionStart,t=this.selectionEnd;return!(!e||!t)&&(e[1]>t[1]||e[1]===t[1]&&e[0]>t[0])}handleTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}}},4792:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharSizeService=void 0;const n=i(6501),o=i(7150),a=i(802);let l=class extends o.Disposable{get hasValidSize(){return this.width>0&&this.height>0}constructor(e,t,i){super(),this._optionsService=i,this.width=0,this.height=0,this._onCharSizeChange=this._register(new a.Emitter),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new d(this._optionsService))}catch{this._measureStrategy=this._register(new c(e,t,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange([\"fontFamily\",\"fontSize\"],(()=>this.measure())))}measure(){const e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};t.CharSizeService=l,t.CharSizeService=l=s([r(2,n.IOptionsService)],l);class h extends o.Disposable{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(e,t){void 0!==e&&e>0&&void 0!==t&&t>0&&(this._result.width=e,this._result.height=t)}}class c extends h{constructor(e,t,i){super(),this._document=e,this._parentElement=t,this._optionsService=i,this._measureElement=this._document.createElement(\"span\"),this._measureElement.classList.add(\"xterm-char-measure-element\"),this._measureElement.textContent=\"W\".repeat(32),this._measureElement.setAttribute(\"aria-hidden\",\"true\"),this._measureElement.style.whiteSpace=\"pre\",this._measureElement.style.fontKerning=\"none\",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}}class d extends h{constructor(e){super(),this._optionsService=e,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext(\"2d\");const t=this._ctx.measureText(\"W\");if(!(\"width\"in t&&\"fontBoundingBoxAscent\"in t&&\"fontBoundingBoxDescent\"in t))throw new Error(\"Required font metrics not supported\")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;const e=this._ctx.measureText(\"W\");return this._validateAndSet(e.width,e.fontBoundingBoxAscent+e.fontBoundingBoxDescent),this._result}}},945:function(e,t,i){var s,r=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},n=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharacterJoinerService=t.JoinedCellData=void 0;const o=i(5451),a=i(8938),l=i(3055),h=i(6501);class c extends o.AttributeData{constructor(e,t,i){super(),this.content=0,this.combinedData=\"\",this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=i}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw new Error(\"not implemented\")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}t.JoinedCellData=c;let d=s=class{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new l.CellData}register(e){const t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id}deregister(e){for(let t=0;t<this._characterJoiners.length;t++)if(this._characterJoiners[t].id===e)return this._characterJoiners.splice(t,1),!0;return!1}getJoinedCharacters(e){if(0===this._characterJoiners.length)return[];const t=this._bufferService.buffer.lines.get(e);if(!t||0===t.length)return[];const i=[],s=t.translateToString(!0);let r=0,n=0,o=0,l=t.getFg(0),h=t.getBg(0);for(let e=0;e<t.getTrimmedLength();e++)if(t.loadCell(e,this._workCell),0!==this._workCell.getWidth()){if(this._workCell.fg!==l||this._workCell.bg!==h){if(e-r>1){const e=this._getJoinedRanges(s,o,n,t,r);for(let t=0;t<e.length;t++)i.push(e[t])}r=e,o=n,l=this._workCell.fg,h=this._workCell.bg}n+=this._workCell.getChars().length||a.WHITESPACE_CELL_CHAR.length}if(this._bufferService.cols-r>1){const e=this._getJoinedRanges(s,o,n,t,r);for(let t=0;t<e.length;t++)i.push(e[t])}return i}_getJoinedRanges(e,t,i,r,n){const o=e.substring(t,i);let a=[];try{a=this._characterJoiners[0].handler(o)}catch(e){console.error(e)}for(let e=1;e<this._characterJoiners.length;e++)try{const t=this._characterJoiners[e].handler(o);for(let e=0;e<t.length;e++)s._mergeRanges(a,t[e])}catch(e){console.error(e)}return this._stringRangesToCellRanges(a,r,n),a}_stringRangesToCellRanges(e,t,i){let s=0,r=!1,n=0,o=e[s];if(o){for(let l=i;l<this._bufferService.cols;l++){const i=t.getWidth(l),h=t.getString(l).length||a.WHITESPACE_CELL_CHAR.length;if(0!==i){if(!r&&o[0]<=n&&(o[0]=l,r=!0),o[1]<=n){if(o[1]=l,o=e[++s],!o)break;o[0]<=n?(o[0]=l,r=!0):r=!1}n+=h}}o&&(o[1]=this._bufferService.cols)}}static _mergeRanges(e,t){let i=!1;for(let s=0;s<e.length;s++){const r=e[s];if(i){if(t[1]<=r[0])return e[s-1][1]=t[1],e;if(t[1]<=r[1])return e[s-1][1]=Math.max(t[1],r[1]),e.splice(s,1),e;e.splice(s,1),s--}else{if(t[1]<=r[0])return e.splice(s,0,t),e;if(t[1]<=r[1])return r[0]=Math.min(t[0],r[0]),e;t[0]<r[1]&&(r[0]=Math.min(t[0],r[0]),i=!0)}}return i?e[e.length-1][1]=t[1]:e.push(t),e}};t.CharacterJoinerService=d,t.CharacterJoinerService=d=s=r([n(0,h.IBufferService)],d)},9574:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreBrowserService=void 0;const s=i(802),r=i(7093),n=i(7150);class o extends n.Disposable{constructor(e,t,i){super(),this._textarea=e,this._window=t,this.mainDocument=i,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new a(this._window)),this._onDprChange=this._register(new s.Emitter),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new s.Emitter),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange((e=>this._screenDprMonitor.setWindow(e)))),this._register(s.Event.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register((0,r.addDisposableListener)(this._textarea,\"focus\",(()=>this._isFocused=!0))),this._register((0,r.addDisposableListener)(this._textarea,\"blur\",(()=>this._isFocused=!1)))}get window(){return this._window}set window(e){this._window!==e&&(this._window=e,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return void 0===this._cachedIsFocused&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask((()=>this._cachedIsFocused=void 0))),this._cachedIsFocused}}t.CoreBrowserService=o;class a extends n.Disposable{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this._register(new n.MutableDisposable),this._onDprChange=this._register(new s.Emitter),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register((0,n.toDisposable)((()=>this.clearListener())))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=(0,r.addDisposableListener)(this._parentWindow,\"resize\",(()=>this._setDprAndFireIfDiffers()))}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){this._resolutionMediaMatchList&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}}},9820:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.LinkProviderService=void 0;const s=i(7150);class r extends s.Disposable{constructor(){super(),this.linkProviders=[],this._register((0,s.toDisposable)((()=>this.linkProviders.length=0)))}registerLinkProvider(e){return this.linkProviders.push(e),{dispose:()=>{const t=this.linkProviders.indexOf(e);-1!==t&&this.linkProviders.splice(t,1)}}}}t.LinkProviderService=r},9784:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.MouseService=void 0;const n=i(7098),o=i(5251);let a=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,i,s,r){return(0,o.getCoords)(window,e,t,i,s,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,r)}getMouseReportCoords(e,t){const i=(0,o.getCoordsRelativeToElement)(window,e,t);if(this._charSizeService.hasValidSize)return i[0]=Math.min(Math.max(i[0],0),this._renderService.dimensions.css.canvas.width-1),i[1]=Math.min(Math.max(i[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(i[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(i[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(i[0]),y:Math.floor(i[1])}}};t.MouseService=a,t.MouseService=a=s([r(0,n.IRenderService),r(1,n.ICharSizeService)],a)},5783:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.RenderService=void 0;const n=i(4852),o=i(7098),a=i(7150),l=i(6168),h=i(6501),c=i(802);let d=class extends a.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(e,t,i,s,r,o,h,d,_){super(),this._rowCount=e,this._optionsService=i,this._charSizeService=s,this._coreService=r,this._coreBrowserService=d,this._renderer=this._register(new a.MutableDisposable),this._pausedResizeTask=new l.DebouncedIdleTask,this._observerDisposable=this._register(new a.MutableDisposable),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new c.Emitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new c.Emitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new c.Emitter),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new c.Emitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new n.RenderDebouncer(((e,t)=>this._renderRows(e,t)),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new u(this._coreBrowserService,this._coreService,(()=>this._fullRefresh())),this._register((0,a.toDisposable)((()=>this._syncOutputHandler.dispose()))),this._register(this._coreBrowserService.onDprChange((()=>this.handleDevicePixelRatioChange()))),this._register(h.onResize((()=>this._fullRefresh()))),this._register(h.buffers.onBufferActivate((()=>this._renderer.value?.clear()))),this._register(this._optionsService.onOptionChange((()=>this._handleOptionsChanged()))),this._register(this._charSizeService.onCharSizeChange((()=>this.handleCharSizeChanged()))),this._register(o.onDecorationRegistered((()=>this._fullRefresh()))),this._register(o.onDecorationRemoved((()=>this._fullRefresh()))),this._register(this._optionsService.onMultipleOptionChange([\"customGlyphs\",\"drawBoldTextInBrightColors\",\"letterSpacing\",\"lineHeight\",\"fontFamily\",\"fontSize\",\"fontWeight\",\"fontWeightBold\",\"minimumContrastRatio\",\"rescaleOverlappingGlyphs\"],(()=>{this.clear(),this.handleResize(h.cols,h.rows),this._fullRefresh()}))),this._register(this._optionsService.onMultipleOptionChange([\"cursorBlink\",\"cursorStyle\"],(()=>this.refreshRows(h.buffer.y,h.buffer.y,!0)))),this._register(_.onChangeColors((()=>this._fullRefresh()))),this._registerIntersectionObserver(this._coreBrowserService.window,t),this._register(this._coreBrowserService.onWindowChange((e=>this._registerIntersectionObserver(e,t))))}_registerIntersectionObserver(e,t){if(\"IntersectionObserver\"in e){const i=new e.IntersectionObserver((e=>this._handleIntersectionChange(e[e.length-1])),{threshold:0});i.observe(t),this._observerDisposable.value=(0,a.toDisposable)((()=>i.disconnect()))}}_handleIntersectionChange(e){this._isPaused=void 0===e.isIntersecting?0===e.intersectionRatio:!e.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,t,i=!1){if(this._isPaused)return void(this._needsFullRefresh=!0);if(this._coreService.decPrivateModes.synchronizedOutput)return void this._syncOutputHandler.bufferRows(e,t);const s=this._syncOutputHandler.flush();s&&(e=Math.min(e,s.start),t=Math.max(t,s.end)),i||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount)}_renderRows(e,t){this._renderer.value&&(this._coreService.decPrivateModes.synchronizedOutput?this._syncOutputHandler.bufferRows(e,t):(e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0))}resize(e,t){this._rowCount=t,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw((e=>this.refreshRows(e.start,e.end,!0))),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set((()=>this._renderer.value?.handleResize(e,t))):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(e,t,i){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=i,this._renderer.value?.handleSelectionChanged(e,t,i)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};t.RenderService=d,t.RenderService=d=s([r(2,h.IOptionsService),r(3,o.ICharSizeService),r(4,h.ICoreService),r(5,h.IDecorationService),r(6,h.IBufferService),r(7,o.ICoreBrowserService),r(8,o.IThemeService)],d);class u{constructor(e,t,i){this._coreBrowserService=e,this._coreService=t,this._onTimeout=i,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(e,t){this._isBuffering?(this._start=Math.min(this._start,e),this._end=Math.max(this._end,t)):(this._start=e,this._end=t,this._isBuffering=!0),void 0===this._timeout&&(this._timeout=this._coreBrowserService.window.setTimeout((()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()}),1e3))}flush(){if(void 0!==this._timeout&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;const e={start:this._start,end:this._end};return this._isBuffering=!1,e}dispose(){void 0!==this._timeout&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}}},2079:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.SelectionService=void 0;const n=i(5251),o=i(9686),a=i(5959),l=i(7098),h=i(7150),c=i(701),d=i(9384),u=i(3055),_=i(6501),f=i(802),p=String.fromCharCode(160),g=new RegExp(p,\"g\");let m=class extends h.Disposable{constructor(e,t,i,s,r,n,o,l,c){super(),this._element=e,this._screenElement=t,this._linkifier=i,this._bufferService=s,this._coreService=r,this._mouseService=n,this._optionsService=o,this._renderService=l,this._coreBrowserService=c,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new u.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new f.Emitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new f.Emitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new f.Emitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new f.Emitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=e=>this._handleMouseMove(e),this._mouseUpListener=e=>this._handleMouseUp(e),this._coreService.onUserInput((()=>{this.hasSelection&&this.clearSelection()})),this._trimListener=this._bufferService.buffer.lines.onTrim((e=>this._handleTrim(e))),this._register(this._bufferService.buffers.onBufferActivate((e=>this._handleBufferActivate(e)))),this.enable(),this._model=new a.SelectionModel(this._bufferService),this._activeSelectionMode=0,this._register((0,h.toDisposable)((()=>{this._removeMouseDownListeners()}))),this._register(this._bufferService.onResize((e=>{e.rowsChanged&&this.clearSelection()})))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t||e[0]===t[0]&&e[1]===t[1])}get selectionText(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return\"\";const i=this._bufferService.buffer,s=[];if(3===this._activeSelectionMode){if(e[0]===t[0])return\"\";const r=e[0]<t[0]?e[0]:t[0],n=e[0]<t[0]?t[0]:e[0];for(let o=e[1];o<=t[1];o++){const e=i.translateBufferLineToString(o,!0,r,n);s.push(e)}}else{const r=e[1]===t[1]?t[0]:void 0;s.push(i.translateBufferLineToString(e[1],!0,e[0],r));for(let r=e[1]+1;r<=t[1]-1;r++){const e=i.lines.get(r),t=i.translateBufferLineToString(r,!0);e?.isWrapped?s[s.length-1]+=t:s.push(t)}if(e[1]!==t[1]){const e=i.lines.get(t[1]),r=i.translateBufferLineToString(t[1],!0,0,t[0]);e&&e.isWrapped?s[s.length-1]+=r:s.push(r)}}return s.map((e=>e.replace(g,\" \"))).join(c.isWindows?\"\\r\\n\":\"\\n\")}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._refresh()))),c.isLinux&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:3===this._activeSelectionMode})}_isClickInSelection(e){const t=this._getMouseBufferCoords(e),i=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!!(i&&s&&t)&&this._areCoordsInSelection(t,i,s)}isCellInSelection(e,t){const i=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!(!i||!s)&&this._areCoordsInSelection([e,t],i,s)}_areCoordsInSelection(e,t,i){return e[1]>t[1]&&e[1]<i[1]||t[1]===i[1]&&e[1]===t[1]&&e[0]>=t[0]&&e[0]<i[0]||t[1]<i[1]&&e[1]===i[1]&&e[0]<i[0]||t[1]<i[1]&&e[1]===t[1]&&e[0]>=t[0]}_selectWordAtCursor(e,t){const i=this._linkifier.currentLink?.link?.range;if(i)return this._model.selectionStart=[i.start.x-1,i.start.y-1],this._model.selectionStartLength=(0,d.getRangeLength)(i,this._bufferService.cols),this._model.selectionEnd=void 0,!0;const s=this._getMouseBufferCoords(e);return!!s&&(this._selectWordAt(s,t),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){const t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=(0,n.getCoordsRelativeToElement)(this._coreBrowserService.window,e,this._screenElement)[1];const i=this._renderService.dimensions.css.canvas.height;return t>=0&&t<=i?0:(t>i&&(t-=i),t=Math.min(Math.max(t,-50),50),t/=50,t/Math.abs(t)+Math.round(14*t))}shouldForceSelection(e){return c.isMac?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,(2!==e.button||!this.hasSelection)&&0===e.button){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):1===e.detail?this._handleSingleClick(e):2===e.detail?this._handleDoubleClick(e):3===e.detail&&this._handleTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener(\"mousemove\",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener(\"mouseup\",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval((()=>this._dragScroll()),50)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener(\"mousemove\",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener(\"mouseup\",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;const t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&0===t.hasWidth(this._model.selectionStart[0])&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){const t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))}shouldColumnSelect(e){return e.altKey&&!(c.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;const t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd)return void this.refresh(!0);2===this._activeSelectionMode?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:1===this._activeSelectionMode&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(e),3!==this._activeSelectionMode&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));const i=this._bufferService.buffer;if(this._model.selectionEnd[1]<i.lines.length){const e=i.lines.get(this._model.selectionEnd[1]);e&&0===e.hasWidth(this._model.selectionEnd[0])&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}t&&t[0]===this._model.selectionEnd[0]&&t[1]===this._model.selectionEnd[1]||this.refresh(!0)}_dragScroll(){if(this._model.selectionEnd&&this._model.selectionStart&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});const e=this._bufferService.buffer;this._dragScrollAmount>0?(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){const t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<500&&e.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){const t=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(t&&void 0!==t[0]&&void 0!==t[1]){const e=(0,o.moveToCellSequence)(t[0]-1,t[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(e,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd,i=!(!e||!t||e[0]===t[0]&&e[1]===t[1]);i?e&&t&&(this._oldSelectionStart&&this._oldSelectionEnd&&e[0]===this._oldSelectionStart[0]&&e[1]===this._oldSelectionStart[1]&&t[0]===this._oldSelectionEnd[0]&&t[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(e,t,i)):this._oldHasSelection&&this._fireOnSelectionChange(e,t,i)}_fireOnSelectionChange(e,t,i){this._oldSelectionStart=e,this._oldSelectionEnd=t,this._oldHasSelection=i,this._onSelectionChange.fire()}_handleBufferActivate(e){this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim((e=>this._handleTrim(e)))}_convertViewportColToCharacterIndex(e,t){let i=t;for(let s=0;t>=s;s++){const r=e.loadCell(s,this._workCell).getChars().length;0===this._workCell.getWidth()?i--:r>1&&t!==s&&(i+=r-1)}return i}setSelection(e,t,i){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=i,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,t,i=!0,s=!0){if(e[0]>=this._bufferService.cols)return;const r=this._bufferService.buffer,n=r.lines.get(e[1]);if(!n)return;const o=r.translateBufferLineToString(e[1],!1);let a=this._convertViewportColToCharacterIndex(n,e[0]),l=a;const h=e[0]-a;let c=0,d=0,u=0,_=0;if(\" \"===o.charAt(a)){for(;a>0&&\" \"===o.charAt(a-1);)a--;for(;l<o.length&&\" \"===o.charAt(l+1);)l++}else{let t=e[0],i=e[0];0===n.getWidth(t)&&(c++,t--),2===n.getWidth(i)&&(d++,i++);const s=n.getString(i).length;for(s>1&&(_+=s-1,l+=s-1);t>0&&a>0&&!this._isCharWordSeparator(n.loadCell(t-1,this._workCell));){n.loadCell(t-1,this._workCell);const e=this._workCell.getChars().length;0===this._workCell.getWidth()?(c++,t--):e>1&&(u+=e-1,a-=e-1),a--,t--}for(;i<n.length&&l+1<o.length&&!this._isCharWordSeparator(n.loadCell(i+1,this._workCell));){n.loadCell(i+1,this._workCell);const e=this._workCell.getChars().length;2===this._workCell.getWidth()?(d++,i++):e>1&&(_+=e-1,l+=e-1),l++,i++}}l++;let f=a+h-c+u,p=Math.min(this._bufferService.cols,l-a+c+d-u-_);if(t||\"\"!==o.slice(a,l).trim()){if(i&&0===f&&32!==n.getCodePoint(0)){const t=r.lines.get(e[1]-1);if(t&&n.isWrapped&&32!==t.getCodePoint(this._bufferService.cols-1)){const t=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(t){const e=this._bufferService.cols-t.start;f-=e,p+=e}}}if(s&&f+p===this._bufferService.cols&&32!==n.getCodePoint(this._bufferService.cols-1)){const t=r.lines.get(e[1]+1);if(t?.isWrapped&&32!==t.getCodePoint(0)){const t=this._getWordAt([0,e[1]+1],!1,!1,!0);t&&(p+=t.length)}}return{start:f,length:p}}}_selectWordAt(e,t){const i=this._getWordAt(e,t);if(i){for(;i.start<0;)i.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[i.start,e[1]],this._model.selectionStartLength=i.length}}_selectToWordAt(e){const t=this._getWordAt(e,!0);if(t){let i=e[1];for(;t.start<0;)t.start+=this._bufferService.cols,i--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,i++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,i]}}_isCharWordSeparator(e){return 0!==e.getWidth()&&this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){const t=this._bufferService.buffer.getWrappedRangeForLine(e),i={start:{x:0,y:t.first},end:{x:this._bufferService.cols-1,y:t.last}};this._model.selectionStart=[0,t.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,d.getRangeLength)(i,this._bufferService.cols)}};t.SelectionService=m,t.SelectionService=m=s([r(3,_.IBufferService),r(4,_.ICoreService),r(5,l.IMouseService),r(6,_.IOptionsService),r(7,l.IRenderService),r(8,l.ICoreBrowserService)],m)},7098:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ILinkProviderService=t.IThemeService=t.ICharacterJoinerService=t.ISelectionService=t.IRenderService=t.IMouseService=t.ICoreBrowserService=t.ICharSizeService=void 0;const s=i(6201);t.ICharSizeService=(0,s.createDecorator)(\"CharSizeService\"),t.ICoreBrowserService=(0,s.createDecorator)(\"CoreBrowserService\"),t.IMouseService=(0,s.createDecorator)(\"MouseService\"),t.IRenderService=(0,s.createDecorator)(\"RenderService\"),t.ISelectionService=(0,s.createDecorator)(\"SelectionService\"),t.ICharacterJoinerService=(0,s.createDecorator)(\"CharacterJoinerService\"),t.IThemeService=(0,s.createDecorator)(\"ThemeService\"),t.ILinkProviderService=(0,s.createDecorator)(\"LinkProviderService\")},9078:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.ThemeService=void 0;const n=i(7174),o=i(9302),a=i(4103),l=i(7150),h=i(6501),c=i(802),d=a.css.toColor(\"#ffffff\"),u=a.css.toColor(\"#000000\"),_=a.css.toColor(\"#ffffff\"),f=u,p={css:\"rgba(255, 255, 255, 0.3)\",rgba:4294967117},g=d;let m=class extends l.Disposable{get colors(){return this._colors}constructor(e){super(),this._optionsService=e,this._contrastCache=new n.ColorContrastCache,this._halfContrastCache=new n.ColorContrastCache,this._onChangeColors=this._register(new c.Emitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:d,background:u,cursor:_,cursorAccent:f,selectionForeground:void 0,selectionBackgroundTransparent:p,selectionBackgroundOpaque:a.color.blend(u,p),selectionInactiveBackgroundTransparent:p,selectionInactiveBackgroundOpaque:a.color.blend(u,p),scrollbarSliderBackground:a.color.opacity(d,.2),scrollbarSliderHoverBackground:a.color.opacity(d,.4),scrollbarSliderActiveBackground:a.color.opacity(d,.5),overviewRulerBorder:d,ansi:o.DEFAULT_ANSI_COLORS.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange(\"minimumContrastRatio\",(()=>this._contrastCache.clear()))),this._register(this._optionsService.onSpecificOptionChange(\"theme\",(()=>this._setTheme(this._optionsService.rawOptions.theme))))}_setTheme(e={}){const t=this._colors;if(t.foreground=v(e.foreground,d),t.background=v(e.background,u),t.cursor=a.color.blend(t.background,v(e.cursor,_)),t.cursorAccent=a.color.blend(t.background,v(e.cursorAccent,f)),t.selectionBackgroundTransparent=v(e.selectionBackground,p),t.selectionBackgroundOpaque=a.color.blend(t.background,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundTransparent=v(e.selectionInactiveBackground,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundOpaque=a.color.blend(t.background,t.selectionInactiveBackgroundTransparent),t.selectionForeground=e.selectionForeground?v(e.selectionForeground,a.NULL_COLOR):void 0,t.selectionForeground===a.NULL_COLOR&&(t.selectionForeground=void 0),a.color.isOpaque(t.selectionBackgroundTransparent)){const e=.3;t.selectionBackgroundTransparent=a.color.opacity(t.selectionBackgroundTransparent,e)}if(a.color.isOpaque(t.selectionInactiveBackgroundTransparent)){const e=.3;t.selectionInactiveBackgroundTransparent=a.color.opacity(t.selectionInactiveBackgroundTransparent,e)}if(t.scrollbarSliderBackground=v(e.scrollbarSliderBackground,a.color.opacity(t.foreground,.2)),t.scrollbarSliderHoverBackground=v(e.scrollbarSliderHoverBackground,a.color.opacity(t.foreground,.4)),t.scrollbarSliderActiveBackground=v(e.scrollbarSliderActiveBackground,a.color.opacity(t.foreground,.5)),t.overviewRulerBorder=v(e.overviewRulerBorder,g),t.ansi=o.DEFAULT_ANSI_COLORS.slice(),t.ansi[0]=v(e.black,o.DEFAULT_ANSI_COLORS[0]),t.ansi[1]=v(e.red,o.DEFAULT_ANSI_COLORS[1]),t.ansi[2]=v(e.green,o.DEFAULT_ANSI_COLORS[2]),t.ansi[3]=v(e.yellow,o.DEFAULT_ANSI_COLORS[3]),t.ansi[4]=v(e.blue,o.DEFAULT_ANSI_COLORS[4]),t.ansi[5]=v(e.magenta,o.DEFAULT_ANSI_COLORS[5]),t.ansi[6]=v(e.cyan,o.DEFAULT_ANSI_COLORS[6]),t.ansi[7]=v(e.white,o.DEFAULT_ANSI_COLORS[7]),t.ansi[8]=v(e.brightBlack,o.DEFAULT_ANSI_COLORS[8]),t.ansi[9]=v(e.brightRed,o.DEFAULT_ANSI_COLORS[9]),t.ansi[10]=v(e.brightGreen,o.DEFAULT_ANSI_COLORS[10]),t.ansi[11]=v(e.brightYellow,o.DEFAULT_ANSI_COLORS[11]),t.ansi[12]=v(e.brightBlue,o.DEFAULT_ANSI_COLORS[12]),t.ansi[13]=v(e.brightMagenta,o.DEFAULT_ANSI_COLORS[13]),t.ansi[14]=v(e.brightCyan,o.DEFAULT_ANSI_COLORS[14]),t.ansi[15]=v(e.brightWhite,o.DEFAULT_ANSI_COLORS[15]),e.extendedAnsi){const i=Math.min(t.ansi.length-16,e.extendedAnsi.length);for(let s=0;s<i;s++)t.ansi[s+16]=v(e.extendedAnsi[s],o.DEFAULT_ANSI_COLORS[s+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(e){this._restoreColor(e),this._onChangeColors.fire(this.colors)}_restoreColor(e){if(void 0!==e)switch(e){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[e]=this._restoreColors.ansi[e]}else for(let e=0;e<this._restoreColors.ansi.length;++e)this._colors.ansi[e]=this._restoreColors.ansi[e]}modifyColors(e){e(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};function v(e,t){if(void 0!==e)try{return a.css.toColor(e)}catch{}return t}t.ThemeService=m,t.ThemeService=m=s([r(0,h.IOptionsService)],m)},5639:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CircularList=void 0;const s=i(7150),r=i(802);class n extends s.Disposable{constructor(e){super(),this._maxLength=e,this.onDeleteEmitter=this._register(new r.Emitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new r.Emitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new r.Emitter),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(e){if(this._maxLength===e)return;const t=new Array(e);for(let i=0;i<Math.min(e,this.length);i++)t[i]=this._array[this._getCyclicIndex(i)];this._array=t,this._maxLength=e,this._startIndex=0}get length(){return this._length}set length(e){if(e>this._length)for(let t=this._length;t<e;t++)this._array[t]=void 0;this._length=e}get(e){return this._array[this._getCyclicIndex(e)]}set(e,t){this._array[this._getCyclicIndex(e)]=t}push(e){this._array[this._getCyclicIndex(this._length)]=e,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new Error(\"Can only recycle when the buffer is full\");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(e,t,...i){if(t){for(let i=e;i<this._length-t;i++)this._array[this._getCyclicIndex(i)]=this._array[this._getCyclicIndex(i+t)];this._length-=t,this.onDeleteEmitter.fire({index:e,amount:t})}for(let t=this._length-1;t>=e;t--)this._array[this._getCyclicIndex(t+i.length)]=this._array[this._getCyclicIndex(t)];for(let t=0;t<i.length;t++)this._array[this._getCyclicIndex(e+t)]=i[t];if(i.length&&this.onInsertEmitter.fire({index:e,amount:i.length}),this._length+i.length>this._maxLength){const e=this._length+i.length-this._maxLength;this._startIndex+=e,this._length=this._maxLength,this.onTrimEmitter.fire(e)}else this._length+=i.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,i){if(!(t<=0)){if(e<0||e>=this._length)throw new Error(\"start argument out of range\");if(e+i<0)throw new Error(\"Cannot shift elements in list beyond index 0\");if(i>0){for(let s=t-1;s>=0;s--)this.set(e+s+i,this.get(e+s));const s=e+t+i-this._length;if(s>0)for(this._length+=s;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let s=0;s<t;s++)this.set(e+s+i,this.get(e+s))}}_getCyclicIndex(e){return(this._startIndex+e)%this._maxLength}}t.CircularList=n},7453:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.clone=function e(t,i=5){if(\"object\"!=typeof t)return t;const s=Array.isArray(t)?[]:{};for(const r in t)s[r]=i<=1?t[r]:t[r]&&e(t[r],i-1);return s}},4103:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.rgba=t.rgb=t.css=t.color=t.channels=t.NULL_COLOR=void 0,t.toPaddedHex=d,t.contrastRatio=u;let i=0,s=0,r=0,n=0;var o,a,l,h,c;function d(e){const t=e.toString(16);return t.length<2?\"0\"+t:t}function u(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}t.NULL_COLOR={css:\"#00000000\",rgba:0},function(e){e.toCss=function(e,t,i,s){return void 0!==s?`#${d(e)}${d(t)}${d(i)}${d(s)}`:`#${d(e)}${d(t)}${d(i)}`},e.toRgba=function(e,t,i,s=255){return(e<<24|t<<16|i<<8|s)>>>0},e.toColor=function(t,i,s,r){return{css:e.toCss(t,i,s,r),rgba:e.toRgba(t,i,s,r)}}}(o||(t.channels=o={})),function(e){function t(e,t){return n=Math.round(255*t),[i,s,r]=c.toChannels(e.rgba),{css:o.toCss(i,s,r,n),rgba:o.toRgba(i,s,r,n)}}e.blend=function(e,t){if(n=(255&t.rgba)/255,1===n)return{css:t.css,rgba:t.rgba};const a=t.rgba>>24&255,l=t.rgba>>16&255,h=t.rgba>>8&255,c=e.rgba>>24&255,d=e.rgba>>16&255,u=e.rgba>>8&255;return i=c+Math.round((a-c)*n),s=d+Math.round((l-d)*n),r=u+Math.round((h-u)*n),{css:o.toCss(i,s,r),rgba:o.toRgba(i,s,r)}},e.isOpaque=function(e){return!(255&~e.rgba)},e.ensureContrastRatio=function(e,t,i){const s=c.ensureContrastRatio(e.rgba,t.rgba,i);if(s)return o.toColor(s>>24&255,s>>16&255,s>>8&255)},e.opaque=function(e){const t=(255|e.rgba)>>>0;return[i,s,r]=c.toChannels(t),{css:o.toCss(i,s,r),rgba:t}},e.opacity=t,e.multiplyOpacity=function(e,i){return n=255&e.rgba,t(e,n*i/255)},e.toColorRGB=function(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}}(a||(t.color=a={})),function(e){let t,a;try{const e=document.createElement(\"canvas\");e.width=1,e.height=1;const i=e.getContext(\"2d\",{willReadFrequently:!0});i&&(t=i,t.globalCompositeOperation=\"copy\",a=t.createLinearGradient(0,0,1,1))}catch{}e.toColor=function(e){if(e.match(/#[\\da-f]{3,8}/i))switch(e.length){case 4:return i=parseInt(e.slice(1,2).repeat(2),16),s=parseInt(e.slice(2,3).repeat(2),16),r=parseInt(e.slice(3,4).repeat(2),16),o.toColor(i,s,r);case 5:return i=parseInt(e.slice(1,2).repeat(2),16),s=parseInt(e.slice(2,3).repeat(2),16),r=parseInt(e.slice(3,4).repeat(2),16),n=parseInt(e.slice(4,5).repeat(2),16),o.toColor(i,s,r,n);case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}const l=e.match(/rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(,\\s*(0|1|\\d?\\.(\\d+))\\s*)?\\)/);if(l)return i=parseInt(l[1]),s=parseInt(l[2]),r=parseInt(l[3]),n=Math.round(255*(void 0===l[5]?1:parseFloat(l[5]))),o.toColor(i,s,r,n);if(!t||!a)throw new Error(\"css.toColor: Unsupported css format\");if(t.fillStyle=a,t.fillStyle=e,\"string\"!=typeof t.fillStyle)throw new Error(\"css.toColor: Unsupported css format\");if(t.fillRect(0,0,1,1),[i,s,r,n]=t.getImageData(0,0,1,1).data,255!==n)throw new Error(\"css.toColor: Unsupported css format\");return{rgba:o.toRgba(i,s,r,n),css:e}}}(l||(t.css=l={})),function(e){function t(e,t,i){const s=e/255,r=t/255,n=i/255;return.2126*(s<=.03928?s/12.92:Math.pow((s+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t}(h||(t.rgb=h={})),function(e){function t(e,t,i){const s=e>>24&255,r=e>>16&255,n=e>>8&255;let o=t>>24&255,a=t>>16&255,l=t>>8&255,c=u(h.relativeLuminance2(o,a,l),h.relativeLuminance2(s,r,n));for(;c<i&&(o>0||a>0||l>0);)o-=Math.max(0,Math.ceil(.1*o)),a-=Math.max(0,Math.ceil(.1*a)),l-=Math.max(0,Math.ceil(.1*l)),c=u(h.relativeLuminance2(o,a,l),h.relativeLuminance2(s,r,n));return(o<<24|a<<16|l<<8|255)>>>0}function a(e,t,i){const s=e>>24&255,r=e>>16&255,n=e>>8&255;let o=t>>24&255,a=t>>16&255,l=t>>8&255,c=u(h.relativeLuminance2(o,a,l),h.relativeLuminance2(s,r,n));for(;c<i&&(o<255||a<255||l<255);)o=Math.min(255,o+Math.ceil(.1*(255-o))),a=Math.min(255,a+Math.ceil(.1*(255-a))),l=Math.min(255,l+Math.ceil(.1*(255-l))),c=u(h.relativeLuminance2(o,a,l),h.relativeLuminance2(s,r,n));return(o<<24|a<<16|l<<8|255)>>>0}e.blend=function(e,t){if(n=(255&t)/255,1===n)return t;const a=t>>24&255,l=t>>16&255,h=t>>8&255,c=e>>24&255,d=e>>16&255,u=e>>8&255;return i=c+Math.round((a-c)*n),s=d+Math.round((l-d)*n),r=u+Math.round((h-u)*n),o.toRgba(i,s,r)},e.ensureContrastRatio=function(e,i,s){const r=h.relativeLuminance(e>>8),n=h.relativeLuminance(i>>8);if(u(r,n)<s){if(n<r){const n=t(e,i,s),o=u(r,h.relativeLuminance(n>>8));if(o<s){const t=a(e,i,s);return o>u(r,h.relativeLuminance(t>>8))?n:t}return n}const o=a(e,i,s),l=u(r,h.relativeLuminance(o>>8));if(l<s){const n=t(e,i,s);return l>u(r,h.relativeLuminance(n>>8))?o:n}return o}},e.reduceLuminance=t,e.increaseLuminance=a,e.toChannels=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]}}(c||(t.rgba=c={}))},5777:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreTerminal=void 0;const s=i(6501),r=i(6025),n=i(7276),o=i(9640),a=i(56),l=i(4071),h=i(7792),c=i(6415),d=i(5746),u=i(5882),_=i(2486),f=i(3562),p=i(8811),g=i(802),m=i(7150);let v=!1;class S extends m.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new g.Emitter),this._onScroll.event((e=>{this._onScrollApi?.fire(e.position)}))),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e){for(const t in e)this.optionsService.options[t]=e[t]}constructor(e){super(),this._windowsWrappingHeuristics=this._register(new m.MutableDisposable),this._onBinary=this._register(new g.Emitter),this.onBinary=this._onBinary.event,this._onData=this._register(new g.Emitter),this.onData=this._onData.event,this._onLineFeed=this._register(new g.Emitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new g.Emitter),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new g.Emitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new g.Emitter),this._instantiationService=new r.InstantiationService,this.optionsService=this._register(new a.OptionsService(e)),this._instantiationService.setService(s.IOptionsService,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(o.BufferService)),this._instantiationService.setService(s.IBufferService,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(n.LogService)),this._instantiationService.setService(s.ILogService,this._logService),this.coreService=this._register(this._instantiationService.createInstance(l.CoreService)),this._instantiationService.setService(s.ICoreService,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(h.CoreMouseService)),this._instantiationService.setService(s.ICoreMouseService,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(c.UnicodeService)),this._instantiationService.setService(s.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(d.CharsetService),this._instantiationService.setService(s.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(p.OscLinkService),this._instantiationService.setService(s.IOscLinkService,this._oscLinkService),this._inputHandler=this._register(new _.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(g.Event.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(g.Event.forward(this._bufferService.onResize,this._onResize)),this._register(g.Event.forward(this.coreService.onData,this._onData)),this._register(g.Event.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom((()=>this.scrollToBottom(!0)))),this._register(this.coreService.onUserInput((()=>this._writeBuffer.handleUserInput()))),this._register(this.optionsService.onMultipleOptionChange([\"windowsMode\",\"windowsPty\"],(()=>this._handleWindowsPtyOptionChange()))),this._register(this._bufferService.onScroll((()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this._writeBuffer=this._register(new f.WriteBuffer(((e,t)=>this._inputHandler.parse(e,t)))),this._register(g.Event.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(e,t){this._writeBuffer.write(e,t)}writeSync(e,t){this._logService.logLevel<=s.LogLevelEnum.WARN&&!v&&(this._logService.warn(\"writeSync is unreliable and will be removed soon.\"),v=!0),this._writeBuffer.writeSync(e,t)}input(e,t=!0){this.coreService.triggerDataEvent(e,t)}resize(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,o.MINIMUM_COLS),t=Math.max(t,o.MINIMUM_ROWS),this._bufferService.resize(e,t))}scroll(e,t=!1){this._bufferService.scroll(e,t)}scrollLines(e,t){this._bufferService.scrollLines(e,t)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){const t=e-this._bufferService.buffer.ydisp;0!==t&&this.scrollLines(t)}registerEscHandler(e,t){return this._inputHandler.registerEscHandler(e,t)}registerDcsHandler(e,t){return this._inputHandler.registerDcsHandler(e,t)}registerCsiHandler(e,t){return this._inputHandler.registerCsiHandler(e,t)}registerOscHandler(e,t){return this._inputHandler.registerOscHandler(e,t)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1;const t=this.optionsService.rawOptions.windowsPty;t&&void 0!==t.buildNumber&&void 0!==t.buildNumber?e=!!(\"conpty\"===t.backend&&t.buildNumber<21376):this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){const e=[];e.push(this.onLineFeed(u.updateWindowsModeWrappedState.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:\"H\"},(()=>((0,u.updateWindowsModeWrappedState)(this._bufferService),!1)))),this._windowsWrappingHeuristics.value=(0,m.toDisposable)((()=>{for(const t of e)t.dispose()}))}}}t.CoreTerminal=S},2486:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.InputHandler=t.WindowsOptionsReportType=void 0,t.isValidColorIndex=R;const n=i(3534),o=i(6760),a=i(6717),l=i(7150),h=i(726),c=i(6107),d=i(8938),u=i(3055),_=i(5451),f=i(6501),p=i(6415),g=i(1346),m=i(9823),v=i(8693),S=i(802),b={\"(\":0,\")\":1,\"*\":2,\"+\":3,\"-\":1,\".\":2},C=131072;function y(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var w;!function(e){e[e.GET_WIN_SIZE_PIXELS=0]=\"GET_WIN_SIZE_PIXELS\",e[e.GET_CELL_SIZE_PIXELS=1]=\"GET_CELL_SIZE_PIXELS\"}(w||(t.WindowsOptionsReportType=w={}));let E=0;class D extends l.Disposable{getAttrData(){return this._curAttrData}constructor(e,t,i,s,r,l,d,u,_=new a.EscapeSequenceParser){super(),this._bufferService=e,this._charsetService=t,this._coreService=i,this._logService=s,this._optionsService=r,this._oscLinkService=l,this._coreMouseService=d,this._unicodeService=u,this._parser=_,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new h.StringToUtf32,this._utf8Decoder=new h.Utf8ToUtf32,this._windowTitle=\"\",this._iconName=\"\",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=c.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=c.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this._register(new S.Emitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new S.Emitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new S.Emitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new S.Emitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new S.Emitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new S.Emitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new S.Emitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new S.Emitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new S.Emitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new S.Emitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new S.Emitter),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new S.Emitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new S.Emitter),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new L(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate((e=>this._activeBuffer=e.activeBuffer))),this._parser.setCsiHandlerFallback(((e,t)=>{this._logService.debug(\"Unknown CSI code: \",{identifier:this._parser.identToString(e),params:t.toArray()})})),this._parser.setEscHandlerFallback((e=>{this._logService.debug(\"Unknown ESC code: \",{identifier:this._parser.identToString(e)})})),this._parser.setExecuteHandlerFallback((e=>{this._logService.debug(\"Unknown EXECUTE code: \",{code:e})})),this._parser.setOscHandlerFallback(((e,t,i)=>{this._logService.debug(\"Unknown OSC code: \",{identifier:e,action:t,data:i})})),this._parser.setDcsHandlerFallback(((e,t,i)=>{\"HOOK\"===t&&(i=i.toArray()),this._logService.debug(\"Unknown DCS code: \",{identifier:this._parser.identToString(e),action:t,payload:i})})),this._parser.setPrintHandler(((e,t,i)=>this.print(e,t,i))),this._parser.registerCsiHandler({final:\"@\"},(e=>this.insertChars(e))),this._parser.registerCsiHandler({intermediates:\" \",final:\"@\"},(e=>this.scrollLeft(e))),this._parser.registerCsiHandler({final:\"A\"},(e=>this.cursorUp(e))),this._parser.registerCsiHandler({intermediates:\" \",final:\"A\"},(e=>this.scrollRight(e))),this._parser.registerCsiHandler({final:\"B\"},(e=>this.cursorDown(e))),this._parser.registerCsiHandler({final:\"C\"},(e=>this.cursorForward(e))),this._parser.registerCsiHandler({final:\"D\"},(e=>this.cursorBackward(e))),this._parser.registerCsiHandler({final:\"E\"},(e=>this.cursorNextLine(e))),this._parser.registerCsiHandler({final:\"F\"},(e=>this.cursorPrecedingLine(e))),this._parser.registerCsiHandler({final:\"G\"},(e=>this.cursorCharAbsolute(e))),this._parser.registerCsiHandler({final:\"H\"},(e=>this.cursorPosition(e))),this._parser.registerCsiHandler({final:\"I\"},(e=>this.cursorForwardTab(e))),this._parser.registerCsiHandler({final:\"J\"},(e=>this.eraseInDisplay(e,!1))),this._parser.registerCsiHandler({prefix:\"?\",final:\"J\"},(e=>this.eraseInDisplay(e,!0))),this._parser.registerCsiHandler({final:\"K\"},(e=>this.eraseInLine(e,!1))),this._parser.registerCsiHandler({prefix:\"?\",final:\"K\"},(e=>this.eraseInLine(e,!0))),this._parser.registerCsiHandler({final:\"L\"},(e=>this.insertLines(e))),this._parser.registerCsiHandler({final:\"M\"},(e=>this.deleteLines(e))),this._parser.registerCsiHandler({final:\"P\"},(e=>this.deleteChars(e))),this._parser.registerCsiHandler({final:\"S\"},(e=>this.scrollUp(e))),this._parser.registerCsiHandler({final:\"T\"},(e=>this.scrollDown(e))),this._parser.registerCsiHandler({final:\"X\"},(e=>this.eraseChars(e))),this._parser.registerCsiHandler({final:\"Z\"},(e=>this.cursorBackwardTab(e))),this._parser.registerCsiHandler({final:\"`\"},(e=>this.charPosAbsolute(e))),this._parser.registerCsiHandler({final:\"a\"},(e=>this.hPositionRelative(e))),this._parser.registerCsiHandler({final:\"b\"},(e=>this.repeatPrecedingCharacter(e))),this._parser.registerCsiHandler({final:\"c\"},(e=>this.sendDeviceAttributesPrimary(e))),this._parser.registerCsiHandler({prefix:\">\",final:\"c\"},(e=>this.sendDeviceAttributesSecondary(e))),this._parser.registerCsiHandler({final:\"d\"},(e=>this.linePosAbsolute(e))),this._parser.registerCsiHandler({final:\"e\"},(e=>this.vPositionRelative(e))),this._parser.registerCsiHandler({final:\"f\"},(e=>this.hVPosition(e))),this._parser.registerCsiHandler({final:\"g\"},(e=>this.tabClear(e))),this._parser.registerCsiHandler({final:\"h\"},(e=>this.setMode(e))),this._parser.registerCsiHandler({prefix:\"?\",final:\"h\"},(e=>this.setModePrivate(e))),this._parser.registerCsiHandler({final:\"l\"},(e=>this.resetMode(e))),this._parser.registerCsiHandler({prefix:\"?\",final:\"l\"},(e=>this.resetModePrivate(e))),this._parser.registerCsiHandler({final:\"m\"},(e=>this.charAttributes(e))),this._parser.registerCsiHandler({final:\"n\"},(e=>this.deviceStatus(e))),this._parser.registerCsiHandler({prefix:\"?\",final:\"n\"},(e=>this.deviceStatusPrivate(e))),this._parser.registerCsiHandler({intermediates:\"!\",final:\"p\"},(e=>this.softReset(e))),this._parser.registerCsiHandler({intermediates:\" \",final:\"q\"},(e=>this.setCursorStyle(e))),this._parser.registerCsiHandler({final:\"r\"},(e=>this.setScrollRegion(e))),this._parser.registerCsiHandler({final:\"s\"},(e=>this.saveCursor(e))),this._parser.registerCsiHandler({final:\"t\"},(e=>this.windowOptions(e))),this._parser.registerCsiHandler({final:\"u\"},(e=>this.restoreCursor(e))),this._parser.registerCsiHandler({intermediates:\"'\",final:\"}\"},(e=>this.insertColumns(e))),this._parser.registerCsiHandler({intermediates:\"'\",final:\"~\"},(e=>this.deleteColumns(e))),this._parser.registerCsiHandler({intermediates:'\"',final:\"q\"},(e=>this.selectProtected(e))),this._parser.registerCsiHandler({intermediates:\"$\",final:\"p\"},(e=>this.requestMode(e,!0))),this._parser.registerCsiHandler({prefix:\"?\",intermediates:\"$\",final:\"p\"},(e=>this.requestMode(e,!1))),this._parser.setExecuteHandler(n.C0.BEL,(()=>this.bell())),this._parser.setExecuteHandler(n.C0.LF,(()=>this.lineFeed())),this._parser.setExecuteHandler(n.C0.VT,(()=>this.lineFeed())),this._parser.setExecuteHandler(n.C0.FF,(()=>this.lineFeed())),this._parser.setExecuteHandler(n.C0.CR,(()=>this.carriageReturn())),this._parser.setExecuteHandler(n.C0.BS,(()=>this.backspace())),this._parser.setExecuteHandler(n.C0.HT,(()=>this.tab())),this._parser.setExecuteHandler(n.C0.SO,(()=>this.shiftOut())),this._parser.setExecuteHandler(n.C0.SI,(()=>this.shiftIn())),this._parser.setExecuteHandler(n.C1.IND,(()=>this.index())),this._parser.setExecuteHandler(n.C1.NEL,(()=>this.nextLine())),this._parser.setExecuteHandler(n.C1.HTS,(()=>this.tabSet())),this._parser.registerOscHandler(0,new g.OscHandler((e=>(this.setTitle(e),this.setIconName(e),!0)))),this._parser.registerOscHandler(1,new g.OscHandler((e=>this.setIconName(e)))),this._parser.registerOscHandler(2,new g.OscHandler((e=>this.setTitle(e)))),this._parser.registerOscHandler(4,new g.OscHandler((e=>this.setOrReportIndexedColor(e)))),this._parser.registerOscHandler(8,new g.OscHandler((e=>this.setHyperlink(e)))),this._parser.registerOscHandler(10,new g.OscHandler((e=>this.setOrReportFgColor(e)))),this._parser.registerOscHandler(11,new g.OscHandler((e=>this.setOrReportBgColor(e)))),this._parser.registerOscHandler(12,new g.OscHandler((e=>this.setOrReportCursorColor(e)))),this._parser.registerOscHandler(104,new g.OscHandler((e=>this.restoreIndexedColor(e)))),this._parser.registerOscHandler(110,new g.OscHandler((e=>this.restoreFgColor(e)))),this._parser.registerOscHandler(111,new g.OscHandler((e=>this.restoreBgColor(e)))),this._parser.registerOscHandler(112,new g.OscHandler((e=>this.restoreCursorColor(e)))),this._parser.registerEscHandler({final:\"7\"},(()=>this.saveCursor())),this._parser.registerEscHandler({final:\"8\"},(()=>this.restoreCursor())),this._parser.registerEscHandler({final:\"D\"},(()=>this.index())),this._parser.registerEscHandler({final:\"E\"},(()=>this.nextLine())),this._parser.registerEscHandler({final:\"H\"},(()=>this.tabSet())),this._parser.registerEscHandler({final:\"M\"},(()=>this.reverseIndex())),this._parser.registerEscHandler({final:\"=\"},(()=>this.keypadApplicationMode())),this._parser.registerEscHandler({final:\">\"},(()=>this.keypadNumericMode())),this._parser.registerEscHandler({final:\"c\"},(()=>this.fullReset())),this._parser.registerEscHandler({final:\"n\"},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:\"o\"},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:\"|\"},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:\"}\"},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:\"~\"},(()=>this.setgLevel(1))),this._parser.registerEscHandler({intermediates:\"%\",final:\"@\"},(()=>this.selectDefaultCharset())),this._parser.registerEscHandler({intermediates:\"%\",final:\"G\"},(()=>this.selectDefaultCharset()));for(const e in o.CHARSETS)this._parser.registerEscHandler({intermediates:\"(\",final:e},(()=>this.selectCharset(\"(\"+e))),this._parser.registerEscHandler({intermediates:\")\",final:e},(()=>this.selectCharset(\")\"+e))),this._parser.registerEscHandler({intermediates:\"*\",final:e},(()=>this.selectCharset(\"*\"+e))),this._parser.registerEscHandler({intermediates:\"+\",final:e},(()=>this.selectCharset(\"+\"+e))),this._parser.registerEscHandler({intermediates:\"-\",final:e},(()=>this.selectCharset(\"-\"+e))),this._parser.registerEscHandler({intermediates:\".\",final:e},(()=>this.selectCharset(\".\"+e))),this._parser.registerEscHandler({intermediates:\"/\",final:e},(()=>this.selectCharset(\"/\"+e)));this._parser.registerEscHandler({intermediates:\"#\",final:\"8\"},(()=>this.screenAlignmentPattern())),this._parser.setErrorHandler((e=>(this._logService.error(\"Parsing error: \",e),e))),this._parser.registerDcsHandler({intermediates:\"$\",final:\"q\"},new m.DcsHandler(((e,t)=>this.requestStatusString(e,t))))}_preserveStack(e,t,i,s){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=i,this._parseStack.position=s}_logSlowResolvingAsync(e){this._logService.logLevel<=f.LogLevelEnum.WARN&&Promise.race([e,new Promise(((e,t)=>setTimeout((()=>t(\"#SLOW_TIMEOUT\")),5e3)))]).catch((e=>{if(\"#SLOW_TIMEOUT\"!==e)throw e;console.warn(\"async parser handler taking longer than 5000 ms\")}))}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,t){let i,s=this._activeBuffer.x,r=this._activeBuffer.y,n=0;const o=this._parseStack.paused;if(o){if(i=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(i),i;s=this._parseStack.cursorStartX,r=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>C&&(n=this._parseStack.position+C)}if(this._logService.logLevel<=f.LogLevelEnum.DEBUG&&this._logService.debug(\"parsing data \"+(\"string\"==typeof e?` \"${e}\"`:` \"${Array.prototype.map.call(e,(e=>String.fromCharCode(e))).join(\"\")}\"`)),this._logService.logLevel===f.LogLevelEnum.TRACE&&this._logService.trace(\"parsing data (codes)\",\"string\"==typeof e?e.split(\"\").map((e=>e.charCodeAt(0))):e),this._parseBuffer.length<e.length&&this._parseBuffer.length<C&&(this._parseBuffer=new Uint32Array(Math.min(e.length,C))),o||this._dirtyRowTracker.clearRange(),e.length>C)for(let t=n;t<e.length;t+=C){const n=t+C<e.length?t+C:e.length,o=\"string\"==typeof e?this._stringDecoder.decode(e.substring(t,n),this._parseBuffer):this._utf8Decoder.decode(e.subarray(t,n),this._parseBuffer);if(i=this._parser.parse(this._parseBuffer,o))return this._preserveStack(s,r,o,t),this._logSlowResolvingAsync(i),i}else if(!o){const t=\"string\"==typeof e?this._stringDecoder.decode(e,this._parseBuffer):this._utf8Decoder.decode(e,this._parseBuffer);if(i=this._parser.parse(this._parseBuffer,t))return this._preserveStack(s,r,t,0),this._logSlowResolvingAsync(i),i}this._activeBuffer.x===s&&this._activeBuffer.y===r||this._onCursorMove.fire();const a=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),l=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);l<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(l,this._bufferService.rows-1),end:Math.min(a,this._bufferService.rows-1)})}print(e,t,i){let s,r;const n=this._charsetService.charset,o=this._optionsService.rawOptions.screenReaderMode,a=this._bufferService.cols,l=this._coreService.decPrivateModes.wraparound,u=this._coreService.modes.insertMode,_=this._curAttrData;let f=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&i-t>0&&2===f.getWidth(this._activeBuffer.x-1)&&f.setCellFromCodepoint(this._activeBuffer.x-1,0,1,_);let g=this._parser.precedingJoinState;for(let m=t;m<i;++m){if(s=e[m],s<127&&n){const e=n[String.fromCharCode(s)];e&&(s=e.charCodeAt(0))}const t=this._unicodeService.charProperties(s,g);r=p.UnicodeService.extractWidth(t);const i=p.UnicodeService.extractShouldJoin(t),v=i?p.UnicodeService.extractWidth(g):0;if(g=t,o&&this._onA11yChar.fire((0,h.stringFromCodePoint)(s)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+r-v>a)if(l){const e=f;let t=this._activeBuffer.x-v;for(this._activeBuffer.x=v,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),f=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),v>0&&f instanceof c.BufferLine&&f.copyCellsFrom(e,t,0,v,!1);t<a;)e.setCellFromCodepoint(t++,0,1,_)}else if(this._activeBuffer.x=a-1,2===r)continue;if(i&&this._activeBuffer.x){const e=f.getWidth(this._activeBuffer.x-1)?1:2;f.addCodepointToCell(this._activeBuffer.x-e,s,r);for(let e=r-v;--e>=0;)f.setCellFromCodepoint(this._activeBuffer.x++,0,0,_)}else if(u&&(f.insertCells(this._activeBuffer.x,r-v,this._activeBuffer.getNullCell(_)),2===f.getWidth(a-1)&&f.setCellFromCodepoint(a-1,d.NULL_CELL_CODE,d.NULL_CELL_WIDTH,_)),f.setCellFromCodepoint(this._activeBuffer.x++,s,r,_),r>0)for(;--r;)f.setCellFromCodepoint(this._activeBuffer.x++,0,0,_)}this._parser.precedingJoinState=g,this._activeBuffer.x<a&&i-t>0&&0===f.getWidth(this._activeBuffer.x)&&!f.hasContent(this._activeBuffer.x)&&f.setCellFromCodepoint(this._activeBuffer.x,0,1,_),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,t){return\"t\"!==e.final||e.prefix||e.intermediates?this._parser.registerCsiHandler(e,t):this._parser.registerCsiHandler(e,(e=>!y(e.params[0],this._optionsService.rawOptions.windowOptions)||t(e)))}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new m.DcsHandler(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new g.OscHandler(t))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(0===this._activeBuffer.x&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;const e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e.hasWidth(this._activeBuffer.x)&&!e.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;const e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(e,t){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+t):(this._activeBuffer.x=e,this._activeBuffer.y=t),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,t){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+t)}cursorUp(e){const t=this._activeBuffer.y-this._activeBuffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){const t=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){const t=e.params[0];return 0===t?delete this._activeBuffer.tabs[this._activeBuffer.x]:3===t&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){const t=e.params[0];return 1===t&&(this._curAttrData.bg|=536870912),2!==t&&0!==t||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,t,i,s=!1,r=!1){const n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.replaceCells(t,i,this._activeBuffer.getNullCell(this._eraseAttrData()),r),s&&(n.isWrapped=!1)}_resetBufferLine(e,t=!1){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i&&(i.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),i.isWrapped=!1)}eraseInDisplay(e,t=!1){let i;switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:for(i=this._activeBuffer.y,this._dirtyRowTracker.markDirty(i),this._eraseInBufferLine(i++,this._activeBuffer.x,this._bufferService.cols,0===this._activeBuffer.x,t);i<this._bufferService.rows;i++)this._resetBufferLine(i,t);this._dirtyRowTracker.markDirty(i);break;case 1:for(i=this._activeBuffer.y,this._dirtyRowTracker.markDirty(i),this._eraseInBufferLine(i,0,this._activeBuffer.x+1,!0,t),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(i+1).isWrapped=!1);i--;)this._resetBufferLine(i,t);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(i=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,i-1);i--;){const e=this._activeBuffer.lines.get(this._activeBuffer.ybase+i);if(e?.getTrimmedLength())break}for(;i>=0;i--)this._bufferService.scroll(this._eraseAttrData())}else{for(i=this._bufferService.rows,this._dirtyRowTracker.markDirty(i-1);i--;)this._resetBufferLine(i,t);this._dirtyRowTracker.markDirty(0)}break;case 3:const e=this._activeBuffer.lines.length-this._bufferService.rows;e>0&&(this._activeBuffer.lines.trimStart(e),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-e,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-e,0),this._onScroll.fire(0))}return!0}eraseInLine(e,t=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,0===this._activeBuffer.x,t);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const i=this._activeBuffer.ybase+this._activeBuffer.y,s=this._bufferService.rows-1-this._activeBuffer.scrollBottom,r=this._bufferService.rows-1+this._activeBuffer.ybase-s+1;for(;t--;)this._activeBuffer.lines.splice(r-1,1),this._activeBuffer.lines.splice(i,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const i=this._activeBuffer.ybase+this._activeBuffer.y;let s;for(s=this._bufferService.rows-1-this._activeBuffer.scrollBottom,s=this._bufferService.rows-1+this._activeBuffer.ybase-s;t--;)this._activeBuffer.lines.splice(i,1),this._activeBuffer.lines.splice(s,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(e){this._restrictCursor();const t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.insertCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(e){this._restrictCursor();const t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.deleteCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(e){let t=e.params[0]||1;for(;t--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(e){let t=e.params[0]||1;for(;t--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(c.DEFAULT_ATTR_DATA));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i.deleteCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i.insertCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i.insertCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i.deleteCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(e){this._restrictCursor();const t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(e.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(e){const t=this._parser.precedingJoinState;if(!t)return!0;const i=e.params[0]||1,s=p.UnicodeService.extractWidth(t),r=this._activeBuffer.x-s,n=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(r),o=new Uint32Array(n.length*i);let a=0;for(let e=0;e<n.length;){const t=n.codePointAt(e)||0;o[a++]=t,e+=t>65535?2:1}let l=a;for(let e=1;e<i;++e)o.copyWithin(l,0,a),l+=a;return this.print(o,0,l),!0}sendDeviceAttributesPrimary(e){return e.params[0]>0||(this._is(\"xterm\")||this._is(\"rxvt-unicode\")||this._is(\"screen\")?this._coreService.triggerDataEvent(n.C0.ESC+\"[?1;2c\"):this._is(\"linux\")&&this._coreService.triggerDataEvent(n.C0.ESC+\"[?6c\")),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is(\"xterm\")?this._coreService.triggerDataEvent(n.C0.ESC+\"[>0;276;0c\"):this._is(\"rxvt-unicode\")?this._coreService.triggerDataEvent(n.C0.ESC+\"[>85;95;0c\"):this._is(\"linux\")?this._coreService.triggerDataEvent(e.params[0]+\"c\"):this._is(\"screen\")&&this._coreService.triggerDataEvent(n.C0.ESC+\"[>83;40003;0c\")),!0}_is(e){return 0===(this._optionsService.rawOptions.termName+\"\").indexOf(e)}setMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,o.DEFAULT_CHARSET),this._charsetService.setgCharset(1,o.DEFAULT_CHARSET),this._charsetService.setgCharset(2,o.DEFAULT_CHARSET),this._charsetService.setgCharset(3,o.DEFAULT_CHARSET);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug(\"Serial port requested application keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol=\"X10\";break;case 1e3:this._coreMouseService.activeProtocol=\"VT200\";break;case 1002:this._coreMouseService.activeProtocol=\"DRAG\";break;case 1003:this._coreMouseService.activeProtocol=\"ANY\";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug(\"DECSET 1005 not supported (see #2507)\");break;case 1006:this._coreMouseService.activeEncoding=\"SGR\";break;case 1015:this._logService.debug(\"DECSET 1015 not supported (see #2507)\");break;case 1016:this._coreMouseService.activeEncoding=\"SGR_PIXELS\";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0}return!0}resetMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug(\"Switching back to normal keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol=\"NONE\";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug(\"DECRST 1005 not supported (see #2507)\");break;case 1006:case 1016:this._coreMouseService.activeEncoding=\"DEFAULT\";break;case 1015:this._logService.debug(\"DECRST 1015 not supported (see #2507)\");break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),1049===e.params[t]&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0)}return!0}requestMode(e,t){const i=this._coreService.decPrivateModes,{activeProtocol:s,activeEncoding:r}=this._coreMouseService,o=this._coreService,{buffers:a,cols:l}=this._bufferService,{active:h,alt:c}=a,d=this._optionsService.rawOptions,u=e=>e?1:2,_=e.params[0];return f=_,p=t?2===_?4:4===_?u(o.modes.insertMode):12===_?3:20===_?u(d.convertEol):0:1===_?u(i.applicationCursorKeys):3===_?d.windowOptions.setWinLines?80===l?2:132===l?1:0:0:6===_?u(i.origin):7===_?u(i.wraparound):8===_?3:9===_?u(\"X10\"===s):12===_?u(d.cursorBlink):25===_?u(!o.isCursorHidden):45===_?u(i.reverseWraparound):66===_?u(i.applicationKeypad):67===_?4:1e3===_?u(\"VT200\"===s):1002===_?u(\"DRAG\"===s):1003===_?u(\"ANY\"===s):1004===_?u(i.sendFocus):1005===_?4:1006===_?u(\"SGR\"===r):1015===_?4:1016===_?u(\"SGR_PIXELS\"===r):1048===_?1:47===_||1047===_||1049===_?u(h===c):2004===_?u(i.bracketedPasteMode):2026===_?u(i.synchronizedOutput):0,o.triggerDataEvent(`${n.C0.ESC}[${t?\"\":\"?\"}${f};${p}$y`),!0;var f,p}_updateAttrColor(e,t,i,s,r){return 2===t?(e|=50331648,e&=-16777216,e|=_.AttributeData.fromColorRGB([i,s,r])):5===t&&(e&=-50331904,e|=33554432|255&i),e}_extractColor(e,t,i){const s=[0,0,-1,0,0,0];let r=0,n=0;do{if(s[n+r]=e.params[t+n],e.hasSubParams(t+n)){const i=e.getSubParams(t+n);let o=0;do{5===s[1]&&(r=1),s[n+o+1+r]=i[o]}while(++o<i.length&&o+n+1+r<s.length);break}if(5===s[1]&&n+r>=2||2===s[1]&&n+r>=5)break;s[1]&&(r=1)}while(++n+t<e.length&&n+r<s.length);for(let e=2;e<s.length;++e)-1===s[e]&&(s[e]=0);switch(s[0]){case 38:i.fg=this._updateAttrColor(i.fg,s[1],s[3],s[4],s[5]);break;case 48:i.bg=this._updateAttrColor(i.bg,s[1],s[3],s[4],s[5]);break;case 58:i.extended=i.extended.clone(),i.extended.underlineColor=this._updateAttrColor(i.extended.underlineColor,s[1],s[3],s[4],s[5])}return n}_processUnderline(e,t){t.extended=t.extended.clone(),(!~e||e>5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,0===e&&(t.fg&=-268435457),t.updateExtended()}_processSGR0(e){e.fg=c.DEFAULT_ATTR_DATA.fg,e.bg=c.DEFAULT_ATTR_DATA.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-67108864,e.updateExtended()}charAttributes(e){if(1===e.length&&0===e.params[0])return this._processSGR0(this._curAttrData),!0;const t=e.length;let i;const s=this._curAttrData;for(let r=0;r<t;r++)i=e.params[r],i>=30&&i<=37?(s.fg&=-50331904,s.fg|=16777216|i-30):i>=40&&i<=47?(s.bg&=-50331904,s.bg|=16777216|i-40):i>=90&&i<=97?(s.fg&=-50331904,s.fg|=16777224|i-90):i>=100&&i<=107?(s.bg&=-50331904,s.bg|=16777224|i-100):0===i?this._processSGR0(s):1===i?s.fg|=134217728:3===i?s.bg|=67108864:4===i?(s.fg|=268435456,this._processUnderline(e.hasSubParams(r)?e.getSubParams(r)[0]:1,s)):5===i?s.fg|=536870912:7===i?s.fg|=67108864:8===i?s.fg|=1073741824:9===i?s.fg|=2147483648:2===i?s.bg|=134217728:21===i?this._processUnderline(2,s):22===i?(s.fg&=-134217729,s.bg&=-134217729):23===i?s.bg&=-67108865:24===i?(s.fg&=-268435457,this._processUnderline(0,s)):25===i?s.fg&=-536870913:27===i?s.fg&=-67108865:28===i?s.fg&=-1073741825:29===i?s.fg&=2147483647:39===i?(s.fg&=-67108864,s.fg|=16777215&c.DEFAULT_ATTR_DATA.fg):49===i?(s.bg&=-67108864,s.bg|=16777215&c.DEFAULT_ATTR_DATA.bg):38===i||48===i||58===i?r+=this._extractColor(e,r,s):53===i?s.bg|=1073741824:55===i?s.bg&=-1073741825:59===i?(s.extended=s.extended.clone(),s.extended.underlineColor=-1,s.updateExtended()):100===i?(s.fg&=-67108864,s.fg|=16777215&c.DEFAULT_ATTR_DATA.fg,s.bg&=-67108864,s.bg|=16777215&c.DEFAULT_ATTR_DATA.bg):this._logService.debug(\"Unknown SGR attribute: %d.\",i);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${n.C0.ESC}[0n`);break;case 6:const e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${n.C0.ESC}[${e};${t}R`)}return!0}deviceStatusPrivate(e){if(6===e.params[0]){const e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${n.C0.ESC}[?${e};${t}R`)}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=c.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e){const t=0===e.length?1:e.params[0];if(0===t)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(t){case 1:case 2:this._coreService.decPrivateModes.cursorStyle=\"block\";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle=\"underline\";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle=\"bar\"}const e=t%2==1;this._coreService.decPrivateModes.cursorBlink=e}return!0}setScrollRegion(e){const t=e.params[0]||1;let i;return(e.length<2||(i=e.params[1])>this._bufferService.rows||0===i)&&(i=this._bufferService.rows),i>t&&(this._activeBuffer.scrollTop=t-1,this._activeBuffer.scrollBottom=i-1,this._setCursor(0,0)),!0}windowOptions(e){if(!y(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;const t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:2!==t&&this._onRequestWindowsOptionsReport.fire(w.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(w.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${n.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:0!==t&&2!==t||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),0!==t&&1!==t||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:0!==t&&2!==t||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),0!==t&&1!==t||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(e){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){const t=[],i=e.split(\";\");for(;i.length>1;){const e=i.shift(),s=i.shift();if(/^\\d+$/.exec(e)){const i=parseInt(e);if(R(i))if(\"?\"===s)t.push({type:0,index:i});else{const e=(0,v.parseColor)(s);e&&t.push({type:1,index:i,color:e})}}}return t.length&&this._onColor.fire(t),!0}setHyperlink(e){const t=e.indexOf(\";\");if(-1===t)return!0;const i=e.slice(0,t).trim(),s=e.slice(t+1);return s?this._createHyperlink(i,s):!i.trim()&&this._finishHyperlink()}_createHyperlink(e,t){this._getCurrentLinkId()&&this._finishHyperlink();const i=e.split(\":\");let s;const r=i.findIndex((e=>e.startsWith(\"id=\")));return-1!==r&&(s=i[r].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:s,uri:t}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,t){const i=e.split(\";\");for(let e=0;e<i.length&&!(t>=this._specialColors.length);++e,++t)if(\"?\"===i[e])this._onColor.fire([{type:0,index:this._specialColors[t]}]);else{const s=(0,v.parseColor)(i[e]);s&&this._onColor.fire([{type:1,index:this._specialColors[t],color:s}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;const t=[],i=e.split(\";\");for(let e=0;e<i.length;++e)if(/^\\d+$/.exec(i[e])){const s=parseInt(i[e]);R(s)&&t.push({type:2,index:s})}return t.length&&this._onColor.fire(t),!0}restoreFgColor(e){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(e){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(e){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug(\"Serial port requested application keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug(\"Switching back to normal keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,o.DEFAULT_CHARSET),!0}selectCharset(e){return 2!==e.length?(this.selectDefaultCharset(),!0):(\"/\"===e[0]||this._charsetService.setgCharset(b[e[0]],o.CHARSETS[e[1]]||o.DEFAULT_CHARSET),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){const e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=c.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=c.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){const e=new u.CellData;e.content=1<<22|\"E\".charCodeAt(0),e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t=0;t<this._bufferService.rows;++t){const i=this._activeBuffer.ybase+this._activeBuffer.y+t,s=this._activeBuffer.lines.get(i);s&&(s.fill(e),s.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(e,t){const i=this._bufferService.buffer,s=this._optionsService.rawOptions;return(e=>(this._coreService.triggerDataEvent(`${n.C0.ESC}${e}${n.C0.ESC}\\\\`),!0))('\"q'===e?`P1$r${this._curAttrData.isProtected()?1:0}\"q`:'\"p'===e?'P1$r61;1\"p':\"r\"===e?`P1$r${i.scrollTop+1};${i.scrollBottom+1}r`:\"m\"===e?\"P1$r0m\":\" q\"===e?`P1$r${{block:2,underline:4,bar:6}[s.cursorStyle]-(s.cursorBlink?1:0)} q`:\"P0$r\")}markRangeDirty(e,t){this._dirtyRowTracker.markRangeDirty(e,t)}}t.InputHandler=D;let L=class{constructor(e){this._bufferService=e,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e){e<this.start?this.start=e:e>this.end&&(this.end=e)}markRangeDirty(e,t){e>t&&(E=e,e=t,t=E),e<this.start&&(this.start=e),t>this.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function R(e){return 0<=e&&e<256}L=s([r(0,f.IBufferService)],L)},7710:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.FourKeyMap=t.TwoKeyMap=void 0;class i{constructor(){this._data={}}set(e,t,i){this._data[e]||(this._data[e]={}),this._data[e][t]=i}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}}t.TwoKeyMap=i,t.FourKeyMap=class{constructor(){this._data=new i}set(e,t,s,r,n){this._data.get(e,t)||this._data.set(e,t,new i),this._data.get(e,t).set(s,r,n)}get(e,t,i,s){return this._data.get(e,t)?.get(i,s)}clear(){this._data.clear()}}},701:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.isChromeOS=t.isLinux=t.isWindows=t.isIphone=t.isIpad=t.isMac=t.isSafari=t.isLegacyEdge=t.isFirefox=t.isNode=void 0,t.getSafariVersion=function(){if(!t.isSafari)return 0;const e=i.match(/Version\\/(\\d+)/);return null===e||e.length<2?0:parseInt(e[1])},t.isNode=\"undefined\"!=typeof process&&\"title\"in process;const i=t.isNode?\"node\":navigator.userAgent,s=t.isNode?\"node\":navigator.platform;t.isFirefox=i.includes(\"Firefox\"),t.isLegacyEdge=i.includes(\"Edge\"),t.isSafari=/^((?!chrome|android).)*safari/i.test(i),t.isMac=[\"Macintosh\",\"MacIntel\",\"MacPPC\",\"Mac68K\"].includes(s),t.isIpad=\"iPad\"===s,t.isIphone=\"iPhone\"===s,t.isWindows=[\"Windows\",\"Win16\",\"Win32\",\"WinCE\"].includes(s),t.isLinux=s.indexOf(\"Linux\")>=0,t.isChromeOS=/\\bCrOS\\b/.test(i)},3087:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.SortedList=void 0;const s=i(6168);let r=0;t.SortedList=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new s.IdleTaskQueue,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new s.IdleTaskQueue,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(e){this._flushCleanupDeleted(),0===this._insertedValues.length&&this._flushInsertedTask.enqueue((()=>this._flushInserted())),this._insertedValues.push(e)}_flushInserted(){const e=this._insertedValues.sort(((e,t)=>this._getKey(e)-this._getKey(t)));let t=0,i=0;const s=new Array(this._array.length+this._insertedValues.length);for(let r=0;r<s.length;r++)i>=this._array.length||this._getKey(e[t])<=this._getKey(this._array[i])?(s[r]=e[t],t++):s[r]=this._array[i++];this._array=s,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(e){if(this._flushCleanupInserted(),0===this._array.length)return!1;const t=this._getKey(e);if(void 0===t)return!1;if(r=this._search(t),-1===r)return!1;if(this._getKey(this._array[r])!==t)return!1;do{if(this._array[r]===e)return 0===this._deletedIndices.length&&this._flushDeletedTask.enqueue((()=>this._flushDeleted())),this._deletedIndices.push(r),!0}while(++r<this._array.length&&this._getKey(this._array[r])===t);return!1}_flushDeleted(){this._isFlushingDeleted=!0;const e=this._deletedIndices.sort(((e,t)=>e-t));let t=0;const i=new Array(this._array.length-e.length);let s=0;for(let r=0;r<this._array.length;r++)e[t]===r?t++:i[s++]=this._array[r];this._array=i,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),0!==this._array.length&&(r=this._search(e),!(r<0||r>=this._array.length)&&this._getKey(this._array[r])===e))do{yield this._array[r]}while(++r<this._array.length&&this._getKey(this._array[r])===e)}forEachByKey(e,t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),0!==this._array.length&&(r=this._search(e),!(r<0||r>=this._array.length)&&this._getKey(this._array[r])===e))do{t(this._array[r])}while(++r<this._array.length&&this._getKey(this._array[r])===e)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(e){let t=0,i=this._array.length-1;for(;i>=t;){let s=t+i>>1;const r=this._getKey(this._array[s]);if(r>e)i=s-1;else{if(!(r<e)){for(;s>0&&this._getKey(this._array[s-1])===e;)s--;return s}t=s+1}}return t}}},6168:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DebouncedIdleTask=t.IdleTaskQueue=t.PriorityTaskQueue=void 0;const s=i(701);class r{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(e){this._idleCallback=void 0;let t=0,i=0,s=e.timeRemaining(),r=0;for(;this._i<this._tasks.length;){if(t=performance.now(),this._tasks[this._i]()||this._i++,t=Math.max(1,performance.now()-t),i=Math.max(t,i),r=e.timeRemaining(),1.5*i>r)return s-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(s-t))}ms`),void this._start();s=r}this.clear()}}class n extends r{_requestCallback(e){return setTimeout((()=>e(this._createDeadline(16))))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){const t=performance.now()+e;return{timeRemaining:()=>Math.max(0,t-performance.now())}}}t.PriorityTaskQueue=n,t.IdleTaskQueue=!s.isNode&&\"requestIdleCallback\"in window?class extends r{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}}:n,t.DebouncedIdleTask=class{constructor(){this._queue=new t.IdleTaskQueue}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}}},5882:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.updateWindowsModeWrappedState=function(e){const t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1),i=t?.get(e.cols-1),r=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);r&&i&&(r.isWrapped=i[s.CHAR_DATA_CODE_INDEX]!==s.NULL_CELL_CODE&&i[s.CHAR_DATA_CODE_INDEX]!==s.WHITESPACE_CELL_CODE)};const s=i(8938)},5451:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;class i{constructor(){this.fg=0,this.bg=0,this.extended=new s}static toColorRGB(e){return[e>>>16&255,e>>>8&255,255&e]}static fromColorRGB(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]}clone(){const e=new i;return e.fg=this.fg,e.bg=this.bg,e.extended=this.extended.clone(),e}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&0!==this.extended.underlineStyle?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return!(50331648&~this.fg)}isBgRGB(){return!(50331648&~this.bg)}isFgPalette(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)}isBgPalette(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)}isFgDefault(){return!(50331648&this.fg)}isBgDefault(){return!(50331648&this.bg)}isAttributeDefault(){return 0===this.fg&&0===this.bg}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?!(50331648&~this.extended.underlineColor):this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?!(50331648&this.extended.underlineColor):this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}t.AttributeData=i;class s{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(e){this._ext&=-67108864,this._ext|=67108863&e}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){const e=(3758096384&this._ext)>>29;return e<0?4294967288^e:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}clone(){return new s(this._ext,this._urlId)}isEmpty(){return 0===this.underlineStyle&&0===this._urlId}}t.ExtendedAttrs=s},1073:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Buffer=t.MAX_BUFFER_SIZE=void 0;const s=i(5639),r=i(6168),n=i(5451),o=i(6107),a=i(732),l=i(3055),h=i(8938),c=i(8158),d=i(6760);t.MAX_BUFFER_SIZE=4294967295,t.Buffer=class{constructor(e,t,i){this._hasScrollback=e,this._optionsService=t,this._bufferService=i,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=o.DEFAULT_ATTR_DATA.clone(),this.savedCharset=d.DEFAULT_CHARSET,this.markers=[],this._nullCell=l.CellData.fromCharData([0,h.NULL_CELL_CHAR,h.NULL_CELL_WIDTH,h.NULL_CELL_CODE]),this._whitespaceCell=l.CellData.fromCharData([0,h.WHITESPACE_CELL_CHAR,h.WHITESPACE_CELL_WIDTH,h.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new r.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new s.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new n.ExtendedAttrs),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new n.ExtendedAttrs),this._whitespaceCell}getBlankLine(e,t){return new o.BufferLine(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){const e=this.ybase+this.y-this.ydisp;return e>=0&&e<this._rows}_getCorrectBufferLength(e){if(!this._hasScrollback)return e;const i=e+this._optionsService.rawOptions.scrollback;return i>t.MAX_BUFFER_SIZE?t.MAX_BUFFER_SIZE:i}fillViewportRows(e){if(0===this.lines.length){void 0===e&&(e=o.DEFAULT_ATTR_DATA);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new s.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){const i=this.getNullCell(o.DEFAULT_ATTR_DATA);let s=0;const r=this._getCorrectBufferLength(t);if(r>this.lines.maxLength&&(this.lines.maxLength=r),this.lines.length>0){if(this._cols<e)for(let t=0;t<this.lines.length;t++)s+=+this.lines.get(t).resize(e,i);let n=0;if(this._rows<t)for(let s=this._rows;s<t;s++)this.lines.length<t+this.ybase&&(this._optionsService.rawOptions.windowsMode||void 0!==this._optionsService.rawOptions.windowsPty.backend||void 0!==this._optionsService.rawOptions.windowsPty.buildNumber?this.lines.push(new o.BufferLine(e,i)):this.ybase>0&&this.lines.length<=this.ybase+this.y+n+1?(this.ybase--,n++,this.ydisp>0&&this.ydisp--):this.lines.push(new o.BufferLine(e,i)));else for(let e=this._rows;e>t;e--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(r<this.lines.maxLength){const e=this.lines.length-r;e>0&&(this.lines.trimStart(e),this.ybase=Math.max(this.ybase-e,0),this.ydisp=Math.max(this.ydisp-e,0),this.savedY=Math.max(this.savedY-e,0)),this.lines.maxLength=r}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),n&&(this.y+=n),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let t=0;t<this.lines.length;t++)s+=+this.lines.get(t).resize(e,i);this._cols=e,this._rows=t,this._memoryCleanupQueue.clear(),s>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue((()=>this._batchedMemoryCleanup())))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition<this.lines.length;)if(t+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),t>100)return!0;return e}get _isReflowEnabled(){const e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&\"conpty\"===e.backend&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){const i=this._optionsService.rawOptions.reflowCursorLine,s=(0,a.reflowLargerGetLinesToRemove)(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(o.DEFAULT_ATTR_DATA),i);if(s.length>0){const i=(0,a.reflowLargerCreateNewLayout)(this.lines,s);(0,a.reflowLargerApplyNewLayout)(this.lines,i.layout),this._reflowLargerAdjustViewport(e,t,i.countRemoved)}}_reflowLargerAdjustViewport(e,t,i){const s=this.getNullCell(o.DEFAULT_ATTR_DATA);let r=i;for(;r-- >0;)0===this.ybase?(this.y>0&&this.y--,this.lines.length<t&&this.lines.push(new o.BufferLine(e,s))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-i,0)}_reflowSmaller(e,t){const i=this._optionsService.rawOptions.reflowCursorLine,s=this.getNullCell(o.DEFAULT_ATTR_DATA),r=[];let n=0;for(let l=this.lines.length-1;l>=0;l--){let h=this.lines.get(l);if(!h||!h.isWrapped&&h.getTrimmedLength()<=e)continue;const c=[h];for(;h.isWrapped&&l>0;)h=this.lines.get(--l),c.unshift(h);if(!i){const e=this.ybase+this.y;if(e>=l&&e<l+c.length)continue}const d=c[c.length-1].getTrimmedLength(),u=(0,a.reflowSmallerGetNewLineLengths)(c,this._cols,e),_=u.length-c.length;let f;f=0===this.ybase&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+_):Math.max(0,this.lines.length-this.lines.maxLength+_);const p=[];for(let e=0;e<_;e++){const e=this.getBlankLine(o.DEFAULT_ATTR_DATA,!0);p.push(e)}p.length>0&&(r.push({start:l+c.length+n,newLines:p}),n+=p.length),c.push(...p);let g=u.length-1,m=u[g];0===m&&(g--,m=u[g]);let v=c.length-_-1,S=d;for(;v>=0;){const e=Math.min(S,m);if(void 0===c[g])break;if(c[g].copyCellsFrom(c[v],S-e,m-e,e,!0),m-=e,0===m&&(g--,m=u[g]),S-=e,0===S){v--;const e=Math.max(v,0);S=(0,a.getWrappedLineTrimmedLength)(c,e,this._cols)}}for(let t=0;t<c.length;t++)u[t]<e&&c[t].setCell(u[t],s);let b=_-f;for(;b-- >0;)0===this.ybase?this.y<t-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+n)-t&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+_,this.ybase+t-1)}if(r.length>0){const e=[],t=[];for(let e=0;e<this.lines.length;e++)t.push(this.lines.get(e));const i=this.lines.length;let s=i-1,o=0,a=r[o];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+n);let l=0;for(let h=Math.min(this.lines.maxLength-1,i+n-1);h>=0;h--)if(a&&a.start>s+l){for(let e=a.newLines.length-1;e>=0;e--)this.lines.set(h--,a.newLines[e]);h++,e.push({index:s+1,amount:a.newLines.length}),l+=a.newLines.length,a=r[++o]}else this.lines.set(h,t[s--]);let h=0;for(let t=e.length-1;t>=0;t--)e[t].index+=h,this.lines.onInsertEmitter.fire(e[t]),h+=e[t].amount;const c=Math.max(0,i+n-this.lines.maxLength);c>0&&this.lines.onTrimEmitter.fire(c)}}translateBufferLineToString(e,t,i=0,s){const r=this.lines.get(e);return r?r.translateToString(t,i,s):\"\"}getWrappedRangeForLine(e){let t=e,i=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;i+1<this.lines.length&&this.lines.get(i+1).isWrapped;)i++;return{first:t,last:i}}setupTabStops(e){for(null!=e?this.tabs[e]||(e=this.prevStop(e)):(this.tabs={},e=0);e<this._cols;e+=this._optionsService.rawOptions.tabStopWidth)this.tabs[e]=!0}prevStop(e){for(null==e&&(e=this.x);!this.tabs[--e]&&e>0;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e<this._cols;);return e>=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].line===e&&(this.markers[t].dispose(),this.markers.splice(t--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let e=0;e<this.markers.length;e++)this.markers[e].dispose();this.markers.length=0,this._isClearing=!1}addMarker(e){const t=new c.Marker(e);return this.markers.push(t),t.register(this.lines.onTrim((e=>{t.line-=e,t.line<0&&t.dispose()}))),t.register(this.lines.onInsert((e=>{t.line>=e.index&&(t.line+=e.amount)}))),t.register(this.lines.onDelete((e=>{t.line>=e.index&&t.line<e.index+e.amount&&t.dispose(),t.line>e.index&&(t.line-=e.amount)}))),t.register(t.onDispose((()=>this._removeMarker(t)))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}}},6107:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferLine=t.DEFAULT_ATTR_DATA=void 0;const s=i(5451),r=i(3055),n=i(8938),o=i(726);t.DEFAULT_ATTR_DATA=Object.freeze(new s.AttributeData);let a=0;class l{constructor(e,t,i=!1){this.isWrapped=i,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*e);const s=t||r.CellData.fromCharData([0,n.NULL_CELL_CHAR,n.NULL_CELL_WIDTH,n.NULL_CELL_CODE]);for(let t=0;t<e;++t)this.setCell(t,s);this.length=e}get(e){const t=this._data[3*e+0],i=2097151&t;return[this._data[3*e+1],2097152&t?this._combined[e]:i?(0,o.stringFromCodePoint)(i):\"\",t>>22,2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):i]}set(e,t){this._data[3*e+1]=t[n.CHAR_DATA_ATTR_INDEX],t[n.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[e]=t[1],this._data[3*e+0]=2097152|e|t[n.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*e+0]=t[n.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t[n.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(e){return this._data[3*e+0]>>22}hasWidth(e){return 12582912&this._data[3*e+0]}getFg(e){return this._data[3*e+1]}getBg(e){return this._data[3*e+2]}hasContent(e){return 4194303&this._data[3*e+0]}getCodePoint(e){const t=this._data[3*e+0];return 2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):2097151&t}isCombined(e){return 2097152&this._data[3*e+0]}getString(e){const t=this._data[3*e+0];return 2097152&t?this._combined[e]:2097151&t?(0,o.stringFromCodePoint)(2097151&t):\"\"}isProtected(e){return 536870912&this._data[3*e+2]}loadCell(e,t){return a=3*e,t.content=this._data[a+0],t.fg=this._data[a+1],t.bg=this._data[a+2],2097152&t.content&&(t.combinedData=this._combined[e]),268435456&t.bg&&(t.extended=this._extendedAttrs[e]),t}setCell(e,t){2097152&t.content&&(this._combined[e]=t.combinedData),268435456&t.bg&&(this._extendedAttrs[e]=t.extended),this._data[3*e+0]=t.content,this._data[3*e+1]=t.fg,this._data[3*e+2]=t.bg}setCellFromCodepoint(e,t,i,s){268435456&s.bg&&(this._extendedAttrs[e]=s.extended),this._data[3*e+0]=t|i<<22,this._data[3*e+1]=s.fg,this._data[3*e+2]=s.bg}addCodepointToCell(e,t,i){let s=this._data[3*e+0];2097152&s?this._combined[e]+=(0,o.stringFromCodePoint)(t):2097151&s?(this._combined[e]=(0,o.stringFromCodePoint)(2097151&s)+(0,o.stringFromCodePoint)(t),s&=-2097152,s|=2097152):s=t|1<<22,i&&(s&=-12582913,s|=i<<22),this._data[3*e+0]=s}insertCells(e,t,i){if((e%=this.length)&&2===this.getWidth(e-1)&&this.setCellFromCodepoint(e-1,0,1,i),t<this.length-e){const s=new r.CellData;for(let i=this.length-e-t-1;i>=0;--i)this.setCell(e+t+i,this.loadCell(e+i,s));for(let s=0;s<t;++s)this.setCell(e+s,i)}else for(let t=e;t<this.length;++t)this.setCell(t,i);2===this.getWidth(this.length-1)&&this.setCellFromCodepoint(this.length-1,0,1,i)}deleteCells(e,t,i){if(e%=this.length,t<this.length-e){const s=new r.CellData;for(let i=0;i<this.length-e-t;++i)this.setCell(e+i,this.loadCell(e+t+i,s));for(let e=this.length-t;e<this.length;++e)this.setCell(e,i)}else for(let t=e;t<this.length;++t)this.setCell(t,i);e&&2===this.getWidth(e-1)&&this.setCellFromCodepoint(e-1,0,1,i),0!==this.getWidth(e)||this.hasContent(e)||this.setCellFromCodepoint(e,0,1,i)}replaceCells(e,t,i,s=!1){if(s)for(e&&2===this.getWidth(e-1)&&!this.isProtected(e-1)&&this.setCellFromCodepoint(e-1,0,1,i),t<this.length&&2===this.getWidth(t-1)&&!this.isProtected(t)&&this.setCellFromCodepoint(t,0,1,i);e<t&&e<this.length;)this.isProtected(e)||this.setCell(e,i),e++;else for(e&&2===this.getWidth(e-1)&&this.setCellFromCodepoint(e-1,0,1,i),t<this.length&&2===this.getWidth(t-1)&&this.setCellFromCodepoint(t,0,1,i);e<t&&e<this.length;)this.setCell(e++,i)}resize(e,t){if(e===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;const i=3*e;if(e>this.length){if(this._data.buffer.byteLength>=4*i)this._data=new Uint32Array(this._data.buffer,0,i);else{const e=new Uint32Array(i);e.set(this._data),this._data=e}for(let i=this.length;i<e;++i)this.setCell(i,t)}else{this._data=this._data.subarray(0,i);const t=Object.keys(this._combined);for(let i=0;i<t.length;i++){const s=parseInt(t[i],10);s>=e&&delete this._combined[s]}const s=Object.keys(this._extendedAttrs);for(let t=0;t<s.length;t++){const i=parseInt(s[t],10);i>=e&&delete this._extendedAttrs[i]}}return this.length=e,4*i*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){const e=new Uint32Array(this._data.length);return e.set(this._data),this._data=e,1}return 0}fill(e,t=!1){if(t)for(let t=0;t<this.length;++t)this.isProtected(t)||this.setCell(t,e);else{this._combined={},this._extendedAttrs={};for(let t=0;t<this.length;++t)this.setCell(t,e)}}copyFrom(e){this.length!==e.length?this._data=new Uint32Array(e._data):this._data.set(e._data),this.length=e.length,this._combined={};for(const t in e._combined)this._combined[t]=e._combined[t];this._extendedAttrs={};for(const t in e._extendedAttrs)this._extendedAttrs[t]=e._extendedAttrs[t];this.isWrapped=e.isWrapped}clone(){const e=new l(0);e._data=new Uint32Array(this._data),e.length=this.length;for(const t in this._combined)e._combined[t]=this._combined[t];for(const t in this._extendedAttrs)e._extendedAttrs[t]=this._extendedAttrs[t];return e.isWrapped=this.isWrapped,e}getTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(4194303&this._data[3*e+0])return e+(this._data[3*e+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(4194303&this._data[3*e+0]||50331648&this._data[3*e+2])return e+(this._data[3*e+0]>>22);return 0}copyCellsFrom(e,t,i,s,r){const n=e._data;if(r)for(let r=s-1;r>=0;r--){for(let e=0;e<3;e++)this._data[3*(i+r)+e]=n[3*(t+r)+e];268435456&n[3*(t+r)+2]&&(this._extendedAttrs[i+r]=e._extendedAttrs[t+r])}else for(let r=0;r<s;r++){for(let e=0;e<3;e++)this._data[3*(i+r)+e]=n[3*(t+r)+e];268435456&n[3*(t+r)+2]&&(this._extendedAttrs[i+r]=e._extendedAttrs[t+r])}const o=Object.keys(e._combined);for(let s=0;s<o.length;s++){const r=parseInt(o[s],10);r>=t&&(this._combined[r-t+i]=e._combined[r])}}translateToString(e,t,i,s){t=t??0,i=i??this.length,e&&(i=Math.min(i,this.getTrimmedLength())),s&&(s.length=0);let r=\"\";for(;t<i;){const e=this._data[3*t+0],i=2097151&e,a=2097152&e?this._combined[t]:i?(0,o.stringFromCodePoint)(i):n.WHITESPACE_CELL_CHAR;if(r+=a,s)for(let e=0;e<a.length;++e)s.push(t);t+=e>>22||1}return s&&s.push(t),r}}t.BufferLine=l},9384:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.getRangeLength=function(e,t){if(e.start.y>e.end.y)throw new Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return t*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}},732:(e,t)=>{function i(e,t,i){if(t===e.length-1)return e[t].getTrimmedLength();const s=!e[t].hasContent(i-1)&&1===e[t].getWidth(i-1),r=2===e[t+1].getWidth(0);return s&&r?i-1:i}Object.defineProperty(t,\"__esModule\",{value:!0}),t.reflowLargerGetLinesToRemove=function(e,t,s,r,n,o){const a=[];for(let l=0;l<e.length-1;l++){let h=l,c=e.get(++h);if(!c.isWrapped)continue;const d=[e.get(l)];for(;h<e.length&&c.isWrapped;)d.push(c),c=e.get(++h);if(!o&&r>=l&&r<h){l+=d.length-1;continue}let u=0,_=i(d,u,t),f=1,p=0;for(;f<d.length;){const e=i(d,f,t),r=e-p,o=s-_,a=Math.min(r,o);d[u].copyCellsFrom(d[f],p,_,a,!1),_+=a,_===s&&(u++,_=0),p+=a,p===e&&(f++,p=0),0===_&&0!==u&&2===d[u-1].getWidth(s-1)&&(d[u].copyCellsFrom(d[u-1],s-1,_++,1,!1),d[u-1].setCell(s-1,n))}d[u].replaceCells(_,s,n);let g=0;for(let e=d.length-1;e>0&&(e>u||0===d[e].getTrimmedLength());e--)g++;g>0&&(a.push(l+d.length-g),a.push(g)),l+=d.length-1}return a},t.reflowLargerCreateNewLayout=function(e,t){const i=[];let s=0,r=t[s],n=0;for(let o=0;o<e.length;o++)if(r===o){const i=t[++s];e.onDeleteEmitter.fire({index:o-n,amount:i}),o+=i-1,n+=i,r=t[++s]}else i.push(o);return{layout:i,countRemoved:n}},t.reflowLargerApplyNewLayout=function(e,t){const i=[];for(let s=0;s<t.length;s++)i.push(e.get(t[s]));for(let t=0;t<i.length;t++)e.set(t,i[t]);e.length=t.length},t.reflowSmallerGetNewLineLengths=function(e,t,s){const r=[],n=e.map(((s,r)=>i(e,r,t))).reduce(((e,t)=>e+t));let o=0,a=0,l=0;for(;l<n;){if(n-l<s){r.push(n-l);break}o+=s;const h=i(e,a,t);o>h&&(o-=h,a++);const c=2===e[a].getWidth(o-1);c&&o--;const d=c?s-1:s;r.push(d),l+=d}return r},t.getWrappedLineTrimmedLength=i},4097:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferSet=void 0;const s=i(7150),r=i(1073),n=i(802);class o extends s.Disposable{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this._register(new n.Emitter),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange(\"scrollback\",(()=>this.resize(this._bufferService.cols,this._bufferService.rows)))),this._register(this._optionsService.onSpecificOptionChange(\"tabStopWidth\",(()=>this.setupTabStops())))}reset(){this._normal=new r.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new r.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e,t){this._normal.resize(e,t),this._alt.resize(e,t),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}}t.BufferSet=o},3055:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CellData=void 0;const s=i(726),r=i(8938),n=i(5451);class o extends n.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new n.ExtendedAttrs,this.combinedData=\"\"}static fromCharData(e){const t=new o;return t.setFromCharData(e),t}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,s.stringFromCodePoint)(2097151&this.content):\"\"}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(e){this.fg=e[r.CHAR_DATA_ATTR_INDEX],this.bg=0;let t=!1;if(e[r.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[r.CHAR_DATA_CHAR_INDEX].length){const i=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=i&&i<=56319){const s=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=s&&s<=57343?this.content=1024*(i-55296)+s-56320+65536|e[r.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[r.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[r.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[r.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}t.CellData=o},8938:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WHITESPACE_CELL_CODE=t.WHITESPACE_CELL_WIDTH=t.WHITESPACE_CELL_CHAR=t.NULL_CELL_CODE=t.NULL_CELL_WIDTH=t.NULL_CELL_CHAR=t.CHAR_DATA_CODE_INDEX=t.CHAR_DATA_WIDTH_INDEX=t.CHAR_DATA_CHAR_INDEX=t.CHAR_DATA_ATTR_INDEX=t.DEFAULT_EXT=t.DEFAULT_ATTR=t.DEFAULT_COLOR=void 0,t.DEFAULT_COLOR=0,t.DEFAULT_ATTR=t.DEFAULT_COLOR<<9|256,t.DEFAULT_EXT=0,t.CHAR_DATA_ATTR_INDEX=0,t.CHAR_DATA_CHAR_INDEX=1,t.CHAR_DATA_WIDTH_INDEX=2,t.CHAR_DATA_CODE_INDEX=3,t.NULL_CELL_CHAR=\"\",t.NULL_CELL_WIDTH=1,t.NULL_CELL_CODE=0,t.WHITESPACE_CELL_CHAR=\" \",t.WHITESPACE_CELL_WIDTH=1,t.WHITESPACE_CELL_CODE=32},8158:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Marker=void 0;const s=i(802),r=i(7150);class n{get id(){return this._id}constructor(e){this.line=e,this.isDisposed=!1,this._disposables=[],this._id=n._nextId++,this._onDispose=this.register(new s.Emitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,r.dispose)(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}}t.Marker=n,n._nextId=1},6760:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DEFAULT_CHARSET=t.CHARSETS=void 0,t.CHARSETS={},t.DEFAULT_CHARSET=t.CHARSETS.B,t.CHARSETS[0]={\"`\":\"◆\",a:\"▒\",b:\"␉\",c:\"␌\",d:\"␍\",e:\"␊\",f:\"°\",g:\"±\",h:\"\",i:\"␋\",j:\"┘\",k:\"┐\",l:\"┌\",m:\"└\",n:\"┼\",o:\"⎺\",p:\"⎻\",q:\"─\",r:\"⎼\",s:\"⎽\",t:\"├\",u:\"┤\",v:\"┴\",w:\"┬\",x:\"│\",y:\"≤\",z:\"≥\",\"{\":\"π\",\"|\":\"≠\",\"}\":\"£\",\"~\":\"·\"},t.CHARSETS.A={\"#\":\"£\"},t.CHARSETS.B=void 0,t.CHARSETS[4]={\"#\":\"£\",\"@\":\"¾\",\"[\":\"ij\",\"\\\\\":\"½\",\"]\":\"|\",\"{\":\"¨\",\"|\":\"f\",\"}\":\"¼\",\"~\":\"´\"},t.CHARSETS.C=t.CHARSETS[5]={\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"é\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS.R={\"#\":\"£\",\"@\":\"à\",\"[\":\"°\",\"\\\\\":\"ç\",\"]\":\"§\",\"{\":\"é\",\"|\":\"ù\",\"}\":\"è\",\"~\":\"¨\"},t.CHARSETS.Q={\"@\":\"à\",\"[\":\"â\",\"\\\\\":\"ç\",\"]\":\"ê\",\"^\":\"î\",\"`\":\"ô\",\"{\":\"é\",\"|\":\"ù\",\"}\":\"è\",\"~\":\"û\"},t.CHARSETS.K={\"@\":\"§\",\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Ü\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"ü\",\"~\":\"ß\"},t.CHARSETS.Y={\"#\":\"£\",\"@\":\"§\",\"[\":\"°\",\"\\\\\":\"ç\",\"]\":\"é\",\"`\":\"ù\",\"{\":\"à\",\"|\":\"ò\",\"}\":\"è\",\"~\":\"ì\"},t.CHARSETS.E=t.CHARSETS[6]={\"@\":\"Ä\",\"[\":\"Æ\",\"\\\\\":\"Ø\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"ä\",\"{\":\"æ\",\"|\":\"ø\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS.Z={\"#\":\"£\",\"@\":\"§\",\"[\":\"¡\",\"\\\\\":\"Ñ\",\"]\":\"¿\",\"{\":\"°\",\"|\":\"ñ\",\"}\":\"ç\"},t.CHARSETS.H=t.CHARSETS[7]={\"@\":\"É\",\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"é\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS[\"=\"]={\"#\":\"ù\",\"@\":\"à\",\"[\":\"é\",\"\\\\\":\"ç\",\"]\":\"ê\",\"^\":\"î\",_:\"è\",\"`\":\"ô\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"ü\",\"~\":\"û\"}},3534:(e,t)=>{var i,s,r;Object.defineProperty(t,\"__esModule\",{value:!0}),t.C1_ESCAPED=t.C1=t.C0=void 0,function(e){e.NUL=\"\\0\",e.SOH=\"\u0001\",e.STX=\"\u0002\",e.ETX=\"\u0003\",e.EOT=\"\u0004\",e.ENQ=\"\u0005\",e.ACK=\"\u0006\",e.BEL=\"\u0007\",e.BS=\"\\b\",e.HT=\"\\t\",e.LF=\"\\n\",e.VT=\"\\v\",e.FF=\"\\f\",e.CR=\"\\r\",e.SO=\"\u000e\",e.SI=\"\u000f\",e.DLE=\"\u0010\",e.DC1=\"\u0011\",e.DC2=\"\u0012\",e.DC3=\"\u0013\",e.DC4=\"\u0014\",e.NAK=\"\u0015\",e.SYN=\"\u0016\",e.ETB=\"\u0017\",e.CAN=\"\u0018\",e.EM=\"\u0019\",e.SUB=\"\u001a\",e.ESC=\"\u001b\",e.FS=\"\u001c\",e.GS=\"\u001d\",e.RS=\"\u001e\",e.US=\"\u001f\",e.SP=\" \",e.DEL=\"\"}(i||(t.C0=i={})),function(e){e.PAD=\"\",e.HOP=\"\",e.BPH=\"\",e.NBH=\"\",e.IND=\"\",e.NEL=\"
\",e.SSA=\"\",e.ESA=\"\",e.HTS=\"\",e.HTJ=\"\",e.VTS=\"\",e.PLD=\"\",e.PLU=\"\",e.RI=\"\",e.SS2=\"\",e.SS3=\"\",e.DCS=\"\",e.PU1=\"\",e.PU2=\"\",e.STS=\"\",e.CCH=\"\",e.MW=\"\",e.SPA=\"\",e.EPA=\"\",e.SOS=\"\",e.SGCI=\"\",e.SCI=\"\",e.CSI=\"\",e.ST=\"\",e.OSC=\"\",e.PM=\"\",e.APC=\"\"}(s||(t.C1=s={})),function(e){e.ST=`${i.ESC}\\\\`}(r||(t.C1_ESCAPED=r={}))},706:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.evaluateKeyboardEvent=function(e,t,i,n){const o={type:0,cancel:!1,key:void 0},a=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:\"UIKeyInputUpArrow\"===e.key?o.key=t?s.C0.ESC+\"OA\":s.C0.ESC+\"[A\":\"UIKeyInputLeftArrow\"===e.key?o.key=t?s.C0.ESC+\"OD\":s.C0.ESC+\"[D\":\"UIKeyInputRightArrow\"===e.key?o.key=t?s.C0.ESC+\"OC\":s.C0.ESC+\"[C\":\"UIKeyInputDownArrow\"===e.key&&(o.key=t?s.C0.ESC+\"OB\":s.C0.ESC+\"[B\");break;case 8:o.key=e.ctrlKey?\"\\b\":s.C0.DEL,e.altKey&&(o.key=s.C0.ESC+o.key);break;case 9:if(e.shiftKey){o.key=s.C0.ESC+\"[Z\";break}o.key=s.C0.HT,o.cancel=!0;break;case 13:o.key=e.altKey?s.C0.ESC+s.C0.CR:s.C0.CR,o.cancel=!0;break;case 27:o.key=s.C0.ESC,e.altKey&&(o.key=s.C0.ESC+s.C0.ESC),o.cancel=!0;break;case 37:if(e.metaKey)break;o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"D\":t?s.C0.ESC+\"OD\":s.C0.ESC+\"[D\";break;case 39:if(e.metaKey)break;o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"C\":t?s.C0.ESC+\"OC\":s.C0.ESC+\"[C\";break;case 38:if(e.metaKey)break;o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"A\":t?s.C0.ESC+\"OA\":s.C0.ESC+\"[A\";break;case 40:if(e.metaKey)break;o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"B\":t?s.C0.ESC+\"OB\":s.C0.ESC+\"[B\";break;case 45:e.shiftKey||e.ctrlKey||(o.key=s.C0.ESC+\"[2~\");break;case 46:o.key=a?s.C0.ESC+\"[3;\"+(a+1)+\"~\":s.C0.ESC+\"[3~\";break;case 36:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"H\":t?s.C0.ESC+\"OH\":s.C0.ESC+\"[H\";break;case 35:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"F\":t?s.C0.ESC+\"OF\":s.C0.ESC+\"[F\";break;case 33:e.shiftKey?o.type=2:e.ctrlKey?o.key=s.C0.ESC+\"[5;\"+(a+1)+\"~\":o.key=s.C0.ESC+\"[5~\";break;case 34:e.shiftKey?o.type=3:e.ctrlKey?o.key=s.C0.ESC+\"[6;\"+(a+1)+\"~\":o.key=s.C0.ESC+\"[6~\";break;case 112:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"P\":s.C0.ESC+\"OP\";break;case 113:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"Q\":s.C0.ESC+\"OQ\";break;case 114:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"R\":s.C0.ESC+\"OR\";break;case 115:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"S\":s.C0.ESC+\"OS\";break;case 116:o.key=a?s.C0.ESC+\"[15;\"+(a+1)+\"~\":s.C0.ESC+\"[15~\";break;case 117:o.key=a?s.C0.ESC+\"[17;\"+(a+1)+\"~\":s.C0.ESC+\"[17~\";break;case 118:o.key=a?s.C0.ESC+\"[18;\"+(a+1)+\"~\":s.C0.ESC+\"[18~\";break;case 119:o.key=a?s.C0.ESC+\"[19;\"+(a+1)+\"~\":s.C0.ESC+\"[19~\";break;case 120:o.key=a?s.C0.ESC+\"[20;\"+(a+1)+\"~\":s.C0.ESC+\"[20~\";break;case 121:o.key=a?s.C0.ESC+\"[21;\"+(a+1)+\"~\":s.C0.ESC+\"[21~\";break;case 122:o.key=a?s.C0.ESC+\"[23;\"+(a+1)+\"~\":s.C0.ESC+\"[23~\";break;case 123:o.key=a?s.C0.ESC+\"[24;\"+(a+1)+\"~\":s.C0.ESC+\"[24~\";break;default:if(!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)if(i&&!n||!e.altKey||e.metaKey)!i||e.altKey||e.ctrlKey||e.shiftKey||!e.metaKey?e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&1===e.key.length?o.key=e.key:e.key&&e.ctrlKey&&(\"_\"===e.key&&(o.key=s.C0.US),\"@\"===e.key&&(o.key=s.C0.NUL)):65===e.keyCode&&(o.type=1);else{const t=r[e.keyCode],i=t?.[e.shiftKey?1:0];if(i)o.key=s.C0.ESC+i;else if(e.keyCode>=65&&e.keyCode<=90){const t=e.ctrlKey?e.keyCode-64:e.keyCode+32;let i=String.fromCharCode(t);e.shiftKey&&(i=i.toUpperCase()),o.key=s.C0.ESC+i}else if(32===e.keyCode)o.key=s.C0.ESC+(e.ctrlKey?s.C0.NUL:\" \");else if(\"Dead\"===e.key&&e.code.startsWith(\"Key\")){let t=e.code.slice(3,4);e.shiftKey||(t=t.toLowerCase()),o.key=s.C0.ESC+t,o.cancel=!0}}else e.keyCode>=65&&e.keyCode<=90?o.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?o.key=s.C0.NUL:e.keyCode>=51&&e.keyCode<=55?o.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?o.key=s.C0.DEL:219===e.keyCode?o.key=s.C0.ESC:220===e.keyCode?o.key=s.C0.FS:221===e.keyCode&&(o.key=s.C0.GS)}return o};const s=i(3534),r={48:[\"0\",\")\"],49:[\"1\",\"!\"],50:[\"2\",\"@\"],51:[\"3\",\"#\"],52:[\"4\",\"$\"],53:[\"5\",\"%\"],54:[\"6\",\"^\"],55:[\"7\",\"&\"],56:[\"8\",\"*\"],57:[\"9\",\"(\"],186:[\";\",\":\"],187:[\"=\",\"+\"],188:[\",\",\"<\"],189:[\"-\",\"_\"],190:[\".\",\">\"],191:[\"/\",\"?\"],192:[\"`\",\"~\"],219:[\"[\",\"{\"],220:[\"\\\\\",\"|\"],221:[\"]\",\"}\"],222:[\"'\",'\"']}},726:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t=0,i=e.length){let s=\"\";for(let r=t;r<i;++r){let t=e[r];t>65535?(t-=65536,s+=String.fromCharCode(55296+(t>>10))+String.fromCharCode(t%1024+56320)):s+=String.fromCharCode(t)}return s},t.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){const i=e.length;if(!i)return 0;let s=0,r=0;if(this._interim){const i=e.charCodeAt(r++);56320<=i&&i<=57343?t[s++]=1024*(this._interim-55296)+i-56320+65536:(t[s++]=this._interim,t[s++]=i),this._interim=0}for(let n=r;n<i;++n){const r=e.charCodeAt(n);if(55296<=r&&r<=56319){if(++n>=i)return this._interim=r,s;const o=e.charCodeAt(n);56320<=o&&o<=57343?t[s++]=1024*(r-55296)+o-56320+65536:(t[s++]=r,t[s++]=o)}else 65279!==r&&(t[s++]=r)}return s}},t.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){const i=e.length;if(!i)return 0;let s,r,n,o,a=0,l=0,h=0;if(this.interim[0]){let s=!1,r=this.interim[0];r&=192==(224&r)?31:224==(240&r)?15:7;let n,o=0;for(;(n=63&this.interim[++o])&&o<4;)r<<=6,r|=n;const l=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,c=l-o;for(;h<c;){if(h>=i)return 0;if(n=e[h++],128!=(192&n)){h--,s=!0;break}this.interim[o++]=n,r<<=6,r|=63&n}s||(2===l?r<128?h--:t[a++]=r:3===l?r<2048||r>=55296&&r<=57343||65279===r||(t[a++]=r):r<65536||r>1114111||(t[a++]=r)),this.interim.fill(0)}const c=i-4;let d=h;for(;d<i;){for(;!(!(d<c)||128&(s=e[d])||128&(r=e[d+1])||128&(n=e[d+2])||128&(o=e[d+3]));)t[a++]=s,t[a++]=r,t[a++]=n,t[a++]=o,d+=4;if(s=e[d++],s<128)t[a++]=s;else if(192==(224&s)){if(d>=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(l=(31&s)<<6|63&r,l<128){d--;continue}t[a++]=l}else if(224==(240&s)){if(d>=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,a;if(n=e[d++],128!=(192&n)){d--;continue}if(l=(15&s)<<12|(63&r)<<6|63&n,l<2048||l>=55296&&l<=57343||65279===l)continue;t[a++]=l}else if(240==(248&s)){if(d>=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,a;if(n=e[d++],128!=(192&n)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,this.interim[2]=n,a;if(o=e[d++],128!=(192&o)){d--;continue}if(l=(7&s)<<18|(63&r)<<12|(63&n)<<6|63&o,l<65536||l>1114111)continue;t[a++]=l}}return a}}},7428:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeV6=void 0;const s=i(6415),r=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],n=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];let o;t.UnicodeV6=class{constructor(){if(this.version=\"6\",!o){o=new Uint8Array(65536),o.fill(1),o[0]=0,o.fill(0,1,32),o.fill(0,127,160),o.fill(2,4352,4448),o[9001]=2,o[9002]=2,o.fill(2,11904,42192),o[12351]=1,o.fill(2,44032,55204),o.fill(2,63744,64256),o.fill(2,65040,65050),o.fill(2,65072,65136),o.fill(2,65280,65377),o.fill(2,65504,65511);for(let e=0;e<r.length;++e)o.fill(0,r[e][0],r[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?o[e]:function(e,t){let i,s=0,r=t.length-1;if(e<t[0][0]||e>t[r][1])return!1;for(;r>=s;)if(i=s+r>>1,e>t[i][1])s=i+1;else{if(!(e<t[i][0]))return!0;r=i-1}return!1}(e,n)?0:e>=131072&&e<=196605||e>=196608&&e<=262141?2:1}charProperties(e,t){let i=this.wcwidth(e),r=0===i&&0!==t;if(r){const e=s.UnicodeService.extractWidth(t);0===e?r=!1:e>i&&(i=e)}return s.UnicodeService.createPropertyValue(0,i,r)}}},3562:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WriteBuffer=void 0;const s=i(7150),r=i(802);class n extends s.Disposable{constructor(e){super(),this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new r.Emitter),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,t){if(void 0!==t&&this._syncCalls>t)return void(this._syncCalls=0);if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let i;for(this._isSyncWriting=!0;i=this._writeBuffer.shift();){this._action(i);const e=this._callbacks.shift();e&&e()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,t){if(this._pendingData>5e7)throw new Error(\"write data discarded, use flow control to avoid losing data\");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput)return this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t),void this._innerWrite();setTimeout((()=>this._innerWrite()))}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)}_innerWrite(e=0,t=!0){const i=e||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){const e=this._writeBuffer[this._bufferOffset],s=this._action(e,t);if(s){const e=e=>performance.now()-i>=12?setTimeout((()=>this._innerWrite(0,e))):this._innerWrite(i,e);return void s.catch((e=>(queueMicrotask((()=>{throw e})),Promise.resolve(!1)))).then(e)}const r=this._callbacks[this._bufferOffset];if(r&&r(),this._bufferOffset++,this._pendingData-=e.length,performance.now()-i>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout((()=>this._innerWrite()))):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}}t.WriteBuffer=n},8693:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.parseColor=function(e){if(!e)return;let t=e.toLowerCase();if(0===t.indexOf(\"rgb:\")){t=t.slice(4);const e=i.exec(t);if(e){const t=e[1]?15:e[4]?255:e[7]?4095:65535;return[Math.round(parseInt(e[1]||e[4]||e[7]||e[10],16)/t*255),Math.round(parseInt(e[2]||e[5]||e[8]||e[11],16)/t*255),Math.round(parseInt(e[3]||e[6]||e[9]||e[12],16)/t*255)]}}else if(0===t.indexOf(\"#\")&&(t=t.slice(1),s.exec(t)&&[3,6,9,12].includes(t.length))){const e=t.length/3,i=[0,0,0];for(let s=0;s<3;++s){const r=parseInt(t.slice(e*s,e*s+e),16);i[s]=1===e?r<<4:2===e?r:3===e?r>>4:r>>8}return i}},t.toRgbString=function(e,t=16){const[i,s,n]=e;return`rgb:${r(i,t)}/${r(s,t)}/${r(n,t)}`};const i=/^([\\da-f])\\/([\\da-f])\\/([\\da-f])$|^([\\da-f]{2})\\/([\\da-f]{2})\\/([\\da-f]{2})$|^([\\da-f]{3})\\/([\\da-f]{3})\\/([\\da-f]{3})$|^([\\da-f]{4})\\/([\\da-f]{4})\\/([\\da-f]{4})$/,s=/^[\\da-f]+$/;function r(e,t){const i=e.toString(16),s=i.length<2?\"0\"+i:i;switch(t){case 4:return i[0];case 8:return s;case 12:return(s+s).slice(0,3);default:return s+s}}},1263:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PAYLOAD_LIMIT=void 0,t.PAYLOAD_LIMIT=1e7},9823:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DcsHandler=t.DcsParser=void 0;const s=i(726),r=i(7262),n=i(1263),o=[];t.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=o,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=o}registerHandler(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);const i=this._handlers[e];return i.push(t),{dispose:()=>{const e=i.indexOf(t);-1!==e&&i.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=o,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||o,this._active.length)for(let e=this._active.length-1;e>=0;e--)this._active[e].hook(t);else this._handlerFb(this._ident,\"HOOK\",t)}put(e,t,i){if(this._active.length)for(let s=this._active.length-1;s>=0;s--)this._active[s].put(e,t,i);else this._handlerFb(this._ident,\"PUT\",(0,s.utf32ToString)(e,t,i))}unhook(e,t=!0){if(this._active.length){let i=!1,s=this._active.length-1,r=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=t,r=this._stack.fallThrough,this._stack.paused=!1),!r&&!1===i){for(;s>=0&&(i=this._active[s].unhook(e),!0!==i);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].unhook(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}else this._handlerFb(this._ident,\"UNHOOK\",e);this._active=o,this._ident=0}};const a=new r.Params;a.addParam(0),t.DcsHandler=class{constructor(e){this._handler=e,this._data=\"\",this._params=a,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():a,this._data=\"\",this._hitLimit=!1}put(e,t,i){this._hitLimit||(this._data+=(0,s.utf32ToString)(e,t,i),this._data.length>n.PAYLOAD_LIMIT&&(this._data=\"\",this._hitLimit=!0))}unhook(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data,this._params),t instanceof Promise))return t.then((e=>(this._params=a,this._data=\"\",this._hitLimit=!1,e)));return this._params=a,this._data=\"\",this._hitLimit=!1,t}}},6717:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.EscapeSequenceParser=t.VT500_TRANSITION_TABLE=t.TransitionTable=void 0;const s=i(7150),r=i(7262),n=i(1346),o=i(9823);class a{constructor(e){this.table=new Uint8Array(e)}setDefault(e,t){this.table.fill(e<<4|t)}add(e,t,i,s){this.table[t<<8|e]=i<<4|s}addMany(e,t,i,s){for(let r=0;r<e.length;r++)this.table[t<<8|e[r]]=i<<4|s}}t.TransitionTable=a;const l=160;t.VT500_TRANSITION_TABLE=function(){const e=new a(4095),t=Array.apply(null,Array(256)).map(((e,t)=>t)),i=(e,i)=>t.slice(e,i),s=i(32,127),r=i(0,24);r.push(25),r.push.apply(r,i(28,32));const n=i(0,14);let o;for(o in e.setDefault(1,0),e.addMany(s,0,2,0),n)e.addMany([24,26,153,154],o,3,0),e.addMany(i(128,144),o,3,0),e.addMany(i(144,152),o,3,0),e.add(156,o,0,0),e.add(27,o,11,1),e.add(157,o,4,8),e.addMany([152,158,159],o,0,7),e.add(155,o,11,3),e.add(144,o,11,9);return e.addMany(r,0,3,0),e.addMany(r,1,3,1),e.add(127,1,0,1),e.addMany(r,8,0,8),e.addMany(r,3,3,3),e.add(127,3,0,3),e.addMany(r,4,3,4),e.add(127,4,0,4),e.addMany(r,6,3,6),e.addMany(r,5,3,5),e.add(127,5,0,5),e.addMany(r,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(s,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(i(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(s,7,0,7),e.addMany(r,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(i(64,127),3,7,0),e.addMany(i(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(i(48,60),4,8,4),e.addMany(i(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(i(32,64),6,0,6),e.add(127,6,0,6),e.addMany(i(64,127),6,0,0),e.addMany(i(32,48),3,9,5),e.addMany(i(32,48),5,9,5),e.addMany(i(48,64),5,0,6),e.addMany(i(64,127),5,7,0),e.addMany(i(32,48),4,9,5),e.addMany(i(32,48),1,9,2),e.addMany(i(32,48),2,9,2),e.addMany(i(48,127),2,10,0),e.addMany(i(48,80),1,10,0),e.addMany(i(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(i(96,127),1,10,0),e.add(80,1,11,9),e.addMany(r,9,0,9),e.add(127,9,0,9),e.addMany(i(28,32),9,0,9),e.addMany(i(32,48),9,9,12),e.addMany(i(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(r,11,0,11),e.addMany(i(32,128),11,0,11),e.addMany(i(28,32),11,0,11),e.addMany(r,10,0,10),e.add(127,10,0,10),e.addMany(i(28,32),10,0,10),e.addMany(i(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(i(32,48),10,9,12),e.addMany(r,12,0,12),e.add(127,12,0,12),e.addMany(i(28,32),12,0,12),e.addMany(i(32,48),12,9,12),e.addMany(i(48,64),12,0,11),e.addMany(i(64,127),12,12,13),e.addMany(i(64,127),10,12,13),e.addMany(i(64,127),9,12,13),e.addMany(r,13,13,13),e.addMany(s,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(l,0,2,0),e.add(l,8,5,8),e.add(l,6,0,6),e.add(l,11,0,11),e.add(l,13,13,13),e}();class h extends s.Disposable{constructor(e=t.VT500_TRANSITION_TABLE){super(),this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new r.Params,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,t,i)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,t)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register((0,s.toDisposable)((()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)}))),this._oscParser=this._register(new n.OscParser),this._dcsParser=this._register(new o.DcsParser),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:\"\\\\\"},(()=>!0))}_identifier(e,t=[64,126]){let i=0;if(e.prefix){if(e.prefix.length>1)throw new Error(\"only one byte as prefix supported\");if(i=e.prefix.charCodeAt(0),i&&60>i||i>63)throw new Error(\"prefix must be in range 0x3c .. 0x3f\")}if(e.intermediates){if(e.intermediates.length>2)throw new Error(\"only two bytes as intermediates are supported\");for(let t=0;t<e.intermediates.length;++t){const s=e.intermediates.charCodeAt(t);if(32>s||s>47)throw new Error(\"intermediate must be in range 0x20 .. 0x2f\");i<<=8,i|=s}}if(1!==e.final.length)throw new Error(\"final must be a single byte\");const s=e.final.charCodeAt(0);if(t[0]>s||s>t[1])throw new Error(`final must be in range ${t[0]} .. ${t[1]}`);return i<<=8,i|=s,i}identToString(e){const t=[];for(;e;)t.push(String.fromCharCode(255&e)),e>>=8;return t.reverse().join(\"\")}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,t){const i=this._identifier(e,[48,126]);void 0===this._escHandlers[i]&&(this._escHandlers[i]=[]);const s=this._escHandlers[i];return s.push(t),{dispose:()=>{const e=s.indexOf(t);-1!==e&&s.splice(e,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,t){this._executeHandlers[e.charCodeAt(0)]=t}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,t){const i=this._identifier(e);void 0===this._csiHandlers[i]&&(this._csiHandlers[i]=[]);const s=this._csiHandlers[i];return s.push(t),{dispose:()=>{const e=s.indexOf(t);-1!==e&&s.splice(e,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,t){return this._oscParser.registerHandler(e,t)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,0!==this._parseStack.state&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,t,i,s,r){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=i,this._parseStack.transition=s,this._parseStack.chunkPos=r}parse(e,t,i){let s,r=0,n=0,o=0;if(this._parseStack.state)if(2===this._parseStack.state)this._parseStack.state=0,o=this._parseStack.chunkPos+1;else{if(void 0===i||1===this._parseStack.state)throw this._parseStack.state=1,new Error(\"improper continuation due to previous async handler, giving up parsing\");const t=this._parseStack.handlers;let n=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(!1===i&&n>-1)for(;n>=0&&(s=t[n](this._params),!0!==s);n--)if(s instanceof Promise)return this._parseStack.handlerPos=n,s;this._parseStack.handlers=[];break;case 4:if(!1===i&&n>-1)for(;n>=0&&(s=t[n](),!0!==s);n--)if(s instanceof Promise)return this._parseStack.handlerPos=n,s;this._parseStack.handlers=[];break;case 6:if(r=e[this._parseStack.chunkPos],s=this._dcsParser.unhook(24!==r&&26!==r,i),s)return s;27===r&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(r=e[this._parseStack.chunkPos],s=this._oscParser.end(24!==r&&26!==r,i),s)return s;27===r&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,o=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=15&this._parseStack.transition}for(let i=o;i<t;++i){switch(r=e[i],n=this._transitions.table[this.currentState<<8|(r<160?r:l)],n>>4){case 2:for(let s=i+1;;++s){if(s>=t||(r=e[s])<32||r>126&&r<l){this._printHandler(e,i,s),i=s-1;break}if(++s>=t||(r=e[s])<32||r>126&&r<l){this._printHandler(e,i,s),i=s-1;break}if(++s>=t||(r=e[s])<32||r>126&&r<l){this._printHandler(e,i,s),i=s-1;break}if(++s>=t||(r=e[s])<32||r>126&&r<l){this._printHandler(e,i,s),i=s-1;break}}break;case 3:this._executeHandlers[r]?this._executeHandlers[r]():this._executeHandlerFb(r),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:i,code:r,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:const o=this._csiHandlers[this._collect<<8|r];let a=o?o.length-1:-1;for(;a>=0&&(s=o[a](this._params),!0!==s);a--)if(s instanceof Promise)return this._preserveStack(3,o,a,n,i),s;a<0&&this._csiHandlerFb(this._collect<<8|r,this._params),this.precedingJoinState=0;break;case 8:do{switch(r){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(r-48)}}while(++i<t&&(r=e[i])>47&&r<60);i--;break;case 9:this._collect<<=8,this._collect|=r;break;case 10:const h=this._escHandlers[this._collect<<8|r];let c=h?h.length-1:-1;for(;c>=0&&(s=h[c](),!0!==s);c--)if(s instanceof Promise)return this._preserveStack(4,h,c,n,i),s;c<0&&this._escHandlerFb(this._collect<<8|r),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|r,this._params);break;case 13:for(let s=i+1;;++s)if(s>=t||24===(r=e[s])||26===r||27===r||r>127&&r<l){this._dcsParser.put(e,i,s),i=s-1;break}break;case 14:if(s=this._dcsParser.unhook(24!==r&&26!==r),s)return this._preserveStack(6,[],0,n,i),s;27===r&&(n|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let s=i+1;;s++)if(s>=t||(r=e[s])<32||r>127&&r<l){this._oscParser.put(e,i,s),i=s-1;break}break;case 6:if(s=this._oscParser.end(24!==r&&26!==r),s)return this._preserveStack(5,[],0,n,i),s;27===r&&(n|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=15&n}}}t.EscapeSequenceParser=h},1346:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.OscHandler=t.OscParser=void 0;const s=i(1263),r=i(726),n=[];t.OscParser=class{constructor(){this._state=0,this._active=n,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);const i=this._handlers[e];return i.push(t),{dispose:()=>{const e=i.indexOf(t);-1!==e&&i.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=n}reset(){if(2===this._state)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=n,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||n,this._active.length)for(let e=this._active.length-1;e>=0;e--)this._active[e].start();else this._handlerFb(this._id,\"START\")}_put(e,t,i){if(this._active.length)for(let s=this._active.length-1;s>=0;s--)this._active[s].put(e,t,i);else this._handlerFb(this._id,\"PUT\",(0,r.utf32ToString)(e,t,i))}start(){this.reset(),this._state=1}put(e,t,i){if(3!==this._state){if(1===this._state)for(;t<i;){const i=e[t++];if(59===i){this._state=2,this._start();break}if(i<48||57<i)return void(this._state=3);-1===this._id&&(this._id=0),this._id=10*this._id+i-48}2===this._state&&i-t>0&&this._put(e,t,i)}}end(e,t=!0){if(0!==this._state){if(3!==this._state)if(1===this._state&&this._start(),this._active.length){let i=!1,s=this._active.length-1,r=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=t,r=this._stack.fallThrough,this._stack.paused=!1),!r&&!1===i){for(;s>=0&&(i=this._active[s].end(e),!0!==i);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].end(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}else this._handlerFb(this._id,\"END\",e);this._active=n,this._id=-1,this._state=0}}},t.OscHandler=class{constructor(e){this._handler=e,this._data=\"\",this._hitLimit=!1}start(){this._data=\"\",this._hitLimit=!1}put(e,t,i){this._hitLimit||(this._data+=(0,r.utf32ToString)(e,t,i),this._data.length>s.PAYLOAD_LIMIT&&(this._data=\"\",this._hitLimit=!0))}end(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data),t instanceof Promise))return t.then((e=>(this._data=\"\",this._hitLimit=!1,e)));return this._data=\"\",this._hitLimit=!1,t}}},7262:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Params=void 0;const i=2147483647;class s{static fromArray(e){const t=new s;if(!e.length)return t;for(let i=Array.isArray(e[0])?1:0;i<e.length;++i){const s=e[i];if(Array.isArray(s))for(let e=0;e<s.length;++e)t.addSubParam(s[e]);else t.addParam(s)}return t}constructor(e=32,t=32){if(this.maxLength=e,this.maxSubParamsLength=t,t>256)throw new Error(\"maxSubParamsLength must not be greater than 256\");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}clone(){const e=new s(this.maxLength,this.maxSubParamsLength);return e.params.set(this.params),e.length=this.length,e._subParams.set(this._subParams),e._subParamsLength=this._subParamsLength,e._subParamsIdx.set(this._subParamsIdx),e._rejectDigits=this._rejectDigits,e._rejectSubDigits=this._rejectSubDigits,e._digitIsSub=this._digitIsSub,e}toArray(){const e=[];for(let t=0;t<this.length;++t){e.push(this.params[t]);const i=this._subParamsIdx[t]>>8,s=255&this._subParamsIdx[t];s-i>0&&e.push(Array.prototype.slice.call(this._subParams,i,s))}return e}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(e<-1)throw new Error(\"values lesser than -1 are not allowed\");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>i?i:e}}addSubParam(e){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(e<-1)throw new Error(\"values lesser than -1 are not allowed\");this._subParams[this._subParamsLength++]=e>i?i:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(255&this._subParamsIdx[e])-(this._subParamsIdx[e]>>8)>0}getSubParams(e){const t=this._subParamsIdx[e]>>8,i=255&this._subParamsIdx[e];return i-t>0?this._subParams.subarray(t,i):null}getSubParamsAll(){const e={};for(let t=0;t<this.length;++t){const i=this._subParamsIdx[t]>>8,s=255&this._subParamsIdx[t];s-i>0&&(e[t]=this._subParams.slice(i,s))}return e}addDigit(e){let t;if(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;const s=this._digitIsSub?this._subParams:this.params,r=s[t-1];s[t-1]=~r?Math.min(10*r+e,i):e}}t.Params=s},3027:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.AddonManager=void 0,t.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){const i={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(i),t.dispose=()=>this._wrappedAddonDispose(i),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let i=0;i<this._addons.length;i++)if(this._addons[i]===e){t=i;break}if(-1===t)throw new Error(\"Could not dispose an addon that has not been loaded\");e.isDisposed=!0,e.dispose.apply(e.instance),this._addons.splice(t,1)}}},3235:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferApiView=void 0;const s=i(793),r=i(3055);t.BufferApiView=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e){const t=this._buffer.lines.get(e);if(t)return new s.BufferLineApiView(t)}getNullCell(){return new r.CellData}}},793:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferLineApiView=void 0;const s=i(3055);t.BufferLineApiView=class{constructor(e){this._line=e}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e,t){if(!(e<0||e>=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new s.CellData)}translateToString(e,t,i){return this._line.translateToString(e,t,i)}}},5101:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferNamespaceApi=void 0;const s=i(3235),r=i(7150),n=i(802);class o extends r.Disposable{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new n.Emitter),this.onBufferChange=this._onBufferChange.event,this._normal=new s.BufferApiView(this._core.buffers.normal,\"normal\"),this._alternate=new s.BufferApiView(this._core.buffers.alt,\"alternate\"),this._core.buffers.onBufferActivate((()=>this._onBufferChange.fire(this.active)))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error(\"Active buffer is neither normal nor alternate\")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}}t.BufferNamespaceApi=o},6097:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ParserApi=void 0,t.ParserApi=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,(e=>t(e.toArray())))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,((e,i)=>t(e,i.toArray())))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}}},4335:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeApi=void 0,t.UnicodeApi=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}}},9640:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferService=t.MINIMUM_ROWS=t.MINIMUM_COLS=void 0;const n=i(7150),o=i(4097),a=i(6501),l=i(802);t.MINIMUM_COLS=2,t.MINIMUM_ROWS=1;let h=class extends n.Disposable{get buffer(){return this.buffers.active}constructor(e){super(),this.isUserScrolling=!1,this._onResize=this._register(new l.Emitter),this.onResize=this._onResize.event,this._onScroll=this._register(new l.Emitter),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,t.MINIMUM_COLS),this.rows=Math.max(e.rawOptions.rows||0,t.MINIMUM_ROWS),this.buffers=this._register(new o.BufferSet(e,this)),this._register(this.buffers.onBufferActivate((e=>{this._onScroll.fire(e.activeBuffer.ydisp)})))}resize(e,t){const i=this.cols!==e,s=this.rows!==t;this.cols=e,this.rows=t,this.buffers.resize(e,t),this._onResize.fire({cols:e,rows:t,colsChanged:i,rowsChanged:s})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,t=!1){const i=this.buffer;let s;s=this._cachedBlankLine,s&&s.length===this.cols&&s.getFg(0)===e.fg&&s.getBg(0)===e.bg||(s=i.getBlankLine(e,t),this._cachedBlankLine=s),s.isWrapped=t;const r=i.ybase+i.scrollTop,n=i.ybase+i.scrollBottom;if(0===i.scrollTop){const e=i.lines.isFull;n===i.lines.length-1?e?i.lines.recycle().copyFrom(s):i.lines.push(s.clone()):i.lines.splice(n+1,0,s.clone()),e?this.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this.isUserScrolling||i.ydisp++)}else{const e=n-r+1;i.lines.shiftElements(r+1,e-1,-1),i.lines.set(n,s.clone())}this.isUserScrolling||(i.ydisp=i.ybase),this._onScroll.fire(i.ydisp)}scrollLines(e,t){const i=this.buffer;if(e<0){if(0===i.ydisp)return;this.isUserScrolling=!0}else e+i.ydisp>=i.ybase&&(this.isUserScrolling=!1);const s=i.ydisp;i.ydisp=Math.max(Math.min(i.ydisp+e,i.ybase),0),s!==i.ydisp&&(t||this._onScroll.fire(i.ydisp))}};t.BufferService=h,t.BufferService=h=s([r(0,a.IOptionsService)],h)},5746:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharsetService=void 0,t.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)}}},7792:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreMouseService=void 0;const n=i(6501),o=i(7150),a=i(802),l={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>4!==e.button&&1===e.action&&(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>32!==e.action},DRAG:{events:23,restrict:e=>32!==e.action||3!==e.button},ANY:{events:31,restrict:e=>!0}};function h(e,t){let i=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return 4===e.button?(i|=64,i|=e.action):(i|=3&e.button,4&e.button&&(i|=64),8&e.button&&(i|=128),32===e.action?i|=32:0!==e.action||t||(i|=3)),i}const c=String.fromCharCode,d={DEFAULT:e=>{const t=[h(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?\"\":`\u001b[M${c(t[0])}${c(t[1])}${c(t[2])}`},SGR:e=>{const t=0===e.action&&4!==e.button?\"m\":\"M\";return`\u001b[<${h(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{const t=0===e.action&&4!==e.button?\"m\":\"M\";return`\u001b[<${h(e,!0)};${e.x};${e.y}${t}`}};let u=class extends o.Disposable{constructor(e,t,i){super(),this._bufferService=e,this._coreService=t,this._optionsService=i,this._protocols={},this._encodings={},this._activeProtocol=\"\",this._activeEncoding=\"\",this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new a.Emitter),this.onProtocolChange=this._onProtocolChange.event;for(const e of Object.keys(l))this.addProtocol(e,l[e]);for(const e of Object.keys(d))this.addEncoding(e,d[e]);this.reset()}addProtocol(e,t){this._protocols[e]=t}addEncoding(e,t){this._encodings[e]=t}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return 0!==this._protocols[this._activeProtocol].events}set activeProtocol(e){if(!this._protocols[e])throw new Error(`unknown protocol \"${e}\"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw new Error(`unknown encoding \"${e}\"`);this._activeEncoding=e}reset(){this.activeProtocol=\"NONE\",this.activeEncoding=\"DEFAULT\",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(e,t,i){if(0===e.deltaY||e.shiftKey)return 0;if(void 0===t||void 0===i)return 0;const s=t/i;let r=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(r/=s+0,Math.abs(e.deltaY)<50&&(r*=.3),this._wheelPartialScroll+=r,r=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(r*=this._bufferService.rows),r}_applyScrollModifier(e,t){return t.altKey||t.ctrlKey||t.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows)return!1;if(4===e.button&&32===e.action)return!1;if(3===e.button&&32!==e.action)return!1;if(4!==e.button&&(2===e.action||3===e.action))return!1;if(e.col++,e.row++,32===e.action&&this._lastEvent&&this._equalEvents(this._lastEvent,e,\"SGR_PIXELS\"===this._activeEncoding))return!1;if(!this._protocols[this._activeProtocol].restrict(e))return!1;const t=this._encodings[this._activeEncoding](e);return t&&(\"DEFAULT\"===this._activeEncoding?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(1&e),up:!!(2&e),drag:!!(4&e),move:!!(8&e),wheel:!!(16&e)}}_equalEvents(e,t,i){if(i){if(e.x!==t.x)return!1;if(e.y!==t.y)return!1}else{if(e.col!==t.col)return!1;if(e.row!==t.row)return!1}return e.button===t.button&&e.action===t.action&&e.ctrl===t.ctrl&&e.alt===t.alt&&e.shift===t.shift}};t.CoreMouseService=u,t.CoreMouseService=u=s([r(0,n.IBufferService),r(1,n.ICoreService),r(2,n.IOptionsService)],u)},4071:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreService=void 0;const n=i(7453),o=i(7150),a=i(6501),l=i(802),h=Object.freeze({insertMode:!1}),c=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0});let d=class extends o.Disposable{constructor(e,t,i){super(),this._bufferService=e,this._logService=t,this._optionsService=i,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new l.Emitter),this.onData=this._onData.event,this._onUserInput=this._register(new l.Emitter),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new l.Emitter),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new l.Emitter),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=(0,n.clone)(h),this.decPrivateModes=(0,n.clone)(c)}reset(){this.modes=(0,n.clone)(h),this.decPrivateModes=(0,n.clone)(c)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;const i=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&i.ybase!==i.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data \"${e}\"`),this._logService.trace(\"sending data (codes)\",(()=>e.split(\"\").map((e=>e.charCodeAt(0))))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary \"${e}\"`),this._logService.trace(\"sending binary (codes)\",(()=>e.split(\"\").map((e=>e.charCodeAt(0))))),this._onBinary.fire(e))}};t.CoreService=d,t.CoreService=d=s([r(0,a.IBufferService),r(1,a.ILogService),r(2,a.IOptionsService)],d)},4720:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DecorationService=void 0;const s=i(4103),r=i(7150),n=i(3087),o=i(802);let a=0,l=0;class h extends r.Disposable{get decorations(){return this._decorations.values()}constructor(){super(),this._decorations=new n.SortedList((e=>e?.marker.line)),this._onDecorationRegistered=this._register(new o.Emitter),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new o.Emitter),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register((0,r.toDisposable)((()=>this.reset())))}registerDecoration(e){if(e.marker.isDisposed)return;const t=new c(e);if(t){const e=t.marker.onDispose((()=>t.dispose())),i=t.onDispose((()=>{i.dispose(),t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),e.dispose())}));this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(const e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,i){let s=0,r=0;for(const n of this._decorations.getKeyIterator(t))s=n.options.x??0,r=s+(n.options.width??1),e>=s&&e<r&&(!i||(n.options.layer??\"bottom\")===i)&&(yield n)}forEachDecorationAtCell(e,t,i,s){this._decorations.forEachByKey(t,(t=>{a=t.options.x??0,l=a+(t.options.width??1),e>=a&&e<l&&(!i||(t.options.layer??\"bottom\")===i)&&s(t)}))}}t.DecorationService=h;class c extends r.DisposableStore{get backgroundColorRGB(){return null===this._cachedBg&&(this.options.backgroundColor?this._cachedBg=s.css.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return null===this._cachedFg&&(this.options.foregroundColor?this._cachedFg=s.css.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}constructor(e){super(),this.options=e,this.onRenderEmitter=this.add(new o.Emitter),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new o.Emitter),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=e.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position=\"full\")}dispose(){this._onDispose.fire(),super.dispose()}}},6025:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.InstantiationService=t.ServiceCollection=void 0;const s=i(6501),r=i(6201);class n{constructor(...e){this._entries=new Map;for(const[t,i]of e)this.set(t,i)}set(e,t){const i=this._entries.get(e);return this._entries.set(e,t),i}forEach(e){for(const[t,i]of this._entries.entries())e(t,i)}has(e){return this._entries.has(e)}get(e){return this._entries.get(e)}}t.ServiceCollection=n,t.InstantiationService=class{constructor(){this._services=new n,this._services.set(s.IInstantiationService,this)}setService(e,t){this._services.set(e,t)}getService(e){return this._services.get(e)}createInstance(e,...t){const i=(0,r.getServiceDependencies)(e).sort(((e,t)=>e.index-t.index)),s=[];for(const t of i){const i=this._services.get(t.id);if(!i)throw new Error(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id._id}.`);s.push(i)}const n=i.length>0?i[0].index:t.length;if(t.length!==n)throw new Error(`[createInstance] First service dependency of ${e.name} at position ${n+1} conflicts with ${t.length} static arguments`);return new e(...[...t,...s])}}},7276:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.LogService=void 0,t.setTraceLogger=function(e){l=e},t.traceCall=function(e,t,i){if(\"function\"!=typeof i.value)throw new Error(\"not supported\");const s=i.value;i.value=function(...e){if(l.logLevel!==o.LogLevelEnum.TRACE)return s.apply(this,e);l.trace(`GlyphRenderer#${s.name}(${e.map((e=>JSON.stringify(e))).join(\", \")})`);const t=s.apply(this,e);return l.trace(`GlyphRenderer#${s.name} return`,t),t}};const n=i(7150),o=i(6501),a={trace:o.LogLevelEnum.TRACE,debug:o.LogLevelEnum.DEBUG,info:o.LogLevelEnum.INFO,warn:o.LogLevelEnum.WARN,error:o.LogLevelEnum.ERROR,off:o.LogLevelEnum.OFF};let l,h=class extends n.Disposable{get logLevel(){return this._logLevel}constructor(e){super(),this._optionsService=e,this._logLevel=o.LogLevelEnum.OFF,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(\"logLevel\",(()=>this._updateLogLevel()))),l=this}_updateLogLevel(){this._logLevel=a[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;t<e.length;t++)\"function\"==typeof e[t]&&(e[t]=e[t]())}_log(e,t,i){this._evalLazyOptionalParams(i),e.call(console,(this._optionsService.options.logger?\"\":\"xterm.js: \")+t,...i)}trace(e,...t){this._logLevel<=o.LogLevelEnum.TRACE&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,t)}debug(e,...t){this._logLevel<=o.LogLevelEnum.DEBUG&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,t)}info(e,...t){this._logLevel<=o.LogLevelEnum.INFO&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,t)}warn(e,...t){this._logLevel<=o.LogLevelEnum.WARN&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,t)}error(e,...t){this._logLevel<=o.LogLevelEnum.ERROR&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,t)}};t.LogService=h,t.LogService=h=s([r(0,o.IOptionsService)],h)},56:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.OptionsService=t.DEFAULT_OPTIONS=void 0;const s=i(7150),r=i(701),n=i(802);t.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:\"block\",cursorWidth:1,cursorInactiveStyle:\"outline\",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:\"alt\",fastScrollSensitivity:5,fontFamily:\"monospace\",fontSize:15,fontWeight:\"normal\",fontWeightBold:\"bold\",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:\"info\",logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:r.isMac,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:\" ()[]{}',\\\"`\",altClickMovesCursor:!0,convertEol:!1,termName:\"xterm\",cancelEvents:!1,overviewRuler:{}};const o=[\"normal\",\"bold\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"];class a extends s.Disposable{constructor(e){super(),this._onOptionChange=this._register(new n.Emitter),this.onOptionChange=this._onOptionChange.event;const i={...t.DEFAULT_OPTIONS};for(const t in e)if(t in i)try{const s=e[t];i[t]=this._sanitizeAndValidateOption(t,s)}catch(e){console.error(e)}this.rawOptions=i,this.options={...i},this._setupOptions(),this._register((0,s.toDisposable)((()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null})))}onSpecificOptionChange(e,t){return this.onOptionChange((i=>{i===e&&t(this.rawOptions[e])}))}onMultipleOptionChange(e,t){return this.onOptionChange((i=>{-1!==e.indexOf(i)&&t()}))}_setupOptions(){const e=e=>{if(!(e in t.DEFAULT_OPTIONS))throw new Error(`No option with key \"${e}\"`);return this.rawOptions[e]},i=(e,i)=>{if(!(e in t.DEFAULT_OPTIONS))throw new Error(`No option with key \"${e}\"`);i=this._sanitizeAndValidateOption(e,i),this.rawOptions[e]!==i&&(this.rawOptions[e]=i,this._onOptionChange.fire(e))};for(const t in this.rawOptions){const s={get:e.bind(this,t),set:i.bind(this,t)};Object.defineProperty(this.options,t,s)}}_sanitizeAndValidateOption(e,i){switch(e){case\"cursorStyle\":if(i||(i=t.DEFAULT_OPTIONS[e]),!function(e){return\"block\"===e||\"underline\"===e||\"bar\"===e}(i))throw new Error(`\"${i}\" is not a valid value for ${e}`);break;case\"wordSeparator\":i||(i=t.DEFAULT_OPTIONS[e]);break;case\"fontWeight\":case\"fontWeightBold\":if(\"number\"==typeof i&&1<=i&&i<=1e3)break;i=o.includes(i)?i:t.DEFAULT_OPTIONS[e];break;case\"cursorWidth\":i=Math.floor(i);case\"lineHeight\":case\"tabStopWidth\":if(i<1)throw new Error(`${e} cannot be less than 1, value: ${i}`);break;case\"minimumContrastRatio\":i=Math.max(1,Math.min(21,Math.round(10*i)/10));break;case\"scrollback\":if((i=Math.min(i,4294967295))<0)throw new Error(`${e} cannot be less than 0, value: ${i}`);break;case\"fastScrollSensitivity\":case\"scrollSensitivity\":if(i<=0)throw new Error(`${e} cannot be less than or equal to 0, value: ${i}`);break;case\"rows\":case\"cols\":if(!i&&0!==i)throw new Error(`${e} must be numeric, value: ${i}`);break;case\"windowsPty\":i=i??{}}return i}}t.OptionsService=a},8811:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.OscLinkService=void 0;const n=i(6501);let o=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){const t=this._bufferService.buffer;if(void 0===e.id){const i=t.addMarker(t.ybase+t.y),s={data:e,id:this._nextId++,lines:[i]};return i.onDispose((()=>this._removeMarkerFromLink(s,i))),this._dataByLinkId.set(s.id,s),s.id}const i=e,s=this._getEntryIdKey(i),r=this._entriesWithId.get(s);if(r)return this.addLineToLink(r.id,t.ybase+t.y),r.id;const n=t.addMarker(t.ybase+t.y),o={id:this._nextId++,key:this._getEntryIdKey(i),data:i,lines:[n]};return n.onDispose((()=>this._removeMarkerFromLink(o,n))),this._entriesWithId.set(o.key,o),this._dataByLinkId.set(o.id,o),o.id}addLineToLink(e,t){const i=this._dataByLinkId.get(e);if(i&&i.lines.every((e=>e.line!==t))){const e=this._bufferService.buffer.addMarker(t);i.lines.push(e),e.onDispose((()=>this._removeMarkerFromLink(i,e)))}}getLinkData(e){return this._dataByLinkId.get(e)?.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){const i=e.lines.indexOf(t);-1!==i&&(e.lines.splice(i,1),0===e.lines.length&&(void 0!==e.data.id&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};t.OscLinkService=o,t.OscLinkService=o=s([r(0,n.IBufferService)],o)},6201:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.serviceRegistry=void 0,t.getServiceDependencies=function(e){return e[s]||[]},t.createDecorator=function(e){if(t.serviceRegistry.has(e))return t.serviceRegistry.get(e);const r=function(e,t,n){if(3!==arguments.length)throw new Error(\"@IServiceName-decorator can only be used to decorate a parameter\");!function(e,t,r){t[i]===t?t[s].push({id:e,index:r}):(t[s]=[{id:e,index:r}],t[i]=t)}(r,e,n)};return r._id=e,t.serviceRegistry.set(e,r),r};const i=\"di$target\",s=\"di$dependencies\";t.serviceRegistry=new Map},6501:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.IDecorationService=t.IUnicodeService=t.IOscLinkService=t.IOptionsService=t.ILogService=t.LogLevelEnum=t.IInstantiationService=t.ICharsetService=t.ICoreService=t.ICoreMouseService=t.IBufferService=void 0;const s=i(6201);var r;t.IBufferService=(0,s.createDecorator)(\"BufferService\"),t.ICoreMouseService=(0,s.createDecorator)(\"CoreMouseService\"),t.ICoreService=(0,s.createDecorator)(\"CoreService\"),t.ICharsetService=(0,s.createDecorator)(\"CharsetService\"),t.IInstantiationService=(0,s.createDecorator)(\"InstantiationService\"),function(e){e[e.TRACE=0]=\"TRACE\",e[e.DEBUG=1]=\"DEBUG\",e[e.INFO=2]=\"INFO\",e[e.WARN=3]=\"WARN\",e[e.ERROR=4]=\"ERROR\",e[e.OFF=5]=\"OFF\"}(r||(t.LogLevelEnum=r={})),t.ILogService=(0,s.createDecorator)(\"LogService\"),t.IOptionsService=(0,s.createDecorator)(\"OptionsService\"),t.IOscLinkService=(0,s.createDecorator)(\"OscLinkService\"),t.IUnicodeService=(0,s.createDecorator)(\"UnicodeService\"),t.IDecorationService=(0,s.createDecorator)(\"DecorationService\")},6415:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeService=void 0;const s=i(7428),r=i(802);class n{static extractShouldJoin(e){return!!(1&e)}static extractWidth(e){return e>>1&3}static extractCharKind(e){return e>>3}static createPropertyValue(e,t,i=!1){return(16777215&e)<<3|(3&t)<<1|(i?1:0)}constructor(){this._providers=Object.create(null),this._active=\"\",this._onChange=new r.Emitter,this.onChange=this._onChange.event;const e=new s.UnicodeV6;this.register(e),this._active=e.version,this._activeProvider=e}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw new Error(`unknown Unicode version \"${e}\"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(e){let t=0,i=0;const s=e.length;for(let r=0;r<s;++r){let o=e.charCodeAt(r);if(55296<=o&&o<=56319){if(++r>=s)return t+this.wcwidth(o);const i=e.charCodeAt(r);56320<=i&&i<=57343?o=1024*(o-55296)+i-56320+65536:t+=this.wcwidth(i)}const a=this.charProperties(o,i);let l=n.extractWidth(a);n.extractShouldJoin(a)&&(l-=n.extractWidth(i)),t+=l,i=a}return t}charProperties(e,t){return this._activeProvider.charProperties(e,t)}}t.UnicodeService=n},4333:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.isAndroid=t.isElectron=t.isWebkitWebView=t.isSafari=t.isChrome=t.isWebKit=t.isFirefox=t.onDidChangeFullscreen=t.onDidChangeZoomLevel=void 0,t.addMatchMediaChangeListener=o,t.setZoomLevel=function(e,t){n.INSTANCE.setZoomLevel(e,t)},t.getZoomLevel=function(e){return n.INSTANCE.getZoomLevel(e)},t.getZoomFactor=function(e){return n.INSTANCE.getZoomFactor(e)},t.setZoomFactor=function(e,t){n.INSTANCE.setZoomFactor(e,t)},t.setFullscreen=function(e,t){n.INSTANCE.setFullscreen(e,t)},t.isFullscreen=function(e){return n.INSTANCE.isFullscreen(e)},t.isStandalone=function(){return l},t.isWCOEnabled=function(){return navigator?.windowControlsOverlay?.visible},t.getWCOBoundingRect=function(){return navigator?.windowControlsOverlay?.getTitlebarAreaRect()};const s=i(4693),r=i(802);class n{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new r.Emitter,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new r.Emitter,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}static{this.INSTANCE=new n}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,t){if(this.getZoomLevel(t)===e)return;const i=this.getWindowId(t);this.mapWindowIdToZoomLevel.set(i,e),this._onDidChangeZoomLevel.fire(i)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,t){this.mapWindowIdToZoomFactor.set(this.getWindowId(t),e)}setFullscreen(e,t){if(this.isFullscreen(t)===e)return;const i=this.getWindowId(t);this.mapWindowIdToFullScreen.set(i,e),this._onDidChangeFullscreen.fire(i)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}}function o(e,t,i){\"string\"==typeof t&&(t=e.matchMedia(t)),t.addEventListener(\"change\",i)}t.onDidChangeZoomLevel=n.INSTANCE.onDidChangeZoomLevel,t.onDidChangeFullscreen=n.INSTANCE.onDidChangeFullscreen;const a=\"object\"==typeof navigator?navigator.userAgent:\"\";t.isFirefox=a.indexOf(\"Firefox\")>=0,t.isWebKit=a.indexOf(\"AppleWebKit\")>=0,t.isChrome=a.indexOf(\"Chrome\")>=0,t.isSafari=!t.isChrome&&a.indexOf(\"Safari\")>=0,t.isWebkitWebView=!t.isChrome&&!t.isSafari&&t.isWebKit,t.isElectron=a.indexOf(\"Electron/\")>=0,t.isAndroid=a.indexOf(\"Android\")>=0;let l=!1;if(\"function\"==typeof s.mainWindow.matchMedia){const e=s.mainWindow.matchMedia(\"(display-mode: standalone) or (display-mode: window-controls-overlay)\"),t=s.mainWindow.matchMedia(\"(display-mode: fullscreen)\");l=e.matches,o(s.mainWindow,e,(({matches:e})=>{l&&t.matches||(l=e)}))}},7745:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.BrowserFeatures=t.KeyboardSupport=void 0;const o=n(i(4333)),a=i(4693),l=n(i(8163));var h;!function(e){e[e.Always=0]=\"Always\",e[e.FullScreen=1]=\"FullScreen\",e[e.None=2]=\"None\"}(h||(t.KeyboardSupport=h={}));const c=\"object\"==typeof navigator?navigator:{};t.BrowserFeatures={clipboard:{writeText:l.isNative||document.queryCommandSupported&&document.queryCommandSupported(\"copy\")||!!(c&&c.clipboard&&c.clipboard.writeText),readText:l.isNative||!!(c&&c.clipboard&&c.clipboard.readText)},keyboard:l.isNative||o.isStandalone()?h.Always:c.keyboard||o.isSafari?h.FullScreen:h.None,touch:\"ontouchstart\"in a.mainWindow||c.maxTouchPoints>0,pointerEvents:a.mainWindow.PointerEvent&&(\"ontouchstart\"in a.mainWindow||navigator.maxTouchPoints>0)}},7093:function(e,t,i){var s,r=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.SafeTriangle=t.DragAndDropObserver=t.ModifierKeyEmitter=t.DetectedFullscreenMode=t.Namespace=t.EventHelper=t.EventType=t.sharedMutationObserver=t.Dimension=t.WindowIntervalTimer=t.scheduleAtNextAnimationFrame=t.runAtThisOrScheduleAtNextAnimationFrame=t.WindowIdleValue=t.addStandardDisposableGenericMouseUpListener=t.addStandardDisposableGenericMouseDownListener=t.addStandardDisposableListener=t.onDidUnregisterWindow=t.onWillUnregisterWindow=t.onDidRegisterWindow=t.hasWindow=t.getWindowById=t.getWindowId=t.getWindowsCount=t.getWindows=t.getDocument=t.getWindow=t.registerWindow=void 0,t.clearNode=function(e){for(;e.firstChild;)e.firstChild.remove()},t.clearNodeRecursively=function e(t){for(;t.firstChild;){const i=t.firstChild;i.remove(),e(i)}},t.addDisposableListener=C,t.addDisposableGenericMouseDownListener=w,t.addDisposableGenericMouseMoveListener=function(e,i,s){return C(e,g.isIOS&&l.BrowserFeatures.pointerEvents?t.EventType.POINTER_MOVE:t.EventType.MOUSE_MOVE,i,s)},t.addDisposableGenericMouseUpListener=E,t.runWhenWindowIdle=function(e,t,i){return(0,d._runWhenIdle)(e,t,i)},t.disposableWindowInterval=function(e,t,i,s){let r=0;const n=e.setInterval((()=>{r++,(\"number\"==typeof s&&r>=s||!0===t())&&o.dispose()}),i),o=(0,p.toDisposable)((()=>{e.clearInterval(n)}));return o},t.measure=function(e,i){return(0,t.scheduleAtNextAnimationFrame)(e,i,1e4)},t.modify=function(e,i){return(0,t.scheduleAtNextAnimationFrame)(e,i,-1e4)},t.addDisposableThrottledListener=function(e,t,i,s,r){return new T(e,t,i,s,r)},t.getComputedStyle=k,t.getClientArea=function e(i,s){const r=(0,t.getWindow)(i),n=r.document;if(i!==n.body)return new O(i.clientWidth,i.clientHeight);if(g.isIOS&&r?.visualViewport)return new O(r.visualViewport.width,r.visualViewport.height);if(r?.innerWidth&&r.innerHeight)return new O(r.innerWidth,r.innerHeight);if(n.body&&n.body.clientWidth&&n.body.clientHeight)return new O(n.body.clientWidth,n.body.clientHeight);if(n.documentElement&&n.documentElement.clientWidth&&n.documentElement.clientHeight)return new O(n.documentElement.clientWidth,n.documentElement.clientHeight);if(s)return e(s);throw new Error(\"Unable to figure out browser width and height\")},t.getTopLeftOffset=I,t.size=function(e,t,i){\"number\"==typeof t&&(e.style.width=`${t}px`),\"number\"==typeof i&&(e.style.height=`${i}px`)},t.position=function(e,t,i,s,r,n=\"absolute\"){\"number\"==typeof t&&(e.style.top=`${t}px`),\"number\"==typeof i&&(e.style.right=`${i}px`),\"number\"==typeof s&&(e.style.bottom=`${s}px`),\"number\"==typeof r&&(e.style.left=`${r}px`),e.style.position=n},t.getDomNodePagePosition=function(e){const i=e.getBoundingClientRect(),s=(0,t.getWindow)(e);return{left:i.left+s.scrollX,top:i.top+s.scrollY,width:i.width,height:i.height}},t.getDomNodeZoomLevel=function(e){let t=e,i=1;do{const e=k(t).zoom;null!=e&&\"1\"!==e&&(i*=e),t=t.parentElement}while(null!==t&&t!==t.ownerDocument.documentElement);return i},t.getTotalWidth=P,t.getContentWidth=function(e){const t=M.getBorderLeftWidth(e)+M.getBorderRightWidth(e),i=M.getPaddingLeft(e)+M.getPaddingRight(e);return e.offsetWidth-t-i},t.getTotalScrollWidth=x,t.getContentHeight=function(e){const t=M.getBorderTopWidth(e)+M.getBorderBottomWidth(e),i=M.getPaddingTop(e)+M.getPaddingBottom(e);return e.offsetHeight-t-i},t.getTotalHeight=function(e){const t=M.getMarginTop(e)+M.getMarginBottom(e);return e.offsetHeight+t},t.getLargestChildWidth=function(e,t){const i=t.map((t=>Math.max(x(t),P(t))+function(e,t){if(null===e)return 0;const i=I(e),s=I(t);return i.left-s.left}(t,e)||0));return Math.max(...i)},t.isAncestor=B,t.setParentFlowTo=function(e,t){e.dataset[N]=t.id},t.isAncestorUsingFlowTo=function(e,t){let i=e;for(;i;){if(i===t)return!0;if(Q(i)){const e=U(i);if(e){i=e;continue}}i=i.parentNode}return!1},t.findParentWithClass=F,t.hasParentWithClass=function(e,t,i){return!!F(e,t,i)},t.isShadowRoot=W,t.isInShadowDOM=function(e){return!!H(e)},t.getShadowRoot=H,t.getActiveElement=K,t.isActiveElement=function(e){return K()===e},t.isAncestorOfActiveElement=function(e){return B(K(),e)},t.isActiveDocument=function(e){return e.ownerDocument===z()},t.getActiveDocument=z,t.getActiveWindow=function(){const e=z();return e.defaultView?.window??v.mainWindow},t.isGlobalStylesheet=function(e){return j.has(e)},t.createStyleSheet2=function(){return new $},t.createStyleSheet=V,t.cloneGlobalStylesheets=function(e){const t=new p.DisposableStore;for(const[i,s]of j)t.add(G(i,s,e));return t},t.createMetaElement=function(e=v.mainWindow.document.head){return q(\"meta\",e)},t.createLinkElement=function(e=v.mainWindow.document.head){return q(\"link\",e)},t.createCSSRule=function e(t,i,s=Y()){if(s&&i){s.sheet?.insertRule(`${t} {${i}}`,0);for(const r of j.get(s)??[])e(t,i,r)}},t.removeCSSRulesContainingSelector=function e(t,i=Y()){if(!i)return;const s=Z(i),r=[];for(let e=0;e<s.length;e++){const i=s[e];J(i)&&-1!==i.selectorText.indexOf(t)&&r.push(e)}for(let e=r.length-1;e>=0;e--)i.sheet?.deleteRule(r[e]);for(const s of j.get(i)??[])e(t,s)},t.isHTMLElement=Q,t.isHTMLAnchorElement=function(e){return e instanceof HTMLAnchorElement||e instanceof(0,t.getWindow)(e).HTMLAnchorElement},t.isHTMLSpanElement=function(e){return e instanceof HTMLSpanElement||e instanceof(0,t.getWindow)(e).HTMLSpanElement},t.isHTMLTextAreaElement=function(e){return e instanceof HTMLTextAreaElement||e instanceof(0,t.getWindow)(e).HTMLTextAreaElement},t.isHTMLInputElement=function(e){return e instanceof HTMLInputElement||e instanceof(0,t.getWindow)(e).HTMLInputElement},t.isHTMLButtonElement=function(e){return e instanceof HTMLButtonElement||e instanceof(0,t.getWindow)(e).HTMLButtonElement},t.isHTMLDivElement=function(e){return e instanceof HTMLDivElement||e instanceof(0,t.getWindow)(e).HTMLDivElement},t.isSVGElement=function(e){return e instanceof SVGElement||e instanceof(0,t.getWindow)(e).SVGElement},t.isMouseEvent=function(e){return e instanceof MouseEvent||e instanceof(0,t.getWindow)(e).MouseEvent},t.isKeyboardEvent=function(e){return e instanceof KeyboardEvent||e instanceof(0,t.getWindow)(e).KeyboardEvent},t.isPointerEvent=function(e){return e instanceof PointerEvent||e instanceof(0,t.getWindow)(e).PointerEvent},t.isDragEvent=function(e){return e instanceof DragEvent||e instanceof(0,t.getWindow)(e).DragEvent},t.isEventLike=function(e){const t=e;return!(!t||\"function\"!=typeof t.preventDefault||\"function\"!=typeof t.stopPropagation)},t.saveParentsScrollTop=function(e){const t=[];for(let i=0;e&&e.nodeType===e.ELEMENT_NODE;i++)t[i]=e.scrollTop,e=e.parentNode;return t},t.restoreParentsScrollTop=function(e,t){for(let i=0;e&&e.nodeType===e.ELEMENT_NODE;i++)e.scrollTop!==t[i]&&(e.scrollTop=t[i]),e=e.parentNode},t.trackFocus=function(e){return new ee(e)},t.after=function(e,t){return e.after(t),t},t.append=te,t.prepend=function(e,t){return e.insertBefore(t,e.firstChild),t},t.reset=function(e,...t){e.innerText=\"\",te(e,...t)},t.$=ne,t.join=function(e,t){const i=[];return e.forEach(((e,s)=>{s>0&&(t instanceof Node?i.push(t.cloneNode()):i.push(document.createTextNode(t))),i.push(e)})),i},t.setVisibility=function(e,...t){e?oe(...t):ae(...t)},t.show=oe,t.hide=ae,t.removeTabIndexAndUpdateFocus=function(e){if(e&&e.hasAttribute(\"tabIndex\")){if(e.ownerDocument.activeElement===e){const t=function(e){for(;e&&e.nodeType===e.ELEMENT_NODE;){if(Q(e)&&e.hasAttribute(\"tabIndex\"))return e;e=e.parentNode}return null}(e.parentElement);t?.focus()}e.removeAttribute(\"tabindex\")}},t.finalHandler=function(e){return t=>{t.preventDefault(),t.stopPropagation(),e(t)}},t.domContentLoaded=function(e){return new Promise((t=>{if(\"complete\"===e.document.readyState||e.document&&null!==e.document.body)t(void 0);else{const i=()=>{e.window.removeEventListener(\"DOMContentLoaded\",i,!1),t()};e.window.addEventListener(\"DOMContentLoaded\",i,!1)}}))},t.computeScreenAwareSize=function(e,t){const i=e.devicePixelRatio*t;return Math.max(1,Math.floor(i))/e.devicePixelRatio},t.windowOpenNoOpener=function(e){v.mainWindow.open(e,\"_blank\",\"noopener\")},t.windowOpenPopup=function(e){const t=Math.floor(v.mainWindow.screenLeft+v.mainWindow.innerWidth/2-le/2),i=Math.floor(v.mainWindow.screenTop+v.mainWindow.innerHeight/2-he/2);v.mainWindow.open(e,\"_blank\",`width=${le},height=${he},top=${i},left=${t}`)},t.windowOpenWithSuccess=function(e,t=!0){const i=v.mainWindow.open();return!!i&&(t&&(i.opener=null),i.location.href=e,!0)},t.animate=function(e,i){const s=()=>{i(),r=(0,t.scheduleAtNextAnimationFrame)(e,s)};let r=(0,t.scheduleAtNextAnimationFrame)(e,s);return(0,p.toDisposable)((()=>r.dispose()))},t.asCSSPropertyValue=function(e){return`'${e.replace(/'/g,\"%27\")}'`},t.asCssValueWithDefault=function e(t,i){if(void 0!==t){const s=t.match(/^\\s*var\\((.+)\\)$/);if(s){const t=s[1].split(\",\",2);return 2===t.length&&(i=e(t[1].trim(),i)),`var(${t[0]}, ${i})`}return t}return i},t.detectFullscreen=function(e){return e.document.fullscreenElement||e.document.webkitFullscreenElement||e.document.webkitIsFullScreen?{mode:ce.DOCUMENT,guess:!1}:e.innerHeight===e.screen.height?{mode:ce.BROWSER,guess:!1}:(g.isMacintosh||g.isLinux)&&e.outerHeight===e.screen.height&&e.outerWidth===e.screen.width?{mode:ce.BROWSER,guess:!0}:null},t.multibyteAwareBtoa=function(e){return btoa(function(e){const t=new Uint16Array(e.length);for(let i=0;i<t.length;i++)t[i]=e.charCodeAt(i);let i=\"\";const s=new Uint8Array(t.buffer);for(let e=0;e<s.length;e++)i+=String.fromCharCode(s[e]);return i}(e))},t.getCookieValue=function(e){const t=document.cookie.match(\"(^|[^;]+)\\\\s*\"+e+\"\\\\s*=\\\\s*([^;]+)\");return t?t.pop():void 0},t.h=function(e,...t){let i,s;Array.isArray(t[0])?(i={},s=t[0]):(i=t[0]||{},s=t[1]);const r=_e.exec(e);if(!r||!r.groups)throw new Error(\"Bad use of h\");const n=r.groups.tag||\"div\",o=document.createElement(n);r.groups.id&&(o.id=r.groups.id);const a=[];if(r.groups.class)for(const e of r.groups.class.split(\".\"))\"\"!==e&&a.push(e);if(void 0!==i.className)for(const e of i.className.split(\".\"))\"\"!==e&&a.push(e);a.length>0&&(o.className=a.join(\" \"));const l={};if(r.groups.name&&(l[r.groups.name]=o),s)for(const e of s)Q(e)?o.appendChild(e):\"string\"==typeof e?o.append(e):\"root\"in e&&(Object.assign(l,e),o.appendChild(e.root));for(const[e,t]of Object.entries(i))if(\"className\"!==e)if(\"style\"===e)for(const[e,i]of Object.entries(t))o.style.setProperty(fe(e),\"number\"==typeof i?i+\"px\":\"\"+i);else\"tabIndex\"===e?o.tabIndex=t:o.setAttribute(fe(e),t.toString());return l.root=o,l},t.svgElem=function(e,...t){let i,s;Array.isArray(t[0])?(i={},s=t[0]):(i=t[0]||{},s=t[1]);const r=_e.exec(e);if(!r||!r.groups)throw new Error(\"Bad use of h\");const n=r.groups.tag||\"div\",o=document.createElementNS(\"http://www.w3.org/2000/svg\",n);r.groups.id&&(o.id=r.groups.id);const a=[];if(r.groups.class)for(const e of r.groups.class.split(\".\"))\"\"!==e&&a.push(e);if(void 0!==i.className)for(const e of i.className.split(\".\"))\"\"!==e&&a.push(e);a.length>0&&(o.className=a.join(\" \"));const l={};if(r.groups.name&&(l[r.groups.name]=o),s)for(const e of s)Q(e)?o.appendChild(e):\"string\"==typeof e?o.append(e):\"root\"in e&&(Object.assign(l,e),o.appendChild(e.root));for(const[e,t]of Object.entries(i))if(\"className\"!==e)if(\"style\"===e)for(const[e,i]of Object.entries(t))o.style.setProperty(fe(e),\"number\"==typeof i?i+\"px\":\"\"+i);else\"tabIndex\"===e?o.tabIndex=t:o.setAttribute(fe(e),t.toString());return l.root=o,l},t.copyAttributes=pe,t.trackAttributes=function(e,i,s){pe(e,i,s);const r=new p.DisposableStore;return r.add(t.sharedMutationObserver.observe(e,r,{attributes:!0,attributeFilter:s})((t=>{for(const s of t)\"attributes\"===s.type&&s.attributeName&&ge(e,i,s.attributeName)}))),r};const a=o(i(4333)),l=i(7745),h=i(5394),c=i(5964),d=i(1758),u=i(9807),_=o(i(802)),f=i(7883),p=i(7150),g=o(i(8163)),m=i(6304),v=i(4693),S=i(7704);s=function(){const e=new Map;(0,v.ensureCodeWindow)(v.mainWindow,1);const i={window:v.mainWindow,disposables:new p.DisposableStore};e.set(v.mainWindow.vscodeWindowId,i);const s=new _.Emitter,r=new _.Emitter,n=new _.Emitter;return{onDidRegisterWindow:s.event,onWillUnregisterWindow:n.event,onDidUnregisterWindow:r.event,registerWindow(i){if(e.has(i.vscodeWindowId))return p.Disposable.None;const o=new p.DisposableStore,a={window:i,disposables:o.add(new p.DisposableStore)};return e.set(i.vscodeWindowId,a),o.add((0,p.toDisposable)((()=>{e.delete(i.vscodeWindowId),r.fire(i)}))),o.add(C(i,t.EventType.BEFORE_UNLOAD,(()=>{n.fire(i)}))),s.fire(a),o},getWindows:()=>e.values(),getWindowsCount:()=>e.size,getWindowId:e=>e.vscodeWindowId,hasWindow:t=>e.has(t),getWindowById:function(t,s){return(\"number\"==typeof t?e.get(t):void 0)??(s?i:void 0)},getWindow(e){const t=e;if(t?.ownerDocument?.defaultView)return t.ownerDocument.defaultView.window;const i=e;return i?.view?i.view.window:v.mainWindow},getDocument(e){const i=e;return(0,t.getWindow)(i).document}}}(),t.registerWindow=s.registerWindow,t.getWindow=s.getWindow,t.getDocument=s.getDocument,t.getWindows=s.getWindows,t.getWindowsCount=s.getWindowsCount,t.getWindowId=s.getWindowId,t.getWindowById=s.getWindowById,t.hasWindow=s.hasWindow,t.onDidRegisterWindow=s.onDidRegisterWindow,t.onWillUnregisterWindow=s.onWillUnregisterWindow,t.onDidUnregisterWindow=s.onDidUnregisterWindow;class b{constructor(e,t,i,s){this._node=e,this._type=t,this._handler=i,this._options=s||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function C(e,t,i,s){return new b(e,t,i,s)}function y(e,t){return function(i){return t(new c.StandardMouseEvent(e,i))}}function w(e,i,s){return C(e,g.isIOS&&l.BrowserFeatures.pointerEvents?t.EventType.POINTER_DOWN:t.EventType.MOUSE_DOWN,i,s)}function E(e,i,s){return C(e,g.isIOS&&l.BrowserFeatures.pointerEvents?t.EventType.POINTER_UP:t.EventType.MOUSE_UP,i,s)}t.addStandardDisposableListener=function(e,i,s,r){let n=s;return\"click\"===i||\"mousedown\"===i||\"contextmenu\"===i?n=y((0,t.getWindow)(e),s):\"keydown\"!==i&&\"keypress\"!==i&&\"keyup\"!==i||(n=function(e){return function(t){return e(new h.StandardKeyboardEvent(t))}}(s)),C(e,i,n,r)},t.addStandardDisposableGenericMouseDownListener=function(e,i,s){return w(e,y((0,t.getWindow)(e),i),s)},t.addStandardDisposableGenericMouseUpListener=function(e,i,s){return E(e,y((0,t.getWindow)(e),i),s)};class D extends d.AbstractIdleValue{constructor(e,t){super(e,t)}}t.WindowIdleValue=D;class L extends d.IntervalTimer{constructor(e){super(),this.defaultTarget=e&&(0,t.getWindow)(e)}cancelAndSet(e,t,i){return super.cancelAndSet(e,t,i??this.defaultTarget)}}t.WindowIntervalTimer=L;class R{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){(0,u.onUnexpectedError)(e)}}static sort(e,t){return t.priority-e.priority}}!function(){const e=new Map,i=new Map,s=new Map,r=new Map;t.scheduleAtNextAnimationFrame=(n,o,a=0)=>{const l=(0,t.getWindowId)(n),h=new R(o,a);let c=e.get(l);return c||(c=[],e.set(l,c)),c.push(h),s.get(l)||(s.set(l,!0),n.requestAnimationFrame((()=>(t=>{s.set(t,!1);const n=e.get(t)??[];for(i.set(t,n),e.set(t,[]),r.set(t,!0);n.length>0;)n.sort(R.sort),n.shift().execute();r.set(t,!1)})(l)))),h},t.runAtThisOrScheduleAtNextAnimationFrame=(e,s,n)=>{const o=(0,t.getWindowId)(e);if(r.get(o)){const e=new R(s,n);let t=i.get(o);return t||(t=[],i.set(o,t)),t.push(e),e}return(0,t.scheduleAtNextAnimationFrame)(e,s,n)}}();const A=function(e,t){return t};class T extends p.Disposable{constructor(e,t,i,s=A,r=8){super();let n=null,o=0;const a=this._register(new d.TimeoutTimer),l=()=>{o=(new Date).getTime(),i(n),n=null};this._register(C(e,t,(e=>{n=s(n,e);const t=(new Date).getTime()-o;t>=r?(a.cancel(),l()):a.setIfNotSet(l,r-t)})))}}function k(e){return(0,t.getWindow)(e).getComputedStyle(e,null)}class M{static convertToPixels(e,t){return parseFloat(t)||0}static getDimension(e,t,i){const s=k(e),r=s?s.getPropertyValue(t):\"0\";return M.convertToPixels(e,r)}static getBorderLeftWidth(e){return M.getDimension(e,\"border-left-width\",\"borderLeftWidth\")}static getBorderRightWidth(e){return M.getDimension(e,\"border-right-width\",\"borderRightWidth\")}static getBorderTopWidth(e){return M.getDimension(e,\"border-top-width\",\"borderTopWidth\")}static getBorderBottomWidth(e){return M.getDimension(e,\"border-bottom-width\",\"borderBottomWidth\")}static getPaddingLeft(e){return M.getDimension(e,\"padding-left\",\"paddingLeft\")}static getPaddingRight(e){return M.getDimension(e,\"padding-right\",\"paddingRight\")}static getPaddingTop(e){return M.getDimension(e,\"padding-top\",\"paddingTop\")}static getPaddingBottom(e){return M.getDimension(e,\"padding-bottom\",\"paddingBottom\")}static getMarginLeft(e){return M.getDimension(e,\"margin-left\",\"marginLeft\")}static getMarginTop(e){return M.getDimension(e,\"margin-top\",\"marginTop\")}static getMarginRight(e){return M.getDimension(e,\"margin-right\",\"marginRight\")}static getMarginBottom(e){return M.getDimension(e,\"margin-bottom\",\"marginBottom\")}}class O{static{this.None=new O(0,0)}constructor(e,t){this.width=e,this.height=t}with(e=this.width,t=this.height){return e!==this.width||t!==this.height?new O(e,t):this}static is(e){return\"object\"==typeof e&&\"number\"==typeof e.height&&\"number\"==typeof e.width}static lift(e){return e instanceof O?e:new O(e.width,e.height)}static equals(e,t){return e===t||!(!e||!t)&&e.width===t.width&&e.height===t.height}}function I(e){let t=e.offsetParent,i=e.offsetTop,s=e.offsetLeft;for(;null!==(e=e.parentNode)&&e!==e.ownerDocument.body&&e!==e.ownerDocument.documentElement;){i-=e.scrollTop;const r=W(e)?null:k(e);r&&(s-=\"rtl\"!==r.direction?e.scrollLeft:-e.scrollLeft),e===t&&(s+=M.getBorderLeftWidth(e),i+=M.getBorderTopWidth(e),i+=e.offsetTop,s+=e.offsetLeft,t=e.offsetParent)}return{left:s,top:i}}function P(e){const t=M.getMarginLeft(e)+M.getMarginRight(e);return e.offsetWidth+t}function x(e){const t=M.getMarginLeft(e)+M.getMarginRight(e);return e.scrollWidth+t}function B(e,t){return Boolean(t?.contains(e))}t.Dimension=O;const N=\"parentFlowToElementId\";function U(e){const t=e.dataset[N];return\"string\"==typeof t?e.ownerDocument.getElementById(t):null}function F(e,t,i){for(;e&&e.nodeType===e.ELEMENT_NODE;){if(e.classList.contains(t))return e;if(i)if(\"string\"==typeof i){if(e.classList.contains(i))return null}else if(e===i)return null;e=e.parentNode}return null}function W(e){return e&&!!e.host&&!!e.mode}function H(e){for(;e.parentNode;){if(e===e.ownerDocument?.body)return null;e=e.parentNode}return W(e)?e:null}function K(){let e=z().activeElement;for(;e?.shadowRoot;)e=e.shadowRoot.activeElement;return e}function z(){return(0,t.getWindowsCount)()<=1?v.mainWindow.document:Array.from((0,t.getWindows)()).map((({window:e})=>e.document)).find((e=>e.hasFocus()))??v.mainWindow.document}const j=new Map;class ${constructor(){this._currentCssStyle=\"\",this._styleSheet=void 0}setStyle(e){e!==this._currentCssStyle&&(this._currentCssStyle=e,this._styleSheet?this._styleSheet.innerText=e:this._styleSheet=V(v.mainWindow.document.head,(t=>t.innerText=e)))}dispose(){this._styleSheet&&(this._styleSheet.remove(),this._styleSheet=void 0)}}function V(e=v.mainWindow.document.head,i,s){const r=document.createElement(\"style\");if(r.type=\"text/css\",r.media=\"screen\",i?.(r),e.appendChild(r),s&&s.add((0,p.toDisposable)((()=>r.remove()))),e===v.mainWindow.document.head){const e=new Set;j.set(r,e);for(const{window:i,disposables:n}of(0,t.getWindows)()){if(i===v.mainWindow)continue;const t=n.add(G(r,e,i));s?.add(t)}}return r}function G(e,i,s){const r=new p.DisposableStore,n=e.cloneNode(!0);s.document.head.appendChild(n),r.add((0,p.toDisposable)((()=>n.remove())));for(const t of Z(e))n.sheet?.insertRule(t.cssText,n.sheet?.cssRules.length);return r.add(t.sharedMutationObserver.observe(e,r,{childList:!0})((()=>{n.textContent=e.textContent}))),i.add(n),r.add((0,p.toDisposable)((()=>i.delete(n)))),r}function q(e,t=v.mainWindow.document.head){const i=document.createElement(e);return t.appendChild(i),i}t.sharedMutationObserver=new class{constructor(){this.mutationObservers=new Map}observe(e,t,i){let s=this.mutationObservers.get(e);s||(s=new Map,this.mutationObservers.set(e,s));const r=(0,m.hash)(i);let n=s.get(r);if(n)n.users+=1;else{const o=new _.Emitter,a=new MutationObserver((e=>o.fire(e)));a.observe(e,i);const l=n={users:1,observer:a,onDidMutate:o.event};t.add((0,p.toDisposable)((()=>{l.users-=1,0===l.users&&(o.dispose(),a.disconnect(),s?.delete(r),0===s?.size&&this.mutationObservers.delete(e))}))),s.set(r,n)}return n.onDidMutate}};let X=null;function Y(){return X||(X=V()),X}function Z(e){return e?.sheet?.rules?e.sheet.rules:e?.sheet?.cssRules?e.sheet.cssRules:[]}function J(e){return\"string\"==typeof e.selectorText}function Q(e){return e instanceof HTMLElement||e instanceof(0,t.getWindow)(e).HTMLElement}t.EventType={CLICK:\"click\",AUXCLICK:\"auxclick\",DBLCLICK:\"dblclick\",MOUSE_UP:\"mouseup\",MOUSE_DOWN:\"mousedown\",MOUSE_OVER:\"mouseover\",MOUSE_MOVE:\"mousemove\",MOUSE_OUT:\"mouseout\",MOUSE_ENTER:\"mouseenter\",MOUSE_LEAVE:\"mouseleave\",MOUSE_WHEEL:\"wheel\",POINTER_UP:\"pointerup\",POINTER_DOWN:\"pointerdown\",POINTER_MOVE:\"pointermove\",POINTER_LEAVE:\"pointerleave\",CONTEXT_MENU:\"contextmenu\",WHEEL:\"wheel\",KEY_DOWN:\"keydown\",KEY_PRESS:\"keypress\",KEY_UP:\"keyup\",LOAD:\"load\",BEFORE_UNLOAD:\"beforeunload\",UNLOAD:\"unload\",PAGE_SHOW:\"pageshow\",PAGE_HIDE:\"pagehide\",PASTE:\"paste\",ABORT:\"abort\",ERROR:\"error\",RESIZE:\"resize\",SCROLL:\"scroll\",FULLSCREEN_CHANGE:\"fullscreenchange\",WK_FULLSCREEN_CHANGE:\"webkitfullscreenchange\",SELECT:\"select\",CHANGE:\"change\",SUBMIT:\"submit\",RESET:\"reset\",FOCUS:\"focus\",FOCUS_IN:\"focusin\",FOCUS_OUT:\"focusout\",BLUR:\"blur\",INPUT:\"input\",STORAGE:\"storage\",DRAG_START:\"dragstart\",DRAG:\"drag\",DRAG_ENTER:\"dragenter\",DRAG_LEAVE:\"dragleave\",DRAG_OVER:\"dragover\",DROP:\"drop\",DRAG_END:\"dragend\",ANIMATION_START:a.isWebKit?\"webkitAnimationStart\":\"animationstart\",ANIMATION_END:a.isWebKit?\"webkitAnimationEnd\":\"animationend\",ANIMATION_ITERATION:a.isWebKit?\"webkitAnimationIteration\":\"animationiteration\"},t.EventHelper={stop:(e,t)=>(e.preventDefault(),t&&e.stopPropagation(),e)};class ee extends p.Disposable{static hasFocusWithin(e){if(Q(e)){const t=H(e);return B(t?t.activeElement:e.ownerDocument.activeElement,e)}{const t=e;return B(t.document.activeElement,t.document)}}constructor(e){super(),this._onDidFocus=this._register(new _.Emitter),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new _.Emitter),this.onDidBlur=this._onDidBlur.event;let i=ee.hasFocusWithin(e),s=!1;const r=()=>{s=!1,i||(i=!0,this._onDidFocus.fire())},n=()=>{i&&(s=!0,(Q(e)?(0,t.getWindow)(e):e).setTimeout((()=>{s&&(s=!1,i=!1,this._onDidBlur.fire())}),0))};this._refreshStateHandler=()=>{ee.hasFocusWithin(e)!==i&&(i?n():r())},this._register(C(e,t.EventType.FOCUS,r,!0)),this._register(C(e,t.EventType.BLUR,n,!0)),Q(e)&&(this._register(C(e,t.EventType.FOCUS_IN,(()=>this._refreshStateHandler()))),this._register(C(e,t.EventType.FOCUS_OUT,(()=>this._refreshStateHandler()))))}refreshState(){this._refreshStateHandler()}}function te(e,...t){if(e.append(...t),1===t.length&&\"string\"!=typeof t[0])return t[0]}const ie=/([\\w\\-]+)?(#([\\w\\-]+))?((\\.([\\w\\-]+))*)/;var se;function re(e,t,i,...s){const r=ie.exec(t);if(!r)throw new Error(\"Bad use of emmet\");const n=r[1]||\"div\";let o;return o=e!==se.HTML?document.createElementNS(e,n):document.createElement(n),r[3]&&(o.id=r[3]),r[4]&&(o.className=r[4].replace(/\\./g,\" \").trim()),i&&Object.entries(i).forEach((([e,t])=>{void 0!==t&&(/^on\\w+$/.test(e)?o[e]=t:\"selected\"===e?t&&o.setAttribute(e,\"true\"):o.setAttribute(e,t))})),o.append(...s),o}function ne(e,t,...i){return re(se.HTML,e,t,...i)}function oe(...e){for(const t of e)t.style.display=\"\",t.removeAttribute(\"aria-hidden\")}function ae(...e){for(const t of e)t.style.display=\"none\",t.setAttribute(\"aria-hidden\",\"true\")}!function(e){e.HTML=\"http://www.w3.org/1999/xhtml\",e.SVG=\"http://www.w3.org/2000/svg\"}(se||(t.Namespace=se={})),ne.SVG=function(e,t,...i){return re(se.SVG,e,t,...i)};const le=780,he=640;var ce;!function(e){e[e.DOCUMENT=1]=\"DOCUMENT\",e[e.BROWSER=2]=\"BROWSER\"}(ce||(t.DetectedFullscreenMode=ce={}));class de extends _.Emitter{constructor(){super(),this._subscriptions=new p.DisposableStore,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(_.Event.runAndSubscribe(t.onDidRegisterWindow,(({window:e,disposables:t})=>this.registerListeners(e,t)),{window:v.mainWindow,disposables:this._subscriptions}))}registerListeners(e,t){t.add(C(e,\"keydown\",(e=>{if(e.defaultPrevented)return;const t=new h.StandardKeyboardEvent(e);if(t.keyCode!==f.KeyCode.Alt||!e.repeat){if(e.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed=\"alt\";else if(e.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed=\"ctrl\";else if(e.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed=\"meta\";else if(e.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed=\"shift\";else{if(t.keyCode===f.KeyCode.Alt)return;this._keyStatus.lastKeyPressed=void 0}this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=e,this.fire(this._keyStatus))}}),!0)),t.add(C(e,\"keyup\",(e=>{e.defaultPrevented||(!e.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased=\"alt\":!e.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased=\"ctrl\":!e.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased=\"meta\":!e.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased=\"shift\":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=e,this.fire(this._keyStatus)))}),!0)),t.add(C(e.document.body,\"mousedown\",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),t.add(C(e.document.body,\"mouseup\",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),t.add(C(e.document.body,\"mousemove\",(e=>{e.buttons&&(this._keyStatus.lastKeyPressed=void 0)}),!0)),t.add(C(e,\"blur\",(()=>{this.resetKeyStatus()})))}get keyStatus(){return this._keyStatus}get isModifierPressed(){return this._keyStatus.altKey||this._keyStatus.ctrlKey||this._keyStatus.metaKey||this._keyStatus.shiftKey}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return de.instance||(de.instance=new de),de.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}t.ModifierKeyEmitter=de;class ue extends p.Disposable{constructor(e,t){super(),this.element=e,this.callbacks=t,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(C(this.element,t.EventType.DRAG_START,(e=>{this.callbacks.onDragStart?.(e)}))),this.callbacks.onDrag&&this._register(C(this.element,t.EventType.DRAG,(e=>{this.callbacks.onDrag?.(e)}))),this._register(C(this.element,t.EventType.DRAG_ENTER,(e=>{this.counter++,this.dragStartTime=e.timeStamp,this.callbacks.onDragEnter?.(e)}))),this._register(C(this.element,t.EventType.DRAG_OVER,(e=>{e.preventDefault(),this.callbacks.onDragOver?.(e,e.timeStamp-this.dragStartTime)}))),this._register(C(this.element,t.EventType.DRAG_LEAVE,(e=>{this.counter--,0===this.counter&&(this.dragStartTime=0,this.callbacks.onDragLeave?.(e))}))),this._register(C(this.element,t.EventType.DRAG_END,(e=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDragEnd?.(e)}))),this._register(C(this.element,t.EventType.DROP,(e=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDrop?.(e)})))}}t.DragAndDropObserver=ue;const _e=/(?<tag>[\\w\\-]+)?(?:#(?<id>[\\w\\-]+))?(?<class>(?:\\.(?:[\\w\\-]+))*)(?:@(?<name>(?:[\\w\\_])+))?/;function fe(e){return e.replace(/([a-z])([A-Z])/g,\"$1-$2\").toLowerCase()}function pe(e,t,i){for(const{name:s,value:r}of e.attributes)i&&!i.includes(s)||t.setAttribute(s,r)}function ge(e,t,i){const s=e.getAttribute(i);s?t.setAttribute(i,s):t.removeAttribute(i)}t.SafeTriangle=class{constructor(e,t,i){this.originX=e,this.originY=t,this.triangles=[];const{top:s,left:r,right:n,bottom:o}=i.getBoundingClientRect(),a=this.triangles;let l=0;a[l++]=r,a[l++]=s,a[l++]=n,a[l++]=s,a[l++]=r,a[l++]=s,a[l++]=r,a[l++]=o,a[l++]=n,a[l++]=s,a[l++]=n,a[l++]=o,a[l++]=r,a[l++]=o,a[l++]=n,a[l++]=o}contains(e,t){const{triangles:i,originX:s,originY:r}=this;for(let n=0;n<4;n++)if((0,S.isPointWithinTriangle)(e,t,s,r,i[2*n],i[2*n+1],i[2*n+2],i[2*n+3]))return!0;return!1}}},9675:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.FastDomNode=void 0,t.createFastDomNode=function(e){return new i(e)};class i{constructor(e){this.domNode=e,this._maxWidth=\"\",this._width=\"\",this._height=\"\",this._top=\"\",this._left=\"\",this._bottom=\"\",this._right=\"\",this._paddingTop=\"\",this._paddingLeft=\"\",this._paddingBottom=\"\",this._paddingRight=\"\",this._fontFamily=\"\",this._fontWeight=\"\",this._fontSize=\"\",this._fontStyle=\"\",this._fontFeatureSettings=\"\",this._fontVariationSettings=\"\",this._textDecoration=\"\",this._lineHeight=\"\",this._letterSpacing=\"\",this._className=\"\",this._display=\"\",this._position=\"\",this._visibility=\"\",this._color=\"\",this._backgroundColor=\"\",this._layerHint=!1,this._contain=\"none\",this._boxShadow=\"\"}setMaxWidth(e){const t=s(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){const t=s(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){const t=s(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){const t=s(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){const t=s(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){const t=s(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){const t=s(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingTop(e){const t=s(e);this._paddingTop!==t&&(this._paddingTop=t,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(e){const t=s(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(e){const t=s(e);this._paddingBottom!==t&&(this._paddingBottom=t,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(e){const t=s(e);this._paddingRight!==t&&(this._paddingRight=t,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){const t=s(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){const t=s(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){const t=s(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?\"translate3d(0px, 0px, 0px)\":\"\")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}}function s(e){return\"number\"==typeof e?`${e}px`:e}t.FastDomNode=i},8328:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.GlobalPointerMoveMonitor=void 0;const o=n(i(7093)),a=i(7150);t.GlobalPointerMoveMonitor=class{constructor(){this._hooks=new a.DisposableStore,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;const i=this._onStopCallback;this._onStopCallback=null,e&&i&&i(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,i,s,r){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=s,this._onStopCallback=r;let n=e;try{e.setPointerCapture(t),this._hooks.add((0,a.toDisposable)((()=>{try{e.releasePointerCapture(t)}catch(e){}})))}catch(t){n=o.getWindow(e)}this._hooks.add(o.addDisposableListener(n,o.EventType.POINTER_MOVE,(e=>{e.buttons===i?(e.preventDefault(),this._pointerMoveCallback(e)):this.stopMonitoring(!0)}))),this._hooks.add(o.addDisposableListener(n,o.EventType.POINTER_UP,(e=>this.stopMonitoring(!0))))}}},6609:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.IframeUtils=void 0,t.parentOriginHash=async function(e,t){if(!crypto.subtle)throw new Error(\"'crypto.subtle' is not available so webviews will not work. This is likely because the editor is not running in a secure context (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).\");const i=JSON.stringify({parentOrigin:e,salt:t}),s=(new TextEncoder).encode(i);return function(e){const t=Array.from(new Uint8Array(e)).map((e=>e.toString(16).padStart(2,\"0\"))).join(\"\");return BigInt(`0x${t}`).toString(32).padStart(52,\"0\")}(await crypto.subtle.digest(\"sha-256\",s))};const i=new WeakMap;function s(e){if(!e.parent||e.parent===e)return null;try{const t=e.location,i=e.parent.location;if(\"null\"!==t.origin&&\"null\"!==i.origin&&t.origin!==i.origin)return null}catch(e){return null}return e.parent}t.IframeUtils=class{static getSameOriginWindowChain(e){let t=i.get(e);if(!t){t=[],i.set(e,t);let r,n=e;do{r=s(n),r?t.push({window:new WeakRef(n),iframeElement:n.frameElement||null}):t.push({window:new WeakRef(n),iframeElement:null}),n=r}while(n)}return t.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(e,t){if(!t||e===t)return{top:0,left:0};let i=0,s=0;const r=this.getSameOriginWindowChain(e);for(const e of r){const r=e.window.deref();if(i+=r?.scrollY??0,s+=r?.scrollX??0,r===t)break;if(!e.iframeElement)break;const n=e.iframeElement.getBoundingClientRect();i+=n.top,s+=n.left}return{top:i,left:s}}}},5394:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.StandardKeyboardEvent=void 0,t.printKeyboardEvent=function(e){const t=[];return e.ctrlKey&&t.push(\"ctrl\"),e.shiftKey&&t.push(\"shift\"),e.altKey&&t.push(\"alt\"),e.metaKey&&t.push(\"meta\"),`modifiers: [${t.join(\",\")}], code: ${e.code}, keyCode: ${e.keyCode}, key: ${e.key}`},t.printStandardKeyboardEvent=function(e){const t=[];return e.ctrlKey&&t.push(\"ctrl\"),e.shiftKey&&t.push(\"shift\"),e.altKey&&t.push(\"alt\"),e.metaKey&&t.push(\"meta\"),`modifiers: [${t.join(\",\")}], code: ${e.code}, keyCode: ${e.keyCode} ('${a.KeyCodeUtils.toString(e.keyCode)}')`};const o=n(i(4333)),a=i(7883),l=i(2811),h=n(i(8163)),c=h.isMacintosh?a.KeyMod.WinCtrl:a.KeyMod.CtrlCmd,d=a.KeyMod.Alt,u=a.KeyMod.Shift,_=h.isMacintosh?a.KeyMod.CtrlCmd:a.KeyMod.WinCtrl;t.StandardKeyboardEvent=class{constructor(e){this._standardKeyboardEventBrand=!0;const t=e;this.browserEvent=t,this.target=t.target,this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,this.altGraphKey=t.getModifierState?.(\"AltGraph\"),this.keyCode=function(e){if(e.charCode){const t=String.fromCharCode(e.charCode).toUpperCase();return a.KeyCodeUtils.fromString(t)}const t=e.keyCode;if(3===t)return a.KeyCode.PauseBreak;if(o.isFirefox)switch(t){case 59:return a.KeyCode.Semicolon;case 60:if(h.isLinux)return a.KeyCode.IntlBackslash;break;case 61:return a.KeyCode.Equal;case 107:return a.KeyCode.NumpadAdd;case 109:return a.KeyCode.NumpadSubtract;case 173:return a.KeyCode.Minus;case 224:if(h.isMacintosh)return a.KeyCode.Meta}else if(o.isWebKit){if(h.isMacintosh&&93===t)return a.KeyCode.Meta;if(!h.isMacintosh&&92===t)return a.KeyCode.Meta}return a.EVENT_KEY_CODE_MAP[t]||a.KeyCode.Unknown}(t),this.code=t.code,this.ctrlKey=this.ctrlKey||this.keyCode===a.KeyCode.Ctrl,this.altKey=this.altKey||this.keyCode===a.KeyCode.Alt,this.shiftKey=this.shiftKey||this.keyCode===a.KeyCode.Shift,this.metaKey=this.metaKey||this.keyCode===a.KeyCode.Meta,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(e){return this._asKeybinding===e}_computeKeybinding(){let e=a.KeyCode.Unknown;this.keyCode!==a.KeyCode.Ctrl&&this.keyCode!==a.KeyCode.Shift&&this.keyCode!==a.KeyCode.Alt&&this.keyCode!==a.KeyCode.Meta&&(e=this.keyCode);let t=0;return this.ctrlKey&&(t|=c),this.altKey&&(t|=d),this.shiftKey&&(t|=u),this.metaKey&&(t|=_),t|=e,t}_computeKeyCodeChord(){let e=a.KeyCode.Unknown;return this.keyCode!==a.KeyCode.Ctrl&&this.keyCode!==a.KeyCode.Shift&&this.keyCode!==a.KeyCode.Alt&&this.keyCode!==a.KeyCode.Meta&&(e=this.keyCode),new l.KeyCodeChord(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)}}},5964:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.StandardWheelEvent=t.DragMouseEvent=t.StandardMouseEvent=void 0;const o=n(i(4333)),a=i(6609),l=n(i(8163));class h{constructor(e,t){this.timestamp=Date.now(),this.browserEvent=t,this.leftButton=0===t.button,this.middleButton=1===t.button,this.rightButton=2===t.button,this.buttons=t.buttons,this.target=t.target,this.detail=t.detail||1,\"dblclick\"===t.type&&(this.detail=2),this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,\"number\"==typeof t.pageX?(this.posx=t.pageX,this.posy=t.pageY):(this.posx=t.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=t.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);const i=a.IframeUtils.getPositionOfChildWindowRelativeToAncestorWindow(e,t.view);this.posx-=i.left,this.posy-=i.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}}t.StandardMouseEvent=h,t.DragMouseEvent=class extends h{constructor(e,t){super(e,t),this.dataTransfer=t.dataTransfer}},t.StandardWheelEvent=class{constructor(e,t=0,i=0){this.browserEvent=e||null,this.target=e?e.target||e.targetNode||e.srcElement:null,this.deltaY=i,this.deltaX=t;let s=!1;if(o.isChrome){const e=navigator.userAgent.match(/Chrome\\/(\\d+)/);s=(e?parseInt(e[1]):123)<=122}if(e){const t=e,i=e,r=e.view?.devicePixelRatio||1;if(void 0!==t.wheelDeltaY)this.deltaY=s?t.wheelDeltaY/(120*r):t.wheelDeltaY/120;else if(void 0!==i.VERTICAL_AXIS&&i.axis===i.VERTICAL_AXIS)this.deltaY=-i.detail/3;else if(\"wheel\"===e.type){const t=e;t.deltaMode===t.DOM_DELTA_LINE?o.isFirefox&&!l.isMacintosh?this.deltaY=-e.deltaY/3:this.deltaY=-e.deltaY:this.deltaY=-e.deltaY/40}if(void 0!==t.wheelDeltaX)o.isSafari&&l.isWindows?this.deltaX=-t.wheelDeltaX/120:this.deltaX=s?t.wheelDeltaX/(120*r):t.wheelDeltaX/120;else if(void 0!==i.HORIZONTAL_AXIS&&i.axis===i.HORIZONTAL_AXIS)this.deltaX=-e.detail/3;else if(\"wheel\"===e.type){const t=e;t.deltaMode===t.DOM_DELTA_LINE?o.isFirefox&&!l.isMacintosh?this.deltaX=-e.deltaX/3:this.deltaX=-e.deltaX:this.deltaX=-e.deltaX/40}0===this.deltaY&&0===this.deltaX&&e.wheelDelta&&(this.deltaY=s?e.wheelDelta/(120*r):e.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}}},8594:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Gesture=t.EventType=void 0;const a=o(i(7093)),l=i(4693),h=o(i(3058)),c=i(4838),d=i(802),u=i(7150),_=i(6317);var f;!function(e){e.Tap=\"-xterm-gesturetap\",e.Change=\"-xterm-gesturechange\",e.Start=\"-xterm-gesturestart\",e.End=\"-xterm-gesturesend\",e.Contextmenu=\"-xterm-gesturecontextmenu\"}(f||(t.EventType=f={}));class p extends u.Disposable{static{this.SCROLL_FRICTION=-.005}static{this.HOLD_DELAY=700}static{this.CLEAR_TAP_COUNT_TIME=400}constructor(){super(),this.dispatched=!1,this.targets=new _.LinkedList,this.ignoreTargets=new _.LinkedList,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(d.Event.runAndSubscribe(a.onDidRegisterWindow,(({window:e,disposables:t})=>{t.add(a.addDisposableListener(e.document,\"touchstart\",(e=>this.onTouchStart(e)),{passive:!1})),t.add(a.addDisposableListener(e.document,\"touchend\",(t=>this.onTouchEnd(e,t)))),t.add(a.addDisposableListener(e.document,\"touchmove\",(e=>this.onTouchMove(e)),{passive:!1}))}),{window:l.mainWindow,disposables:this._store}))}static addTarget(e){if(!p.isTouchDevice())return u.Disposable.None;p.INSTANCE||(p.INSTANCE=(0,u.markAsSingleton)(new p));const t=p.INSTANCE.targets.push(e);return(0,u.toDisposable)(t)}static ignoreTarget(e){if(!p.isTouchDevice())return u.Disposable.None;p.INSTANCE||(p.INSTANCE=(0,u.markAsSingleton)(new p));const t=p.INSTANCE.ignoreTargets.push(e);return(0,u.toDisposable)(t)}static isTouchDevice(){return\"ontouchstart\"in l.mainWindow||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){const t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let i=0,s=e.targetTouches.length;i<s;i++){const s=e.targetTouches.item(i);this.activeTouches[s.identifier]={id:s.identifier,initialTarget:s.target,initialTimeStamp:t,initialPageX:s.pageX,initialPageY:s.pageY,rollingTimestamps:[t],rollingPageX:[s.pageX],rollingPageY:[s.pageY]};const r=this.newGestureEvent(f.Start,s.target);r.pageX=s.pageX,r.pageY=s.pageY,this.dispatchEvent(r)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}onTouchEnd(e,t){const i=Date.now(),s=Object.keys(this.activeTouches).length;for(let r=0,n=t.changedTouches.length;r<n;r++){const n=t.changedTouches.item(r);if(!this.activeTouches.hasOwnProperty(String(n.identifier))){console.warn(\"move of an UNKNOWN touch\",n);continue}const o=this.activeTouches[n.identifier],a=Date.now()-o.initialTimeStamp;if(a<p.HOLD_DELAY&&Math.abs(o.initialPageX-h.tail(o.rollingPageX))<30&&Math.abs(o.initialPageY-h.tail(o.rollingPageY))<30){const e=this.newGestureEvent(f.Tap,o.initialTarget);e.pageX=h.tail(o.rollingPageX),e.pageY=h.tail(o.rollingPageY),this.dispatchEvent(e)}else if(a>=p.HOLD_DELAY&&Math.abs(o.initialPageX-h.tail(o.rollingPageX))<30&&Math.abs(o.initialPageY-h.tail(o.rollingPageY))<30){const e=this.newGestureEvent(f.Contextmenu,o.initialTarget);e.pageX=h.tail(o.rollingPageX),e.pageY=h.tail(o.rollingPageY),this.dispatchEvent(e)}else if(1===s){const t=h.tail(o.rollingPageX),s=h.tail(o.rollingPageY),r=h.tail(o.rollingTimestamps)-o.rollingTimestamps[0],n=t-o.rollingPageX[0],a=s-o.rollingPageY[0],l=[...this.targets].filter((e=>o.initialTarget instanceof Node&&e.contains(o.initialTarget)));this.inertia(e,l,i,Math.abs(n)/r,n>0?1:-1,t,Math.abs(a)/r,a>0?1:-1,s)}this.dispatchEvent(this.newGestureEvent(f.End,o.initialTarget)),delete this.activeTouches[n.identifier]}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,t){const i=document.createEvent(\"CustomEvent\");return i.initEvent(e,!1,!0),i.initialTarget=t,i.tapCount=0,i}dispatchEvent(e){if(e.type===f.Tap){const t=(new Date).getTime();let i=0;i=t-this._lastSetTapCountTime>p.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=t,e.tapCount=i}else e.type!==f.Change&&e.type!==f.Contextmenu||(this._lastSetTapCountTime=0);if(e.initialTarget instanceof Node){for(const t of this.ignoreTargets)if(t.contains(e.initialTarget))return;const t=[];for(const i of this.targets)if(i.contains(e.initialTarget)){let s=0,r=e.initialTarget;for(;r&&r!==i;)s++,r=r.parentElement;t.push([s,i])}t.sort(((e,t)=>e[0]-t[0]));for(const[i,s]of t)s.dispatchEvent(e),this.dispatched=!0}}inertia(e,t,i,s,r,n,o,l,h){this.handle=a.scheduleAtNextAnimationFrame(e,(()=>{const a=Date.now(),c=a-i;let d=0,u=0,_=!0;s+=p.SCROLL_FRICTION*c,o+=p.SCROLL_FRICTION*c,s>0&&(_=!1,d=r*s*c),o>0&&(_=!1,u=l*o*c);const g=this.newGestureEvent(f.Change);g.translationX=d,g.translationY=u,t.forEach((e=>e.dispatchEvent(g))),_||this.inertia(e,t,a,s,r,n+d,o,l,h+u)}))}onTouchMove(e){const t=Date.now();for(let i=0,s=e.changedTouches.length;i<s;i++){const s=e.changedTouches.item(i);if(!this.activeTouches.hasOwnProperty(String(s.identifier))){console.warn(\"end of an UNKNOWN touch\",s);continue}const r=this.activeTouches[s.identifier],n=this.newGestureEvent(f.Change,r.initialTarget);n.translationX=s.pageX-h.tail(r.rollingPageX),n.translationY=s.pageY-h.tail(r.rollingPageY),n.pageX=s.pageX,n.pageY=s.pageY,this.dispatchEvent(n),r.rollingPageX.length>3&&(r.rollingPageX.shift(),r.rollingPageY.shift(),r.rollingTimestamps.shift()),r.rollingPageX.push(s.pageX),r.rollingPageY.push(s.pageY),r.rollingTimestamps.push(t)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}}t.Gesture=p,n([c.memoize],p,\"isTouchDevice\",null)},8801:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.AbstractScrollbar=void 0;const o=n(i(7093)),a=i(9675),l=i(8328),h=i(8974),c=i(79),d=i(8286),u=n(i(8163));class _ extends d.Widget{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new c.ScrollbarVisibilityController(e.visibility,\"visible scrollbar \"+e.extraScrollbarClassName,\"invisible scrollbar \"+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new l.GlobalPointerMoveMonitor),this._shouldRender=!0,this.domNode=(0,a.createFastDomNode)(document.createElement(\"div\")),this.domNode.setAttribute(\"role\",\"presentation\"),this.domNode.setAttribute(\"aria-hidden\",\"true\"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition(\"absolute\"),this._register(o.addDisposableListener(this.domNode.domNode,o.EventType.POINTER_DOWN,(e=>this._domNodePointerDown(e))))}_createArrow(e){const t=this._register(new h.ScrollbarArrow(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,i,s){this.slider=(0,a.createFastDomNode)(document.createElement(\"div\")),this.slider.setClassName(\"slider\"),this.slider.setPosition(\"absolute\"),this.slider.setTop(e),this.slider.setLeft(t),\"number\"==typeof i&&this.slider.setWidth(i),\"number\"==typeof s&&this.slider.setHeight(s),this.slider.setLayerHinting(!0),this.slider.setContain(\"strict\"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(o.addDisposableListener(this.slider.domNode,o.EventType.POINTER_DOWN,(e=>{0===e.button&&(e.preventDefault(),this._sliderPointerDown(e))}))),this.onclick(this.slider.domNode,(e=>{e.leftButton&&e.stopPropagation()}))}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){const t=this.domNode.domNode.getClientRects()[0].top,i=t+this._scrollbarState.getSliderPosition(),s=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),r=this._sliderPointerPosition(e);i<=r&&r<=s?0===e.button&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,i;if(e.target===this.domNode.domNode&&\"number\"==typeof e.offsetX&&\"number\"==typeof e.offsetY)t=e.offsetX,i=e.offsetY;else{const s=o.getDomNodePagePosition(this.domNode.domNode);t=e.pageX-s.left,i=e.pageY-s.top}const s=this._pointerDownRelativePosition(t,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(s):this._scrollbarState.getDesiredScrollPositionFromOffset(s)),0===e.button&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!(e.target&&e.target instanceof Element))return;const t=this._sliderPointerPosition(e),i=this._sliderOrthogonalPointerPosition(e),s=this._scrollbarState.clone();this.slider.toggleClassName(\"active\",!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>{const r=this._sliderOrthogonalPointerPosition(e),n=Math.abs(r-i);if(u.isWindows&&n>140)return void this._setDesiredScrollPositionNow(s.getScrollPosition());const o=this._sliderPointerPosition(e)-t;this._setDesiredScrollPositionNow(s.getDesiredScrollPositionFromDelta(o))}),(()=>{this.slider.toggleClassName(\"active\",!1),this._host.onDragEnd()})),this._host.onDragStart()}_setDesiredScrollPositionNow(e){const t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}t.AbstractScrollbar=_},151:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.HorizontalScrollbar=void 0;const s=i(8801),r=i(8245),n=i(9881);class o extends s.AbstractScrollbar{constructor(e,t,i){const s=e.getScrollDimensions(),o=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:i,scrollbarState:new r.ScrollbarState(t.horizontalHasArrows?t.arrowSize:0,t.horizontal===n.ScrollbarVisibility.Hidden?0:t.horizontalScrollbarSize,t.vertical===n.ScrollbarVisibility.Hidden?0:t.verticalScrollbarSize,s.width,s.scrollWidth,o.scrollLeft),visibility:t.horizontal,extraScrollbarClassName:\"horizontal\",scrollable:e,scrollByPage:t.scrollByPage}),t.horizontalHasArrows)throw new Error(\"horizontalHasArrows is not supported in xterm.js\");this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(e.horizontal===n.ScrollbarVisibility.Hidden?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(e.vertical===n.ScrollbarVisibility.Hidden?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}}t.HorizontalScrollbar=o},8234:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.DomScrollableElement=t.SmoothScrollableElement=t.ScrollableElement=t.AbstractScrollableElement=t.MouseWheelClassifier=void 0;const o=i(4333),a=n(i(7093)),l=i(9675),h=i(5964),c=i(151),d=i(5473),u=i(8286),_=i(1758),f=i(802),p=i(7150),g=n(i(8163)),m=i(9881);class v{constructor(e,t,i){this.timestamp=e,this.deltaX=t,this.deltaY=i,this.score=0}}class S{static{this.INSTANCE=new S}constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(-1===this._front&&-1===this._rear)return!1;let e=1,t=0,i=1,s=this._rear;for(;;){const r=s===this._front?e:Math.pow(2,-i);if(e-=r,t+=this._memory[s].score*r,s===this._front)break;s=(this._capacity+s-1)%this._capacity,i++}return t<=.5}acceptStandardWheelEvent(e){if(o.isChrome){const t=a.getWindow(e.browserEvent),i=(0,o.getZoomFactor)(t);this.accept(Date.now(),e.deltaX*i,e.deltaY*i)}else this.accept(Date.now(),e.deltaX,e.deltaY)}accept(e,t,i){let s=null;const r=new v(e,t,i);-1===this._front&&-1===this._rear?(this._memory[0]=r,this._front=0,this._rear=0):(s=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=r),r.score=this._computeScore(r,s)}_computeScore(e,t){if(Math.abs(e.deltaX)>0&&Math.abs(e.deltaY)>0)return 1;let i=.5;if(this._isAlmostInt(e.deltaX)&&this._isAlmostInt(e.deltaY)||(i+=.25),t){const s=Math.abs(e.deltaX),r=Math.abs(e.deltaY),n=Math.abs(t.deltaX),o=Math.abs(t.deltaY),a=Math.max(Math.min(s,n),1),l=Math.max(Math.min(r,o),1),h=Math.max(s,n),c=Math.max(r,o);h%a==0&&c%l==0&&(i-=.5)}return Math.min(Math.max(i,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}}t.MouseWheelClassifier=S;class b extends u.Widget{get options(){return this._options}constructor(e,t,i){super(),this._onScroll=this._register(new f.Emitter),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new f.Emitter),this.onWillScroll=this._onWillScroll.event,this._options=function(e){const t={lazyRender:void 0!==e.lazyRender&&e.lazyRender,className:void 0!==e.className?e.className:\"\",useShadows:void 0===e.useShadows||e.useShadows,handleMouseWheel:void 0===e.handleMouseWheel||e.handleMouseWheel,flipAxes:void 0!==e.flipAxes&&e.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:void 0!==e.consumeMouseWheelIfScrollbarIsNeeded&&e.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:void 0!==e.alwaysConsumeMouseWheel&&e.alwaysConsumeMouseWheel,scrollYToX:void 0!==e.scrollYToX&&e.scrollYToX,mouseWheelScrollSensitivity:void 0!==e.mouseWheelScrollSensitivity?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:void 0!==e.fastScrollSensitivity?e.fastScrollSensitivity:5,scrollPredominantAxis:void 0===e.scrollPredominantAxis||e.scrollPredominantAxis,mouseWheelSmoothScroll:void 0===e.mouseWheelSmoothScroll||e.mouseWheelSmoothScroll,arrowSize:void 0!==e.arrowSize?e.arrowSize:11,listenOnDomNode:void 0!==e.listenOnDomNode?e.listenOnDomNode:null,horizontal:void 0!==e.horizontal?e.horizontal:m.ScrollbarVisibility.Auto,horizontalScrollbarSize:void 0!==e.horizontalScrollbarSize?e.horizontalScrollbarSize:10,horizontalSliderSize:void 0!==e.horizontalSliderSize?e.horizontalSliderSize:0,horizontalHasArrows:void 0!==e.horizontalHasArrows&&e.horizontalHasArrows,vertical:void 0!==e.vertical?e.vertical:m.ScrollbarVisibility.Auto,verticalScrollbarSize:void 0!==e.verticalScrollbarSize?e.verticalScrollbarSize:10,verticalHasArrows:void 0!==e.verticalHasArrows&&e.verticalHasArrows,verticalSliderSize:void 0!==e.verticalSliderSize?e.verticalSliderSize:0,scrollByPage:void 0!==e.scrollByPage&&e.scrollByPage};return t.horizontalSliderSize=void 0!==e.horizontalSliderSize?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=void 0!==e.verticalSliderSize?e.verticalSliderSize:t.verticalScrollbarSize,g.isMacintosh&&(t.className+=\" mac\"),t}(t),this._scrollable=i,this._register(this._scrollable.onScroll((e=>{this._onWillScroll.fire(e),this._onDidScroll(e),this._onScroll.fire(e)})));const s={onMouseWheel:e=>this._onMouseWheel(e),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new d.VerticalScrollbar(this._scrollable,this._options,s)),this._horizontalScrollbar=this._register(new c.HorizontalScrollbar(this._scrollable,this._options,s)),this._domNode=document.createElement(\"div\"),this._domNode.className=\"xterm-scrollable-element \"+this._options.className,this._domNode.setAttribute(\"role\",\"presentation\"),this._domNode.style.position=\"relative\",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=(0,l.createFastDomNode)(document.createElement(\"div\")),this._leftShadowDomNode.setClassName(\"shadow\"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=(0,l.createFastDomNode)(document.createElement(\"div\")),this._topShadowDomNode.setClassName(\"shadow\"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=(0,l.createFastDomNode)(document.createElement(\"div\")),this._topLeftShadowDomNode.setClassName(\"shadow\"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,(e=>this._onMouseOver(e))),this.onmouseleave(this._listenOnDomNode,(e=>this._onMouseLeave(e))),this._hideTimeout=this._register(new _.TimeoutTimer),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=(0,p.dispose)(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,g.isMacintosh&&(this._options.className+=\" mac\"),this._domNode.className=\"xterm-scrollable-element \"+this._options.className}updateOptions(e){void 0!==e.handleMouseWheel&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),void 0!==e.mouseWheelScrollSensitivity&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),void 0!==e.fastScrollSensitivity&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),void 0!==e.scrollPredominantAxis&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),void 0!==e.horizontal&&(this._options.horizontal=e.horizontal),void 0!==e.vertical&&(this._options.vertical=e.vertical),void 0!==e.horizontalScrollbarSize&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),void 0!==e.verticalScrollbarSize&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),void 0!==e.scrollByPage&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(e){this._revealOnScroll=e}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new h.StandardWheelEvent(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=(0,p.dispose)(this._mouseWheelToDispose),e)){const e=e=>{this._onMouseWheel(new h.StandardWheelEvent(e))};this._mouseWheelToDispose.push(a.addDisposableListener(this._listenOnDomNode,a.EventType.MOUSE_WHEEL,e,{passive:!1}))}}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;const t=S.INSTANCE;t.acceptStandardWheelEvent(e);let i=!1;if(e.deltaY||e.deltaX){let s=e.deltaY*this._options.mouseWheelScrollSensitivity,r=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&r+s===0?r=s=0:Math.abs(s)>=Math.abs(r)?r=0:s=0),this._options.flipAxes&&([s,r]=[r,s]);const n=!g.isMacintosh&&e.browserEvent&&e.browserEvent.shiftKey;!this._options.scrollYToX&&!n||r||(r=s,s=0),e.browserEvent&&e.browserEvent.altKey&&(r*=this._options.fastScrollSensitivity,s*=this._options.fastScrollSensitivity);const o=this._scrollable.getFutureScrollPosition();let a={};if(s){const e=50*s,t=o.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(a,t)}if(r){const e=50*r,t=o.scrollLeft-(e<0?Math.floor(e):Math.ceil(e));this._horizontalScrollbar.writeScrollPosition(a,t)}a=this._scrollable.validateScrollPosition(a),(o.scrollLeft!==a.scrollLeft||o.scrollTop!==a.scrollTop)&&(this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(a):this._scrollable.setScrollPositionNow(a),i=!0)}let s=i;!s&&this._options.alwaysConsumeMouseWheel&&(s=!0),!s&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(s=!0),s&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error(\"Please use `lazyRender` together with `renderNow`!\");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,i=e.scrollLeft>0,s=i?\" left\":\"\",r=t?\" top\":\"\",n=i||t?\" top-left-corner\":\"\";this._leftShadowDomNode.setClassName(`shadow${s}`),this._topShadowDomNode.setClassName(`shadow${r}`),this._topLeftShadowDomNode.setClassName(`shadow${n}${r}${s}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){this._mouseIsOver||this._isDragging||(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){this._mouseIsOver||this._isDragging||this._hideTimeout.cancelAndSet((()=>this._hide()),500)}}t.AbstractScrollableElement=b,t.ScrollableElement=class extends b{constructor(e,t){(t=t||{}).mouseWheelSmoothScroll=!1;const i=new m.Scrollable({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:t=>a.scheduleAtNextAnimationFrame(a.getWindow(e),t)});super(e,t,i),this._register(i)}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}},t.SmoothScrollableElement=class extends b{constructor(e,t,i){super(e,t,i)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}},t.DomScrollableElement=class extends b{constructor(e,t){(t=t||{}).mouseWheelSmoothScroll=!1;const i=new m.Scrollable({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:t=>a.scheduleAtNextAnimationFrame(a.getWindow(e),t)});super(e,t,i),this._register(i),this._element=e,this._register(this.onScroll((e=>{e.scrollTopChanged&&(this._element.scrollTop=e.scrollTop),e.scrollLeftChanged&&(this._element.scrollLeft=e.scrollLeft)}))),this.scanDomNode()}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}},8974:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.ScrollbarArrow=t.ARROW_IMG_SIZE=void 0;const o=i(8328),a=i(8286),l=i(1758),h=n(i(7093));t.ARROW_IMG_SIZE=11;class c extends a.Widget{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement(\"div\"),this.bgDomNode.className=\"arrow-background\",this.bgDomNode.style.position=\"absolute\",this.bgDomNode.style.width=e.bgWidth+\"px\",this.bgDomNode.style.height=e.bgHeight+\"px\",void 0!==e.top&&(this.bgDomNode.style.top=\"0px\"),void 0!==e.left&&(this.bgDomNode.style.left=\"0px\"),void 0!==e.bottom&&(this.bgDomNode.style.bottom=\"0px\"),void 0!==e.right&&(this.bgDomNode.style.right=\"0px\"),this.domNode=document.createElement(\"div\"),this.domNode.className=e.className,this.domNode.style.position=\"absolute\",this.domNode.style.width=t.ARROW_IMG_SIZE+\"px\",this.domNode.style.height=t.ARROW_IMG_SIZE+\"px\",void 0!==e.top&&(this.domNode.style.top=e.top+\"px\"),void 0!==e.left&&(this.domNode.style.left=e.left+\"px\"),void 0!==e.bottom&&(this.domNode.style.bottom=e.bottom+\"px\"),void 0!==e.right&&(this.domNode.style.right=e.right+\"px\"),this._pointerMoveMonitor=this._register(new o.GlobalPointerMoveMonitor),this._register(h.addStandardDisposableListener(this.bgDomNode,h.EventType.POINTER_DOWN,(e=>this._arrowPointerDown(e)))),this._register(h.addStandardDisposableListener(this.domNode,h.EventType.POINTER_DOWN,(e=>this._arrowPointerDown(e)))),this._pointerdownRepeatTimer=this._register(new h.WindowIntervalTimer),this._pointerdownScheduleRepeatTimer=this._register(new l.TimeoutTimer)}_arrowPointerDown(e){e.target&&e.target instanceof Element&&(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet((()=>{this._pointerdownRepeatTimer.cancelAndSet((()=>this._onActivate()),1e3/24,h.getWindow(e))}),200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>{}),(()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()})),e.preventDefault())}}t.ScrollbarArrow=c},8245:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ScrollbarState=void 0;class i{constructor(e,t,i,s,r,n){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(i),this._arrowSize=Math.round(e),this._visibleSize=s,this._scrollSize=r,this._scrollPosition=n,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new i(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){const t=Math.round(e);return this._visibleSize!==t&&(this._visibleSize=t,this._refreshComputedValues(),!0)}setScrollSize(e){const t=Math.round(e);return this._scrollSize!==t&&(this._scrollSize=t,this._refreshComputedValues(),!0)}setScrollPosition(e){const t=Math.round(e);return this._scrollPosition!==t&&(this._scrollPosition=t,this._refreshComputedValues(),!0)}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,i,s,r){const n=Math.max(0,i-e),o=Math.max(0,n-2*t),a=s>0&&s>i;if(!a)return{computedAvailableSize:Math.round(n),computedIsNeeded:a,computedSliderSize:Math.round(o),computedSliderRatio:0,computedSliderPosition:0};const l=Math.round(Math.max(20,Math.floor(i*o/s))),h=(o-l)/(s-i),c=r*h;return{computedAvailableSize:Math.round(n),computedIsNeeded:a,computedSliderSize:Math.round(l),computedSliderRatio:h,computedSliderPosition:Math.round(c)}}_refreshComputedValues(){const e=i._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=e.computedAvailableSize,this._computedIsNeeded=e.computedIsNeeded,this._computedSliderSize=e.computedSliderSize,this._computedSliderRatio=e.computedSliderRatio,this._computedSliderPosition=e.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize;let i=this._scrollPosition;return t<this._computedSliderPosition?i-=this._visibleSize:i+=this._visibleSize,i}getDesiredScrollPositionFromDelta(e){if(!this._computedIsNeeded)return 0;const t=this._computedSliderPosition+e;return Math.round(t/this._computedSliderRatio)}}t.ScrollbarState=i},79:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ScrollbarVisibilityController=void 0;const s=i(1758),r=i(7150),n=i(9881);class o extends r.Disposable{constructor(e,t,i){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=i,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new s.TimeoutTimer)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility!==n.ScrollbarVisibility.Hidden&&(this._visibility===n.ScrollbarVisibility.Visible||this._rawShouldBeVisible)}_updateShouldBeVisible(){const e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){this._isNeeded?this._shouldBeVisible?this._reveal():this._hide(!0):this._hide(!1)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet((()=>{this._domNode?.setClassName(this._visibleClassName)}),0))}_hide(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(e?\" fade\":\"\")))}}t.ScrollbarVisibilityController=o},5473:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.VerticalScrollbar=void 0;const s=i(8801),r=i(8245),n=i(9881);class o extends s.AbstractScrollbar{constructor(e,t,i){const s=e.getScrollDimensions(),o=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:i,scrollbarState:new r.ScrollbarState(t.verticalHasArrows?t.arrowSize:0,t.vertical===n.ScrollbarVisibility.Hidden?0:t.verticalScrollbarSize,0,s.height,s.scrollHeight,o.scrollTop),visibility:t.vertical,extraScrollbarClassName:\"vertical\",scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows)throw new Error(\"horizontalHasArrows is not supported in xterm.js\");this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(e.vertical===n.ScrollbarVisibility.Hidden?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}}t.VerticalScrollbar=o},8286:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Widget=void 0;const o=n(i(7093)),a=i(5394),l=i(5964),h=i(8594),c=i(7150);class d extends c.Disposable{onclick(e,t){this._register(o.addDisposableListener(e,o.EventType.CLICK,(i=>t(new l.StandardMouseEvent(o.getWindow(e),i)))))}onmousedown(e,t){this._register(o.addDisposableListener(e,o.EventType.MOUSE_DOWN,(i=>t(new l.StandardMouseEvent(o.getWindow(e),i)))))}onmouseover(e,t){this._register(o.addDisposableListener(e,o.EventType.MOUSE_OVER,(i=>t(new l.StandardMouseEvent(o.getWindow(e),i)))))}onmouseleave(e,t){this._register(o.addDisposableListener(e,o.EventType.MOUSE_LEAVE,(i=>t(new l.StandardMouseEvent(o.getWindow(e),i)))))}onkeydown(e,t){this._register(o.addDisposableListener(e,o.EventType.KEY_DOWN,(e=>t(new a.StandardKeyboardEvent(e)))))}onkeyup(e,t){this._register(o.addDisposableListener(e,o.EventType.KEY_UP,(e=>t(new a.StandardKeyboardEvent(e)))))}oninput(e,t){this._register(o.addDisposableListener(e,o.EventType.INPUT,t))}onblur(e,t){this._register(o.addDisposableListener(e,o.EventType.BLUR,t))}onfocus(e,t){this._register(o.addDisposableListener(e,o.EventType.FOCUS,t))}onchange(e,t){this._register(o.addDisposableListener(e,o.EventType.CHANGE,t))}ignoreGesture(e){return h.Gesture.ignoreTarget(e)}}t.Widget=d},4693:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.mainWindow=void 0,t.ensureCodeWindow=function(e,t){},t.mainWindow=\"object\"==typeof window?window:globalThis},3058:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Permutation=t.CallbackIterable=t.ArrayQueue=t.booleanComparator=t.numberComparator=t.CompareResult=void 0,t.tail=function(e,t=0){return e[e.length-(1+t)]},t.tail2=function(e){if(0===e.length)throw new Error(\"Invalid tail call\");return[e.slice(0,e.length-1),e[e.length-1]]},t.equals=function(e,t,i=(e,t)=>e===t){if(e===t)return!0;if(!e||!t)return!1;if(e.length!==t.length)return!1;for(let s=0,r=e.length;s<r;s++)if(!i(e[s],t[s]))return!1;return!0},t.removeFastWithoutKeepingOrder=function(e,t){const i=e.length-1;t<i&&(e[t]=e[i]),e.pop()},t.binarySearch=function(e,t,i){return n(e.length,(s=>i(e[s],t)))},t.binarySearch2=n,t.quickSelect=function e(t,i,s){if((t|=0)>=i.length)throw new TypeError(\"invalid index\");const r=i[Math.floor(i.length*Math.random())],n=[],o=[],a=[];for(const e of i){const t=s(e,r);t<0?n.push(e):t>0?o.push(e):a.push(e)}return t<n.length?e(t,n,s):t<n.length+a.length?a[0]:e(t-(n.length+a.length),o,s)},t.groupBy=function(e,t){const i=[];let s;for(const r of e.slice(0).sort(t))s&&0===t(s[0],r)?s.push(r):(s=[r],i.push(s));return i},t.groupAdjacentBy=function*(e,t){let i,s;for(const r of e)void 0!==s&&t(s,r)?i.push(r):(i&&(yield i),i=[r]),s=r;i&&(yield i)},t.forEachAdjacent=function(e,t){for(let i=0;i<=e.length;i++)t(0===i?void 0:e[i-1],i===e.length?void 0:e[i])},t.forEachWithNeighbors=function(e,t){for(let i=0;i<e.length;i++)t(0===i?void 0:e[i-1],e[i],i+1===e.length?void 0:e[i+1])},t.sortedDiff=o,t.delta=function(e,t,i){const s=o(e,t,i),r=[],n=[];for(const t of s)r.push(...e.slice(t.start,t.start+t.deleteCount)),n.push(...t.toInsert);return{removed:r,added:n}},t.top=function(e,t,i){if(0===i)return[];const s=e.slice(0,i).sort(t);return a(e,t,s,i,e.length),s},t.topAsync=function(e,t,i,r,n){return 0===i?Promise.resolve([]):new Promise(((o,l)=>{(async()=>{const o=e.length,l=e.slice(0,i).sort(t);for(let h=i,c=Math.min(i+r,o);h<o;h=c,c=Math.min(c+r,o)){if(h>i&&await new Promise((e=>setTimeout(e))),n&&n.isCancellationRequested)throw new s.CancellationError;a(e,t,l,h,c)}return l})().then(o,l)}))},t.coalesce=function(e){return e.filter((e=>!!e))},t.coalesceInPlace=function(e){let t=0;for(let i=0;i<e.length;i++)e[i]&&(e[t]=e[i],t+=1);e.length=t},t.move=function(e,t,i){e.splice(i,0,e.splice(t,1)[0])},t.isFalsyOrEmpty=function(e){return!Array.isArray(e)||0===e.length},t.isNonEmptyArray=function(e){return Array.isArray(e)&&e.length>0},t.distinct=function(e,t=e=>e){const i=new Set;return e.filter((e=>{const s=t(e);return!i.has(s)&&(i.add(s),!0)}))},t.uniqueFilter=function(e){const t=new Set;return i=>{const s=e(i);return!t.has(s)&&(t.add(s),!0)}},t.firstOrDefault=function(e,t){return e.length>0?e[0]:t},t.lastOrDefault=function(e,t){return e.length>0?e[e.length-1]:t},t.commonPrefixLength=function(e,t,i=(e,t)=>e===t){let s=0;for(let r=0,n=Math.min(e.length,t.length);r<n&&i(e[r],t[r]);r++)s++;return s},t.range=function(e,t){let i=\"number\"==typeof t?e:0;\"number\"==typeof t?i=e:(i=0,t=e);const s=[];if(i<=t)for(let e=i;e<t;e++)s.push(e);else for(let e=i;e>t;e--)s.push(e);return s},t.index=function(e,t,i){return e.reduce(((e,s)=>(e[t(s)]=i?i(s):s,e)),Object.create(null))},t.insert=function(e,t){return e.push(t),()=>l(e,t)},t.remove=l,t.arrayInsert=function(e,t,i){const s=e.slice(0,t),r=e.slice(t);return s.concat(i,r)},t.shuffle=function(e,t){let i;if(\"number\"==typeof t){let e=t;i=()=>{const t=179426549*Math.sin(e++);return t-Math.floor(t)}}else i=Math.random;for(let t=e.length-1;t>0;t-=1){const s=Math.floor(i()*(t+1)),r=e[t];e[t]=e[s],e[s]=r}},t.pushToStart=function(e,t){const i=e.indexOf(t);i>-1&&(e.splice(i,1),e.unshift(t))},t.pushToEnd=function(e,t){const i=e.indexOf(t);i>-1&&(e.splice(i,1),e.push(t))},t.pushMany=function(e,t){for(const i of t)e.push(i)},t.mapArrayOrNot=function(e,t){return Array.isArray(e)?e.map(t):t(e)},t.asArray=function(e){return Array.isArray(e)?e:[e]},t.getRandomElement=function(e){return e[Math.floor(Math.random()*e.length)]},t.insertInto=h,t.splice=function(e,t,i,s){const r=c(e,t);let n=e.splice(r,i);return void 0===n&&(n=[]),h(e,r,s),n},t.compareBy=function(e,t){return(i,s)=>t(e(i),e(s))},t.tieBreakComparators=function(...e){return(t,i)=>{for(const s of e){const e=s(t,i);if(!d.isNeitherLessOrGreaterThan(e))return e}return d.neitherLessOrGreaterThan}},t.reverseOrder=function(e){return(t,i)=>-e(t,i)};const s=i(9807),r=i(8297);function n(e,t){let i=0,s=e-1;for(;i<=s;){const e=(i+s)/2|0,r=t(e);if(r<0)i=e+1;else{if(!(r>0))return e;s=e-1}}return-(i+1)}function o(e,t,i){const s=[];function r(e,t,i){if(0===t&&0===i.length)return;const r=s[s.length-1];r&&r.start+r.deleteCount===e?(r.deleteCount+=t,r.toInsert.push(...i)):s.push({start:e,deleteCount:t,toInsert:i})}let n=0,o=0;for(;;){if(n===e.length){r(n,0,t.slice(o));break}if(o===t.length){r(n,e.length-n,[]);break}const s=e[n],a=t[o],l=i(s,a);0===l?(n+=1,o+=1):l<0?(r(n,1,[]),n+=1):l>0&&(r(n,0,[a]),o+=1)}return s}function a(e,t,i,s,n){for(const o=i.length;s<n;s++){const n=e[s];if(t(n,i[o-1])<0){i.pop();const e=(0,r.findFirstIdxMonotonousOrArrLen)(i,(e=>t(n,e)<0));i.splice(e,0,n)}}}function l(e,t){const i=e.indexOf(t);if(i>-1)return e.splice(i,1),t}function h(e,t,i){const s=c(e,t),r=e.length,n=i.length;e.length=r+n;for(let t=r-1;t>=s;t--)e[t+n]=e[t];for(let t=0;t<n;t++)e[t+s]=i[t]}function c(e,t){return t<0?Math.max(t+e.length,0):Math.min(t,e.length)}var d;!function(e){e.isLessThan=function(e){return e<0},e.isLessThanOrEqual=function(e){return e<=0},e.isGreaterThan=function(e){return e>0},e.isNeitherLessOrGreaterThan=function(e){return 0===e},e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0}(d||(t.CompareResult=d={})),t.numberComparator=(e,t)=>e-t,t.booleanComparator=(e,i)=>(0,t.numberComparator)(e?1:0,i?1:0),t.ArrayQueue=class{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t<this.items.length&&e(this.items[t]);)t++;const i=t===this.firstIdx?null:this.items.slice(this.firstIdx,t);return this.firstIdx=t,i}takeFromEndWhile(e){let t=this.lastIdx;for(;t>=0&&e(this.items[t]);)t--;const i=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,i}peek(){if(0!==this.length)return this.items[this.firstIdx]}peekLast(){if(0!==this.length)return this.items[this.lastIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}removeLast(){const e=this.items[this.lastIdx];return this.lastIdx--,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}};class u{static{this.empty=new u((e=>{}))}constructor(e){this.iterate=e}forEach(e){this.iterate((t=>(e(t),!0)))}toArray(){const e=[];return this.iterate((t=>(e.push(t),!0))),e}filter(e){return new u((t=>this.iterate((i=>!e(i)||t(i)))))}map(e){return new u((t=>this.iterate((i=>t(e(i))))))}some(e){let t=!1;return this.iterate((i=>(t=e(i),!t))),t}findFirst(e){let t;return this.iterate((i=>!e(i)||(t=i,!1))),t}findLast(e){let t;return this.iterate((i=>(e(i)&&(t=i),!0))),t}findLastMaxBy(e){let t,i=!0;return this.iterate((s=>((i||d.isGreaterThan(e(s,t)))&&(i=!1,t=s),!0))),t}}t.CallbackIterable=u;class _{constructor(e){this._indexMap=e}static createSortPermutation(e,t){const i=Array.from(e.keys()).sort(((i,s)=>t(e[i],e[s])));return new _(i)}apply(e){return e.map(((t,i)=>e[this._indexMap[i]]))}inverse(){const e=this._indexMap.slice();for(let t=0;t<this._indexMap.length;t++)e[this._indexMap[t]]=t;return new _(e)}}t.Permutation=_},8297:(e,t)=>{function i(e,t,i=e.length-1){for(let s=i;s>=0;s--)if(t(e[s]))return s;return-1}function s(e,t,i=0,s=e.length){let r=i,n=s;for(;r<n;){const i=Math.floor((r+n)/2);t(e[i])?r=i+1:n=i}return r-1}function r(e,t,i=0,s=e.length){let r=i,n=s;for(;r<n;){const i=Math.floor((r+n)/2);t(e[i])?n=i:r=i+1}return r}Object.defineProperty(t,\"__esModule\",{value:!0}),t.MonotonousArray=void 0,t.findLast=function(e,t){const s=i(e,t);if(-1!==s)return e[s]},t.findLastIdx=i,t.findLastMonotonous=function(e,t){const i=s(e,t);return-1===i?void 0:e[i]},t.findLastIdxMonotonous=s,t.findFirstMonotonous=function(e,t){const i=r(e,t);return i===e.length?void 0:e[i]},t.findFirstIdxMonotonousOrArrLen=r,t.findFirstIdxMonotonous=function(e,t,i=0,s=e.length){const n=r(e,t,i,s);return n===e.length?-1:n},t.findFirstMax=o,t.findLastMax=function(e,t){if(0===e.length)return;let i=e[0];for(let s=1;s<e.length;s++){const r=e[s];t(r,i)>=0&&(i=r)}return i},t.findFirstMin=function(e,t){return o(e,((e,i)=>-t(e,i)))},t.findMaxIdx=function(e,t){if(0===e.length)return-1;let i=0;for(let s=1;s<e.length;s++)t(e[s],e[i])>0&&(i=s);return i},t.mapFindFirst=function(e,t){for(const i of e){const e=t(i);if(void 0!==e)return e}};class n{static{this.assertInvariants=!1}constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(e){if(n.assertInvariants){if(this._prevFindLastPredicate)for(const t of this._array)if(this._prevFindLastPredicate(t)&&!e(t))throw new Error(\"MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.\");this._prevFindLastPredicate=e}const t=s(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=t+1,-1===t?void 0:this._array[t]}}function o(e,t){if(0===e.length)return;let i=e[0];for(let s=1;s<e.length;s++){const r=e[s];t(r,i)>0&&(i=r)}return i}t.MonotonousArray=n},1758:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.AsyncIterableSource=t.CancelableAsyncIterableObject=t.AsyncIterableObject=t.LazyStatefulPromise=t.StatefulPromise=t.Promises=t.DeferredPromise=t.IntervalCounter=t.TaskSequentializer=t.GlobalIdleValue=t.AbstractIdleValue=t._runWhenIdle=t.runWhenGlobalIdle=t.ThrottledWorker=t.RunOnceWorker=t.ProcessTimeRunOnceScheduler=t.RunOnceScheduler=t.IntervalTimer=t.TimeoutTimer=t.LimitedQueue=t.Queue=t.Limiter=t.AutoOpenBarrier=t.Barrier=t.ThrottledDelayer=t.Delayer=t.SequencerByKey=t.Sequencer=t.Throttler=void 0,t.isThenable=c,t.createCancelablePromise=d,t.raceCancellation=function(e,t,i){return new Promise(((s,r)=>{const n=t.onCancellationRequested((()=>{n.dispose(),s(i)}));e.then(s,r).finally((()=>n.dispose()))}))},t.raceCancellationError=function(e,t){return new Promise(((i,s)=>{const n=t.onCancellationRequested((()=>{n.dispose(),s(new r.CancellationError)}));e.then(i,s).finally((()=>n.dispose()))}))},t.raceCancellablePromises=async function(e){let t=-1;const i=e.map(((e,i)=>e.then((e=>(t=i,e)))));try{return await Promise.race(i)}finally{e.forEach(((e,i)=>{i!==t&&e.cancel()}))}},t.raceTimeout=function(e,t,i){let s;const r=setTimeout((()=>{s?.(void 0),i?.()}),t);return Promise.race([e.finally((()=>clearTimeout(r))),new Promise((e=>s=e))])},t.asPromise=function(e){return new Promise(((t,i)=>{const s=e();c(s)?s.then(t,i):t(s)}))},t.promiseWithResolvers=u,t.timeout=g,t.disposableTimeout=function(e,t=0,i){const s=setTimeout((()=>{e(),i&&r.dispose()}),t),r=(0,o.toDisposable)((()=>{clearTimeout(s),i?.deleteAndLeak(r)}));return i?.add(r),r},t.sequence=function(e){const t=[];let i=0;const s=e.length;return Promise.resolve(null).then((function r(n){null!=n&&t.push(n);const o=i<s?e[i++]():null;return o?o.then(r):Promise.resolve(t)}))},t.first=function(e,t=e=>!!e,i=null){let s=0;const r=e.length,n=()=>{if(s>=r)return Promise.resolve(i);const o=e[s++];return Promise.resolve(o()).then((e=>t(e)?Promise.resolve(e):n()))};return n()},t.firstParallel=function(e,t=e=>!!e,i=null){if(0===e.length)return Promise.resolve(i);let s=e.length;const r=()=>{s=-1;for(const t of e)t.cancel?.()};return new Promise(((n,o)=>{for(const a of e)a.then((e=>{--s>=0&&t(e)?(r(),n(e)):0===s&&n(i)})).catch((e=>{--s>=0&&(r(),o(e))}))}))},t.retry=async function(e,t,i){let s;for(let r=0;r<i;r++)try{return await e()}catch(e){s=e,await g(t)}throw s},t.createCancelableAsyncIterable=function(e){const t=new s.CancellationTokenSource,i=e(t.token);return new A(t,(async e=>{const s=t.token.onCancellationRequested((()=>{s.dispose(),t.dispose(),e.reject(new r.CancellationError)}));try{for await(const s of i){if(t.token.isCancellationRequested)return;e.emitOne(s)}s.dispose(),t.dispose()}catch(i){s.dispose(),t.dispose(),e.reject(i)}}))};const s=i(8447),r=i(9807),n=i(802),o=i(7150),a=i(8163),l=i(5015),h=i(626);function c(e){return!!e&&\"function\"==typeof e.then}function d(e){const t=new s.CancellationTokenSource,i=e(t.token),n=new Promise(((e,s)=>{const n=t.token.onCancellationRequested((()=>{n.dispose(),s(new r.CancellationError)}));Promise.resolve(i).then((i=>{n.dispose(),t.dispose(),e(i)}),(e=>{n.dispose(),t.dispose(),s(e)}))}));return new class{cancel(){t.cancel(),t.dispose()}then(e,t){return n.then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return n.finally(e)}}}function u(){let e,t;return{promise:new Promise(((i,s)=>{e=i,t=s})),resolve:e,reject:t}}class _{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(e){if(this.isDisposed)return Promise.reject(new Error(\"Throttler is disposed\"));if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){const e=()=>{if(this.queuedPromise=null,this.isDisposed)return;const e=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,e};this.queuedPromise=new Promise((t=>{this.activePromise.then(e,e).then(t)}))}return new Promise(((e,t)=>{this.queuedPromise.then(e,t)}))}return this.activePromise=e(),new Promise(((e,t)=>{this.activePromise.then((t=>{this.activePromise=null,e(t)}),(e=>{this.activePromise=null,t(e)}))}))}dispose(){this.isDisposed=!0}}t.Throttler=_,t.Sequencer=class{constructor(){this.current=Promise.resolve(null)}queue(e){return this.current=this.current.then((()=>e()),(()=>e()))}},t.SequencerByKey=class{constructor(){this.promiseMap=new Map}queue(e,t){const i=(this.promiseMap.get(e)??Promise.resolve()).catch((()=>{})).then(t).finally((()=>{this.promiseMap.get(e)===i&&this.promiseMap.delete(e)}));return this.promiseMap.set(e,i),i}};class f{constructor(e){this.defaultDelay=e,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise(((e,t)=>{this.doResolve=e,this.doReject=t})).then((()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const e=this.task;return this.task=null,e()}})));const i=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=t===l.MicrotaskDelay?(e=>{let t=!0;return queueMicrotask((()=>{t&&(t=!1,e())})),{isTriggered:()=>t,dispose:()=>{t=!1}}})(i):((e,t)=>{let i=!0;const s=setTimeout((()=>{i=!1,t()}),e);return{isTriggered:()=>i,dispose:()=>{clearTimeout(s),i=!1}}})(t,i),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new r.CancellationError),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}}t.Delayer=f,t.ThrottledDelayer=class{constructor(e){this.delayer=new f(e),this.throttler=new _}trigger(e,t){return this.delayer.trigger((()=>this.throttler.queue(e)),t)}isTriggered(){return this.delayer.isTriggered()}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}};class p{constructor(){this._isOpen=!1,this._promise=new Promise(((e,t)=>{this._completePromise=e}))}isOpen(){return this._isOpen}open(){this._isOpen=!0,this._completePromise(!0)}wait(){return this._promise}}function g(e,t){return t?new Promise(((i,s)=>{const n=setTimeout((()=>{o.dispose(),i()}),e),o=t.onCancellationRequested((()=>{clearTimeout(n),o.dispose(),s(new r.CancellationError)}))})):d((t=>g(e,t)))}t.Barrier=p,t.AutoOpenBarrier=class extends p{constructor(e){super(),this._timeout=setTimeout((()=>this.open()),e)}open(){clearTimeout(this._timeout),super.open()}};class m{constructor(e){this._size=0,this._isDisposed=!1,this.maxDegreeOfParalellism=e,this.outstandingPromises=[],this.runningPromises=0,this._onDrained=new n.Emitter}whenIdle(){return this.size>0?n.Event.toPromise(this.onDrained):Promise.resolve()}get onDrained(){return this._onDrained.event}get size(){return this._size}queue(e){if(this._isDisposed)throw new Error(\"Object has been disposed\");return this._size++,new Promise(((t,i)=>{this.outstandingPromises.push({factory:e,c:t,e:i}),this.consume()}))}consume(){for(;this.outstandingPromises.length&&this.runningPromises<this.maxDegreeOfParalellism;){const e=this.outstandingPromises.shift();this.runningPromises++;const t=e.factory();t.then(e.c,e.e),t.then((()=>this.consumed()),(()=>this.consumed()))}}consumed(){this._isDisposed||(this.runningPromises--,0==--this._size&&this._onDrained.fire(),this.outstandingPromises.length>0&&this.consume())}clear(){if(this._isDisposed)throw new Error(\"Object has been disposed\");this.outstandingPromises.length=0,this._size=this.runningPromises}dispose(){this._isDisposed=!0,this.outstandingPromises.length=0,this._size=0,this._onDrained.dispose()}}t.Limiter=m,t.Queue=class extends m{constructor(){super(1)}},t.LimitedQueue=class{constructor(){this.sequentializer=new C,this.tasks=0}queue(e){return this.sequentializer.isRunning()?this.sequentializer.queue((()=>this.sequentializer.run(this.tasks++,e()))):this.sequentializer.run(this.tasks++,e())}},t.TimeoutTimer=class{constructor(e,t){this._isDisposed=!1,this._token=-1,\"function\"==typeof e&&\"number\"==typeof t&&this.setIfNotSet(e,t)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){if(this._isDisposed)throw new r.BugIndicatingError(\"Calling 'cancelAndSet' on a disposed TimeoutTimer\");this.cancel(),this._token=setTimeout((()=>{this._token=-1,e()}),t)}setIfNotSet(e,t){if(this._isDisposed)throw new r.BugIndicatingError(\"Calling 'setIfNotSet' on a disposed TimeoutTimer\");-1===this._token&&(this._token=setTimeout((()=>{this._token=-1,e()}),t))}},t.IntervalTimer=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,i=globalThis){if(this.isDisposed)throw new r.BugIndicatingError(\"Calling 'cancelAndSet' on a disposed IntervalTimer\");this.cancel();const s=i.setInterval((()=>{e()}),t);this.disposable=(0,o.toDisposable)((()=>{i.clearInterval(s),this.disposable=void 0}))}dispose(){this.cancel(),this.isDisposed=!0}};class v{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return-1!==this.timeoutToken}flush(){this.isScheduled()&&(this.cancel(),this.doRun())}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner?.()}}t.RunOnceScheduler=v,t.ProcessTimeRunOnceScheduler=class{constructor(e,t){t%1e3!=0&&console.warn(`ProcessTimeRunOnceScheduler resolution is 1s, ${t}ms is not a multiple of 1000ms.`),this.runner=e,this.timeout=t,this.counter=0,this.intervalToken=-1,this.intervalHandler=this.onInterval.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearInterval(this.intervalToken),this.intervalToken=-1)}schedule(e=this.timeout){e%1e3!=0&&console.warn(`ProcessTimeRunOnceScheduler resolution is 1s, ${e}ms is not a multiple of 1000ms.`),this.cancel(),this.counter=Math.ceil(e/1e3),this.intervalToken=setInterval(this.intervalHandler,1e3)}isScheduled(){return-1!==this.intervalToken}onInterval(){this.counter--,this.counter>0||(clearInterval(this.intervalToken),this.intervalToken=-1,this.runner?.())}},t.RunOnceWorker=class extends v{constructor(e,t){super(e,t),this.units=[]}work(e){this.units.push(e),this.isScheduled()||this.schedule()}doRun(){const e=this.units;this.units=[],this.runner?.(e)}dispose(){this.units=[],super.dispose()}};class S extends o.Disposable{constructor(e,t){super(),this.options=e,this.handler=t,this.pendingWork=[],this.throttler=this._register(new o.MutableDisposable),this.disposed=!1}get pending(){return this.pendingWork.length}work(e){if(this.disposed)return!1;if(\"number\"==typeof this.options.maxBufferedWork)if(this.throttler.value){if(this.pending+e.length>this.options.maxBufferedWork)return!1}else if(this.pending+e.length-this.options.maxWorkChunkSize>this.options.maxBufferedWork)return!1;for(const t of e)this.pendingWork.push(t);return this.throttler.value||this.doWork(),!0}doWork(){this.handler(this.pendingWork.splice(0,this.options.maxWorkChunkSize)),this.pendingWork.length>0&&(this.throttler.value=new v((()=>{this.throttler.clear(),this.doWork()}),this.options.throttleDelay),this.throttler.value.schedule())}dispose(){super.dispose(),this.disposed=!0}}t.ThrottledWorker=S,\"function\"!=typeof globalThis.requestIdleCallback||\"function\"!=typeof globalThis.cancelIdleCallback?t._runWhenIdle=(e,t)=>{(0,a.setTimeout0)((()=>{if(i)return;const e=Date.now()+15,s={didTimeout:!0,timeRemaining:()=>Math.max(0,e-Date.now())};t(Object.freeze(s))}));let i=!1;return{dispose(){i||(i=!0)}}}:t._runWhenIdle=(e,t,i)=>{const s=e.requestIdleCallback(t,\"number\"==typeof i?{timeout:i}:void 0);let r=!1;return{dispose(){r||(r=!0,e.cancelIdleCallback(s))}}},t.runWhenGlobalIdle=e=>(0,t._runWhenIdle)(globalThis,e);class b{constructor(e,i){this._didRun=!1,this._executor=()=>{try{this._value=i()}catch(e){this._error=e}finally{this._didRun=!0}},this._handle=(0,t._runWhenIdle)(e,(()=>this._executor()))}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}t.AbstractIdleValue=b,t.GlobalIdleValue=class extends b{constructor(e){super(globalThis,e)}};class C{isRunning(e){return\"number\"==typeof e?this._running?.taskId===e:!!this._running}get running(){return this._running?.promise}cancelRunning(){this._running?.cancel()}run(e,t,i){return this._running={taskId:e,cancel:()=>i?.(),promise:t},t.then((()=>this.doneRunning(e)),(()=>this.doneRunning(e))),t}doneRunning(e){this._running&&e===this._running.taskId&&(this._running=void 0,this.runQueued())}runQueued(){if(this._queued){const e=this._queued;this._queued=void 0,e.run().then(e.promiseResolve,e.promiseReject)}}queue(e){if(this._queued)this._queued.run=e;else{const{promise:t,resolve:i,reject:s}=u();this._queued={run:e,promise:t,promiseResolve:i,promiseReject:s}}return this._queued.promise}hasQueued(){return!!this._queued}async join(){return this._queued?.promise??this._running?.promise}}var y,w,E;t.TaskSequentializer=C,t.IntervalCounter=class{constructor(e,t=()=>Date.now()){this.interval=e,this.nowFn=t,this.lastIncrementTime=0,this.value=0}increment(){const e=this.nowFn();return e-this.lastIncrementTime>this.interval&&(this.lastIncrementTime=e,this.value=0),this.value++,this.value}},function(e){e[e.Resolved=0]=\"Resolved\",e[e.Rejected=1]=\"Rejected\"}(y||(y={}));class D{get isRejected(){return this.outcome?.outcome===y.Rejected}get isResolved(){return this.outcome?.outcome===y.Resolved}get isSettled(){return!!this.outcome}get value(){return this.outcome?.outcome===y.Resolved?this.outcome?.value:void 0}constructor(){this.p=new Promise(((e,t)=>{this.completeCallback=e,this.errorCallback=t}))}complete(e){return new Promise((t=>{this.completeCallback(e),this.outcome={outcome:y.Resolved,value:e},t()}))}error(e){return new Promise((t=>{this.errorCallback(e),this.outcome={outcome:y.Rejected,value:e},t()}))}cancel(){return this.error(new r.CancellationError)}}t.DeferredPromise=D,function(e){e.settled=async function(e){let t;const i=await Promise.all(e.map((e=>e.then((e=>e),(e=>{t||(t=e)})))));if(void 0!==t)throw t;return i},e.withAsyncBody=function(e){return new Promise((async(t,i)=>{try{await e(t,i)}catch(e){i(e)}}))}}(w||(t.Promises=w={}));class L{get value(){return this._value}get error(){return this._error}get isResolved(){return this._isResolved}constructor(e){this._value=void 0,this._error=void 0,this._isResolved=!1,this.promise=e.then((e=>(this._value=e,this._isResolved=!0,e)),(e=>{throw this._error=e,this._isResolved=!0,e}))}requireValue(){if(!this._isResolved)throw new r.BugIndicatingError(\"Promise is not resolved yet\");if(this._error)throw this._error;return this._value}}t.StatefulPromise=L,t.LazyStatefulPromise=class{constructor(e){this._compute=e,this._promise=new h.Lazy((()=>new L(this._compute())))}requireValue(){return this._promise.value.requireValue()}getPromise(){return this._promise.value.promise}get currentValue(){return this._promise.rawValue?.value}},function(e){e[e.Initial=0]=\"Initial\",e[e.DoneOK=1]=\"DoneOK\",e[e.DoneError=2]=\"DoneError\"}(E||(E={}));class R{static fromArray(e){return new R((t=>{t.emitMany(e)}))}static fromPromise(e){return new R((async t=>{t.emitMany(await e)}))}static fromPromises(e){return new R((async t=>{await Promise.all(e.map((async e=>t.emitOne(await e))))}))}static merge(e){return new R((async t=>{await Promise.all(e.map((async e=>{for await(const i of e)t.emitOne(i)})))}))}static{this.EMPTY=R.fromArray([])}constructor(e,t){this._state=E.Initial,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new n.Emitter,queueMicrotask((async()=>{const t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(e){this.reject(e)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}}))}[Symbol.asyncIterator](){let e=0;return{next:async()=>{for(;;){if(this._state===E.DoneError)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(this._state===E.DoneOK)return{done:!0,value:void 0};await n.Event.toPromise(this._onStateChanged.event)}},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(e,t){return new R((async i=>{for await(const s of e)i.emitOne(t(s))}))}map(e){return R.map(this,e)}static filter(e,t){return new R((async i=>{for await(const s of e)t(s)&&i.emitOne(s)}))}filter(e){return R.filter(this,e)}static coalesce(e){return R.filter(e,(e=>!!e))}coalesce(){return R.coalesce(this)}static async toPromise(e){const t=[];for await(const i of e)t.push(i);return t}toPromise(){return R.toPromise(this)}emitOne(e){this._state===E.Initial&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===E.Initial&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===E.Initial&&(this._state=E.DoneOK,this._onStateChanged.fire())}reject(e){this._state===E.Initial&&(this._state=E.DoneError,this._error=e,this._onStateChanged.fire())}}t.AsyncIterableObject=R;class A extends R{constructor(e,t){super(t),this._source=e}cancel(){this._source.cancel()}}t.CancelableAsyncIterableObject=A,t.AsyncIterableSource=class{constructor(e){let t,i;this._deferred=new D,this._asyncIterable=new R((e=>{if(!t)return i&&e.emitMany(i),this._errorFn=t=>e.reject(t),this._emitFn=t=>e.emitOne(t),this._deferred.p;e.reject(t)}),e),this._emitFn=e=>{i||(i=[]),i.push(e)},this._errorFn=e=>{t||(t=e)}}get asyncIterable(){return this._asyncIterable}resolve(){this._deferred.complete()}reject(e){this._errorFn(e),this._deferred.complete()}emitOne(e){this._emitFn(e)}}},8447:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0,t.cancelOnDispose=function(e){const t=new a;return e.add({dispose(){t.cancel()}}),t.token};const s=i(802),r=Object.freeze((function(e,t){const i=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(i)}}}));var n;!function(e){e.isCancellationToken=function(t){return t===e.None||t===e.Cancelled||t instanceof o||!(!t||\"object\"!=typeof t)&&\"boolean\"==typeof t.isCancellationRequested&&\"function\"==typeof t.onCancellationRequested},e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r})}(n||(t.CancellationToken=n={}));class o{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?r:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class a{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new o),this._token}cancel(){this._token?this._token instanceof o&&this._token.cancel():this._token=n.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof o&&this._token.dispose():this._token=n.None}}t.CancellationTokenSource=a},4869:(e,t)=>{var i;Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharCode=void 0,function(e){e[e.Null=0]=\"Null\",e[e.Backspace=8]=\"Backspace\",e[e.Tab=9]=\"Tab\",e[e.LineFeed=10]=\"LineFeed\",e[e.CarriageReturn=13]=\"CarriageReturn\",e[e.Space=32]=\"Space\",e[e.ExclamationMark=33]=\"ExclamationMark\",e[e.DoubleQuote=34]=\"DoubleQuote\",e[e.Hash=35]=\"Hash\",e[e.DollarSign=36]=\"DollarSign\",e[e.PercentSign=37]=\"PercentSign\",e[e.Ampersand=38]=\"Ampersand\",e[e.SingleQuote=39]=\"SingleQuote\",e[e.OpenParen=40]=\"OpenParen\",e[e.CloseParen=41]=\"CloseParen\",e[e.Asterisk=42]=\"Asterisk\",e[e.Plus=43]=\"Plus\",e[e.Comma=44]=\"Comma\",e[e.Dash=45]=\"Dash\",e[e.Period=46]=\"Period\",e[e.Slash=47]=\"Slash\",e[e.Digit0=48]=\"Digit0\",e[e.Digit1=49]=\"Digit1\",e[e.Digit2=50]=\"Digit2\",e[e.Digit3=51]=\"Digit3\",e[e.Digit4=52]=\"Digit4\",e[e.Digit5=53]=\"Digit5\",e[e.Digit6=54]=\"Digit6\",e[e.Digit7=55]=\"Digit7\",e[e.Digit8=56]=\"Digit8\",e[e.Digit9=57]=\"Digit9\",e[e.Colon=58]=\"Colon\",e[e.Semicolon=59]=\"Semicolon\",e[e.LessThan=60]=\"LessThan\",e[e.Equals=61]=\"Equals\",e[e.GreaterThan=62]=\"GreaterThan\",e[e.QuestionMark=63]=\"QuestionMark\",e[e.AtSign=64]=\"AtSign\",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.OpenSquareBracket=91]=\"OpenSquareBracket\",e[e.Backslash=92]=\"Backslash\",e[e.CloseSquareBracket=93]=\"CloseSquareBracket\",e[e.Caret=94]=\"Caret\",e[e.Underline=95]=\"Underline\",e[e.BackTick=96]=\"BackTick\",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.OpenCurlyBrace=123]=\"OpenCurlyBrace\",e[e.Pipe=124]=\"Pipe\",e[e.CloseCurlyBrace=125]=\"CloseCurlyBrace\",e[e.Tilde=126]=\"Tilde\",e[e.NoBreakSpace=160]=\"NoBreakSpace\",e[e.U_Combining_Grave_Accent=768]=\"U_Combining_Grave_Accent\",e[e.U_Combining_Acute_Accent=769]=\"U_Combining_Acute_Accent\",e[e.U_Combining_Circumflex_Accent=770]=\"U_Combining_Circumflex_Accent\",e[e.U_Combining_Tilde=771]=\"U_Combining_Tilde\",e[e.U_Combining_Macron=772]=\"U_Combining_Macron\",e[e.U_Combining_Overline=773]=\"U_Combining_Overline\",e[e.U_Combining_Breve=774]=\"U_Combining_Breve\",e[e.U_Combining_Dot_Above=775]=\"U_Combining_Dot_Above\",e[e.U_Combining_Diaeresis=776]=\"U_Combining_Diaeresis\",e[e.U_Combining_Hook_Above=777]=\"U_Combining_Hook_Above\",e[e.U_Combining_Ring_Above=778]=\"U_Combining_Ring_Above\",e[e.U_Combining_Double_Acute_Accent=779]=\"U_Combining_Double_Acute_Accent\",e[e.U_Combining_Caron=780]=\"U_Combining_Caron\",e[e.U_Combining_Vertical_Line_Above=781]=\"U_Combining_Vertical_Line_Above\",e[e.U_Combining_Double_Vertical_Line_Above=782]=\"U_Combining_Double_Vertical_Line_Above\",e[e.U_Combining_Double_Grave_Accent=783]=\"U_Combining_Double_Grave_Accent\",e[e.U_Combining_Candrabindu=784]=\"U_Combining_Candrabindu\",e[e.U_Combining_Inverted_Breve=785]=\"U_Combining_Inverted_Breve\",e[e.U_Combining_Turned_Comma_Above=786]=\"U_Combining_Turned_Comma_Above\",e[e.U_Combining_Comma_Above=787]=\"U_Combining_Comma_Above\",e[e.U_Combining_Reversed_Comma_Above=788]=\"U_Combining_Reversed_Comma_Above\",e[e.U_Combining_Comma_Above_Right=789]=\"U_Combining_Comma_Above_Right\",e[e.U_Combining_Grave_Accent_Below=790]=\"U_Combining_Grave_Accent_Below\",e[e.U_Combining_Acute_Accent_Below=791]=\"U_Combining_Acute_Accent_Below\",e[e.U_Combining_Left_Tack_Below=792]=\"U_Combining_Left_Tack_Below\",e[e.U_Combining_Right_Tack_Below=793]=\"U_Combining_Right_Tack_Below\",e[e.U_Combining_Left_Angle_Above=794]=\"U_Combining_Left_Angle_Above\",e[e.U_Combining_Horn=795]=\"U_Combining_Horn\",e[e.U_Combining_Left_Half_Ring_Below=796]=\"U_Combining_Left_Half_Ring_Below\",e[e.U_Combining_Up_Tack_Below=797]=\"U_Combining_Up_Tack_Below\",e[e.U_Combining_Down_Tack_Below=798]=\"U_Combining_Down_Tack_Below\",e[e.U_Combining_Plus_Sign_Below=799]=\"U_Combining_Plus_Sign_Below\",e[e.U_Combining_Minus_Sign_Below=800]=\"U_Combining_Minus_Sign_Below\",e[e.U_Combining_Palatalized_Hook_Below=801]=\"U_Combining_Palatalized_Hook_Below\",e[e.U_Combining_Retroflex_Hook_Below=802]=\"U_Combining_Retroflex_Hook_Below\",e[e.U_Combining_Dot_Below=803]=\"U_Combining_Dot_Below\",e[e.U_Combining_Diaeresis_Below=804]=\"U_Combining_Diaeresis_Below\",e[e.U_Combining_Ring_Below=805]=\"U_Combining_Ring_Below\",e[e.U_Combining_Comma_Below=806]=\"U_Combining_Comma_Below\",e[e.U_Combining_Cedilla=807]=\"U_Combining_Cedilla\",e[e.U_Combining_Ogonek=808]=\"U_Combining_Ogonek\",e[e.U_Combining_Vertical_Line_Below=809]=\"U_Combining_Vertical_Line_Below\",e[e.U_Combining_Bridge_Below=810]=\"U_Combining_Bridge_Below\",e[e.U_Combining_Inverted_Double_Arch_Below=811]=\"U_Combining_Inverted_Double_Arch_Below\",e[e.U_Combining_Caron_Below=812]=\"U_Combining_Caron_Below\",e[e.U_Combining_Circumflex_Accent_Below=813]=\"U_Combining_Circumflex_Accent_Below\",e[e.U_Combining_Breve_Below=814]=\"U_Combining_Breve_Below\",e[e.U_Combining_Inverted_Breve_Below=815]=\"U_Combining_Inverted_Breve_Below\",e[e.U_Combining_Tilde_Below=816]=\"U_Combining_Tilde_Below\",e[e.U_Combining_Macron_Below=817]=\"U_Combining_Macron_Below\",e[e.U_Combining_Low_Line=818]=\"U_Combining_Low_Line\",e[e.U_Combining_Double_Low_Line=819]=\"U_Combining_Double_Low_Line\",e[e.U_Combining_Tilde_Overlay=820]=\"U_Combining_Tilde_Overlay\",e[e.U_Combining_Short_Stroke_Overlay=821]=\"U_Combining_Short_Stroke_Overlay\",e[e.U_Combining_Long_Stroke_Overlay=822]=\"U_Combining_Long_Stroke_Overlay\",e[e.U_Combining_Short_Solidus_Overlay=823]=\"U_Combining_Short_Solidus_Overlay\",e[e.U_Combining_Long_Solidus_Overlay=824]=\"U_Combining_Long_Solidus_Overlay\",e[e.U_Combining_Right_Half_Ring_Below=825]=\"U_Combining_Right_Half_Ring_Below\",e[e.U_Combining_Inverted_Bridge_Below=826]=\"U_Combining_Inverted_Bridge_Below\",e[e.U_Combining_Square_Below=827]=\"U_Combining_Square_Below\",e[e.U_Combining_Seagull_Below=828]=\"U_Combining_Seagull_Below\",e[e.U_Combining_X_Above=829]=\"U_Combining_X_Above\",e[e.U_Combining_Vertical_Tilde=830]=\"U_Combining_Vertical_Tilde\",e[e.U_Combining_Double_Overline=831]=\"U_Combining_Double_Overline\",e[e.U_Combining_Grave_Tone_Mark=832]=\"U_Combining_Grave_Tone_Mark\",e[e.U_Combining_Acute_Tone_Mark=833]=\"U_Combining_Acute_Tone_Mark\",e[e.U_Combining_Greek_Perispomeni=834]=\"U_Combining_Greek_Perispomeni\",e[e.U_Combining_Greek_Koronis=835]=\"U_Combining_Greek_Koronis\",e[e.U_Combining_Greek_Dialytika_Tonos=836]=\"U_Combining_Greek_Dialytika_Tonos\",e[e.U_Combining_Greek_Ypogegrammeni=837]=\"U_Combining_Greek_Ypogegrammeni\",e[e.U_Combining_Bridge_Above=838]=\"U_Combining_Bridge_Above\",e[e.U_Combining_Equals_Sign_Below=839]=\"U_Combining_Equals_Sign_Below\",e[e.U_Combining_Double_Vertical_Line_Below=840]=\"U_Combining_Double_Vertical_Line_Below\",e[e.U_Combining_Left_Angle_Below=841]=\"U_Combining_Left_Angle_Below\",e[e.U_Combining_Not_Tilde_Above=842]=\"U_Combining_Not_Tilde_Above\",e[e.U_Combining_Homothetic_Above=843]=\"U_Combining_Homothetic_Above\",e[e.U_Combining_Almost_Equal_To_Above=844]=\"U_Combining_Almost_Equal_To_Above\",e[e.U_Combining_Left_Right_Arrow_Below=845]=\"U_Combining_Left_Right_Arrow_Below\",e[e.U_Combining_Upwards_Arrow_Below=846]=\"U_Combining_Upwards_Arrow_Below\",e[e.U_Combining_Grapheme_Joiner=847]=\"U_Combining_Grapheme_Joiner\",e[e.U_Combining_Right_Arrowhead_Above=848]=\"U_Combining_Right_Arrowhead_Above\",e[e.U_Combining_Left_Half_Ring_Above=849]=\"U_Combining_Left_Half_Ring_Above\",e[e.U_Combining_Fermata=850]=\"U_Combining_Fermata\",e[e.U_Combining_X_Below=851]=\"U_Combining_X_Below\",e[e.U_Combining_Left_Arrowhead_Below=852]=\"U_Combining_Left_Arrowhead_Below\",e[e.U_Combining_Right_Arrowhead_Below=853]=\"U_Combining_Right_Arrowhead_Below\",e[e.U_Combining_Right_Arrowhead_And_Up_Arrowhead_Below=854]=\"U_Combining_Right_Arrowhead_And_Up_Arrowhead_Below\",e[e.U_Combining_Right_Half_Ring_Above=855]=\"U_Combining_Right_Half_Ring_Above\",e[e.U_Combining_Dot_Above_Right=856]=\"U_Combining_Dot_Above_Right\",e[e.U_Combining_Asterisk_Below=857]=\"U_Combining_Asterisk_Below\",e[e.U_Combining_Double_Ring_Below=858]=\"U_Combining_Double_Ring_Below\",e[e.U_Combining_Zigzag_Above=859]=\"U_Combining_Zigzag_Above\",e[e.U_Combining_Double_Breve_Below=860]=\"U_Combining_Double_Breve_Below\",e[e.U_Combining_Double_Breve=861]=\"U_Combining_Double_Breve\",e[e.U_Combining_Double_Macron=862]=\"U_Combining_Double_Macron\",e[e.U_Combining_Double_Macron_Below=863]=\"U_Combining_Double_Macron_Below\",e[e.U_Combining_Double_Tilde=864]=\"U_Combining_Double_Tilde\",e[e.U_Combining_Double_Inverted_Breve=865]=\"U_Combining_Double_Inverted_Breve\",e[e.U_Combining_Double_Rightwards_Arrow_Below=866]=\"U_Combining_Double_Rightwards_Arrow_Below\",e[e.U_Combining_Latin_Small_Letter_A=867]=\"U_Combining_Latin_Small_Letter_A\",e[e.U_Combining_Latin_Small_Letter_E=868]=\"U_Combining_Latin_Small_Letter_E\",e[e.U_Combining_Latin_Small_Letter_I=869]=\"U_Combining_Latin_Small_Letter_I\",e[e.U_Combining_Latin_Small_Letter_O=870]=\"U_Combining_Latin_Small_Letter_O\",e[e.U_Combining_Latin_Small_Letter_U=871]=\"U_Combining_Latin_Small_Letter_U\",e[e.U_Combining_Latin_Small_Letter_C=872]=\"U_Combining_Latin_Small_Letter_C\",e[e.U_Combining_Latin_Small_Letter_D=873]=\"U_Combining_Latin_Small_Letter_D\",e[e.U_Combining_Latin_Small_Letter_H=874]=\"U_Combining_Latin_Small_Letter_H\",e[e.U_Combining_Latin_Small_Letter_M=875]=\"U_Combining_Latin_Small_Letter_M\",e[e.U_Combining_Latin_Small_Letter_R=876]=\"U_Combining_Latin_Small_Letter_R\",e[e.U_Combining_Latin_Small_Letter_T=877]=\"U_Combining_Latin_Small_Letter_T\",e[e.U_Combining_Latin_Small_Letter_V=878]=\"U_Combining_Latin_Small_Letter_V\",e[e.U_Combining_Latin_Small_Letter_X=879]=\"U_Combining_Latin_Small_Letter_X\",e[e.LINE_SEPARATOR=8232]=\"LINE_SEPARATOR\",e[e.PARAGRAPH_SEPARATOR=8233]=\"PARAGRAPH_SEPARATOR\",e[e.NEXT_LINE=133]=\"NEXT_LINE\",e[e.U_CIRCUMFLEX=94]=\"U_CIRCUMFLEX\",e[e.U_GRAVE_ACCENT=96]=\"U_GRAVE_ACCENT\",e[e.U_DIAERESIS=168]=\"U_DIAERESIS\",e[e.U_MACRON=175]=\"U_MACRON\",e[e.U_ACUTE_ACCENT=180]=\"U_ACUTE_ACCENT\",e[e.U_CEDILLA=184]=\"U_CEDILLA\",e[e.U_MODIFIER_LETTER_LEFT_ARROWHEAD=706]=\"U_MODIFIER_LETTER_LEFT_ARROWHEAD\",e[e.U_MODIFIER_LETTER_RIGHT_ARROWHEAD=707]=\"U_MODIFIER_LETTER_RIGHT_ARROWHEAD\",e[e.U_MODIFIER_LETTER_UP_ARROWHEAD=708]=\"U_MODIFIER_LETTER_UP_ARROWHEAD\",e[e.U_MODIFIER_LETTER_DOWN_ARROWHEAD=709]=\"U_MODIFIER_LETTER_DOWN_ARROWHEAD\",e[e.U_MODIFIER_LETTER_CENTRED_RIGHT_HALF_RING=722]=\"U_MODIFIER_LETTER_CENTRED_RIGHT_HALF_RING\",e[e.U_MODIFIER_LETTER_CENTRED_LEFT_HALF_RING=723]=\"U_MODIFIER_LETTER_CENTRED_LEFT_HALF_RING\",e[e.U_MODIFIER_LETTER_UP_TACK=724]=\"U_MODIFIER_LETTER_UP_TACK\",e[e.U_MODIFIER_LETTER_DOWN_TACK=725]=\"U_MODIFIER_LETTER_DOWN_TACK\",e[e.U_MODIFIER_LETTER_PLUS_SIGN=726]=\"U_MODIFIER_LETTER_PLUS_SIGN\",e[e.U_MODIFIER_LETTER_MINUS_SIGN=727]=\"U_MODIFIER_LETTER_MINUS_SIGN\",e[e.U_BREVE=728]=\"U_BREVE\",e[e.U_DOT_ABOVE=729]=\"U_DOT_ABOVE\",e[e.U_RING_ABOVE=730]=\"U_RING_ABOVE\",e[e.U_OGONEK=731]=\"U_OGONEK\",e[e.U_SMALL_TILDE=732]=\"U_SMALL_TILDE\",e[e.U_DOUBLE_ACUTE_ACCENT=733]=\"U_DOUBLE_ACUTE_ACCENT\",e[e.U_MODIFIER_LETTER_RHOTIC_HOOK=734]=\"U_MODIFIER_LETTER_RHOTIC_HOOK\",e[e.U_MODIFIER_LETTER_CROSS_ACCENT=735]=\"U_MODIFIER_LETTER_CROSS_ACCENT\",e[e.U_MODIFIER_LETTER_EXTRA_HIGH_TONE_BAR=741]=\"U_MODIFIER_LETTER_EXTRA_HIGH_TONE_BAR\",e[e.U_MODIFIER_LETTER_HIGH_TONE_BAR=742]=\"U_MODIFIER_LETTER_HIGH_TONE_BAR\",e[e.U_MODIFIER_LETTER_MID_TONE_BAR=743]=\"U_MODIFIER_LETTER_MID_TONE_BAR\",e[e.U_MODIFIER_LETTER_LOW_TONE_BAR=744]=\"U_MODIFIER_LETTER_LOW_TONE_BAR\",e[e.U_MODIFIER_LETTER_EXTRA_LOW_TONE_BAR=745]=\"U_MODIFIER_LETTER_EXTRA_LOW_TONE_BAR\",e[e.U_MODIFIER_LETTER_YIN_DEPARTING_TONE_MARK=746]=\"U_MODIFIER_LETTER_YIN_DEPARTING_TONE_MARK\",e[e.U_MODIFIER_LETTER_YANG_DEPARTING_TONE_MARK=747]=\"U_MODIFIER_LETTER_YANG_DEPARTING_TONE_MARK\",e[e.U_MODIFIER_LETTER_UNASPIRATED=749]=\"U_MODIFIER_LETTER_UNASPIRATED\",e[e.U_MODIFIER_LETTER_LOW_DOWN_ARROWHEAD=751]=\"U_MODIFIER_LETTER_LOW_DOWN_ARROWHEAD\",e[e.U_MODIFIER_LETTER_LOW_UP_ARROWHEAD=752]=\"U_MODIFIER_LETTER_LOW_UP_ARROWHEAD\",e[e.U_MODIFIER_LETTER_LOW_LEFT_ARROWHEAD=753]=\"U_MODIFIER_LETTER_LOW_LEFT_ARROWHEAD\",e[e.U_MODIFIER_LETTER_LOW_RIGHT_ARROWHEAD=754]=\"U_MODIFIER_LETTER_LOW_RIGHT_ARROWHEAD\",e[e.U_MODIFIER_LETTER_LOW_RING=755]=\"U_MODIFIER_LETTER_LOW_RING\",e[e.U_MODIFIER_LETTER_MIDDLE_GRAVE_ACCENT=756]=\"U_MODIFIER_LETTER_MIDDLE_GRAVE_ACCENT\",e[e.U_MODIFIER_LETTER_MIDDLE_DOUBLE_GRAVE_ACCENT=757]=\"U_MODIFIER_LETTER_MIDDLE_DOUBLE_GRAVE_ACCENT\",e[e.U_MODIFIER_LETTER_MIDDLE_DOUBLE_ACUTE_ACCENT=758]=\"U_MODIFIER_LETTER_MIDDLE_DOUBLE_ACUTE_ACCENT\",e[e.U_MODIFIER_LETTER_LOW_TILDE=759]=\"U_MODIFIER_LETTER_LOW_TILDE\",e[e.U_MODIFIER_LETTER_RAISED_COLON=760]=\"U_MODIFIER_LETTER_RAISED_COLON\",e[e.U_MODIFIER_LETTER_BEGIN_HIGH_TONE=761]=\"U_MODIFIER_LETTER_BEGIN_HIGH_TONE\",e[e.U_MODIFIER_LETTER_END_HIGH_TONE=762]=\"U_MODIFIER_LETTER_END_HIGH_TONE\",e[e.U_MODIFIER_LETTER_BEGIN_LOW_TONE=763]=\"U_MODIFIER_LETTER_BEGIN_LOW_TONE\",e[e.U_MODIFIER_LETTER_END_LOW_TONE=764]=\"U_MODIFIER_LETTER_END_LOW_TONE\",e[e.U_MODIFIER_LETTER_SHELF=765]=\"U_MODIFIER_LETTER_SHELF\",e[e.U_MODIFIER_LETTER_OPEN_SHELF=766]=\"U_MODIFIER_LETTER_OPEN_SHELF\",e[e.U_MODIFIER_LETTER_LOW_LEFT_ARROW=767]=\"U_MODIFIER_LETTER_LOW_LEFT_ARROW\",e[e.U_GREEK_LOWER_NUMERAL_SIGN=885]=\"U_GREEK_LOWER_NUMERAL_SIGN\",e[e.U_GREEK_TONOS=900]=\"U_GREEK_TONOS\",e[e.U_GREEK_DIALYTIKA_TONOS=901]=\"U_GREEK_DIALYTIKA_TONOS\",e[e.U_GREEK_KORONIS=8125]=\"U_GREEK_KORONIS\",e[e.U_GREEK_PSILI=8127]=\"U_GREEK_PSILI\",e[e.U_GREEK_PERISPOMENI=8128]=\"U_GREEK_PERISPOMENI\",e[e.U_GREEK_DIALYTIKA_AND_PERISPOMENI=8129]=\"U_GREEK_DIALYTIKA_AND_PERISPOMENI\",e[e.U_GREEK_PSILI_AND_VARIA=8141]=\"U_GREEK_PSILI_AND_VARIA\",e[e.U_GREEK_PSILI_AND_OXIA=8142]=\"U_GREEK_PSILI_AND_OXIA\",e[e.U_GREEK_PSILI_AND_PERISPOMENI=8143]=\"U_GREEK_PSILI_AND_PERISPOMENI\",e[e.U_GREEK_DASIA_AND_VARIA=8157]=\"U_GREEK_DASIA_AND_VARIA\",e[e.U_GREEK_DASIA_AND_OXIA=8158]=\"U_GREEK_DASIA_AND_OXIA\",e[e.U_GREEK_DASIA_AND_PERISPOMENI=8159]=\"U_GREEK_DASIA_AND_PERISPOMENI\",e[e.U_GREEK_DIALYTIKA_AND_VARIA=8173]=\"U_GREEK_DIALYTIKA_AND_VARIA\",e[e.U_GREEK_DIALYTIKA_AND_OXIA=8174]=\"U_GREEK_DIALYTIKA_AND_OXIA\",e[e.U_GREEK_VARIA=8175]=\"U_GREEK_VARIA\",e[e.U_GREEK_OXIA=8189]=\"U_GREEK_OXIA\",e[e.U_GREEK_DASIA=8190]=\"U_GREEK_DASIA\",e[e.U_IDEOGRAPHIC_FULL_STOP=12290]=\"U_IDEOGRAPHIC_FULL_STOP\",e[e.U_LEFT_CORNER_BRACKET=12300]=\"U_LEFT_CORNER_BRACKET\",e[e.U_RIGHT_CORNER_BRACKET=12301]=\"U_RIGHT_CORNER_BRACKET\",e[e.U_LEFT_BLACK_LENTICULAR_BRACKET=12304]=\"U_LEFT_BLACK_LENTICULAR_BRACKET\",e[e.U_RIGHT_BLACK_LENTICULAR_BRACKET=12305]=\"U_RIGHT_BLACK_LENTICULAR_BRACKET\",e[e.U_OVERLINE=8254]=\"U_OVERLINE\",e[e.UTF8_BOM=65279]=\"UTF8_BOM\",e[e.U_FULLWIDTH_SEMICOLON=65307]=\"U_FULLWIDTH_SEMICOLON\",e[e.U_FULLWIDTH_COMMA=65292]=\"U_FULLWIDTH_COMMA\"}(i||(t.CharCode=i={}))},9087:(e,t)=>{var i;Object.defineProperty(t,\"__esModule\",{value:!0}),t.SetWithKey=void 0,t.groupBy=function(e,t){const i=Object.create(null);for(const s of e){const e=t(s);let r=i[e];r||(r=i[e]=[]),r.push(s)}return i},t.diffSets=function(e,t){const i=[],s=[];for(const s of e)t.has(s)||i.push(s);for(const i of t)e.has(i)||s.push(i);return{removed:i,added:s}},t.diffMaps=function(e,t){const i=[],s=[];for(const[s,r]of e)t.has(s)||i.push(r);for(const[i,r]of t)e.has(i)||s.push(r);return{removed:i,added:s}},t.intersection=function(e,t){const i=new Set;for(const s of t)e.has(s)&&i.add(s);return i};class s{static{i=Symbol.toStringTag}constructor(e,t){this.toKey=t,this._map=new Map,this[i]=\"SetWithKey\";for(const t of e)this.add(t)}get size(){return this._map.size}add(e){const t=this.toKey(e);return this._map.set(t,e),this}delete(e){return this._map.delete(this.toKey(e))}has(e){return this._map.has(this.toKey(e))}*entries(){for(const e of this._map.values())yield[e,e]}keys(){return this.values()}*values(){for(const e of this._map.values())yield e}clear(){this._map.clear()}forEach(e,t){this._map.forEach((i=>e.call(t,i,i,this)))}[Symbol.iterator](){return this.values()}}t.SetWithKey=s},4838:(e,t)=>{function i(e){return(t,i,s)=>{let r=null,n=null;if(\"function\"==typeof s.value?(r=\"value\",n=s.value):\"function\"==typeof s.get&&(r=\"get\",n=s.get),!n)throw new Error(\"not supported\");s[r]=e(n,i)}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.memoize=function(e,t,i){let s=null,r=null;if(\"function\"==typeof i.value?(s=\"value\",r=i.value,0!==r.length&&console.warn(\"Memoize should only be used in functions with zero parameters\")):\"function\"==typeof i.get&&(s=\"get\",r=i.get),!r)throw new Error(\"not supported\");const n=`$memoize$${t}`;i[s]=function(...e){return this.hasOwnProperty(n)||Object.defineProperty(this,n,{configurable:!1,enumerable:!1,writable:!1,value:r.apply(this,e)}),this[n]}},t.debounce=function(e,t,s){return i(((i,r)=>{const n=`$debounce$${r}`,o=`$debounce$result$${r}`;return function(...r){this[o]||(this[o]=s?s():void 0),clearTimeout(this[n]),t&&(this[o]=t(this[o],...r),r=[this[o]]),this[n]=setTimeout((()=>{i.apply(this,r),this[o]=s?s():void 0}),e)}}))},t.throttle=function(e,t,s){return i(((i,r)=>{const n=`$throttle$timer$${r}`,o=`$throttle$result$${r}`,a=`$throttle$lastRun$${r}`,l=`$throttle$pending$${r}`;return function(...r){if(this[o]||(this[o]=s?s():void 0),null!==this[a]&&void 0!==this[a]||(this[a]=-Number.MAX_VALUE),t&&(this[o]=t(this[o],...r)),this[l])return;const h=this[a]+e;h<=Date.now()?(this[a]=Date.now(),i.apply(this,[this[o]]),this[o]=s?s():void 0):(this[l]=!0,this[n]=setTimeout((()=>{this[l]=!1,this[a]=Date.now(),i.apply(this,[this[o]]),this[o]=s?s():void 0}),h-Date.now()))}}))}},9807:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BugIndicatingError=t.ErrorNoTelemetry=t.ExpectedError=t.NotSupportedError=t.NotImplementedError=t.ReadonlyError=t.CancellationError=t.errorHandler=t.ErrorHandler=void 0,t.setUnexpectedErrorHandler=function(e){t.errorHandler.setUnexpectedErrorHandler(e)},t.isSigPipeError=function(e){if(!e||\"object\"!=typeof e)return!1;const t=e;return\"EPIPE\"===t.code&&\"WRITE\"===t.syscall?.toUpperCase()},t.onUnexpectedError=function(e){r(e)||t.errorHandler.onUnexpectedError(e)},t.onUnexpectedExternalError=function(e){r(e)||t.errorHandler.onUnexpectedExternalError(e)},t.transformErrorForSerialization=function(e){if(e instanceof Error){const{name:t,message:i}=e;return{$isError:!0,name:t,message:i,stack:e.stacktrace||e.stack,noTelemetry:c.isErrorNoTelemetry(e)}}return e},t.transformErrorFromSerialization=function(e){let t;return e.noTelemetry?t=new c:(t=new Error,t.name=e.name),t.message=e.message,t.stack=e.stack,t},t.isCancellationError=r,t.canceled=function(){const e=new Error(s);return e.name=e.message,e},t.illegalArgument=function(e){return e?new Error(`Illegal argument: ${e}`):new Error(\"Illegal argument\")},t.illegalState=function(e){return e?new Error(`Illegal state: ${e}`):new Error(\"Illegal state\")},t.getErrorMessage=function(e){return e?e.message?e.message:e.stack?e.stack.split(\"\\n\")[0]:String(e):\"Error\"};class i{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout((()=>{if(e.stack){if(c.isErrorNoTelemetry(e))throw new c(e.message+\"\\n\\n\"+e.stack);throw new Error(e.message+\"\\n\\n\"+e.stack)}throw e}),0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach((t=>{t(e)}))}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}t.ErrorHandler=i,t.errorHandler=new i;const s=\"Canceled\";function r(e){return e instanceof n||e instanceof Error&&e.name===s&&e.message===s}class n extends Error{constructor(){super(s),this.name=this.message}}t.CancellationError=n;class o extends TypeError{constructor(e){super(e?`${e} is read-only and cannot be changed`:\"Cannot change read-only property\")}}t.ReadonlyError=o;class a extends Error{constructor(e){super(\"NotImplemented\"),e&&(this.message=e)}}t.NotImplementedError=a;class l extends Error{constructor(e){super(\"NotSupported\"),e&&(this.message=e)}}t.NotSupportedError=l;class h extends Error{constructor(){super(...arguments),this.isExpected=!0}}t.ExpectedError=h;class c extends Error{constructor(e){super(e),this.name=\"CodeExpectedError\"}static fromError(e){if(e instanceof c)return e;const t=new c;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return\"CodeExpectedError\"===e.name}}t.ErrorNoTelemetry=c;class d extends Error{constructor(e){super(e||\"An unexpected bug occurred.\"),Object.setPrototypeOf(this,d.prototype)}}t.BugIndicatingError=d},802:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ValueWithChangeEvent=t.Relay=t.EventBufferer=t.DynamicListEventMultiplexer=t.EventMultiplexer=t.MicrotaskEmitter=t.DebounceEmitter=t.PauseableEmitter=t.AsyncEmitter=t.createEventDeliveryQueue=t.Emitter=t.ListenerRefusalError=t.ListenerLeakError=t.EventProfiling=t.Event=void 0,t.setGlobalLeakWarningThreshold=function(e){const t=c;return c=e,{dispose(){c=t}}};const s=i(9807),r=i(8841),n=i(7150),o=i(6317),a=i(9725);var l;!function(e){function t(e){return(t,i=null,s)=>{let r,n=!1;return r=e((e=>{if(!n)return r?r.dispose():n=!0,t.call(i,e)}),null,s),n&&r.dispose(),r}}function i(e,t,i){return r(((i,s=null,r)=>e((e=>i.call(s,t(e))),null,r)),i)}function s(e,t,i){return r(((i,s=null,r)=>e((e=>t(e)&&i.call(s,e)),null,r)),i)}function r(e,t){let i;const s=new m({onWillAddFirstListener(){i=e(s.fire,s)},onDidRemoveLastListener(){i?.dispose()}});return t?.add(s),s.event}function o(e,t,i=100,s=!1,r=!1,n,o){let a,l,h,c,d=0;const u=new m({leakWarningThreshold:n,onWillAddFirstListener(){a=e((e=>{d++,l=t(l,e),s&&!h&&(u.fire(l),l=void 0),c=()=>{const e=l;l=void 0,h=void 0,(!s||d>1)&&u.fire(e),d=0},\"number\"==typeof i?(clearTimeout(h),h=setTimeout(c,i)):void 0===h&&(h=0,queueMicrotask(c))}))},onWillRemoveListener(){r&&d>0&&c?.()},onDidRemoveLastListener(){c=void 0,a.dispose()}});return o?.add(u),u.event}e.None=()=>n.Disposable.None,e.defer=function(e,t){return o(e,(()=>{}),0,void 0,!0,void 0,t)},e.once=t,e.map=i,e.forEach=function(e,t,i){return r(((i,s=null,r)=>e((e=>{t(e),i.call(s,e)}),null,r)),i)},e.filter=s,e.signal=function(e){return e},e.any=function(...e){return(t,i=null,s)=>{return r=(0,n.combinedDisposable)(...e.map((e=>e((e=>t.call(i,e)))))),(o=s)instanceof Array?o.push(r):o&&o.add(r),r;var r,o}},e.reduce=function(e,t,s,r){let n=s;return i(e,(e=>(n=t(n,e),n)),r)},e.debounce=o,e.accumulate=function(t,i=0,s){return e.debounce(t,((e,t)=>e?(e.push(t),e):[t]),i,void 0,!0,void 0,s)},e.latch=function(e,t=(e,t)=>e===t,i){let r,n=!0;return s(e,(e=>{const i=n||!t(e,r);return n=!1,r=e,i}),i)},e.split=function(t,i,s){return[e.filter(t,i,s),e.filter(t,(e=>!i(e)),s)]},e.buffer=function(e,t=!1,i=[],s){let r=i.slice(),n=e((e=>{r?r.push(e):a.fire(e)}));s&&s.add(n);const o=()=>{r?.forEach((e=>a.fire(e))),r=null},a=new m({onWillAddFirstListener(){n||(n=e((e=>a.fire(e))),s&&s.add(n))},onDidAddFirstListener(){r&&(t?setTimeout(o):o())},onDidRemoveLastListener(){n&&n.dispose(),n=null}});return s&&s.add(a),a.event},e.chain=function(e,t){return(i,s,r)=>{const n=t(new l);return e((function(e){const t=n.evaluate(e);t!==a&&i.call(s,t)}),void 0,r)}};const a=Symbol(\"HaltChainable\");class l{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push((t=>(e(t),t))),this}filter(e){return this.steps.push((t=>e(t)?t:a)),this}reduce(e,t){let i=t;return this.steps.push((t=>(i=e(i,t),i))),this}latch(e=(e,t)=>e===t){let t,i=!0;return this.steps.push((s=>{const r=i||!e(s,t);return i=!1,t=s,r?s:a})),this}evaluate(e){for(const t of this.steps)if((e=t(e))===a)break;return e}}e.fromNodeEventEmitter=function(e,t,i=e=>e){const s=(...e)=>r.fire(i(...e)),r=new m({onWillAddFirstListener:()=>e.on(t,s),onDidRemoveLastListener:()=>e.removeListener(t,s)});return r.event},e.fromDOMEventEmitter=function(e,t,i=e=>e){const s=(...e)=>r.fire(i(...e)),r=new m({onWillAddFirstListener:()=>e.addEventListener(t,s),onDidRemoveLastListener:()=>e.removeEventListener(t,s)});return r.event},e.toPromise=function(e){return new Promise((i=>t(e)(i)))},e.fromPromise=function(e){const t=new m;return e.then((e=>{t.fire(e)}),(()=>{t.fire(void 0)})).finally((()=>{t.dispose()})),t.event},e.forward=function(e,t){return e((e=>t.fire(e)))},e.runAndSubscribe=function(e,t,i){return t(i),e((e=>t(e)))};class h{constructor(e,t){this._observable=e,this._counter=0,this._hasChanged=!1;const i={onWillAddFirstListener:()=>{e.addObserver(this)},onDidRemoveLastListener:()=>{e.removeObserver(this)}};this.emitter=new m(i),t&&t.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}e.fromObservable=function(e,t){return new h(e,t).emitter.event},e.fromObservableLight=function(e){return(t,i,s)=>{let r=0,o=!1;const a={beginUpdate(){r++},endUpdate(){r--,0===r&&(e.reportChanges(),o&&(o=!1,t.call(i)))},handlePossibleChange(){},handleChange(){o=!0}};e.addObserver(a),e.reportChanges();const l={dispose(){e.removeObserver(a)}};return s instanceof n.DisposableStore?s.add(l):Array.isArray(s)&&s.push(l),l}}}(l||(t.Event=l={}));class h{static{this.all=new Set}static{this._idPool=0}constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${h._idPool++}`,h.all.add(this)}start(e){this._stopWatch=new a.StopWatch,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}}t.EventProfiling=h;let c=-1;class d{static{this._idPool=1}constructor(e,t,i=(d._idPool++).toString(16).padStart(3,\"0\")){this._errorHandler=e,this.threshold=t,this.name=i,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){const i=this.threshold;if(i<=0||t<i)return;this._stacks||(this._stacks=new Map);const s=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,s+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=.5*i;const[e,s]=this.getMostFrequentStack(),r=`[${this.name}] potential listener LEAK detected, having ${t} listeners already. MOST frequent listener (${s}):`;console.warn(r),console.warn(e);const n=new _(r,e);this._errorHandler(n)}return()=>{const t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(const[i,s]of this._stacks)(!e||t<s)&&(e=[i,s],t=s);return e}}class u{static create(){const e=new Error;return new u(e.stack??\"\")}constructor(e){this.value=e}print(){console.warn(this.value.split(\"\\n\").slice(2).join(\"\\n\"))}}class _ extends Error{constructor(e,t){super(e),this.name=\"ListenerLeakError\",this.stack=t}}t.ListenerLeakError=_;class f extends Error{constructor(e,t){super(e),this.name=\"ListenerRefusalError\",this.stack=t}}t.ListenerRefusalError=f;let p=0;class g{constructor(e){this.value=e,this.id=p++}}class m{constructor(e){this._size=0,this._options=e,this._leakageMon=c>0||this._options?.leakWarningThreshold?new d(e?.onListenerError??s.onUnexpectedError,this._options?.leakWarningThreshold??c):void 0,this._perfMon=this._options?._profName?new h(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,t,i)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);const t=this._leakageMon.getMostFrequentStack()??[\"UNKNOWN stack\",-1],i=new f(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||s.onUnexpectedError)(i),n.Disposable.None}if(this._disposed)return n.Disposable.None;t&&(e=e.bind(t));const r=new g(e);let o;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(r.stack=u.create(),o=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof g?(this._deliveryQueue??=new v,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;const a=(0,n.toDisposable)((()=>{o?.(),this._removeListener(r)}));return i instanceof n.DisposableStore?i.add(a):Array.isArray(i)&&i.push(a),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(1===this._size)return this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),void(this._size=0);const t=this._listeners,i=t.indexOf(e);if(-1===i)throw console.log(\"disposed?\",this._disposed),console.log(\"size?\",this._size),console.log(\"arr?\",JSON.stringify(this._listeners)),new Error(\"Attempted to dispose unknown listener\");this._size--,t[i]=void 0;const s=this._deliveryQueue.current===this;if(2*this._size<=t.length){let e=0;for(let i=0;i<t.length;i++)t[i]?t[e++]=t[i]:s&&(this._deliveryQueue.end--,e<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=e}}_deliver(e,t){if(!e)return;const i=this._options?.onListenerError||s.onUnexpectedError;if(i)try{e.value(t)}catch(e){i(e)}else e.value(t)}_deliverQueue(e){const t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof g)this._deliver(this._listeners,e);else{const t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}this._perfMon?.stop()}hasListeners(){return this._size>0}}t.Emitter=m,t.createEventDeliveryQueue=()=>new v;class v{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}t.AsyncEmitter=class extends m{async fireAsync(e,t,i){if(this._listeners)for(this._asyncDeliveryQueue||(this._asyncDeliveryQueue=new o.LinkedList),((e,t)=>{if(e instanceof g)t(e);else for(let i=0;i<e.length;i++){const s=e[i];s&&t(s)}})(this._listeners,(t=>this._asyncDeliveryQueue.push([t.value,e])));this._asyncDeliveryQueue.size>0&&!t.isCancellationRequested;){const[e,r]=this._asyncDeliveryQueue.shift(),n=[],o={...r,token:t,waitUntil:t=>{if(Object.isFrozen(n))throw new Error(\"waitUntil can NOT be called asynchronous\");i&&(t=i(t,e)),n.push(t)}};try{e(o)}catch(e){(0,s.onUnexpectedError)(e);continue}Object.freeze(n),await Promise.allSettled(n).then((e=>{for(const t of e)\"rejected\"===t.status&&(0,s.onUnexpectedError)(t.reason)}))}}};class S extends m{get isPaused(){return 0!==this._isPaused}constructor(e){super(e),this._isPaused=0,this._eventQueue=new o.LinkedList,this._mergeFn=e?.merge}pause(){this._isPaused++}resume(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&0!==this._eventQueue.size;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(0!==this._isPaused?this._eventQueue.push(e):super.fire(e))}}t.PauseableEmitter=S,t.DebounceEmitter=class extends S{constructor(e){super(e),this._delay=e.delay??100}fire(e){this._handle||(this.pause(),this._handle=setTimeout((()=>{this._handle=void 0,this.resume()}),this._delay)),super.fire(e)}},t.MicrotaskEmitter=class extends m{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e?.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),1===this._queuedEvents.length&&queueMicrotask((()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach((e=>super.fire(e))),this._queuedEvents=[]})))}};class b{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new m({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),(0,n.toDisposable)((0,r.createSingleCallFunction)((()=>{this.hasListeners&&this.unhook(t);const e=this.events.indexOf(t);this.events.splice(e,1)})))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach((e=>this.hook(e)))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach((e=>this.unhook(e)))}hook(e){e.listener=e.event((e=>this.emitter.fire(e)))}unhook(e){e.listener?.dispose(),e.listener=null}dispose(){this.emitter.dispose();for(const e of this.events)e.listener?.dispose();this.events=[]}}t.EventMultiplexer=b,t.DynamicListEventMultiplexer=class{constructor(e,t,i,s){this._store=new n.DisposableStore;const r=this._store.add(new b),o=this._store.add(new n.DisposableMap);function a(e){o.set(e,r.add(s(e)))}for(const t of e)a(t);this._store.add(t((e=>{a(e)}))),this._store.add(i((e=>{o.deleteAndDispose(e)}))),this.event=r.event}dispose(){this._store.dispose()}},t.EventBufferer=class{constructor(){this.data=[]}wrapEvent(e,t,i){return(s,r,n)=>e((e=>{const n=this.data[this.data.length-1];if(!t)return void(n?n.buffers.push((()=>s.call(r,e))):s.call(r,e));const o=n;o?(o.items??=[],o.items.push(e),0===o.buffers.length&&n.buffers.push((()=>{o.reducedResult??=i?o.items.reduce(t,i):o.items.reduce(t),s.call(r,o.reducedResult)}))):s.call(r,t(i,e))}),void 0,n)}bufferEvents(e){const t={buffers:new Array};this.data.push(t);const i=e();return this.data.pop(),t.buffers.forEach((e=>e())),i}},t.Relay=class{constructor(){this.listening=!1,this.inputEvent=l.None,this.inputEventListener=n.Disposable.None,this.emitter=new m({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}},t.ValueWithChangeEvent=class{static const(e){return new C(e)}constructor(e){this._value=e,this._onDidChange=new m,this.onDidChange=this._onDidChange.event}get value(){return this._value}set value(e){e!==this._value&&(this._value=e,this._onDidChange.fire(void 0))}};class C{constructor(e){this.value=e,this.onDidChange=l.None}}},8841:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.createSingleCallFunction=function(e,t){const i=this;let s,r=!1;return function(){if(r)return s;if(r=!0,t)try{s=e.apply(i,arguments)}finally{t()}else s=e.apply(i,arguments);return s}}},6304:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.StringSHA1=t.Hasher=void 0,t.hash=function(e){return a(e,0)},t.doHash=a,t.numberHash=l,t.stringHash=h,t.toHexString=_;const o=n(i(1316));function a(e,t){switch(typeof e){case\"object\":return null===e?l(349,t):Array.isArray(e)?(i=e,s=l(104579,s=t),i.reduce(((e,t)=>a(t,e)),s)):function(e,t){return t=l(181387,t),Object.keys(e).sort().reduce(((t,i)=>(t=h(i,t),a(e[i],t))),t)}(e,t);case\"string\":return h(e,t);case\"boolean\":return function(e,t){return l(e?433:863,t)}(e,t);case\"number\":return l(e,t);case\"undefined\":return l(937,t);default:return l(617,t)}var i,s}function l(e,t){return(t<<5)-t+e|0}function h(e,t){t=l(149417,t);for(let i=0,s=e.length;i<s;i++)t=l(e.charCodeAt(i),t);return t}var c;function d(e,t,i=32){const s=i-t;return(e<<t|(~((1<<s)-1)&e)>>>s)>>>0}function u(e,t=0,i=e.byteLength,s=0){for(let r=0;r<i;r++)e[t+r]=s}function _(e,t=32){return e instanceof ArrayBuffer?Array.from(new Uint8Array(e)).map((e=>e.toString(16).padStart(2,\"0\"))).join(\"\"):function(e,t,i=\"0\"){for(;e.length<t;)e=i+e;return e}((e>>>0).toString(16),t/4)}t.Hasher=class{constructor(){this._value=0}get value(){return this._value}hash(e){return this._value=a(e,this._value),this._value}},function(e){e[e.BLOCK_SIZE=64]=\"BLOCK_SIZE\",e[e.UNICODE_REPLACEMENT=65533]=\"UNICODE_REPLACEMENT\"}(c||(c={}));class f{static{this._bigBlock32=new DataView(new ArrayBuffer(320))}constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(c.BLOCK_SIZE+3),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(0===t)return;const i=this._buff;let s,r,n=this._buffLen,a=this._leftoverHighSurrogate;for(0!==a?(s=a,r=-1,a=0):(s=e.charCodeAt(0),r=0);;){let l=s;if(o.isHighSurrogate(s)){if(!(r+1<t)){a=s;break}{const t=e.charCodeAt(r+1);o.isLowSurrogate(t)?(r++,l=o.computeCodePoint(s,t)):l=c.UNICODE_REPLACEMENT}}else o.isLowSurrogate(s)&&(l=c.UNICODE_REPLACEMENT);if(n=this._push(i,n,l),r++,!(r<t))break;s=e.charCodeAt(r)}this._buffLen=n,this._leftoverHighSurrogate=a}_push(e,t,i){return i<128?e[t++]=i:i<2048?(e[t++]=192|(1984&i)>>>6,e[t++]=128|(63&i)>>>0):i<65536?(e[t++]=224|(61440&i)>>>12,e[t++]=128|(4032&i)>>>6,e[t++]=128|(63&i)>>>0):(e[t++]=240|(1835008&i)>>>18,e[t++]=128|(258048&i)>>>12,e[t++]=128|(4032&i)>>>6,e[t++]=128|(63&i)>>>0),t>=c.BLOCK_SIZE&&(this._step(),t-=c.BLOCK_SIZE,this._totalLen+=c.BLOCK_SIZE,e[0]=e[c.BLOCK_SIZE+0],e[1]=e[c.BLOCK_SIZE+1],e[2]=e[c.BLOCK_SIZE+2]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,c.UNICODE_REPLACEMENT)),this._totalLen+=this._buffLen,this._wrapUp()),_(this._h0)+_(this._h1)+_(this._h2)+_(this._h3)+_(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,u(this._buff,this._buffLen),this._buffLen>56&&(this._step(),u(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=f._bigBlock32,t=this._buffDV;for(let i=0;i<64;i+=4)e.setUint32(i,t.getUint32(i,!1),!1);for(let t=64;t<320;t+=4)e.setUint32(t,d(e.getUint32(t-12,!1)^e.getUint32(t-32,!1)^e.getUint32(t-56,!1)^e.getUint32(t-64,!1),1),!1);let i,s,r,n=this._h0,o=this._h1,a=this._h2,l=this._h3,h=this._h4;for(let t=0;t<80;t++)t<20?(i=o&a|~o&l,s=1518500249):t<40?(i=o^a^l,s=1859775393):t<60?(i=o&a|o&l|a&l,s=2400959708):(i=o^a^l,s=3395469782),r=d(n,5)+i+h+s+e.getUint32(4*t,!1)&4294967295,h=l,l=a,a=d(o,30),o=n,n=r;this._h0=this._h0+n&4294967295,this._h1=this._h1+o&4294967295,this._h2=this._h2+a&4294967295,this._h3=this._h3+l&4294967295,this._h4=this._h4+h&4294967295}}t.StringSHA1=f},4218:(e,t)=>{var i;Object.defineProperty(t,\"__esModule\",{value:!0}),t.Iterable=void 0,function(e){function t(e){return e&&\"object\"==typeof e&&\"function\"==typeof e[Symbol.iterator]}e.is=t;const i=Object.freeze([]);function*s(e){yield e}e.empty=function(){return i},e.single=s,e.wrap=function(e){return t(e)?e:s(e)},e.from=function(e){return e||i},e.reverse=function*(e){for(let t=e.length-1;t>=0;t--)yield e[t]},e.isEmpty=function(e){return!e||!0===e[Symbol.iterator]().next().done},e.first=function(e){return e[Symbol.iterator]().next().value},e.some=function(e,t){let i=0;for(const s of e)if(t(s,i++))return!0;return!1},e.find=function(e,t){for(const i of e)if(t(i))return i},e.filter=function*(e,t){for(const i of e)t(i)&&(yield i)},e.map=function*(e,t){let i=0;for(const s of e)yield t(s,i++)},e.flatMap=function*(e,t){let i=0;for(const s of e)yield*t(s,i++)},e.concat=function*(...e){for(const t of e)yield*t},e.reduce=function(e,t,i){let s=i;for(const i of e)s=t(s,i);return s},e.slice=function*(e,t,i=e.length){for(t<0&&(t+=e.length),i<0?i+=e.length:i>e.length&&(i=e.length);t<i;t++)yield e[t]},e.consume=function(t,i=Number.POSITIVE_INFINITY){const s=[];if(0===i)return[s,t];const r=t[Symbol.iterator]();for(let t=0;t<i;t++){const t=r.next();if(t.done)return[s,e.empty()];s.push(t.value)}return[s,{[Symbol.iterator]:()=>r}]},e.asyncToArray=async function(e){const t=[];for await(const i of e)t.push(i);return Promise.resolve(t)}}(i||(t.Iterable=i={}))},7883:(e,t)=>{var i,s;Object.defineProperty(t,\"__esModule\",{value:!0}),t.KeyMod=t.KeyCodeUtils=t.ScanCodeUtils=t.NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE=t.EVENT_KEY_CODE_MAP=t.ScanCode=t.KeyCode=void 0,t.KeyChord=function(e,t){return(e|(65535&t)<<16>>>0)>>>0},function(e){e[e.DependsOnKbLayout=-1]=\"DependsOnKbLayout\",e[e.Unknown=0]=\"Unknown\",e[e.Backspace=1]=\"Backspace\",e[e.Tab=2]=\"Tab\",e[e.Enter=3]=\"Enter\",e[e.Shift=4]=\"Shift\",e[e.Ctrl=5]=\"Ctrl\",e[e.Alt=6]=\"Alt\",e[e.PauseBreak=7]=\"PauseBreak\",e[e.CapsLock=8]=\"CapsLock\",e[e.Escape=9]=\"Escape\",e[e.Space=10]=\"Space\",e[e.PageUp=11]=\"PageUp\",e[e.PageDown=12]=\"PageDown\",e[e.End=13]=\"End\",e[e.Home=14]=\"Home\",e[e.LeftArrow=15]=\"LeftArrow\",e[e.UpArrow=16]=\"UpArrow\",e[e.RightArrow=17]=\"RightArrow\",e[e.DownArrow=18]=\"DownArrow\",e[e.Insert=19]=\"Insert\",e[e.Delete=20]=\"Delete\",e[e.Digit0=21]=\"Digit0\",e[e.Digit1=22]=\"Digit1\",e[e.Digit2=23]=\"Digit2\",e[e.Digit3=24]=\"Digit3\",e[e.Digit4=25]=\"Digit4\",e[e.Digit5=26]=\"Digit5\",e[e.Digit6=27]=\"Digit6\",e[e.Digit7=28]=\"Digit7\",e[e.Digit8=29]=\"Digit8\",e[e.Digit9=30]=\"Digit9\",e[e.KeyA=31]=\"KeyA\",e[e.KeyB=32]=\"KeyB\",e[e.KeyC=33]=\"KeyC\",e[e.KeyD=34]=\"KeyD\",e[e.KeyE=35]=\"KeyE\",e[e.KeyF=36]=\"KeyF\",e[e.KeyG=37]=\"KeyG\",e[e.KeyH=38]=\"KeyH\",e[e.KeyI=39]=\"KeyI\",e[e.KeyJ=40]=\"KeyJ\",e[e.KeyK=41]=\"KeyK\",e[e.KeyL=42]=\"KeyL\",e[e.KeyM=43]=\"KeyM\",e[e.KeyN=44]=\"KeyN\",e[e.KeyO=45]=\"KeyO\",e[e.KeyP=46]=\"KeyP\",e[e.KeyQ=47]=\"KeyQ\",e[e.KeyR=48]=\"KeyR\",e[e.KeyS=49]=\"KeyS\",e[e.KeyT=50]=\"KeyT\",e[e.KeyU=51]=\"KeyU\",e[e.KeyV=52]=\"KeyV\",e[e.KeyW=53]=\"KeyW\",e[e.KeyX=54]=\"KeyX\",e[e.KeyY=55]=\"KeyY\",e[e.KeyZ=56]=\"KeyZ\",e[e.Meta=57]=\"Meta\",e[e.ContextMenu=58]=\"ContextMenu\",e[e.F1=59]=\"F1\",e[e.F2=60]=\"F2\",e[e.F3=61]=\"F3\",e[e.F4=62]=\"F4\",e[e.F5=63]=\"F5\",e[e.F6=64]=\"F6\",e[e.F7=65]=\"F7\",e[e.F8=66]=\"F8\",e[e.F9=67]=\"F9\",e[e.F10=68]=\"F10\",e[e.F11=69]=\"F11\",e[e.F12=70]=\"F12\",e[e.F13=71]=\"F13\",e[e.F14=72]=\"F14\",e[e.F15=73]=\"F15\",e[e.F16=74]=\"F16\",e[e.F17=75]=\"F17\",e[e.F18=76]=\"F18\",e[e.F19=77]=\"F19\",e[e.F20=78]=\"F20\",e[e.F21=79]=\"F21\",e[e.F22=80]=\"F22\",e[e.F23=81]=\"F23\",e[e.F24=82]=\"F24\",e[e.NumLock=83]=\"NumLock\",e[e.ScrollLock=84]=\"ScrollLock\",e[e.Semicolon=85]=\"Semicolon\",e[e.Equal=86]=\"Equal\",e[e.Comma=87]=\"Comma\",e[e.Minus=88]=\"Minus\",e[e.Period=89]=\"Period\",e[e.Slash=90]=\"Slash\",e[e.Backquote=91]=\"Backquote\",e[e.BracketLeft=92]=\"BracketLeft\",e[e.Backslash=93]=\"Backslash\",e[e.BracketRight=94]=\"BracketRight\",e[e.Quote=95]=\"Quote\",e[e.OEM_8=96]=\"OEM_8\",e[e.IntlBackslash=97]=\"IntlBackslash\",e[e.Numpad0=98]=\"Numpad0\",e[e.Numpad1=99]=\"Numpad1\",e[e.Numpad2=100]=\"Numpad2\",e[e.Numpad3=101]=\"Numpad3\",e[e.Numpad4=102]=\"Numpad4\",e[e.Numpad5=103]=\"Numpad5\",e[e.Numpad6=104]=\"Numpad6\",e[e.Numpad7=105]=\"Numpad7\",e[e.Numpad8=106]=\"Numpad8\",e[e.Numpad9=107]=\"Numpad9\",e[e.NumpadMultiply=108]=\"NumpadMultiply\",e[e.NumpadAdd=109]=\"NumpadAdd\",e[e.NUMPAD_SEPARATOR=110]=\"NUMPAD_SEPARATOR\",e[e.NumpadSubtract=111]=\"NumpadSubtract\",e[e.NumpadDecimal=112]=\"NumpadDecimal\",e[e.NumpadDivide=113]=\"NumpadDivide\",e[e.KEY_IN_COMPOSITION=114]=\"KEY_IN_COMPOSITION\",e[e.ABNT_C1=115]=\"ABNT_C1\",e[e.ABNT_C2=116]=\"ABNT_C2\",e[e.AudioVolumeMute=117]=\"AudioVolumeMute\",e[e.AudioVolumeUp=118]=\"AudioVolumeUp\",e[e.AudioVolumeDown=119]=\"AudioVolumeDown\",e[e.BrowserSearch=120]=\"BrowserSearch\",e[e.BrowserHome=121]=\"BrowserHome\",e[e.BrowserBack=122]=\"BrowserBack\",e[e.BrowserForward=123]=\"BrowserForward\",e[e.MediaTrackNext=124]=\"MediaTrackNext\",e[e.MediaTrackPrevious=125]=\"MediaTrackPrevious\",e[e.MediaStop=126]=\"MediaStop\",e[e.MediaPlayPause=127]=\"MediaPlayPause\",e[e.LaunchMediaPlayer=128]=\"LaunchMediaPlayer\",e[e.LaunchMail=129]=\"LaunchMail\",e[e.LaunchApp2=130]=\"LaunchApp2\",e[e.Clear=131]=\"Clear\",e[e.MAX_VALUE=132]=\"MAX_VALUE\"}(i||(t.KeyCode=i={})),function(e){e[e.DependsOnKbLayout=-1]=\"DependsOnKbLayout\",e[e.None=0]=\"None\",e[e.Hyper=1]=\"Hyper\",e[e.Super=2]=\"Super\",e[e.Fn=3]=\"Fn\",e[e.FnLock=4]=\"FnLock\",e[e.Suspend=5]=\"Suspend\",e[e.Resume=6]=\"Resume\",e[e.Turbo=7]=\"Turbo\",e[e.Sleep=8]=\"Sleep\",e[e.WakeUp=9]=\"WakeUp\",e[e.KeyA=10]=\"KeyA\",e[e.KeyB=11]=\"KeyB\",e[e.KeyC=12]=\"KeyC\",e[e.KeyD=13]=\"KeyD\",e[e.KeyE=14]=\"KeyE\",e[e.KeyF=15]=\"KeyF\",e[e.KeyG=16]=\"KeyG\",e[e.KeyH=17]=\"KeyH\",e[e.KeyI=18]=\"KeyI\",e[e.KeyJ=19]=\"KeyJ\",e[e.KeyK=20]=\"KeyK\",e[e.KeyL=21]=\"KeyL\",e[e.KeyM=22]=\"KeyM\",e[e.KeyN=23]=\"KeyN\",e[e.KeyO=24]=\"KeyO\",e[e.KeyP=25]=\"KeyP\",e[e.KeyQ=26]=\"KeyQ\",e[e.KeyR=27]=\"KeyR\",e[e.KeyS=28]=\"KeyS\",e[e.KeyT=29]=\"KeyT\",e[e.KeyU=30]=\"KeyU\",e[e.KeyV=31]=\"KeyV\",e[e.KeyW=32]=\"KeyW\",e[e.KeyX=33]=\"KeyX\",e[e.KeyY=34]=\"KeyY\",e[e.KeyZ=35]=\"KeyZ\",e[e.Digit1=36]=\"Digit1\",e[e.Digit2=37]=\"Digit2\",e[e.Digit3=38]=\"Digit3\",e[e.Digit4=39]=\"Digit4\",e[e.Digit5=40]=\"Digit5\",e[e.Digit6=41]=\"Digit6\",e[e.Digit7=42]=\"Digit7\",e[e.Digit8=43]=\"Digit8\",e[e.Digit9=44]=\"Digit9\",e[e.Digit0=45]=\"Digit0\",e[e.Enter=46]=\"Enter\",e[e.Escape=47]=\"Escape\",e[e.Backspace=48]=\"Backspace\",e[e.Tab=49]=\"Tab\",e[e.Space=50]=\"Space\",e[e.Minus=51]=\"Minus\",e[e.Equal=52]=\"Equal\",e[e.BracketLeft=53]=\"BracketLeft\",e[e.BracketRight=54]=\"BracketRight\",e[e.Backslash=55]=\"Backslash\",e[e.IntlHash=56]=\"IntlHash\",e[e.Semicolon=57]=\"Semicolon\",e[e.Quote=58]=\"Quote\",e[e.Backquote=59]=\"Backquote\",e[e.Comma=60]=\"Comma\",e[e.Period=61]=\"Period\",e[e.Slash=62]=\"Slash\",e[e.CapsLock=63]=\"CapsLock\",e[e.F1=64]=\"F1\",e[e.F2=65]=\"F2\",e[e.F3=66]=\"F3\",e[e.F4=67]=\"F4\",e[e.F5=68]=\"F5\",e[e.F6=69]=\"F6\",e[e.F7=70]=\"F7\",e[e.F8=71]=\"F8\",e[e.F9=72]=\"F9\",e[e.F10=73]=\"F10\",e[e.F11=74]=\"F11\",e[e.F12=75]=\"F12\",e[e.PrintScreen=76]=\"PrintScreen\",e[e.ScrollLock=77]=\"ScrollLock\",e[e.Pause=78]=\"Pause\",e[e.Insert=79]=\"Insert\",e[e.Home=80]=\"Home\",e[e.PageUp=81]=\"PageUp\",e[e.Delete=82]=\"Delete\",e[e.End=83]=\"End\",e[e.PageDown=84]=\"PageDown\",e[e.ArrowRight=85]=\"ArrowRight\",e[e.ArrowLeft=86]=\"ArrowLeft\",e[e.ArrowDown=87]=\"ArrowDown\",e[e.ArrowUp=88]=\"ArrowUp\",e[e.NumLock=89]=\"NumLock\",e[e.NumpadDivide=90]=\"NumpadDivide\",e[e.NumpadMultiply=91]=\"NumpadMultiply\",e[e.NumpadSubtract=92]=\"NumpadSubtract\",e[e.NumpadAdd=93]=\"NumpadAdd\",e[e.NumpadEnter=94]=\"NumpadEnter\",e[e.Numpad1=95]=\"Numpad1\",e[e.Numpad2=96]=\"Numpad2\",e[e.Numpad3=97]=\"Numpad3\",e[e.Numpad4=98]=\"Numpad4\",e[e.Numpad5=99]=\"Numpad5\",e[e.Numpad6=100]=\"Numpad6\",e[e.Numpad7=101]=\"Numpad7\",e[e.Numpad8=102]=\"Numpad8\",e[e.Numpad9=103]=\"Numpad9\",e[e.Numpad0=104]=\"Numpad0\",e[e.NumpadDecimal=105]=\"NumpadDecimal\",e[e.IntlBackslash=106]=\"IntlBackslash\",e[e.ContextMenu=107]=\"ContextMenu\",e[e.Power=108]=\"Power\",e[e.NumpadEqual=109]=\"NumpadEqual\",e[e.F13=110]=\"F13\",e[e.F14=111]=\"F14\",e[e.F15=112]=\"F15\",e[e.F16=113]=\"F16\",e[e.F17=114]=\"F17\",e[e.F18=115]=\"F18\",e[e.F19=116]=\"F19\",e[e.F20=117]=\"F20\",e[e.F21=118]=\"F21\",e[e.F22=119]=\"F22\",e[e.F23=120]=\"F23\",e[e.F24=121]=\"F24\",e[e.Open=122]=\"Open\",e[e.Help=123]=\"Help\",e[e.Select=124]=\"Select\",e[e.Again=125]=\"Again\",e[e.Undo=126]=\"Undo\",e[e.Cut=127]=\"Cut\",e[e.Copy=128]=\"Copy\",e[e.Paste=129]=\"Paste\",e[e.Find=130]=\"Find\",e[e.AudioVolumeMute=131]=\"AudioVolumeMute\",e[e.AudioVolumeUp=132]=\"AudioVolumeUp\",e[e.AudioVolumeDown=133]=\"AudioVolumeDown\",e[e.NumpadComma=134]=\"NumpadComma\",e[e.IntlRo=135]=\"IntlRo\",e[e.KanaMode=136]=\"KanaMode\",e[e.IntlYen=137]=\"IntlYen\",e[e.Convert=138]=\"Convert\",e[e.NonConvert=139]=\"NonConvert\",e[e.Lang1=140]=\"Lang1\",e[e.Lang2=141]=\"Lang2\",e[e.Lang3=142]=\"Lang3\",e[e.Lang4=143]=\"Lang4\",e[e.Lang5=144]=\"Lang5\",e[e.Abort=145]=\"Abort\",e[e.Props=146]=\"Props\",e[e.NumpadParenLeft=147]=\"NumpadParenLeft\",e[e.NumpadParenRight=148]=\"NumpadParenRight\",e[e.NumpadBackspace=149]=\"NumpadBackspace\",e[e.NumpadMemoryStore=150]=\"NumpadMemoryStore\",e[e.NumpadMemoryRecall=151]=\"NumpadMemoryRecall\",e[e.NumpadMemoryClear=152]=\"NumpadMemoryClear\",e[e.NumpadMemoryAdd=153]=\"NumpadMemoryAdd\",e[e.NumpadMemorySubtract=154]=\"NumpadMemorySubtract\",e[e.NumpadClear=155]=\"NumpadClear\",e[e.NumpadClearEntry=156]=\"NumpadClearEntry\",e[e.ControlLeft=157]=\"ControlLeft\",e[e.ShiftLeft=158]=\"ShiftLeft\",e[e.AltLeft=159]=\"AltLeft\",e[e.MetaLeft=160]=\"MetaLeft\",e[e.ControlRight=161]=\"ControlRight\",e[e.ShiftRight=162]=\"ShiftRight\",e[e.AltRight=163]=\"AltRight\",e[e.MetaRight=164]=\"MetaRight\",e[e.BrightnessUp=165]=\"BrightnessUp\",e[e.BrightnessDown=166]=\"BrightnessDown\",e[e.MediaPlay=167]=\"MediaPlay\",e[e.MediaRecord=168]=\"MediaRecord\",e[e.MediaFastForward=169]=\"MediaFastForward\",e[e.MediaRewind=170]=\"MediaRewind\",e[e.MediaTrackNext=171]=\"MediaTrackNext\",e[e.MediaTrackPrevious=172]=\"MediaTrackPrevious\",e[e.MediaStop=173]=\"MediaStop\",e[e.Eject=174]=\"Eject\",e[e.MediaPlayPause=175]=\"MediaPlayPause\",e[e.MediaSelect=176]=\"MediaSelect\",e[e.LaunchMail=177]=\"LaunchMail\",e[e.LaunchApp2=178]=\"LaunchApp2\",e[e.LaunchApp1=179]=\"LaunchApp1\",e[e.SelectTask=180]=\"SelectTask\",e[e.LaunchScreenSaver=181]=\"LaunchScreenSaver\",e[e.BrowserSearch=182]=\"BrowserSearch\",e[e.BrowserHome=183]=\"BrowserHome\",e[e.BrowserBack=184]=\"BrowserBack\",e[e.BrowserForward=185]=\"BrowserForward\",e[e.BrowserStop=186]=\"BrowserStop\",e[e.BrowserRefresh=187]=\"BrowserRefresh\",e[e.BrowserFavorites=188]=\"BrowserFavorites\",e[e.ZoomToggle=189]=\"ZoomToggle\",e[e.MailReply=190]=\"MailReply\",e[e.MailForward=191]=\"MailForward\",e[e.MailSend=192]=\"MailSend\",e[e.MAX_VALUE=193]=\"MAX_VALUE\"}(s||(t.ScanCode=s={}));class r{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||i.Unknown}}const n=new r,o=new r,a=new r;t.EVENT_KEY_CODE_MAP=new Array(230),t.NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE={};const l=[],h=Object.create(null),c=Object.create(null);var d,u;t.ScanCodeUtils={lowerCaseToEnum:e=>c[e]||s.None,toEnum:e=>h[e]||s.None,toString:e=>l[e]||\"None\"},function(e){e.toString=function(e){return n.keyCodeToStr(e)},e.fromString=function(e){return n.strToKeyCode(e)},e.toUserSettingsUS=function(e){return o.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return a.keyCodeToStr(e)},e.fromUserSettings=function(e){return o.strToKeyCode(e)||a.strToKeyCode(e)},e.toElectronAccelerator=function(e){if(e>=i.Numpad0&&e<=i.NumpadDivide)return null;switch(e){case i.UpArrow:return\"Up\";case i.DownArrow:return\"Down\";case i.LeftArrow:return\"Left\";case i.RightArrow:return\"Right\"}return n.keyCodeToStr(e)}}(d||(t.KeyCodeUtils=d={})),function(e){e[e.CtrlCmd=2048]=\"CtrlCmd\",e[e.Shift=1024]=\"Shift\",e[e.Alt=512]=\"Alt\",e[e.WinCtrl=256]=\"WinCtrl\"}(u||(t.KeyMod=u={}))},2811:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResolvedKeybinding=t.ResolvedChord=t.Keybinding=t.ScanCodeChord=t.KeyCodeChord=void 0,t.decodeKeybinding=function(e,t){if(\"number\"==typeof e){if(0===e)return null;const i=(65535&e)>>>0,s=(4294901760&e)>>>16;return new c(0!==s?[a(i,t),a(s,t)]:[a(i,t)])}{const i=[];for(let s=0;s<e.length;s++)i.push(a(e[s],t));return new c(i)}},t.createSimpleKeybinding=a;const s=i(9807),r=i(7883),n=i(8163);var o;function a(e,t){const i=!!(e&o.CtrlCmd),s=!!(e&o.WinCtrl),r=t===n.OperatingSystem.Macintosh?s:i,a=!!(e&o.Shift),h=!!(e&o.Alt),c=t===n.OperatingSystem.Macintosh?i:s,d=e&o.KeyCode;return new l(r,a,h,c,d)}!function(e){e[e.CtrlCmd=2048]=\"CtrlCmd\",e[e.Shift=1024]=\"Shift\",e[e.Alt=512]=\"Alt\",e[e.WinCtrl=256]=\"WinCtrl\",e[e.KeyCode=255]=\"KeyCode\"}(o||(o={}));class l{constructor(e,t,i,s,r){this.ctrlKey=e,this.shiftKey=t,this.altKey=i,this.metaKey=s,this.keyCode=r}equals(e){return e instanceof l&&this.ctrlKey===e.ctrlKey&&this.shiftKey===e.shiftKey&&this.altKey===e.altKey&&this.metaKey===e.metaKey&&this.keyCode===e.keyCode}getHashCode(){return`K${this.ctrlKey?\"1\":\"0\"}${this.shiftKey?\"1\":\"0\"}${this.altKey?\"1\":\"0\"}${this.metaKey?\"1\":\"0\"}${this.keyCode}`}isModifierKey(){return this.keyCode===r.KeyCode.Unknown||this.keyCode===r.KeyCode.Ctrl||this.keyCode===r.KeyCode.Meta||this.keyCode===r.KeyCode.Alt||this.keyCode===r.KeyCode.Shift}toKeybinding(){return new c([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===r.KeyCode.Ctrl||this.shiftKey&&this.keyCode===r.KeyCode.Shift||this.altKey&&this.keyCode===r.KeyCode.Alt||this.metaKey&&this.keyCode===r.KeyCode.Meta}}t.KeyCodeChord=l;class h{constructor(e,t,i,s,r){this.ctrlKey=e,this.shiftKey=t,this.altKey=i,this.metaKey=s,this.scanCode=r}equals(e){return e instanceof h&&this.ctrlKey===e.ctrlKey&&this.shiftKey===e.shiftKey&&this.altKey===e.altKey&&this.metaKey===e.metaKey&&this.scanCode===e.scanCode}getHashCode(){return`S${this.ctrlKey?\"1\":\"0\"}${this.shiftKey?\"1\":\"0\"}${this.altKey?\"1\":\"0\"}${this.metaKey?\"1\":\"0\"}${this.scanCode}`}isDuplicateModifierCase(){return this.ctrlKey&&(this.scanCode===r.ScanCode.ControlLeft||this.scanCode===r.ScanCode.ControlRight)||this.shiftKey&&(this.scanCode===r.ScanCode.ShiftLeft||this.scanCode===r.ScanCode.ShiftRight)||this.altKey&&(this.scanCode===r.ScanCode.AltLeft||this.scanCode===r.ScanCode.AltRight)||this.metaKey&&(this.scanCode===r.ScanCode.MetaLeft||this.scanCode===r.ScanCode.MetaRight)}}t.ScanCodeChord=h;class c{constructor(e){if(0===e.length)throw(0,s.illegalArgument)(\"chords\");this.chords=e}getHashCode(){let e=\"\";for(let t=0,i=this.chords.length;t<i;t++)0!==t&&(e+=\";\"),e+=this.chords[t].getHashCode();return e}equals(e){if(null===e)return!1;if(this.chords.length!==e.chords.length)return!1;for(let t=0;t<this.chords.length;t++)if(!this.chords[t].equals(e.chords[t]))return!1;return!0}}t.Keybinding=c,t.ResolvedChord=class{constructor(e,t,i,s,r,n){this.ctrlKey=e,this.shiftKey=t,this.altKey=i,this.metaKey=s,this.keyLabel=r,this.keyAriaLabel=n}},t.ResolvedKeybinding=class{}},626:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Lazy=void 0,t.Lazy=class{constructor(e){this.executor=e,this._didRun=!1}get hasValue(){return this._didRun}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}},7150:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DisposableMap=t.ImmortalReference=t.AsyncReferenceCollection=t.ReferenceCollection=t.SafeDisposable=t.RefCountedDisposable=t.MandatoryMutableDisposable=t.MutableDisposable=t.Disposable=t.DisposableStore=t.DisposableTracker=void 0,t.setDisposableTracker=function(e){l=e},t.trackDisposable=c,t.markAsDisposed=d,t.markAsSingleton=function(e){return l?.markAsSingleton(e),e},t.isDisposable=_,t.dispose=f,t.disposeIfDisposable=function(e){for(const t of e)_(t)&&t.dispose();return[]},t.combinedDisposable=function(...e){const t=p((()=>f(e)));return function(e,t){if(l)for(const i of e)l.setParent(i,t)}(e,t),t},t.toDisposable=p,t.disposeOnReturn=function(e){const t=new g;try{e(t)}finally{t.dispose()}};const s=i(3058),r=i(9087),n=i(2608),o=i(8841),a=i(4218);let l=null;class h{constructor(){this.livingDisposables=new Map}static{this.idx=0}getDisposableData(e){let t=this.livingDisposables.get(e);return t||(t={parent:null,source:null,isSingleton:!1,value:e,idx:h.idx++},this.livingDisposables.set(e,t)),t}trackDisposable(e){const t=this.getDisposableData(e);t.source||(t.source=(new Error).stack)}setParent(e,t){this.getDisposableData(e).parent=t}markAsDisposed(e){this.livingDisposables.delete(e)}markAsSingleton(e){this.getDisposableData(e).isSingleton=!0}getRootParent(e,t){const i=t.get(e);if(i)return i;const s=e.parent?this.getRootParent(this.getDisposableData(e.parent),t):e;return t.set(e,s),s}getTrackedDisposables(){const e=new Map;return[...this.livingDisposables.entries()].filter((([,t])=>null!==t.source&&!this.getRootParent(t,e).isSingleton)).flatMap((([e])=>e))}computeLeakingDisposables(e=10,t){let i;if(t)i=t;else{const e=new Map,t=[...this.livingDisposables.values()].filter((t=>null!==t.source&&!this.getRootParent(t,e).isSingleton));if(0===t.length)return;const s=new Set(t.map((e=>e.value)));if(i=t.filter((e=>!(e.parent&&s.has(e.parent)))),0===i.length)throw new Error(\"There are cyclic diposable chains!\")}if(!i)return;function o(e){const t=e.source.split(\"\\n\").map((e=>e.trim().replace(\"at \",\"\"))).filter((e=>\"\"!==e));return function(e,t){for(;e.length>0&&t.some((t=>\"string\"==typeof t?t===e[0]:e[0].match(t)));)e.shift()}(t,[\"Error\",/^trackDisposable \\(.*\\)$/,/^DisposableTracker.trackDisposable \\(.*\\)$/]),t.reverse()}const a=new n.SetMap;for(const e of i){const t=o(e);for(let i=0;i<=t.length;i++)a.add(t.slice(0,i).join(\"\\n\"),e)}i.sort((0,s.compareBy)((e=>e.idx),s.numberComparator));let l=\"\",h=0;for(const t of i.slice(0,e)){h++;const e=o(t),s=[];for(let t=0;t<e.length;t++){let n=e[t];n=`(shared with ${a.get(e.slice(0,t+1).join(\"\\n\")).size}/${i.length} leaks) at ${n}`;const l=a.get(e.slice(0,t).join(\"\\n\")),h=(0,r.groupBy)([...l].map((e=>o(e)[t])),(e=>e));delete h[e[t]];for(const[e,t]of Object.entries(h))s.unshift(` - stacktraces of ${t.length} other leaks continue with ${e}`);s.unshift(n)}l+=`\\n\\n\\n==================== Leaking disposable ${h}/${i.length}: ${t.value.constructor.name} ====================\\n${s.join(\"\\n\")}\\n============================================================\\n\\n`}return i.length>e&&(l+=`\\n\\n\\n... and ${i.length-e} more leaking disposables\\n\\n`),{leaks:i,details:l}}}function c(e){return l?.trackDisposable(e),e}function d(e){l?.markAsDisposed(e)}function u(e,t){l?.setParent(e,t)}function _(e){return\"object\"==typeof e&&null!==e&&\"function\"==typeof e.dispose&&0===e.dispose.length}function f(e){if(a.Iterable.is(e)){const t=[];for(const i of e)if(i)try{i.dispose()}catch(e){t.push(e)}if(1===t.length)throw t[0];if(t.length>1)throw new AggregateError(t,\"Encountered errors while disposing of store\");return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function p(e){const t=c({dispose:(0,o.createSingleCallFunction)((()=>{d(t),e()}))});return t}t.DisposableTracker=h;class g{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1,c(this)}dispose(){this._isDisposed||(d(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{f(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error(\"Cannot register a disposable on itself!\");return u(e,this),this._isDisposed?g.DISABLE_DISPOSED_WARNING||console.warn(new Error(\"Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!\").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error(\"Cannot dispose a disposable on itself!\");this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),u(e,null))}}t.DisposableStore=g;class m{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new g,c(this),u(this._store,this)}dispose(){d(this),this._store.dispose()}_register(e){if(e===this)throw new Error(\"Cannot register a disposable on itself!\");return this._store.add(e)}}t.Disposable=m;class v{constructor(){this._isDisposed=!1,c(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&u(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,d(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){const e=this._value;return this._value=void 0,e&&u(e,null),e}}t.MutableDisposable=v,t.MandatoryMutableDisposable=class{constructor(e){this._disposable=new v,this._isDisposed=!1,this._disposable.value=e}get value(){return this._disposable.value}set value(e){this._isDisposed||e===this._disposable.value||(this._disposable.value=e)}dispose(){this._isDisposed=!0,this._disposable.dispose()}},t.RefCountedDisposable=class{constructor(e){this._disposable=e,this._counter=1}acquire(){return this._counter++,this}release(){return 0==--this._counter&&this._disposable.dispose(),this}},t.SafeDisposable=class{constructor(){this.dispose=()=>{},this.unset=()=>{},this.isset=()=>!1,c(this)}set(e){let t=e;return this.unset=()=>t=void 0,this.isset=()=>void 0!==t,this.dispose=()=>{t&&(t(),t=void 0,d(this))},this}},t.ReferenceCollection=class{constructor(){this.references=new Map}acquire(e,...t){let i=this.references.get(e);i||(i={counter:0,object:this.createReferencedObject(e,...t)},this.references.set(e,i));const{object:s}=i,r=(0,o.createSingleCallFunction)((()=>{0==--i.counter&&(this.destroyReferencedObject(e,i.object),this.references.delete(e))}));return i.counter++,{object:s,dispose:r}}},t.AsyncReferenceCollection=class{constructor(e){this.referenceCollection=e}async acquire(e,...t){const i=this.referenceCollection.acquire(e,...t);try{return{object:await i.object,dispose:()=>i.dispose()}}catch(e){throw i.dispose(),e}}},t.ImmortalReference=class{constructor(e){this.object=e}dispose(){}};class S{constructor(){this._store=new Map,this._isDisposed=!1,c(this)}dispose(){d(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{f(this._store.values())}finally{this._store.clear()}}has(e){return this._store.has(e)}get size(){return this._store.size}get(e){return this._store.get(e)}set(e,t,i=!1){this._isDisposed&&console.warn(new Error(\"Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!\").stack),i||this._store.get(e)?.dispose(),this._store.set(e,t)}deleteAndDispose(e){this._store.get(e)?.dispose(),this._store.delete(e)}deleteAndLeak(e){const t=this._store.get(e);return this._store.delete(e),t}keys(){return this._store.keys()}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}}t.DisposableMap=S},6317:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.LinkedList=void 0;class i{static{this.Undefined=new i(void 0)}constructor(e){this.element=e,this.next=i.Undefined,this.prev=i.Undefined}}class s{constructor(){this._first=i.Undefined,this._last=i.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===i.Undefined}clear(){let e=this._first;for(;e!==i.Undefined;){const t=e.next;e.prev=i.Undefined,e.next=i.Undefined,e=t}this._first=i.Undefined,this._last=i.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const s=new i(e);if(this._first===i.Undefined)this._first=s,this._last=s;else if(t){const e=this._last;this._last=s,s.prev=e,e.next=s}else{const e=this._first;this._first=s,s.next=e,e.prev=s}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(s))}}shift(){if(this._first!==i.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==i.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==i.Undefined&&e.next!==i.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===i.Undefined&&e.next===i.Undefined?(this._first=i.Undefined,this._last=i.Undefined):e.next===i.Undefined?(this._last=this._last.prev,this._last.next=i.Undefined):e.prev===i.Undefined&&(this._first=this._first.next,this._first.prev=i.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==i.Undefined;)yield e.element,e=e.next}}t.LinkedList=s},2608:(e,t)=>{var i;Object.defineProperty(t,\"__esModule\",{value:!0}),t.SetMap=t.BidirectionalMap=t.CounterSet=t.Touch=void 0,t.getOrSet=function(e,t,i){let s=e.get(t);return void 0===s&&(s=i,e.set(t,s)),s},t.mapToString=function(e){const t=[];return e.forEach(((e,i)=>{t.push(`${i} => ${e}`)})),`Map(${e.size}) {${t.join(\", \")}}`},t.setToString=function(e){const t=[];return e.forEach((e=>{t.push(e)})),`Set(${e.size}) {${t.join(\", \")}}`},t.mapsStrictEqualIgnoreOrder=function(e,t){if(e===t)return!0;if(e.size!==t.size)return!1;for(const[i,s]of e)if(!t.has(i)||t.get(i)!==s)return!1;for(const[i]of t)if(!e.has(i))return!1;return!0},function(e){e[e.None=0]=\"None\",e[e.AsOld=1]=\"AsOld\",e[e.AsNew=2]=\"AsNew\"}(i||(t.Touch=i={})),t.CounterSet=class{constructor(){this.map=new Map}add(e){return this.map.set(e,(this.map.get(e)||0)+1),this}delete(e){let t=this.map.get(e)||0;return 0!==t&&(t--,0===t?this.map.delete(e):this.map.set(e,t),!0)}has(e){return this.map.has(e)}},t.BidirectionalMap=class{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(const[t,i]of e)this.set(t,i)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){const t=this._m1.get(e);return void 0!==t&&(this._m1.delete(e),this._m2.delete(t),!0)}forEach(e,t){this._m1.forEach(((i,s)=>{e.call(t,i,s,this)}))}keys(){return this._m1.keys()}values(){return this._m1.values()}},t.SetMap=class{constructor(){this.map=new Map}add(e,t){let i=this.map.get(e);i||(i=new Set,this.map.set(e,i)),i.add(t)}delete(e,t){const i=this.map.get(e);i&&(i.delete(t),0===i.size&&this.map.delete(e))}forEach(e,t){const i=this.map.get(e);i&&i.forEach(t)}get(e){return this.map.get(e)||new Set}}},7704:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.SlidingWindowAverage=t.MovingAverage=t.Counter=void 0,t.clamp=function(e,t,i){return Math.min(Math.max(e,t),i)},t.rot=function(e,t){return(t+e%t)%t},t.isPointWithinTriangle=function(e,t,i,s,r,n,o,a){const l=o-i,h=a-s,c=r-i,d=n-s,u=e-i,_=t-s,f=l*l+h*h,p=l*c+h*d,g=l*u+h*_,m=c*c+d*d,v=c*u+d*_,S=1/(f*m-p*p),b=(m*g-p*v)*S,C=(f*v-p*g)*S;return b>=0&&C>=0&&b+C<1},t.Counter=class{constructor(){this._next=0}getNext(){return this._next++}},t.MovingAverage=class{constructor(){this._n=1,this._val=0}update(e){return this._val=this._val+(e-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}},t.SlidingWindowAverage=class{constructor(e){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(e),this._values.fill(0,0,e)}update(e){const t=this._values[this._index];return this._values[this._index]=e,this._index=(this._index+1)%this._values.length,this._sum-=t,this._sum+=e,this._n<this._values.length&&(this._n+=1),this._val=this._sum/this._n,this._val}get value(){return this._val}}},8163:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.isAndroid=t.isEdge=t.isSafari=t.isFirefox=t.isChrome=t.OS=t.OperatingSystem=t.setTimeout0=t.setTimeout0IsFaster=t.translationsConfigFile=t.platformLocale=t.locale=t.Language=t.language=t.userAgent=t.platform=t.isCI=t.isMobile=t.isIOS=t.webWorkerOrigin=t.isWebWorker=t.isWeb=t.isElectron=t.isNative=t.isLinuxSnap=t.isLinux=t.isMacintosh=t.isWindows=t.Platform=t.LANGUAGE_DEFAULT=void 0,t.PlatformToString=function(e){switch(e){case C.Web:return\"Web\";case C.Mac:return\"Mac\";case C.Linux:return\"Linux\";case C.Windows:return\"Windows\"}},t.isLittleEndian=function(){if(!L){L=!0;const e=new Uint8Array(2);e[0]=1,e[1]=2;const t=new Uint16Array(e.buffer);D=513===t[0]}return D},t.isBigSurOrNewer=function(e){return parseFloat(e)>=20},t.LANGUAGE_DEFAULT=\"en\";let i,s,r,n=!1,o=!1,a=!1,l=!1,h=!1,c=!1,d=!1,u=!1,_=!1,f=!1,p=t.LANGUAGE_DEFAULT,g=t.LANGUAGE_DEFAULT;const m=globalThis;let v;void 0!==m.vscode&&void 0!==m.vscode.process?v=m.vscode.process:\"undefined\"!=typeof process&&\"string\"==typeof process?.versions?.node&&(v=process);const S=\"string\"==typeof v?.versions?.electron,b=S&&\"renderer\"===v?.type;if(\"object\"==typeof v){n=\"win32\"===v.platform,o=\"darwin\"===v.platform,a=\"linux\"===v.platform,l=a&&!!v.env.SNAP&&!!v.env.SNAP_REVISION,d=S,_=!!v.env.CI||!!v.env.BUILD_ARTIFACTSTAGINGDIRECTORY,i=t.LANGUAGE_DEFAULT,p=t.LANGUAGE_DEFAULT;const e=v.env.VSCODE_NLS_CONFIG;if(e)try{const r=JSON.parse(e);i=r.userLocale,g=r.osLocale,p=r.resolvedLanguage||t.LANGUAGE_DEFAULT,s=r.languagePack?.translationsConfigFile}catch(e){}h=!0}else\"object\"!=typeof navigator||b?console.error(\"Unable to resolve platform.\"):(r=navigator.userAgent,n=r.indexOf(\"Windows\")>=0,o=r.indexOf(\"Macintosh\")>=0,u=(r.indexOf(\"Macintosh\")>=0||r.indexOf(\"iPad\")>=0||r.indexOf(\"iPhone\")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,a=r.indexOf(\"Linux\")>=0,f=r?.indexOf(\"Mobi\")>=0,c=!0,p=globalThis._VSCODE_NLS_LANGUAGE||t.LANGUAGE_DEFAULT,i=navigator.language.toLowerCase(),g=i);var C;!function(e){e[e.Web=0]=\"Web\",e[e.Mac=1]=\"Mac\",e[e.Linux=2]=\"Linux\",e[e.Windows=3]=\"Windows\"}(C||(t.Platform=C={}));let y=C.Web;var w,E;o?y=C.Mac:n?y=C.Windows:a&&(y=C.Linux),t.isWindows=n,t.isMacintosh=o,t.isLinux=a,t.isLinuxSnap=l,t.isNative=h,t.isElectron=d,t.isWeb=c,t.isWebWorker=c&&\"function\"==typeof m.importScripts,t.webWorkerOrigin=t.isWebWorker?m.origin:void 0,t.isIOS=u,t.isMobile=f,t.isCI=_,t.platform=y,t.userAgent=r,t.language=p,function(e){e.value=function(){return t.language},e.isDefaultVariant=function(){return 2===t.language.length?\"en\"===t.language:t.language.length>=3&&\"e\"===t.language[0]&&\"n\"===t.language[1]&&\"-\"===t.language[2]},e.isDefault=function(){return\"en\"===t.language}}(w||(t.Language=w={})),t.locale=i,t.platformLocale=g,t.translationsConfigFile=s,t.setTimeout0IsFaster=\"function\"==typeof m.postMessage&&!m.importScripts,t.setTimeout0=(()=>{if(t.setTimeout0IsFaster){const e=[];m.addEventListener(\"message\",(t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let i=0,s=e.length;i<s;i++){const s=e[i];if(s.id===t.data.vscodeScheduleAsyncWork)return e.splice(i,1),void s.callback()}}));let t=0;return i=>{const s=++t;e.push({id:s,callback:i}),m.postMessage({vscodeScheduleAsyncWork:s},\"*\")}}return e=>setTimeout(e)})(),function(e){e[e.Windows=1]=\"Windows\",e[e.Macintosh=2]=\"Macintosh\",e[e.Linux=3]=\"Linux\"}(E||(t.OperatingSystem=E={})),t.OS=o||u?E.Macintosh:n?E.Windows:E.Linux;let D=!0,L=!1;t.isChrome=!!(t.userAgent&&t.userAgent.indexOf(\"Chrome\")>=0),t.isFirefox=!!(t.userAgent&&t.userAgent.indexOf(\"Firefox\")>=0),t.isSafari=!!(!t.isChrome&&t.userAgent&&t.userAgent.indexOf(\"Safari\")>=0),t.isEdge=!!(t.userAgent&&t.userAgent.indexOf(\"Edg/\")>=0),t.isAndroid=!!(t.userAgent&&t.userAgent.indexOf(\"Android\")>=0)},9881:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.SmoothScrollingOperation=t.SmoothScrollingUpdate=t.Scrollable=t.ScrollState=t.ScrollbarVisibility=void 0;const s=i(802),r=i(7150);var n;!function(e){e[e.Auto=1]=\"Auto\",e[e.Hidden=2]=\"Hidden\",e[e.Visible=3]=\"Visible\"}(n||(t.ScrollbarVisibility=n={}));class o{constructor(e,t,i,s,r,n,o){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t|=0,i|=0,s|=0,r|=0,n|=0,o|=0),this.rawScrollLeft=s,this.rawScrollTop=o,t<0&&(t=0),s+t>i&&(s=i-t),s<0&&(s=0),r<0&&(r=0),o+r>n&&(o=n-r),o<0&&(o=0),this.width=t,this.scrollWidth=i,this.scrollLeft=s,this.height=r,this.scrollHeight=n,this.scrollTop=o}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(e,t){return new o(this._forceIntegerValues,void 0!==e.width?e.width:this.width,void 0!==e.scrollWidth?e.scrollWidth:this.scrollWidth,t?this.rawScrollLeft:this.scrollLeft,void 0!==e.height?e.height:this.height,void 0!==e.scrollHeight?e.scrollHeight:this.scrollHeight,t?this.rawScrollTop:this.scrollTop)}withScrollPosition(e){return new o(this._forceIntegerValues,this.width,this.scrollWidth,void 0!==e.scrollLeft?e.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,void 0!==e.scrollTop?e.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){const i=this.width!==e.width,s=this.scrollWidth!==e.scrollWidth,r=this.scrollLeft!==e.scrollLeft,n=this.height!==e.height,o=this.scrollHeight!==e.scrollHeight,a=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:i,scrollWidthChanged:s,scrollLeftChanged:r,heightChanged:n,scrollHeightChanged:o,scrollTopChanged:a}}}t.ScrollState=o;class a extends r.Disposable{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new s.Emitter),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new o(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){const i=this._state.withScrollDimensions(e,t);this._setState(i,Boolean(this._smoothScrolling)),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){const t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(0===this._smoothScrollDuration)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:void 0===e.scrollLeft?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:void 0===e.scrollTop?this._smoothScrolling.to.scrollTop:e.scrollTop};const i=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===i.scrollLeft&&this._smoothScrolling.to.scrollTop===i.scrollTop)return;let s;s=t?new c(this._smoothScrolling.from,i,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,i,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=s}else{const t=this._state.withScrollPosition(e);this._smoothScrolling=c.start(this._state,t,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))}hasPendingScrollAnimation(){return Boolean(this._smoothScrolling)}_performSmoothScrolling(){if(!this._smoothScrolling)return;const e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);return this._setState(t,!0),this._smoothScrolling?e.isDone?(this._smoothScrolling.dispose(),void(this._smoothScrolling=null)):void(this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))):void 0}_setState(e,t){const i=this._state;i.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(i,t)))}}t.Scrollable=a;class l{constructor(e,t,i){this.scrollLeft=e,this.scrollTop=t,this.isDone=i}}function h(e,t){const i=t-e;return function(t){return e+i*(1-(s=1-t,Math.pow(s,3)));var s}}t.SmoothScrollingUpdate=l;class c{constructor(e,t,i,s){this.from=e,this.to=t,this.duration=s,this.startTime=i,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(e,t,i){if(Math.abs(e-t)>2.5*i){let o,a;return e<t?(o=e+.75*i,a=t-.75*i):(o=e-.75*i,a=t+.75*i),s=h(e,o),r=h(a,t),n=.33,function(e){return e<n?s(e/n):r((e-n)/(1-n))}}var s,r,n;return h(e,t)}dispose(){null!==this.animationFrameDisposable&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(e){this.to=e.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(e){const t=(e-this.startTime)/this.duration;if(t<1){const e=this.scrollLeft(t),i=this.scrollTop(t);return new l(e,i,!1)}return new l(this.to.scrollLeft,this.to.scrollTop,!0)}combine(e,t,i){return c.start(e,t,i)}static start(e,t,i){i+=10;const s=Date.now()-10;return new c(e,t,s,i)}}t.SmoothScrollingOperation=c},9725:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.StopWatch=void 0;const i=globalThis.performance&&\"function\"==typeof globalThis.performance.now;class s{static create(e){return new s(e)}constructor(e){this._now=i&&!1===e?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}t.StopWatch=s},1316:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.noBreakWhitespace=t.CodePointIterator=void 0,t.isFalsyOrWhitespace=function(e){return!e||\"string\"!=typeof e||0===e.trim().length},t.format=function(e,...t){return 0===t.length?e:e.replace(n,(function(e,i){const s=parseInt(i,10);return isNaN(s)||s<0||s>=t.length?e:t[s]}))},t.format2=function(e,t){return 0===Object.keys(t).length?e:e.replace(o,((e,i)=>t[i]??e))},t.htmlAttributeEncodeValue=function(e){return e.replace(/[<>\"'&]/g,(e=>{switch(e){case\"<\":return\"<\";case\">\":return\">\";case'\"':return\""\";case\"'\":return\"'\";case\"&\":return\"&\"}return e}))},t.escape=function(e){return e.replace(/[<>&]/g,(function(e){switch(e){case\"<\":return\"<\";case\">\":return\">\";case\"&\":return\"&\";default:return e}}))},t.escapeRegExpCharacters=a,t.count=function(e,t){let i=0,s=e.indexOf(t);for(;-1!==s;)i++,s=e.indexOf(t,s+t.length);return i},t.truncate=function(e,t,i=\"…\"){return e.length<=t?e:`${e.substr(0,t)}${i}`},t.truncateMiddle=function(e,t,i=\"…\"){if(e.length<=t)return e;const s=Math.ceil(t/2)-i.length/2,r=Math.floor(t/2)-i.length/2;return`${e.substr(0,s)}${i}${e.substr(e.length-r)}`},t.trim=function(e,t=\" \"){return h(l(e,t),t)},t.ltrim=l,t.rtrim=h,t.convertSimple2RegExpPattern=function(e){return e.replace(/[\\-\\\\\\{\\}\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g,\"\\\\$&\").replace(/[\\*]/g,\".*\")},t.stripWildcards=function(e){return e.replace(/\\*/g,\"\")},t.createRegExp=function(e,t,i={}){if(!e)throw new Error(\"Cannot create regex from empty string\");t||(e=a(e)),i.wholeWord&&(/\\B/.test(e.charAt(0))||(e=\"\\\\b\"+e),/\\B/.test(e.charAt(e.length-1))||(e+=\"\\\\b\"));let s=\"\";return i.global&&(s+=\"g\"),i.matchCase||(s+=\"i\"),i.multiline&&(s+=\"m\"),i.unicode&&(s+=\"u\"),new RegExp(e,s)},t.regExpLeadsToEndlessLoop=function(e){return\"^\"!==e.source&&\"^$\"!==e.source&&\"$\"!==e.source&&\"^\\\\s*$\"!==e.source&&!(!e.exec(\"\")||0!==e.lastIndex)},t.splitLines=function(e){return e.split(/\\r\\n|\\r|\\n/)},t.splitLinesIncludeSeparators=function(e){const t=[],i=e.split(/(\\r\\n|\\r|\\n)/);for(let e=0;e<Math.ceil(i.length/2);e++)t.push(i[2*e]+(i[2*e+1]??\"\"));return t},t.firstNonWhitespaceIndex=function(e){for(let t=0,i=e.length;t<i;t++){const i=e.charCodeAt(t);if(i!==s.CharCode.Space&&i!==s.CharCode.Tab)return t}return-1},t.getLeadingWhitespace=function(e,t=0,i=e.length){for(let r=t;r<i;r++){const i=e.charCodeAt(r);if(i!==s.CharCode.Space&&i!==s.CharCode.Tab)return e.substring(t,r)}return e.substring(t,i)},t.lastNonWhitespaceIndex=function(e,t=e.length-1){for(let i=t;i>=0;i--){const t=e.charCodeAt(i);if(t!==s.CharCode.Space&&t!==s.CharCode.Tab)return i}return-1},t.replaceAsync=function(e,t,i){const s=[];let r=0;for(const n of e.matchAll(t)){if(s.push(e.slice(r,n.index)),void 0===n.index)throw new Error(\"match.index should be defined\");r=n.index+n[0].length,s.push(i(n[0],...n.slice(1),n.index,e,n.groups))}return s.push(e.slice(r)),Promise.all(s).then((e=>e.join(\"\")))},t.compare=function(e,t){return e<t?-1:e>t?1:0},t.compareSubstring=c,t.compareIgnoreCase=function(e,t){return d(e,t,0,e.length,0,t.length)},t.compareSubstringIgnoreCase=d,t.isAsciiDigit=function(e){return e>=s.CharCode.Digit0&&e<=s.CharCode.Digit9},t.isLowerAsciiLetter=u,t.isUpperAsciiLetter=function(e){return e>=s.CharCode.A&&e<=s.CharCode.Z},t.equalsIgnoreCase=function(e,t){return e.length===t.length&&0===d(e,t)},t.startsWithIgnoreCase=function(e,t){const i=t.length;return!(t.length>e.length)&&0===d(e,t,0,i)},t.commonPrefixLength=function(e,t){const i=Math.min(e.length,t.length);let s;for(s=0;s<i;s++)if(e.charCodeAt(s)!==t.charCodeAt(s))return s;return i},t.commonSuffixLength=function(e,t){const i=Math.min(e.length,t.length);let s;const r=e.length-1,n=t.length-1;for(s=0;s<i;s++)if(e.charCodeAt(r-s)!==t.charCodeAt(n-s))return s;return i},t.isHighSurrogate=_,t.isLowSurrogate=f,t.computeCodePoint=p,t.getNextCodePoint=g;const s=i(4869),r=i(8960),n=/{(\\d+)}/g,o=/{([^}]+)}/g;function a(e){return e.replace(/[\\\\\\{\\}\\*\\+\\?\\|\\^\\$\\.\\[\\]\\(\\)]/g,\"\\\\$&\")}function l(e,t){if(!e||!t)return e;const i=t.length;if(0===i||0===e.length)return e;let s=0;for(;e.indexOf(t,s)===s;)s+=i;return e.substring(s)}function h(e,t){if(!e||!t)return e;const i=t.length,s=e.length;if(0===i||0===s)return e;let r=s,n=-1;for(;n=e.lastIndexOf(t,r-1),-1!==n&&n+i===r;){if(0===n)return\"\";r=n}return e.substring(0,r)}function c(e,t,i=0,s=e.length,r=0,n=t.length){for(;i<s&&r<n;i++,r++){const s=e.charCodeAt(i),n=t.charCodeAt(r);if(s<n)return-1;if(s>n)return 1}const o=s-i,a=n-r;return o<a?-1:o>a?1:0}function d(e,t,i=0,s=e.length,r=0,n=t.length){for(;i<s&&r<n;i++,r++){let o=e.charCodeAt(i),a=t.charCodeAt(r);if(o===a)continue;if(o>=128||a>=128)return c(e.toLowerCase(),t.toLowerCase(),i,s,r,n);u(o)&&(o-=32),u(a)&&(a-=32);const l=o-a;if(0!==l)return l}const o=s-i,a=n-r;return o<a?-1:o>a?1:0}function u(e){return e>=s.CharCode.a&&e<=s.CharCode.z}function _(e){return 55296<=e&&e<=56319}function f(e){return 56320<=e&&e<=57343}function p(e,t){return t-56320+(e-55296<<10)+65536}function g(e,t,i){const s=e.charCodeAt(i);if(_(s)&&i+1<t){const t=e.charCodeAt(i+1);if(f(t))return p(s,t)}return s}t.CodePointIterator=class{get offset(){return this._offset}constructor(e,t=0){this._str=e,this._len=e.length,this._offset=t}setOffset(e){this._offset=e}prevCodePoint(){const e=function(e,t){const i=e.charCodeAt(t-1);if(f(i)&&t>1){const s=e.charCodeAt(t-2);if(_(s))return p(s,i)}return i}(this._str,this._offset);return this._offset-=e>=r.Constants.UNICODE_SUPPLEMENTARY_PLANE_BEGIN?2:1,e}nextCodePoint(){const e=g(this._str,this._len,this._offset);return this._offset+=e>=r.Constants.UNICODE_SUPPLEMENTARY_PLANE_BEGIN?2:1,e}eol(){return this._offset>=this._len}},t.noBreakWhitespace=\" \"},5015:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.MicrotaskDelay=void 0,t.MicrotaskDelay=Symbol(\"MicrotaskDelay\")},8960:(e,t)=>{var i;Object.defineProperty(t,\"__esModule\",{value:!0}),t.Constants=void 0,t.toUint8=function(e){return e<0?0:e>i.MAX_UINT_8?i.MAX_UINT_8:0|e},t.toUint32=function(e){return e<0?0:e>i.MAX_UINT_32?i.MAX_UINT_32:0|e},function(e){e[e.MAX_SAFE_SMALL_INTEGER=1073741824]=\"MAX_SAFE_SMALL_INTEGER\",e[e.MIN_SAFE_SMALL_INTEGER=-1073741824]=\"MIN_SAFE_SMALL_INTEGER\",e[e.MAX_UINT_8=255]=\"MAX_UINT_8\",e[e.MAX_UINT_16=65535]=\"MAX_UINT_16\",e[e.MAX_UINT_32=4294967295]=\"MAX_UINT_32\",e[e.UNICODE_SUPPLEMENTARY_PLANE_BEGIN=65536]=\"UNICODE_SUPPLEMENTARY_PLANE_BEGIN\"}(i||(t.Constants=i={}))}},t={};function i(s){var r=t[s];if(void 0!==r)return r.exports;var n=t[s]={exports:{}};return e[s].call(n.exports,n,n.exports,i),n.exports}var s={};return(()=>{var e=s;Object.defineProperty(e,\"__esModule\",{value:!0}),e.Terminal=void 0;const t=i(7721),r=i(1718),n=i(7150),o=i(3027),a=i(5101),l=i(6097),h=i(4335),c=[\"cols\",\"rows\"];let d=0;class u extends n.Disposable{constructor(e){super(),this._core=this._register(new r.CoreBrowserTerminal(e)),this._addonManager=this._register(new o.AddonManager),this._publicOptions={...this._core.options};const t=e=>this._core.options[e],i=(e,t)=>{this._checkReadonlyOptions(e),this._core.options[e]=t};for(const e in this._core.options){const s={get:t.bind(this,e),set:i.bind(this,e)};Object.defineProperty(this._publicOptions,e,s)}}_checkReadonlyOptions(e){if(c.includes(e))throw new Error(`Option \"${e}\" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error(\"You must set the allowProposedApi option to true to use proposed API\")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new l.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new h.UnicodeApi(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this._register(new a.BufferNamespaceApi(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){const e=this._core.coreService.decPrivateModes;let t=\"none\";switch(this._core.coreMouseService.activeProtocol){case\"X10\":t=\"x10\";break;case\"VT200\":t=\"vt200\";break;case\"DRAG\":t=\"drag\";break;case\"ANY\":t=\"any\"}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,synchronizedOutputMode:e.synchronizedOutput,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(const t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}input(e,t=!0){this._core.input(e,t)}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this._core.attachCustomWheelEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){return this._checkProposedApi(),this._verifyPositiveIntegers(e.x??0,e.width??0,e.height??0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,i){this._verifyIntegers(e,t,i),this._core.select(e,t,i)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write(\"\\r\\n\",t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return{get promptLabel(){return t.promptLabel.get()},set promptLabel(e){t.promptLabel.set(e)},get tooMuchOutput(){return t.tooMuchOutput.get()},set tooMuchOutput(e){t.tooMuchOutput.set(e)}}}_verifyIntegers(...e){for(d of e)if(d===1/0||isNaN(d)||d%1!=0)throw new Error(\"This API only accepts integers\")}_verifyPositiveIntegers(...e){for(d of e)if(d&&(d===1/0||isNaN(d)||d%1!=0||d<0))throw new Error(\"This API only accepts positive integers\")}}e.Terminal=u})(),s})()));\n//# sourceMappingURL=xterm.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/**\n * The Terminal panel: interactive shells of the operator's own, in the session's working directory.\n *\n * There are as many as the Host's `maxTerminals` allows, on a tab strip. Each tab is a separate\n * `spawnTerminal` allocation with its own emulator, its own poll chain, and its own lifetime; the\n * handles live in the shared controller rather than in this component, so switching to another\n * panel or closing the dock leaves the shells running exactly as hiding a terminal pane in an\n * editor does. A reopened tab replays instead of restarting, because the Host retains each shell's\n * scrollback and the panel asks for it from offset zero.\n *\n * The screen is a real terminal emulator (`@xterm/xterm`), not an approximation. That is not\n * gold-plating: an interactive shell redraws its prompt with cursor addressing on every keystroke,\n * and a screen model that understands only carriage returns and erase-line renders a login shell's\n * prompt as overwritten fragments. Colour, line editing, history recall, and full-screen programs\n * all come with the emulator; nothing here reimplements them.\n *\n * Output arrives by polling, because an out-of-tree plugin has no host-to-client push channel: each\n * view holds the whole-stream offset it has already written into its emulator and asks for whatever\n * came after it.\n * @module @achasoft/dsh-advanced-sidebar/client/panels/TerminalPanel\n */\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { FitAddon } from '@xterm/addon-fit';\nimport { Terminal } from '@xterm/xterm';\nimport { IconPlusOutline16, IconRefreshOutline14, IconStopFill16, IconTrashOutline16, } from '@deepseek-ai/dsh-client-ui-primitives';\nimport '@xterm/xterm/css/xterm.css';\nimport { terminalKey } from \"../controller.js\";\nimport { Alert, Badge, Button, Tabs } from \"../ui/index.js\";\nimport { cx } from \"../cx.js\";\nimport { transportMessage, useLatest } from \"./shared.js\";\nimport css from './Panels.module.css';\n/** How often a view asks for new output while its shell is alive. */\nconst POLL_MS = 200;\n/** Retained scrollback rows inside one emulator. */\nconst SCROLLBACK = 5_000;\n/** The byte Ctrl+C produces; intercepted so an interrupt becomes a signal rather than data. */\nconst ETX = '\\u0003';\n/** Terminals a Host allows by default, used only until its settings answer. */\nconst DEFAULT_MAX_TERMINALS = 4;\n/**\n * The emulator's palette, resolved from the app's own tokens.\n *\n * xterm paints its own canvas and cannot inherit a CSS colour, so the theme is read from the\n * document at mount. Reading the computed value rather than naming a literal is what makes the\n * panel follow the app's light/dark setting instead of pinning one of them.\n * @param host - the element the terminal will be opened in.\n * @returns the resolved theme.\n */\nfunction paletteOf(host) {\n const style = getComputedStyle(host);\n const read = (name, fallback) => {\n const value = style.getPropertyValue(name).trim();\n return value === '' ? fallback : value;\n };\n return {\n background: read('--dsw-alias-bg-layer-1', '#00000000'),\n foreground: read('--dsw-alias-label-primary', '#e6e6e6'),\n cursor: read('--dsw-alias-brand-primary', '#7aa2f7'),\n selectionBackground: read('--dsw-alias-bg-multi-select', '#5a7cff4d'),\n };\n}\n/**\n * The trailing component of a shell path, for a tab's tooltip.\n * @param shell - the executable the Host started; absent while it is being allocated.\n * @returns the basename, or an empty string.\n */\nfunction shellName(shell) {\n if (shell === undefined)\n return '';\n const at = Math.max(shell.lastIndexOf('/'), shell.lastIndexOf('\\\\'));\n return at < 0 ? shell : shell.slice(at + 1);\n}\n/**\n * One shell: its screen, its keyboard, and the toolbar acting on it.\n * @param props - the tab, its group, the directory, and the dock's face.\n * @returns the view.\n * @see {@link TerminalViewProps}\n */\nfunction TerminalView({ tab, groupKey, directory, active, t, face }) {\n const { terminalOpen, terminalRead, terminalWrite, terminalInterrupt, terminalClose, settleTerminal } = face;\n const latest = useLatest(t);\n const [exit, setExit] = useState(undefined);\n const [lossy, setLossy] = useState(false);\n const [failure, setFailure] = useState(undefined);\n const [attempt, setAttempt] = useState(0);\n const offset = useRef(0);\n const hostRef = useRef(null);\n const termRef = useRef(undefined);\n const fitRef = useRef(undefined);\n /** The size the emulator measured before the shell was started; the PTY is fixed to it. */\n const geometry = useRef({ cols: 80, rows: 24 });\n /** Identifies the current attempt, so an allocation this view has superseded closes itself. */\n const token = useRef(0);\n /** True while an attempt change is what is tearing the allocation effect down. */\n const restarting = useRef(false);\n /** The handle this tab already had at mount; a re-attach must not allocate a second shell. */\n const attached = useRef(tab.terminalId);\n /** Re-measure the emulator, tolerating a host element that has no layout box yet. */\n const refit = useCallback(() => {\n try {\n fitRef.current?.fit();\n }\n catch {\n // `fit()` throws while the host has no layout box — the dock closing mid-observation, or a\n // measurement taken before the panel is laid out. There is nothing to fit to in that state,\n // and the next observation measures again.\n }\n }, []);\n // The emulator is created once per mount and disposed with it. It is deliberately NOT recreated\n // for a restart: the shell changes, the screen it draws on does not.\n useEffect(() => {\n const host = hostRef.current;\n if (host === null)\n return;\n const term = new Terminal({\n scrollback: SCROLLBACK,\n cursorBlink: true,\n fontSize: 12,\n lineHeight: 1.2,\n fontFamily: getComputedStyle(host).getPropertyValue('--ds-font-family-code').trim() || 'monospace',\n theme: paletteOf(host),\n });\n const fit = new FitAddon();\n term.loadAddon(fit);\n term.open(host);\n termRef.current = term;\n fitRef.current = fit;\n refit();\n geometry.current = { cols: term.cols, rows: term.rows };\n // The emulator's own size follows the dock, so rendered rows stay readable when the column is\n // resized. The SHELL's size does not follow: the subprocess seam exposes no resize verb, so a\n // program that laid its output out for the original width keeps that layout until Restart\n // allocates a shell at the new one.\n const observer = typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(refit);\n observer?.observe(host);\n return () => {\n observer?.disconnect();\n term.dispose();\n termRef.current = undefined;\n fitRef.current = undefined;\n };\n }, [refit]);\n // Allocation. Deliberately NOT torn down with the view: the tab owns the shell, and the tab\n // outlives this component every time the dock is closed or another panel is opened. Only a\n // Restart closes what it replaces, which is what `restarting` marks.\n useEffect(() => {\n if (attempt === 0 && attached.current !== undefined)\n return;\n const mine = ++token.current;\n let allocated;\n const term = termRef.current;\n refit();\n if (term !== undefined) {\n term.reset();\n geometry.current = { cols: term.cols, rows: term.rows };\n }\n offset.current = 0;\n setExit(undefined);\n setLossy(false);\n setFailure(undefined);\n terminalOpen(directory, geometry.current.cols, geometry.current.rows).then((result) => {\n if (!result.ok) {\n if (mine === token.current)\n settleTerminal(groupKey, tab.tabId, { error: result.message });\n return;\n }\n // A superseded attempt's shell is closed here rather than published: nothing would ever\n // reach it, and the tab already points at the allocation that replaced it.\n if (mine !== token.current) {\n void terminalClose(result.terminalId);\n return;\n }\n allocated = result.terminalId;\n settleTerminal(groupKey, tab.tabId, { terminalId: result.terminalId, shell: result.shell });\n }, (reason) => {\n if (mine === token.current) {\n settleTerminal(groupKey, tab.tabId, { error: transportMessage(reason, latest.current) });\n }\n });\n return () => {\n if (!restarting.current || allocated === undefined)\n return;\n restarting.current = false;\n void terminalClose(allocated);\n };\n }, [attempt, directory, groupKey, tab.tabId, refit, terminalOpen, terminalClose, settleTerminal, latest]);\n const terminalId = tab.terminalId;\n const finished = exit !== undefined;\n // One poll chain rather than an interval: a slow read must not queue a second one behind it, and\n // the chain stops on its own once the shell has exited and its final delta has been drained.\n useEffect(() => {\n if (terminalId === undefined || finished)\n return;\n let live = true;\n let timer = 0;\n const settle = (read) => {\n if (read.text !== '')\n termRef.current?.write(read.text);\n if (read.lossy)\n setLossy(true);\n offset.current = read.nextOffset;\n if (!read.running) {\n setExit(read.signal === null || read.signal === undefined\n ? latest.current('terminal.exited', { code: read.exitCode ?? 0 })\n : latest.current('terminal.exitedSignal', { signal: read.signal }));\n }\n };\n const tick = () => {\n terminalRead(terminalId, offset.current).then((result) => {\n if (!live)\n return;\n if (result.ok) {\n settle(result);\n }\n else {\n setFailure(result.message);\n // A handle the Host no longer knows will never be known again — the shell was closed\n // from elsewhere, or the plugin reloaded. Re-arming would poll a dead id forever.\n if (result.code === 'unknown-terminal') {\n live = false;\n return;\n }\n }\n timer = window.setTimeout(tick, POLL_MS);\n }, (reason) => {\n if (!live)\n return;\n setFailure(transportMessage(reason, latest.current));\n timer = window.setTimeout(tick, POLL_MS);\n });\n };\n tick();\n return () => {\n live = false;\n window.clearTimeout(timer);\n };\n }, [terminalId, finished, terminalRead, latest]);\n const send = useCallback((data) => {\n if (terminalId === undefined)\n return;\n void terminalWrite(terminalId, data).then((result) => {\n if (!result.ok)\n setFailure(result.message);\n }, (reason) => { setFailure(transportMessage(reason, latest.current)); });\n }, [terminalId, terminalWrite, latest]);\n // Keystrokes go straight from the emulator to the shell. Ctrl+C is intercepted so it reaches the\n // FOREGROUND PROCESS GROUP as a signal rather than as a byte the shell may be ignoring — which is\n // the difference between interrupting a running command and doing nothing.\n useEffect(() => {\n const term = termRef.current;\n if (term === undefined || terminalId === undefined || finished)\n return;\n const data = term.onData((chunk) => {\n if (chunk === ETX) {\n void terminalInterrupt(terminalId);\n return;\n }\n send(chunk);\n });\n // Anything the emulator classifies as binary rather than text still belongs to the shell.\n const binary = term.onBinary((chunk) => { send(chunk); });\n return () => {\n data.dispose();\n binary.dispose();\n };\n }, [terminalId, finished, send, terminalInterrupt]);\n // A hidden view has a layout box but not the dock's current width; it re-measures when shown.\n useEffect(() => {\n if (!active)\n return;\n refit();\n termRef.current?.focus();\n }, [active, refit]);\n const idle = terminalId === undefined || finished;\n const error = failure ?? tab.error;\n const name = shellName(tab.shell);\n return (_jsxs(\"div\", { className: cx(css.terminalView, !active && css.terminalViewHidden), \"aria-hidden\": !active, children: [_jsxs(\"div\", { className: css.toolbar, children: [_jsx(Badge, { code: true, title: tab.shell, children: name === '' ? t('terminal.starting') : name }), finished && _jsx(Badge, { variant: \"warning\", children: exit }), _jsx(\"span\", { className: css.spacer }), _jsx(Button, { size: \"icon\", \"aria-label\": t('terminal.interrupt'), title: t('terminal.interrupt'), disabled: idle, onClick: () => { if (terminalId !== undefined)\n void terminalInterrupt(terminalId); }, children: _jsx(IconStopFill16, {}) }), _jsx(Button, { size: \"icon\", \"aria-label\": t('terminal.clear'), title: t('terminal.clear'), onClick: () => { termRef.current?.clear(); }, children: _jsx(IconTrashOutline16, {}) }), _jsx(Button, { size: \"icon\", \"aria-label\": t('terminal.restart'), title: t('terminal.restart'), onClick: () => { restarting.current = true; setAttempt(value => value + 1); }, children: _jsx(IconRefreshOutline14, {}) })] }), lossy && _jsx(\"p\", { className: css.quiet, children: t('terminal.lossy') }), error !== undefined && _jsx(Alert, { tone: \"destructive\", className: css.panelAlert, children: error }), _jsx(\"div\", { ref: hostRef, className: css.terminalBox, \"aria-label\": t('terminal.inputAria'), onClick: () => { termRef.current?.focus(); }, role: \"presentation\" })] }));\n}\n/**\n * The tab strip and the stack of screens under it.\n * @param props - the target, the translator, the dock's face, and the controller's snapshot hook.\n * @returns the panel body.\n * @see {@link TerminalPanelProps}\n */\nexport function TerminalPanel({ target, t, face, useSidebar, settings }) {\n const key = terminalKey(target);\n const group = useSidebar(state => state.terminals[key]);\n const tabs = useMemo(() => group?.tabs ?? [], [group]);\n const activeId = group?.activeId;\n const directory = target.directory;\n const { addTerminal, activateTerminal, closeTerminal } = face;\n const limit = settings?.maxTerminals ?? DEFAULT_MAX_TERMINALS;\n const add = useCallback(() => {\n // A browser-generated id, because the tab exists — and is rendered — before the Host has\n // answered with a handle to name it by.\n addTerminal(key, crypto.randomUUID());\n }, [addTerminal, key]);\n // The panel opens with one shell rather than an empty strip: a terminal panel that shows nothing\n // until a button is pressed is one press away from every use of it. Once only — closing the last\n // tab is a decision to have no shell, not a request for a fresh one.\n const started = useRef(false);\n useEffect(() => {\n if (started.current || directory === undefined)\n return;\n started.current = true;\n if (tabs.length === 0)\n add();\n }, [directory, tabs.length, add]);\n if (directory === undefined)\n return _jsx(\"p\", { className: css.quiet, children: t('menu.noDirectory') });\n return (_jsxs(_Fragment, { children: [_jsx(\"div\", { className: css.terminalTabs, children: _jsx(Tabs, { \"aria-label\": t('terminal.tabs'), tabs: tabs.map((tab, index) => ({\n id: tab.tabId,\n label: t('terminal.tab', { index: index + 1 }),\n title: tab.shell ?? t('terminal.starting'),\n })), value: activeId, onValueChange: (id) => { activateTerminal(key, id); }, onClose: (id) => { void closeTerminal(key, id); }, children: _jsx(Button, { size: \"icon\", \"aria-label\": t('terminal.new'), title: tabs.length >= limit ? t('terminal.limit', { count: limit }) : t('terminal.new'), disabled: tabs.length >= limit, onClick: add, children: _jsx(IconPlusOutline16, {}) }) }) }), _jsx(\"div\", { className: css.terminalStack, children: tabs.map(tab => (_jsx(TerminalView, { tab: tab, groupKey: key, directory: directory, active: tab.tabId === activeId, target: target, t: t, face: face }, tab.tabId))) })] }));\n}\n//# sourceMappingURL=TerminalPanel.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/**\n * The dock: a resizable column on the right of the frame holding whichever panel is open, plus the\n * notice line and the Delete confirmation.\n *\n * It was a floating card. It is now a real column — it reserves its own width on the app frame, so\n * the conversation shrinks beside it instead of disappearing under it, and it carries a drag handle\n * on its left edge like the frame's own two columns. The reservation is a padding on the frame\n * element and a matching shift of the frame's details handle, both keyed on one custom property\n * this component sets: `shell.overlay` is the only additive frame-wide seat a plugin has, and its\n * layer is drawn above the columns rather than between them.\n *\n * Below a frame narrow enough that pushing would leave no conversation, the dock floats over it\n * instead. That is the same concession every editor makes at that width, and it is derived from the\n * frame's measured box rather than from a media query, because the frame is not the window.\n * @module @achasoft/dsh-advanced-sidebar/client/PanelHost\n */\nimport { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport { IconCloseOutline16 } from '@deepseek-ai/dsh-client-ui-primitives';\nimport { cx } from \"./cx.js\";\nimport { ChangesPanel } from \"./panels/ChangesPanel.js\";\nimport { FilesPanel } from \"./panels/FilesPanel.js\";\nimport { PathText } from \"./panels/shared.js\";\nimport { useCapabilityView } from \"./use-capability.js\";\nimport { PreviewPanel } from \"./panels/PreviewPanel.js\";\nimport { TasksPanel } from \"./panels/TasksPanel.js\";\nimport { TerminalPanel } from \"./panels/TerminalPanel.js\";\nimport { Alert, AlertDialog, Button } from \"./ui/index.js\";\nimport css from './PanelHost.module.css';\n/** How long a notice stays before it withdraws itself. */\nconst NOTICE_MS = 6_000;\n/** Smallest dock the layout keeps usable; below it the panels have no room for two columns. */\nconst MIN_WIDTH = 280;\n/** Largest dock a drag can reach, so the column cannot swallow the conversation on a wide screen. */\nconst MAX_WIDTH = 960;\n/** Conversation width the dock refuses to push below; past it the dock floats instead. */\nconst MIN_CENTER = 400;\n/** Pixels one arrow key moves the drag handle, matching the step a keyboard resize is expected to take. */\nconst KEY_STEP = 16;\n/** The custom property the frame's reserved width is read from; also declared in the stylesheet. */\nconst RESERVED = '--dsh-advanced-dock-reserved';\n/** The marker the frame carries while a dock is open, which is what arms the reservation rules. */\nconst DOCK_ATTRIBUTE = 'data-dsh-advanced-dock';\n/**\n * The app frame that owns one dock element.\n *\n * Found through the overlay layer's own `data-shell-overlay` marker rather than by class: the\n * frame's classes are CSS-Modules hashes of another package, and the marker is the seam AppFrame\n * publishes.\n * @param dock - the dock element.\n * @returns the frame element, or null before the dock is attached.\n */\nfunction frameOf(dock) {\n const layer = dock?.closest('[data-shell-overlay]');\n return layer?.parentElement ?? null;\n}\n/**\n * The dock, the notice, and the confirmation dialog.\n * @param props - the standard kit plus this plugin's face.\n * @returns the overlay tree, or null while nothing is open.\n * @see {@link PanelHostProps}\n */\nexport function PanelHost(props) {\n const { t, useSidebar, useSettings, useSessions } = props;\n const panel = useSidebar(state => state.panel);\n const confirm = useSidebar(state => state.confirm);\n const notice = useSidebar(state => state.notice);\n const storedWidth = useSidebar(state => state.dockWidth);\n const bound = useSettings(snapshot => snapshot.value);\n const writable = useSettings(snapshot => snapshot.writable);\n const { close, dismissNotice, dismissDelete, forgetSession, setDockWidth, setPanelWidth } = props;\n // Probed only while the dock is open; the fallback matters for the same reason as in the seat.\n const { view } = useCapabilityView(props.describe, panel.panel !== undefined);\n const settings = bound ?? view?.settings;\n const dockRef = useRef(null);\n /**\n * What the dock may take from the frame: its width less the sidebar's, because the sidebar never\n * concedes — the frame's own solver holds it at its preference and lets the centre absorb every\n * squeeze, so a ceiling measured from the frame alone spends the sidebar's width twice and leaves\n * the conversation a sliver.\n */\n const [reservable, setReservable] = useState(0);\n const open = panel.panel !== undefined && panel.target !== undefined;\n // The frame's own box, not the window's: the Web Client can be embedded, and the concession the\n // dock makes is about the space beside it rather than about the screen. Measured before paint, so\n // the first frame is already at the settled width instead of opening at the minimum and jumping.\n useLayoutEffect(() => {\n if (!open)\n return;\n const frame = frameOf(dockRef.current);\n if (frame === null)\n return;\n // The sidebar is the frame's first column; its rendered width is the one the frame's own solver\n // has already committed to, collapsed rail included.\n const sidebar = frame.firstElementChild;\n const measure = () => {\n const width = frame.getBoundingClientRect().width;\n setReservable(width - (sidebar?.getBoundingClientRect().width ?? 0));\n };\n measure();\n const observer = new ResizeObserver(measure);\n observer.observe(frame);\n if (sidebar !== null)\n observer.observe(sidebar);\n return () => { observer.disconnect(); };\n }, [open]);\n const preferred = storedWidth ?? settings?.panelWidth ?? MIN_WIDTH;\n const ceiling = Math.max(MIN_WIDTH, Math.min(MAX_WIDTH, reservable - MIN_CENTER));\n const width = Math.max(MIN_WIDTH, Math.min(preferred, ceiling));\n // What is left of the frame cannot hold both, so the dock stops reserving and floats over the\n // column it would otherwise have squeezed to nothing.\n const floating = reservable > 0 && reservable < MIN_WIDTH + MIN_CENTER;\n /** Write one width to the dock and to the frame's reservation, without going through React. */\n const applyWidth = useCallback((next, reserve) => {\n const dock = dockRef.current;\n if (dock === null)\n return;\n dock.style.width = `${String(next)}px`;\n const frame = frameOf(dock);\n if (frame === null)\n return;\n if (reserve)\n frame.style.setProperty(RESERVED, `${String(next)}px`);\n else\n frame.style.removeProperty(RESERVED);\n }, []);\n // The marker and the reservation are put on the frame while a dock is open and taken off with it,\n // so an unloaded plugin leaves the frame exactly as it found it.\n useLayoutEffect(() => {\n const dock = dockRef.current;\n const frame = frameOf(dock);\n if (frame === null || dock === null)\n return;\n frame.setAttribute(DOCK_ATTRIBUTE, '');\n return () => {\n frame.removeAttribute(DOCK_ATTRIBUTE);\n frame.style.removeProperty(RESERVED);\n };\n }, [open]);\n useLayoutEffect(() => {\n if (!open)\n return;\n applyWidth(width, !floating);\n }, [open, width, floating, applyWidth]);\n const dragRef = useRef({ latest: 0, frame: 0 });\n const [dragging, setDragging] = useState(false);\n /** Clamp one requested width into the range the current frame allows. */\n const clampWidth = useCallback((next) => Math.max(MIN_WIDTH, Math.min(Math.round(next), ceiling)), [ceiling]);\n /** Store one width, in the controller always and in the settings section when it is writable. */\n const commit = useCallback((next) => {\n setDockWidth(next);\n // A remote Web Client has no settings document to write to; the controller's copy is what keeps\n // the drag in effect there for the rest of the browser session.\n if (writable)\n void setPanelWidth(next);\n }, [setDockWidth, setPanelWidth, writable]);\n const onPointerDown = (event) => {\n event.preventDefault();\n event.currentTarget.setPointerCapture(event.pointerId);\n dragRef.current = { latest: width, frame: 0 };\n setDragging(true);\n };\n const onPointerMove = (event) => {\n if (!event.currentTarget.hasPointerCapture(event.pointerId))\n return;\n const dock = dockRef.current;\n if (dock === null)\n return;\n // Measured against the dock's own right edge rather than accumulated from a drag origin: the\n // clamp at either end would otherwise leave the pointer and the edge separated by whatever the\n // clamp swallowed.\n const next = clampWidth(dock.getBoundingClientRect().right - event.clientX);\n dragRef.current.latest = next;\n // Written straight to the DOM at pointer cadence. Committing to React here would re-render the\n // open panel — a diff list, or a terminal emulator — on every pointer move.\n if (dragRef.current.frame === 0) {\n dragRef.current.frame = requestAnimationFrame(() => {\n dragRef.current.frame = 0;\n applyWidth(dragRef.current.latest, !floating);\n });\n }\n };\n const onPointerUp = (event) => {\n if (!event.currentTarget.hasPointerCapture(event.pointerId))\n return;\n event.currentTarget.releasePointerCapture(event.pointerId);\n if (dragRef.current.frame !== 0) {\n cancelAnimationFrame(dragRef.current.frame);\n dragRef.current.frame = 0;\n }\n applyWidth(dragRef.current.latest, !floating);\n setDragging(false);\n commit(dragRef.current.latest);\n };\n // A session that leaves the list takes its panel and its pending confirmation with it: both act\n // on an id the Host would now refuse, and leaving them open invites a click that cannot work.\n const panelId = panel.target?.sessionId;\n const confirmId = confirm?.target.sessionId;\n // Checked per id, not merged: the dock and a pending Delete can name DIFFERENT sessions, and one\n // `??` would report the dock's session as live and leave a confirmation open on a row the Host\n // has already forgotten.\n const panelGone = useSessions(state => panelId !== undefined && state.byId[panelId] === undefined);\n const confirmGone = useSessions(state => confirmId !== undefined && state.byId[confirmId] === undefined);\n useEffect(() => {\n if (panelGone && panelId !== undefined)\n forgetSession(panelId);\n if (confirmGone && confirmId !== undefined)\n forgetSession(confirmId);\n }, [panelGone, confirmGone, panelId, confirmId, forgetSession]);\n // Escape closes the dock, but only when the confirmation is not up: the dialog owns Escape while\n // it is open, and closing both at once would be one gesture undoing two decisions.\n useEffect(() => {\n if (!open || confirm !== undefined)\n return;\n const onKeyDown = (event) => {\n if (event.key !== 'Escape')\n return;\n // A menu, a select, or a picker owns Escape while it is open. Its own listener cannot stop\n // this one — both sit on the document, and this one was added first — so the dock defers by\n // asking whether any of the kit's floating surfaces is currently mounted.\n if (document.querySelector('[data-dsh-layer]') !== null)\n return;\n close();\n };\n document.addEventListener('keydown', onKeyDown);\n return () => { document.removeEventListener('keydown', onKeyDown); };\n }, [open, confirm, close]);\n const noticeId = notice?.id;\n useEffect(() => {\n if (noticeId === undefined)\n return;\n const timer = window.setTimeout(() => { dismissNotice(noticeId); }, NOTICE_MS);\n return () => { window.clearTimeout(timer); };\n }, [noticeId, dismissNotice]);\n const target = panel.target;\n return (_jsxs(_Fragment, { children: [open && panel.panel !== undefined && target !== undefined && (_jsxs(\"aside\", { ref: dockRef, className: cx(css.dock, floating && css.dockFloating, dragging && css.dockDragging), style: { width }, \"aria-label\": t(`${panel.panel}.title`), children: [_jsx(\"div\", { className: css.resize, role: \"separator\", \"aria-orientation\": \"vertical\", \"aria-label\": t('panel.resize'), \"aria-valuenow\": width, \"aria-valuemin\": MIN_WIDTH, \"aria-valuemax\": ceiling, tabIndex: 0, onPointerDown: onPointerDown, onPointerMove: onPointerMove, onPointerUp: onPointerUp, onKeyDown: (event) => {\n const delta = event.key === 'ArrowLeft' ? KEY_STEP : event.key === 'ArrowRight' ? -KEY_STEP : 0;\n if (delta === 0)\n return;\n event.preventDefault();\n commit(clampWidth(width + delta));\n }, onDoubleClick: () => { commit(clampWidth(settings?.panelWidth ?? MIN_WIDTH)); } }), _jsxs(\"header\", { className: css.head, children: [_jsxs(\"div\", { className: css.headText, children: [_jsx(\"h2\", { className: css.title, children: t(`${panel.panel}.title`) }), target.directory === undefined\n ? _jsx(\"p\", { className: css.subtitle, children: t('panel.session', { name: target.title }) })\n : _jsx(PathText, { value: target.directory, className: css.subtitle })] }), _jsx(Button, { size: \"icon\", \"aria-label\": t('panel.close'), onClick: close, children: _jsx(IconCloseOutline16, {}) })] }), _jsxs(\"div\", { className: css.body, children: [panel.panel === 'changes' && _jsx(ChangesPanel, { target: target, t: t, face: props }), panel.panel === 'terminal' && (_jsx(TerminalPanel, { target: target, t: t, face: props, useSidebar: useSidebar, settings: settings })), panel.panel === 'files' && _jsx(FilesPanel, { target: target, t: t, face: props }), panel.panel === 'preview' && _jsx(PreviewPanel, { target: target, t: t, face: props }), panel.panel === 'tasks' && (_jsx(TasksPanel, { target: target, t: t, face: props, useSessions: useSessions, settings: settings }))] }, `${panel.panel}:${target.sessionId}:${target.directory ?? ''}`)] })), notice !== undefined && (_jsx(\"div\", { className: css.noticeSlot, children: _jsx(Alert, { tone: notice.tone === 'error' ? 'destructive' : 'default', action: (_jsx(Button, { size: \"icon\", \"aria-label\": t('notice.dismiss'), onClick: () => { dismissNotice(notice.id); }, children: _jsx(IconCloseOutline16, {}) })), children: notice.text }) })), _jsx(AlertDialog, { open: confirm !== undefined, onClose: dismissDelete, onConfirm: () => { if (confirm !== undefined)\n void props.commitDelete(confirm.target); }, title: t('delete.title'), ...confirm === undefined\n ? {}\n : { description: t(confirm.purges ? 'delete.body.purge' : 'delete.body.archive', { name: confirm.target.title }) }, confirmLabel: t('delete.confirm'), cancelLabel: t('delete.cancel'), destructive: true, busy: confirm?.busy === true })] }));\n}\n//# sourceMappingURL=PanelHost.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/**\n * The advanced-sidebar card on the plugin-configuration tab.\n *\n * It reproduces the configuration section's own chrome — an `<li>` disclosure card, and fields laid\n * out label / control / hint — because it cannot import those components: value-importing across a\n * plugin boundary fails the client bundle-purity gate. The controls themselves come from this\n * package's own shadcn-vocabulary kit, so the card matches the panels rather than the browser's\n * default form widgets.\n *\n * There is no save or discard. Every control writes immediately through the bound settings scope,\n * which owns revision fencing, so the card carries no staged form whose unsaved state would need\n * reporting.\n * @module @achasoft/dsh-advanced-sidebar/client/SettingsCard\n */\nimport { useId, useState } from 'react';\nimport { IconChevronDownOutline14 } from '@deepseek-ai/dsh-client-ui-primitives';\nimport { cx } from \"./cx.js\";\nimport { useCapabilityView } from \"./use-capability.js\";\nimport { Badge, Input, Select, Separator, Switch } from \"./ui/index.js\";\nimport css from './SettingsCard.module.css';\n/** One labelled row: a control to the right of its label, with a hint beneath. */\nfunction Field(props) {\n return (_jsxs(\"div\", { className: css.field, children: [_jsxs(\"div\", { className: css.head, children: [_jsx(\"label\", { className: css.label, htmlFor: props.id, children: props.label }), props.control] }), _jsx(\"p\", { className: css.hint, children: props.hint })] }));\n}\n/**\n * The card, its four groups of fields, and the Open in roster.\n * @param props - the standard kit plus this plugin's face.\n * @returns the card element.\n * @see {@link SettingsCardProps}\n */\nexport function SettingsCard(props) {\n const { t, setField, describe } = props;\n const settings = props.useSidebarSettings(snapshot => snapshot);\n const [open, setOpen] = useState(false);\n const fieldId = useId();\n // The Host is asked only while the card is expanded: a collapsed card renders nothing that\n // depends on the answer, and probing every plugin card at boot would spend one PATH scan each.\n const { view } = useCapabilityView(describe, open);\n // A card whose scope has no document still shows the deployment's real configuration, read-only:\n // `writable` already disables every control there, and a blank card would be worse than one that\n // says what the Host is actually configured with.\n const value = settings.value ?? view?.settings;\n const disabled = !settings.writable || settings.value === undefined;\n /** One boolean field, written straight through the bound scope. */\n const toggle = (field, label, hint, current) => (_jsx(Field, { id: `${fieldId}-${field}`, label: label, hint: hint, control: (_jsx(Switch, { id: `${fieldId}-${field}`, checked: current, disabled: disabled, \"aria-label\": label, onCheckedChange: (next) => { void setField(field, next); } })) }));\n /** One integer field, refused here rather than sent when the schema would reject it. */\n const number = (field, label, hint, current, min, max) => (_jsx(Field, { id: `${fieldId}-${field}`, label: label, hint: hint, control: (_jsx(Input, { id: `${fieldId}-${field}`, type: \"number\", min: min, max: max, inputMode: \"numeric\", disabled: disabled, value: current, onChange: (event) => {\n const next = Number(event.target.value);\n // A rejected write leaves the field looking accepted, so an out-of-range entry never\n // leaves the browser.\n if (Number.isSafeInteger(next) && next >= min && next <= max)\n void setField(field, next);\n } })) }));\n const canPurge = view?.deletion.canPurge ?? true;\n const ready = view === undefined\n || [view.git.available, view.terminal.available, view.files.available, view.tasks.available, view.preview.available]\n .every(Boolean);\n return (_jsxs(\"li\", { className: cx(css.card, open && css.cardOpen), children: [_jsxs(\"button\", { type: \"button\", className: css.header, \"aria-expanded\": open, onClick: () => { setOpen(!open); }, children: [_jsxs(\"span\", { className: css.headText, children: [_jsx(\"span\", { className: css.name, children: t('settings.title') }), _jsx(\"span\", { className: css.description, children: t('settings.description') })] }), _jsx(IconChevronDownOutline14, { className: cx(css.chevron, open && css.chevronOpen) })] }), open && (_jsxs(\"div\", { className: css.body, children: [_jsxs(\"div\", { className: css.groupHead, children: [_jsx(\"span\", { className: css.groupTitle, children: t('settings.group.placement') }), _jsx(Badge, { variant: ready ? 'success' : 'outline', children: ready ? t('settings.status.ready') : t('settings.status.partial') })] }), value !== undefined && (_jsxs(_Fragment, { children: [toggle('showInSessionHeader', t('settings.showInSessionHeader'), t('settings.showInSessionHeader.hint'), value.showInSessionHeader), _jsx(Separator, {}), _jsx(\"div\", { className: css.groupHead, children: _jsx(\"span\", { className: css.groupTitle, children: t('settings.group.entries') }) }), toggle('showChanges', t('settings.showChanges'), view?.git.reason ?? t('settings.showChanges.hint'), value.showChanges), toggle('showTerminal', t('settings.showTerminal'), view?.terminal.reason ?? t('settings.showTerminal.hint'), value.showTerminal), toggle('showFiles', t('settings.showFiles'), view?.files.reason ?? t('settings.showFiles.hint'), value.showFiles), toggle('showTasks', t('settings.showTasks'), view?.tasks.reason ?? t('settings.showTasks.hint'), value.showTasks), toggle('showPreview', t('settings.showPreview'), view?.preview.reason ?? t('settings.showPreview.hint'), value.showPreview), toggle('showOpenIn', t('settings.showOpenIn'), t('settings.showOpenIn.hint'), value.showOpenIn), toggle('showArchive', t('settings.showArchive'), t('settings.showArchive.hint'), value.showArchive), toggle('showDelete', t('settings.showDelete'), t('settings.showDelete.hint'), value.showDelete), _jsx(Separator, {}), _jsx(\"div\", { className: css.groupHead, children: _jsx(\"span\", { className: css.groupTitle, children: t('settings.group.behavior') }) }), _jsx(Field, { id: `${fieldId}-deleteMode`, label: t('settings.deleteMode'), hint: canPurge ? t('settings.deleteMode.hint') : t('settings.deleteMode.unsupported'), control: (_jsx(Select, { id: `${fieldId}-deleteMode`, className: css.select, disabled: disabled || !canPurge, value: value.deleteMode, \"aria-label\": t('settings.deleteMode'), options: [\n { value: 'archive', label: t('settings.deleteMode.archive') },\n { value: 'purge', label: t('settings.deleteMode.purge') },\n ], onValueChange: (mode) => {\n // Purging is refused by the Host unless confirmation is on, and the schema\n // rejects the pair — so the two writes go together, confirmation first.\n if (mode === 'purge' && !value.confirmDelete) {\n void setField('confirmDelete', true).then(() => setField('deleteMode', mode));\n return;\n }\n void setField('deleteMode', mode);\n } })) }), _jsx(Field, { id: `${fieldId}-confirmDelete`, label: t('settings.confirmDelete'), hint: t('settings.confirmDelete.hint'), control: (_jsx(Switch, { id: `${fieldId}-confirmDelete`, checked: value.confirmDelete, \"aria-label\": t('settings.confirmDelete'), \n // Locked on while Delete removes a log: the Host refuses the combination, and a\n // control that writes a value the Host rejects reads as broken.\n disabled: disabled || value.deleteMode === 'purge', onCheckedChange: (next) => { void setField('confirmDelete', next); } })) }), toggle('allowGitStaging', t('settings.allowGitStaging'), t('settings.allowGitStaging.hint'), value.allowGitStaging), toggle('allowGitCommit', t('settings.allowGitCommit'), t('settings.allowGitCommit.hint'), value.allowGitCommit), toggle('allowGitPush', t('settings.allowGitPush'), t('settings.allowGitPush.hint'), value.allowGitPush), toggle('allowCommitMessageDraft', t('settings.allowCommitMessageDraft'), t('settings.allowCommitMessageDraft.hint'), value.allowCommitMessageDraft), toggle('previewsFromLaunchFile', t('settings.previewsFromLaunchFile'), t('settings.previewsFromLaunchFile.hint'), value.previewsFromLaunchFile), toggle('allowTaskKill', t('settings.allowTaskKill'), t('settings.allowTaskKill.hint'), value.allowTaskKill), toggle('showTaskOutput', t('settings.showTaskOutput'), t('settings.showTaskOutput.hint'), value.showTaskOutput), _jsx(Separator, {}), _jsx(\"div\", { className: css.groupHead, children: _jsx(\"span\", { className: css.groupTitle, children: t('settings.group.limits') }) }), number('panelWidth', t('settings.panelWidth'), t('settings.panelWidth.hint'), value.panelWidth, 280, 1_400), number('gitMaxFiles', t('settings.gitMaxFiles'), t('settings.gitMaxFiles.hint'), value.gitMaxFiles, 1, 10_000), number('gitTimeoutMs', t('settings.gitTimeoutMs'), t('settings.gitTimeoutMs.hint'), value.gitTimeoutMs, 1_000, 600_000), number('gitCommitTimeoutMs', t('settings.gitCommitTimeoutMs'), t('settings.gitCommitTimeoutMs.hint'), value.gitCommitTimeoutMs, 1_000, 1_800_000), number('gitPushTimeoutMs', t('settings.gitPushTimeoutMs'), t('settings.gitPushTimeoutMs.hint'), value.gitPushTimeoutMs, 1_000, 1_800_000), number('commitMessageMaxBytes', t('settings.commitMessageMaxBytes'), t('settings.commitMessageMaxBytes.hint'), value.commitMessageMaxBytes, 1_024, 4 * 1_024 * 1_024), number('maxTerminals', t('settings.maxTerminals'), t('settings.maxTerminals.hint'), value.maxTerminals, 1, 32), number('maxPreviews', t('settings.maxPreviews'), t('settings.maxPreviews.hint'), value.maxPreviews, 1, 16), number('previewReadyTimeoutMs', t('settings.previewReadyTimeoutMs'), t('settings.previewReadyTimeoutMs.hint'), value.previewReadyTimeoutMs, 1_000, 600_000), _jsx(Field, { id: `${fieldId}-terminalShell`, label: t('settings.terminalShell'), hint: view?.terminal.detail ?? t('settings.terminalShell.hint'), control: (_jsx(Input, { id: `${fieldId}-terminalShell`, className: css.shellInput, code: true, spellCheck: false, placeholder: \"/bin/zsh\", disabled: disabled, value: value.terminalShell, onChange: (event) => { void setField('terminalShell', event.target.value); } })) }), _jsx(Separator, {}), _jsxs(\"div\", { className: css.field, children: [_jsx(\"div\", { className: css.head, children: _jsx(\"span\", { className: css.label, children: t('settings.previews') }) }), _jsx(\"p\", { className: css.hint, children: t('settings.previews.hint') }), value.previews.length === 0\n ? _jsx(\"p\", { className: css.hint, children: t('settings.previews.empty') })\n : (_jsx(\"ul\", { className: css.targets, children: value.previews.map(preview => (_jsxs(\"li\", { className: css.target, children: [_jsx(\"span\", { className: css.targetLabel, children: preview.name }), _jsx(Badge, { code: true, children: preview.port > 0 ? `:${String(preview.port)}` : preview.url })] }, preview.name))) }))] }), _jsxs(\"div\", { className: css.field, children: [_jsx(\"div\", { className: css.head, children: _jsx(\"span\", { className: css.label, children: t('settings.editors') }) }), _jsx(\"p\", { className: css.hint, children: t('settings.editors.hint') }), view === undefined || view.openIn.length === 0\n ? _jsx(\"p\", { className: css.hint, children: t('settings.editors.empty') })\n : (_jsx(\"ul\", { className: css.targets, children: view.openIn.map(entry => (_jsxs(\"li\", { className: css.target, children: [_jsx(\"span\", { className: css.targetLabel, children: entry.label }), _jsx(Badge, { variant: entry.available ? 'success' : 'outline', children: entry.available ? t('settings.editors.available') : t('settings.editors.missing') })] }, entry.id))) }))] })] }))] }))] }));\n}\n//# sourceMappingURL=SettingsCard.js.map","import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\n/**\n * The advanced-operations menu itself, in the session header.\n *\n * Entries are built from two independent facts: what the settings section switched on, and what the\n * Host reported it can serve. A switched-off entry is absent; an entry the Host cannot serve is\n * present but disabled and carries the reason beside its label, because a person who configured an\n * editor and sees no row cannot tell a typo from a feature that does not exist.\n * @module @achasoft/dsh-advanced-sidebar/client/ActionMenu\n */\nimport { useEffect, useRef, useState } from 'react';\nimport { IconArchiveOutline20, IconEllipsisOutline16, IconFolderOpenOutline16, IconQueueOutline14, IconTrashOutline16, } from '@deepseek-ai/dsh-client-ui-primitives';\nimport { ChangesGlyph, ExternalGlyph, PreviewGlyph, TerminalGlyph } from \"./Glyphs.js\";\nimport { Button, DropdownMenu } from \"./ui/index.js\";\nimport { cx } from \"./cx.js\";\nimport css from './ActionMenu.module.css';\n/** Submenu ids are namespaced, because the menu reports every selection through one flat handler. */\nconst OPEN_IN_PREFIX = 'open-in:';\n/** The Open in entry for a second browser window; not a Host target, so it has no configured id. */\nconst NEW_WINDOW_ID = `${OPEN_IN_PREFIX}new-window`;\n/**\n * The trigger plus its menu.\n * @param props - the target, settings, capability view, translator, and callbacks.\n * @returns the menu element, or null when the settings section leaves it with no entries.\n * @see {@link ActionMenuProps}\n */\nexport function ActionMenu(props) {\n const { target, settings, view, t, actions, refresh, openPanel } = props;\n const [open, setOpen] = useState(false);\n const triggerRef = useRef(null);\n // A capability probe per open, not per mount: git can be installed, an editor can appear, and a\n // menu that answered once at boot would keep reporting the state of that moment forever.\n useEffect(() => {\n if (open)\n refresh();\n }, [open, refresh]);\n // Only a target that DISAPPEARS closes the menu — the session was archived from elsewhere while\n // it was open, so every entry now acts on nothing. Opening with no session is fine and stays\n // open: each entry is disabled with \"Open a session first\" beside it, which is a better answer\n // than a button that visibly does nothing.\n const had = useRef(false);\n useEffect(() => {\n if (target !== undefined) {\n had.current = true;\n return;\n }\n if (open && had.current)\n setOpen(false);\n had.current = false;\n }, [open, target]);\n if (settings === undefined)\n return null;\n const directory = target?.directory;\n const unavailable = (state) => {\n if (target === undefined)\n return t('menu.noSession');\n if (directory === undefined)\n return t('menu.noDirectory');\n if (state === undefined)\n return undefined;\n return state.available ? undefined : (state.reason ?? t('settings.unavailable'));\n };\n const items = [];\n const panelRow = (id, key, icon, state) => {\n const note = unavailable(state);\n items.push({\n kind: 'item',\n id,\n label: t(key),\n note,\n icon,\n disabled: note !== undefined,\n checked: openPanel === id,\n });\n };\n if (settings.showChanges)\n panelRow('changes', 'menu.changes', _jsx(ChangesGlyph, { size: 16 }), view?.git);\n if (settings.showTerminal)\n panelRow('terminal', 'menu.terminal', _jsx(TerminalGlyph, { size: 16 }), view?.terminal);\n if (settings.showFiles)\n panelRow('files', 'menu.files', _jsx(IconFolderOpenOutline16, {}), view?.files);\n if (settings.showPreview)\n panelRow('preview', 'menu.preview', _jsx(PreviewGlyph, { size: 16 }), view?.preview);\n if (settings.showTasks) {\n // The tasks panel needs a session, not a directory: a background task belongs to a session\n // whether or not that session ever had a working tree.\n const note = target === undefined\n ? t('menu.noSession')\n : (view?.tasks.available === false ? (view.tasks.reason ?? t('settings.unavailable')) : undefined);\n items.push({\n kind: 'item',\n id: 'tasks',\n label: t('menu.tasks'),\n note,\n icon: _jsx(IconQueueOutline14, { size: 16 }),\n disabled: note !== undefined,\n checked: openPanel === 'tasks',\n });\n }\n if (settings.showOpenIn) {\n const submenu = [{ kind: 'item', id: NEW_WINDOW_ID, label: t('menu.openIn.newWindow') }];\n for (const entry of view?.openIn ?? []) {\n submenu.push({\n kind: 'item',\n id: `${OPEN_IN_PREFIX}${entry.id}`,\n label: entry.label,\n note: entry.available ? undefined : t('settings.editors.missing'),\n disabled: !entry.available || directory === undefined,\n });\n }\n if (items.length > 0)\n items.push({ kind: 'separator', id: 'sep-open-in' });\n items.push({\n kind: 'sub',\n id: 'open-in',\n label: t('menu.openIn'),\n icon: _jsx(ExternalGlyph, { size: 16 }),\n items: submenu,\n });\n }\n const sessionEntries = [];\n if (settings.showArchive) {\n sessionEntries.push({\n kind: 'item',\n id: 'archive',\n label: t('menu.archive'),\n note: target === undefined ? t('menu.noSession') : undefined,\n icon: _jsx(IconArchiveOutline20, { size: 16 }),\n disabled: target === undefined,\n });\n }\n if (settings.showDelete) {\n sessionEntries.push({\n kind: 'item',\n id: 'delete',\n label: t('menu.delete'),\n note: target === undefined ? t('menu.noSession') : undefined,\n icon: _jsx(IconTrashOutline16, {}),\n danger: true,\n disabled: target === undefined,\n });\n }\n if (sessionEntries.length > 0) {\n if (items.length > 0)\n items.push({ kind: 'separator', id: 'sep-session' });\n items.push(...sessionEntries);\n }\n if (items.length === 0)\n return null;\n const onSelect = (id) => {\n if (target === undefined)\n return;\n if (id === NEW_WINDOW_ID) {\n actions.openWindow();\n return;\n }\n if (id.startsWith(OPEN_IN_PREFIX)) {\n if (directory === undefined)\n return;\n void actions.openIn(id.slice(OPEN_IN_PREFIX.length), directory);\n return;\n }\n if (id === 'archive') {\n void actions.archive(target);\n return;\n }\n if (id === 'delete') {\n void actions.requestDelete(target);\n return;\n }\n if (id === 'changes' || id === 'terminal' || id === 'files' || id === 'tasks' || id === 'preview') {\n actions.openPanel(id, target);\n }\n // Any other id is the `open-in` parent row, which the menu reports only when it has no\n // submenu — and it always has one here, so nothing is left to dispatch.\n };\n const label = t('menu.trigger');\n return (_jsxs(_Fragment, { children: [_jsx(Button, { ref: triggerRef, size: \"icon\", className: cx(css.trigger, open && css.triggerOpen), \"aria-haspopup\": \"menu\", \"aria-expanded\": open, \"aria-label\": target === undefined ? label : t('menu.aria', { name: target.title }), title: label, onClick: () => { setOpen(value => !value); }, children: _jsx(IconEllipsisOutline16, {}) }), _jsx(DropdownMenu, { open: open, onClose: () => { setOpen(false); }, anchorRef: triggerRef, items: items, onSelect: onSelect, \n // The header sits at the top right of the frame, so the list hangs below it and lines its\n // right edge up with the trigger's.\n side: \"bottom\", align: \"end\", label: label })] }));\n}\n//# sourceMappingURL=ActionMenu.js.map","/**\n * Resolving what the menu acts on.\n *\n * Both menu seats answer the same question — which session, and which directory — from different\n * starting points: the sidebar foot is root-scoped and must find the current session itself, while\n * the session header is handed one. The resolution rule is shared so the two seats can never\n * disagree about the target of an identical menu.\n * @module @achasoft/dsh-advanced-sidebar/client/target\n */\n/**\n * Build the operation target for one session.\n *\n * The directory is the session's own cwd first, and its Workspace's path only as a fallback: a\n * session started inside a subdirectory works there, and reading git or opening a terminal at the\n * Workspace root would silently act on a different tree than the model does.\n * @param sessions - the session list snapshot.\n * @param workspaces - the workspace list snapshot.\n * @param sessionId - the session to describe; absent yields no target.\n * @returns the target, or undefined when no session is selected or the id is not listed.\n */\nexport function resolveTarget(sessions, workspaces, sessionId) {\n if (sessionId === undefined)\n return undefined;\n const summary = sessions.byId[sessionId];\n if (summary === undefined)\n return undefined;\n const workspace = workspaces.items.find(item => item.sessionIds.includes(sessionId));\n const directory = summary.cwd ?? workspace?.path;\n return {\n sessionId,\n title: summary.displayTitle,\n ...directory === undefined ? { directory: undefined } : { directory },\n };\n}\n//# sourceMappingURL=target.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * The menu seat: the session header's utilities row.\n *\n * There was a second seat at the sidebar foot. It was withdrawn — the same menu in two places gave\n * the column an action whose target was whatever session happened to be current, which is not what\n * a column of sessions reads as; the header's menu acts on the session it sits in.\n * @module @achasoft/dsh-advanced-sidebar/client/Seats\n */\nimport { useMemo } from 'react';\nimport { ActionMenu } from \"./ActionMenu.js\";\nimport { resolveTarget } from \"./target.js\";\nimport { useCapabilityView } from \"./use-capability.js\";\n/**\n * The session header's trigger. Session-scoped, so the framework supplies the session id.\n * @param props - the standard kit for a session seat plus this plugin's face.\n * @returns the trigger and its menu, or null while the settings section switches it off.\n * @see {@link HeaderMenuProps}\n */\nexport function HeaderMenu(props) {\n const { sessionId, useSessions, useWorkspaces, useSettings, useSidebar, t, describe } = props;\n const bound = useSettings(snapshot => snapshot.value);\n const sessions = useSessions(state => state);\n const workspaces = useWorkspaces(state => state);\n // Subscribed so the entry of the open panel carries its check mark, and so choosing it again\n // reads as the toggle it is.\n const openPanel = useSidebar(state => state.panel.panel);\n // Fetched unconditionally, because the fallback below depends on it: gating the probe on the\n // settings value would leave a client that cannot read settings with neither source.\n const { view, refresh } = useCapabilityView(describe);\n // The bound scope where it resolves, the Host's own copy otherwise. `ctx.settingsScope` answers\n // `unavailable` with no value on every non-loopback Web Client, and a surface that took that as\n // \"switched off\" would disappear entirely for remote access.\n const settings = bound ?? view?.settings;\n const target = useMemo(() => resolveTarget(sessions, workspaces, sessionId), [sessions, workspaces, sessionId]);\n if (settings === undefined || !settings.showInSessionHeader)\n return null;\n return (_jsx(ActionMenu, { target: target, settings: settings, view: view, t: t, actions: props, refresh: refresh, openPanel: openPanel }));\n}\n//# sourceMappingURL=Seats.js.map","/**\n * `advancedSidebar` namespace dictionaries.\n *\n * Simplified Chinese is the key-set source of truth and English is checked complete against it, so\n * a key added to one and forgotten in the other is a compile error rather than a string that\n * silently falls back to its own name at runtime.\n *\n * Operator diagnostics — a git stderr line, a spawn error, a missing executable — are NOT in here.\n * They arrive from the Host already phrased, stay English, and are rendered verbatim: translating a\n * substring of someone's stderr would make it unsearchable.\n * @module @achasoft/dsh-advanced-sidebar/client/locales\n */\n/** Simplified Chinese dictionary (the key-set source of truth). */\nexport const zh = {\n 'menu.trigger': '更多操作',\n 'menu.aria': '会话操作:{name}',\n 'menu.section.session': '会话',\n 'menu.changes': '文件更改',\n 'menu.terminal': '终端',\n 'menu.files': '文件',\n 'menu.tasks': '后台任务',\n 'menu.openIn': '打开方式',\n 'menu.openIn.newWindow': '新窗口',\n 'menu.archive': '归档',\n 'menu.preview': '预览',\n 'menu.delete': '删除',\n 'menu.empty': '没有可用的操作',\n 'menu.noSession': '请先打开一个会话',\n 'menu.noDirectory': '该会话没有工作目录',\n 'panel.close': '关闭',\n 'panel.refresh': '刷新',\n 'panel.retry': '重试',\n 'panel.loading': '加载中…',\n 'panel.session': '会话:{name}',\n 'panel.resize': '调整面板宽度',\n 'changes.title': '文件更改',\n 'changes.empty': '工作区没有未提交的更改',\n 'changes.group.staged': '已暂存',\n 'changes.group.unstaged': '未暂存',\n 'changes.group.untracked': '未跟踪',\n 'changes.group.conflicted': '冲突',\n 'changes.branch.detached': '游离 HEAD',\n 'changes.branch.unborn': '尚无提交',\n 'changes.ahead': '领先 {n}',\n 'changes.behind': '落后 {n}',\n 'changes.truncated': '仅显示前 {n} 个文件;可在设置中调整 gitMaxFiles',\n 'changes.diff.empty': '这个文件没有文本差异',\n 'changes.diff.binary': '二进制文件,无法显示差异',\n 'changes.diff.truncated': '差异已在 {n} 个字符处截断',\n 'changes.diff.copy': '复制补丁',\n 'changes.diff.copied': '已复制',\n 'changes.stage': '暂存',\n 'changes.unstage': '取消暂存',\n 'changes.stage.all': '全部暂存',\n 'changes.unstage.all': '全部取消暂存',\n 'changes.commit': '提交',\n 'changes.push': '推送',\n 'changes.push.hint': '把 {n} 个提交推送到 {upstream}',\n 'changes.push.upToDate': '没有需要推送的提交',\n 'changes.push.done': '已推送 {branch} 到 {remote}',\n 'changes.publish': '发布',\n 'changes.publish.hint': '这个分支还没有上游;推送并把远端记录为上游',\n 'changes.push.published': '已发布 {branch} 到 {remote}',\n 'changes.commit.suggest': '生成',\n 'changes.commit.suggest.hint': '让当前模型根据已暂存的改动写一条提交信息',\n 'changes.commit.suggest.truncated': '改动过大,模型只看到了补丁的开头部分',\n 'changes.commit.message': '提交信息',\n 'changes.commit.placeholder': '这次提交做了什么?',\n 'changes.commit.amend': '修改上一次提交',\n 'changes.commit.count.one': '提交 1 个文件',\n 'changes.commit.count.other': '提交 {n} 个文件',\n 'changes.commit.nothing': '没有已暂存的更改',\n 'changes.commit.done': '已提交 {commit} — {subject}',\n 'changes.commit.author': '作者:{author}',\n 'changes.commit.noIdentity': 'git 没有配置 user.name 与 user.email,无法提交。',\n 'changes.commit.working': '正在提交…',\n 'changes.readOnly': '当前设置下不能修改这个仓库',\n 'changes.reveal': '在文件管理器中显示',\n 'changes.count': '{n} 个文件',\n 'terminal.title': '终端',\n 'terminal.starting': '正在启动 shell…',\n 'terminal.exited': 'shell 已退出(代码 {code})',\n 'terminal.exitedSignal': 'shell 被信号 {signal} 结束',\n 'terminal.restart': '重新启动',\n 'terminal.interrupt': '中断',\n 'terminal.clear': '清屏',\n 'terminal.lossy': '较早的输出已超出回滚缓冲区',\n 'terminal.inputAria': '终端输入',\n 'terminal.hint': '点击此处输入;按 Ctrl+C 中断',\n 'terminal.tabs': '终端会话',\n 'terminal.tab': '终端 {index}',\n 'terminal.new': '新建终端',\n 'terminal.limit': '已达到 {count} 个终端的上限',\n 'files.title': '文件',\n 'files.empty': '这个目录是空的',\n 'files.up': '上级目录',\n 'files.preview.binary': '二进制文件({bytes})',\n 'files.preview.truncated': '仅显示前 {n} 个字节',\n 'files.preview.pick': '选择一个文件以预览',\n 'files.open': '用默认程序打开',\n 'files.reveal': '在文件管理器中显示',\n 'files.size': '{bytes}',\n 'tasks.title': '后台任务',\n 'tasks.empty': '这个会话没有后台任务',\n 'tasks.status.running': '进行中',\n 'tasks.status.stopping': '正在停止',\n 'tasks.status.completed': '已完成',\n 'tasks.status.killed': '已停止',\n 'tasks.status.failed': '失败',\n 'tasks.stop': '停止',\n 'tasks.stopped': '已请求停止',\n 'tasks.alreadyFinished': '任务已经结束',\n 'tasks.output': '输出',\n 'tasks.output.hide': '收起输出',\n 'tasks.output.empty': '这个任务没有输出',\n 'tasks.output.withheld': '任务运行期间的输出属于模型;结束后可在此查看',\n 'tasks.duration.seconds': '{seconds} 秒',\n 'tasks.duration.minutes': '{minutes} 分 {seconds} 秒',\n 'tasks.duration.hours': '{hours} 小时 {minutes} 分',\n 'tasks.filter.text': '筛选任务',\n 'tasks.filter.text.placeholder': '按命令或类型筛选',\n 'tasks.filter.status': '状态',\n 'tasks.filter.status.all': '全部状态',\n 'tasks.filter.since': '起始日期',\n 'tasks.filter.since.any': '任意日期',\n 'tasks.filter.none': '没有符合筛选条件的任务',\n 'tasks.filter.count': '{shown} / {total} 个任务',\n 'date.today': '今天',\n 'date.clear': '清除',\n 'date.previousMonth': '上个月',\n 'date.nextMonth': '下个月',\n 'preview.title': '预览',\n 'preview.server': '启动配置',\n 'preview.none': '没有可用的配置',\n 'preview.state.stopped': '未启动',\n 'preview.state.starting': '启动中',\n 'preview.state.ready': '运行中',\n 'preview.state.exited': '已退出',\n 'preview.state.failed': '启动失败',\n 'preview.start': '启动',\n 'preview.stop': '停止',\n 'preview.notStartable': '该配置只打开地址,不启动进程',\n 'preview.logs': '日志',\n 'preview.logs.empty': '这个服务还没有输出',\n 'preview.address': '地址',\n 'preview.newWindow': '在新窗口中打开',\n 'preview.device': '视口',\n 'preview.device.desktop': '桌面',\n 'preview.device.tablet': '平板',\n 'preview.device.mobile': '手机',\n 'preview.frame': '预览:{name}',\n 'preview.noUrl': '这个配置没有可预览的地址',\n 'preview.empty': '这个工作区没有启动配置。可以在 .claude/launch.json 中添加,或在设置的 previews 中配置。',\n 'preview.emptyFile': '{file} 中没有可用的配置。',\n 'delete.title': '删除会话',\n 'delete.body.archive': '“{name}” 将从侧边栏中隐藏,会话记录会保留在磁盘上。',\n 'delete.body.purge': '“{name}” 将被隐藏,其会话记录文件也会被删除。此操作无法撤销。',\n 'delete.confirm': '删除',\n 'delete.cancel': '取消',\n 'delete.done.archive': '已归档 “{name}”',\n 'delete.done.purge': '已删除 “{name}” 及其会话记录',\n 'delete.done.kept': '已归档 “{name}”;{reason}',\n 'archive.done': '已归档 “{name}”',\n 'notice.dismiss': '关闭提示',\n 'error.transport': '主机没有响应:{message}',\n 'settings.title': '高级侧边栏',\n 'settings.description': '侧边栏的文件更改、终端、文件、后台任务、打开方式、归档与删除操作',\n 'settings.status.ready': '可用',\n 'settings.status.partial': '部分可用',\n 'settings.group.placement': '入口',\n 'settings.group.entries': '菜单项',\n 'settings.group.behavior': '行为',\n 'settings.group.limits': '限制',\n 'settings.showInSessionHeader': '显示在会话标题栏',\n 'settings.showInSessionHeader.hint': '在当前会话的标题栏放置同一个菜单。',\n 'settings.showChanges': '文件更改',\n 'settings.showChanges.hint': '通过 git 读取工作区的未提交更改。',\n 'settings.showTerminal': '终端',\n 'settings.showTerminal.hint': '在工作目录中打开一个属于你的 shell,与模型的终端互不影响。',\n 'settings.showFiles': '文件',\n 'settings.showFiles.hint': '浏览工作目录并预览文件。',\n 'settings.showTasks': '后台任务',\n 'settings.showTasks.hint': '查看、停止当前会话的后台任务并读取其输出。',\n 'settings.showOpenIn': '打开方式',\n 'settings.showOpenIn.hint': '把工作目录交给新窗口、外部编辑器或文件管理器。',\n 'settings.showArchive': '归档',\n 'settings.showArchive.hint': '把会话从侧边栏隐藏,保留记录。',\n 'settings.showDelete': '删除',\n 'settings.showDelete.hint': '关闭后,删除操作在菜单和主机端都不可用。',\n 'settings.showPreview': '预览',\n 'settings.showPreview.hint': '启动工作区的开发服务器,并在面板中查看它。',\n 'settings.previewsFromLaunchFile': '读取 .claude/launch.json',\n 'settings.previewsFromLaunchFile.hint': '同名配置以仓库中的文件为准。',\n 'settings.maxPreviews': '最多同时运行的预览',\n 'settings.maxPreviews.hint': '预览服务器的并发上限。',\n 'settings.previewReadyTimeoutMs': '预览就绪超时',\n 'settings.previewReadyTimeoutMs.hint': '等待端口开始接受连接的时间上限(毫秒)。',\n 'settings.previews': '预览配置',\n 'settings.previews.hint': '在 cordis.yml 的 previews 中配置;工作区的 .claude/launch.json 会追加在前。',\n 'settings.previews.empty': '没有配置预览。',\n 'settings.panelWidth': '面板宽度',\n 'settings.panelWidth.hint': '抽屉的宽度(像素);窗口较窄时会自动收窄。',\n 'settings.deleteMode': '删除方式',\n 'settings.deleteMode.archive': '仅归档',\n 'settings.deleteMode.purge': '归档并删除记录',\n 'settings.deleteMode.hint': '“归档并删除记录”会移除会话记录文件,无法撤销;正在运行的会话只会被归档。',\n 'settings.deleteMode.unsupported': '当前的会话存储后端没有单独的会话文件,因此只能归档。',\n 'settings.confirmDelete': '删除前确认',\n 'settings.confirmDelete.hint': '选择“归档并删除记录”时必须开启。',\n 'settings.allowTaskKill': '允许停止后台任务',\n 'settings.allowTaskKill.hint': '人工停止会让任务注册表把该记录标记为已上报,模型不会再收到它的完成通知。',\n 'settings.showTaskOutput': '显示任务输出',\n 'settings.showTaskOutput.hint': '只在任务结束并已上报后读取,避免抢走模型的输出。',\n 'settings.gitMaxFiles': '最多列出文件数',\n 'settings.gitMaxFiles.hint': '一次状态读取最多返回的更改文件数。',\n 'settings.gitTimeoutMs': 'git 超时',\n 'settings.gitTimeoutMs.hint': '每次 git 调用的时间上限(毫秒)。',\n 'settings.allowGitStaging': '允许暂存',\n 'settings.allowGitStaging.hint': '在“文件更改”面板中提供暂存与取消暂存。',\n 'settings.allowGitPush': '允许推送',\n 'settings.allowGitPush.hint': '在“文件更改”面板提供推送;只推送当前分支到它自己的上游。',\n 'settings.allowCommitMessageDraft': '允许生成提交信息',\n 'settings.allowCommitMessageDraft.hint': '使用当前所选模型,根据已暂存的补丁草拟提交信息。',\n 'settings.gitPushTimeoutMs': '推送超时(毫秒)',\n 'settings.gitPushTimeoutMs.hint': '推送要等待网络与远端处理,因此与读取超时分开设置。',\n 'settings.commitMessageMaxBytes': '提交信息补丁上限(字节)',\n 'settings.commitMessageMaxBytes.hint': '发送给模型的已暂存补丁的最大字节数,超出部分会被截断。',\n 'settings.allowGitCommit': '允许提交',\n 'settings.allowGitCommit.hint': '需要先允许暂存;提交会运行仓库自己的 hook。',\n 'settings.gitCommitTimeoutMs': '提交超时',\n 'settings.gitCommitTimeoutMs.hint': 'git commit 的时间上限(毫秒);pre-commit hook 可能远比读取操作慢。',\n 'settings.terminalShell': '终端 shell',\n 'settings.terminalShell.hint': '留空则依次使用 $SHELL 与平台默认值。',\n 'settings.maxTerminals': '最多同时打开的终端',\n 'settings.maxTerminals.hint': '面板终端的并发上限。',\n 'settings.editors': '打开方式目标',\n 'settings.editors.hint': '在 cordis.yml 的 editors 中配置;此处显示它们在本机是否可用。',\n 'settings.editors.empty': '没有配置外部程序。',\n 'settings.editors.available': '可用',\n 'settings.editors.missing': '未找到',\n 'settings.unavailable': '主机没有提供这项能力',\n};\n/** English dictionary, checked complete against the zh key set. */\nexport const en = {\n 'menu.trigger': 'More actions',\n 'menu.aria': 'Session actions: {name}',\n 'menu.section.session': 'Session',\n 'menu.changes': 'Changes',\n 'menu.terminal': 'Terminal',\n 'menu.files': 'Files',\n 'menu.tasks': 'Background tasks',\n 'menu.openIn': 'Open in',\n 'menu.openIn.newWindow': 'New window',\n 'menu.archive': 'Archive',\n 'menu.preview': 'Preview',\n 'menu.delete': 'Delete',\n 'menu.empty': 'No actions are available',\n 'menu.noSession': 'Open a session first',\n 'menu.noDirectory': 'This session has no working directory',\n 'panel.close': 'Close',\n 'panel.refresh': 'Refresh',\n 'panel.retry': 'Retry',\n 'panel.loading': 'Loading…',\n 'panel.session': 'Session: {name}',\n 'panel.resize': 'Resize the panel',\n 'changes.title': 'Changes',\n 'changes.empty': 'Nothing has changed in this workspace',\n 'changes.group.staged': 'Staged',\n 'changes.group.unstaged': 'Not staged',\n 'changes.group.untracked': 'Untracked',\n 'changes.group.conflicted': 'Conflicted',\n 'changes.branch.detached': 'Detached HEAD',\n 'changes.branch.unborn': 'No commits yet',\n 'changes.ahead': '{n} ahead',\n 'changes.behind': '{n} behind',\n 'changes.truncated': 'Showing the first {n} files; raise gitMaxFiles in settings',\n 'changes.diff.empty': 'This file has no text difference',\n 'changes.diff.binary': 'Binary file — no text diff to show',\n 'changes.diff.truncated': 'Diff cut at {n} characters',\n 'changes.diff.copy': 'Copy patch',\n 'changes.diff.copied': 'Copied',\n 'changes.stage': 'Stage',\n 'changes.unstage': 'Unstage',\n 'changes.stage.all': 'Stage all',\n 'changes.unstage.all': 'Unstage all',\n 'changes.commit': 'Commit',\n 'changes.push': 'Push',\n 'changes.push.hint': 'Send {n} commit(s) to {upstream}',\n 'changes.push.upToDate': 'Nothing to push',\n 'changes.push.done': 'Pushed {branch} to {remote}',\n 'changes.publish': 'Publish',\n 'changes.publish.hint': 'This branch has no upstream; push it and record the remote as one',\n 'changes.push.published': 'Published {branch} to {remote}',\n 'changes.commit.suggest': 'Generate',\n 'changes.commit.suggest.hint': 'Have the current model write a commit message for the staged changes',\n 'changes.commit.suggest.truncated': 'The change was large; the model saw only the start of the patch',\n 'changes.commit.message': 'Commit message',\n 'changes.commit.placeholder': 'What did this change do?',\n 'changes.commit.amend': 'Amend the previous commit',\n 'changes.commit.count.one': 'Commit 1 file',\n 'changes.commit.count.other': 'Commit {n} files',\n 'changes.commit.nothing': 'Nothing is staged',\n 'changes.commit.done': 'Committed {commit} — {subject}',\n 'changes.commit.author': 'Author: {author}',\n 'changes.commit.noIdentity': 'git has no user.name and user.email, so it cannot record an author.',\n 'changes.commit.working': 'Committing…',\n 'changes.readOnly': 'This repository cannot be changed from here',\n 'changes.reveal': 'Show in file manager',\n 'changes.count': '{n} files',\n 'terminal.title': 'Terminal',\n 'terminal.starting': 'Starting the shell…',\n 'terminal.exited': 'Shell exited (code {code})',\n 'terminal.exitedSignal': 'Shell ended on {signal}',\n 'terminal.restart': 'Restart',\n 'terminal.interrupt': 'Interrupt',\n 'terminal.clear': 'Clear',\n 'terminal.lossy': 'Earlier output fell out of the scrollback',\n 'terminal.inputAria': 'Terminal input',\n 'terminal.hint': 'Click here to type; Ctrl+C interrupts',\n 'terminal.tabs': 'Terminal sessions',\n 'terminal.tab': 'Terminal {index}',\n 'terminal.new': 'New terminal',\n 'terminal.limit': 'The limit of {count} terminals is reached',\n 'files.title': 'Files',\n 'files.empty': 'This directory is empty',\n 'files.up': 'Parent directory',\n 'files.preview.binary': 'Binary file ({bytes})',\n 'files.preview.truncated': 'Showing the first {n} bytes',\n 'files.preview.pick': 'Choose a file to preview',\n 'files.open': 'Open with the default application',\n 'files.reveal': 'Show in file manager',\n 'files.size': '{bytes}',\n 'tasks.title': 'Background tasks',\n 'tasks.empty': 'This session has no background tasks',\n 'tasks.status.running': 'Running',\n 'tasks.status.stopping': 'Stopping',\n 'tasks.status.completed': 'Completed',\n 'tasks.status.killed': 'Stopped',\n 'tasks.status.failed': 'Failed',\n 'tasks.stop': 'Stop',\n 'tasks.stopped': 'Stop requested',\n 'tasks.alreadyFinished': 'The task had already finished',\n 'tasks.output': 'Output',\n 'tasks.output.hide': 'Hide output',\n 'tasks.output.empty': 'This task produced no output',\n 'tasks.output.withheld': 'A running task’s output belongs to the model; it appears here once the task settles',\n 'tasks.duration.seconds': '{seconds}s',\n 'tasks.duration.minutes': '{minutes}m {seconds}s',\n 'tasks.duration.hours': '{hours}h {minutes}m',\n 'tasks.filter.text': 'Filter tasks',\n 'tasks.filter.text.placeholder': 'Filter by command or kind',\n 'tasks.filter.status': 'Status',\n 'tasks.filter.status.all': 'Any status',\n 'tasks.filter.since': 'Started on or after',\n 'tasks.filter.since.any': 'Any date',\n 'tasks.filter.none': 'No task matches the filter',\n 'tasks.filter.count': '{shown} of {total} tasks',\n 'date.today': 'Today',\n 'date.clear': 'Clear',\n 'date.previousMonth': 'Previous month',\n 'date.nextMonth': 'Next month',\n 'preview.title': 'Preview',\n 'preview.server': 'Launch configuration',\n 'preview.none': 'No configurations',\n 'preview.state.stopped': 'Not running',\n 'preview.state.starting': 'Starting',\n 'preview.state.ready': 'Running',\n 'preview.state.exited': 'Exited',\n 'preview.state.failed': 'Failed to start',\n 'preview.start': 'Start',\n 'preview.stop': 'Stop',\n 'preview.notStartable': 'This configuration opens its address and starts nothing',\n 'preview.logs': 'Logs',\n 'preview.logs.empty': 'This server has printed nothing yet',\n 'preview.address': 'Address',\n 'preview.newWindow': 'Open in a new window',\n 'preview.device': 'Viewport',\n 'preview.device.desktop': 'Desktop',\n 'preview.device.tablet': 'Tablet',\n 'preview.device.mobile': 'Mobile',\n 'preview.frame': 'Preview: {name}',\n 'preview.noUrl': 'This configuration has no address to preview',\n 'preview.empty': 'This workspace has no launch configurations. Add one to .claude/launch.json, or configure `previews` in settings.',\n 'preview.emptyFile': '{file} carries no usable configurations.',\n 'delete.title': 'Delete session',\n 'delete.body.archive': '“{name}” will be hidden from the sidebar. Its log stays on disk.',\n 'delete.body.purge': '“{name}” will be hidden and its session log file removed. This cannot be undone.',\n 'delete.confirm': 'Delete',\n 'delete.cancel': 'Cancel',\n 'delete.done.archive': 'Archived “{name}”',\n 'delete.done.purge': 'Deleted “{name}” and its log',\n 'delete.done.kept': 'Archived “{name}”; {reason}',\n 'archive.done': 'Archived “{name}”',\n 'notice.dismiss': 'Dismiss',\n 'error.transport': 'The Host did not answer: {message}',\n 'settings.title': 'Advanced sidebar',\n 'settings.description': 'Changes, terminal, files, background tasks, Open in, Archive and Delete on the sidebar',\n 'settings.status.ready': 'Ready',\n 'settings.status.partial': 'Partly available',\n 'settings.group.placement': 'Where it appears',\n 'settings.group.entries': 'Menu entries',\n 'settings.group.behavior': 'Behavior',\n 'settings.group.limits': 'Limits',\n 'settings.showInSessionHeader': 'Show in the session header',\n 'settings.showInSessionHeader.hint': 'Puts the same menu in the open session’s header.',\n 'settings.showChanges': 'Changes',\n 'settings.showChanges.hint': 'Reads the workspace’s uncommitted changes through git.',\n 'settings.showTerminal': 'Terminal',\n 'settings.showTerminal.hint': 'Opens a shell of your own in the working directory, separate from the model’s terminals.',\n 'settings.showFiles': 'Files',\n 'settings.showFiles.hint': 'Browses the working directory and previews files.',\n 'settings.showTasks': 'Background tasks',\n 'settings.showTasks.hint': 'Lists this session’s background tasks, stops them, and reads their output.',\n 'settings.showOpenIn': 'Open in',\n 'settings.showOpenIn.hint': 'Hands the working directory to a new window, an external editor, or the file manager.',\n 'settings.showArchive': 'Archive',\n 'settings.showArchive.hint': 'Hides a session from the sidebar and keeps its log.',\n 'settings.showDelete': 'Delete',\n 'settings.showDelete.hint': 'Switched off, Delete is absent from the menu and refused by the Host.',\n 'settings.showPreview': 'Preview',\n 'settings.showPreview.hint': 'Starts the workspace’s dev server and shows it in the panel.',\n 'settings.previewsFromLaunchFile': 'Read .claude/launch.json',\n 'settings.previewsFromLaunchFile.hint': 'A name declared in both places is taken from the repository’s own file.',\n 'settings.maxPreviews': 'Most previews at once',\n 'settings.maxPreviews.hint': 'How many preview servers may run together.',\n 'settings.previewReadyTimeoutMs': 'Preview ready timeout',\n 'settings.previewReadyTimeoutMs.hint': 'How long to wait for the port to start accepting, in milliseconds.',\n 'settings.previews': 'Preview configurations',\n 'settings.previews.hint': 'Configured under `previews` in cordis.yml; a workspace’s own .claude/launch.json is read first.',\n 'settings.previews.empty': 'No preview configurations.',\n 'settings.panelWidth': 'Panel width',\n 'settings.panelWidth.hint': 'Drawer width in pixels; a narrow window shrinks it.',\n 'settings.deleteMode': 'What Delete does',\n 'settings.deleteMode.archive': 'Archive only',\n 'settings.deleteMode.purge': 'Archive and remove the log',\n 'settings.deleteMode.hint': 'Removing the log cannot be undone; a live session is archived only.',\n 'settings.deleteMode.unsupported': 'This session-persistence backend keeps no per-session file, so Delete can only archive.',\n 'settings.confirmDelete': 'Confirm before deleting',\n 'settings.confirmDelete.hint': 'Required while Delete removes the log.',\n 'settings.allowTaskKill': 'Allow stopping a task',\n 'settings.allowTaskKill.hint': 'A human stop marks the registry record reported, so the model receives no completion notice for it.',\n 'settings.showTaskOutput': 'Show task output',\n 'settings.showTaskOutput.hint': 'Read only after a task settles and its completion has been reported, so the model’s own read is never drained.',\n 'settings.gitMaxFiles': 'Most files listed',\n 'settings.gitMaxFiles.hint': 'Largest number of changed files one status reading returns.',\n 'settings.gitTimeoutMs': 'git timeout',\n 'settings.gitTimeoutMs.hint': 'Wall-clock bound on each git invocation, in milliseconds.',\n 'settings.allowGitStaging': 'Allow staging',\n 'settings.allowGitStaging.hint': 'Offers Stage and Unstage in the Changes panel.',\n 'settings.allowGitPush': 'Allow pushing',\n 'settings.allowGitPush.hint': 'Offers Push in the Changes panel; only the current branch, only to its own upstream.',\n 'settings.allowCommitMessageDraft': 'Allow drafted commit messages',\n 'settings.allowCommitMessageDraft.hint': 'Uses the model the composer is set to; it is shown the staged patch and nothing else.',\n 'settings.gitPushTimeoutMs': 'Push timeout (ms)',\n 'settings.gitPushTimeoutMs.hint': 'Separate from the read timeout: a push waits on a network and on the remote.',\n 'settings.commitMessageMaxBytes': 'Commit-message patch cap (bytes)',\n 'settings.commitMessageMaxBytes.hint': 'Largest staged patch sent to the model; a longer one is cut and reported as cut.',\n 'settings.allowGitCommit': 'Allow committing',\n 'settings.allowGitCommit.hint': 'Requires staging; a commit runs the repository’s own hooks.',\n 'settings.gitCommitTimeoutMs': 'Commit timeout',\n 'settings.gitCommitTimeoutMs.hint': 'Wall-clock bound on git commit, in milliseconds; a pre-commit hook can far outlast any reading.',\n 'settings.terminalShell': 'Terminal shell',\n 'settings.terminalShell.hint': 'Empty resolves $SHELL, then the platform default.',\n 'settings.maxTerminals': 'Most terminals at once',\n 'settings.maxTerminals.hint': 'How many panel terminals may be open together.',\n 'settings.editors': 'Open in targets',\n 'settings.editors.hint': 'Configured under `editors` in cordis.yml; this lists whether each resolves on this Host.',\n 'settings.editors.empty': 'No external applications are configured.',\n 'settings.editors.available': 'Available',\n 'settings.editors.missing': 'Not found',\n 'settings.unavailable': 'The Host does not serve this capability',\n};\n//# sourceMappingURL=locales.js.map","/**\n * Advanced sidebar plugin, browser half: three registrations over one Host endpoint and one shared\n * piece of state.\n *\n * - `conversation.session.header.utilities` — the menu on the open session.\n * - `shell.overlay` — the resizable dock holding whichever panel is open, plus the Delete\n * confirmation.\n * - `settings.plugin.item` — the card on the plugin-configuration tab, keyed by the namespace.\n *\n * There was a fourth, at the sidebar foot; it was withdrawn, so the column has no action of this\n * plugin's in it and the menu acts only on the session it sits in.\n *\n * The seats have no common React ancestor, so what a person opened lives in a {@link PanelController}\n * this module owns and hands to each registration through its inject face. Archiving and directory\n * navigation go through the Web Client's own `ctx.workspaces`; everything a browser structurally\n * cannot do goes through this plugin's own Remote namespace.\n * @module @achasoft/dsh-advanced-sidebar/client\n */\n// The generated Host-for-Client contract for this plugin's own endpoint. Importing it here — rather\n// than adding a row to the curated api-remotes assembly — is what keeps the capability a plugin: the\n// namespace mounts and unmounts with this fiber, and no shipped source names `advancedSidebar`.\nimport sidebarRemote from '../../generated/typert.remote-client.js';\nimport { LOCALE_NS, SETTINGS_NS } from \"./contract.js\";\nimport { PanelController } from \"./controller.js\";\nimport { PanelHost } from \"./PanelHost.js\";\nimport { SettingsCard } from \"./SettingsCard.js\";\nimport { HeaderMenu } from \"./Seats.js\";\nimport { en, zh } from \"./locales.js\";\n/**\n * Required services of the OUTER plugin: locale and the Remote mount point.\n *\n * Deliberately NOT `remote.advancedSidebar`. This plugin's apply creates that namespace by mounting\n * its own contribution, so it cannot also wait for it — and Cordis refuses to read a service the\n * fiber did not inject. Both halves of that bind are resolved by the child plugin below, which\n * injects `remote.advancedSidebar` after the parent has provided it.\n */\nexport const inject = ['locale', 'remote'];\n/**\n * Client plugin body: mount this plugin's Remote namespace, register the dictionaries, then hand\n * the surface to a child fiber that can inject the namespace its parent just provided.\n * @param ctx - client root context.\n * @returns after the `advancedSidebar` namespace is callable; its methods are withdrawn when this\n * fiber unloads.\n */\nexport async function apply(ctx) {\n // Mounted on THIS fiber, so the endpoint's lifetime is the plugin's.\n await ctx.remote.$mount(sidebarRemote);\n ctx.effect(() => ctx.locale.register(LOCALE_NS, { zh, en }), 'advanced-sidebar: dictionaries');\n ctx.plugin({\n name: 'advanced-sidebar-surface',\n inject: ['slots', 'settingsScope', 'sessions', 'workspaces', 'locale', 'remote', 'remote.advancedSidebar'],\n apply: surface,\n });\n}\n/**\n * Register the three seats against a context that has the namespace.\n * @param ctx - the child fiber, with `remote.advancedSidebar` injected.\n */\nfunction surface(ctx) {\n const controller = new PanelController();\n // Every endpoint returns the carrier's RemoteResult envelope. A transport failure is a different\n // fact from a business failure, so it is thrown rather than folded into the union the Host\n // defines: each panel catches it and shows the RPC diagnostic verbatim.\n const unwrap = (result) => {\n if (!result.ok)\n throw new Error(`${result.error.message} (${result.error.code})`);\n return result.value;\n };\n const remote = ctx.remote.advancedSidebar;\n const describe = (signal) => remote.describe(signal).then(unwrap);\n const scope = ctx.settingsScope.bind({ namespace: SETTINGS_NS });\n // Panel terminals outlive the panel that opened them, so teardown is what reaps them. The Host\n // also closes every one of its own on unload; this covers the case where only the browser half\n // is replaced, which is what a development reload does.\n ctx.effect(() => () => {\n for (const terminalId of controller.allTerminals())\n void remote.terminalClose({ terminalId });\n controller.reset();\n }, 'advanced-sidebar: panel state and open terminals');\n /** Report one failure as a notice; used wherever there is no panel to render it in. */\n const failed = (reason) => {\n controller.notify('error', reason instanceof Error ? reason.message : String(reason));\n };\n /** Close one shell the Host still holds, reporting a refusal as a notice. */\n const closeShell = async (terminalId) => {\n try {\n const result = await remote.terminalClose({ terminalId }).then(unwrap);\n // `unknown-terminal` is the ordinary answer for a shell the Host already reaped, and the tab\n // it belonged to is gone either way.\n if (!result.ok && result.code !== 'unknown-terminal')\n controller.notify('error', result.message);\n }\n catch (error) {\n failed(error);\n }\n };\n /**\n * Withdraw everything one session owned, including the shells opened in its directory: the\n * session is gone, so nothing in the browser could reach them again.\n */\n const forgetSession = (sessionId) => {\n for (const terminalId of controller.dropTerminals(sessionId))\n void closeShell(terminalId);\n controller.forget(sessionId);\n };\n const openIn = async (targetId, path) => {\n try {\n const result = await remote.openIn({ targetId, path }).then(unwrap);\n if (!result.ok)\n controller.notify('error', result.message);\n }\n catch (error) {\n failed(error);\n }\n };\n const archive = async (target) => {\n try {\n await ctx.workspaces.archiveSession(target.sessionId);\n forgetSession(target.sessionId);\n controller.notify('info', ctx.locale.bind(LOCALE_NS)('archive.done', { name: target.title }));\n }\n catch (error) {\n failed(error);\n }\n };\n const commitDelete = async (target) => {\n const t = ctx.locale.bind(LOCALE_NS);\n controller.markDeleting();\n try {\n const result = await remote.deleteSession({ sessionId: target.sessionId }).then(unwrap);\n controller.dismissDelete();\n if (!result.ok) {\n controller.notify('error', result.message);\n return;\n }\n forgetSession(target.sessionId);\n if (result.purged) {\n controller.notify('info', t('delete.done.purge', { name: target.title }));\n }\n else if (result.purgeSkippedReason !== undefined) {\n controller.notify('info', t('delete.done.kept', { name: target.title, reason: result.purgeSkippedReason }));\n }\n else {\n controller.notify('info', t('delete.done.archive', { name: target.title }));\n }\n }\n catch (error) {\n controller.dismissDelete();\n failed(error);\n }\n };\n const requestDelete = async (target) => {\n let purges = false;\n try {\n purges = (await describe()).deletion.mode === 'purge';\n }\n catch (error) {\n // A failed probe must not turn an archive-only delete into a silent one: the confirmation is\n // shown with the safer wording rather than skipped.\n failed(error);\n }\n const settings = scope.getSnapshot().value;\n if (settings?.confirmDelete === false && !purges) {\n await commitDelete(target);\n return;\n }\n controller.askDelete(target, purges);\n };\n const menuInjected = () => ({\n hooks: { sidebar: controller, settings: scope },\n describe,\n openPanel: (panel, target) => { controller.open(panel, target); },\n openIn,\n // A second window of the same page: the Web Client is a normal browser document, so this needs\n // no Host involvement at all.\n openWindow: () => { window.open(window.location.href, '_blank', 'noopener,noreferrer'); },\n archive,\n requestDelete,\n });\n ctx.slots.inject('conversation.session.header.utilities', () => ctx.slots.register({\n name: 'conversation.session.header.utilities',\n id: 'advanced-sidebar',\n order: 50,\n locale: LOCALE_NS,\n inject: menuInjected,\n }, HeaderMenu));\n ctx.slots.inject('shell.overlay', () => ctx.slots.register({\n name: 'shell.overlay',\n id: 'advanced-sidebar-panels',\n locale: LOCALE_NS,\n inject: () => ({\n hooks: { sidebar: controller, settings: scope },\n describe,\n gitStatus: (workspacePath, signal) => remote.gitStatus({ workspacePath }, signal).then(unwrap),\n gitDiff: (request, signal) => remote.gitDiff(request, signal).then(unwrap),\n gitStage: (workspacePath, paths) => remote.gitStage({ workspacePath, paths }).then(unwrap),\n gitUnstage: (workspacePath, paths) => remote.gitUnstage({ workspacePath, paths }).then(unwrap),\n gitCommit: (workspacePath, message, amend) => remote.gitCommit({ workspacePath, message, amend }).then(unwrap),\n gitPush: (workspacePath, setUpstream) => remote.gitPush({ workspacePath, setUpstream }).then(unwrap),\n gitCommitMessage: (workspacePath, amend, signal) => remote.gitCommitMessage({ workspacePath, amend }, signal).then(unwrap),\n terminalOpen: (workspacePath, cols, rows) => remote.terminalOpen({ workspacePath, cols, rows }).then(unwrap),\n terminalRead: (terminalId, fromOffset) => remote.terminalRead({ terminalId, fromOffset }).then(unwrap),\n terminalWrite: (terminalId, data) => remote.terminalWrite({ terminalId, data }).then(unwrap),\n terminalInterrupt: terminalId => remote.terminalSignal({ terminalId, signal: 'SIGINT' }).then(unwrap),\n terminalClose: terminalId => remote.terminalClose({ terminalId }).then(unwrap),\n listEntries: (path, workspacePath, signal) => remote.listEntries({ path, workspacePath }, signal).then(unwrap),\n previewList: (workspacePath, signal) => remote.previewList({ workspacePath }, signal).then(unwrap),\n previewStart: (workspacePath, name) => remote.previewStart({ workspacePath, name }).then(unwrap),\n previewStop: serverId => remote.previewStop({ serverId }).then(unwrap),\n previewLogs: (serverId, fromOffset) => remote.previewLogs({ serverId, fromOffset }).then(unwrap),\n readFile: (path, workspacePath, signal) => remote.readFile({ path, workspacePath }, signal).then(unwrap),\n openPath: async (path) => {\n try {\n await ctx.workspaces.openPath(path);\n }\n catch (error) {\n failed(error);\n }\n },\n openIn,\n taskKill: (sessionId, taskId) => remote.taskKill({ sessionId, taskId }).then(unwrap),\n taskOutput: (sessionId, taskId) => remote.taskOutput({ sessionId, taskId }).then(unwrap),\n deleteSession: sessionId => remote.deleteSession({ sessionId }).then(unwrap),\n copy: async (text) => {\n try {\n await navigator.clipboard.writeText(text);\n return true;\n }\n catch {\n // A denied clipboard permission is the ordinary answer in an insecure context; the copy\n // button simply does not confirm, and the patch is still selectable on screen.\n return false;\n }\n },\n close: () => { controller.close(); },\n setDockWidth: (width) => { controller.setDockWidth(width); },\n setPanelWidth: width => scope.set('panelWidth', width),\n addTerminal: (key, tabId) => { controller.addTerminal(key, tabId); },\n settleTerminal: (key, tabId, outcome) => { controller.settleTerminal(key, tabId, outcome); },\n activateTerminal: (key, tabId) => { controller.activateTerminal(key, tabId); },\n closeTerminal: async (key, tabId) => {\n const terminalId = controller.removeTerminal(key, tabId);\n if (terminalId !== undefined)\n await closeShell(terminalId);\n },\n dismissNotice: (id) => { controller.dismissNotice(id); },\n dismissDelete: () => { controller.dismissDelete(); },\n forgetSession,\n commitDelete,\n notify: (tone, text) => { controller.notify(tone, text); },\n }),\n }, PanelHost));\n ctx.slots.inject('settings.plugin.item', () => ctx.slots.register({\n name: 'settings.plugin.item',\n key: SETTINGS_NS,\n locale: LOCALE_NS,\n inject: () => ({\n hooks: { sidebarSettings: scope },\n describe,\n setField: (field, value) => scope.set(field, value),\n unsetField: field => scope.unset(field),\n }),\n }, SettingsCard));\n}\n//# sourceMappingURL=index.js.map"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,43,44],"mappings":"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,KAAI,IAAI;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,MAAK,KAAK;KAAC,CAAC,OAAM,MAAM;KAAC,CAAC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"}
|