__vite_ssr_exportName__("SessionHttpClientUnavailable", () => { try { return SessionHttpClientUnavailable } catch {} });
__vite_ssr_exportName__("fetchEnvironmentSessionState", () => { try { return fetchEnvironmentSessionState } catch {} });
__vite_ssr_exportName__("createEnvironmentSessionAtoms", () => { try { return createEnvironmentSessionAtoms } 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/Data.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/Effect.js");
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/Option.js");
const __vite_ssr_import_3__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Stream.js");
const __vite_ssr_import_4__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/SubscriptionRef.js");
const __vite_ssr_import_5__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/http/index.js", {"importedNames":["HttpClient"]});
const __vite_ssr_import_6__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/reactivity/index.js", {"importedNames":["AsyncResult","Atom"]});
const __vite_ssr_import_7__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/packages/client-runtime/src/authorization/service.ts");
const __vite_ssr_import_8__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/packages/client-runtime/src/connection/registry.ts");
const __vite_ssr_import_9__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/packages/client-runtime/src/connection/supervisor.ts");
const __vite_ssr_import_10__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/packages/client-runtime/src/relay/managedRelay.ts");
const __vite_ssr_import_11__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/packages/client-runtime/src/errors/safeLog.ts", {"importedNames":["safeErrorLogAttributes"]});
const __vite_ssr_import_12__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/packages/client-runtime/src/state/environmentHttpAuth.ts", {"importedNames":["executeAuthenticatedEnvironmentHttpRequest"]});
const __vite_ssr_import_13__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/packages/client-runtime/src/state/environmentStreams.ts", {"importedNames":["followStreamInEnvironment"]});














/** @public Required to name the error in consumers' inferred session results. */
class SessionHttpClientUnavailable extends __vite_ssr_import_0__.TaggedError("SessionHttpClientUnavailable") {};
function initialConfigOption(initialConfig) {
	return initialConfig.pipe(__vite_ssr_import_1__.asSome, __vite_ssr_import_1__.catch((error) => __vite_ssr_import_1__.logWarning("Could not load the initial environment configuration.").pipe(__vite_ssr_import_1__.annotateLogs({ ...(0,__vite_ssr_import_11__.safeErrorLogAttributes)(error) }), __vite_ssr_import_1__.as(__vite_ssr_import_2__.none()))));
}
const DEFAULT_SESSION_STATE_TIMEOUT_MS = 6e3;
const fetchEnvironmentSessionState = __vite_ssr_import_1__.fn("clientRuntime.state.fetchEnvironmentSessionState")(function* (input) {
	return yield* (0,__vite_ssr_import_12__.executeAuthenticatedEnvironmentHttpRequest)({
		...input,
		group: "auth",
		method: "GET",
		url: (urls) => urls.session(),
		timeoutMs: input.timeoutMs ?? DEFAULT_SESSION_STATE_TIMEOUT_MS,
		request: ({ client, headers }) => client.session({ headers }),
		// This endpoint returns 200 with authenticated:false for expired credentials.
		isUnauthorizedResponse: (response) => !response.authenticated
	});
});
function makeEnvironmentSessionAtoms(runtime) {
	const initialConfigAtom = __vite_ssr_import_6__.Atom.family((environmentId) => runtime.atom((0,__vite_ssr_import_13__.followStreamInEnvironment)(environmentId, __vite_ssr_import_3__.unwrap(__vite_ssr_import_9__.EnvironmentSupervisor.pipe(__vite_ssr_import_1__.map((supervisor) => __vite_ssr_import_4__.changes(supervisor.session).pipe(__vite_ssr_import_3__.mapEffect(__vite_ssr_import_2__.match({
		onNone: () => __vite_ssr_import_1__.succeed(__vite_ssr_import_2__.none()),
		onSome: (session) => initialConfigOption(session.initialConfig)
	}))))))), { initialValue: __vite_ssr_import_2__.none() }));
	// This is only the bootstrap config captured when a transport session is
	// established. Consumers that need current provider/settings state must use
	// createServerEnvironmentAtoms(...).configValueAtom instead.
	const initialConfigValueAtom = __vite_ssr_import_6__.Atom.family((environmentId) => __vite_ssr_import_6__.Atom.make((get) => __vite_ssr_import_2__.getOrNull(__vite_ssr_import_2__.getOrElse(__vite_ssr_import_6__.AsyncResult.value(get(initialConfigAtom(environmentId))), () => __vite_ssr_import_2__.none()))).pipe(__vite_ssr_import_6__.Atom.withLabel(`environment-config-value:${environmentId}`)));
	const preparedConnectionAtom = __vite_ssr_import_6__.Atom.family((environmentId) => runtime.atom((0,__vite_ssr_import_13__.followStreamInEnvironment)(environmentId, __vite_ssr_import_3__.unwrap(__vite_ssr_import_9__.EnvironmentSupervisor.pipe(__vite_ssr_import_1__.map((supervisor) => __vite_ssr_import_4__.changes(supervisor.prepared))))), { initialValue: __vite_ssr_import_2__.none() }));
	const preparedConnectionValueAtom = __vite_ssr_import_6__.Atom.family((environmentId) => __vite_ssr_import_6__.Atom.make((get) => __vite_ssr_import_2__.getOrElse(__vite_ssr_import_6__.AsyncResult.value(get(preparedConnectionAtom(environmentId))), () => __vite_ssr_import_2__.none())).pipe(__vite_ssr_import_6__.Atom.withLabel(`environment-prepared-connection:${environmentId}`)));
	const sessionStateAtom = __vite_ssr_import_6__.Atom.family((environmentId) => runtime.atom((get) => {
		const prepared = __vite_ssr_import_2__.getOrNull(get(preparedConnectionValueAtom(environmentId)));
		if (prepared === null) {
			return __vite_ssr_import_1__.never;
		};
		return __vite_ssr_import_1__.gen(function* () {
			const signer = yield* __vite_ssr_import_1__.serviceOption(__vite_ssr_import_10__.ManagedRelayDpopSigner);
			const remoteAuthorization = yield* __vite_ssr_import_1__.serviceOption(__vite_ssr_import_7__.RemoteEnvironmentAuthorization);
			const client = yield* __vite_ssr_import_1__.serviceOption(__vite_ssr_import_5__.HttpClient.HttpClient);
			if (__vite_ssr_import_2__.isNone(client)) return yield* new SessionHttpClientUnavailable();
			return yield* fetchEnvironmentSessionState({
				prepared,
				signer,
				remoteAuthorization
			}).pipe(__vite_ssr_import_1__.provideService(__vite_ssr_import_5__.HttpClient.HttpClient, client.value));
		});
	}).pipe(__vite_ssr_import_6__.Atom.swr({
		staleTime: 3e4,
		revalidateOnMount: true
	}), __vite_ssr_import_6__.Atom.setIdleTTL(5 * 6e4), __vite_ssr_import_6__.Atom.withLabel(`environment-session-state:${environmentId}`)));
	const sessionStateValueAtom = __vite_ssr_import_6__.Atom.family((environmentId) => __vite_ssr_import_6__.Atom.make((get) => __vite_ssr_import_2__.getOrNull(__vite_ssr_import_6__.AsyncResult.value(get(sessionStateAtom(environmentId)))) ?? null).pipe(__vite_ssr_import_6__.Atom.withLabel(`environment-session-state-value:${environmentId}`)));
	return {
		initialConfigAtom,
		initialConfigValueAtom,
		preparedConnectionAtom,
		preparedConnectionValueAtom,
		sessionStateAtom,
		sessionStateValueAtom
	};
}
const sessionAtomsByRuntime = new WeakMap();
function createEnvironmentSessionAtoms(runtime) {
	const existing = sessionAtomsByRuntime.get(runtime);
	if (existing) return existing;
	const atoms = makeEnvironmentSessionAtoms(runtime);
	sessionAtomsByRuntime.set(runtime, atoms);
	return atoms;
}
//# sourceMappingSource=vite-generated
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6IkFBQUEsQ0FBQTs7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7OztBQUdPLE1BQU0scUNBQXFDLHNCQUFLLFlBQ3JELDhCQUNGLENBQUMsQ0FBQyxDQUFDO0FBRUgsU0FBUyxvQkFDUCxlQUM0QztDQUM1QyxPQUFPLGNBQWMsS0FDbkIsc0JBQU8sUUFDUCxzQkFBTyxPQUFPLFVBQ1osc0JBQU8sV0FBVyx1REFBdUQsQ0FBQyxDQUFDLEtBQ3pFLHNCQUFPLGFBQWEsRUFBRSxHQUFHLGtEQUF1QixLQUFLLEVBQUUsQ0FBQyxHQUN4RCxzQkFBTyxHQUFHLHNCQUFPLEtBQW1CLENBQUMsQ0FDdkMsQ0FDRixDQUNGO0FBQ0Y7QUFFQSxNQUFNLG1DQUFtQztBQUVsQyxNQUFNLCtCQUErQixzQkFBTyxHQUNqRCxrREFDRixDQUFDLENBQUMsV0FBVyxPQU9WO0NBQ0QsT0FBTyxPQUFPLHNFQUEyQztFQUN2RCxHQUFHO0VBQ0gsT0FBTztFQUNQLFFBQVE7RUFDUixNQUFNLFNBQVMsS0FBSyxRQUFRO0VBQzVCLFdBQVcsTUFBTSxhQUFhO0VBQzlCLFVBQVUsRUFBRSxRQUFRLGNBQWMsT0FBTyxRQUFRLEVBQUUsUUFBUSxDQUFDOztFQUU1RCx5QkFBeUIsYUFBYSxDQUFDLFNBQVM7Q0FDbEQsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLDRCQUNQLFNBQ0E7Q0FDQSxNQUFNLG9CQUFvQiwyQkFBSyxRQUFRLGtCQUNyQyxRQUFRLEtBQ04scURBQ0UsZUFDQSxzQkFBTyxPQUNMLHNCQUFzQixzQkFBc0IsS0FDMUMsc0JBQU8sS0FBSyxlQUNWLHNCQUFnQixRQUFRLFdBQVcsT0FBTyxDQUFDLENBQUMsS0FDMUMsc0JBQU8sVUFDTCxzQkFBTyxNQUFNO0VBQ1gsY0FBYyxzQkFBTyxRQUFRLHNCQUFPLEtBQW1CLENBQUM7RUFDeEQsU0FBUyxZQUFZLG9CQUFvQixRQUFRLGFBQWE7Q0FDaEUsQ0FBQyxDQUNILENBQ0YsQ0FDRixDQUNGLENBQ0YsQ0FDRixHQUNBLEVBQUUsY0FBYyxzQkFBTyxLQUFLLEVBQUUsQ0FDaEMsQ0FDRjs7OztDQUtBLE1BQU0seUJBQXlCLDJCQUFLLFFBQVEsa0JBQzFDLDJCQUFLLE1BQU0sUUFDVCxzQkFBTyxVQUNMLHNCQUFPLFVBQVUsa0NBQVksTUFBTSxJQUFJLGtCQUFrQixhQUFhLENBQUMsQ0FBQyxTQUN0RSxzQkFBTyxLQUFLLENBQ2QsQ0FDRixDQUNGLENBQUMsQ0FBQyxLQUFLLDJCQUFLLFVBQVUsNEJBQTRCLGVBQWUsQ0FBQyxDQUNwRTtDQUVBLE1BQU0seUJBQXlCLDJCQUFLLFFBQVEsa0JBQzFDLFFBQVEsS0FDTixxREFDRSxlQUNBLHNCQUFPLE9BQ0wsc0JBQXNCLHNCQUFzQixLQUMxQyxzQkFBTyxLQUFLLGVBQWUsc0JBQWdCLFFBQVEsV0FBVyxRQUFRLENBQUMsQ0FDekUsQ0FDRixDQUNGLEdBQ0EsRUFBRSxjQUFjLHNCQUFPLEtBQXlCLEVBQUUsQ0FDcEQsQ0FDRjtDQUVBLE1BQU0sOEJBQThCLDJCQUFLLFFBQVEsa0JBQy9DLDJCQUFLLE1BQU0sUUFDVCxzQkFBTyxVQUFVLGtDQUFZLE1BQU0sSUFBSSx1QkFBdUIsYUFBYSxDQUFDLENBQUMsU0FDM0Usc0JBQU8sS0FBeUIsQ0FDbEMsQ0FDRixDQUFDLENBQUMsS0FBSywyQkFBSyxVQUFVLG1DQUFtQyxlQUFlLENBQUMsQ0FDM0U7Q0FFQSxNQUFNLG1CQUFtQiwyQkFBSyxRQUFRLGtCQUNwQyxRQUNHLE1BQU0sUUFBUTtFQUNiLE1BQU0sV0FBVyxzQkFBTyxVQUFVLElBQUksNEJBQTRCLGFBQWEsQ0FBQyxDQUFDO0VBQ2pGLElBQUksYUFBYSxNQUFNO0dBQ3JCLE9BQU8sc0JBQU87RUFDaEI7RUFDQSxPQUFPLHNCQUFPLElBQUksYUFBYTtHQUM3QixNQUFNLFNBQVMsT0FBTyxzQkFBTyxjQUFjLHVCQUFhLHNCQUFzQjtHQUM5RSxNQUFNLHNCQUFzQixPQUFPLHNCQUFPLGNBQ3hDLHNCQUErQiw4QkFDakM7R0FDQSxNQUFNLFNBQVMsT0FBTyxzQkFBTyxjQUFjLGlDQUFXLFVBQVU7R0FDaEUsSUFBSSxzQkFBTyxPQUFPLE1BQU0sR0FBRyxPQUFPLE9BQU8sSUFBSSw2QkFBNkI7R0FDMUUsT0FBTyxPQUFPLDZCQUE2QjtJQUN6QztJQUNBO0lBQ0E7R0FDRixDQUFDLENBQUMsQ0FBQyxLQUFLLHNCQUFPLGVBQWUsaUNBQVcsWUFBWSxPQUFPLEtBQUssQ0FBQztFQUNwRSxDQUFDO0NBQ0gsQ0FBQyxDQUFDLENBQ0QsS0FDQywyQkFBSyxJQUFJO0VBQUUsV0FBVztFQUFRLG1CQUFtQjtDQUFLLENBQUMsR0FDdkQsMkJBQUssV0FBVyxJQUFJLEdBQU0sR0FDMUIsMkJBQUssVUFBVSw2QkFBNkIsZUFBZSxDQUM3RCxDQUNKO0NBRUEsTUFBTSx3QkFBd0IsMkJBQUssUUFBUSxrQkFDekMsMkJBQUssTUFDRixRQUNDLHNCQUFPLFVBQVUsa0NBQVksTUFBTSxJQUFJLGlCQUFpQixhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFDakYsQ0FBQyxDQUFDLEtBQUssMkJBQUssVUFBVSxtQ0FBbUMsZUFBZSxDQUFDLENBQzNFO0NBRUEsT0FBTztFQUNMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDQUNGO0FBQ0Y7QUFFQSxNQUFNLHdCQUF3QixJQUFJLFFBQWdFO0FBRTNGLFNBQVMsOEJBQ2QsU0FDc0Q7Q0FDdEQsTUFBTSxXQUFXLHNCQUFzQixJQUFJLE9BQU87Q0FDbEQsSUFBSSxVQUFVLE9BQU87Q0FDckIsTUFBTSxRQUFRLDRCQUE0QixPQUFPO0NBQ2pELHNCQUFzQixJQUFJLFNBQVMsS0FBSztDQUN4QyxPQUFPO0FBQ1QiLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VzIjpbInNlc3Npb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBdXRoU2Vzc2lvblN0YXRlLCBFbnZpcm9ubWVudElkLCBTZXJ2ZXJDb25maWcgfSBmcm9tIFwiQHQzdG9vbHMvY29udHJhY3RzXCI7XG5pbXBvcnQgKiBhcyBEYXRhIGZyb20gXCJlZmZlY3QvRGF0YVwiO1xuaW1wb3J0ICogYXMgRWZmZWN0IGZyb20gXCJlZmZlY3QvRWZmZWN0XCI7XG5pbXBvcnQgKiBhcyBPcHRpb24gZnJvbSBcImVmZmVjdC9PcHRpb25cIjtcbmltcG9ydCAqIGFzIFN0cmVhbSBmcm9tIFwiZWZmZWN0L1N0cmVhbVwiO1xuaW1wb3J0ICogYXMgU3Vic2NyaXB0aW9uUmVmIGZyb20gXCJlZmZlY3QvU3Vic2NyaXB0aW9uUmVmXCI7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcImVmZmVjdC9odHRwXCI7XG5pbXBvcnQgeyBBc3luY1Jlc3VsdCwgQXRvbSB9IGZyb20gXCJlZmZlY3QvcmVhY3Rpdml0eVwiO1xuXG5pbXBvcnQgKiBhcyBSZW1vdGVFbnZpcm9ubWVudEF1dGhvcml6YXRpb24gZnJvbSBcIi4uL2F1dGhvcml6YXRpb24vc2VydmljZS50c1wiO1xuaW1wb3J0ICogYXMgRW52aXJvbm1lbnRSZWdpc3RyeSBmcm9tIFwiLi4vY29ubmVjdGlvbi9yZWdpc3RyeS50c1wiO1xuaW1wb3J0IHR5cGUgeyBQcmVwYXJlZENvbm5lY3Rpb24gfSBmcm9tIFwiLi4vY29ubmVjdGlvbi9tb2RlbC50c1wiO1xuaW1wb3J0ICogYXMgRW52aXJvbm1lbnRTdXBlcnZpc29yIGZyb20gXCIuLi9jb25uZWN0aW9uL3N1cGVydmlzb3IudHNcIjtcbmltcG9ydCAqIGFzIE1hbmFnZWRSZWxheSBmcm9tIFwiLi4vcmVsYXkvbWFuYWdlZFJlbGF5LnRzXCI7XG5pbXBvcnQgeyBzYWZlRXJyb3JMb2dBdHRyaWJ1dGVzIH0gZnJvbSBcIi4uL2Vycm9ycy9zYWZlTG9nLnRzXCI7XG5pbXBvcnQgeyBleGVjdXRlQXV0aGVudGljYXRlZEVudmlyb25tZW50SHR0cFJlcXVlc3QgfSBmcm9tIFwiLi9lbnZpcm9ubWVudEh0dHBBdXRoLnRzXCI7XG5pbXBvcnQgeyBmb2xsb3dTdHJlYW1JbkVudmlyb25tZW50IH0gZnJvbSBcIi4vZW52aXJvbm1lbnRTdHJlYW1zLnRzXCI7XG5cbi8qKiBAcHVibGljIFJlcXVpcmVkIHRvIG5hbWUgdGhlIGVycm9yIGluIGNvbnN1bWVycycgaW5mZXJyZWQgc2Vzc2lvbiByZXN1bHRzLiAqL1xuZXhwb3J0IGNsYXNzIFNlc3Npb25IdHRwQ2xpZW50VW5hdmFpbGFibGUgZXh0ZW5kcyBEYXRhLlRhZ2dlZEVycm9yKFxuICBcIlNlc3Npb25IdHRwQ2xpZW50VW5hdmFpbGFibGVcIixcbikge31cblxuZnVuY3Rpb24gaW5pdGlhbENvbmZpZ09wdGlvbjxFPihcbiAgaW5pdGlhbENvbmZpZzogRWZmZWN0LkVmZmVjdDxTZXJ2ZXJDb25maWcsIEU+LFxuKTogRWZmZWN0LkVmZmVjdDxPcHRpb24uT3B0aW9uPFNlcnZlckNvbmZpZz4+IHtcbiAgcmV0dXJuIGluaXRpYWxDb25maWcucGlwZShcbiAgICBFZmZlY3QuYXNTb21lLFxuICAgIEVmZmVjdC5jYXRjaCgoZXJyb3IpID0+XG4gICAgICBFZmZlY3QubG9nV2FybmluZyhcIkNvdWxkIG5vdCBsb2FkIHRoZSBpbml0aWFsIGVudmlyb25tZW50IGNvbmZpZ3VyYXRpb24uXCIpLnBpcGUoXG4gICAgICAgIEVmZmVjdC5hbm5vdGF0ZUxvZ3MoeyAuLi5zYWZlRXJyb3JMb2dBdHRyaWJ1dGVzKGVycm9yKSB9KSxcbiAgICAgICAgRWZmZWN0LmFzKE9wdGlvbi5ub25lPFNlcnZlckNvbmZpZz4oKSksXG4gICAgICApLFxuICAgICksXG4gICk7XG59XG5cbmNvbnN0IERFRkFVTFRfU0VTU0lPTl9TVEFURV9USU1FT1VUX01TID0gNl8wMDA7XG5cbmV4cG9ydCBjb25zdCBmZXRjaEVudmlyb25tZW50U2Vzc2lvblN0YXRlID0gRWZmZWN0LmZuKFxuICBcImNsaWVudFJ1bnRpbWUuc3RhdGUuZmV0Y2hFbnZpcm9ubWVudFNlc3Npb25TdGF0ZVwiLFxuKShmdW5jdGlvbiogKGlucHV0OiB7XG4gIHJlYWRvbmx5IHByZXBhcmVkOiBQcmVwYXJlZENvbm5lY3Rpb247XG4gIHJlYWRvbmx5IHNpZ25lcjogT3B0aW9uLk9wdGlvbjxNYW5hZ2VkUmVsYXkuTWFuYWdlZFJlbGF5RHBvcFNpZ25lcltcIlNlcnZpY2VcIl0+O1xuICByZWFkb25seSByZW1vdGVBdXRob3JpemF0aW9uPzogT3B0aW9uLk9wdGlvbjxcbiAgICBSZW1vdGVFbnZpcm9ubWVudEF1dGhvcml6YXRpb24uUmVtb3RlRW52aXJvbm1lbnRBdXRob3JpemF0aW9uW1wiU2VydmljZVwiXVxuICA+O1xuICByZWFkb25seSB0aW1lb3V0TXM/OiBudW1iZXI7XG59KSB7XG4gIHJldHVybiB5aWVsZCogZXhlY3V0ZUF1dGhlbnRpY2F0ZWRFbnZpcm9ubWVudEh0dHBSZXF1ZXN0KHtcbiAgICAuLi5pbnB1dCxcbiAgICBncm91cDogXCJhdXRoXCIsXG4gICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgIHVybDogKHVybHMpID0+IHVybHMuc2Vzc2lvbigpLFxuICAgIHRpbWVvdXRNczogaW5wdXQudGltZW91dE1zID8/IERFRkFVTFRfU0VTU0lPTl9TVEFURV9USU1FT1VUX01TLFxuICAgIHJlcXVlc3Q6ICh7IGNsaWVudCwgaGVhZGVycyB9KSA9PiBjbGllbnQuc2Vzc2lvbih7IGhlYWRlcnMgfSksXG4gICAgLy8gVGhpcyBlbmRwb2ludCByZXR1cm5zIDIwMCB3aXRoIGF1dGhlbnRpY2F0ZWQ6ZmFsc2UgZm9yIGV4cGlyZWQgY3JlZGVudGlhbHMuXG4gICAgaXNVbmF1dGhvcml6ZWRSZXNwb25zZTogKHJlc3BvbnNlKSA9PiAhcmVzcG9uc2UuYXV0aGVudGljYXRlZCxcbiAgfSk7XG59KTtcblxuZnVuY3Rpb24gbWFrZUVudmlyb25tZW50U2Vzc2lvbkF0b21zPFIsIEU+KFxuICBydW50aW1lOiBBdG9tLkF0b21SdW50aW1lPEVudmlyb25tZW50UmVnaXN0cnkuRW52aXJvbm1lbnRSZWdpc3RyeSB8IFIsIEU+LFxuKSB7XG4gIGNvbnN0IGluaXRpYWxDb25maWdBdG9tID0gQXRvbS5mYW1pbHkoKGVudmlyb25tZW50SWQ6IEVudmlyb25tZW50SWQpID0+XG4gICAgcnVudGltZS5hdG9tKFxuICAgICAgZm9sbG93U3RyZWFtSW5FbnZpcm9ubWVudChcbiAgICAgICAgZW52aXJvbm1lbnRJZCxcbiAgICAgICAgU3RyZWFtLnVud3JhcChcbiAgICAgICAgICBFbnZpcm9ubWVudFN1cGVydmlzb3IuRW52aXJvbm1lbnRTdXBlcnZpc29yLnBpcGUoXG4gICAgICAgICAgICBFZmZlY3QubWFwKChzdXBlcnZpc29yKSA9PlxuICAgICAgICAgICAgICBTdWJzY3JpcHRpb25SZWYuY2hhbmdlcyhzdXBlcnZpc29yLnNlc3Npb24pLnBpcGUoXG4gICAgICAgICAgICAgICAgU3RyZWFtLm1hcEVmZmVjdChcbiAgICAgICAgICAgICAgICAgIE9wdGlvbi5tYXRjaCh7XG4gICAgICAgICAgICAgICAgICAgIG9uTm9uZTogKCkgPT4gRWZmZWN0LnN1Y2NlZWQoT3B0aW9uLm5vbmU8U2VydmVyQ29uZmlnPigpKSxcbiAgICAgICAgICAgICAgICAgICAgb25Tb21lOiAoc2Vzc2lvbikgPT4gaW5pdGlhbENvbmZpZ09wdGlvbihzZXNzaW9uLmluaXRpYWxDb25maWcpLFxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgICB7IGluaXRpYWxWYWx1ZTogT3B0aW9uLm5vbmUoKSB9LFxuICAgICksXG4gICk7XG5cbiAgLy8gVGhpcyBpcyBvbmx5IHRoZSBib290c3RyYXAgY29uZmlnIGNhcHR1cmVkIHdoZW4gYSB0cmFuc3BvcnQgc2Vzc2lvbiBpc1xuICAvLyBlc3RhYmxpc2hlZC4gQ29uc3VtZXJzIHRoYXQgbmVlZCBjdXJyZW50IHByb3ZpZGVyL3NldHRpbmdzIHN0YXRlIG11c3QgdXNlXG4gIC8vIGNyZWF0ZVNlcnZlckVudmlyb25tZW50QXRvbXMoLi4uKS5jb25maWdWYWx1ZUF0b20gaW5zdGVhZC5cbiAgY29uc3QgaW5pdGlhbENvbmZpZ1ZhbHVlQXRvbSA9IEF0b20uZmFtaWx5KChlbnZpcm9ubWVudElkOiBFbnZpcm9ubWVudElkKSA9PlxuICAgIEF0b20ubWFrZSgoZ2V0KTogU2VydmVyQ29uZmlnIHwgbnVsbCA9PlxuICAgICAgT3B0aW9uLmdldE9yTnVsbChcbiAgICAgICAgT3B0aW9uLmdldE9yRWxzZShBc3luY1Jlc3VsdC52YWx1ZShnZXQoaW5pdGlhbENvbmZpZ0F0b20oZW52aXJvbm1lbnRJZCkpKSwgKCkgPT5cbiAgICAgICAgICBPcHRpb24ubm9uZSgpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApLnBpcGUoQXRvbS53aXRoTGFiZWwoYGVudmlyb25tZW50LWNvbmZpZy12YWx1ZToke2Vudmlyb25tZW50SWR9YCkpLFxuICApO1xuXG4gIGNvbnN0IHByZXBhcmVkQ29ubmVjdGlvbkF0b20gPSBBdG9tLmZhbWlseSgoZW52aXJvbm1lbnRJZDogRW52aXJvbm1lbnRJZCkgPT5cbiAgICBydW50aW1lLmF0b20oXG4gICAgICBmb2xsb3dTdHJlYW1JbkVudmlyb25tZW50KFxuICAgICAgICBlbnZpcm9ubWVudElkLFxuICAgICAgICBTdHJlYW0udW53cmFwKFxuICAgICAgICAgIEVudmlyb25tZW50U3VwZXJ2aXNvci5FbnZpcm9ubWVudFN1cGVydmlzb3IucGlwZShcbiAgICAgICAgICAgIEVmZmVjdC5tYXAoKHN1cGVydmlzb3IpID0+IFN1YnNjcmlwdGlvblJlZi5jaGFuZ2VzKHN1cGVydmlzb3IucHJlcGFyZWQpKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICAgIHsgaW5pdGlhbFZhbHVlOiBPcHRpb24ubm9uZTxQcmVwYXJlZENvbm5lY3Rpb24+KCkgfSxcbiAgICApLFxuICApO1xuXG4gIGNvbnN0IHByZXBhcmVkQ29ubmVjdGlvblZhbHVlQXRvbSA9IEF0b20uZmFtaWx5KChlbnZpcm9ubWVudElkOiBFbnZpcm9ubWVudElkKSA9PlxuICAgIEF0b20ubWFrZSgoZ2V0KSA9PlxuICAgICAgT3B0aW9uLmdldE9yRWxzZShBc3luY1Jlc3VsdC52YWx1ZShnZXQocHJlcGFyZWRDb25uZWN0aW9uQXRvbShlbnZpcm9ubWVudElkKSkpLCAoKSA9PlxuICAgICAgICBPcHRpb24ubm9uZTxQcmVwYXJlZENvbm5lY3Rpb24+KCksXG4gICAgICApLFxuICAgICkucGlwZShBdG9tLndpdGhMYWJlbChgZW52aXJvbm1lbnQtcHJlcGFyZWQtY29ubmVjdGlvbjoke2Vudmlyb25tZW50SWR9YCkpLFxuICApO1xuXG4gIGNvbnN0IHNlc3Npb25TdGF0ZUF0b20gPSBBdG9tLmZhbWlseSgoZW52aXJvbm1lbnRJZDogRW52aXJvbm1lbnRJZCkgPT5cbiAgICBydW50aW1lXG4gICAgICAuYXRvbSgoZ2V0KSA9PiB7XG4gICAgICAgIGNvbnN0IHByZXBhcmVkID0gT3B0aW9uLmdldE9yTnVsbChnZXQocHJlcGFyZWRDb25uZWN0aW9uVmFsdWVBdG9tKGVudmlyb25tZW50SWQpKSk7XG4gICAgICAgIGlmIChwcmVwYXJlZCA9PT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBFZmZlY3QubmV2ZXI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIEVmZmVjdC5nZW4oZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICBjb25zdCBzaWduZXIgPSB5aWVsZCogRWZmZWN0LnNlcnZpY2VPcHRpb24oTWFuYWdlZFJlbGF5Lk1hbmFnZWRSZWxheURwb3BTaWduZXIpO1xuICAgICAgICAgIGNvbnN0IHJlbW90ZUF1dGhvcml6YXRpb24gPSB5aWVsZCogRWZmZWN0LnNlcnZpY2VPcHRpb24oXG4gICAgICAgICAgICBSZW1vdGVFbnZpcm9ubWVudEF1dGhvcml6YXRpb24uUmVtb3RlRW52aXJvbm1lbnRBdXRob3JpemF0aW9uLFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgY2xpZW50ID0geWllbGQqIEVmZmVjdC5zZXJ2aWNlT3B0aW9uKEh0dHBDbGllbnQuSHR0cENsaWVudCk7XG4gICAgICAgICAgaWYgKE9wdGlvbi5pc05vbmUoY2xpZW50KSkgcmV0dXJuIHlpZWxkKiBuZXcgU2Vzc2lvbkh0dHBDbGllbnRVbmF2YWlsYWJsZSgpO1xuICAgICAgICAgIHJldHVybiB5aWVsZCogZmV0Y2hFbnZpcm9ubWVudFNlc3Npb25TdGF0ZSh7XG4gICAgICAgICAgICBwcmVwYXJlZCxcbiAgICAgICAgICAgIHNpZ25lcixcbiAgICAgICAgICAgIHJlbW90ZUF1dGhvcml6YXRpb24sXG4gICAgICAgICAgfSkucGlwZShFZmZlY3QucHJvdmlkZVNlcnZpY2UoSHR0cENsaWVudC5IdHRwQ2xpZW50LCBjbGllbnQudmFsdWUpKTtcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIEF0b20uc3dyKHsgc3RhbGVUaW1lOiAzMF8wMDAsIHJldmFsaWRhdGVPbk1vdW50OiB0cnVlIH0pLFxuICAgICAgICBBdG9tLnNldElkbGVUVEwoNSAqIDYwXzAwMCksXG4gICAgICAgIEF0b20ud2l0aExhYmVsKGBlbnZpcm9ubWVudC1zZXNzaW9uLXN0YXRlOiR7ZW52aXJvbm1lbnRJZH1gKSxcbiAgICAgICksXG4gICk7XG5cbiAgY29uc3Qgc2Vzc2lvblN0YXRlVmFsdWVBdG9tID0gQXRvbS5mYW1pbHkoKGVudmlyb25tZW50SWQ6IEVudmlyb25tZW50SWQpID0+XG4gICAgQXRvbS5tYWtlKFxuICAgICAgKGdldCk6IEF1dGhTZXNzaW9uU3RhdGUgfCBudWxsID0+XG4gICAgICAgIE9wdGlvbi5nZXRPck51bGwoQXN5bmNSZXN1bHQudmFsdWUoZ2V0KHNlc3Npb25TdGF0ZUF0b20oZW52aXJvbm1lbnRJZCkpKSkgPz8gbnVsbCxcbiAgICApLnBpcGUoQXRvbS53aXRoTGFiZWwoYGVudmlyb25tZW50LXNlc3Npb24tc3RhdGUtdmFsdWU6JHtlbnZpcm9ubWVudElkfWApKSxcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIGluaXRpYWxDb25maWdBdG9tLFxuICAgIGluaXRpYWxDb25maWdWYWx1ZUF0b20sXG4gICAgcHJlcGFyZWRDb25uZWN0aW9uQXRvbSxcbiAgICBwcmVwYXJlZENvbm5lY3Rpb25WYWx1ZUF0b20sXG4gICAgc2Vzc2lvblN0YXRlQXRvbSxcbiAgICBzZXNzaW9uU3RhdGVWYWx1ZUF0b20sXG4gIH07XG59XG5cbmNvbnN0IHNlc3Npb25BdG9tc0J5UnVudGltZSA9IG5ldyBXZWFrTWFwPG9iamVjdCwgUmV0dXJuVHlwZTx0eXBlb2YgbWFrZUVudmlyb25tZW50U2Vzc2lvbkF0b21zPj4oKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVudmlyb25tZW50U2Vzc2lvbkF0b21zPFIsIEU+KFxuICBydW50aW1lOiBBdG9tLkF0b21SdW50aW1lPEVudmlyb25tZW50UmVnaXN0cnkuRW52aXJvbm1lbnRSZWdpc3RyeSB8IFIsIEU+LFxuKTogUmV0dXJuVHlwZTx0eXBlb2YgbWFrZUVudmlyb25tZW50U2Vzc2lvbkF0b21zPFIsIEU+PiB7XG4gIGNvbnN0IGV4aXN0aW5nID0gc2Vzc2lvbkF0b21zQnlSdW50aW1lLmdldChydW50aW1lKTtcbiAgaWYgKGV4aXN0aW5nKSByZXR1cm4gZXhpc3RpbmcgYXMgUmV0dXJuVHlwZTx0eXBlb2YgbWFrZUVudmlyb25tZW50U2Vzc2lvbkF0b21zPFIsIEU+PjtcbiAgY29uc3QgYXRvbXMgPSBtYWtlRW52aXJvbm1lbnRTZXNzaW9uQXRvbXMocnVudGltZSk7XG4gIHNlc3Npb25BdG9tc0J5UnVudGltZS5zZXQocnVudGltZSwgYXRvbXMpO1xuICByZXR1cm4gYXRvbXM7XG59XG4iXSwiZmlsZSI6Ii9AZnMvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvY2xpZW50LXJ1bnRpbWUvc3JjL3N0YXRlL3Nlc3Npb24udHMifQ==

//# vitestCache=W3siZmlsZSI6IjEiLCJpZCI6IjEiLCJ1cmwiOiIyIiwiaW1wb3J0cyI6IjMiLCJtYXBwaW5ncyI6ZmFsc2UsImRlcHMiOiI0IiwiZHluYW1pY0RlcHMiOiI1Iiwic3RhdGljTW9ja3MiOm51bGx9LCIvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvY2xpZW50LXJ1bnRpbWUvc3JjL3N0YXRlL3Nlc3Npb24udHMiLCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL3BhY2thZ2VzL2NsaWVudC1ydW50aW1lL3NyYy9zdGF0ZS9zZXNzaW9uLnRzIix7InVybHMiOiI2IiwiaWRzIjoiNyJ9LFsiOCIsIjkiLCIxMCIsIjExIiwiMTIiLCIxMyIsIjE0IiwiMTUiLCIxNiIsIjE3IiwiMTgiLCIxOSIsIjIwIiwiMjEiXSxbXSxbIjgiLCI5IiwiMTAiLCIxMSIsIjEyIiwiMTMiLCIxNCIsIjE1IiwiMTYiLCIxNyIsIjE4IiwiMTkiLCIyMCIsIjIxIl0se30sIi9AZnMvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvbm9kZV9tb2R1bGVzLy5wbnBtL2VmZmVjdEA0LjAuNS9ub2RlX21vZHVsZXMvZWZmZWN0L2Rpc3QvRGF0YS5qcyIsIi9AZnMvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvbm9kZV9tb2R1bGVzLy5wbnBtL2VmZmVjdEA0LjAuNS9ub2RlX21vZHVsZXMvZWZmZWN0L2Rpc3QvRWZmZWN0LmpzIiwiL0Bmcy9ob21lL3VidW50dS93dC9wci0yNDI2My9ub2RlX21vZHVsZXMvLnBucG0vZWZmZWN0QDQuMC41L25vZGVfbW9kdWxlcy9lZmZlY3QvZGlzdC9PcHRpb24uanMiLCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL25vZGVfbW9kdWxlcy8ucG5wbS9lZmZlY3RANC4wLjUvbm9kZV9tb2R1bGVzL2VmZmVjdC9kaXN0L1N0cmVhbS5qcyIsIi9AZnMvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvbm9kZV9tb2R1bGVzLy5wbnBtL2VmZmVjdEA0LjAuNS9ub2RlX21vZHVsZXMvZWZmZWN0L2Rpc3QvU3Vic2NyaXB0aW9uUmVmLmpzIiwiL0Bmcy9ob21lL3VidW50dS93dC9wci0yNDI2My9ub2RlX21vZHVsZXMvLnBucG0vZWZmZWN0QDQuMC41L25vZGVfbW9kdWxlcy9lZmZlY3QvZGlzdC9odHRwL2luZGV4LmpzIiwiL0Bmcy9ob21lL3VidW50dS93dC9wci0yNDI2My9ub2RlX21vZHVsZXMvLnBucG0vZWZmZWN0QDQuMC41L25vZGVfbW9kdWxlcy9lZmZlY3QvZGlzdC9yZWFjdGl2aXR5L2luZGV4LmpzIiwiL0Bmcy9ob21lL3VidW50dS93dC9wci0yNDI2My9wYWNrYWdlcy9jbGllbnQtcnVudGltZS9zcmMvYXV0aG9yaXphdGlvbi9zZXJ2aWNlLnRzIiwiL0Bmcy9ob21lL3VidW50dS93dC9wci0yNDI2My9wYWNrYWdlcy9jbGllbnQtcnVudGltZS9zcmMvY29ubmVjdGlvbi9yZWdpc3RyeS50cyIsIi9AZnMvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvY2xpZW50LXJ1bnRpbWUvc3JjL2Nvbm5lY3Rpb24vc3VwZXJ2aXNvci50cyIsIi9AZnMvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvY2xpZW50LXJ1bnRpbWUvc3JjL3JlbGF5L21hbmFnZWRSZWxheS50cyIsIi9AZnMvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvY2xpZW50LXJ1bnRpbWUvc3JjL2Vycm9ycy9zYWZlTG9nLnRzIiwiL0Bmcy9ob21lL3VidW50dS93dC9wci0yNDI2My9wYWNrYWdlcy9jbGllbnQtcnVudGltZS9zcmMvc3RhdGUvZW52aXJvbm1lbnRIdHRwQXV0aC50cyIsIi9AZnMvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvY2xpZW50LXJ1bnRpbWUvc3JjL3N0YXRlL2Vudmlyb25tZW50U3RyZWFtcy50cyJd