We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lizouzt/TrendRadar'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>热点新闻分析</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js" integrity="sha512-BNaRQnYJYiPSqHHDb58B0yaPfCu+Wgds8Gp/gU33kqBtgNS4tSPHuGibyoeqMV/TJlSKda6FXzoEyYGjTe+vXA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<style>
* { box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
margin: 0;
padding: 16px;
background: #fafafa;
color: #333;
line-height: 1.5;
}
.container {
max-width: 600px;
margin: 0 auto;
background: white;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 2px 16px rgba(0,0,0,0.06);
}
.header {
background: linear-gradient(135deg, #7a72ff 0%, #3aafed 100%);
color: #fff;
padding: 32px 24px;
text-align: center;
position: relative;
}
.save-buttons {
position: absolute;
top: 16px;
right: 16px;
display: flex;
gap: 8px;
}
.save-btn {
background: rgba(255, 255, 255, 0.2);
border: 1px solid rgba(255, 255, 255, 0.3);
color: white;
padding: 8px 16px;
border-radius: 6px;
cursor: pointer;
font-size: 13px;
font-weight: 500;
transition: all 0.2s ease;
backdrop-filter: blur(10px);
white-space: nowrap;
}
.save-btn:hover {
background: rgba(255, 255, 255, 0.3);
border-color: rgba(255, 255, 255, 0.5);
transform: translateY(-1px);
}
.save-btn:active {
transform: translateY(0);
}
.save-btn:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.header-title {
font-size: 22px;
font-weight: 700;
margin: 0 0 20px 0;
}
.header-info {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
font-size: 14px;
opacity: 0.95;
}
.info-item {
text-align: center;
}
.info-label {
display: block;
font-size: 12px;
opacity: 0.8;
margin-bottom: 4px;
}
.info-value {
font-weight: 600;
font-size: 16px;
}
.content {
padding: 24px;
}
.word-group {
margin-bottom: 40px;
}
.word-group:first-child {
margin-top: 0;
}
.word-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
padding-bottom: 8px;
border-bottom: 1px solid #f0f0f0;
}
.word-info {
display: flex;
align-items: center;
gap: 12px;
}
.word-name {
font-size: 17px;
font-weight: 600;
color: #1a1a1a;
}
.word-count {
color: #666;
font-size: 13px;
font-weight: 500;
}
.word-count.hot { color: #dc2626; font-weight: 600; }
.word-count.warm { color: #ea580c; font-weight: 600; }
.word-index {
color: #999;
font-size: 12px;
}
.news-item {
margin-bottom: 20px;
padding: 16px 0;
border-bottom: 1px solid #f5f5f5;
position: relative;
display: flex;
gap: 12px;
align-items: center;
}
.news-item:last-child {
border-bottom: none;
}
.news-item.new::after {
content: "NEW";
position: absolute;
top: 12px;
right: 0;
background: #fbbf24;
color: #92400e;
font-size: 9px;
font-weight: 700;
padding: 3px 6px;
border-radius: 4px;
letter-spacing: 0.5px;
}
.news-number {
color: #999;
font-size: 13px;
font-weight: 600;
min-width: 20px;
text-align: center;
flex-shrink: 0;
background: #f8f9fa;
border-radius: 50%;
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
align-self: flex-start;
margin-top: 8px;
}
.news-content {
flex: 1;
min-width: 0;
padding-right: 40px;
}
.news-item.new .news-content {
padding-right: 50px;
}
.news-header {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 8px;
flex-wrap: wrap;
}
.source-name {
color: #666;
font-size: 12px;
font-weight: 500;
}
.rank-num {
color: #fff;
background: #6b7280;
font-size: 10px;
font-weight: 700;
padding: 2px 6px;
border-radius: 10px;
min-width: 18px;
text-align: center;
}
.rank-num.top { background: #dc2626; }
.rank-num.high { background: #ea580c; }
.time-info {
color: #999;
font-size: 11px;
}
.count-info {
color: #059669;
font-size: 11px;
font-weight: 500;
}
.news-title {
font-size: 15px;
line-height: 1.4;
color: #1a1a1a;
margin: 0;
}
.news-link {
color: #2563eb;
text-decoration: none;
}
.news-link:hover {
text-decoration: underline;
}
.news-link:visited {
color: #7c3aed;
}
.topic-trend-section {
margin-top: 40px;
padding-top: 24px;
border-top: 2px solid #f0f0f0;
}
.topic-trend-title {
color: #1a1a1a;
font-size: 16px;
font-weight: 600;
margin: 0 0 20px 0;
}
.viral-topic-item {
padding: 16px 0;
border-bottom: 1px solid #f5f5f5;
}
.viral-topic-item:last-child {
border-bottom: none;
}
.viral-topic-header {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 12px;
}
.viral-topic-keyword {
font-size: 16px;
font-weight: 600;
}
.topic-item {
display: flex;
align-items: center;
gap: 12px;
padding: 8px 0;
border-bottom: 1px solid #f9f9f9;
}
.topic-item:last-child {
border-bottom: none;
}
.viral-topic-stats {
font-size: 12px;
color: #666;
}
.viral-topic-stats .new { color: #dc2626; font-weight: bold; }
.viral-topic-stats .up { color: #f59e0b; font-weight: bold; }
.viral-topic-stats .level-high { color: #dc2626; font-weight: bold; }
.viral-topic-stats .level-mid { color: #f59e0b; font-weight: bold; }
.viral-sample-titles {
list-style: none;
padding-left: 16px;
margin: 0;
font-size: 13px;
}
.viral-sample-titles li {
color: #666;
padding: 4px 0;
position: relative;
}
.viral-sample-titles li::before { content: '▪'; position: absolute; left: -14px; color: #ccc; }
.new-section {
margin-top: 40px;
padding-top: 24px;
border-top: 2px solid #f0f0f0;
}
.new-section-title {
color: #1a1a1a;
font-size: 16px;
font-weight: 600;
margin: 0 0 20px 0;
}
.new-source-group {
margin-bottom: 24px;
}
.new-source-title {
color: #666;
font-size: 13px;
font-weight: 500;
margin: 0 0 12px 0;
padding-bottom: 6px;
border-bottom: 1px solid #f5f5f5;
}
.new-item {
display: flex;
align-items: center;
gap: 12px;
padding: 8px 0;
border-bottom: 1px solid #f9f9f9;
}
.new-item:last-child {
border-bottom: none;
}
.new-item-number {
color: #999;
font-size: 12px;
font-weight: 600;
min-width: 18px;
text-align: center;
flex-shrink: 0;
background: #f8f9fa;
border-radius: 50%;
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
}
.new-item-rank {
color: #fff;
background: #6b7280;
font-size: 10px;
font-weight: 700;
padding: 3px 6px;
border-radius: 8px;
min-width: 20px;
text-align: center;
flex-shrink: 0;
}
.new-item-rank.top { background: #dc2626; }
.new-item-rank.high { background: #ea580c; }
.new-item-content {
flex: 1;
min-width: 0;
}
.new-item-title {
font-size: 14px;
line-height: 1.4;
color: #1a1a1a;
margin: 0;
}
.error-section {
background: #fef2f2;
border: 1px solid #fecaca;
border-radius: 8px;
padding: 16px;
margin-bottom: 24px;
}
.error-title {
color: #dc2626;
font-size: 14px;
font-weight: 600;
margin: 0 0 8px 0;
}
.error-list {
list-style: none;
padding: 0;
margin: 0;
}
.error-item {
color: #991b1b;
font-size: 13px;
padding: 2px 0;
font-family: 'SF Mono', Consolas, monospace;
}
.footer {
margin-top: 32px;
padding: 20px 24px;
background: #f8f9fa;
border-top: 1px solid #e5e7eb;
text-align: center;
}
.footer-content {
font-size: 13px;
color: #6b7280;
line-height: 1.6;
}
.footer-link {
color: #4f46e5;
text-decoration: none;
font-weight: 500;
transition: color 0.2s ease;
}
.footer-link:hover {
color: #7c3aed;
text-decoration: underline;
}
.project-name {
font-weight: 600;
color: #374151;
}
@media (max-width: 480px) {
body { padding: 12px; }
.header { padding: 24px 20px; }
.content { padding: 20px; }
.footer { padding: 16px 20px; }
.header-info { grid-template-columns: 1fr; gap: 12px; }
.news-header { gap: 6px; }
.news-content { padding-right: 45px; }
.news-item { gap: 8px; }
.new-item { gap: 8px; }
.news-number { width: 20px; height: 20px; font-size: 12px; }
.save-buttons {
position: static;
margin-bottom: 16px;
display: flex;
gap: 8px;
justify-content: center;
flex-direction: column;
width: 100%;
}
.save-btn {
width: 100%;
}
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<div class="save-buttons">
<button class="save-btn" onclick="saveAsImage()">保存为图片</button>
<button class="save-btn" onclick="saveAsMultipleImages()">分段保存</button>
</div>
<div class="header-title">热点新闻分析</div>
<div class="header-info">
<div class="info-item">
<span class="info-label">报告类型</span>
<span class="info-value">实时分析</span>
</div>
<div class="info-item">
<span class="info-label">新闻总数</span>
<span class="info-value">166 条</span>
</div>
<div class="info-item">
<span class="info-label">热点新闻</span>
<span class="info-value">5 条</span>
</div>
<div class="info-item">
<span class="info-label">生成时间</span>
<span class="info-value">01-25 20:33</span>
</div>
</div>
</div>
<div class="content">
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">ai 人工智能</div>
<div class="word-count ">2 条</div>
</div>
<div class="word-index">1/4</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">今日头条</span><span class="rank-num ">21</span><span class="time-info">20时33分</span>
</div>
<div class="news-title"><a href="https://www.toutiao.com/trending/7599245110806580746/" target="_blank" class="news-link">特朗普抢夺格陵兰岛可能隐藏AI计划</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">2</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">百度热搜</span><span class="rank-num ">25</span><span class="time-info">20时33分</span>
</div>
<div class="news-title"><a href="https://www.baidu.com/s?wd=%E5%B8%85%E5%BC%9F%E5%BC%9F%E9%80%90%E6%B8%90%E9%87%8F%E4%BA%A7+AI%E9%9C%B8%E6%80%BB%E5%9B%B4%E7%8C%8E%E5%A7%90%E5%A7%90%E4%BB%AC" target="_blank" class="news-link">帅弟弟逐渐量产 AI霸总围猎姐姐们</a>
</div>
</div>
</div>
</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">英伟达 NVIDIA 黄仁勋</div>
<div class="word-count ">1 条</div>
</div>
<div class="word-index">2/4</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">华尔街见闻</span><span class="rank-num ">7</span><span class="time-info">20时33分</span>
</div>
<div class="news-title"><a href="https://wallstreetcn.com/articles/3764093" target="_blank" class="news-link">开启存储下一个大机会!韩媒详解黄仁勋“神秘推理上下文内存平台”</a>
</div>
</div>
</div>
</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">芯片 光刻机 光模块</div>
<div class="word-count ">1 条</div>
</div>
<div class="word-index">3/4</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">华尔街见闻</span><span class="rank-num ">9</span><span class="time-info">20时33分</span>
</div>
<div class="news-title"><a href="https://wallstreetcn.com/articles/3764095" target="_blank" class="news-link">涨幅远超芯片和Mag 7,全球矿业股成为基金经理“头号配置目标”</a>
</div>
</div>
</div>
</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">股票 A股 上证 深证</div>
<div class="word-count ">1 条</div>
</div>
<div class="word-index">4/4</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">财联社热门</span><span class="rank-num ">9</span><span class="time-info">20时33分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2268588" target="_blank" class="news-link">盘中创历史新高A股名单一览:多只有色金属股在列</a>
</div>
</div>
</div>
</div>
<div class="topic-trend-section">
<div class="topic-trend-title">🔥 异常热度话题</div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">李昊无缘最佳门将</div>
<div class="viral-topic-stats">
5条提及 · <span class="new">新话题</span> · <span class="level-high">高热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>李昊无缘最佳门将</li><li>李昊无缘最佳门将</li><li>李昊无缘最佳门将</li></ul></div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">vs</div>
<div class="viral-topic-stats">
4条提及 · <span class="up">↑4%</span> · <span class="level-mid">中热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>狼队 vs RNG.M KPL春季赛</li><li>NIP vs WE LPL第一赛段</li><li>AG vs 情久 KPL春季赛</li></ul></div></div>
<div class="topic-trend-section">
<div class="topic-trend-title">✨ 关注话题趋势</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">AMD</div>
<div class="word-count">1 条提及 <span style="color: #059669;">(↓100.00%)</span></div>
</div>
</div>
<div class="news-item">
<div class="news-content" style="padding-right: 0;">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAADICAYAAAA0n5+2AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAMgdJREFUeJzt3XmYHFW9//H3d7ZMyEIYouxCcEuACCqK0DcgoqIIt4OiwlV/XkRRr17RG5YHLy4ggiwCYVFEArImImq1UTSKFwRGwAXFsIgiawwEYoMhJJPZzu+PU530tDOTmTndXVXdn9fz9DPTZ3o59enqntNVZzHnHCIiIiJSPS1JV0BERESk0aiBJSIiIlJlamCJiIiIVJkaWCIiIiJVpgaWiIiISJWpgSUiIiJSZWpgiYiIiFSZGlgiIiIiVaYGloiIiEiVqYElIiIiUmVqYImIiIhUmRpYIiIiIlWmBpaIiIhIlTVsA8u86WZmSddFREREmktb0hWooWnAP4EtgTW1eIJCodACzAEezOfzg7V4jkam/MIovzDKL4zyC6cMw6Q9v7ocwTKz/c1sqZmtNDNnZvPHcJ83m9k9ZrbBzB42s/+sfU3HrQP4TPxTxk/5hVF+E5SLiq0Xu33eepfbceHFbp+35qJia9J1yiDtf+GUYZhU51evU4RTgHuBT43lxmY2C/gJcAuwF3ABcLmZHVyj+olIk8hFxXcDj62jY9ltzDpoHR3LgMfichGRqqhLA8s591Pn3CnOuR+O8S6fAB51zi1wzj3onLsYuBH4XO1qKSKNLm5E3QjsUPGnHYAb1cgSkWpJayf3fYGbK8qWxeVp4oCn4p8yfsovjPIbh/g04ML4auXgl9L1C3S6cMy0/4VThmFSnZ85V996mZkDDnfORaPc5i/Alc65M8vKDsGfNtzCObd+mPtMAiaVFU0DVsybN++lCxYseCEuG8jn832FQqEdKP8Q7c/n8/2FQmESQz94Ryrvzefzg4VCobOiGr34F3pSRfmG+P5DzhPn8/meuJNeebnL5/MbCoVCG0MHIYxUrm3SNmmbxrBNF7t93hKfDtycA0+027uzsE004OukbdI2pWmbCNBIowhPBr5UWXjMMcecBfTFV7uBq4GjgFzZzX4MLMWfmtytrPwa4I74sbcrK78QuB84G9gZWIV/kU8Fimz6llxyHNBVUb+euHwOvpNeyVPAl4E3AR8qK38gftx3AoeWlVd7m84CynfiWm7TnwuFwm+BrYFDGmSb6vk6TQa2we9/X26QbarZ67Q3fz/xNmYxBttlZZtI9nUy/P73aeDZBtmmknq9Toex6T18R4NsUz1fp9OBVwJHMvQoVjW3acLS2sB6Gr/TldsGWDPc0avYmcB5ZdenASsWLVp0UvkRrPjnYuCGstv2xz8vpaI1XfbYQ1rT8c8vAF8HTsC3mEut6eMq6rYh3qbKcoAHK8pLO8ldwO+GKf8p8Iuy8mpv00kV9avlNnUA5wD/gz8FXJLlbarn6zSJTfvfCw2yTVSUV22bfscOZwMHDXOfSk/h/zGkfptI9nUq7X+r4/o3wjaVl9fjdbqNTe/hdXF51repnq+TAaew6X9wSTW3acLSeorwLOAQ59zcsrLrgS7n3DvG+DzTiefBcs7Vah6sTnwL97h8Pt9Ti+doZMovjPIbn7hv1eP8awf3EgesAGZ1z+8aGOE2EtP+F04Zhkl7fvWaB2uqme1lZnvFRbPi6y+L/36mmV1ddpdLgV3N7Gwzm21m/wW8Dzi/HvUVkcYTN5ruHeUmBnxFjSsRqYZ6jSLcG/hDfAF/Ku8PwGnx9e2Al5Vu7Jx7FHgX8Db8B+IC4KPOubF0UK0nhz9Pm8oRDBmg/MIov3HIRcW3sqmvX+VR7dKpiQ/koqKW1xob7X/hlGGYVOdX91OE9VKPU4Qikg25qDgDWA7siO8n8hVgLjAT34foOeBafL/Az3XP77ogkYqKSMNQAytAPKzzncBP8/l8/+ZuL0MpvzDKb+xyUfEa4IPASuAjwOpO+lrfwV/3+xmv/HUP7QP4kUjH40cb7dk9v+svydU4/bT/hVOGYdKeX1onGs2KNvyQ1LSOxkw75RdG+Y1BLioegW9cDeK7J6wG6KS/dVvWzuukvzQ/z3fxo4g6gSW5qKhcR6f9L5wyDJPq/NTAEpGGlYuK2+EHzQD8AD8sfiQOP2/Oi8BrgS/WtnYi0sjUwBKRhhR3Vr8cP5Ht34Bv4I9ijWYVfjJDgJNzUXHv2tVQRBqZGlhhBvATEmpY98QovzDKb3QfxY8a7AXOpWLkYC+tg8/ReW8vrZWNrpuAW/CnHRbnouLkelQ2g7T/hVOGYVKdnzq5i0jDyUXFl+OneJkCfAe4hPEN5Z4BfA/YCrike37Xp6tcRRFpcGpgBYgXsDwKWJzP5/s2d3sZSvmFUX7Di2ds/xV+7bP7gE8C/7LE1hb0th3Gnw9eyuxl6+gYbgTSvwEXxL+/tXt+1y9rVOVM0v4XThmGSXt+OkUYphX/Id66uRvKsJRfGOU3vOPxuazDr3U57PqlHQy0bEXPnh0MjPQ5eAdQiH+/OhcVt6x6TbNN+184ZRgm1fmpgSUiDSMXFV+Dn0QUYBFwf+BDfh2/+PP2+E7yIiJjogaWiDSEXFScBFwDtAO/ARZX4WHXAV/A99/6j3hOLRGRzVIDK0w/8GM2rWMm46P8wii/oU4FXgM8jz812DvajXtoG3iaqbf30La5EUh/xDfcAL6Vi4ovDaxno9D+F04Zhkl1furkLiKZl4uK/4afRNSAM/CTilZTO3AdsCt+LcN3dc/vaswPTxGpilROL58VhUJhEvAJ4NJ8Pr8h6fpkjfILo/y8XFScBlyFb1z9H/CjsdxvOj3teR58T4E5319D5+ZGIPUB/4s/kvVO/Bxb3554rbNP+184ZRgm7fnpFGEYA3aLf8r4Kb8wys87F39k6RngfMZ4uqAFZ1Po27UFN9b8/sqmZXfOz0XFXcZb0Qaj/S+cMgyT6vzUwBKRzMpFxXcBx8ZXL8CP+Kulq4Hl+AlMr89FRX2Gisiw9OEgIpmUi4oz8VMxACwF6jER6CB+VGEPsC9wQh2eU0QySA2sMP34PhmpHMGQAcovTNPmFy/k/E1gG+BJ4CLGuR5ZD20Dj7LVTWMYRVhpBX5+LIDTclFxj3Hev1E07f5XRcowTKrz0yhCEcmcXFT8AHAtvlG1AD/rer1dCOyHX47n9d3zu0adFkJEmotGEQaIRzCcDJyZxhEMaaf8wjRrfrmouBN+8WaAG4DuiTzOdHraj+D+o29k9yvHMIpwOKfhF4TeAzgdOHEi9ciqZt3/qkkZhkl7fjpFGMaA7UjpCIYMUH5hmi6/uFP5lcCWwF+Ab+FnWR+3Fpx1MDBzHKMIK60Gvhr/viAXFfeb4ONkVdPtfzWgDMOkOj81sEQkSz4FHARsAM4G1iZbHW4Gfob/LL0uFxWnJFwfEUkJNbBEJBNyUXE2vlEFfrqEPyZXmyHOwh/N2gU/VYSIiBpYgXrxHV3VuXVilF+YpskvFxXb8Y2qTnzD6qrQx1xLR99ytlmylo6J9L8q9wLwpfj3j+ai4iGBj5cVTbP/1ZAyDJPq/DSKUERSLxcVv4hfzHkt8HHgoWRrNKwTgfcBq4Dduud3FROuj4gkSKMIAxQKhU786YGT8vl8T9L1yRrlF6ZZ8stFxb2BL8ZXL6NKjasZrO94H/d95gb2uPB5JlfjG/CF+MlHd8KvU/ieKjxmajXL/ldLyjBM2vPTKcJwnUlXIOOUX5iGzi8XFSfjJxJsxU/H8L1qPn4LrqOKD9cDnIKf7f3duaj4wSo+dlo19P5XJ8owTGrzUwNLRNLsDGA2UMTPnh7aX6rW7sdPIwFwcS4qbp9kZUQkOWpgiUgq5aLiW4DPxlcvAp5Irjbj8m38HF1bAtfGy/qISJNRAytML77jbSpHMGSA8gvTsPnlouKWwHfiq8uAn1b7OdbS0XcbO19WhVGElfqB/8UfbTsQ+HSVHz8tGnb/qyNlGCbV+amBFcbhT1005lDM2lN+YRo5vwvxncWfAhZSg8VcBzG3kulrBrFa5Pco/qgbwFm5qPjKGjxH0hp5/6sXZRgm1fmpgRVmEv7Df1LSFcko5RemIfPLRcV3A/8P31n8AuCZWjzPdDZ0HMny46ezoZod3cstBu4BJgOLc1Gx0UZtN+T+V2fKMEyq81MDS0RSIxcVt8WvLwgQAbckV5tgDj+9xDrg9fjThiLSJNTAEpFUiDuDXwbMxJ9iuwR/FCvLnmbT8j6n5KLi65KsjIjUjxpYIpIWHwEOw3cOPwe/EkMj+DFwK35i58W5qJjaeXtEpHrUwAqzATgu/injp/zCNEx+uag4i00LJV8P/LbWz7mGSb1LmHvuGibVYwTS6cDzwKvwM083gobZ/xKkDMOkOj81sMIY0BX/lPFTfmEaIr9cVGzFL948FT9R5yLqMCqoBWfbs2Z6C64e+T0PnBb//t/xHF9Z1xD7X8KUYZhU56cGVpgO4EvxTxk/5RemUfL7HDAPWI8/NbiuHk86ld72/Xn82Kn0ttfj+YDbgKX4fwZX5aLi9Do9b600yv6XJGUYJtX5qYElIonJRcW5wFfjq1cC9yVYnXo4F9/xfUd8J34RaVBqYIlIInJRsQO/kHMHvs/VtcnWqC5eBL6APwX6wVxUPDzh+ohIjaiBFa4n6QpknPILk+X8vgzsCazBnxqs+3IXg1gSS2z8Abgu/v3buaj4kgTqUC1Z3v/SQhmGSW1+5lwqZ5gPZmbT8cO8t3TOrUm6PiKySS4q7gfcjv+SdxbwvWRrVHcd+EbWLOAnwGHd87sa88NYpEk12tINdVUoFFqAOcCD+Xw+6xMi1p3yC5PV/HJRcSpwNb5xdSvwwyTq0caA7cOKWXez46P9tNa7cdMLnIIfPfku4GjgijrXIUhW9780UYZh0p6fThGG6QA+Q0pHMGSA8guT1fzOAV4OPAucRw0Wch6LqfS2z2XVkXUcRVjpIfzM9QALc1HxZQnVY6Kyuv+liTIMk+r81MASkbrJRcV3Ap+Ir14IrEywOmlwFX7ur6nA9bmoqM9kkQahN7OI1EUuKm6Nn0QUfL+jnydYnbQYwJ8q3ADkgAXJVkdEqkUNrDAOeIo6zDrdoJRfmKzldwmwHfAksBDfuEjMIOZ6aV09iCWd35PA+fHvp+ei4u5JVmYcsrb/pZEyDJPq/DSKUERqLhcVj8KvMTgAHI8fQShDXQLsA/wJ2Lt7fldfwvURkQAaRRigUCi0AW8C7srn84l01M0y5RcmK/nlouIOwDfiqzcC3QlWZ6NO+loP4LG5v2KX5T20J3o0LfYl/HQVr8GvW3hystUZXVb2vzRThmHSnl9dTxGa2afM7DEz6zGzu83sjaPc9j/NzFVc0jahWBvwIdRQnSjlFyb1+eWiouGnH5gB/BX4JpCK4dSd9LfO4rlDOulvTbousdXAGfHvJ+Si4puSrMwYpH7/ywBlGCbV+dWtgWVm78cPyT4VeB1wL7DMzF46yt3W4PtslC4717qeIlJVnwTejp/36RxgbbLVSb1fxJdW4LpcVNwi4fqIyATV8wjW/wDfds5d6Zx7AD9Uex3wkVHu45xzT5ddVtWlpiISLBcVX4Vf3Bj8moN/SLA6WXIm8A9gVzZ1fheRjKnLYTUz6wBej//gAMA5N2hmNwP7jnLXqWb2OL4heA/weefc/SM8xyRgUlnRNIB58+ZNKhQKnXHZQD6f7ysUCu34b4gl/fl8vr9QKEwCbAzlvfGssR3AX4COQqEA/lu6q6gH+CHYRsVkaPl8vieeiba83OXz+Q3xueW2MZRXdZvKstpYXsNtagceAFoqnjfL21TP16l8/0vVNp3t5gHuGrDJhls+lQ3X99Ha0kP7wHR62ltwG7dpLR19/bS6GawfUse1dPQNYm46G4aUr2FSbwvOKicIfZ7JvW0MDCkfxNwaOvs66WstPxU4iLlBzL1I26NTym7fS+vgOjr6t6C3rYOBjV9Ae2gbGK7uI5UHblPPi7Sf3kfb+cCx/xat/uEJ1n3rGF6Pen9GlPY/CoWCkZJ9L2OfEeXv4UbZpnq+TuD/h5T+B1d9m4Z5vjGr13nLmfhwK49ArQJmj3Cfh/BHt/4EbIkfefRrM9vdObdimNufjO8kOsQxxxxzFlAajdONX6LjKPycMyU/Bpbij6rtVlZ+DXBH/NjblZVfiJ8c8CtAJ/7UB/jTn0X8EPRyxwFdFfXricvn4GeiLXkKvwjum/DnlkseiB/3ncChZeXV3qaz4m0qqek25fP5hYVC4bBG2ibq/zqdk8Jt2hPsjW0M9Od54NmXsP5Tj7LVTct45R+P4P6jOxiYWbrxcrZZ0s3Oj7yP+z7Tgtv4wXcbO1+2kulrjmT58eUbtIS5527Pmun78/ixpbJBrPcy3nDuPqyYNZdVR5bKe2ldfQWvv+wAHps7i+cOKZW/SPsj1/DaJS/QueIwHjquVP4cnfd+l9f85DD+fPBW9OxZKn+aqbdH7HZ7ngffM4W+XUvltdymn/HKhx9jq1cYXPOC6/jxNOstLUydpn0P/P6Vpn0vi58R5zTgNlGnbfpWjbdpwlLZMQzAOXcncGfpupn9GngQ+DjwhWHucia+j1fJNGDFokWLTlqwYMELcVlppNBi4Iay25ZGH1xKRWu67LGHtKbjn58HDgaWxY9d+oZwHENtAJ4eppx4m8rLS/Nm3AX8bpjyn+L7aJRUe5tOqqhfLbepJW5c/ZzG2aZ6vk6tbNr/1qdlmxa6fecCP4ivfuOXvGIJ+KM9ADey+5WVR3sAbmCPC8srVzras4S555aXr2FS71pm/mMl04eUA9zNjo/ez0s3lpfmuPoVuyy/mx0fKC/vpK/VcC0/YM75vXHdemkdBFjK7GUdDGzc1lLdC8z5fuURrFpt0wDWCVw9SMuOl/KG6SfQ/YH4T2nY92DT/vdsfJ/E9z2y9xnxf2x6D5fqkvVtqufrNAC8A98FqXwkcDW3acLqMg9WfIpwHXCEcy4qK78KmOGcy4/xcb4H9DvnjhrDbWs+D1Z8uHIhcFw+n0/bCMfUU35h0phfLip2Ar/Hfyv9NX5m8lTO5zSD9R1Hsvz4Jcw993km927+HonYAz8KswX4j+75XYsTrs9Gadz/skYZhkl7fnXp5O6c68V/6B5UKjOzlvj6nSPdr5yZtQJz8YfzRCSdvopvXD2H7+CeysZVhtwHfCf+/Ru5qLjdKLcVkRSp5yjC84CPmdmHzWwOfj6cKcCVAGZ2tZlt7ARvZl80s7eb2a5m9jrgWvw0DZfXsc4iMka5qPhm4HPx1YuBJ5KrTUO5DN8RegZwdTy3mIikXN0aWM657+I7qp8G/BHYC3hH2dQLL2Nop7atgG/jz5feBEwH9ouneEiLAXwnvjTMAp1Fyi9MavLLRcXp+CMthu9T95NEKzQGvbQOPkfnvaV+VynWj18Qug94K35usTRIzf6XYcowTKrz01qEIhIsFxWvAI7Gdyz9CPBMsjVqSB/AHyFcD8ztnt/1t4TrIyKjUAMrQDy3x1HA4nw+r74m46T8wqQlv1xUzAMRftTNycDNSdVlPLagt+0w/nzwUmYvW0dH6tYxG4bhTxe+FvgtsG/3/K7EvrmnZf/LMmUYJu351XUtwgbUip/bIy1rmWWN8guTeH65qPhS/Kl8gAJ+2HkmdDDQshU9e5ZPKJpyDvgifkT2G0h+MejE978GoAzDpDq/rHywiEjKxJ2tLwNeAjyG79ie9v5MWfcUmyY2/lIuKu6VYF1EZBRqYInIRH0YyOM7YX8deD7R2jSPpcDt+ImiF+eiYuXSJyKSAmpghenHT/mfhf4baaT8wiSWXy4q7oJfvgJgCX4W5EzpoW3gaabeXpqNPWNOwzdoZwNfS6gOev+GU4ZhUp2fOrmLyLjkomILvq/VAWxavmpdopVqTm/GT+bqgDd3z++6LdnqiEi51K5FmAXxit+fAC4NXXW7GSm/MAnm91l842o9cDYZbVxNp6c9z4PvKTDn+2voTN0IpDG4Ff/t/VDg2lxU3L17ftcLo9+levT+DacMw6Q9P50iDGP4ZUE0s/LEKL8wdc8vFxV3B86Ir34HWF6v5662FpxNoW/X8kWaM+hcYBWwE3BRnZ9b799wyjBMqvNTA0tExiQXFTuAa4BJ+FXnr0m2RgKsxU/dAPDheE4yEUkBNbBEZKy+gJ/kcg3+yElvstWR2O+BxfHvl+ei4swkKyMinhpYYfrx3+JTOYIhA5RfmLrll4uKbwI+H1+9FHi41s9Zaz20DTzKVjdldBRhpYvwc5HNBK6o04LQev+GU4ZhUp2fRhGKyKhyUXEK8AfglcCvgJNI6Qdak5sNXIWf1fro7vld30m2OiLNTQ2sAPEIhpOBM9M4giHtlF+YeuWXi4qXAP8FrAaOAf5eq+eqp+n0tB/B/UffyO5XZnQU4XCOAT4JvADs3j2/68laPZHev+GUYZi056dThGEM2I6UjmDIAOUXpub55aLiwfjGFfiJRRuicQV+FGEHAzMzPoqw0neAB4BpwHXxnGW1ovdvOGUYJtX5qYElIsPKRcWtgCviqzcByxKsjozNAHAKsAGYh5+zTEQSoAaWiIzkEmB7/FGrhfh/3pJ+TwAXxL+fkYuKsxOsi0jTUgMrTC/+tImGq0+M8gtTs/xyUfH9wFH4RtXXgX9U+zmStpaOvuVss2QtHY3S/6rc94Df4OcsW5KLiu01eA69f8MpwzCpzk+d3EVkiFxU3B64D9gK/4/6HGAw0UrJRLwE//pNBc7ont/1vwnXR6SpqIEVoFAodAJnASfl8/meWjxHI1N+YWqRXzx/0k3AO/BzXX0MPyKt4cxgfcf7uO8zN7DHhc8zOZXfgKvgYOCr+COR+3XP7/pNtR5Y799wyjBM2vPTKcJwnUlXIOOUX5hq5/dxfOOqFz9be0M2rkpacB1J16HGlgG/xM+NdV0uKk6u8uPr/RtOGYZJbX5qYIkIALmo+Ap8fyuA6/BLsEj2nYHvQ1f++opIjamBJSLkomIbcDWwBbAcPz1DY/YfaD7/BE6Nf/9kLiq+LcnKiDQLNbDC9OI/uBq1/0atKb8w1czvBGBf4EXgbGB9FR4z1dbS0XcbO1/WoKMIK/0a+GH8+1W5qDijCo+p9284ZRgm1fmpgRXGAUX0TX+ilF+YquSXi4p7sekIxyLgwbBqZcMg5lYyfc0g1iz733nASvzM15dW4fH0/g2nDMOkOj81sMJMwk/AOCnpimSU8gsTnF8uKnbiV6NvB+4CFlenauk3nQ0dR7L8+OlsaPSO7iXr8bO8DwLvj+c6C6H3bzhlGCbV+amBJdLcvgLsATyPn++qGU6XNbM/4fvaAVyai4rbJlkZkUamBpZIk8pFxf2BBfHVS4DHE6yO1M+l+DnOZuD7Y6VyoVyRrFMDS6QJ5aLidOAq/Cr0vwSWJlsjqaN+/KnCfuDt+LnPRKTK1MAKswE4Lv4p46f8woTkdx6wC7AKOB//z7aprGFS7xLmnruGSakcgVRjDwPfiH//ei4q7jqBx9D7N5wyDJPq/NTACmNAV/xTxk/5hZlQfrmoeBhwDH7kzULg6epXLf1acLY9a6a34Jp1/7sWuBc/99n1uajYOs776/0bThmGSXV+amCF6QC+FP+U8VN+YcadXy4qvgS4PL76I/zpwaY0ld72/Xn82Kn0tiddl4QMAl/Ajy7cBzhpnPfX+zecMgyT6vzUwBJpEnFn5m8BL8V3aL8YvwiwNK+V+DUnAb6ci4qvSbIyIo1EDSyR5vEh4HB8f6uvA88lWx1JiQJwB34utMW5qJjKOYVEskYNrHA9SVcg45RfmDHll4uKLwMuiq9+F7izZjXKkEGsGTu4D+c0/JqFuwFfHcf99P4NpwzDpDY/cy6VM8wHM7Pp+A+MLZ1za5Kuj0hSclGxBbgZOBB4CDgWv+agSLkD8ZPNDgIHdM/vuiPh+ohkWlvSFciyQqHQAswBHszn84NJ1ydrlF+YceT33/h/nj34hZzVuALaGLB9WDHrbnZ8tJ/WxvymOT63ADcBhwDX5qLiHt3zu9aOdGO9f8MpwzBpz0+nCMN0AJ8hpSMYMkD5hdlsfrmoOAf4Wnz1KvywfMGPIpzLqiObeBThcM4GngF2Bi7czG31/g2nDMOkOj81sEQaVC4qtuMXcu4E7mHTGnQiI1kLfDH+/ehcVDw0ycqIZJkaWCKN6xTg9cAL+CMTqZztWFLnd8CS+PcrclFx6yQrI5JVamCFccBT8U8ZP+UXZsT8clHxjcD/xle/hV8aRcoMYq6X1tWDmPa/f3UR8ATwEmDRCAtC6/0bThmGSXV+GkUo0mByUXEL4A/Aq4DbgROBvkQrJVk0B99vrwX4cPf8Lp1iFhkHNbACFAqFNuBNwF35fL7pFssNpfzCjJRfLipeiB85+A/go8CTydQw3Trpaz2Ax+b+il2W99CuGe2Hd2x8WQPs3j2/a0XpD3r/hlOGYdKen04RhmnDz46t6S4mRvmF+Zf8clHxbfjGFfjTPGpcjaCT/tZZPHdIJ/3jXeS4mVwBPAhMx0/dUP4/Q+/fcMowTKrzUwNLpEHkouJWwJXx1Z/FF5EQ/fgFoXuBA/BD4kVkDNTAEmkcFwE74BfwvQD/z1Ek1GPAwvj3M3NR8dUJ1kUkM9TACuOAB0jpCIYMUH5hNuaXi4rvBT6AX+bkPGB1khXLgkHMvUj7IxpFOCY34Kdv6MQvCN2G3r/VoAzDpDo/dXKfoFxUbAXmAdvhh4ne3j2/Sx1lx0j5hanIbwNwGbA1cCN+zqvULRshmbcNvqE1BTgd+CV6/06YPgPDZCG/uh7BMrNPmdljZtZjZneb2Rs3c/v3mtmf49svN7ND6lXX0eSi4rvxh81vAa6Pfz4Wl8tmKL8ww+T3fXzj6mngG6hxNSad9LXO54F5nfSpk/vYrGLTskunoPfvhOkzMExW8qtbA8vM3o8/dXEq8Dr8mmjLzOylI9x+P2AxsAh4LRABkZntUZcKjyB+AW/E93UptwNwY9pe4LRRfmFGyQ9gW/zM7TIGnfS3bsvaeRpFOC49I5Tr/TtG+gwMk6X86naK0MzuBn7rnPt0fL0FP4T8Iufc14a5/XeBKc65Q8vK7gL+6Jz7xBier+qnCONDko/hX8iRZjZeAcxK26HKNFB+YcaY3zPAYego1mbNYH3HkSw/fglzz32eyb1J1ycDWoCl+FOFw9H7dzP0GRgma/nVZe4IM+vAf7M+s1TmnBs0s5uBfUe42774I17llgHzR3iOScCksqJpAPPmzZtUKBQ647KBfD7fVygU2oHyb639+Xy+v1AoTGLoizakfAv22X8dHTuOtqnATuD+lov+sa6s3JX9vfzmLv5TSLnzV0csr9wJJ1A+XN0ntE1bgI0lv4dzUXFdRrZprOXVeJ3Gkt82HfS/YQv6/gCwhkm9LTibSm97+Q2fZ3JvGwNDygcxt4bOvk76WsuP6oxU3kvr4Do6+regt62DgY1Hw3toG+ihfWA6Pe0tZfUfqXwtHX39tLoZrO8or+NaOvoGMTedDUPKq7VN/jdnU8seP+vbVMvX6Z9Meo2jZaTGFfzr51/a30+bKR+u7sHbNNbPwPL/IWnfptHKq/06TRlLfoabVygUbgOGvM/y+XxPoVBoqSh3+Xx+QzxpaVtl+SjPtVn1mpxrJr5Bs6qifBUwe4T7bDvC7bcd4fYnA1+qLDzmmGPOYtMyId3A1cBRQK7sZj/GfzP7BLBbWfk1wB3xY2+3N39/+W3MGuHpy9nOY7hR6bYZKR+P0Me2XSb2OGnapuTq/lpWfnw3nn0K4AbmfnsmL057C48cWfr7INZ7Fa+7fHee2el1rDysVL6BtueuZ8/Fr2flnFex+sBS+QtMevJG9lg6j8ffsCP/fEOpfDVTHlzK7FsO4pEDZ/LinFL5Crb87S94xW/fzsOHTWPDTqXyvzDzlm52fvBQHjpqEv1blcrvYful97Ldk3ke/GgLbuMH3/+x65LVTHnhcB74WPn2VWubljL7pnW0t7ydv32+9J8h69tUy9dpKbNXrmYKmzeWz7+0vZ/S8Lk35D7DZJiFbUrH69TOwMvwbYXyNkEPcBx+Cajy+dyeAr6MnxH+Q2XlD7BpepIJSeXspxN0JkOPeE0DVixatOikBQsWvBCXlQ4ZLsaPhikpzRd0KRVHsMoe237HDvsDB22uIq0MnNOKe6h0vZfWPgNrZ2BI3r209RluSLkD10dbfysDra24ls2VD2KD/bQOtDHQ2lJWPoANDtA60E5/m5Vt00jlfbT2O8x10D/kG7Qvx3UwMKR8IttkDO7maDlpc/m1MHjWIC0PZGGb6vk6DWCvHqD1hM3ldy/bnf4MU++Mt2nDs0yxW5l1c8XNNvyVre9aw6TCpudscUDvn3nJb1Yy7brK8nvY/jcP07Uxg3V0DAD9v2HH325B78YjJmvo7AcGfsOOv29l0CrL72DnIeWrmNoLuNvY5Z7yCj7LlN4+Wt2tzLq7vLxa27SBtt6fMPvO6fQ0zDZRw9epyOS9gaPZjNLnX9rfT1D/z4ixvofL/4ekfZtGK6/269TKwB5jya+P1ifwg36OG+bPD1aUl47g3YWfiqSyfMLq0gcrPkW4DjjCOReVlV8FzHDO5Ye5zxPAec65C8rKTgXmO+f2HMNzqg9Wyii/MMqvuuKuAkcBi/P5vBbD3gztf+GUYZis5VeXUYTOuV7g95Qd/Yk7uR8E3DnC3e7kX48WvW2U29dc/IKVWr6VLdPS9c+m4YVNI+UXRvlVXSu+q4BGEY6B9r9wyjBM1vKr5zxY5wEfM7MPm9kc4Jv4CeuuBDCzq83szLLbLwTeYWYLzGy2mX0Z2Bu4uI51/hfd87t+ABwB/L3iTyuAI+K/ywiUXxjlJ0nS/hdOGYbJUn51ncndzD4NnIDvfPZH4DPOubvjv90KPOac+8+y278XP2PwLsBfgROdczeN8blKpwh3BF7YzM3HbfJOr27Zc8E337xPlzvu7qItvPfrn7x1/ZMPaWj8GCm/MMov3Lx58yYdc8wxZy1atOik22+/PWi0ULPR/hdOGYapc34vuAk0lhp5qZwd8C1aERERkYmaUF/uRm5gGbA9NTh6VWYavhFXk6NkTUD5hVF+YZRfGOUXThmGqVd+EzqC1UjTNAwRh1F5jraqfBsO8OFXfUHpRqf8wii/MMovjPILpwzDpD2/ui72LCIiItIM1MASERERqTI1sMJsAE6Nf8r4Kb8wyi+M8guj/MIpwzCpzq9hO7mLiIiIJEVHsERERESqTA0sERERkSpTA0tERESkytTAEhEREakyNbASYGWzo8n4KT+RbNN7eGJKuZlZa9J1ySIza4t/1mX/UwOrTszsfWb27/EaiaUyfciMkZkdamY5M5s2kSULBMzs5UnXIcvMbJ6ZvdrMOpKuSxaZ2Xwze5eZ7Zh0XbLIzE4GLgdwzg0kXJ3MMbOvAfeaWWe9/oc07FI5aWFmBwKLgHWAA3qACPiqGgqbZ2b7A1cD/fh1p+43s0udczeYWYtzTqvPb4aZHQRcAjxuZh93zj1mZqb9b2zM7F3ABUAvMBP4lZl9zTl3T6IVywgzOwy4EFgLTAWeAc4FvpdkvbLEzHYCvgC8YGZHOecWm1mrGlqbZ2bvAS7Gr1V4onOup17PrSNYNWRmWwMnANcAewKHAlcAp5lZPsm6ZYGZTQI+B9wE7AXkgSeAC81srnNuUEcBR2dmRwLn4f+pdQH/DhvX6pRRmFm7mX0W3zj4JvB24CPA7sD7dCRrdHF+J+Mb9wuBN+Hfw/8E9iudrpEx2Qu/tu4PgM/ER2EGzEz/w0cQ738X4RvyX3bOvco5F9WzDnpxaus1wEHAdc65Aefc48Av8d/kTtEpm+GVNZp2wTdKr3POrXXO3QWcBtwDXAlqKIykLMPVwDLgfcDDwDvM7PUVt5HhzcB/MToHfwTrKefcT4BfAPs653qV4aja8V+IjgMWOudedM79CVgDPOKc60+0dhlQtn9NwTeufhr/fiKAjuCPyoBVwHrn3LcAzOzzZnaSmR1rZlvWugJqYFVZxQduB/AnYLuysl7gD/hvwUcNc5+mZWbTYEijqR94BNjYb8059wjwVWB3M/tAfD/tx7FhMrwD/+3tafxh8m2Aw82szTnntO8NVcoPwDn3LP7b73cq/pE9AWwoZVjvOqZZRX7r8I37QiknM/sc8DbgADP7bzN7ZVyu9zBD84uVcnklsKVz7kfAz4F3m9lLzGwvM5tS10qmWMX+14vvnvOImd1nZsvxX9jn4T8LrzezfWpZH+3UVWBm+5tZwcxmx/+02uM/PYz/tvZFMzvIzP4duB34Df60w8dBR2HM7G1mdjOw2MwWmtkb4z/1409tva7iQ+Re/GnX40Hf4mDUDHudc+vi/mrdwK3AAfh/ck2/75UMk9+bAJxzNznneioaom8G/qIjMJuMsv/9o/T+NLMb8V0mTgceBd4N3Ah6Dw+T3xsqbtIFPBj/fiX+6MxKfJeTqfWraToNk1+p4fQs/qzHZOBS4K3OuUPxn4EtwEm1rJcaWAHMbAszOxV/6PbNxC+Wc64v/of2N+AsYD3+xb0WuNw5dyK+ofWcmb0skcqngJlNM7NvAIuBu+JLDjjbzGbGp1TvwjcGNn7TcM6tBX4N9Df7adbNZLjVMP+4LgJagbyZdcWP0Rr/bLrPg1Hy+1pZPi3OG4xPK8zBv+eb3hj2P1fW1+okYI5z7hzn3AnAl4EZZvaOJOqeBqPkd06cX6kT+zRghZnNBM7H74PPA2c451ZZk07bMEp+Z5nZ1vGXoFvwfSevj4+q4py7E/gVsJOZ7VKr+qmTYZgdgP3wozumAR8xs3c6536K/yc26Jz7OfBzM9vNOfdA2X1fi/9W8my9K50ibwVmA//unPs1gJn9Dv/BuxdwM3Am8C58p+K/xY0u8Pm+At9htpmNluGe+CNWxI2DlngE4Q3AB4B3xrddYGbHO+fWJLEBCRstv9cAt1Y0UnfCjwa+P77tS/EDB65zzq2vY73TYrP7X9mRvkfiBldp9NvWwJb4foLNarP5mR9MsTt+f7wWP+jnvfj38DHAjU08mnBz799bnHOr8Y0p4r+3xftkKzALP7qwJpruG2s1Oef+CpzjnPsmvq/GcuB/4r/1WSy+vrFxFX8ovxG4uEk/lEv68Ye7f1d29OQ+fONqLYBzrog/Crg3cIaZbW9+dGYO+BH+FGwzGy3DyuHIpdOBl+C//Z6Lbyi8Ct8VsBn7Y40pv7JsDgSeBP5pZqcAT+OPXjdjdjCO/a90Ojoe/TYdPwDoR/Htm9Vm84v7Et2K79N7uHPuPc65An7A1B5m9pZ6VzpFRstv2P+tzrn++H/IG4BLnHP/qFXldARrgsz8PELxESqcc4+aWQE4ycz+yzn3DaCl9M0i/oDO4T+g/xP4B006D0wpO+Bnzrm+ij9vDazAj/4AwDl3lZmtA74G/B/+aOFa4P3xh0/TGW+G4P/BxX3Z/gM/ZP6vwFHOuVvrUOVUmcA+WBoQcHD89wfwX1Df6ZxbVqdqp8ZE9j8z2wrYDdgD3xfreeAjro7zEqXFBPI7BTjdOfdi2X1/ANwcd0VpKhPc/7rwRwJ3Bxbg+/deW8t6qoE1QeWdg23ThJc/x58y/KiZ3eCcW13WEHNmtgH/AX2+c+7ihKqeuLJvspVvDIBX43f8xyru8z0zux1/SHemc25preuZZhPJMLYN8C3gBOfc12tWwZSbYH5d+NFcXfh/dgtrWcc0m2B+W+NHTu+Hn7bholrWMc3Gm1/8Rf3Fivs+S5N2MZng/jcTOBr/5fLierx/zWkQ0ajKWsrlZSPOoGtmBwOnArc7504ws1cDzzvnVsV/b6rZxyeQ3/eBZ5xzn4yvTwPWVj5GM6l2hqPdtxFVMz8zOxxY6ppoBGGV83sF8Kj2vwnn13QrMFQ5v1cDD9dr/1MfrGGY2XvM7CEzm1N2aqD0t/LTfkdYPBy07PzvbcCPgUPN7Ar80NoPl+7fDI2rieZnZjPw58VvjMtKh3H/o+4bkbBaZtgM/9xqkN8HAZxzP2yGxlUN8vsAgHOubv/cklSr92+zNK5quP89VNf9zzmnS3zBzydyKvA4sAH4yQi32wPoxh+ePXyYv58GDAJ/Bt6T9HZlJT/8ufHfA5/ET9C6Ejgi6e1Shtm5KD/lp/yye2m0/BIPNE0XfP+KbwHHAofgRygcFv+tdDq1Cz+i42Jg24r7b4FfmHgDflHJxLcpY/l9At8wXQecmvT2KMPsXZSf8lN+2b00Wn6JB5r0BdgX2K7s+uvx82MYfpr9h8v+1hL/nDnK4+WBaUlvVxbzwx/GPRWYmvR2KcPsXJSf8lN+2b00cn6JVyDBF/Ug/Dp3j+HntbkceEXZ3w1/uLGIH3EF0DrK41nS25TV/Nj0zaQt6e1Shtm5KD/lp/yye2mG/BKvQEIv7E7Anfi+Ui8HjgD+Bnwf2Lnsdi3A5/EzvXaN9KI220X5KcOkL8pP+Sm/7F6aJb/EK5DQi/s2/Dnal5eVvRs/nf6lFbfdHj/b9ZXx9dfiV+NO9Qur/NJ9UYbKT/ll96L8lN9YLs06TUNpZfLyBTILwDJgnpkdUCp0zq3Er2v0QTP7AX6Ewn4079IYoPyqQRmGUX5hlF8Y5RemKfJr1gbW/fglG2aXCpyfG+Mm/LngfKnczCbjZ4ZtBbYDDnTOneWaYD6rUSi/cMowjPILo/zCKL8wzZFf0ofQkrrgX8hbqRhtgJ9mIcI3PqcBZ+MXjfxY0nVO00X5KcOkL8pP+Sm/7F6aIb9mPYIFcDJ+8eUPmllHWfkTwO7OuUHn3AvAEufcZOfctxOpZXopv3DKMIzyC6P8wii/MA2fX9Mu9uycu9fMzgK+APSZ2RJ8i3lvylbYds7dk1AVU035hVOGYZRfGOUXRvmFaYb8mn6xZzO7BDgc32reFr9i+Xudcw8kWrGMUH7hlGEY5RdG+YVRfmEaOT81sMw6gTnA64ANzrlrN3MXKaP8winDMMovjPILo/zCNHJ+Td/AEhEREam2Zu7kLiIiIlITamCJiIiIVJkaWCIiIiJVpgaWiIiISJWpgSUiIiJSZWpgiYiIiFSZGlgiIiIiVaYGloiIiEiVqYElIiIiUmVqYImIiIhUmRpYIiIiIlWmBpaIiIhIlamBJSIiIlJlamCJiIiIVJkaWCIiIiJVpgaWiIiISJWpgSUiIiJSZWpgiYiIiFTZ/wf00kEU0AF4IgAAAABJRU5ErkJggg==" alt="AMD 趋势图" style="width: 100%; height: auto;" />
</div>
</div>
</div></div>
</div>
<div class="footer">
<div class="footer-content">
</div>
</div>
</div>
<script>
async function saveAsImage() {
const button = event.target;
const originalText = button.textContent;
try {
button.textContent = '生成中...';
button.disabled = true;
window.scrollTo(0, 0);
// 等待页面稳定
await new Promise(resolve => setTimeout(resolve, 200));
// 截图前隐藏按钮
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'hidden';
// 再次等待确保按钮完全隐藏
await new Promise(resolve => setTimeout(resolve, 100));
const container = document.querySelector('.container');
const canvas = await html2canvas(container, {
backgroundColor: '#ffffff',
scale: 1.5,
useCORS: true,
allowTaint: false,
imageTimeout: 10000,
removeContainer: false,
foreignObjectRendering: false,
logging: false,
width: container.offsetWidth,
height: container.offsetHeight,
x: 0,
y: 0,
scrollX: 0,
scrollY: 0,
windowWidth: window.innerWidth,
windowHeight: window.innerHeight
});
buttons.style.visibility = 'visible';
const link = document.createElement('a');
const now = new Date();
const filename = `TrendRadar_热点新闻分析_${now.getFullYear()}${String(now.getMonth() + 1).padStart(2, '0')}${String(now.getDate()).padStart(2, '0')}_${String(now.getHours()).padStart(2, '0')}${String(now.getMinutes()).padStart(2, '0')}.png`;
link.download = filename;
link.href = canvas.toDataURL('image/png', 1.0);
// 触发下载
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
button.textContent = '保存成功!';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
} catch (error) {
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'visible';
button.textContent = '保存失败';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
}
}
async function saveAsMultipleImages() {
const button = event.target;
const originalText = button.textContent;
const container = document.querySelector('.container');
const scale = 1.5;
const maxHeight = 5000 / scale;
try {
button.textContent = '分析中...';
button.disabled = true;
// 获取所有可能的分割元素
const newsItems = Array.from(container.querySelectorAll('.news-item'));
const wordGroups = Array.from(container.querySelectorAll('.word-group'));
const newSection = container.querySelector('.new-section');
const errorSection = container.querySelector('.error-section');
const header = container.querySelector('.header');
const footer = container.querySelector('.footer');
// 计算元素位置和高度
const containerRect = container.getBoundingClientRect();
const elements = [];
// 添加header作为必须包含的元素
elements.push({
type: 'header',
element: header,
top: 0,
bottom: header.offsetHeight,
height: header.offsetHeight
});
// 添加错误信息(如果存在)
if (errorSection) {
const rect = errorSection.getBoundingClientRect();
elements.push({
type: 'error',
element: errorSection,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
}
// 按word-group分组处理news-item
wordGroups.forEach(group => {
const groupRect = group.getBoundingClientRect();
const groupNewsItems = group.querySelectorAll('.news-item');
// 添加word-group的header部分
const wordHeader = group.querySelector('.word-header');
if (wordHeader) {
const headerRect = wordHeader.getBoundingClientRect();
elements.push({
type: 'word-header',
element: wordHeader,
parent: group,
top: groupRect.top - containerRect.top,
bottom: headerRect.bottom - containerRect.top,
height: headerRect.height
});
}
// 添加每个news-item
groupNewsItems.forEach(item => {
const rect = item.getBoundingClientRect();
elements.push({
type: 'news-item',
element: item,
parent: group,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
});
});
// 添加新增新闻部分
if (newSection) {
const rect = newSection.getBoundingClientRect();
elements.push({
type: 'new-section',
element: newSection,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
}
// 添加footer
const footerRect = footer.getBoundingClientRect();
elements.push({
type: 'footer',
element: footer,
top: footerRect.top - containerRect.top,
bottom: footerRect.bottom - containerRect.top,
height: footer.offsetHeight
});
// 计算分割点
const segments = [];
let currentSegment = { start: 0, end: 0, height: 0, includeHeader: true };
let headerHeight = header.offsetHeight;
currentSegment.height = headerHeight;
for (let i = 1; i < elements.length; i++) {
const element = elements[i];
const potentialHeight = element.bottom - currentSegment.start;
// 检查是否需要创建新分段
if (potentialHeight > maxHeight && currentSegment.height > headerHeight) {
// 在前一个元素结束处分割
currentSegment.end = elements[i - 1].bottom;
segments.push(currentSegment);
// 开始新分段
currentSegment = {
start: currentSegment.end,
end: 0,
height: element.bottom - currentSegment.end,
includeHeader: false
};
} else {
currentSegment.height = potentialHeight;
currentSegment.end = element.bottom;
}
}
// 添加最后一个分段
if (currentSegment.height > 0) {
currentSegment.end = container.offsetHeight;
segments.push(currentSegment);
}
button.textContent = `生成中 (0/${segments.length})...`;
// 隐藏保存按钮
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'hidden';
// 为每个分段生成图片
const images = [];
for (let i = 0; i < segments.length; i++) {
const segment = segments[i];
button.textContent = `生成中 (${i + 1}/${segments.length})...`;
// 创建临时容器用于截图
const tempContainer = document.createElement('div');
tempContainer.style.cssText = `
position: absolute;
left: -9999px;
top: 0;
width: ${container.offsetWidth}px;
background: white;
`;
tempContainer.className = 'container';
// 克隆容器内容
const clonedContainer = container.cloneNode(true);
// 移除克隆内容中的保存按钮
const clonedButtons = clonedContainer.querySelector('.save-buttons');
if (clonedButtons) {
clonedButtons.style.display = 'none';
}
tempContainer.appendChild(clonedContainer);
document.body.appendChild(tempContainer);
// 等待DOM更新
await new Promise(resolve => setTimeout(resolve, 100));
// 使用html2canvas截取特定区域
const canvas = await html2canvas(clonedContainer, {
backgroundColor: '#ffffff',
scale: scale,
useCORS: true,
allowTaint: false,
imageTimeout: 10000,
logging: false,
width: container.offsetWidth,
height: segment.end - segment.start,
x: 0,
y: segment.start,
windowWidth: window.innerWidth,
windowHeight: window.innerHeight
});
images.push(canvas.toDataURL('image/png', 1.0));
// 清理临时容器
document.body.removeChild(tempContainer);
}
// 恢复按钮显示
buttons.style.visibility = 'visible';
// 下载所有图片
const now = new Date();
const baseFilename = `TrendRadar_热点新闻分析_${now.getFullYear()}${String(now.getMonth() + 1).padStart(2, '0')}${String(now.getDate()).padStart(2, '0')}_${String(now.getHours()).padStart(2, '0')}${String(now.getMinutes()).padStart(2, '0')}`;
for (let i = 0; i < images.length; i++) {
const link = document.createElement('a');
link.download = `${baseFilename}_part${i + 1}.png`;
link.href = images[i];
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
// 延迟一下避免浏览器阻止多个下载
await new Promise(resolve => setTimeout(resolve, 100));
}
button.textContent = `已保存 ${segments.length} 张图片!`;
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
} catch (error) {
console.error('分段保存失败:', error);
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'visible';
button.textContent = '保存失败';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
}
}
document.addEventListener('DOMContentLoaded', function() {
window.scrollTo(0, 0);
});
</script>
</body>
</html>