__vite_ssr_exportName__("PrimaryConnectionTarget", () => { try { return PrimaryConnectionTarget } catch {} });
__vite_ssr_exportName__("BearerConnectionTarget", () => { try { return BearerConnectionTarget } catch {} });
__vite_ssr_exportName__("RelayConnectionTarget", () => { try { return RelayConnectionTarget } catch {} });
__vite_ssr_exportName__("SshConnectionTarget", () => { try { return SshConnectionTarget } catch {} });
__vite_ssr_exportName__("ConnectionTarget", () => { try { return ConnectionTarget } catch {} });
__vite_ssr_exportName__("PersistedConnectionTarget", () => { try { return PersistedConnectionTarget } catch {} });
__vite_ssr_exportName__("ConnectionTransientReason", () => { try { return ConnectionTransientReason } catch {} });
__vite_ssr_exportName__("ConnectionBlockedReason", () => { try { return ConnectionBlockedReason } catch {} });
__vite_ssr_exportName__("ConnectionHop", () => { try { return ConnectionHop } catch {} });
__vite_ssr_exportName__("ConnectionFailureCause", () => { try { return ConnectionFailureCause } catch {} });
__vite_ssr_exportName__("ConnectionTransientError", () => { try { return ConnectionTransientError } catch {} });
__vite_ssr_exportName__("ConnectionBlockedError", () => { try { return ConnectionBlockedError } catch {} });
__vite_ssr_exportName__("DPOP_ACCESS_TOKEN_REFRESH_SKEW_MS", () => { try { return DPOP_ACCESS_TOKEN_REFRESH_SKEW_MS } catch {} });
__vite_ssr_exportName__("connectionProjectionPhase", () => { try { return connectionProjectionPhase } catch {} });
__vite_ssr_exportName__("AVAILABLE_CONNECTION_STATE", () => { try { return AVAILABLE_CONNECTION_STATE } catch {} });
const __vite_ssr_import_0__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/packages/contracts/src/index.ts", {"importedNames":["EnvironmentId"]});
const __vite_ssr_import_1__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/packages/contracts/src/relay.ts", {"importedNames":["RelayEnvironmentEndpointFailure"]});
const __vite_ssr_import_2__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Schema.js");



