__vite_ssr_exportName__("ORCHESTRATION_PROTOCOL_VERSION", () => { try { return ORCHESTRATION_PROTOCOL_VERSION } catch {} });
__vite_ssr_exportName__("ORCHESTRATION_PROTOCOL_VERSION_TEXT", () => { try { return ORCHESTRATION_PROTOCOL_VERSION_TEXT } catch {} });
__vite_ssr_exportName__("ORCHESTRATION_PROTOCOL_QUERY_PARAM", () => { try { return ORCHESTRATION_PROTOCOL_QUERY_PARAM } catch {} });
__vite_ssr_exportName__("ORCHESTRATION_PROTOCOL_HEADER", () => { try { return ORCHESTRATION_PROTOCOL_HEADER } catch {} });
__vite_ssr_exportName__("ExecutionEnvironmentPlatformOs", () => { try { return ExecutionEnvironmentPlatformOs } catch {} });
__vite_ssr_exportName__("ExecutionEnvironmentPlatformArch", () => { try { return ExecutionEnvironmentPlatformArch } catch {} });
__vite_ssr_exportName__("ENVIRONMENT_MACHINE_KINDS", () => { try { return ENVIRONMENT_MACHINE_KINDS } catch {} });
__vite_ssr_exportName__("EnvironmentMachineKind", () => { try { return EnvironmentMachineKind } catch {} });
__vite_ssr_exportName__("isEnvironmentMachineKind", () => { try { return isEnvironmentMachineKind } catch {} });
__vite_ssr_exportName__("ExecutionEnvironmentPlatform", () => { try { return ExecutionEnvironmentPlatform } catch {} });
__vite_ssr_exportName__("ThreadEnvMode", () => { try { return ThreadEnvMode } catch {} });
__vite_ssr_exportName__("WorktreeSubmodules", () => { try { return WorktreeSubmodules } catch {} });
__vite_ssr_exportName__("ServerSelfUpdateMethod", () => { try { return ServerSelfUpdateMethod } catch {} });
__vite_ssr_exportName__("ServerInstallation", () => { try { return ServerInstallation } catch {} });
__vite_ssr_exportName__("ServerSelfUpdateCapability", () => { try { return ServerSelfUpdateCapability } catch {} });
__vite_ssr_exportName__("ExecutionEnvironmentCapabilities", () => { try { return ExecutionEnvironmentCapabilities } catch {} });
__vite_ssr_exportName__("ExecutionEnvironmentDescriptor", () => { try { return ExecutionEnvironmentDescriptor } catch {} });
__vite_ssr_exportName__("RepositoryIdentityLocator", () => { try { return RepositoryIdentityLocator } catch {} });
__vite_ssr_exportName__("RepositoryOrigin", () => { try { return RepositoryOrigin } catch {} });
__vite_ssr_exportName__("RepositoryIdentity", () => { try { return RepositoryIdentity } catch {} });
__vite_ssr_exportName__("repositoryGroupingKeyOf", () => { try { return repositoryGroupingKeyOf } catch {} });
__vite_ssr_exportName__("repositoryGroupingDisplayNameOf", () => { try { return repositoryGroupingDisplayNameOf } catch {} });
__vite_ssr_exportName__("ScopedProjectRef", () => { try { return ScopedProjectRef } catch {} });
__vite_ssr_exportName__("ScopedThreadRef", () => { try { return ScopedThreadRef } 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/Effect.js");
const __vite_ssr_import_1__ = 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_2__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/packages/contracts/src/baseSchemas.ts", {"importedNames":["EnvironmentId","ForwardCompatibleOptional","ProjectId","ThreadId","TrimmedNonEmptyString"]});
const __vite_ssr_import_3__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/packages/contracts/src/sourceControl.ts", {"importedNames":["SourceControlProviderKind"]});




const ORCHESTRATION_PROTOCOL_VERSION = 2;
const ORCHESTRATION_PROTOCOL_VERSION_TEXT = "2";
const ORCHESTRATION_PROTOCOL_QUERY_PARAM = "orchestrationProtocol";
const ORCHESTRATION_PROTOCOL_HEADER = "x-t3-orchestration-protocol";
const ExecutionEnvironmentPlatformOs = __vite_ssr_import_1__.Literals([
	"darwin",
	"linux",
	"windows",
	"unknown"
]);
const ExecutionEnvironmentPlatformArch = __vite_ssr_import_1__.Literals([
	"arm64",
	"x64",
	"other"
]);
const ENVIRONMENT_MACHINE_KINDS = [
	"server",
	"cloud",
	"linux",
	"desktop",
	"laptop",
	"mac-mini",
	"mac-studio"
];
const EnvironmentMachineKind = __vite_ssr_import_1__.Literals(ENVIRONMENT_MACHINE_KINDS);
const isEnvironmentMachineKind = __vite_ssr_import_1__.is(EnvironmentMachineKind);
const ExecutionEnvironmentPlatform = __vite_ssr_import_1__.Struct({
	os: ExecutionEnvironmentPlatformOs,
	arch: ExecutionEnvironmentPlatformArch,
	machine: (0,__vite_ssr_import_2__.ForwardCompatibleOptional)(EnvironmentMachineKind)
});
// Kept outside settings.ts to avoid an orchestration import cycle.
const ThreadEnvMode = __vite_ssr_import_1__.Literals(["local", "worktree"]);
const WorktreeSubmodules = __vite_ssr_import_1__.Literals([
	"recursive",
	"top-level",
	"none"
]);
const ServerSelfUpdateMethod = __vite_ssr_import_1__.Literals([
	"boot-service",
	"respawn",
	"desktop-app"
]);
const ServerInstallation = __vite_ssr_import_1__.Union([__vite_ssr_import_1__.Struct({ kind: __vite_ssr_import_1__.Literals([
	"npx",
	"pnpm-dlx",
	"bunx"
]) }), __vite_ssr_import_1__.Struct({
	kind: __vite_ssr_import_1__.Literal("npm-global"),
	prefix: __vite_ssr_import_2__.TrimmedNonEmptyString
})]);
const ServerSelfUpdateCapability = __vite_ssr_import_1__.Literals([
	"boot-service",
	"respawn",
	"desktop-managed"
]);
const ExecutionEnvironmentCapabilities = __vite_ssr_import_1__.Struct({
	repositoryIdentity: __vite_ssr_import_1__.Boolean.pipe(__vite_ssr_import_1__.withDecodingDefault(__vite_ssr_import_0__.succeed(false))),
	connectionProbe: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	attachmentUploads: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	questionAttachments: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	fileAttachments: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Struct({ maxUploadBytes: __vite_ssr_import_1__.Int.check(__vite_ssr_import_1__.isGreaterThanOrEqualTo(1)) })),
	pullRequests: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	pullRequestChecks: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	/** Absent on older servers; serialize context as legacy text for them. */
	inlineMessageContext: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	requiredWorktreeBootstrap: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	threadSettlement: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	threadAutoSettlement: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	storageCleanup: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	storageCleanupRun: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	databaseStorage: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	otlpEndpointCheck: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	projectWorktreeCleanup: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	settledWorktreeCleanup: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	worktreesDirectory: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	threadAutoSettlementScope: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	threadRestartContinuation: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	projectSettingsOverrides: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	/** Hide the switch when absent; older servers silently drop per-project provider patches. */
	projectProviderInstanceOverrides: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	threadSnooze: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	/** Clear published themes when absent; older servers never send updates. */
	environmentThemes: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	usageLimitSources: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	usagePriceOverrides: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	usageModelAliases: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	threadPinning: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	threadPinReorder: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	threadActiveReorder: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	threadAutoSettleOptOut: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	threadTitleRegeneration: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	threadVisitedTracking: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	threadPullRequestLinking: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	serverResolvedCommandContext: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	threadStop: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	threadPullRequests: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	threadPullRequestWatch: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	pullRequestStackActions: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	serverSelfUpdate: __vite_ssr_import_1__.optionalKey(ServerSelfUpdateCapability),
	/** Manual commands must update this install, not the host's default global prefix. */
	serverInstallation: (0,__vite_ssr_import_2__.ForwardCompatibleOptional)(ServerInstallation),
	serverSelfUpdateProgress: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	serverUpdateThreadContinuation: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	/** Only explicit false skips Live Activity seeding; older servers may still publish. */
	agentActivityPublishing: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	projectCloneTracking: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	/** Server answers projects.listIgnoredFiles. */
	ignoredFileListing: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	environmentIcon: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	desktopAppUpdate: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	/** Subscribe to command output only when advertised; older servers never send it. */
	commandOutputStreaming: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean),
	/** Hosts headless Chromium tabs streamed over /api/preview-stream for clients without a local runtime. */
	serverBrowser: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Boolean)
});
const ExecutionEnvironmentDescriptor = __vite_ssr_import_1__.Struct({
	environmentId: __vite_ssr_import_2__.EnvironmentId,
	label: __vite_ssr_import_2__.TrimmedNonEmptyString,
	platform: ExecutionEnvironmentPlatform,
	serverVersion: __vite_ssr_import_2__.TrimmedNonEmptyString,
	orchestrationProtocolVersion: __vite_ssr_import_1__.optionalKey(__vite_ssr_import_1__.Int),
	capabilities: ExecutionEnvironmentCapabilities
});
const RepositoryIdentityLocator = __vite_ssr_import_1__.Struct({
	source: __vite_ssr_import_1__.Literal("git-remote"),
	remoteName: __vite_ssr_import_2__.TrimmedNonEmptyString,
	remoteUrl: __vite_ssr_import_2__.TrimmedNonEmptyString
});
const RepositoryOrigin = __vite_ssr_import_1__.Struct({
	canonicalKey: __vite_ssr_import_2__.TrimmedNonEmptyString,
	remoteUrl: __vite_ssr_import_1__.optionalKey((0,__vite_ssr_import_2__.TrimmedNonEmptyString)),
	displayName: __vite_ssr_import_1__.optionalKey((0,__vite_ssr_import_2__.TrimmedNonEmptyString))
});
const RepositoryIdentity = __vite_ssr_import_1__.Struct({
	canonicalKey: __vite_ssr_import_2__.TrimmedNonEmptyString,
	locator: RepositoryIdentityLocator,
	webUrl: __vite_ssr_import_1__.optionalKey((0,__vite_ssr_import_2__.TrimmedNonEmptyString)),
	/** Work tree root, or the git dir for a bare repository. */
	rootPath: __vite_ssr_import_1__.optionalKey((0,__vite_ssr_import_2__.TrimmedNonEmptyString)),
	displayName: __vite_ssr_import_1__.optionalKey((0,__vite_ssr_import_2__.TrimmedNonEmptyString)),
	provider: __vite_ssr_import_1__.optionalKey((0,__vite_ssr_import_3__.SourceControlProviderKind)),
	owner: __vite_ssr_import_1__.optionalKey((0,__vite_ssr_import_2__.TrimmedNonEmptyString)),
	name: __vite_ssr_import_1__.optionalKey((0,__vite_ssr_import_2__.TrimmedNonEmptyString)),
	origin: __vite_ssr_import_1__.optionalKey(RepositoryOrigin)
});
function repositoryGroupingKeyOf(identity) {
	return identity.origin?.canonicalKey ?? identity.canonicalKey;
};
function repositoryGroupingDisplayNameOf(identity) {
	return identity.origin ? identity.origin.displayName ?? identity.origin.canonicalKey : identity.displayName;
};
const ScopedProjectRef = __vite_ssr_import_1__.Struct({
	environmentId: __vite_ssr_import_2__.EnvironmentId,
	projectId: __vite_ssr_import_2__.ProjectId
});
const ScopedThreadRef = __vite_ssr_import_1__.Struct({
	environmentId: __vite_ssr_import_2__.EnvironmentId,
	threadId: __vite_ssr_import_2__.ThreadId
});
//# sourceMappingSource=vite-generated
//# sourceMappingURL=data:application/json;base64,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W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VzIjpbImVudmlyb25tZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEVmZmVjdCBmcm9tIFwiZWZmZWN0L0VmZmVjdFwiO1xuaW1wb3J0ICogYXMgU2NoZW1hIGZyb20gXCJlZmZlY3QvU2NoZW1hXCI7XG5cbmltcG9ydCB7XG4gIEVudmlyb25tZW50SWQsXG4gIEZvcndhcmRDb21wYXRpYmxlT3B0aW9uYWwsXG4gIFByb2plY3RJZCxcbiAgVGhyZWFkSWQsXG4gIFRyaW1tZWROb25FbXB0eVN0cmluZyxcbn0gZnJvbSBcIi4vYmFzZVNjaGVtYXMudHNcIjtcbmltcG9ydCB7IFNvdXJjZUNvbnRyb2xQcm92aWRlcktpbmQgfSBmcm9tIFwiLi9zb3VyY2VDb250cm9sLnRzXCI7XG5cbmV4cG9ydCBjb25zdCBPUkNIRVNUUkFUSU9OX1BST1RPQ09MX1ZFUlNJT04gPSAyO1xuZXhwb3J0IGNvbnN0IE9SQ0hFU1RSQVRJT05fUFJPVE9DT0xfVkVSU0lPTl9URVhUID0gXCIyXCI7XG5leHBvcnQgY29uc3QgT1JDSEVTVFJBVElPTl9QUk9UT0NPTF9RVUVSWV9QQVJBTSA9IFwib3JjaGVzdHJhdGlvblByb3RvY29sXCI7XG5leHBvcnQgY29uc3QgT1JDSEVTVFJBVElPTl9QUk9UT0NPTF9IRUFERVIgPSBcIngtdDMtb3JjaGVzdHJhdGlvbi1wcm90b2NvbFwiO1xuXG5leHBvcnQgY29uc3QgRXhlY3V0aW9uRW52aXJvbm1lbnRQbGF0Zm9ybU9zID0gU2NoZW1hLkxpdGVyYWxzKFtcbiAgXCJkYXJ3aW5cIixcbiAgXCJsaW51eFwiLFxuICBcIndpbmRvd3NcIixcbiAgXCJ1bmtub3duXCIsXG5dKTtcbmV4cG9ydCB0eXBlIEV4ZWN1dGlvbkVudmlyb25tZW50UGxhdGZvcm1PcyA9IHR5cGVvZiBFeGVjdXRpb25FbnZpcm9ubWVudFBsYXRmb3JtT3MuVHlwZTtcblxuZXhwb3J0IGNvbnN0IEV4ZWN1dGlvbkVudmlyb25tZW50UGxhdGZvcm1BcmNoID0gU2NoZW1hLkxpdGVyYWxzKFtcImFybTY0XCIsIFwieDY0XCIsIFwib3RoZXJcIl0pO1xuZXhwb3J0IHR5cGUgRXhlY3V0aW9uRW52aXJvbm1lbnRQbGF0Zm9ybUFyY2ggPSB0eXBlb2YgRXhlY3V0aW9uRW52aXJvbm1lbnRQbGF0Zm9ybUFyY2guVHlwZTtcblxuZXhwb3J0IGNvbnN0IEVOVklST05NRU5UX01BQ0hJTkVfS0lORFMgPSBbXG4gIFwic2VydmVyXCIsXG4gIFwiY2xvdWRcIixcbiAgXCJsaW51eFwiLFxuICBcImRlc2t0b3BcIixcbiAgXCJsYXB0b3BcIixcbiAgXCJtYWMtbWluaVwiLFxuICBcIm1hYy1zdHVkaW9cIixcbl0gYXMgY29uc3Q7XG5leHBvcnQgY29uc3QgRW52aXJvbm1lbnRNYWNoaW5lS2luZCA9IFNjaGVtYS5MaXRlcmFscyhFTlZJUk9OTUVOVF9NQUNISU5FX0tJTkRTKTtcbmV4cG9ydCB0eXBlIEVudmlyb25tZW50TWFjaGluZUtpbmQgPSB0eXBlb2YgRW52aXJvbm1lbnRNYWNoaW5lS2luZC5UeXBlO1xuZXhwb3J0IGNvbnN0IGlzRW52aXJvbm1lbnRNYWNoaW5lS2luZCA9IFNjaGVtYS5pcyhFbnZpcm9ubWVudE1hY2hpbmVLaW5kKTtcblxuZXhwb3J0IGNvbnN0IEV4ZWN1dGlvbkVudmlyb25tZW50UGxhdGZvcm0gPSBTY2hlbWEuU3RydWN0KHtcbiAgb3M6IEV4ZWN1dGlvbkVudmlyb25tZW50UGxhdGZvcm1PcyxcbiAgYXJjaDogRXhlY3V0aW9uRW52aXJvbm1lbnRQbGF0Zm9ybUFyY2gsXG4gIG1hY2hpbmU6IEZvcndhcmRDb21wYXRpYmxlT3B0aW9uYWwoRW52aXJvbm1lbnRNYWNoaW5lS2luZCksXG59KTtcblxuLy8gS2VwdCBvdXRzaWRlIHNldHRpbmdzLnRzIHRvIGF2b2lkIGFuIG9yY2hlc3RyYXRpb24gaW1wb3J0IGN5Y2xlLlxuZXhwb3J0IGNvbnN0IFRocmVhZEVudk1vZGUgPSBTY2hlbWEuTGl0ZXJhbHMoW1wibG9jYWxcIiwgXCJ3b3JrdHJlZVwiXSk7XG5leHBvcnQgdHlwZSBUaHJlYWRFbnZNb2RlID0gdHlwZW9mIFRocmVhZEVudk1vZGUuVHlwZTtcblxuZXhwb3J0IGNvbnN0IFdvcmt0cmVlU3VibW9kdWxlcyA9IFNjaGVtYS5MaXRlcmFscyhbXCJyZWN1cnNpdmVcIiwgXCJ0b3AtbGV2ZWxcIiwgXCJub25lXCJdKTtcbmV4cG9ydCB0eXBlIFdvcmt0cmVlU3VibW9kdWxlcyA9IHR5cGVvZiBXb3JrdHJlZVN1Ym1vZHVsZXMuVHlwZTtcbmV4cG9ydCB0eXBlIEV4ZWN1dGlvbkVudmlyb25tZW50UGxhdGZvcm0gPSB0eXBlb2YgRXhlY3V0aW9uRW52aXJvbm1lbnRQbGF0Zm9ybS5UeXBlO1xuXG5leHBvcnQgY29uc3QgU2VydmVyU2VsZlVwZGF0ZU1ldGhvZCA9IFNjaGVtYS5MaXRlcmFscyhbXCJib290LXNlcnZpY2VcIiwgXCJyZXNwYXduXCIsIFwiZGVza3RvcC1hcHBcIl0pO1xuZXhwb3J0IHR5cGUgU2VydmVyU2VsZlVwZGF0ZU1ldGhvZCA9IHR5cGVvZiBTZXJ2ZXJTZWxmVXBkYXRlTWV0aG9kLlR5cGU7XG5cbmV4cG9ydCBjb25zdCBTZXJ2ZXJJbnN0YWxsYXRpb24gPSBTY2hlbWEuVW5pb24oW1xuICBTY2hlbWEuU3RydWN0KHsga2luZDogU2NoZW1hLkxpdGVyYWxzKFtcIm5weFwiLCBcInBucG0tZGx4XCIsIFwiYnVueFwiXSkgfSksXG4gIFNjaGVtYS5TdHJ1Y3QoeyBraW5kOiBTY2hlbWEuTGl0ZXJhbChcIm5wbS1nbG9iYWxcIiksIHByZWZpeDogVHJpbW1lZE5vbkVtcHR5U3RyaW5nIH0pLFxuXSk7XG5leHBvcnQgdHlwZSBTZXJ2ZXJJbnN0YWxsYXRpb24gPSB0eXBlb2YgU2VydmVySW5zdGFsbGF0aW9uLlR5cGU7XG5cbmV4cG9ydCBjb25zdCBTZXJ2ZXJTZWxmVXBkYXRlQ2FwYWJpbGl0eSA9IFNjaGVtYS5MaXRlcmFscyhbXG4gIFwiYm9vdC1zZXJ2aWNlXCIsXG4gIFwicmVzcGF3blwiLFxuICBcImRlc2t0b3AtbWFuYWdlZFwiLFxuXSk7XG5leHBvcnQgdHlwZSBTZXJ2ZXJTZWxmVXBkYXRlQ2FwYWJpbGl0eSA9IHR5cGVvZiBTZXJ2ZXJTZWxmVXBkYXRlQ2FwYWJpbGl0eS5UeXBlO1xuXG5leHBvcnQgY29uc3QgRXhlY3V0aW9uRW52aXJvbm1lbnRDYXBhYmlsaXRpZXMgPSBTY2hlbWEuU3RydWN0KHtcbiAgcmVwb3NpdG9yeUlkZW50aXR5OiBTY2hlbWEuQm9vbGVhbi5waXBlKFNjaGVtYS53aXRoRGVjb2RpbmdEZWZhdWx0KEVmZmVjdC5zdWNjZWVkKGZhbHNlKSkpLFxuICBjb25uZWN0aW9uUHJvYmU6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuQm9vbGVhbiksXG4gIGF0dGFjaG1lbnRVcGxvYWRzOiBTY2hlbWEub3B0aW9uYWxLZXkoU2NoZW1hLkJvb2xlYW4pLFxuICBxdWVzdGlvbkF0dGFjaG1lbnRzOiBTY2hlbWEub3B0aW9uYWxLZXkoU2NoZW1hLkJvb2xlYW4pLFxuICBmaWxlQXR0YWNobWVudHM6IFNjaGVtYS5vcHRpb25hbEtleShcbiAgICBTY2hlbWEuU3RydWN0KHtcbiAgICAgIG1heFVwbG9hZEJ5dGVzOiBTY2hlbWEuSW50LmNoZWNrKFNjaGVtYS5pc0dyZWF0ZXJUaGFuT3JFcXVhbFRvKDEpKSxcbiAgICB9KSxcbiAgKSxcbiAgcHVsbFJlcXVlc3RzOiBTY2hlbWEub3B0aW9uYWxLZXkoU2NoZW1hLkJvb2xlYW4pLFxuICBwdWxsUmVxdWVzdENoZWNrczogU2NoZW1hLm9wdGlvbmFsS2V5KFNjaGVtYS5Cb29sZWFuKSxcbiAgLyoqIEFic2VudCBvbiBvbGRlciBzZXJ2ZXJzOyBzZXJpYWxpemUgY29udGV4dCBhcyBsZWdhY3kgdGV4dCBmb3IgdGhlbS4gKi9cbiAgaW5saW5lTWVzc2FnZUNvbnRleHQ6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuQm9vbGVhbiksXG4gIHJlcXVpcmVkV29ya3RyZWVCb290c3RyYXA6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuQm9vbGVhbiksXG4gIHRocmVhZFNldHRsZW1lbnQ6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuQm9vbGVhbiksXG4gIHRocmVhZEF1dG9TZXR0bGVtZW50OiBTY2hlbWEub3B0aW9uYWxLZXkoU2NoZW1hLkJvb2xlYW4pLFxuICBzdG9yYWdlQ2xlYW51cDogU2NoZW1hLm9wdGlvbmFsS2V5KFNjaGVtYS5Cb29sZWFuKSxcbiAgc3RvcmFnZUNsZWFudXBSdW46IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuQm9vbGVhbiksXG4gIGRhdGFiYXNlU3RvcmFnZTogU2NoZW1hLm9wdGlvbmFsS2V5KFNjaGVtYS5Cb29sZWFuKSxcbiAgb3RscEVuZHBvaW50Q2hlY2s6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuQm9vbGVhbiksXG4gIHByb2plY3RXb3JrdHJlZUNsZWFudXA6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuQm9vbGVhbiksXG4gIHNldHRsZWRXb3JrdHJlZUNsZWFudXA6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuQm9vbGVhbiksXG4gIHdvcmt0cmVlc0RpcmVjdG9yeTogU2NoZW1hLm9wdGlvbmFsS2V5KFNjaGVtYS5Cb29sZWFuKSxcbiAgdGhyZWFkQXV0b1NldHRsZW1lbnRTY29wZTogU2NoZW1hLm9wdGlvbmFsS2V5KFNjaGVtYS5Cb29sZWFuKSxcbiAgdGhyZWFkUmVzdGFydENvbnRpbnVhdGlvbjogU2NoZW1hLm9wdGlvbmFsS2V5KFNjaGVtYS5Cb29sZWFuKSxcbiAgcHJvamVjdFNldHRpbmdzT3ZlcnJpZGVzOiBTY2hlbWEub3B0aW9uYWxLZXkoU2NoZW1hLkJvb2xlYW4pLFxuICAvKiogSGlkZSB0aGUgc3dpdGNoIHdoZW4gYWJzZW50OyBvbGRlciBzZXJ2ZXJzIHNpbGVudGx5IGRyb3AgcGVyLXByb2plY3QgcHJvdmlkZXIgcGF0Y2hlcy4gKi9cbiAgcHJvamVjdFByb3ZpZGVySW5zdGFuY2VPdmVycmlkZXM6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuQm9vbGVhbiksXG4gIHRocmVhZFNub296ZTogU2NoZW1hLm9wdGlvbmFsS2V5KFNjaGVtYS5Cb29sZWFuKSxcbiAgLyoqIENsZWFyIHB1Ymxpc2hlZCB0aGVtZXMgd2hlbiBhYnNlbnQ7IG9sZGVyIHNlcnZlcnMgbmV2ZXIgc2VuZCB1cGRhdGVzLiAqL1xuICBlbnZpcm9ubWVudFRoZW1lczogU2NoZW1hLm9wdGlvbmFsS2V5KFNjaGVtYS5Cb29sZWFuKSxcbiAgdXNhZ2VMaW1pdFNvdXJjZXM6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuQm9vbGVhbiksXG4gIHVzYWdlUHJpY2VPdmVycmlkZXM6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuQm9vbGVhbiksXG4gIHVzYWdlTW9kZWxBbGlhc2VzOiBTY2hlbWEub3B0aW9uYWxLZXkoU2NoZW1hLkJvb2xlYW4pLFxuICB0aHJlYWRQaW5uaW5nOiBTY2hlbWEub3B0aW9uYWxLZXkoU2NoZW1hLkJvb2xlYW4pLFxuICB0aHJlYWRQaW5SZW9yZGVyOiBTY2hlbWEub3B0aW9uYWxLZXkoU2NoZW1hLkJvb2xlYW4pLFxuICB0aHJlYWRBY3RpdmVSZW9yZGVyOiBTY2hlbWEub3B0aW9uYWxLZXkoU2NoZW1hLkJvb2xlYW4pLFxuICB0aHJlYWRBdXRvU2V0dGxlT3B0T3V0OiBTY2hlbWEub3B0aW9uYWxLZXkoU2NoZW1hLkJvb2xlYW4pLFxuICB0aHJlYWRUaXRsZVJlZ2VuZXJhdGlvbjogU2NoZW1hLm9wdGlvbmFsS2V5KFNjaGVtYS5Cb29sZWFuKSxcbiAgdGhyZWFkVmlzaXRlZFRyYWNraW5nOiBTY2hlbWEub3B0aW9uYWxLZXkoU2NoZW1hLkJvb2xlYW4pLFxuICB0aHJlYWRQdWxsUmVxdWVzdExpbmtpbmc6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuQm9vbGVhbiksXG4gIHNlcnZlclJlc29sdmVkQ29tbWFuZENvbnRleHQ6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuQm9vbGVhbiksXG4gIHRocmVhZFN0b3A6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuQm9vbGVhbiksXG4gIHRocmVhZFB1bGxSZXF1ZXN0czogU2NoZW1hLm9wdGlvbmFsS2V5KFNjaGVtYS5Cb29sZWFuKSxcbiAgdGhyZWFkUHVsbFJlcXVlc3RXYXRjaDogU2NoZW1hLm9wdGlvbmFsS2V5KFNjaGVtYS5Cb29sZWFuKSxcbiAgcHVsbFJlcXVlc3RTdGFja0FjdGlvbnM6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuQm9vbGVhbiksXG4gIHNlcnZlclNlbGZVcGRhdGU6IFNjaGVtYS5vcHRpb25hbEtleShTZXJ2ZXJTZWxmVXBkYXRlQ2FwYWJpbGl0eSksXG4gIC8qKiBNYW51YWwgY29tbWFuZHMgbXVzdCB1cGRhdGUgdGhpcyBpbnN0YWxsLCBub3QgdGhlIGhvc3QncyBkZWZhdWx0IGdsb2JhbCBwcmVmaXguICovXG4gIHNlcnZlckluc3RhbGxhdGlvbjogRm9yd2FyZENvbXBhdGlibGVPcHRpb25hbChTZXJ2ZXJJbnN0YWxsYXRpb24pLFxuICBzZXJ2ZXJTZWxmVXBkYXRlUHJvZ3Jlc3M6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuQm9vbGVhbiksXG4gIHNlcnZlclVwZGF0ZVRocmVhZENvbnRpbnVhdGlvbjogU2NoZW1hLm9wdGlvbmFsS2V5KFNjaGVtYS5Cb29sZWFuKSxcbiAgLyoqIE9ubHkgZXhwbGljaXQgZmFsc2Ugc2tpcHMgTGl2ZSBBY3Rpdml0eSBzZWVkaW5nOyBvbGRlciBzZXJ2ZXJzIG1heSBzdGlsbCBwdWJsaXNoLiAqL1xuICBhZ2VudEFjdGl2aXR5UHVibGlzaGluZzogU2NoZW1hLm9wdGlvbmFsS2V5KFNjaGVtYS5Cb29sZWFuKSxcbiAgcHJvamVjdENsb25lVHJhY2tpbmc6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuQm9vbGVhbiksXG4gIC8qKiBTZXJ2ZXIgYW5zd2VycyBwcm9qZWN0cy5saXN0SWdub3JlZEZpbGVzLiAqL1xuICBpZ25vcmVkRmlsZUxpc3Rpbmc6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuQm9vbGVhbiksXG4gIGVudmlyb25tZW50SWNvbjogU2NoZW1hLm9wdGlvbmFsS2V5KFNjaGVtYS5Cb29sZWFuKSxcbiAgZGVza3RvcEFwcFVwZGF0ZTogU2NoZW1hLm9wdGlvbmFsS2V5KFNjaGVtYS5Cb29sZWFuKSxcbiAgLyoqIFN1YnNjcmliZSB0byBjb21tYW5kIG91dHB1dCBvbmx5IHdoZW4gYWR2ZXJ0aXNlZDsgb2xkZXIgc2VydmVycyBuZXZlciBzZW5kIGl0LiAqL1xuICBjb21tYW5kT3V0cHV0U3RyZWFtaW5nOiBTY2hlbWEub3B0aW9uYWxLZXkoU2NoZW1hLkJvb2xlYW4pLFxuICAvKiogSG9zdHMgaGVhZGxlc3MgQ2hyb21pdW0gdGFicyBzdHJlYW1lZCBvdmVyIC9hcGkvcHJldmlldy1zdHJlYW0gZm9yIGNsaWVudHMgd2l0aG91dCBhIGxvY2FsIHJ1bnRpbWUuICovXG4gIHNlcnZlckJyb3dzZXI6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuQm9vbGVhbiksXG59KTtcbmV4cG9ydCB0eXBlIEV4ZWN1dGlvbkVudmlyb25tZW50Q2FwYWJpbGl0aWVzID0gdHlwZW9mIEV4ZWN1dGlvbkVudmlyb25tZW50Q2FwYWJpbGl0aWVzLlR5cGU7XG5cbmV4cG9ydCBjb25zdCBFeGVjdXRpb25FbnZpcm9ubWVudERlc2NyaXB0b3IgPSBTY2hlbWEuU3RydWN0KHtcbiAgZW52aXJvbm1lbnRJZDogRW52aXJvbm1lbnRJZCxcbiAgbGFiZWw6IFRyaW1tZWROb25FbXB0eVN0cmluZyxcbiAgcGxhdGZvcm06IEV4ZWN1dGlvbkVudmlyb25tZW50UGxhdGZvcm0sXG4gIHNlcnZlclZlcnNpb246IFRyaW1tZWROb25FbXB0eVN0cmluZyxcbiAgb3JjaGVzdHJhdGlvblByb3RvY29sVmVyc2lvbjogU2NoZW1hLm9wdGlvbmFsS2V5KFNjaGVtYS5JbnQpLFxuICBjYXBhYmlsaXRpZXM6IEV4ZWN1dGlvbkVudmlyb25tZW50Q2FwYWJpbGl0aWVzLFxufSk7XG5leHBvcnQgdHlwZSBFeGVjdXRpb25FbnZpcm9ubWVudERlc2NyaXB0b3IgPSB0eXBlb2YgRXhlY3V0aW9uRW52aXJvbm1lbnREZXNjcmlwdG9yLlR5cGU7XG5cbmV4cG9ydCBjb25zdCBSZXBvc2l0b3J5SWRlbnRpdHlMb2NhdG9yID0gU2NoZW1hLlN0cnVjdCh7XG4gIHNvdXJjZTogU2NoZW1hLkxpdGVyYWwoXCJnaXQtcmVtb3RlXCIpLFxuICByZW1vdGVOYW1lOiBUcmltbWVkTm9uRW1wdHlTdHJpbmcsXG4gIHJlbW90ZVVybDogVHJpbW1lZE5vbkVtcHR5U3RyaW5nLFxufSk7XG5leHBvcnQgdHlwZSBSZXBvc2l0b3J5SWRlbnRpdHlMb2NhdG9yID0gdHlwZW9mIFJlcG9zaXRvcnlJZGVudGl0eUxvY2F0b3IuVHlwZTtcblxuZXhwb3J0IGNvbnN0IFJlcG9zaXRvcnlPcmlnaW4gPSBTY2hlbWEuU3RydWN0KHtcbiAgY2Fub25pY2FsS2V5OiBUcmltbWVkTm9uRW1wdHlTdHJpbmcsXG4gIHJlbW90ZVVybDogU2NoZW1hLm9wdGlvbmFsS2V5KFRyaW1tZWROb25FbXB0eVN0cmluZyksXG4gIGRpc3BsYXlOYW1lOiBTY2hlbWEub3B0aW9uYWxLZXkoVHJpbW1lZE5vbkVtcHR5U3RyaW5nKSxcbn0pO1xuZXhwb3J0IHR5cGUgUmVwb3NpdG9yeU9yaWdpbiA9IHR5cGVvZiBSZXBvc2l0b3J5T3JpZ2luLlR5cGU7XG5cbmV4cG9ydCBjb25zdCBSZXBvc2l0b3J5SWRlbnRpdHkgPSBTY2hlbWEuU3RydWN0KHtcbiAgY2Fub25pY2FsS2V5OiBUcmltbWVkTm9uRW1wdHlTdHJpbmcsXG4gIGxvY2F0b3I6IFJlcG9zaXRvcnlJZGVudGl0eUxvY2F0b3IsXG4gIHdlYlVybDogU2NoZW1hLm9wdGlvbmFsS2V5KFRyaW1tZWROb25FbXB0eVN0cmluZyksXG4gIC8qKiBXb3JrIHRyZWUgcm9vdCwgb3IgdGhlIGdpdCBkaXIgZm9yIGEgYmFyZSByZXBvc2l0b3J5LiAqL1xuICByb290UGF0aDogU2NoZW1hLm9wdGlvbmFsS2V5KFRyaW1tZWROb25FbXB0eVN0cmluZyksXG4gIGRpc3BsYXlOYW1lOiBTY2hlbWEub3B0aW9uYWxLZXkoVHJpbW1lZE5vbkVtcHR5U3RyaW5nKSxcbiAgcHJvdmlkZXI6IFNjaGVtYS5vcHRpb25hbEtleShTb3VyY2VDb250cm9sUHJvdmlkZXJLaW5kKSxcbiAgb3duZXI6IFNjaGVtYS5vcHRpb25hbEtleShUcmltbWVkTm9uRW1wdHlTdHJpbmcpLFxuICBuYW1lOiBTY2hlbWEub3B0aW9uYWxLZXkoVHJpbW1lZE5vbkVtcHR5U3RyaW5nKSxcbiAgb3JpZ2luOiBTY2hlbWEub3B0aW9uYWxLZXkoUmVwb3NpdG9yeU9yaWdpbiksXG59KTtcbmV4cG9ydCB0eXBlIFJlcG9zaXRvcnlJZGVudGl0eSA9IHR5cGVvZiBSZXBvc2l0b3J5SWRlbnRpdHkuVHlwZTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlcG9zaXRvcnlHcm91cGluZ0tleU9mKGlkZW50aXR5OiBSZXBvc2l0b3J5SWRlbnRpdHkpOiBzdHJpbmcge1xuICByZXR1cm4gaWRlbnRpdHkub3JpZ2luPy5jYW5vbmljYWxLZXkgPz8gaWRlbnRpdHkuY2Fub25pY2FsS2V5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVwb3NpdG9yeUdyb3VwaW5nRGlzcGxheU5hbWVPZihpZGVudGl0eTogUmVwb3NpdG9yeUlkZW50aXR5KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGlkZW50aXR5Lm9yaWdpblxuICAgID8gKGlkZW50aXR5Lm9yaWdpbi5kaXNwbGF5TmFtZSA/PyBpZGVudGl0eS5vcmlnaW4uY2Fub25pY2FsS2V5KVxuICAgIDogaWRlbnRpdHkuZGlzcGxheU5hbWU7XG59XG5cbmV4cG9ydCBjb25zdCBTY29wZWRQcm9qZWN0UmVmID0gU2NoZW1hLlN0cnVjdCh7XG4gIGVudmlyb25tZW50SWQ6IEVudmlyb25tZW50SWQsXG4gIHByb2plY3RJZDogUHJvamVjdElkLFxufSk7XG5leHBvcnQgdHlwZSBTY29wZWRQcm9qZWN0UmVmID0gdHlwZW9mIFNjb3BlZFByb2plY3RSZWYuVHlwZTtcblxuZXhwb3J0IGNvbnN0IFNjb3BlZFRocmVhZFJlZiA9IFNjaGVtYS5TdHJ1Y3Qoe1xuICBlbnZpcm9ubWVudElkOiBFbnZpcm9ubWVudElkLFxuICB0aHJlYWRJZDogVGhyZWFkSWQsXG59KTtcbmV4cG9ydCB0eXBlIFNjb3BlZFRocmVhZFJlZiA9IHR5cGVvZiBTY29wZWRUaHJlYWRSZWYuVHlwZTtcbiJdLCJmaWxlIjoiL0Bmcy9ob21lL3VidW50dS93dC9wci0yNDI2My9wYWNrYWdlcy9jb250cmFjdHMvc3JjL2Vudmlyb25tZW50LnRzIn0=

