__vite_ssr_exportName__("parseFileUrlHref", () => { try { return parseFileUrlHref } catch {} });
__vite_ssr_exportName__("splitFilePathPosition", () => { try { return splitFilePathPosition } catch {} });
__vite_ssr_exportName__("formatFilePathPosition", () => { try { return formatFilePathPosition } catch {} });
__vite_ssr_exportName__("resolvePathLinkTarget", () => { try { return resolvePathLinkTarget } catch {} });
__vite_ssr_exportName__("buildFileLinkParentSuffixByPath", () => { try { return buildFileLinkParentSuffixByPath } catch {} });
__vite_ssr_exportName__("fileLinkLabel", () => { try { return fileLinkLabel } catch {} });
const __vite_ssr_import_0__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/packages/shared/src/path.ts", {"importedNames":["fileBasename","isAbsolutePath","isWindowsAbsolutePath","stripSlashPrefixedWindowsDrive"]});

const POSITION_SUFFIX_CAPTURE_PATTERN = /:(\d+)(?::(\d+))?$/;
const POSITION_HASH_PATTERN = /^#L(\d+)(?:C(\d+))?$/i;
/** Keeps paths percent-encoded to avoid double decoding; non-localhost authorities become UNC shares. */
function parseFileUrlHref(href) {
	try {
		const parsed = new URL(href);
		if (parsed.protocol.toLowerCase() !== "file:") return null;
		const uncHostname = parsed.hostname.toLowerCase() === "localhost" ? "" : parsed.hostname;
		const path = uncHostname ? `\\\\${uncHostname}${parsed.pathname.replaceAll("/", "\\")}` : parsed.pathname;
		if (path.length === 0) return null;
		return {
			path: (0,__vite_ssr_import_0__.stripSlashPrefixedWindowsDrive)(path),
			hash: parsed.hash
		};
	} catch {
		return null;
	}
};
function splitFilePathPosition(path, hash = "") {
	const suffixMatch = path.match(POSITION_SUFFIX_CAPTURE_PATTERN);
	const match = suffixMatch ?? hash.match(POSITION_HASH_PATTERN);
	if (!match?.[1]) return { path };
	const line = Number.parseInt(match[1], 10);
	const column = match[2] === undefined ? undefined : Number.parseInt(match[2], 10);
	return {
		path: suffixMatch ? path.slice(0, -suffixMatch[0].length) : path,
		...line > 0 ? { line } : {},
		...column !== undefined && column > 0 ? { column } : {}
	};
};
function formatFilePathPosition(position) {
	if (!position.line) return position.path;
	return `${position.path}:${position.line}${position.column ? `:${position.column}` : ""}`;
};
function isWindowsPathStyle(value) {
	return (0,__vite_ssr_import_0__.isWindowsAbsolutePath)(value) || /[A-Za-z]:\\/.test(value);
}
function joinPath(base, next, separator) {
	const cleanBase = base.replace(/[\\/]+$/, "");
	if (separator === "\\") {
		return `${cleanBase}\\${next.replaceAll("/", "\\")}`;
	};
	return `${cleanBase}/${next.replace(/^\/+/, "")}`;
}
function inferHomeFromCwd(cwd) {
	const posixUser = cwd.match(/^\/Users\/([^/]+)/);
	if (posixUser?.[1]) {
		return `/Users/${posixUser[1]}`;
	};
	const posixHome = cwd.match(/^\/home\/([^/]+)/);
	if (posixHome?.[1]) {
		return `/home/${posixHome[1]}`;
	};
	const windowsUser = cwd.match(/^([A-Za-z]:[\\/]Users[\\/][^\\/]+)/i);
	if (windowsUser?.[1]) {
		return windowsUser[1];
	};
	return undefined;
}
function resolvePathLinkTarget(rawPath, cwd) {
	const position = splitFilePathPosition(rawPath);
	const { path } = position;
	let resolvedPath = path;
	if (path.startsWith("~/") || isWindowsPathStyle(cwd) && path.startsWith("~\\")) {
		const home = inferHomeFromCwd(cwd);
		if (home) {
			const separator = isWindowsPathStyle(home) ? "\\" : "/";
			resolvedPath = joinPath(home, path.slice(2), separator);
		}
	} else if (!(0,__vite_ssr_import_0__.isAbsolutePath)(path)) {
		const separator = isWindowsPathStyle(cwd) ? "\\" : "/";
		resolvedPath = joinPath(cwd, path, separator);
	};
	return formatFilePathPosition({
		...position,
		path: resolvedPath
	});
};
function pathParentSegments(path) {
	const normalized = path.replaceAll("\\", "/");
	const segments = normalized.split("/").filter((segment) => segment.length > 0);
	return segments.slice(0, -1);
}
function buildFileLinkParentSuffixByPath(filePaths) {
	const groups = new Map();
	for (const filePath of filePaths) {
		const normalizedPath = filePath.replaceAll("\\", "/");
		const pathSegments = normalizedPath.split("/").filter((segment) => segment.length > 0);
		const basename = pathSegments[pathSegments.length - 1];
		if (!basename) continue;
		const group = groups.get(basename) ?? new Set();
		group.add(normalizedPath);
		groups.set(basename, group);
	};
	const suffixByPath = new Map();
	for (const group of groups.values()) {
		const uniquePaths = [...group];
		if (uniquePaths.length < 2) continue;
		const parentSegmentsByPath = new Map(uniquePaths.map((filePath) => [filePath, pathParentSegments(filePath)]));
		const minUniqueDepthByPath = new Map();
		for (const filePath of uniquePaths) {
			const segments = parentSegmentsByPath.get(filePath) ?? [];
			let resolvedDepth = segments.length;
			for (let depth = 1; depth <= segments.length; depth += 1) {
				const candidate = segments.slice(-depth).join("/");
				const collision = uniquePaths.some((otherPath) => {
					if (otherPath === filePath) return false;
					const otherSegments = parentSegmentsByPath.get(otherPath) ?? [];
					return otherSegments.slice(-depth).join("/") === candidate;
				});
				if (!collision) {
					resolvedDepth = depth;
					break;
				}
			};
			minUniqueDepthByPath.set(filePath, resolvedDepth);
		};
		for (const filePath of uniquePaths) {
			const segments = parentSegmentsByPath.get(filePath) ?? [];
			if (segments.length === 0) continue;
			const minUniqueDepth = minUniqueDepthByPath.get(filePath) ?? 1;
			const suffixDepth = Math.min(segments.length, Math.max(minUniqueDepth, 2));
			suffixByPath.set(filePath, segments.slice(-suffixDepth).join("/"));
		}
	};
	return suffixByPath;
};
function fileLinkLabel(file, parentSuffixByPath) {
	const suffix = parentSuffixByPath.get(file.path.replaceAll("\\", "/"));
	return [
		(0,__vite_ssr_import_0__.fileBasename)(file.path),
		suffix,
		file.line ? `L${file.line}${file.column ? `:C${file.column}` : ""}` : undefined
	].filter(Boolean).join(" · ");
}
//# sourceMappingSource=vite-generated
//# sourceMappingURL=data:application/json;base64,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QUssV0FBVyxPQUFPO0NBQ3hFLENBQUMsQ0FDRSxPQUFPLE9BQU8sQ0FBQyxDQUNmLEtBQUssS0FBSztBQUNmIiwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlcyI6WyJmaWxlTGlua3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZmlsZUJhc2VuYW1lLFxuICBpc0Fic29sdXRlUGF0aCxcbiAgaXNXaW5kb3dzQWJzb2x1dGVQYXRoLFxuICBzdHJpcFNsYXNoUHJlZml4ZWRXaW5kb3dzRHJpdmUsXG59IGZyb20gXCIuL3BhdGgudHNcIjtcblxuY29uc3QgUE9TSVRJT05fU1VGRklYX0NBUFRVUkVfUEFUVEVSTiA9IC86KFxcZCspKD86OihcXGQrKSk/JC87XG5cbmNvbnN0IFBPU0lUSU9OX0hBU0hfUEFUVEVSTiA9IC9eI0woXFxkKykoPzpDKFxcZCspKT8kL2k7XG5cbi8qKiBLZWVwcyBwYXRocyBwZXJjZW50LWVuY29kZWQgdG8gYXZvaWQgZG91YmxlIGRlY29kaW5nOyBub24tbG9jYWxob3N0IGF1dGhvcml0aWVzIGJlY29tZSBVTkMgc2hhcmVzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRmlsZVVybEhyZWYoXG4gIGhyZWY6IHN0cmluZyxcbik6IHsgcmVhZG9ubHkgcGF0aDogc3RyaW5nOyByZWFkb25seSBoYXNoOiBzdHJpbmcgfSB8IG51bGwge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IG5ldyBVUkwoaHJlZik7XG4gICAgaWYgKHBhcnNlZC5wcm90b2NvbC50b0xvd2VyQ2FzZSgpICE9PSBcImZpbGU6XCIpIHJldHVybiBudWxsO1xuXG4gICAgY29uc3QgdW5jSG9zdG5hbWUgPSBwYXJzZWQuaG9zdG5hbWUudG9Mb3dlckNhc2UoKSA9PT0gXCJsb2NhbGhvc3RcIiA/IFwiXCIgOiBwYXJzZWQuaG9zdG5hbWU7XG4gICAgY29uc3QgcGF0aCA9IHVuY0hvc3RuYW1lXG4gICAgICA/IGBcXFxcXFxcXCR7dW5jSG9zdG5hbWV9JHtwYXJzZWQucGF0aG5hbWUucmVwbGFjZUFsbChcIi9cIiwgXCJcXFxcXCIpfWBcbiAgICAgIDogcGFyc2VkLnBhdGhuYW1lO1xuICAgIGlmIChwYXRoLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHsgcGF0aDogc3RyaXBTbGFzaFByZWZpeGVkV2luZG93c0RyaXZlKHBhdGgpLCBoYXNoOiBwYXJzZWQuaGFzaCB9O1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVQYXRoUG9zaXRpb24ge1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxpbmU/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGNvbHVtbj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0RmlsZVBhdGhQb3NpdGlvbihwYXRoOiBzdHJpbmcsIGhhc2ggPSBcIlwiKTogRmlsZVBhdGhQb3NpdGlvbiB7XG4gIGNvbnN0IHN1ZmZpeE1hdGNoID0gcGF0aC5tYXRjaChQT1NJVElPTl9TVUZGSVhfQ0FQVFVSRV9QQVRURVJOKTtcbiAgY29uc3QgbWF0Y2ggPSBzdWZmaXhNYXRjaCA/PyBoYXNoLm1hdGNoKFBPU0lUSU9OX0hBU0hfUEFUVEVSTik7XG4gIGlmICghbWF0Y2g/LlsxXSkgcmV0dXJuIHsgcGF0aCB9O1xuXG4gIGNvbnN0IGxpbmUgPSBOdW1iZXIucGFyc2VJbnQobWF0Y2hbMV0sIDEwKTtcbiAgY29uc3QgY29sdW1uID0gbWF0Y2hbMl0gPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IE51bWJlci5wYXJzZUludChtYXRjaFsyXSwgMTApO1xuICByZXR1cm4ge1xuICAgIHBhdGg6IHN1ZmZpeE1hdGNoID8gcGF0aC5zbGljZSgwLCAtc3VmZml4TWF0Y2hbMF0ubGVuZ3RoKSA6IHBhdGgsXG4gICAgLi4uKGxpbmUgPiAwID8geyBsaW5lIH0gOiB7fSksXG4gICAgLi4uKGNvbHVtbiAhPT0gdW5kZWZpbmVkICYmIGNvbHVtbiA+IDAgPyB7IGNvbHVtbiB9IDoge30pLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RmlsZVBhdGhQb3NpdGlvbihwb3NpdGlvbjogRmlsZVBhdGhQb3NpdGlvbik6IHN0cmluZyB7XG4gIGlmICghcG9zaXRpb24ubGluZSkgcmV0dXJuIHBvc2l0aW9uLnBhdGg7XG4gIHJldHVybiBgJHtwb3NpdGlvbi5wYXRofToke3Bvc2l0aW9uLmxpbmV9JHtwb3NpdGlvbi5jb2x1bW4gPyBgOiR7cG9zaXRpb24uY29sdW1ufWAgOiBcIlwifWA7XG59XG5cbmZ1bmN0aW9uIGlzV2luZG93c1BhdGhTdHlsZSh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1dpbmRvd3NBYnNvbHV0ZVBhdGgodmFsdWUpIHx8IC9bQS1aYS16XTpcXFxcLy50ZXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gam9pblBhdGgoYmFzZTogc3RyaW5nLCBuZXh0OiBzdHJpbmcsIHNlcGFyYXRvcjogXCIvXCIgfCBcIlxcXFxcIik6IHN0cmluZyB7XG4gIGNvbnN0IGNsZWFuQmFzZSA9IGJhc2UucmVwbGFjZSgvW1xcXFwvXSskLywgXCJcIik7XG4gIGlmIChzZXBhcmF0b3IgPT09IFwiXFxcXFwiKSB7XG4gICAgcmV0dXJuIGAke2NsZWFuQmFzZX1cXFxcJHtuZXh0LnJlcGxhY2VBbGwoXCIvXCIsIFwiXFxcXFwiKX1gO1xuICB9XG4gIHJldHVybiBgJHtjbGVhbkJhc2V9LyR7bmV4dC5yZXBsYWNlKC9eXFwvKy8sIFwiXCIpfWA7XG59XG5cbmZ1bmN0aW9uIGluZmVySG9tZUZyb21Dd2QoY3dkOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBwb3NpeFVzZXIgPSBjd2QubWF0Y2goL15cXC9Vc2Vyc1xcLyhbXi9dKykvKTtcbiAgaWYgKHBvc2l4VXNlcj8uWzFdKSB7XG4gICAgcmV0dXJuIGAvVXNlcnMvJHtwb3NpeFVzZXJbMV19YDtcbiAgfVxuXG4gIGNvbnN0IHBvc2l4SG9tZSA9IGN3ZC5tYXRjaCgvXlxcL2hvbWVcXC8oW14vXSspLyk7XG4gIGlmIChwb3NpeEhvbWU/LlsxXSkge1xuICAgIHJldHVybiBgL2hvbWUvJHtwb3NpeEhvbWVbMV19YDtcbiAgfVxuXG4gIGNvbnN0IHdpbmRvd3NVc2VyID0gY3dkLm1hdGNoKC9eKFtBLVphLXpdOltcXFxcL11Vc2Vyc1tcXFxcL11bXlxcXFwvXSspL2kpO1xuICBpZiAod2luZG93c1VzZXI/LlsxXSkge1xuICAgIHJldHVybiB3aW5kb3dzVXNlclsxXTtcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlUGF0aExpbmtUYXJnZXQocmF3UGF0aDogc3RyaW5nLCBjd2Q6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHBvc2l0aW9uID0gc3BsaXRGaWxlUGF0aFBvc2l0aW9uKHJhd1BhdGgpO1xuICBjb25zdCB7IHBhdGggfSA9IHBvc2l0aW9uO1xuXG4gIGxldCByZXNvbHZlZFBhdGggPSBwYXRoO1xuICBpZiAocGF0aC5zdGFydHNXaXRoKFwifi9cIikgfHwgKGlzV2luZG93c1BhdGhTdHlsZShjd2QpICYmIHBhdGguc3RhcnRzV2l0aChcIn5cXFxcXCIpKSkge1xuICAgIGNvbnN0IGhvbWUgPSBpbmZlckhvbWVGcm9tQ3dkKGN3ZCk7XG4gICAgaWYgKGhvbWUpIHtcbiAgICAgIGNvbnN0IHNlcGFyYXRvcjogXCIvXCIgfCBcIlxcXFxcIiA9IGlzV2luZG93c1BhdGhTdHlsZShob21lKSA/IFwiXFxcXFwiIDogXCIvXCI7XG4gICAgICByZXNvbHZlZFBhdGggPSBqb2luUGF0aChob21lLCBwYXRoLnNsaWNlKDIpLCBzZXBhcmF0b3IpO1xuICAgIH1cbiAgfSBlbHNlIGlmICghaXNBYnNvbHV0ZVBhdGgocGF0aCkpIHtcbiAgICBjb25zdCBzZXBhcmF0b3I6IFwiL1wiIHwgXCJcXFxcXCIgPSBpc1dpbmRvd3NQYXRoU3R5bGUoY3dkKSA/IFwiXFxcXFwiIDogXCIvXCI7XG4gICAgcmVzb2x2ZWRQYXRoID0gam9pblBhdGgoY3dkLCBwYXRoLCBzZXBhcmF0b3IpO1xuICB9XG5cbiAgcmV0dXJuIGZvcm1hdEZpbGVQYXRoUG9zaXRpb24oeyAuLi5wb3NpdGlvbiwgcGF0aDogcmVzb2x2ZWRQYXRoIH0pO1xufVxuXG5mdW5jdGlvbiBwYXRoUGFyZW50U2VnbWVudHMocGF0aDogc3RyaW5nKTogc3RyaW5nW10ge1xuICBjb25zdCBub3JtYWxpemVkID0gcGF0aC5yZXBsYWNlQWxsKFwiXFxcXFwiLCBcIi9cIik7XG4gIGNvbnN0IHNlZ21lbnRzID0gbm9ybWFsaXplZC5zcGxpdChcIi9cIikuZmlsdGVyKChzZWdtZW50KSA9PiBzZWdtZW50Lmxlbmd0aCA+IDApO1xuICByZXR1cm4gc2VnbWVudHMuc2xpY2UoMCwgLTEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRGaWxlTGlua1BhcmVudFN1ZmZpeEJ5UGF0aChcbiAgZmlsZVBhdGhzOiBSZWFkb25seUFycmF5PHN0cmluZz4sXG4pOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcbiAgY29uc3QgZ3JvdXBzID0gbmV3IE1hcDxzdHJpbmcsIFNldDxzdHJpbmc+PigpO1xuICBmb3IgKGNvbnN0IGZpbGVQYXRoIG9mIGZpbGVQYXRocykge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRQYXRoID0gZmlsZVBhdGgucmVwbGFjZUFsbChcIlxcXFxcIiwgXCIvXCIpO1xuICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IG5vcm1hbGl6ZWRQYXRoLnNwbGl0KFwiL1wiKS5maWx0ZXIoKHNlZ21lbnQpID0+IHNlZ21lbnQubGVuZ3RoID4gMCk7XG4gICAgY29uc3QgYmFzZW5hbWUgPSBwYXRoU2VnbWVudHNbcGF0aFNlZ21lbnRzLmxlbmd0aCAtIDFdO1xuICAgIGlmICghYmFzZW5hbWUpIGNvbnRpbnVlO1xuICAgIGNvbnN0IGdyb3VwID0gZ3JvdXBzLmdldChiYXNlbmFtZSkgPz8gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgZ3JvdXAuYWRkKG5vcm1hbGl6ZWRQYXRoKTtcbiAgICBncm91cHMuc2V0KGJhc2VuYW1lLCBncm91cCk7XG4gIH1cblxuICBjb25zdCBzdWZmaXhCeVBhdGggPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuICBmb3IgKGNvbnN0IGdyb3VwIG9mIGdyb3Vwcy52YWx1ZXMoKSkge1xuICAgIGNvbnN0IHVuaXF1ZVBhdGhzID0gWy4uLmdyb3VwXTtcbiAgICBpZiAodW5pcXVlUGF0aHMubGVuZ3RoIDwgMikgY29udGludWU7XG5cbiAgICBjb25zdCBwYXJlbnRTZWdtZW50c0J5UGF0aCA9IG5ldyBNYXAoXG4gICAgICB1bmlxdWVQYXRocy5tYXAoKGZpbGVQYXRoKSA9PiBbZmlsZVBhdGgsIHBhdGhQYXJlbnRTZWdtZW50cyhmaWxlUGF0aCldKSxcbiAgICApO1xuICAgIGNvbnN0IG1pblVuaXF1ZURlcHRoQnlQYXRoID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcblxuICAgIGZvciAoY29uc3QgZmlsZVBhdGggb2YgdW5pcXVlUGF0aHMpIHtcbiAgICAgIGNvbnN0IHNlZ21lbnRzID0gcGFyZW50U2VnbWVudHNCeVBhdGguZ2V0KGZpbGVQYXRoKSA/PyBbXTtcbiAgICAgIGxldCByZXNvbHZlZERlcHRoID0gc2VnbWVudHMubGVuZ3RoO1xuICAgICAgZm9yIChsZXQgZGVwdGggPSAxOyBkZXB0aCA8PSBzZWdtZW50cy5sZW5ndGg7IGRlcHRoICs9IDEpIHtcbiAgICAgICAgY29uc3QgY2FuZGlkYXRlID0gc2VnbWVudHMuc2xpY2UoLWRlcHRoKS5qb2luKFwiL1wiKTtcbiAgICAgICAgY29uc3QgY29sbGlzaW9uID0gdW5pcXVlUGF0aHMuc29tZSgob3RoZXJQYXRoKSA9PiB7XG4gICAgICAgICAgaWYgKG90aGVyUGF0aCA9PT0gZmlsZVBhdGgpIHJldHVybiBmYWxzZTtcbiAgICAgICAgICBjb25zdCBvdGhlclNlZ21lbnRzID0gcGFyZW50U2VnbWVudHNCeVBhdGguZ2V0KG90aGVyUGF0aCkgPz8gW107XG4gICAgICAgICAgcmV0dXJuIG90aGVyU2VnbWVudHMuc2xpY2UoLWRlcHRoKS5qb2luKFwiL1wiKSA9PT0gY2FuZGlkYXRlO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFjb2xsaXNpb24pIHtcbiAgICAgICAgICByZXNvbHZlZERlcHRoID0gZGVwdGg7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG1pblVuaXF1ZURlcHRoQnlQYXRoLnNldChmaWxlUGF0aCwgcmVzb2x2ZWREZXB0aCk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBmaWxlUGF0aCBvZiB1bmlxdWVQYXRocykge1xuICAgICAgY29uc3Qgc2VnbWVudHMgPSBwYXJlbnRTZWdtZW50c0J5UGF0aC5nZXQoZmlsZVBhdGgpID8/IFtdO1xuICAgICAgaWYgKHNlZ21lbnRzLmxlbmd0aCA9PT0gMCkgY29udGludWU7XG4gICAgICBjb25zdCBtaW5VbmlxdWVEZXB0aCA9IG1pblVuaXF1ZURlcHRoQnlQYXRoLmdldChmaWxlUGF0aCkgPz8gMTtcbiAgICAgIGNvbnN0IHN1ZmZpeERlcHRoID0gTWF0aC5taW4oc2VnbWVudHMubGVuZ3RoLCBNYXRoLm1heChtaW5VbmlxdWVEZXB0aCwgMikpO1xuICAgICAgc3VmZml4QnlQYXRoLnNldChmaWxlUGF0aCwgc2VnbWVudHMuc2xpY2UoLXN1ZmZpeERlcHRoKS5qb2luKFwiL1wiKSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN1ZmZpeEJ5UGF0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbGVMaW5rTGFiZWwoXG4gIGZpbGU6IEZpbGVQYXRoUG9zaXRpb24sXG4gIHBhcmVudFN1ZmZpeEJ5UGF0aDogUmVhZG9ubHlNYXA8c3RyaW5nLCBzdHJpbmc+LFxuKTogc3RyaW5nIHtcbiAgY29uc3Qgc3VmZml4ID0gcGFyZW50U3VmZml4QnlQYXRoLmdldChmaWxlLnBhdGgucmVwbGFjZUFsbChcIlxcXFxcIiwgXCIvXCIpKTtcbiAgcmV0dXJuIFtcbiAgICBmaWxlQmFzZW5hbWUoZmlsZS5wYXRoKSxcbiAgICBzdWZmaXgsXG4gICAgZmlsZS5saW5lID8gYEwke2ZpbGUubGluZX0ke2ZpbGUuY29sdW1uID8gYDpDJHtmaWxlLmNvbHVtbn1gIDogXCJcIn1gIDogdW5kZWZpbmVkLFxuICBdXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5qb2luKFwiIMK3IFwiKTtcbn1cbiJdLCJmaWxlIjoiL0Bmcy9ob21lL3VidW50dS93dC9wci0yNDI2My9wYWNrYWdlcy9zaGFyZWQvc3JjL2ZpbGVMaW5rcy50cyJ9

//# vitestCache=W3siZmlsZSI6IjEiLCJpZCI6IjEiLCJ1cmwiOiIyIiwiaW1wb3J0cyI6IjMiLCJtYXBwaW5ncyI6ZmFsc2UsImRlcHMiOiI0IiwiZHluYW1pY0RlcHMiOiI1Iiwic3RhdGljTW9ja3MiOm51bGx9LCIvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvc2hhcmVkL3NyYy9maWxlTGlua3MudHMiLCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL3BhY2thZ2VzL3NoYXJlZC9zcmMvZmlsZUxpbmtzLnRzIix7InVybHMiOiI2IiwiaWRzIjoiNyJ9LFsiOCJdLFtdLFsiOCJdLHt9LCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL3BhY2thZ2VzL3NoYXJlZC9zcmMvcGF0aC50cyJd