修改图片下载脚本

This commit is contained in:
2026-09-16 12:28:06 +08:00
parent 36b6012809
commit 706463d12f
3 changed files with 413 additions and 32 deletions
+69 -15
View File
@@ -1,5 +1,5 @@
import { createHash } from "node:crypto"; import { createHash } from "node:crypto";
import { mkdir, readFile, readdir, writeFile } from "node:fs/promises"; import { access, mkdir, readFile, readdir, writeFile } from "node:fs/promises";
import path from "node:path"; import path from "node:path";
import { fileURLToPath } from "node:url"; import { fileURLToPath } from "node:url";
@@ -9,6 +9,36 @@ const outputRoot = path.join(root, "public", "media", "news");
const manifestPath = path.join(root, "src", "lib", "image-map.generated.ts"); const manifestPath = path.join(root, "src", "lib", "image-map.generated.ts");
const remoteUrlPattern = /https?:\/\/[^\s)>'"]+/g; const remoteUrlPattern = /https?:\/\/[^\s)>'"]+/g;
const imageExtensionPattern = /\.(?:avif|gif|jpe?g|png|svg|webp)(?:[?#].*)?$/i; const imageExtensionPattern = /\.(?:avif|gif|jpe?g|png|svg|webp)(?:[?#].*)?$/i;
const browserHeaders = {
"accept": "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8",
"accept-language": "zh-CN,zh;q=0.9,en;q=0.8",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",
};
const requestTimeoutMs = 30000;
const maxAttempts = 3;
function wait(milliseconds) {
return new Promise((resolve) => setTimeout(resolve, milliseconds));
}
async function readCachedImageMap() {
try {
const source = await readFile(manifestPath, "utf8");
const match = source.match(/imageMap: Record<string, string> = (\{[\s\S]*\});\s*$/);
return match ? JSON.parse(match[1]) : {};
} catch {
return {};
}
}
async function cachedFileExists(imagePath) {
try {
await access(path.join(root, "public", imagePath.replace(/^\//, "")));
return true;
} catch {
return false;
}
}
async function collectMarkdownFiles(directory) { async function collectMarkdownFiles(directory) {
const entries = await readdir(directory, { withFileTypes: true }); const entries = await readdir(directory, { withFileTypes: true });
@@ -36,20 +66,36 @@ function getExtension(url, contentType) {
} }
async function downloadImage(url) { async function downloadImage(url) {
const response = await fetch(url, { let lastError;
redirect: "follow",
signal: AbortSignal.timeout(15000),
});
if (!response.ok) throw new Error(`${response.status} ${response.statusText}`);
const contentType = response.headers.get("content-type") || "application/octet-stream"; for (let attempt = 1; attempt <= maxAttempts; attempt += 1) {
if (!contentType.startsWith("image/")) throw new Error(`unexpected content type ${contentType}`); try {
const response = await fetch(url, {
redirect: "follow",
headers: browserHeaders,
signal: AbortSignal.timeout(requestTimeoutMs),
});
if (!response.ok) throw new Error(`${response.status} ${response.statusText}`);
const bytes = Buffer.from(await response.arrayBuffer()); const contentType = response.headers.get("content-type") || "application/octet-stream";
const hash = createHash("sha256").update(bytes).digest("hex").slice(0, 16); if (!contentType.startsWith("image/")) throw new Error(`unexpected content type ${contentType}`);
const fileName = `${hash}${getExtension(url, contentType)}`;
await writeFile(path.join(outputRoot, fileName), bytes); const bytes = Buffer.from(await response.arrayBuffer());
return `/media/news/${fileName}`; const hash = createHash("sha256").update(bytes).digest("hex").slice(0, 16);
const fileName = `${hash}${getExtension(url, contentType)}`;
await writeFile(path.join(outputRoot, fileName), bytes);
return `/media/news/${fileName}`;
} catch (error) {
lastError = error;
if (attempt < maxAttempts) {
const retryDelayMs = attempt * 2000;
console.warn(`[cache-images] retrying ${url} in ${retryDelayMs / 1000}s (attempt ${attempt + 1}/${maxAttempts})`);
await wait(retryDelayMs);
}
}
}
throw lastError;
} }
const markdownFiles = await collectMarkdownFiles(contentRoot); const markdownFiles = await collectMarkdownFiles(contentRoot);
@@ -63,14 +109,22 @@ for (const filePath of markdownFiles) {
} }
await mkdir(outputRoot, { recursive: true }); await mkdir(outputRoot, { recursive: true });
const previousImageMap = await readCachedImageMap();
const imageMap = {}; const imageMap = {};
let failed = 0; let failed = 0;
let reused = 0;
const urls = [...remoteUrls]; const urls = [...remoteUrls];
const concurrency = 8; const concurrency = Math.max(1, Number.parseInt(process.env.CACHE_IMAGES_CONCURRENCY || "3", 10) || 3);
for (let index = 0; index < urls.length; index += concurrency) { for (let index = 0; index < urls.length; index += concurrency) {
const batch = urls.slice(index, index + concurrency); const batch = urls.slice(index, index + concurrency);
await Promise.all(batch.map(async (url) => { await Promise.all(batch.map(async (url) => {
try { try {
const cachedPath = previousImageMap[url];
if (cachedPath && await cachedFileExists(cachedPath)) {
imageMap[url] = cachedPath;
reused += 1;
return;
}
imageMap[url] = await downloadImage(url); imageMap[url] = await downloadImage(url);
} catch (error) { } catch (error) {
failed += 1; failed += 1;
@@ -81,4 +135,4 @@ for (let index = 0; index < urls.length; index += concurrency) {
const generated = `// Generated by scripts/cache-images.mjs. Do not edit.\nexport const imageMap: Record<string, string> = ${JSON.stringify(imageMap, null, 2)};\n`; const generated = `// Generated by scripts/cache-images.mjs. Do not edit.\nexport const imageMap: Record<string, string> = ${JSON.stringify(imageMap, null, 2)};\n`;
await writeFile(manifestPath, generated, "utf8"); await writeFile(manifestPath, generated, "utf8");
console.log(`[cache-images] cached ${Object.keys(imageMap).length}/${remoteUrls.size} images${failed ? `; ${failed} failed` : ""}`); console.log(`[cache-images] cached ${Object.keys(imageMap).length}/${remoteUrls.size} images; reused ${reused}${failed ? `; ${failed} failed` : ""}`);
+3 -3
View File
@@ -8,10 +8,10 @@ type ThemePreference = "light" | "system" | "dark";
type ResolvedTheme = "light" | "dark"; type ResolvedTheme = "light" | "dark";
function getInitialThemePreference(): ThemePreference { function getInitialThemePreference(): ThemePreference {
if (typeof window === "undefined") return "light"; if (typeof window === "undefined") return "system";
const savedTheme = window.localStorage.getItem("kr-theme"); const savedTheme = window.localStorage.getItem("kr-theme");
return savedTheme === "light" || savedTheme === "system" || savedTheme === "dark" ? savedTheme : "light"; return savedTheme === "light" || savedTheme === "system" || savedTheme === "dark" ? savedTheme : "system";
} }
function resolveTheme(preference: ThemePreference): ResolvedTheme { function resolveTheme(preference: ThemePreference): ResolvedTheme {
@@ -27,7 +27,7 @@ function applyTheme(preference: ThemePreference) {
} }
export function ThemeToggle() { export function ThemeToggle() {
const [themePreference, setThemePreference] = useState<ThemePreference>("light"); const [themePreference, setThemePreference] = useState<ThemePreference>("system");
const [locale, setLocale] = useState<Locale>("zh-CN"); const [locale, setLocale] = useState<Locale>("zh-CN");
useEffect(() => { useEffect(() => {
+341 -14
View File
@@ -1,35 +1,362 @@
// Generated by scripts/cache-images.mjs. Do not edit. // Generated by scripts/cache-images.mjs. Do not edit.
export const imageMap: Record<string, string> = { export const imageMap: Record<string, string> = {
"https://assets.kivotos.cc/image/2025/05/01/68137fa6a70de.jpg": "/media/news/897d764a65897170.jpg", "https://assets.kivotos.cc/image/2025/05/01/68137fa6a70de.jpg": "/media/news/897d764a65897170.jpg",
"https://assets.kivotos.cc/image/2025/05/01/68137fb192614.jpg": "/media/news/852dd5b369bf377d.jpg",
"https://assets.kivotos.cc/image/2025/05/01/68137fffd1a19.png": "/media/news/7ae2b8fba574195b.png",
"https://assets.kivotos.cc/image/2025/05/01/68137ff194540.png": "/media/news/7f7c61ff4b22140d.png",
"https://assets.kivotos.cc/image/2025/05/01/68137ffd40a9c.png": "/media/news/faa9264b9cbf052b.png",
"https://assets.kivotos.cc/image/2025/05/01/68137f9cf1f48.png": "/media/news/8ecb7a6b90f318e0.png", "https://assets.kivotos.cc/image/2025/05/01/68137f9cf1f48.png": "/media/news/8ecb7a6b90f318e0.png",
"https://assets.kivotos.cc/image/2025/05/01/68137fb192614.jpg": "/media/news/852dd5b369bf377d.jpg",
"https://assets.kivotos.cc/image/2025/05/01/68137ff194540.png": "/media/news/7f7c61ff4b22140d.png",
"https://assets.kivotos.cc/image/2025/05/01/68137ffa67186.png": "/media/news/acd56aafe8b41f05.png", "https://assets.kivotos.cc/image/2025/05/01/68137ffa67186.png": "/media/news/acd56aafe8b41f05.png",
"https://assets.kivotos.cc/image/2025/05/01/68137ffd40a9c.png": "/media/news/faa9264b9cbf052b.png",
"https://assets.kivotos.cc/image/2025/05/01/68137fffd1a19.png": "/media/news/7ae2b8fba574195b.png",
"https://s21.ax1x.com/2024/09/20/pAMSLRJ.png": "/media/news/02882b262ac53ec2.png", "https://s21.ax1x.com/2024/09/20/pAMSLRJ.png": "/media/news/02882b262ac53ec2.png",
"https://assets.kivotos.cc/image/2025/05/01/6813812298936.png": "/media/news/d699056d1f6db7a2.png", "https://assets.kivotos.cc/image/2025/05/01/6813812298936.png": "/media/news/d699056d1f6db7a2.png",
"https://assets.kivotos.cc/image/2025/05/01/68138139aebaa.png": "/media/news/98624e564af6bed8.png",
"https://assets.kivotos.cc/image/2025/05/01/681381518e5b7.png": "/media/news/e1ff2fb0e0402a83.png", "https://assets.kivotos.cc/image/2025/05/01/681381518e5b7.png": "/media/news/e1ff2fb0e0402a83.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece50d760f8.png": "/media/news/625c4eff0e6c3206.png", "https://assets.kivotos.cc/image/2025/05/01/68138160852c9.png": "/media/news/b6eb27ef507a2b9e.png",
"https://act-webstatic.blueakio.com/2024/09/02/66d5aa3ec90e7.png": "/media/news/b4f9acbed6c5862d.png",
"https://act-webstatic.blueakio.com/2024/09/02/66d5aa59e9e48.png": "/media/news/9db15910e2066cc6.png",
"https://act-webstatic.blueakio.com/2024/09/02/66d5aa5e6daa0.png": "/media/news/dfe82f9c698ee2d7.png",
"https://act-webstatic.blueakio.com/2024/09/02/66d5aa274438d.png": "/media/news/92cedd55d367143b.png",
"https://act-webstatic.blueakio.com/2024/09/02/66d5a983f0fa2.png": "/media/news/eb33d87cb63797e1.png",
"https://act-webstatic.blueakio.com/2024/09/02/66d5a9c6795e5.png": "/media/news/4e4bedb49ec665e7.png",
"https://act-webstatic.blueakio.com/2024/09/02/66d5a9bf274d7.png": "/media/news/06b1eb534d33cc1e.png",
"https://act-webstatic.blueakio.com/2024/09/06/66d9e44fc1e5a.png": "/media/news/38f5901aeea9ef3a.png",
"https://act-webstatic.blueakio.com/2024/09/06/66d9e45941be9.png": "/media/news/566a69c460cc4032.png",
"https://act-webstatic.blueakio.com/2024/09/02/66d5a9d907988.png": "/media/news/84e18c67de16cf60.png",
"https://act-webstatic.blueakio.com/2024/09/06/66d9e460f1c7f.png": "/media/news/95b12e2503afef7d.png",
"https://act-webstatic.blueakio.com/2024/09/06/66d9e45dd432d.png": "/media/news/0684cf771c71f9f8.png",
"https://assets.kivotos.cc/image/2025/05/01/681381dc97d4a.png": "/media/news/eac328cdfa42434e.png",
"https://assets.kivotos.cc/image/2025/05/01/681381f3e0c10.png": "/media/news/91a7a01bac9589c0.png",
"https://assets.kivotos.cc/image/2025/05/01/6813820c3ca08.png": "/media/news/4507932ee4d22937.png",
"https://assets.kivotos.cc/image/2025/05/01/6813821f12584.png": "/media/news/d1022089ff7a4f76.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece5e60b51a.png": "/media/news/d4c45eb6f09199e4.png",
"https://assets.kivotos.cc/image/2025/05/01/6813822ecb0f7.png": "/media/news/14f933cc05aecab2.png",
"https://s21.ax1x.com/2024/10/04/pA81gB9.png": "/media/news/ea557d0dea5aae71.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece5bf02f1a.png": "/media/news/3722865dc9c30123.png",
"https://s21.ax1x.com/2024/10/05/pA8rGcj.png": "/media/news/4f8597cdbc2ecb6b.png",
"https://s21.ax1x.com/2024/10/05/pA8rl4S.png": "/media/news/51070a69a593443f.png",
"https://s21.ax1x.com/2024/10/05/pA8r04U.png": "/media/news/402480ab2ebae6bc.png",
"https://s21.ax1x.com/2024/10/05/pA8rUH0.png": "/media/news/6f5cbb313dc26146.png",
"https://s21.ax1x.com/2024/10/05/pA8rsgJ.png": "/media/news/57bb0ce0363e1830.png",
"https://s21.ax1x.com/2024/10/05/pA8ryv9.png": "/media/news/68e62f9a4f5de6c5.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece66e655f6.png": "/media/news/5843ad5b3e29159f.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece63a0a4c4.png": "/media/news/dae63b4a22deedba.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece6b21647a.png": "/media/news/cd51c131f9878290.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece67f3c480.png": "/media/news/71d420ee1df1ce60.png",
"https://s21.ax1x.com/2024/10/05/pA8rQN8.png": "/media/news/8da7b08b8e0056d1.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece6e24cd18.png": "/media/news/1cd8ab8c26c5f014.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece6bdf3ce5.png": "/media/news/a9171b9d52566f87.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece6f38178d.png": "/media/news/fc16a00786376302.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece40c0bc76.png": "/media/news/8419859923ddbe8f.png", "https://assets.kivotos.cc/image/2025/04/02/67ece40c0bc76.png": "/media/news/8419859923ddbe8f.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece6fe9eb98.png": "/media/news/e99b2908504287f8.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece614eabb4.png": "/media/news/2eb5d4c449717ea0.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece50d760f8.png": "/media/news/625c4eff0e6c3206.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece4ae154f8.png": "/media/news/dccfdf638971d4d3.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece44dddd9e.png": "/media/news/f7ad257e7184f398.png",
"https://assets.kivotos.cc/image/2025/04/02/67ecdfbf7e858.png": "/media/news/26f4a1313bbcf030.png", "https://assets.kivotos.cc/image/2025/04/02/67ecdfbf7e858.png": "/media/news/26f4a1313bbcf030.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece09679841.png": "/media/news/7eac89af2835b121.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece0744a8ec.png": "/media/news/339ab732c9cf89e3.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece0a444012.png": "/media/news/4957e679cd0a6152.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece0b2286b8.png": "/media/news/3f1d477aeda8c52b.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece0e15581e.png": "/media/news/b506fd5f8731a3a0.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece0e384f9f.png": "/media/news/67df4f3398938f87.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece0e5aa80b.png": "/media/news/db9fbd3b771b3aa8.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece150376df.png": "/media/news/dbab02b083cefaf4.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece1c5c1e3e.png": "/media/news/166c172b835b17e6.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece1a3a7e01.png": "/media/news/a215236f40982483.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece1c0e1675.png": "/media/news/c334caad31d46c05.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece37ac950c.png": "/media/news/e8e988c8d5545385.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece3770cb06.png": "/media/news/3d57d25d49bb9d0f.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece34ca6e2e.png": "/media/news/112c35650459646f.png",
"https://assets.kivotos.cc/image/2025/04/02/67ecf1b42ef19.png": "/media/news/f51e4ded0e8d6b85.png", "https://assets.kivotos.cc/image/2025/04/02/67ecf1b42ef19.png": "/media/news/f51e4ded0e8d6b85.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece37e87901.png": "/media/news/bd83aec60a68c1a2.png",
"https://assets.kivotos.cc/image/2025/04/02/67ece38264657.png": "/media/news/fecd7af5809e9a9a.png",
"https://assets.kivotos.cc/image/2025/05/01/681383251064b.png": "/media/news/41d7773d2c487016.png",
"https://assets.kivotos.cc/image/2025/05/01/6813832e5fe27.png": "/media/news/ffaa56cbac7043ba.png",
"https://assets.kivotos.cc/image/2025/05/01/6813832b06dc1.png": "/media/news/466ce55372cce499.png",
"https://assets.kivotos.cc/image/2025/05/01/68138348e5077.png": "/media/news/8dc7a148d0e718d4.png",
"https://assets.kivotos.cc/image/2025/05/01/681383694f2de.png": "/media/news/f28a1bc8c431dd7c.png",
"https://assets.kivotos.cc/image/2025/05/01/6813836dde20c.png": "/media/news/f6989b721289660a.png",
"https://assets.kivotos.cc/image/2025/05/01/681383772392f.png": "/media/news/bfbe94a452de3b05.png",
"https://assets.kivotos.cc/image/2025/05/01/6813837535401.png": "/media/news/a750e44dc735fd74.png",
"https://assets.kivotos.cc/image/2025/01/07/677d16a21da4c.png": "/media/news/9e3cba51761fc108.png", "https://assets.kivotos.cc/image/2025/01/07/677d16a21da4c.png": "/media/news/9e3cba51761fc108.png",
"https://assets.kivotos.cc/image/2025/01/14/6785481e73832.png": "/media/news/694e30e5ce74b863.png", "https://assets.kivotos.cc/image/2025/05/01/681383a3791df.png": "/media/news/4efe13902da2b983.png",
"https://assets.kivotos.cc/image/2025/05/01/6813839f24de4.png": "/media/news/0f8b35e3c5c0cce5.png",
"https://assets.kivotos.cc/image/2025/04/02/67ecf0afe5453.png": "/media/news/d23f3ef2f3c7b4a8.png",
"https://assets.kivotos.cc/image/2025/02/17/67b20e14d2e42.png": "/media/news/c3ab207db385ddd7.png", "https://assets.kivotos.cc/image/2025/02/17/67b20e14d2e42.png": "/media/news/c3ab207db385ddd7.png",
"https://assets.kivotos.cc/image/2025/05/01/681383a707827.png": "/media/news/16e4c740e017665c.png",
"https://assets.kivotos.cc/image/2025/04/02/67ecf0d2aaada.png": "/media/news/aaf892635dcb4c44.png",
"https://assets.kivotos.cc/image/2025/04/02/67ecf0cdeb1ab.png": "/media/news/96d6cef8c5844f3b.png",
"https://assets.kivotos.cc/image/2025/04/02/67ecf0d69f4e6.png": "/media/news/fa9c0dbe0bf0cbcc.png",
"https://assets.kivotos.cc/image/2025/01/14/6785481e73832.png": "/media/news/694e30e5ce74b863.png",
"https://assets.kivotos.cc/image/2025/04/02/67ecf10216b9b.png": "/media/news/546c8e735e4395c5.png",
"https://assets.kivotos.cc/image/2025/04/02/67ecf0fd4c756.png": "/media/news/1ffddb4203711b79.png",
"https://assets.kivotos.cc/image/2025/04/02/67ecf11e67858.png": "/media/news/0cd65ab1def62d53.png",
"https://assets.kivotos.cc/image/2025/04/02/67ecf10466a75.png": "/media/news/a6091433ac6e3cb7.png",
"https://assets.kivotos.cc/image/2025/04/02/67ecf142c4936.png": "/media/news/73036f5e18241ac8.png",
"https://assets.kivotos.cc/image/2025/04/02/67ecf1de268bb.png": "/media/news/f795e9ed3568bcbb.png",
"https://assets.kivotos.cc/image/2025/04/02/67ecf1fc1c580.png": "/media/news/716fcfb9bcf3c07c.png",
"https://assets.kivotos.cc/image/2025/04/13/67fbd0179845c.png": "/media/news/ea0fdc1477af6382.png",
"https://assets.kivotos.cc/image/2025/05/02/6814bfa30e5c5.png": "/media/news/e23938e7fee6e779.png",
"https://assets.kivotos.cc/image/2025/05/02/681483588a0ba.png": "/media/news/6c8c33c4799a6f5e.png",
"https://assets.kivotos.cc/image/2025/05/02/681483566ad87.png": "/media/news/b33f9d5c7d8cc94f.png",
"https://assets.kivotos.cc/image/2025/05/02/6814820b504f1.png": "/media/news/b657032733c432c2.png",
"https://assets.kivotos.cc/image/2025/05/02/68148208d09f5.png": "/media/news/2885cf372f7bc72b.png",
"https://assets.kivotos.cc/image/2025/05/02/681482056d4f4.png": "/media/news/2ad3dfac91afba5c.png",
"https://assets.kivotos.cc/image/2025/05/02/681482086bcdc.png": "/media/news/ebd37c64037cc90b.png",
"https://assets.kivotos.cc/image/2025/05/02/681482832eeba.png": "/media/news/2a0af8b175cbe799.png",
"https://assets.kivotos.cc/image/2025/05/02/6814828796dfa.png": "/media/news/6ea184532c3ce1f5.png",
"https://assets.kivotos.cc/image/2025/05/02/6814827ce1a5c.png": "/media/news/54bbb8c2d4c593c6.png",
"https://assets.kivotos.cc/image/2025/05/02/6814d9d865062.png": "/media/news/150087a73910a6b2.png",
"https://assets.kivotos.cc/image/2025/05/02/6814828c381d4.png": "/media/news/30923ed87578f41f.png",
"https://assets.kivotos.cc/image/2025/05/02/681488996176e.png": "/media/news/46b297c946b52f42.png",
"https://assets.kivotos.cc/image/2025/05/02/6814889d1a090.png": "/media/news/b96d409842841d9c.png",
"https://assets.kivotos.cc/image/2025/05/02/6814889e60e72.png": "/media/news/712ed285d4b07a3b.png",
"https://assets.kivotos.cc/image/2025/05/02/6814889b4af90.png": "/media/news/5ea6813849d9a24c.png",
"https://assets.kivotos.cc/image/2025/05/02/6814d490aeca3.png": "/media/news/be938a35675bdb84.png",
"https://assets.kivotos.cc/image/2025/05/02/6814d4d7d3e07.png": "/media/news/eaac7a6d0f470b85.png",
"https://assets.kivotos.cc/image/2025/05/02/6814d4c78e2c1.png": "/media/news/16bc3ac4e4724f52.png",
"https://assets.kivotos.cc/image/2025/05/02/6814d6bb5d8e6.jpg": "/media/news/33363dc78ae33ffa.jpg",
"https://assets.kivotos.cc/image/2025/05/02/681486cfd1004.png": "/media/news/233e6040ab0ff695.png",
"https://assets.kivotos.cc/image/2025/05/02/681486ce569fa.png": "/media/news/6ac5f82df1eea922.png",
"https://assets.kivotos.cc/image/2025/05/02/6814d716e9a10.png": "/media/news/1533f49311bb8b72.png",
"https://assets.kivotos.cc/image/2025/05/02/681486d3106a3.png": "/media/news/1c9c0d706e952539.png",
"https://assets.kivotos.cc/image/2025/05/02/681486d150039.png": "/media/news/0fa030ff10810d7b.png",
"https://assets.kivotos.cc/image/2025/06/07/684316e5df408.png": "/media/news/8f1ab55c0544b265.png",
"https://assets.kivotos.cc/image/2025/06/06/6842b77cae39d.png": "/media/news/9bf88b70ea9f8a3d.png",
"https://assets.kivotos.cc/image/2025/06/06/6842b77a626b9.png": "/media/news/980778e98ad3307e.png",
"https://assets.kivotos.cc/image/2025/06/07/684319a2a4024.png": "/media/news/5dcdff112c37f5fc.png",
"https://assets.kivotos.cc/image/2025/06/07/684319a1b696f.png": "/media/news/a92920e1d67b013b.png",
"https://assets.kivotos.cc/image/2025/06/07/684315911ed76.png": "/media/news/51b71bb00b4718f8.png",
"https://assets.kivotos.cc/image/2025/06/07/684315b7983ad.png": "/media/news/eed35ab2631d2354.png",
"https://assets.kivotos.cc/image/2025/07/08/686d24bbc4f54.png": "/media/news/1fd9859d66aa9f68.png",
"https://assets.kivotos.cc/image/2025/07/08/686d3f25112a6.png": "/media/news/5e384caae008fa5e.png",
"https://assets.kivotos.cc/image/2025/07/08/686d24d47f7b4.png": "/media/news/39af6928c72c8f60.png",
"https://assets.kivotos.cc/image/2025/07/08/686d25150ef91.png": "/media/news/a36fb321fc859438.png",
"https://assets.kivotos.cc/image/2025/07/08/686d24d9e30f2.png": "/media/news/3948260acc29418e.png",
"https://assets.kivotos.cc/image/2025/07/10/686e99199ea06.png": "/media/news/4a2062ab4aa04329.png",
"https://assets.kivotos.cc/image/2025/07/08/686d24e273a5f.png": "/media/news/3e96780a8c6b5d0e.png",
"https://assets.kivotos.cc/image/2025/07/10/686e9b358cdb6.png": "/media/news/4ea1b3e896942376.png",
"https://assets.kivotos.cc/image/2025/07/10/686e991fd579e.png": "/media/news/07bf3a6c992af736.png",
"https://assets.kivotos.cc/image/2025/07/10/686e9c5cefe3d.png": "/media/news/67421a4631768b27.png",
"https://assets.kivotos.cc/image/2025/07/10/686e9926450b7.png": "/media/news/39c0efd1bafa241c.png",
"https://assets.kivotos.cc/image/2025/07/10/686e9c6c64eaf.png": "/media/news/cdf93a69e3951054.png",
"https://assets.kivotos.cc/image/2025/07/10/686e9c6699f3d.png": "/media/news/e23a630c2faf2493.png",
"https://assets.kivotos.cc/image/2025/07/10/686e9c7153c7a.png": "/media/news/65f7c92b29060861.png",
"https://assets.kivotos.cc/image/2025/08/13/689c907abe2e6.png": "/media/news/439c0ec9026eb6f7.png",
"https://assets.kivotos.cc/image/2025/08/13/689c90761d641.png": "/media/news/cb14b60ac1b54d73.png",
"https://assets.kivotos.cc/image/2025/08/09/6896fda24e3b2.png": "/media/news/f01f4ffedaf14224.png",
"https://assets.kivotos.cc/image/2025/08/13/689c907eefb59.png": "/media/news/ccc6b8227e766336.png",
"https://assets.kivotos.cc/image/2025/08/13/689c90839ea45.png": "/media/news/457f71bdc74a1297.png",
"https://assets.kivotos.cc/image/2025/08/13/689c8fe11f32f.png": "/media/news/ec6f9a86e20e3371.png",
"https://assets.kivotos.cc/image/2025/08/09/6896e05b26cdf.png": "/media/news/1af7e72ec503b0c4.png",
"https://assets.kivotos.cc/image/2025/08/13/689c8fe585607.png": "/media/news/0e322059b446863a.png",
"https://assets.kivotos.cc/image/2025/08/09/6896e068e8eca.png": "/media/news/a9db89f2431590a0.png",
"https://assets.kivotos.cc/image/2025/08/09/6896e07585923.png": "/media/news/2eef37f800641d23.png",
"https://assets.kivotos.cc/image/2025/08/09/6896edfe538b1.png": "/media/news/6eb1df75d416d821.png",
"https://assets.kivotos.cc/image/2025/08/09/6896e07285c6b.png": "/media/news/af25144f99a55545.png",
"https://assets.kivotos.cc/image/2025/08/09/6896ecf16049f.png": "/media/news/e6f275db8fc12e04.png",
"https://assets.kivotos.cc/image/2025/08/09/6896ee0563f3c.png": "/media/news/7380c74df55fac33.png",
"https://assets.kivotos.cc/image/2025/08/09/6896ee08cb781.png": "/media/news/7eb96fbd63c3a37a.png",
"https://assets.kivotos.cc/image/2025/08/09/6896f09f48ae7.png": "/media/news/ee12df3bba3dca45.png",
"https://assets.kivotos.cc/image/2025/08/09/6896f090abd25.png": "/media/news/f9026392b0c0320c.png",
"https://assets.kivotos.cc/image/2025/08/09/6896f08d66c9a.png": "/media/news/d730b5d8b1d08466.png",
"https://assets.kivotos.cc/image/2025/08/09/6896f10b7af77.png": "/media/news/c43ecc739f1c5c59.png",
"https://assets.kivotos.cc/image/2025/08/09/6896f0a43bf96.png": "/media/news/e6a231c95de36c95.png",
"https://assets.kivotos.cc/image/2025/08/09/6896f0a833e61.png": "/media/news/1dffe9eb45dc2355.png",
"https://assets.kivotos.cc/image/2025/08/09/6896f0bac7396.png": "/media/news/65cd62156978e23a.png",
"https://assets.kivotos.cc/image/2025/08/09/6896f0b139fc4.png": "/media/news/f925d24321602b3c.png",
"https://assets.kivotos.cc/image/2025/08/09/6896f0b6b39f5.png": "/media/news/8f0fec4d09ca8f1a.png",
"https://assets.kivotos.cc/image/2025/09/07/68bd423c7becc.png": "/media/news/742489e2add50213.png",
"https://assets.kivotos.cc/image/2025/09/07/68bd3e0a96525.png": "/media/news/76370cdcfdb095d7.png",
"https://assets.kivotos.cc/image/2025/09/07/68bd3dfe4dc68.png": "/media/news/67156fd18311e033.png",
"https://assets.kivotos.cc/image/2025/09/07/68bd3e799645b.png": "/media/news/dc3abc786102acec.png",
"https://assets.kivotos.cc/image/2025/09/07/68bd3e7eeb41b.png": "/media/news/5fa537795e134a41.png",
"https://assets.kivotos.cc/image/2025/09/07/68bd3ec65fd1b.png": "/media/news/a50000cd72ff4900.png",
"https://assets.kivotos.cc/image/2025/09/07/68bd3ed0464dd.png": "/media/news/10724b37ef56d81f.png",
"https://assets.kivotos.cc/image/2025/09/07/68bd3ed6ad61c.png": "/media/news/e9ba47abe1d5aca2.png",
"https://assets.kivotos.cc/image/2025/09/07/68bd3f1827622.png": "/media/news/55f4011b7369b3e6.png",
"https://assets.kivotos.cc/image/2025/09/07/68bd3f0751d7a.png": "/media/news/1796ca007e206aad.png",
"https://assets.kivotos.cc/image/2025/09/07/68bd3f0e19e02.png": "/media/news/a6965459d3f5c23f.png",
"https://assets.kivotos.cc/image/2025/09/07/68bd3f21b8a9f.png": "/media/news/70b2895917f242ce.png",
"https://assets.kivotos.cc/image/2025/09/07/68bd3f4dc38cc.png": "/media/news/21574cbc24e8e6a3.png",
"https://assets.kivotos.cc/image/2025/09/07/68bd3f58f116a.png": "/media/news/47e78d92bcd5e774.png",
"https://assets.kivotos.cc/image/2025/10/01/68dcc6ce5ad4a.png": "/media/news/9dfbbe69ae37f956.png",
"https://assets.kivotos.cc/image/2025/10/01/68dcc69bccb1c.png": "/media/news/f376bf3faad427bd.png",
"https://assets.kivotos.cc/image/2025/10/01/68dcc8b9e9587.png": "/media/news/24e426cb6ffe8f93.png",
"https://assets.kivotos.cc/image/2025/10/01/68dcc75f9e484.png": "/media/news/a2eb71b6bbca3ed5.png",
"https://assets.kivotos.cc/image/2025/10/01/68dcc76750513.png": "/media/news/869013819495965a.png",
"https://assets.kivotos.cc/image/2025/10/01/68dcc76492a5e.png": "/media/news/739ef337ca0a425d.png",
"https://assets.kivotos.cc/image/2025/10/01/68dcc7b515449.jpg": "/media/news/226e521fe2188235.jpg",
"https://assets.kivotos.cc/image/2025/11/14/691602e395f6b.png": "/media/news/b10b7491d8ab31c7.png",
"https://assets.kivotos.cc/image/2025/10/01/68dcc76a6fd39.png": "/media/news/d3ab044ffd26b351.png",
"https://assets.kivotos.cc/image/2025/11/11/69133be0a0eec.png": "/media/news/69e97adad95dac8c.png",
"https://assets.kivotos.cc/image/2025/11/11/69133bedbaf66.png": "/media/news/6be61f4808a7554b.png",
"https://assets.kivotos.cc/image/2025/11/11/69133bd6ec4d2.png": "/media/news/515aa7eeef3b32cd.png",
"https://assets.kivotos.cc/image/2025/11/13/6915fa96ec7d5.jpg": "/media/news/1710dbc777d8ee82.jpg",
"https://assets.kivotos.cc/image/2025/11/13/6915fa944ad88.jpg": "/media/news/d0198e946faeca4c.jpg",
"https://assets.kivotos.cc/image/2025/11/11/69133bf62ec4b.png": "/media/news/ffe0c286ab6881bf.png",
"https://assets.kivotos.cc/image/2025/11/13/6915fa9ada434.jpg": "/media/news/00482beb05f95f5d.jpg",
"https://assets.kivotos.cc/image/2025/11/13/6915fa997c1fb.jpg": "/media/news/05dc472b50b05cea.jpg",
"https://assets.kivotos.cc/image/2025/11/13/6915fa9c8d328.jpg": "/media/news/ce5c3848a9e98a51.jpg",
"https://assets.kivotos.cc/image/2025/11/13/6915fa9f5a9b6.jpg": "/media/news/1d706a2eb28e4377.jpg",
"https://assets.kivotos.cc/image/2025/11/13/6915fa9e2b9ba.jpg": "/media/news/6762fe970b89ced9.jpg",
"https://assets.kivotos.cc/image/2025/11/13/6915faa0678da.jpg": "/media/news/0bc4765fc4b322ef.jpg",
"https://assets.kivotos.cc/image/2025/11/13/6915fe5d28c42.png": "/media/news/ffeac2f4942e29a4.png",
"https://assets.kivotos.cc/image/2025/11/13/6915fd5a36a6b.png": "/media/news/71f6313e92bb0005.png",
"https://assets.kivotos.cc/image/2025/12/14/693ecc840e20c.png": "/media/news/b39b9a21c9295fa8.png",
"https://assets.kivotos.cc/image/2025/12/14/693ec11670de1.png": "/media/news/63009dde1e9463dc.png",
"https://assets.kivotos.cc/image/2025/12/14/693ec10c410d7.png": "/media/news/9a882d97d77dc1ac.png",
"https://assets.kivotos.cc/image/2025/12/14/693ecdbcb2f63.png": "/media/news/343083f92937ca2f.png",
"https://assets.kivotos.cc/image/2025/12/14/693ec11b06ed6.png": "/media/news/1184aade019e7da3.png",
"https://assets.kivotos.cc/image/2025/12/04/693172a681f27.png": "/media/news/4d68f31394edb803.png",
"https://assets.kivotos.cc/image/2025/12/14/693ec11e3ab52.png": "/media/news/17e8c3b6fbde52cc.png",
"https://assets.kivotos.cc/image/2025/12/04/693172aa2448f.png": "/media/news/7303e53c6953c47c.png",
"https://assets.kivotos.cc/image/2025/12/04/693172adf0144.png": "/media/news/3a646bdb188ff405.png",
"https://assets.kivotos.cc/image/2025/12/04/693172b07d28f.png": "/media/news/58d823b50670f3b8.png",
"https://assets.kivotos.cc/image/2025/12/06/693304ad34cbe.png": "/media/news/c94eb46472791232.png",
"https://assets.kivotos.cc/image/2025/12/14/693e5ad471d03.png": "/media/news/c89f5bb8d8aa42e5.png",
"https://assets.kivotos.cc/image/2025/12/06/693303a18157f.png": "/media/news/642b70f57b258b61.png",
"https://assets.kivotos.cc/image/2025/12/06/693309ae4d49a.png": "/media/news/1d59571649db6605.png",
"https://assets.kivotos.cc/image/2025/12/06/693304b0c63aa.png": "/media/news/78707e44d4c3ebf2.png",
"https://assets.kivotos.cc/image/2025/12/06/693304b3a30cc.png": "/media/news/da376a35945b6367.png",
"https://assets.kivotos.cc/image/2025/12/06/693309b7507f7.png": "/media/news/85aa0f92bacb1478.png",
"https://assets.kivotos.cc/image/2025/12/06/693309b1d4866.png": "/media/news/9410d252900cb18a.png",
"https://image.kivotosrailway.com/uploads/696b7fd3a9f1d.png": "/media/news/1dc8ff5a2e097ca4.png",
"https://image.kivotosrailway.com/uploads/6969106ab163b.png": "/media/news/b8ac0bfb15255ae8.png",
"https://image.kivotosrailway.com/uploads/6969106640481.png": "/media/news/31fd90ccf81baea0.png",
"https://image.kivotosrailway.com/uploads/6968f43ef2c9d.png": "/media/news/ba1324f4ed955a42.png",
"https://image.kivotosrailway.com/uploads/6969106f5168d.png": "/media/news/7a09a56486b0d63e.png",
"https://image.kivotosrailway.com/uploads/696a5a7aaa5ce.png": "/media/news/c490c80c8610bf00.png",
"https://image.kivotosrailway.com/uploads/696910726cdf3.png": "/media/news/fd180b36da2a9bff.png",
"https://image.kivotosrailway.com/uploads/696a6d6fdeb68.png": "/media/news/b4df0f791d2be43b.png",
"https://image.kivotosrailway.com/uploads/696a6d73468e0.png": "/media/news/fd20b72133991a86.png",
"https://image.kivotosrailway.com/uploads/696a6d7639cca.png": "/media/news/0b7e74d257f800e2.png",
"https://image.kivotosrailway.com/uploads/696a6d79d7ac5.png": "/media/news/813e1a673c1be6ef.png",
"https://image.kivotosrailway.com/uploads/696a6d7cb77c9.png": "/media/news/a90b7a6bf01a36e5.png",
"https://image.kivotosrailway.com/uploads/696a71edcacf2.png": "/media/news/8e32871365da4c12.png",
"https://image.kivotosrailway.com/uploads/696a71f1d6949.png": "/media/news/e07b19fe4fec5ecf.png",
"https://image.kivotosrailway.com/uploads/696a71f56be58.png": "/media/news/2f71e87cd053b514.png",
"https://image.kivotosrailway.com/uploads/696a71f9a85c5.png": "/media/news/5ccbd85eb8dc8704.png",
"https://image.kivotosrailway.com/uploads/696a770a370e4.png": "/media/news/eb713f2e61f782fa.png",
"https://image.kivotosrailway.com/uploads/696a770d8c15b.png": "/media/news/6b3c79b893b96710.png",
"https://image.kivotosrailway.com/uploads/696a77073a43e.png": "/media/news/aab29bad5e423574.png",
"https://image.kivotosrailway.com/uploads/696a7713be1c2.png": "/media/news/162c4cffb9bd86b5.png",
"https://image.kivotosrailway.com/uploads/696a78448458e.png": "/media/news/dee9ee54691e2f58.png",
"https://image.kivotosrailway.com/uploads/696a771162653.png": "/media/news/7df6d18bacc22ef0.png",
"https://image.kivotosrailway.com/uploads/696a761c07283.jpg": "/media/news/9afe4880bd0acb8f.jpg",
"https://image.kivotosrailway.com/uploads/696a761dcae4b.jpg": "/media/news/f1f18b97e476b3f1.jpg",
"https://image.kivotosrailway.com/uploads/696b744c64cba.png": "/media/news/06e57681483b433d.png",
"https://image.kivotosrailway.com/uploads/696b7458a1dfe.png": "/media/news/f8be6e7cca424cca.png",
"https://image.kivotosrailway.com/uploads/696b74512efa9.png": "/media/news/5909c8bec677457b.png",
"https://image.kivotosrailway.com/uploads/696b74550b154.png": "/media/news/a5d7a0d6f40812cc.png",
"https://image.kivotosrailway.com/uploads/696b76ac92910.jpg": "/media/news/5eb847ca8230d44b.jpg",
"https://image.kivotosrailway.com/uploads/696b745bddd55.png": "/media/news/154b5b83f51ba533.png",
"https://image.kivotosrailway.com/uploads/696b74608008c.png": "/media/news/fc43c6379a50bc46.png",
"https://image.kivotosrailway.com/uploads/696b76b2e53f5.png": "/media/news/4981afa0c97e51a6.png",
"https://image.kivotosrailway.com/uploads/696b76b622e99.png": "/media/news/5c41418d2eb3b3ed.png",
"https://image.kivotosrailway.com/uploads/696b76bf6a65d.png": "/media/news/238740effcbfde32.png",
"https://image.kivotosrailway.com/uploads/696b7416b1764.jpg": "/media/news/f1e7be44f3b76abc.jpg", "https://image.kivotosrailway.com/uploads/696b7416b1764.jpg": "/media/news/f1e7be44f3b76abc.jpg",
"https://assets.kivotos.cc/image/2025/05/14/682374369d005.png": "/media/news/d67395b9a4d20687.png", "https://image.kivotosrailway.com/uploads/69880f36ec222.png": "/media/news/70032e437e5d476b.png",
"https://image.kivotosrailway.com/uploads/696b76ba84ab2.png": "/media/news/e4a22e67572b3338.png",
"https://image.kivotosrailway.com/uploads/698614c8a415b.png": "/media/news/1a9d359c8dd91f9e.png",
"https://image.kivotosrailway.com/uploads/698376801b949.png": "/media/news/cb3846e4ff88892e.png",
"https://image.kivotosrailway.com/uploads/698614f4bd9fc.png": "/media/news/d048489b62c66802.png",
"https://image.kivotosrailway.com/uploads/69861507bcef1.png": "/media/news/dd4ed38200a57b90.png",
"https://image.kivotosrailway.com/uploads/698614ffdcb16.png": "/media/news/c9f13d41d4cc7bd4.png",
"https://image.kivotosrailway.com/uploads/6986151180c49.png": "/media/news/207091ad7f907729.png",
"https://image.kivotosrailway.com/uploads/698615237571a.png": "/media/news/5c3219c175325528.png",
"https://image.kivotosrailway.com/uploads/6986151b8502b.png": "/media/news/69494c6c34c13eef.png",
"https://image.kivotosrailway.com/uploads/6986152af2286.png": "/media/news/3477ef750b106ec1.png",
"https://image.kivotosrailway.com/uploads/6986154ae69e8.png": "/media/news/e88566de19f5fa5d.png",
"https://image.kivotosrailway.com/uploads/698615445607b.png": "/media/news/88a4b2efed483c38.png",
"https://image.kivotosrailway.com/uploads/6986153cc6ecc.png": "/media/news/5d6335d0339cee77.png",
"https://image.kivotosrailway.com/uploads/69861552010c5.png": "/media/news/64007b03eb15c93c.png",
"https://image.kivotosrailway.com/uploads/6986157995fec.png": "/media/news/6bc54cfdb7db638b.png",
"https://image.kivotosrailway.com/uploads/6986156e42bf2.png": "/media/news/50b4640f642afbf5.png",
"https://image.kivotosrailway.com/uploads/698617537f8bb.png": "/media/news/0629773fada58226.png",
"https://image.kivotosrailway.com/uploads/6986158b16cc3.png": "/media/news/60418780fcf598fe.png",
"https://image.kivotosrailway.com/uploads/6986158161685.png": "/media/news/ee69c5b6cb2a3075.png",
"https://image.kivotosrailway.com/uploads/6986176159414.png": "/media/news/66697305fb14a634.png",
"https://image.kivotosrailway.com/uploads/6986175ac677d.png": "/media/news/3d8f75df8fac29a2.png",
"https://image.kivotosrailway.com/uploads/698617682351f.png": "/media/news/750b997017596912.png",
"https://image.kivotosrailway.com/uploads/69861775aaf69.png": "/media/news/227c129b841cf9ee.png",
"https://image.kivotosrailway.com/uploads/6986176f3e473.png": "/media/news/8e55e91bdf28bfd9.png",
"https://image.kivotosrailway.com/uploads/6986177c58533.png": "/media/news/e3eda333b28570de.png",
"https://image.kivotosrailway.com/uploads/6983750be0ffa.png": "/media/news/3bda920be431e319.png",
"https://image.kivotosrailway.com/uploads/69837507e0a47.png": "/media/news/4fef002a2c4ea896.png",
"https://image.kivotosrailway.com/uploads/6986178386e6c.png": "/media/news/83e6a71103cf7cb5.png",
"https://image.kivotosrailway.com/uploads/6984a5cef1452.png": "/media/news/93efb588d22e1c5a.png",
"https://image.kivotosrailway.com/uploads/6983751096542.png": "/media/news/91ad7d62df8dc949.png",
"https://image.kivotosrailway.com/uploads/69837513cb7ba.png": "/media/news/5296a404438287dc.png",
"https://image.kivotosrailway.com/uploads/6984a5d2b69cf.png": "/media/news/3b72275463c397af.png",
"https://image.kivotosrailway.com/uploads/6984a5d59db8a.png": "/media/news/cb6cdd3d02bf623b.png",
"https://image.kivotosrailway.com/uploads/6984a5d9226fa.png": "/media/news/27994d6ecd2395f1.png",
"https://image.kivotosrailway.com/uploads/6984a5dac739d.png": "/media/news/509422ecb80ac286.png",
"https://image.kivotosrailway.com/uploads/6984a43d58714.png": "/media/news/cfa24b92fac3809c.png",
"https://image.kivotosrailway.com/uploads/6984a43a6589a.png": "/media/news/ba41f1de5315434f.png",
"https://image.kivotosrailway.com/uploads/6984a4489f7c9.png": "/media/news/b6c1024ad6e2d0b0.png",
"https://image.kivotosrailway.com/uploads/6984a441c8e13.png": "/media/news/cf0703faca37946e.png",
"https://assets.kivotos.cc/image/2025/05/01/6813876b2f852.png": "/media/news/c5a870192e637e74.png",
"https://assets.kivotos.cc/image/2025/05/01/681387f142bc5.png": "/media/news/6d5336216a2707db.png",
"https://assets.kivotos.cc/image/2025/05/01/68138822d16df.png": "/media/news/349fe2598dea8ad8.png",
"https://assets.kivotos.cc/image/2025/05/01/68138906ceeaf.png": "/media/news/6ed6f132ac0806d8.png",
"https://assets.kivotos.cc/image/2025/05/01/6813890719913.png": "/media/news/edf9d22ffe6ad668.png",
"https://assets.kivotos.cc/image/2025/05/01/6813885b8135e.png": "/media/news/ff2c5fa038be5c2b.png",
"https://assets.kivotos.cc/image/2025/05/01/68138932c4a87.png": "/media/news/7d4f9024bd259a75.png",
"https://assets.kivotos.cc/image/2025/05/01/681389ae1127d.png": "/media/news/6a522d5529a1c23f.png",
"https://assets.kivotos.cc/image/2025/05/01/6813892f55f80.png": "/media/news/45ac24b1f8382b41.png",
"https://assets.kivotos.cc/image/2025/05/01/681389ff0c010.png": "/media/news/7b3864f882595b37.png",
"https://assets.kivotos.cc/image/2025/05/01/68138a4ca5f3b.png": "/media/news/8acbdb62c73316f4.png",
"https://assets.kivotos.cc/image/2025/05/01/68138a24110b3.png": "/media/news/fd81406a59daed32.png",
"https://assets.kivotos.cc/image/2025/05/01/68138a69c10b1.png": "/media/news/0196f1de113016eb.png",
"https://assets.kivotos.cc/image/2025/05/01/68138a4f1a669.png": "/media/news/6d04a4ec39a89e79.png",
"https://assets.kivotos.cc/image/2025/05/01/68138a6feb981.png": "/media/news/30ef327965ef8928.png",
"https://assets.kivotos.cc/image/2025/05/01/68138aa655246.png": "/media/news/557792270b0ee75f.png",
"https://assets.kivotos.cc/image/2025/05/01/68138a8b8b444.png": "/media/news/cd4f225a80ad707b.png",
"https://assets.kivotos.cc/image/2025/05/01/68138a8d71fd7.png": "/media/news/7972e9d627a0f5ad.png",
"https://assets.kivotos.cc/image/2025/05/01/68138aa87f66d.png": "/media/news/afbf5edff0cb7544.png",
"https://assets.kivotos.cc/image/2025/05/01/68138acbee8a3.png": "/media/news/e1a80dc6d6782932.png",
"https://assets.kivotos.cc/image/2025/05/01/68138abd58742.png": "/media/news/23a85644e00bf74f.png",
"https://assets.kivotos.cc/image/2025/05/14/6823808e11777.png": "/media/news/b9bf294415ab640b.png",
"https://assets.kivotos.cc/image/2025/05/13/68236919b3ebe.png": "/media/news/0dce62106c0c48a5.png", "https://assets.kivotos.cc/image/2025/05/13/68236919b3ebe.png": "/media/news/0dce62106c0c48a5.png",
"https://image.kivotosrailway.com/uploads/696cd4a76200d.png": "/media/news/82a139e89ac6bc66.png",
"https://assets.kivotos.cc/image/2025/05/14/682374369d005.png": "/media/news/d67395b9a4d20687.png",
"https://assets.kivotos.cc/image/2025/05/14/6823735cea4de.png": "/media/news/06b8cffc367a6f28.png", "https://assets.kivotos.cc/image/2025/05/14/6823735cea4de.png": "/media/news/06b8cffc367a6f28.png",
"https://s21.ax1x.com/2024/09/20/pAMS0KI.png": "/media/news/c6e4e344e54d4976.png",
"https://s21.ax1x.com/2024/09/20/pAMSWxs.png": "/media/news/5149b301e12e850b.png", "https://s21.ax1x.com/2024/09/20/pAMSWxs.png": "/media/news/5149b301e12e850b.png",
"https://assets.kivotos.cc/image/2025/12/14/693ec8c79b4b8.jpg": "/media/news/3a2bc283672922bc.jpg", "https://s21.ax1x.com/2024/09/20/pAMS0KI.png": "/media/news/c6e4e344e54d4976.png",
"https://assets.kivotos.cc/image/2025/12/14/693ec8d313ba2.jpg": "/media/news/77bd04054f6a7224.jpg", "https://s21.ax1x.com/2024/09/20/pAMSBrt.png": "/media/news/798465288a32ca47.png",
"https://s21.ax1x.com/2024/09/20/pAMSDqP.png": "/media/news/5f44e91dca9ae595.png",
"https://assets.kivotos.cc/image/2025/12/14/693e5bbe608e5.jpg": "/media/news/99e9760bf7b5f31a.jpg", "https://assets.kivotos.cc/image/2025/12/14/693e5bbe608e5.jpg": "/media/news/99e9760bf7b5f31a.jpg",
"https://assets.kivotos.cc/image/2025/12/14/693ec8c79b4b8.jpg": "/media/news/3a2bc283672922bc.jpg",
"https://assets.kivotos.cc/image/2025/12/14/693ec81f0d558.png": "/media/news/faa5a5d92365102b.png",
"https://assets.kivotos.cc/image/2025/12/14/693ec8d313ba2.jpg": "/media/news/77bd04054f6a7224.jpg",
"https://assets.kivotos.cc/image/2025/05/01/681397ba4e763.png": "/media/news/ae2440022452c2dc.png",
"https://assets.kivotos.cc/image/2025/05/01/681397eba60b8.png": "/media/news/f97500b43707018a.png",
"https://assets.kivotos.cc/image/2025/05/01/681396eb28788.jpg": "/media/news/17c8d9be981d42ea.jpg", "https://assets.kivotos.cc/image/2025/05/01/681396eb28788.jpg": "/media/news/17c8d9be981d42ea.jpg",
"https://assets.kivotos.cc/image/2025/05/01/681396fd3a792.jpg": "/media/news/cd0c5383ca66c6b2.jpg",
"https://assets.kivotos.cc/image/2025/05/01/681396f661df5.jpg": "/media/news/d245b5b6ea4f98d5.jpg",
"https://s21.ax1x.com/2024/12/19/pAO8xoT.png": "/media/news/09f416760a398ccd.png", "https://s21.ax1x.com/2024/12/19/pAO8xoT.png": "/media/news/09f416760a398ccd.png",
"https://assets.kivotos.cc/image/2025/05/01/681398635f9b2.png": "/media/news/378bea798cf7c855.png", "https://assets.kivotos.cc/image/2025/05/01/681396f661df5.jpg": "/media/news/d245b5b6ea4f98d5.jpg",
"https://assets.kivotos.cc/image/2025/05/01/681398634fbc4.png": "/media/news/378bea798cf7c855.png" "https://assets.kivotos.cc/image/2025/05/01/681396fd3a792.jpg": "/media/news/cd0c5383ca66c6b2.jpg",
"https://assets.kivotos.cc/image/2025/05/01/6813970761de9.png": "/media/news/8864b2265ee945bd.png",
"https://assets.kivotos.cc/image/2025/05/01/68139745d559d.png": "/media/news/d0653bd2dcd382c2.png",
"https://assets.kivotos.cc/image/2025/05/01/681397434f182.png": "/media/news/961ae0e42a4a6503.png",
"https://assets.kivotos.cc/image/2025/05/01/6813973807ef1.png": "/media/news/8fe3f4268e378b36.png",
"https://assets.kivotos.cc/image/2025/05/01/6813974768073.png": "/media/news/ef27f03e26246120.png",
"https://assets.kivotos.cc/image/2025/05/01/68139760ab792.png": "/media/news/fbfd81eebc0a9e48.png",
"https://assets.kivotos.cc/image/2025/05/01/6813976606d65.png": "/media/news/ffdd776cba7e3cdc.png",
"https://assets.kivotos.cc/image/2025/05/01/6813977a9b9c9.png": "/media/news/c78b671deb7ce520.png",
"https://assets.kivotos.cc/image/2025/05/01/68139776e716d.png": "/media/news/a01aa2d53ce34b9c.png",
"https://assets.kivotos.cc/image/2025/05/01/68139778e018b.png": "/media/news/6364287d8368cc6d.png",
"https://assets.kivotos.cc/image/2025/12/14/693ec5ea96c8e.png": "/media/news/ebc83b1efef044e3.png",
"https://assets.kivotos.cc/image/2025/12/14/693ec64a46a64.png": "/media/news/c5c16f0a1444704f.png",
"https://assets.kivotos.cc/image/2025/05/01/68139791cb565.png": "/media/news/d9e078efc72ec250.png",
"https://assets.kivotos.cc/image/2025/01/07/677d312c60fdc.png": "/media/news/953619bd98699ae1.png",
"https://assets.kivotos.cc/image/2025/09/07/68bd44be2b8d3.png": "/media/news/bce691d1ff3fccab.png",
"https://assets.kivotos.cc/image/2025/12/14/693ec65021b01.png": "/media/news/aec33e20e9e5a5ba.png",
"https://assets.kivotos.cc/image/2025/01/06/677bd23abc537.png": "/media/news/87f0215778fbc41f.png",
"https://assets.kivotos.cc/image/2025/03/30/67e9272cbe068.png": "/media/news/6d9e18ea995d2e07.png",
"https://assets.kivotos.cc/image/2025/03/30/67e926e5b3419.png": "/media/news/cb61103b8c85d31a.png",
"https://assets.kivotos.cc/image/2025/05/01/681398634fbc4.png": "/media/news/378bea798cf7c855.png",
"https://assets.kivotos.cc/image/2025/03/30/67e923c350c39.png": "/media/news/96c40bcd978db7ea.png",
"https://assets.kivotos.cc/image/2025/03/30/67e926ba5e39a.png": "/media/news/ac042b3f46fb895d.png",
"https://assets.kivotos.cc/image/2025/05/01/681398635f9b2.png": "/media/news/378bea798cf7c855.png"
}; };