__vite_ssr_exportName__("MAX_WHEN_EXPRESSION_DEPTH", () => { try { return MAX_WHEN_EXPRESSION_DEPTH } catch {} });
__vite_ssr_exportName__("MAX_SCRIPT_ID_LENGTH", () => { try { return MAX_SCRIPT_ID_LENGTH } catch {} });
__vite_ssr_exportName__("MAX_KEYBINDINGS_COUNT", () => { try { return MAX_KEYBINDINGS_COUNT } catch {} });
__vite_ssr_exportName__("THREAD_JUMP_KEYBINDING_COMMANDS", () => { try { return THREAD_JUMP_KEYBINDING_COMMANDS } catch {} });
__vite_ssr_exportName__("MODEL_PICKER_JUMP_KEYBINDING_COMMANDS", () => { try { return MODEL_PICKER_JUMP_KEYBINDING_COMMANDS } catch {} });
__vite_ssr_exportName__("STATIC_KEYBINDING_COMMANDS", () => { try { return STATIC_KEYBINDING_COMMANDS } catch {} });
__vite_ssr_exportName__("SCRIPT_RUN_COMMAND_PATTERN", () => { try { return SCRIPT_RUN_COMMAND_PATTERN } catch {} });
__vite_ssr_exportName__("KeybindingCommand", () => { try { return KeybindingCommand } catch {} });
__vite_ssr_exportName__("KeybindingValue", () => { try { return KeybindingValue } catch {} });
__vite_ssr_exportName__("KeybindingWhen", () => { try { return KeybindingWhen } catch {} });
__vite_ssr_exportName__("KeybindingRule", () => { try { return KeybindingRule } catch {} });
__vite_ssr_exportName__("KeybindingsConfig", () => { try { return KeybindingsConfig } catch {} });
__vite_ssr_exportName__("KeybindingShortcut", () => { try { return KeybindingShortcut } catch {} });
__vite_ssr_exportName__("PreviewForwardedShortcut", () => { try { return PreviewForwardedShortcut } catch {} });
__vite_ssr_exportName__("KeybindingWhenNode", () => { try { return KeybindingWhenNode } catch {} });
__vite_ssr_exportName__("ResolvedKeybindingRule", () => { try { return ResolvedKeybindingRule } catch {} });
__vite_ssr_exportName__("ResolvedKeybindingsConfig", () => { try { return ResolvedKeybindingsConfig } catch {} });
__vite_ssr_exportName__("KeybindingsConfigError", () => { try { return KeybindingsConfigError } catch {} });
const __vite_ssr_import_0__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Schema.js");
const __vite_ssr_import_1__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/packages/contracts/src/baseSchemas.ts", {"importedNames":["ForwardCompatibleArray","TrimmedString"]});


