const __vite_ssr_import_0__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/node_modules/.pnpm/vite-plus@1.3.0_@astrojs+compiler-rs@0.5.1_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_7b48bcdbb35e6a86ee2230a6112d7cbc/node_modules/vite-plus/dist/test/index.js", {"importedNames":["describe","expect","it"]});
const __vite_ssr_import_1__ = await __vite_ssr_import__("/src/lib/markdownDocument.ts", {"importedNames":["markdownHtmlContent","markdownWithHtml","parseMarkdownDocument"]});
const __vite_ssr_import_2__ = await __vite_ssr_import__("/src/lib/markdownImageSources.ts", {"importedNames":["markdownImageSources"]});



(0,__vite_ssr_import_0__.describe)("HTML in native Markdown", () => {
	(0,__vite_ssr_import_0__.it)("preserves screenshot URLs and captions from GitHub HTML image embeds", () => {
		(0,__vite_ssr_import_0__.expect)((0,__vite_ssr_import_1__.markdownHtmlContent)("<img width=\"900\" alt=\"Before > after [settings]\" src=\"https://example.com/before.png?a=1&amp;b=2\" />")).toBe("![Before > after \\[settings\\]](<https://example.com/before.png?a=1\\&b=2>)");
		(0,__vite_ssr_import_0__.expect)((0,__vite_ssr_import_1__.markdownHtmlContent)("<a href='https://example.com'><img src='https://example.com/banner.svg' alt='Review' /></a>")).toBe("[![Review](<https://example.com/banner.svg>)](<https://example.com>)");
	});
	(0,__vite_ssr_import_0__.it)("decodes HTML attributes once and preserves entity-shaped query values through Markdown", () => {
		const markdown = "<img alt=\"&amp;lt;\" src=\"https://example.com/shot.png?label=&amp;lt;&amp;sig=a%26b\">";
		(0,__vite_ssr_import_0__.expect)((0,__vite_ssr_import_1__.markdownWithHtml)(markdown)).toBe("![\\&lt;](<https://example.com/shot.png?label=\\&lt;\\&sig=a%26b>)");
		(0,__vite_ssr_import_0__.expect)((0,__vite_ssr_import_2__.markdownImageSources)(markdown)).toEqual(["https://example.com/shot.png?label=&lt;&sig=a%26b"]);
		const paragraph = (0,__vite_ssr_import_1__.parseMarkdownDocument)(markdown).children[0];
		(0,__vite_ssr_import_0__.expect)(paragraph?.type).toBe("paragraph");
		if (paragraph?.type === "paragraph") (0,__vite_ssr_import_0__.expect)(paragraph.children[0]).toMatchObject({
			type: "image",
			alt: "&lt;"
		});
	});
	(0,__vite_ssr_import_0__.it)("ignores code delimiters in HTML attributes and comments when collecting screenshots", () => {
		const markdown = "<details data-example=\"`\">\n<summary>Proof</summary>\n<img src=\"https://example.com/shot.png\" alt=\"Screenshot\">\n<!-- ` -->\n</details>";
		(0,__vite_ssr_import_0__.expect)((0,__vite_ssr_import_1__.markdownHtmlContent)(markdown)).toContain("![Screenshot](<https://example.com/shot.png>)");
		(0,__vite_ssr_import_0__.expect)((0,__vite_ssr_import_2__.markdownImageSources)(markdown)).toEqual(["https://example.com/shot.png"]);
		(0,__vite_ssr_import_0__.expect)((0,__vite_ssr_import_1__.markdownWithHtml)(markdown)).not.toContain("<img");
	});
	(0,__vite_ssr_import_0__.it)("removes bot metadata and details wrappers while keeping the content", () => {
		const markdown = "<!-- generated bot metadata -->\n<details>\n<summary>Walkthrough</summary>\n\n## Changes\n\nText\n\n</details>";
		const result = (0,__vite_ssr_import_1__.markdownWithHtml)(markdown);
		(0,__vite_ssr_import_0__.expect)(result).not.toContain("<!--");
		(0,__vite_ssr_import_0__.expect)(result).not.toContain("<details>");
		(0,__vite_ssr_import_0__.expect)(result).toContain("**Walkthrough**");
		(0,__vite_ssr_import_0__.expect)(result).toContain("## Changes");
		(0,__vite_ssr_import_0__.expect)((0,__vite_ssr_import_1__.parseMarkdownDocument)(markdown).children.some((node) => node.type === "html")).toBe(false);
	});
	(0,__vite_ssr_import_0__.it)("collects HTML and Markdown screenshots while leaving inline and fenced code literal", () => {
		const markdown = "```html\n<img src=\"literal.png\">\n```\n\nUse `<img src=\"inline.png\">` here.\n\n<img src=\"one.png\">\n\n![Two](two.png)\n\n<img src=\"one.png\">";
		(0,__vite_ssr_import_0__.expect)((0,__vite_ssr_import_2__.markdownImageSources)(markdown)).toEqual(["one.png", "two.png"]);
		const result = (0,__vite_ssr_import_1__.markdownWithHtml)(markdown);
		(0,__vite_ssr_import_0__.expect)(result).toContain("```html\n<img src=\"literal.png\">\n```");
		(0,__vite_ssr_import_0__.expect)(result).toContain("`<img src=\"inline.png\">`");
	});
	(0,__vite_ssr_import_0__.it)("links HTML anchors in a table cell without breaking the row at <br>", () => {
		const document = (0,__vite_ssr_import_1__.parseMarkdownDocument)("| Status | Preview URL |\n| - | - |\n| Done | <a href='https://commit.example.com'>Commit</a><br><a href='https://branch.example.com'>Branch</a> |");
		const table = document.children[0];
		(0,__vite_ssr_import_0__.expect)(table?.type).toBe("table");
		if (table?.type !== "table") return;
		(0,__vite_ssr_import_0__.expect)(table.children).toHaveLength(2);
		(0,__vite_ssr_import_0__.expect)(table.children[1]?.children[1]?.children).toMatchObject([
			{
				type: "link",
				url: "https://commit.example.com",
				children: [{ value: "Commit" }]
			},
			{
				type: "text",
				value: " "
			},
			{
				type: "link",
				url: "https://branch.example.com",
				children: [{ value: "Branch" }]
			}
		]);
	});
	(0,__vite_ssr_import_0__.it)("keeps a table row intact when an anchor href contains a pipe", () => {
		const document = (0,__vite_ssr_import_1__.parseMarkdownDocument)("| Preview | Logs |\n| - | - |\n| <a href='https://example.com/?a=1&#124;2'>Open</a> | done |");
		const table = document.children[0];
		(0,__vite_ssr_import_0__.expect)(table?.type).toBe("table");
		if (table?.type !== "table") return;
		(0,__vite_ssr_import_0__.expect)(table.children[1]?.children).toMatchObject([{ children: [{
			type: "link",
			url: "https://example.com/?a=1%7C2"
		}] }, { children: [{ value: "done" }] }]);
	});
	(0,__vite_ssr_import_0__.it)("keeps anchor text unlinked for unsafe hrefs", () => {
		(0,__vite_ssr_import_0__.expect)((0,__vite_ssr_import_1__.markdownWithHtml)("Run <a href=\"javascript:alert(1)\">this</a> now")).toBe("Run this now");
	});
});
//# sourceMappingSource=vite-generated
//# sourceMappingURL=data:application/json;base64,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LENBQUMsS0FBSyxPQUFPO0VBQ2hDLElBQUksT0FBTyxTQUFTLFNBQVM7RUFDN0IsaUNBQU8sTUFBTSxTQUFTLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQyxjQUFjLENBQ2hELEVBQUUsVUFBVSxDQUFDO0dBQUUsTUFBTTtHQUFRLEtBQUs7RUFBK0IsQ0FBQyxFQUFFLEdBQ3BFLEVBQUUsVUFBVSxDQUFDLEVBQUUsT0FBTyxPQUFPLENBQUMsRUFBRSxDQUNsQyxDQUFDO0NBQ0gsQ0FBQztDQUVELDZCQUFHLHFEQUFxRDtFQUN0RCxpQ0FBTywyQ0FBaUIsa0RBQWdELENBQUMsQ0FBQyxDQUFDLEtBQUssY0FBYztDQUNoRyxDQUFDO0FBQ0gsQ0FBQyIsIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZXMiOlsibWFya2Rvd25IdG1sLnRlc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVzY3JpYmUsIGV4cGVjdCwgaXQgfSBmcm9tIFwidml0ZS1wbHVzL3Rlc3RcIjtcbmltcG9ydCB7IG1hcmtkb3duSHRtbENvbnRlbnQsIG1hcmtkb3duV2l0aEh0bWwsIHBhcnNlTWFya2Rvd25Eb2N1bWVudCB9IGZyb20gXCIuL21hcmtkb3duRG9jdW1lbnRcIjtcbmltcG9ydCB7IG1hcmtkb3duSW1hZ2VTb3VyY2VzIH0gZnJvbSBcIi4vbWFya2Rvd25JbWFnZVNvdXJjZXNcIjtcblxuZGVzY3JpYmUoXCJIVE1MIGluIG5hdGl2ZSBNYXJrZG93blwiLCAoKSA9PiB7XG4gIGl0KFwicHJlc2VydmVzIHNjcmVlbnNob3QgVVJMcyBhbmQgY2FwdGlvbnMgZnJvbSBHaXRIdWIgSFRNTCBpbWFnZSBlbWJlZHNcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChcbiAgICAgIG1hcmtkb3duSHRtbENvbnRlbnQoXG4gICAgICAgICc8aW1nIHdpZHRoPVwiOTAwXCIgYWx0PVwiQmVmb3JlID4gYWZ0ZXIgW3NldHRpbmdzXVwiIHNyYz1cImh0dHBzOi8vZXhhbXBsZS5jb20vYmVmb3JlLnBuZz9hPTEmYW1wO2I9MlwiIC8+JyxcbiAgICAgICksXG4gICAgKS50b0JlKFwiIVtCZWZvcmUgPiBhZnRlciBcXFxcW3NldHRpbmdzXFxcXF1dKDxodHRwczovL2V4YW1wbGUuY29tL2JlZm9yZS5wbmc/YT0xXFxcXCZiPTI+KVwiKTtcbiAgICBleHBlY3QoXG4gICAgICBtYXJrZG93bkh0bWxDb250ZW50KFxuICAgICAgICBcIjxhIGhyZWY9J2h0dHBzOi8vZXhhbXBsZS5jb20nPjxpbWcgc3JjPSdodHRwczovL2V4YW1wbGUuY29tL2Jhbm5lci5zdmcnIGFsdD0nUmV2aWV3JyAvPjwvYT5cIixcbiAgICAgICksXG4gICAgKS50b0JlKFwiWyFbUmV2aWV3XSg8aHR0cHM6Ly9leGFtcGxlLmNvbS9iYW5uZXIuc3ZnPildKDxodHRwczovL2V4YW1wbGUuY29tPilcIik7XG4gIH0pO1xuXG4gIGl0KFwiZGVjb2RlcyBIVE1MIGF0dHJpYnV0ZXMgb25jZSBhbmQgcHJlc2VydmVzIGVudGl0eS1zaGFwZWQgcXVlcnkgdmFsdWVzIHRocm91Z2ggTWFya2Rvd25cIiwgKCkgPT4ge1xuICAgIGNvbnN0IG1hcmtkb3duID1cbiAgICAgICc8aW1nIGFsdD1cIiZhbXA7bHQ7XCIgc3JjPVwiaHR0cHM6Ly9leGFtcGxlLmNvbS9zaG90LnBuZz9sYWJlbD0mYW1wO2x0OyZhbXA7c2lnPWElMjZiXCI+JztcbiAgICBleHBlY3QobWFya2Rvd25XaXRoSHRtbChtYXJrZG93bikpLnRvQmUoXG4gICAgICBcIiFbXFxcXCZsdDtdKDxodHRwczovL2V4YW1wbGUuY29tL3Nob3QucG5nP2xhYmVsPVxcXFwmbHQ7XFxcXCZzaWc9YSUyNmI+KVwiLFxuICAgICk7XG4gICAgZXhwZWN0KG1hcmtkb3duSW1hZ2VTb3VyY2VzKG1hcmtkb3duKSkudG9FcXVhbChbXG4gICAgICBcImh0dHBzOi8vZXhhbXBsZS5jb20vc2hvdC5wbmc/bGFiZWw9Jmx0OyZzaWc9YSUyNmJcIixcbiAgICBdKTtcbiAgICBjb25zdCBwYXJhZ3JhcGggPSBwYXJzZU1hcmtkb3duRG9jdW1lbnQobWFya2Rvd24pLmNoaWxkcmVuWzBdO1xuICAgIGV4cGVjdChwYXJhZ3JhcGg/LnR5cGUpLnRvQmUoXCJwYXJhZ3JhcGhcIik7XG4gICAgaWYgKHBhcmFncmFwaD8udHlwZSA9PT0gXCJwYXJhZ3JhcGhcIilcbiAgICAgIGV4cGVjdChwYXJhZ3JhcGguY2hpbGRyZW5bMF0pLnRvTWF0Y2hPYmplY3QoeyB0eXBlOiBcImltYWdlXCIsIGFsdDogXCImbHQ7XCIgfSk7XG4gIH0pO1xuXG4gIGl0KFwiaWdub3JlcyBjb2RlIGRlbGltaXRlcnMgaW4gSFRNTCBhdHRyaWJ1dGVzIGFuZCBjb21tZW50cyB3aGVuIGNvbGxlY3Rpbmcgc2NyZWVuc2hvdHNcIiwgKCkgPT4ge1xuICAgIGNvbnN0IG1hcmtkb3duID1cbiAgICAgICc8ZGV0YWlscyBkYXRhLWV4YW1wbGU9XCJgXCI+XFxuPHN1bW1hcnk+UHJvb2Y8L3N1bW1hcnk+XFxuPGltZyBzcmM9XCJodHRwczovL2V4YW1wbGUuY29tL3Nob3QucG5nXCIgYWx0PVwiU2NyZWVuc2hvdFwiPlxcbjwhLS0gYCAtLT5cXG48L2RldGFpbHM+JztcbiAgICBleHBlY3QobWFya2Rvd25IdG1sQ29udGVudChtYXJrZG93bikpLnRvQ29udGFpbihcbiAgICAgIFwiIVtTY3JlZW5zaG90XSg8aHR0cHM6Ly9leGFtcGxlLmNvbS9zaG90LnBuZz4pXCIsXG4gICAgKTtcbiAgICBleHBlY3QobWFya2Rvd25JbWFnZVNvdXJjZXMobWFya2Rvd24pKS50b0VxdWFsKFtcImh0dHBzOi8vZXhhbXBsZS5jb20vc2hvdC5wbmdcIl0pO1xuICAgIGV4cGVjdChtYXJrZG93bldpdGhIdG1sKG1hcmtkb3duKSkubm90LnRvQ29udGFpbihcIjxpbWdcIik7XG4gIH0pO1xuXG4gIGl0KFwicmVtb3ZlcyBib3QgbWV0YWRhdGEgYW5kIGRldGFpbHMgd3JhcHBlcnMgd2hpbGUga2VlcGluZyB0aGUgY29udGVudFwiLCAoKSA9PiB7XG4gICAgY29uc3QgbWFya2Rvd24gPVxuICAgICAgXCI8IS0tIGdlbmVyYXRlZCBib3QgbWV0YWRhdGEgLS0+XFxuPGRldGFpbHM+XFxuPHN1bW1hcnk+V2Fsa3Rocm91Z2g8L3N1bW1hcnk+XFxuXFxuIyMgQ2hhbmdlc1xcblxcblRleHRcXG5cXG48L2RldGFpbHM+XCI7XG4gICAgY29uc3QgcmVzdWx0ID0gbWFya2Rvd25XaXRoSHRtbChtYXJrZG93bik7XG4gICAgZXhwZWN0KHJlc3VsdCkubm90LnRvQ29udGFpbihcIjwhLS1cIik7XG4gICAgZXhwZWN0KHJlc3VsdCkubm90LnRvQ29udGFpbihcIjxkZXRhaWxzPlwiKTtcbiAgICBleHBlY3QocmVzdWx0KS50b0NvbnRhaW4oXCIqKldhbGt0aHJvdWdoKipcIik7XG4gICAgZXhwZWN0KHJlc3VsdCkudG9Db250YWluKFwiIyMgQ2hhbmdlc1wiKTtcbiAgICBleHBlY3QocGFyc2VNYXJrZG93bkRvY3VtZW50KG1hcmtkb3duKS5jaGlsZHJlbi5zb21lKChub2RlKSA9PiBub2RlLnR5cGUgPT09IFwiaHRtbFwiKSkudG9CZShcbiAgICAgIGZhbHNlLFxuICAgICk7XG4gIH0pO1xuXG4gIGl0KFwiY29sbGVjdHMgSFRNTCBhbmQgTWFya2Rvd24gc2NyZWVuc2hvdHMgd2hpbGUgbGVhdmluZyBpbmxpbmUgYW5kIGZlbmNlZCBjb2RlIGxpdGVyYWxcIiwgKCkgPT4ge1xuICAgIGNvbnN0IG1hcmtkb3duID1cbiAgICAgICdgYGBodG1sXFxuPGltZyBzcmM9XCJsaXRlcmFsLnBuZ1wiPlxcbmBgYFxcblxcblVzZSBgPGltZyBzcmM9XCJpbmxpbmUucG5nXCI+YCBoZXJlLlxcblxcbjxpbWcgc3JjPVwib25lLnBuZ1wiPlxcblxcbiFbVHdvXSh0d28ucG5nKVxcblxcbjxpbWcgc3JjPVwib25lLnBuZ1wiPic7XG4gICAgZXhwZWN0KG1hcmtkb3duSW1hZ2VTb3VyY2VzKG1hcmtkb3duKSkudG9FcXVhbChbXCJvbmUucG5nXCIsIFwidHdvLnBuZ1wiXSk7XG4gICAgY29uc3QgcmVzdWx0ID0gbWFya2Rvd25XaXRoSHRtbChtYXJrZG93bik7XG4gICAgZXhwZWN0KHJlc3VsdCkudG9Db250YWluKCdgYGBodG1sXFxuPGltZyBzcmM9XCJsaXRlcmFsLnBuZ1wiPlxcbmBgYCcpO1xuICAgIGV4cGVjdChyZXN1bHQpLnRvQ29udGFpbignYDxpbWcgc3JjPVwiaW5saW5lLnBuZ1wiPmAnKTtcbiAgfSk7XG5cbiAgaXQoXCJsaW5rcyBIVE1MIGFuY2hvcnMgaW4gYSB0YWJsZSBjZWxsIHdpdGhvdXQgYnJlYWtpbmcgdGhlIHJvdyBhdCA8YnI+XCIsICgpID0+IHtcbiAgICBjb25zdCBkb2N1bWVudCA9IHBhcnNlTWFya2Rvd25Eb2N1bWVudChcbiAgICAgIFwifCBTdGF0dXMgfCBQcmV2aWV3IFVSTCB8XFxufCAtIHwgLSB8XFxufCBEb25lIHwgPGEgaHJlZj0naHR0cHM6Ly9jb21taXQuZXhhbXBsZS5jb20nPkNvbW1pdDwvYT48YnI+PGEgaHJlZj0naHR0cHM6Ly9icmFuY2guZXhhbXBsZS5jb20nPkJyYW5jaDwvYT4gfFwiLFxuICAgICk7XG4gICAgY29uc3QgdGFibGUgPSBkb2N1bWVudC5jaGlsZHJlblswXTtcbiAgICBleHBlY3QodGFibGU/LnR5cGUpLnRvQmUoXCJ0YWJsZVwiKTtcbiAgICBpZiAodGFibGU/LnR5cGUgIT09IFwidGFibGVcIikgcmV0dXJuO1xuICAgIGV4cGVjdCh0YWJsZS5jaGlsZHJlbikudG9IYXZlTGVuZ3RoKDIpO1xuICAgIGV4cGVjdCh0YWJsZS5jaGlsZHJlblsxXT8uY2hpbGRyZW5bMV0/LmNoaWxkcmVuKS50b01hdGNoT2JqZWN0KFtcbiAgICAgIHsgdHlwZTogXCJsaW5rXCIsIHVybDogXCJodHRwczovL2NvbW1pdC5leGFtcGxlLmNvbVwiLCBjaGlsZHJlbjogW3sgdmFsdWU6IFwiQ29tbWl0XCIgfV0gfSxcbiAgICAgIHsgdHlwZTogXCJ0ZXh0XCIsIHZhbHVlOiBcIiBcIiB9LFxuICAgICAgeyB0eXBlOiBcImxpbmtcIiwgdXJsOiBcImh0dHBzOi8vYnJhbmNoLmV4YW1wbGUuY29tXCIsIGNoaWxkcmVuOiBbeyB2YWx1ZTogXCJCcmFuY2hcIiB9XSB9LFxuICAgIF0pO1xuICB9KTtcblxuICBpdChcImtlZXBzIGEgdGFibGUgcm93IGludGFjdCB3aGVuIGFuIGFuY2hvciBocmVmIGNvbnRhaW5zIGEgcGlwZVwiLCAoKSA9PiB7XG4gICAgY29uc3QgZG9jdW1lbnQgPSBwYXJzZU1hcmtkb3duRG9jdW1lbnQoXG4gICAgICBcInwgUHJldmlldyB8IExvZ3MgfFxcbnwgLSB8IC0gfFxcbnwgPGEgaHJlZj0naHR0cHM6Ly9leGFtcGxlLmNvbS8/YT0xJiMxMjQ7Mic+T3BlbjwvYT4gfCBkb25lIHxcIixcbiAgICApO1xuICAgIGNvbnN0IHRhYmxlID0gZG9jdW1lbnQuY2hpbGRyZW5bMF07XG4gICAgZXhwZWN0KHRhYmxlPy50eXBlKS50b0JlKFwidGFibGVcIik7XG4gICAgaWYgKHRhYmxlPy50eXBlICE9PSBcInRhYmxlXCIpIHJldHVybjtcbiAgICBleHBlY3QodGFibGUuY2hpbGRyZW5bMV0/LmNoaWxkcmVuKS50b01hdGNoT2JqZWN0KFtcbiAgICAgIHsgY2hpbGRyZW46IFt7IHR5cGU6IFwibGlua1wiLCB1cmw6IFwiaHR0cHM6Ly9leGFtcGxlLmNvbS8/YT0xJTdDMlwiIH1dIH0sXG4gICAgICB7IGNoaWxkcmVuOiBbeyB2YWx1ZTogXCJkb25lXCIgfV0gfSxcbiAgICBdKTtcbiAgfSk7XG5cbiAgaXQoXCJrZWVwcyBhbmNob3IgdGV4dCB1bmxpbmtlZCBmb3IgdW5zYWZlIGhyZWZzXCIsICgpID0+IHtcbiAgICBleHBlY3QobWFya2Rvd25XaXRoSHRtbCgnUnVuIDxhIGhyZWY9XCJqYXZhc2NyaXB0OmFsZXJ0KDEpXCI+dGhpczwvYT4gbm93JykpLnRvQmUoXCJSdW4gdGhpcyBub3dcIik7XG4gIH0pO1xufSk7XG4iXSwiZmlsZSI6Ii9zcmMvbGliL21hcmtkb3duSHRtbC50ZXN0LnRzIn0=