const ConnectionTargetBase = {
	environmentId: __vite_ssr_import_0__.EnvironmentId,
	label: __vite_ssr_import_2__.String
};
class PrimaryConnectionTarget extends __vite_ssr_import_2__.TaggedClass()("PrimaryConnectionTarget", {
	...ConnectionTargetBase,
	httpBaseUrl: __vite_ssr_import_2__.String,
	wsBaseUrl: __vite_ssr_import_2__.String
}) {};
class BearerConnectionTarget extends __vite_ssr_import_2__.TaggedClass()("BearerConnectionTarget", {
	...ConnectionTargetBase,
	connectionId: __vite_ssr_import_2__.String
}) {};
class RelayConnectionTarget extends __vite_ssr_import_2__.TaggedClass()("RelayConnectionTarget", { ...ConnectionTargetBase }) {};
class SshConnectionTarget extends __vite_ssr_import_2__.TaggedClass()("SshConnectionTarget", {
	...ConnectionTargetBase,
	connectionId: __vite_ssr_import_2__.String
}) {};
const ConnectionTarget = __vite_ssr_import_2__.Union([
	PrimaryConnectionTarget,
	BearerConnectionTarget,
	RelayConnectionTarget,
	SshConnectionTarget
]);
const PersistedConnectionTarget = __vite_ssr_import_2__.Union([
	BearerConnectionTarget,
	RelayConnectionTarget,
	SshConnectionTarget
]);
const ConnectionTransientReason = __vite_ssr_import_2__.Literals([
	"network",
	"timeout",
	"transport",
	"endpoint-unavailable",
	"relay-unavailable",
	"remote-unavailable",
	"session-pending"
]);
const ConnectionBlockedReason = __vite_ssr_import_2__.Literals([
	"authentication",
	"configuration",
	"permission",
	"unsupported"
]);
/** A part of the path to an environment: this device, T3 Connect, the host's tunnel, or T3 Code on the host. */
const ConnectionHop = __vite_ssr_import_2__.Literals([
	"device",
	"relay",
	"tunnel",
	"server"
]);
/** The relay's endpoint failures plus the causes the client can name from other errors. */
const ConnectionFailureCause = __vite_ssr_import_2__.Literals([
	...__vite_ssr_import_1__.RelayEnvironmentEndpointFailure.literals,
	"clock_skew",
	"not_linked",
	"relay_error",
	"tunnel_pending",
	"tunnel_not_enabled"
]);
/**
* Where and why a failure happened, when the code that saw it knows. See
* `presentConnectionDiagnosis`. `via` names the route when the hop alone does
* not: T3 Code on the host can fail behind the tunnel or on a direct route.
*/
const ConnectionFailureFields = {
	hop: __vite_ssr_import_2__.optionalKey(ConnectionHop),
	via: __vite_ssr_import_2__.optionalKey(__vite_ssr_import_2__.Literals(["relay", "direct"])),
	failureCause: __vite_ssr_import_2__.optionalKey(ConnectionFailureCause),
	httpStatus: __vite_ssr_import_2__.optionalKey(__vite_ssr_import_2__.Number)
};
class ConnectionTransientError extends __vite_ssr_import_2__.TaggedError()("ConnectionTransientError", {
	reason: ConnectionTransientReason,
	detail: __vite_ssr_import_2__.String,
	traceId: __vite_ssr_import_2__.optionalKey(__vite_ssr_import_2__.String),
	...ConnectionFailureFields
}) {
	get message() {
		return this.detail;
	}
};
class ConnectionBlockedError extends __vite_ssr_import_2__.TaggedError()("ConnectionBlockedError", {
	reason: ConnectionBlockedReason,
	detail: __vite_ssr_import_2__.String,
	traceId: __vite_ssr_import_2__.optionalKey(__vite_ssr_import_2__.String),
	...ConnectionFailureFields,
	serverUpdateRequired: __vite_ssr_import_2__.optionalKey(__vite_ssr_import_2__.Boolean)
}) {
	get message() {
		return this.detail;
	}
};
const DPOP_ACCESS_TOKEN_REFRESH_SKEW_MS = 6e4;
function connectionProjectionPhase(state) {
	switch (state.phase) {
		case "connecting": return "synchronizing";
		case "connected": return "ready";
		case "available":
		case "offline":
		case "backoff":
		case "blocked": return "disconnected";
	}
};
const AVAILABLE_CONNECTION_STATE = Object.freeze({
	desired: false,
	network: "unknown",
	phase: "available",
	stage: null,
	attempt: 0,
	generation: 0,
	lastFailure: null,
	retryAt: null
});
//# sourceMappingSource=vite-generated
//# sourceMappingURL=data:application/json;base64,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ZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50SWQgfSBmcm9tIFwiQHQzdG9vbHMvY29udHJhY3RzXCI7XG5pbXBvcnQgeyBSZWxheUVudmlyb25tZW50RW5kcG9pbnRGYWlsdXJlIH0gZnJvbSBcIkB0M3Rvb2xzL2NvbnRyYWN0cy9yZWxheVwiO1xuaW1wb3J0ICogYXMgU2NoZW1hIGZyb20gXCJlZmZlY3QvU2NoZW1hXCI7XG5cbmNvbnN0IENvbm5lY3Rpb25UYXJnZXRCYXNlID0ge1xuICBlbnZpcm9ubWVudElkOiBFbnZpcm9ubWVudElkLFxuICBsYWJlbDogU2NoZW1hLlN0cmluZyxcbn07XG5cbmV4cG9ydCBjbGFzcyBQcmltYXJ5Q29ubmVjdGlvblRhcmdldCBleHRlbmRzIFNjaGVtYS5UYWdnZWRDbGFzczxQcmltYXJ5Q29ubmVjdGlvblRhcmdldD4oKShcbiAgXCJQcmltYXJ5Q29ubmVjdGlvblRhcmdldFwiLFxuICB7XG4gICAgLi4uQ29ubmVjdGlvblRhcmdldEJhc2UsXG4gICAgaHR0cEJhc2VVcmw6IFNjaGVtYS5TdHJpbmcsXG4gICAgd3NCYXNlVXJsOiBTY2hlbWEuU3RyaW5nLFxuICB9LFxuKSB7fVxuXG5leHBvcnQgY2xhc3MgQmVhcmVyQ29ubmVjdGlvblRhcmdldCBleHRlbmRzIFNjaGVtYS5UYWdnZWRDbGFzczxCZWFyZXJDb25uZWN0aW9uVGFyZ2V0PigpKFxuICBcIkJlYXJlckNvbm5lY3Rpb25UYXJnZXRcIixcbiAge1xuICAgIC4uLkNvbm5lY3Rpb25UYXJnZXRCYXNlLFxuICAgIGNvbm5lY3Rpb25JZDogU2NoZW1hLlN0cmluZyxcbiAgfSxcbikge31cblxuZXhwb3J0IGNsYXNzIFJlbGF5Q29ubmVjdGlvblRhcmdldCBleHRlbmRzIFNjaGVtYS5UYWdnZWRDbGFzczxSZWxheUNvbm5lY3Rpb25UYXJnZXQ+KCkoXG4gIFwiUmVsYXlDb25uZWN0aW9uVGFyZ2V0XCIsXG4gIHtcbiAgICAuLi5Db25uZWN0aW9uVGFyZ2V0QmFzZSxcbiAgfSxcbikge31cblxuZXhwb3J0IGNsYXNzIFNzaENvbm5lY3Rpb25UYXJnZXQgZXh0ZW5kcyBTY2hlbWEuVGFnZ2VkQ2xhc3M8U3NoQ29ubmVjdGlvblRhcmdldD4oKShcbiAgXCJTc2hDb25uZWN0aW9uVGFyZ2V0XCIsXG4gIHtcbiAgICAuLi5Db25uZWN0aW9uVGFyZ2V0QmFzZSxcbiAgICBjb25uZWN0aW9uSWQ6IFNjaGVtYS5TdHJpbmcsXG4gIH0sXG4pIHt9XG5cbmV4cG9ydCBjb25zdCBDb25uZWN0aW9uVGFyZ2V0ID0gU2NoZW1hLlVuaW9uKFtcbiAgUHJpbWFyeUNvbm5lY3Rpb25UYXJnZXQsXG4gIEJlYXJlckNvbm5lY3Rpb25UYXJnZXQsXG4gIFJlbGF5Q29ubmVjdGlvblRhcmdldCxcbiAgU3NoQ29ubmVjdGlvblRhcmdldCxcbl0pO1xuZXhwb3J0IHR5cGUgQ29ubmVjdGlvblRhcmdldCA9IHR5cGVvZiBDb25uZWN0aW9uVGFyZ2V0LlR5cGU7XG5cbmV4cG9ydCBjb25zdCBQZXJzaXN0ZWRDb25uZWN0aW9uVGFyZ2V0ID0gU2NoZW1hLlVuaW9uKFtcbiAgQmVhcmVyQ29ubmVjdGlvblRhcmdldCxcbiAgUmVsYXlDb25uZWN0aW9uVGFyZ2V0LFxuICBTc2hDb25uZWN0aW9uVGFyZ2V0LFxuXSk7XG5leHBvcnQgdHlwZSBQZXJzaXN0ZWRDb25uZWN0aW9uVGFyZ2V0ID0gdHlwZW9mIFBlcnNpc3RlZENvbm5lY3Rpb25UYXJnZXQuVHlwZTtcblxuZXhwb3J0IHR5cGUgQ29ubmVjdGlvblRhcmdldEtpbmQgPSBDb25uZWN0aW9uVGFyZ2V0W1wiX3RhZ1wiXTtcblxuZXhwb3J0IHR5cGUgTmV0d29ya1N0YXR1cyA9IFwidW5rbm93blwiIHwgXCJvZmZsaW5lXCIgfCBcIm9ubGluZVwiO1xuXG5leHBvcnQgY29uc3QgQ29ubmVjdGlvblRyYW5zaWVudFJlYXNvbiA9IFNjaGVtYS5MaXRlcmFscyhbXG4gIFwibmV0d29ya1wiLFxuICBcInRpbWVvdXRcIixcbiAgXCJ0cmFuc3BvcnRcIixcbiAgXCJlbmRwb2ludC11bmF2YWlsYWJsZVwiLFxuICBcInJlbGF5LXVuYXZhaWxhYmxlXCIsXG4gIFwicmVtb3RlLXVuYXZhaWxhYmxlXCIsXG4gIFwic2Vzc2lvbi1wZW5kaW5nXCIsXG5dKTtcbmV4cG9ydCB0eXBlIENvbm5lY3Rpb25UcmFuc2llbnRSZWFzb24gPSB0eXBlb2YgQ29ubmVjdGlvblRyYW5zaWVudFJlYXNvbi5UeXBlO1xuXG5leHBvcnQgY29uc3QgQ29ubmVjdGlvbkJsb2NrZWRSZWFzb24gPSBTY2hlbWEuTGl0ZXJhbHMoW1xuICBcImF1dGhlbnRpY2F0aW9uXCIsXG4gIFwiY29uZmlndXJhdGlvblwiLFxuICBcInBlcm1pc3Npb25cIixcbiAgXCJ1bnN1cHBvcnRlZFwiLFxuXSk7XG5leHBvcnQgdHlwZSBDb25uZWN0aW9uQmxvY2tlZFJlYXNvbiA9IHR5cGVvZiBDb25uZWN0aW9uQmxvY2tlZFJlYXNvbi5UeXBlO1xuXG4vKiogQSBwYXJ0IG9mIHRoZSBwYXRoIHRvIGFuIGVudmlyb25tZW50OiB0aGlzIGRldmljZSwgVDMgQ29ubmVjdCwgdGhlIGhvc3QncyB0dW5uZWwsIG9yIFQzIENvZGUgb24gdGhlIGhvc3QuICovXG5leHBvcnQgY29uc3QgQ29ubmVjdGlvbkhvcCA9IFNjaGVtYS5MaXRlcmFscyhbXCJkZXZpY2VcIiwgXCJyZWxheVwiLCBcInR1bm5lbFwiLCBcInNlcnZlclwiXSk7XG5leHBvcnQgdHlwZSBDb25uZWN0aW9uSG9wID0gdHlwZW9mIENvbm5lY3Rpb25Ib3AuVHlwZTtcblxuLyoqIFRoZSByZWxheSdzIGVuZHBvaW50IGZhaWx1cmVzIHBsdXMgdGhlIGNhdXNlcyB0aGUgY2xpZW50IGNhbiBuYW1lIGZyb20gb3RoZXIgZXJyb3JzLiAqL1xuZXhwb3J0IGNvbnN0IENvbm5lY3Rpb25GYWlsdXJlQ2F1c2UgPSBTY2hlbWEuTGl0ZXJhbHMoW1xuICAuLi5SZWxheUVudmlyb25tZW50RW5kcG9pbnRGYWlsdXJlLmxpdGVyYWxzLFxuICBcImNsb2NrX3NrZXdcIixcbiAgXCJub3RfbGlua2VkXCIsXG4gIFwicmVsYXlfZXJyb3JcIixcbiAgXCJ0dW5uZWxfcGVuZGluZ1wiLFxuICBcInR1bm5lbF9ub3RfZW5hYmxlZFwiLFxuXSk7XG5leHBvcnQgdHlwZSBDb25uZWN0aW9uRmFpbHVyZUNhdXNlID0gdHlwZW9mIENvbm5lY3Rpb25GYWlsdXJlQ2F1c2UuVHlwZTtcblxuLyoqXG4gKiBXaGVyZSBhbmQgd2h5IGEgZmFpbHVyZSBoYXBwZW5lZCwgd2hlbiB0aGUgY29kZSB0aGF0IHNhdyBpdCBrbm93cy4gU2VlXG4gKiBgcHJlc2VudENvbm5lY3Rpb25EaWFnbm9zaXNgLiBgdmlhYCBuYW1lcyB0aGUgcm91dGUgd2hlbiB0aGUgaG9wIGFsb25lIGRvZXNcbiAqIG5vdDogVDMgQ29kZSBvbiB0aGUgaG9zdCBjYW4gZmFpbCBiZWhpbmQgdGhlIHR1bm5lbCBvciBvbiBhIGRpcmVjdCByb3V0ZS5cbiAqL1xuY29uc3QgQ29ubmVjdGlvbkZhaWx1cmVGaWVsZHMgPSB7XG4gIGhvcDogU2NoZW1hLm9wdGlvbmFsS2V5KENvbm5lY3Rpb25Ib3ApLFxuICB2aWE6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuTGl0ZXJhbHMoW1wicmVsYXlcIiwgXCJkaXJlY3RcIl0pKSxcbiAgZmFpbHVyZUNhdXNlOiBTY2hlbWEub3B0aW9uYWxLZXkoQ29ubmVjdGlvbkZhaWx1cmVDYXVzZSksXG4gIGh0dHBTdGF0dXM6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuTnVtYmVyKSxcbn07XG5cbmV4cG9ydCBjbGFzcyBDb25uZWN0aW9uVHJhbnNpZW50RXJyb3IgZXh0ZW5kcyBTY2hlbWEuVGFnZ2VkRXJyb3I8Q29ubmVjdGlvblRyYW5zaWVudEVycm9yPigpKFxuICBcIkNvbm5lY3Rpb25UcmFuc2llbnRFcnJvclwiLFxuICB7XG4gICAgcmVhc29uOiBDb25uZWN0aW9uVHJhbnNpZW50UmVhc29uLFxuICAgIGRldGFpbDogU2NoZW1hLlN0cmluZyxcbiAgICB0cmFjZUlkOiBTY2hlbWEub3B0aW9uYWxLZXkoU2NoZW1hLlN0cmluZyksXG4gICAgLi4uQ29ubmVjdGlvbkZhaWx1cmVGaWVsZHMsXG4gIH0sXG4pIHtcbiAgb3ZlcnJpZGUgZ2V0IG1lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kZXRhaWw7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25CbG9ja2VkRXJyb3IgZXh0ZW5kcyBTY2hlbWEuVGFnZ2VkRXJyb3I8Q29ubmVjdGlvbkJsb2NrZWRFcnJvcj4oKShcbiAgXCJDb25uZWN0aW9uQmxvY2tlZEVycm9yXCIsXG4gIHtcbiAgICByZWFzb246IENvbm5lY3Rpb25CbG9ja2VkUmVhc29uLFxuICAgIGRldGFpbDogU2NoZW1hLlN0cmluZyxcbiAgICB0cmFjZUlkOiBTY2hlbWEub3B0aW9uYWxLZXkoU2NoZW1hLlN0cmluZyksXG4gICAgLi4uQ29ubmVjdGlvbkZhaWx1cmVGaWVsZHMsXG5cbiAgICBzZXJ2ZXJVcGRhdGVSZXF1aXJlZDogU2NoZW1hLm9wdGlvbmFsS2V5KFNjaGVtYS5Cb29sZWFuKSxcbiAgfSxcbikge1xuICBvdmVycmlkZSBnZXQgbWVzc2FnZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRldGFpbDtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBDb25uZWN0aW9uQXR0ZW1wdEVycm9yID0gQ29ubmVjdGlvblRyYW5zaWVudEVycm9yIHwgQ29ubmVjdGlvbkJsb2NrZWRFcnJvcjtcblxuZXhwb3J0IGNvbnN0IERQT1BfQUNDRVNTX1RPS0VOX1JFRlJFU0hfU0tFV19NUyA9IDYwXzAwMDtcblxuZXhwb3J0IHR5cGUgUHJlcGFyZWRIdHRwQXV0aG9yaXphdGlvbiA9XG4gIHwge1xuICAgICAgcmVhZG9ubHkgX3RhZzogXCJCZWFyZXJcIjtcbiAgICAgIHJlYWRvbmx5IHRva2VuOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIHJlYWRvbmx5IF90YWc6IFwiRHBvcFwiO1xuICAgICAgcmVhZG9ubHkgYWNjZXNzVG9rZW46IHN0cmluZztcbiAgICAgIHJlYWRvbmx5IGV4cGlyZXNBdEVwb2NoTXM6IG51bWJlcjtcbiAgICB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIFByZXBhcmVkQ29ubmVjdGlvbiB7XG4gIHJlYWRvbmx5IGVudmlyb25tZW50SWQ6IEVudmlyb25tZW50SWQ7XG4gIHJlYWRvbmx5IGxhYmVsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGh0dHBCYXNlVXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNvY2tldFVybDogc3RyaW5nO1xuICByZWFkb25seSBodHRwQXV0aG9yaXphdGlvbjogUHJlcGFyZWRIdHRwQXV0aG9yaXphdGlvbiB8IG51bGw7XG4gIHJlYWRvbmx5IHRhcmdldDogQ29ubmVjdGlvblRhcmdldDtcbn1cblxuZXhwb3J0IHR5cGUgU3VwZXJ2aXNvckNvbm5lY3Rpb25QaGFzZSA9XG4gIHwgXCJhdmFpbGFibGVcIlxuICB8IFwib2ZmbGluZVwiXG4gIHwgXCJjb25uZWN0aW5nXCJcbiAgfCBcImJhY2tvZmZcIlxuICB8IFwiY29ubmVjdGVkXCJcbiAgfCBcImJsb2NrZWRcIjtcblxuZXhwb3J0IHR5cGUgQ29ubmVjdGlvbkF0dGVtcHRTdGFnZSA9IFwicHJlcGFyaW5nXCIgfCBcIm9wZW5pbmdcIiB8IFwic3luY2hyb25pemluZ1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN1cGVydmlzb3JDb25uZWN0aW9uU3RhdGUge1xuICByZWFkb25seSBkZXNpcmVkOiBib29sZWFuO1xuICByZWFkb25seSBuZXR3b3JrOiBOZXR3b3JrU3RhdHVzO1xuICByZWFkb25seSBwaGFzZTogU3VwZXJ2aXNvckNvbm5lY3Rpb25QaGFzZTtcbiAgcmVhZG9ubHkgc3RhZ2U6IENvbm5lY3Rpb25BdHRlbXB0U3RhZ2UgfCBudWxsO1xuICByZWFkb25seSBhdHRlbXB0OiBudW1iZXI7XG4gIHJlYWRvbmx5IGdlbmVyYXRpb246IG51bWJlcjtcbiAgcmVhZG9ubHkgbGFzdEZhaWx1cmU6IENvbm5lY3Rpb25BdHRlbXB0RXJyb3IgfCBudWxsO1xuICByZWFkb25seSByZXRyeUF0OiBudW1iZXIgfCBudWxsO1xufVxuXG5leHBvcnQgdHlwZSBDb25uZWN0aW9uUHJvamVjdGlvblBoYXNlID0gXCJkaXNjb25uZWN0ZWRcIiB8IFwic3luY2hyb25pemluZ1wiIHwgXCJyZWFkeVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gY29ubmVjdGlvblByb2plY3Rpb25QaGFzZShcbiAgc3RhdGU6IFN1cGVydmlzb3JDb25uZWN0aW9uU3RhdGUsXG4pOiBDb25uZWN0aW9uUHJvamVjdGlvblBoYXNlIHtcbiAgc3dpdGNoIChzdGF0ZS5waGFzZSkge1xuICAgIGNhc2UgXCJjb25uZWN0aW5nXCI6XG4gICAgICByZXR1cm4gXCJzeW5jaHJvbml6aW5nXCI7XG4gICAgY2FzZSBcImNvbm5lY3RlZFwiOlxuICAgICAgcmV0dXJuIFwicmVhZHlcIjtcbiAgICBjYXNlIFwiYXZhaWxhYmxlXCI6XG4gICAgY2FzZSBcIm9mZmxpbmVcIjpcbiAgICBjYXNlIFwiYmFja29mZlwiOlxuICAgIGNhc2UgXCJibG9ja2VkXCI6XG4gICAgICByZXR1cm4gXCJkaXNjb25uZWN0ZWRcIjtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQVZBSUxBQkxFX0NPTk5FQ1RJT05fU1RBVEU6IFN1cGVydmlzb3JDb25uZWN0aW9uU3RhdGUgPSBPYmplY3QuZnJlZXplKHtcbiAgZGVzaXJlZDogZmFsc2UsXG4gIG5ldHdvcms6IFwidW5rbm93blwiLFxuICBwaGFzZTogXCJhdmFpbGFibGVcIixcbiAgc3RhZ2U6IG51bGwsXG4gIGF0dGVtcHQ6IDAsXG4gIGdlbmVyYXRpb246IDAsXG4gIGxhc3RGYWlsdXJlOiBudWxsLFxuICByZXRyeUF0OiBudWxsLFxufSk7XG4iXSwiZmlsZSI6Ii9AZnMvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvY2xpZW50LXJ1bnRpbWUvc3JjL2Nvbm5lY3Rpb24vbW9kZWwudHMifQ==