const MAX_KEYBINDING_VALUE_LENGTH = 64;
const MAX_KEYBINDING_WHEN_LENGTH = 256;
const MAX_WHEN_EXPRESSION_DEPTH = 64;
const MAX_SCRIPT_ID_LENGTH = 24;
const MAX_KEYBINDINGS_COUNT = 256;
const THREAD_JUMP_KEYBINDING_COMMANDS = [
	"thread.jump.1",
	"thread.jump.2",
	"thread.jump.3",
	"thread.jump.4",
	"thread.jump.5",
	"thread.jump.6",
	"thread.jump.7",
	"thread.jump.8",
	"thread.jump.9"
];
const MODEL_PICKER_JUMP_KEYBINDING_COMMANDS = [
	"modelPicker.jump.1",
	"modelPicker.jump.2",
	"modelPicker.jump.3",
	"modelPicker.jump.4",
	"modelPicker.jump.5",
	"modelPicker.jump.6",
	"modelPicker.jump.7",
	"modelPicker.jump.8",
	"modelPicker.jump.9"
];
const THREAD_KEYBINDING_COMMANDS = [
	"thread.stop",
	"thread.steerQueuedMessage",
	"thread.editQueuedMessage",
	"thread.previous",
	"thread.next",
	"thread.copyReference",
	"thread.settle",
	"thread.pin",
	"thread.undo",
	...THREAD_JUMP_KEYBINDING_COMMANDS
];
const MODEL_PICKER_KEYBINDING_COMMANDS = [
	"modelPicker.toggle",
	"modelPicker.previousProvider",
	"modelPicker.nextProvider",
	...MODEL_PICKER_JUMP_KEYBINDING_COMMANDS
];
const STATIC_KEYBINDING_COMMANDS = [
	"sidebar.toggle",
	"navigation.back",
	"navigation.forward",
	"terminal.toggle",
	"terminal.split",
	"terminal.splitVertical",
	"terminal.new",
	"terminal.close",
	"rightPanel.toggle",
	"rightPanel.new",
	"threadPanel.toggle",
	"rightPanel.toggleMaximized",
	"rightPanel.close",
	"view.reopenClosed",
	"pullRequest.copyNumber",
	"diff.toggle",
	"preview.toggle",
	"preview.refresh",
	"preview.focusUrl",
	"preview.zoomIn",
	"preview.zoomOut",
	"preview.resetZoom",
	"commandPalette.toggle",
	"filePicker.toggle",
	"projectSearch.toggle",
	"usage.open",
	"theme.select",
	"appearance.cycle",
	"themeEditor.toggle",
	"composer.stash",
	"composer.sendAlternate",
	"composer.sendBackground",
	"composer.sendAndNewThread",
	"composer.host",
	"composer.cycleHost",
	"composer.effort",
	"composer.increaseEffort",
	"composer.decreaseEffort",
	"composer.mode",
	"composer.workspace",
	"composer.previousWorktree",
	"composer.branch",
	"chat.new",
	"chat.newLocal",
	"chat.newWithoutProject",
	"chat.find",
	"editor.openFavorite",
	"usage.cost",
	"usage.tokens",
	"usage.limits",
	"usage.period.day",
	"usage.period.week",
	"usage.period.month",
	"usage.period.quarter",
	...MODEL_PICKER_KEYBINDING_COMMANDS,
	...THREAD_KEYBINDING_COMMANDS
];
const SCRIPT_RUN_COMMAND_PATTERN = __vite_ssr_import_0__.TemplateLiteral([
	__vite_ssr_import_0__.Literal("script."),
	__vite_ssr_import_0__.NonEmptyString.check(__vite_ssr_import_0__.isMaxLength(MAX_SCRIPT_ID_LENGTH), __vite_ssr_import_0__.isPattern(/^[a-z0-9][a-z0-9-]*$/)),
	__vite_ssr_import_0__.Literal(".run")
]);
const KeybindingCommand = __vite_ssr_import_0__.Union([__vite_ssr_import_0__.Literals(STATIC_KEYBINDING_COMMANDS), SCRIPT_RUN_COMMAND_PATTERN]);
const KeybindingValue = __vite_ssr_import_1__.TrimmedString.check(__vite_ssr_import_0__.isMinLength(1), __vite_ssr_import_0__.isMaxLength(MAX_KEYBINDING_VALUE_LENGTH));
const KeybindingWhen = __vite_ssr_import_1__.TrimmedString.check(__vite_ssr_import_0__.isMinLength(1), __vite_ssr_import_0__.isMaxLength(MAX_KEYBINDING_WHEN_LENGTH));
const KeybindingRule = __vite_ssr_import_0__.Struct({
	key: KeybindingValue,
	command: KeybindingCommand,
	when: __vite_ssr_import_0__.optional(KeybindingWhen)
});
const KeybindingsConfig = __vite_ssr_import_0__.Array(KeybindingRule).check(__vite_ssr_import_0__.isMaxLength(MAX_KEYBINDINGS_COUNT));
const KeybindingShortcut = __vite_ssr_import_0__.Struct({
	key: KeybindingValue,
	metaKey: __vite_ssr_import_0__.Boolean,
	ctrlKey: __vite_ssr_import_0__.Boolean,
	shiftKey: __vite_ssr_import_0__.Boolean,
	altKey: __vite_ssr_import_0__.Boolean,
	modKey: __vite_ssr_import_0__.Boolean
});
const PreviewForwardedShortcut = __vite_ssr_import_0__.Struct({
	command: KeybindingCommand,
	shortcut: KeybindingShortcut
});
const KeybindingWhenNodeRef = __vite_ssr_import_0__.suspend(() => KeybindingWhenNode);
const KeybindingWhenNode = __vite_ssr_import_0__.Union([
	__vite_ssr_import_0__.Struct({
		type: __vite_ssr_import_0__.Literal("identifier"),
		name: __vite_ssr_import_0__.NonEmptyString
	}),
	__vite_ssr_import_0__.Struct({
		type: __vite_ssr_import_0__.Literal("not"),
		node: KeybindingWhenNodeRef
	}),
	__vite_ssr_import_0__.Struct({
		type: __vite_ssr_import_0__.Literal("and"),
		left: KeybindingWhenNodeRef,
		right: KeybindingWhenNodeRef
	}),
	__vite_ssr_import_0__.Struct({
		type: __vite_ssr_import_0__.Literal("or"),
		left: KeybindingWhenNodeRef,
		right: KeybindingWhenNodeRef
	})
]);
const ResolvedKeybindingRule = __vite_ssr_import_0__.Struct({
	command: KeybindingCommand,
	shortcut: KeybindingShortcut,
	whenAst: __vite_ssr_import_0__.optional(KeybindingWhenNode)
}).annotate({ parseOptions: { onExcessProperty: "ignore" } });
/** Drops undecodable rules without failing the connection. */
const ResolvedKeybindingsConfig = (0,__vite_ssr_import_1__.ForwardCompatibleArray)(ResolvedKeybindingRule).check(__vite_ssr_import_0__.isMaxLength(MAX_KEYBINDINGS_COUNT));
class KeybindingsConfigError extends __vite_ssr_import_0__.TaggedError()("KeybindingsConfigParseError", {
	configPath: __vite_ssr_import_0__.String,
	detail: __vite_ssr_import_0__.String,
	cause: __vite_ssr_import_0__.optional(__vite_ssr_import_0__.Defect())
}) {
	get message() {
		return `Unable to parse keybindings config at ${this.configPath}: ${this.detail}`;
	}
}
//# sourceMappingSource=vite-generated
//# sourceMappingURL=data:application/json;base64,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LENBQUM7QUFPTSxNQUFNLHlCQUF5QixzQkFBTyxPQUFPO0NBQ2xELFNBQVM7Q0FDVCxVQUFVO0NBQ1YsU0FBUyxzQkFBTyxTQUFTLGtCQUFrQjtBQUM3QyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixTQUFTLEVBQUUsQ0FBQzs7QUFJckQsTUFBTSw0QkFBNEIsaURBQXVCLHNCQUFzQixDQUFDLENBQUMsTUFDdEYsc0JBQU8sWUFBWSxxQkFBcUIsQ0FDMUM7QUFHTyxNQUFNLCtCQUErQixzQkFBTyxZQUFvQyxDQUFDLENBQ3RGLCtCQUNBO0NBQ0UsWUFBWSxzQkFBTztDQUNuQixRQUFRLHNCQUFPO0NBQ2YsT0FBTyxzQkFBTyxTQUFTLHNCQUFPLE9BQU8sQ0FBQztBQUN4QyxDQUNGLENBQUMsQ0FBQztDQUNBLElBQWEsVUFBa0I7RUFDN0IsT0FBTyx5Q0FBeUMsS0FBSyxXQUFXLElBQUksS0FBSztDQUMzRTtBQUNGIiwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlcyI6WyJrZXliaW5kaW5ncy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBTY2hlbWEgZnJvbSBcImVmZmVjdC9TY2hlbWFcIjtcbmltcG9ydCB7IEZvcndhcmRDb21wYXRpYmxlQXJyYXksIFRyaW1tZWRTdHJpbmcgfSBmcm9tIFwiLi9iYXNlU2NoZW1hcy50c1wiO1xuXG5jb25zdCBNQVhfS0VZQklORElOR19WQUxVRV9MRU5HVEggPSA2NDtcbmNvbnN0IE1BWF9LRVlCSU5ESU5HX1dIRU5fTEVOR1RIID0gMjU2O1xuZXhwb3J0IGNvbnN0IE1BWF9XSEVOX0VYUFJFU1NJT05fREVQVEggPSA2NDtcbmV4cG9ydCBjb25zdCBNQVhfU0NSSVBUX0lEX0xFTkdUSCA9IDI0O1xuZXhwb3J0IGNvbnN0IE1BWF9LRVlCSU5ESU5HU19DT1VOVCA9IDI1NjtcblxuZXhwb3J0IGNvbnN0IFRIUkVBRF9KVU1QX0tFWUJJTkRJTkdfQ09NTUFORFMgPSBbXG4gIFwidGhyZWFkLmp1bXAuMVwiLFxuICBcInRocmVhZC5qdW1wLjJcIixcbiAgXCJ0aHJlYWQuanVtcC4zXCIsXG4gIFwidGhyZWFkLmp1bXAuNFwiLFxuICBcInRocmVhZC5qdW1wLjVcIixcbiAgXCJ0aHJlYWQuanVtcC42XCIsXG4gIFwidGhyZWFkLmp1bXAuN1wiLFxuICBcInRocmVhZC5qdW1wLjhcIixcbiAgXCJ0aHJlYWQuanVtcC45XCIsXG5dIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgVGhyZWFkSnVtcEtleWJpbmRpbmdDb21tYW5kID0gKHR5cGVvZiBUSFJFQURfSlVNUF9LRVlCSU5ESU5HX0NPTU1BTkRTKVtudW1iZXJdO1xuXG5leHBvcnQgY29uc3QgTU9ERUxfUElDS0VSX0pVTVBfS0VZQklORElOR19DT01NQU5EUyA9IFtcbiAgXCJtb2RlbFBpY2tlci5qdW1wLjFcIixcbiAgXCJtb2RlbFBpY2tlci5qdW1wLjJcIixcbiAgXCJtb2RlbFBpY2tlci5qdW1wLjNcIixcbiAgXCJtb2RlbFBpY2tlci5qdW1wLjRcIixcbiAgXCJtb2RlbFBpY2tlci5qdW1wLjVcIixcbiAgXCJtb2RlbFBpY2tlci5qdW1wLjZcIixcbiAgXCJtb2RlbFBpY2tlci5qdW1wLjdcIixcbiAgXCJtb2RlbFBpY2tlci5qdW1wLjhcIixcbiAgXCJtb2RlbFBpY2tlci5qdW1wLjlcIixcbl0gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBNb2RlbFBpY2tlckp1bXBLZXliaW5kaW5nQ29tbWFuZCA9XG4gICh0eXBlb2YgTU9ERUxfUElDS0VSX0pVTVBfS0VZQklORElOR19DT01NQU5EUylbbnVtYmVyXTtcblxuY29uc3QgVEhSRUFEX0tFWUJJTkRJTkdfQ09NTUFORFMgPSBbXG4gIFwidGhyZWFkLnN0b3BcIixcbiAgXCJ0aHJlYWQuc3RlZXJRdWV1ZWRNZXNzYWdlXCIsXG4gIFwidGhyZWFkLmVkaXRRdWV1ZWRNZXNzYWdlXCIsXG4gIFwidGhyZWFkLnByZXZpb3VzXCIsXG4gIFwidGhyZWFkLm5leHRcIixcbiAgXCJ0aHJlYWQuY29weVJlZmVyZW5jZVwiLFxuICBcInRocmVhZC5zZXR0bGVcIixcbiAgXCJ0aHJlYWQucGluXCIsXG4gIFwidGhyZWFkLnVuZG9cIixcbiAgLi4uVEhSRUFEX0pVTVBfS0VZQklORElOR19DT01NQU5EUyxcbl0gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBUaHJlYWRLZXliaW5kaW5nQ29tbWFuZCA9ICh0eXBlb2YgVEhSRUFEX0tFWUJJTkRJTkdfQ09NTUFORFMpW251bWJlcl07XG5cbmNvbnN0IE1PREVMX1BJQ0tFUl9LRVlCSU5ESU5HX0NPTU1BTkRTID0gW1xuICBcIm1vZGVsUGlja2VyLnRvZ2dsZVwiLFxuICBcIm1vZGVsUGlja2VyLnByZXZpb3VzUHJvdmlkZXJcIixcbiAgXCJtb2RlbFBpY2tlci5uZXh0UHJvdmlkZXJcIixcbiAgLi4uTU9ERUxfUElDS0VSX0pVTVBfS0VZQklORElOR19DT01NQU5EUyxcbl0gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBNb2RlbFBpY2tlcktleWJpbmRpbmdDb21tYW5kID0gKHR5cGVvZiBNT0RFTF9QSUNLRVJfS0VZQklORElOR19DT01NQU5EUylbbnVtYmVyXTtcblxuZXhwb3J0IGNvbnN0IFNUQVRJQ19LRVlCSU5ESU5HX0NPTU1BTkRTID0gW1xuICBcInNpZGViYXIudG9nZ2xlXCIsXG4gIFwibmF2aWdhdGlvbi5iYWNrXCIsXG4gIFwibmF2aWdhdGlvbi5mb3J3YXJkXCIsXG4gIFwidGVybWluYWwudG9nZ2xlXCIsXG4gIFwidGVybWluYWwuc3BsaXRcIixcbiAgXCJ0ZXJtaW5hbC5zcGxpdFZlcnRpY2FsXCIsXG4gIFwidGVybWluYWwubmV3XCIsXG4gIFwidGVybWluYWwuY2xvc2VcIixcbiAgXCJyaWdodFBhbmVsLnRvZ2dsZVwiLFxuICBcInJpZ2h0UGFuZWwubmV3XCIsXG4gIFwidGhyZWFkUGFuZWwudG9nZ2xlXCIsXG4gIFwicmlnaHRQYW5lbC50b2dnbGVNYXhpbWl6ZWRcIixcbiAgXCJyaWdodFBhbmVsLmNsb3NlXCIsXG4gIFwidmlldy5yZW9wZW5DbG9zZWRcIixcbiAgXCJwdWxsUmVxdWVzdC5jb3B5TnVtYmVyXCIsXG4gIFwiZGlmZi50b2dnbGVcIixcbiAgXCJwcmV2aWV3LnRvZ2dsZVwiLFxuICBcInByZXZpZXcucmVmcmVzaFwiLFxuICBcInByZXZpZXcuZm9jdXNVcmxcIixcbiAgXCJwcmV2aWV3Lnpvb21JblwiLFxuICBcInByZXZpZXcuem9vbU91dFwiLFxuICBcInByZXZpZXcucmVzZXRab29tXCIsXG4gIFwiY29tbWFuZFBhbGV0dGUudG9nZ2xlXCIsXG4gIFwiZmlsZVBpY2tlci50b2dnbGVcIixcbiAgXCJwcm9qZWN0U2VhcmNoLnRvZ2dsZVwiLFxuICBcInVzYWdlLm9wZW5cIixcbiAgXCJ0aGVtZS5zZWxlY3RcIixcbiAgXCJhcHBlYXJhbmNlLmN5Y2xlXCIsXG4gIFwidGhlbWVFZGl0b3IudG9nZ2xlXCIsXG4gIFwiY29tcG9zZXIuc3Rhc2hcIixcbiAgXCJjb21wb3Nlci5zZW5kQWx0ZXJuYXRlXCIsXG4gIFwiY29tcG9zZXIuc2VuZEJhY2tncm91bmRcIixcbiAgXCJjb21wb3Nlci5zZW5kQW5kTmV3VGhyZWFkXCIsXG4gIFwiY29tcG9zZXIuaG9zdFwiLFxuICBcImNvbXBvc2VyLmN5Y2xlSG9zdFwiLFxuICBcImNvbXBvc2VyLmVmZm9ydFwiLFxuICBcImNvbXBvc2VyLmluY3JlYXNlRWZmb3J0XCIsXG4gIFwiY29tcG9zZXIuZGVjcmVhc2VFZmZvcnRcIixcbiAgXCJjb21wb3Nlci5tb2RlXCIsXG4gIFwiY29tcG9zZXIud29ya3NwYWNlXCIsXG4gIFwiY29tcG9zZXIucHJldmlvdXNXb3JrdHJlZVwiLFxuICBcImNvbXBvc2VyLmJyYW5jaFwiLFxuICBcImNoYXQubmV3XCIsXG4gIFwiY2hhdC5uZXdMb2NhbFwiLFxuICBcImNoYXQubmV3V2l0aG91dFByb2plY3RcIixcbiAgXCJjaGF0LmZpbmRcIixcbiAgXCJlZGl0b3Iub3BlbkZhdm9yaXRlXCIsXG4gIFwidXNhZ2UuY29zdFwiLFxuICBcInVzYWdlLnRva2Vuc1wiLFxuICBcInVzYWdlLmxpbWl0c1wiLFxuICBcInVzYWdlLnBlcmlvZC5kYXlcIixcbiAgXCJ1c2FnZS5wZXJpb2Qud2Vla1wiLFxuICBcInVzYWdlLnBlcmlvZC5tb250aFwiLFxuICBcInVzYWdlLnBlcmlvZC5xdWFydGVyXCIsXG4gIC4uLk1PREVMX1BJQ0tFUl9LRVlCSU5ESU5HX0NPTU1BTkRTLFxuICAuLi5USFJFQURfS0VZQklORElOR19DT01NQU5EUyxcbl0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBTQ1JJUFRfUlVOX0NPTU1BTkRfUEFUVEVSTiA9IFNjaGVtYS5UZW1wbGF0ZUxpdGVyYWwoW1xuICBTY2hlbWEuTGl0ZXJhbChcInNjcmlwdC5cIiksXG4gIFNjaGVtYS5Ob25FbXB0eVN0cmluZy5jaGVjayhcbiAgICBTY2hlbWEuaXNNYXhMZW5ndGgoTUFYX1NDUklQVF9JRF9MRU5HVEgpLFxuICAgIFNjaGVtYS5pc1BhdHRlcm4oL15bYS16MC05XVthLXowLTktXSokLyksXG4gICksXG4gIFNjaGVtYS5MaXRlcmFsKFwiLnJ1blwiKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgS2V5YmluZGluZ0NvbW1hbmQgPSBTY2hlbWEuVW5pb24oW1xuICBTY2hlbWEuTGl0ZXJhbHMoU1RBVElDX0tFWUJJTkRJTkdfQ09NTUFORFMpLFxuICBTQ1JJUFRfUlVOX0NPTU1BTkRfUEFUVEVSTixcbl0pO1xuZXhwb3J0IHR5cGUgS2V5YmluZGluZ0NvbW1hbmQgPSB0eXBlb2YgS2V5YmluZGluZ0NvbW1hbmQuVHlwZTtcblxuZXhwb3J0IGNvbnN0IEtleWJpbmRpbmdWYWx1ZSA9IFRyaW1tZWRTdHJpbmcuY2hlY2soXG4gIFNjaGVtYS5pc01pbkxlbmd0aCgxKSxcbiAgU2NoZW1hLmlzTWF4TGVuZ3RoKE1BWF9LRVlCSU5ESU5HX1ZBTFVFX0xFTkdUSCksXG4pO1xuXG5leHBvcnQgY29uc3QgS2V5YmluZGluZ1doZW4gPSBUcmltbWVkU3RyaW5nLmNoZWNrKFxuICBTY2hlbWEuaXNNaW5MZW5ndGgoMSksXG4gIFNjaGVtYS5pc01heExlbmd0aChNQVhfS0VZQklORElOR19XSEVOX0xFTkdUSCksXG4pO1xuZXhwb3J0IGNvbnN0IEtleWJpbmRpbmdSdWxlID0gU2NoZW1hLlN0cnVjdCh7XG4gIGtleTogS2V5YmluZGluZ1ZhbHVlLFxuICBjb21tYW5kOiBLZXliaW5kaW5nQ29tbWFuZCxcbiAgd2hlbjogU2NoZW1hLm9wdGlvbmFsKEtleWJpbmRpbmdXaGVuKSxcbn0pO1xuZXhwb3J0IHR5cGUgS2V5YmluZGluZ1J1bGUgPSB0eXBlb2YgS2V5YmluZGluZ1J1bGUuVHlwZTtcblxuZXhwb3J0IGNvbnN0IEtleWJpbmRpbmdzQ29uZmlnID0gU2NoZW1hLkFycmF5KEtleWJpbmRpbmdSdWxlKS5jaGVjayhcbiAgU2NoZW1hLmlzTWF4TGVuZ3RoKE1BWF9LRVlCSU5ESU5HU19DT1VOVCksXG4pO1xuZXhwb3J0IHR5cGUgS2V5YmluZGluZ3NDb25maWcgPSB0eXBlb2YgS2V5YmluZGluZ3NDb25maWcuVHlwZTtcblxuZXhwb3J0IGNvbnN0IEtleWJpbmRpbmdTaG9ydGN1dCA9IFNjaGVtYS5TdHJ1Y3Qoe1xuICBrZXk6IEtleWJpbmRpbmdWYWx1ZSxcbiAgbWV0YUtleTogU2NoZW1hLkJvb2xlYW4sXG4gIGN0cmxLZXk6IFNjaGVtYS5Cb29sZWFuLFxuICBzaGlmdEtleTogU2NoZW1hLkJvb2xlYW4sXG4gIGFsdEtleTogU2NoZW1hLkJvb2xlYW4sXG4gIG1vZEtleTogU2NoZW1hLkJvb2xlYW4sXG59KTtcbmV4cG9ydCB0eXBlIEtleWJpbmRpbmdTaG9ydGN1dCA9IHR5cGVvZiBLZXliaW5kaW5nU2hvcnRjdXQuVHlwZTtcblxuZXhwb3J0IGNvbnN0IFByZXZpZXdGb3J3YXJkZWRTaG9ydGN1dCA9IFNjaGVtYS5TdHJ1Y3Qoe1xuICBjb21tYW5kOiBLZXliaW5kaW5nQ29tbWFuZCxcbiAgc2hvcnRjdXQ6IEtleWJpbmRpbmdTaG9ydGN1dCxcbn0pO1xuZXhwb3J0IHR5cGUgUHJldmlld0ZvcndhcmRlZFNob3J0Y3V0ID0gdHlwZW9mIFByZXZpZXdGb3J3YXJkZWRTaG9ydGN1dC5UeXBlO1xuXG5jb25zdCBLZXliaW5kaW5nV2hlbk5vZGVSZWYgPSBTY2hlbWEuc3VzcGVuZChcbiAgKCk6IFNjaGVtYS5Db2RlYzxLZXliaW5kaW5nV2hlbk5vZGU+ID0+IEtleWJpbmRpbmdXaGVuTm9kZSxcbik7XG5leHBvcnQgY29uc3QgS2V5YmluZGluZ1doZW5Ob2RlID0gU2NoZW1hLlVuaW9uKFtcbiAgU2NoZW1hLlN0cnVjdCh7XG4gICAgdHlwZTogU2NoZW1hLkxpdGVyYWwoXCJpZGVudGlmaWVyXCIpLFxuICAgIG5hbWU6IFNjaGVtYS5Ob25FbXB0eVN0cmluZyxcbiAgfSksXG4gIFNjaGVtYS5TdHJ1Y3Qoe1xuICAgIHR5cGU6IFNjaGVtYS5MaXRlcmFsKFwibm90XCIpLFxuICAgIG5vZGU6IEtleWJpbmRpbmdXaGVuTm9kZVJlZixcbiAgfSksXG4gIFNjaGVtYS5TdHJ1Y3Qoe1xuICAgIHR5cGU6IFNjaGVtYS5MaXRlcmFsKFwiYW5kXCIpLFxuICAgIGxlZnQ6IEtleWJpbmRpbmdXaGVuTm9kZVJlZixcbiAgICByaWdodDogS2V5YmluZGluZ1doZW5Ob2RlUmVmLFxuICB9KSxcbiAgU2NoZW1hLlN0cnVjdCh7XG4gICAgdHlwZTogU2NoZW1hLkxpdGVyYWwoXCJvclwiKSxcbiAgICBsZWZ0OiBLZXliaW5kaW5nV2hlbk5vZGVSZWYsXG4gICAgcmlnaHQ6IEtleWJpbmRpbmdXaGVuTm9kZVJlZixcbiAgfSksXG5dKTtcbmV4cG9ydCB0eXBlIEtleWJpbmRpbmdXaGVuTm9kZSA9XG4gIHwgeyB0eXBlOiBcImlkZW50aWZpZXJcIjsgbmFtZTogc3RyaW5nIH1cbiAgfCB7IHR5cGU6IFwibm90XCI7IG5vZGU6IEtleWJpbmRpbmdXaGVuTm9kZSB9XG4gIHwgeyB0eXBlOiBcImFuZFwiOyBsZWZ0OiBLZXliaW5kaW5nV2hlbk5vZGU7IHJpZ2h0OiBLZXliaW5kaW5nV2hlbk5vZGUgfVxuICB8IHsgdHlwZTogXCJvclwiOyBsZWZ0OiBLZXliaW5kaW5nV2hlbk5vZGU7IHJpZ2h0OiBLZXliaW5kaW5nV2hlbk5vZGUgfTtcblxuZXhwb3J0IGNvbnN0IFJlc29sdmVkS2V5YmluZGluZ1J1bGUgPSBTY2hlbWEuU3RydWN0KHtcbiAgY29tbWFuZDogS2V5YmluZGluZ0NvbW1hbmQsXG4gIHNob3J0Y3V0OiBLZXliaW5kaW5nU2hvcnRjdXQsXG4gIHdoZW5Bc3Q6IFNjaGVtYS5vcHRpb25hbChLZXliaW5kaW5nV2hlbk5vZGUpLFxufSkuYW5ub3RhdGUoeyBwYXJzZU9wdGlvbnM6IHsgb25FeGNlc3NQcm9wZXJ0eTogXCJpZ25vcmVcIiB9IH0pO1xuZXhwb3J0IHR5cGUgUmVzb2x2ZWRLZXliaW5kaW5nUnVsZSA9IHR5cGVvZiBSZXNvbHZlZEtleWJpbmRpbmdSdWxlLlR5cGU7XG5cbi8qKiBEcm9wcyB1bmRlY29kYWJsZSBydWxlcyB3aXRob3V0IGZhaWxpbmcgdGhlIGNvbm5lY3Rpb24uICovXG5leHBvcnQgY29uc3QgUmVzb2x2ZWRLZXliaW5kaW5nc0NvbmZpZyA9IEZvcndhcmRDb21wYXRpYmxlQXJyYXkoUmVzb2x2ZWRLZXliaW5kaW5nUnVsZSkuY2hlY2soXG4gIFNjaGVtYS5pc01heExlbmd0aChNQVhfS0VZQklORElOR1NfQ09VTlQpLFxuKTtcbmV4cG9ydCB0eXBlIFJlc29sdmVkS2V5YmluZGluZ3NDb25maWcgPSB0eXBlb2YgUmVzb2x2ZWRLZXliaW5kaW5nc0NvbmZpZy5UeXBlO1xuXG5leHBvcnQgY2xhc3MgS2V5YmluZGluZ3NDb25maWdFcnJvciBleHRlbmRzIFNjaGVtYS5UYWdnZWRFcnJvcjxLZXliaW5kaW5nc0NvbmZpZ0Vycm9yPigpKFxuICBcIktleWJpbmRpbmdzQ29uZmlnUGFyc2VFcnJvclwiLFxuICB7XG4gICAgY29uZmlnUGF0aDogU2NoZW1hLlN0cmluZyxcbiAgICBkZXRhaWw6IFNjaGVtYS5TdHJpbmcsXG4gICAgY2F1c2U6IFNjaGVtYS5vcHRpb25hbChTY2hlbWEuRGVmZWN0KCkpLFxuICB9LFxuKSB7XG4gIG92ZXJyaWRlIGdldCBtZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBVbmFibGUgdG8gcGFyc2Uga2V5YmluZGluZ3MgY29uZmlnIGF0ICR7dGhpcy5jb25maWdQYXRofTogJHt0aGlzLmRldGFpbH1gO1xuICB9XG59XG4iXSwiZmlsZSI6Ii9AZnMvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvY29udHJhY3RzL3NyYy9rZXliaW5kaW5ncy50cyJ9

//# vitestCache=W3siZmlsZSI6IjEiLCJpZCI6IjEiLCJ1cmwiOiIyIiwiaW1wb3J0cyI6IjMiLCJtYXBwaW5ncyI6ZmFsc2UsImRlcHMiOiI0IiwiZHluYW1pY0RlcHMiOiI1Iiwic3RhdGljTW9ja3MiOm51bGx9LCIvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvY29udHJhY3RzL3NyYy9rZXliaW5kaW5ncy50cyIsIi9AZnMvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvY29udHJhY3RzL3NyYy9rZXliaW5kaW5ncy50cyIseyJ1cmxzIjoiNiIsImlkcyI6IjcifSxbIjgiLCI5Il0sW10sWyI4IiwiOSJdLHt9LCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL25vZGVfbW9kdWxlcy8ucG5wbS9lZmZlY3RANC4wLjUvbm9kZV9tb2R1bGVzL2VmZmVjdC9kaXN0L1NjaGVtYS5qcyIsIi9AZnMvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvY29udHJhY3RzL3NyYy9iYXNlU2NoZW1hcy50cyJd