//# vitestCache=W3siZmlsZSI6IjEiLCJpZCI6IjEiLCJ1cmwiOiIyIiwiaW1wb3J0cyI6IjMiLCJtYXBwaW5ncyI6ZmFsc2UsImRlcHMiOiI0IiwiZHluYW1pY0RlcHMiOiI1Iiwic3RhdGljTW9ja3MiOm51bGx9LCIvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvYXBwcy9tb2JpbGUvc3JjL2xpYi9tYXJrZG93bkh0bWwudGVzdC50cyIsIi9zcmMvbGliL21hcmtkb3duSHRtbC50ZXN0LnRzIix7InVybHMiOiI2IiwiaWRzIjoiNyJ9LFsiOCIsIjkiLCIxMCJdLFtdLFsiOCIsIjkiLCIxMCJdLHt9LCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL25vZGVfbW9kdWxlcy8ucG5wbS92aXRlLXBsdXNAMS4zLjBfQGFzdHJvanMrY29tcGlsZXItcnNAMC41LjFfQHRzYy1ycyt0eXBlc2NyaXB0QDAuOC4wX0B0eXBlcytub2RlQDI0LjEyLjRfN2I0OGJjZGJiMzVlNmE4NmVlMjIzMGE2MTEyZDdjYmMvbm9kZV9tb2R1bGVzL3ZpdGUtcGx1cy9kaXN0L3Rlc3QvaW5kZXguanMiLCIvc3JjL2xpYi9tYXJrZG93bkRvY3VtZW50LnRzIiwiL3NyYy9saWIvbWFya2Rvd25JbWFnZVNvdXJjZXMudHMiXQ==