astro 0.22.10 → 0.22.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import npath from "path";
|
|
3
|
+
import { fileURLToPath } from "url";
|
|
4
|
+
function emptyDir(dir, skip) {
|
|
5
|
+
for (const file of fs.readdirSync(dir)) {
|
|
6
|
+
if (skip == null ? void 0 : skip.has(file)) {
|
|
7
|
+
continue;
|
|
8
|
+
}
|
|
9
|
+
const abs = npath.resolve(dir, file);
|
|
10
|
+
if (fs.lstatSync(abs).isDirectory()) {
|
|
11
|
+
emptyDir(abs);
|
|
12
|
+
fs.rmdirSync(abs);
|
|
13
|
+
} else {
|
|
14
|
+
fs.unlinkSync(abs);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function prepareOutDir(astroConfig) {
|
|
19
|
+
const outDir = fileURLToPath(astroConfig.dist);
|
|
20
|
+
if (fs.existsSync(outDir)) {
|
|
21
|
+
return emptyDir(outDir, new Set([".git"]));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
emptyDir,
|
|
26
|
+
prepareOutDir
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvcmUvYnVpbGQvZnMudHMiXSwKICAibWFwcGluZ3MiOiAiQUFFQTtBQUNBO0FBQ0E7QUFFTyxrQkFBa0IsS0FBYSxNQUEwQjtBQUMvRCxhQUFXLFFBQVEsR0FBRyxZQUFZLE1BQU07QUFDdkMsUUFBSSw2QkFBTSxJQUFJLE9BQU87QUFDcEI7QUFBQTtBQUVELFVBQU0sTUFBTSxNQUFNLFFBQVEsS0FBSztBQUUvQixRQUFJLEdBQUcsVUFBVSxLQUFLLGVBQWU7QUFDcEMsZUFBUztBQUNULFNBQUcsVUFBVTtBQUFBLFdBQ1A7QUFDTixTQUFHLFdBQVc7QUFBQTtBQUFBO0FBQUE7QUFLVix1QkFBdUIsYUFBMEI7QUFDdkQsUUFBTSxTQUFTLGNBQWMsWUFBWTtBQUN6QyxNQUFJLEdBQUcsV0FBVyxTQUFTO0FBQzFCLFdBQU8sU0FBUyxRQUFRLElBQUksSUFBSSxDQUFDO0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -9,6 +9,7 @@ import { rollupPluginAstroBuildCSS } from "../../vite-plugin-build-css/index.js"
|
|
|
9
9
|
import { getParamsAndProps } from "../ssr/index.js";
|
|
10
10
|
import { createResult } from "../ssr/result.js";
|
|
11
11
|
import { renderPage } from "../../runtime/server/index.js";
|
|
12
|
+
import { prepareOutDir } from "./fs.js";
|
|
12
13
|
function addPageName(pathname, opts) {
|
|
13
14
|
const pathrepl = opts.astroConfig.buildOptions.pageUrlFormat === "directory" ? "/index.html" : pathname === "/" ? "index.html" : ".html";
|
|
14
15
|
opts.pageNames.push(pathname.replace(/\/?$/, pathrepl).replace(/^\//, ""));
|
|
@@ -41,6 +42,7 @@ async function staticBuild(opts) {
|
|
|
41
42
|
facadeIdToPageDataMap.set(astroModuleId, pageData);
|
|
42
43
|
}
|
|
43
44
|
const internals = createBuildInternals();
|
|
45
|
+
prepareOutDir(astroConfig);
|
|
44
46
|
const [ssrResult] = await Promise.all([ssrBuild(opts, internals, pageInput), clientBuild(opts, internals, jsInput)]);
|
|
45
47
|
await generatePages(ssrResult, opts, internals, facadeIdToPageDataMap);
|
|
46
48
|
await cleanSsrOutput(opts);
|
|
@@ -51,7 +53,7 @@ async function ssrBuild(opts, internals, input) {
|
|
|
51
53
|
logLevel: "error",
|
|
52
54
|
mode: "production",
|
|
53
55
|
build: {
|
|
54
|
-
emptyOutDir:
|
|
56
|
+
emptyOutDir: false,
|
|
55
57
|
minify: false,
|
|
56
58
|
outDir: fileURLToPath(astroConfig.dist),
|
|
57
59
|
ssr: true,
|
|
@@ -112,17 +114,31 @@ async function clientBuild(opts, internals, input) {
|
|
|
112
114
|
base: astroConfig.buildOptions.site ? new URL(astroConfig.buildOptions.site).pathname : "/"
|
|
113
115
|
});
|
|
114
116
|
}
|
|
117
|
+
async function collectRenderers(opts) {
|
|
118
|
+
const pageData = Object.values(opts.allPages)[0];
|
|
119
|
+
const viteLoadedRenderers = pageData.preload[0];
|
|
120
|
+
const renderers = await Promise.all(viteLoadedRenderers.map(async (r) => {
|
|
121
|
+
const mod = await import(r.serverEntry);
|
|
122
|
+
return Object.create(r, {
|
|
123
|
+
ssr: {
|
|
124
|
+
value: mod.default
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
}));
|
|
128
|
+
return renderers;
|
|
129
|
+
}
|
|
115
130
|
async function generatePages(result, opts, internals, facadeIdToPageDataMap) {
|
|
116
131
|
debug(opts.logging, "generate", "End build step, now generating");
|
|
132
|
+
const renderers = await collectRenderers(opts);
|
|
117
133
|
const generationPromises = [];
|
|
118
134
|
for (let output of result.output) {
|
|
119
135
|
if (chunkIsPage(output, internals)) {
|
|
120
|
-
generationPromises.push(generatePage(output, opts, internals, facadeIdToPageDataMap));
|
|
136
|
+
generationPromises.push(generatePage(output, opts, internals, facadeIdToPageDataMap, renderers));
|
|
121
137
|
}
|
|
122
138
|
}
|
|
123
139
|
await Promise.all(generationPromises);
|
|
124
140
|
}
|
|
125
|
-
async function generatePage(output, opts, internals, facadeIdToPageDataMap) {
|
|
141
|
+
async function generatePage(output, opts, internals, facadeIdToPageDataMap, renderers) {
|
|
126
142
|
const { astroConfig } = opts;
|
|
127
143
|
let url = new URL("./" + output.fileName, astroConfig.dist);
|
|
128
144
|
const facadeId = output.facadeModuleId;
|
|
@@ -137,7 +153,8 @@ async function generatePage(output, opts, internals, facadeIdToPageDataMap) {
|
|
|
137
153
|
pageData,
|
|
138
154
|
internals,
|
|
139
155
|
linkIds,
|
|
140
|
-
Component
|
|
156
|
+
Component,
|
|
157
|
+
renderers
|
|
141
158
|
};
|
|
142
159
|
const renderPromises = pageData.paths.map((path) => {
|
|
143
160
|
return generatePath(path, opts, generationOptions);
|
|
@@ -146,9 +163,9 @@ async function generatePage(output, opts, internals, facadeIdToPageDataMap) {
|
|
|
146
163
|
}
|
|
147
164
|
async function generatePath(pathname, opts, gopts) {
|
|
148
165
|
const { astroConfig, logging, origin, pageNames, routeCache } = opts;
|
|
149
|
-
const { Component, internals, linkIds, pageData } = gopts;
|
|
166
|
+
const { Component, internals, linkIds, pageData, renderers } = gopts;
|
|
150
167
|
addPageName(pathname, opts);
|
|
151
|
-
const [
|
|
168
|
+
const [, mod] = pageData.preload;
|
|
152
169
|
try {
|
|
153
170
|
const [params, pageProps] = await getParamsAndProps({
|
|
154
171
|
route: pageData.route,
|
|
@@ -252,4 +269,4 @@ export {
|
|
|
252
269
|
staticBuild,
|
|
253
270
|
vitePluginNewBuild
|
|
254
271
|
};
|
|
255
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
272
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvcmUvYnVpbGQvc3RhdGljLWJ1aWxkLnRzIl0sCiAgIm1hcHBpbmdzIjogIkFBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWUEscUJBQXFCLFVBQWtCLE1BQWdDO0FBQ3RFLFFBQU0sV0FBVyxLQUFLLFlBQVksYUFBYSxrQkFBa0IsY0FBYyxnQkFBZ0IsYUFBYSxNQUFNLGVBQWU7QUFDakksT0FBSyxVQUFVLEtBQUssU0FBUyxRQUFRLFFBQVEsVUFBVSxRQUFRLE9BQU87QUFBQTtBQUl2RSxxQkFBcUIsUUFBbUMsV0FBMkI7QUFDbEYsTUFBSSxPQUFPLFNBQVMsU0FBUztBQUM1QixXQUFPO0FBQUE7QUFFUixRQUFNLFFBQVE7QUFDZCxTQUFPLE1BQU0sa0JBQW1CLFdBQVUsMEJBQTBCLElBQUksTUFBTSxtQkFBbUIsVUFBVSwwQkFBMEIsSUFBSSxNQUFNLE1BQU07QUFBQTtBQUd0SiwyQkFBa0MsTUFBMEI7QUFDM0QsUUFBTSxFQUFFLFVBQVUsZ0JBQWdCO0FBR2xDLFFBQU0sWUFBWSxJQUFJO0FBR3RCLFFBQU0sVUFBVSxJQUFJO0FBSXBCLFFBQU0sd0JBQXdCLElBQUk7QUFFbEMsYUFBVyxDQUFDLFdBQVcsYUFBYSxPQUFPLFFBQVEsV0FBVztBQUM3RCxVQUFNLENBQUMsV0FBVyxPQUFPLFNBQVM7QUFDbEMsVUFBTSxXQUFXLElBQUk7QUFFckIsVUFBTSxrQkFBa0IsSUFBSSxJQUFJO0FBQUEsTUFFL0IsR0FBRyxTQUFTO0FBQUEsTUFFWixHQUFHLFNBQVM7QUFBQSxNQUVaLEdBQUcsVUFBVSxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxRQUFRLElBQUksQ0FBQyxhQUFhLFNBQVM7QUFBQTtBQUdqRixlQUFXLGFBQWEsaUJBQWlCO0FBQ3hDLGNBQVEsSUFBSTtBQUFBO0FBR2IsUUFBSSxnQkFBZ0IsSUFBSSxJQUFJLE9BQU8sV0FBVyxZQUFZ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
|
package/dist/core/ssr/index.js
CHANGED
|
@@ -35,11 +35,12 @@ async function resolveRenderer(viteServer, renderer, astroConfig) {
|
|
|
35
35
|
resolvedRenderer.name = name;
|
|
36
36
|
if (client)
|
|
37
37
|
resolvedRenderer.source = path.posix.join(renderer, client);
|
|
38
|
+
resolvedRenderer.serverEntry = path.posix.join(renderer, server);
|
|
38
39
|
if (Array.isArray(hydrationPolyfills))
|
|
39
40
|
resolvedRenderer.hydrationPolyfills = hydrationPolyfills.map((src) => path.posix.join(renderer, src));
|
|
40
41
|
if (Array.isArray(polyfills))
|
|
41
42
|
resolvedRenderer.polyfills = polyfills.map((src) => path.posix.join(renderer, src));
|
|
42
|
-
const { url } = await viteServer.moduleGraph.ensureEntryFromUrl(
|
|
43
|
+
const { url } = await viteServer.moduleGraph.ensureEntryFromUrl(resolvedRenderer.serverEntry);
|
|
43
44
|
const { default: rendererSSR } = await viteServer.ssrLoadModule(url);
|
|
44
45
|
resolvedRenderer.ssr = rendererSSR;
|
|
45
46
|
const completedRenderer = resolvedRenderer;
|
|
@@ -227,4 +228,4 @@ export {
|
|
|
227
228
|
render,
|
|
228
229
|
ssr
|
|
229
230
|
};
|
|
230
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
231
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvcmUvc3NyL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxNQUFNLGlCQUFpQjtBQXVCdkIsTUFBTSxRQUFRLElBQUk7QUFHbEIsK0JBQStCLFlBQWdDLFVBQWtCLGFBQTBCO0FBQzFHLFFBQU0sbUJBQXdCO0FBSTlCLFFBQU07QUFBQSxJQUNMLFNBQVMsRUFBRSxNQUFNLFFBQVEsV0FBVyxvQkFBb0I7QUFBQSxNQUNyRCxNQUFNLE9BQU8sa0JBQWtCLFVBQVU7QUFFN0MsbUJBQWlCLE9BQU87QUFDeEIsTUFBSTtBQUFRLHFCQUFpQixTQUFTLEtBQUssTUFBTSxLQUFLLFVBQVU7QUFDaEUsbUJBQWlCLGNBQWMsS0FBSyxNQUFNLEtBQUssVUFBVTtBQUN6RCxNQUFJLE1BQU0sUUFBUTtBQUFxQixxQkFBaUIscUJBQXFCLG1CQUFtQixJQUFJLENBQUMsUUFBZ0IsS0FBSyxNQUFNLEtBQUssVUFBVTtBQUMvSSxNQUFJLE1BQU0sUUFBUTtBQUFZLHFCQUFpQixZQUFZLFVBQVUsSUFBSSxDQUFDLFFBQWdCLEtBQUssTUFBTSxLQUFLLFVBQVU7QUFDcEgsUUFBTSxFQUFFLFFBQVEsTUFBTSxXQUFXLFlBQVksbUJBQW1CLGlCQUFpQjtBQUNqRixRQUFNLEVBQUUsU0FBUyxnQkFBZ0IsTUFBTSxXQUFXLGNBQWM7QUFDaEUsbUJBQWlCLE1BQU07QUFFdkIsUUFBTSxvQkFBOEI7QUFDcEMsU0FBTztBQUFBO0FBR1IsZ0NBQWdDLFlBQWdDLGFBQStDO0FBQzlHLFFBQU0sTUFBZ0IsWUFBWTtBQUNsQyxRQUFNLFlBQVksTUFBTSxRQUFRLElBQy9CLElBQUksSUFBSSxDQUFDLGFBQWE7QUFDckIsUUFBSSxNQUFNLElBQUk7QUFBVyxhQUFPLE1BQU0sSUFBSTtBQUMxQyxRQUFJLFVBQVUsZ0JBQWdC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
|
|
@@ -253,6 +253,8 @@ export interface Renderer {
|
|
|
253
253
|
name: string;
|
|
254
254
|
/** Import statement for renderer */
|
|
255
255
|
source?: string;
|
|
256
|
+
/** Import statement for the server renderer */
|
|
257
|
+
serverEntry: string;
|
|
256
258
|
/** Scripts to be injected before component */
|
|
257
259
|
polyfills?: string[];
|
|
258
260
|
/** Polyfills that need to run before hydration ever occurs */
|
|
@@ -4,7 +4,8 @@ import { STYLE_EXTENSIONS } from "../core/ssr/css.js";
|
|
|
4
4
|
const PLUGIN_NAME = "@astrojs/rollup-plugin-build-css";
|
|
5
5
|
const ASTRO_STYLE_PREFIX = "@astro-inline-style";
|
|
6
6
|
const ASTRO_PAGE_STYLE_PREFIX = "@astro-page-all-styles";
|
|
7
|
-
const
|
|
7
|
+
const cssRe = new RegExp(`\\.(${Array.from(STYLE_EXTENSIONS).map((s) => s.slice(1)).join("|")})($|\\?)`);
|
|
8
|
+
const isCSSRequest = (request) => cssRe.test(request);
|
|
8
9
|
function getAstroPageStyleId(pathname) {
|
|
9
10
|
let styleId = ASTRO_PAGE_STYLE_PREFIX + pathname;
|
|
10
11
|
if (styleId.endsWith("/")) {
|
|
@@ -85,6 +86,8 @@ function rollupPluginAstroBuildCSS(options) {
|
|
|
85
86
|
chunkCSS += styleSourceMap.get(id);
|
|
86
87
|
}
|
|
87
88
|
}
|
|
89
|
+
if (!chunkCSS)
|
|
90
|
+
return null;
|
|
88
91
|
if (isPureCSS) {
|
|
89
92
|
internals.pureCSSChunks.add(chunk);
|
|
90
93
|
}
|
|
@@ -99,23 +102,44 @@ function rollupPluginAstroBuildCSS(options) {
|
|
|
99
102
|
});
|
|
100
103
|
internals.chunkToReferenceIdMap.set(chunk.fileName, referenceId);
|
|
101
104
|
if (chunk.type === "chunk") {
|
|
102
|
-
const
|
|
103
|
-
if (
|
|
104
|
-
|
|
105
|
+
const fileName = this.getFileName(referenceId);
|
|
106
|
+
if (chunk.facadeModuleId) {
|
|
107
|
+
const facadeId = chunk.facadeModuleId;
|
|
108
|
+
if (!internals.facadeIdToAssetsMap.has(facadeId)) {
|
|
109
|
+
internals.facadeIdToAssetsMap.set(facadeId, []);
|
|
110
|
+
}
|
|
111
|
+
internals.facadeIdToAssetsMap.get(facadeId).push(fileName);
|
|
105
112
|
}
|
|
106
|
-
internals.facadeIdToAssetsMap.get(facadeId).push(this.getFileName(referenceId));
|
|
107
113
|
}
|
|
108
114
|
return null;
|
|
109
115
|
},
|
|
110
116
|
generateBundle(opts, bundle) {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
117
|
+
const hasPureCSSChunks = internals.pureCSSChunks.size;
|
|
118
|
+
const pureChunkFilenames = new Set([...internals.pureCSSChunks].map((chunk) => chunk.fileName));
|
|
119
|
+
const emptyChunkFiles = [...pureChunkFilenames].map((file) => path.basename(file)).join("|").replace(/\./g, "\\.");
|
|
120
|
+
const emptyChunkRE = new RegExp(opts.format === "es" ? `\\bimport\\s*"[^"]*(?:${emptyChunkFiles})";
|
|
115
121
|
?` : `\\brequire\\(\\s*"[^"]*(?:${emptyChunkFiles})"\\);
|
|
116
122
|
?`, "g");
|
|
117
|
-
|
|
118
|
-
|
|
123
|
+
for (const [chunkId, chunk] of Object.entries(bundle)) {
|
|
124
|
+
if (chunk.type === "chunk") {
|
|
125
|
+
if (chunk.facadeModuleId) {
|
|
126
|
+
if (!internals.facadeIdToAssetsMap.has(chunk.facadeModuleId)) {
|
|
127
|
+
internals.facadeIdToAssetsMap.set(chunk.facadeModuleId, []);
|
|
128
|
+
}
|
|
129
|
+
const assets = internals.facadeIdToAssetsMap.get(chunk.facadeModuleId);
|
|
130
|
+
const assetSet = new Set(assets);
|
|
131
|
+
for (const imp of chunk.imports) {
|
|
132
|
+
if (internals.chunkToReferenceIdMap.has(imp) && !pureChunkFilenames.has(imp)) {
|
|
133
|
+
const referenceId = internals.chunkToReferenceIdMap.get(imp);
|
|
134
|
+
const fileName = this.getFileName(referenceId);
|
|
135
|
+
if (!assetSet.has(fileName)) {
|
|
136
|
+
assetSet.add(fileName);
|
|
137
|
+
assets.push(fileName);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
if (hasPureCSSChunks) {
|
|
119
143
|
if (internals.pureCSSChunks.has(chunk)) {
|
|
120
144
|
delete bundle[chunkId];
|
|
121
145
|
} else {
|
|
@@ -133,4 +157,4 @@ export {
|
|
|
133
157
|
getAstroStylePathFromId,
|
|
134
158
|
rollupPluginAstroBuildCSS
|
|
135
159
|
};
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3ZpdGUtcGx1Z2luLWJ1aWxkLWNzcy9pbmRleC50cyJdLAogICJtYXBwaW5ncyI6ICJBQUdBO0FBQ0E7QUFFQTtBQUVBLE1BQU0sY0FBYztBQUdwQixNQUFNLHFCQUFxQjtBQUUzQixNQUFNLDBCQUEwQjtBQUVoQyxNQUFNLFFBQVEsSUFBSSxPQUNqQixPQUFPLE1BQU0sS0FBSyxrQkFDaEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLElBQ25CLEtBQUs7QUFFUixNQUFNLGVBQWUsQ0FBQyxZQUE2QixNQUFNLEtBQUs7QUFFdkQsNkJBQTZCLFVBQWtCO0FBQ3JELE1BQUksVUFBVSwwQkFBMEI7QUFDeEMsTUFBSSxRQUFRLFNBQVMsTUFBTTtBQUMxQixlQUFXO0FBQUE7QUFFWixhQUFXO0FBQ1gsU0FBTztBQUFBO0FBR0QseUJBQXlCLFVBQWtCO0FBQ2pELE1BQUksVUFBVSxxQkFBcUI7QUFDbkMsTUFBSSxRQUFRLFNBQVMsTUFBTTtBQUMxQixlQUFXO0FBQUE7QUFFWixTQUFPO0FBQUE7QUFHRCxpQ0FBaUMsSUFBWTtBQUNuRCxTQUFPLEdBQUcsT0FBTyxtQkFBbUIsU0FBUztBQUFBO0FBRzlDLDhCQUE4QixJQUFZO0FBQ3pDLFNBQU8sR0FBRyxXQUFXO0FBQUE7QUFHdEIsa0NBQWtDLElBQVk7QUFDN0MsU0FBTyxHQUFHLFdBQVc7QUFBQTtBQU9mLG1DQUFtQyxTQUFvQztBQUM3RSxRQUFNLEVBQUUsY0FBYztBQUN0QixRQUFNLGlCQUFpQixJQUFJO0FBRTNCLFNBQU87QUFBQSxJQUNOLE1BQU07QUFBQSxJQUVOLGVBQWUsZ0JBQWdCO0FBSzlCLFlBQU0sVUFBVSxlQUFlO0FBQy9CLFlBQU0sbUJBQW1CLGVBQWUsUUFBUSxVQUFVLENBQUMsTUFBTSxFQUFFLFNBQVM7QUFDNUUsVUFBSSxxQkFBcUIsSUFBSTtBQUM1QixjQUFNLGNBQWMsUUFBUTtBQUc1QixlQUFPLFlBQVk7QUFDbkIsZUFBTyxZQUFZO0FBR25CLGNBQU0s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
|