//# vitestCache=W3siZmlsZSI6IjEiLCJpZCI6IjEiLCJ1cmwiOiIyIiwiaW1wb3J0cyI6IjMiLCJtYXBwaW5ncyI6ZmFsc2UsImRlcHMiOiI0IiwiZHluYW1pY0RlcHMiOiI1Iiwic3RhdGljTW9ja3MiOm51bGx9LCIvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvY2xpZW50LXJ1bnRpbWUvc3JjL2Nvbm5lY3Rpb24vbW9kZWwudHMiLCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL3BhY2thZ2VzL2NsaWVudC1ydW50aW1lL3NyYy9jb25uZWN0aW9uL21vZGVsLnRzIix7InVybHMiOiI2IiwiaWRzIjoiNyJ9LFsiOCIsIjkiLCIxMCJdLFtdLFsiOCIsIjkiLCIxMCJdLHt9LCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL3BhY2thZ2VzL2NvbnRyYWN0cy9zcmMvaW5kZXgudHMiLCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL3BhY2thZ2VzL2NvbnRyYWN0cy9zcmMvcmVsYXkudHMiLCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL25vZGVfbW9kdWxlcy8ucG5wbS9lZmZlY3RANC4wLjUvbm9kZV9tb2R1bGVzL2VmZmVjdC9kaXN0L1NjaGVtYS5qcyJd