//# vitestCache=W3siZmlsZSI6IjEiLCJpZCI6IjEiLCJ1cmwiOiIyIiwiaW1wb3J0cyI6IjMiLCJtYXBwaW5ncyI6ZmFsc2UsImRlcHMiOiI0IiwiZHluYW1pY0RlcHMiOiI1Iiwic3RhdGljTW9ja3MiOm51bGx9LCIvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvY29udHJhY3RzL3NyYy9lbnZpcm9ubWVudC50cyIsIi9AZnMvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvY29udHJhY3RzL3NyYy9lbnZpcm9ubWVudC50cyIseyJ1cmxzIjoiNiIsImlkcyI6IjcifSxbIjgiLCI5IiwiMTAiLCIxMSJdLFtdLFsiOCIsIjkiLCIxMCIsIjExIl0se30sIi9AZnMvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvbm9kZV9tb2R1bGVzLy5wbnBtL2VmZmVjdEA0LjAuNS9ub2RlX21vZHVsZXMvZWZmZWN0L2Rpc3QvRWZmZWN0LmpzIiwiL0Bmcy9ob21lL3VidW50dS93dC9wci0yNDI2My9ub2RlX21vZHVsZXMvLnBucG0vZWZmZWN0QDQuMC41L25vZGVfbW9kdWxlcy9lZmZlY3QvZGlzdC9TY2hlbWEuanMiLCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL3BhY2thZ2VzL2NvbnRyYWN0cy9zcmMvYmFzZVNjaGVtYXMudHMiLCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL3BhY2thZ2VzL2NvbnRyYWN0cy9zcmMvc291cmNlQ29udHJvbC50cyJd