diff --git a/.env b/.env
index dd83577..184020c 100644
--- a/.env
+++ b/.env
@@ -3,6 +3,6 @@ ALPHA_VANTAGE_KEY=2ROWPV7BMW6JSG0Y
JQUANTS_REFRESH_TOKEN=eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAifQ.AzlbVPyDZZ1OQc35ICxAtQeb2j51DhSGy69dihg6lEznIgRNgHn5wmhFOnNz_Nh7z-1AJj66d2T4Naj76lRpHhXk5FCViUzZqaNkz9Q_TnoHt90Pp_Op-1cHORbjfCGpW3cvT9En6UZxodjDliRzqCpqJ52UCLLWUJfJIwyFy5-QcWTEOGOdVRXTHtihy-w7ylw7ocUj3gd34NLGPr45yG0fTmo7om_MWBPbVsWvWOjdvrEtee43xEuZTheqbRgU3IRxa7ff1zIRDSrbH-nWIBPsh-XXV2r2OZTBARairjnUA0Ikma224UF_m5acpPwcs4UwrbeKyq13K3N1f3ohDA.6Zi0U52Kps9h3ezu.RPeBbqcqaca9F8ZuSkLN8o5Kk-IARoHW5ij58DFjYpvc7-ZXhATPYOBHJKQ3tFL2fE08nnb9TMmjvErsF7MFxcxt1XnDfhbak55SFzw3yGfXhD6VqeLaSoPwcs_cFuXNtfQEeibyMpcUUj2dXltgc1axqIA1Lndyw9RMPOyH3b0wShyd7WCPiO7amktMUNDMkbgUDR6wYGEpWYxug9ySaGuu0JSAH6sDR2TRkuUOhgBfhsKIvqSQNahM5yRQpeJ0zvY3UOUxADyaKTTK_kNco9mMjoymQIK6eO30cCJva89hITytncWDxRCG5TsMuXJeqHkg2_RCZ6gckSZAYkiWmeXrw26qBOqZ8efV5aMo4D6NMLPVLyPeLJX3Vnpuzw_ySpMKewhmTmSaKZUXRWc06VXIln8YVZDAH7uGbkZHk4Gq0nDxH6xH7sSQROFOZlPuYeaJ5Ye07-_0QunvvVwCtvF69GpURukG8s7qQ-c6x5iWPJa0icommt6I6EHif3_X_oaHfcioQgjDD3zJIhKjHHZGp4yZhskuXhV3p-M9FiKeJFMhBK085UkopMFUHGa6p3DPmxA-UzVb8UbPqE4xvYrqujLg3rnwSOQjpnzLNcjVy9GhKVHqIpTTLtAmaXinkM4LExPfyVlGOAbE70q1C_VtEMIbwCNh5yd1JMo__WP-w_VQt9X_GF1k_8bUGLRJEUYIhuZX9cgZkFwiUCdSXOxBOZ6XM8vnTYj0J7bMkkbaJNIITzPEAz1HjbyN0N82os3aLq9PpMsay0QLREfkzKaWdjWs-Dj9mjJl7rl22GFe_wC1sT90W9iGMH8pjNsEU8byFXe_Gb6ZCzfWydk2eK1LRMW_N_IMg4oA-bp92dToAhiHci793mkDwDVqe_Yd06CClVZfX1cSuPZQfj2OwARQWqHrN6ZX7UnnHippvcvrJmqABDEHL-JyA5wcdCQOkHqQZsZvXTlDO6nyucTwOrI9jRStdjbFSpqDJV7unIVztEezzQFleLQ1bumMJwkvWHIqxM4js1d8xajFIBcvWC4BndlU0zp5Th39PShFb0_cmhEbhCSpzaofWW5-BLPmhIxyIAGbXKAR2mUwfBYnNzGdPffa3-EOiYR-CfYHFn9Vq7DZivcAj9FbMiOWaU5L-qU_ucpKOJ85gSUudVt59JMZWHniXdiURQUEuz3Q5ntCVM1Dhh2ir_-JHVpuK7VZ13HFgaMAE5zE4iIBltGo2XDT_5F1KsqoHVNtMnRSs8syN-kBsUEuQNwaZr5Jh6e4cmQKdHWRIycHMouYhTGiZHA5-R_lNtuipLyERQ-agaUGyZ7eqY6rDrk1Vsbbf_oAqfs_P3plB60jRQ.AkfSJSjSunnRAS2Ahrjx1Q
OPENAI_API_KEY=AIzaSyAT5QXWoACp87oqg1OK4USTIwc2RsJHvIc
OPENAI_BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai/
-LLM_MODEL=gemini-3-pro-preview
+LLM_MODEL=gemini-2.5-flash
IFIND_REFRESH_TOKEN=eyJzaWduX3RpbWUiOiIyMDI1LTEyLTIxIDE3OjQwOjU2In0=.eyJ1aWQiOiI3MjMwNDQwNzciLCJ1c2VyIjp7ImFjY2Vzc1Rva2VuIjoiYzk5NjdlNGUzNmJjZDliNzI2ZjM5YmQ5MGFkOWQwY2Q4NzE3OTllZi5zaWduc19Oekl6TURRME1EYzMiLCJhY2Nlc3NUb2tlbkV4cGlyZWRUaW1lIjoiMjAyNS0xMi0yMSAxNzo0MDo1NiIsImFjY291bnQiOiJ3eGhsdHowMDEiLCJhdXRoVXNlckluZm8iOnsiRVRyYW5zZmVyIjp0cnVlLCJFZXhjZWxQYXllcnMiOiIxNzk4NjgzMDAyMDAwIn0sImNvZGVDU0kiOltdLCJjb2RlWnpBdXRoIjpbXSwiaGFzQUlQcmVkaWN0IjpmYWxzZSwiaGFzQUlUYWxrIjpmYWxzZSwiaGFzQ0lDQyI6ZmFsc2UsImhhc0NTSSI6ZmFsc2UsImhhc0V2ZW50RHJpdmUiOmZhbHNlLCJoYXNGVFNFIjpmYWxzZSwiaGFzRmFzdCI6ZmFsc2UsImhhc0Z1bmRWYWx1YXRpb24iOmZhbHNlLCJoYXNISyI6dHJ1ZSwiaGFzTE1FIjpmYWxzZSwiaGFzTGV2ZWwyIjpmYWxzZSwiaGFzUmVhbENNRSI6ZmFsc2UsImhhc1RyYW5zZmVyIjpmYWxzZSwiaGFzVVMiOmZhbHNlLCJoYXNVU0FJbmRleCI6ZmFsc2UsImhhc1VTREVCVCI6ZmFsc2UsIm1hcmtldEF1dGgiOnsiRENFIjpmYWxzZX0sIm1heE9uTGluZSI6MSwibm9EaXNrIjpmYWxzZSwicHJvZHVjdFR5cGUiOiJTVVBFUkNPTU1BTkRQUk9EVUNUIiwicmVmcmVzaFRva2VuIjoiIiwicmVmcmVzaFRva2VuRXhwaXJlZFRpbWUiOiIyMDI2LTEyLTMxIDEwOjEwOjAyIiwic2Vzc3Npb24iOiI4ZmYxNzVmYzNmZDkxMzA3YTRlOWIzMTE3Njc4NDlhNiIsInNpZEluZm8iOns2NDoiMTExMTExMTExMTExMTExMTExMTExMTExIiwxOiIxMDEiLDI6IjEiLDY3OiIxMDExMTExMTExMTExMTExMTExMTExMTEiLDM6IjEiLDY5OiIxMTExMTExMTExMTExMTExMTExMTExMTExIiw1OiIxIiw2OiIxIiw3MToiMTExMTExMTExMTExMTExMTExMTExMTAwIiw3OiIxMTExMTExMTExMSIsODoiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEiLDEzODoiMTExMTExMTExMTExMTExMTExMTExMTExMSIsMTM5OiIxMTExMTExMTExMTExMTExMTExMTExMTExIiwxNDA6IjExMTExMTExMTExMTExMTExMTExMTExMTEiLDE0MToiMTExMTExMTExMTExMTExMTExMTExMTExMSIsMTQyOiIxMTExMTExMTExMTExMTExMTExMTExMTExIiwxNDM6IjExIiw4MDoiMTExMTExMTExMTExMTExMTExMTExMTExIiw4MToiMTExMTExMTExMTExMTExMTExMTExMTExIiw4MjoiMTExMTExMTExMTExMTExMTExMTEwMTEwIiw4MzoiMTExMTExMTExMTExMTExMTExMDAwMDAwIiw4NToiMDExMTExMTExMTExMTExMTExMTExMTExIiw4NzoiMTExMTExMTEwMDExMTExMDExMTExMTExIiw4OToiMTExMTExMTEwMTEwMTAwMDAwMDAxMTExIiw5MDoiMTExMTEwMTExMTExMTExMTEwMDAxMTExMTAiLDkzOiIxMTExMTExMTExMTExMTExMTAwMDAxMTExIiw5NDoiMTExMTExMTExMTExMTExMTExMTExMTExMSIsOTY6IjExMTExMTExMTExMTExMTExMTExMTExMTEiLDk5OiIxMDAiLDEwMDoiMTExMTAxMTExMTExMTExMTExMCIsMTAyOiIxIiw0NDoiMTEiLDEwOToiMSIsNTM6IjExMTExMTExMTExMTExMTExMTExMTExMSIsNTQ6IjExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiw1NzoiMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAiLDYyOiIxMTExMTExMTExMTExMTExMTExMTExMTEiLDYzOiIxMTExMTExMTExMTExMTExMTExMTExMTEifSwidGltZXN0YW1wIjoiMTc2NjMxMDA1NjAzNyIsInRyYW5zQXV0aCI6ZmFsc2UsInR0bFZhbHVlIjowLCJ1aWQiOiI3MjMwNDQwNzciLCJ1c2VyVHlwZSI6IkZSRUVJQUwiLCJ3aWZpbmRMaW1pdE1hcCI6e319fQ==.03DB82A62F865C511B2C2BD464B535B62B0081C47AE33540D5D236CEF0C1FE9D
GEMINI_API_KEY=AIzaSyAT5QXWoACp87oqg1OK4USTIwc2RsJHvIc
\ No newline at end of file
diff --git a/Prompt/内部人与机构动向分析.md b/Prompt/内部人与机构动向分析.md
index b66f251..b1a1dff 100644
--- a/Prompt/内部人与机构动向分析.md
+++ b/Prompt/内部人与机构动向分析.md
@@ -5,12 +5,11 @@
为公司 **{company_name}** (股票代码: **{ts_code}**) 生成一份关于内部人与机构投资者动向的深度分析报告。报告需覆盖**最近6-12个月**的数据,并解读这些“聪明钱”的行为可能暗示的公司前景。
#### # 输出要求
-1. **数据驱动**:分析必须基于公开的、可验证的数据(如交易所披露的内部人交易记录、基金公司的持仓报告如13F文件等)。
+1. **数据驱动**:请严格使用一级标题 `# {company_name} 内部人及机构动向分析` 作为报告的第一行。开头不要自我介绍,直接开始正文。正文用MarkDown输出,尽量说明信息来源,用斜体显示信息来源。
2. **聚焦近期**:重点分析最近6-12个月的动向,以捕捉最新的趋势变化。
3. **深度解读,而非罗列**:不仅要呈现数据,更要深入分析交易行为背后的动机。例如,区分主动的公开市场增持与被动的股权激励,分析机构的“新进”与“清仓”。
4. **结合股价**:将内部人和机构的动向与同期的股价走势相结合,分析是否存在“低位吸筹”或“高位派发”的迹象。
-5. **Markdown格式**:使用清晰的标题结构。
-6. **引用来源**:*在分析时需注明数据来源类型,如:来源:Q3季度机构持仓报告*。
+5. **引用来源**:*在分析时需注明数据来源类型,如:来源:Q3季度机构持仓报告*。
---
diff --git a/Prompt/基本面分析.md b/Prompt/基本面分析.md
index 9937b02..8b8e789 100644
--- a/Prompt/基本面分析.md
+++ b/Prompt/基本面分析.md
@@ -5,12 +5,11 @@
为公司 **{company_name}** (股票代码: **{ts_code}**) 生成一份全面、专业、结构化的投资分析报告。**请使用搜索工具验证管理层的最新言论、最新的行业政策变化以及近期的公司重大新闻。**
#### # 输出要求
-1. **直接开始**:不要进行任何自我介绍或客套话,直接输出报告正文。
-2. **Markdown格式**:使用清晰的多级Markdown标题(如 `##` 和 `###`)来组织报告结构。
-3. **引用来源**:所有关键数据和重要结论都必须注明信息来源,并用*斜体*表示。例如:*来源:2023年公司年报*。优先使用公司财报、官方公告等可靠信源。
-4. **数据驱动**:尽可能地使用量化数据来支撑你的分析。
-5. **专业口吻**:保持客观、中立、分析性的专业语调。
-6. **信息缺失处理**:如果某些信息在公开渠道无法获取,请明确指出“相关信息未公开披露”或类似说明。
+1. **输出规范**:请严格使用一级标题 `# {company_name} 基本面分析` 作为报告的第一行。开头不要自我介绍,直接开始正文。正文用MarkDown输出,尽量说明信息来源,用斜体显示信息来源。
+2. **引用来源**:所有关键数据和重要结论都必须注明信息来源,并用*斜体*表示。例如:*来源:2023年公司年报*。优先使用公司财报、官方公告等可靠信源。
+3. **数据驱动**:尽可能地使用量化数据来支撑你的分析。
+4. **专业口吻**:保持客观、中立、分析性的专业语调。
+5. **信息缺失处理**:如果某些信息在公开渠道无法获取,请明确指出“相关信息未公开披露”或类似说明。
---
diff --git a/Prompt/看涨分析.md b/Prompt/看涨分析.md
index 77d2371..d920518 100644
--- a/Prompt/看涨分析.md
+++ b/Prompt/看涨分析.md
@@ -5,12 +5,11 @@
为公司 **{company_name}** (股票代码: **{ts_code}**) 生成一份深入的看涨分析报告。**请搜索最新的研报摘要和市场评论,以确保你的分析包含当前市场的最新观点。**报告的核心是论证该公司拥有被市场低估的隐藏资产、持续加深的护城河,并且其所处行业将迎来至少3年以上的景气周期。
#### # 输出要求
-1. **直奔主题**:直接开始分析,无需引言。
-2. **Markdown格式**:使用清晰的标题结构来组织你的论点。
-3. **数据与来源**:所有关键论点都必须有数据、事实或合理的逻辑推演作为支撑。请用*斜体*注明信息来源(如:*来源:公司2023年投资者交流纪要* 或 *来源:中信证券行业研报*)。
-4. **聚焦看涨逻辑**:报告内容应完全围绕支撑看涨观点的论据展开,暂时忽略风险和负面因素。
-5. **前瞻性视角**:分析应侧重于未来3-5年的发展潜力,而不仅仅是回顾历史。
-6. **信息缺失处理**:如果某些推论需要的数据无法公开获取,可以基于现有信息进行合理的逻辑推测,并明确标注“(此为基于...的推测)”。
+1. **输出规范**:请严格使用一级标题 `# {company_name} 看涨分析` 作为报告的第一行。开头不要自我介绍,直接开始正文。正文用MarkDown输出,尽量说明信息来源,用斜体显示信息来源。
+2. **数据与来源**:所有关键论点都必须有数据、事实或合理的逻辑推演作为支撑。请用*斜体*注明信息来源(如:*来源:公司2023年投资者交流纪要* 或 *来源:中信证券行业研报*)。
+3. **聚焦看涨逻辑**:报告内容应完全围绕支撑看涨观点的论据展开,暂时忽略风险和负面因素。
+4. **前瞻性视角**:分析应侧重于未来3-5年的发展潜力,而不仅仅是回顾历史。
+5. **信息缺失处理**:如果某些推论需要的数据无法公开获取,可以基于现有信息进行合理的逻辑推测,并明确标注“(此为基于...的推测)”。
---
diff --git a/Prompt/看跌分析.md b/Prompt/看跌分析.md
index 5ca5c7d..bbd6699 100644
--- a/Prompt/看跌分析.md
+++ b/Prompt/看跌分析.md
@@ -5,12 +5,11 @@
为公司 **{company_name}** (股票代码: **{ts_code}**) 生成一份审慎的看跌分析报告(Bear Case)。**请搜索最新的研报摘要和市场评论,以确保你的分析包含当前市场的最新观点。**报告需要深入探讨可能侵蚀公司护城河的因素、被市场忽视的潜在风险、行业可能面临的逆风,并对公司的价值底线进行评估。
#### # 输出要求
-1. **直奔主题**:直接开始风险分析,无需引言。
-2. **Markdown格式**:使用清晰的标题结构组织风险论点。
-3. **证据驱动**:所有风险点都必须基于事实、数据或严谨的逻辑推演。请用*斜体*注明信息来源(如:*来源:竞争对手2023年财报* 或 *来源:行业监管政策草案*)。
-4. **聚焦看跌逻辑**:报告应完全围绕看跌观点展开,旨在识别和放大潜在的负面因素。
-5. **底线思维**:分析的核心是评估“事情最坏能到什么程度”,并判断公司的安全边际。
-6. **信息缺失处理**:对于难以量化的风险(如管理层风险),进行定性分析和逻辑阐述。
+1. **输出规范**:请严格使用一级标题 `# {company_name} 看跌分析` 作为报告的第一行。开头不要自我介绍,直接开始正文。正文用MarkDown输出,尽量说明信息来源,用斜体显示信息来源。
+2. **证据驱动**:所有风险点都必须基于事实、数据或严谨的逻辑推演。请用*斜体*注明信息来源(如:*来源:竞争对手2023年财报* 或 *来源:行业监管政策草案*)。
+3. **聚焦看跌逻辑**:报告应完全围绕看跌观点展开,旨在识别和放大潜在的负面因素。
+4. **底线思维**:分析的核心是评估“事情最坏能到什么程度”,并判断公司的安全边际。
+5. **信息缺失处理**:对于难以量化的风险(如管理层风险),进行定性分析和逻辑阐述。
---
diff --git a/backend/app/__init__.py b/backend/app/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/backend/app/__pycache__/__init__.cpython-313.pyc b/backend/app/__pycache__/__init__.cpython-313.pyc
new file mode 100644
index 0000000..d448951
Binary files /dev/null and b/backend/app/__pycache__/__init__.cpython-313.pyc differ
diff --git a/backend/app/__pycache__/database.cpython-313.pyc b/backend/app/__pycache__/database.cpython-313.pyc
new file mode 100644
index 0000000..519ca65
Binary files /dev/null and b/backend/app/__pycache__/database.cpython-313.pyc differ
diff --git a/backend/app/__pycache__/main.cpython-313.pyc b/backend/app/__pycache__/main.cpython-313.pyc
new file mode 100644
index 0000000..c82955b
Binary files /dev/null and b/backend/app/__pycache__/main.cpython-313.pyc differ
diff --git a/backend/app/__pycache__/models.cpython-313.pyc b/backend/app/__pycache__/models.cpython-313.pyc
new file mode 100644
index 0000000..56f75ee
Binary files /dev/null and b/backend/app/__pycache__/models.cpython-313.pyc differ
diff --git a/backend/app/__pycache__/schemas.cpython-313.pyc b/backend/app/__pycache__/schemas.cpython-313.pyc
new file mode 100644
index 0000000..850e232
Binary files /dev/null and b/backend/app/__pycache__/schemas.cpython-313.pyc differ
diff --git a/backend/app/api/__pycache__/routes.cpython-313.pyc b/backend/app/api/__pycache__/routes.cpython-313.pyc
new file mode 100644
index 0000000..a59f488
Binary files /dev/null and b/backend/app/api/__pycache__/routes.cpython-313.pyc differ
diff --git a/backend/app/api/routes.py b/backend/app/api/routes.py
new file mode 100644
index 0000000..a24f709
--- /dev/null
+++ b/backend/app/api/routes.py
@@ -0,0 +1,169 @@
+from fastapi import APIRouter, Depends, HTTPException, BackgroundTasks
+from fastapi.responses import HTMLResponse
+from sqlalchemy.ext.asyncio import AsyncSession
+from sqlalchemy import select
+from sqlalchemy.orm import selectinload
+from app.database import get_db
+from app.schemas import StockSearchRequest, StockSearchResponse, AnalysisRequest, ReportResponse, AnalysisStatus, ConfigUpdateRequest
+from app.models import Report, Setting
+from app.services import analysis_service
+import os
+import markdown
+
+router = APIRouter()
+
+@router.get("/health")
+def health_check():
+ return {"status": "healthy"}
+
+@router.post("/search", response_model=list[StockSearchResponse])
+async def search_stock(request: StockSearchRequest, db: AsyncSession = Depends(get_db)):
+ setting = await db.get(Setting, "GEMINI_API_KEY")
+ api_key = setting.value if setting else os.getenv("GEMINI_API_KEY")
+
+ if not api_key:
+ raise HTTPException(status_code=500, detail="API Key not configured")
+
+ # Get AI model setting
+ model_setting = await db.get(Setting, "AI_MODEL")
+ model = model_setting.value if model_setting else "gemini-2.0-flash"
+
+ result = await analysis_service.search_stock(request.query, api_key, model)
+ if isinstance(result, dict) and "error" in result:
+ if isinstance(result, str) and "```json" in result:
+ pass
+ raise HTTPException(status_code=400, detail=str(result))
+ return result
+
+@router.post("/analyze", response_model=ReportResponse)
+async def start_analysis(request: AnalysisRequest, background_tasks: BackgroundTasks, db: AsyncSession = Depends(get_db)):
+ # Get AI model setting
+ model_setting = await db.get(Setting, "AI_MODEL")
+ model = model_setting.value if model_setting else "gemini-2.0-flash"
+
+ new_report = Report(
+ market=request.market,
+ symbol=request.symbol,
+ company_name=request.company_name,
+ status=AnalysisStatus.PENDING,
+ ai_model=model
+ )
+ db.add(new_report)
+ await db.commit()
+ await db.refresh(new_report)
+
+ setting = await db.get(Setting, "GEMINI_API_KEY")
+ api_key = setting.value if setting else os.getenv("GEMINI_API_KEY")
+
+ if not api_key:
+ new_report.status = AnalysisStatus.FAILED
+ await db.commit()
+ raise HTTPException(status_code=500, detail="API Key not configured")
+
+ # Trigger background task
+ background_tasks.add_task(
+ analysis_service.run_analysis_task,
+ new_report.id,
+ request.market,
+ request.symbol,
+ api_key
+ )
+
+ # Re-fetch with selectinload to avoid lazy loading issues
+ result = await db.execute(select(Report).options(selectinload(Report.sections)).where(Report.id == new_report.id))
+ report_with_sections = result.scalar_one()
+
+ return report_with_sections
+
+@router.get("/reports", response_model=list[ReportResponse])
+async def get_reports(db: AsyncSession = Depends(get_db)):
+ result = await db.execute(select(Report).options(selectinload(Report.sections)).order_by(Report.created_at.desc()))
+ return result.scalars().all()
+
+@router.get("/reports/{report_id}", response_model=ReportResponse)
+async def get_report(report_id: int, db: AsyncSession = Depends(get_db)):
+ result = await db.execute(select(Report).options(selectinload(Report.sections)).where(Report.id == report_id))
+ report = result.scalar_one_or_none()
+ if not report:
+ raise HTTPException(status_code=404, detail="Report not found")
+ return report
+
+@router.get("/reports/{report_id}/html", response_class=HTMLResponse)
+async def get_report_html(report_id: int, db: AsyncSession = Depends(get_db)):
+ result = await db.execute(select(Report).options(selectinload(Report.sections)).where(Report.id == report_id))
+ report = result.scalar_one_or_none()
+ if not report:
+ raise HTTPException(status_code=404, detail="Report not found")
+
+ # Get Financial HTML (Charts)
+ root_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../../"))
+ base_dir = os.path.join(root_dir, "data", report.market)
+ symbol_dir = os.path.join(base_dir, report.symbol)
+
+ # Fuzzy match logic
+ financial_html = ""
+ try:
+ if not os.path.exists(symbol_dir) and os.path.exists(base_dir):
+ candidates = [d for d in os.listdir(base_dir) if d.startswith(report.symbol) and os.path.isdir(os.path.join(base_dir, d))]
+ if candidates:
+ symbol_dir = os.path.join(base_dir, candidates[0])
+
+ start_html_path = os.path.join(symbol_dir, "report.html")
+ if os.path.exists(start_html_path):
+ with open(start_html_path, 'r', encoding='utf-8') as f:
+ financial_html = f.read()
+ else:
+ financial_html = "
西高院 (688334.SH) - Financial Report
-
Report generated on: 2025-12-30
+
Report generated on: 2026-01-03
@@ -223,8 +223,8 @@
| 688334.SH |
西高院 |
2023-06-19 |
- 26.83 |
- 2.15 |
+ 26.80 |
+ 2.14 |
0.00% |
@@ -293,10 +293,10 @@
| 人均创利(万) | - | 32.67 | - | - | - | - | - |
| 人均薪酬(万) | - | 31.98 | - | - | - | - | - |
| 市场表现 | |
-| 股价 | 19.38 | 16.33 | 17.33 | - | - | - | - |
-| 市值(亿) | 61.35 | 51.70 | 54.86 | - | - | - | - |
-| PE | 26.83 | 31.84 | 42.09 | - | - | - | - |
-| PB | 2.15 | 1.88 | 1.84 | - | - | - | - |
+| 股价 | 19.36 | 16.33 | 17.33 | - | - | - | - |
+| 市值(亿) | 61.29 | 51.70 | 54.86 | - | - | - | - |
+| PE | 26.80 | 31.84 | 42.09 | - | - | - | - |
+| PB | 2.14 | 1.88 | 1.84 | - | - | - | - |
| 股东户数 | 11,192 | 12,364 | 15,965 | 7 | - | - | - |
diff --git a/data/CN/688334.SH/report.md b/data/CN/688334.SH/report.md
index 66ba8e2..293a759 100644
--- a/data/CN/688334.SH/report.md
+++ b/data/CN/688334.SH/report.md
@@ -1,9 +1,9 @@
# 西高院 (688334.SH) - Financial Report
-*Report generated on: 2025-12-30*
+*Report generated on: 2026-01-03*
| 代码 | 简称 | 上市日期 | PE | PB | 股息率(%) |
|:---|:---|:---|:---|:---|:---|
-| 688334.SH | 西高院 | 2023-06-19 | 26.83 | 2.15 | 0.00% |
+| 688334.SH | 西高院 | 2023-06-19 | 26.80 | 2.14 | 0.00% |
## 主要指标
@@ -81,9 +81,9 @@
## 市场表现
| 指标 | 2025Q3 | 2024A | 2023A | 2022A | 2021A | 2020A | 2019A |
|:---|--:|--:|--:|--:|--:|--:|--:|
-| 股价 | 19.38 | 16.33 | 17.33 | - | - | - | - |
-| 市值(亿) | 61.35 | 51.70 | 54.86 | - | - | - | - |
-| PE | 26.83 | 31.84 | 42.09 | - | - | - | - |
-| PB | 2.15 | 1.88 | 1.84 | - | - | - | - |
+| 股价 | 19.36 | 16.33 | 17.33 | - | - | - | - |
+| 市值(亿) | 61.29 | 51.70 | 54.86 | - | - | - | - |
+| PE | 26.80 | 31.84 | 42.09 | - | - | - | - |
+| PB | 2.14 | 1.88 | 1.84 | - | - | - | - |
| 股东户数 | 11,192 | 12,364 | 15,965 | 7 | - | - | - |
diff --git a/data/CN/688778.SH/historical_metrics.csv b/data/CN/688778.SH/historical_metrics.csv
new file mode 100644
index 0000000..7265a61
--- /dev/null
+++ b/data/CN/688778.SH/historical_metrics.csv
@@ -0,0 +1,12 @@
+date_str,Price,PE,PB,MarketCap,Shareholders
+20250930,83.9,85.7029,4.8332,42343581864.0,14720.0
+20241231,45.64,36.4088,2.2251,19203988486.0,14740.0
+20240930,36.74,29.3089,1.8186,15459126577.000002,13770.0
+20231231,39.64,14.885,1.9711,16679362480.0,13732.0
+20221231,77.68,42.0398,2.934,23346779541.000004,14462.0
+20211231,103.35,103.7733,7.2703,25999993794.0,15688.0
+20201231,,,,,
+20191231,,,,,
+20181231,,,,,
+20171231,,,,,
+20161231,,,,,
diff --git a/data/CN/688778.SH/raw_balance_sheet.csv b/data/CN/688778.SH/raw_balance_sheet.csv
new file mode 100644
index 0000000..b00955a
--- /dev/null
+++ b/data/CN/688778.SH/raw_balance_sheet.csv
@@ -0,0 +1,37 @@
+ts_code,ann_date,f_ann_date,end_date,report_type,comp_type,end_type,total_share,cap_rese,undistr_porfit,surplus_rese,special_rese,money_cap,trad_asset,notes_receiv,accounts_receiv,oth_receiv,prepayment,div_receiv,int_receiv,inventories,amor_exp,nca_within_1y,sett_rsrv,loanto_oth_bank_fi,premium_receiv,reinsur_receiv,reinsur_res_receiv,pur_resale_fa,oth_cur_assets,total_cur_assets,fa_avail_for_sale,htm_invest,lt_eqt_invest,invest_real_estate,time_deposits,oth_assets,lt_rec,fix_assets,cip,const_materials,fixed_assets_disp,produc_bio_assets,oil_and_gas_assets,intan_assets,r_and_d,goodwill,lt_amor_exp,defer_tax_assets,decr_in_disbur,oth_nca,total_nca,cash_reser_cb,depos_in_oth_bfi,prec_metals,deriv_assets,rr_reins_une_prem,rr_reins_outstd_cla,rr_reins_lins_liab,rr_reins_lthins_liab,refund_depos,ph_pledge_loans,refund_cap_depos,indep_acct_assets,client_depos,client_prov,transac_seat_fee,invest_as_receiv,total_assets,lt_borr,st_borr,cb_borr,depos_ib_deposits,loan_oth_bank,trading_fl,notes_payable,acct_payable,adv_receipts,sold_for_repur_fa,comm_payable,payroll_payable,taxes_payable,int_payable,div_payable,oth_payable,acc_exp,deferred_inc,st_bonds_payable,payable_to_reinsurer,rsrv_insur_cont,acting_trading_sec,acting_uw_sec,non_cur_liab_due_1y,oth_cur_liab,total_cur_liab,bond_payable,lt_payable,specific_payables,estimated_liab,defer_tax_liab,defer_inc_non_cur_liab,oth_ncl,total_ncl,depos_oth_bfi,deriv_liab,depos,agency_bus_liab,oth_liab,prem_receiv_adva,depos_received,ph_invest,reser_une_prem,reser_outstd_claims,reser_lins_liab,reser_lthins_liab,indept_acc_liab,pledge_borr,indem_payable,policy_div_payable,total_liab,treasury_share,ordin_risk_reser,forex_differ,invest_loss_unconf,minority_int,total_hldr_eqy_exc_min_int,total_hldr_eqy_inc_min_int,total_liab_hldr_eqy,lt_payroll_payable,oth_comp_income,oth_eqt_tools,oth_eqt_tools_p_shr,lending_funds,acc_receivable,st_fin_payable,payables,hfs_assets,hfs_sales,cost_fin_assets,fair_value_fin_assets,contract_assets,contract_liab,accounts_receiv_bill,accounts_pay,oth_rcv_total,fix_assets_total,cip_total,oth_pay_total,long_pay_total,debt_invest,oth_debt_invest,update_flag
+688778.SH,20251025,20251025,20250930,1,1,3,504691083.0,5818208533.03,2479844878.66,214820118.68,12282305.61,1545793268.02,500442636.26,1839327.09,3274558318.21,,130703889.23,,,4569106828.6,,,,,,,,,355007697.24,11039334912.82,,,415510546.21,,,,,,,,,,,370513677.49,,,44411168.29,220019183.01,,16911220.86,6373569230.97,,,,,,,,,,,,,,,,,17412904143.79,447616071.43,120400122.89,,,,,3665057664.16,3066752513.67,,,,55164809.04,98888075.08,,,,,,,,,,,64654828.5,20669849.14,7304476725.81,,,,,4384868.99,224181221.79,,681175461.69,,,,,,,,,,,,,,,,,7985652187.5,40681250.74,,,,418377886.29,9008874070.0,9427251956.29,17412904143.79,,19708401.76,,,,,,,,,,,,153327226.04,3276397645.3,6731810177.83,15278233.65,4073431901.54,1223761602.64,59561637.29,,,,0
+688778.SH,20250821,20250821,20250630,1,1,2,420771001.0,5980998615.03,2254580025.92,214820118.68,10986948.86,1925619331.91,452848488.37,862810.22,2653122909.26,13857820.73,29731089.94,,,3406881668.77,,,,,,,,,331675486.73,9590168002.06,,,415470604.91,,,,,4160461453.53,1024036414.83,1521025.67,,,,373670278.51,,,48384794.99,205801152.05,,26518522.99,6262709682.38,,,,,,,,,,,,,,,,,15852877684.44,462823571.43,1000555.56,,,,,2632467734.77,2587599845.49,,,,37008036.65,73624358.13,0.0,167840164.8,177335582.28,,,,,,,,122969832.77,8200676.86,5865761534.39,,15051000.0,0.0,,4841118.48,225708875.21,,711016587.65,,,,,,,,,,,,,,,,,6576778122.04,40681250.74,,,,414332884.58,8861766677.82,9276099562.4,15852877684.44,,20291219.07,,,,,,,,,,,,57714747.08,2653985719.48,5220067580.26,13857820.73,4160461453.53,1025557440.5,345175747.08,15051000.0,,,0
+688778.SH,20250426,20250426,20250331,1,1,1,420771001.0,6021816631.03,2240482843.24,214820118.68,9689859.87,1707849630.67,496376102.55,947690.59,1809824299.93,,8768184.65,,,2542453622.12,,,,,,,,,232860256.56,8423965478.58,,,415977451.35,,,,,,,,,,,365729961.7,,,10418654.65,169439229.74,,22718264.2,6136492636.01,,,,,,,,,,,,,,,,,14560458114.59,506008571.43,51015472.22,,,,,2366407210.72,1736793518.57,,,,19501146.6,39430771.84,,,,,,,,,,,98350032.57,29607629.45,4615008442.36,,,,,4473686.47,226952588.46,,755140858.02,,,,,,,,,,,,,,,,,5370149300.38,40681250.74,,,,326391709.65,8863917104.56,9190308814.21,14560458114.59,,-2982098.52,,,,,,,,,,,,220943898.1,1810771990.52,4103200729.29,7837927.77,3610087029.75,1533301175.73,52958762.29,15005500.0,,,0
+688778.SH,20250426,20250426,20241231,1,1,4,420771001.0,6021816631.03,2123803846.04,214820118.68,6590712.99,1635067409.62,502771663.1,1195272.09,2347613108.04,6351202.73,11962195.59,,,2475618756.49,,,,,,,,,266851450.49,8571406980.55,,,416662417.57,,,,,3521133209.36,1668282052.68,4557771.37,,,,368656890.1,,,11786299.66,159606804.46,,14312989.12,6175794737.1,,,,,,,,,,,,,,,,,14747201717.65,466008571.43,135113287.0,,,,,2507864315.54,2158602215.76,,,,2083891.9,29878259.78,,,50188008.72,,,,,,,,100767693.29,1505170.56,4988619782.67,,15051000.0,0.0,,5563194.82,206843010.88,,696165327.24,,,,,,,,,,,,,,,,,5684785109.91,35686512.11,,,,325036212.13,8737380395.61,9062416607.74,14747201717.65,,-14735402.02,,,,,,,,,,,,2616940.12,2348808380.13,4666466531.3,6351202.73,3521133209.36,1672839824.05,50188008.72,15051000.0,,,0
+688778.SH,20241026,20241026,20240930,1,1,3,420771001.0,6021798952.03,2012208604.84,199832907.64,10068766.81,1575690496.69,501121089.25,219480.0,2856712366.32,,10319732.67,,,2490601595.32,,,,,,,,,251842832.02,8627631043.92,,,400022531.92,,,,,,,,,,,371662761.09,,,13153944.67,140145132.64,,18549619.2,5984108197.64,,,,,,,,,,,,,,,,,14611739241.56,477808571.43,375258965.26,,,,,2431711657.85,2053239580.59,,,,53861753.51,28513417.24,,,,,,,,,,,94536142.76,3880350.22,5093967391.38,,,,,5558134.61,118401717.01,,632184028.57,,,,,,,,,,,,,,,,,5726151419.95,35686512.11,,,,255136815.67,8630451005.94,8885587821.61,14611739241.56,,1457285.73,,,,,,,,,,,,32054045.53,2856931846.32,4484951238.44,7343219.92,3433040248.22,1594762223.28,20911478.42,24008000.0,,,0
+688778.SH,20240803,20240803,20240630,1,1,2,420771001.0,6021772433.53,1883807423.11,199832907.64,7580205.59,1745078933.9,460608386.58,2991201.81,2720076645.72,6602374.42,18230598.96,,,2531115018.13,,,,,,,,,285296221.94,8048971243.32,,,400637570.06,,,,,3523795961.19,1456687005.18,2021527.74,,,,371524116.23,,,14521589.67,140060389.38,,21526079.92,5945521409.8,,,,,,,,,,,,,,,,,13994492653.12,429808571.0,670445231.38,,,,,1685385560.02,2129124673.92,,,,35524893.5,28152239.11,,,28790370.09,,,,,,,,45634235.02,5157181.8,4645039378.61,,24054000.0,0.0,,5967980.05,123371606.98,,590972034.78,,,,,,,,,,,,,,,,,5236011413.39,30686900.84,,,,257818217.35,8500663022.38,8758481239.73,13994492653.12,,-2414047.65,,,,,,,,,,,,16824993.77,2723067847.53,3814510233.94,6602374.42,3523795961.19,1458708532.92,28790370.09,24054000.0,,,0
+688778.SH,20240418,20240418,20240331,1,1,1,420771001.0,6021745915.03,2049921950.92,199832907.64,5177982.21,2275740582.93,500876430.82,,2893769412.77,,16115381.88,,,2078364225.01,,,,,,,,,200580185.86,8595404790.72,,,400755898.78,,,,,,,,,,,374519366.27,,,15889234.65,126804886.81,,14926708.33,5805701621.21,,,,,,,,,,,,,,,,,14401106411.93,760779999.58,815587998.1,,,,,1406075604.9,2178811908.46,,,,21352165.21,19329571.22,,,,,,,,,,,45089308.04,4733223.6,4556879306.42,,,,,6515006.29,123386496.95,,924497513.02,,,,,,,,,,,,,,,,,5481376819.44,30686900.84,,,,257393694.76,8662335897.73,8919729592.49,14401106411.93,,-4426958.23,,,,,,,,,,,,33670026.01,2893769412.77,3584887513.36,11471053.58,3410187410.45,1446324786.87,32229500.88,24008800.0,,,0
+688778.SH,20240418,20240418,20231231,1,1,4,420771001.0,6021719396.53,1938633235.51,199832907.64,804629.39,1199576265.64,504162210.94,,3498587724.59,5769293.18,10075576.63,,,1963826719.94,,,,,,,,,176475707.88,7832748733.17,,,397211336.32,,,,,3499556801.18,1155352545.11,22698144.44,,,,377542166.79,,,17256879.63,125590126.18,,34889569.2,5648294785.75,,,,,,,,,,,,,,,,,13481043518.92,704659999.58,,,,,,1399871073.03,2274599472.5,,,,4525017.82,14386237.35,,,25636686.53,,,,,,,,33144082.03,13114504.06,3769581831.51,,24054300.0,0.0,,8172130.69,124477636.92,,872111628.59,,,,,,,,,,,,,,,,,4641693460.1,,,,,257787975.43,8581562083.39,8839350058.82,13481043518.92,,-199086.68,,,,,,,,,,,,4304758.19,3498587724.59,3674470545.53,5769293.18,3499556801.18,1178050689.55,25636686.53,24054300.0,,,1
+688778.SH,20240418,20240418,20231231,1,1,4,420771001.0,6021719396.53,1938633235.51,199832907.64,804629.39,1199576265.64,504162210.94,,3498587724.59,5769293.18,10075576.63,,,1963826719.94,,,,,,,,,176475707.88,7832748733.17,,,397211336.32,,,,,3499556801.18,1155352545.11,22698144.44,,,,377542166.79,,,17256879.63,125590126.18,,34889569.2,5648294785.75,,,,,,,,,,,,,,,,,13481043518.92,704659999.58,,,,,,1399871073.03,2274599472.5,,,,4525017.82,14386237.35,,,25636686.53,,,,,,,,33144082.03,13114504.06,3769581831.51,,24054300.0,0.0,,8172130.69,124477636.92,,872111628.59,,,,,,,,,,,,,,,,,4641693460.1,,,,,257787975.43,8581562083.39,8839350058.82,13481043518.92,,-199086.68,,,,,,,,,,,,4304758.19,3498587724.59,3674470545.53,5769293.18,3499556801.18,1178050689.55,25636686.53,24054300.0,,,0
+688778.SH,20231025,20231025,20230930,1,1,3,420771001.0,6021660466.54,1868696597.11,154709975.68,,1334892684.78,451014937.1,,3530900109.56,,77740591.6,,,2134257378.86,,,,,,,,,121639085.14,8534952133.7,,,399737910.46,,,,,,,,,,,333458007.05,,,7572011.58,113898110.65,,96203507.43,5351742851.11,,,,,,,,,,,,,,,,,13886694984.81,1103819090.86,50029166.67,,,,,820248680.43,2480723671.52,,,,38275773.38,77731416.82,,,,,,,,,,,375788341.59,16245211.98,3894934129.86,,,,,3090658.55,131347747.61,,1273514422.6,,,,,,,,,,,,,,,,,5168448552.46,,,,,256431441.01,8461814991.34,8718246432.35,13886694984.81,,-4023048.99,,,,,,,,,,,,7814535.69,3530900109.56,3300972351.95,21771032.42,3467272141.06,916958863.04,28077331.78,24008000.0,,,0
+688778.SH,20230825,20230825,20230630,1,1,2,420771001.0,6021601536.55,1710967174.89,154709975.68,,1597900433.09,201454664.57,,2987388341.95,21258146.22,39772945.39,,,1960109005.71,,,,,,,,,44360472.61,7875924190.64,,,400535887.11,,,,,3553312964.53,384767917.18,1162538.94,,,,336130016.01,,,8908249.62,103824860.97,,224221106.99,5026351337.09,,,,,,,,,,,,,,,,,12902275527.73,1501151405.57,,,,,,295981433.63,2031720276.28,,,,27885610.43,37020714.04,,,30168093.89,,,,,,,,239537917.18,13881292.69,2688589686.47,,24054000.0,0.0,,3230476.91,115320486.84,,1653049356.56,,,,,,,,,,,,,,,,,4341639043.03,,,,,256138870.58,8304497614.12,8560636484.7,12902275527.73,,-3552074.0,,,,,,,,,,,,12394348.33,2987388341.95,2327701709.91,21258146.22,3553312964.53,385930456.12,30168093.89,24054000.0,,,0
+688778.SH,20230825,20230825,20230630,1,1,2,420771001.0,6021601536.55,1710967174.89,154709975.68,,1597900433.09,201454664.57,,2987388341.95,21258146.22,39772945.39,,,1960109005.71,,,,,,,,,44360472.61,7875924190.64,,,400535887.11,,,,,3553312964.53,384767917.18,1162538.94,,,,336130016.01,,,8908249.62,103824860.97,,224221106.99,5026351337.09,,,,,,,,,,,,,,,,,12902275527.73,1501151405.57,,,,,,295981433.63,2031720276.28,,,,27885610.43,37020714.04,,,30168093.89,,,,,,,,239537917.18,13881292.69,2688589686.47,,24054000.0,0.0,,3230476.91,115320486.84,,1653049356.56,,,,,,,,,,,,,,,,,4341639043.03,,,,,256138870.58,8304497614.12,8560636484.7,12902275527.73,,-3552074.0,,,,,,,,,,,,12394348.33,2987388341.95,2327701709.91,21258146.22,3553312964.53,385930456.12,30168093.89,24054000.0,,,1
+688778.SH,20230422,20230422,20230331,1,1,1,300550715.0,6141762892.56,1722150085.25,154709975.68,,1580482702.21,300087805.56,,3039266760.95,,43286831.55,,,2771028896.03,,,,,,,,,26621468.78,8997505460.62,,,400909859.42,,,,,,,,,,,280367962.48,,,10244491.66,104818195.73,,77003350.59,4674203817.25,,,,,,,,,,,,,,,,,13671709277.87,1165804246.29,0.0,,,,,1057685550.04,2093879855.28,,,,20253611.29,88165196.59,,,,,,,,,,,581748338.58,13198672.55,3881989545.25,,,,,3370295.26,119821959.31,,1327371143.85,,,,,,,,,,,,,,,,,5209360689.1,,,,,150216133.25,8312132455.52,8462348588.77,13671709277.87,,-7041212.97,,,,,,,,,,,,4289999.49,3039266760.95,3151565405.32,10498623.19,3586978678.53,193481765.22,22768321.43,24008800.0,,,0
+688778.SH,20230422,20230422,20221231,1,1,4,300550715.0,6141703962.57,1606576984.32,154709975.68,,1016518212.28,450225555.56,,4954899159.13,6117940.83,17145274.8,,,3351688644.71,,,,,,,,,65190158.73,11052268211.11,,,100264507.77,,,,,3637033016.57,177340923.55,2044274.04,,,,280225858.46,,,,105148736.62,,9520705.23,4328097105.81,,,,,,,,,,,,,,,,,15380365316.92,870785472.33,70057750.0,,,,,3038568961.1,2095600006.69,,,,5510765.63,96853300.33,,,23623245.07,,,,,,,,627113259.93,39336009.35,6002179181.29,,24054300.0,0.0,,3510113.61,119336271.79,,1028026698.17,,,,,,,,,,,,,,,,,7030205879.46,,,,,150616320.93,8199543116.53,8350159437.46,15380365316.92,,-3998521.04,,,,,,,,,,,,5515883.19,4954899159.13,5134168967.79,6117940.83,3637033016.57,179385197.59,23623245.07,24054300.0,,,1
+688778.SH,20230422,20230422,20221231,1,1,4,300550715.0,6141703962.57,1606576984.32,154709975.68,,1016518212.28,450225555.56,,4954899159.13,6117940.83,17145274.8,,,3351688644.71,,,,,,,,,65190158.73,11052268211.11,,,100264507.77,,,,,3637033016.57,177340923.55,2044274.04,,,,280225858.46,,,,105148736.62,,9520705.23,4328097105.81,,,,,,,,,,,,,,,,,15380365316.92,870785472.33,70057750.0,,,,,3038568961.1,2095600006.69,,,,5510765.63,96853300.33,,,23623245.07,,,,,,,,627113259.93,39336009.35,6002179181.29,,24054300.0,0.0,,3510113.61,119336271.79,,1028026698.17,,,,,,,,,,,,,,,,,7030205879.46,,,,,150616320.93,8199543116.53,8350159437.46,15380365316.92,,-3998521.04,,,,,,,,,,,,5515883.19,4954899159.13,5134168967.79,6117940.83,3637033016.57,179385197.59,23623245.07,24054300.0,,,0
+688778.SH,20221027,20221027,20220930,1,1,3,300550715.0,6185087323.97,1389990119.99,86447320.65,,2351453876.42,,,5073953535.1,,112551416.26,,,3714034719.4,,,,,,,,,101871929.46,12043107989.06,,,,,,,,,,,,,,265836531.66,,,,100162482.43,,30919090.07,4093445621.21,,,,,,,,,,,,,,,,,16136553610.27,1428072507.13,70052500.0,,,,,3603322999.67,2348868061.23,,,,32088069.27,104309459.74,,,,,,,,,,,193831766.39,47642521.6,6448527606.02,,,,,3649931.97,119377319.94,,1582430402.87,,,,,,,,,,,,,,,,,8030958008.89,,,,,148244549.24,7957351052.14,8105595601.38,16136553610.27,,-4724427.47,,,,,,,,,,,,21725775.98,5073953535.1,5952191060.9,15424019.56,3372393995.64,309960485.39,26686452.14,24008000.0,,,0
+688778.SH,20220728,20220728,20220630,1,1,2,251572267.0,2740472177.12,1063438583.49,86447320.65,,712228108.61,,,4529376013.18,13110490.42,34145657.81,,,3560832200.78,,,,,,,,,173933995.77,9480020802.6,,,,,,,,3379939953.31,205035401.3,6443630.61,,,,240026250.67,,,,99671046.9,,22422124.48,3956497956.45,,,,,,,,,,,,,,,,,13436518759.05,1539492298.61,221255739.79,,,,,3441042930.79,3452596850.72,,,,23348040.85,72855709.38,,,30220087.67,,,,,,,,190636034.1,25847512.55,7462985434.39,,24054000.0,0.0,,3789750.32,120602784.94,,1688550777.33,,,,,,,,,,,,,,,,,9151536211.72,,,,,146095140.38,4138887406.95,4284982547.33,13436518759.05,,-3042941.31,,,,,,,,,,,,5182528.54,4529376013.18,6893639781.51,13110490.42,3379939953.31,211479031.91,30220087.67,24054000.0,,,0
+688778.SH,20220427,20220427,20220331,1,1,1,251572267.0,2740345477.61,863714904.27,86447320.65,,1101069754.39,100542222.22,,3436873278.72,,50089551.2,,,3597928149.36,,,,,,,,,292908756.7,9049396562.79,,,,,,,,,,,,,,241406634.79,,,,84634501.16,,9379079.79,3931466576.56,,,,,,,,,,,,,,,,,12980863139.35,1762067980.56,252279643.85,,,,,2860307852.01,3522177792.5,,,,16500173.33,46037389.26,,,,,,,,,,,255172170.07,32859202.09,7026278156.39,,,,,3929568.67,115899122.44,,1907123524.78,,,,,,,,,,,,,,,,,8933401681.17,,,,,108255417.25,3939206040.93,4047461458.18,12980863139.35,,-2873928.6,,,,,,,,,,,,10624906.52,3436873278.72,6382485644.51,19602600.19,3041653212.69,550841689.11,30319026.76,24008800.0,,,0
+688778.SH,20220331,20220331,20211231,1,1,4,251572267.0,2740218778.11,656816278.43,86447320.65,,425014387.51,200542222.22,,2953734709.32,17747849.68,16872654.29,,,2795347589.34,,,,,,,,,279581019.99,6799751280.56,,,,,,,,2796332676.46,473200177.8,40179437.26,,,,242333479.09,,,,85886312.47,,74618577.85,3716694029.79,,,,,,,,,,,,,,,,,10516445310.35,1383336129.18,6380208.52,,,,,1297720378.95,3484571286.14,,,,8728513.13,62796306.83,,,27153295.52,,,,,,,,254635446.17,38469299.5,5190947432.49,,24064300.0,0.0,,4069387.02,120001104.94,,1533289305.71,,,,,,,,,,,,,,,,,6724236738.2,,,,,56325166.9,3735883405.25,3792208572.15,10516445310.35,,828761.06,,,,,,,,,,,,10492697.73,2953734709.32,4782291665.09,17747849.68,2796332676.46,513379615.06,27153295.52,24064300.0,,,0
+688778.SH,20211029,20211029,20210930,1,1,3,251572267.0,2739821000.61,556697264.25,30211210.62,,1435013449.1,,,1864210088.39,,14772623.97,,,1902430656.58,,,,,,,,,180285784.85,5777108826.95,,,0.0,,,,,,,,,,,243702801.28,,,,66507494.12,,45232940.44,3452190028.33,,,,,,,,,,,,,,,,,9229298855.28,1027414645.85,600591666.67,,,,,995342099.92,2429404927.79,,,,8014959.58,27427598.19,,,,,,,,,,,258823325.86,34270433.81,4418389246.11,,,,,4209205.38,124934337.26,,1180566188.49,,,,,,,,,,,,,,,,,5598955434.6,,,,,54162859.17,3576180561.51,3630343420.68,9229298855.28,,-2121180.97,,,,,,,,,,,,29750463.8,1864210088.39,3424747027.71,26915414.97,2585975097.63,510166188.45,34763770.49,24008000.0,,,1
+688778.SH,20211029,20211029,20210930,1,1,3,251572267.0,2739821000.61,556697264.25,30211210.62,,1435013449.1,,,1864210088.39,,14772623.97,,,1902430656.58,,,,,,,,,180285784.85,5777108826.95,,,0.0,,,,,,,,,,,243702801.28,,,,66507494.12,,45232940.44,3452190028.33,,,,,,,,,,,,,,,,,9229298855.28,1027414645.85,600591666.67,,,,,995342099.92,2429404927.79,,,,8014959.58,27427598.19,,,,,,,,,,,258823325.86,34270433.81,4418389246.11,,,,,4209205.38,124934337.26,,1180566188.49,,,,,,,,,,,,,,,,,5598955434.6,,,,,54162859.17,3576180561.51,3630343420.68,9229298855.28,,-2121180.97,,,,,,,,,,,,29750463.8,1864210088.39,3424747027.71,26915414.97,2585975097.63,510166188.45,34763770.49,24008000.0,,,0
+688778.SH,20210804,20210804,20210630,1,1,2,188679200.0,1355637100.18,408613668.14,30211210.62,,165891758.98,,,1790399271.32,,32576460.7,,,1685741587.99,,,,,,,,,165851148.12,4096114781.6,,,,,,,,,,,,,,245071182.29,,,,65770790.58,,82877230.64,3293744972.26,,,,,,,,,,,,,,,,,7389859753.86,949633960.11,1106316183.92,,,,,897748189.53,1874404379.84,,,,5578055.18,28181937.82,,,,,,,,,,,269813191.41,35518184.06,4255579697.55,,,,,4349023.73,122663403.1,,1100700386.94,,,,,,,,,,,,,,,,,5356280084.49,,,,,50538798.04,1983040871.33,2033579669.37,7389859753.86,,-100307.61,,,,,,,,,,,,9745456.37,1790399271.32,2772152569.37,38911829.45,2282206035.24,616608720.69,28274119.42,24054000.0,,,0
+688778.SH,20210719,20210719,20210331,1,1,1,188679200.0,1372187447.23,269497926.04,30211210.62,,302698033.33,,,1369143049.46,42416555.99,27000108.55,,,1859683758.59,,,,,,,,,137204483.53,4214041918.61,,,4168399.11,,,,,2326394609.57,375425028.94,64870978.92,,,,246441445.66,,,,64093629.07,,37758555.23,3120981891.73,,,,,,,,,,,,,,,,,7335023810.34,1115380614.61,1178463331.84,,,,,509486444.4,2042485978.64,,,,20968157.43,25521091.65,,,87244225.56,,,,,,,,244330122.64,34012396.86,4148909533.59,,24008800.0,,,4488842.08,126437885.61,,1270316142.3,,,,,,,,,,,,,,,,,5419225675.89,,,,,59355861.51,1856442272.94,1915798134.45,7335023810.34,,-4133510.95,,,,,,,,,,,,6397784.57,1369143049.46,2551972423.04,42416555.99,2326394609.57,440296007.86,87244225.56,24008800.0,,,1
+688778.SH,20210719,20210719,20210331,1,1,1,188679200.0,1372187447.23,269497926.04,30211210.62,,302698033.33,,,1369143049.46,42416555.99,27000108.55,,,1859683758.59,,,,,,,,,137204483.53,4214041918.61,,,4168399.11,,,,,2326394609.57,375425028.94,64870978.92,,,,246441445.66,,,,64093629.07,,37758555.23,3120981891.73,,,,,,,,,,,,,,,,,7335023810.34,1115380614.61,1178463331.84,,,,,509486444.4,2042485978.64,,,,20968157.43,25521091.65,,,87244225.56,,,,,,,,244330122.64,34012396.86,4148909533.59,,24008800.0,,,4488842.08,126437885.61,,1270316142.3,,,,,,,,,,,,,,,,,5419225675.89,,,,,59355861.51,1856442272.94,1915798134.45,7335023810.34,,-4133510.95,,,,,,,,,,,,6397784.57,1369143049.46,2551972423.04,42416555.99,2326394609.57,440296007.86,87244225.56,24008800.0,,,0
+688778.SH,20210719,20210719,20201231,1,1,4,188679200.0,1372187447.23,157703141.03,30211210.62,,277915563.42,,,1234540796.12,44045894.07,77834786.48,,,1214093975.17,,,,,,,,,143646449.56,3199682391.8,,,4168399.11,,,,,2379475585.04,287718240.5,3034635.28,,,,247810767.85,,,,60071924.12,,39863485.51,3022143037.41,,,,,,,,,,,,,,,,,6221825429.21,1135256887.11,1042688943.47,,,,,426997585.58,1216933928.46,,,,17259766.01,10322947.11,,,150656168.85,,,,,,,,243571130.43,11948922.68,3122315655.13,,24054300.0,,,4628660.43,130361118.12,,1294300965.66,,,,,,,,,,,,,,,,,4416616620.79,,,,,57099191.26,1748109617.16,1805208808.42,6221825429.21,,-671381.72,,,,,,,,,,,,1936262.54,1234540796.12,1643931514.04,44045894.07,2379475585.04,290752875.78,150656168.85,24054300.0,,,0
+688778.SH,20210719,20210719,20201231,1,1,4,188679200.0,1372187447.23,157703141.03,30211210.62,,277915563.42,,,1234540796.12,44045894.07,77834786.48,,,1214093975.17,,,,,,,,,143646449.56,3199682391.8,,,4168399.11,,,,,2379475585.04,287718240.5,3034635.28,,,,247810767.85,,,,60071924.12,,39863485.51,3022143037.41,,,,,,,,,,,,,,,,,6221825429.21,1135256887.11,1042688943.47,,,,,426997585.58,1216933928.46,,,,17259766.01,10322947.11,,,150656168.85,,,,,,,,243571130.43,11948922.68,3122315655.13,,24054300.0,,,4628660.43,130361118.12,,1294300965.66,,,,,,,,,,,,,,,,,4416616620.79,,,,,57099191.26,1748109617.16,1805208808.42,6221825429.21,,-671381.72,,,,,,,,,,,,1936262.54,1234540796.12,1643931514.04,44045894.07,2379475585.04,290752875.78,150656168.85,24054300.0,,,1
+688778.SH,20200804,20200804,20200630,1,1,2,188679200.0,1372187447.23,28280871.19,4434618.18,,335696803.63,,,544877820.67,15209476.98,33333664.82,,,726728765.89,,,,,,,,,154141521.79,2376594686.77,,,4168399.11,,,,,2170886245.9,421366951.36,20528085.7,,,,250549412.23,,,,57612913.43,,3408956.24,2928520963.97,,,,,,,,,,,,,,,,,5305115650.74,235081766.61,1766444838.88,,,,,305044327.22,685608476.74,,,,12630193.37,2630804.62,,,262162841.06,,,,,,,,199334066.73,5422390.4,3239517887.46,,45102000.0,,,4908297.14,134409182.93,,419501246.68,,,,,,,,,,,,,,,,,3659019134.14,,,,,52996426.23,1593100090.37,1646096516.6,5305115650.74,,-482046.23,,,,,,,,,,,,239948.44,544877820.67,990652803.96,15209476.98,2170886245.9,441895037.06,262162841.06,45102000.0,,,1
+688778.SH,20200804,20200804,20200630,1,1,2,188679200.0,1372187447.23,28280871.19,4434618.18,,335696803.63,,,544877820.67,15209476.98,33333664.82,,,726728765.89,,,,,,,,,154141521.79,2376594686.77,,,4168399.11,,,,,2170886245.9,421366951.36,20528085.7,,,,250549412.23,,,,57612913.43,,3408956.24,2928520963.97,,,,,,,,,,,,,,,,,5305115650.74,235081766.61,1766444838.88,,,,,305044327.22,685608476.74,,,,12630193.37,2630804.62,,,262162841.06,,,,,,,,199334066.73,5422390.4,3239517887.46,,45102000.0,,,4908297.14,134409182.93,,419501246.68,,,,,,,,,,,,,,,,,3659019134.14,,,,,52996426.23,1593100090.37,1646096516.6,5305115650.74,,-482046.23,,,,,,,,,,,,239948.44,544877820.67,990652803.96,15209476.98,2170886245.9,441895037.06,262162841.06,45102000.0,,,0
+688778.SH,20210719,20210719,20191231,1,1,4,170013678.78,950602909.7,349705428.69,44420543.12,,51441116.28,,,659595746.14,29934557.63,21015750.51,,,859942113.12,,,,,,,,,153255848.88,2522597549.44,,,3591492.88,,,,,1997148158.52,502545983.97,2279045.74,,,,253288056.61,,,,56895322.56,,9635842.43,2825383902.71,,,,,,,,,,,,,,,,,5347981452.15,167037351.99,1751453791.66,,,,,338210765.0,881064981.51,2462418.17,,,24634198.68,2707700.97,,,331207875.32,,,,,,,,57197129.74,22579471.5,3411518332.55,,55136000.0,,,5187933.84,141293807.82,,368655093.65,,,,,,,,,,,,,,,,,3780173426.2,,,,,55769691.16,1512038334.79,1567808025.95,5347981452.15,,-2704225.5,,,,,,,,,,,,,659595746.14,1219275746.51,29934557.63,1997148158.52,504825029.71,331207875.32,55136000.0,,,0
+688778.SH,20210719,20210719,20191231,1,1,4,170013678.78,950602909.7,349705428.69,44420543.12,,51441116.28,,,659595746.14,29934557.63,21015750.51,,,859942113.12,,,,,,,,,153255848.88,2522597549.44,,,3591492.88,,,,,1997148158.52,502545983.97,2279045.74,,,,253288056.61,,,,56895322.56,,9635842.43,2825383902.71,,,,,,,,,,,,,,,,,5347981452.15,167037351.99,1751453791.66,,,,,338210765.0,881064981.51,2462418.17,,,24634198.68,2707700.97,,,331207875.32,,,,,,,,57197129.74,22579471.5,3411518332.55,,55136000.0,,,5187933.84,141293807.82,,368655093.65,,,,,,,,,,,,,,,,,3780173426.2,,,,,55769691.16,1512038334.79,1567808025.95,5347981452.15,,-2704225.5,,,,,,,,,,,,,659595746.14,1219275746.51,29934557.63,1997148158.52,504825029.71,331207875.32,55136000.0,,,1
+688778.SH,20190823,20190823,20190630,1,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5740547900.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5740547900.0,,,,,,,,,,,,,,,,,,,,,,,,1
+688778.SH,20210719,20210719,20181231,1,1,4,100000000.0,402185198.9,217826054.09,26218943.16,466267.74,164511275.72,,318627912.61,881078987.04,73443987.02,343962447.38,,,1590230889.3,,,,,,,,,155741898.13,3527597397.2,,,,,,,,1080492751.4,696414181.64,3701724.88,,,,139440219.17,,,,43234619.26,,58259900.28,2021543396.63,,,,,,,,,,,,,,,,,5549140793.83,104000000.0,1300431310.06,,,,,1094788400.0,675646379.34,7934511.12,,,22060535.29,10957949.8,5731442.31,,1281704588.72,,,,,,,,10000000.0,54183951.66,4463439068.3,,60000000.0,,,5161758.34,106147526.33,,275309284.67,,,,,,,,,,,,,,,,,4738748352.97,,,,,63695976.97,746696463.89,810392440.86,5549140793.83,,,,,,,,,,,,,,,1199706899.65,1770434779.34,73443987.02,1080492751.4,700115906.52,1287436031.03,60000000.0,,,1
+688778.SH,20190312,20190312,20180630,1,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3754183300.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3036854500.0,,,,,,717328800.0,,,,,,,,,,,,,,,,,,,,,,,,,,1
+688778.SH,20200804,20200804,20171231,1,1,4,100000000.0,400777224.5,144855758.11,19083139.03,2134017.42,109515935.46,,525443273.42,499240298.89,10672021.07,122918781.49,,,1233213290.29,,,,,,,,,78541878.32,2579545478.94,,,,,,,,575026245.5,421709250.76,2887782.05,,,,140451654.77,,,,16080990.15,,38102970.11,1194258893.34,,,,,,,,,,,,,,,,,3773804372.28,4000000.0,390000000.0,,,,,271834000.0,584552099.74,13721502.86,,,21525467.17,49509441.09,2458125.0,,1532674550.5,,,,,,,,,38485672.46,2904760858.82,,60000000.0,,,,75415721.95,,139415721.95,,,,,,,,,,,,,,,,,3044176580.77,,,,,62777652.45,666850139.06,729627791.51,3773804372.28,,,,,,,,,,,,,,,1024683572.31,856386099.74,10672021.07,575026245.5,424597032.81,1535132675.5,60000000.0,,,1
+688778.SH,20170810,20170810,20170630,1,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2683034200.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2683034200.0,,,,,,,,,,,,,,,,,,,,,,,,1
+688778.SH,20170427,20170427,20161231,1,1,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,100000000.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0.0,,,,,,100000000.0,,,,,,,,,,,,,,,,,,,,,,,,,,1
diff --git a/data/CN/688778.SH/raw_cash_flow.csv b/data/CN/688778.SH/raw_cash_flow.csv
new file mode 100644
index 0000000..51dc7f0
--- /dev/null
+++ b/data/CN/688778.SH/raw_cash_flow.csv
@@ -0,0 +1,37 @@
+ts_code,ann_date,f_ann_date,end_date,comp_type,report_type,end_type,net_profit,finan_exp,c_fr_sale_sg,recp_tax_rends,n_depos_incr_fi,n_incr_loans_cb,n_inc_borr_oth_fi,prem_fr_orig_contr,n_incr_insured_dep,n_reinsur_prem,n_incr_disp_tfa,ifc_cash_incr,n_incr_disp_faas,n_incr_loans_oth_bank,n_cap_incr_repur,c_fr_oth_operate_a,c_inf_fr_operate_a,c_paid_goods_s,c_paid_to_for_empl,c_paid_for_taxes,n_incr_clt_loan_adv,n_incr_dep_cbob,c_pay_claims_orig_inco,pay_handling_chrg,pay_comm_insur_plcy,oth_cash_pay_oper_act,st_cash_out_act,n_cashflow_act,oth_recp_ral_inv_act,c_disp_withdrwl_invest,c_recp_return_invest,n_recp_disp_fiolta,n_recp_disp_sobu,stot_inflows_inv_act,c_pay_acq_const_fiolta,c_paid_invest,n_disp_subs_oth_biz,oth_pay_ral_inv_act,n_incr_pledge_loan,stot_out_inv_act,n_cashflow_inv_act,c_recp_borrow,proc_issue_bonds,oth_cash_recp_ral_fnc_act,stot_cash_in_fnc_act,free_cashflow,c_prepay_amt_borr,c_pay_dist_dpcp_int_exp,incl_dvd_profit_paid_sc_ms,oth_cashpay_ral_fnc_act,stot_cashout_fnc_act,n_cash_flows_fnc_act,eff_fx_flu_cash,n_incr_cash_cash_equ,c_cash_equ_beg_period,c_cash_equ_end_period,c_recp_cap_contrib,incl_cash_rec_saims,uncon_invest_loss,prov_depr_assets,depr_fa_coga_dpba,amort_intang_assets,lt_amort_deferred_exp,decr_deferred_exp,incr_acc_exp,loss_disp_fiolta,loss_scr_fa,loss_fv_chg,invest_loss,decr_def_inc_tax_assets,incr_def_inc_tax_liab,decr_inventories,decr_oper_payable,incr_oper_payable,others,im_net_cashflow_oper_act,conv_debt_into_cap,conv_copbonds_due_within_1y,fa_fnc_leases,im_n_incr_cash_equ,net_dism_capital_add,net_cash_rece_sec,credit_impa_loss,use_right_asset_dep,oth_loss_asset,end_bal_cash,beg_bal_cash,end_bal_cash_equ,beg_bal_cash_equ,update_flag
+688778.SH,20251025,20251025,20250930,1,1,3,,,10198355511.47,42112018.27,,,,,,,,,,,,103893746.14,10344361275.88,8785709021.19,395263775.52,127038127.25,,,,,,139332215.72,9447343139.68,897018136.2,,1214238740.52,3986919.45,,,1218225659.97,488668506.2,1221497257.98,,,,1710165764.18,-491940104.21,210394634.0,,98362983.64,308757617.64,-111814516.7372,277401514.27,288502329.34,,280453605.93,846357449.54,-537599831.9,29680956.41,-102840843.5,1648634111.52,1545793268.02,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
+688778.SH,20250821,20250821,20250630,1,1,2,305884620.09,5156493.57,6103527439.3,19265719.47,,,,,,,,,,,,75895448.25,6198688607.02,5139678679.61,249266842.54,72206183.52,,,,,,89501913.76,5550653619.43,648034987.59,,560019199.23,3476739.72,,,563495938.95,299592858.22,550997257.98,,,,850590116.2,-287094177.25,91000000.0,,98362983.64,189362983.64,445136670.4675,204109014.27,9743333.22,,79795638.3,293647985.79,-104285002.15,33227198.15,289883006.34,1635736325.57,1925619331.91,,,,8969614.42,201161886.06,6473115.66,3354158.16,,,,1697657.7,-4053631.27,17917613.43,-33837535.8,-1396523.82,-916706646.85,205001371.03,824021972.52,,648034987.59,,,,289883006.34,,,16144384.04,3950867.88,,1925619331.91,1635736325.57,,,1
+688778.SH,20250426,20250426,20250331,1,1,1,,,2785591853.31,23781.98,,,,,,,,,,,,49611893.93,2835227529.22,2397138799.28,113586952.79,16986063.56,,,,,,34141530.65,2561853346.28,273374182.94,,408998000.0,3476739.72,,,412474739.72,165019949.24,403999000.0,,,,569018949.24,-156544209.52,91000000.0,,,91000000.0,-100528504.8981,136523300.0,4858885.06,0.0,6053881.28,147436066.34,-56436066.34,12388313.97,72782221.05,1635067409.62,1707849630.67,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
+688778.SH,20250426,20250426,20250331,1,1,1,,,2785591853.31,23781.98,,,,,,,,,,,,49611893.93,2835227529.22,2397138799.28,113586952.79,16986063.56,,,,,,34141530.65,2561853346.28,273374182.94,,408998000.0,3476739.72,,,412474739.72,165019949.24,403999000.0,,,,569018949.24,-156544209.52,91000000.0,,,91000000.0,,136523300.0,4858885.06,0.0,6053881.28,147436066.34,-56436066.34,12388313.97,72782221.05,1635067409.62,1707849630.67,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0
+688778.SH,20250426,20250426,20241231,1,1,4,488321118.14,46743354.39,9519912802.79,57517.49,,,,,,,,,,,,224636301.88,9744606622.16,7254835304.6,511330436.91,102468158.73,,,,,,122737060.76,7991370961.0,1753235661.16,,1988996000.0,12595707.32,,,2001591707.32,965807934.63,2007967970.68,,,,2973775905.31,-972184197.99,990023300.0,,,1065684200.0,678719158.6646,1035805714.27,326425093.53,,44280325.11,1406511132.91,-340826932.91,-4733386.28,435491143.98,1199576265.64,1635067409.62,75660900.0,75660900.0,,194158465.59,367807450.38,12057787.74,5470579.97,,,,5877278.79,-7518003.31,18178379.54,-31470994.78,-2608935.87,-705950502.14,385685141.37,1023052385.03,,1753235661.16,,,,435491143.98,,,-60327208.5,7973281.22,,1635067409.62,1199576265.64,,,1
+688778.SH,20241026,20241026,20240930,1,1,3,,,7087639973.57,57632.97,,,,,,,,,,,,71494166.09,7159191772.63,5370289813.86,337422151.57,71701945.51,,,,,,107755773.7,5887169684.64,1272022087.99,,1779997000.0,11752273.54,,,1791749273.54,758350709.3,1779997000.0,,,,2538347709.3,-746598435.76,990023300.0,,,990023300.0,183405487.5758,778845714.27,320429058.26,,42889722.06,1142164494.59,-152141194.59,2831773.41,376114231.05,1199576265.64,1575690496.69,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
+688778.SH,20240803,20240803,20240630,1,1,2,238436027.58,31281783.4,4766567808.97,39791.27,,,,,,,,,,,,57121136.84,4823728737.08,3524984588.47,219140169.6,50814498.08,,,,,,86102693.1,3881041949.25,942686787.83,,1269998000.0,9558662.57,,,1279556662.57,506228536.57,1229998760.0,,,,1736227296.57,-456670634.0,885023300.0,,,885023300.0,,479060000.0,312656120.78,,32728210.92,824444331.7,60578968.3,-1092453.87,545502668.26,1199576265.64,1745078933.9,,,,60538331.13,183242526.76,6018050.56,2735289.96,,,,394179.22,-3540044.35,4413115.89,-14634231.77,-2204150.64,-627826629.32,891599972.16,202275019.26,,942686787.83,,,,545502668.26,,,-40840441.78,4022413.57,,1745078933.9,1199576265.64,,,0
+688778.SH,20240803,20240803,20240630,1,1,2,238436027.58,31281783.4,4766567808.97,39791.27,,,,,,,,,,,,57121136.84,4823728737.08,3524984588.47,219140169.6,50814498.08,,,,,,86102693.1,3881041949.25,942686787.83,,1269998000.0,9558662.57,,,1279556662.57,506228536.57,1229998760.0,,,,1736227296.57,-456670634.0,885023300.0,,,885023300.0,472368050.5964,479060000.0,312656120.78,,32728210.92,824444331.7,60578968.3,-1092453.87,545502668.26,1199576265.64,1745078933.9,,,,60538331.13,183242526.76,6018050.56,2735289.96,,,,394179.22,-3540044.35,4413115.89,-14634231.77,-2204150.64,-627826629.32,891599972.16,202275019.26,,942686787.83,,,,545502668.26,,,-40840441.78,4022413.57,,1745078933.9,1199576265.64,,,1
+688778.SH,20240418,20240418,20240331,1,1,1,,,2460273540.2,16901.69,,,,,,,,,,,,31643533.83,2491933975.72,1822253426.8,104522641.89,26731404.58,,,,,,34246115.37,1987753588.64,504180387.08,,499999000.0,6701922.18,,,506700922.18,275683706.59,500000250.0,,0.0,,775683956.59,-268983034.41,885023300.0,,0.0,885023300.0,132764488.8373,3000000.0,8901222.69,0.0,30830900.84,42732123.53,842291176.47,-1324211.85,1076164317.29,1199576265.64,2275740582.93,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
+688778.SH,20240418,20240418,20231231,1,1,4,529491777.15,106270457.08,13544969185.54,189783.19,,,,,,,,,,,,139163127.59,13684322096.32,10211449407.98,415120201.27,345390598.57,,,,,,132162183.06,11104122390.88,2580199705.44,,1050811416.67,4622338.92,,,1055433755.59,1145249533.56,1394739000.0,,,,2539988533.56,-1484554777.97,872800000.0,,,977800000.0,1715756451.248,1704400000.0,198164326.08,,6215437.98,1908779764.06,-930979764.06,18392889.95,183058053.36,1016518212.28,1199576265.64,105000000.0,105000000.0,,178565661.45,349928190.47,9219518.08,2969417.87,,,,5904759.36,-4163210.94,-7107457.5,-18139113.45,1427889.22,1209296263.32,2158853595.45,-1873055678.24,,2580199705.44,,,,183058053.36,,,-76517812.99,6450819.72,,1199576265.64,1016518212.28,,,1
+688778.SH,20231025,20231025,20230930,1,1,3,,,10467104062.85,146609.24,,,,,,,,,,,,110926774.7,10578177446.79,8404738982.67,273972895.77,286569851.36,,,,,,114356238.84,9079637968.64,1498539478.15,,1050811416.67,4622338.92,,,1055433755.59,783327220.89,1344740000.0,,,,2128067220.89,-1072633465.3,852000000.0,,,957000000.0,210758519.33,888600000.0,186159345.83,,5831704.98,1080591050.81,-123591050.81,16059510.46,318374472.5,1016518212.28,1334892684.78,105000000.0,105000000.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0
+688778.SH,20231025,20231025,20230930,1,1,3,,,10467104062.85,146609.24,,,,,,,,,,,,110926774.7,10578177446.79,8404738982.67,273972895.77,286569851.36,,,,,,114356238.84,9079637968.64,1498539478.15,,1050811416.67,4622338.92,,,1055433755.59,783327220.89,1344740000.0,,,,2128067220.89,-1072633465.3,852000000.0,,,957000000.0,804172713.5816,888600000.0,186159345.83,,5831704.98,1080591050.81,-123591050.81,16059510.46,318374472.5,1016518212.28,1334892684.78,105000000.0,105000000.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
+688778.SH,20230825,20230825,20230630,1,1,2,255266071.62,54601385.4,7554353431.31,107955.04,,,,,,,,,,,,66692050.39,7621153436.74,6015882586.56,178481285.98,257006985.32,,,,,,79167789.01,6530538646.87,1090614789.87,,550811416.67,2232282.1,,,553043698.77,584062162.33,594740000.0,,,,1178802162.33,-625758463.56,742000000.0,,,847000000.0,541892847.5576,568200000.0,174474825.72,,2379471.32,745054297.04,101945702.96,14580191.54,581382220.81,1016518212.28,1597900433.09,105000000.0,105000000.0,,95487727.3,173924512.39,3747673.8,1781654.72,,,,2068957.5,,-9631902.28,1452840.51,-279636.7,1296091911.7,2147122539.72,-2830501685.41,,1090614789.87,,,,581382220.81,,,-103548548.23,3031287.83,,1597900433.09,1016518212.28,,,1
+688778.SH,20230422,20230422,20230331,1,1,1,,,4316666162.25,54863.79,,,,,,,,,,,,34693537.06,4351414563.1,3451563285.74,85248896.27,105399593.19,,,,,,32391685.58,3674603460.78,676811102.32,,450000000.0,2230059.88,,,452230059.88,134341538.79,594740000.0,,,,729081538.79,-276851478.91,402000000.0,,0.0,402000000.0,60289974.7726,222700000.0,12294856.95,,1742485.66,236737342.61,165262657.39,-1257790.87,563964489.93,1016518212.28,1580482702.21,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
+688778.SH,20230422,20230422,20230331,1,1,1,,,4316666162.25,54863.79,,,,,,,,,,,,34693537.06,4351414563.1,3451563285.74,85248896.27,105399593.19,,,,,,32391685.58,3674603460.78,676811102.32,,450000000.0,2230059.88,,,452230059.88,134341538.79,594740000.0,,,,729081538.79,-276851478.91,402000000.0,,0.0,402000000.0,681689974.7726,222700000.0,12294856.95,,1742485.66,236737342.61,165262657.39,-1257790.87,563964489.93,1016518212.28,1580482702.21,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0
+688778.SH,20230422,20230422,20221231,1,1,4,1129880515.59,120191224.54,15561092286.68,297597281.58,,,,,,,,,,,,171518574.44,16030208142.7,16723541559.63,336031383.04,391079031.02,,,,,,140986766.58,17591638740.27,-1561430597.57,,303251813.2,2477374.43,4535.5,,305733723.13,650661425.97,650000000.0,,,,1300661425.97,-994927702.84,2333165406.17,,,5913365300.25,-2383625052.1233,2411778233.78,186424842.53,,179740556.82,2777943633.13,3135421667.12,8938215.13,588001581.84,428516630.44,1016518212.28,3580199894.08,85000000.0,,149808467.88,296389110.13,5781446.77,,,,-4535.5,5129425.18,,-5499341.74,-17982000.92,-559273.41,-628607056.11,-3093979995.47,372065771.02,,-1561430597.57,,,,588001581.84,,,102361558.43,3594086.04,,1016518212.28,428516630.44,,,1
+688778.SH,20230422,20230422,20221231,1,1,4,1129880515.59,120191224.54,15561092286.68,297597281.58,,,,,,,,,,,,171518574.44,16030208142.7,16723541559.63,336031383.04,391079031.02,,,,,,140986766.58,17591638740.27,-1561430597.57,,303251813.2,2477374.43,4535.5,,305733723.13,650661425.97,650000000.0,,,,1300661425.97,-994927702.84,2333165406.17,,,5913365300.25,-2383625052.1233,2411778233.78,186424842.53,,179740556.82,2777943633.13,3135421667.12,8938215.13,588001581.84,428516630.44,1016518212.28,3580199894.08,85000000.0,,149808467.88,296389110.13,5781446.77,,,,-4535.5,5129425.18,,-5499341.74,-17982000.92,-559273.41,-628607056.11,-3093979995.47,372065771.02,,-1561430597.57,,,,588001581.84,,,102361558.43,3594086.04,,1016518212.28,428516630.44,,,0
+688778.SH,20221027,20221027,20220930,1,1,3,,,10685973810.23,283588668.05,,,,,,,,,,,,127040894.79,11096603373.07,11706738166.87,218908643.8,293300927.75,,,,,,158214602.87,12377162341.29,-1280558968.22,,300000000.0,5729187.63,4535.5,,305733723.13,456697841.67,100000000.0,,,,556697841.67,-250964118.54,1883165406.17,,,5463365300.25,-1478723299.4085,1837778233.78,172333018.04,,4122243.26,2014233495.08,3449131805.17,8830770.5,1926439488.91,425014387.51,2351453876.42,3580199894.08,85000000.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
+688778.SH,20221027,20221027,20220930,1,1,3,,,10685973810.23,283588668.05,,,,,,,,,,,,127040894.79,11096603373.07,11706738166.87,218908643.8,293300927.75,,,,,,158214602.87,12377162341.29,-1280558968.22,,300000000.0,5729187.63,4535.5,,305733723.13,456697841.67,100000000.0,,,,556697841.67,-250964118.54,1883165406.17,,,5463365300.25,-2521538945.6,1837778233.78,172333018.04,,4122243.26,2014233495.08,3449131805.17,8830770.5,1926439488.91,425014387.51,2351453876.42,3580199894.08,85000000.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0
+688778.SH,20220728,20220728,20220630,1,1,2,537063271.42,50666027.26,6014968609.39,204187720.95,,,,,,,,,,,,109316639.16,6328472969.5,5815045585.63,142413044.39,148034350.65,,,,,,67862487.72,6173355468.39,155117501.11,,300000000.0,2477374.43,,,302477374.43,310236406.34,100000000.0,,,,410236406.34,-107759031.91,1083165406.17,,,1168165406.17,150961508.8056,777446751.43,157256578.37,,1289619.26,935992949.06,232172457.11,7682794.79,287213721.1,425014387.51,712228108.61,85000000.0,85000000.0,,164846458.89,138252530.69,2749706.31,0.0,,,0.0,1840747.52,0.0,-1935152.21,-13248352.53,-279636.7,-847483996.57,-2009254800.15,2130716877.5,,155117501.11,,,,287213721.1,,,0.0,1183819.68,,712228108.61,425014387.51,0.0,0.0,1
+688778.SH,20220427,20220427,20220331,1,1,1,,,2526112830.15,12334377.98,,,,,,,,,,,,74977487.83,2613424695.96,2362586038.05,71144779.33,66045554.23,,,,,,44172677.62,2543949049.23,69475646.73,,200000000.0,1580152.21,,,201580152.21,153549983.27,100000000.0,,,,253549983.27,-51969831.06,832103201.18,,,882103201.18,136999478.7791,207379400.0,15221237.31,,644809.63,223245446.94,658857754.24,-308203.03,676055366.88,425014387.51,1101069754.39,50000000.0,50000000.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
+688778.SH,20220331,20220331,20211231,1,1,4,568137491.16,123429328.39,4990224293.12,58318651.83,,,,,,,,,,,,82535568.49,5131078513.44,4154030691.03,265620315.47,186894602.84,,,,,,92521864.72,4699067474.06,432011039.38,,114293314.34,484075.51,,,114777389.85,556253874.65,300000000.0,,,,856253874.65,-741476484.8,1770381988.6,,,3238718123.02,-12568210.3197,2526278487.66,81523635.77,4500000.0,173696024.37,2781498147.8,457219975.22,-655705.71,147098824.09,277915563.42,425014387.51,1468336134.42,4500000.0,,74960397.3,232895000.28,5477288.76,,,,,6060690.52,,-11210471.23,-26094072.3,-559273.41,-1656214011.47,-2168669804.86,3190858693.08,,432011039.38,,,,147098824.09,,,90514386.09,2425397.07,,425014387.51,277915563.42,,,1
+688778.SH,20220331,20220331,20211231,1,1,4,568137491.16,123429328.39,4990224293.12,58318651.83,,,,,,,,,,,,82535568.49,5131078513.44,4154030691.03,265620315.47,186894602.84,,,,,,92521864.72,4699067474.06,432011039.38,,114293314.34,484075.51,,,114777389.85,556253874.65,300000000.0,,,,856253874.65,-741476484.8,1770381988.6,,,3238718123.02,-12568210.3197,2526278487.66,81523635.77,4500000.0,173696024.37,2781498147.8,457219975.22,-655705.71,147098824.09,277915563.42,425014387.51,1468336134.42,4500000.0,,74960397.3,232895000.28,5477288.76,,,,,6060690.52,,-11210471.23,-26094072.3,-559273.41,-1656214011.47,-2168669804.86,3190858693.08,,432011039.38,,,,147098824.09,,,90514386.09,2425397.07,,425014387.51,277915563.42,,,0
+688778.SH,20211029,20211029,20210930,1,1,3,,,3485925713.29,46088941.13,,,,,,,,,,,,52526389.22,3584541043.64,2463491571.8,178562716.59,154345697.74,,,,,,52165506.79,2848565492.92,735975550.72,,,,0.0,,0.0,296383245.54,,,,,296383245.54,-296383245.54,873962788.6,,,2337798923.02,513272096.4696,1401813487.66,62051728.14,,156135500.0,1620000715.8,717798207.22,-292626.72,1157097885.68,277915563.42,1435013449.1,1463836134.42,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
+688778.SH,20210804,20210804,20210630,1,1,2,,,2123656374.88,35011133.26,,,,,,,,,,,,32170614.77,2190838122.91,1598717700.87,118443305.23,99475539.8,,,,,,38413871.05,1855050416.95,335787705.96,,,,,,,160115703.19,,,,,160115703.19,-160115703.19,563962788.6,,,563962788.6,452466903.8866,660015559.1,41221370.52,,150135500.0,851372429.62,-287409641.02,-286166.19,-112023804.44,277915563.42,165891758.98,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
+688778.SH,20210719,20210719,20210331,1,1,1,114411526.09,37952651.07,912941976.75,9453556.72,,,,,,,,,,,,39296907.67,961692441.14,779121093.92,46553352.95,42989223.94,,,,,,30931549.92,899595220.73,62097220.41,,,,,,,68944229.06,,,,,68944229.06,-68944229.06,253962788.6,,,253962788.6,21817605.1208,140857142.86,21266861.3,,60000000.0,222124004.16,31838784.44,-209305.88,24782469.91,277915563.42,302698033.33,,,,3500772.42,56466196.47,1369322.19,,,,,1769384.24,,,-5825558.32,-139818.35,-737188375.76,-845164802.15,1427913593.38,,62097220.41,,,,24782469.91,,,7032329.13,,,302698033.33,277915563.42,,,1
+688778.SH,20210719,20210719,20201231,1,1,4,251637337.2,114394645.43,3038419568.9,57939847.61,,,,,,,,,,,,69782314.55,3166141731.06,2346503512.56,176565500.35,107473340.8,,,,,,138719470.32,2769261824.03,396879907.03,,,,506780.29,,506780.29,333176928.52,,,,,333176928.52,-332670148.23,2922289400.0,,,3089919297.16,45978881.3941,2487571428.58,286552967.0,3000000.0,155000000.0,2929124395.58,160794901.58,1469786.76,226474447.14,51441116.28,277915563.42,167629897.16,3000000.0,,47360230.97,191083013.24,5477288.76,,,,477694.2,9514381.22,,-1103388.89,-3176601.56,-559273.41,-401512093.02,-269338780.61,422354744.44,,396879907.03,,,,226474447.14,,,30270709.06,,,277915563.42,51441116.28,,,1
+688778.SH,20210719,20210719,20201231,1,1,4,251637337.2,114394645.43,3038419568.9,57939847.61,,,,,,,,,,,,69782314.55,3166141731.06,2346503512.56,176565500.35,107473340.8,,,,,,138719470.32,2769261824.03,396879907.03,,,,506780.29,,506780.29,333176928.52,,,,,333176928.52,-332670148.23,2922289400.0,,,3089919297.16,45978881.3941,2487571428.58,286552967.0,3000000.0,155000000.0,2929124395.58,160794901.58,1469786.76,226474447.14,51441116.28,277915563.42,167629897.16,3000000.0,,47360230.97,191083013.24,5477288.76,,,,477694.2,9514381.22,,-1103388.89,-3176601.56,-559273.41,-401512093.02,-269338780.61,422354744.44,,396879907.03,,,,226474447.14,,,30270709.06,,,277915563.42,51441116.28,,,0
+688778.SH,20211029,20211029,20200930,1,1,3,,,2092787793.24,56325556.01,,,,,,,,,,,,61906193.62,2211019542.87,1518364943.91,120416567.02,77113641.48,,,,,,104595931.92,1820491084.33,390528458.54,,,,1500.0,,1500.0,267834691.2,,,,,267834691.2,-267833191.2,1525000000.0,,,1692629897.16,,1272571428.58,252644432.53,3000000.0,95000000.0,1620215861.11,72414036.05,2196295.44,197305598.83,51441116.28,248746715.11,167629897.16,3000000.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0
+688778.SH,20200804,20200804,20200630,1,1,2,92250423.63,46343627.2,1240123774.8,22113477.75,,,,,,,,,,,,30577349.93,1292814602.48,800205390.85,82642425.85,53133931.01,,,,,,42953916.56,978935664.27,313878938.21,,,,1500.0,,1500.0,155690946.19,,,,,155690946.19,-155689446.19,1185000000.0,,,1352629897.16,412884613.4532,960000000.0,232929121.33,3000000.0,35000000.0,1227929121.33,124700775.83,1365419.5,284255687.35,51441116.28,335696803.63,167629897.16,3000000.0,,27930393.28,89000046.67,2738644.38,,,,11525.44,4284214.24,,-1103388.89,-717590.87,-279636.7,105282953.95,305378440.03,-351213371.88,,313878938.21,,,,284255687.35,,,-6027342.27,,,335696803.63,51441116.28,,,1
+688778.SH,20200804,20200804,20200630,1,1,2,92250423.63,46343627.2,1240123774.8,22113477.75,,,,,,,,,,,,30577349.93,1292814602.48,800205390.85,82642425.85,53133931.01,,,,,,42953916.56,978935664.27,313878938.21,,,,1500.0,,1500.0,155690946.19,,,,,155690946.19,-155689446.19,1185000000.0,,,1352629897.16,412884613.4532,960000000.0,232929121.33,3000000.0,35000000.0,1227929121.33,124700775.83,1365419.5,284255687.35,51441116.28,335696803.63,167629897.16,3000000.0,,27930393.28,89000046.67,2738644.38,,,,11525.44,4284214.24,,-1103388.89,-717590.87,-279636.7,105282953.95,305378440.03,-351213371.88,,313878938.21,,,,284255687.35,,,-6027342.27,,,335696803.63,51441116.28,,,0
+688778.SH,20210719,20210719,20200331,1,1,1,34582066.81,24675367.33,590326266.21,13019601.56,,,,,,,,,,,,5106664.61,608452532.38,397023743.91,29569511.1,9725913.07,,,,,,22610137.63,458929305.71,149523226.67,,,,,,,118036407.05,,,,,118036407.05,-118036407.05,585000000.0,,,749629897.16,,200000000.0,196463918.38,,12500000.0,408963918.38,340665978.78,1246993.32,373399791.72,51441116.28,424840908.0,164629897.16,,,14706127.52,44037417.54,1369322.19,,,,,60277.71,,105152.64,-2936036.31,-139818.35,54449902.77,45811914.81,-73924634.01,,149523226.67,,,,373399791.72,,,6726166.02,,,424840908.0,51441116.28,,,1
+688778.SH,20210719,20210719,20191231,1,1,4,142730777.95,109701423.08,3040791932.81,47894804.22,,,,,,,,,,,,146816874.74,3235503611.77,2695959985.17,159385513.12,114526261.24,,,,,,93794652.22,3063666411.75,171837200.02,,,,700100.0,,700100.0,585823275.12,3351250.0,,,,589174525.12,-588474425.12,2010000000.0,,,2629020646.88,-898419626.99,1410000000.0,98377100.83,1500000.0,817490966.8,2325868067.63,303152579.25,414486.41,-113070159.44,164511275.72,51441116.28,619020646.88,1500000.0,,56817227.81,115728870.72,5468793.63,,,,947653.98,277706.17,,328364.56,-13660703.3,26175.5,673471548.37,168818580.04,-1077151762.53,,171837200.02,,,,-113070159.44,,,-11667455.96,,,51441116.28,164511275.72,,,1
+688778.SH,20210719,20210719,20191231,1,1,4,142730777.95,109701423.08,3040791932.81,47894804.22,,,,,,,,,,,,146816874.74,3235503611.77,2695959985.17,159385513.12,114526261.24,,,,,,93794652.22,3063666411.75,171837200.02,,,,700100.0,,700100.0,585823275.12,3351250.0,,,,589174525.12,-588474425.12,2010000000.0,,,2629020646.88,-898419626.99,1410000000.0,98377100.83,1500000.0,817490966.8,2325868067.63,303152579.25,414486.41,-113070159.44,164511275.72,51441116.28,619020646.88,1500000.0,,56817227.81,115728870.72,5468793.63,,,,947653.98,277706.17,,328364.56,-13660703.3,26175.5,673471548.37,168818580.04,-1077151762.53,,171837200.02,,,,-113070159.44,,,-11667455.96,,,51441116.28,164511275.72,,,0
+688778.SH,20210719,20210719,20181231,1,1,4,81739174.49,107387619.4,3939876897.35,77722200.03,,,,,,,,,,,,71244859.79,4088843957.17,3579388258.84,126126437.64,116039626.06,,,,,,155793840.51,3977348163.05,111495794.12,,,,,,,612866302.48,,,,,612866302.48,-612866302.48,1360000000.0,,25000000.0,1385000000.0,-612499543.8517,390000000.0,90487021.18,,349213930.05,829700951.23,555299048.77,1066799.85,54995340.26,109515935.46,164511275.72,,,,86581336.59,59692527.17,3072435.6,,,,179084.16,2673930.2,,,-27153629.11,5161758.34,-423476503.79,-566777902.54,784798463.15,,111495794.12,,,,54995340.26,,,,,,164511275.72,109515935.46,,,1
+688778.SH,20200804,20200804,20171231,1,1,4,173472703.48,43195626.13,696989047.96,39881179.35,,,,,,,,,,,,75229883.77,812100111.08,1182879736.74,84937048.79,44988451.94,,,,,,93161590.8,1405966828.27,-593866717.19,,,,1000.0,,1000.0,379211287.96,,,,,379211287.96,-379210287.96,394000000.0,,692679496.4,1118400267.81,,,34723437.49,,,34723437.49,1083676830.32,-3487725.97,107112099.2,2403836.26,109515935.46,31720771.41,,,15532866.58,45939419.29,1527445.75,,,,3665.64,12844474.24,,,-8147227.81,,-914766546.86,-1174467142.59,1210058639.19,,-593866717.19,,,,107112099.2,,,,,,109515935.46,2403836.26,,,1
diff --git a/data/CN/688778.SH/raw_dividends_raw.csv b/data/CN/688778.SH/raw_dividends_raw.csv
new file mode 100644
index 0000000..8b387a0
--- /dev/null
+++ b/data/CN/688778.SH/raw_dividends_raw.csv
@@ -0,0 +1,19 @@
+end_date,ex_date,div_proc,cash_div
+20250630,,预案,0.0
+20250630,,股东大会通过,0.0
+20250630,20250910,实施,0.2
+20241231,,预案,0.0
+20241231,,股东大会通过,0.0
+20241231,20250703,实施,0.4
+20240630,,预案,0.0
+20231231,,预案,0.0
+20231231,,股东大会通过,0.0
+20231231,20240614,实施,0.7
+20230630,,预案,0.0
+20221231,,预案,0.0
+20221231,,股东大会通过,0.0
+20221231,20230606,实施,0.5
+20220630,,预案,0.0
+20211231,,预案,0.0
+20211231,,股东大会通过,0.0
+20211231,20220523,实施,0.5
diff --git a/data/CN/688778.SH/raw_historical_metrics_daily_basic.csv b/data/CN/688778.SH/raw_historical_metrics_daily_basic.csv
new file mode 100644
index 0000000..e719b74
--- /dev/null
+++ b/data/CN/688778.SH/raw_historical_metrics_daily_basic.csv
@@ -0,0 +1,1010 @@
+ts_code,trade_date,close,turnover_rate,turnover_rate_f,volume_ratio,pe,pe_ttm,pb,ps,ps_ttm,dv_ratio,dv_ttm,total_share,float_share,free_share,total_mv,circ_mv
+688778.SH,20250930,83.9,2.6121,7.6306,0.76,85.7029,75.3608,4.8332,3.1845,2.9141,,,50469.1083,50469.1083,17276.3703,4234358.1864,4234358.1864
+688778.SH,20250929,81.89,2.804,8.1912,0.82,83.6497,73.5553,4.7174,3.1082,2.8443,,,50469.1083,50469.1083,17276.3703,4132915.2787,4132915.2787
+688778.SH,20250926,79.51,3.1111,9.0884,0.84,81.2186,71.4176,4.5803,3.0179,2.7617,,,50469.1083,50469.1083,17276.3703,4012798.8009,4012798.8009
+688778.SH,20250925,84.39,3.7086,10.8338,0.99,86.2035,75.8009,4.8614,3.2031,2.9312,,,50469.1083,50469.1083,17276.3703,4259088.0494,4259088.0494
+688778.SH,20250924,91.38,4.4193,12.9099,1.29,93.3437,82.0795,5.264,3.4684,3.174,,,50469.1083,50469.1083,17276.3703,4611867.1165,4611867.1165
+688778.SH,20250923,83.92,3.1925,9.425,0.91,85.7234,75.3787,4.8343,3.1853,2.9148,,,50469.1083,50469.1083,17095.1749,4235367.5685,4235367.5685
+688778.SH,20250922,84.35,2.6647,7.8669,0.69,86.1626,75.765,4.8591,3.2016,2.9298,,,50469.1083,50469.1083,17095.1749,4257069.2851,4257069.2851
+688778.SH,20250919,86.7,4.5071,13.3062,1.15,88.5631,77.8758,4.9945,3.2908,3.0114,,,50469.1083,50469.1083,17095.1749,4375671.6896,4375671.6896
+688778.SH,20250918,80.69,3.9178,11.5663,0.96,82.424,72.4775,4.6482,3.0627,2.8027,,,50469.1083,50469.1083,17095.1749,4072352.3487,4072352.3487
+688778.SH,20250917,79.41,2.8287,8.351,0.63,81.1165,71.3278,4.5745,3.0141,2.7582,,,50469.1083,50469.1083,17095.1749,4007751.8901,4007751.8901
+688778.SH,20250916,80.94,3.719,10.9793,0.74,82.6793,72.702,4.6626,3.0721,2.8113,,,50469.1083,50469.1083,17095.1749,4084969.6258,4084969.6258
+688778.SH,20250915,82.82,4.2539,12.5584,0.76,84.5997,74.3907,4.7709,3.1435,2.8766,,,50469.1083,50469.1083,17095.1749,4179851.5494,4179851.5494
+688778.SH,20250912,86.53,4.8638,14.359,0.88,88.3895,77.7231,4.9847,3.2843,3.0055,,,50469.1083,50469.1083,17095.1749,4367091.9412,4367091.9412
+688778.SH,20250911,86.0,4.7217,13.9396,0.91,87.8481,77.247,4.9541,3.2642,2.9871,,,50469.1083,50469.1083,17095.1749,4340343.3138,4340343.3138
+688778.SH,20250910,82.11,5.0546,14.9225,1.08,83.8745,73.753,4.73,3.1166,2.852,,,50469.1083,50469.1083,17095.1749,4144018.4825,4144018.4825
+688778.SH,20250909,85.11,6.1236,18.0783,1.49,86.9389,76.4476,4.8471,3.2304,2.9562,,,50469.1083,50469.1083,17095.1749,4295425.8074,4295425.8074
+688778.SH,20250908,79.01,7.2093,21.2835,2.25,80.7079,70.9685,4.4997,2.9989,2.7443,,,50469.1083,50469.1083,17095.1749,3987564.2468,3987564.2468
+688778.SH,20250905,68.41,4.6493,13.7259,1.58,69.8801,61.4473,3.8961,2.5966,2.3761,,,50469.1083,50469.1083,17095.1749,3452591.6988,3452591.6988
+688778.SH,20250904,57.01,2.8093,8.2937,1.02,58.2351,51.2076,3.2468,2.1639,1.9802,,,50469.1083,50469.1083,17095.1749,2877243.8642,2877243.8642
+688778.SH,20250903,60.2,2.5246,7.4532,0.99,61.4936,54.0729,3.4285,2.2849,2.091,,,50469.1083,50469.1083,17095.1749,3038240.3197,3038240.3197
+688778.SH,20250902,61.2,3.3324,9.8381,1.59,62.5151,54.9711,3.4854,2.3229,2.1257,,,50469.1083,50469.1083,17095.1749,3088709.428,3088709.428
+688778.SH,20250901,59.2,2.7086,7.9965,1.44,60.4722,53.1747,3.3715,2.247,2.0562,,,50469.1083,50469.1083,17095.1749,2987771.2114,2987771.2114
+688778.SH,20250829,58.39,3.356,10.098,2.23,59.6448,52.4471,3.3254,2.2162,2.0281,,,50469.1083,50469.1083,16772.8499,2946891.2336,2946891.2336
+688778.SH,20250828,53.71,1.8641,5.6091,1.14,54.8642,48.2435,3.0589,2.0386,1.8655,,,50469.1083,50469.1083,16772.8499,2710695.8068,2710695.8068
+688778.SH,20250827,54.08,1.458,4.387,0.89,55.2421,48.5758,3.0799,2.0527,1.8784,,,50469.1083,50469.1083,16772.8499,2729369.3769,2729369.3769
+688778.SH,20250826,54.91,1.0842,3.2625,0.59,56.09,49.3213,3.1272,2.0842,1.9072,,,50469.1083,50469.1083,16772.8499,2771258.7368,2771258.7368
+688778.SH,20250825,56.25,1.6748,5.0396,0.83,57.4588,50.525,3.2035,2.135,1.9538,,,50469.1083,50469.1083,16772.8499,2838887.3419,2838887.3419
+688778.SH,20250822,55.65,1.4536,4.3738,0.74,56.8459,49.986,3.1694,2.1122,1.9329,,,50469.1083,50469.1083,16772.8499,2808605.8769,2808605.8769
+688778.SH,20250821,54.71,2.4735,7.4428,1.47,55.8857,49.1417,3.1158,2.0766,1.9003,,,50469.1083,50469.1083,16772.8499,2761164.9151,2761164.9151
+688778.SH,20250820,57.3,1.4751,4.4387,0.87,58.5313,51.4681,3.3255,2.1749,1.9902,,,50469.1083,50469.1083,16772.8499,2891879.9056,2891879.9056
+688778.SH,20250819,56.77,2.0486,6.1641,1.43,57.9899,50.992,3.2947,2.1548,1.9718,,,50469.1083,50469.1083,16772.8499,2865131.2782,2865131.2782
+688778.SH,20250818,56.95,2.6886,8.0898,2.19,58.1738,51.1537,3.3052,2.1616,1.9781,,,50469.1083,50469.1083,16772.8499,2874215.7177,2874215.7177
+688778.SH,20250815,51.43,1.127,3.3911,0.97,52.5352,46.1955,2.9848,1.9521,1.7863,,,50469.1083,50469.1083,16772.8499,2595626.2399,2595626.2399
+688778.SH,20250814,51.48,1.0811,3.2531,0.86,52.5863,46.2404,2.9877,1.954,1.7881,,,50469.1083,50469.1083,16772.8499,2598149.6953,2598149.6953
+688778.SH,20250813,52.58,1.4884,4.4785,1.23,53.7099,47.2285,3.0516,1.9957,1.8263,,,50469.1083,50469.1083,16772.8499,2653665.7144,2653665.7144
+688778.SH,20250812,51.2,0.7891,2.3745,0.65,52.3002,45.9889,2.9715,1.9433,1.7784,,,50469.1083,50469.1083,16772.8499,2584018.345,2584018.345
+688778.SH,20250811,51.85,1.6414,4.939,1.58,52.9642,46.5728,3.0092,1.968,1.8009,,,50469.1083,50469.1083,16772.8499,2616823.2654,2616823.2654
+688778.SH,20250808,49.22,0.8374,2.5196,0.78,50.2777,44.2105,2.8566,1.8682,1.7096,,,50469.1083,50469.1083,16772.8499,2484089.5105,2484089.5105
+688778.SH,20250807,49.86,1.4944,4.4966,1.5,50.9315,44.7853,2.8937,1.8925,1.7318,,,50469.1083,50469.1083,16772.8499,2516389.7398,2516389.7398
+688778.SH,20250806,52.17,1.2716,3.8263,1.26,53.2911,46.8602,3.0278,1.9802,1.8121,,,50469.1083,50469.1083,16772.8499,2632973.38,2632973.38
+688778.SH,20250805,50.12,0.7935,2.3876,0.61,51.197,45.0189,2.9088,1.9023,1.7408,,,50469.1083,50469.1083,16772.8499,2529511.708,2529511.708
+688778.SH,20250804,50.14,0.7943,2.39,0.52,51.2175,45.0368,2.91,1.9031,1.7415,,,50469.1083,50469.1083,16772.8499,2530521.0902,2530521.0902
+688778.SH,20250801,49.81,1.043,3.1383,0.7,50.8804,44.7404,2.8908,1.8906,1.7301,,,50469.1083,50469.1083,16772.8499,2513866.2844,2513866.2844
+688778.SH,20250731,49.2,1.0653,3.2053,0.67,50.2573,44.1925,2.8554,1.8674,1.7089,,,50469.1083,50469.1083,16772.8499,2483080.1284,2483080.1284
+688778.SH,20250730,50.37,1.3676,4.115,0.8,51.4524,45.2434,2.9233,1.9118,1.7495,,,50469.1083,50469.1083,16772.8499,2542128.9851,2542128.9851
+688778.SH,20250729,52.58,2.1836,6.5705,1.32,53.7099,47.2285,3.0516,1.9957,1.8263,,,50469.1083,50469.1083,16772.8499,2653665.7144,2653665.7144
+688778.SH,20250728,50.35,1.9058,5.7346,1.23,51.432,45.2255,2.9221,1.9111,1.7488,,,50469.1083,50469.1083,16772.8499,2541119.6029,2541119.6029
+688778.SH,20250725,48.13,0.9011,2.7113,0.51,49.1643,43.2314,2.7933,1.8268,1.6717,,,50469.1083,50469.1083,16772.8499,2429078.1825,2429078.1825
+688778.SH,20250724,48.84,1.5891,4.7814,0.93,49.8895,43.8691,2.8345,1.8538,1.6964,,,50469.1083,50469.1083,16772.8499,2464911.2494,2464911.2494
+688778.SH,20250723,47.66,1.9214,5.7814,1.24,48.6842,42.8092,2.766,1.809,1.6554,,,50469.1083,50469.1083,16772.8499,2405357.7016,2405357.7016
+688778.SH,20250722,49.9,1.9265,5.7968,1.42,50.9723,44.8213,2.896,1.894,1.7332,,,50469.1083,50469.1083,16772.8499,2518408.5042,2518408.5042
+688778.SH,20250721,48.14,1.3999,4.2122,1.13,49.1745,48.6438,2.7939,1.8272,1.8726,,,50469.1083,50469.1083,16772.8499,2429582.8736,2429582.8736
+688778.SH,20250718,48.25,2.0035,6.0285,2.02,49.2869,48.7549,2.8003,1.8314,1.8769,,,50469.1083,50469.1083,16772.8499,2435134.4755,2435134.4755
+688778.SH,20250717,46.1,1.3338,4.0134,1.42,47.0907,46.5824,2.6755,1.7498,1.7932,,,50469.1083,50469.1083,16772.8499,2326625.8926,2326625.8926
+688778.SH,20250716,45.99,1.1038,3.3214,1.21,46.9783,46.4713,2.6691,1.7456,1.7889,,,50469.1083,50469.1083,16772.8499,2321074.2907,2321074.2907
+688778.SH,20250715,45.92,0.9627,2.8969,1.05,46.9068,46.4006,2.665,1.7429,1.7862,,,50469.1083,50469.1083,16772.8499,2317541.4531,2317541.4531
+688778.SH,20250714,45.65,0.7954,2.3934,0.81,46.631,46.1277,2.6494,1.7327,1.7757,,,50469.1083,50469.1083,16772.8499,2303914.7939,2303914.7939
+688778.SH,20250711,45.74,0.7515,2.2613,0.64,46.7229,46.2187,2.6546,1.7361,1.7792,,,50469.1083,50469.1083,16772.8499,2308457.0136,2308457.0136
+688778.SH,20250710,45.6,1.0983,3.3047,0.84,46.5799,46.0772,2.6465,1.7308,1.7738,,,50469.1083,50469.1083,16772.8499,2301391.3385,2301391.3385
+688778.SH,20250709,46.33,0.9505,2.86,0.72,47.3256,46.8149,2.6888,1.7585,1.8022,,,50469.1083,50469.1083,16772.8499,2338233.7875,2338233.7875
+688778.SH,20250708,46.98,1.0088,3.0355,0.72,47.9896,47.4717,2.7266,1.7832,1.8275,,,50469.1083,50469.1083,16772.8499,2371038.7079,2371038.7079
+688778.SH,20250707,47.09,1.0794,3.2479,0.71,48.1019,47.5828,2.7329,1.7873,1.8317,,,50469.1083,50469.1083,16772.8499,2376590.3098,2376590.3098
+688778.SH,20250704,46.4,1.7228,5.1839,1.11,47.3971,46.8856,2.6929,1.7612,1.8049,,,50469.1083,50469.1083,16772.8499,2341766.6251,2341766.6251
+688778.SH,20250703,47.88,1.7815,5.3604,1.14,48.9089,48.3811,2.7788,1.8173,1.8625,,,50469.1083,50469.1083,16772.8499,2416460.9054,2416460.9054
+688778.SH,20250702,56.41,1.1601,3.4874,0.56,48.0408,47.5223,2.6778,1.7851,1.8294,,,42077.1001,42077.1001,13996.8848,2373569.2166,2373569.2166
+688778.SH,20250701,56.94,1.7141,5.153,0.77,48.4921,47.9688,2.7029,1.8018,1.8466,,,42077.1001,42077.1001,13996.8848,2395870.0797,2395870.0797
+688778.SH,20250630,55.92,2.016,6.0606,0.96,47.6235,47.1095,2.6545,1.7696,1.8135,,,42077.1001,42077.1001,13996.8848,2352951.4376,2352951.4376
+688778.SH,20250627,57.5,2.3176,6.967,1.18,48.9691,48.4406,2.7295,1.8196,1.8648,,,42077.1001,42077.1001,13996.8848,2419433.2558,2419433.2558
+688778.SH,20250626,58.67,2.1511,6.4665,1.12,49.9655,49.4262,2.7851,1.8566,1.9027,,,42077.1001,42077.1001,13996.8848,2468663.4629,2468663.4629
+688778.SH,20250625,60.79,2.198,6.6076,1.3,51.7709,51.2122,2.8857,1.9237,1.9714,,,42077.1001,42077.1001,13996.8848,2557866.9151,2557866.9151
+688778.SH,20250624,59.19,2.4949,7.5001,1.72,50.4083,49.8643,2.8098,1.873,1.9196,,,42077.1001,42077.1001,13996.8848,2490543.5549,2490543.5549
+688778.SH,20250623,55.1,1.3689,4.1152,0.96,46.9251,46.4187,2.6156,1.7436,1.7869,,,42077.1001,42077.1001,13996.8848,2318448.2155,2318448.2155
+688778.SH,20250620,55.0,1.5798,4.7493,1.05,46.84,46.3345,2.6109,1.7405,1.7837,,,42077.1001,42077.1001,13996.8848,2314240.5055,2314240.5055
+688778.SH,20250619,53.55,1.9284,5.797,1.33,45.6051,45.1129,2.542,1.6946,1.7367,,,42077.1001,42077.1001,13996.8848,2253228.7104,2253228.7104
+688778.SH,20250618,54.11,1.0626,3.1943,0.69,46.082,45.5847,2.5686,1.7123,1.7548,,,42077.1001,42077.1001,13996.8848,2276791.8864,2276791.8864
+688778.SH,20250617,53.65,1.3155,3.9546,0.79,45.6903,45.1972,2.5468,1.6977,1.7399,,,42077.1001,42077.1001,13996.8848,2257436.4204,2257436.4204
+688778.SH,20250616,53.52,1.2672,3.8095,0.66,45.5796,45.0877,2.5406,1.6936,1.7357,,,42077.1001,42077.1001,13996.8848,2251966.3974,2251966.3974
+688778.SH,20250613,53.71,1.937,5.8229,0.97,45.7414,45.2477,2.5496,1.6996,1.7418,,,42077.1001,42077.1001,13996.8848,2259961.0464,2259961.0464
+688778.SH,20250612,53.05,1.6743,5.0333,0.96,45.1793,44.6917,2.5183,1.6787,1.7204,,,42077.1001,42077.1001,13996.8848,2232190.1603,2232190.1603
+688778.SH,20250611,51.28,1.4826,4.4571,0.96,43.6719,43.2006,2.4343,1.6227,1.663,,,42077.1001,42077.1001,13996.8848,2157713.6931,2157713.6931
+688778.SH,20250610,50.96,2.0102,6.0431,1.64,43.3994,42.931,2.4191,1.6126,1.6527,,,42077.1001,42077.1001,13996.8848,2144249.0211,2144249.0211
+688778.SH,20250609,52.13,2.5622,7.7023,3.09,44.3958,43.9167,2.4746,1.6496,1.6906,,,42077.1001,42077.1001,13996.8848,2193479.2282,2193479.2282
+688778.SH,20250606,49.26,2.2399,6.7334,4.79,41.9516,41.4988,2.3384,1.5588,1.5975,,,42077.1001,42077.1001,13996.8848,2072717.9509,2072717.9509
+688778.SH,20250605,44.9,0.4622,1.3896,0.95,38.2385,37.8258,2.1314,1.4208,1.4561,,,42077.1001,42077.1001,13996.8848,1889261.7945,1889261.7945
+688778.SH,20250604,44.8,0.4757,1.4301,1.02,38.1533,37.7415,2.1267,1.4177,1.4529,,,42077.1001,42077.1001,13996.8848,1885054.0845,1885054.0845
+688778.SH,20250603,44.1,0.3747,1.1263,0.74,37.5571,37.1518,2.0934,1.3955,1.4302,,,42077.1001,42077.1001,13996.8848,1855600.1144,1855600.1144
+688778.SH,20250530,44.2,0.5954,1.79,1.07,37.6423,37.2361,2.0982,1.3987,1.4334,,,42077.1001,42077.1001,13996.8848,1859807.8244,1859807.8244
+688778.SH,20250529,45.83,0.4295,1.2911,0.59,39.0305,38.6092,2.1756,1.4503,1.4863,,,42077.1001,42077.1001,13996.8848,1928393.4976,1928393.4976
+688778.SH,20250528,45.03,0.5616,1.6881,0.61,38.3492,37.9353,2.1376,1.425,1.4603,,,42077.1001,42077.1001,13996.8848,1894731.8175,1894731.8175
+688778.SH,20250527,46.45,0.3633,1.092,0.38,39.5585,39.1316,2.205,1.4699,1.5064,,,42077.1001,42077.1001,13996.8848,1954481.2996,1954481.2996
+688778.SH,20250526,46.05,0.5903,1.7745,0.56,39.2178,38.7946,2.186,1.4572,1.4934,,,42077.1001,42077.1001,13996.8848,1937650.4596,1937650.4596
+688778.SH,20250523,45.76,0.8318,2.5006,0.8,38.9709,38.5503,2.1722,1.4481,1.484,,,42077.1001,42077.1001,13996.8848,1925448.1006,1925448.1006
+688778.SH,20250522,46.95,1.2637,3.799,1.37,39.9843,39.5528,2.2287,1.4857,1.5226,,,42077.1001,42077.1001,13996.8848,1975519.8497,1975519.8497
+688778.SH,20250521,49.53,1.57,4.7197,2.05,42.1815,41.7263,2.3512,1.5674,1.6063,,,42077.1001,42077.1001,13996.8848,2084078.768,2084078.768
+688778.SH,20250520,49.07,0.479,1.4399,0.59,41.7898,41.3388,2.3294,1.5528,1.5914,,,42077.1001,42077.1001,13996.8848,2064723.3019,2064723.3019
+688778.SH,20250519,49.16,1.1231,3.3764,1.29,41.8664,41.4146,2.3336,1.5556,1.5943,,,42077.1001,42077.1001,13996.8848,2068510.2409,2068510.2409
+688778.SH,20250516,48.17,0.777,2.3358,0.98,41.0233,40.5806,2.2866,1.5243,1.5622,,,42077.1001,42077.1001,13996.8848,2026853.9118,2026853.9118
+688778.SH,20250515,47.53,0.669,2.0111,0.9,40.4783,40.0414,2.2563,1.5041,1.5414,,,42077.1001,42077.1001,13996.8848,1999924.5678,1999924.5678
+688778.SH,20250514,47.98,0.7736,2.3257,1.13,40.8615,40.4205,2.2776,1.5183,1.556,,,42077.1001,42077.1001,13996.8848,2018859.2628,2018859.2628
+688778.SH,20250513,48.91,0.7245,2.178,1.04,41.6535,41.204,2.3218,1.5477,1.5862,,,42077.1001,42077.1001,13996.8848,2057990.9659,2057990.9659
+688778.SH,20250512,50.18,1.3935,4.1891,2.62,42.7351,42.2739,2.382,1.5879,1.6274,,,42077.1001,42077.1001,13996.8848,2111428.883,2111428.883
+688778.SH,20250509,48.09,0.3937,1.1836,0.68,40.9552,40.5132,2.2828,1.5218,1.5596,,,42077.1001,42077.1001,13996.8848,2023487.7438,2023487.7438
+688778.SH,20250508,48.63,0.4332,1.3021,0.66,41.4151,40.9681,2.3085,1.5389,1.5771,,,42077.1001,42077.1001,13996.8848,2046209.3779,2046209.3779
+688778.SH,20250507,48.85,0.4848,1.4574,0.7,41.6024,41.1534,2.3189,1.5458,1.5842,,,42077.1001,42077.1001,13996.8848,2055466.3399,2055466.3399
+688778.SH,20250506,49.25,0.7906,2.3766,1.23,41.9431,41.4904,2.3379,1.5585,1.5972,,,42077.1001,42077.1001,13996.8848,2072297.1799,2072297.1799
+688778.SH,20250430,47.45,0.5557,1.6705,0.87,40.4101,39.974,2.2525,1.5015,1.5388,,,42077.1001,42077.1001,13996.8848,1996558.3997,1996558.3997
+688778.SH,20250429,47.69,0.6126,1.8416,0.97,40.6145,40.1762,2.2638,1.5091,1.5466,,,42077.1001,42077.1001,13996.8848,2006656.9038,2006656.9038
+688778.SH,20250428,47.81,0.8384,2.5204,1.36,40.7167,40.2773,2.2695,1.5129,1.5505,,,42077.1001,42077.1001,13996.8848,2011706.1558,2011706.1558
+688778.SH,20250425,45.99,0.667,1.7891,1.15,36.688,38.9072,2.2139,1.1179,1.4553,,,42077.1001,42077.1001,15686.4558,1935125.8336,1935125.8336
+688778.SH,20250424,46.75,0.5503,1.4761,0.93,37.2943,39.5502,2.2505,1.1363,1.4794,,,42077.1001,42077.1001,15686.4558,1967104.4297,1967104.4297
+688778.SH,20250423,46.45,0.5417,1.4531,0.82,37.055,39.2964,2.2361,1.129,1.4699,,,42077.1001,42077.1001,15686.4558,1954481.2996,1954481.2996
+688778.SH,20250422,45.9,0.5764,1.5462,0.7,36.6162,38.8311,2.2096,1.1157,1.4525,,,42077.1001,42077.1001,15686.4558,1931338.8946,1931338.8946
+688778.SH,20250421,46.94,0.7395,1.9836,0.94,37.4459,39.7109,2.2597,1.141,1.4854,,,42077.1001,42077.1001,15686.4558,1975099.0787,1975099.0787
+688778.SH,20250418,45.66,0.503,1.3492,0.59,36.4248,38.628,2.198,1.1098,1.4449,,,42077.1001,42077.1001,15686.4558,1921240.3906,1921240.3906
+688778.SH,20250417,45.49,0.593,1.5907,0.67,36.2891,38.4842,2.1899,1.1057,1.4395,,,42077.1001,42077.1001,15686.4558,1914087.2835,1914087.2835
+688778.SH,20250416,46.28,0.8995,2.4128,0.97,36.9194,39.1525,2.2279,1.1249,1.4645,,,42077.1001,42077.1001,15686.4558,1947328.1926,1947328.1926
+688778.SH,20250415,46.4,1.3725,3.6815,1.63,37.0151,39.2541,2.2337,1.1278,1.4683,,,42077.1001,42077.1001,15686.4558,1952377.4446,1952377.4446
+688778.SH,20250414,43.98,0.5593,1.5003,0.57,35.0846,37.2068,2.1172,1.069,1.3917,,,42077.1001,42077.1001,15686.4558,1850550.8624,1850550.8624
+688778.SH,20250411,43.5,0.8424,2.2597,0.91,34.7016,36.8007,2.0941,1.0573,1.3765,,,42077.1001,42077.1001,15686.4558,1830353.8544,1830353.8544
+688778.SH,20250410,42.55,0.7574,2.0317,0.79,33.9438,35.997,2.0483,1.0343,1.3465,,,42077.1001,42077.1001,15686.4558,1790380.6093,1790380.6093
+688778.SH,20250409,42.18,1.1108,2.9795,1.29,33.6486,35.684,2.0305,1.0253,1.3348,,,42077.1001,42077.1001,15686.4558,1774812.0822,1774812.0822
+688778.SH,20250408,40.66,0.9399,2.5212,1.12,32.4361,34.3981,1.9573,0.9883,1.2867,,,42077.1001,42077.1001,15686.4558,1710854.8901,1710854.8901
+688778.SH,20250407,41.11,1.238,3.3208,1.8,32.795,34.7788,1.979,0.9993,1.3009,,,42077.1001,42077.1001,15686.4558,1729789.5851,1729789.5851
+688778.SH,20250403,48.54,0.5661,1.5186,0.83,38.7222,41.0645,2.3367,1.1798,1.536,,,42077.1001,42077.1001,15686.4558,2042422.4389,2042422.4389
+688778.SH,20250402,49.15,0.9416,2.5258,1.62,39.2089,41.5805,2.3661,1.1947,1.5553,,,42077.1001,42077.1001,15686.4558,2068089.4699,2068089.4699
+688778.SH,20250401,47.68,0.6093,1.6344,1.04,38.0362,40.3369,2.2953,1.1589,1.5088,,,42077.1001,42077.1001,15686.4558,2006236.1328,2006236.1328
+688778.SH,20250331,47.63,0.8301,2.2267,1.44,37.9963,40.2946,2.2929,1.1577,1.5072,,,42077.1001,42077.1001,15686.4558,2004132.2778,2004132.2778
+688778.SH,20250328,46.61,0.4853,1.3018,0.71,37.1826,39.4317,2.2438,1.1329,1.475,,,42077.1001,42077.1001,15686.4558,1961213.6357,1961213.6357
+688778.SH,20250327,46.9,0.5406,1.4501,0.77,37.414,39.6771,2.2577,1.14,1.4841,,,42077.1001,42077.1001,15686.4558,1973415.9947,1973415.9947
+688778.SH,20250326,46.39,0.4472,1.1996,0.51,37.0071,39.2456,2.2332,1.1276,1.468,,,42077.1001,42077.1001,15686.4558,1951956.6736,1951956.6736
+688778.SH,20250325,46.36,0.635,1.7034,0.67,36.9832,39.2202,2.2317,1.1269,1.467,,,42077.1001,42077.1001,15686.4558,1950694.3606,1950694.3606
+688778.SH,20250324,46.67,0.772,2.0708,0.82,37.2305,39.4825,2.2467,1.1344,1.4769,,,42077.1001,42077.1001,15686.4558,1963738.2617,1963738.2617
+688778.SH,20250321,47.06,1.0364,2.7801,1.12,37.5416,39.8124,2.2654,1.1439,1.4892,,,42077.1001,42077.1001,15686.4558,1980148.3307,1980148.3307
+688778.SH,20250320,49.22,0.6248,1.676,0.65,39.2647,41.6398,2.3694,1.1964,1.5575,,,42077.1001,42077.1001,15686.4558,2071034.8669,2071034.8669
+688778.SH,20250319,49.72,1.344,3.6052,1.57,39.6636,42.0628,2.3935,1.2085,1.5734,,,42077.1001,42077.1001,15686.4558,2092073.417,2092073.417
+688778.SH,20250318,51.2,0.9339,2.5051,1.1,40.8442,43.3148,2.4647,1.2445,1.6202,,,42077.1001,42077.1001,15686.4558,2154347.5251,2154347.5251
+688778.SH,20250317,51.45,0.7473,2.0044,0.88,41.0437,43.5263,2.4768,1.2506,1.6281,,,42077.1001,42077.1001,15686.4558,2164866.8001,2164866.8001
+688778.SH,20250314,52.55,0.964,2.5857,1.05,41.9212,44.4569,2.5297,1.2773,1.6629,,,42077.1001,42077.1001,15686.4558,2211151.6103,2211151.6103
+688778.SH,20250313,51.63,0.7942,2.1304,0.73,41.1873,43.6786,2.4854,1.255,1.6338,,,42077.1001,42077.1001,15686.4558,2172440.6782,2172440.6782
+688778.SH,20250312,51.98,0.8317,2.2309,0.71,41.4665,43.9747,2.5023,1.2635,1.6449,,,42077.1001,42077.1001,15686.4558,2187167.6632,2187167.6632
+688778.SH,20250311,52.85,0.8974,2.4071,0.58,42.1605,44.7107,2.5442,1.2846,1.6724,,,42077.1001,42077.1001,15686.4558,2223774.7403,2223774.7403
+688778.SH,20250310,52.99,0.7696,2.0644,0.36,42.2722,44.8291,2.5509,1.288,1.6768,,,42077.1001,42077.1001,15686.4558,2229665.5343,2229665.5343
+688778.SH,20250307,52.52,1.3038,3.4973,0.52,41.8972,44.4315,2.5283,1.2766,1.662,,,42077.1001,42077.1001,15686.4558,2209889.2973,2209889.2973
+688778.SH,20250306,54.78,1.6346,5.0215,0.59,43.7001,46.3435,2.6371,1.3315,1.7335,,,42077.1001,42077.1001,13696.8848,2304983.5435,2304983.5435
+688778.SH,20250305,53.6,1.2278,3.7719,0.42,42.7588,45.3452,2.5803,1.3028,1.6961,,,42077.1001,42077.1001,13696.8848,2255332.5654,2255332.5654
+688778.SH,20250304,53.8,2.7618,8.4843,1.05,42.9184,45.5144,2.5899,1.3077,1.7025,,,42077.1001,42077.1001,13696.8848,2263747.9854,2263747.9854
+688778.SH,20250303,57.53,3.6274,11.1436,1.62,45.8939,48.67,2.7695,1.3984,1.8205,,,42077.1001,42077.1001,13696.8848,2420695.5688,2420695.5688
+688778.SH,20250228,54.2,3.2362,9.9417,1.54,43.2374,45.8528,2.6092,1.3174,1.7151,,,42077.1001,42077.1001,13696.8848,2280578.8254,2280578.8254
+688778.SH,20250227,54.2,2.9274,8.993,1.71,43.2374,45.8528,2.6092,1.3174,1.7151,,,42077.1001,42077.1001,13696.8848,2280578.8254,2280578.8254
+688778.SH,20250226,52.65,2.176,6.6846,1.46,42.001,44.5415,2.5345,1.2798,1.6661,,,42077.1001,42077.1001,13696.8848,2215359.3203,2215359.3203
+688778.SH,20250225,49.99,1.175,3.6096,0.75,39.879,42.2912,2.4065,1.2151,1.5819,,,42077.1001,42077.1001,13696.8848,2103434.234,2103434.234
+688778.SH,20250224,51.2,1.695,5.2072,1.1,40.8442,43.3148,2.4647,1.2445,1.6202,,,42077.1001,42077.1001,13696.8848,2154347.5251,2154347.5251
+688778.SH,20250221,51.61,2.5266,7.7619,1.99,41.1713,43.6617,2.4845,1.2545,1.6332,,,42077.1001,42077.1001,13696.8848,2171599.1362,2171599.1362
+688778.SH,20250220,48.6,0.9891,3.0387,0.62,38.7701,41.1152,2.3396,1.1813,1.5379,,,42077.1001,42077.1001,13696.8848,2044947.0649,2044947.0649
+688778.SH,20250219,49.27,1.078,3.3116,0.68,39.3046,41.6821,2.3718,1.1976,1.5591,,,42077.1001,42077.1001,13696.8848,2073138.7219,2073138.7219
+688778.SH,20250218,49.52,1.5155,4.6558,0.97,39.504,41.8936,2.3839,1.2037,1.567,,,42077.1001,42077.1001,13696.8848,2083657.997,2083657.997
+688778.SH,20250217,50.93,1.5804,4.8551,1.11,40.6288,43.0864,2.4517,1.2379,1.6117,,,42077.1001,42077.1001,13696.8848,2142986.7081,2142986.7081
+688778.SH,20250214,50.34,1.1798,3.6243,0.79,40.1582,42.5873,2.4233,1.2236,1.593,,,42077.1001,42077.1001,13696.8848,2118161.219,2118161.219
+688778.SH,20250213,51.08,2.6437,8.1215,2.33,40.7485,43.2133,2.459,1.2416,1.6164,,,42077.1001,42077.1001,13696.8848,2149298.2731,2149298.2731
+688778.SH,20250212,49.39,1.0324,3.1715,1.0,39.4003,41.7836,2.3776,1.2005,1.5629,,,42077.1001,42077.1001,13696.8848,2078187.9739,2078187.9739
+688778.SH,20250211,48.29,1.3734,4.2192,1.55,38.5228,40.853,2.3247,1.1738,1.5281,,,42077.1001,42077.1001,13696.8848,2031903.1638,2031903.1638
+688778.SH,20250210,47.0,0.8634,2.6525,0.91,37.4937,39.7617,2.2626,1.1424,1.4873,,,42077.1001,42077.1001,13696.8848,1977623.7047,1977623.7047
+688778.SH,20250207,47.95,1.5329,4.709,1.75,38.2516,40.5653,2.3083,1.1655,1.5174,,,42077.1001,42077.1001,13696.8848,2017596.9498,2017596.9498
+688778.SH,20250206,45.68,0.8748,2.6875,1.03,36.4407,38.6449,2.199,1.1103,1.4455,,,42077.1001,42077.1001,13696.8848,1922081.9326,1922081.9326
+688778.SH,20250205,43.28,0.5158,1.5846,0.61,34.5261,36.6146,2.0835,1.052,1.3696,,,42077.1001,42077.1001,13696.8848,1821096.8923,1821096.8923
+688778.SH,20250127,42.93,0.6318,1.941,0.73,34.2469,36.3185,2.0666,1.0435,1.3585,,,42077.1001,42077.1001,13696.8848,1806369.9073,1806369.9073
+688778.SH,20250124,44.63,1.1727,3.6025,1.59,35.6031,37.7566,2.1485,1.0848,1.4123,,,42077.1001,42077.1001,13696.8848,1877900.9775,1877900.9775
+688778.SH,20250123,42.96,1.1888,3.6521,1.84,34.2709,36.3438,2.0681,1.0442,1.3595,,,42077.1001,42077.1001,13696.8848,1807632.2203,1807632.2203
+688778.SH,20250122,44.36,0.7435,2.284,1.19,35.3877,37.5282,2.1355,1.0782,1.4038,,,42077.1001,42077.1001,13696.8848,1866540.1604,1866540.1604
+688778.SH,20250121,44.2,0.5197,1.5964,0.76,35.2601,38.5412,2.1549,1.0744,1.3218,,,42077.1001,42077.1001,13696.8848,1859807.8244,1859807.8244
+688778.SH,20250120,44.29,0.6768,2.0791,1.0,35.3319,38.6196,2.1593,1.0765,1.3244,,,42077.1001,42077.1001,13696.8848,1863594.7634,1863594.7634
+688778.SH,20250117,43.5,0.55,1.6897,0.82,34.7016,37.9308,2.1208,1.0573,1.3008,,,42077.1001,42077.1001,13696.8848,1830353.8544,1830353.8544
+688778.SH,20250116,42.85,0.7377,2.2663,1.08,34.1831,37.364,2.0891,1.0415,1.2814,,,42077.1001,42077.1001,13696.8848,1803003.7393,1803003.7393
+688778.SH,20250115,43.39,0.6431,1.9756,0.85,34.6139,37.8349,2.1154,1.0547,1.2975,,,42077.1001,42077.1001,13696.8848,1825725.3733,1825725.3733
+688778.SH,20250114,44.39,0.8052,2.4736,1.14,35.4116,38.7068,2.1642,1.079,1.3274,,,42077.1001,42077.1001,13696.8848,1867802.4734,1867802.4734
+688778.SH,20250113,43.0,0.6534,2.0072,0.89,34.3028,37.4948,2.0964,1.0452,1.2859,,,42077.1001,42077.1001,13696.8848,1809315.3043,1809315.3043
+688778.SH,20250110,42.0,0.5159,1.5848,0.64,33.505,36.6228,2.0477,1.0209,1.256,,,42077.1001,42077.1001,13696.8848,1767238.2042,1767238.2042
+688778.SH,20250109,42.65,0.7829,2.405,0.92,34.0236,37.1896,2.0794,1.0367,1.2754,,,42077.1001,42077.1001,13696.8848,1794588.3193,1794588.3193
+688778.SH,20250108,42.08,1.0262,3.1524,1.35,33.5689,36.6926,2.0516,1.0228,1.2584,,,42077.1001,42077.1001,13696.8848,1770604.3722,1770604.3722
+688778.SH,20250107,41.8,0.5436,1.6699,0.7,33.3455,36.4484,2.0379,1.016,1.25,,,42077.1001,42077.1001,13696.8848,1758822.7842,1758822.7842
+688778.SH,20250106,41.9,0.8145,2.5022,1.05,33.4253,36.5356,2.0428,1.0185,1.253,,,42077.1001,42077.1001,13696.8848,1763030.4942,1763030.4942
+688778.SH,20250103,41.95,0.8638,2.6535,1.13,33.4651,36.5792,2.0452,1.0197,1.2545,,,42077.1001,42077.1001,13696.8848,1765134.3492,1765134.3492
+688778.SH,20250102,43.28,1.0297,3.1634,1.45,34.5261,37.739,2.1101,1.052,1.2942,,,42077.1001,42077.1001,13696.8848,1821096.8923,1821096.8923
+688778.SH,20241231,45.64,0.5466,1.679,0.76,36.4088,39.7968,2.2251,1.1094,1.3648,,,42077.1001,42077.1001,13696.8848,1920398.8486,1920398.8486
+688778.SH,20241230,47.3,0.641,1.9691,0.92,37.733,41.2443,2.3061,1.1497,1.4145,,,42077.1001,42077.1001,13696.8848,1990246.8347,1990246.8347
+688778.SH,20241227,47.05,0.8096,2.4872,1.27,37.5336,41.0263,2.2939,1.1436,1.407,,,42077.1001,42077.1001,13696.8848,1979727.5597,1979727.5597
+688778.SH,20241226,47.04,0.8007,2.4599,1.33,37.5256,41.0176,2.2934,1.1434,1.4067,,,42077.1001,42077.1001,13696.8848,1979306.7887,1979306.7887
+688778.SH,20241225,47.19,0.7646,2.3488,1.42,37.6453,41.1484,2.3007,1.147,1.4112,,,42077.1001,42077.1001,13696.8848,1985618.3537,1985618.3537
+688778.SH,20241224,48.6,0.5624,1.7276,0.99,38.7701,42.3778,2.3695,1.1813,1.4533,,,42077.1001,42077.1001,13696.8848,2044947.0649,2044947.0649
+688778.SH,20241223,48.6,0.5368,1.6492,0.8,38.7701,42.3778,2.3695,1.1813,1.4533,,,42077.1001,42077.1001,13696.8848,2044947.0649,2044947.0649
+688778.SH,20241220,49.03,0.5318,1.6339,0.58,39.1131,42.7528,2.3904,1.1918,1.4662,,,42077.1001,42077.1001,13696.8848,2063040.2179,2063040.2179
+688778.SH,20241219,49.0,0.6097,1.8731,0.46,39.0892,42.7266,2.389,1.191,1.4653,,,42077.1001,42077.1001,13696.8848,2061777.9049,2061777.9049
+688778.SH,20241218,48.31,0.4513,1.3863,0.29,38.5388,42.125,2.3553,1.1743,1.4447,,,42077.1001,42077.1001,13696.8848,2032744.7058,2032744.7058
+688778.SH,20241217,48.33,0.7036,2.1613,0.41,38.5547,42.1424,2.3563,1.1747,1.4453,,,42077.1001,42077.1001,13696.8848,2033586.2478,2033586.2478
+688778.SH,20241216,48.7,1.0627,3.2646,0.6,38.8499,42.465,2.3743,1.1837,1.4563,,,42077.1001,42077.1001,13696.8848,2049154.7749,2049154.7749
+688778.SH,20241213,50.59,1.7955,5.516,1.13,40.3576,44.1131,2.4665,1.2297,1.5128,,,42077.1001,42077.1001,13696.8848,2128680.4941,2128680.4941
+688778.SH,20241212,53.06,2.5684,7.8903,1.91,42.328,46.2668,2.5869,1.2897,1.5867,,,42077.1001,42077.1001,13696.8848,2232610.9313,2232610.9313
+688778.SH,20241211,49.8,1.583,4.863,1.19,39.7274,43.4242,2.428,1.2105,1.4892,,,42077.1001,42077.1001,13696.8848,2095439.585,2095439.585
+688778.SH,20241210,51.58,1.5024,4.6153,1.16,41.1474,44.9763,2.5147,1.2537,1.5424,,,42077.1001,42077.1001,13696.8848,2170336.8232,2170336.8232
+688778.SH,20241209,52.22,1.3522,4.154,0.94,41.6579,45.5344,2.5459,1.2693,1.5616,,,42077.1001,42077.1001,13696.8848,2197266.1672,2197266.1672
+688778.SH,20241206,50.7,0.9379,2.8812,0.57,40.4454,44.209,2.4718,1.2324,1.5161,,,42077.1001,42077.1001,13696.8848,2133308.9751,2133308.9751
+688778.SH,20241205,50.47,1.3519,4.1531,0.85,40.2619,44.0084,2.4606,1.2268,1.5092,,,42077.1001,42077.1001,13696.8848,2123631.242,2123631.242
+688778.SH,20241204,50.69,1.4862,4.5656,0.99,40.4374,44.2003,2.4714,1.2321,1.5158,,,42077.1001,42077.1001,13696.8848,2132888.2041,2132888.2041
+688778.SH,20241203,50.92,1.3437,4.1279,0.88,40.6209,44.4008,2.4826,1.2377,1.5227,,,42077.1001,42077.1001,13696.8848,2142565.9371,2142565.9371
+688778.SH,20241202,51.78,2.0563,6.3169,1.37,41.3069,45.1507,2.5245,1.2586,1.5484,,,42077.1001,42077.1001,13696.8848,2178752.2432,2178752.2432
+688778.SH,20241129,49.48,1.9422,5.9664,1.33,39.4721,43.1452,2.4124,1.2027,1.4796,,,42077.1001,42077.1001,13696.8848,2081974.9129,2081974.9129
+688778.SH,20241128,47.6,1.0887,3.3445,0.7,37.9724,41.5059,2.3207,1.157,1.4234,,,42077.1001,42077.1001,13696.8848,2002869.9648,2002869.9648
+688778.SH,20241127,47.83,1.0725,3.2949,0.59,38.1559,41.7064,2.3319,1.1626,1.4303,,,42077.1001,42077.1001,13696.8848,2012547.6978,2012547.6978
+688778.SH,20241126,46.59,1.4775,4.539,0.72,37.1667,40.6252,2.2715,1.1325,1.3932,,,42077.1001,42077.1001,13696.8848,1960372.0937,1960372.0937
+688778.SH,20241125,49.56,1.9393,5.9576,0.85,39.5359,43.2149,2.4163,1.2046,1.482,,,42077.1001,42077.1001,13696.8848,2085341.081,2085341.081
+688778.SH,20241122,47.86,1.7415,5.35,0.73,38.1798,41.7326,2.3334,1.1633,1.4312,,,42077.1001,42077.1001,13696.8848,2013810.0108,2013810.0108
+688778.SH,20241121,50.56,1.5597,4.7913,0.56,40.3337,44.0869,2.465,1.2289,1.5119,,,42077.1001,42077.1001,13696.8848,2127418.1811,2127418.1811
+688778.SH,20241120,51.18,2.3013,7.0695,0.78,40.8283,44.6275,2.4952,1.244,1.5305,,,42077.1001,42077.1001,13696.8848,2153505.9831,2153505.9831
+688778.SH,20241119,50.87,2.7604,8.4799,0.83,40.581,44.3572,2.4801,1.2365,1.5212,,,42077.1001,42077.1001,13696.8848,2140462.0821,2140462.0821
+688778.SH,20241118,46.95,3.0501,9.37,0.78,37.4538,40.9391,2.289,1.1412,1.404,,,42077.1001,42077.1001,13696.8848,1975519.8497,1975519.8497
+688778.SH,20241115,50.44,2.2853,7.0204,0.51,40.2379,43.9823,2.4592,1.226,1.5084,,,42077.1001,42077.1001,13696.8848,2122368.929,2122368.929
+688778.SH,20241114,51.68,3.423,10.5156,0.67,41.2271,45.0635,2.5196,1.2562,1.5454,,,42077.1001,42077.1001,13696.8848,2174544.5332,2174544.5332
+688778.SH,20241113,57.57,3.321,10.2021,0.63,45.9258,50.1994,2.8068,1.3993,1.7216,,,42077.1001,42077.1001,13696.8848,2422378.6528,2422378.6528
+688778.SH,20241112,56.31,4.4849,13.7777,0.96,44.9207,49.1008,2.7454,1.3687,1.6839,,,42077.1001,42077.1001,13696.8848,2369361.5066,2369361.5066
+688778.SH,20241111,58.96,5.9251,18.2019,1.58,47.0347,51.4115,2.8745,1.4331,1.7631,,,42077.1001,42077.1001,13696.8848,2480865.8219,2480865.8219
+688778.SH,20241108,55.88,5.4489,16.7392,1.88,44.5776,48.7258,2.7244,1.3583,1.671,,,42077.1001,42077.1001,13696.8848,2351268.3536,2351268.3536
+688778.SH,20241107,51.0,6.4403,19.7849,3.53,40.6847,44.4706,2.4865,1.2396,1.5251,,,42077.1001,42077.1001,13696.8848,2145932.1051,2145932.1051
+688778.SH,20241106,43.17,4.1053,12.6116,3.6,34.4384,37.643,2.1047,1.0493,1.2909,,,42077.1001,42077.1001,13696.8848,1816468.4113,1816468.4113
+688778.SH,20241105,39.3,1.4218,4.3678,1.4,31.3511,34.2685,1.916,0.9553,1.1752,,,42077.1001,42077.1001,13696.8848,1653630.0339,1653630.0339
+688778.SH,20241104,38.01,1.3634,4.1883,1.44,30.3221,33.1437,1.8531,0.9239,1.1366,,,42077.1001,42077.1001,13696.8848,1599350.5748,1599350.5748
+688778.SH,20241101,36.4,1.1916,3.6605,1.2,29.0377,31.7398,1.7747,0.8848,1.0885,,,42077.1001,42077.1001,13696.8848,1531606.4436,1531606.4436
+688778.SH,20241031,36.15,1.0305,3.1657,1.11,28.8383,31.5218,1.7625,0.8787,1.081,,,42077.1001,42077.1001,13696.8848,1521087.1686,1521087.1686
+688778.SH,20241030,35.2,0.6963,2.1389,0.69,28.0804,30.6934,1.7161,0.8556,1.0526,,,42077.1001,42077.1001,13696.8848,1481113.9235,1481113.9235
+688778.SH,20241029,35.07,0.7849,2.4111,0.79,27.9767,30.5801,1.7098,0.8524,1.0487,,,42077.1001,42077.1001,13696.8848,1475643.9005,1475643.9005
+688778.SH,20241028,35.93,1.0257,3.1508,1.02,28.6628,31.33,1.7517,0.8733,1.0744,,,42077.1001,42077.1001,13696.8848,1511830.2066,1511830.2066
+688778.SH,20241025,36.4,1.4275,4.3852,1.51,29.0377,29.9212,1.8017,0.8848,0.9888,,,42077.1001,42077.1001,13696.8848,1531606.4436,1531606.4436
+688778.SH,20241024,34.46,0.7165,2.2011,0.78,27.4901,28.3265,1.7057,0.8376,0.9361,,,42077.1001,42077.1001,13696.8848,1449976.8694,1449976.8694
+688778.SH,20241023,35.63,1.0949,3.3636,1.36,28.4234,29.2883,1.7636,0.866,0.9679,,,42077.1001,42077.1001,13696.8848,1499207.0766,1499207.0766
+688778.SH,20241022,34.88,0.7313,2.2464,0.92,27.8251,28.6718,1.7265,0.8478,0.9475,,,42077.1001,42077.1001,13696.8848,1467649.2515,1467649.2515
+688778.SH,20241021,34.8,1.0558,3.2435,1.42,27.7613,28.606,1.7226,0.8459,0.9453,,,42077.1001,42077.1001,13696.8848,1464283.0835,1464283.0835
+688778.SH,20241018,34.03,1.1145,3.4237,1.61,27.1471,27.9731,1.6844,0.8272,0.9244,,,42077.1001,42077.1001,13696.8848,1431883.7164,1431883.7164
+688778.SH,20241017,32.08,0.5918,1.8181,0.72,25.5915,26.3702,1.5879,0.7798,0.8714,,,42077.1001,42077.1001,13696.8848,1349833.3712,1349833.3712
+688778.SH,20241016,32.83,0.5203,1.5982,0.46,26.1898,26.9867,1.625,0.798,0.8918,,,42077.1001,42077.1001,13696.8848,1381391.1963,1381391.1963
+688778.SH,20241015,33.2,0.6909,2.1223,0.42,26.4849,27.2908,1.6434,0.807,0.9019,,,42077.1001,42077.1001,13696.8848,1396959.7233,1396959.7233
+688778.SH,20241014,34.11,0.7931,2.4364,0.42,27.2109,28.0388,1.6884,0.8291,0.9266,,,42077.1001,42077.1001,13696.8848,1435249.8844,1435249.8844
+688778.SH,20241011,33.34,0.8721,2.6791,0.48,26.5966,27.4059,1.6503,0.8104,0.9057,,,42077.1001,42077.1001,13696.8848,1402850.5173,1402850.5173
+688778.SH,20241010,35.15,1.2103,3.718,0.73,28.0405,28.8937,1.7399,0.8544,0.9548,,,42077.1001,42077.1001,13696.8848,1479010.0685,1479010.0685
+688778.SH,20241009,35.91,2.1175,6.5051,1.56,28.6468,29.5185,1.7775,0.8729,0.9755,,,42077.1001,42077.1001,13696.8848,1510988.6646,1510988.6646
+688778.SH,20241008,40.9,3.2293,9.9204,3.84,32.6275,33.6203,2.0245,0.9941,1.111,,,42077.1001,42077.1001,13696.8848,1720953.3941,1720953.3941
+688778.SH,20240930,36.74,1.927,5.9199,3.74,29.3089,30.2007,1.8186,0.893,0.998,,,42077.1001,42077.1001,13696.8848,1545912.6577,1545912.6577
+688778.SH,20240927,30.9,0.5624,1.7276,1.22,24.6501,25.4002,1.5295,0.7511,0.8394,,,42077.1001,42077.1001,13696.8848,1300182.3931,1300182.3931
+688778.SH,20240926,28.47,0.4914,1.5095,1.18,22.7116,23.4027,1.4092,0.692,0.7734,,,42077.1001,42077.1001,13696.8848,1197935.0398,1197935.0398
+688778.SH,20240925,27.32,0.5573,1.7122,1.57,21.7942,22.4574,1.3523,0.6641,0.7421,,,42077.1001,42077.1001,13696.8848,1149546.3747,1149546.3747
+688778.SH,20240924,27.17,0.6614,2.0317,2.29,21.6746,22.3341,1.3449,0.6604,0.7381,,,42077.1001,42077.1001,13696.8848,1143234.8097,1143234.8097
+688778.SH,20240923,25.4,0.3012,0.9253,1.15,20.2626,20.8791,1.2573,0.6174,0.69,,,42077.1001,42077.1001,13696.8848,1068758.3425,1068758.3425
+688778.SH,20240920,25.98,0.2941,0.9034,1.14,20.7253,21.3559,1.286,0.6315,0.7057,,,42077.1001,42077.1001,13696.8848,1093163.0606,1093163.0606
+688778.SH,20240919,26.59,0.2713,0.8335,1.04,21.2119,21.8573,1.3162,0.6463,0.7223,,,42077.1001,42077.1001,13696.8848,1118830.0917,1118830.0917
+688778.SH,20240918,26.4,0.2482,0.7626,0.96,21.0603,21.7011,1.3068,0.6417,0.7172,,,42077.1001,42077.1001,13696.8848,1110835.4426,1110835.4426
+688778.SH,20240913,26.2,0.3281,1.0078,1.34,20.9008,21.5367,1.2969,0.6368,0.7117,,,42077.1001,42077.1001,13696.8848,1102420.0226,1102420.0226
+688778.SH,20240912,27.1,0.1709,0.525,0.65,21.6187,22.2765,1.3414,0.6587,0.7362,,,42077.1001,42077.1001,13696.8848,1140289.4127,1140289.4127
+688778.SH,20240911,27.25,0.2741,0.8419,0.98,21.7384,22.3998,1.3488,0.6624,0.7402,,,42077.1001,42077.1001,13696.8848,1146600.9777,1146600.9777
+688778.SH,20240910,26.77,0.2773,0.8517,0.96,21.3555,22.0053,1.3251,0.6507,0.7272,,,42077.1001,42077.1001,13696.8848,1126403.9697,1126403.9697
+688778.SH,20240909,26.75,0.2413,0.7412,0.76,21.3395,21.9888,1.3241,0.6502,0.7267,,,42077.1001,42077.1001,13696.8848,1125562.4277,1125562.4277
+688778.SH,20240906,27.09,0.2609,0.8014,0.7,21.6107,22.2683,1.3409,0.6585,0.7359,,,42077.1001,42077.1001,13696.8848,1139868.6417,1139868.6417
+688778.SH,20240905,27.91,0.2629,0.8075,0.64,22.2649,22.9424,1.3815,0.6784,0.7582,,,42077.1001,42077.1001,13696.8848,1174371.8638,1174371.8638
+688778.SH,20240904,27.93,0.3537,1.0865,0.88,22.2808,22.9588,1.3825,0.6789,0.7587,,,42077.1001,42077.1001,13696.8848,1175213.4058,1175213.4058
+688778.SH,20240903,27.61,0.325,0.9983,0.82,22.0256,22.6958,1.3667,0.6711,0.75,,,42077.1001,42077.1001,13696.8848,1161748.7338,1161748.7338
+688778.SH,20240902,27.0,0.3818,1.173,0.93,21.539,22.1943,1.3365,0.6563,0.7334,,,42077.1001,42077.1001,13696.8848,1136081.7027,1136081.7027
+688778.SH,20240830,27.71,0.5273,1.62,1.52,22.1053,22.778,1.3716,0.6735,0.7527,,,42077.1001,42077.1001,13696.8848,1165956.4438,1165956.4438
+688778.SH,20240829,27.2,0.4788,1.471,1.58,21.6985,22.3587,1.3464,0.6611,0.7389,,,42077.1001,42077.1001,13696.8848,1144497.1227,1144497.1227
+688778.SH,20240828,26.19,0.2886,0.8866,0.94,20.8928,21.5285,1.2964,0.6366,0.7114,,,42077.1001,42077.1001,13696.8848,1101999.2516,1101999.2516
+688778.SH,20240827,26.58,0.313,0.9616,1.04,21.2039,21.8491,1.3157,0.6461,0.722,,,42077.1001,42077.1001,13696.8848,1118409.3207,1118409.3207
+688778.SH,20240826,27.6,0.4444,1.3653,1.59,22.0176,22.6875,1.3662,0.6709,0.7497,,,42077.1001,42077.1001,13696.8848,1161327.9628,1161327.9628
+688778.SH,20240823,26.69,0.2132,0.6548,0.63,21.2917,21.9395,1.3211,0.6487,0.725,,,42077.1001,42077.1001,13696.8848,1123037.8017,1123037.8017
+688778.SH,20240822,27.0,0.2537,0.7793,0.75,21.539,22.1943,1.3365,0.6563,0.7334,,,42077.1001,42077.1001,13696.8848,1136081.7027,1136081.7027
+688778.SH,20240821,27.32,0.3142,0.9652,1.0,21.7942,22.4574,1.3523,0.6641,0.7421,,,42077.1001,42077.1001,13696.8848,1149546.3747,1149546.3747
+688778.SH,20240820,27.38,0.275,0.8448,0.94,21.8421,22.5067,1.3553,0.6655,0.7438,,,42077.1001,42077.1001,13696.8848,1152071.0007,1152071.0007
+688778.SH,20240819,27.94,0.3414,1.0488,1.34,22.2888,22.967,1.383,0.6791,0.759,,,42077.1001,42077.1001,13696.8848,1175634.1768,1175634.1768
+688778.SH,20240816,27.97,0.4996,1.5349,2.3,22.3128,22.9917,1.3845,0.6799,0.7598,,,42077.1001,42077.1001,13696.8848,1176896.4898,1176896.4898
+688778.SH,20240815,29.45,0.2549,0.7831,1.07,23.4934,24.2083,1.4577,0.7158,0.8,,,42077.1001,42077.1001,13696.8848,1239170.5979,1239170.5979
+688778.SH,20240814,29.55,0.1994,0.6127,0.73,23.5732,24.2905,1.4627,0.7183,0.8027,,,42077.1001,42077.1001,13696.8848,1243378.308,1243378.308
+688778.SH,20240813,29.71,0.1733,0.5325,0.58,23.7008,24.422,1.4706,0.7222,0.8071,,,42077.1001,42077.1001,13696.8848,1250110.644,1250110.644
+688778.SH,20240812,29.25,0.1422,0.4369,0.38,23.3339,24.0439,1.4478,0.711,0.7946,,,42077.1001,42077.1001,13696.8848,1230755.1779,1230755.1779
+688778.SH,20240809,29.47,0.3163,0.9716,0.85,23.5094,24.2247,1.4587,0.7163,0.8005,,,42077.1001,42077.1001,13696.8848,1240012.1399,1240012.1399
+688778.SH,20240808,30.17,0.3563,1.0945,0.91,24.0678,24.8001,1.4934,0.7333,0.8196,,,42077.1001,42077.1001,13696.8848,1269466.11,1269466.11
+688778.SH,20240807,29.8,0.3718,1.1421,0.93,23.7726,24.496,1.4751,0.7243,0.8095,,,42077.1001,42077.1001,13696.8848,1253897.583,1253897.583
+688778.SH,20240806,29.34,0.2982,0.9161,0.8,23.4057,24.1178,1.4523,0.7132,0.797,,,42077.1001,42077.1001,13696.8848,1234542.1169,1234542.1169
+688778.SH,20240805,28.74,0.5092,1.5642,1.55,22.927,23.6246,1.4226,0.6986,0.7807,,,42077.1001,42077.1001,13696.8848,1209295.8569,1209295.8569
+688778.SH,20240802,29.72,0.6706,0.9996,1.03,23.7088,24.4302,1.4711,0.7224,0.8073,,,42077.1001,20416.728,13696.8848,1250531.415,606785.1562
+688778.SH,20240801,30.36,0.9434,1.4063,1.61,24.2194,24.9563,1.5028,0.738,0.8247,,,42077.1001,20416.728,13696.8848,1277460.759,619851.8621
+688778.SH,20240731,31.5,0.8207,1.2233,1.66,25.1288,25.8934,1.5592,0.7657,0.8557,,,42077.1001,20416.728,13696.8848,1325428.6532,643126.932
+688778.SH,20240730,29.94,0.3697,0.551,0.72,23.8843,24.611,1.482,0.7277,0.8133,,,42077.1001,20416.728,13696.8848,1259788.377,611276.8363
+688778.SH,20240729,29.98,0.5863,0.874,1.18,23.9162,24.6439,1.484,0.7287,0.8144,,,42077.1001,20416.728,13696.8848,1261471.461,612093.5054
+688778.SH,20240726,31.05,0.5295,0.7893,1.07,24.7698,25.5235,1.5369,0.7547,0.8435,,,42077.1001,20416.728,13696.8848,1306493.9581,633939.4044
+688778.SH,20240725,30.77,0.627,0.9345,1.31,24.5464,25.2933,1.5231,0.7479,0.8359,,,42077.1001,20416.728,13696.8848,1294712.3701,628222.7206
+688778.SH,20240724,29.71,0.3649,0.544,0.71,23.7008,24.422,1.4706,0.7222,0.8071,,,42077.1001,20416.728,13696.8848,1250110.644,606580.9889
+688778.SH,20240723,30.35,0.4453,0.6637,0.84,24.2114,24.9481,1.5023,0.7377,0.8245,,,42077.1001,20416.728,13696.8848,1277039.988,619647.6948
+688778.SH,20240722,31.52,0.5146,0.7671,0.9,25.1447,25.9098,1.5602,0.7661,0.8562,,,42077.1001,20416.728,13696.8848,1326270.1952,643535.2666
+688778.SH,20240719,31.64,0.5227,0.7791,0.7,25.2405,26.0085,1.5661,0.7691,0.8595,,,42077.1001,20416.728,13696.8848,1331319.4472,645985.2739
+688778.SH,20240718,31.86,0.5418,0.8075,0.65,25.416,26.1893,1.577,0.7744,0.8655,,,42077.1001,20416.728,13696.8848,1340576.4092,650476.9541
+688778.SH,20240717,31.37,0.5326,0.794,0.62,25.0251,25.7865,1.5528,0.7625,0.8522,,,42077.1001,20416.728,13696.8848,1319958.6301,640472.7574
+688778.SH,20240716,31.46,0.5281,0.7871,0.59,25.0969,25.8605,1.5572,0.7647,0.8546,,,42077.1001,20416.728,13696.8848,1323745.5691,642310.2629
+688778.SH,20240715,31.36,0.7335,1.0934,0.87,25.0171,25.222,1.5768,0.7623,0.7751,,,42077.1001,20416.728,13696.8848,1319537.8591,640268.5901
+688778.SH,20240712,32.45,1.4162,2.111,2.11,25.8866,26.0986,1.6316,0.7888,0.8021,,,42077.1001,20416.728,13696.8848,1365401.8982,662522.8236
+688778.SH,20240711,31.42,0.9873,1.4717,1.68,25.065,25.2702,1.5798,0.7637,0.7766,,,42077.1001,20416.728,13696.8848,1322062.4851,641493.5938
+688778.SH,20240710,29.93,0.6622,0.9871,1.17,23.8763,24.0719,1.5049,0.7275,0.7398,,,42077.1001,20416.728,13696.8848,1259367.606,611072.669
+688778.SH,20240709,30.03,0.6769,1.009,1.17,23.9561,24.1523,1.5099,0.7299,0.7423,,,42077.1001,20416.728,13696.8848,1263575.316,613114.3418
+688778.SH,20240708,29.87,0.4834,0.7206,0.74,23.8285,24.0236,1.5019,0.726,0.7383,,,42077.1001,20416.728,13696.8848,1256842.98,609847.6654
+688778.SH,20240705,30.43,0.5409,0.8062,0.81,24.2752,24.474,1.53,0.7397,0.7521,,,42077.1001,20416.728,13696.8848,1280406.156,621281.033
+688778.SH,20240704,30.3,0.5719,0.8525,0.85,24.1715,24.3694,1.5235,0.7365,0.7489,,,42077.1001,20416.728,13696.8848,1274936.133,618626.8584
+688778.SH,20240703,31.3,0.5602,0.8351,0.82,24.9692,25.1737,1.5738,0.7608,0.7736,,,42077.1001,20416.728,13696.8848,1317013.2331,639043.5864
+688778.SH,20240702,31.06,0.7477,1.1145,1.19,24.7778,24.9807,1.5617,0.755,0.7677,,,42077.1001,20416.728,13696.8848,1306914.7291,634143.5717
+688778.SH,20240701,31.31,0.8335,1.2424,1.28,24.9772,25.1817,1.5743,0.761,0.7739,,,42077.1001,20416.728,13696.8848,1317434.0041,639247.7537
+688778.SH,20240628,31.24,0.6379,0.9509,0.99,24.9214,25.1255,1.5708,0.7593,0.7722,,,42077.1001,20416.728,13696.8848,1314488.6071,637818.5827
+688778.SH,20240627,31.04,0.5949,0.8868,0.89,24.7618,24.9646,1.5607,0.7545,0.7672,,,42077.1001,20416.728,13696.8848,1306073.1871,633735.2371
+688778.SH,20240626,32.01,0.6216,0.9265,0.81,25.5356,25.7447,1.6095,0.7781,0.7912,,,42077.1001,20416.728,13696.8848,1346887.9742,653539.4633
+688778.SH,20240625,31.54,0.4488,0.6689,0.53,25.1607,25.3667,1.5859,0.7666,0.7796,,,42077.1001,20416.728,13696.8848,1327111.7372,643943.6011
+688778.SH,20240624,31.63,0.9412,1.4029,1.11,25.2325,25.4391,1.5904,0.7688,0.7818,,,42077.1001,20416.728,13696.8848,1330898.6762,645781.1066
+688778.SH,20240621,32.99,0.6109,0.9106,0.65,26.3174,26.5329,1.6588,0.8019,0.8154,,,42077.1001,20416.728,13696.8848,1388123.5323,673547.8567
+688778.SH,20240620,33.73,0.735,1.0956,0.77,26.9077,27.1281,1.696,0.8199,0.8337,,,42077.1001,20416.728,13696.8848,1419260.5864,688656.2354
+688778.SH,20240619,34.25,1.0942,1.631,1.28,27.3226,27.5463,1.7221,0.8325,0.8466,,,42077.1001,20416.728,13696.8848,1441140.6784,699272.934
+688778.SH,20240618,34.63,0.8468,1.2622,1.04,27.6257,27.8519,1.7412,0.8417,0.856,,,42077.1001,20416.728,13696.8848,1457129.9765,707031.2906
+688778.SH,20240617,34.27,0.9504,1.4167,1.2,27.3385,27.5624,1.7231,0.833,0.8471,,,42077.1001,20416.728,13696.8848,1441982.2204,699681.2686
+688778.SH,20240614,33.32,1.0674,1.5911,1.38,26.5807,26.7983,1.6754,0.8099,0.8236,,,42077.1001,20416.728,13696.8848,1402008.9753,680285.377
+688778.SH,20240613,34.71,0.8045,1.1993,0.9,27.6895,27.9163,1.686,0.8437,0.8579,,,42077.1001,20416.728,13696.8848,1460496.1445,708664.6289
+688778.SH,20240612,34.5,0.5978,0.891,0.65,27.522,27.7474,1.6758,0.8386,0.8527,,,42077.1001,20416.728,13696.8848,1451659.9535,704377.116
+688778.SH,20240611,34.38,0.6511,0.9706,0.67,27.4263,27.6509,1.67,0.8357,0.8498,,,42077.1001,20416.728,13696.8848,1446610.7014,701927.1086
+688778.SH,20240607,33.76,0.8291,1.2358,0.89,26.9317,27.1522,1.6399,0.8206,0.8345,,,42077.1001,20416.728,13696.8848,1420522.8994,689268.7373
+688778.SH,20240606,34.57,0.9981,1.4878,1.11,27.5778,27.8037,1.6792,0.8403,0.8545,,,42077.1001,20416.728,13696.8848,1454605.3505,705806.287
+688778.SH,20240605,35.6,1.4152,2.1095,1.88,28.3995,28.6321,1.7293,0.8653,0.8799,,,42077.1001,20416.728,13696.8848,1497944.7636,726835.5168
+688778.SH,20240604,35.39,0.6931,1.0331,0.94,28.232,28.4632,1.7191,0.8602,0.8747,,,42077.1001,20416.728,13696.8848,1489108.5725,722548.0039
+688778.SH,20240603,35.74,0.8987,1.3396,1.28,28.5112,28.7447,1.7361,0.8687,0.8834,,,42077.1001,20416.728,13696.8848,1503835.5576,729693.8587
+688778.SH,20240531,35.38,0.6785,1.0113,0.89,28.224,28.4551,1.7186,0.86,0.8745,,,42077.1001,20416.728,13696.8848,1488687.8015,722343.8366
+688778.SH,20240530,35.15,0.7935,1.1829,0.96,28.0405,28.2702,1.7074,0.8544,0.8688,,,42077.1001,20416.728,13696.8848,1479010.0685,717647.9892
+688778.SH,20240529,34.95,0.6962,1.0377,0.81,27.881,28.1093,1.6977,0.8495,0.8639,,,42077.1001,20416.728,13696.8848,1470594.6485,713564.6436
+688778.SH,20240528,34.5,0.6247,0.9311,0.65,27.522,27.7474,1.6758,0.8386,0.8527,,,42077.1001,20416.728,13696.8848,1451659.9535,704377.116
+688778.SH,20240527,35.03,0.7058,1.052,0.58,27.9448,28.1736,1.7016,0.8515,0.8658,,,42077.1001,20416.728,13696.8848,1473960.8165,715197.9818
+688778.SH,20240524,34.81,0.9819,1.4637,0.85,27.7693,27.9967,1.6909,0.8461,0.8604,,,42077.1001,20416.728,13696.8848,1464703.8545,710706.3017
+688778.SH,20240523,36.14,1.1458,1.708,1.06,28.8303,29.0664,1.7555,0.8784,0.8933,,,42077.1001,20416.728,13696.8848,1520666.3976,737860.5499
+688778.SH,20240522,36.96,0.8394,1.2512,0.79,29.4844,29.7259,1.7953,0.8984,0.9135,,,42077.1001,20416.728,13696.8848,1555169.6197,754602.2669
+688778.SH,20240521,36.78,1.1245,1.6762,1.11,29.3408,29.5811,1.7866,0.894,0.9091,,,42077.1001,20416.728,13696.8848,1547595.7417,750927.2558
+688778.SH,20240520,37.24,1.9617,2.9242,2.41,29.7078,29.9511,1.8089,0.9052,0.9205,,,42077.1001,20416.728,13696.8848,1566951.2077,760318.9507
+688778.SH,20240517,35.6,0.7092,1.0571,0.77,28.3995,28.6321,1.7293,0.8653,0.8799,,,42077.1001,20416.728,13696.8848,1497944.7636,726835.5168
+688778.SH,20240516,35.05,0.7682,1.1451,0.63,27.9607,28.1897,1.7025,0.852,0.8663,,,42077.1001,20416.728,13696.8848,1474802.3585,715606.3164
+688778.SH,20240515,35.28,0.7284,1.0858,0.53,28.1442,28.3747,1.7137,0.8575,0.872,,,42077.1001,20416.728,13696.8848,1484480.0915,720302.1638
+688778.SH,20240514,36.07,0.8956,1.3349,0.49,28.7744,29.0101,1.7521,0.8767,0.8915,,,42077.1001,20416.728,13696.8848,1517721.0006,736431.379
+688778.SH,20240513,36.45,0.9745,1.4526,0.42,29.0776,29.3157,1.7706,0.886,0.9009,,,42077.1001,20416.728,13696.8848,1533710.2986,744189.7356
+688778.SH,20240510,37.08,1.2395,1.8476,0.5,29.5802,29.8224,1.8012,0.9013,0.9165,,,42077.1001,20416.728,13696.8848,1560218.8717,757052.2742
+688778.SH,20240509,37.36,2.2266,3.3191,0.94,29.8035,30.0476,1.8148,0.9081,0.9234,,,42077.1001,20416.728,13696.8848,1572000.4597,762768.9581
+688778.SH,20240508,35.72,1.5768,2.3503,0.67,28.4952,28.7286,1.7351,0.8682,0.8829,,,42077.1001,20416.728,13696.8848,1502994.0156,729285.5242
+688778.SH,20240507,36.79,3.0993,4.6199,1.55,29.3488,29.5892,1.7871,0.8942,0.9093,,,42077.1001,20416.728,13696.8848,1548016.5127,751131.4231
+688778.SH,20240506,39.0,3.4707,5.1734,2.27,31.1118,31.3666,1.8944,0.948,0.964,,,42077.1001,20416.728,13696.8848,1641006.9039,796252.392
+688778.SH,20240430,36.04,2.0765,3.0953,1.59,28.7505,28.986,1.7506,0.876,0.8908,,,42077.1001,20416.728,13696.8848,1516458.6876,735818.8771
+688778.SH,20240429,35.11,1.5802,2.3554,1.28,28.0086,28.238,1.7055,0.8534,0.8678,,,42077.1001,20416.728,13696.8848,1477326.9845,716831.3201
+688778.SH,20240426,34.51,1.6107,2.401,1.3,27.53,27.7554,1.6763,0.8388,0.853,,,42077.1001,20416.728,13696.8848,1452080.7245,704581.2833
+688778.SH,20240425,33.05,1.2487,1.8613,0.78,26.3653,26.5812,1.6054,0.8033,0.8169,,,42077.1001,20416.728,13696.8848,1390648.1583,674772.8604
+688778.SH,20240424,32.1,1.1419,1.7021,0.72,25.6074,25.8171,1.5593,0.7802,0.7934,,,42077.1001,20416.728,13696.8848,1350674.9132,655376.9688
+688778.SH,20240423,32.66,0.9386,1.3991,0.55,26.0542,26.2675,1.5865,0.7939,0.8073,,,42077.1001,20416.728,13696.8848,1374238.0893,666810.3365
+688778.SH,20240422,32.71,1.2447,1.8554,0.73,26.094,26.3077,1.5889,0.7951,0.8085,,,42077.1001,20416.728,13696.8848,1376341.9443,667831.1729
+688778.SH,20240419,32.59,1.6211,2.4164,0.92,25.9983,26.2112,1.5831,0.7922,0.8055,,,42077.1001,20416.728,13696.8848,1371292.6923,665381.1655
+688778.SH,20240418,33.7,3.014,4.4927,1.97,26.8838,27.104,1.637,0.8191,0.833,,,42077.1001,20416.728,13696.8848,1417998.2734,688043.7336
+688778.SH,20240417,31.79,1.1174,1.6657,0.63,11.9373,25.2038,1.5582,0.4652,0.7764,,,42077.1001,20416.728,13696.8848,1337631.0122,649047.7831
+688778.SH,20240416,30.75,1.4743,2.1976,0.66,11.5467,24.3793,1.5072,0.45,0.751,,,42077.1001,20416.728,13696.8848,1293870.8281,627814.386
+688778.SH,20240415,32.54,1.3112,1.9545,0.6,12.2189,25.7984,1.595,0.4762,0.7947,,,42077.1001,20416.728,13696.8848,1369188.8373,664360.3291
+688778.SH,20240412,32.63,1.9115,2.8493,0.9,12.2527,25.8698,1.5994,0.4775,0.7969,,,42077.1001,20416.728,13696.8848,1372975.7763,666197.8346
+688778.SH,20240411,34.63,1.8473,2.7536,0.91,13.0037,27.4554,1.6974,0.5068,0.8457,,,42077.1001,20416.728,13696.8848,1457129.9765,707031.2906
+688778.SH,20240410,35.13,2.283,3.4031,1.3,13.1914,27.8518,1.7219,0.5141,0.8579,,,42077.1001,20416.728,13696.8848,1478168.5265,717239.6546
+688778.SH,20240409,35.31,3.7656,5.6131,3.44,13.259,27.9945,1.7307,0.5168,0.8623,,,42077.1001,20416.728,13696.8848,1485742.4045,720914.6657
+688778.SH,20240408,33.18,1.1137,1.6602,1.13,12.4592,26.3058,1.6263,0.4856,0.8103,,,42077.1001,20416.728,13696.8848,1396118.1813,677427.035
+688778.SH,20240403,34.29,1.5579,2.3223,1.94,12.876,27.1859,1.6807,0.5018,0.8374,,,42077.1001,20416.728,13696.8848,1442823.7624,700089.6031
+688778.SH,20240402,34.79,1.4368,2.1417,2.14,13.0638,27.5823,1.7052,0.5091,0.8496,,,42077.1001,20416.728,13696.8848,1463862.3125,710297.9671
+688778.SH,20240401,33.58,0.8825,1.3155,1.38,12.6094,26.623,1.6459,0.4914,0.8201,,,42077.1001,20416.728,13696.8848,1412949.0214,685593.7262
+688778.SH,20240329,32.17,0.4771,0.7111,0.7,12.0799,25.5051,1.5768,0.4708,0.7857,,,42077.1001,20416.728,13696.8848,1353620.3102,656806.1398
+688778.SH,20240328,32.08,0.5547,0.8268,0.77,12.0462,25.4337,1.5724,0.4695,0.7835,,,42077.1001,20416.728,13696.8848,1349833.3712,654968.6342
+688778.SH,20240327,31.85,0.6561,0.9779,0.93,11.9598,25.2514,1.5611,0.4661,0.7778,,,42077.1001,20416.728,13696.8848,1340155.6382,650272.7868
+688778.SH,20240326,33.35,0.7794,1.1619,1.13,12.523,26.4406,1.6347,0.4881,0.8145,,,42077.1001,20416.728,13696.8848,1403271.2883,680897.8788
+688778.SH,20240325,32.79,0.7198,1.0729,0.93,12.3128,25.9966,1.6072,0.4799,0.8008,,,42077.1001,20416.728,13696.8848,1379708.1123,669464.5111
+688778.SH,20240322,33.9,0.6925,1.0323,0.86,12.7296,26.8767,1.6616,0.4961,0.8279,,,42077.1001,20416.728,13696.8848,1426413.6934,692127.0792
+688778.SH,20240321,35.01,0.7649,1.1402,0.99,13.1464,27.7567,1.716,0.5124,0.855,,,42077.1001,20416.728,13696.8848,1473119.2745,714789.6473
+688778.SH,20240320,35.9,0.5782,0.8619,0.73,13.4806,28.4623,1.7597,0.5254,0.8767,,,42077.1001,20416.728,13696.8848,1510567.8936,732960.5352
+688778.SH,20240319,35.93,0.6916,1.0309,0.77,13.4918,28.4861,1.7611,0.5258,0.8775,,,42077.1001,20416.728,13696.8848,1511830.2066,733573.037
+688778.SH,20240318,36.06,1.1522,1.7174,1.14,13.5407,28.5892,1.7675,0.5277,0.8807,,,42077.1001,20416.728,13696.8848,1517300.2296,736227.2117
+688778.SH,20240315,35.26,0.8613,1.2838,0.89,13.2403,27.9549,1.7283,0.516,0.8611,,,42077.1001,20416.728,13696.8848,1483638.5495,719893.8293
+688778.SH,20240314,34.5,0.5639,0.8405,0.56,12.9549,27.3524,1.691,0.5049,0.8426,,,42077.1001,20416.728,13696.8848,1451659.9535,704377.116
+688778.SH,20240313,34.9,0.7024,1.047,0.67,13.1051,27.6695,1.7106,0.5108,0.8523,,,42077.1001,20416.728,13696.8848,1468490.7935,712543.8072
+688778.SH,20240312,35.2,1.2122,1.8069,1.22,13.2177,27.9073,1.7253,0.5151,0.8597,,,42077.1001,20416.728,13696.8848,1481113.9235,718668.8256
+688778.SH,20240311,35.82,1.7302,2.5791,2.16,13.4505,28.3989,1.7557,0.5242,0.8748,,,42077.1001,20416.728,13696.8848,1507201.7256,731327.197
+688778.SH,20240308,34.08,0.6452,0.9618,0.72,12.7972,27.0194,1.6704,0.4988,0.8323,,,42077.1001,20416.728,13696.8848,1433987.5714,695802.0902
+688778.SH,20240307,33.76,0.713,1.0627,0.71,12.677,26.7657,1.6548,0.4941,0.8245,,,42077.1001,20416.728,13696.8848,1420522.8994,689268.7373
+688778.SH,20240306,34.3,0.9099,1.3563,0.75,12.8798,27.1938,1.6812,0.502,0.8377,,,42077.1001,20416.728,13696.8848,1443244.5334,700293.7704
+688778.SH,20240305,33.61,0.9525,1.4197,0.79,12.6207,26.6467,1.6474,0.4919,0.8208,,,42077.1001,20416.728,13696.8848,1414211.3344,686206.2281
+688778.SH,20240304,34.81,0.7793,1.1617,0.64,13.0713,27.5981,1.7062,0.5094,0.8501,,,42077.1001,20416.728,13696.8848,1464703.8545,710706.3017
+688778.SH,20240301,35.29,1.1104,1.6552,0.97,13.2515,27.9787,1.7298,0.5165,0.8619,,,42077.1001,20416.728,13696.8848,1484900.8625,720506.3311
+688778.SH,20240229,35.33,1.2856,1.9163,1.23,13.2665,28.0104,1.7317,0.517,0.8628,,,42077.1001,20416.728,13696.8848,1486583.9465,721323.0002
+688778.SH,20240228,33.4,1.9266,2.8718,2.21,12.5418,26.4802,1.6371,0.4888,0.8157,,,42077.1001,20416.728,13696.8848,1405375.1433,681918.7152
+688778.SH,20240227,33.96,0.9064,1.3511,1.01,12.7521,26.9242,1.6646,0.497,0.8294,,,42077.1001,20416.728,13696.8848,1428938.3194,693352.0829
+688778.SH,20240226,33.49,0.8367,1.2472,0.81,12.5756,26.5516,1.6415,0.4901,0.8179,,,42077.1001,20416.728,13696.8848,1409162.0823,683756.2207
+688778.SH,20240223,33.45,0.7577,1.1295,0.53,12.5606,26.5199,1.6396,0.4895,0.8169,,,42077.1001,20416.728,13696.8848,1407478.9983,682939.5516
+688778.SH,20240222,33.26,0.7897,1.1771,0.46,12.4892,26.3693,1.6303,0.4868,0.8123,,,42077.1001,20416.728,13696.8848,1399484.3493,679060.3733
+688778.SH,20240221,33.53,1.0723,1.5984,0.6,12.5906,26.5833,1.6435,0.4907,0.8189,,,42077.1001,20416.728,13696.8848,1410845.1664,684572.8898
+688778.SH,20240220,33.14,1.0523,1.5686,0.56,12.4442,26.2741,1.6244,0.485,0.8093,,,42077.1001,20416.728,13696.8848,1394435.0973,676610.3659
+688778.SH,20240219,34.07,1.4763,2.2006,0.8,12.7934,27.0114,1.67,0.4986,0.8321,,,42077.1001,20416.728,13696.8848,1433566.8004,695597.923
+688778.SH,20240208,35.45,4.0826,4.0826,1.91,13.3116,28.1055,1.7376,0.5188,0.8658,,,42077.1001,13559.7453,13559.7453,1491633.1985,480692.9709
+688778.SH,20240207,35.15,3.3993,3.3993,2.06,13.1989,27.8677,1.7229,0.5144,0.8584,,,42077.1001,13559.7453,13559.7453,1479010.0685,476625.0473
+688778.SH,20240206,30.45,2.1673,2.1673,1.55,11.4341,24.1414,1.4925,0.4456,0.7436,,,42077.1001,13559.7453,13559.7453,1281247.698,412894.2444
+688778.SH,20240205,26.79,2.1559,2.1559,1.74,10.0597,21.2397,1.3131,0.3921,0.6543,,,42077.1001,13559.7453,13559.7453,1127245.5117,363265.5766
+688778.SH,20240202,27.72,2.0772,2.0772,2.26,10.409,21.977,1.3587,0.4057,0.677,,,42077.1001,13559.7453,13559.7453,1166377.2148,375876.1397
+688778.SH,20240201,30.05,0.8853,0.8853,1.0,11.2839,23.8243,1.4729,0.4398,0.7339,,,42077.1001,13559.7453,13559.7453,1264416.858,407470.3463
+688778.SH,20240131,30.1,0.958,0.958,1.05,11.3027,23.8639,1.4754,0.4405,0.7351,,,42077.1001,13559.7453,13559.7453,1266520.713,408148.3335
+688778.SH,20240130,31.32,0.9204,0.9204,1.02,11.7608,24.8312,1.5352,0.4584,0.7649,,,42077.1001,13559.7453,13559.7453,1317854.7751,424691.2228
+688778.SH,20240129,32.77,1.3385,1.3385,1.68,12.3052,25.9808,1.6062,0.4796,0.8003,,,42077.1001,13559.7453,13559.7453,1378866.5703,444352.8535
+688778.SH,20240126,34.8,0.4896,0.4896,0.6,13.0675,27.5902,1.7057,0.5093,0.8499,,,42077.1001,13559.7453,13559.7453,1464283.0835,471879.1364
+688778.SH,20240125,35.3,0.7002,0.7002,0.86,13.2553,27.9866,1.7302,0.5166,0.8621,,,42077.1001,13559.7453,13559.7453,1485321.6335,478659.0091
+688778.SH,20240124,33.88,1.1083,1.1083,1.47,12.7221,26.8608,1.6606,0.4958,0.8274,,,42077.1001,13559.7453,13559.7453,1425572.1514,459404.1708
+688778.SH,20240123,34.49,0.8615,0.8615,1.25,12.9511,27.3444,1.6905,0.5048,0.8423,,,42077.1001,13559.7453,13559.7453,1451239.1824,467675.6154
+688778.SH,20240122,34.67,0.8338,0.8338,1.31,13.0187,27.4871,1.6994,0.5074,0.8467,,,42077.1001,13559.7453,13559.7453,1458813.0605,470116.3696
+688778.SH,20240119,37.13,0.5545,0.5545,0.82,13.9424,29.4375,1.8199,0.5434,0.9068,,,42077.1001,13559.7453,13559.7453,1562322.7267,503473.343
+688778.SH,20240118,37.18,0.7334,0.7334,1.07,13.9612,29.4771,1.8224,0.5441,0.908,,,42077.1001,13559.7453,13559.7453,1564426.5817,504151.3303
+688778.SH,20240117,37.28,0.774,0.774,1.1,13.9988,29.5564,1.8273,0.5456,0.9105,,,42077.1001,13559.7453,13559.7453,1568634.2917,505507.3048
+688778.SH,20240116,39.35,0.5389,0.5389,0.69,14.7761,24.5663,1.9567,0.5759,0.8344,,,42077.1001,13559.7453,13559.7453,1655733.8889,533575.9776
+688778.SH,20240115,39.36,0.5782,0.5782,0.63,14.7798,24.5725,1.9572,0.576,0.8346,,,42077.1001,13559.7453,13559.7453,1656154.6599,533711.575
+688778.SH,20240112,40.05,0.7551,0.7551,0.81,15.0389,25.0033,1.9915,0.5861,0.8492,,,42077.1001,13559.7453,13559.7453,1685187.859,543067.7993
+688778.SH,20240111,40.5,0.7808,0.7808,0.89,15.2079,25.2842,2.0139,0.5927,0.8588,,,42077.1001,13559.7453,13559.7453,1704122.5541,549169.6847
+688778.SH,20240110,39.96,0.8594,0.8594,1.08,15.0051,24.9471,1.987,0.5848,0.8473,,,42077.1001,13559.7453,13559.7453,1681400.92,541847.4222
+688778.SH,20240109,40.01,0.924,0.924,1.23,15.0239,24.9783,1.9895,0.5855,0.8484,,,42077.1001,13559.7453,13559.7453,1683504.775,542525.4095
+688778.SH,20240108,39.72,1.2964,1.2964,1.72,14.915,24.7973,1.9751,0.5813,0.8422,,,42077.1001,13559.7453,13559.7453,1671302.416,538593.0833
+688778.SH,20240105,38.9,0.8283,0.8283,0.85,14.6071,24.2853,1.9343,0.5693,0.8248,,,42077.1001,13559.7453,13559.7453,1636799.1939,527474.0922
+688778.SH,20240104,38.87,0.4545,0.4545,0.47,14.5958,24.2666,1.9328,0.5689,0.8242,,,42077.1001,13559.7453,13559.7453,1635536.8809,527067.2998
+688778.SH,20240103,39.42,0.4715,0.4715,0.49,14.8023,24.61,1.9602,0.5769,0.8359,,,42077.1001,13559.7453,13559.7453,1658679.2859,534525.1597
+688778.SH,20240102,39.42,0.7064,0.7064,0.71,14.8023,24.61,1.9602,0.5769,0.8359,,,42077.1001,13559.7453,13559.7453,1658679.2859,534525.1597
+688778.SH,20231229,39.64,1.3076,1.3076,1.54,14.885,24.7473,1.9711,0.5801,0.8405,,,42077.1001,13559.7453,13559.7453,1667936.248,537508.3037
+688778.SH,20231228,40.52,1.9449,1.9449,3.29,15.2154,25.2967,2.0149,0.593,0.8592,,,42077.1001,13559.7453,13559.7453,1704964.0961,549440.8796
+688778.SH,20231227,38.12,0.4246,0.4246,0.73,14.3142,23.7984,1.8955,0.5579,0.8083,,,42077.1001,13559.7453,13559.7453,1603979.0558,516897.4908
+688778.SH,20231226,38.11,0.4653,0.4653,0.84,14.3104,23.7921,1.8951,0.5577,0.8081,,,42077.1001,13559.7453,13559.7453,1603558.2848,516761.8934
+688778.SH,20231225,38.85,0.8444,0.8444,1.66,14.5883,24.2541,1.9318,0.5686,0.8238,,,42077.1001,13559.7453,13559.7453,1634695.3389,526796.1049
+688778.SH,20231222,38.06,0.5755,0.5755,1.16,14.2917,23.7609,1.8926,0.557,0.807,,,42077.1001,13559.7453,13559.7453,1601454.4298,516083.9061
+688778.SH,20231221,37.8,0.6422,0.6422,1.41,14.194,23.5986,1.8796,0.5532,0.8015,,,42077.1001,13559.7453,13559.7453,1590514.3838,512558.3723
+688778.SH,20231220,37.05,0.3833,0.3833,0.8,13.9124,23.1304,1.8423,0.5422,0.7856,,,42077.1001,13559.7453,13559.7453,1558956.5587,502388.5634
+688778.SH,20231219,37.39,0.3388,0.3388,0.65,14.0401,23.3426,1.8592,0.5472,0.7928,,,42077.1001,13559.7453,13559.7453,1573262.7727,506998.8768
+688778.SH,20231218,37.3,0.6098,0.6098,0.92,14.0063,23.2865,1.8548,0.5459,0.7909,,,42077.1001,13559.7453,13559.7453,1569475.8337,505778.4997
+688778.SH,20231215,38.23,0.5023,0.5023,0.64,14.3555,23.8671,1.901,0.5595,0.8106,,,42077.1001,13559.7453,13559.7453,1608607.5368,518389.0628
+688778.SH,20231214,38.17,0.4372,0.4372,0.51,14.333,23.8296,1.898,0.5586,0.8094,,,42077.1001,13559.7453,13559.7453,1606082.9108,517575.4781
+688778.SH,20231213,37.83,0.52,0.52,0.56,14.2053,23.6173,1.8811,0.5536,0.8021,,,42077.1001,13559.7453,13559.7453,1591776.6968,512965.1647
+688778.SH,20231212,38.66,0.5246,0.5246,0.56,14.517,24.1355,1.9224,0.5658,0.8197,,,42077.1001,13559.7453,13559.7453,1626700.6899,524219.7533
+688778.SH,20231211,38.77,1.3225,1.3225,1.64,14.5583,24.2042,1.9279,0.5674,0.8221,,,42077.1001,13559.7453,13559.7453,1631329.1709,525711.3253
+688778.SH,20231208,39.23,1.1082,1.1082,1.55,14.731,24.4914,1.9507,0.5741,0.8318,,,42077.1001,13559.7453,13559.7453,1650684.6369,531948.8081
+688778.SH,20231207,40.18,0.8461,0.8461,1.23,15.0877,25.0844,1.998,0.588,0.852,,,42077.1001,13559.7453,13559.7453,1690657.882,544830.5662
+688778.SH,20231206,40.35,0.8599,0.8599,1.3,15.1516,25.1906,2.0064,0.5905,0.8556,,,42077.1001,13559.7453,13559.7453,1697810.989,547135.7229
+688778.SH,20231205,39.51,0.5879,0.5879,0.86,14.8361,24.6662,1.9647,0.5782,0.8378,,,42077.1001,13559.7453,13559.7453,1662466.225,535745.5368
+688778.SH,20231204,39.9,0.6321,0.6321,0.92,14.9826,24.9096,1.9841,0.5839,0.846,,,42077.1001,13559.7453,13559.7453,1678876.294,541033.8375
+688778.SH,20231201,39.63,0.6507,0.6507,0.94,14.8812,24.7411,1.9706,0.58,0.8403,,,42077.1001,13559.7453,13559.7453,1667515.477,537372.7062
+688778.SH,20231130,39.86,0.7163,0.7163,1.01,14.9676,24.8847,1.9821,0.5833,0.8452,,,42077.1001,13559.7453,13559.7453,1677193.21,540491.4477
+688778.SH,20231129,40.19,0.7084,0.7084,0.98,15.0915,25.0907,1.9985,0.5882,0.8522,,,42077.1001,13559.7453,13559.7453,1691078.653,544966.1636
+688778.SH,20231128,40.72,0.6924,0.6924,0.93,15.2905,25.4216,2.0248,0.5959,0.8634,,,42077.1001,13559.7453,13559.7453,1713379.5161,552152.8286
+688778.SH,20231127,40.72,0.6793,0.6793,0.89,15.2905,25.4216,2.0248,0.5959,0.8634,,,42077.1001,13559.7453,13559.7453,1713379.5161,552152.8286
+688778.SH,20231124,40.85,0.6509,0.6509,0.89,15.3393,25.5027,2.0313,0.5978,0.8662,,,42077.1001,13559.7453,13559.7453,1718849.5391,553915.5955
+688778.SH,20231123,41.35,0.8251,0.8251,1.07,15.5271,25.8149,2.0562,0.6052,0.8768,,,42077.1001,13559.7453,13559.7453,1739888.0891,560695.4682
+688778.SH,20231122,41.7,0.7734,0.7734,0.89,15.6585,26.0334,2.0736,0.6103,0.8842,,,42077.1001,13559.7453,13559.7453,1754615.0742,565441.379
+688778.SH,20231121,42.43,0.7751,0.7751,0.89,15.9326,26.4891,2.1099,0.621,0.8997,,,42077.1001,13559.7453,13559.7453,1785331.3572,575339.9931
+688778.SH,20231120,42.55,0.7883,0.7883,0.92,15.9777,26.564,2.1158,0.6227,0.9022,,,42077.1001,13559.7453,13559.7453,1790380.6093,576967.1625
+688778.SH,20231117,42.7,0.5054,0.5054,0.54,16.034,26.6577,2.1233,0.6249,0.9054,,,42077.1001,13559.7453,13559.7453,1796692.1743,579001.1243
+688778.SH,20231116,42.61,1.0148,1.0148,0.93,16.0002,26.6015,2.1188,0.6236,0.9035,,,42077.1001,13559.7453,13559.7453,1792905.2353,577780.7472
+688778.SH,20231115,43.75,1.2609,1.2609,1.16,16.4283,27.3132,2.1755,0.6403,0.9277,,,42077.1001,13559.7453,13559.7453,1840873.1294,593238.8569
+688778.SH,20231114,42.95,0.7911,0.7911,0.72,16.1279,26.8138,2.1357,0.6286,0.9107,,,42077.1001,13559.7453,13559.7453,1807211.4493,582391.0606
+688778.SH,20231113,43.2,0.7015,0.7015,0.59,16.2217,26.9698,2.1482,0.6322,0.916,,,42077.1001,13559.7453,13559.7453,1817730.7243,585780.997
+688778.SH,20231110,42.94,0.8801,0.8801,0.75,16.1241,26.8075,2.1352,0.6284,0.9105,,,42077.1001,13559.7453,13559.7453,1806790.6783,582255.4632
+688778.SH,20231109,42.46,1.8253,1.8253,1.9,15.9439,26.5079,2.1114,0.6214,0.9003,,,42077.1001,13559.7453,13559.7453,1786593.6702,575746.7854
+688778.SH,20231108,43.38,1.2207,1.2207,1.51,16.2893,27.0822,2.1571,0.6349,0.9198,,,42077.1001,13559.7453,13559.7453,1825304.6023,588221.7511
+688778.SH,20231107,44.03,0.8489,0.8489,1.14,16.5334,27.488,2.1894,0.6444,0.9336,,,42077.1001,13559.7453,13559.7453,1852654.7174,597035.5856
+688778.SH,20231106,44.15,1.1931,1.1931,1.82,16.5785,27.5629,2.1954,0.6461,0.9362,,,42077.1001,13559.7453,13559.7453,1857703.9694,598662.755
+688778.SH,20231103,42.91,0.7732,0.7732,1.1,16.1129,26.7888,2.1337,0.628,0.9099,,,42077.1001,13559.7453,13559.7453,1805528.3653,581848.6708
+688778.SH,20231102,42.36,0.7675,0.7675,1.17,15.9063,26.4454,2.1064,0.6199,0.8982,,,42077.1001,13559.7453,13559.7453,1782385.9602,574390.8109
+688778.SH,20231101,42.27,0.4638,0.4638,0.71,15.8725,26.3892,2.1019,0.6186,0.8963,,,42077.1001,13559.7453,13559.7453,1778599.0212,573170.4338
+688778.SH,20231031,42.11,0.5175,0.5175,0.74,15.8125,26.2893,2.094,0.6163,0.8929,,,42077.1001,13559.7453,13559.7453,1771866.6852,571000.8746
+688778.SH,20231030,42.3,0.7588,0.7588,1.13,15.8838,26.408,2.1034,0.6191,0.8969,,,42077.1001,13559.7453,13559.7453,1779861.3342,573577.2262
+688778.SH,20231027,42.03,1.011,1.011,1.56,15.7824,26.2394,2.09,0.6151,0.8912,,,42077.1001,13559.7453,13559.7453,1768500.5172,569916.095
+688778.SH,20231026,40.61,0.523,0.523,0.87,15.2492,25.3529,2.0194,0.5943,0.8611,,,42077.1001,13559.7453,13559.7453,1708751.0351,550661.2566
+688778.SH,20231025,40.51,0.4519,0.4519,0.79,15.2116,25.2905,2.0144,0.5929,0.859,,,42077.1001,13559.7453,13559.7453,1704543.3251,549305.2821
+688778.SH,20231024,40.32,0.7326,0.7326,1.43,15.1403,20.1297,2.0429,0.5901,0.7517,,,42077.1001,13559.7453,13559.7453,1696548.676,546728.9305
+688778.SH,20231023,40.6,0.6287,0.6287,1.28,15.2454,20.2695,2.0571,0.5942,0.7569,,,42077.1001,13559.7453,13559.7453,1708330.2641,550525.6592
+688778.SH,20231020,42.03,0.9087,0.9087,2.21,15.7824,20.9834,2.1296,0.6151,0.7836,,,42077.1001,13559.7453,13559.7453,1768500.5172,569916.095
+688778.SH,20231019,41.21,0.2864,0.2864,0.59,15.4745,20.574,2.088,0.6031,0.7683,,,42077.1001,13559.7453,13559.7453,1733997.2951,558797.1038
+688778.SH,20231018,41.32,0.2976,0.2976,0.56,15.5158,20.6289,2.0936,0.6047,0.7703,,,42077.1001,13559.7453,13559.7453,1738625.7761,560288.6758
+688778.SH,20231017,41.86,0.4407,0.4407,0.81,15.7186,20.8985,2.121,0.6126,0.7804,,,42077.1001,13559.7453,13559.7453,1761347.4102,567610.9383
+688778.SH,20231016,41.34,0.5198,0.5198,1.0,15.5233,20.6389,2.0946,0.605,0.7707,,,42077.1001,13559.7453,13559.7453,1739467.3181,560559.8707
+688778.SH,20231013,42.2,0.5131,0.5131,0.99,15.8462,21.0683,2.1382,0.6176,0.7867,,,42077.1001,13559.7453,13559.7453,1775653.6242,572221.2517
+688778.SH,20231012,43.09,0.6592,0.6592,1.21,16.1804,21.5126,2.1833,0.6306,0.8033,,,42077.1001,13559.7453,13559.7453,1813102.2433,584289.425
+688778.SH,20231011,42.04,0.5397,0.5397,0.89,15.7862,20.9884,2.1301,0.6152,0.7837,,,42077.1001,13559.7453,13559.7453,1768921.2882,570051.6924
+688778.SH,20231010,42.48,0.4947,0.4947,0.8,15.9514,21.2081,2.1524,0.6217,0.7919,,,42077.1001,13559.7453,13559.7453,1787435.2122,576017.9803
+688778.SH,20231009,42.47,0.3972,0.3972,0.62,15.9476,21.2031,2.1519,0.6215,0.7918,,,42077.1001,13559.7453,13559.7453,1787014.4412,575882.3829
+688778.SH,20230928,43.13,0.5057,0.5057,0.8,16.1955,21.5326,2.1853,0.6312,0.8041,,,42077.1001,13559.7453,13559.7453,1814785.3273,584831.8148
+688778.SH,20230927,43.1,0.7928,0.7928,1.42,16.1842,21.5176,2.1838,0.6308,0.8035,,,42077.1001,13559.7453,13559.7453,1813523.0143,584425.0224
+688778.SH,20230926,42.94,0.8358,0.8358,1.67,16.1241,21.4377,2.1757,0.6284,0.8005,,,42077.1001,13559.7453,13559.7453,1806790.6783,582255.4632
+688778.SH,20230925,41.8,0.5455,0.5455,0.97,15.696,20.8686,2.1179,0.6117,0.7793,,,42077.1001,13559.7453,13559.7453,1758822.7842,566797.3535
+688778.SH,20230922,42.0,0.5193,0.5193,0.71,15.7711,20.9684,2.128,0.6147,0.783,,,42077.1001,13559.7453,13559.7453,1767238.2042,569509.3026
+688778.SH,20230921,41.45,0.4498,0.4498,0.56,15.5646,20.6939,2.1002,0.6066,0.7727,,,42077.1001,13559.7453,13559.7453,1744095.7991,562051.4427
+688778.SH,20230920,41.3,0.4458,0.4458,0.48,15.5083,20.619,2.0926,0.6044,0.7699,,,42077.1001,13559.7453,13559.7453,1737784.2341,560017.4809
+688778.SH,20230919,41.84,0.5399,0.5399,0.52,15.7111,20.8886,2.1199,0.6123,0.78,,,42077.1001,13559.7453,13559.7453,1760505.8682,567339.7434
+688778.SH,20230918,42.44,0.8579,0.8579,0.78,15.9364,21.1881,2.1503,0.6211,0.7912,,,42077.1001,13559.7453,13559.7453,1785752.1282,575475.5905
+688778.SH,20230915,42.25,1.3476,1.3476,1.41,15.865,21.0933,2.1407,0.6183,0.7877,,,42077.1001,13559.7453,13559.7453,1777757.4792,572899.2389
+688778.SH,20230914,42.66,0.8282,0.8282,0.88,16.019,21.2979,2.1615,0.6243,0.7953,,,42077.1001,13559.7453,13559.7453,1795009.0903,578458.7345
+688778.SH,20230913,43.53,1.1014,1.1014,1.28,16.3457,21.7323,2.2056,0.6371,0.8115,,,42077.1001,13559.7453,13559.7453,1831616.1674,590255.7129
+688778.SH,20230912,43.83,1.0574,1.0574,1.39,16.4583,21.8821,2.2208,0.6414,0.8171,,,42077.1001,13559.7453,13559.7453,1844239.2974,594323.6365
+688778.SH,20230911,43.0,1.1627,1.1627,1.6,16.1466,21.4677,2.1787,0.6293,0.8016,,,42077.1001,13559.7453,13559.7453,1809315.3043,583069.0479
+688778.SH,20230908,41.72,0.6256,0.6256,0.93,15.666,20.8286,2.1139,0.6106,0.7778,,,42077.1001,13559.7453,13559.7453,1755456.6162,565712.5739
+688778.SH,20230907,41.62,0.7607,0.7607,1.23,15.6285,20.7787,2.1088,0.6091,0.7759,,,42077.1001,13559.7453,13559.7453,1751248.9062,564356.5994
+688778.SH,20230906,41.8,0.6901,0.6901,1.1,15.696,20.8686,2.1179,0.6117,0.7793,,,42077.1001,13559.7453,13559.7453,1758822.7842,566797.3535
+688778.SH,20230905,41.27,0.5578,0.5578,0.78,15.497,20.604,2.0911,0.604,0.7694,,,42077.1001,13559.7453,13559.7453,1736521.9211,559610.6885
+688778.SH,20230904,41.6,1.0038,1.0038,1.47,15.6209,20.7687,2.1078,0.6088,0.7755,,,42077.1001,13559.7453,13559.7453,1750407.3642,564085.4045
+688778.SH,20230901,40.49,0.3559,0.3559,0.46,15.2041,20.2146,2.0515,0.5926,0.7548,,,42077.1001,13559.7453,13559.7453,1703701.783,549034.0872
+688778.SH,20230831,40.66,0.4938,0.4938,0.64,15.268,20.2994,2.0602,0.5951,0.758,,,42077.1001,13559.7453,13559.7453,1710854.8901,551339.2439
+688778.SH,20230830,41.08,0.7382,0.7382,1.02,15.4257,20.5091,2.0814,0.6012,0.7658,,,42077.1001,13559.7453,13559.7453,1728527.2721,557034.3369
+688778.SH,20230829,40.83,1.0071,1.0071,1.5,15.3318,20.3843,2.0688,0.5975,0.7612,,,42077.1001,13559.7453,13559.7453,1718007.9971,553644.4006
+688778.SH,20230828,39.3,0.8167,0.8167,1.33,14.7573,19.6205,1.9912,0.5751,0.7327,,,42077.1001,13559.7453,13559.7453,1653630.0339,532897.9903
+688778.SH,20230825,39.21,0.8261,0.8261,1.5,14.7235,19.5755,1.9867,0.5738,0.731,,,42077.1001,13559.7453,13559.7453,1649843.0949,531677.6132
+688778.SH,20230824,40.28,0.4785,0.4785,0.82,15.1253,20.1097,2.0409,0.5895,0.7509,,,42077.1001,13559.7453,13559.7453,1694865.592,546186.5407
+688778.SH,20230823,39.95,0.4975,0.4975,0.81,15.0014,19.945,2.0242,0.5847,0.7448,,,42077.1001,13559.7453,13559.7453,1680980.149,541711.8247
+688778.SH,20230822,41.01,0.7434,0.7434,1.13,15.3994,20.4742,2.0779,0.6002,0.7645,,,42077.1001,13559.7453,13559.7453,1725581.8751,556085.1548
+688778.SH,20230821,41.01,0.516,0.516,0.75,15.3994,20.4742,2.0779,0.6002,0.7645,,,42077.1001,13559.7453,13559.7453,1725581.8751,556085.1548
+688778.SH,20230818,41.64,0.5152,0.5152,0.66,15.636,20.7887,2.1098,0.6094,0.7763,,,42077.1001,13559.7453,13559.7453,1752090.4482,564627.7943
+688778.SH,20230817,41.86,0.6568,0.6568,0.85,15.7186,20.8985,2.121,0.6126,0.7804,,,42077.1001,13559.7453,13559.7453,1761347.4102,567610.9383
+688778.SH,20230816,41.63,0.6535,0.6535,0.89,15.6322,20.7837,2.1093,0.6092,0.7761,,,42077.1001,13559.7453,13559.7453,1751669.6772,564492.1968
+688778.SH,20230815,42.72,0.9556,0.9556,1.52,16.0415,21.3279,2.1645,0.6252,0.7964,,,42077.1001,13559.7453,13559.7453,1797533.7163,579272.3192
+688778.SH,20230814,43.65,0.6611,0.6611,1.02,16.3907,21.7922,2.2117,0.6388,0.8138,,,42077.1001,13559.7453,13559.7453,1836665.4194,591882.8823
+688778.SH,20230811,43.66,0.9536,0.9536,1.31,16.3945,21.7972,2.2122,0.639,0.8139,,,42077.1001,13559.7453,13559.7453,1837086.1904,592018.4798
+688778.SH,20230810,44.96,0.6505,0.6505,0.91,16.8826,22.4462,2.278,0.658,0.8382,,,42077.1001,13559.7453,13559.7453,1891786.4205,609646.1487
+688778.SH,20230809,45.13,0.4475,0.4475,0.64,16.9465,22.5311,2.2866,0.6605,0.8413,,,42077.1001,13559.7453,13559.7453,1898939.5275,611951.3054
+688778.SH,20230808,44.98,0.4275,0.4275,0.57,16.8901,22.4562,2.279,0.6583,0.8385,,,42077.1001,13559.7453,13559.7453,1892627.9625,609917.3436
+688778.SH,20230807,44.97,0.7624,0.7624,0.96,16.8864,22.4512,2.2785,0.6581,0.8384,,,42077.1001,13559.7453,13559.7453,1892207.1915,609781.7461
+688778.SH,20230804,45.58,1.3819,1.3819,1.92,17.1154,22.7557,2.3094,0.6671,0.8497,,,42077.1001,13216.8882,13216.8882,1917874.2226,602425.7642
+688778.SH,20230803,46.46,0.6134,0.6134,0.81,17.4459,23.1951,2.354,0.6799,0.8661,,,42077.1001,13216.8882,13216.8882,1954902.0706,614056.6258
+688778.SH,20230802,45.95,0.3826,0.3826,0.39,17.2544,22.9405,2.3282,0.6725,0.8566,,,42077.1001,13216.8882,13216.8882,1933442.7496,607316.0128
+688778.SH,20230801,46.1,0.7062,0.7062,0.69,17.3107,23.0154,2.3358,0.6747,0.8594,,,42077.1001,13216.8882,13216.8882,1939754.3146,609298.546
+688778.SH,20230731,46.4,0.9896,0.9896,1.03,17.4234,23.1651,2.351,0.6791,0.865,,,42077.1001,13216.8882,13216.8882,1952377.4446,613263.6125
+688778.SH,20230728,45.51,0.9157,0.9157,1.01,17.0892,22.7208,2.3059,0.666,0.8484,,,42077.1001,13216.8882,13216.8882,1914928.8256,601500.582
+688778.SH,20230727,44.85,0.7723,0.7723,0.88,16.8413,22.3913,2.2725,0.6564,0.8361,,,42077.1001,13216.8882,13216.8882,1887157.9395,592777.4358
+688778.SH,20230726,45.49,1.5253,1.5253,2.08,17.0817,22.7108,2.3049,0.6657,0.8481,,,42077.1001,13216.8882,13216.8882,1914087.2835,601236.2442
+688778.SH,20230725,46.17,0.9275,0.9275,1.37,17.337,23.0503,2.3393,0.6757,0.8607,,,42077.1001,13216.8882,13216.8882,1942699.7116,610223.7282
+688778.SH,20230724,45.43,0.6704,0.6704,0.99,17.0591,22.6809,2.3018,0.6649,0.8469,,,42077.1001,13216.8882,13216.8882,1911562.6575,600443.2309
+688778.SH,20230721,45.72,0.6467,0.6467,0.96,17.168,22.8256,2.3165,0.6691,0.8523,,,42077.1001,13216.8882,13216.8882,1923765.0166,604276.1285
+688778.SH,20230720,45.98,0.6327,0.6327,0.89,17.2656,22.9554,2.3297,0.6729,0.8572,,,42077.1001,13216.8882,13216.8882,1934705.0626,607712.5194
+688778.SH,20230719,46.37,0.7816,0.7816,1.15,17.4121,23.1502,2.3495,0.6786,0.8645,,,42077.1001,13216.8882,13216.8882,1951115.1316,612867.1058
+688778.SH,20230718,47.29,0.661,0.661,0.97,17.7576,23.6095,2.3961,0.6921,0.8816,,,42077.1001,13216.8882,13216.8882,1989826.0637,625026.643
+688778.SH,20230717,47.48,0.6537,0.6537,0.89,17.8289,23.7043,2.4057,0.6949,0.8852,,,42077.1001,13216.8882,13216.8882,1997820.7127,627537.8517
+688778.SH,20230714,48.11,0.6555,0.6555,0.9,18.0655,19.6685,2.4802,0.7041,0.766,,,42077.1001,13216.8882,13216.8882,2024329.2858,635864.4913
+688778.SH,20230713,48.67,0.7957,0.7957,1.11,18.2758,19.8974,2.5091,0.7123,0.7749,,,42077.1001,13216.8882,13216.8882,2047892.4619,643265.9487
+688778.SH,20230712,48.01,0.6399,0.6399,0.81,18.0279,19.6276,2.4751,0.7026,0.7644,,,42077.1001,13216.8882,13216.8882,2020121.5758,634542.8025
+688778.SH,20230711,48.62,0.6572,0.6572,0.81,18.257,19.877,2.5065,0.7115,0.7741,,,42077.1001,13216.8882,13216.8882,2045788.6069,642605.1043
+688778.SH,20230710,48.41,0.9265,0.9265,1.0,18.1781,19.7911,2.4957,0.7085,0.7707,,,42077.1001,13216.8882,13216.8882,2036952.4158,639829.5578
+688778.SH,20230707,47.45,0.642,0.642,0.56,17.8176,19.3986,2.4462,0.6944,0.7555,,,42077.1001,13216.8882,13216.8882,1996558.3997,627141.3451
+688778.SH,20230706,47.83,0.7166,0.7166,0.62,17.9603,19.554,2.4658,0.7,0.7615,,,42077.1001,13216.8882,13216.8882,2012547.6978,632163.7626
+688778.SH,20230705,48.2,1.0254,1.0254,0.93,18.0993,19.7053,2.4849,0.7054,0.7674,,,42077.1001,13216.8882,13216.8882,2028116.2248,637054.0112
+688778.SH,20230704,49.16,0.7622,0.7622,0.72,18.4598,20.0977,2.5344,0.7194,0.7827,,,42077.1001,13216.8882,13216.8882,2068510.2409,649742.2239
+688778.SH,20230703,49.15,1.4997,1.4997,1.57,18.456,20.0936,2.5338,0.7193,0.7825,,,42077.1001,13216.8882,13216.8882,2068089.4699,649610.055
+688778.SH,20230630,49.5,1.7435,1.7435,2.0,18.5874,20.2367,2.5519,0.7244,0.7881,,,42077.1001,13216.8882,13216.8882,2082816.455,654235.9659
+688778.SH,20230629,47.68,0.7254,0.7254,0.77,17.904,19.4927,2.4581,0.6978,0.7591,,,42077.1001,13216.8882,13216.8882,2006236.1328,630181.2294
+688778.SH,20230628,48.19,0.7814,0.7814,0.77,18.0955,19.7012,2.4844,0.7053,0.7672,,,42077.1001,13216.8882,13216.8882,2027695.4538,636921.8424
+688778.SH,20230627,48.56,0.5627,0.5627,0.49,18.2344,19.8524,2.5034,0.7107,0.7731,,,42077.1001,13216.8882,13216.8882,2043263.9809,641812.091
+688778.SH,20230626,48.42,0.9561,0.9561,0.74,18.1819,19.7952,2.4962,0.7086,0.7709,,,42077.1001,13216.8882,13216.8882,2037373.1868,639961.7266
+688778.SH,20230621,48.55,1.3357,1.3357,1.08,18.2307,19.8483,2.5029,0.7105,0.773,,,42077.1001,13216.8882,13216.8882,2042843.2099,641679.9221
+688778.SH,20230620,49.88,1.092,1.092,0.88,18.7301,20.3921,2.5715,0.73,0.7941,,,42077.1001,13216.8882,13216.8882,2098805.753,659258.3834
+688778.SH,20230619,50.05,1.0985,1.0985,0.81,18.7939,20.4616,2.5802,0.7325,0.7969,,,42077.1001,13216.8882,13216.8882,2105958.86,661505.2544
+688778.SH,20230616,50.9,1.2768,1.2768,0.56,19.1131,20.8091,2.6241,0.7449,0.8104,,,42077.1001,13216.8882,13216.8882,2141724.3951,672739.6094
+688778.SH,20230615,50.45,1.6388,1.6388,0.66,18.9441,20.6251,2.6009,0.7383,0.8032,,,42077.1001,13216.8882,13216.8882,2122789.7,666792.0097
+688778.SH,20230614,48.6,1.0707,1.0707,0.41,18.2495,19.8688,2.5055,0.7113,0.7738,,,42077.1001,13216.8882,13216.8882,2044947.0649,642340.7665
+688778.SH,20230613,49.43,1.1496,1.1496,0.44,18.5611,20.2081,2.5483,0.7234,0.787,,,42077.1001,13216.8882,13216.8882,2079871.0579,653310.7837
+688778.SH,20230612,49.77,1.6498,1.6498,0.65,18.6888,20.3471,2.5658,0.7284,0.7924,,,42077.1001,13216.8882,13216.8882,2094177.272,657804.5257
+688778.SH,20230609,50.96,5.817,5.817,3.41,19.1357,20.8336,2.6272,0.7458,0.8113,,,42077.1001,13216.8882,13216.8882,2144249.0211,673532.6227
+688778.SH,20230608,49.9,2.7702,2.7702,1.89,18.7376,20.4003,2.5725,0.7303,0.7945,,,42077.1001,13216.8882,13216.8882,2099647.295,659522.7212
+688778.SH,20230607,47.62,1.5864,1.5864,1.18,17.8815,19.4681,2.455,0.6969,0.7582,,,42077.1001,13216.8882,13216.8882,2003711.5068,629388.2161
+688778.SH,20230606,48.92,1.3112,1.3112,1.02,18.3696,19.9996,2.522,0.7159,0.7789,,,42077.1001,13216.8882,13216.8882,2058411.7369,646570.1707
+688778.SH,20230605,71.0,1.7292,1.7292,0.77,19.0434,20.7332,2.5672,0.7422,0.8074,,,30055.0715,9440.6344,9440.6344,2133910.0765,670285.0424
+688778.SH,20230602,72.38,2.2647,2.2647,1.09,19.4135,21.1361,2.6171,0.7566,0.8231,,,30055.0715,9440.6344,9440.6344,2175386.0752,683313.1179
+688778.SH,20230601,71.75,2.1843,2.1843,1.18,19.2446,20.9522,2.5943,0.75,0.816,,,30055.0715,9440.6344,9440.6344,2156451.3801,677365.5182
+688778.SH,20230531,70.52,1.398,1.398,0.76,18.9146,20.593,2.5499,0.7372,0.802,,,30055.0715,9440.6344,9440.6344,2119483.6422,665753.5379
+688778.SH,20230530,71.0,1.4648,1.4648,0.84,19.0434,20.7332,2.5672,0.7422,0.8074,,,30055.0715,9440.6344,9440.6344,2133910.0765,670285.0424
+688778.SH,20230529,71.18,3.9517,3.9517,3.36,19.0917,20.7857,2.5737,0.7441,0.8095,,,30055.0715,9440.6344,9440.6344,2139319.9894,671984.3566
+688778.SH,20230526,68.0,1.3773,1.3773,1.19,18.2387,19.8571,2.4587,0.7108,0.7733,,,30055.0715,9440.6344,9440.6344,2043744.862,641963.1392
+688778.SH,20230525,67.61,1.0422,1.0422,0.66,18.1341,19.7432,2.4446,0.7068,0.7689,,,30055.0715,9440.6344,9440.6344,2032023.3841,638281.2918
+688778.SH,20230524,67.18,1.3018,1.3018,0.75,18.0188,19.6177,2.4291,0.7023,0.764,,,30055.0715,9440.6344,9440.6344,2019099.7034,634221.819
+688778.SH,20230523,67.76,1.0947,1.0947,0.5,18.1744,19.787,2.4501,0.7083,0.7706,,,30055.0715,9440.6344,9440.6344,2036531.6448,639697.3869
+688778.SH,20230522,68.26,1.0715,1.0715,0.31,18.3085,19.933,2.4682,0.7136,0.7763,,,30055.0715,9440.6344,9440.6344,2051559.1806,644417.7041
+688778.SH,20230519,68.03,1.2752,1.2752,0.37,18.2468,19.8659,2.4598,0.7111,0.7737,,,30055.0715,9440.6344,9440.6344,2044646.5141,642246.3582
+688778.SH,20230518,68.64,3.1415,3.1415,0.96,18.4104,20.044,2.4819,0.7175,0.7806,,,30055.0715,9440.6344,9440.6344,2062980.1078,648005.1452
+688778.SH,20230517,70.61,2.1291,2.1291,0.68,18.9388,20.6193,2.5531,0.7381,0.803,,,30055.0715,9440.6344,9440.6344,2122188.5986,666603.195
+688778.SH,20230516,71.5,3.2707,3.2707,1.22,19.1775,20.8792,2.5853,0.7474,0.8131,,,30055.0715,9440.6344,9440.6344,2148937.6123,675005.3596
+688778.SH,20230515,71.21,7.7236,7.7236,5.6,19.0997,20.7945,2.5748,0.7444,0.8098,,,30055.0715,9440.6344,9440.6344,2140221.6415,672267.5756
+688778.SH,20230512,63.35,1.1575,1.1575,0.81,16.9915,18.4992,2.2906,0.6622,0.7204,,,30055.0715,9440.6344,9440.6344,1903988.7795,598064.1892
+688778.SH,20230511,64.4,2.0334,2.0334,1.64,17.2732,18.8058,2.3286,0.6732,0.7324,,,30055.0715,9440.6344,9440.6344,1935546.6046,607976.8554
+688778.SH,20230510,62.09,1.5387,1.5387,1.18,16.6536,18.1313,2.2451,0.6491,0.7061,,,30055.0715,9440.6344,9440.6344,1866119.3894,586168.9899
+688778.SH,20230509,60.82,0.9845,0.9845,0.72,16.3129,17.7604,2.1991,0.6358,0.6917,,,30055.0715,9440.6344,9440.6344,1827949.4486,574179.3842
+688778.SH,20230508,61.66,1.1822,1.1822,0.74,16.5382,18.0057,2.2295,0.6446,0.7012,,,30055.0715,9440.6344,9440.6344,1853195.7087,582109.5171
+688778.SH,20230505,61.47,1.3668,1.3668,0.76,16.4873,17.9502,2.2226,0.6426,0.6991,,,30055.0715,9440.6344,9440.6344,1847485.2451,580315.7966
+688778.SH,20230504,62.88,1.1318,1.1318,0.52,16.8655,18.362,2.2736,0.6573,0.7151,,,30055.0715,9440.6344,9440.6344,1889862.8959,593627.0911
+688778.SH,20230428,62.81,1.8464,1.8464,0.86,16.8467,18.3415,2.2711,0.6566,0.7143,,,30055.0715,9440.6344,9440.6344,1887759.0409,592966.2467
+688778.SH,20230427,63.96,1.2644,1.2644,0.55,17.1551,18.6774,2.3127,0.6686,0.7274,,,30055.0715,9440.6344,9440.6344,1922322.3731,603822.9762
+688778.SH,20230426,64.51,2.3499,2.3499,1.04,17.3027,18.838,2.3326,0.6744,0.7336,,,30055.0715,9440.6344,9440.6344,1938852.6625,609015.3251
+688778.SH,20230425,61.8,2.3991,2.3991,1.01,16.5758,18.0466,2.2346,0.646,0.7028,,,30055.0715,9440.6344,9440.6344,1857403.4187,583431.2059
+688778.SH,20230424,63.88,3.0878,3.0878,1.43,17.1337,18.654,2.3098,0.6678,0.7265,,,30055.0715,9440.6344,9440.6344,1919917.9674,603067.7255
+688778.SH,20230421,68.62,1.673,1.673,0.68,37.1366,18.4053,2.5153,1.3249,0.7175,,,30055.0715,9440.6344,9440.6344,2062379.0063,647816.3325
+688778.SH,20230420,69.7,1.951,1.951,0.85,37.7211,18.6949,2.5548,1.3458,0.7288,,,30055.0715,9440.6344,9440.6344,2094838.4836,658012.2177
+688778.SH,20230419,71.66,2.2092,2.2092,1.0,38.7818,19.2206,2.6267,1.3836,0.7493,,,30055.0715,9440.6344,9440.6344,2153746.4237,676515.8611
+688778.SH,20230418,73.2,3.0024,3.0024,1.57,39.6153,19.6337,2.6831,1.4134,0.7654,,,30055.0715,9440.6344,9440.6344,2200031.2338,691054.4381
+688778.SH,20230417,71.71,1.9654,1.9654,1.02,38.8089,19.2341,2.6285,1.3846,0.7498,,,30055.0715,9440.6344,9440.6344,2155249.1773,676987.8928
+688778.SH,20230414,71.66,3.2479,3.2479,1.89,38.7818,19.2206,2.6267,1.3836,0.7493,,,30055.0715,9440.6344,9440.6344,2153746.4237,676515.8611
+688778.SH,20230413,69.2,1.1172,1.1172,0.52,37.4505,18.5608,2.5365,1.3361,0.7236,,,30055.0715,9440.6344,9440.6344,2079810.9478,653291.9005
+688778.SH,20230412,69.71,1.7059,1.7059,0.59,37.7265,18.6976,2.5552,1.346,0.7289,,,30055.0715,9440.6344,9440.6344,2095139.0343,658106.624
+688778.SH,20230411,70.35,1.5116,1.5116,0.48,38.0729,18.8693,2.5787,1.3583,0.7356,,,30055.0715,9440.6344,9440.6344,2114374.28,664148.63
+688778.SH,20230410,70.03,2.021,2.021,0.66,37.8997,18.7834,2.5669,1.3522,0.7323,,,30055.0715,9440.6344,9440.6344,2104756.6571,661127.627
+688778.SH,20230407,69.0,2.2379,2.2379,0.76,37.3423,18.5072,2.5292,1.3323,0.7215,,,30055.0715,9440.6344,9440.6344,2073799.9335,651403.7736
+688778.SH,20230406,68.56,3.314,3.314,1.26,37.1041,18.3892,2.5131,1.3238,0.7169,,,30055.0715,9440.6344,9440.6344,2060575.702,647249.8945
+688778.SH,20230404,67.83,5.4213,5.4213,2.74,36.7091,18.1934,2.4863,1.3097,0.7093,,,30055.0715,9440.6344,9440.6344,2038635.4998,640358.2314
+688778.SH,20230403,71.93,2.8236,2.8236,1.58,38.928,19.2931,2.6366,1.3889,0.7521,,,30055.0715,9440.6344,9440.6344,2161861.293,679064.8324
+688778.SH,20230331,72.67,1.5411,1.5411,0.88,39.3284,19.4915,2.6637,1.4031,0.7599,,,30055.0715,9440.6344,9440.6344,2184102.0459,686050.9018
+688778.SH,20230330,72.68,1.6096,1.6096,0.89,39.3339,19.4942,2.6641,1.4033,0.76,,,30055.0715,9440.6344,9440.6344,2184402.5966,686145.3082
+688778.SH,20230329,72.3,1.7359,1.7359,0.98,39.1282,19.3923,2.6501,1.396,0.756,,,30055.0715,9440.6344,9440.6344,2172981.6695,682557.8671
+688778.SH,20230328,70.9,2.1977,2.1977,1.33,38.3705,19.0168,2.5988,1.369,0.7414,,,30055.0715,9440.6344,9440.6344,2130904.5694,669340.979
+688778.SH,20230327,72.93,1.8478,1.8478,1.15,39.4692,19.5613,2.6732,1.4082,0.7626,,,30055.0715,9440.6344,9440.6344,2191916.3645,688505.4668
+688778.SH,20230324,71.86,1.4007,1.4007,0.87,38.8901,19.2743,2.634,1.3875,0.7514,,,30055.0715,9440.6344,9440.6344,2159757.438,678403.988
+688778.SH,20230323,71.76,1.8229,1.8229,1.23,38.836,19.2475,2.6304,1.3856,0.7504,,,30055.0715,9440.6344,9440.6344,2156751.9308,677459.9245
+688778.SH,20230322,73.1,1.622,1.622,1.08,39.5612,19.6069,2.6795,1.4114,0.7644,,,30055.0715,9440.6344,9440.6344,2197025.7267,690110.3746
+688778.SH,20230321,72.83,1.5749,1.5749,0.94,39.415,19.5345,2.6696,1.4062,0.7616,,,30055.0715,9440.6344,9440.6344,2188910.8573,687561.4034
+688778.SH,20230320,71.0,1.616,1.616,0.9,38.4247,19.0436,2.6025,1.3709,0.7424,,,30055.0715,9440.6344,9440.6344,2133910.0765,670285.0424
+688778.SH,20230317,70.4,1.4556,1.4556,0.85,38.0999,18.8827,2.5805,1.3593,0.7361,,,30055.0715,9440.6344,9440.6344,2115877.0336,664620.6618
+688778.SH,20230316,70.86,1.1233,1.1233,0.67,38.3489,19.0061,2.5974,1.3682,0.741,,,30055.0715,9440.6344,9440.6344,2129702.3665,668963.3536
+688778.SH,20230315,72.89,1.7646,1.7646,1.2,39.4475,19.5506,2.6718,1.4074,0.7622,,,30055.0715,9440.6344,9440.6344,2190714.1616,688127.8414
+688778.SH,20230314,72.1,2.4253,2.4253,1.87,39.02,19.3387,2.6428,1.3921,0.7539,,,30055.0715,9440.6344,9440.6344,2166970.6552,680669.7402
+688778.SH,20230313,73.75,2.1721,2.1721,1.79,39.9129,19.7812,2.7033,1.424,0.7712,,,30055.0715,9440.6344,9440.6344,2216561.5231,696246.787
+688778.SH,20230310,76.58,1.0769,1.0769,0.9,41.4445,20.5403,2.807,1.4786,0.8008,,,30055.0715,9440.6344,9440.6344,2301617.3755,722963.7824
+688778.SH,20230309,77.1,0.9582,0.9582,0.71,41.7259,20.6798,2.8261,1.4887,0.8062,,,30055.0715,9440.6344,9440.6344,2317246.0127,727872.9122
+688778.SH,20230308,76.77,0.7363,0.7363,0.53,41.5473,20.5913,2.814,1.4823,0.8028,,,30055.0715,9440.6344,9440.6344,2307327.8391,724757.5029
+688778.SH,20230307,77.0,1.5282,1.5282,1.19,41.6718,20.6529,2.8224,1.4868,0.8052,,,30055.0715,9440.6344,9440.6344,2314240.5055,726928.8488
+688778.SH,20230306,77.62,1.7582,1.7582,1.51,42.0073,20.8192,2.8451,1.4987,0.8116,,,30055.0715,9440.6344,9440.6344,2332874.6498,732782.0421
+688778.SH,20230303,77.83,0.9886,0.9886,0.77,42.121,20.8756,2.8528,1.5028,0.8138,,,30055.0715,9440.6344,9440.6344,2339186.2148,734764.5754
+688778.SH,20230302,77.6,1.7168,1.7168,1.42,41.9965,20.8139,2.8444,1.4983,0.8114,,,30055.0715,9440.6344,9440.6344,2332273.5484,732593.2294
+688778.SH,20230301,78.9,0.9915,0.9915,0.79,42.7001,21.1626,2.8921,1.5234,0.825,,,30055.0715,9440.6344,9440.6344,2371345.1414,744866.0542
+688778.SH,20230228,78.35,0.9776,0.9776,0.65,42.4024,21.015,2.8719,1.5128,0.8193,,,30055.0715,9440.6344,9440.6344,2354814.852,739673.7052
+688778.SH,20230227,78.05,1.1599,1.1599,0.68,42.2401,20.9346,2.8609,1.507,0.8161,,,30055.0715,9440.6344,9440.6344,2345798.3306,736841.5149
+688778.SH,20230224,78.6,1.6038,1.6038,0.86,42.5377,21.0821,2.8811,1.5176,0.8219,,,30055.0715,9440.6344,9440.6344,2362328.6199,742033.8638
+688778.SH,20230223,79.7,1.323,1.323,0.59,43.133,21.3771,2.9214,1.5389,0.8334,,,30055.0715,9440.6344,9440.6344,2395389.1986,752418.5617
+688778.SH,20230222,79.05,1.2471,1.2471,0.48,42.7812,21.2028,2.8976,1.5263,0.8266,,,30055.0715,9440.6344,9440.6344,2375853.4021,746282.1493
+688778.SH,20230221,79.7,2.244,2.244,0.88,43.133,21.3771,2.9214,1.5389,0.8334,,,30055.0715,9440.6344,9440.6344,2395389.1986,752418.5617
+688778.SH,20230220,79.02,2.1664,2.1664,0.85,42.765,21.1947,2.8965,1.5258,0.8263,,,30055.0715,9440.6344,9440.6344,2374951.7499,745998.9303
+688778.SH,20230217,78.93,2.3155,2.3155,0.94,42.7163,21.1706,2.8932,1.524,0.8253,,,30055.0715,9440.6344,9440.6344,2372246.7935,745149.2732
+688778.SH,20230216,80.29,3.3155,3.3155,1.43,43.4523,21.5354,2.943,1.5503,0.8396,,,30055.0715,9440.6344,9440.6344,2413121.6907,757988.536
+688778.SH,20230215,82.66,2.918,2.918,1.35,44.735,22.1711,3.0299,1.596,0.8643,,,30055.0715,9440.6344,9440.6344,2484352.2102,780362.8395
+688778.SH,20230214,84.3,2.0107,2.0107,0.95,45.6225,22.6109,3.09,1.6277,0.8815,,,30055.0715,9440.6344,9440.6344,2533642.5275,795845.4799
+688778.SH,20230213,85.11,2.1211,2.1211,0.96,46.0609,22.8282,3.1197,1.6433,0.89,,,30055.0715,9440.6344,9440.6344,2557987.1354,803492.3938
+688778.SH,20230210,85.16,1.9623,1.9623,0.76,46.0879,22.8416,3.1215,1.6443,0.8905,,,30055.0715,9440.6344,9440.6344,2559489.8889,803964.4255
+688778.SH,20230209,85.94,2.5911,2.5911,0.98,46.5101,23.0508,3.1501,1.6594,0.8986,,,30055.0715,9440.6344,9440.6344,2582932.8447,811328.1203
+688778.SH,20230208,84.23,2.1197,2.1197,0.73,45.5846,22.5922,3.0874,1.6264,0.8808,,,30055.0715,9440.6344,9440.6344,2531538.6724,795184.6355
+688778.SH,20230207,85.43,1.7423,1.7423,0.6,46.2341,22.914,3.1314,1.6495,0.8933,,,30055.0715,9440.6344,9440.6344,2567604.7582,806513.3968
+688778.SH,20230206,85.2,2.6753,2.6753,0.82,46.1096,22.8523,3.123,1.6451,0.8909,,,30055.0715,9440.6344,9440.6344,2560692.0918,804342.0509
+688778.SH,20230203,86.03,3.7475,3.7475,1.19,46.5588,23.075,3.1534,1.6611,0.8996,,,30055.0715,9440.6344,9440.6344,2585637.8011,812177.7774
+688778.SH,20230202,89.1,2.9885,2.9885,1.03,48.2202,23.8984,3.2659,1.7204,0.9317,,,30055.0715,9440.6344,9440.6344,2677906.8707,841160.525
+688778.SH,20230201,90.84,3.2957,3.2957,1.25,49.1619,24.3651,3.3297,1.754,0.9499,,,30055.0715,9440.6344,9440.6344,2730202.6951,857587.2289
+688778.SH,20230131,87.39,1.8097,1.8097,0.7,47.2948,23.4397,3.2033,1.6874,0.9138,,,30055.0715,9440.6344,9440.6344,2626512.6984,825017.0402
+688778.SH,20230130,88.21,4.5329,4.5329,2.23,47.7386,23.6597,3.2333,1.7032,0.9224,,,30055.0715,9440.6344,9440.6344,2651157.857,832758.3604
+688778.SH,20230120,88.8,3.1808,3.1808,1.74,48.0579,23.8179,3.255,1.7146,0.9285,,,30055.0715,9440.6344,9440.6344,2668890.3492,838328.3347
+688778.SH,20230119,85.1,1.6784,1.6784,0.87,46.0555,25.1911,3.2142,1.6431,0.9375,,,30055.0715,9440.6344,9440.6344,2557686.5847,803397.9874
+688778.SH,20230118,85.75,1.963,1.963,0.96,46.4072,25.3835,3.2388,1.6557,0.9446,,,30055.0715,9440.6344,9440.6344,2577222.3811,809534.3998
+688778.SH,20230117,84.79,1.5914,1.5914,0.73,45.8877,25.0993,3.2025,1.6372,0.9341,,,30055.0715,9440.6344,9440.6344,2548369.5125,800471.3908
+688778.SH,20230116,84.83,1.7356,1.7356,0.78,45.9093,25.1111,3.204,1.6379,0.9345,,,30055.0715,9440.6344,9440.6344,2549571.7153,800849.0162
+688778.SH,20230113,83.35,2.1867,2.1867,0.86,45.1084,24.673,3.1481,1.6094,0.9182,,,30055.0715,9440.6344,9440.6344,2505090.2095,786876.8772
+688778.SH,20230112,84.63,2.2244,2.2244,0.78,45.8011,25.0519,3.1965,1.6341,0.9323,,,30055.0715,9440.6344,9440.6344,2543560.701,798960.8893
+688778.SH,20230111,83.15,2.4662,2.4662,0.92,45.0001,24.6138,3.1406,1.6055,0.916,,,30055.0715,9440.6344,9440.6344,2499079.1952,784988.7504
+688778.SH,20230110,84.8,2.2675,2.2675,0.88,45.8931,25.1023,3.2029,1.6374,0.9342,,,30055.0715,9440.6344,9440.6344,2548670.0632,800565.7971
+688778.SH,20230109,83.53,2.0367,2.0367,0.85,45.2058,24.7263,3.1549,1.6128,0.9202,,,30055.0715,9440.6344,9440.6344,2510500.1224,788576.1914
+688778.SH,20230106,83.42,3.653,3.653,1.91,45.1463,24.6938,3.1508,1.6107,0.919,,,30055.0715,9440.6344,9440.6344,2507194.0645,787537.7216
+688778.SH,20230105,82.78,3.7866,3.7866,2.58,44.7999,24.5043,3.1266,1.5984,0.9119,,,30055.0715,9440.6344,9440.6344,2487958.8188,781495.7156
+688778.SH,20230104,77.9,1.6564,1.6564,1.11,42.1589,23.0597,2.9423,1.5041,0.8582,,,30055.0715,9440.6344,9440.6344,2341290.0699,735425.4198
+688778.SH,20230103,79.42,1.7246,1.7246,1.04,42.9815,23.5097,2.9997,1.5335,0.8749,,,30055.0715,9440.6344,9440.6344,2386973.7785,749775.184
+688778.SH,20221230,77.68,1.2261,1.2261,0.74,42.0398,22.9946,2.934,1.4999,0.8557,,,30055.0715,9440.6344,9440.6344,2334677.9541,733348.4802
+688778.SH,20221229,78.57,1.1578,1.1578,0.57,42.5215,23.2581,2.9676,1.5171,0.8655,,,30055.0715,9440.6344,9440.6344,2361426.9678,741750.6448
+688778.SH,20221228,79.22,1.5599,1.5599,0.78,42.8733,23.4505,2.9922,1.5296,0.8727,,,30055.0715,9440.6344,9440.6344,2380962.7642,747887.0572
+688778.SH,20221227,80.31,1.7645,1.7645,0.89,43.4632,23.7731,3.0333,1.5507,0.8847,,,30055.0715,9440.6344,9440.6344,2413722.7922,758177.3487
+688778.SH,20221226,79.95,2.5589,2.5589,1.32,43.2683,23.6666,3.0197,1.5437,0.8807,,,30055.0715,9440.6344,9440.6344,2402902.9664,754778.7203
+688778.SH,20221223,76.25,1.218,1.218,0.54,41.2659,22.5713,2.88,1.4723,0.84,,,30055.0715,9440.6344,9440.6344,2291699.2019,719848.373
+688778.SH,20221222,76.22,2.9743,2.9743,1.41,41.2497,22.5624,2.8788,1.4717,0.8396,,,30055.0715,9440.6344,9440.6344,2290797.5497,719565.154
+688778.SH,20221221,80.55,1.5,1.5,0.7,43.593,23.8442,3.0424,1.5553,0.8873,,,30055.0715,9440.6344,9440.6344,2420936.0093,760443.1009
+688778.SH,20221220,81.71,1.6727,1.6727,0.72,44.2208,24.1876,3.0862,1.5777,0.9001,,,30055.0715,9440.6344,9440.6344,2455799.8923,771394.2368
+688778.SH,20221219,83.37,2.3118,2.3118,1.0,45.1192,24.679,3.1489,1.6097,0.9184,,,30055.0715,9440.6344,9440.6344,2505691.311,787065.6899
+688778.SH,20221216,83.2,2.7847,2.7847,1.13,45.0272,24.6286,3.1425,1.6065,0.9165,,,30055.0715,9440.6344,9440.6344,2500581.9488,785460.7821
+688778.SH,20221215,87.88,2.3119,2.3119,0.87,47.56,26.014,3.3192,1.6968,0.9681,,,30055.0715,9440.6344,9440.6344,2641239.6834,829642.9511
+688778.SH,20221214,84.87,1.6924,1.6924,0.47,45.931,25.123,3.2056,1.6387,0.9349,,,30055.0715,9440.6344,9440.6344,2550773.9182,801226.6415
+688778.SH,20221213,86.2,2.4406,2.4406,0.66,46.6508,25.5167,3.2558,1.6644,0.9496,,,30055.0715,9440.6344,9440.6344,2590747.1633,813782.6853
+688778.SH,20221212,88.04,2.3532,2.3532,0.61,47.6466,26.0614,3.3253,1.6999,0.9699,,,30055.0715,9440.6344,9440.6344,2646048.4949,831153.4526
+688778.SH,20221209,89.56,3.5583,3.5583,0.95,48.4692,26.5113,3.3827,1.7293,0.9866,,,30055.0715,9440.6344,9440.6344,2691732.2035,845503.2169
+688778.SH,20221208,90.41,3.2745,3.2745,0.76,48.9292,26.7629,3.4148,1.7457,0.996,,,30055.0715,9440.6344,9440.6344,2717279.0143,853527.7561
+688778.SH,20221207,89.65,6.5036,6.5036,1.75,48.5179,26.5379,3.3861,1.731,0.9876,,,30055.0715,9440.6344,9440.6344,2694437.16,846352.874
+688778.SH,20221206,84.6,2.8128,2.8128,0.74,45.7849,25.0431,3.1954,1.6335,0.932,,,30055.0715,9440.6344,9440.6344,2542659.0489,798677.6702
+688778.SH,20221205,83.41,3.0896,3.0896,0.71,45.1408,24.6908,3.1504,1.6105,0.9188,,,30055.0715,9440.6344,9440.6344,2506893.5138,787443.3153
+688778.SH,20221202,84.81,3.0024,3.0024,0.64,45.8985,25.1052,3.2033,1.6375,0.9343,,,30055.0715,9440.6344,9440.6344,2548970.6139,800660.2035
+688778.SH,20221201,86.58,6.1232,6.1232,1.48,46.8564,25.6292,3.2701,1.6717,0.9538,,,30055.0715,9440.6344,9440.6344,2602168.0905,817370.1264
+688778.SH,20221130,81.0,3.5984,3.5984,0.92,43.8366,23.9774,3.0594,1.564,0.8923,,,30055.0715,9440.6344,9440.6344,2434460.7915,764691.3864
+688778.SH,20221129,80.4,3.0889,3.0889,0.81,43.5119,23.7998,3.0367,1.5524,0.8857,,,30055.0715,9440.6344,9440.6344,2416427.7486,759027.0058
+688778.SH,20221128,80.46,6.0377,6.0377,1.93,43.5443,23.8175,3.039,1.5536,0.8864,,,30055.0715,9440.6344,9440.6344,2418231.0529,759593.4438
+688778.SH,20221125,86.09,4.71,4.71,1.79,46.5912,25.4841,3.2516,1.6623,0.9484,,,30055.0715,9440.6344,9440.6344,2587441.1054,812744.2155
+688778.SH,20221124,83.78,3.2144,3.2144,1.25,45.3411,24.8003,3.1644,1.6177,0.9229,,,30055.0715,9440.6344,9440.6344,2518013.8903,790936.35
+688778.SH,20221123,83.31,2.6084,2.6084,1.04,45.0867,24.6612,3.1466,1.6086,0.9177,,,30055.0715,9440.6344,9440.6344,2503888.0067,786499.2519
+688778.SH,20221122,83.76,2.5828,2.5828,0.95,45.3303,24.7944,3.1636,1.6173,0.9227,,,30055.0715,9440.6344,9440.6344,2517412.7888,790747.5373
+688778.SH,20221121,87.1,2.5175,2.5175,0.87,47.1378,25.7831,3.2898,1.6818,0.9595,,,30055.0715,9440.6344,9440.6344,2617796.7277,822279.2562
+688778.SH,20221118,84.01,2.2327,2.2327,0.73,45.4656,24.8684,3.1731,1.6221,0.9255,,,30055.0715,9440.6344,9440.6344,2524926.5567,793107.6959
+688778.SH,20221117,84.94,2.9436,2.9436,0.9,45.9689,25.1437,3.2082,1.6401,0.9357,,,30055.0715,9440.6344,9440.6344,2552877.7732,801887.4859
+688778.SH,20221116,88.24,2.2483,2.2483,0.65,47.7548,26.1206,3.3328,1.7038,0.9721,,,30055.0715,9440.6344,9440.6344,2652059.5092,833041.5795
+688778.SH,20221115,89.99,3.6042,3.6042,1.02,48.7019,26.6386,3.3989,1.7376,0.9913,,,30055.0715,9440.6344,9440.6344,2704655.8843,849562.6897
+688778.SH,20221114,85.4,3.4865,3.4865,0.9,46.2178,25.2799,3.2256,1.6489,0.9408,,,30055.0715,9440.6344,9440.6344,2566703.1061,806230.1778
+688778.SH,20221111,89.97,2.9652,2.9652,0.69,48.6911,26.6327,3.3982,1.7372,0.9911,,,30055.0715,9440.6344,9440.6344,2704054.7829,849373.877
+688778.SH,20221110,89.26,4.1355,4.1355,0.97,48.3068,26.4225,3.3714,1.7235,0.9833,,,30055.0715,9440.6344,9440.6344,2682715.6821,842671.0265
+688778.SH,20221109,94.22,2.9994,2.9994,0.66,50.9911,27.8907,3.5587,1.8192,1.0379,,,30055.0715,9440.6344,9440.6344,2831788.8367,889496.5732
+688778.SH,20221108,95.4,4.0528,4.0528,0.92,51.6297,28.24,3.6033,1.842,1.0509,,,30055.0715,9440.6344,9440.6344,2867253.8211,900636.5218
+688778.SH,20221107,96.75,5.1465,5.1465,1.27,52.3604,28.6397,3.6543,1.8681,1.0658,,,30055.0715,9440.6344,9440.6344,2907828.1676,913381.3782
+688778.SH,20221104,97.42,5.2185,5.2185,1.41,52.723,28.838,3.6796,1.881,1.0732,,,30055.0715,9440.6344,9440.6344,2927965.0655,919706.6032
+688778.SH,20221103,93.38,3.9924,3.9924,1.13,50.5365,27.6421,3.527,1.803,1.0287,,,30055.0715,9440.6344,9440.6344,2806542.5767,881566.4403
+688778.SH,20221102,91.5,4.3748,4.3748,1.4,49.5191,27.0856,3.456,1.7667,1.008,,,30055.0715,9440.6344,9440.6344,2750039.0423,863818.0476
+688778.SH,20221101,87.51,3.3901,3.3901,1.13,47.3597,25.9045,3.3053,1.6897,0.964,,,30055.0715,9440.6344,9440.6344,2630119.307,826149.9163
+688778.SH,20221031,86.61,3.227,3.227,1.12,46.8727,25.638,3.2713,1.6723,0.9541,,,30055.0715,9440.6344,9440.6344,2603069.7426,817653.3454
+688778.SH,20221028,82.5,3.507,3.507,1.34,44.6484,24.4214,3.116,1.5929,0.9088,,,30055.0715,9440.6344,9440.6344,2479543.3988,778852.338
+688778.SH,20221027,87.71,3.1088,3.1088,1.26,47.468,25.9637,3.3128,1.6935,0.9662,,,30055.0715,9440.6344,9440.6344,2636130.3213,828038.0432
+688778.SH,20221026,89.21,2.4373,2.4373,0.99,48.2798,26.4077,3.3695,1.7225,0.9827,,,30055.0715,9440.6344,9440.6344,2681212.9285,842198.9948
+688778.SH,20221025,91.36,2.6591,2.6591,1.16,49.4433,27.0441,3.4507,1.764,1.0064,,,30055.0715,9440.6344,9440.6344,2745831.3322,862496.3588
+688778.SH,20221024,88.95,2.7357,2.7357,1.29,48.1391,26.3307,3.3597,1.7175,0.9799,,,30055.0715,9440.6344,9440.6344,2673398.6099,839744.4299
+688778.SH,20221021,87.99,2.1542,2.1542,0.92,47.6195,31.6013,3.4649,1.699,1.135,,,30055.0715,9440.6344,9440.6344,2644545.7413,830681.4209
+688778.SH,20221020,86.6,2.3737,2.3737,1.11,46.8672,31.1021,3.4102,1.6721,1.1171,,,30055.0715,9440.6344,9440.6344,2602769.1919,817558.939
+688778.SH,20221019,88.66,2.3368,2.3368,1.15,47.9821,31.8419,3.4913,1.7119,1.1436,,,30055.0715,9440.6344,9440.6344,2664682.6392,837006.6459
+688778.SH,20221018,91.14,1.8644,1.8644,0.9,49.3243,32.7326,3.589,1.7598,1.1756,,,30055.0715,9440.6344,9440.6344,2739219.2165,860419.4192
+688778.SH,20221017,93.05,1.8418,1.8418,0.88,50.3579,33.4186,3.6642,1.7967,1.2003,,,30055.0715,9440.6344,9440.6344,2796624.4031,878451.0309
+688778.SH,20221014,92.93,3.2785,3.2785,1.7,50.293,33.3755,3.6594,1.7943,1.1987,,,30055.0715,9440.6344,9440.6344,2793017.7945,877318.1548
+688778.SH,20221013,91.0,1.3575,1.3575,0.61,49.2485,32.6823,3.5834,1.7571,1.1738,,,30055.0715,9440.6344,9440.6344,2735011.5065,859097.7304
+688778.SH,20221012,92.32,1.8572,1.8572,0.65,49.9629,33.1564,3.6354,1.7826,1.1909,,,30055.0715,9440.6344,9440.6344,2774684.2009,871559.3678
+688778.SH,20221011,90.18,2.0116,2.0116,0.69,48.8047,32.3878,3.5512,1.7412,1.1632,,,30055.0715,9440.6344,9440.6344,2710366.3479,851356.4102
+688778.SH,20221010,90.47,2.0183,2.0183,0.71,48.9617,32.492,3.5626,1.7468,1.167,,,30055.0715,9440.6344,9440.6344,2719082.3186,854094.1942
+688778.SH,20220930,92.99,2.3989,2.3989,0.9,50.3255,33.397,3.6618,1.7955,1.1995,,,30055.0715,9440.6344,9440.6344,2794821.0988,877884.5929
+688778.SH,20220929,96.99,2.9276,2.9276,1.27,52.4902,34.8336,3.8193,1.8727,1.2511,,,30055.0715,9440.6344,9440.6344,2915041.3848,915647.1305
+688778.SH,20220928,94.4,4.9346,4.9346,3.1,51.0885,33.9034,3.7173,1.8227,1.2177,,,30055.0715,9440.6344,9440.6344,2837198.7496,891195.8874
+688778.SH,20220927,105.32,2.2597,2.2597,1.43,56.9984,37.8253,4.1473,2.0336,1.3585,,,30055.0715,9440.6344,9440.6344,3165400.1304,994287.615
+688778.SH,20220926,104.2,1.6515,1.6515,0.97,56.3922,37.4231,4.1032,2.0119,1.3441,,,30055.0715,9440.6344,9440.6344,3131738.4503,983714.1045
+688778.SH,20220923,101.83,1.5979,1.5979,0.84,55.1096,36.5719,4.0099,1.9662,1.3135,,,30055.0715,9440.6344,9440.6344,3060507.9308,961339.801
+688778.SH,20220922,103.72,1.1009,1.1009,0.44,56.1325,37.2507,4.0843,2.0027,1.3379,,,30055.0715,9440.6344,9440.6344,3117312.016,979182.6
+688778.SH,20220921,102.56,1.3423,1.3423,0.53,55.5047,36.8341,4.0387,1.9803,1.3229,,,30055.0715,9440.6344,9440.6344,3082448.133,968231.4641
+688778.SH,20220920,105.3,2.1885,2.1885,0.94,56.9875,37.8181,4.1466,2.0332,1.3583,,,30055.0715,9440.6344,9440.6344,3164799.029,994098.8023
+688778.SH,20220919,103.49,2.287,2.287,1.09,56.008,37.1681,4.0753,1.9982,1.3349,,,30055.0715,9440.6344,9440.6344,3110399.3495,977011.2541
+688778.SH,20220916,98.5,2.5499,2.5499,1.35,53.3074,35.3759,3.8788,1.9019,1.2706,,,30055.0715,9440.6344,9440.6344,2960424.5428,929902.4884
+688778.SH,20220915,102.34,4.0476,4.0476,2.75,55.3856,36.7551,4.03,1.976,1.3201,,,30055.0715,9440.6344,9440.6344,3075836.0173,966154.5245
+688778.SH,20220914,113.0,1.5603,1.5603,0.95,61.1547,40.5836,4.4498,2.1819,1.4576,,,30055.0715,9440.6344,9440.6344,3396223.0795,1066791.6872
+688778.SH,20220913,117.07,1.1803,1.1803,0.65,63.3574,42.0453,4.61,2.2604,1.5101,,,30055.0715,9440.6344,9440.6344,3518547.2205,1105215.0692
+688778.SH,20220909,116.39,1.1854,1.1854,0.64,62.9894,41.8011,4.5833,2.2473,1.5013,,,30055.0715,9440.6344,9440.6344,3498109.7719,1098795.4378
+688778.SH,20220908,115.5,1.4933,1.4933,0.76,62.5077,41.4814,4.5482,2.2301,1.4899,,,30055.0715,9440.6344,9440.6344,3471360.7583,1090393.2732
+688778.SH,20220907,119.37,1.9366,1.9366,0.85,64.6021,42.8713,4.7006,2.3048,1.5398,,,30055.0715,9440.6344,9440.6344,3587673.885,1126928.5283
+688778.SH,20220906,113.56,2.3954,2.3954,1.18,61.4578,40.7847,4.4718,2.1927,1.4648,,,30055.0715,9440.6344,9440.6344,3413053.9195,1072078.4425
+688778.SH,20220905,110.78,2.0686,2.0686,1.07,59.9533,39.7862,4.3624,2.139,1.429,,,30055.0715,9440.6344,9440.6344,3329500.8208,1045833.4788
+688778.SH,20220902,111.76,1.4073,1.4073,0.69,60.4836,40.1382,4.4009,2.1579,1.4416,,,30055.0715,9440.6344,9440.6344,3358954.7908,1055085.3005
+688778.SH,20220901,113.63,2.0093,2.0093,0.94,61.4957,40.8098,4.4746,2.194,1.4657,,,30055.0715,9440.6344,9440.6344,3415157.7745,1072739.2869
+688778.SH,20220831,111.41,3.4942,3.4942,1.74,60.2942,40.0125,4.3872,2.1512,1.4371,,,30055.0715,9440.6344,9440.6344,3348435.5158,1051781.0785
+688778.SH,20220830,120.97,1.1695,1.1695,0.56,65.468,43.446,4.7636,2.3357,1.5604,,,30055.0715,9440.6344,9440.6344,3635761.9994,1142033.5434
+688778.SH,20220829,124.4,1.5527,1.5527,0.71,67.3243,44.6778,4.8987,2.402,1.6047,,,30055.0715,9440.6344,9440.6344,3738850.8946,1174414.9194
+688778.SH,20220826,122.27,1.9198,1.9198,0.83,66.1716,43.9128,4.8148,2.3608,1.5772,,,30055.0715,9440.6344,9440.6344,3674833.5923,1154306.3681
+688778.SH,20220825,120.2,2.5442,2.5442,1.01,65.0513,43.1694,4.7333,2.3209,1.5505,,,30055.0715,9440.6344,9440.6344,3612619.5943,1134764.2549
+688778.SH,20220824,126.0,2.8746,2.8746,1.11,68.1902,45.2525,4.9617,2.4329,1.6253,,,30055.0715,9440.6344,9440.6344,3786939.009,1189519.9344
+688778.SH,20220823,136.67,1.4845,1.4845,0.51,73.9647,49.0846,5.3819,2.6389,1.7629,,,30055.0715,9440.6344,9440.6344,4107626.6219,1290251.5034
+688778.SH,20220822,136.69,2.1394,2.1394,0.7,73.9756,49.0917,5.3826,2.6393,1.7632,,,30055.0715,9440.6344,9440.6344,4108227.7233,1290440.3161
+688778.SH,20220819,137.1,2.5415,2.5415,0.82,62.1061,41.2149,8.3333,2.2158,1.4803,,,25157.2267,9440.6344,9440.6344,3449055.7806,1294310.9762
+688778.SH,20220818,140.4,3.5297,3.5297,1.1,63.601,42.2069,8.5339,2.2691,1.5159,,,25157.2267,9440.6344,9440.6344,3532074.6287,1325465.0698
+688778.SH,20220817,132.66,3.2832,3.2832,0.94,60.0948,39.8801,8.0634,2.144,1.4323,,,25157.2267,9440.6344,9440.6344,3337357.694,1252394.5595
+688778.SH,20220816,132.0,3.1744,3.1744,0.85,59.7958,39.6817,8.0233,2.1334,1.4252,,,25157.2267,9440.6344,9440.6344,3320753.9244,1246163.7408
+688778.SH,20220815,130.3,2.7534,2.7534,0.67,59.0257,39.1707,7.92,2.1059,1.4069,,,25157.2267,9440.6344,9440.6344,3277986.639,1230114.6623
+688778.SH,20220812,126.78,2.7504,2.7504,0.66,57.4311,38.1125,7.706,2.049,1.3689,,,25157.2267,9440.6344,9440.6344,3189433.201,1196883.6292
+688778.SH,20220811,132.47,4.1191,4.1191,1.11,60.0087,39.823,8.0519,2.141,1.4303,,,25157.2267,9440.6344,9440.6344,3332577.8209,1250600.839
+688778.SH,20220810,138.05,4.6452,4.6452,1.49,62.5364,41.5005,8.391,2.2312,1.4905,,,25157.2267,9440.6344,9440.6344,3472955.1459,1303279.5789
+688778.SH,20220809,133.39,4.5129,4.5129,1.75,60.4254,40.0996,8.1078,2.1558,1.4402,,,25157.2267,9440.6344,9440.6344,3355722.4695,1259286.2226
+688778.SH,20220808,134.8,4.6025,4.6025,2.19,61.0642,40.5235,8.1935,2.1786,1.4555,,,25157.2267,9440.6344,9440.6344,3391194.1592,1272597.5171
+688778.SH,20220805,139.5,3.0978,3.0978,1.54,63.1933,41.9364,8.4792,2.2546,1.5062,,,25157.2267,9440.6344,9440.6344,3509433.1247,1316968.4988
+688778.SH,20220804,141.28,2.9807,2.9807,0.76,63.9996,42.4715,8.5874,2.2834,1.5254,,,25157.2267,5415.4782,5415.4782,3554212.9882,765098.7601
+688778.SH,20220803,145.01,2.9657,2.9657,0.75,65.6893,43.5928,8.8141,2.3436,1.5657,,,25157.2267,5415.4782,5415.4782,3648049.4438,785298.4938
+688778.SH,20220802,147.0,3.05,3.05,0.72,66.5908,44.191,8.935,2.3758,1.5872,,,25157.2267,5415.4782,5415.4782,3698112.3249,796075.2954
+688778.SH,20220801,148.57,3.899,3.899,0.85,67.302,44.663,9.0305,2.4012,1.6041,,,25157.2267,5415.4782,5415.4782,3737609.1708,804577.5962
+688778.SH,20220729,145.8,4.6679,4.6679,1.02,66.0472,43.8303,8.8621,2.3564,1.5742,,,25157.2267,5415.4782,5415.4782,3667923.6529,789576.7216
+688778.SH,20220728,147.82,4.9402,4.9402,1.13,66.9622,44.4375,8.9849,2.3891,1.596,,,25157.2267,5415.4782,5415.4782,3718741.2508,800515.9875
+688778.SH,20220727,146.01,3.2545,3.2545,0.68,66.1423,43.8934,8.8749,2.3598,1.5765,,,25157.2267,5415.4782,5415.4782,3673206.6705,790713.972
+688778.SH,20220726,141.97,4.4156,4.4156,0.86,64.3122,42.6789,8.6293,2.2945,1.5329,,,25157.2267,5415.4782,5415.4782,3571571.4746,768835.4401
+688778.SH,20220725,144.08,5.6166,5.6166,1.01,65.268,43.3132,8.7576,2.3286,1.5556,,,25157.2267,5415.4782,5415.4782,3624653.2229,780262.0991
+688778.SH,20220722,154.45,4.7009,4.7009,0.91,69.9656,46.4306,9.3879,2.4962,1.6676,,,25157.2267,5415.4782,5415.4782,3885533.6638,836420.608
+688778.SH,20220721,164.2,3.8704,3.8704,0.76,74.3823,49.3617,9.9805,2.6538,1.7729,,,25157.2267,5415.4782,5415.4782,4130816.6241,889221.5204
+688778.SH,20220720,163.01,5.3464,5.3464,1.06,73.8433,49.0039,9.9082,2.6346,1.76,,,25157.2267,5415.4782,5415.4782,4100879.5244,882777.1014
+688778.SH,20220719,164.02,6.0491,6.0491,1.09,74.3008,49.3076,9.9696,2.6509,1.7709,,,25157.2267,5415.4782,5415.4782,4126288.3233,888246.7344
+688778.SH,20220718,153.0,7.731,7.731,1.34,69.3087,45.9947,9.2997,2.4728,1.652,,,25157.2267,5415.4782,5415.4782,3849055.6851,828568.1646
+688778.SH,20220715,139.58,2.7008,2.7008,0.46,63.2295,53.9846,9.2081,2.2559,1.8911,,,25157.2267,5415.4782,5415.4782,3511445.7028,755892.4472
+688778.SH,20220714,140.77,3.6974,3.6974,0.59,63.7686,54.4449,9.2866,2.2751,1.9072,,,25157.2267,5415.4782,5415.4782,3541382.8026,762336.8662
+688778.SH,20220713,138.58,4.9415,4.9415,0.79,62.7765,53.5978,9.1422,2.2397,1.8775,,,25157.2267,5415.4782,5415.4782,3486288.4761,750476.969
+688778.SH,20220712,141.89,8.5623,8.5623,1.4,64.2759,54.878,9.3605,2.2932,1.9223,,,25157.2267,5415.4782,5415.4782,3569558.8965,768402.2018
+688778.SH,20220711,139.6,9.0492,9.0492,1.74,63.2386,53.9923,9.2094,2.2562,1.8913,,,25157.2267,5415.4782,5415.4782,3511948.8473,756000.7567
+688778.SH,20220708,130.15,3.4038,3.4038,0.68,58.9577,50.3374,8.586,2.1035,1.7633,,,25157.2267,5415.4782,5415.4782,3274213.055,704824.4877
+688778.SH,20220707,132.48,5.1271,5.1271,1.09,60.0132,51.2386,8.7397,2.1411,1.7949,,,25157.2267,5415.4782,5415.4782,3332829.3932,717442.5519
+688778.SH,20220706,128.0,4.9922,4.9922,0.98,57.9838,49.5059,8.4442,2.0687,1.7342,,,25157.2267,5415.4782,5415.4782,3220125.0176,693181.2096
+688778.SH,20220705,127.4,8.0024,8.0024,1.84,57.712,49.2738,8.4046,2.059,1.726,,,25157.2267,5415.4782,5415.4782,3205030.6816,689931.9227
+688778.SH,20220704,117.55,4.5471,4.5471,1.02,53.25,45.4642,7.7548,1.8998,1.5926,,,25157.2267,5415.4782,5415.4782,2957231.9986,636589.4624
+688778.SH,20220701,110.3,2.3259,2.3259,0.47,49.9657,42.6601,7.2765,1.7827,1.4944,,,25157.2267,5415.4782,5415.4782,2774842.105,597327.2455
+688778.SH,20220630,111.47,3.7108,3.7108,0.71,50.4957,43.1127,7.3537,1.8016,1.5102,,,25157.2267,5415.4782,5415.4782,2804276.0602,603663.355
+688778.SH,20220629,108.89,6.7948,6.7948,1.28,49.327,42.1148,7.1835,1.7599,1.4753,,,25157.2267,5415.4782,5415.4782,2739370.4154,589691.4212
+688778.SH,20220628,117.65,4.3146,4.3146,0.81,53.2953,45.5029,7.7614,1.9014,1.5939,,,25157.2267,5415.4782,5415.4782,2959747.7213,637131.0102
+688778.SH,20220627,118.0,5.2318,5.2318,0.87,53.4538,45.6382,7.7845,1.9071,1.5987,,,25157.2267,5415.4782,5415.4782,2968552.7506,639026.4276
+688778.SH,20220624,118.07,4.5218,4.5218,0.64,53.4855,45.6653,7.7891,1.9082,1.5996,,,25157.2267,5415.4782,5415.4782,2970313.7565,639405.5111
+688778.SH,20220623,115.2,5.4472,5.4472,0.8,52.1854,44.5553,7.5998,1.8619,1.5607,,,25157.2267,5415.4782,5415.4782,2898112.5158,623863.0886
+688778.SH,20220622,111.89,6.9797,6.9797,1.15,50.686,43.2751,7.3814,1.8084,1.5159,,,25157.2267,5415.4782,5415.4782,2814842.0955,605937.8558
+688778.SH,20220621,108.86,4.4659,4.4659,0.77,49.3134,42.1032,7.1815,1.7594,1.4749,,,25157.2267,5415.4782,5415.4782,2738615.6986,589528.9569
+688778.SH,20220620,112.18,8.6494,8.6494,1.84,50.8173,43.3873,7.4005,1.813,1.5198,,,25157.2267,5415.4782,5415.4782,2822137.6912,607508.3445
+688778.SH,20220617,106.59,9.5959,9.5959,2.72,48.2851,41.2252,7.0318,1.7227,1.4441,,,25157.2267,5415.4782,5415.4782,2681508.794,577235.8213
+688778.SH,20220616,95.77,4.3603,4.3603,1.36,43.3836,37.0405,6.318,1.5478,1.2975,,,25157.2267,5415.4782,5415.4782,2409307.6011,518640.3472
+688778.SH,20220615,91.58,3.147,3.147,0.84,41.4856,35.4199,6.0416,1.4801,1.2407,,,25157.2267,5415.4782,5415.4782,2303898.8212,495949.4936
+688778.SH,20220614,93.41,3.3749,3.3749,0.87,42.3146,36.1277,6.1623,1.5097,1.2655,,,25157.2267,5415.4782,5415.4782,2349936.546,505859.8187
+688778.SH,20220613,97.0,3.0258,3.0258,0.73,43.9408,37.5162,6.3991,1.5677,1.3142,,,25157.2267,5415.4782,5415.4782,2440250.9899,525301.3854
+688778.SH,20220610,96.02,3.7448,3.7448,0.95,43.4969,37.1371,6.3345,1.5519,1.3009,,,25157.2267,5415.4782,5415.4782,2415596.9077,519994.2168
+688778.SH,20220609,90.8,2.7403,2.7403,0.66,41.1322,35.1182,5.9901,1.4675,1.2302,,,25157.2267,5415.4782,5415.4782,2284276.1844,491725.4206
+688778.SH,20220608,95.9,5.8713,5.8713,1.68,43.4425,37.0907,6.3265,1.5499,1.2993,,,25157.2267,5415.4782,5415.4782,2412578.0405,519344.3594
+688778.SH,20220607,98.68,4.0835,4.0835,1.21,44.7019,38.1659,6.5099,1.5949,1.3369,,,25157.2267,5415.4782,5415.4782,2482515.1308,534399.3888
+688778.SH,20220606,96.06,4.3301,4.3301,1.26,43.515,37.1526,6.3371,1.5525,1.3014,,,25157.2267,5415.4782,5415.4782,2416603.1968,520210.8359
+688778.SH,20220602,90.62,2.7544,2.7544,0.84,41.0507,35.0486,5.9782,1.4646,1.2277,,,25157.2267,5415.4782,5415.4782,2279747.8836,490750.6345
+688778.SH,20220601,90.65,3.7164,3.7164,1.18,41.0643,35.0602,5.9802,1.4651,1.2281,,,25157.2267,5415.4782,5415.4782,2280502.6004,490913.0988
+688778.SH,20220531,87.18,2.5898,2.5898,0.82,39.4924,33.7181,5.7513,1.409,1.1811,,,25157.2267,5415.4782,5415.4782,2193207.0237,472121.3895
+688778.SH,20220530,88.07,3.4602,3.4602,1.01,39.8956,34.0624,5.81,1.4234,1.1932,,,25157.2267,5415.4782,5415.4782,2215596.9555,476941.1651
+688778.SH,20220527,84.8,4.6049,4.6049,1.47,38.4143,32.7976,5.5943,1.3705,1.1489,,,25157.2267,5415.4782,5415.4782,2133332.8242,459232.5514
+688778.SH,20220526,80.94,2.0799,2.0799,0.55,36.6657,31.3047,5.3396,1.3081,1.0966,,,25157.2267,5415.4782,5415.4782,2036225.9291,438328.8055
+688778.SH,20220525,81.32,3.056,3.056,0.86,36.8378,31.4517,5.3647,1.3143,1.1017,,,25157.2267,5415.4782,5415.4782,2045785.6752,440386.6872
+688778.SH,20220524,78.63,2.6872,2.6872,0.76,35.6193,30.4113,5.1872,1.2708,1.0653,,,25157.2267,5415.4782,5415.4782,1978112.7354,425819.0509
+688778.SH,20220523,82.77,4.7393,4.7393,1.63,37.4947,32.0125,5.4604,1.3377,1.1214,,,25157.2267,5415.4782,5415.4782,2082263.654,448239.1306
+688778.SH,20220520,77.95,3.1361,3.1361,1.22,35.3112,30.1483,4.9782,1.2598,1.0561,,,25157.2267,5415.4782,5415.4782,1961005.8213,422136.5257
+688778.SH,20220519,77.11,5.1489,5.1489,2.74,34.9307,29.8234,4.9245,1.2462,1.0447,,,25157.2267,5415.4782,5415.4782,1939873.7508,417587.524
+688778.SH,20220518,72.93,2.1128,2.1128,1.0,33.0372,28.2067,4.6576,1.1787,0.9881,,,25157.2267,5415.4782,5415.4782,1834716.5432,394950.8251
+688778.SH,20220517,74.15,2.6345,2.6345,1.29,33.5898,28.6786,4.7355,1.1984,1.0046,,,25157.2267,5415.4782,5415.4782,1865408.3598,401557.7085
+688778.SH,20220516,71.12,1.5075,1.5075,0.73,32.2172,27.5067,4.542,1.1494,0.9635,,,25157.2267,5415.4782,5415.4782,1789181.9629,385148.8096
+688778.SH,20220513,71.41,1.4908,1.4908,0.66,32.3486,27.6189,4.5605,1.1541,0.9675,,,25157.2267,5415.4782,5415.4782,1796477.5586,386719.2983
+688778.SH,20220512,71.91,1.6506,1.6506,0.69,32.5751,27.8122,4.5924,1.1622,0.9742,,,25157.2267,5415.4782,5415.4782,1809056.172,389427.0374
+688778.SH,20220511,73.15,3.3243,3.3243,1.36,33.1368,28.2918,4.6716,1.1822,0.991,,,25157.2267,5415.4782,5415.4782,1840251.1331,396142.2303
+688778.SH,20220510,69.58,2.2533,2.2533,0.81,31.5196,26.9111,4.4436,1.1245,0.9427,,,25157.2267,5415.4782,5415.4782,1750439.8338,376808.9732
+688778.SH,20220509,66.97,1.5913,1.5913,0.5,30.3373,25.9016,4.277,1.0824,0.9073,,,25157.2267,5415.4782,5415.4782,1684779.4721,362674.5751
+688778.SH,20220506,68.35,2.4725,2.4725,0.81,30.9624,26.4354,4.3651,1.1047,0.926,,,25157.2267,5415.4782,5415.4782,1719496.4449,370147.935
+688778.SH,20220505,67.29,2.3606,2.3606,0.78,30.4823,26.0254,4.2974,1.0875,0.9117,,,25157.2267,5415.4782,5415.4782,1692829.7846,364407.5281
+688778.SH,20220429,68.28,3.5324,3.5324,1.31,30.9307,26.4083,4.3606,1.1035,0.9251,,,25157.2267,5415.4782,5415.4782,1717735.4391,369768.8515
+688778.SH,20220428,64.15,4.0169,4.0169,1.56,29.0598,24.811,4.0969,1.0368,0.8691,,,25157.2267,5415.4782,5415.4782,1613836.0928,347402.9265
+688778.SH,20220427,64.16,3.6437,3.6437,1.68,29.0644,24.8148,4.0975,1.0369,0.8693,,,25157.2267,5415.4782,5415.4782,1614087.6651,347457.0813
+688778.SH,20220426,56.3,1.7897,1.7897,0.77,25.5038,25.5038,3.7912,0.9099,0.9099,,,25157.2267,5415.4782,5415.4782,1416351.8632,304891.4227
+688778.SH,20220425,58.6,2.1749,2.1749,0.77,26.5457,26.5457,3.9461,0.9471,0.9471,,,25157.2267,5415.4782,5415.4782,1474213.4846,317347.0225
+688778.SH,20220422,63.33,1.8091,1.8091,0.61,28.6884,28.6884,4.2646,1.0235,1.0235,,,25157.2267,5415.4782,5415.4782,1593207.1669,342962.2344
+688778.SH,20220421,63.98,3.4452,3.4452,1.36,28.9828,28.9828,4.3084,1.034,1.034,,,25157.2267,5415.4782,5415.4782,1609559.3643,346482.2952
+688778.SH,20220420,68.1,1.6558,1.6558,0.67,30.8492,30.8492,4.5858,1.1006,1.1006,,,25157.2267,5415.4782,5415.4782,1713207.1383,368794.0654
+688778.SH,20220419,70.17,2.5964,2.5964,0.98,31.7869,31.7869,4.7252,1.1341,1.1341,,,25157.2267,5415.4782,5415.4782,1765282.5975,380004.1053
+688778.SH,20220418,70.3,4.6476,4.6476,1.57,31.8458,31.8458,4.734,1.1362,1.1362,,,25157.2267,5415.4782,5415.4782,1768553.037,380708.1175
+688778.SH,20220415,71.82,2.461,2.461,0.9,32.5343,32.5343,4.8363,1.1607,1.1607,,,25157.2267,5415.4782,5415.4782,1806792.0216,388939.6443
+688778.SH,20220414,74.51,1.2854,1.2854,0.48,33.7529,33.7529,5.0175,1.2042,1.2042,,,25157.2267,5415.4782,5415.4782,1874464.9614,403507.2807
+688778.SH,20220413,74.37,1.4257,1.4257,0.54,33.6895,33.6895,5.008,1.202,1.202,,,25157.2267,5415.4782,5415.4782,1870942.9497,402749.1137
+688778.SH,20220412,75.68,3.4472,3.4472,1.6,34.2829,34.2829,5.0962,1.2231,1.2231,,,25157.2267,5415.4782,5415.4782,1903898.9167,409843.3902
+688778.SH,20220411,76.65,6.2243,6.2243,4.86,34.7223,34.7223,5.1616,1.2388,1.2388,,,25157.2267,5415.4782,5415.4782,1928301.4266,415096.404
+688778.SH,20220408,85.79,1.3192,1.3192,0.9,38.8627,38.8627,5.777,1.3865,1.3865,,,25157.2267,5415.4782,5415.4782,2158238.4786,464593.8748
+688778.SH,20220407,87.83,1.0303,1.0303,0.6,39.7868,39.7868,5.9144,1.4195,1.4195,,,25157.2267,5415.4782,5415.4782,2209559.2211,475641.4503
+688778.SH,20220406,89.65,1.2762,1.2762,0.68,40.6113,40.6113,6.037,1.4489,1.4489,,,25157.2267,5415.4782,5415.4782,2255345.3737,485497.6206
+688778.SH,20220401,91.71,0.9391,0.9391,0.45,41.5445,41.5445,6.1757,1.4822,1.4822,,,25157.2267,5415.4782,5415.4782,2307169.2607,496653.5057
+688778.SH,20220331,91.58,1.8346,1.8346,0.91,41.4856,41.4856,6.1669,1.4801,1.4801,,,25157.2267,5415.4782,5415.4782,2303898.8212,495949.4936
+688778.SH,20220330,94.56,2.2223,2.2223,1.1,94.9473,42.8697,6.369,2.9774,1.5291,,,25157.2267,5415.4782,5415.4782,2378867.3568,512087.6186
+688778.SH,20220329,90.65,2.2684,2.2684,1.16,91.0213,41.097,6.1057,2.8543,1.4659,,,25157.2267,5415.4782,5415.4782,2280502.6004,490913.0988
+688778.SH,20220328,87.04,2.1143,2.1143,1.01,87.3965,39.4604,5.8625,2.7407,1.4075,,,25157.2267,5415.4782,5415.4782,2189685.012,471363.2225
+688778.SH,20220325,91.6,1.9305,1.9305,0.92,91.9752,41.5277,6.1697,2.8842,1.4812,,,25157.2267,5415.4782,5415.4782,2304401.9657,496057.8031
+688778.SH,20220324,92.8,1.5483,1.5483,0.56,93.1801,42.0717,6.2505,2.922,1.5006,,,25157.2267,5415.4782,5415.4782,2334590.6378,502556.377
+688778.SH,20220323,93.8,2.2548,2.2548,0.7,94.1842,42.5251,6.3179,2.9535,1.5168,,,25157.2267,5415.4782,5415.4782,2359747.8645,507971.8552
+688778.SH,20220322,93.16,1.8981,1.8981,0.58,93.5416,42.2349,6.2748,2.9334,1.5065,,,25157.2267,5415.4782,5415.4782,2343647.2394,504505.9491
+688778.SH,20220321,93.0,2.8072,2.8072,0.9,93.3809,42.1624,6.264,2.9283,1.5039,,,25157.2267,5415.4782,5415.4782,2339622.0831,503639.4726
+688778.SH,20220318,91.0,1.9553,1.9553,0.58,91.3727,41.2557,6.1293,2.8653,1.4715,,,25157.2267,5415.4782,5415.4782,2289307.6297,492808.5162
+688778.SH,20220317,91.68,4.9573,4.9573,1.59,92.0555,41.564,6.1751,2.8868,1.4825,,,25157.2267,5415.4782,5415.4782,2306414.5439,496491.0414
+688778.SH,20220316,88.88,4.4134,4.4134,1.56,89.244,40.2946,5.9865,2.7986,1.4372,,,25157.2267,5415.4782,5415.4782,2235974.3091,481327.7024
+688778.SH,20220315,82.85,2.1797,2.1797,0.69,83.1893,37.5608,5.5803,2.6087,1.3397,,,25157.2267,5415.4782,5415.4782,2084276.2321,448672.3689
+688778.SH,20220314,84.08,2.1598,2.1598,0.65,84.4244,38.1184,5.6632,2.6475,1.3596,,,25157.2267,5415.4782,5415.4782,2115219.6209,455333.4071
+688778.SH,20220311,87.85,3.0799,3.0799,1.02,88.2098,39.8276,5.9171,2.7662,1.4206,,,25157.2267,5415.4782,5415.4782,2210062.3656,475749.7599
+688778.SH,20220310,87.16,3.744,3.744,1.38,87.517,39.5148,5.8706,2.7444,1.4094,,,25157.2267,5415.4782,5415.4782,2192703.8792,472013.0799
+688778.SH,20220309,82.84,2.9738,2.9738,1.14,83.1793,37.5563,5.5797,2.6084,1.3396,,,25157.2267,5415.4782,5415.4782,2084024.6598,448618.2141
+688778.SH,20220308,82.0,3.773,3.773,1.68,82.3359,37.1755,5.5231,2.582,1.326,,,25157.2267,5415.4782,5415.4782,2062892.5894,444069.2124
+688778.SH,20220307,87.39,2.9204,2.9204,1.3,87.7479,39.6191,5.8861,2.7517,1.4132,,,25157.2267,5415.4782,5415.4782,2198490.0413,473258.6399
+688778.SH,20220304,91.8,1.6999,1.6999,0.61,92.176,41.6184,6.1832,2.8905,1.4845,,,25157.2267,5415.4782,5415.4782,2309433.4111,497140.8988
+688778.SH,20220303,93.0,2.184,2.184,0.69,93.3809,42.1624,6.264,2.9283,1.5039,,,25157.2267,5415.4782,5415.4782,2339622.0831,503639.4726
+688778.SH,20220302,95.55,2.4792,2.4792,0.66,95.9414,43.3185,6.4357,3.0086,1.5451,,,25157.2267,5415.4782,5415.4782,2403773.0112,517448.942
+688778.SH,20220301,96.39,1.9572,1.9572,0.51,96.7848,43.6993,6.4923,3.0351,1.5587,,,25157.2267,5415.4782,5415.4782,2424905.0816,521997.9437
+688778.SH,20220228,97.02,2.8881,2.8881,0.83,97.4174,43.9849,6.5347,3.0549,1.5689,,,25157.2267,5415.4782,5415.4782,2440754.1344,525409.695
+688778.SH,20220225,96.81,4.3386,4.3386,1.51,97.2065,43.8897,6.5206,3.0483,1.5655,,,25157.2267,5415.4782,5415.4782,2435471.1168,524272.4445
+688778.SH,20220224,92.97,4.2275,4.2275,1.76,93.3508,42.1488,6.262,2.9274,1.5034,,,25157.2267,5415.4782,5415.4782,2338867.3663,503477.0083
+688778.SH,20220223,96.89,5.3224,5.3224,2.62,97.2868,43.926,6.526,3.0508,1.5668,,,25157.2267,5415.4782,5415.4782,2437483.695,524705.6828
+688778.SH,20220222,89.0,2.3138,2.3138,1.08,89.3645,40.349,5.9946,2.8024,1.4392,,,25157.2267,5415.4782,5415.4782,2238993.1763,481977.5598
+688778.SH,20220221,87.67,1.238,1.238,0.54,88.0291,39.746,5.905,2.7605,1.4177,,,25157.2267,5415.4782,5415.4782,2205534.0648,474774.9738
+688778.SH,20220218,88.44,1.2721,1.2721,0.52,88.8022,40.0951,5.9568,2.7847,1.4301,,,25157.2267,5415.4782,5415.4782,2224905.1293,478944.892
+688778.SH,20220217,89.57,1.8464,1.8464,0.68,89.9369,40.6074,6.033,2.8203,1.4484,,,25157.2267,5415.4782,5415.4782,2253332.7955,485064.3824
+688778.SH,20220216,88.91,3.4747,3.4747,1.39,89.2742,40.3082,5.9885,2.7995,1.4377,,,25157.2267,5415.4782,5415.4782,2236729.0259,481490.1668
+688778.SH,20220215,85.95,2.8412,2.8412,1.01,86.302,38.9662,5.7891,2.7063,1.3899,,,25157.2267,5415.4782,5415.4782,2162263.6349,465460.3513
+688778.SH,20220214,82.38,2.1252,2.1252,0.68,82.7174,37.3477,5.5487,2.5939,1.3321,,,25157.2267,5415.4782,5415.4782,2072452.3355,446127.0941
+688778.SH,20220211,81.88,1.9705,1.9705,0.62,82.2154,37.1211,5.515,2.5782,1.3241,,,25157.2267,5415.4782,5415.4782,2059873.7222,443419.355
+688778.SH,20220210,82.4,3.236,3.236,1.15,82.7375,37.3568,5.55,2.5946,1.3325,,,25157.2267,5415.4782,5415.4782,2072955.4801,446235.4037
+688778.SH,20220209,86.2,2.295,2.295,0.86,86.5531,39.0796,5.806,2.7142,1.3939,,,25157.2267,5415.4782,5415.4782,2168552.9415,466814.2208
+688778.SH,20220208,85.09,4.4732,4.4732,1.95,85.4385,38.5763,5.7312,2.6793,1.376,,,25157.2267,5415.4782,5415.4782,2140628.4199,460803.04
+688778.SH,20220207,89.1,3.6313,3.6313,1.9,89.4649,40.3943,6.0013,2.8055,1.4408,,,25157.2267,5415.4782,5415.4782,2241508.899,482519.1076
+688778.SH,20220128,91.48,2.4285,2.4285,1.37,91.8547,41.4733,6.1616,2.8805,1.4793,,,25157.2267,5186.7513,5186.7513,2301383.0985,474484.0089
+688778.SH,20220127,88.03,1.4295,1.4295,0.82,88.3906,39.9092,5.9292,2.7718,1.4235,,,25157.2267,5186.7513,5186.7513,2214590.6664,456589.7169
+688778.SH,20220126,90.72,1.6757,1.6757,0.92,91.0916,41.1288,6.1104,2.8565,1.467,,,25157.2267,5186.7513,5186.7513,2282263.6062,470542.0779
+688778.SH,20220125,91.48,2.6484,2.6484,1.62,91.8547,46.6378,6.4353,2.8805,1.7556,,,25157.2267,5186.7513,5186.7513,2301383.0985,474484.0089
+688778.SH,20220124,95.34,1.8038,1.8038,1.1,95.7305,48.6057,6.7068,3.002,1.8296,,,25157.2267,5186.7513,5186.7513,2398489.9936,494504.8689
+688778.SH,20220121,95.51,1.2862,1.2862,0.75,95.9012,48.6924,6.7188,3.0074,1.8329,,,25157.2267,5186.7513,5186.7513,2402766.7221,495386.6167
+688778.SH,20220120,95.7,1.3543,1.3543,0.77,96.092,48.7892,6.7322,3.0133,1.8365,,,25157.2267,5186.7513,5186.7513,2407546.5952,496372.0994
+688778.SH,20220119,97.12,2.0208,2.0208,1.13,97.5178,49.5132,6.8321,3.058,1.8638,,,25157.2267,5186.7513,5186.7513,2443269.8571,503737.2863
+688778.SH,20220118,99.6,1.7006,1.7006,1.0,100.0079,50.7775,7.0065,3.1361,1.9114,,,25157.2267,5186.7513,5186.7513,2505659.7793,516600.4295
+688778.SH,20220117,99.85,1.8091,1.8091,1.08,100.259,50.905,7.0241,3.144,1.9162,,,25157.2267,5186.7513,5186.7513,2511949.086,517897.1173
+688778.SH,20220114,98.15,1.7433,1.7433,0.99,98.552,50.0383,6.9045,3.0905,1.8836,,,25157.2267,5186.7513,5186.7513,2469181.8006,509079.6401
+688778.SH,20220113,99.12,1.5393,1.5393,0.76,99.526,50.5328,6.9728,3.121,1.9022,,,25157.2267,5186.7513,5186.7513,2493584.3105,514110.7889
+688778.SH,20220112,100.26,2.179,2.179,1.02,100.6706,51.114,7.053,3.1569,1.924,,,25157.2267,5186.7513,5186.7513,2522263.5489,520023.6853
+688778.SH,20220111,97.6,1.2444,1.2444,0.48,97.9998,49.7579,6.8658,3.0732,1.873,,,25157.2267,5186.7513,5186.7513,2455345.3259,506226.9269
+688778.SH,20220110,98.4,1.6449,1.6449,0.62,98.803,50.1657,6.9221,3.0984,1.8884,,,25157.2267,5186.7513,5186.7513,2475471.1073,510376.3279
+688778.SH,20220107,97.79,2.2081,2.2081,0.86,98.1905,49.8547,6.8792,3.0791,1.8766,,,25157.2267,5186.7513,5186.7513,2460125.199,507212.4096
+688778.SH,20220106,99.89,2.7999,2.7999,1.18,100.2991,50.9254,7.0269,3.1453,1.9169,,,25157.2267,5186.7513,5186.7513,2512955.3751,518104.5874
+688778.SH,20220105,98.0,2.748,2.748,1.2,98.4014,49.9618,6.894,3.0858,1.8807,,,25157.2267,5186.7513,5186.7513,2465408.2166,508301.6274
+688778.SH,20220104,100.67,3.6164,3.6164,1.78,101.0823,51.323,7.0818,3.1698,1.9319,,,25157.2267,5186.7513,5186.7513,2532578.0119,522150.2534
+688778.SH,20211231,103.35,1.9706,1.9706,0.67,103.7733,52.6893,7.2703,3.2542,1.9833,,,25157.2267,5186.7513,5186.7513,2599999.3794,536050.7469
+688778.SH,20211230,102.43,1.7766,1.7766,0.57,102.8495,52.2203,7.2056,3.2252,1.9657,,,25157.2267,5186.7513,5186.7513,2576854.7309,531278.9357
+688778.SH,20211229,101.8,1.7447,1.7447,0.56,102.217,51.8991,7.1613,3.2054,1.9536,,,25157.2267,5186.7513,5186.7513,2561005.6781,528011.2823
+688778.SH,20211228,103.51,2.3709,2.3709,0.81,103.934,52.7709,7.2816,3.2593,1.9864,,,25157.2267,5186.7513,5186.7513,2604024.5357,536880.6271
+688778.SH,20211227,100.8,2.2865,2.2865,0.77,101.2129,51.3893,7.0909,3.1739,1.9344,,,25157.2267,5186.7513,5186.7513,2535848.4514,522824.531
+688778.SH,20211224,101.13,6.5138,6.5138,2.95,101.5442,51.5575,7.1142,3.1843,1.9407,,,25157.2267,5186.7513,5186.7513,2544150.3362,524536.159
+688778.SH,20211223,108.1,2.7309,2.7309,1.3,108.5428,55.1109,7.6045,3.4038,2.0745,,,25157.2267,5186.7513,5186.7513,2719496.2063,560687.8155
+688778.SH,20211222,111.12,1.5793,1.5793,0.64,111.5751,56.6506,7.8169,3.4989,2.1325,,,25157.2267,5186.7513,5186.7513,2795471.0309,576351.8045
+688778.SH,20211221,111.85,1.4629,1.4629,0.54,112.3081,57.0227,7.8683,3.5219,2.1465,,,25157.2267,5186.7513,5186.7513,2813835.8064,580138.1329
+688778.SH,20211220,112.02,2.4744,2.4744,0.93,112.4788,57.1094,7.8802,3.5272,2.1497,,,25157.2267,5186.7513,5186.7513,2818112.5349,581019.8806
+688778.SH,20211217,114.52,2.8113,2.8113,1.04,114.9891,58.3839,8.0561,3.6059,2.1977,,,25157.2267,5186.7513,5186.7513,2881005.6017,593986.7589
+688778.SH,20211216,117.59,2.2025,2.2025,0.84,118.0716,59.9491,8.2721,3.7026,2.2566,,,25157.2267,5186.7513,5186.7513,2958238.2877,609910.0854
+688778.SH,20211215,118.6,3.439,3.439,1.34,119.0858,60.464,8.3431,3.7344,2.276,,,25157.2267,5186.7513,5186.7513,2983647.0866,615148.7042
+688778.SH,20211214,116.42,2.6219,2.6219,0.78,116.8968,59.3526,8.1898,3.6658,2.2342,,,25157.2267,5186.7513,5186.7513,2928804.3324,603841.5863
+688778.SH,20211213,117.66,2.2894,2.2894,0.62,118.1419,59.9848,8.277,3.7048,2.258,,,25157.2267,5186.7513,5186.7513,2959999.2935,610273.158
+688778.SH,20211210,117.05,2.9228,2.9228,0.77,117.5294,59.6738,8.2341,3.6856,2.2463,,,25157.2267,5186.7513,5186.7513,2944653.3852,607109.2397
+688778.SH,20211209,115.49,1.7957,1.7957,0.43,115.963,58.8785,8.1243,3.6365,2.2163,,,25157.2267,5186.7513,5186.7513,2905408.1116,599017.9076
+688778.SH,20211208,116.1,3.2194,3.2194,0.73,116.5755,59.1894,8.1672,3.6557,2.228,,,25157.2267,5186.7513,5186.7513,2920754.0199,602181.8259
+688778.SH,20211207,112.93,6.4887,6.4887,1.49,113.3925,57.5733,7.9442,3.5559,2.1672,,,25157.2267,5186.7513,5186.7513,2841005.6112,585739.8243
+688778.SH,20211206,116.84,3.9978,3.9978,0.84,117.3186,59.5667,8.2193,3.679,2.2422,,,25157.2267,5186.7513,5186.7513,2939370.3676,606020.0219
+688778.SH,20211203,121.5,3.4442,3.4442,0.66,121.9976,61.9424,8.5471,3.8257,2.3317,,,25157.2267,5186.7513,5186.7513,3056603.0441,630190.283
+688778.SH,20211202,118.86,3.6728,3.6728,0.6,119.3468,60.5965,8.3614,3.7426,2.281,,,25157.2267,5186.7513,5186.7513,2990187.9656,616497.2595
+688778.SH,20211201,121.44,4.3209,4.3209,0.63,121.9374,61.9119,8.5429,3.8238,2.3305,,,25157.2267,5186.7513,5186.7513,3055093.6104,629879.0779
+688778.SH,20211130,121.18,6.3267,6.3267,0.9,121.6763,61.7793,8.5246,3.8156,2.3255,,,25157.2267,5186.7513,5186.7513,3048552.7315,628530.5225
+688778.SH,20211129,126.24,5.9839,5.9839,0.78,126.7571,64.359,8.8806,3.975,2.4226,,,25157.2267,5186.7513,5186.7513,3175848.2986,654775.4841
+688778.SH,20211126,127.79,5.7726,5.7726,0.7,128.3134,65.1492,8.9896,4.0238,2.4524,,,25157.2267,5186.7513,5186.7513,3214842.0,662814.9486
+688778.SH,20211125,126.3,7.9674,7.9674,1.02,126.8173,64.3895,8.8848,3.9768,2.4238,,,25157.2267,5186.7513,5186.7513,3177357.7322,655086.6892
+688778.SH,20211124,128.16,7.9731,7.9731,1.1,128.6849,65.3378,9.0156,4.0354,2.4595,,,25157.2267,5186.7513,5186.7513,3224150.1739,664734.0466
+688778.SH,20211123,122.95,7.6186,7.6186,1.13,123.4536,62.6817,8.6491,3.8714,2.3595,,,25157.2267,5186.7513,5186.7513,3093081.0228,637711.0723
+688778.SH,20211122,121.28,9.1554,9.1554,1.48,121.7767,61.8303,8.5316,3.8188,2.3274,,,25157.2267,5186.7513,5186.7513,3051068.4542,629049.1977
+688778.SH,20211119,114.67,8.3271,8.3271,1.45,115.1397,58.4604,8.0666,3.6107,2.2006,,,25157.2267,5186.7513,5186.7513,2884779.1857,594764.7716
+688778.SH,20211118,111.45,6.0226,6.0226,1.09,111.9065,56.8188,7.8401,3.5093,2.1388,,,25157.2267,5186.7513,5186.7513,2803772.9157,578063.4324
+688778.SH,20211117,110.98,5.2584,5.2584,0.96,111.4346,56.5792,7.8071,3.4945,2.1298,,,25157.2267,5186.7513,5186.7513,2791949.0192,575625.6593
+688778.SH,20211116,106.45,5.0577,5.0577,0.87,106.886,54.2697,7.4884,3.3518,2.0428,,,25157.2267,5186.7513,5186.7513,2677986.7822,552129.6759
+688778.SH,20211115,108.42,6.3406,6.3406,0.99,108.8641,55.2741,7.627,3.4139,2.0806,,,25157.2267,5186.7513,5186.7513,2727546.5188,562347.5759
+688778.SH,20211112,113.68,6.0171,6.0171,0.88,114.1456,57.9557,7.997,3.5795,2.1816,,,25157.2267,5186.7513,5186.7513,2859873.5313,589629.8878
+688778.SH,20211111,109.12,4.968,4.968,0.72,109.5669,55.6309,7.6762,3.4359,2.0941,,,25157.2267,5186.7513,5186.7513,2745156.5775,565978.3019
+688778.SH,20211110,110.42,5.0906,5.0906,0.74,110.8723,56.2937,7.7677,3.4768,2.119,,,25157.2267,5186.7513,5186.7513,2777860.9722,572721.0785
+688778.SH,20211109,112.59,6.6109,6.6109,1.02,113.0511,57.4,7.9203,3.5452,2.1607,,,25157.2267,5186.7513,5186.7513,2832452.1542,583976.3289
+688778.SH,20211108,113.65,9.2976,9.2976,1.59,114.1155,57.9404,7.9949,3.5785,2.181,,,25157.2267,5186.7513,5186.7513,2859118.8145,589474.2852
+688778.SH,20211105,106.22,8.2365,8.2365,1.51,106.6551,54.1525,7.4722,3.3446,2.0384,,,25157.2267,5186.7513,5186.7513,2672200.6201,550936.7231
+688778.SH,20211104,105.0,5.4986,5.4986,0.86,105.4301,53.5305,7.3864,3.3062,2.015,,,25157.2267,5186.7513,5186.7513,2641508.8035,544608.8865
+688778.SH,20211103,100.79,4.8122,4.8122,0.73,101.2028,51.3842,7.0902,3.1736,1.9342,,,25157.2267,5186.7513,5186.7513,2535596.8791,522772.6635
+688778.SH,20211102,102.96,4.6157,4.6157,0.68,103.3817,52.4905,7.2429,3.2419,1.9759,,,25157.2267,5186.7513,5186.7513,2590188.061,534027.9138
+688778.SH,20211101,104.89,6.0186,6.0186,0.91,105.3196,53.4744,7.3787,3.3027,2.0129,,,25157.2267,5186.7513,5186.7513,2638741.5086,544038.3439
+688778.SH,20211029,102.9,6.3551,6.3551,1.0,103.3215,52.4599,7.2387,3.24,1.9747,,,25157.2267,5186.7513,5186.7513,2588678.6274,533716.7088
+688778.SH,20211028,98.85,10.2657,10.2657,1.79,99.2549,61.2345,7.5277,3.1125,2.1651,,,25157.2267,5186.7513,5186.7513,2486791.8593,512710.366
+688778.SH,20211027,105.0,5.5346,5.5346,0.96,105.4301,65.0443,7.996,3.3062,2.2998,,,25157.2267,5186.7513,5186.7513,2641508.8035,544608.8865
+688778.SH,20211026,109.5,5.831,5.831,1.05,109.9485,67.8319,8.3387,3.4479,2.3984,,,25157.2267,5186.7513,5186.7513,2754716.3237,567949.2674
+688778.SH,20211025,109.09,4.9926,4.9926,0.86,109.5368,67.5779,8.3075,3.435,2.3894,,,25157.2267,5186.7513,5186.7513,2744401.8607,565822.6993
+688778.SH,20211022,106.9,5.2031,5.2031,0.9,107.3378,66.2213,8.1407,3.366,2.3414,,,25157.2267,5186.7513,5186.7513,2689307.5342,554463.714
+688778.SH,20211021,109.16,7.0532,7.0532,1.34,109.6071,67.6213,8.3128,3.4372,2.3909,,,25157.2267,5186.7513,5186.7513,2746162.8666,566185.7719
+688778.SH,20211020,114.58,5.765,5.765,1.13,115.0493,70.9788,8.7256,3.6078,2.5096,,,25157.2267,5186.7513,5186.7513,2882515.0353,594297.964
+688778.SH,20211019,111.46,4.7671,4.7671,0.82,111.9165,69.046,8.488,3.5096,2.4413,,,25157.2267,5186.7513,5186.7513,2804024.488,578115.2999
+688778.SH,20211018,111.08,6.2023,6.2023,1.17,111.535,68.8106,8.4591,3.4976,2.433,,,25157.2267,5186.7513,5186.7513,2794464.7418,576144.3344
+688778.SH,20211015,110.5,5.0389,5.0389,0.95,110.9526,68.4513,8.4149,3.4793,2.4203,,,25157.2267,5186.7513,5186.7513,2779873.5504,573136.0187
+688778.SH,20211014,107.64,4.5901,4.5901,0.78,108.0809,66.6797,8.1971,3.3893,2.3576,,,25157.2267,5186.7513,5186.7513,2707923.882,558301.9099
+688778.SH,20211013,106.88,4.9565,4.9565,0.77,107.3178,66.2089,8.1392,3.3654,2.341,,,25157.2267,5186.7513,5186.7513,2688804.3897,554359.9789
+688778.SH,20211012,103.0,8.1757,8.1757,1.15,103.4219,63.8053,7.8437,3.2432,2.256,,,25157.2267,5186.7513,5186.7513,2591194.3501,534235.3839
+688778.SH,20211011,109.19,3.7715,3.7715,0.47,109.6372,67.6398,8.3151,3.4381,2.3916,,,25157.2267,5186.7513,5186.7513,2746917.5834,566341.3744
+688778.SH,20211008,109.61,5.1427,5.1427,0.61,110.0589,67.9,8.3471,3.4513,2.4008,,,25157.2267,5186.7513,5186.7513,2757483.6186,568519.81
+688778.SH,20210930,112.75,7.4512,7.4512,0.86,113.2118,69.8452,8.5862,3.5502,2.4696,,,25157.2267,5186.7513,5186.7513,2836477.3104,584806.2091
+688778.SH,20210929,106.18,7.8134,7.8134,0.91,106.6149,65.7752,8.0859,3.3433,2.3257,,,25157.2267,5186.7513,5186.7513,2671194.331,550729.253
+688778.SH,20210928,106.85,11.3868,11.3868,1.08,107.2876,66.1903,8.1369,3.3644,2.3403,,,25157.2267,5186.7513,5186.7513,2688049.6729,554204.3764
+688778.SH,20210927,114.74,8.5203,8.5203,0.8,115.21,71.0779,8.7378,3.6129,2.5132,,,25157.2267,5186.7513,5186.7513,2886540.1916,595127.8442
+688778.SH,20210924,118.5,7.1183,7.1183,0.69,118.9854,73.4071,9.0241,3.7312,2.5955,,,25157.2267,5186.7513,5186.7513,2981131.364,614630.0291
+688778.SH,20210923,124.61,8.2458,8.2458,0.82,125.1204,77.1921,9.4894,3.9236,2.7293,,,25157.2267,5186.7513,5186.7513,3134842.0191,646321.0795
+688778.SH,20210922,125.48,7.7498,7.7498,0.8,125.9939,77.731,9.5557,3.951,2.7484,,,25157.2267,5186.7513,5186.7513,3156728.8063,650833.5531
+688778.SH,20210917,129.26,21.1056,21.1056,2.56,129.7894,80.0726,9.8435,4.0701,2.8312,,,25157.2267,5186.7513,5186.7513,3251823.1232,670439.473
+688778.SH,20210916,149.0,8.7981,8.7981,1.16,149.6103,92.3009,11.3468,4.6916,3.2636,,,25157.2267,5186.7513,5186.7513,3748426.7783,772825.9437
+688778.SH,20210915,162.55,5.69,5.69,0.74,163.2158,100.6947,12.3786,5.1183,3.5603,,,25157.2267,5186.7513,5186.7513,4089307.2001,843106.4238
+688778.SH,20210914,161.5,6.9919,6.9919,0.9,162.1615,100.0443,12.2987,5.0852,3.5373,,,25157.2267,5186.7513,5186.7513,4062892.1121,837660.335
+688778.SH,20210913,163.5,5.783,5.783,0.72,164.1697,101.2832,12.451,5.1482,3.5811,,,25157.2267,5186.7513,5186.7513,4113206.5655,848033.8376
+688778.SH,20210910,162.0,13.9119,13.9119,1.89,162.6635,100.354,12.3368,5.1009,3.5483,,,25157.2267,5186.7513,5186.7513,4075470.7254,840253.7106
+688778.SH,20210909,144.06,5.6152,5.6152,0.65,144.65,89.2407,10.9706,4.5361,3.1553,,,25157.2267,5186.7513,5186.7513,3624150.0784,747203.3923
+688778.SH,20210908,146.69,6.0838,6.0838,0.59,147.2908,90.8699,11.1709,4.6189,3.213,,,25157.2267,5186.7513,5186.7513,3690313.5846,760844.5482
+688778.SH,20210907,146.52,7.5015,7.5015,0.7,147.1201,90.7646,11.1579,4.6135,3.2092,,,25157.2267,5186.7513,5186.7513,3686036.8561,759962.8005
+688778.SH,20210906,136.88,6.8763,6.8763,0.59,137.4406,84.7929,10.4238,4.31,2.9981,,,25157.2267,5186.7513,5186.7513,3443521.1907,709962.5179
+688778.SH,20210903,137.5,10.7629,10.7629,0.9,138.0632,85.177,10.471,4.3295,3.0117,,,25157.2267,5186.7513,5186.7513,3459118.6713,713178.3038
+688778.SH,20210902,150.7,12.2545,12.2545,0.99,151.3172,93.354,11.4762,4.7451,3.3008,,,25157.2267,5186.7513,5186.7513,3791194.0637,781643.4209
+688778.SH,20210901,135.35,14.4666,14.4666,1.06,135.9044,83.8452,10.3073,4.2618,2.9646,,,25157.2267,5186.7513,5186.7513,3405030.6338,702026.7885
+688778.SH,20210831,136.0,9.6024,9.6024,0.57,136.557,84.2478,10.3568,4.2823,2.9788,,,25157.2267,5186.7513,5186.7513,3421382.8312,705398.1768
+688778.SH,20210830,133.94,11.0583,11.0583,0.6,134.4886,82.9717,10.1999,4.2174,2.9337,,,25157.2267,5186.7513,5186.7513,3369558.9442,694713.4691
+688778.SH,20210827,141.78,12.5023,12.5023,0.67,142.3607,87.8283,10.7969,4.4643,3.1054,,,25157.2267,5186.7513,5186.7513,3566791.6015,735377.5993
+688778.SH,20210826,137.45,14.1097,14.1097,0.76,138.013,85.146,10.4672,4.3279,3.0106,,,25157.2267,5186.7513,5186.7513,3457860.8099,712918.9662
+688778.SH,20210825,137.06,21.097,21.097,1.24,137.6214,84.9045,10.4375,4.3157,3.002,,,25157.2267,5186.7513,5186.7513,3448049.4915,710896.1332
+688778.SH,20210824,127.4,25.6176,25.6176,1.81,127.9218,78.9204,9.7019,4.0115,2.7904,,,25157.2267,5186.7513,5186.7513,3205030.6816,660792.1156
+688778.SH,20210823,117.88,19.2427,19.2427,1.35,118.3628,73.023,8.9769,3.7117,2.5819,,,25157.2267,5186.7513,5186.7513,2965533.8834,611414.2432
+688778.SH,20210820,109.0,12.5558,12.5558,0.75,109.4464,67.5221,8.3007,3.4321,2.3874,,,25157.2267,5186.7513,5186.7513,2742137.7103,565355.8917
+688778.SH,20210819,111.2,14.6442,14.6442,0.7,111.6555,68.885,8.4682,3.5014,2.4356,,,25157.2267,5186.7513,5186.7513,2797483.609,576766.7446
+688778.SH,20210818,107.1,12.831,12.831,0.54,107.5387,66.3452,8.156,3.3723,2.3458,,,25157.2267,5186.7513,5186.7513,2694338.9796,555501.0642
+688778.SH,20210817,103.7,11.491,11.491,0.43,104.1247,64.239,7.897,3.2652,2.2713,,,25157.2267,5186.7513,5186.7513,2608804.4088,537866.1098
+688778.SH,20210816,108.3,19.8397,19.8397,0.66,108.7436,67.0885,8.2473,3.4101,2.3721,,,25157.2267,5186.7513,5186.7513,2724527.6516,561725.1658
+688778.SH,20210813,119.6,25.1613,25.1613,0.75,120.0899,74.0885,9.1079,3.7659,2.6196,,,25157.2267,5186.7513,5186.7513,3008804.3133,620335.4555
+688778.SH,20210812,120.8,34.7571,34.7571,0.83,121.2948,74.8319,9.1993,3.8037,2.6459,,,25157.2267,5186.7513,5186.7513,3038992.9854,626559.557
+688778.SH,20210811,107.8,27.8124,27.8124,,108.2415,66.7788,8.2093,3.3943,2.3611,,,25157.2267,5186.7513,5186.7513,2711949.0383,559131.7901
+688778.SH,20210810,102.88,25.6234,25.6234,,103.3014,63.731,7.8346,3.2394,2.2534,,,25157.2267,5186.7513,5186.7513,2588175.4829,533612.9737
+688778.SH,20210809,110.35,37.6961,37.6961,,110.802,68.3584,8.4035,3.4746,2.417,,,25157.2267,5186.7513,5186.7513,2776099.9663,572358.006
+688778.SH,20210806,115.0,42.7389,42.7389,,115.471,71.239,8.7576,3.621,2.5188,,,25157.2267,5186.7513,5186.7513,2893081.0705,596476.3995
+688778.SH,20210805,121.66,74.9775,74.9775,,122.1583,75.3646,9.2648,3.8307,2.6647,,,25157.2267,5186.7513,5186.7513,3060628.2003,631020.1632
diff --git a/data/CN/688778.SH/raw_historical_metrics_shareholder_number.csv b/data/CN/688778.SH/raw_historical_metrics_shareholder_number.csv
new file mode 100644
index 0000000..5832461
--- /dev/null
+++ b/data/CN/688778.SH/raw_historical_metrics_shareholder_number.csv
@@ -0,0 +1,19 @@
+ts_code,ann_date,end_date,holder_num
+688778.SH,20250821,20250630,14720
+688778.SH,20250426,20250331,14235
+688778.SH,20250426,20241231,14740
+688778.SH,20241026,20240930,13770
+688778.SH,20240803,20240630,14169
+688778.SH,20240418,20240331,13613
+688778.SH,20240418,20231231,13732
+688778.SH,20231025,20230930,13957
+688778.SH,20230825,20230630,15024
+688778.SH,20230422,20230331,16033
+688778.SH,20230422,20221231,14462
+688778.SH,20221027,20220930,11115
+688778.SH,20220728,20220630,12073
+688778.SH,20220427,20220331,14159
+688778.SH,20220331,20220228,15105
+688778.SH,20220331,20211231,15688
+688778.SH,20211029,20210930,15837
+688778.SH,20210804,20210805,51601
diff --git a/data/CN/688778.SH/raw_income_statement.csv b/data/CN/688778.SH/raw_income_statement.csv
new file mode 100644
index 0000000..f9530f3
--- /dev/null
+++ b/data/CN/688778.SH/raw_income_statement.csv
@@ -0,0 +1,44 @@
+ts_code,ann_date,f_ann_date,end_date,report_type,comp_type,end_type,basic_eps,diluted_eps,total_revenue,revenue,int_income,prem_earned,comm_income,n_commis_income,n_oth_income,n_oth_b_income,prem_income,out_prem,une_prem_reser,reins_income,n_sec_tb_income,n_sec_uw_income,n_asset_mg_income,oth_b_income,fv_value_chg_gain,invest_income,ass_invest_income,forex_gain,total_cogs,oper_cost,int_exp,comm_exp,biz_tax_surchg,sell_exp,admin_exp,fin_exp,assets_impair_loss,prem_refund,compens_payout,reser_insur_liab,div_payt,reins_exp,oper_exp,compens_payout_refu,insur_reser_refu,reins_cost_refund,other_bus_cost,operate_profit,non_oper_income,non_oper_exp,nca_disploss,total_profit,income_tax,n_income,n_income_attr_p,minority_gain,oth_compr_income,t_compr_income,compr_inc_attr_p,compr_inc_attr_m_s,ebit,ebitda,insurance_exp,undist_profit,distable_profit,rd_exp,fin_exp_int_exp,fin_exp_int_inc,transfer_surplus_rese,transfer_housing_imprest,transfer_oth,adj_lossgain,withdra_legal_surplus,withdra_legal_pubfund,withdra_biz_devfund,withdra_rese_fund,withdra_oth_ersu,workers_welfare,distr_profit_shrhder,prfshare_payable_dvd,comshare_payable_dvd,capit_comstock_div,continued_net_profit,update_flag
+688778.SH,20251025,20251025,20250930,1,1,3,1.1,1.1,13059219222.37,13059219222.37,,,,,,,,,,,,,,,4521696.64,-29919515.1,-3140850.45,,12443937874.6,11753569900.62,,,59882045.95,32215296.78,154605972.9,5831187.58,1215491.3,,,,,,,,,,,616846615.68,985356.14,5519043.5,,612312928.32,56903666.57,555409261.75,552209641.93,3199619.82,43864537.17,599273798.92,586653445.71,12620353.21,646846254.43,,,,,390248834.07,12494954.91,14377717.66,,,,,,,,,,,,,,,555409261.75,1
+688778.SH,20250821,20250821,20250630,1,1,2,0.61,0.61,7533703523.34,7533703523.34,,,,,,,,,,,,,,,4053631.27,-17917613.43,-3346171.4,,7196593679.48,6780836288.83,,,29651297.4,19200405.52,97500118.71,847932.23,-8969614.42,,,,,,,,,,,340857178.66,431249.75,2227565.36,,339060863.05,33176242.96,305884620.09,306894646.16,-1010026.07,45049252.67,350933872.76,341921267.25,9012605.51,355569093.05,570509120.81,,,,243443638.33,9421000.05,9130042.27,,,,,,,,,,,,,,,305884620.09,1
+688778.SH,20250426,20250426,20250331,1,1,1,0.28,0.28,2976556152.31,2976556152.31,,,,,,,,,,,,,,,1837712.01,-10525414.68,-1349679.39,,2852536451.49,2691238415.53,,,8196032.92,8128842.91,41470295.68,1788914.6,-31441154.52,,,,,,,,,,,125191607.56,241280.02,1718058.13,,123714829.45,9120051.36,114594778.09,116678997.2,-2084219.11,15052857.49,129647635.58,128432300.7,1215334.88,167109379.35,,,,,98564879.76,5818391.23,4505644.53,,,,,,,,,,,,,,,114594778.09,1
+688778.SH,20250426,20250426,20250331,1,1,1,0.28,0.28,2976556152.31,2976556152.31,,,,,,,,,,,,,,,1837712.01,-10525414.68,-1349679.39,,2852536451.49,2691238415.53,,,8196032.92,8128842.91,41470295.68,1788914.6,-31441154.52,,,,,,,,,,,125191607.56,241280.02,1718058.13,,123714829.45,9120051.36,114594778.09,116678997.2,-2084219.11,15052857.49,129647635.58,128432300.7,1215334.88,,,,,,98564879.76,5818391.23,4505644.53,,,,,,,,,,,,,,,114594778.09,0
+688778.SH,20250426,20250426,20241231,1,1,4,1.18,1.18,13296790264.71,13296790264.71,,,,,,,,,,,,,,,7518003.31,-18178379.54,957802.35,,12840071241.11,11999431892.69,,,31179013.8,41624947.13,188447421.39,26835407.2,-194158465.59,,,,,,,,,,,513233262.76,749203.69,6115103.56,,507867362.89,19546244.75,488321118.14,494073837.67,-5752719.53,-16050545.32,472270572.82,479537522.33,-7266949.51,550729046.19,944038145.5,,,,418721301.81,45037590.5,24588099.68,,,,,,,,,,,,,,,488321118.14,0
+688778.SH,20241026,20241026,20240930,1,1,3,0.87,0.87,9882356287.35,9882356287.35,,,,,,,,,,,,,,,5402083.34,-13599406.03,2811195.6,,9509943428.77,8927906003.07,,,22284593.05,28786387.86,139425671.46,24918733.87,-88239523.75,,,,,,,,,,,387322057.35,462932.58,1694976.48,,386090013.45,21857960.71,364232052.74,367491385.43,-3259332.69,1177973.22,365410025.96,369147757.84,-3737731.88,508677637.66,,,,,312017035.2,37060275.25,19159713.82,,,,,,,,,,,,,,,364232052.74,1
+688778.SH,20240803,20240803,20240630,1,1,2,0.57,0.57,6300137327.3,6300137327.3,,,,,,,,,,,,,,,3540044.35,-4413115.89,3426233.74,,6069644151.03,5700840306.84,,,15512878.49,17632543.37,88227435.27,20252240.0,-60538331.13,,,,,,,,,,,246442124.91,361657.32,417235.01,,246386547.22,7950519.64,238436027.58,239090203.7,-654176.12,-2234271.12,236201756.46,236875242.73,-673486.27,267567436.45,463585717.3,,,,207480857.71,30871874.19,12819576.84,,,,,,,,,,,,,,,238436027.58,1
+688778.SH,20240418,20240418,20240331,1,1,1,0.26,0.26,3298786656.17,3298786656.17,,,,,,,,,,,,,,,1709974.24,4870126.19,3544562.46,,3198041938.57,3048187873.72,,,7782995.02,7550555.76,39681438.87,17761661.05,-21314991.97,,,,,,,,,,,114167501.78,137207.99,301370.45,,114003339.32,3419047.02,110584292.3,111288715.41,-704423.11,-4257903.91,106326388.39,107060843.86,-734455.47,146664054.37,,,,,87222232.61,23028065.1,5634227.66,,,,,,,,,,,,,,,110584292.3,1
+688778.SH,20240418,20240418,20231231,1,1,4,1.25,1.25,17310873278.22,17310873278.22,,,,,,,,,,,,,,,4163210.94,7107457.5,2206828.55,,16845200569.28,15927192080.98,,,38942909.63,32893039.02,192374622.46,87143460.63,-178565661.45,,,,,,,,,,,560381772.08,4476840.99,6275201.24,,558583411.83,29091634.68,529491777.15,527454540.65,2037236.5,3933852.36,533425629.51,531253975.01,2171654.5,636254564.27,1004822510.41,,,,464606608.1,124085924.0,22036950.98,,,,,,,,,,,,,,,529491777.15,1
+688778.SH,20231025,20231025,20230930,1,1,3,0.98,0.98,13122438075.54,13122438075.54,,,,,,,,,,,,,,,,10648968.74,4733402.69,,12731085161.03,12076406317.17,,,31272142.15,23316503.46,147379271.87,69749655.81,-133917162.14,,,,,,,,,,,450715332.87,766569.98,3194955.02,,448286947.83,35041452.11,413245495.72,412394970.29,850525.43,-59933.3,413185562.42,412370442.34,815120.08,643733182.08,,,,,323985176.47,102585163.92,17120687.96,,,,,,,,,,,,,,,413245495.72,1
+688778.SH,20230825,20230825,20230630,1,1,2,0.61,0.61,8121442070.41,8121442070.41,,,,,,,,,,,,,,,,9631902.28,5531379.34,,7885658838.0,7500105744.27,,,14938864.83,13714727.11,95553232.09,47458583.57,-95487727.3,,,,,,,,,,,275689224.48,428519.76,2179719.63,,273938024.61,18671952.99,255266071.62,254665548.07,600523.55,368473.14,255634544.76,255111995.11,522549.65,313515905.77,496001034.51,,,,221948507.06,74105037.35,10993321.04,,,,,,,,,,,,,,,255266071.62,1
+688778.SH,20230422,20230422,20230331,1,1,1,0.38,0.38,3586248672.17,3586248672.17,,,,,,,,,,,,,,,,7871431.72,5905351.65,,3492423800.01,3322413069.52,,,6138355.21,5773097.82,44537519.0,48161420.23,-54803245.67,,,,,,,,,,,120903547.35,209354.24,715224.35,,120397677.24,4577567.7,115820109.54,115573100.93,247008.61,-3689888.22,112130221.32,112530409.0,-400187.68,215996781.53,,,,,111418932.76,44600635.11,4520314.34,,,,,,,,,,,,,,,115820109.54,1
+688778.SH,20230422,20230422,20221231,1,1,4,4.18,4.18,28751311102.65,28751311102.65,,,,,,,,,,,,,,,,5499341.74,264507.77,,27637697815.06,26277854884.2,,,37137235.62,26323805.64,154979228.63,131922386.44,-149808467.88,,,,,,,,,,,1239753004.76,6242750.3,5281526.07,,1240714228.99,110833713.4,1129880515.59,1120551568.79,9328946.8,-4772037.56,1125108478.03,1115817324.0,9291154.03,1366171513.96,1671936156.9,,,,757310248.22,141835209.11,15185289.59,,,,,,,,,,,,,,,1129880515.59,1
+688778.SH,20230422,20230422,20221231,1,1,4,4.18,4.18,28751311102.65,28751311102.65,,,,,,,,,,,,,,,,5499341.74,264507.77,,27637697815.06,26277854884.2,,,37137235.62,26323805.64,154979228.63,131922386.44,-149808467.88,,,,,,,,,,,1239753004.76,6242750.3,5281526.07,,1240714228.99,110833713.4,1129880515.59,1120551568.79,9328946.8,-4772037.56,1125108478.03,1115817324.0,9291154.03,1366171513.96,1671936156.9,,,,757310248.22,141835209.11,15185289.59,,,,,,,,,,,,,,,1129880515.59,0
+688778.SH,20221027,20221027,20220930,1,1,3,3.34,3.34,22029709889.61,22029709889.61,,,,,,,,,,,,,,,,5186965.41,3251813.2,,21173438909.88,20107565483.27,,,28740529.62,18044139.6,131223782.74,101694254.07,-103309693.13,,,,,,,,,,,956477630.69,5936254.04,2288435.68,,960125449.05,94226888.45,865898560.6,858959975.06,6938585.54,-5572391.73,860326168.87,853406786.53,6919382.34,1156294612.48,,,,,571350640.05,101661763.76,8890796.42,,,,,,,,,,,,,,,865898560.6,1
+688778.SH,20220728,20220728,20220630,1,1,2,2.12,2.12,14302469281.01,14302469281.01,,,,,,,,,,,,,,,,1935152.21,,,13802190481.97,13050176610.4,,,18578960.7,12425928.08,84378213.8,64429670.32,-81999385.13,,,,,,,,,,,587374771.8,5226089.77,1846187.33,,590754674.24,53691402.82,537063271.42,532408438.56,4654832.86,-3756561.75,533306709.67,528536736.19,4769973.48,649869289.91,792055346.59,,,,407354639.78,62117252.75,3857630.11,,,,,,,,,,,,,,,537063271.42,1
+688778.SH,20220427,20220427,20220331,1,1,1,0.82,0.82,5909071678.49,5909071678.49,,,,,,,,,,,,,,,,1580152.21,,,5750859436.15,5403156385.18,,,10051753.73,6571456.67,37247717.2,41511683.14,-36048489.89,,,,,,,,,,,229558174.47,239630.61,310405.18,,229487399.9,20773664.33,208713735.57,206898625.84,1815109.73,-3587549.04,205126186.53,203195936.18,1930250.35,,,,,,190926100.49,33868695.73,1460870.05,,,,,,,,,,,,,,,208713735.57,0
+688778.SH,20220427,20220427,20220331,1,1,1,0.82,0.82,5909071678.49,5909071678.49,,,,,,,,,,,,,,,,1580152.21,,,5750859436.15,5403156385.18,,,10051753.73,6571456.67,37247717.2,41511683.14,-36048489.89,,,,,,,,,,,229558174.47,239630.61,310405.18,,229487399.9,20773664.33,208713735.57,206898625.84,1815109.73,-3587549.04,205126186.53,203195936.18,1930250.35,305538195.29,,,,,190926100.49,33868695.73,1460870.05,,,,,,,,,,,,,,,208713735.57,1
+688778.SH,20220331,20220331,20211231,1,1,4,2.65,2.65,15565760243.3,15565760243.3,,,,,,,,,,,,,,,,11210471.23,,,15006701336.84,14079277712.97,,,22554439.1,29086596.76,130506869.16,127942914.23,-74960397.3,,,,,,,,,,,617522672.64,1514878.73,6139580.26,,612897971.11,44760479.95,568137491.16,555349247.43,12788243.73,1523027.64,569660518.8,556849390.21,12811128.59,734255115.64,975052801.75,,,,451858021.23,118562305.87,4276772.64,,,,,,,,,,,,,,,568137491.16,1
+688778.SH,20220331,20220331,20211231,1,1,4,2.65,2.65,15565760243.3,15565760243.3,,,,,,,,,,,,,,,,11210471.23,,,15006701336.84,14079277712.97,,,22554439.1,29086596.76,130506869.16,127942914.23,-74960397.3,,,,,,,,,,,617522672.64,1514878.73,6139580.26,,612897971.11,44760479.95,568137491.16,555349247.43,12788243.73,1523027.64,569660518.8,556849390.21,12811128.59,734255115.64,975052801.75,,,,451858021.23,118562305.87,4276772.64,,,,,,,,,,,,,,,568137491.16,0
+688778.SH,20211029,20211029,20210930,1,1,3,2.04,2.04,10312502889.64,10312502889.64,,,,,,,,,,,,,,,,10184173.5,,,9896621546.25,9327357015.05,,,15143706.3,20985936.4,81410662.51,104734314.87,-31167876.97,,,,,,,,,,,448080105.54,1231277.72,4389750.7,,444921632.56,35239869.2,409681763.36,398994123.22,10687640.14,-1488618.53,408193144.83,397544323.97,10648820.86,573798123.88,,,,,282032486.4,93624540.21,1623216.97,,,,,,,,,,,,,,,409681763.36,1
+688778.SH,20211029,20211029,20210930,1,1,3,2.04,2.04,10312502889.64,10312502889.64,,,,,,,,,,,,,,,,10184173.5,,,9896621546.25,9327357015.05,,,15143706.3,20985936.4,81410662.51,104734314.87,-31167876.97,,,,,,,,,,,448080105.54,1231277.72,4389750.7,,444921632.56,35239869.2,409681763.36,398994123.22,10687640.14,-1488618.53,408193144.83,397544323.97,10648820.86,,,,,,282032486.4,93624540.21,1623216.97,,,,,,,,,,,,,,,409681763.36,0
+688778.SH,20210804,20210804,20210630,1,1,2,1.33,,6568279577.46,6568279577.46,,,,,,,,,,,,,,,,10184173.5,,,6312127107.7,5962589610.23,,,9072241.32,12350347.06,48610080.12,73383429.82,-12524122.4,,,,,,,,,,,281848483.28,397976.25,1905037.56,,280341421.97,22309576.77,258031845.2,250910527.11,7121318.09,474515.75,258506360.95,251481601.22,7024759.73,357571862.0,357571862.0,,,,163670425.6,64247116.51,300749.07,,,,,,,,,,,,,,,258031845.2,1
+688778.SH,20210719,20210719,20210331,1,1,1,0.59,,2906106622.87,2906106622.87,,,,,,,,,,,,,,,,,,,2783258567.59,2625484047.75,,,4371880.3,4945109.56,21706766.76,39286923.12,-3500772.42,,,,,,,,,,,130514297.2,234244.86,1769384.24,,128979157.82,14567631.73,114411526.09,111794785.01,2616741.08,-3822200.06,110589326.03,108332655.78,2256670.25,173301992.74,,,,,76930738.55,33365086.87,156655.54,,,,,,,,,,,,,,,114411526.09,1
+688778.SH,20210719,20210719,20201231,1,1,4,1.36,1.36,7989637657.15,7989637657.15,,,,,,,,,,,,,,,,1103388.89,1103388.89,,7739340040.17,7152011262.31,,,13642510.77,26681430.66,89978009.11,118211933.36,-47360230.97,,,,,,,,,,,277838341.51,2787877.09,17935821.34,,262690397.26,11053060.06,251637337.2,250546071.8,1091265.4,1015119.22,252652456.42,251322956.32,1329500.1,395424580.18,591984882.18,,,,261183953.93,105930283.21,877589.17,,,,,,,,,,,,,,,251637337.2,0
+688778.SH,20210719,20210719,20201231,1,1,4,1.36,1.36,7989637657.15,7989637657.15,,,,,,,,,,,,,,,,1103388.89,1103388.89,,7739340040.17,7152011262.31,,,13642510.77,26681430.66,89978009.11,118211933.36,-47360230.97,,,,,,,,,,,277838341.51,2787877.09,17935821.34,,262690397.26,11053060.06,251637337.2,250546071.8,1091265.4,1015119.22,252652456.42,251322956.32,1329500.1,395424580.18,591984882.18,,,,261183953.93,105930283.21,877589.17,,,,,,,,,,,,,,,251637337.2,1
+688778.SH,20211029,20211029,20200930,1,1,3,0.86,0.86,5192989697.18,5192989697.18,,,,,,,,,,,,,,,,1103388.89,1103388.89,,5039601306.43,4635943996.2,,,7868277.54,33134028.93,60291289.56,78396945.07,-37794325.61,,,,,,,,,,,174898379.91,2534951.91,12748527.53,,164684804.29,11222977.6,153461826.69,156081587.4,-2619760.71,2386333.6,155848160.29,158179649.95,-2331489.66,214221439.2,,,,,161593490.02,76355258.83,578910.89,,,,,,,,,,,,,,,153461826.69,1
+688778.SH,20211029,20211029,20200930,1,1,3,0.86,0.86,5192989697.18,5192989697.18,,,,,,,,,,,,,,,,1103388.89,1103388.89,,5039601306.43,4635943996.2,,,7868277.54,33134028.93,60291289.56,78396945.07,-37794325.61,,,,,,,,,,,174898379.91,2534951.91,12748527.53,,164684804.29,11222977.6,153461826.69,156081587.4,-2619760.71,2386333.6,155848160.29,158179649.95,-2331489.66,214221439.2,,,,,161593490.02,76355258.83,578910.89,,,,,,,,,,,,,,,153461826.69,0
+688778.SH,20200804,20200804,20200630,1,1,2,0.53,0.53,3072183824.06,3072183824.06,,,,,,,,,,,,,,,,1103388.89,1103388.89,,2980363045.66,2745827826.3,,,4887532.2,19453973.96,39900660.81,47993542.89,-27930393.28,,,,,,,,,,,103990246.84,2178279.91,12665587.48,,93502939.27,1252515.64,92250423.63,95347209.52,-3096785.89,1289740.97,93540164.6,96313429.53,-2773264.93,178822319.56,270561010.61,,,,100396458.49,49247139.31,473870.81,,,,,,,,,,,,,,,92250423.63,0
+688778.SH,20200804,20200804,20200630,1,1,2,0.53,0.53,3072183824.06,3072183824.06,,,,,,,,,,,,,,,,1103388.89,1103388.89,,2980363045.66,2745827826.3,,,4887532.2,19453973.96,39900660.81,47993542.89,-27930393.28,,,,,,,,,,,103990246.84,2178279.91,12665587.48,,93502939.27,1252515.64,92250423.63,95347209.52,-3096785.89,1289740.97,93540164.6,96313429.53,-2773264.93,178822319.56,270561010.61,,,,100396458.49,49247139.31,473870.81,,,,,,,,,,,,,,,92250423.63,1
+688778.SH,20210719,20210719,20200331,1,1,1,0.22,,1449523648.26,1449523648.26,,,,,,,,,,,,,,,,-105152.64,-105152.64,,1412815859.58,1304497378.77,,,2226295.88,5324302.0,17619252.13,25699975.15,-14706127.52,,,,,,,,,,,41519783.29,255090.0,8057289.24,,33717584.05,-864482.76,34582066.81,36891273.24,-2309206.43,1824526.41,36406593.22,38339539.48,-1932946.26,,,,,,36016362.11,25589544.75,361239.87,,,,,,,,,,,,,,,34582066.81,1
+688778.SH,20210719,20210719,20191231,1,1,4,1.07,1.07,6977723911.27,6977723911.27,,,,,,,,,,,,,,,,-328364.56,-328364.56,,6949478021.0,6415517218.05,,,11278121.99,40139061.23,78228468.49,113738891.83,-56817227.81,,,,,,,,,,,109347502.44,3897973.11,311291.34,,112934184.21,-29796593.74,142730777.95,150080974.56,-7350196.61,-3080485.67,139650292.28,147376749.06,-7726456.78,224362412.81,345560077.16,,,,245426487.56,111688425.83,209613.46,,,,,,,,,,,,,,,142730777.95,1
+688778.SH,20210719,20210719,20191231,1,1,4,1.07,1.07,6977723911.27,6977723911.27,,,,,,,,,,,,,,,,-328364.56,-328364.56,,6949478021.0,6415517218.05,,,11278121.99,40139061.23,78228468.49,113738891.83,-56817227.81,,,,,,,,,,,109347502.44,3897973.11,311291.34,,112934184.21,-29796593.74,142730777.95,150080974.56,-7350196.61,-3080485.67,139650292.28,147376749.06,-7726456.78,224362412.81,345560077.16,,,,245426487.56,111688425.83,209613.46,,,,,,,,,,,,,,,142730777.95,0
+688778.SH,20190823,20190823,20190630,1,1,2,,,3295176800.0,3295176800.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3295176800.0,3295176800.0,,,,,,,,,,,,,,,,,,,,,,1
+688778.SH,20190823,20190823,20190630,1,1,2,,,3295176800.0,3295176800.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3295176800.0,3295176800.0,,,,,,,,,,,,,,,,,,,,,,0
+688778.SH,20210719,20210719,20181231,1,1,4,0.8,0.8,7026350478.8,7026350478.8,,,,,,,,,,,,,,,,,,,6949299320.52,6317152631.06,,,9637821.28,25969674.13,64515505.18,113097542.1,86581336.59,,,,,,,,,,,84593052.85,2345948.29,2881102.44,,84057898.7,2318724.21,81739174.49,80106100.11,1633074.38,,81739174.49,80106100.11,1633074.38,197869679.11,260634641.88,,,,332344810.18,118242552.26,295348.44,,,,,,,,,,,,,,,81739174.49,1
+688778.SH,20190312,20190312,20180630,1,1,2,,,3267087500.0,3267087500.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,67280800.0,,,,,,3267087500.0,3267087500.0,,,,,,,,,,,,,,,,,,,,,,0
+688778.SH,20190312,20190312,20180630,1,1,2,,,3267087500.0,3267087500.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,67280800.0,,,,,,3267087500.0,3267087500.0,,,,,,,,,,,,,,,,,,,,,,1
+688778.SH,20200804,20200804,20171231,1,1,4,1.66,1.66,4211441780.41,4211441780.41,,,,,,,,,,,,,,,,,,,3980692154.25,3676771458.96,,,5701299.91,21269980.48,46501604.8,42322531.89,15532866.58,,,,,,,,,,,250579370.75,630155.16,12861664.98,,238347860.93,64875157.45,173472703.48,166057247.41,7415456.07,,173472703.48,166057247.41,7415456.07,308438434.86,355905299.9,,,,172592411.63,36818044.49,1595553.95,,,,,,,,,,,,,,,173472703.48,1
+688778.SH,20170810,20170810,20170630,1,1,2,,,1676006100.0,1676006100.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,115435300.0,,,,,,1676006100.0,1676006100.0,,,,,,,,,,,,,,,,,,,,,,0
+688778.SH,20170810,20170810,20170630,1,1,2,,,1676006100.0,1676006100.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,115435300.0,,,,,,1676006100.0,1676006100.0,,,,,,,,,,,,,,,,,,,,,,1
+688778.SH,20170427,20170427,20161231,1,1,4,,,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0.0,,,,,,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,1
+688778.SH,20170427,20170427,20161231,1,1,4,,,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0.0,,,,,,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,0
diff --git a/data/CN/688778.SH/raw_market_metrics_daily_basic.csv b/data/CN/688778.SH/raw_market_metrics_daily_basic.csv
new file mode 100644
index 0000000..2f2190c
--- /dev/null
+++ b/data/CN/688778.SH/raw_market_metrics_daily_basic.csv
@@ -0,0 +1,2 @@
+ts_code,trade_date,close,turnover_rate,turnover_rate_f,volume_ratio,pe,pe_ttm,pb,ps,ps_ttm,dv_ratio,dv_ttm,total_share,float_share,free_share,total_mv,circ_mv
+688778.SH,20251231,77.37,1.3395,3.8637,1.24,79.0326,57.5256,4.3344,2.9366,2.3703,,,50469.1083,50469.1083,17496.7565,3904794.9092,3904794.9092
diff --git a/data/CN/688778.SH/raw_market_metrics_shareholder_number.csv b/data/CN/688778.SH/raw_market_metrics_shareholder_number.csv
new file mode 100644
index 0000000..8f1c69f
--- /dev/null
+++ b/data/CN/688778.SH/raw_market_metrics_shareholder_number.csv
@@ -0,0 +1,2 @@
+ts_code,ann_date,end_date,holder_num
+688778.SH,20251025,20250930,24627
diff --git a/data/CN/688778.SH/raw_market_metrics_stock_basic.csv b/data/CN/688778.SH/raw_market_metrics_stock_basic.csv
new file mode 100644
index 0000000..9396227
--- /dev/null
+++ b/data/CN/688778.SH/raw_market_metrics_stock_basic.csv
@@ -0,0 +1,2 @@
+name,list_date
+厦钨新能,20210805
diff --git a/data/CN/688778.SH/raw_repurchases.csv b/data/CN/688778.SH/raw_repurchases.csv
new file mode 100644
index 0000000..dd4c8d1
--- /dev/null
+++ b/data/CN/688778.SH/raw_repurchases.csv
@@ -0,0 +1,9 @@
+ts_code,ann_date,end_date,proc,exp_date,vol,amount,high_limit,low_limit
+688778.SH,20250227,20250227,完成,,1170589.0,40678183.98,42.46,31.26
+688778.SH,20250206,20250131,实施,,1170589.0,40678183.98,42.46,31.26
+688778.SH,20240801,20240731,实施,,1049834.0,35683821.52,35.81,31.26
+688778.SH,20240615,,预案,,,50000000.0,50.3,
+688778.SH,20240402,20240331,实施,,890978.0,30684586.97,35.81,33.22
+688778.SH,20240302,20240301,实施,,129640.0,4585614.53,35.81,35.01
+688778.SH,20240228,,预案,,,50000000.0,51.0,
+688778.SH,20231221,,提议,,,50000000.0,,
diff --git a/data/CN/688778.SH/report.html b/data/CN/688778.SH/report.html
new file mode 100644
index 0000000..fbf5d91
--- /dev/null
+++ b/data/CN/688778.SH/report.html
@@ -0,0 +1,445 @@
+
+
+
+
+
+
688778.SH Financial Report
+
+
+
+
+
厦钨新能 (688778.SH) - Financial Report
+
Report generated on: 2026-01-03
+
+
+
+
+ | 代码 |
+ 简称 |
+ 上市日期 |
+ PE |
+ PB |
+ 股息率(%) |
+
+
+
+
+ | 688778.SH |
+ 厦钨新能 |
+ 2021-08-05 |
+ 79.03 |
+ 4.33 |
+ 0.00% |
+
+
+
+
+
+
+
+
+
+ | 指标 |
+ 2025Q3 | 2024A | 2023A | 2022A | 2021A | 2020A | 2019A | 2018A | 2017A | 2016A |
+
+
+
+ | 主要指标 | |
+| ROE | 6.13% | 5.65% | 6.15% | 13.67% | 14.87% | 14.33% | 9.93% | 10.73% | 24.90% | 0.00% |
+| ROA | 3.17% | 3.35% | 3.91% | 7.29% | 5.28% | 4.03% | 2.81% | 1.44% | 4.40% | 0.00% |
+| ROCE/ROIC | 6.71% | 5.83% | 6.83% | 13.99% | 13.65% | 9.48% | 6.43% | 9.16% | 29.07% | 0.00% |
+| 毛利率 | 10.00% | 9.76% | 7.99% | 8.60% | 9.55% | 10.48% | 8.06% | 10.09% | 12.70% | - |
+| 净利润率 | 4.23% | 3.72% | 3.05% | 3.90% | 3.57% | 3.14% | 2.15% | 1.14% | 3.94% | - |
+| 收入(亿) | 130.59 | 132.97 | 173.11 | 287.51 | 155.66 | 79.90 | 69.78 | 70.26 | 42.11 | 0.00 |
+| 收入增速 | 32.15% | -23.19% | -39.79% | 84.71% | 94.82% | 14.50% | -0.69% | 66.84% | - | - |
+| 净利润(亿) | 5.52 | 4.94 | 5.27 | 11.21 | 5.55 | 2.51 | 1.50 | 0.80 | 1.66 | 0.00 |
+| 净利润增速 | 50.26% | -6.33% | -52.93% | 101.77% | 121.66% | 66.94% | 87.35% | -51.76% | - | - |
+| 经营净现金流(亿) | 8.97 | 17.53 | 25.80 | -15.61 | 4.32 | 3.97 | 1.72 | 1.11 | -5.94 | - |
+| 资本开支(亿) | 4.89 | 9.66 | 11.45 | 6.51 | 5.56 | 3.33 | 5.86 | 6.13 | 3.79 | - |
+| 自由现金流(亿) | 4.08 | 7.87 | 14.35 | -22.12 | -1.24 | 0.64 | -4.14 | -5.01 | -9.73 | - |
+| 分红(亿) | - | 2.02 | 2.95 | 2.10 | 1.26 | - | - | - | - | - |
+| 回购(亿) | - | 1.71 | 0.50 | - | - | - | - | - | - | - |
+| 总资产(亿) | 174.13 | 147.47 | 134.81 | 153.80 | 105.16 | 62.22 | 53.48 | 55.49 | 37.74 | 1.00 |
+| 净资产(亿) | 90.09 | 87.37 | 85.82 | 82.00 | 37.36 | 17.48 | 15.12 | 7.47 | 6.67 | 1.00 |
+| 商誉(亿) | - | - | - | - | - | - | - | - | - | - |
+| 费用指标 | |
+| 销售费用率 | 0.25% | 0.31% | 0.19% | 0.09% | 0.19% | 0.33% | 0.58% | 0.37% | 0.51% | - |
+| 管理费用率 | 1.18% | 1.42% | 1.11% | 0.54% | 0.84% | 1.13% | 1.12% | 0.92% | 1.10% | - |
+| SG&A比例 | 1.43% | 1.73% | 1.30% | 0.63% | 1.03% | 1.46% | 1.70% | 1.29% | 1.61% | - |
+| 研发费用率 | 2.99% | 3.15% | 2.68% | 2.63% | 2.90% | 3.27% | 3.52% | 4.73% | 4.10% | - |
+| 其他费用率 | 1.35% | 1.16% | 0.96% | 1.44% | 2.05% | 2.62% | 0.69% | 2.94% | 3.05% | - |
+| 折旧费用占比 | - | 2.77% | 2.02% | 1.03% | 1.50% | 2.39% | 1.66% | 0.85% | 1.09% | - |
+| 所得税率 | 9.29% | 3.85% | 5.21% | 8.93% | 7.30% | 4.21% | -26.38% | 2.76% | 27.22% | - |
+| 资产占比 | |
+| 现金占比 | 8.88% | 11.09% | 8.90% | 6.61% | 4.04% | 4.47% | 0.96% | 2.96% | 2.90% | - |
+| 库存占比 | 26.24% | 16.79% | 14.57% | 21.79% | 26.58% | 19.51% | 16.08% | 28.66% | 32.68% | - |
+| 应收款占比 | 18.81% | 15.92% | 25.95% | 32.22% | 28.09% | 19.84% | 12.33% | 15.88% | 13.23% | - |
+| 预付款占比 | 0.75% | 0.08% | 0.07% | 0.11% | 0.16% | 1.25% | 0.39% | 6.20% | 3.26% | - |
+| 固定资产占比 | - | 23.88% | 25.96% | 23.65% | 26.59% | 38.24% | 37.34% | 19.47% | 15.24% | - |
+| 长期投资占比 | 2.39% | 2.83% | 2.95% | 0.65% | - | 0.07% | 0.07% | - | - | - |
+| 商誉占比 | - | - | - | - | - | - | - | - | - | - |
+| 其他资产占比 | 42.94% | 29.42% | 21.60% | 14.97% | 14.54% | 16.62% | 32.82% | 26.83% | 32.70% | 100.00% |
+| 应付款占比 | 17.61% | 14.64% | 16.87% | 13.63% | 33.13% | 19.56% | 16.47% | 12.18% | 15.49% | - |
+| 预收款占比 | 0.88% | 0.02% | 0.03% | 0.04% | 0.10% | 0.03% | 0.05% | 0.14% | 0.36% | 0.00% |
+| 短期借款占比 | 1.06% | 1.60% | 0.25% | 4.53% | 2.48% | 20.67% | 33.82% | 23.62% | 10.33% | 0.00% |
+| 长期借款占比 | 2.57% | 3.16% | 5.23% | 5.66% | 13.15% | 18.25% | 3.12% | 1.87% | 0.11% | 0.00% |
+| 运营资产占比 | 27.30% | 18.13% | 23.69% | 40.46% | 21.59% | 21.02% | 12.29% | 38.41% | 33.31% | 0.00% |
+| 有息负债率 | 3.63% | 4.76% | 5.47% | 10.19% | 15.64% | 38.92% | 36.94% | 25.49% | 10.44% | 0.00% |
+| 周转能力 | |
+| 存货周转天数 | 141 | 75 | 45 | 46 | 72 | 61 | 48 | 91 | 122 | - |
+| 应收款周转天数 | 91 | 64 | 73 | 62 | 69 | 56 | 34 | 45 | 43 | - |
+| 应付款周转天数 | 95 | 65 | 52 | 29 | 90 | 62 | 50 | 39 | 58 | - |
+| 固定资产周转率 | - | 3.78 | 4.95 | 7.91 | 5.57 | 3.36 | 3.49 | 6.50 | 7.32 | - |
+| 总资产周转率 | 0.75 | 0.90 | 1.28 | 1.87 | 1.48 | 1.28 | 1.30 | 1.27 | 1.12 | 0.00 |
+| 人均效率 | |
+| 员工人数 | - | 3,344 | - | - | - | - | - | - | - | - |
+| 人均创收(万) | - | 397.63 | - | - | - | - | - | - | - | - |
+| 人均创利(万) | - | 14.77 | - | - | - | - | - | - | - | - |
+| 人均薪酬(万) | - | 15.29 | - | - | - | - | - | - | - | - |
+| 市场表现 | |
+| 股价 | 77.37 | 45.64 | 39.64 | 77.68 | 103.35 | - | - | - | - | - |
+| 市值(亿) | 390.48 | 192.04 | 166.79 | 233.47 | 260.00 | - | - | - | - | - |
+| PE | 79.03 | 36.41 | 14.88 | 42.04 | 103.77 | - | - | - | - | - |
+| PB | 4.33 | 2.23 | 1.97 | 2.93 | 7.27 | - | - | - | - | - |
+| 股东户数 | 24,627 | 14,740 | 13,732 | 14,462 | 15,688 | - | - | - | - | - |
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/CN/688778.SH/report.md b/data/CN/688778.SH/report.md
new file mode 100644
index 0000000..bc0e018
--- /dev/null
+++ b/data/CN/688778.SH/report.md
@@ -0,0 +1,89 @@
+# 厦钨新能 (688778.SH) - Financial Report
+*Report generated on: 2026-01-03*
+
+| 代码 | 简称 | 上市日期 | PE | PB | 股息率(%) |
+|:---|:---|:---|:---|:---|:---|
+| 688778.SH | 厦钨新能 | 2021-08-05 | 79.03 | 4.33 | 0.00% |
+
+
+## 主要指标
+| 指标 | 2025Q3 | 2024A | 2023A | 2022A | 2021A | 2020A | 2019A | 2018A | 2017A | 2016A |
+|:---|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|
+| ROE | 6.13% | 5.65% | 6.15% | 13.67% | 14.87% | 14.33% | 9.93% | 10.73% | 24.90% | 0.00% |
+| ROA | 3.17% | 3.35% | 3.91% | 7.29% | 5.28% | 4.03% | 2.81% | 1.44% | 4.40% | 0.00% |
+| ROCE/ROIC | 6.71% | 5.83% | 6.83% | 13.99% | 13.65% | 9.48% | 6.43% | 9.16% | 29.07% | 0.00% |
+| 毛利率 | 10.00% | 9.76% | 7.99% | 8.60% | 9.55% | 10.48% | 8.06% | 10.09% | 12.70% | - |
+| 净利润率 | 4.23% | 3.72% | 3.05% | 3.90% | 3.57% | 3.14% | 2.15% | 1.14% | 3.94% | - |
+| 收入(亿) | 130.59 | 132.97 | 173.11 | 287.51 | 155.66 | 79.90 | 69.78 | 70.26 | 42.11 | 0.00 |
+| 收入增速 | 32.15% | -23.19% | -39.79% | 84.71% | 94.82% | 14.50% | -0.69% | 66.84% | - | - |
+| 净利润(亿) | 5.52 | 4.94 | 5.27 | 11.21 | 5.55 | 2.51 | 1.50 | 0.80 | 1.66 | 0.00 |
+| 净利润增速 | 50.26% | -6.33% | -52.93% | 101.77% | 121.66% | 66.94% | 87.35% | -51.76% | - | - |
+| 经营净现金流(亿) | 8.97 | 17.53 | 25.80 | -15.61 | 4.32 | 3.97 | 1.72 | 1.11 | -5.94 | - |
+| 资本开支(亿) | 4.89 | 9.66 | 11.45 | 6.51 | 5.56 | 3.33 | 5.86 | 6.13 | 3.79 | - |
+| 自由现金流(亿) | 4.08 | 7.87 | 14.35 | -22.12 | -1.24 | 0.64 | -4.14 | -5.01 | -9.73 | - |
+| 分红(亿) | - | 2.02 | 2.95 | 2.10 | 1.26 | - | - | - | - | - |
+| 回购(亿) | - | 1.71 | 0.50 | - | - | - | - | - | - | - |
+| 总资产(亿) | 174.13 | 147.47 | 134.81 | 153.80 | 105.16 | 62.22 | 53.48 | 55.49 | 37.74 | 1.00 |
+| 净资产(亿) | 90.09 | 87.37 | 85.82 | 82.00 | 37.36 | 17.48 | 15.12 | 7.47 | 6.67 | 1.00 |
+| 商誉(亿) | - | - | - | - | - | - | - | - | - | - |
+
+
+## 费用指标
+| 指标 | 2025Q3 | 2024A | 2023A | 2022A | 2021A | 2020A | 2019A | 2018A | 2017A | 2016A |
+|:---|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|
+| 销售费用率 | 0.25% | 0.31% | 0.19% | 0.09% | 0.19% | 0.33% | 0.58% | 0.37% | 0.51% | - |
+| 管理费用率 | 1.18% | 1.42% | 1.11% | 0.54% | 0.84% | 1.13% | 1.12% | 0.92% | 1.10% | - |
+| SG&A比例 | 1.43% | 1.73% | 1.30% | 0.63% | 1.03% | 1.46% | 1.70% | 1.29% | 1.61% | - |
+| 研发费用率 | 2.99% | 3.15% | 2.68% | 2.63% | 2.90% | 3.27% | 3.52% | 4.73% | 4.10% | - |
+| 其他费用率 | 1.35% | 1.16% | 0.96% | 1.44% | 2.05% | 2.62% | 0.69% | 2.94% | 3.05% | - |
+| 折旧费用占比 | - | 2.77% | 2.02% | 1.03% | 1.50% | 2.39% | 1.66% | 0.85% | 1.09% | - |
+| 所得税率 | 9.29% | 3.85% | 5.21% | 8.93% | 7.30% | 4.21% | -26.38% | 2.76% | 27.22% | - |
+
+
+## 资产占比
+| 指标 | 2025Q3 | 2024A | 2023A | 2022A | 2021A | 2020A | 2019A | 2018A | 2017A | 2016A |
+|:---|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|
+| 现金占比 | 8.88% | 11.09% | 8.90% | 6.61% | 4.04% | 4.47% | 0.96% | 2.96% | 2.90% | - |
+| 库存占比 | 26.24% | 16.79% | 14.57% | 21.79% | 26.58% | 19.51% | 16.08% | 28.66% | 32.68% | - |
+| 应收款占比 | 18.81% | 15.92% | 25.95% | 32.22% | 28.09% | 19.84% | 12.33% | 15.88% | 13.23% | - |
+| 预付款占比 | 0.75% | 0.08% | 0.07% | 0.11% | 0.16% | 1.25% | 0.39% | 6.20% | 3.26% | - |
+| 固定资产占比 | - | 23.88% | 25.96% | 23.65% | 26.59% | 38.24% | 37.34% | 19.47% | 15.24% | - |
+| 长期投资占比 | 2.39% | 2.83% | 2.95% | 0.65% | - | 0.07% | 0.07% | - | - | - |
+| 商誉占比 | - | - | - | - | - | - | - | - | - | - |
+| 其他资产占比 | 42.94% | 29.42% | 21.60% | 14.97% | 14.54% | 16.62% | 32.82% | 26.83% | 32.70% | 100.00% |
+| 应付款占比 | 17.61% | 14.64% | 16.87% | 13.63% | 33.13% | 19.56% | 16.47% | 12.18% | 15.49% | - |
+| 预收款占比 | 0.88% | 0.02% | 0.03% | 0.04% | 0.10% | 0.03% | 0.05% | 0.14% | 0.36% | 0.00% |
+| 短期借款占比 | 1.06% | 1.60% | 0.25% | 4.53% | 2.48% | 20.67% | 33.82% | 23.62% | 10.33% | 0.00% |
+| 长期借款占比 | 2.57% | 3.16% | 5.23% | 5.66% | 13.15% | 18.25% | 3.12% | 1.87% | 0.11% | 0.00% |
+| 运营资产占比 | 27.30% | 18.13% | 23.69% | 40.46% | 21.59% | 21.02% | 12.29% | 38.41% | 33.31% | 0.00% |
+| 有息负债率 | 3.63% | 4.76% | 5.47% | 10.19% | 15.64% | 38.92% | 36.94% | 25.49% | 10.44% | 0.00% |
+
+
+## 周转能力
+| 指标 | 2025Q3 | 2024A | 2023A | 2022A | 2021A | 2020A | 2019A | 2018A | 2017A | 2016A |
+|:---|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|
+| 存货周转天数 | 141 | 75 | 45 | 46 | 72 | 61 | 48 | 91 | 122 | - |
+| 应收款周转天数 | 91 | 64 | 73 | 62 | 69 | 56 | 34 | 45 | 43 | - |
+| 应付款周转天数 | 95 | 65 | 52 | 29 | 90 | 62 | 50 | 39 | 58 | - |
+| 固定资产周转率 | - | 3.78 | 4.95 | 7.91 | 5.57 | 3.36 | 3.49 | 6.50 | 7.32 | - |
+| 总资产周转率 | 0.75 | 0.90 | 1.28 | 1.87 | 1.48 | 1.28 | 1.30 | 1.27 | 1.12 | 0.00 |
+
+
+## 人均效率
+| 指标 | 2025Q3 | 2024A | 2023A | 2022A | 2021A | 2020A | 2019A | 2018A | 2017A | 2016A |
+|:---|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|
+| 员工人数 | - | 3,344 | - | - | - | - | - | - | - | - |
+| 人均创收(万) | - | 397.63 | - | - | - | - | - | - | - | - |
+| 人均创利(万) | - | 14.77 | - | - | - | - | - | - | - | - |
+| 人均薪酬(万) | - | 15.29 | - | - | - | - | - | - | - | - |
+
+
+## 市场表现
+| 指标 | 2025Q3 | 2024A | 2023A | 2022A | 2021A | 2020A | 2019A | 2018A | 2017A | 2016A |
+|:---|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|
+| 股价 | 77.37 | 45.64 | 39.64 | 77.68 | 103.35 | - | - | - | - | - |
+| 市值(亿) | 390.48 | 192.04 | 166.79 | 233.47 | 260.00 | - | - | - | - | - |
+| PE | 79.03 | 36.41 | 14.88 | 42.04 | 103.77 | - | - | - | - | - |
+| PB | 4.33 | 2.23 | 1.97 | 2.93 | 7.27 | - | - | - | - | - |
+| 股东户数 | 24,627 | 14,740 | 13,732 | 14,462 | 15,688 | - | - | - | - | - |
+
diff --git a/data/HK/00700.HK/raw_balance_sheet_raw.csv b/data/HK/00700.HK/raw_balance_sheet_raw.csv
index 3813865..3235c47 100644
--- a/data/HK/00700.HK/raw_balance_sheet_raw.csv
+++ b/data/HK/00700.HK/raw_balance_sheet_raw.csv
@@ -3,4 +3,3 @@ cash_equi_short_term_inve_oas,accou_and_notes_recei_oas,inventories_oas,ppe_net_
343159000000.0,48203000000.0,440000000.0,133283000000.0,589410000000.0,196127000000.0,58485000000.0,48526000000.0,127335000000.0,1042000000.0,100097000000.0,291004000000.0,277107000000.0,1780995000000.0,973548000000.0,31265000000.0,20241231
379155000000.0,46606000000.0,456000000.0,104458000000.0,460591000000.0,177727000000.0,47691000000.0,25561000000.0,115109000000.0,669000000.0,86168000000.0,309388000000.0,292920000000.0,1577246000000.0,808591000000.0,27824000000.0,20231231
290756000000.0,45467000000.0,2333000000.0,103777000000.0,431451000000.0,161802000000.0,17934000000.0,5981000000.0,102827000000.0,816000000.0,82216000000.0,330761000000.0,312337000000.0,1578131000000.0,721391000000.0,24393000000.0,20221231
-264101000000.0,49331000000.0,1063000000.0,106033000000.0,467251000000.0,171376000000.0,24449000000.0,13540000000.0,109470000000.0,649000000.0,87846000000.0,299027000000.0,282526000000.0,1612364000000.0,806299000000.0,18714000000.0,20211231
diff --git a/data/HK/00700.HK/raw_cash_flow_raw.csv b/data/HK/00700.HK/raw_cash_flow_raw.csv
index 7424856..e12c248 100644
--- a/data/HK/00700.HK/raw_cash_flow_raw.csv
+++ b/data/HK/00700.HK/raw_cash_flow_raw.csv
@@ -3,4 +3,3 @@ net_cash_flows_from_oa_oas,purchase_of_ppe_and_ia_oas,dividends_paid_oas,end_dat
258521000000.0,96048000000.0,28859000000.0,20241231
221962000000.0,47407000000.0,20983000000.0,20231231
146091000000.0,50850000000.0,12952000000.0,20221231
-175186000000.0,62165000000.0,12503000000.0,20211231
diff --git a/data/HK/00700.HK/raw_dividends_raw.csv b/data/HK/00700.HK/raw_dividends_raw.csv
index 301dcd4..d7f802f 100644
--- a/data/HK/00700.HK/raw_dividends_raw.csv
+++ b/data/HK/00700.HK/raw_dividends_raw.csv
@@ -2,4 +2,3 @@ date_str,dividends
20241231,38104168998.825
20231231,29163521377.441
20221231,20700985117.366
-20211231,13226708445.273
diff --git a/data/HK/00700.HK/raw_employee_count_raw.csv b/data/HK/00700.HK/raw_employee_count_raw.csv
index 5f8cbb4..4cf86bf 100644
--- a/data/HK/00700.HK/raw_employee_count_raw.csv
+++ b/data/HK/00700.HK/raw_employee_count_raw.csv
@@ -1,6 +1,6 @@
date_str,employee_count
+20261231,111221.0
20251231,111221.0
20241231,110558.0
20231231,105417.0
20221231,108436.0
-20211231,112771.0
diff --git a/data/HK/00700.HK/raw_historical_metrics_raw.csv b/data/HK/00700.HK/raw_historical_metrics_raw.csv
index e9ade48..a5a077b 100644
--- a/data/HK/00700.HK/raw_historical_metrics_raw.csv
+++ b/data/HK/00700.HK/raw_historical_metrics_raw.csv
@@ -3,4 +3,3 @@ date_str,PE,PB,MarketCap,Price
20241231,0.0,0.0,3562280981362.7,388.01076
20231231,0.0,0.0,2523103788380.7,266.066192
20221231,0.0,0.0,2854854121108.1,298.35218
-20211231,0.0,0.0,3588534115921.0,362.52384
diff --git a/data/HK/00700.HK/raw_income_statement_raw.csv b/data/HK/00700.HK/raw_income_statement_raw.csv
index 6d2de0d..9f04e9a 100644
--- a/data/HK/00700.HK/raw_income_statement_raw.csv
+++ b/data/HK/00700.HK/raw_income_statement_raw.csv
@@ -3,4 +3,3 @@ revenue_oas,gross_profit_oas,sga_expenses_oas,selling_marketing_expenses_oas,ga_
660257000000.0,349246000000.0,149149000000.0,36388000000.0,112761000000.0,45018000000.0,194073000000.0,208099000000.0,20241231
609015000000.0,293109000000.0,137736000000.0,34211000000.0,103525000000.0,43276000000.0,115216000000.0,160074000000.0,20231231
554552000000.0,238746000000.0,135925000000.0,29229000000.0,106696000000.0,21516000000.0,188243000000.0,227114000000.0,20221231
-560118000000.0,245944000000.0,130441000000.0,40594000000.0,89847000000.0,20252000000.0,224822000000.0,264970000000.0,20211231
diff --git a/data/HK/00700.HK/raw_repurchases_raw.csv b/data/HK/00700.HK/raw_repurchases_raw.csv
index 9db0366..6ea8286 100644
--- a/data/HK/00700.HK/raw_repurchases_raw.csv
+++ b/data/HK/00700.HK/raw_repurchases_raw.csv
@@ -1,6 +1,6 @@
date_str,repurchases
-20251231,76796598544.2
+20261231,1271296551.4
+20251231,80610335058.2
20241231,112003383926.44
20231231,49432707948.16
20221231,33794068650.24
-20211231,2598776231.78
diff --git a/data/HK/00700.HK/report.html b/data/HK/00700.HK/report.html
index 4167fe1..cb6538f 100644
--- a/data/HK/00700.HK/report.html
+++ b/data/HK/00700.HK/report.html
@@ -205,7 +205,7 @@
腾讯控股有限公司 (00700.HK) - Financial Report
-
Report generated on: 2025-12-21
+
Report generated on: 2026-01-03
@@ -240,68 +240,68 @@
| 指标 |
- 2025H1 | 2024A | 2023A | 2022A | 2021A |
+ 2025H1 | 2024A | 2023A | 2022A |
- | 主要指标 | |
-| ROE | 9.28% | 19.93% | 14.25% | 26.09% | 27.88% |
-| ROA | 5.14% | 10.90% | 7.30% | 11.93% | 13.94% |
-| ROCE/ROIC | 6.21% | 12.62% | 10.79% | 16.36% | 18.58% |
-| 毛利率 | 56.38% | 52.90% | 48.13% | 43.05% | 43.91% |
-| 净利润率 | 28.38% | 29.39% | 18.92% | 33.95% | 40.14% |
-| 收入(亿) | 3,645.26 | 6,602.57 | 6,090.15 | 5,545.52 | 5,601.18 |
-| 收入增速 | - | 8.41% | 9.82% | -0.99% | - |
-| 净利润(亿) | 1,034.49 | 1,940.73 | 1,152.16 | 1,882.43 | 2,248.22 |
-| 净利润增速 | - | 68.44% | -38.79% | -16.27% | - |
-| 经营净现金流(亿) | 1,512.65 | 2,585.21 | 2,219.62 | 1,460.91 | 1,751.86 |
-| 资本开支(亿) | 574.57 | 960.48 | 474.07 | 508.50 | 621.65 |
-| 自由现金流(亿) | 938.08 | 1,624.73 | 1,745.55 | 952.41 | 1,130.21 |
-| 分红(亿) | 375.35 | 288.59 | 209.83 | 129.52 | 125.03 |
-| 回购(亿) | - | 1,120.03 | 494.33 | 337.94 | 25.99 |
-| 总资产(亿) | 20,133.10 | 17,809.95 | 15,772.46 | 15,781.31 | 16,123.64 |
-| 净资产(亿) | 11,146.39 | 9,735.48 | 8,085.91 | 7,213.91 | 8,062.99 |
-| 商誉(亿) | 2,158.32 | 1,961.27 | 1,777.27 | 1,618.02 | 1,713.76 |
-| 费用指标 | |
-| 销售费用率 | 4.74% | 5.51% | 5.62% | 5.27% | 7.25% |
-| 管理费用率 | 17.99% | 17.08% | 17.00% | 19.24% | 16.04% |
-| SG&A比例 | 22.73% | 22.59% | 22.62% | 24.51% | 23.29% |
-| 研发费用率 | - | - | - | - | - |
-| 其他费用率 | 5.27% | 0.91% | 6.59% | -15.40% | -19.52% |
-| 折旧费用占比 | - | - | - | - | - |
-| 所得税率 | 19.51% | 18.83% | 27.30% | 10.26% | 8.26% |
-| 资产占比 | |
-| 现金占比 | 18.90% | 19.27% | 24.04% | 18.42% | 16.38% |
-| 库存占比 | 0.02% | 0.02% | 0.03% | 0.15% | 0.07% |
-| 应收款占比 | 2.55% | 2.71% | 2.95% | 2.88% | 3.06% |
-| 预付款占比 | 1.34% | 1.76% | 1.76% | 1.55% | 1.16% |
-| 固定资产占比 | 8.58% | 7.48% | 6.62% | 6.58% | 6.58% |
-| 长期投资占比 | 35.10% | 33.09% | 29.20% | 27.34% | 28.98% |
-| 商誉占比 | 10.72% | 11.01% | 11.27% | 10.25% | 10.63% |
-| 其他资产占比 | 22.80% | 24.66% | 24.12% | 32.83% | 33.15% |
-| 应付款占比 | 7.12% | 7.15% | 7.30% | 6.52% | 6.79% |
-| 预收款占比 | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% |
-| 短期借款占比 | 6.09% | 6.01% | 4.64% | 1.52% | 2.36% |
-| 长期借款占比 | 32.68% | 31.90% | 38.19% | 40.75% | 36.07% |
-| 运营资产占比 | -3.22% | -2.66% | -2.55% | -1.94% | -2.50% |
-| 有息负债率 | 38.77% | 37.91% | 42.83% | 42.27% | 38.42% |
-| 周转能力 | |
-| 存货周转天数 | 0 | 0 | 0 | 2 | 1 |
-| 应收款周转天数 | 25 | 26 | 27 | 29 | 32 |
-| 应付款周转天数 | 164 | 149 | 132 | 118 | 127 |
-| 固定资产周转率 | 4.22 | 4.95 | 5.83 | 5.34 | 5.28 |
-| 总资产周转率 | 0.36 | 0.37 | 0.39 | 0.35 | 0.35 |
-| 人均效率 | |
-| 员工人数 | - | 110,558 | 105,417 | 108,436 | 112,771 |
-| 人均创收(万) | - | 597.20 | 577.72 | 511.41 | 496.69 |
-| 人均创利(万) | - | 175.54 | 109.30 | 173.60 | 199.36 |
-| 人均薪酬(万) | - | - | - | - | - |
-| 市场表现 | |
-| 股价 | 467.83 | 388.01 | 266.07 | 298.35 | 362.52 |
-| 市值(亿) | 42,043 | 35,623 | 25,231 | 28,549 | 35,885 |
-| PE | 20.32 | 18.36 | 21.90 | 15.17 | 15.96 |
-| PB | 3.77 | 3.66 | 3.12 | 3.96 | 4.45 |
-| 股东户数 | - | - | - | - | - |
+ | 主要指标 | |
+| ROE | 9.28% | 19.93% | 14.25% | 26.09% |
+| ROA | 5.14% | 10.90% | 7.30% | 11.93% |
+| ROCE/ROIC | 6.21% | 12.62% | 10.79% | 16.36% |
+| 毛利率 | 56.38% | 52.90% | 48.13% | 43.05% |
+| 净利润率 | 28.38% | 29.39% | 18.92% | 33.95% |
+| 收入(亿) | 3,645.26 | 6,602.57 | 6,090.15 | 5,545.52 |
+| 收入增速 | - | 8.41% | 9.82% | - |
+| 净利润(亿) | 1,034.49 | 1,940.73 | 1,152.16 | 1,882.43 |
+| 净利润增速 | - | 68.44% | -38.79% | - |
+| 经营净现金流(亿) | 1,512.65 | 2,585.21 | 2,219.62 | 1,460.91 |
+| 资本开支(亿) | 574.57 | 960.48 | 474.07 | 508.50 |
+| 自由现金流(亿) | 938.08 | 1,624.73 | 1,745.55 | 952.41 |
+| 分红(亿) | 375.35 | 288.59 | 209.83 | 129.52 |
+| 回购(亿) | - | 1,120.03 | 494.33 | 337.94 |
+| 总资产(亿) | 20,133.10 | 17,809.95 | 15,772.46 | 15,781.31 |
+| 净资产(亿) | 11,146.39 | 9,735.48 | 8,085.91 | 7,213.91 |
+| 商誉(亿) | 2,158.32 | 1,961.27 | 1,777.27 | 1,618.02 |
+| 费用指标 | |
+| 销售费用率 | 4.74% | 5.51% | 5.62% | 5.27% |
+| 管理费用率 | 17.99% | 17.08% | 17.00% | 19.24% |
+| SG&A比例 | 22.73% | 22.59% | 22.62% | 24.51% |
+| 研发费用率 | - | - | - | - |
+| 其他费用率 | 5.27% | 0.91% | 6.59% | -15.40% |
+| 折旧费用占比 | - | - | - | - |
+| 所得税率 | 19.51% | 18.83% | 27.30% | 10.26% |
+| 资产占比 | |
+| 现金占比 | 18.90% | 19.27% | 24.04% | 18.42% |
+| 库存占比 | 0.02% | 0.02% | 0.03% | 0.15% |
+| 应收款占比 | 2.55% | 2.71% | 2.95% | 2.88% |
+| 预付款占比 | 1.34% | 1.76% | 1.76% | 1.55% |
+| 固定资产占比 | 8.58% | 7.48% | 6.62% | 6.58% |
+| 长期投资占比 | 35.10% | 33.09% | 29.20% | 27.34% |
+| 商誉占比 | 10.72% | 11.01% | 11.27% | 10.25% |
+| 其他资产占比 | 22.80% | 24.66% | 24.12% | 32.83% |
+| 应付款占比 | 7.12% | 7.15% | 7.30% | 6.52% |
+| 预收款占比 | 0.00% | 0.00% | 0.00% | 0.00% |
+| 短期借款占比 | 6.09% | 6.01% | 4.64% | 1.52% |
+| 长期借款占比 | 32.68% | 31.90% | 38.19% | 40.75% |
+| 运营资产占比 | -3.22% | -2.66% | -2.55% | -1.94% |
+| 有息负债率 | 38.77% | 37.91% | 42.83% | 42.27% |
+| 周转能力 | |
+| 存货周转天数 | 0 | 0 | 0 | 2 |
+| 应收款周转天数 | 25 | 26 | 27 | 29 |
+| 应付款周转天数 | 164 | 149 | 132 | 118 |
+| 固定资产周转率 | 4.22 | 4.95 | 5.83 | 5.34 |
+| 总资产周转率 | 0.36 | 0.37 | 0.39 | 0.35 |
+| 人均效率 | |
+| 员工人数 | - | 110,558 | 105,417 | 108,436 |
+| 人均创收(万) | - | 597.20 | 577.72 | 511.41 |
+| 人均创利(万) | - | 175.54 | 109.30 | 173.60 |
+| 人均薪酬(万) | - | - | - | - |
+| 市场表现 | |
+| 股价 | 467.83 | 388.01 | 266.07 | 298.35 |
+| 市值(亿) | 42,043 | 35,623 | 25,231 | 28,549 |
+| PE | 20.32 | 18.36 | 21.90 | 15.17 |
+| PB | 3.77 | 3.66 | 3.12 | 3.96 |
+| 股东户数 | - | - | - | - |
diff --git a/data/HK/00700.HK/report.md b/data/HK/00700.HK/report.md
index 230ed78..ff4beb1 100644
--- a/data/HK/00700.HK/report.md
+++ b/data/HK/00700.HK/report.md
@@ -1,5 +1,5 @@
# 腾讯控股有限公司 (00700.HK) - Financial Report
-*Report generated on: 2025-12-21*
+*Report generated on: 2026-01-03*
| 代码 | 简称 | 上市日期 | 年结日 | 市值(亿) | PE | PB | 股息率(%) |
|:---|:---|:---|:---|:---|:---|:---|:---|
@@ -7,83 +7,83 @@
## 主要指标
-| 指标 | 2025H1 | 2024A | 2023A | 2022A | 2021A |
-|:---|--:|--:|--:|--:|--:|
-| ROE | 9.28% | 19.93% | 14.25% | 26.09% | 27.88% |
-| ROA | 5.14% | 10.90% | 7.30% | 11.93% | 13.94% |
-| ROCE/ROIC | 6.21% | 12.62% | 10.79% | 16.36% | 18.58% |
-| 毛利率 | 56.38% | 52.90% | 48.13% | 43.05% | 43.91% |
-| 净利润率 | 28.38% | 29.39% | 18.92% | 33.95% | 40.14% |
-| 收入(亿) | 3,645.26 | 6,602.57 | 6,090.15 | 5,545.52 | 5,601.18 |
-| 收入增速 | - | 8.41% | 9.82% | -0.99% | - |
-| 净利润(亿) | 1,034.49 | 1,940.73 | 1,152.16 | 1,882.43 | 2,248.22 |
-| 净利润增速 | - | 68.44% | -38.79% | -16.27% | - |
-| 经营净现金流(亿) | 1,512.65 | 2,585.21 | 2,219.62 | 1,460.91 | 1,751.86 |
-| 资本开支(亿) | 574.57 | 960.48 | 474.07 | 508.50 | 621.65 |
-| 自由现金流(亿) | 938.08 | 1,624.73 | 1,745.55 | 952.41 | 1,130.21 |
-| 分红(亿) | 375.35 | 288.59 | 209.83 | 129.52 | 125.03 |
-| 回购(亿) | - | 1,120.03 | 494.33 | 337.94 | 25.99 |
-| 总资产(亿) | 20,133.10 | 17,809.95 | 15,772.46 | 15,781.31 | 16,123.64 |
-| 净资产(亿) | 11,146.39 | 9,735.48 | 8,085.91 | 7,213.91 | 8,062.99 |
-| 商誉(亿) | 2,158.32 | 1,961.27 | 1,777.27 | 1,618.02 | 1,713.76 |
+| 指标 | 2025H1 | 2024A | 2023A | 2022A |
+|:---|--:|--:|--:|--:|
+| ROE | 9.28% | 19.93% | 14.25% | 26.09% |
+| ROA | 5.14% | 10.90% | 7.30% | 11.93% |
+| ROCE/ROIC | 6.21% | 12.62% | 10.79% | 16.36% |
+| 毛利率 | 56.38% | 52.90% | 48.13% | 43.05% |
+| 净利润率 | 28.38% | 29.39% | 18.92% | 33.95% |
+| 收入(亿) | 3,645.26 | 6,602.57 | 6,090.15 | 5,545.52 |
+| 收入增速 | - | 8.41% | 9.82% | - |
+| 净利润(亿) | 1,034.49 | 1,940.73 | 1,152.16 | 1,882.43 |
+| 净利润增速 | - | 68.44% | -38.79% | - |
+| 经营净现金流(亿) | 1,512.65 | 2,585.21 | 2,219.62 | 1,460.91 |
+| 资本开支(亿) | 574.57 | 960.48 | 474.07 | 508.50 |
+| 自由现金流(亿) | 938.08 | 1,624.73 | 1,745.55 | 952.41 |
+| 分红(亿) | 375.35 | 288.59 | 209.83 | 129.52 |
+| 回购(亿) | - | 1,120.03 | 494.33 | 337.94 |
+| 总资产(亿) | 20,133.10 | 17,809.95 | 15,772.46 | 15,781.31 |
+| 净资产(亿) | 11,146.39 | 9,735.48 | 8,085.91 | 7,213.91 |
+| 商誉(亿) | 2,158.32 | 1,961.27 | 1,777.27 | 1,618.02 |
## 费用指标
-| 指标 | 2025H1 | 2024A | 2023A | 2022A | 2021A |
-|:---|--:|--:|--:|--:|--:|
-| 销售费用率 | 4.74% | 5.51% | 5.62% | 5.27% | 7.25% |
-| 管理费用率 | 17.99% | 17.08% | 17.00% | 19.24% | 16.04% |
-| SG&A比例 | 22.73% | 22.59% | 22.62% | 24.51% | 23.29% |
-| 研发费用率 | - | - | - | - | - |
-| 其他费用率 | 5.27% | 0.91% | 6.59% | -15.40% | -19.52% |
-| 折旧费用占比 | - | - | - | - | - |
-| 所得税率 | 19.51% | 18.83% | 27.30% | 10.26% | 8.26% |
+| 指标 | 2025H1 | 2024A | 2023A | 2022A |
+|:---|--:|--:|--:|--:|
+| 销售费用率 | 4.74% | 5.51% | 5.62% | 5.27% |
+| 管理费用率 | 17.99% | 17.08% | 17.00% | 19.24% |
+| SG&A比例 | 22.73% | 22.59% | 22.62% | 24.51% |
+| 研发费用率 | - | - | - | - |
+| 其他费用率 | 5.27% | 0.91% | 6.59% | -15.40% |
+| 折旧费用占比 | - | - | - | - |
+| 所得税率 | 19.51% | 18.83% | 27.30% | 10.26% |
## 资产占比
-| 指标 | 2025H1 | 2024A | 2023A | 2022A | 2021A |
-|:---|--:|--:|--:|--:|--:|
-| 现金占比 | 18.90% | 19.27% | 24.04% | 18.42% | 16.38% |
-| 库存占比 | 0.02% | 0.02% | 0.03% | 0.15% | 0.07% |
-| 应收款占比 | 2.55% | 2.71% | 2.95% | 2.88% | 3.06% |
-| 预付款占比 | 1.34% | 1.76% | 1.76% | 1.55% | 1.16% |
-| 固定资产占比 | 8.58% | 7.48% | 6.62% | 6.58% | 6.58% |
-| 长期投资占比 | 35.10% | 33.09% | 29.20% | 27.34% | 28.98% |
-| 商誉占比 | 10.72% | 11.01% | 11.27% | 10.25% | 10.63% |
-| 其他资产占比 | 22.80% | 24.66% | 24.12% | 32.83% | 33.15% |
-| 应付款占比 | 7.12% | 7.15% | 7.30% | 6.52% | 6.79% |
-| 预收款占比 | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% |
-| 短期借款占比 | 6.09% | 6.01% | 4.64% | 1.52% | 2.36% |
-| 长期借款占比 | 32.68% | 31.90% | 38.19% | 40.75% | 36.07% |
-| 运营资产占比 | -3.22% | -2.66% | -2.55% | -1.94% | -2.50% |
-| 有息负债率 | 38.77% | 37.91% | 42.83% | 42.27% | 38.42% |
+| 指标 | 2025H1 | 2024A | 2023A | 2022A |
+|:---|--:|--:|--:|--:|
+| 现金占比 | 18.90% | 19.27% | 24.04% | 18.42% |
+| 库存占比 | 0.02% | 0.02% | 0.03% | 0.15% |
+| 应收款占比 | 2.55% | 2.71% | 2.95% | 2.88% |
+| 预付款占比 | 1.34% | 1.76% | 1.76% | 1.55% |
+| 固定资产占比 | 8.58% | 7.48% | 6.62% | 6.58% |
+| 长期投资占比 | 35.10% | 33.09% | 29.20% | 27.34% |
+| 商誉占比 | 10.72% | 11.01% | 11.27% | 10.25% |
+| 其他资产占比 | 22.80% | 24.66% | 24.12% | 32.83% |
+| 应付款占比 | 7.12% | 7.15% | 7.30% | 6.52% |
+| 预收款占比 | 0.00% | 0.00% | 0.00% | 0.00% |
+| 短期借款占比 | 6.09% | 6.01% | 4.64% | 1.52% |
+| 长期借款占比 | 32.68% | 31.90% | 38.19% | 40.75% |
+| 运营资产占比 | -3.22% | -2.66% | -2.55% | -1.94% |
+| 有息负债率 | 38.77% | 37.91% | 42.83% | 42.27% |
## 周转能力
-| 指标 | 2025H1 | 2024A | 2023A | 2022A | 2021A |
-|:---|--:|--:|--:|--:|--:|
-| 存货周转天数 | 0 | 0 | 0 | 2 | 1 |
-| 应收款周转天数 | 25 | 26 | 27 | 29 | 32 |
-| 应付款周转天数 | 164 | 149 | 132 | 118 | 127 |
-| 固定资产周转率 | 4.22 | 4.95 | 5.83 | 5.34 | 5.28 |
-| 总资产周转率 | 0.36 | 0.37 | 0.39 | 0.35 | 0.35 |
+| 指标 | 2025H1 | 2024A | 2023A | 2022A |
+|:---|--:|--:|--:|--:|
+| 存货周转天数 | 0 | 0 | 0 | 2 |
+| 应收款周转天数 | 25 | 26 | 27 | 29 |
+| 应付款周转天数 | 164 | 149 | 132 | 118 |
+| 固定资产周转率 | 4.22 | 4.95 | 5.83 | 5.34 |
+| 总资产周转率 | 0.36 | 0.37 | 0.39 | 0.35 |
## 人均效率
-| 指标 | 2025H1 | 2024A | 2023A | 2022A | 2021A |
-|:---|--:|--:|--:|--:|--:|
-| 员工人数 | - | 110,558 | 105,417 | 108,436 | 112,771 |
-| 人均创收(万) | - | 597.20 | 577.72 | 511.41 | 496.69 |
-| 人均创利(万) | - | 175.54 | 109.30 | 173.60 | 199.36 |
-| 人均薪酬(万) | - | - | - | - | - |
+| 指标 | 2025H1 | 2024A | 2023A | 2022A |
+|:---|--:|--:|--:|--:|
+| 员工人数 | - | 110,558 | 105,417 | 108,436 |
+| 人均创收(万) | - | 597.20 | 577.72 | 511.41 |
+| 人均创利(万) | - | 175.54 | 109.30 | 173.60 |
+| 人均薪酬(万) | - | - | - | - |
## 市场表现
-| 指标 | 2025H1 | 2024A | 2023A | 2022A | 2021A |
-|:---|--:|--:|--:|--:|--:|
-| 股价 | 467.83 | 388.01 | 266.07 | 298.35 | 362.52 |
-| 市值(亿) | 42,043 | 35,623 | 25,231 | 28,549 | 35,885 |
-| PE | 20.32 | 18.36 | 21.90 | 15.17 | 15.96 |
-| PB | 3.77 | 3.66 | 3.12 | 3.96 | 4.45 |
-| 股东户数 | - | - | - | - | - |
+| 指标 | 2025H1 | 2024A | 2023A | 2022A |
+|:---|--:|--:|--:|--:|
+| 股价 | 467.83 | 388.01 | 266.07 | 298.35 |
+| 市值(亿) | 42,043 | 35,623 | 25,231 | 28,549 |
+| PE | 20.32 | 18.36 | 21.90 | 15.17 |
+| PB | 3.77 | 3.66 | 3.12 | 3.96 |
+| 股东户数 | - | - | - | - |
diff --git a/data/JP/2503/raw_balance_sheet_raw.csv b/data/JP/2503.T/raw_balance_sheet_raw.csv
similarity index 100%
rename from data/JP/2503/raw_balance_sheet_raw.csv
rename to data/JP/2503.T/raw_balance_sheet_raw.csv
diff --git a/data/JP/2503/raw_basic_info_raw.csv b/data/JP/2503.T/raw_basic_info_raw.csv
similarity index 100%
rename from data/JP/2503/raw_basic_info_raw.csv
rename to data/JP/2503.T/raw_basic_info_raw.csv
diff --git a/data/JP/2503/raw_cash_flow_raw.csv b/data/JP/2503.T/raw_cash_flow_raw.csv
similarity index 100%
rename from data/JP/2503/raw_cash_flow_raw.csv
rename to data/JP/2503.T/raw_cash_flow_raw.csv
diff --git a/data/JP/2503/raw_employee_count_raw.csv b/data/JP/2503.T/raw_employee_count_raw.csv
similarity index 100%
rename from data/JP/2503/raw_employee_count_raw.csv
rename to data/JP/2503.T/raw_employee_count_raw.csv
diff --git a/data/JP/2503/raw_historical_metrics_raw.csv b/data/JP/2503.T/raw_historical_metrics_raw.csv
similarity index 100%
rename from data/JP/2503/raw_historical_metrics_raw.csv
rename to data/JP/2503.T/raw_historical_metrics_raw.csv
diff --git a/data/JP/2503/raw_income_statement_raw.csv b/data/JP/2503.T/raw_income_statement_raw.csv
similarity index 100%
rename from data/JP/2503/raw_income_statement_raw.csv
rename to data/JP/2503.T/raw_income_statement_raw.csv
diff --git a/data/JP/2503.T/report.html b/data/JP/2503.T/report.html
new file mode 100644
index 0000000..cccc834
--- /dev/null
+++ b/data/JP/2503.T/report.html
@@ -0,0 +1,445 @@
+
+
+
+
+
+
2503.T Financial Report
+
+
+
+
+
麒麟控股株式会社 (2503.T) - Financial Report
+
Report generated on: 2026-01-03
+
+
+
+
+ | 代码 |
+ 简称 |
+ 上市日期 |
+ PE |
+ PB |
+ 股息率(%) |
+
+
+
+
+ | 2503.T |
+ 麒麟控股株式会社 |
+ 1949-05-16 |
+ 0.00 |
+ 0.00 |
+ 0.00% |
+
+
+
+
+
+
+
+
+
+ | 指标 |
+ 2026A | 2025A | 2024A | 2023A | 2022A |
+
+
+
+ | 主要指标 | |
+| ROE | - | - | 4.93% | 9.95% | 11.33% |
+| ROA | - | - | 1.74% | 3.93% | 4.37% |
+| ROCE/ROIC | - | - | - | - | - |
+| 毛利率 | - | - | 45.59% | 45.14% | 45.53% |
+| 净利润率 | - | - | 2.49% | 5.28% | 5.58% |
+| 收入(亿) | - | - | 1,084.61 | 1,075.36 | 1,041.03 |
+| 收入增速 | - | - | 0.86% | 3.30% | - |
+| 净利润(亿) | - | - | 27.00 | 56.78 | 58.09 |
+| 净利润增速 | - | - | -52.45% | -2.25% | - |
+| 经营净现金流(亿) | - | - | 112.64 | 102.38 | 70.94 |
+| 资本开支(亿) | - | - | 83.76 | 57.34 | 51.53 |
+| 自由现金流(亿) | - | - | 28.88 | 45.04 | 19.40 |
+| 分红(亿) | - | - | 27.05 | 28.97 | 28.14 |
+| 回购(亿) | - | - | - | - | - |
+| 总资产(亿) | - | - | 1,555.76 | 1,445.77 | 1,330.29 |
+| 净资产(亿) | - | - | 548.03 | 570.62 | 512.81 |
+| 商誉(亿) | - | - | 538.53 | 349.71 | 256.62 |
+| 费用指标 | |
+| 销售费用率 | - | - | - | - | - |
+| 管理费用率 | - | - | - | - | - |
+| SG&A比例 | - | - | 31.60% | 31.72% | 32.18% |
+| 研发费用率 | - | - | 4.96% | 3.98% | 3.73% |
+| 其他费用率 | - | - | 6.53% | 4.16% | 4.03% |
+| 折旧费用占比 | - | - | - | - | - |
+| 所得税率 | - | - | 48.08% | 29.26% | 30.02% |
+| 资产占比 | |
+| 现金占比 | - | - | 3.79% | 4.89% | 3.79% |
+| 库存占比 | - | - | 10.70% | 11.53% | 11.41% |
+| 应收款占比 | - | - | 14.35% | 14.77% | 15.31% |
+| 预付款占比 | - | - | - | - | - |
+| 固定资产占比 | - | - | 20.10% | 20.66% | 22.05% |
+| 长期投资占比 | - | - | 3.08% | 3.67% | 4.07% |
+| 商誉占比 | - | - | 34.61% | 24.19% | 19.29% |
+| 其他资产占比 | 100.00% | 100.00% | 13.36% | 20.29% | 24.07% |
+| 应付款占比 | - | - | 4.83% | 4.78% | 4.74% |
+| 预收款占比 | - | - | 0.00% | 0.00% | 0.00% |
+| 短期借款占比 | - | - | 2.33% | 3.51% | 4.50% |
+| 长期借款占比 | - | - | 46.48% | 38.73% | 32.15% |
+| 运营资产占比 | 0.00% | 0.00% | 20.22% | 21.52% | 21.99% |
+| 有息负债率 | - | - | 48.81% | 42.24% | 36.65% |
+| 周转能力 | |
+| 存货周转天数 | - | - | 102 | 103 | 97 |
+| 应收款周转天数 | - | - | 75 | 72 | 71 |
+| 应付款周转天数 | - | - | 46 | 42 | 40 |
+| 固定资产周转率 | - | - | 3.47 | 3.60 | 3.55 |
+| 总资产周转率 | - | - | 0.70 | 0.74 | 0.78 |
+| 人均效率 | |
+| 员工人数 | 31,934 | 31,934 | 31,934 | 30,538 | 29,515 |
+| 人均创收(万) | - | - | 339.64 | 352.14 | 352.71 |
+| 人均创利(万) | - | - | 8.46 | 18.59 | 19.68 |
+| 人均薪酬(万) | - | - | - | - | - |
+| 市场表现 | |
+| 股价 | 105.03 | 105.03 | 95.04 | 104.09 | 105.23 |
+| 市值(亿) | 959.97 | 959.97 | 868.66 | 951.38 | 961.80 |
+| PE | - | - | 32.17 | 16.76 | 16.56 |
+| PB | - | - | 1.59 | 1.67 | 1.88 |
+| 股东户数 | - | - | - | - | - |
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/JP/2503.T/report.md b/data/JP/2503.T/report.md
new file mode 100644
index 0000000..014c074
--- /dev/null
+++ b/data/JP/2503.T/report.md
@@ -0,0 +1,89 @@
+# 麒麟控股株式会社 (2503.T) - Financial Report
+*Report generated on: 2026-01-03*
+
+| 代码 | 简称 | 上市日期 | PE | PB | 股息率(%) |
+|:---|:---|:---|:---|:---|:---|
+| 2503.T | 麒麟控股株式会社 | 1949-05-16 | 0.00 | 0.00 | 0.00% |
+
+
+## 主要指标
+| 指标 | 2026A | 2025A | 2024A | 2023A | 2022A |
+|:---|--:|--:|--:|--:|--:|
+| ROE | - | - | 4.93% | 9.95% | 11.33% |
+| ROA | - | - | 1.74% | 3.93% | 4.37% |
+| ROCE/ROIC | - | - | - | - | - |
+| 毛利率 | - | - | 45.59% | 45.14% | 45.53% |
+| 净利润率 | - | - | 2.49% | 5.28% | 5.58% |
+| 收入(亿) | - | - | 1,084.61 | 1,075.36 | 1,041.03 |
+| 收入增速 | - | - | 0.86% | 3.30% | - |
+| 净利润(亿) | - | - | 27.00 | 56.78 | 58.09 |
+| 净利润增速 | - | - | -52.45% | -2.25% | - |
+| 经营净现金流(亿) | - | - | 112.64 | 102.38 | 70.94 |
+| 资本开支(亿) | - | - | 83.76 | 57.34 | 51.53 |
+| 自由现金流(亿) | - | - | 28.88 | 45.04 | 19.40 |
+| 分红(亿) | - | - | 27.05 | 28.97 | 28.14 |
+| 回购(亿) | - | - | - | - | - |
+| 总资产(亿) | - | - | 1,555.76 | 1,445.77 | 1,330.29 |
+| 净资产(亿) | - | - | 548.03 | 570.62 | 512.81 |
+| 商誉(亿) | - | - | 538.53 | 349.71 | 256.62 |
+
+
+## 费用指标
+| 指标 | 2026A | 2025A | 2024A | 2023A | 2022A |
+|:---|--:|--:|--:|--:|--:|
+| 销售费用率 | - | - | - | - | - |
+| 管理费用率 | - | - | - | - | - |
+| SG&A比例 | - | - | 31.60% | 31.72% | 32.18% |
+| 研发费用率 | - | - | 4.96% | 3.98% | 3.73% |
+| 其他费用率 | - | - | 6.53% | 4.16% | 4.03% |
+| 折旧费用占比 | - | - | - | - | - |
+| 所得税率 | - | - | 48.08% | 29.26% | 30.02% |
+
+
+## 资产占比
+| 指标 | 2026A | 2025A | 2024A | 2023A | 2022A |
+|:---|--:|--:|--:|--:|--:|
+| 现金占比 | - | - | 3.79% | 4.89% | 3.79% |
+| 库存占比 | - | - | 10.70% | 11.53% | 11.41% |
+| 应收款占比 | - | - | 14.35% | 14.77% | 15.31% |
+| 预付款占比 | - | - | - | - | - |
+| 固定资产占比 | - | - | 20.10% | 20.66% | 22.05% |
+| 长期投资占比 | - | - | 3.08% | 3.67% | 4.07% |
+| 商誉占比 | - | - | 34.61% | 24.19% | 19.29% |
+| 其他资产占比 | 100.00% | 100.00% | 13.36% | 20.29% | 24.07% |
+| 应付款占比 | - | - | 4.83% | 4.78% | 4.74% |
+| 预收款占比 | - | - | 0.00% | 0.00% | 0.00% |
+| 短期借款占比 | - | - | 2.33% | 3.51% | 4.50% |
+| 长期借款占比 | - | - | 46.48% | 38.73% | 32.15% |
+| 运营资产占比 | 0.00% | 0.00% | 20.22% | 21.52% | 21.99% |
+| 有息负债率 | - | - | 48.81% | 42.24% | 36.65% |
+
+
+## 周转能力
+| 指标 | 2026A | 2025A | 2024A | 2023A | 2022A |
+|:---|--:|--:|--:|--:|--:|
+| 存货周转天数 | - | - | 102 | 103 | 97 |
+| 应收款周转天数 | - | - | 75 | 72 | 71 |
+| 应付款周转天数 | - | - | 46 | 42 | 40 |
+| 固定资产周转率 | - | - | 3.47 | 3.60 | 3.55 |
+| 总资产周转率 | - | - | 0.70 | 0.74 | 0.78 |
+
+
+## 人均效率
+| 指标 | 2026A | 2025A | 2024A | 2023A | 2022A |
+|:---|--:|--:|--:|--:|--:|
+| 员工人数 | 31,934 | 31,934 | 31,934 | 30,538 | 29,515 |
+| 人均创收(万) | - | - | 339.64 | 352.14 | 352.71 |
+| 人均创利(万) | - | - | 8.46 | 18.59 | 19.68 |
+| 人均薪酬(万) | - | - | - | - | - |
+
+
+## 市场表现
+| 指标 | 2026A | 2025A | 2024A | 2023A | 2022A |
+|:---|--:|--:|--:|--:|--:|
+| 股价 | 105.03 | 105.03 | 95.04 | 104.09 | 105.23 |
+| 市值(亿) | 959.97 | 959.97 | 868.66 | 951.38 | 961.80 |
+| PE | - | - | 32.17 | 16.76 | 16.56 |
+| PB | - | - | 1.59 | 1.67 | 1.88 |
+| 股东户数 | - | - | - | - | - |
+
diff --git a/frontend/.gitignore b/frontend/.gitignore
new file mode 100644
index 0000000..5ef6a52
--- /dev/null
+++ b/frontend/.gitignore
@@ -0,0 +1,41 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# dependencies
+/node_modules
+/.pnp
+.pnp.*
+.yarn/*
+!.yarn/patches
+!.yarn/plugins
+!.yarn/releases
+!.yarn/versions
+
+# testing
+/coverage
+
+# next.js
+/.next/
+/out/
+
+# production
+/build
+
+# misc
+.DS_Store
+*.pem
+
+# debug
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+.pnpm-debug.log*
+
+# env files (can opt-in for committing if needed)
+.env*
+
+# vercel
+.vercel
+
+# typescript
+*.tsbuildinfo
+next-env.d.ts
diff --git a/frontend/README.md b/frontend/README.md
new file mode 100644
index 0000000..e215bc4
--- /dev/null
+++ b/frontend/README.md
@@ -0,0 +1,36 @@
+This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
+
+## Getting Started
+
+First, run the development server:
+
+```bash
+npm run dev
+# or
+yarn dev
+# or
+pnpm dev
+# or
+bun dev
+```
+
+Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
+
+You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
+
+This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
+
+## Learn More
+
+To learn more about Next.js, take a look at the following resources:
+
+- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
+- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
+
+You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
+
+## Deploy on Vercel
+
+The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
+
+Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
diff --git a/frontend/components.json b/frontend/components.json
new file mode 100644
index 0000000..edcaef2
--- /dev/null
+++ b/frontend/components.json
@@ -0,0 +1,22 @@
+{
+ "$schema": "https://ui.shadcn.com/schema.json",
+ "style": "new-york",
+ "rsc": true,
+ "tsx": true,
+ "tailwind": {
+ "config": "",
+ "css": "src/app/globals.css",
+ "baseColor": "neutral",
+ "cssVariables": true,
+ "prefix": ""
+ },
+ "iconLibrary": "lucide",
+ "aliases": {
+ "components": "@/components",
+ "utils": "@/lib/utils",
+ "ui": "@/components/ui",
+ "lib": "@/lib",
+ "hooks": "@/hooks"
+ },
+ "registries": {}
+}
diff --git a/frontend/components/nav-header.tsx b/frontend/components/nav-header.tsx
new file mode 100644
index 0000000..bce3440
--- /dev/null
+++ b/frontend/components/nav-header.tsx
@@ -0,0 +1,23 @@
+"use client"
+
+import Link from "next/link"
+import { MonitorPlay } from "lucide-react"
+
+export function NavHeader() {
+ return (
+
+
+
+ Stock Analysis AI
+
+
+
+ )
+}
diff --git a/frontend/eslint.config.mjs b/frontend/eslint.config.mjs
new file mode 100644
index 0000000..05e726d
--- /dev/null
+++ b/frontend/eslint.config.mjs
@@ -0,0 +1,18 @@
+import { defineConfig, globalIgnores } from "eslint/config";
+import nextVitals from "eslint-config-next/core-web-vitals";
+import nextTs from "eslint-config-next/typescript";
+
+const eslintConfig = defineConfig([
+ ...nextVitals,
+ ...nextTs,
+ // Override default ignores of eslint-config-next.
+ globalIgnores([
+ // Default ignores of eslint-config-next:
+ ".next/**",
+ "out/**",
+ "build/**",
+ "next-env.d.ts",
+ ]),
+]);
+
+export default eslintConfig;
diff --git a/frontend/next.config.ts b/frontend/next.config.ts
new file mode 100644
index 0000000..e9ffa30
--- /dev/null
+++ b/frontend/next.config.ts
@@ -0,0 +1,7 @@
+import type { NextConfig } from "next";
+
+const nextConfig: NextConfig = {
+ /* config options here */
+};
+
+export default nextConfig;
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
new file mode 100644
index 0000000..47a0b46
--- /dev/null
+++ b/frontend/package-lock.json
@@ -0,0 +1,9082 @@
+{
+ "name": "frontend",
+ "version": "0.1.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "frontend",
+ "version": "0.1.0",
+ "dependencies": {
+ "@hookform/resolvers": "^5.2.2",
+ "@radix-ui/react-dialog": "^1.1.15",
+ "@radix-ui/react-label": "^2.1.8",
+ "@radix-ui/react-select": "^2.2.6",
+ "@radix-ui/react-slot": "^1.2.4",
+ "@radix-ui/react-tabs": "^1.1.13",
+ "class-variance-authority": "^0.7.1",
+ "clsx": "^2.1.1",
+ "lucide-react": "^0.562.0",
+ "next": "16.1.1",
+ "react": "19.2.3",
+ "react-dom": "19.2.3",
+ "react-hook-form": "^7.69.0",
+ "react-markdown": "^10.1.0",
+ "remark-gfm": "^4.0.1",
+ "tailwind-merge": "^3.4.0",
+ "tailwindcss-animate": "^1.0.7",
+ "zod": "^4.3.4"
+ },
+ "devDependencies": {
+ "@tailwindcss/postcss": "^4",
+ "@tailwindcss/typography": "^0.5.19",
+ "@types/node": "^20",
+ "@types/react": "^19",
+ "@types/react-dom": "^19",
+ "eslint": "^9",
+ "eslint-config-next": "16.1.1",
+ "tailwindcss": "^4",
+ "tw-animate-css": "^1.4.0",
+ "typescript": "^5"
+ }
+ },
+ "node_modules/@alloc/quick-lru": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
+ "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
+ "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.27.1",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz",
+ "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz",
+ "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.28.5",
+ "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-module-transforms": "^7.28.3",
+ "@babel/helpers": "^7.28.4",
+ "@babel/parser": "^7.28.5",
+ "@babel/template": "^7.27.2",
+ "@babel/traverse": "^7.28.5",
+ "@babel/types": "^7.28.5",
+ "@jridgewell/remapping": "^2.3.5",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz",
+ "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.28.5",
+ "@babel/types": "^7.28.5",
+ "@jridgewell/gen-mapping": "^0.3.12",
+ "@jridgewell/trace-mapping": "^0.3.28",
+ "jsesc": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.27.2",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
+ "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.27.2",
+ "@babel/helper-validator-option": "^7.27.1",
+ "browserslist": "^4.24.0",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-globals": {
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
+ "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
+ "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.27.1",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.28.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz",
+ "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.27.1",
+ "@babel/traverse": "^7.28.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+ "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+ "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
+ "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz",
+ "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.28.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz",
+ "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.28.5"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.27.2",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
+ "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.27.1",
+ "@babel/parser": "^7.27.2",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz",
+ "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.28.5",
+ "@babel/helper-globals": "^7.28.0",
+ "@babel/parser": "^7.28.5",
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.28.5",
+ "debug": "^4.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz",
+ "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.28.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@emnapi/core": {
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.7.1.tgz",
+ "integrity": "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@emnapi/wasi-threads": "1.1.0",
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@emnapi/runtime": {
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz",
+ "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@emnapi/wasi-threads": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz",
+ "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz",
+ "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eslint-visitor-keys": "^3.4.3"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.12.2",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz",
+ "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/config-array": {
+ "version": "0.21.1",
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz",
+ "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@eslint/object-schema": "^2.1.7",
+ "debug": "^4.3.1",
+ "minimatch": "^3.1.2"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/config-helpers": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz",
+ "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@eslint/core": "^0.17.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/core": {
+ "version": "0.17.0",
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz",
+ "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@types/json-schema": "^7.0.15"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz",
+ "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^10.0.1",
+ "globals": "^14.0.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.1",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint/js": {
+ "version": "9.39.2",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz",
+ "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://eslint.org/donate"
+ }
+ },
+ "node_modules/@eslint/object-schema": {
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz",
+ "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/plugin-kit": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz",
+ "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@eslint/core": "^0.17.0",
+ "levn": "^0.4.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@floating-ui/core": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz",
+ "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/utils": "^0.2.10"
+ }
+ },
+ "node_modules/@floating-ui/dom": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz",
+ "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/core": "^1.7.3",
+ "@floating-ui/utils": "^0.2.10"
+ }
+ },
+ "node_modules/@floating-ui/react-dom": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.6.tgz",
+ "integrity": "sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/dom": "^1.7.4"
+ },
+ "peerDependencies": {
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0"
+ }
+ },
+ "node_modules/@floating-ui/utils": {
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz",
+ "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==",
+ "license": "MIT"
+ },
+ "node_modules/@hookform/resolvers": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-5.2.2.tgz",
+ "integrity": "sha512-A/IxlMLShx3KjV/HeTcTfaMxdwy690+L/ZADoeaTltLx+CVuzkeVIPuybK3jrRfw7YZnmdKsVVHAlEPIAEUNlA==",
+ "license": "MIT",
+ "dependencies": {
+ "@standard-schema/utils": "^0.3.0"
+ },
+ "peerDependencies": {
+ "react-hook-form": "^7.55.0"
+ }
+ },
+ "node_modules/@humanfs/core": {
+ "version": "0.19.1",
+ "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
+ "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=18.18.0"
+ }
+ },
+ "node_modules/@humanfs/node": {
+ "version": "0.16.7",
+ "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz",
+ "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@humanfs/core": "^0.19.1",
+ "@humanwhocodes/retry": "^0.4.0"
+ },
+ "engines": {
+ "node": ">=18.18.0"
+ }
+ },
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@humanwhocodes/retry": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
+ "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=18.18"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@img/colour": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz",
+ "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==",
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@img/sharp-darwin-arm64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz",
+ "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-darwin-arm64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-darwin-x64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz",
+ "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-darwin-x64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-libvips-darwin-arm64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz",
+ "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-darwin-x64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz",
+ "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-arm": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz",
+ "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==",
+ "cpu": [
+ "arm"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-arm64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz",
+ "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-ppc64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz",
+ "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-riscv64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz",
+ "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-s390x": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz",
+ "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==",
+ "cpu": [
+ "s390x"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-x64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz",
+ "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linuxmusl-arm64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz",
+ "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linuxmusl-x64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz",
+ "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-linux-arm": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz",
+ "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==",
+ "cpu": [
+ "arm"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-arm": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linux-arm64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz",
+ "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-arm64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linux-ppc64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz",
+ "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-ppc64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linux-riscv64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz",
+ "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==",
+ "cpu": [
+ "riscv64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-riscv64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linux-s390x": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz",
+ "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==",
+ "cpu": [
+ "s390x"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-s390x": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linux-x64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz",
+ "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-x64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linuxmusl-arm64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz",
+ "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linuxmusl-arm64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linuxmusl-x64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz",
+ "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linuxmusl-x64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-wasm32": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz",
+ "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==",
+ "cpu": [
+ "wasm32"
+ ],
+ "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
+ "optional": true,
+ "dependencies": {
+ "@emnapi/runtime": "^1.7.0"
+ },
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-win32-arm64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz",
+ "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-win32-ia32": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz",
+ "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==",
+ "cpu": [
+ "ia32"
+ ],
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-win32-x64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz",
+ "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.13",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/remapping": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.31",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@napi-rs/wasm-runtime": {
+ "version": "0.2.12",
+ "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz",
+ "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@emnapi/core": "^1.4.3",
+ "@emnapi/runtime": "^1.4.3",
+ "@tybys/wasm-util": "^0.10.0"
+ }
+ },
+ "node_modules/@next/env": {
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/env/-/env-16.1.1.tgz",
+ "integrity": "sha512-3oxyM97Sr2PqiVyMyrZUtrtM3jqqFxOQJVuKclDsgj/L728iZt/GyslkN4NwarledZATCenbk4Offjk1hQmaAA==",
+ "license": "MIT"
+ },
+ "node_modules/@next/eslint-plugin-next": {
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.1.1.tgz",
+ "integrity": "sha512-Ovb/6TuLKbE1UiPcg0p39Ke3puyTCIKN9hGbNItmpQsp+WX3qrjO3WaMVSi6JHr9X1NrmthqIguVHodMJbh/dw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-glob": "3.3.1"
+ }
+ },
+ "node_modules/@next/swc-darwin-arm64": {
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.1.1.tgz",
+ "integrity": "sha512-JS3m42ifsVSJjSTzh27nW+Igfha3NdBOFScr9C80hHGrWx55pTrVL23RJbqir7k7/15SKlrLHhh/MQzqBBYrQA==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-darwin-x64": {
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.1.1.tgz",
+ "integrity": "sha512-hbyKtrDGUkgkyQi1m1IyD3q4I/3m9ngr+V93z4oKHrPcmxwNL5iMWORvLSGAf2YujL+6HxgVvZuCYZfLfb4bGw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-arm64-gnu": {
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.1.1.tgz",
+ "integrity": "sha512-/fvHet+EYckFvRLQ0jPHJCUI5/B56+2DpI1xDSvi80r/3Ez+Eaa2Yq4tJcRTaB1kqj/HrYKn8Yplm9bNoMJpwQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-arm64-musl": {
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.1.1.tgz",
+ "integrity": "sha512-MFHrgL4TXNQbBPzkKKur4Fb5ICEJa87HM7fczFs2+HWblM7mMLdco3dvyTI+QmLBU9xgns/EeeINSZD6Ar+oLg==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-x64-gnu": {
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.1.1.tgz",
+ "integrity": "sha512-20bYDfgOQAPUkkKBnyP9PTuHiJGM7HzNBbuqmD0jiFVZ0aOldz+VnJhbxzjcSabYsnNjMPsE0cyzEudpYxsrUQ==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-x64-musl": {
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.1.1.tgz",
+ "integrity": "sha512-9pRbK3M4asAHQRkwaXwu601oPZHghuSC8IXNENgbBSyImHv/zY4K5udBusgdHkvJ/Tcr96jJwQYOll0qU8+fPA==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-win32-arm64-msvc": {
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.1.1.tgz",
+ "integrity": "sha512-bdfQkggaLgnmYrFkSQfsHfOhk/mCYmjnrbRCGgkMcoOBZ4n+TRRSLmT/CU5SATzlBJ9TpioUyBW/vWFXTqQRiA==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-win32-x64-msvc": {
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.1.1.tgz",
+ "integrity": "sha512-Ncwbw2WJ57Al5OX0k4chM68DKhEPlrXBaSXDCi2kPi5f4d8b3ejr3RRJGfKBLrn2YJL5ezNS7w2TZLHSti8CMw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nolyfill/is-core-module": {
+ "version": "1.0.39",
+ "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz",
+ "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.4.0"
+ }
+ },
+ "node_modules/@radix-ui/number": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.1.tgz",
+ "integrity": "sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==",
+ "license": "MIT"
+ },
+ "node_modules/@radix-ui/primitive": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz",
+ "integrity": "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==",
+ "license": "MIT"
+ },
+ "node_modules/@radix-ui/react-arrow": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.7.tgz",
+ "integrity": "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-primitive": "2.1.3"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-collection": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.7.tgz",
+ "integrity": "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.2",
+ "@radix-ui/react-context": "1.1.2",
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-slot": "1.2.3"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz",
+ "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.2"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-compose-refs": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz",
+ "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-context": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz",
+ "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-dialog": {
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.15.tgz",
+ "integrity": "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.3",
+ "@radix-ui/react-compose-refs": "1.1.2",
+ "@radix-ui/react-context": "1.1.2",
+ "@radix-ui/react-dismissable-layer": "1.1.11",
+ "@radix-ui/react-focus-guards": "1.1.3",
+ "@radix-ui/react-focus-scope": "1.1.7",
+ "@radix-ui/react-id": "1.1.1",
+ "@radix-ui/react-portal": "1.1.9",
+ "@radix-ui/react-presence": "1.1.5",
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-slot": "1.2.3",
+ "@radix-ui/react-use-controllable-state": "1.2.2",
+ "aria-hidden": "^1.2.4",
+ "react-remove-scroll": "^2.6.3"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz",
+ "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.2"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-direction": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.1.tgz",
+ "integrity": "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-dismissable-layer": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz",
+ "integrity": "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.3",
+ "@radix-ui/react-compose-refs": "1.1.2",
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-use-callback-ref": "1.1.1",
+ "@radix-ui/react-use-escape-keydown": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-focus-guards": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz",
+ "integrity": "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-focus-scope": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz",
+ "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.2",
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-use-callback-ref": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-id": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz",
+ "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-use-layout-effect": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-label": {
+ "version": "2.1.8",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.8.tgz",
+ "integrity": "sha512-FmXs37I6hSBVDlO4y764TNz1rLgKwjJMQ0EGte6F3Cb3f4bIuHB/iLa/8I9VKkmOy+gNHq8rql3j686ACVV21A==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-primitive": "2.1.4"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-label/node_modules/@radix-ui/react-primitive": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.4.tgz",
+ "integrity": "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-slot": "1.2.4"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-popper": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.8.tgz",
+ "integrity": "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/react-dom": "^2.0.0",
+ "@radix-ui/react-arrow": "1.1.7",
+ "@radix-ui/react-compose-refs": "1.1.2",
+ "@radix-ui/react-context": "1.1.2",
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-use-callback-ref": "1.1.1",
+ "@radix-ui/react-use-layout-effect": "1.1.1",
+ "@radix-ui/react-use-rect": "1.1.1",
+ "@radix-ui/react-use-size": "1.1.1",
+ "@radix-ui/rect": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-portal": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz",
+ "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-use-layout-effect": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-presence": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.5.tgz",
+ "integrity": "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.2",
+ "@radix-ui/react-use-layout-effect": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-primitive": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz",
+ "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-slot": "1.2.3"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz",
+ "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.2"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-roving-focus": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.11.tgz",
+ "integrity": "sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.3",
+ "@radix-ui/react-collection": "1.1.7",
+ "@radix-ui/react-compose-refs": "1.1.2",
+ "@radix-ui/react-context": "1.1.2",
+ "@radix-ui/react-direction": "1.1.1",
+ "@radix-ui/react-id": "1.1.1",
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-use-callback-ref": "1.1.1",
+ "@radix-ui/react-use-controllable-state": "1.2.2"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-select": {
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.2.6.tgz",
+ "integrity": "sha512-I30RydO+bnn2PQztvo25tswPH+wFBjehVGtmagkU78yMdwTwVf12wnAOF+AeP8S2N8xD+5UPbGhkUfPyvT+mwQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/number": "1.1.1",
+ "@radix-ui/primitive": "1.1.3",
+ "@radix-ui/react-collection": "1.1.7",
+ "@radix-ui/react-compose-refs": "1.1.2",
+ "@radix-ui/react-context": "1.1.2",
+ "@radix-ui/react-direction": "1.1.1",
+ "@radix-ui/react-dismissable-layer": "1.1.11",
+ "@radix-ui/react-focus-guards": "1.1.3",
+ "@radix-ui/react-focus-scope": "1.1.7",
+ "@radix-ui/react-id": "1.1.1",
+ "@radix-ui/react-popper": "1.2.8",
+ "@radix-ui/react-portal": "1.1.9",
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-slot": "1.2.3",
+ "@radix-ui/react-use-callback-ref": "1.1.1",
+ "@radix-ui/react-use-controllable-state": "1.2.2",
+ "@radix-ui/react-use-layout-effect": "1.1.1",
+ "@radix-ui/react-use-previous": "1.1.1",
+ "@radix-ui/react-visually-hidden": "1.2.3",
+ "aria-hidden": "^1.2.4",
+ "react-remove-scroll": "^2.6.3"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz",
+ "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.2"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-slot": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.4.tgz",
+ "integrity": "sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.2"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-tabs": {
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.13.tgz",
+ "integrity": "sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.3",
+ "@radix-ui/react-context": "1.1.2",
+ "@radix-ui/react-direction": "1.1.1",
+ "@radix-ui/react-id": "1.1.1",
+ "@radix-ui/react-presence": "1.1.5",
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-roving-focus": "1.1.11",
+ "@radix-ui/react-use-controllable-state": "1.2.2"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-callback-ref": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz",
+ "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-controllable-state": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz",
+ "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-use-effect-event": "0.0.2",
+ "@radix-ui/react-use-layout-effect": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-effect-event": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz",
+ "integrity": "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-use-layout-effect": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-escape-keydown": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz",
+ "integrity": "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-use-callback-ref": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-layout-effect": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz",
+ "integrity": "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-previous": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.1.tgz",
+ "integrity": "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-rect": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.1.tgz",
+ "integrity": "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/rect": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-size": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.1.tgz",
+ "integrity": "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-use-layout-effect": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-visually-hidden": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.3.tgz",
+ "integrity": "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-primitive": "2.1.3"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/rect": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.1.tgz",
+ "integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==",
+ "license": "MIT"
+ },
+ "node_modules/@rtsao/scc": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz",
+ "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@standard-schema/utils": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz",
+ "integrity": "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==",
+ "license": "MIT"
+ },
+ "node_modules/@swc/helpers": {
+ "version": "0.5.15",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz",
+ "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.8.0"
+ }
+ },
+ "node_modules/@tailwindcss/node": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.18.tgz",
+ "integrity": "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/remapping": "^2.3.4",
+ "enhanced-resolve": "^5.18.3",
+ "jiti": "^2.6.1",
+ "lightningcss": "1.30.2",
+ "magic-string": "^0.30.21",
+ "source-map-js": "^1.2.1",
+ "tailwindcss": "4.1.18"
+ }
+ },
+ "node_modules/@tailwindcss/oxide": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.18.tgz",
+ "integrity": "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10"
+ },
+ "optionalDependencies": {
+ "@tailwindcss/oxide-android-arm64": "4.1.18",
+ "@tailwindcss/oxide-darwin-arm64": "4.1.18",
+ "@tailwindcss/oxide-darwin-x64": "4.1.18",
+ "@tailwindcss/oxide-freebsd-x64": "4.1.18",
+ "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18",
+ "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18",
+ "@tailwindcss/oxide-linux-arm64-musl": "4.1.18",
+ "@tailwindcss/oxide-linux-x64-gnu": "4.1.18",
+ "@tailwindcss/oxide-linux-x64-musl": "4.1.18",
+ "@tailwindcss/oxide-wasm32-wasi": "4.1.18",
+ "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18",
+ "@tailwindcss/oxide-win32-x64-msvc": "4.1.18"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-android-arm64": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.18.tgz",
+ "integrity": "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-darwin-arm64": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.18.tgz",
+ "integrity": "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-darwin-x64": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.18.tgz",
+ "integrity": "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-freebsd-x64": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.18.tgz",
+ "integrity": "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.18.tgz",
+ "integrity": "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm64-gnu": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.18.tgz",
+ "integrity": "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm64-musl": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.18.tgz",
+ "integrity": "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-x64-gnu": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.18.tgz",
+ "integrity": "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-x64-musl": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.18.tgz",
+ "integrity": "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-wasm32-wasi": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.18.tgz",
+ "integrity": "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==",
+ "bundleDependencies": [
+ "@napi-rs/wasm-runtime",
+ "@emnapi/core",
+ "@emnapi/runtime",
+ "@tybys/wasm-util",
+ "@emnapi/wasi-threads",
+ "tslib"
+ ],
+ "cpu": [
+ "wasm32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@emnapi/core": "^1.7.1",
+ "@emnapi/runtime": "^1.7.1",
+ "@emnapi/wasi-threads": "^1.1.0",
+ "@napi-rs/wasm-runtime": "^1.1.0",
+ "@tybys/wasm-util": "^0.10.1",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-win32-arm64-msvc": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz",
+ "integrity": "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-win32-x64-msvc": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.18.tgz",
+ "integrity": "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/postcss": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.18.tgz",
+ "integrity": "sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@alloc/quick-lru": "^5.2.0",
+ "@tailwindcss/node": "4.1.18",
+ "@tailwindcss/oxide": "4.1.18",
+ "postcss": "^8.4.41",
+ "tailwindcss": "4.1.18"
+ }
+ },
+ "node_modules/@tailwindcss/typography": {
+ "version": "0.5.19",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.19.tgz",
+ "integrity": "sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "postcss-selector-parser": "6.0.10"
+ },
+ "peerDependencies": {
+ "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1"
+ }
+ },
+ "node_modules/@tybys/wasm-util": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz",
+ "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@types/debug": {
+ "version": "4.1.12",
+ "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
+ "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/ms": "*"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
+ "license": "MIT"
+ },
+ "node_modules/@types/estree-jsx": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz",
+ "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "*"
+ }
+ },
+ "node_modules/@types/hast": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
+ "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "*"
+ }
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/json5": {
+ "version": "0.0.29",
+ "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
+ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/mdast": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
+ "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "*"
+ }
+ },
+ "node_modules/@types/ms": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
+ "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
+ "license": "MIT"
+ },
+ "node_modules/@types/node": {
+ "version": "20.19.27",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.27.tgz",
+ "integrity": "sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": "~6.21.0"
+ }
+ },
+ "node_modules/@types/react": {
+ "version": "19.2.7",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz",
+ "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "csstype": "^3.2.2"
+ }
+ },
+ "node_modules/@types/react-dom": {
+ "version": "19.2.3",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz",
+ "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==",
+ "devOptional": true,
+ "license": "MIT",
+ "peer": true,
+ "peerDependencies": {
+ "@types/react": "^19.2.0"
+ }
+ },
+ "node_modules/@types/unist": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
+ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
+ "license": "MIT"
+ },
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "8.51.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.51.0.tgz",
+ "integrity": "sha512-XtssGWJvypyM2ytBnSnKtHYOGT+4ZwTnBVl36TA4nRO2f4PRNGz5/1OszHzcZCvcBMh+qb7I06uoCmLTRdR9og==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/regexpp": "^4.10.0",
+ "@typescript-eslint/scope-manager": "8.51.0",
+ "@typescript-eslint/type-utils": "8.51.0",
+ "@typescript-eslint/utils": "8.51.0",
+ "@typescript-eslint/visitor-keys": "8.51.0",
+ "ignore": "^7.0.0",
+ "natural-compare": "^1.4.0",
+ "ts-api-utils": "^2.2.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^8.51.0",
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": {
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
+ "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "8.51.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.51.0.tgz",
+ "integrity": "sha512-3xP4XzzDNQOIqBMWogftkwxhg5oMKApqY0BAflmLZiFYHqyhSOxv/cd/zPQLTcCXr4AkaKb25joocY0BD1WC6A==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "8.51.0",
+ "@typescript-eslint/types": "8.51.0",
+ "@typescript-eslint/typescript-estree": "8.51.0",
+ "@typescript-eslint/visitor-keys": "8.51.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/project-service": {
+ "version": "8.51.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.51.0.tgz",
+ "integrity": "sha512-Luv/GafO07Z7HpiI7qeEW5NW8HUtZI/fo/kE0YbtQEFpJRUuR0ajcWfCE5bnMvL7QQFrmT/odMe8QZww8X2nfQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/tsconfig-utils": "^8.51.0",
+ "@typescript-eslint/types": "^8.51.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "8.51.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.51.0.tgz",
+ "integrity": "sha512-JhhJDVwsSx4hiOEQPeajGhCWgBMBwVkxC/Pet53EpBVs7zHHtayKefw1jtPaNRXpI9RA2uocdmpdfE7T+NrizA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "8.51.0",
+ "@typescript-eslint/visitor-keys": "8.51.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/tsconfig-utils": {
+ "version": "8.51.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.51.0.tgz",
+ "integrity": "sha512-Qi5bSy/vuHeWyir2C8u/uqGMIlIDu8fuiYWv48ZGlZ/k+PRPHtaAu7erpc7p5bzw2WNNSniuxoMSO4Ar6V9OXw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "8.51.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.51.0.tgz",
+ "integrity": "sha512-0XVtYzxnobc9K0VU7wRWg1yiUrw4oQzexCG2V2IDxxCxhqBMSMbjB+6o91A+Uc0GWtgjCa3Y8bi7hwI0Tu4n5Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "8.51.0",
+ "@typescript-eslint/typescript-estree": "8.51.0",
+ "@typescript-eslint/utils": "8.51.0",
+ "debug": "^4.3.4",
+ "ts-api-utils": "^2.2.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "8.51.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.51.0.tgz",
+ "integrity": "sha512-TizAvWYFM6sSscmEakjY3sPqGwxZRSywSsPEiuZF6d5GmGD9Gvlsv0f6N8FvAAA0CD06l3rIcWNbsN1e5F/9Ag==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "8.51.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.51.0.tgz",
+ "integrity": "sha512-1qNjGqFRmlq0VW5iVlcyHBbCjPB7y6SxpBkrbhNWMy/65ZoncXCEPJxkRZL8McrseNH6lFhaxCIaX+vBuFnRng==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/project-service": "8.51.0",
+ "@typescript-eslint/tsconfig-utils": "8.51.0",
+ "@typescript-eslint/types": "8.51.0",
+ "@typescript-eslint/visitor-keys": "8.51.0",
+ "debug": "^4.3.4",
+ "minimatch": "^9.0.4",
+ "semver": "^7.6.0",
+ "tinyglobby": "^0.2.15",
+ "ts-api-utils": "^2.2.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
+ "version": "7.7.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@typescript-eslint/utils": {
+ "version": "8.51.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.51.0.tgz",
+ "integrity": "sha512-11rZYxSe0zabiKaCP2QAwRf/dnmgFgvTmeDTtZvUvXG3UuAdg/GU02NExmmIXzz3vLGgMdtrIosI84jITQOxUA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.7.0",
+ "@typescript-eslint/scope-manager": "8.51.0",
+ "@typescript-eslint/types": "8.51.0",
+ "@typescript-eslint/typescript-estree": "8.51.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "8.51.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.51.0.tgz",
+ "integrity": "sha512-mM/JRQOzhVN1ykejrvwnBRV3+7yTKK8tVANVN3o1O0t0v7o+jqdVu9crPy5Y9dov15TJk/FTIgoUGHrTOVL3Zg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "8.51.0",
+ "eslint-visitor-keys": "^4.2.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@ungap/structured-clone": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz",
+ "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==",
+ "license": "ISC"
+ },
+ "node_modules/@unrs/resolver-binding-android-arm-eabi": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz",
+ "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-android-arm64": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz",
+ "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-darwin-arm64": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz",
+ "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-darwin-x64": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz",
+ "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-freebsd-x64": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz",
+ "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz",
+ "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz",
+ "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-arm64-gnu": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz",
+ "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-arm64-musl": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz",
+ "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz",
+ "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz",
+ "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-riscv64-musl": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz",
+ "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-s390x-gnu": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz",
+ "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-x64-gnu": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz",
+ "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-x64-musl": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz",
+ "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-wasm32-wasi": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz",
+ "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==",
+ "cpu": [
+ "wasm32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@napi-rs/wasm-runtime": "^0.2.11"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@unrs/resolver-binding-win32-arm64-msvc": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz",
+ "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-win32-ia32-msvc": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz",
+ "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-win32-x64-msvc": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz",
+ "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/acorn": {
+ "version": "8.15.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true,
+ "license": "Python-2.0"
+ },
+ "node_modules/aria-hidden": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz",
+ "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/aria-query": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz",
+ "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/array-buffer-byte-length": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz",
+ "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "is-array-buffer": "^3.0.5"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array-includes": {
+ "version": "3.1.9",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz",
+ "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.24.0",
+ "es-object-atoms": "^1.1.1",
+ "get-intrinsic": "^1.3.0",
+ "is-string": "^1.1.1",
+ "math-intrinsics": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.findlast": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz",
+ "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "es-shim-unscopables": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.findlastindex": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz",
+ "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.9",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "es-shim-unscopables": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.flat": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz",
+ "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-shim-unscopables": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.flatmap": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz",
+ "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-shim-unscopables": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.tosorted": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz",
+ "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.3",
+ "es-errors": "^1.3.0",
+ "es-shim-unscopables": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/arraybuffer.prototype.slice": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz",
+ "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.1",
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6",
+ "is-array-buffer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/ast-types-flow": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz",
+ "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/async-function": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz",
+ "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/available-typed-arrays": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+ "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "possible-typed-array-names": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/axe-core": {
+ "version": "4.11.0",
+ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.0.tgz",
+ "integrity": "sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ==",
+ "dev": true,
+ "license": "MPL-2.0",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/axobject-query": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
+ "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/bail": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
+ "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/baseline-browser-mapping": {
+ "version": "2.9.11",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.11.tgz",
+ "integrity": "sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==",
+ "license": "Apache-2.0",
+ "bin": {
+ "baseline-browser-mapping": "dist/cli.js"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz",
+ "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "baseline-browser-mapping": "^2.9.0",
+ "caniuse-lite": "^1.0.30001759",
+ "electron-to-chromium": "^1.5.263",
+ "node-releases": "^2.0.27",
+ "update-browserslist-db": "^1.2.0"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
+ "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.0",
+ "es-define-property": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/call-bind-apply-helpers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/call-bound": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001762",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001762.tgz",
+ "integrity": "sha512-PxZwGNvH7Ak8WX5iXzoK1KPZttBXNPuaOvI2ZYU7NrlM+d9Ov+TUvlLOBNGzVXAntMSMMlJPd+jY6ovrVjSmUw==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "CC-BY-4.0"
+ },
+ "node_modules/ccount": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
+ "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/character-entities": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
+ "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/character-entities-html4": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz",
+ "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/character-entities-legacy": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
+ "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/character-reference-invalid": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz",
+ "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/class-variance-authority": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz",
+ "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "clsx": "^2.1.1"
+ },
+ "funding": {
+ "url": "https://polar.sh/cva"
+ }
+ },
+ "node_modules/client-only": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
+ "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==",
+ "license": "MIT"
+ },
+ "node_modules/clsx": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
+ "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/comma-separated-tokens": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
+ "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "cssesc": "bin/cssesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
+ "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
+ "license": "MIT"
+ },
+ "node_modules/damerau-levenshtein": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
+ "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==",
+ "dev": true,
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/data-view-buffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz",
+ "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/data-view-byte-length": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz",
+ "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/inspect-js"
+ }
+ },
+ "node_modules/data-view-byte-offset": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz",
+ "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decode-named-character-reference": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz",
+ "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==",
+ "license": "MIT",
+ "dependencies": {
+ "character-entities": "^2.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/define-properties": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-data-property": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/dequal": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/detect-libc": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
+ "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
+ "devOptional": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/detect-node-es": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz",
+ "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==",
+ "license": "MIT"
+ },
+ "node_modules/devlop": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
+ "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
+ "license": "MIT",
+ "dependencies": {
+ "dequal": "^2.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/dunder-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.5.267",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz",
+ "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/enhanced-resolve": {
+ "version": "5.18.4",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz",
+ "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/es-abstract": {
+ "version": "1.24.1",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz",
+ "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.2",
+ "arraybuffer.prototype.slice": "^1.0.4",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "data-view-buffer": "^1.0.2",
+ "data-view-byte-length": "^1.0.2",
+ "data-view-byte-offset": "^1.0.1",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "es-set-tostringtag": "^2.1.0",
+ "es-to-primitive": "^1.3.0",
+ "function.prototype.name": "^1.1.8",
+ "get-intrinsic": "^1.3.0",
+ "get-proto": "^1.0.1",
+ "get-symbol-description": "^1.1.0",
+ "globalthis": "^1.0.4",
+ "gopd": "^1.2.0",
+ "has-property-descriptors": "^1.0.2",
+ "has-proto": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "internal-slot": "^1.1.0",
+ "is-array-buffer": "^3.0.5",
+ "is-callable": "^1.2.7",
+ "is-data-view": "^1.0.2",
+ "is-negative-zero": "^2.0.3",
+ "is-regex": "^1.2.1",
+ "is-set": "^2.0.3",
+ "is-shared-array-buffer": "^1.0.4",
+ "is-string": "^1.1.1",
+ "is-typed-array": "^1.1.15",
+ "is-weakref": "^1.1.1",
+ "math-intrinsics": "^1.1.0",
+ "object-inspect": "^1.13.4",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.7",
+ "own-keys": "^1.0.1",
+ "regexp.prototype.flags": "^1.5.4",
+ "safe-array-concat": "^1.1.3",
+ "safe-push-apply": "^1.0.0",
+ "safe-regex-test": "^1.1.0",
+ "set-proto": "^1.0.0",
+ "stop-iteration-iterator": "^1.1.0",
+ "string.prototype.trim": "^1.2.10",
+ "string.prototype.trimend": "^1.0.9",
+ "string.prototype.trimstart": "^1.0.8",
+ "typed-array-buffer": "^1.0.3",
+ "typed-array-byte-length": "^1.0.3",
+ "typed-array-byte-offset": "^1.0.4",
+ "typed-array-length": "^1.0.7",
+ "unbox-primitive": "^1.1.0",
+ "which-typed-array": "^1.1.19"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es-define-property": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-iterator-helpers": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz",
+ "integrity": "sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.24.1",
+ "es-errors": "^1.3.0",
+ "es-set-tostringtag": "^2.1.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.3.0",
+ "globalthis": "^1.0.4",
+ "gopd": "^1.2.0",
+ "has-property-descriptors": "^1.0.2",
+ "has-proto": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "internal-slot": "^1.1.0",
+ "iterator.prototype": "^1.1.5",
+ "safe-array-concat": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-object-atoms": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+ "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-set-tostringtag": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
+ "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-shim-unscopables": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz",
+ "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-to-primitive": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz",
+ "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-callable": "^1.2.7",
+ "is-date-object": "^1.0.5",
+ "is-symbol": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "9.39.2",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz",
+ "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.8.0",
+ "@eslint-community/regexpp": "^4.12.1",
+ "@eslint/config-array": "^0.21.1",
+ "@eslint/config-helpers": "^0.4.2",
+ "@eslint/core": "^0.17.0",
+ "@eslint/eslintrc": "^3.3.1",
+ "@eslint/js": "9.39.2",
+ "@eslint/plugin-kit": "^0.4.1",
+ "@humanfs/node": "^0.16.6",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@humanwhocodes/retry": "^0.4.2",
+ "@types/estree": "^1.0.6",
+ "ajv": "^6.12.4",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.6",
+ "debug": "^4.3.2",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^8.4.0",
+ "eslint-visitor-keys": "^4.2.1",
+ "espree": "^10.4.0",
+ "esquery": "^1.5.0",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^8.0.0",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "ignore": "^5.2.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.3"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://eslint.org/donate"
+ },
+ "peerDependencies": {
+ "jiti": "*"
+ },
+ "peerDependenciesMeta": {
+ "jiti": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-config-next": {
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-16.1.1.tgz",
+ "integrity": "sha512-55nTpVWm3qeuxoQKLOjQVciKZJUphKrNM0fCcQHAIOGl6VFXgaqeMfv0aKJhs7QtcnlAPhNVqsqRfRjeKBPIUA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@next/eslint-plugin-next": "16.1.1",
+ "eslint-import-resolver-node": "^0.3.6",
+ "eslint-import-resolver-typescript": "^3.5.2",
+ "eslint-plugin-import": "^2.32.0",
+ "eslint-plugin-jsx-a11y": "^6.10.0",
+ "eslint-plugin-react": "^7.37.0",
+ "eslint-plugin-react-hooks": "^7.0.0",
+ "globals": "16.4.0",
+ "typescript-eslint": "^8.46.0"
+ },
+ "peerDependencies": {
+ "eslint": ">=9.0.0",
+ "typescript": ">=3.3.1"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-config-next/node_modules/globals": {
+ "version": "16.4.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz",
+ "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint-import-resolver-node": {
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
+ "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^3.2.7",
+ "is-core-module": "^2.13.0",
+ "resolve": "^1.22.4"
+ }
+ },
+ "node_modules/eslint-import-resolver-node/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/eslint-import-resolver-typescript": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz",
+ "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@nolyfill/is-core-module": "1.0.39",
+ "debug": "^4.4.0",
+ "get-tsconfig": "^4.10.0",
+ "is-bun-module": "^2.0.0",
+ "stable-hash": "^0.0.5",
+ "tinyglobby": "^0.2.13",
+ "unrs-resolver": "^1.6.2"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint-import-resolver-typescript"
+ },
+ "peerDependencies": {
+ "eslint": "*",
+ "eslint-plugin-import": "*",
+ "eslint-plugin-import-x": "*"
+ },
+ "peerDependenciesMeta": {
+ "eslint-plugin-import": {
+ "optional": true
+ },
+ "eslint-plugin-import-x": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-module-utils": {
+ "version": "2.12.1",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz",
+ "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^3.2.7"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "peerDependenciesMeta": {
+ "eslint": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-module-utils/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/eslint-plugin-import": {
+ "version": "2.32.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz",
+ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@rtsao/scc": "^1.1.0",
+ "array-includes": "^3.1.9",
+ "array.prototype.findlastindex": "^1.2.6",
+ "array.prototype.flat": "^1.3.3",
+ "array.prototype.flatmap": "^1.3.3",
+ "debug": "^3.2.7",
+ "doctrine": "^2.1.0",
+ "eslint-import-resolver-node": "^0.3.9",
+ "eslint-module-utils": "^2.12.1",
+ "hasown": "^2.0.2",
+ "is-core-module": "^2.16.1",
+ "is-glob": "^4.0.3",
+ "minimatch": "^3.1.2",
+ "object.fromentries": "^2.0.8",
+ "object.groupby": "^1.0.3",
+ "object.values": "^1.2.1",
+ "semver": "^6.3.1",
+ "string.prototype.trimend": "^1.0.9",
+ "tsconfig-paths": "^3.15.0"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "peerDependencies": {
+ "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9"
+ }
+ },
+ "node_modules/eslint-plugin-import/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/eslint-plugin-jsx-a11y": {
+ "version": "6.10.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz",
+ "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "aria-query": "^5.3.2",
+ "array-includes": "^3.1.8",
+ "array.prototype.flatmap": "^1.3.2",
+ "ast-types-flow": "^0.0.8",
+ "axe-core": "^4.10.0",
+ "axobject-query": "^4.1.0",
+ "damerau-levenshtein": "^1.0.8",
+ "emoji-regex": "^9.2.2",
+ "hasown": "^2.0.2",
+ "jsx-ast-utils": "^3.3.5",
+ "language-tags": "^1.0.9",
+ "minimatch": "^3.1.2",
+ "object.fromentries": "^2.0.8",
+ "safe-regex-test": "^1.0.3",
+ "string.prototype.includes": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependencies": {
+ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9"
+ }
+ },
+ "node_modules/eslint-plugin-react": {
+ "version": "7.37.5",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz",
+ "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-includes": "^3.1.8",
+ "array.prototype.findlast": "^1.2.5",
+ "array.prototype.flatmap": "^1.3.3",
+ "array.prototype.tosorted": "^1.1.4",
+ "doctrine": "^2.1.0",
+ "es-iterator-helpers": "^1.2.1",
+ "estraverse": "^5.3.0",
+ "hasown": "^2.0.2",
+ "jsx-ast-utils": "^2.4.1 || ^3.0.0",
+ "minimatch": "^3.1.2",
+ "object.entries": "^1.1.9",
+ "object.fromentries": "^2.0.8",
+ "object.values": "^1.2.1",
+ "prop-types": "^15.8.1",
+ "resolve": "^2.0.0-next.5",
+ "semver": "^6.3.1",
+ "string.prototype.matchall": "^4.0.12",
+ "string.prototype.repeat": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "peerDependencies": {
+ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7"
+ }
+ },
+ "node_modules/eslint-plugin-react-hooks": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz",
+ "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.24.4",
+ "@babel/parser": "^7.24.4",
+ "hermes-parser": "^0.25.1",
+ "zod": "^3.25.0 || ^4.0.0",
+ "zod-validation-error": "^3.5.0 || ^4.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-react/node_modules/resolve": {
+ "version": "2.0.0-next.5",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz",
+ "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-core-module": "^2.13.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz",
+ "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
+ "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/espree": {
+ "version": "10.4.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
+ "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "acorn": "^8.15.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^4.2.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz",
+ "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estree-util-is-identifier-name": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz",
+ "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==",
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "license": "MIT"
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
+ "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fast-glob/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fastq": {
+ "version": "1.20.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz",
+ "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/file-entry-cache": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
+ "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "flat-cache": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
+ "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.4"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
+ "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/for-each": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz",
+ "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-callable": "^1.2.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/function.prototype.name": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz",
+ "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "functions-have-names": "^1.2.3",
+ "hasown": "^2.0.2",
+ "is-callable": "^1.2.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/functions-have-names": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
+ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/generator-function": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz",
+ "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-nonce": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz",
+ "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/get-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/get-symbol-description": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz",
+ "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-tsconfig": {
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz",
+ "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "resolve-pkg-maps": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/globals": {
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+ "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globalthis": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz",
+ "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-properties": "^1.2.1",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/gopd": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/has-bigints": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz",
+ "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/has-property-descriptors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-define-property": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-proto": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz",
+ "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-tostringtag": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-symbols": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/hast-util-to-jsx-runtime": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz",
+ "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "@types/hast": "^3.0.0",
+ "@types/unist": "^3.0.0",
+ "comma-separated-tokens": "^2.0.0",
+ "devlop": "^1.0.0",
+ "estree-util-is-identifier-name": "^3.0.0",
+ "hast-util-whitespace": "^3.0.0",
+ "mdast-util-mdx-expression": "^2.0.0",
+ "mdast-util-mdx-jsx": "^3.0.0",
+ "mdast-util-mdxjs-esm": "^2.0.0",
+ "property-information": "^7.0.0",
+ "space-separated-tokens": "^2.0.0",
+ "style-to-js": "^1.0.0",
+ "unist-util-position": "^5.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-whitespace": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz",
+ "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/hast": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hermes-estree": {
+ "version": "0.25.1",
+ "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz",
+ "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/hermes-parser": {
+ "version": "0.25.1",
+ "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz",
+ "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "hermes-estree": "0.25.1"
+ }
+ },
+ "node_modules/html-url-attributes": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz",
+ "integrity": "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==",
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/ignore": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
+ "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/inline-style-parser": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz",
+ "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==",
+ "license": "MIT"
+ },
+ "node_modules/internal-slot": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz",
+ "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "hasown": "^2.0.2",
+ "side-channel": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/is-alphabetical": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz",
+ "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-alphanumerical": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
+ "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==",
+ "license": "MIT",
+ "dependencies": {
+ "is-alphabetical": "^2.0.0",
+ "is-decimal": "^2.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-array-buffer": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz",
+ "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "get-intrinsic": "^1.2.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-async-function": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz",
+ "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "async-function": "^1.0.0",
+ "call-bound": "^1.0.3",
+ "get-proto": "^1.0.1",
+ "has-tostringtag": "^1.0.2",
+ "safe-regex-test": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-bigint": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz",
+ "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-bigints": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-boolean-object": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz",
+ "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-bun-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz",
+ "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "semver": "^7.7.1"
+ }
+ },
+ "node_modules/is-bun-module/node_modules/semver": {
+ "version": "7.7.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/is-callable": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.16.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
+ "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-data-view": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz",
+ "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "get-intrinsic": "^1.2.6",
+ "is-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-date-object": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz",
+ "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-decimal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
+ "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-finalizationregistry": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz",
+ "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-generator-function": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz",
+ "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.4",
+ "generator-function": "^2.0.0",
+ "get-proto": "^1.0.1",
+ "has-tostringtag": "^1.0.2",
+ "safe-regex-test": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-hexadecimal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz",
+ "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-map": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
+ "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-negative-zero": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
+ "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-number-object": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz",
+ "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-plain-obj": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
+ "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-regex": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz",
+ "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-set": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
+ "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-shared-array-buffer": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz",
+ "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-string": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz",
+ "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-symbol": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz",
+ "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "has-symbols": "^1.1.0",
+ "safe-regex-test": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-typed-array": {
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz",
+ "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "which-typed-array": "^1.1.16"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakmap": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
+ "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakref": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz",
+ "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakset": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz",
+ "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "get-intrinsic": "^1.2.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/iterator.prototype": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz",
+ "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.6",
+ "get-proto": "^1.0.0",
+ "has-symbols": "^1.1.0",
+ "set-function-name": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/jiti": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz",
+ "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jiti": "lib/jiti-cli.mjs"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+ "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsesc": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/json-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsx-ast-utils": {
+ "version": "3.3.5",
+ "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz",
+ "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-includes": "^3.1.6",
+ "array.prototype.flat": "^1.3.1",
+ "object.assign": "^4.1.4",
+ "object.values": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/keyv": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
+ },
+ "node_modules/language-subtag-registry": {
+ "version": "0.3.23",
+ "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz",
+ "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==",
+ "dev": true,
+ "license": "CC0-1.0"
+ },
+ "node_modules/language-tags": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz",
+ "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "language-subtag-registry": "^0.3.20"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/lightningcss": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz",
+ "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==",
+ "dev": true,
+ "license": "MPL-2.0",
+ "dependencies": {
+ "detect-libc": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "lightningcss-android-arm64": "1.30.2",
+ "lightningcss-darwin-arm64": "1.30.2",
+ "lightningcss-darwin-x64": "1.30.2",
+ "lightningcss-freebsd-x64": "1.30.2",
+ "lightningcss-linux-arm-gnueabihf": "1.30.2",
+ "lightningcss-linux-arm64-gnu": "1.30.2",
+ "lightningcss-linux-arm64-musl": "1.30.2",
+ "lightningcss-linux-x64-gnu": "1.30.2",
+ "lightningcss-linux-x64-musl": "1.30.2",
+ "lightningcss-win32-arm64-msvc": "1.30.2",
+ "lightningcss-win32-x64-msvc": "1.30.2"
+ }
+ },
+ "node_modules/lightningcss-android-arm64": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz",
+ "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-darwin-arm64": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz",
+ "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-darwin-x64": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz",
+ "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-freebsd-x64": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz",
+ "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm-gnueabihf": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz",
+ "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm64-gnu": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz",
+ "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm64-musl": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz",
+ "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-x64-gnu": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz",
+ "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-x64-musl": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz",
+ "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-win32-arm64-msvc": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz",
+ "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-win32-x64-msvc": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz",
+ "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/longest-streak": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz",
+ "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/lucide-react": {
+ "version": "0.562.0",
+ "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.562.0.tgz",
+ "integrity": "sha512-82hOAu7y0dbVuFfmO4bYF1XEwYk/mEbM5E+b1jgci/udUBEE/R7LF5Ip0CCEmXe8AybRM8L+04eP+LGZeDvkiw==",
+ "license": "ISC",
+ "peerDependencies": {
+ "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.30.21",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
+ "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.5"
+ }
+ },
+ "node_modules/markdown-table": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz",
+ "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/mdast-util-find-and-replace": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz",
+ "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "escape-string-regexp": "^5.0.0",
+ "unist-util-is": "^6.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
+ "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/mdast-util-from-markdown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz",
+ "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "@types/unist": "^3.0.0",
+ "decode-named-character-reference": "^1.0.0",
+ "devlop": "^1.0.0",
+ "mdast-util-to-string": "^4.0.0",
+ "micromark": "^4.0.0",
+ "micromark-util-decode-numeric-character-reference": "^2.0.0",
+ "micromark-util-decode-string": "^2.0.0",
+ "micromark-util-normalize-identifier": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0",
+ "unist-util-stringify-position": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-gfm": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz",
+ "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==",
+ "license": "MIT",
+ "dependencies": {
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-gfm-autolink-literal": "^2.0.0",
+ "mdast-util-gfm-footnote": "^2.0.0",
+ "mdast-util-gfm-strikethrough": "^2.0.0",
+ "mdast-util-gfm-table": "^2.0.0",
+ "mdast-util-gfm-task-list-item": "^2.0.0",
+ "mdast-util-to-markdown": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-gfm-autolink-literal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz",
+ "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "ccount": "^2.0.0",
+ "devlop": "^1.0.0",
+ "mdast-util-find-and-replace": "^3.0.0",
+ "micromark-util-character": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-gfm-footnote": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz",
+ "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "devlop": "^1.1.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-to-markdown": "^2.0.0",
+ "micromark-util-normalize-identifier": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-gfm-strikethrough": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz",
+ "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-to-markdown": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-gfm-table": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz",
+ "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "devlop": "^1.0.0",
+ "markdown-table": "^3.0.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-to-markdown": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-gfm-task-list-item": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz",
+ "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "devlop": "^1.0.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-to-markdown": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-mdx-expression": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz",
+ "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree-jsx": "^1.0.0",
+ "@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
+ "devlop": "^1.0.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-to-markdown": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-mdx-jsx": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz",
+ "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree-jsx": "^1.0.0",
+ "@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
+ "@types/unist": "^3.0.0",
+ "ccount": "^2.0.0",
+ "devlop": "^1.1.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-to-markdown": "^2.0.0",
+ "parse-entities": "^4.0.0",
+ "stringify-entities": "^4.0.0",
+ "unist-util-stringify-position": "^4.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-mdxjs-esm": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz",
+ "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree-jsx": "^1.0.0",
+ "@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
+ "devlop": "^1.0.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-to-markdown": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-phrasing": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz",
+ "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "unist-util-is": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-to-hast": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz",
+ "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
+ "@ungap/structured-clone": "^1.0.0",
+ "devlop": "^1.0.0",
+ "micromark-util-sanitize-uri": "^2.0.0",
+ "trim-lines": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit": "^5.0.0",
+ "vfile": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-to-markdown": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz",
+ "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "@types/unist": "^3.0.0",
+ "longest-streak": "^3.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "mdast-util-to-string": "^4.0.0",
+ "micromark-util-classify-character": "^2.0.0",
+ "micromark-util-decode-string": "^2.0.0",
+ "unist-util-visit": "^5.0.0",
+ "zwitch": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-to-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz",
+ "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/micromark": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz",
+ "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@types/debug": "^4.0.0",
+ "debug": "^4.0.0",
+ "decode-named-character-reference": "^1.0.0",
+ "devlop": "^1.0.0",
+ "micromark-core-commonmark": "^2.0.0",
+ "micromark-factory-space": "^2.0.0",
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-chunked": "^2.0.0",
+ "micromark-util-combine-extensions": "^2.0.0",
+ "micromark-util-decode-numeric-character-reference": "^2.0.0",
+ "micromark-util-encode": "^2.0.0",
+ "micromark-util-normalize-identifier": "^2.0.0",
+ "micromark-util-resolve-all": "^2.0.0",
+ "micromark-util-sanitize-uri": "^2.0.0",
+ "micromark-util-subtokenize": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-core-commonmark": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz",
+ "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "decode-named-character-reference": "^1.0.0",
+ "devlop": "^1.0.0",
+ "micromark-factory-destination": "^2.0.0",
+ "micromark-factory-label": "^2.0.0",
+ "micromark-factory-space": "^2.0.0",
+ "micromark-factory-title": "^2.0.0",
+ "micromark-factory-whitespace": "^2.0.0",
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-chunked": "^2.0.0",
+ "micromark-util-classify-character": "^2.0.0",
+ "micromark-util-html-tag-name": "^2.0.0",
+ "micromark-util-normalize-identifier": "^2.0.0",
+ "micromark-util-resolve-all": "^2.0.0",
+ "micromark-util-subtokenize": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-extension-gfm": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz",
+ "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==",
+ "license": "MIT",
+ "dependencies": {
+ "micromark-extension-gfm-autolink-literal": "^2.0.0",
+ "micromark-extension-gfm-footnote": "^2.0.0",
+ "micromark-extension-gfm-strikethrough": "^2.0.0",
+ "micromark-extension-gfm-table": "^2.0.0",
+ "micromark-extension-gfm-tagfilter": "^2.0.0",
+ "micromark-extension-gfm-task-list-item": "^2.0.0",
+ "micromark-util-combine-extensions": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/micromark-extension-gfm-autolink-literal": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz",
+ "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==",
+ "license": "MIT",
+ "dependencies": {
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-sanitize-uri": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/micromark-extension-gfm-footnote": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz",
+ "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==",
+ "license": "MIT",
+ "dependencies": {
+ "devlop": "^1.0.0",
+ "micromark-core-commonmark": "^2.0.0",
+ "micromark-factory-space": "^2.0.0",
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-normalize-identifier": "^2.0.0",
+ "micromark-util-sanitize-uri": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/micromark-extension-gfm-strikethrough": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz",
+ "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==",
+ "license": "MIT",
+ "dependencies": {
+ "devlop": "^1.0.0",
+ "micromark-util-chunked": "^2.0.0",
+ "micromark-util-classify-character": "^2.0.0",
+ "micromark-util-resolve-all": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/micromark-extension-gfm-table": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz",
+ "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==",
+ "license": "MIT",
+ "dependencies": {
+ "devlop": "^1.0.0",
+ "micromark-factory-space": "^2.0.0",
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/micromark-extension-gfm-tagfilter": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz",
+ "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==",
+ "license": "MIT",
+ "dependencies": {
+ "micromark-util-types": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/micromark-extension-gfm-task-list-item": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz",
+ "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==",
+ "license": "MIT",
+ "dependencies": {
+ "devlop": "^1.0.0",
+ "micromark-factory-space": "^2.0.0",
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/micromark-factory-destination": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz",
+ "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-factory-label": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz",
+ "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "devlop": "^1.0.0",
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-factory-space": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz",
+ "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-factory-title": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz",
+ "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "micromark-factory-space": "^2.0.0",
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-factory-whitespace": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz",
+ "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "micromark-factory-space": "^2.0.0",
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-util-character": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz",
+ "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-util-chunked": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz",
+ "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "micromark-util-symbol": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-util-classify-character": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz",
+ "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-util-combine-extensions": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz",
+ "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "micromark-util-chunked": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-util-decode-numeric-character-reference": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz",
+ "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "micromark-util-symbol": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-util-decode-string": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz",
+ "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "decode-named-character-reference": "^1.0.0",
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-decode-numeric-character-reference": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-util-encode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz",
+ "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/micromark-util-html-tag-name": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz",
+ "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/micromark-util-normalize-identifier": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz",
+ "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "micromark-util-symbol": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-util-resolve-all": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz",
+ "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "micromark-util-types": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-util-sanitize-uri": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz",
+ "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-encode": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-util-subtokenize": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz",
+ "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "devlop": "^1.0.0",
+ "micromark-util-chunked": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-util-symbol": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz",
+ "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/micromark-util-types": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz",
+ "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "license": "MIT"
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.11",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
+ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/napi-postinstall": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz",
+ "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "napi-postinstall": "lib/cli.js"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/napi-postinstall"
+ }
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/next": {
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/next/-/next-16.1.1.tgz",
+ "integrity": "sha512-QI+T7xrxt1pF6SQ/JYFz95ro/mg/1Znk5vBebsWwbpejj1T0A23hO7GYEaVac9QUOT2BIMiuzm0L99ooq7k0/w==",
+ "license": "MIT",
+ "dependencies": {
+ "@next/env": "16.1.1",
+ "@swc/helpers": "0.5.15",
+ "baseline-browser-mapping": "^2.8.3",
+ "caniuse-lite": "^1.0.30001579",
+ "postcss": "8.4.31",
+ "styled-jsx": "5.1.6"
+ },
+ "bin": {
+ "next": "dist/bin/next"
+ },
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "optionalDependencies": {
+ "@next/swc-darwin-arm64": "16.1.1",
+ "@next/swc-darwin-x64": "16.1.1",
+ "@next/swc-linux-arm64-gnu": "16.1.1",
+ "@next/swc-linux-arm64-musl": "16.1.1",
+ "@next/swc-linux-x64-gnu": "16.1.1",
+ "@next/swc-linux-x64-musl": "16.1.1",
+ "@next/swc-win32-arm64-msvc": "16.1.1",
+ "@next/swc-win32-x64-msvc": "16.1.1",
+ "sharp": "^0.34.4"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": "^1.1.0",
+ "@playwright/test": "^1.51.1",
+ "babel-plugin-react-compiler": "*",
+ "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0",
+ "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0",
+ "sass": "^1.3.0"
+ },
+ "peerDependenciesMeta": {
+ "@opentelemetry/api": {
+ "optional": true
+ },
+ "@playwright/test": {
+ "optional": true
+ },
+ "babel-plugin-react-compiler": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/next/node_modules/postcss": {
+ "version": "8.4.31",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
+ "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "nanoid": "^3.3.6",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.27",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
+ "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.13.4",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+ "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object.assign": {
+ "version": "4.1.7",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz",
+ "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0",
+ "has-symbols": "^1.1.0",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.entries": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz",
+ "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object.fromentries": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz",
+ "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.groupby": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz",
+ "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object.values": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz",
+ "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.9.4",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.5"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/own-keys": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz",
+ "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "get-intrinsic": "^1.2.6",
+ "object-keys": "^1.1.1",
+ "safe-push-apply": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-entities": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz",
+ "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "character-entities-legacy": "^3.0.0",
+ "character-reference-invalid": "^2.0.0",
+ "decode-named-character-reference": "^1.0.0",
+ "is-alphanumerical": "^2.0.0",
+ "is-decimal": "^2.0.0",
+ "is-hexadecimal": "^2.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/parse-entities/node_modules/@types/unist": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
+ "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
+ "license": "MIT"
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "license": "ISC"
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/possible-typed-array-names": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz",
+ "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.5.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
+ "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "nanoid": "^3.3.11",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/postcss-selector-parser": {
+ "version": "6.0.10",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
+ "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/prop-types": {
+ "version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ }
+ },
+ "node_modules/property-information": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz",
+ "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/punycode": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/react": {
+ "version": "19.2.3",
+ "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz",
+ "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-dom": {
+ "version": "19.2.3",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz",
+ "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "scheduler": "^0.27.0"
+ },
+ "peerDependencies": {
+ "react": "^19.2.3"
+ }
+ },
+ "node_modules/react-hook-form": {
+ "version": "7.69.0",
+ "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.69.0.tgz",
+ "integrity": "sha512-yt6ZGME9f4F6WHwevrvpAjh42HMvocuSnSIHUGycBqXIJdhqGSPQzTpGF+1NLREk/58IdPxEMfPcFCjlMhclGw==",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/react-hook-form"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17 || ^18 || ^19"
+ }
+ },
+ "node_modules/react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/react-markdown": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-10.1.0.tgz",
+ "integrity": "sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
+ "devlop": "^1.0.0",
+ "hast-util-to-jsx-runtime": "^2.0.0",
+ "html-url-attributes": "^3.0.0",
+ "mdast-util-to-hast": "^13.0.0",
+ "remark-parse": "^11.0.0",
+ "remark-rehype": "^11.0.0",
+ "unified": "^11.0.0",
+ "unist-util-visit": "^5.0.0",
+ "vfile": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ },
+ "peerDependencies": {
+ "@types/react": ">=18",
+ "react": ">=18"
+ }
+ },
+ "node_modules/react-remove-scroll": {
+ "version": "2.7.2",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.2.tgz",
+ "integrity": "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==",
+ "license": "MIT",
+ "dependencies": {
+ "react-remove-scroll-bar": "^2.3.7",
+ "react-style-singleton": "^2.2.3",
+ "tslib": "^2.1.0",
+ "use-callback-ref": "^1.3.3",
+ "use-sidecar": "^1.1.3"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-remove-scroll-bar": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz",
+ "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==",
+ "license": "MIT",
+ "dependencies": {
+ "react-style-singleton": "^2.2.2",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-style-singleton": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz",
+ "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==",
+ "license": "MIT",
+ "dependencies": {
+ "get-nonce": "^1.0.0",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/reflect.getprototypeof": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz",
+ "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.9",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.7",
+ "get-proto": "^1.0.1",
+ "which-builtin-type": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/regexp.prototype.flags": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz",
+ "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "set-function-name": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/remark-gfm": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz",
+ "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-gfm": "^3.0.0",
+ "micromark-extension-gfm": "^3.0.0",
+ "remark-parse": "^11.0.0",
+ "remark-stringify": "^11.0.0",
+ "unified": "^11.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-parse": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
+ "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "micromark-util-types": "^2.0.0",
+ "unified": "^11.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-rehype": {
+ "version": "11.1.2",
+ "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz",
+ "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
+ "mdast-util-to-hast": "^13.0.0",
+ "unified": "^11.0.0",
+ "vfile": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-stringify": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz",
+ "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-to-markdown": "^2.0.0",
+ "unified": "^11.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/resolve": {
+ "version": "1.22.11",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
+ "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-core-module": "^2.16.1",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/resolve-pkg-maps": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
+ "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
+ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/safe-array-concat": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz",
+ "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "get-intrinsic": "^1.2.6",
+ "has-symbols": "^1.1.0",
+ "isarray": "^2.0.5"
+ },
+ "engines": {
+ "node": ">=0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/safe-push-apply": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz",
+ "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "isarray": "^2.0.5"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/safe-regex-test": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz",
+ "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "is-regex": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/scheduler": {
+ "version": "0.27.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz",
+ "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
+ "license": "MIT"
+ },
+ "node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/set-function-name": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
+ "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/set-proto": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz",
+ "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/sharp": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz",
+ "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==",
+ "hasInstallScript": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@img/colour": "^1.0.0",
+ "detect-libc": "^2.1.2",
+ "semver": "^7.7.3"
+ },
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-darwin-arm64": "0.34.5",
+ "@img/sharp-darwin-x64": "0.34.5",
+ "@img/sharp-libvips-darwin-arm64": "1.2.4",
+ "@img/sharp-libvips-darwin-x64": "1.2.4",
+ "@img/sharp-libvips-linux-arm": "1.2.4",
+ "@img/sharp-libvips-linux-arm64": "1.2.4",
+ "@img/sharp-libvips-linux-ppc64": "1.2.4",
+ "@img/sharp-libvips-linux-riscv64": "1.2.4",
+ "@img/sharp-libvips-linux-s390x": "1.2.4",
+ "@img/sharp-libvips-linux-x64": "1.2.4",
+ "@img/sharp-libvips-linuxmusl-arm64": "1.2.4",
+ "@img/sharp-libvips-linuxmusl-x64": "1.2.4",
+ "@img/sharp-linux-arm": "0.34.5",
+ "@img/sharp-linux-arm64": "0.34.5",
+ "@img/sharp-linux-ppc64": "0.34.5",
+ "@img/sharp-linux-riscv64": "0.34.5",
+ "@img/sharp-linux-s390x": "0.34.5",
+ "@img/sharp-linux-x64": "0.34.5",
+ "@img/sharp-linuxmusl-arm64": "0.34.5",
+ "@img/sharp-linuxmusl-x64": "0.34.5",
+ "@img/sharp-wasm32": "0.34.5",
+ "@img/sharp-win32-arm64": "0.34.5",
+ "@img/sharp-win32-ia32": "0.34.5",
+ "@img/sharp-win32-x64": "0.34.5"
+ }
+ },
+ "node_modules/sharp/node_modules/semver": {
+ "version": "7.7.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+ "license": "ISC",
+ "optional": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/side-channel": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+ "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3",
+ "side-channel-list": "^1.0.0",
+ "side-channel-map": "^1.0.1",
+ "side-channel-weakmap": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-list": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
+ "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-map": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+ "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-weakmap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+ "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3",
+ "side-channel-map": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/space-separated-tokens": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
+ "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/stable-hash": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz",
+ "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/stop-iteration-iterator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz",
+ "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "internal-slot": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/string.prototype.includes": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz",
+ "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/string.prototype.matchall": {
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz",
+ "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.6",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.6",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "internal-slot": "^1.1.0",
+ "regexp.prototype.flags": "^1.5.3",
+ "set-function-name": "^2.0.2",
+ "side-channel": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.repeat": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz",
+ "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
+ }
+ },
+ "node_modules/string.prototype.trim": {
+ "version": "1.2.10",
+ "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz",
+ "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "define-data-property": "^1.1.4",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-object-atoms": "^1.0.0",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimend": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz",
+ "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimstart": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
+ "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/stringify-entities": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
+ "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==",
+ "license": "MIT",
+ "dependencies": {
+ "character-entities-html4": "^2.0.0",
+ "character-entities-legacy": "^3.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/style-to-js": {
+ "version": "1.1.21",
+ "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz",
+ "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==",
+ "license": "MIT",
+ "dependencies": {
+ "style-to-object": "1.0.14"
+ }
+ },
+ "node_modules/style-to-object": {
+ "version": "1.0.14",
+ "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz",
+ "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==",
+ "license": "MIT",
+ "dependencies": {
+ "inline-style-parser": "0.2.7"
+ }
+ },
+ "node_modules/styled-jsx": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz",
+ "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==",
+ "license": "MIT",
+ "dependencies": {
+ "client-only": "0.0.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "peerDependencies": {
+ "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0"
+ },
+ "peerDependenciesMeta": {
+ "@babel/core": {
+ "optional": true
+ },
+ "babel-plugin-macros": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/tailwind-merge": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.4.0.tgz",
+ "integrity": "sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/dcastil"
+ }
+ },
+ "node_modules/tailwindcss": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz",
+ "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/tailwindcss-animate": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz",
+ "integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==",
+ "license": "MIT",
+ "peerDependencies": {
+ "tailwindcss": ">=3.0.0 || insiders"
+ }
+ },
+ "node_modules/tapable": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz",
+ "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/tinyglobby": {
+ "version": "0.2.15",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
+ "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
+ "node_modules/tinyglobby/node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/tinyglobby/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/trim-lines": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
+ "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/trough": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz",
+ "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/ts-api-utils": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz",
+ "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.12"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4"
+ }
+ },
+ "node_modules/tsconfig-paths": {
+ "version": "3.15.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
+ "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/json5": "^0.0.29",
+ "json5": "^1.0.2",
+ "minimist": "^1.2.6",
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "node_modules/tsconfig-paths/node_modules/json5": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
+ "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.0"
+ },
+ "bin": {
+ "json5": "lib/cli.js"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/tw-animate-css": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/tw-animate-css/-/tw-animate-css-1.4.0.tgz",
+ "integrity": "sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/Wombosvideo"
+ }
+ },
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/typed-array-buffer": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz",
+ "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "is-typed-array": "^1.1.14"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/typed-array-byte-length": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz",
+ "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "for-each": "^0.3.3",
+ "gopd": "^1.2.0",
+ "has-proto": "^1.2.0",
+ "is-typed-array": "^1.1.14"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-byte-offset": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz",
+ "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "for-each": "^0.3.3",
+ "gopd": "^1.2.0",
+ "has-proto": "^1.2.0",
+ "is-typed-array": "^1.1.15",
+ "reflect.getprototypeof": "^1.0.9"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-length": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz",
+ "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "is-typed-array": "^1.1.13",
+ "possible-typed-array-names": "^1.0.0",
+ "reflect.getprototypeof": "^1.0.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.9.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "peer": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/typescript-eslint": {
+ "version": "8.51.0",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.51.0.tgz",
+ "integrity": "sha512-jh8ZuM5oEh2PSdyQG9YAEM1TCGuWenLSuSUhf/irbVUNW9O5FhbFVONviN2TgMTBnUmyHv7E56rYnfLZK6TkiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/eslint-plugin": "8.51.0",
+ "@typescript-eslint/parser": "8.51.0",
+ "@typescript-eslint/typescript-estree": "8.51.0",
+ "@typescript-eslint/utils": "8.51.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/unbox-primitive": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz",
+ "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-bigints": "^1.0.2",
+ "has-symbols": "^1.1.0",
+ "which-boxed-primitive": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/undici-types": {
+ "version": "6.21.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
+ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/unified": {
+ "version": "11.0.5",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz",
+ "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "bail": "^2.0.0",
+ "devlop": "^1.0.0",
+ "extend": "^3.0.0",
+ "is-plain-obj": "^4.0.0",
+ "trough": "^2.0.0",
+ "vfile": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-is": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz",
+ "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-position": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz",
+ "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-stringify-position": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz",
+ "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-visit": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz",
+ "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "unist-util-is": "^6.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-visit-parents": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz",
+ "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "unist-util-is": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unrs-resolver": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz",
+ "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "napi-postinstall": "^0.3.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/unrs-resolver"
+ },
+ "optionalDependencies": {
+ "@unrs/resolver-binding-android-arm-eabi": "1.11.1",
+ "@unrs/resolver-binding-android-arm64": "1.11.1",
+ "@unrs/resolver-binding-darwin-arm64": "1.11.1",
+ "@unrs/resolver-binding-darwin-x64": "1.11.1",
+ "@unrs/resolver-binding-freebsd-x64": "1.11.1",
+ "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1",
+ "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1",
+ "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-arm64-musl": "1.11.1",
+ "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1",
+ "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-x64-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-x64-musl": "1.11.1",
+ "@unrs/resolver-binding-wasm32-wasi": "1.11.1",
+ "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1",
+ "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1",
+ "@unrs/resolver-binding-win32-x64-msvc": "1.11.1"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
+ "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/use-callback-ref": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz",
+ "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/use-sidecar": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz",
+ "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==",
+ "license": "MIT",
+ "dependencies": {
+ "detect-node-es": "^1.1.0",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/vfile": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz",
+ "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/vfile-message": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz",
+ "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "unist-util-stringify-position": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/which-boxed-primitive": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz",
+ "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-bigint": "^1.1.0",
+ "is-boolean-object": "^1.2.1",
+ "is-number-object": "^1.1.1",
+ "is-string": "^1.1.1",
+ "is-symbol": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-builtin-type": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz",
+ "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "function.prototype.name": "^1.1.6",
+ "has-tostringtag": "^1.0.2",
+ "is-async-function": "^2.0.0",
+ "is-date-object": "^1.1.0",
+ "is-finalizationregistry": "^1.1.0",
+ "is-generator-function": "^1.0.10",
+ "is-regex": "^1.2.1",
+ "is-weakref": "^1.0.2",
+ "isarray": "^2.0.5",
+ "which-boxed-primitive": "^1.1.0",
+ "which-collection": "^1.0.2",
+ "which-typed-array": "^1.1.16"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-collection": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
+ "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-map": "^2.0.3",
+ "is-set": "^2.0.3",
+ "is-weakmap": "^2.0.2",
+ "is-weakset": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-typed-array": {
+ "version": "1.1.19",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz",
+ "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "for-each": "^0.3.5",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/zod": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.4.tgz",
+ "integrity": "sha512-Zw/uYiiyF6pUT1qmKbZziChgNPRu+ZRneAsMUDU6IwmXdWt5JwcUfy2bvLOCUtz5UniaN/Zx5aFttZYbYc7O/A==",
+ "license": "MIT",
+ "peer": true,
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
+ }
+ },
+ "node_modules/zod-validation-error": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz",
+ "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "zod": "^3.25.0 || ^4.0.0"
+ }
+ },
+ "node_modules/zwitch": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",
+ "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ }
+ }
+}
diff --git a/frontend/package.json b/frontend/package.json
new file mode 100644
index 0000000..137cf38
--- /dev/null
+++ b/frontend/package.json
@@ -0,0 +1,43 @@
+{
+ "name": "frontend",
+ "version": "0.1.0",
+ "private": true,
+ "scripts": {
+ "dev": "next dev",
+ "build": "next build",
+ "start": "next start",
+ "lint": "eslint"
+ },
+ "dependencies": {
+ "@hookform/resolvers": "^5.2.2",
+ "@radix-ui/react-dialog": "^1.1.15",
+ "@radix-ui/react-label": "^2.1.8",
+ "@radix-ui/react-select": "^2.2.6",
+ "@radix-ui/react-slot": "^1.2.4",
+ "@radix-ui/react-tabs": "^1.1.13",
+ "class-variance-authority": "^0.7.1",
+ "clsx": "^2.1.1",
+ "lucide-react": "^0.562.0",
+ "next": "16.1.1",
+ "react": "19.2.3",
+ "react-dom": "19.2.3",
+ "react-hook-form": "^7.69.0",
+ "react-markdown": "^10.1.0",
+ "remark-gfm": "^4.0.1",
+ "tailwind-merge": "^3.4.0",
+ "tailwindcss-animate": "^1.0.7",
+ "zod": "^4.3.4"
+ },
+ "devDependencies": {
+ "@tailwindcss/postcss": "^4",
+ "@tailwindcss/typography": "^0.5.19",
+ "@types/node": "^20",
+ "@types/react": "^19",
+ "@types/react-dom": "^19",
+ "eslint": "^9",
+ "eslint-config-next": "16.1.1",
+ "tailwindcss": "^4",
+ "tw-animate-css": "^1.4.0",
+ "typescript": "^5"
+ }
+}
diff --git a/frontend/postcss.config.mjs b/frontend/postcss.config.mjs
new file mode 100644
index 0000000..61e3684
--- /dev/null
+++ b/frontend/postcss.config.mjs
@@ -0,0 +1,7 @@
+const config = {
+ plugins: {
+ "@tailwindcss/postcss": {},
+ },
+};
+
+export default config;
diff --git a/frontend/public/file.svg b/frontend/public/file.svg
new file mode 100644
index 0000000..004145c
--- /dev/null
+++ b/frontend/public/file.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/frontend/public/globe.svg b/frontend/public/globe.svg
new file mode 100644
index 0000000..567f17b
--- /dev/null
+++ b/frontend/public/globe.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/frontend/public/next.svg b/frontend/public/next.svg
new file mode 100644
index 0000000..5174b28
--- /dev/null
+++ b/frontend/public/next.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/frontend/public/vercel.svg b/frontend/public/vercel.svg
new file mode 100644
index 0000000..7705396
--- /dev/null
+++ b/frontend/public/vercel.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/frontend/public/window.svg b/frontend/public/window.svg
new file mode 100644
index 0000000..b2b2a44
--- /dev/null
+++ b/frontend/public/window.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/frontend/src/app/analysis/[id]/page.tsx b/frontend/src/app/analysis/[id]/page.tsx
new file mode 100644
index 0000000..7500619
--- /dev/null
+++ b/frontend/src/app/analysis/[id]/page.tsx
@@ -0,0 +1,123 @@
+"use client"
+
+import { useEffect, useState, use } from "react"
+import { getReport } from "@/lib/api"
+import { Badge } from "@/components/ui/badge"
+import { Card, CardContent } from "@/components/ui/card"
+import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"
+import { MarkdownRenderer } from "@/components/markdown-renderer"
+import { Loader2, RefreshCcw, ExternalLink } from "lucide-react"
+import { Button } from "@/components/ui/button"
+
+export default function AnalysisPage({ params }: { params: Promise<{ id: string }> }) {
+ // Correct way to handle params in Next.js 15+ is async, but we can unwrap or use hook
+ // If using 'use client', params corresponds to props which might be a Promise in newer Next.
+ // Let's use `use(params)` pattern if React 19, or standard access.
+ // Assuming standard Next.js 14/15 behavior for now: props are async.
+
+ // Safety check for React version or just wait for it.
+ // simpler:
+ const unwrappedParams = use(params);
+ const reportId = parseInt(unwrappedParams.id)
+
+ const [report, setReport] = useState
(null)
+ const [loading, setLoading] = useState(true)
+
+ // Polling logic
+ useEffect(() => {
+ let interval: NodeJS.Timeout;
+
+ const fetchReport = async () => {
+ try {
+ const data = await getReport(reportId)
+ setReport(data)
+
+ if (data.status === "pending" || data.status === "in_progress") {
+ // Poll every 3 seconds
+ interval = setTimeout(fetchReport, 3000)
+ } else {
+ setLoading(false)
+ }
+ } catch (e) {
+ console.error(e)
+ setLoading(false)
+ }
+ }
+
+ fetchReport()
+
+ return () => clearTimeout(interval)
+ }, [reportId])
+
+ if (loading && !report) return
+
+ if (!report) return 未找到报告。
+
+ return (
+
+
+
+
{report.company_name}
+
+ {report.market} {report.symbol} · {new Date(report.created_at).toLocaleString('zh-CN')}
+ {report.ai_model && · 模型: {report.ai_model}}
+
+
+
+
+ {report.status === "in_progress" ? (
+
+ 进行中
+
+ ) : report.status === "completed" ? "已完成" : report.status === "failed" ? "失败" : report.status === "pending" ? "待处理" : report.status}
+
+
+
+
+
+
+ 财务数据
+ {report.sections?.map((s: any) => {
+ const nameMap: Record = {
+ 'company_profile': '公司简介',
+ 'fundamental_analysis': '基本面分析',
+ 'insider_analysis': '内部人士分析',
+ 'bullish_analysis': '看涨分析',
+ 'bearish_analysis': '看跌分析'
+ };
+ return (
+
+ {nameMap[s.section_name] || s.section_name.replace(/_/g, " ")}
+
+ );
+ })}
+ {report.sections?.length === 0 && report.status !== "in_progress" && 无内容}
+
+
+
+
+
+
+
+
+ {report.sections?.map((s: any) => (
+
+
+
+
+
+
+
+ ))}
+
+
+ )
+}
diff --git a/frontend/src/app/config/page.tsx b/frontend/src/app/config/page.tsx
new file mode 100644
index 0000000..164ce8b
--- /dev/null
+++ b/frontend/src/app/config/page.tsx
@@ -0,0 +1,134 @@
+"use client"
+
+import { useState, useEffect } from "react"
+import { getConfig, updateConfig } from "@/lib/api"
+import { Card, CardContent, CardHeader, CardTitle, CardDescription, CardFooter } from "@/components/ui/card"
+import { Input } from "@/components/ui/input"
+import { Button } from "@/components/ui/button"
+import { Label } from "@/components/ui/label"
+import { Textarea } from "@/components/ui/textarea"
+import { Loader2 } from "lucide-react"
+
+export default function ConfigPage() {
+ const [config, setConfig] = useState({})
+ const [loading, setLoading] = useState(true)
+ const [saving, setSaving] = useState(false)
+ const [message, setMessage] = useState("")
+
+ useEffect(() => {
+ getConfig().then(setConfig).catch(console.error).finally(() => setLoading(false))
+ }, [])
+
+ const handleSave = async (key: string, value: string) => {
+ setSaving(true)
+ try {
+ await updateConfig(key, value)
+ setMessage(`Saved ${key}`)
+ // Update local state
+ setConfig((prev: any) => ({ ...prev, [key]: value }))
+ } catch (e) {
+ setMessage("Error saving settings")
+ } finally {
+ setSaving(false)
+ setTimeout(() => setMessage(""), 3000)
+ }
+ }
+
+ if (loading) return
+
+ const prompts = [
+ "company_profile", "fundamental_analysis", "insider_analysis", "bullish_analysis", "bearish_analysis"
+ ]
+
+ return (
+
+
配置
+
+
+
+ 系统设置
+ 配置 API 密钥和数据库连接。
+
+
+
+
+
+ setConfig({ ...config, "GEMINI_API_KEY": e.target.value })}
+ placeholder="****************"
+ />
+
+
+
+
+
+
+
+
+
+
+ {config["AI_MODEL"] === "custom" && (
+
+ {
+ setConfig({ ...config, "AI_MODEL_CUSTOM": e.target.value, "AI_MODEL": e.target.value })
+ }}
+ />
+
+ )}
+
+ 选择用于分析的 AI 模型。推荐使用 Gemini 2.0 Flash 以获得最佳性能和速度。
+
+
+
+
+
+
+
+ 分析提示词
+ 自定义每个分析步骤使用的提示词。
+
+
+ {prompts.map(key => (
+
+
+
+
+
+ ))}
+
+
+
+ {message &&
+ {message.replace('Saved', '已保存').replace('Error saving settings', '保存设置时出错')}
+
}
+
+ )
+}
diff --git a/frontend/src/app/favicon.ico b/frontend/src/app/favicon.ico
new file mode 100644
index 0000000..718d6fe
Binary files /dev/null and b/frontend/src/app/favicon.ico differ
diff --git a/frontend/src/app/globals.css b/frontend/src/app/globals.css
new file mode 100644
index 0000000..cee9d9b
--- /dev/null
+++ b/frontend/src/app/globals.css
@@ -0,0 +1,126 @@
+@import "tailwindcss";
+@plugin "@tailwindcss/typography";
+
+@custom-variant dark (&:is(.dark *));
+
+@theme inline {
+ --color-background: var(--background);
+ --color-foreground: var(--foreground);
+ --font-sans: var(--font-geist-sans);
+ --font-mono: var(--font-geist-mono);
+ --color-sidebar-ring: var(--sidebar-ring);
+ --color-sidebar-border: var(--sidebar-border);
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
+ --color-sidebar-accent: var(--sidebar-accent);
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
+ --color-sidebar-primary: var(--sidebar-primary);
+ --color-sidebar-foreground: var(--sidebar-foreground);
+ --color-sidebar: var(--sidebar);
+ --color-chart-5: var(--chart-5);
+ --color-chart-4: var(--chart-4);
+ --color-chart-3: var(--chart-3);
+ --color-chart-2: var(--chart-2);
+ --color-chart-1: var(--chart-1);
+ --color-ring: var(--ring);
+ --color-input: var(--input);
+ --color-border: var(--border);
+ --color-destructive: var(--destructive);
+ --color-accent-foreground: var(--accent-foreground);
+ --color-accent: var(--accent);
+ --color-muted-foreground: var(--muted-foreground);
+ --color-muted: var(--muted);
+ --color-secondary-foreground: var(--secondary-foreground);
+ --color-secondary: var(--secondary);
+ --color-primary-foreground: var(--primary-foreground);
+ --color-primary: var(--primary);
+ --color-popover-foreground: var(--popover-foreground);
+ --color-popover: var(--popover);
+ --color-card-foreground: var(--card-foreground);
+ --color-card: var(--card);
+ --radius-sm: calc(var(--radius) - 4px);
+ --radius-md: calc(var(--radius) - 2px);
+ --radius-lg: var(--radius);
+ --radius-xl: calc(var(--radius) + 4px);
+ --radius-2xl: calc(var(--radius) + 8px);
+ --radius-3xl: calc(var(--radius) + 12px);
+ --radius-4xl: calc(var(--radius) + 16px);
+}
+
+:root {
+ --radius: 0.625rem;
+ --background: oklch(1 0 0);
+ --foreground: oklch(0.145 0 0);
+ --card: oklch(1 0 0);
+ --card-foreground: oklch(0.145 0 0);
+ --popover: oklch(1 0 0);
+ --popover-foreground: oklch(0.145 0 0);
+ --primary: oklch(0.205 0 0);
+ --primary-foreground: oklch(0.985 0 0);
+ --secondary: oklch(0.97 0 0);
+ --secondary-foreground: oklch(0.205 0 0);
+ --muted: oklch(0.97 0 0);
+ --muted-foreground: oklch(0.556 0 0);
+ --accent: oklch(0.97 0 0);
+ --accent-foreground: oklch(0.205 0 0);
+ --destructive: oklch(0.577 0.245 27.325);
+ --border: oklch(0.922 0 0);
+ --input: oklch(0.922 0 0);
+ --ring: oklch(0.708 0 0);
+ --chart-1: oklch(0.646 0.222 41.116);
+ --chart-2: oklch(0.6 0.118 184.704);
+ --chart-3: oklch(0.398 0.07 227.392);
+ --chart-4: oklch(0.828 0.189 84.429);
+ --chart-5: oklch(0.769 0.188 70.08);
+ --sidebar: oklch(0.985 0 0);
+ --sidebar-foreground: oklch(0.145 0 0);
+ --sidebar-primary: oklch(0.205 0 0);
+ --sidebar-primary-foreground: oklch(0.985 0 0);
+ --sidebar-accent: oklch(0.97 0 0);
+ --sidebar-accent-foreground: oklch(0.205 0 0);
+ --sidebar-border: oklch(0.922 0 0);
+ --sidebar-ring: oklch(0.708 0 0);
+}
+
+.dark {
+ --background: oklch(0.145 0 0);
+ --foreground: oklch(0.985 0 0);
+ --card: oklch(0.205 0 0);
+ --card-foreground: oklch(0.985 0 0);
+ --popover: oklch(0.205 0 0);
+ --popover-foreground: oklch(0.985 0 0);
+ --primary: oklch(0.922 0 0);
+ --primary-foreground: oklch(0.205 0 0);
+ --secondary: oklch(0.269 0 0);
+ --secondary-foreground: oklch(0.985 0 0);
+ --muted: oklch(0.269 0 0);
+ --muted-foreground: oklch(0.708 0 0);
+ --accent: oklch(0.269 0 0);
+ --accent-foreground: oklch(0.985 0 0);
+ --destructive: oklch(0.704 0.191 22.216);
+ --border: oklch(1 0 0 / 10%);
+ --input: oklch(1 0 0 / 15%);
+ --ring: oklch(0.556 0 0);
+ --chart-1: oklch(0.488 0.243 264.376);
+ --chart-2: oklch(0.696 0.17 162.48);
+ --chart-3: oklch(0.769 0.188 70.08);
+ --chart-4: oklch(0.627 0.265 303.9);
+ --chart-5: oklch(0.645 0.246 16.439);
+ --sidebar: oklch(0.205 0 0);
+ --sidebar-foreground: oklch(0.985 0 0);
+ --sidebar-primary: oklch(0.488 0.243 264.376);
+ --sidebar-primary-foreground: oklch(0.985 0 0);
+ --sidebar-accent: oklch(0.269 0 0);
+ --sidebar-accent-foreground: oklch(0.985 0 0);
+ --sidebar-border: oklch(1 0 0 / 10%);
+ --sidebar-ring: oklch(0.556 0 0);
+}
+
+@layer base {
+ * {
+ @apply border-border outline-ring/50;
+ }
+
+ body {
+ @apply bg-background text-foreground;
+ }
+}
\ No newline at end of file
diff --git a/frontend/src/app/layout.tsx b/frontend/src/app/layout.tsx
new file mode 100644
index 0000000..89d4c5b
--- /dev/null
+++ b/frontend/src/app/layout.tsx
@@ -0,0 +1,26 @@
+import type { Metadata } from "next";
+import { Inter } from "next/font/google"; // Using Inter for now as safe default or stick to Geist
+import "./globals.css";
+import { NavHeader } from "@/components/nav-header";
+
+const inter = Inter({ subsets: ["latin"] });
+
+export const metadata: Metadata = {
+ title: "Stock Analysis App",
+ description: "AI Powered Stock Analysis",
+};
+
+export default function RootLayout({
+ children,
+}: Readonly<{
+ children: React.ReactNode;
+}>) {
+ return (
+
+
+
+ {children}
+
+
+ );
+}
diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx
new file mode 100644
index 0000000..05d5bf2
--- /dev/null
+++ b/frontend/src/app/page.tsx
@@ -0,0 +1,22 @@
+import { SearchStock } from "@/components/search-stock"
+import { HistoryList } from "@/components/history-list"
+
+export default function Home() {
+ return (
+
+
+
股票分析
+
+ 输入公司名称或股票代码,开始全面的AI驱动的分析。
+
+
+
+
+
+
+
最近的报告
+
+
+
+ )
+}
diff --git a/frontend/src/components/history-list.tsx b/frontend/src/components/history-list.tsx
new file mode 100644
index 0000000..297ac0f
--- /dev/null
+++ b/frontend/src/components/history-list.tsx
@@ -0,0 +1,59 @@
+"use client"
+
+import { useEffect, useState } from "react"
+import Link from "next/link"
+import { getReports } from "@/lib/api"
+import { Badge } from "@/components/ui/badge"
+import { Card, CardContent, CardHeader, CardTitle, CardDescription } from "@/components/ui/card"
+import { Loader2 } from "lucide-react"
+
+export function HistoryList() {
+ const [reports, setReports] = useState([])
+ const [loading, setLoading] = useState(true)
+
+ useEffect(() => {
+ getReports().then(setReports).catch(console.error).finally(() => setLoading(false))
+ }, [])
+
+ if (loading) return
+
+ if (reports.length === 0) return 没有找到历史记录。
+
+ return (
+
+ {reports.map((report: any) => (
+
+
+
+ {report.company_name}
+
+ {report.market} {report.symbol}
+
+
+
+
+
+ {new Date(report.created_at).toLocaleString('zh-CN')}
+
+
+ {report.status === "completed" ? "已完成" :
+ report.status === "in_progress" ? "进行中" :
+ report.status === "failed" ? "失败" : "待处理"}
+
+
+ {report.ai_model && (
+
+ 模型: {report.ai_model}
+
+ )}
+
+
+
+ ))}
+
+ )
+}
diff --git a/frontend/src/components/markdown-renderer.tsx b/frontend/src/components/markdown-renderer.tsx
new file mode 100644
index 0000000..a19d02b
--- /dev/null
+++ b/frontend/src/components/markdown-renderer.tsx
@@ -0,0 +1,12 @@
+import ReactMarkdown from 'react-markdown'
+import remarkGfm from 'remark-gfm'
+
+export function MarkdownRenderer({ content }: { content: string }) {
+ return (
+
+
+ {content}
+
+
+ )
+}
diff --git a/frontend/src/components/nav-header.tsx b/frontend/src/components/nav-header.tsx
new file mode 100644
index 0000000..0c371eb
--- /dev/null
+++ b/frontend/src/components/nav-header.tsx
@@ -0,0 +1,23 @@
+"use client"
+
+import Link from "next/link"
+import { MonitorPlay } from "lucide-react"
+
+export function NavHeader() {
+ return (
+
+
+
+ 股票分析 AI
+
+
+
+ )
+}
diff --git a/frontend/src/components/search-stock.tsx b/frontend/src/components/search-stock.tsx
new file mode 100644
index 0000000..81ea51e
--- /dev/null
+++ b/frontend/src/components/search-stock.tsx
@@ -0,0 +1,89 @@
+"use client"
+
+import { useState } from "react"
+import { searchStock, startAnalysis } from "@/lib/api"
+import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
+import { Input } from "@/components/ui/input"
+import { Button } from "@/components/ui/button"
+import { Search, Loader2 } from "lucide-react"
+import { useRouter } from "next/navigation"
+
+export function SearchStock() {
+ const [query, setQuery] = useState("")
+ const [results, setResults] = useState<{ market: string; symbol: string; company_name: string }[]>([])
+ const [loading, setLoading] = useState(false)
+ const [error, setError] = useState("")
+ const router = useRouter()
+
+ const handleSearch = async () => {
+ if (!query.trim()) return
+ setLoading(true)
+ setError("")
+ setResults([])
+
+ try {
+ const data = await searchStock(query)
+ setResults(data)
+ } catch (err: any) {
+ setError(err.message || "搜索失败")
+ } finally {
+ setLoading(false)
+ }
+ }
+
+ const handleAnalyze = async (result: { market: string; symbol: string; company_name: string }) => {
+ setLoading(true)
+ try {
+ const report = await startAnalysis(result.market, result.symbol, result.company_name)
+ router.push(`/analysis/${report.id}`)
+ } catch (err: any) {
+ setError(err.message || "启动分析失败")
+ } finally {
+ setLoading(false)
+ }
+ }
+
+ return (
+
+
+ 开始新的分析
+
+
+
+ setQuery(e.target.value)}
+ onKeyDown={(e) => e.key === "Enter" && handleSearch()}
+ />
+
+
+
+ {error && {error}
}
+
+ {results.length > 0 && (
+
+ {results.length > 1 && (
+
找到 {results.length} 个结果,请选择:
+ )}
+ {results.map((result, index) => (
+
+
{result.company_name}
+
+ 市场: {result.market} | 代码: {result.symbol}
+
+
+
+
+
+ ))}
+
+ )}
+
+
+ )
+}
diff --git a/frontend/src/components/ui/badge.tsx b/frontend/src/components/ui/badge.tsx
new file mode 100644
index 0000000..fd3a406
--- /dev/null
+++ b/frontend/src/components/ui/badge.tsx
@@ -0,0 +1,46 @@
+import * as React from "react"
+import { Slot } from "@radix-ui/react-slot"
+import { cva, type VariantProps } from "class-variance-authority"
+
+import { cn } from "@/lib/utils"
+
+const badgeVariants = cva(
+ "inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
+ {
+ variants: {
+ variant: {
+ default:
+ "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
+ secondary:
+ "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
+ destructive:
+ "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
+ outline:
+ "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
+ },
+ },
+ defaultVariants: {
+ variant: "default",
+ },
+ }
+)
+
+function Badge({
+ className,
+ variant,
+ asChild = false,
+ ...props
+}: React.ComponentProps<"span"> &
+ VariantProps & { asChild?: boolean }) {
+ const Comp = asChild ? Slot : "span"
+
+ return (
+
+ )
+}
+
+export { Badge, badgeVariants }
diff --git a/frontend/src/components/ui/button.tsx b/frontend/src/components/ui/button.tsx
new file mode 100644
index 0000000..37a7d4b
--- /dev/null
+++ b/frontend/src/components/ui/button.tsx
@@ -0,0 +1,62 @@
+import * as React from "react"
+import { Slot } from "@radix-ui/react-slot"
+import { cva, type VariantProps } from "class-variance-authority"
+
+import { cn } from "@/lib/utils"
+
+const buttonVariants = cva(
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
+ {
+ variants: {
+ variant: {
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
+ destructive:
+ "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
+ outline:
+ "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
+ secondary:
+ "bg-secondary text-secondary-foreground hover:bg-secondary/80",
+ ghost:
+ "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
+ link: "text-primary underline-offset-4 hover:underline",
+ },
+ size: {
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
+ sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
+ icon: "size-9",
+ "icon-sm": "size-8",
+ "icon-lg": "size-10",
+ },
+ },
+ defaultVariants: {
+ variant: "default",
+ size: "default",
+ },
+ }
+)
+
+function Button({
+ className,
+ variant = "default",
+ size = "default",
+ asChild = false,
+ ...props
+}: React.ComponentProps<"button"> &
+ VariantProps & {
+ asChild?: boolean
+ }) {
+ const Comp = asChild ? Slot : "button"
+
+ return (
+
+ )
+}
+
+export { Button, buttonVariants }
diff --git a/frontend/src/components/ui/card.tsx b/frontend/src/components/ui/card.tsx
new file mode 100644
index 0000000..681ad98
--- /dev/null
+++ b/frontend/src/components/ui/card.tsx
@@ -0,0 +1,92 @@
+import * as React from "react"
+
+import { cn } from "@/lib/utils"
+
+function Card({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+function CardHeader({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+function CardTitle({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+function CardDescription({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+function CardAction({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+function CardContent({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+function CardFooter({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+export {
+ Card,
+ CardHeader,
+ CardFooter,
+ CardTitle,
+ CardAction,
+ CardDescription,
+ CardContent,
+}
diff --git a/frontend/src/components/ui/form.tsx b/frontend/src/components/ui/form.tsx
new file mode 100644
index 0000000..2b529e6
--- /dev/null
+++ b/frontend/src/components/ui/form.tsx
@@ -0,0 +1,167 @@
+"use client"
+
+import * as React from "react"
+import type * as LabelPrimitive from "@radix-ui/react-label"
+import { Slot } from "@radix-ui/react-slot"
+import {
+ Controller,
+ FormProvider,
+ useFormContext,
+ useFormState,
+ type ControllerProps,
+ type FieldPath,
+ type FieldValues,
+} from "react-hook-form"
+
+import { cn } from "@/lib/utils"
+import { Label } from "@/components/ui/label"
+
+const Form = FormProvider
+
+type FormFieldContextValue<
+ TFieldValues extends FieldValues = FieldValues,
+ TName extends FieldPath = FieldPath,
+> = {
+ name: TName
+}
+
+const FormFieldContext = React.createContext(
+ {} as FormFieldContextValue
+)
+
+const FormField = <
+ TFieldValues extends FieldValues = FieldValues,
+ TName extends FieldPath = FieldPath,
+>({
+ ...props
+}: ControllerProps) => {
+ return (
+
+
+
+ )
+}
+
+const useFormField = () => {
+ const fieldContext = React.useContext(FormFieldContext)
+ const itemContext = React.useContext(FormItemContext)
+ const { getFieldState } = useFormContext()
+ const formState = useFormState({ name: fieldContext.name })
+ const fieldState = getFieldState(fieldContext.name, formState)
+
+ if (!fieldContext) {
+ throw new Error("useFormField should be used within ")
+ }
+
+ const { id } = itemContext
+
+ return {
+ id,
+ name: fieldContext.name,
+ formItemId: `${id}-form-item`,
+ formDescriptionId: `${id}-form-item-description`,
+ formMessageId: `${id}-form-item-message`,
+ ...fieldState,
+ }
+}
+
+type FormItemContextValue = {
+ id: string
+}
+
+const FormItemContext = React.createContext(
+ {} as FormItemContextValue
+)
+
+function FormItem({ className, ...props }: React.ComponentProps<"div">) {
+ const id = React.useId()
+
+ return (
+
+
+
+ )
+}
+
+function FormLabel({
+ className,
+ ...props
+}: React.ComponentProps) {
+ const { error, formItemId } = useFormField()
+
+ return (
+
+ )
+}
+
+function FormControl({ ...props }: React.ComponentProps) {
+ const { error, formItemId, formDescriptionId, formMessageId } = useFormField()
+
+ return (
+
+ )
+}
+
+function FormDescription({ className, ...props }: React.ComponentProps<"p">) {
+ const { formDescriptionId } = useFormField()
+
+ return (
+
+ )
+}
+
+function FormMessage({ className, ...props }: React.ComponentProps<"p">) {
+ const { error, formMessageId } = useFormField()
+ const body = error ? String(error?.message ?? "") : props.children
+
+ if (!body) {
+ return null
+ }
+
+ return (
+
+ {body}
+
+ )
+}
+
+export {
+ useFormField,
+ Form,
+ FormItem,
+ FormLabel,
+ FormControl,
+ FormDescription,
+ FormMessage,
+ FormField,
+}
diff --git a/frontend/src/components/ui/input.tsx b/frontend/src/components/ui/input.tsx
new file mode 100644
index 0000000..8916905
--- /dev/null
+++ b/frontend/src/components/ui/input.tsx
@@ -0,0 +1,21 @@
+import * as React from "react"
+
+import { cn } from "@/lib/utils"
+
+function Input({ className, type, ...props }: React.ComponentProps<"input">) {
+ return (
+
+ )
+}
+
+export { Input }
diff --git a/frontend/src/components/ui/label.tsx b/frontend/src/components/ui/label.tsx
new file mode 100644
index 0000000..fb5fbc3
--- /dev/null
+++ b/frontend/src/components/ui/label.tsx
@@ -0,0 +1,24 @@
+"use client"
+
+import * as React from "react"
+import * as LabelPrimitive from "@radix-ui/react-label"
+
+import { cn } from "@/lib/utils"
+
+function Label({
+ className,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+ )
+}
+
+export { Label }
diff --git a/frontend/src/components/ui/select.tsx b/frontend/src/components/ui/select.tsx
new file mode 100644
index 0000000..88302a8
--- /dev/null
+++ b/frontend/src/components/ui/select.tsx
@@ -0,0 +1,190 @@
+"use client"
+
+import * as React from "react"
+import * as SelectPrimitive from "@radix-ui/react-select"
+import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react"
+
+import { cn } from "@/lib/utils"
+
+function Select({
+ ...props
+}: React.ComponentProps) {
+ return
+}
+
+function SelectGroup({
+ ...props
+}: React.ComponentProps) {
+ return
+}
+
+function SelectValue({
+ ...props
+}: React.ComponentProps) {
+ return
+}
+
+function SelectTrigger({
+ className,
+ size = "default",
+ children,
+ ...props
+}: React.ComponentProps & {
+ size?: "sm" | "default"
+}) {
+ return (
+
+ {children}
+
+
+
+
+ )
+}
+
+function SelectContent({
+ className,
+ children,
+ position = "item-aligned",
+ align = "center",
+ ...props
+}: React.ComponentProps) {
+ return (
+
+
+
+
+ {children}
+
+
+
+
+ )
+}
+
+function SelectLabel({
+ className,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+ )
+}
+
+function SelectItem({
+ className,
+ children,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+
+
+
+
+
+ {children}
+
+ )
+}
+
+function SelectSeparator({
+ className,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+ )
+}
+
+function SelectScrollUpButton({
+ className,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+
+
+ )
+}
+
+function SelectScrollDownButton({
+ className,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+
+
+ )
+}
+
+export {
+ Select,
+ SelectContent,
+ SelectGroup,
+ SelectItem,
+ SelectLabel,
+ SelectScrollDownButton,
+ SelectScrollUpButton,
+ SelectSeparator,
+ SelectTrigger,
+ SelectValue,
+}
diff --git a/frontend/src/components/ui/sheet.tsx b/frontend/src/components/ui/sheet.tsx
new file mode 100644
index 0000000..84649ad
--- /dev/null
+++ b/frontend/src/components/ui/sheet.tsx
@@ -0,0 +1,139 @@
+"use client"
+
+import * as React from "react"
+import * as SheetPrimitive from "@radix-ui/react-dialog"
+import { XIcon } from "lucide-react"
+
+import { cn } from "@/lib/utils"
+
+function Sheet({ ...props }: React.ComponentProps) {
+ return
+}
+
+function SheetTrigger({
+ ...props
+}: React.ComponentProps) {
+ return
+}
+
+function SheetClose({
+ ...props
+}: React.ComponentProps) {
+ return
+}
+
+function SheetPortal({
+ ...props
+}: React.ComponentProps) {
+ return
+}
+
+function SheetOverlay({
+ className,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+ )
+}
+
+function SheetContent({
+ className,
+ children,
+ side = "right",
+ ...props
+}: React.ComponentProps & {
+ side?: "top" | "right" | "bottom" | "left"
+}) {
+ return (
+
+
+
+ {children}
+
+
+ Close
+
+
+
+ )
+}
+
+function SheetHeader({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+function SheetFooter({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+function SheetTitle({
+ className,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+ )
+}
+
+function SheetDescription({
+ className,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+ )
+}
+
+export {
+ Sheet,
+ SheetTrigger,
+ SheetClose,
+ SheetContent,
+ SheetHeader,
+ SheetFooter,
+ SheetTitle,
+ SheetDescription,
+}
diff --git a/frontend/src/components/ui/table.tsx b/frontend/src/components/ui/table.tsx
new file mode 100644
index 0000000..51b74dd
--- /dev/null
+++ b/frontend/src/components/ui/table.tsx
@@ -0,0 +1,116 @@
+"use client"
+
+import * as React from "react"
+
+import { cn } from "@/lib/utils"
+
+function Table({ className, ...props }: React.ComponentProps<"table">) {
+ return (
+
+ )
+}
+
+function TableHeader({ className, ...props }: React.ComponentProps<"thead">) {
+ return (
+
+ )
+}
+
+function TableBody({ className, ...props }: React.ComponentProps<"tbody">) {
+ return (
+
+ )
+}
+
+function TableFooter({ className, ...props }: React.ComponentProps<"tfoot">) {
+ return (
+ tr]:last:border-b-0",
+ className
+ )}
+ {...props}
+ />
+ )
+}
+
+function TableRow({ className, ...props }: React.ComponentProps<"tr">) {
+ return (
+
+ )
+}
+
+function TableHead({ className, ...props }: React.ComponentProps<"th">) {
+ return (
+ [role=checkbox]]:translate-y-[2px]",
+ className
+ )}
+ {...props}
+ />
+ )
+}
+
+function TableCell({ className, ...props }: React.ComponentProps<"td">) {
+ return (
+ | [role=checkbox]]:translate-y-[2px]",
+ className
+ )}
+ {...props}
+ />
+ )
+}
+
+function TableCaption({
+ className,
+ ...props
+}: React.ComponentProps<"caption">) {
+ return (
+
+ )
+}
+
+export {
+ Table,
+ TableHeader,
+ TableBody,
+ TableFooter,
+ TableHead,
+ TableRow,
+ TableCell,
+ TableCaption,
+}
diff --git a/frontend/src/components/ui/tabs.tsx b/frontend/src/components/ui/tabs.tsx
new file mode 100644
index 0000000..497ba5e
--- /dev/null
+++ b/frontend/src/components/ui/tabs.tsx
@@ -0,0 +1,66 @@
+"use client"
+
+import * as React from "react"
+import * as TabsPrimitive from "@radix-ui/react-tabs"
+
+import { cn } from "@/lib/utils"
+
+function Tabs({
+ className,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+ )
+}
+
+function TabsList({
+ className,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+ )
+}
+
+function TabsTrigger({
+ className,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+ )
+}
+
+function TabsContent({
+ className,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+ )
+}
+
+export { Tabs, TabsList, TabsTrigger, TabsContent }
diff --git a/frontend/src/components/ui/textarea.tsx b/frontend/src/components/ui/textarea.tsx
new file mode 100644
index 0000000..7f21b5e
--- /dev/null
+++ b/frontend/src/components/ui/textarea.tsx
@@ -0,0 +1,18 @@
+import * as React from "react"
+
+import { cn } from "@/lib/utils"
+
+function Textarea({ className, ...props }: React.ComponentProps<"textarea">) {
+ return (
+
+ )
+}
+
+export { Textarea }
diff --git a/frontend/src/lib/api.ts b/frontend/src/lib/api.ts
new file mode 100644
index 0000000..d19afdd
--- /dev/null
+++ b/frontend/src/lib/api.ts
@@ -0,0 +1,52 @@
+const API_BASE = "http://localhost:8000/api";
+
+export async function searchStock(query: string) {
+ const res = await fetch(`${API_BASE}/search`, {
+ method: "POST",
+ headers: { "Content-Type": "application/json" },
+ body: JSON.stringify({ query }),
+ });
+ if (!res.ok) throw new Error("Search failed");
+ return res.json() as Promise<{ market: string; symbol: string; company_name: string }[]>;
+}
+
+export async function startAnalysis(market: string, symbol: string, company_name: string) {
+ const res = await fetch(`${API_BASE}/analyze`, {
+ method: "POST",
+ headers: { "Content-Type": "application/json" },
+ body: JSON.stringify({ market, symbol, company_name }),
+ });
+ if (!res.ok) {
+ const error = await res.json();
+ throw new Error(error.detail || "Analysis failed");
+ }
+ return res.json();
+}
+
+export async function getReports() {
+ const res = await fetch(`${API_BASE}/reports`);
+ if (!res.ok) throw new Error("Failed to fetch reports");
+ return res.json();
+}
+
+export async function getReport(id: number) {
+ const res = await fetch(`${API_BASE}/reports/${id}`);
+ if (!res.ok) throw new Error("Failed to fetch report");
+ return res.json();
+}
+
+export async function getConfig() {
+ const res = await fetch(`${API_BASE}/config`);
+ if (!res.ok) throw new Error("Failed to fetch config");
+ return res.json();
+}
+
+export async function updateConfig(key: string, value: string) {
+ const res = await fetch(`${API_BASE}/config`, {
+ method: "POST",
+ headers: { "Content-Type": "application/json" },
+ body: JSON.stringify({ key, value }),
+ });
+ if (!res.ok) throw new Error("Failed to update config");
+ return res.json();
+}
diff --git a/frontend/src/lib/utils.ts b/frontend/src/lib/utils.ts
new file mode 100644
index 0000000..bd0c391
--- /dev/null
+++ b/frontend/src/lib/utils.ts
@@ -0,0 +1,6 @@
+import { clsx, type ClassValue } from "clsx"
+import { twMerge } from "tailwind-merge"
+
+export function cn(...inputs: ClassValue[]) {
+ return twMerge(clsx(inputs))
+}
diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json
new file mode 100644
index 0000000..cf9c65d
--- /dev/null
+++ b/frontend/tsconfig.json
@@ -0,0 +1,34 @@
+{
+ "compilerOptions": {
+ "target": "ES2017",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "noEmit": true,
+ "esModuleInterop": true,
+ "module": "esnext",
+ "moduleResolution": "bundler",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "jsx": "react-jsx",
+ "incremental": true,
+ "plugins": [
+ {
+ "name": "next"
+ }
+ ],
+ "paths": {
+ "@/*": ["./src/*"]
+ }
+ },
+ "include": [
+ "next-env.d.ts",
+ "**/*.ts",
+ "**/*.tsx",
+ ".next/types/**/*.ts",
+ ".next/dev/types/**/*.ts",
+ "**/*.mts"
+ ],
+ "exclude": ["node_modules"]
+}
diff --git a/DOC/API手册/API接口 b/legacy/DOC/API手册/API接口
similarity index 100%
rename from DOC/API手册/API接口
rename to legacy/DOC/API手册/API接口
diff --git a/DOC/API手册/iFinD HTTP API 用户手册.pdf b/legacy/DOC/API手册/iFinD HTTP API 用户手册.pdf
similarity index 100%
rename from DOC/API手册/iFinD HTTP API 用户手册.pdf
rename to legacy/DOC/API手册/iFinD HTTP API 用户手册.pdf
diff --git a/DOC/API手册/ifind_manual.txt b/legacy/DOC/API手册/ifind_manual.txt
similarity index 100%
rename from DOC/API手册/ifind_manual.txt
rename to legacy/DOC/API手册/ifind_manual.txt
diff --git a/DOC/JP-data.md b/legacy/DOC/JP-data.md
similarity index 100%
rename from DOC/JP-data.md
rename to legacy/DOC/JP-data.md
diff --git a/DOC/formulas.md b/legacy/DOC/formulas.md
similarity index 100%
rename from DOC/formulas.md
rename to legacy/DOC/formulas.md
diff --git a/DOC/implementation_plan.md b/legacy/DOC/implementation_plan.md
similarity index 100%
rename from DOC/implementation_plan.md
rename to legacy/DOC/implementation_plan.md
diff --git a/DOC/requirements.md b/legacy/DOC/requirements.md
similarity index 100%
rename from DOC/requirements.md
rename to legacy/DOC/requirements.md
diff --git a/DOC/task.md b/legacy/DOC/task.md
similarity index 100%
rename from DOC/task.md
rename to legacy/DOC/task.md
diff --git a/DOC/walkthrough.md b/legacy/DOC/walkthrough.md
similarity index 100%
rename from DOC/walkthrough.md
rename to legacy/DOC/walkthrough.md
diff --git a/Reports-HTML/2503_JP_麒麟控股株式会社_20260102_基本面分析报告.html b/legacy/Reports-HTML/2503_JP_麒麟控股株式会社_20260102_基本面分析报告.html
similarity index 100%
rename from Reports-HTML/2503_JP_麒麟控股株式会社_20260102_基本面分析报告.html
rename to legacy/Reports-HTML/2503_JP_麒麟控股株式会社_20260102_基本面分析报告.html
diff --git a/reports/002003.SZ_CN_伟星股份_20251230_基本面分析报告.md b/legacy/Reports/002003.SZ_CN_伟星股份_20251230_基本面分析报告.md
similarity index 100%
rename from reports/002003.SZ_CN_伟星股份_20251230_基本面分析报告.md
rename to legacy/Reports/002003.SZ_CN_伟星股份_20251230_基本面分析报告.md
diff --git a/reports/2502_JP_Asahi Group Holdings Ltd._20260102_基本面分析报告.md b/legacy/Reports/2502_JP_Asahi Group Holdings Ltd._20260102_基本面分析报告.md
similarity index 100%
rename from reports/2502_JP_Asahi Group Holdings Ltd._20260102_基本面分析报告.md
rename to legacy/Reports/2502_JP_Asahi Group Holdings Ltd._20260102_基本面分析报告.md
diff --git a/reports/2503_JP_麒麟控股株式会社_20260102_基本面分析报告.md b/legacy/Reports/2503_JP_麒麟控股株式会社_20260102_基本面分析报告.md
similarity index 100%
rename from reports/2503_JP_麒麟控股株式会社_20260102_基本面分析报告.md
rename to legacy/Reports/2503_JP_麒麟控股株式会社_20260102_基本面分析报告.md
diff --git a/reports/600519.SH_CN_贵州茅台_20251231_基本面分析报告.md b/legacy/Reports/600519.SH_CN_贵州茅台_20251231_基本面分析报告.md
similarity index 100%
rename from reports/600519.SH_CN_贵州茅台_20251231_基本面分析报告.md
rename to legacy/Reports/600519.SH_CN_贵州茅台_20251231_基本面分析报告.md
diff --git a/reports/688334_CN_西高院_20251230_基本面分析报告.md b/legacy/Reports/688334_CN_西高院_20251230_基本面分析报告.md
similarity index 100%
rename from reports/688334_CN_西高院_20251230_基本面分析报告.md
rename to legacy/Reports/688334_CN_西高院_20251230_基本面分析报告.md
diff --git a/reports/AAPL_US_Apple Inc_20260102_基本面分析报告.md b/legacy/Reports/AAPL_US_Apple Inc_20260102_基本面分析报告.md
similarity index 100%
rename from reports/AAPL_US_Apple Inc_20260102_基本面分析报告.md
rename to legacy/Reports/AAPL_US_Apple Inc_20260102_基本面分析报告.md
diff --git a/data/CN/002003.SZ/historical_metrics.csv b/legacy/data/CN/002003.SZ/historical_metrics.csv
similarity index 100%
rename from data/CN/002003.SZ/historical_metrics.csv
rename to legacy/data/CN/002003.SZ/historical_metrics.csv
diff --git a/data/CN/002003.SZ/raw_balance_sheet.csv b/legacy/data/CN/002003.SZ/raw_balance_sheet.csv
similarity index 100%
rename from data/CN/002003.SZ/raw_balance_sheet.csv
rename to legacy/data/CN/002003.SZ/raw_balance_sheet.csv
diff --git a/data/CN/002003.SZ/raw_cash_flow.csv b/legacy/data/CN/002003.SZ/raw_cash_flow.csv
similarity index 100%
rename from data/CN/002003.SZ/raw_cash_flow.csv
rename to legacy/data/CN/002003.SZ/raw_cash_flow.csv
diff --git a/data/CN/002003.SZ/raw_dividends_raw.csv b/legacy/data/CN/002003.SZ/raw_dividends_raw.csv
similarity index 100%
rename from data/CN/002003.SZ/raw_dividends_raw.csv
rename to legacy/data/CN/002003.SZ/raw_dividends_raw.csv
diff --git a/data/CN/002003.SZ/raw_historical_metrics_daily_basic.csv b/legacy/data/CN/002003.SZ/raw_historical_metrics_daily_basic.csv
similarity index 100%
rename from data/CN/002003.SZ/raw_historical_metrics_daily_basic.csv
rename to legacy/data/CN/002003.SZ/raw_historical_metrics_daily_basic.csv
diff --git a/data/CN/002003.SZ/raw_historical_metrics_shareholder_number.csv b/legacy/data/CN/002003.SZ/raw_historical_metrics_shareholder_number.csv
similarity index 100%
rename from data/CN/002003.SZ/raw_historical_metrics_shareholder_number.csv
rename to legacy/data/CN/002003.SZ/raw_historical_metrics_shareholder_number.csv
diff --git a/data/CN/002003.SZ/raw_income_statement.csv b/legacy/data/CN/002003.SZ/raw_income_statement.csv
similarity index 100%
rename from data/CN/002003.SZ/raw_income_statement.csv
rename to legacy/data/CN/002003.SZ/raw_income_statement.csv
diff --git a/data/CN/002003.SZ/raw_market_metrics_daily_basic.csv b/legacy/data/CN/002003.SZ/raw_market_metrics_daily_basic.csv
similarity index 100%
rename from data/CN/002003.SZ/raw_market_metrics_daily_basic.csv
rename to legacy/data/CN/002003.SZ/raw_market_metrics_daily_basic.csv
diff --git a/data/CN/002003.SZ/raw_market_metrics_shareholder_number.csv b/legacy/data/CN/002003.SZ/raw_market_metrics_shareholder_number.csv
similarity index 100%
rename from data/CN/002003.SZ/raw_market_metrics_shareholder_number.csv
rename to legacy/data/CN/002003.SZ/raw_market_metrics_shareholder_number.csv
diff --git a/data/CN/002003.SZ/raw_market_metrics_stock_basic.csv b/legacy/data/CN/002003.SZ/raw_market_metrics_stock_basic.csv
similarity index 100%
rename from data/CN/002003.SZ/raw_market_metrics_stock_basic.csv
rename to legacy/data/CN/002003.SZ/raw_market_metrics_stock_basic.csv
diff --git a/data/CN/002003.SZ/raw_repurchases.csv b/legacy/data/CN/002003.SZ/raw_repurchases.csv
similarity index 100%
rename from data/CN/002003.SZ/raw_repurchases.csv
rename to legacy/data/CN/002003.SZ/raw_repurchases.csv
diff --git a/data/CN/002003.SZ/report.html b/legacy/data/CN/002003.SZ/report.html
similarity index 100%
rename from data/CN/002003.SZ/report.html
rename to legacy/data/CN/002003.SZ/report.html
diff --git a/data/CN/002003.SZ/report.md b/legacy/data/CN/002003.SZ/report.md
similarity index 100%
rename from data/CN/002003.SZ/report.md
rename to legacy/data/CN/002003.SZ/report.md
diff --git a/data/CN/002478.SZ/historical_metrics.csv b/legacy/data/CN/002478.SZ/historical_metrics.csv
similarity index 100%
rename from data/CN/002478.SZ/historical_metrics.csv
rename to legacy/data/CN/002478.SZ/historical_metrics.csv
diff --git a/data/CN/002478.SZ/raw_balance_sheet.csv b/legacy/data/CN/002478.SZ/raw_balance_sheet.csv
similarity index 100%
rename from data/CN/002478.SZ/raw_balance_sheet.csv
rename to legacy/data/CN/002478.SZ/raw_balance_sheet.csv
diff --git a/data/CN/002478.SZ/raw_cash_flow.csv b/legacy/data/CN/002478.SZ/raw_cash_flow.csv
similarity index 100%
rename from data/CN/002478.SZ/raw_cash_flow.csv
rename to legacy/data/CN/002478.SZ/raw_cash_flow.csv
diff --git a/data/CN/002478.SZ/raw_dividends_raw.csv b/legacy/data/CN/002478.SZ/raw_dividends_raw.csv
similarity index 100%
rename from data/CN/002478.SZ/raw_dividends_raw.csv
rename to legacy/data/CN/002478.SZ/raw_dividends_raw.csv
diff --git a/data/CN/002478.SZ/raw_historical_metrics_daily_basic.csv b/legacy/data/CN/002478.SZ/raw_historical_metrics_daily_basic.csv
similarity index 100%
rename from data/CN/002478.SZ/raw_historical_metrics_daily_basic.csv
rename to legacy/data/CN/002478.SZ/raw_historical_metrics_daily_basic.csv
diff --git a/data/CN/002478.SZ/raw_historical_metrics_shareholder_number.csv b/legacy/data/CN/002478.SZ/raw_historical_metrics_shareholder_number.csv
similarity index 100%
rename from data/CN/002478.SZ/raw_historical_metrics_shareholder_number.csv
rename to legacy/data/CN/002478.SZ/raw_historical_metrics_shareholder_number.csv
diff --git a/data/CN/002478.SZ/raw_income_statement.csv b/legacy/data/CN/002478.SZ/raw_income_statement.csv
similarity index 100%
rename from data/CN/002478.SZ/raw_income_statement.csv
rename to legacy/data/CN/002478.SZ/raw_income_statement.csv
diff --git a/data/CN/002478.SZ/raw_market_metrics_daily_basic.csv b/legacy/data/CN/002478.SZ/raw_market_metrics_daily_basic.csv
similarity index 100%
rename from data/CN/002478.SZ/raw_market_metrics_daily_basic.csv
rename to legacy/data/CN/002478.SZ/raw_market_metrics_daily_basic.csv
diff --git a/data/CN/002478.SZ/raw_market_metrics_shareholder_number.csv b/legacy/data/CN/002478.SZ/raw_market_metrics_shareholder_number.csv
similarity index 100%
rename from data/CN/002478.SZ/raw_market_metrics_shareholder_number.csv
rename to legacy/data/CN/002478.SZ/raw_market_metrics_shareholder_number.csv
diff --git a/data/CN/002478.SZ/raw_market_metrics_stock_basic.csv b/legacy/data/CN/002478.SZ/raw_market_metrics_stock_basic.csv
similarity index 100%
rename from data/CN/002478.SZ/raw_market_metrics_stock_basic.csv
rename to legacy/data/CN/002478.SZ/raw_market_metrics_stock_basic.csv
diff --git a/data/CN/002478.SZ/raw_repurchases.csv b/legacy/data/CN/002478.SZ/raw_repurchases.csv
similarity index 100%
rename from data/CN/002478.SZ/raw_repurchases.csv
rename to legacy/data/CN/002478.SZ/raw_repurchases.csv
diff --git a/data/CN/002478.SZ/report.html b/legacy/data/CN/002478.SZ/report.html
similarity index 100%
rename from data/CN/002478.SZ/report.html
rename to legacy/data/CN/002478.SZ/report.html
diff --git a/data/CN/002478.SZ/report.md b/legacy/data/CN/002478.SZ/report.md
similarity index 100%
rename from data/CN/002478.SZ/report.md
rename to legacy/data/CN/002478.SZ/report.md
diff --git a/data/CN/300760.SZ/historical_metrics.csv b/legacy/data/CN/300760.SZ/historical_metrics.csv
similarity index 100%
rename from data/CN/300760.SZ/historical_metrics.csv
rename to legacy/data/CN/300760.SZ/historical_metrics.csv
diff --git a/data/CN/300760.SZ/raw_balance_sheet.csv b/legacy/data/CN/300760.SZ/raw_balance_sheet.csv
similarity index 100%
rename from data/CN/300760.SZ/raw_balance_sheet.csv
rename to legacy/data/CN/300760.SZ/raw_balance_sheet.csv
diff --git a/data/CN/300760.SZ/raw_cash_flow.csv b/legacy/data/CN/300760.SZ/raw_cash_flow.csv
similarity index 100%
rename from data/CN/300760.SZ/raw_cash_flow.csv
rename to legacy/data/CN/300760.SZ/raw_cash_flow.csv
diff --git a/data/CN/300760.SZ/raw_dividends_raw.csv b/legacy/data/CN/300760.SZ/raw_dividends_raw.csv
similarity index 100%
rename from data/CN/300760.SZ/raw_dividends_raw.csv
rename to legacy/data/CN/300760.SZ/raw_dividends_raw.csv
diff --git a/data/CN/300760.SZ/raw_historical_metrics_daily_basic.csv b/legacy/data/CN/300760.SZ/raw_historical_metrics_daily_basic.csv
similarity index 100%
rename from data/CN/300760.SZ/raw_historical_metrics_daily_basic.csv
rename to legacy/data/CN/300760.SZ/raw_historical_metrics_daily_basic.csv
diff --git a/data/CN/300760.SZ/raw_historical_metrics_shareholder_number.csv b/legacy/data/CN/300760.SZ/raw_historical_metrics_shareholder_number.csv
similarity index 100%
rename from data/CN/300760.SZ/raw_historical_metrics_shareholder_number.csv
rename to legacy/data/CN/300760.SZ/raw_historical_metrics_shareholder_number.csv
diff --git a/data/CN/300760.SZ/raw_income_statement.csv b/legacy/data/CN/300760.SZ/raw_income_statement.csv
similarity index 100%
rename from data/CN/300760.SZ/raw_income_statement.csv
rename to legacy/data/CN/300760.SZ/raw_income_statement.csv
diff --git a/data/CN/300760.SZ/raw_market_metrics_daily_basic.csv b/legacy/data/CN/300760.SZ/raw_market_metrics_daily_basic.csv
similarity index 100%
rename from data/CN/300760.SZ/raw_market_metrics_daily_basic.csv
rename to legacy/data/CN/300760.SZ/raw_market_metrics_daily_basic.csv
diff --git a/data/CN/300760.SZ/raw_market_metrics_shareholder_number.csv b/legacy/data/CN/300760.SZ/raw_market_metrics_shareholder_number.csv
similarity index 100%
rename from data/CN/300760.SZ/raw_market_metrics_shareholder_number.csv
rename to legacy/data/CN/300760.SZ/raw_market_metrics_shareholder_number.csv
diff --git a/data/CN/300760.SZ/raw_market_metrics_stock_basic.csv b/legacy/data/CN/300760.SZ/raw_market_metrics_stock_basic.csv
similarity index 100%
rename from data/CN/300760.SZ/raw_market_metrics_stock_basic.csv
rename to legacy/data/CN/300760.SZ/raw_market_metrics_stock_basic.csv
diff --git a/data/CN/300760.SZ/raw_repurchases.csv b/legacy/data/CN/300760.SZ/raw_repurchases.csv
similarity index 100%
rename from data/CN/300760.SZ/raw_repurchases.csv
rename to legacy/data/CN/300760.SZ/raw_repurchases.csv
diff --git a/data/CN/300760.SZ/report.html b/legacy/data/CN/300760.SZ/report.html
similarity index 100%
rename from data/CN/300760.SZ/report.html
rename to legacy/data/CN/300760.SZ/report.html
diff --git a/data/CN/300760.SZ/report.md b/legacy/data/CN/300760.SZ/report.md
similarity index 100%
rename from data/CN/300760.SZ/report.md
rename to legacy/data/CN/300760.SZ/report.md
diff --git a/data/CN/600519.SH/historical_metrics.csv b/legacy/data/CN/600519.SH/historical_metrics.csv
similarity index 100%
rename from data/CN/600519.SH/historical_metrics.csv
rename to legacy/data/CN/600519.SH/historical_metrics.csv
diff --git a/data/CN/600519.SH/raw_balance_sheet.csv b/legacy/data/CN/600519.SH/raw_balance_sheet.csv
similarity index 100%
rename from data/CN/600519.SH/raw_balance_sheet.csv
rename to legacy/data/CN/600519.SH/raw_balance_sheet.csv
diff --git a/data/CN/600519.SH/raw_cash_flow.csv b/legacy/data/CN/600519.SH/raw_cash_flow.csv
similarity index 100%
rename from data/CN/600519.SH/raw_cash_flow.csv
rename to legacy/data/CN/600519.SH/raw_cash_flow.csv
diff --git a/data/CN/600519.SH/raw_dividends_raw.csv b/legacy/data/CN/600519.SH/raw_dividends_raw.csv
similarity index 100%
rename from data/CN/600519.SH/raw_dividends_raw.csv
rename to legacy/data/CN/600519.SH/raw_dividends_raw.csv
diff --git a/data/CN/600519.SH/raw_historical_metrics_daily_basic.csv b/legacy/data/CN/600519.SH/raw_historical_metrics_daily_basic.csv
similarity index 100%
rename from data/CN/600519.SH/raw_historical_metrics_daily_basic.csv
rename to legacy/data/CN/600519.SH/raw_historical_metrics_daily_basic.csv
diff --git a/data/CN/600519.SH/raw_historical_metrics_shareholder_number.csv b/legacy/data/CN/600519.SH/raw_historical_metrics_shareholder_number.csv
similarity index 100%
rename from data/CN/600519.SH/raw_historical_metrics_shareholder_number.csv
rename to legacy/data/CN/600519.SH/raw_historical_metrics_shareholder_number.csv
diff --git a/data/CN/600519.SH/raw_income_statement.csv b/legacy/data/CN/600519.SH/raw_income_statement.csv
similarity index 100%
rename from data/CN/600519.SH/raw_income_statement.csv
rename to legacy/data/CN/600519.SH/raw_income_statement.csv
diff --git a/data/CN/600519.SH/raw_market_metrics_daily_basic.csv b/legacy/data/CN/600519.SH/raw_market_metrics_daily_basic.csv
similarity index 100%
rename from data/CN/600519.SH/raw_market_metrics_daily_basic.csv
rename to legacy/data/CN/600519.SH/raw_market_metrics_daily_basic.csv
diff --git a/data/CN/600519.SH/raw_market_metrics_shareholder_number.csv b/legacy/data/CN/600519.SH/raw_market_metrics_shareholder_number.csv
similarity index 100%
rename from data/CN/600519.SH/raw_market_metrics_shareholder_number.csv
rename to legacy/data/CN/600519.SH/raw_market_metrics_shareholder_number.csv
diff --git a/data/CN/600519.SH/raw_market_metrics_stock_basic.csv b/legacy/data/CN/600519.SH/raw_market_metrics_stock_basic.csv
similarity index 100%
rename from data/CN/600519.SH/raw_market_metrics_stock_basic.csv
rename to legacy/data/CN/600519.SH/raw_market_metrics_stock_basic.csv
diff --git a/data/CN/600519.SH/raw_repurchases.csv b/legacy/data/CN/600519.SH/raw_repurchases.csv
similarity index 100%
rename from data/CN/600519.SH/raw_repurchases.csv
rename to legacy/data/CN/600519.SH/raw_repurchases.csv
diff --git a/data/CN/600519.SH/report.html b/legacy/data/CN/600519.SH/report.html
similarity index 100%
rename from data/CN/600519.SH/report.html
rename to legacy/data/CN/600519.SH/report.html
diff --git a/data/CN/600519.SH/report.md b/legacy/data/CN/600519.SH/report.md
similarity index 100%
rename from data/CN/600519.SH/report.md
rename to legacy/data/CN/600519.SH/report.md
diff --git a/legacy/data/CN/688334.SH/historical_metrics.csv b/legacy/data/CN/688334.SH/historical_metrics.csv
new file mode 100644
index 0000000..1134507
--- /dev/null
+++ b/legacy/data/CN/688334.SH/historical_metrics.csv
@@ -0,0 +1,9 @@
+date_str,Price,PE,PB,MarketCap,Shareholders
+20250930,19.28,26.6914,2.1851,6103652104.0,12225.0
+20241231,16.33,31.8397,1.8835,5169742680.0,12364.0
+20240930,17.66,34.4329,1.844,5590793370.000001,12979.0
+20231231,17.33,42.0868,1.8442,5486322145.999999,15965.0
+20221231,,,,,7.0
+20211231,,,,,
+20201231,,,,,
+20191231,,,,,
diff --git a/legacy/data/CN/688334.SH/raw_balance_sheet.csv b/legacy/data/CN/688334.SH/raw_balance_sheet.csv
new file mode 100644
index 0000000..58777ad
--- /dev/null
+++ b/legacy/data/CN/688334.SH/raw_balance_sheet.csv
@@ -0,0 +1,20 @@
+ts_code,ann_date,f_ann_date,end_date,report_type,comp_type,end_type,total_share,cap_rese,undistr_porfit,surplus_rese,special_rese,money_cap,trad_asset,notes_receiv,accounts_receiv,oth_receiv,prepayment,div_receiv,int_receiv,inventories,amor_exp,nca_within_1y,sett_rsrv,loanto_oth_bank_fi,premium_receiv,reinsur_receiv,reinsur_res_receiv,pur_resale_fa,oth_cur_assets,total_cur_assets,fa_avail_for_sale,htm_invest,lt_eqt_invest,invest_real_estate,time_deposits,oth_assets,lt_rec,fix_assets,cip,const_materials,fixed_assets_disp,produc_bio_assets,oil_and_gas_assets,intan_assets,r_and_d,goodwill,lt_amor_exp,defer_tax_assets,decr_in_disbur,oth_nca,total_nca,cash_reser_cb,depos_in_oth_bfi,prec_metals,deriv_assets,rr_reins_une_prem,rr_reins_outstd_cla,rr_reins_lins_liab,rr_reins_lthins_liab,refund_depos,ph_pledge_loans,refund_cap_depos,indep_acct_assets,client_depos,client_prov,transac_seat_fee,invest_as_receiv,total_assets,lt_borr,st_borr,cb_borr,depos_ib_deposits,loan_oth_bank,trading_fl,notes_payable,acct_payable,adv_receipts,sold_for_repur_fa,comm_payable,payroll_payable,taxes_payable,int_payable,div_payable,oth_payable,acc_exp,deferred_inc,st_bonds_payable,payable_to_reinsurer,rsrv_insur_cont,acting_trading_sec,acting_uw_sec,non_cur_liab_due_1y,oth_cur_liab,total_cur_liab,bond_payable,lt_payable,specific_payables,estimated_liab,defer_tax_liab,defer_inc_non_cur_liab,oth_ncl,total_ncl,depos_oth_bfi,deriv_liab,depos,agency_bus_liab,oth_liab,prem_receiv_adva,depos_received,ph_invest,reser_une_prem,reser_outstd_claims,reser_lins_liab,reser_lthins_liab,indept_acc_liab,pledge_borr,indem_payable,policy_div_payable,total_liab,treasury_share,ordin_risk_reser,forex_differ,invest_loss_unconf,minority_int,total_hldr_eqy_exc_min_int,total_hldr_eqy_inc_min_int,total_liab_hldr_eqy,lt_payroll_payable,oth_comp_income,oth_eqt_tools,oth_eqt_tools_p_shr,lending_funds,acc_receivable,st_fin_payable,payables,hfs_assets,hfs_sales,cost_fin_assets,fair_value_fin_assets,contract_assets,contract_liab,accounts_receiv_bill,accounts_pay,oth_rcv_total,fix_assets_total,cip_total,oth_pay_total,long_pay_total,debt_invest,oth_debt_invest,update_flag
+688334.SH,20251022,20251022,20250930,1,1,3,316579466.0,2126849242.42,359198226.63,56145760.28,,958101465.03,255000000.0,65922503.07,122902597.89,,10627348.38,,,55860555.79,,569253743.0,,,,,,,14151955.63,2053255878.37,,,33639874.31,,,,,,9633886.5,,,,,120943268.05,,23716852.85,,2910346.65,,16199037.64,1628167683.86,,,,,,,,,,,,,,,,,3681423562.23,33618259.83,,,,,,,73695517.18,,,,50000302.78,18338526.53,,,,,,,,,,,4891580.71,16389194.76,462890978.1,,,,,26652295.13,71695132.01,,153409379.33,,,,,,,,,,,,,,,,,616300357.43,,,,,207030509.47,2858092695.33,3065123204.8,3681423562.23,11780000.0,-680000.0,,,,,,,,,,,,293292107.7,188825100.96,73695517.18,1435709.58,995912119.98,9633886.5,6283748.44,9603639.91,423295458.32,,0
+688334.SH,20250821,20250821,20250630,1,1,2,316579466.0,2126849242.42,367528100.04,56145760.28,,1137566182.9,,45433707.78,116798179.89,1568958.95,8492140.9,,,58870674.19,,375599099.4,,,,,,,17835826.52,1762183295.53,,,33431639.26,,,,,1021686763.6,7570975.74,,,,,123020106.32,,23716852.85,,2913258.03,,8424537.64,1936811731.14,,,,,,,,,,,,,,,,,3698995026.67,33614527.22,,,,,,,74665774.95,,,,34142250.58,9189817.3,,,6074403.46,,,,,,,,4891580.71,19530154.12,477255250.32,,9603639.9,0.0,,26870887.83,73951454.2,,156762441.19,,,,,,,,,,,,,,,,,634017691.51,,,,,198554766.42,2866422568.74,3064977335.16,3698995026.67,11780000.0,-680000.0,,,,,,,,,,,18525.0,328761269.2,162231887.67,74665774.95,1568958.95,1021686763.6,7570975.74,6074403.46,9603639.9,713196955.6,,0
+688334.SH,20250411,20250411,20250331,1,1,1,316579466.0,2126849242.42,342117182.66,56145760.28,,822894685.51,260000000.0,71574744.07,110429551.03,,17230433.4,,,52487546.87,,365650386.0,,,,,,,20311852.37,1721685667.01,,,33514628.83,,,,,,,,,,,125102107.86,,23716852.85,,3008647.04,,2868600.0,1945649414.43,,,,,,,,,,,,,,,,,3667335081.44,33591200.0,,,,,,,131200821.74,,,,14863946.31,13179927.93,,,,,,,,,,,5732081.8,21962134.99,506958713.93,,,,,26775514.32,76662182.79,,159225607.74,,,,,,,,,,,,,,,,,666184321.67,,,,,160059108.41,2841091651.36,3001150759.77,3667335081.44,11620000.0,-600000.0,,,,,,,,,,,,,,,,,,,,,,0
+688334.SH,20250411,20250411,20250331,1,1,1,316579466.0,2126849242.42,342117182.66,56145760.28,,822894685.51,260000000.0,71574744.07,110429551.03,,17230433.4,,,52487546.87,,365650386.0,,,,,,,20311852.37,1721685667.01,,,33514628.83,,,,,,7224161.43,,,,,125102107.86,,23716852.85,,3008647.04,,2868600.0,1945649414.43,,,,,,,,,,,,,,,,,3667335081.44,33591200.0,,,,,,,131200821.74,,,,14863946.31,13179927.93,,,,,,,,,,,5732081.8,21962134.99,506958713.93,,,,,26775514.32,76662182.79,,159225607.74,,,,,,,,,,,,,,,,,666184321.67,,,,,160059108.41,2841091651.36,3001150759.77,3667335081.44,11620000.0,-600000.0,,,,,,,,,,,18525.0,315349634.5,182004295.1,131200821.74,1087942.76,1051896635.54,7224161.43,4670166.66,9604086.56,694533336.25,,1
+688334.SH,20250411,20250411,20241231,1,1,4,316579466.0,2126849242.42,279142979.23,56145760.28,,1054330577.41,,75073721.94,97051453.54,812763.36,6693483.71,,,51847329.48,,267475538.22,,,,,,,23757642.76,1577061035.42,,,33339030.59,,,,,1083800226.26,6673114.52,,157638.44,,,127237272.52,,23716852.85,,2997871.56,,3240687.64,1971016116.74,,,,,,,,,,,,,,,,,3548077152.16,,,,,,,,124433136.78,,,,6671431.76,14290966.37,0.0,31657946.6,3646354.73,,,,,,,,7600574.21,20056119.3,490628860.57,,9604086.55,0.0,,26994107.02,80194969.72,,128607268.81,,,,,,,,,,,,,,,,,619236129.38,,,,,150723574.85,2778117447.93,2928841022.78,3548077152.16,11620000.0,-600000.0,,,,,,,,,,,18525.0,282272330.82,172125175.48,124433136.78,812763.36,1083957864.7,6673114.52,35304301.33,9604086.55,685349494.31,,0
+688334.SH,20241030,20241030,20240930,1,1,3,316579466.0,2126849242.42,315056546.33,36092710.23,,501472308.23,545000000.0,63225665.13,166471855.14,,6981484.75,,,48840365.57,,178047037.77,,,,,,,21584327.53,1532625029.58,,,33318971.47,,,,,1073957284.05,1395917.32,,,,,126892784.79,,23227861.11,,3493317.74,,15633181.41,2021049145.58,,,,,,,,,,,,,,,,,3553674175.16,,,,,,,,212788079.25,,,,27798195.58,26393625.6,,,,,,,,,,,7603097.03,11536323.99,486066659.38,,,,,27202476.54,81750709.22,,134316592.93,,,,,,,,,,,,,,,,,620383252.31,,,,,138452957.87,2794837964.98,2933290922.85,3553674175.16,10810000.0,260000.0,,,,,,,,,,,18525.0,193609684.61,229697520.27,212788079.25,983460.46,1073957284.05,1395917.32,6337653.32,13404906.56,737692097.1,,0
+688334.SH,20240830,20240830,20240630,1,1,2,316579466.0,2489803394.01,196193705.0,29058687.84,,955522097.63,,50722820.87,72939143.73,769986.02,3212973.83,,,41859111.76,,513851572.88,,,,,,,8504669.32,1647400901.04,,,33312530.51,,,,,827992298.75,1345150.0,,,,,100690969.91,,23256838.51,,2454945.18,,16781569.94,1844795117.11,,,,,,,,,,,,,,,,,3492196018.15,,,,,,,,48518339.26,,,,19567037.19,17184742.15,,,7601424.58,,,,,,,,7527449.03,12543246.27,321996342.99,,13404906.57,0.0,,27363940.94,84766448.72,,138304422.31,,,,,,,,,,,,,,,,,460300765.3,,,,,,3031895252.85,3031895252.85,3492196018.15,10810000.0,260000.0,,,,,,,,,,,18525.0,209054104.51,123661964.6,48518339.26,769986.02,827992298.75,1345150.0,7601424.58,13404906.57,832697139.94,,0
+688334.SH,20240430,20240430,20240331,1,1,1,316579466.0,2489803394.01,224725878.92,29058687.84,,663623218.16,280000000.0,76690382.1,71604981.98,,12012468.55,,,44391732.58,,433488333.33,,,,,,,6739882.11,1590023283.92,,,33181636.33,,,,,805558688.24,6987856.55,,,,,100912931.75,,23716852.85,,2666559.82,,31312845.0,1912767887.05,,,,,,,,,,,,,,,,,3502791170.97,,,,,,,3000000.0,39588332.67,,,,8969577.27,12526922.38,,,,,,,,,,,7440429.99,15256166.54,298005832.89,,,,,28648995.57,86481188.22,,144607911.31,,,,,,,,,,,,,,,,,442613744.2,,,,,,3060177426.77,3060177426.77,3502791170.97,11250000.0,10000.0,,,,,,,,,,,302100.0,199514083.53,148295364.08,42588332.67,1170185.11,805558688.24,6987856.55,11710320.51,13405479.91,901322455.78,,0
+688334.SH,20240411,20240411,20231231,1,1,4,316579466.0,2489803394.01,178129426.48,29058687.84,,863748210.71,,104881495.03,35711610.22,499071.0,4852150.6,,,54020475.84,,430135555.56,,,,,,,11594735.18,1505746924.14,,,33051587.46,,,,,825553724.31,6836580.64,,,,,102747609.11,,23716852.85,,2669336.95,,32981473.2,1930430437.1,,,,,,,,,,,,,,,,,3436177361.24,,,,,,,,38507685.26,,,,3888182.58,12134350.73,,,5154786.68,,,,,,,,7440429.99,16674905.25,274176050.89,,13405479.91,0.0,,28867588.29,90037227.72,,148420336.02,,,,,,,,,,,,,,,,,422596386.91,,,,,,3013580974.33,3013580974.33,3436177361.24,11250000.0,10000.0,,,,,,,,,,,303620.0,190375710.4,140593105.25,38507685.26,499071.0,825553724.31,6836580.64,5154786.68,13405479.91,894849385.77,,1
+688334.SH,20240411,20240411,20231231,1,1,4,316579466.0,2489803394.01,178129426.48,29058687.84,,863748210.71,,104881495.03,35711610.22,499071.0,4852150.6,,,54020475.84,,430135555.56,,,,,,,11594735.18,1505746924.14,,,33051587.46,,,,,825553724.31,6836580.64,,,,,102747609.11,,23716852.85,,2669336.95,,32981473.2,1930430437.1,,,,,,,,,,,,,,,,,3436177361.24,,,,,,,,38507685.26,,,,3888182.58,12134350.73,,,5154786.68,,,,,,,,7440429.99,16674905.25,274176050.89,,13405479.91,0.0,,28867588.29,90037227.72,,148420336.02,,,,,,,,,,,,,,,,,422596386.91,,,,,,3013580974.33,3013580974.33,3436177361.24,11250000.0,10000.0,,,,,,,,,,,303620.0,190375710.4,140593105.25,38507685.26,499071.0,825553724.31,6836580.64,5154786.68,13405479.91,894849385.77,,0
+688334.SH,20231028,20231028,20230930,1,1,3,316579466.0,2489803394.01,153952388.75,14915802.63,,769485417.61,300000000.0,64994604.56,83291654.56,,20053880.17,,744438.89,59766883.51,,,,,,,,,4692606.52,1304610906.72,,,33686616.66,,,,,814810688.89,2224612.01,,,,,100137042.47,,23913452.13,,1461221.4,,27914070.0,2087625628.87,,,,,,,,,,,,,,,,,3392236535.59,,,,,,,,54449201.21,,,,19679511.26,9811005.98,,,,,,,,,,,7008054.97,11166166.44,264952583.79,,,,,29371312.23,91743567.22,,152302900.41,,,,,,,,,,,,,,,,,417255484.2,,,,,,2974981051.39,2974981051.39,3392236535.59,8690000.0,-270000.0,,,,,,,,,,,759145.0,146553877.87,148286259.12,54449201.21,1566714.79,814810688.89,2224612.01,16284766.06,17206173.24,1075223811.49,,0
+688334.SH,20230830,20230830,20230630,1,1,2,316579466.0,2489803394.01,110961238.82,14915802.63,,1242151396.86,,17029068.4,59436138.81,676481.59,19839369.08,0.0,146555.56,66696945.59,,,,,,,,,6582064.29,1413317165.18,,,33697604.29,,,,,834065278.87,1997431.32,,,,,100906414.0,,24076449.39,,1487864.42,,28792858.2,1895553625.65,,,,,,,,,,,,,,,,,3308870790.83,,,,,,,,43850443.4,,,,18118561.93,4687893.02,,,4367401.15,,,,,,,,7008054.97,13066063.29,220024698.0,,17206173.24,0.0,,29901483.41,95879106.72,,156856191.37,,,,,,,,,,,,,,,,,376880889.37,,,,,,2931989901.46,2931989901.46,3308870790.83,8690000.0,-270000.0,,,,,,,,,,,759145.0,128926280.24,76465207.21,43850443.4,823037.15,834065278.87,1997431.32,4367401.15,17206173.24,861467713.89,,1
+688334.SH,20230830,20230830,20230630,1,1,2,316579466.0,2489803394.01,110961238.82,14915802.63,,1242151396.86,,17029068.4,59436138.81,676481.59,19839369.08,0.0,146555.56,66696945.59,,,,,,,,,6582064.29,1413317165.18,,,33697604.29,,,,,834065278.87,1997431.32,,,,,100906414.0,,24076449.39,,1487864.42,,28792858.2,1895553625.65,,,,,,,,,,,,,,,,,3308870790.83,,,,,,,,43850443.4,,,,18118561.93,4687893.02,,,4367401.15,,,,,,,,7008054.97,13066063.29,220024698.0,,17206173.24,0.0,,29901483.41,95879106.72,,156856191.37,,,,,,,,,,,,,,,,,376880889.37,,,,,,2931989901.46,2931989901.46,3308870790.83,8690000.0,-270000.0,,,,,,,,,,,759145.0,128926280.24,76465207.21,43850443.4,823037.15,834065278.87,1997431.32,4367401.15,17206173.24,861467713.89,,0
+688334.SH,20230530,20230530,20230331,1,1,1,237434599.0,1509165257.22,123903357.39,14915802.63,,291242156.24,,23306750.77,59767962.56,,23895755.93,,5845000.0,62807753.87,,,,,,,,,6711310.14,475950793.43,,,33980752.7,,,,,846784086.62,2118533.58,,,,,102313273.0,,24402443.88,,1809801.37,,21245250.0,1800007150.2,,,,,,,,,,,,,,,,,2275957943.63,,,,,,,,35525583.63,,,,9928847.46,4865892.71,,,,,,,,,,,7132006.04,14531392.72,227219430.01,,,,,30676284.46,100540546.22,,163239497.38,,,,,,,,,,,,,,,,,390458927.39,,,,,,1885499016.24,1885499016.24,2275957943.63,8940000.0,80000.0,,,,,,,,,,,759145.0,144773585.22,83074713.33,35525583.63,7459958.92,846784086.62,2118533.58,10462122.23,17206873.24,757483100.33,,0
+688334.SH,20230530,20230530,20221231,1,1,4,237434599.0,1509165257.22,89076310.02,14915802.63,,286273457.22,,33886894.4,57699052.9,2027990.54,21131746.43,,4635540.38,79218866.22,,,,,,,,,17267587.53,502898760.62,,,33652732.59,,,,,871960668.03,2627199.72,,,,,104171247.95,,24402443.88,,1809801.37,,16879602.8,1751957758.15,,,,,,,,,,,,,,,,,2254856518.77,,,,,,,,44532079.08,,,,4671298.84,5089620.49,,,1894687.67,,,,,,,,6933631.23,10833488.83,236343186.6,,17206873.24,,,30956212.71,104036219.43,,167841363.3,,,,,,,,,,,,,,,,,404184549.9,,,,,,1850671968.87,1850671968.87,2254856518.77,8940000.0,80000.0,,,,,,,,,,,757625.0,162388380.46,91585947.3,44532079.08,6663530.92,871960668.03,2627199.72,1894687.67,17206873.24,687047010.79,,0
+688334.SH,20230530,20230530,20221231,1,1,4,237434599.0,1509165257.22,89076310.02,14915802.63,,286273457.22,,33886894.4,57699052.9,2027990.54,21131746.43,,4635540.38,79218866.22,,,,,,,,,17267587.53,502898760.62,,,33652732.59,,,,,871960668.03,2627199.72,,,,,104171247.95,,24402443.88,,1809801.37,,16879602.8,1751957758.15,,,,,,,,,,,,,,,,,2254856518.77,,,,,,,,44532079.08,,,,4671298.84,5089620.49,,,1894687.67,,,,,,,,6933631.23,10833488.83,236343186.6,,17206873.24,,,30956212.71,104036219.43,,167841363.3,,,,,,,,,,,,,,,,,404184549.9,,,,,,1850671968.87,1850671968.87,2254856518.77,8940000.0,80000.0,,,,,,,,,,,757625.0,162388380.46,91585947.3,44532079.08,6663530.92,871960668.03,2627199.72,1894687.67,17206873.24,687047010.79,,1
+688334.SH,20230530,20230530,20211231,1,1,4,237434599.0,1509165257.22,-29267576.97,2902403.32,,455408636.43,,28256363.42,75127624.77,387525.36,10288730.4,,1083078.23,74484184.59,,,,,,,,,10574777.91,655610921.11,,,36046248.01,,,,,914310811.07,13828814.91,,,,,103596484.73,,25543887.3,,2486994.01,,5897946.99,1516110913.44,,,,,,,,,,,,,,,,,2171721834.55,,,,,,,,39521033.41,,,,4617201.76,7946066.24,,9992339.29,18716470.84,,,,,,,,6789923.36,10477511.58,260114605.91,,21008266.55,,,26554827.85,124343762.49,,192222546.07,,,,,,,,,,,,,,,,,452337151.98,,,,,,1719384682.57,1719384682.57,2171721834.55,10480000.0,-850000.0,,,,,,,,,,,,162054059.43,103383988.19,39521033.41,1470603.59,914310811.07,13828814.91,28708810.13,21008266.55,401735555.56,,0
+688334.SH,20230530,20230530,20201231,1,1,4,140680000.0,393047675.32,77982117.77,76295784.6,,186783624.45,,55042004.9,52866632.73,775181.12,6292850.33,,1303420.53,92185530.69,,,,,,,,,16087892.58,415527450.45,,,41802975.45,,,,,729171459.0,16647747.35,,,,,62913194.97,,,,7113646.23,,4732023.19,862381046.19,,,,,,,,,,,,,,,,,1277908496.64,,,,,,,4525000.0,37096563.43,,,,4524023.44,12343310.43,,,32364556.94,,,,,,,,3800000.0,117905135.24,384970832.9,,24809659.97,22400000.0,,2342477.82,149619948.26,,210522086.05,,,,,,,,,,,,,,,,,595492918.95,,,,,,682415577.69,682415577.69,1277908496.64,11350000.0,-5590000.0,,,,,,,,,,,4190313.12,172412243.42,107908637.63,41621563.43,2078601.65,729171459.0,16647747.35,32364556.94,47209659.97,,,0
+688334.SH,20220630,20220630,20191231,1,1,4,140680000.0,102148296.28,212862234.27,76295784.6,,224394412.92,,55256405.98,44752593.85,1194959.6,3523202.96,,292051.46,64268354.9,,,,,,,,,8163444.65,401845426.32,,,,,,,,564859808.37,16233214.96,,,,,11229663.66,,,,4165884.58,,7633741.4,604122312.97,,,,,,,,,,,,,,,,,1005967739.29,,,,,,,4999380.47,70584935.69,127346312.15,,,8590308.4,6385661.06,,,32297017.15,,,,,,,,3800000.0,1429300.49,255432915.41,,28611880.0,22400000.0,,3106038.3,161220590.43,,224238508.73,,,,,,,,,,,,,,,,,479671424.14,,,,,,526296315.15,526296315.15,1005967739.29,8900000.0,-5690000.0,,,,,,,,,,,,,100008999.83,75584316.16,1487011.06,564859808.37,16233214.96,32297017.15,51011880.0,,,0
diff --git a/legacy/data/CN/688334.SH/raw_cash_flow.csv b/legacy/data/CN/688334.SH/raw_cash_flow.csv
new file mode 100644
index 0000000..92a4848
--- /dev/null
+++ b/legacy/data/CN/688334.SH/raw_cash_flow.csv
@@ -0,0 +1,26 @@
+ts_code,ann_date,f_ann_date,end_date,comp_type,report_type,end_type,net_profit,finan_exp,c_fr_sale_sg,recp_tax_rends,n_depos_incr_fi,n_incr_loans_cb,n_inc_borr_oth_fi,prem_fr_orig_contr,n_incr_insured_dep,n_reinsur_prem,n_incr_disp_tfa,ifc_cash_incr,n_incr_disp_faas,n_incr_loans_oth_bank,n_cap_incr_repur,c_fr_oth_operate_a,c_inf_fr_operate_a,c_paid_goods_s,c_paid_to_for_empl,c_paid_for_taxes,n_incr_clt_loan_adv,n_incr_dep_cbob,c_pay_claims_orig_inco,pay_handling_chrg,pay_comm_insur_plcy,oth_cash_pay_oper_act,st_cash_out_act,n_cashflow_act,oth_recp_ral_inv_act,c_disp_withdrwl_invest,c_recp_return_invest,n_recp_disp_fiolta,n_recp_disp_sobu,stot_inflows_inv_act,c_pay_acq_const_fiolta,c_paid_invest,n_disp_subs_oth_biz,oth_pay_ral_inv_act,n_incr_pledge_loan,stot_out_inv_act,n_cashflow_inv_act,c_recp_borrow,proc_issue_bonds,oth_cash_recp_ral_fnc_act,stot_cash_in_fnc_act,free_cashflow,c_prepay_amt_borr,c_pay_dist_dpcp_int_exp,incl_dvd_profit_paid_sc_ms,oth_cashpay_ral_fnc_act,stot_cashout_fnc_act,n_cash_flows_fnc_act,eff_fx_flu_cash,n_incr_cash_cash_equ,c_cash_equ_beg_period,c_cash_equ_end_period,c_recp_cap_contrib,incl_cash_rec_saims,uncon_invest_loss,prov_depr_assets,depr_fa_coga_dpba,amort_intang_assets,lt_amort_deferred_exp,decr_deferred_exp,incr_acc_exp,loss_disp_fiolta,loss_scr_fa,loss_fv_chg,invest_loss,decr_def_inc_tax_assets,incr_def_inc_tax_liab,decr_inventories,decr_oper_payable,incr_oper_payable,others,im_net_cashflow_oper_act,conv_debt_into_cap,conv_copbonds_due_within_1y,fa_fnc_leases,im_n_incr_cash_equ,net_dism_capital_add,net_cash_rece_sec,credit_impa_loss,use_right_asset_dep,oth_loss_asset,end_bal_cash,beg_bal_cash,end_bal_cash_equ,beg_bal_cash_equ,update_flag
+688334.SH,20251022,20251022,20250930,1,1,3,,,687674498.9,1279725.93,,,,,,,,,,,,6875707.78,695829932.61,101152525.55,140798139.16,64055576.05,,,,,,37221100.09,343227340.85,352602591.76,,2750600000.0,21075133.57,443285.64,,2772118419.21,97648775.1,3140000000.0,,,,3237648775.1,-465530355.89,33591200.0,,,66591200.0,-253667286.8919,,149824760.3,,3248827.8,153073588.1,-86482388.1,,-199410152.23,1033337730.72,833927578.49,33000000.0,33000000.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
+688334.SH,20250821,20250821,20250630,1,1,2,147537437.62,256316.93,505401214.82,1012931.72,,,,,,,,,,,,5231268.78,511645415.32,63947997.4,91350338.08,44753545.58,,,,,,21737868.61,221789749.67,289855665.65,,1386600000.0,10728467.89,443285.64,,1397771753.53,79094130.95,1615000000.0,,,,1694094130.95,-296322377.42,33591200.0,,,66591200.0,5404496.4374,,76442931.25,,2222855.29,78665786.54,-12074586.54,,-18541298.31,1033337730.72,1014796432.41,33000000.0,33000000.0,,-534840.44,64625502.38,4250299.78,,,,289772.76,,-3467377.36,-14924721.67,84613.53,-123219.19,-6488504.27,13320672.7,83437339.36,,289855665.65,,,,-18541298.31,,,-60912.43,1653285.95,,1014796432.41,1033337730.72,,,1
+688334.SH,20250821,20250821,20250630,1,1,2,147537437.62,256316.93,505401214.82,1012931.72,,,,,,,,,,,,5231268.78,511645415.32,63947997.4,91350338.08,44753545.58,,,,,,21737868.61,221789749.67,289855665.65,,1386600000.0,10728467.89,443285.64,,1397771753.53,79094130.95,1615000000.0,,,,1694094130.95,-296322377.42,33591200.0,,,66591200.0,,,76442931.25,,2222855.29,78665786.54,-12074586.54,,-18541298.31,1033337730.72,1014796432.41,33000000.0,33000000.0,,-534840.44,64625502.38,4250299.78,,,,289772.76,,-3467377.36,-14924721.67,84613.53,-123219.19,-6488504.27,13320672.7,83437339.36,,289855665.65,,,,-18541298.31,,,-60912.43,1653285.95,,1014796432.41,1033337730.72,,,0
+688334.SH,20250411,20250411,20250331,1,1,1,,,246870153.95,119229.43,,,,,,,,,,,,696830.25,247686213.63,35585744.25,49492166.48,20900047.31,,,,,,9895012.47,115872970.51,131813243.12,260000000.0,,1741712.09,,,261741712.09,6292300.2,,,620000000.0,,626292300.2,-364550588.11,33591200.0,,,33591200.0,-48350236.3298,,31866102.44,,1175377.8,33041480.24,549719.76,,-232187625.23,1033337730.72,801150105.49,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
+688334.SH,20250411,20250411,20250331,1,1,1,,,246870153.95,119229.43,,,,,,,,,,,,696830.25,247686213.63,35585744.25,49492166.48,20900047.31,,,,,,9895012.47,115872970.51,131813243.12,260000000.0,,1741712.09,,,261741712.09,6292300.2,,,620000000.0,,626292300.2,-364550588.11,33591200.0,,,33591200.0,,,31866102.44,,1175377.8,33041480.24,549719.76,,-232187625.23,1033337730.72,801150105.49,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0
+688334.SH,20250411,20250411,20241231,1,1,4,254878787.34,827189.6,983761056.71,22016044.22,,,,,,,,,,,,31927950.32,1037705051.25,196402467.55,223854738.4,63382092.8,,,,,,71582684.21,555221982.96,482483068.29,1344000000.0,,51843073.39,40500.0,,1395883573.39,143247412.01,,,874000000.0,,1017247412.01,378636161.38,,,,,,3800000.0,131590193.58,,458002197.8,593392391.38,-593392391.38,,267726838.29,765610892.43,1033337730.72,,,,1681594.25,123519697.28,8636188.49,,,,-170411.9,217495.46,-7980328.88,-38163645.51,758633.58,-1873481.27,888208.08,50073249.7,88586874.42,,482483068.29,,,,267726838.29,,,-3060752.79,3663770.44,,1033337730.72,741019544.85,,24591347.58,0
+688334.SH,20250411,20250411,20241231,1,1,4,254878787.34,827189.6,983761056.71,22016044.22,,,,,,,,,,,,31927950.32,1037705051.25,196402467.55,223854738.4,63382092.8,,,,,,71582684.21,555221982.96,482483068.29,1344000000.0,,51843073.39,40500.0,,1395883573.39,143247412.01,,,874000000.0,,1017247412.01,378636161.38,,,,,534354994.5398,3800000.0,131590193.58,,458002197.8,593392391.38,-593392391.38,,267726838.29,765610892.43,1033337730.72,,,,1681594.25,123519697.28,8636188.49,,,,-170411.9,217495.46,-7980328.88,-38163645.51,758633.58,-1873481.27,888208.08,50073249.7,88586874.42,,482483068.29,,,,267726838.29,,,-3060752.79,3663770.44,,1033337730.72,741019544.85,,24591347.58,1
+688334.SH,20241030,20241030,20240930,1,1,3,,,586698716.73,22088568.41,,,,,,,,,,,,23548081.27,632335366.41,85724910.55,133522960.41,48643989.86,,,,,,52036420.49,319928281.31,312407085.1,,759000000.0,45362446.5,40500.0,,804402946.5,61911374.44,854000000.0,,,,915911374.44,-111508427.94,,,,,-107674899.5256,,81518589.43,,455790095.0,537308684.43,-537308684.43,,-336410027.27,765610892.43,429200865.16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
+688334.SH,20241030,20241030,20240930,1,1,3,,,586698716.73,22088568.41,,,,,,,,,,,,23548081.27,632335366.41,85724910.55,133522960.41,48643989.86,,,,,,52036420.49,319928281.31,312407085.1,,759000000.0,45362446.5,40500.0,,804402946.5,61911374.44,854000000.0,,,,915911374.44,-111508427.94,,,,,,,81518589.43,,455790095.0,537308684.43,-537308684.43,,-336410027.27,765610892.43,429200865.16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0
+688334.SH,20240830,20240830,20240630,1,1,2,99425201.28,281027.64,369774517.56,7088641.78,,,,,,,,,,,,16671194.09,393534353.43,40447652.23,78680049.53,27370220.22,,,,,,31174806.51,177672728.49,215861624.94,,350000000.0,3258111.11,40500.0,,353298611.11,41429027.98,280000000.0,,,,321429027.98,31869583.13,,,,,83791543.767,,81465842.76,,3248827.8,84714670.56,-84714670.56,,163016537.51,741019544.85,904036082.36,,,,288677.59,48844408.69,3817194.14,,,,-26759.27,112023.94,-3258111.11,-18566603.43,214391.77,-1503647.35,12677992.04,19660739.49,52506048.31,,215861624.94,,,,163016537.51,,,-371171.23,1760212.44,,904036082.36,741019544.85,,,1
+688334.SH,20240830,20240830,20240630,1,1,2,99425201.28,281027.64,369774517.56,7088641.78,,,,,,,,,,,,16671194.09,393534353.43,40447652.23,78680049.53,27370220.22,,,,,,31174806.51,177672728.49,215861624.94,,350000000.0,3258111.11,40500.0,,353298611.11,41429027.98,280000000.0,,,,321429027.98,31869583.13,,,,,,,81465842.76,,3248827.8,84714670.56,-84714670.56,,163016537.51,741019544.85,904036082.36,,,,288677.59,48844408.69,3817194.14,,,,-26759.27,112023.94,-3258111.11,-18566603.43,214391.77,-1503647.35,12677992.04,19660739.49,52506048.31,,215861624.94,,,,163016537.51,,,-371171.23,1760212.44,,904036082.36,741019544.85,,,0
+688334.SH,20240430,20240430,20240331,1,1,1,,,166188000.22,72524.19,,,,,,,,,,,,7537653.06,173798177.47,15584410.48,41908984.16,10669573.8,,,,,,10284422.91,78447391.35,95350786.12,,,1083444.45,40500.0,,1123944.45,16575270.63,280000000.0,,,,296575270.63,-295451326.18,,,,,-249354352.7298,,52173.33,,,52173.33,-52173.33,,-200152713.39,861019544.85,660866831.46,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
+688334.SH,20240430,20240430,20240331,1,1,1,,,166188000.22,72524.19,,,,,,,,,,,,7537653.06,173798177.47,15584410.48,41908984.16,10669573.8,,,,,,10284422.91,78447391.35,95350786.12,,,1083444.45,40500.0,,1123944.45,16575270.63,280000000.0,,,,296575270.63,-295451326.18,,,,,-284587270.95,,52173.33,,,52173.33,-52173.33,,-200152713.39,861019544.85,660866831.46,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0
+688334.SH,20240411,20240411,20231231,1,1,4,162367945.17,713200.04,600195164.84,8009884.88,,,,,,,,,,,,56176476.99,664381526.71,107987796.36,179632614.58,40910384.42,,,,,,73227300.25,401758095.61,262623431.1,398267.15,,2364291.66,,,2762558.81,74704246.9,,,729941703.37,,804645950.27,-801883391.46,,,,1073577062.71,-222824316.9954,3800000.0,59427316.83,,16343697.89,79571014.72,994006047.99,,454746087.63,286273457.22,741019544.85,1073577062.71,,,3510950.88,101762265.23,7332258.98,,,,10569.28,55831.23,-398267.15,-31419549.3,-859535.58,-2088624.42,22348080.53,-25324156.69,19413912.27,,262623431.1,,,,454746087.63,,,1678125.7,3520424.93,,741019544.85,286273457.22,,,1
+688334.SH,20231028,20231028,20230930,1,1,3,,,376633744.75,6953839.76,,,,,,,,,,,,43162663.38,426750247.89,52179074.94,109070591.22,25246285.97,,,,,,49867196.97,236363149.1,190387098.79,398267.15,,,,,398267.15,40427541.72,668000000.0,,,,708427541.72,-708029274.57,,,,1073577062.71,-235747854.7517,,59363743.5,,13359183.04,72722926.54,1000854136.17,,483211960.39,286273457.22,769485417.61,1073577062.71,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
+688334.SH,20231028,20231028,20230930,1,1,3,,,376633744.75,6953839.76,,,,,,,,,,,,43162663.38,426750247.89,52179074.94,109070591.22,25246285.97,,,,,,49867196.97,236363149.1,190387098.79,398267.15,,,,,398267.15,40427541.72,668000000.0,,,,708427541.72,-708029274.57,,,,1073577062.71,-337326385.21,,59363743.5,,13359183.04,72722926.54,1000854136.17,,483211960.39,286273457.22,769485417.61,1073577062.71,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0
+688334.SH,20230830,20230830,20230630,1,1,2,81056872.3,126700.0,270391560.73,96031.06,,,,,,,,,,,,20565909.92,291053501.71,38769580.43,71242874.48,17225083.24,,,,,,22468975.16,149706513.31,141346988.4,398267.15,,,,,398267.15,29354007.32,172000000.0,,,,201354007.32,-200955740.17,,,,1073577062.71,56111183.79,,59299343.5,,8791027.8,68090371.3,1005486691.41,,945877939.64,286273457.22,1232151396.86,1073577062.71,,,213075.71,51086533.66,3621816.07,,,,,,-398267.15,-12481130.36,321936.95,-1054729.3,12634839.41,30513689.19,-24965334.52,,141346988.4,,,,945877939.64,,,-944808.46,1615794.9,,1232151396.86,286273457.22,,,0
+688334.SH,20230830,20230830,20230630,1,1,2,81056872.3,126700.0,270391560.73,96031.06,,,,,,,,,,,,20565909.92,291053501.71,38769580.43,71242874.48,17225083.24,,,,,,22468975.16,149706513.31,141346988.4,398267.15,,,,,398267.15,29354007.32,172000000.0,,,,201354007.32,-200955740.17,,,,1073577062.71,123960422.9711,,59299343.5,,8791027.8,68090371.3,1005486691.41,,945877939.64,286273457.22,1232151396.86,1073577062.71,,,213075.71,51086533.66,3621816.07,,,,,,-398267.15,-12481130.36,321936.95,-1054729.3,12634839.41,30513689.19,-24965334.52,,141346988.4,,,,945877939.64,,,-944808.46,1615794.9,,1232151396.86,286273457.22,,,1
+688334.SH,20230530,20230530,20230331,1,1,1,,,134233045.5,,,,,,,,,,,,,11518507.26,145751552.76,16056249.35,36612197.19,3038908.02,,,,,,8115369.07,63822723.63,81928829.13,,,,,,,9685027.31,65000000.0,,,,74685027.31,-74685027.31,,,,,5975876.27,,63000.0,,2212102.8,2275102.8,-2275102.8,,4968699.02,286273457.22,291242156.24,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0
+688334.SH,20230530,20230530,20230331,1,1,1,,,134233045.5,,,,,,,,,,,,,11518507.26,145751552.76,16056249.35,36612197.19,3038908.02,,,,,,8115369.07,63822723.63,81928829.13,,,,,,,9685027.31,65000000.0,,,,74685027.31,-74685027.31,,,,,5975876.27,,63000.0,,2212102.8,2275102.8,-2275102.8,,4968699.02,286273457.22,291242156.24,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
+688334.SH,20230530,20230530,20221231,1,1,4,130357286.3,300213.36,558499297.09,7351092.06,,,,,,,,,,,,32018689.81,597869078.96,114848268.63,171209107.98,46950289.54,,,,,,68229114.32,401236780.47,196632298.49,,,,214000.0,,214000.0,79069863.34,267600000.0,,,,346669863.34,-346455863.34,,,,,118663186.5472,3800000.0,10293945.96,,3564051.33,17657997.29,-17657997.29,,-167481562.14,453755019.36,286273457.22,,,,434760.93,110272543.93,6566550.99,,,,-85430.78,2413.37,,-15317939.81,677192.64,4401384.86,-3941889.35,-5442697.1,-35817959.84,,196632298.49,,,,-167481562.14,,,968749.15,3257119.84,,286273457.22,453755019.36,,,0
+688334.SH,20230530,20230530,20221231,1,1,4,130357286.3,300213.36,558499297.09,7351092.06,,,,,,,,,,,,32018689.81,597869078.96,114848268.63,171209107.98,46950289.54,,,,,,68229114.32,401236780.47,196632298.49,,,,214000.0,,214000.0,79069863.34,267600000.0,,,,346669863.34,-346455863.34,,,,,118663186.5472,3800000.0,10293945.96,,3564051.33,17657997.29,-17657997.29,,-167481562.14,453755019.36,286273457.22,,,,434760.93,110272543.93,6566550.99,,,,-85430.78,2413.37,,-15317939.81,677192.64,4401384.86,-3941889.35,-5442697.1,-35817959.84,,196632298.49,,,,-167481562.14,,,968749.15,3257119.84,,286273457.22,453755019.36,,,1
+688334.SH,20230530,20230530,20211231,1,1,4,81558517.63,346446.59,449746998.8,2561557.36,,,,,,,,,,,,6356333.92,458664890.08,100939541.43,136000715.07,33818050.22,,,,,,34112641.41,304870948.13,153793941.95,7968416.49,,,6941838.0,,14910254.49,58855318.35,400000000.0,,,,458855318.35,-443945063.86,,,,698106611.19,37546946.9887,3800000.0,133075323.61,,3818459.99,140693783.6,557412827.59,,267261705.68,186493313.68,453755019.36,698106611.19,,,-320791.32,103688280.14,3633048.44,,,,193967.58,68.72,,4021171.88,4626652.22,24212350.03,23196005.13,18635340.29,-104412361.99,,153793941.95,,,,267261705.68,,,-8841873.25,3257119.86,,453755019.36,186493313.68,,,0
+688334.SH,20230530,20230530,20201231,1,1,4,65119883.5,392679.97,403398715.13,1223562.96,,,,,,,,,,,,12215794.18,416838072.27,103817136.9,117819356.58,25028111.67,,,,,,34565307.15,281229912.3,135608159.97,,,,354800.0,,354800.0,69365467.71,,,,,69365467.71,-69010667.71,,,,,203410377.8471,3800000.0,100409311.47,,,104209311.47,-104209311.47,,-37611819.21,224105132.89,186493313.68,,,,186316.54,91227563.22,2619559.62,,,,-72635.75,-66984.8,,4214541.74,-2947761.65,-763560.48,-26979773.68,-32238597.8,35560614.98,,135608159.97,,,,-37611819.21,,,-643685.44,,,186493313.68,224105132.89,,,0
+688334.SH,20220630,20220630,20191231,1,1,4,95014029.03,438913.33,425558197.83,,,,,,,,,,,,,8502860.11,434061057.94,131712355.36,107867499.17,29481308.68,,,,,,33256680.78,302317843.99,131743213.95,,,,72600.0,,72600.0,48320152.59,,,,,48320152.59,-48247552.59,,,,,-19495335.564,3800000.0,66290180.0,,,70090180.0,-70090180.0,,13405481.36,210699651.53,224105132.89,,,,-153634.21,80262205.72,1338547.65,,,,-32012.38,72968.76,,,-4165884.58,3106038.3,14245857.23,-32989024.36,-22147173.97,,131743213.95,,,,13405481.36,,,-3247616.57,,,224105132.89,210699651.53,,,0
diff --git a/legacy/data/CN/688334.SH/raw_dividends_raw.csv b/legacy/data/CN/688334.SH/raw_dividends_raw.csv
new file mode 100644
index 0000000..076993a
--- /dev/null
+++ b/legacy/data/CN/688334.SH/raw_dividends_raw.csv
@@ -0,0 +1,17 @@
+end_date,ex_date,div_proc,cash_div
+20250630,,预案,0.0
+20250630,20250912,实施,0.231
+20241231,,预案,0.0
+20241231,,股东大会通过,0.0
+20241231,20250606,实施,0.14
+20240930,,预案,0.0
+20240930,,股东大会通过,0.0
+20240930,20250115,实施,0.1
+20240630,,预案,0.0
+20240630,,股东提议,0.0
+20240630,,股东大会通过,0.0
+20240630,20241122,实施,0.158
+20231231,,预案,0.0
+20231231,,股东大会通过,0.0
+20231231,20240531,实施,0.257
+20230630,,预案,0.0
diff --git a/legacy/data/CN/688334.SH/raw_historical_metrics_daily_basic.csv b/legacy/data/CN/688334.SH/raw_historical_metrics_daily_basic.csv
new file mode 100644
index 0000000..361f6a0
--- /dev/null
+++ b/legacy/data/CN/688334.SH/raw_historical_metrics_daily_basic.csv
@@ -0,0 +1,558 @@
+ts_code,trade_date,close,turnover_rate,turnover_rate_f,volume_ratio,pe,pe_ttm,pb,ps,ps_ttm,dv_ratio,dv_ttm,total_share,float_share,free_share,total_mv,circ_mv
+688334.SH,20250930,19.28,2.0852,3.2723,1.2,26.6914,23.3003,2.1851,7.6452,6.7507,,,31657.9466,15690.4698,9998.6609,610365.2104,302512.2577
+688334.SH,20250929,19.42,1.7175,2.6951,1.04,26.8853,23.4695,2.201,7.7008,6.7997,,,31657.9466,15690.4698,9998.6609,614797.323,304708.9235
+688334.SH,20250926,19.15,1.7098,2.6832,1.1,26.5115,23.1432,2.1704,7.5937,6.7052,,,31657.9466,15690.4698,9998.6609,606249.6774,300472.4967
+688334.SH,20250925,19.17,1.7357,2.7238,1.11,26.5392,23.1674,2.1726,7.6016,6.7122,,,31657.9466,15690.4698,9998.6609,606882.8363,300786.3061
+688334.SH,20250924,19.0,1.5705,2.4645,1.01,26.3038,22.9619,2.1534,7.5342,6.6527,,,31657.9466,15690.4698,9998.6609,601500.9854,298118.9262
+688334.SH,20250923,18.6,1.9373,3.0401,1.33,25.75,22.4785,2.108,7.3756,6.5126,,,31657.9466,15690.4698,9998.6609,588837.8068,291842.7383
+688334.SH,20250922,18.77,1.3029,2.0447,0.77,25.9854,22.684,2.1273,7.443,6.5721,,,31657.9466,15690.4698,9998.6609,594219.6577,294510.1181
+688334.SH,20250919,18.75,1.2294,1.9292,0.66,25.9577,22.6598,2.125,7.4351,6.5651,,,31657.9466,15690.4698,9998.6609,593586.4988,294196.3088
+688334.SH,20250918,18.92,1.7614,2.7641,0.94,26.193,22.8653,2.1443,7.5025,6.6247,,,31657.9466,15690.4698,9998.6609,598968.3497,296863.6886
+688334.SH,20250917,19.2,1.5285,2.3986,0.81,26.5807,23.2037,2.176,7.6135,6.7227,,,31657.9466,15690.4698,9998.6609,607832.5747,301257.0202
+688334.SH,20250916,19.15,1.4494,2.2745,0.74,26.5115,23.1432,2.1704,7.5937,6.7052,,,31657.9466,15690.4698,9998.6609,606249.6774,300472.4967
+688334.SH,20250915,19.25,2.4449,3.8366,1.16,26.6499,23.2641,2.1817,7.6333,6.7402,,,31657.9466,15690.4698,9998.6609,609415.4721,302041.5437
+688334.SH,20250912,19.04,2.157,3.3848,1.06,26.3592,23.0103,2.1579,7.5501,6.6667,,,31657.9466,15690.4698,9998.6609,602767.3033,298746.545
+688334.SH,20250911,19.25,1.8011,2.8265,0.87,26.6499,23.2641,2.126,7.6333,6.7402,,,31657.9466,15690.4698,9998.6609,609415.4721,302041.5437
+688334.SH,20250910,19.19,1.533,2.4057,0.76,26.5668,23.1916,2.1194,7.6095,6.7192,,,31657.9466,15690.4698,9998.6609,607515.9953,301100.1155
+688334.SH,20250909,19.32,1.8801,2.9504,0.91,26.7468,23.3487,2.1338,7.6611,6.7647,,,31657.9466,15690.4698,9998.6609,611631.5283,303139.8765
+688334.SH,20250908,19.52,3.2078,5.0338,1.82,27.0237,23.5904,2.1559,7.7404,6.8347,,,31657.9466,15690.4698,9998.6609,617963.1176,306277.9705
+688334.SH,20250905,18.82,1.7751,2.7855,0.94,26.0546,22.7444,2.0786,7.4628,6.5896,,,31657.9466,15690.4698,9998.6609,595802.555,295294.6416
+688334.SH,20250904,18.47,1.9256,3.0217,0.89,25.5701,22.3214,2.0399,7.324,6.4671,,,31657.9466,15690.4698,9998.6609,584722.2737,289802.9772
+688334.SH,20250903,18.57,1.3069,2.0509,0.51,25.7085,22.4423,2.0509,7.3637,6.5021,,,31657.9466,15690.4698,9998.6609,587888.0684,291372.0242
+688334.SH,20250902,18.55,2.1127,3.3154,0.8,25.6808,22.4181,2.0487,7.3558,6.4951,,,31657.9466,15690.4698,9998.6609,587254.9094,291058.2148
+688334.SH,20250901,18.89,1.7101,2.6837,0.57,26.1515,22.829,2.0863,7.4906,6.6141,,,31657.9466,15690.4698,9998.6609,598018.6113,296392.9745
+688334.SH,20250829,18.78,2.3764,3.7292,0.7,25.9992,22.6961,2.0741,7.447,6.5756,,,31657.9466,15690.4698,9998.6609,594536.2371,294667.0228
+688334.SH,20250828,18.7,3.3601,5.2728,0.83,25.8885,22.5994,2.0653,7.4152,6.5476,,,31657.9466,15690.4698,9998.6609,592003.6014,293411.7853
+688334.SH,20250827,18.87,3.297,5.1738,0.88,26.1238,22.8048,2.0841,7.4827,6.6071,,,31657.9466,15690.4698,9998.6609,597385.4523,296079.1651
+688334.SH,20250826,19.14,2.4025,3.7701,0.65,26.4976,23.1311,2.1139,7.5897,6.7017,,,31657.9466,15690.4698,9998.6609,605933.0979,300315.592
+688334.SH,20250825,19.28,3.6619,5.7465,1.04,26.6914,23.3003,2.1294,7.6452,6.7507,,,31657.9466,15690.4698,9998.6609,610365.2104,302512.2577
+688334.SH,20250822,19.12,4.1623,6.5318,1.32,26.4699,23.107,2.1117,7.5818,6.6947,,,31657.9466,15690.4698,9998.6609,605299.939,300001.7826
+688334.SH,20250821,19.49,6.6536,10.4412,2.91,26.9822,23.5541,2.1526,7.7285,6.8242,,,31657.9466,15690.4698,9998.6609,617013.3792,305807.2564
+688334.SH,20250820,19.16,1.9073,2.9931,0.85,26.5253,24.7525,2.1688,7.5977,7.1188,,,31657.9466,15690.4698,9998.6609,606566.2569,300629.4014
+688334.SH,20250819,19.0,2.0686,3.2462,0.94,26.3038,24.5458,2.1507,7.5342,7.0594,,,31657.9466,15690.4698,9998.6609,601500.9854,298118.9262
+688334.SH,20250818,19.11,2.8526,4.4765,1.37,26.4561,24.6879,2.1631,7.5778,7.1003,,,31657.9466,15690.4698,9998.6609,604983.3595,299844.8779
+688334.SH,20250815,18.93,2.3315,3.6588,1.21,26.2069,24.4554,2.1428,7.5064,7.0334,,,31657.9466,15690.4698,9998.6609,599284.9291,297020.5933
+688334.SH,20250814,18.63,2.2649,3.5542,1.25,25.7916,24.0678,2.1088,7.3875,6.9219,,,31657.9466,15690.4698,9998.6609,589787.5452,292313.4524
+688334.SH,20250813,18.99,1.6885,2.6497,0.92,26.29,24.5329,2.1496,7.5302,7.0557,,,31657.9466,15690.4698,9998.6609,601184.4059,297962.0215
+688334.SH,20250812,18.94,1.8812,2.952,1.05,26.2207,24.4683,2.1439,7.5104,7.0371,,,31657.9466,15690.4698,9998.6609,599601.5086,297177.498
+688334.SH,20250811,19.02,2.2692,3.561,1.35,26.3315,24.5717,2.153,7.5421,7.0668,,,31657.9466,15690.4698,9998.6609,602134.1443,298432.7356
+688334.SH,20250808,18.85,1.556,2.4418,0.9,26.0961,24.352,2.1337,7.4747,7.0037,,,31657.9466,15690.4698,9998.6609,596752.2934,295765.3557
+688334.SH,20250807,18.75,1.6856,2.6451,0.79,25.9577,24.2229,2.1224,7.4351,6.9665,,,31657.9466,15690.4698,9998.6609,593586.4988,294196.3088
+688334.SH,20250806,18.78,1.7602,2.7622,0.78,25.9992,24.2616,2.1258,7.447,6.9776,,,31657.9466,15690.4698,9998.6609,594536.2371,294667.0228
+688334.SH,20250805,18.76,1.6893,2.6509,0.7,25.9715,24.2358,2.1235,7.439,6.9702,,,31657.9466,15690.4698,9998.6609,593903.0782,294353.2134
+688334.SH,20250804,18.69,1.7232,2.7042,0.7,25.8746,24.1453,2.1156,7.4113,6.9442,,,31657.9466,15690.4698,9998.6609,591687.022,293254.8806
+688334.SH,20250801,18.59,1.8196,2.8554,0.64,25.7362,24.0161,2.1043,7.3716,6.907,,,31657.9466,15690.4698,9998.6609,588521.2273,291685.8336
+688334.SH,20250731,18.5,3.6886,5.7883,1.22,25.6116,23.8999,2.0941,7.3359,6.8736,,,31657.9466,15690.4698,9998.6609,585672.0121,290273.6913
+688334.SH,20250730,18.97,2.319,3.639,0.54,26.2623,24.5071,2.1473,7.5223,7.0482,,,31657.9466,15690.4698,9998.6609,600551.247,297648.2121
+688334.SH,20250729,19.03,2.4649,3.8681,0.43,26.3453,24.5846,2.1541,7.5461,7.0705,,,31657.9466,15690.4698,9998.6609,602450.7238,298589.6403
+688334.SH,20250728,19.0,2.0424,3.2051,0.31,26.3038,24.5458,2.1507,7.5342,7.0594,,,31657.9466,15690.4698,9998.6609,601500.9854,298118.9262
+688334.SH,20250725,18.93,3.6038,5.6553,0.58,26.2069,24.4554,2.1428,7.5064,7.0334,,,31657.9466,15690.4698,9998.6609,599284.9291,297020.5933
+688334.SH,20250724,19.16,4.643,7.286,0.83,26.5253,24.7525,2.1688,7.5977,7.1188,,,31657.9466,15690.4698,9998.6609,606566.2569,300629.4014
+688334.SH,20250723,19.3,8.6949,13.6445,2.05,26.7191,24.9334,2.1847,7.6532,7.1708,,,31657.9466,15690.4698,9998.6609,610998.3694,302826.0671
+688334.SH,20250722,20.5,9.9796,15.6606,3.64,28.3804,26.4837,2.3205,8.129,7.6167,,,31657.9466,15690.4698,9998.6609,648987.9053,321654.6309
+688334.SH,20250721,19.12,6.1109,9.5896,2.72,26.4699,24.7008,2.1643,7.5818,7.104,,,31657.9466,15690.4698,9998.6609,605299.939,300001.7826
+688334.SH,20250718,18.06,1.5032,2.3589,0.67,25.0025,23.3314,2.0443,7.1615,6.7101,,,31657.9466,15690.4698,9998.6609,571742.5156,283369.8846
+688334.SH,20250717,17.9,1.8144,2.8473,0.86,24.781,23.1247,2.0262,7.098,6.6507,,,31657.9466,15690.4698,9998.6609,566677.2441,280859.4094
+688334.SH,20250716,17.73,1.7636,2.7732,0.84,24.5456,22.9051,2.0069,7.0306,6.5875,,,31657.9466,15690.4698,9978.6609,561295.3932,278192.0296
+688334.SH,20250715,17.65,2.5105,3.9475,1.34,24.4348,22.8018,1.9979,6.9989,6.5578,,,31657.9466,15690.4698,9978.6609,558762.7575,276936.792
+688334.SH,20250714,17.91,3.655,5.7472,2.48,24.7948,23.1377,2.0273,7.102,6.6544,,,31657.9466,15690.4698,9978.6609,566993.8236,281016.3141
+688334.SH,20250711,17.48,1.5327,2.41,1.06,24.1995,22.5822,1.9786,6.9315,6.4946,,,31657.9466,15690.4698,9978.6609,553380.9066,274269.4121
+688334.SH,20250710,17.4,1.1225,1.765,0.76,24.0887,22.4788,1.9696,6.8997,6.4649,,,31657.9466,15690.4698,9978.6609,550848.2708,273014.1745
+688334.SH,20250709,17.37,1.6743,2.6327,1.17,24.0472,22.44,1.9662,6.8879,6.4538,,,31657.9466,15690.4698,9978.6609,549898.5324,272543.4604
+688334.SH,20250708,17.34,1.3903,2.1861,0.88,24.0057,22.4013,1.9628,6.876,6.4426,,,31657.9466,15690.4698,9978.6609,548948.794,272072.7463
+688334.SH,20250707,17.31,1.6515,2.5968,0.97,23.9641,22.3625,1.9594,6.8641,6.4315,,,31657.9466,15690.4698,9978.6609,547999.0556,271602.0322
+688334.SH,20250704,17.04,1.3686,2.1521,0.78,23.5904,22.0137,1.9288,6.757,6.3312,,,31657.9466,15690.4698,9978.6609,539451.4101,267365.6054
+688334.SH,20250703,17.18,1.2681,1.9939,0.71,23.7842,22.1946,1.9447,6.8125,6.3832,,,31657.9466,15690.4698,9978.6609,543883.5226,269562.2712
+688334.SH,20250702,17.2,1.4471,2.2754,0.82,23.8119,22.2204,1.9469,6.8204,6.3906,,,31657.9466,15690.4698,9978.6609,544516.6815,269876.0806
+688334.SH,20250701,17.2,2.1565,3.3909,1.31,23.8119,22.2204,1.9469,6.8204,6.3906,,,31657.9466,15690.4698,9978.6609,544516.6815,269876.0806
+688334.SH,20250630,17.18,2.2596,3.553,1.7,23.7842,22.1946,1.9447,6.8125,6.3832,,,31657.9466,15690.4698,9978.6609,543883.5226,269562.2712
+688334.SH,20250627,16.96,1.6481,2.5914,1.35,23.4796,21.9104,1.9198,6.7253,6.3014,,,31657.9466,15690.4698,9978.6609,536918.7743,266110.3678
+688334.SH,20250626,16.84,1.4275,2.2446,1.2,23.3135,21.7553,1.9062,6.6777,6.2568,,,31657.9466,15690.4698,9978.6609,533119.8207,264227.5114
+688334.SH,20250625,16.93,1.3335,2.0968,1.17,23.4381,21.8716,1.9164,6.7134,6.2903,,,31657.9466,15690.4698,9978.6609,535969.0359,265639.6537
+688334.SH,20250624,16.85,1.5569,2.4481,1.42,23.3273,21.7683,1.9073,6.6817,6.2606,,,31657.9466,15690.4698,9978.6609,533436.4002,264384.4161
+688334.SH,20250623,16.57,0.69,1.0978,0.51,22.9397,21.4065,1.8756,6.5706,6.1565,,,31657.9466,15373.8903,9662.0814,524572.1752,254745.3623
+688334.SH,20250620,16.46,1.124,1.7884,0.72,22.7874,21.2644,1.8632,6.527,6.1157,,,31657.9466,15373.8903,9662.0814,521089.801,253054.2343
+688334.SH,20250619,16.48,1.3018,2.0713,0.86,22.8151,21.2903,1.8654,6.5349,6.1231,,,31657.9466,15373.8903,9662.0814,521722.96,253361.7121
+688334.SH,20250618,16.9,1.0995,1.7495,0.71,23.3965,21.8329,1.913,6.7015,6.2791,,,31657.9466,15373.8903,9662.0814,535019.2975,259818.7461
+688334.SH,20250617,16.84,1.3848,2.2034,0.93,23.3135,21.7553,1.9062,6.6777,6.2568,,,31657.9466,15373.8903,9662.0814,533119.8207,258896.3127
+688334.SH,20250616,16.96,1.8275,2.9967,1.38,23.4796,21.9104,1.9198,6.7253,6.3014,,,31657.9466,15373.8903,9375.5814,536918.7743,260741.1795
+688334.SH,20250613,16.98,2.1786,3.5724,2.01,23.5073,21.9362,1.922,6.7332,6.3089,,,31657.9466,15373.8903,9375.5814,537551.9333,261048.6573
+688334.SH,20250612,16.72,1.0686,1.7523,1.01,23.1473,21.6003,1.8926,6.6301,6.2123,,,31657.9466,15373.8903,9375.5814,529320.8672,257051.4458
+688334.SH,20250611,16.82,1.29,2.1153,1.28,23.2858,21.7295,1.9039,6.6698,6.2494,,,31657.9466,15373.8903,9375.5814,532486.6618,258588.8348
+688334.SH,20250610,16.72,1.0684,1.7519,1.07,23.1473,21.6003,1.8926,6.6301,6.2123,,,31657.9466,15373.8903,9375.5814,529320.8672,257051.4458
+688334.SH,20250609,16.78,1.0272,1.6843,1.01,23.2304,21.6778,1.8994,6.6539,6.2345,,,31657.9466,15373.8903,9375.5814,531220.3439,257973.8792
+688334.SH,20250606,16.65,0.9519,1.5609,0.85,23.0504,21.5099,1.8847,6.6023,6.1862,,,31657.9466,15373.8903,9375.5814,527104.8109,255975.2735
+688334.SH,20250605,16.85,0.9667,1.5852,0.86,23.3273,21.7683,1.8776,6.6817,6.2606,,,31657.9466,15373.8903,9375.5814,533436.4002,259050.0516
+688334.SH,20250604,16.9,1.0217,1.6753,0.94,23.3965,21.8329,1.8831,6.7015,6.2791,,,31657.9466,15373.8903,9375.5814,535019.2975,259818.7461
+688334.SH,20250603,16.92,1.0297,1.6885,0.95,23.4242,21.8587,1.8854,6.7094,6.2866,,,31657.9466,15373.8903,9375.5814,535652.4565,260126.2239
+688334.SH,20250530,16.9,1.1234,1.8422,1.03,23.3965,21.8329,1.8831,6.7015,6.2791,,,31657.9466,15373.8903,9375.5814,535019.2975,259818.7461
+688334.SH,20250529,16.91,1.4648,2.402,1.33,23.4104,21.8458,1.8843,6.7054,6.2829,,,31657.9466,15373.8903,9375.5814,535335.877,259972.485
+688334.SH,20250528,16.55,0.9989,1.638,0.75,22.912,21.3807,1.8441,6.5627,6.1491,,,31657.9466,15373.8903,9375.5814,523939.0162,254437.8845
+688334.SH,20250527,16.63,0.8003,1.3123,0.55,23.0227,21.4841,1.8531,6.5944,6.1788,,,31657.9466,15373.8903,9375.5814,526471.652,255667.7957
+688334.SH,20250526,16.75,1.012,1.6595,0.68,23.1889,21.6391,1.8664,6.642,6.2234,,,31657.9466,15373.8903,9375.5814,530270.6056,257512.6625
+688334.SH,20250523,16.61,1.1844,1.9422,0.83,22.9951,21.4582,1.8508,6.5865,6.1714,,,31657.9466,15373.8903,9375.5814,525838.493,255360.3179
+688334.SH,20250522,16.78,1.5108,2.5742,1.08,23.2304,21.6778,1.8698,6.6539,6.2345,,,31657.9466,15373.8903,9022.5148,531220.3439,257973.8792
+688334.SH,20250521,17.04,2.1085,3.5928,1.73,23.5904,22.0137,1.8987,6.757,6.3312,,,31657.9466,15373.8903,9022.5148,539451.4101,261971.0907
+688334.SH,20250520,16.9,1.5144,2.5805,1.32,23.3965,21.8329,1.8831,6.7015,6.2791,,,31657.9466,15373.8903,9022.5148,535019.2975,259818.7461
+688334.SH,20250519,16.62,1.1764,2.0045,0.99,23.0089,21.4711,1.8519,6.5904,6.1751,,,31657.9466,15373.8903,9022.5148,526155.0725,255514.0568
+688334.SH,20250516,16.53,0.8228,1.402,0.66,22.8843,21.3549,1.8419,6.5548,6.1417,,,31657.9466,15373.8903,9022.5148,523305.8573,254130.4067
+688334.SH,20250515,16.54,1.3529,2.3053,1.09,22.8982,21.3678,1.843,6.5587,6.1454,,,31657.9466,15373.8903,9022.5148,523622.4368,254284.1456
+688334.SH,20250514,16.65,1.2224,2.0829,0.92,23.0504,21.5099,1.8553,6.6023,6.1862,,,31657.9466,15373.8903,9022.5148,527104.8109,255975.2735
+688334.SH,20250513,16.78,1.1492,1.9581,0.79,23.2304,21.6778,1.8698,6.6539,6.2345,,,31657.9466,15373.8903,9022.5148,531220.3439,257973.8792
+688334.SH,20250512,16.87,1.3681,2.3312,0.94,23.355,21.7941,1.8798,6.6896,6.268,,,31657.9466,15373.8903,9022.5148,534069.5591,259357.5294
+688334.SH,20250509,16.74,1.1446,1.9504,0.79,23.175,21.6262,1.8653,6.638,6.2197,,,31657.9466,15373.8903,9022.5148,529954.0261,257358.9236
+688334.SH,20250508,16.87,1.323,2.2543,0.92,23.355,21.7941,1.8798,6.6896,6.268,,,31657.9466,15373.8903,9022.5148,534069.5591,259357.5294
+688334.SH,20250507,16.78,1.6873,2.875,1.34,23.2304,21.6778,1.8698,6.6539,6.2345,,,31657.9466,15373.8903,9022.5148,531220.3439,257973.8792
+688334.SH,20250506,16.95,1.792,3.0534,1.55,23.4658,21.8975,1.8887,6.7213,6.2977,,,31657.9466,15373.8903,9022.5148,536602.1949,260587.4406
+688334.SH,20250430,16.53,1.3327,2.2708,1.25,22.8843,21.3549,1.8419,6.5548,6.1417,,,31657.9466,15373.8903,9022.5148,523305.8573,254130.4067
+688334.SH,20250429,16.55,1.0759,1.8332,1.08,22.912,21.3807,1.8441,6.5627,6.1491,,,31657.9466,15373.8903,9022.5148,523939.0162,254437.8845
+688334.SH,20250428,16.42,1.2831,2.1864,1.36,22.732,21.2128,1.8297,6.5111,6.1008,,,31657.9466,15373.8903,9022.5148,519823.4832,252439.2787
+688334.SH,20250425,16.42,0.8278,1.4105,0.9,22.732,21.2128,1.8297,6.5111,6.1008,,,31657.9466,15373.8903,9022.5148,519823.4832,252439.2787
+688334.SH,20250424,16.31,1.2486,2.1276,1.44,22.5797,21.0707,1.8174,6.4675,6.0599,,,31657.9466,15373.8903,9022.5148,516341.109,250748.1508
+688334.SH,20250423,16.28,0.8981,1.5303,0.99,22.5382,21.0319,1.8141,6.4556,6.0488,,,31657.9466,15373.8903,9022.5148,515391.3706,250286.9341
+688334.SH,20250422,16.12,0.7296,1.2431,0.74,22.3167,20.8252,1.7962,6.3922,5.9893,,,31657.9466,15373.8903,9022.5148,510326.0992,247827.1116
+688334.SH,20250421,16.07,1.0201,1.7381,0.88,22.2475,20.7606,1.7907,6.3724,5.9708,,,31657.9466,15373.8903,9022.5148,508743.2019,247058.4171
+688334.SH,20250418,15.9,0.7247,1.2349,0.46,22.0121,20.541,1.7717,6.3049,5.9076,,,31657.9466,15373.8903,9022.5148,503361.3509,244444.8558
+688334.SH,20250417,15.88,0.9535,1.6247,0.52,21.9844,20.5151,1.7695,6.297,5.9002,,,31657.9466,15373.8903,9022.5148,502728.192,244137.378
+688334.SH,20250416,15.85,1.1176,1.9043,0.54,21.9429,20.4764,1.7661,6.2851,5.889,,,31657.9466,15373.8903,9022.5148,501778.4536,243676.1613
+688334.SH,20250415,15.96,1.1061,1.8848,0.43,22.0952,20.6185,1.7784,6.3287,5.9299,,,31657.9466,15373.8903,9022.5148,505260.8277,245367.2892
+688334.SH,20250414,16.09,1.916,3.2648,0.69,22.2752,20.7864,1.7929,6.3803,5.9782,,,31657.9466,15373.8903,9022.5148,509376.3608,247365.8949
+688334.SH,20250411,15.92,2.861,4.875,1.21,22.0398,20.5668,1.7739,6.3129,5.915,,,31657.9466,15373.8903,9022.5148,503994.5099,244752.3336
+688334.SH,20250410,16.07,2.2541,3.8408,1.06,31.3327,22.2475,1.8751,8.4499,6.3724,,,31657.9466,15373.8903,9022.5148,508743.2019,247058.4171
+688334.SH,20250409,15.48,2.3005,3.9199,1.23,30.1824,21.4307,1.8063,8.1397,6.1384,,,31657.9466,15373.8903,9022.5148,490065.0134,237987.8218
+688334.SH,20250408,15.13,3.3845,5.767,2.29,29.5,20.9461,1.7654,7.9557,5.9996,,,31657.9466,15373.8903,9022.5148,478984.7321,232606.9602
+688334.SH,20250407,15.1,3.0032,5.1173,2.57,29.4415,20.9046,1.7619,7.9399,5.9877,,,31657.9466,15373.8903,9022.5148,478034.9937,232145.7435
+688334.SH,20250403,17.27,0.852,1.4518,0.65,33.6725,23.9088,2.0151,9.0809,6.8482,,,31657.9466,15373.8903,9022.5148,546732.7378,265507.0855
+688334.SH,20250402,17.36,1.1333,1.931,0.75,33.8479,24.0334,2.0256,9.1283,6.8839,,,31657.9466,15373.8903,9022.5148,549581.953,266890.7356
+688334.SH,20250401,17.2,0.9965,1.6981,0.65,33.536,23.8119,2.0069,9.0441,6.8204,,,31657.9466,15373.8903,9022.5148,544516.6815,264430.9132
+688334.SH,20250331,16.94,1.3908,2.3699,0.86,33.029,23.4519,1.9766,8.9074,6.7173,,,31657.9466,15373.8903,9022.5148,536285.6154,260433.7017
+688334.SH,20250328,17.08,1.4592,2.4864,0.88,33.302,23.6457,1.9929,8.981,6.7729,,,31657.9466,15373.8903,9022.5148,540717.7279,262586.0463
+688334.SH,20250327,16.95,1.5716,2.678,0.95,33.0485,23.4658,1.9778,8.9127,6.7213,,,31657.9466,15373.8903,9022.5148,536602.1949,260587.4406
+688334.SH,20250326,17.15,2.1453,3.6554,1.37,33.4385,23.7426,2.0011,9.0178,6.8006,,,31657.9466,15373.8903,9022.5148,542933.7842,263662.2186
+688334.SH,20250325,17.42,1.1524,1.9636,0.71,33.9649,24.1164,2.0326,9.1598,6.9077,,,31657.9466,15373.8903,9022.5148,551481.4298,267813.169
+688334.SH,20250324,17.43,1.7488,3.5385,1.12,33.9844,24.1303,2.0338,9.1651,6.9116,,,31657.9466,15373.8903,7597.9072,551798.0092,267966.9079
+688334.SH,20250321,17.4,1.6674,3.3738,1.01,33.9259,24.0887,2.0303,9.1493,6.8997,,,31657.9466,15373.8903,7597.9072,550848.2708,267505.6912
+688334.SH,20250320,17.62,1.5397,3.1155,0.84,34.3549,24.3933,2.056,9.265,6.987,,,31657.9466,15373.8903,7597.9072,557813.0191,270887.9471
+688334.SH,20250319,17.88,1.7304,3.5013,0.85,34.8618,24.7533,2.0863,9.4017,7.0901,,,31657.9466,15373.8903,7597.9072,566044.0852,274885.1586
+688334.SH,20250318,17.87,1.4482,2.9303,0.74,34.8423,24.7394,2.0851,9.3964,7.0861,,,31657.9466,15373.8903,7597.9072,565727.5057,274731.4197
+688334.SH,20250317,17.61,1.4218,2.8769,0.71,34.3354,24.3795,2.0548,9.2597,6.983,,,31657.9466,15373.8903,7597.9072,557496.4396,270734.2082
+688334.SH,20250314,17.74,2.0766,4.2018,1.1,34.5888,24.5594,2.07,9.3281,7.0346,,,31657.9466,15373.8903,7597.9072,561611.9727,272732.8139
+688334.SH,20250313,17.79,2.4501,4.9577,1.37,34.6863,24.6287,2.0758,9.3544,7.0544,,,31657.9466,15373.8903,7597.9072,563194.87,273501.5084
+688334.SH,20250312,17.83,2.7823,5.6298,1.83,34.7643,24.684,2.0805,9.3754,7.0703,,,31657.9466,15373.8903,7597.9072,564461.1879,274116.464
+688334.SH,20250311,17.42,1.0811,2.1875,0.68,33.9649,24.1164,2.0326,9.1598,6.9077,,,31657.9466,15373.8903,7597.9072,551481.4298,267813.169
+688334.SH,20250310,17.41,1.5877,3.2127,0.94,33.9454,24.1026,2.0314,9.1545,6.9037,,,31657.9466,15373.8903,7597.9072,551164.8503,267659.4301
+688334.SH,20250307,17.34,1.5606,3.1577,0.91,33.8089,24.0057,2.0233,9.1177,6.876,,,31657.9466,15373.8903,7597.9072,548948.794,266583.2578
+688334.SH,20250306,17.34,1.9504,3.9465,1.14,33.8089,24.0057,2.0233,9.1177,6.876,,,31657.9466,15373.8903,7597.9072,548948.794,266583.2578
+688334.SH,20250305,17.18,1.408,2.849,0.73,33.497,23.7842,2.0046,9.0336,6.8125,,,31657.9466,15373.8903,7597.9072,543883.5226,264123.4354
+688334.SH,20250304,17.14,1.5007,3.0365,0.63,33.419,23.7288,1.9999,9.0126,6.7966,,,31657.9466,15373.8903,7597.9072,542617.2047,263508.4797
+688334.SH,20250303,16.94,2.0077,4.0624,0.86,33.029,23.4519,1.9766,8.9074,6.7173,,,31657.9466,15373.8903,7597.9072,536285.6154,260433.7017
+688334.SH,20250228,16.65,1.7251,3.4907,0.72,32.4636,23.0504,1.9428,8.7549,6.6023,,,31657.9466,15373.8903,7597.9072,527104.8109,255975.2735
+688334.SH,20250227,16.98,1.8955,3.8354,0.83,33.107,23.5073,1.9813,8.9284,6.7332,,,31657.9466,15373.8903,7597.9072,537551.9333,261048.6573
+688334.SH,20250226,17.02,2.4694,4.9967,1.16,33.185,23.5627,1.9859,8.9495,6.7491,,,31657.9466,15373.8903,7597.9072,538818.2511,261663.6129
+688334.SH,20250225,17.01,3.782,7.6526,2.2,33.1655,23.5488,1.9848,8.9442,6.7451,,,31657.9466,15373.8903,7597.9072,538501.6717,261509.874
+688334.SH,20250224,16.77,1.7383,3.5174,1.03,32.6976,26.3898,1.9568,8.818,7.2649,,,31657.9466,15373.8903,7597.9072,530903.7645,257820.1403
+688334.SH,20250221,16.74,2.0563,4.1609,1.41,32.6391,26.3426,1.9533,8.8022,7.2519,,,31657.9466,15373.8903,7597.9072,529954.0261,257358.9236
+688334.SH,20250220,16.73,1.3627,2.7573,0.92,32.6196,26.3269,1.9521,8.797,7.2475,,,31657.9466,15373.8903,7597.9072,529637.4466,257205.1847
+688334.SH,20250219,16.72,1.6886,3.4169,1.09,32.6001,26.3111,1.9509,8.7917,7.2432,,,31657.9466,15373.8903,7597.9072,529320.8672,257051.4458
+688334.SH,20250218,16.4,1.7312,3.5029,1.14,31.9762,25.8076,1.9136,8.6235,7.1046,,,31657.9466,15373.8903,7597.9072,519190.3242,252131.8009
+688334.SH,20250217,16.69,1.5716,3.1801,1.08,32.5416,26.2639,1.9474,8.776,7.2302,,,31657.9466,15373.8903,7597.9072,528371.1288,256590.2291
+688334.SH,20250214,16.49,0.9261,1.8739,0.54,32.1516,25.9492,1.9241,8.6708,7.1436,,,31657.9466,15373.8903,7597.9072,522039.5394,253515.451
+688334.SH,20250213,16.51,1.5002,3.0355,0.92,32.1906,25.9807,1.9264,8.6813,7.1522,,,31657.9466,15373.8903,7597.9072,522672.6984,253822.9289
+688334.SH,20250212,16.74,2.0422,4.1322,1.43,32.6391,26.3426,1.9533,8.8022,7.2519,,,31657.9466,15373.8903,7597.9072,529954.0261,257358.9236
+688334.SH,20250211,16.53,1.582,3.2012,1.26,32.2296,26.0121,1.9288,8.6918,7.1609,,,31657.9466,15373.8903,7597.9072,523305.8573,254130.4067
+688334.SH,20250210,16.52,1.2081,2.4446,1.05,32.2101,25.9964,1.9276,8.6866,7.1566,,,31657.9466,15373.8903,7597.9072,522989.2778,253976.6678
+688334.SH,20250207,16.44,2.2268,4.5058,2.49,32.0541,25.8705,1.9183,8.6445,7.1219,,,31657.9466,15373.8903,7597.9072,520456.6421,252746.7565
+688334.SH,20250206,16.4,1.0997,2.2253,1.44,31.9762,25.8076,1.9136,8.6235,7.1046,,,31657.9466,15373.8903,7597.9072,519190.3242,252131.8009
+688334.SH,20250205,16.32,1.0075,2.0386,1.44,31.8202,25.6817,1.9043,8.5814,7.0699,,,31657.9466,15373.8903,7597.9072,516657.6885,250901.8897
+688334.SH,20250127,16.24,0.7539,1.5254,1.09,31.6642,25.5558,1.8949,8.5393,7.0353,,,31657.9466,15373.8903,7597.9072,514125.0528,249671.9785
+688334.SH,20250124,16.32,0.6688,1.3533,0.95,31.8202,25.6817,1.9043,8.5814,7.0699,,,31657.9466,15373.8903,7597.9072,516657.6885,250901.8897
+688334.SH,20250123,16.11,0.938,1.8981,1.44,31.4107,25.3512,1.8798,8.471,6.979,,,31657.9466,15373.8903,7597.9072,510009.5197,247673.3727
+688334.SH,20250122,16.27,0.4486,0.9077,0.65,31.7227,25.603,1.8984,8.5551,7.0483,,,31657.9466,15373.8903,7597.9072,515074.7912,250133.1952
+688334.SH,20250121,16.35,0.6822,1.3804,0.81,31.8787,25.7289,1.9078,8.5972,7.0829,,,31657.9466,15373.8903,7597.9072,517607.4269,251363.1064
+688334.SH,20250120,16.26,0.72,1.4569,0.89,31.7032,25.5873,1.8973,8.5499,7.0439,,,31657.9466,15373.8903,7597.9072,514758.2117,249979.4563
+688334.SH,20250117,16.15,0.7239,1.4648,0.94,31.4887,25.4142,1.8844,8.492,6.9963,,,31657.9466,15373.8903,7597.9072,511275.8376,248288.3283
+688334.SH,20250116,15.96,0.6911,1.3983,0.96,31.1183,25.1152,1.8623,8.3921,6.914,,,31657.9466,15373.8903,7597.9072,505260.8277,245367.2892
+688334.SH,20250115,15.86,0.6511,1.3174,0.83,30.9233,24.9578,1.8506,8.3395,6.8707,,,31657.9466,15373.8903,7597.9072,502095.0331,243829.9002
+688334.SH,20250114,16.18,1.4055,2.8439,2.15,31.5472,25.4614,1.8662,8.5078,7.0093,,,31657.9466,15373.8903,7597.9072,512225.576,248749.5451
+688334.SH,20250113,15.84,0.5804,1.1744,0.79,30.8843,24.9263,1.8269,8.329,6.862,,,31657.9466,15373.8903,7597.9072,501461.8741,243522.4224
+688334.SH,20250110,15.79,0.5246,1.0616,0.59,30.7868,24.8477,1.8212,8.3027,6.8403,,,31657.9466,15373.8903,7597.9072,499878.9768,242753.7278
+688334.SH,20250109,15.9,0.4358,0.8819,0.41,31.0013,25.0208,1.8339,8.3606,6.888,,,31657.9466,15373.8903,7597.9072,503361.3509,244444.8558
+688334.SH,20250108,15.93,0.9973,2.018,0.89,31.0598,25.068,1.8373,8.3763,6.901,,,31657.9466,15373.8903,7597.9072,504311.0893,244906.0725
+688334.SH,20250107,16.16,0.7377,1.4927,0.63,31.5082,25.4299,1.8638,8.4973,7.0006,,,31657.9466,15373.8903,7597.9072,511592.4171,248442.0672
+688334.SH,20250106,16.14,0.9978,2.0191,0.84,31.4692,25.3984,1.8615,8.4868,6.992,,,31657.9466,15373.8903,7597.9072,510959.2581,248134.5894
+688334.SH,20250103,15.92,1.2949,2.6201,1.07,31.0403,25.0522,1.8362,8.3711,6.8966,,,31657.9466,15373.8903,7597.9072,503994.5099,244752.3336
+688334.SH,20250102,16.03,1.3421,2.7156,1.06,31.2547,25.2253,1.8489,8.4289,6.9443,,,31657.9466,15373.8903,7597.9072,507476.884,246443.4615
+688334.SH,20241231,16.33,1.241,2.5111,0.97,31.8397,25.6974,1.8835,8.5867,7.0743,,,31657.9466,15373.8903,7597.9072,516974.268,251055.6286
+688334.SH,20241230,16.64,0.9692,1.9612,0.68,32.4441,26.1852,1.9192,8.7497,7.2086,,,31657.9466,15373.8903,7597.9072,526788.2314,255821.5346
+688334.SH,20241227,16.77,1.1221,2.2705,0.73,32.6976,26.3898,1.9342,8.818,7.2649,,,31657.9466,15373.8903,7597.9072,530903.7645,257820.1403
+688334.SH,20241226,16.59,1.3529,2.7375,0.89,32.3466,26.1066,1.9134,8.7234,7.1869,,,31657.9466,15373.8903,7597.9072,525205.3341,255052.8401
+688334.SH,20241225,16.39,1.631,3.3003,1.15,31.9567,25.7918,1.8904,8.6182,7.1003,,,31657.9466,15373.8903,7597.9072,518873.7448,251978.062
+688334.SH,20241224,16.77,1.315,2.6608,0.92,32.6976,26.3898,1.9342,8.818,7.2649,,,31657.9466,15373.8903,7597.9072,530903.7645,257820.1403
+688334.SH,20241223,16.61,1.6724,3.3841,1.25,32.3856,26.138,1.9157,8.7339,7.1956,,,31657.9466,15373.8903,7597.9072,525838.493,255360.3179
+688334.SH,20241220,17.03,1.6925,3.4247,1.29,33.2045,26.799,1.9642,8.9547,7.3775,,,31657.9466,15373.8903,7597.9072,539134.8306,261817.3518
+688334.SH,20241219,16.93,1.2692,2.568,0.85,33.0095,26.6416,1.9527,8.9022,7.3342,,,31657.9466,15373.8903,7597.9072,535969.0359,260279.9628
+688334.SH,20241218,16.75,2.3538,2.3538,0.74,32.6586,26.3583,1.9319,8.8075,7.2562,,,31657.9466,7597.9072,7597.9072,530270.6056,127264.9456
+688334.SH,20241217,16.49,2.704,2.704,0.76,32.1516,25.9492,1.9019,8.6708,7.1436,,,31657.9466,7597.9072,7597.9072,522039.5394,125289.4897
+688334.SH,20241216,16.84,2.4935,2.4935,0.71,32.8341,26.5,1.9423,8.8548,7.2952,,,31657.9466,7597.9072,7597.9072,533119.8207,127948.7572
+688334.SH,20241213,16.83,3.1834,3.1834,0.91,32.8146,26.4842,1.9411,8.8496,7.2909,,,31657.9466,7597.9072,7597.9072,532803.2413,127872.7782
+688334.SH,20241212,17.16,4.2905,4.2905,1.43,33.458,27.0035,1.9792,9.0231,7.4338,,,31657.9466,7597.9072,7597.9072,543250.3637,130380.0876
+688334.SH,20241211,16.96,3.1759,3.1759,1.1,33.068,26.6888,1.9561,8.9179,7.3472,,,31657.9466,7597.9072,7597.9072,536918.7743,128860.5061
+688334.SH,20241210,16.72,4.63,4.63,1.88,32.6001,26.3111,1.9284,8.7917,7.2432,,,31657.9466,7597.9072,7597.9072,529320.8672,127037.0084
+688334.SH,20241209,16.75,2.1976,2.1976,0.84,32.6586,26.3583,1.9319,8.8075,7.2562,,,31657.9466,7597.9072,7597.9072,530270.6056,127264.9456
+688334.SH,20241206,16.76,3.2552,3.2552,1.33,32.6781,26.3741,1.9331,8.8128,7.2605,,,31657.9466,7597.9072,7597.9072,530587.185,127340.9247
+688334.SH,20241205,16.76,1.7372,1.7372,0.69,32.6781,26.3741,1.9331,8.8128,7.2605,,,31657.9466,7597.9072,7597.9072,530587.185,127340.9247
+688334.SH,20241204,16.65,2.6158,2.6158,1.0,32.4636,26.201,1.9204,8.7549,7.2129,,,31657.9466,7597.9072,7597.9072,527104.8109,126505.1549
+688334.SH,20241203,16.9,2.5175,2.5175,1.03,32.951,26.5944,1.9492,8.8864,7.3212,,,31657.9466,7597.9072,7597.9072,535019.2975,128404.6317
+688334.SH,20241202,16.97,2.9944,2.9944,1.32,33.0875,26.7045,1.9573,8.9232,7.3515,,,31657.9466,7597.9072,7597.9072,537235.3538,128936.4852
+688334.SH,20241129,16.69,2.3314,2.3314,0.97,32.5416,26.2639,1.925,8.776,7.2302,,,31657.9466,7597.9072,7597.9072,528371.1288,126809.0712
+688334.SH,20241128,16.48,2.1864,2.1864,0.84,32.1321,25.9335,1.9008,8.6655,7.1392,,,31657.9466,7597.9072,7597.9072,521722.96,125213.5107
+688334.SH,20241127,16.51,3.0038,3.0038,1.11,32.1906,25.9807,1.9042,8.6813,7.1522,,,31657.9466,7597.9072,7597.9072,522672.6984,125441.4479
+688334.SH,20241126,16.31,1.7565,1.7565,0.59,31.8007,25.666,1.8811,8.5761,7.0656,,,31657.9466,7597.9072,7597.9072,516341.109,123921.8664
+688334.SH,20241125,16.5,2.0952,2.0952,0.65,32.1711,25.9649,1.9031,8.6761,7.1479,,,31657.9466,7597.9072,7597.9072,522356.1189,125365.4688
+688334.SH,20241122,16.42,3.0215,3.0215,0.9,32.0152,25.8391,1.8938,8.634,7.1133,,,31657.9466,7597.9072,7597.9072,519823.4832,124757.6362
+688334.SH,20241121,17.19,3.0781,3.0781,0.82,33.5165,27.0507,1.9472,9.0389,7.4468,,,31657.9466,7597.9072,7597.9072,544200.1021,130608.0248
+688334.SH,20241120,17.29,3.5365,3.5365,0.93,33.7115,27.2081,1.9585,9.0915,7.4901,,,31657.9466,7597.9072,7597.9072,547365.8967,131367.8155
+688334.SH,20241119,17.08,3.1549,3.1549,0.69,33.302,26.8776,1.9347,8.981,7.3992,,,31657.9466,7597.9072,7597.9072,540717.7279,129772.255
+688334.SH,20241118,16.72,3.4002,3.4002,0.61,32.6001,26.3111,1.8939,8.7917,7.2432,,,31657.9466,7597.9072,7597.9072,529320.8672,127037.0084
+688334.SH,20241115,17.11,3.6372,3.6372,0.59,33.3605,26.9249,1.9381,8.9968,7.4122,,,31657.9466,7597.9072,7597.9072,541667.4663,130000.1922
+688334.SH,20241114,17.5,5.113,5.113,0.84,34.1209,27.5386,1.9823,9.2019,7.5811,,,31657.9466,7597.9072,7597.9072,554014.0655,132963.376
+688334.SH,20241113,18.0,3.8001,3.8001,0.58,35.0958,28.3254,2.0389,9.4648,7.7977,,,31657.9466,7597.9072,7597.9072,569843.0388,136762.3296
+688334.SH,20241112,17.96,6.9867,6.9867,1.1,35.0178,28.2624,2.0344,9.4438,7.7804,,,31657.9466,7597.9072,7597.9072,568576.7209,136458.4133
+688334.SH,20241111,18.33,8.4805,8.4805,1.58,35.7392,28.8447,2.0763,9.6383,7.9407,,,31657.9466,7597.9072,7597.9072,580290.1612,139269.639
+688334.SH,20241108,17.49,6.3555,6.3555,1.25,34.1014,27.5228,1.9811,9.1966,7.5768,,,31657.9466,7597.9072,7597.9072,553697.486,132887.3969
+688334.SH,20241107,17.32,4.9648,4.9648,0.96,33.7699,27.2553,1.9619,9.1072,7.5031,,,31657.9466,7597.9072,7597.9072,548315.6351,131595.7527
+688334.SH,20241106,17.0,6.0085,6.0085,1.11,33.146,26.7518,1.9256,8.939,7.3645,,,31657.9466,7597.9072,7597.9072,538185.0922,129164.4224
+688334.SH,20241105,17.17,5.9285,5.9285,1.15,33.4775,27.0193,1.9449,9.0284,7.4382,,,31657.9466,7597.9072,7597.9072,543566.9431,130456.0666
+688334.SH,20241104,16.78,3.5317,3.5317,0.66,32.7171,26.4056,1.9007,8.8233,7.2692,,,31657.9466,7597.9072,7597.9072,531220.3439,127492.8828
+688334.SH,20241101,16.61,5.0871,5.0871,0.99,32.3856,26.138,1.8815,8.7339,7.1956,,,31657.9466,7597.9072,7597.9072,525838.493,126201.2386
+688334.SH,20241031,17.21,5.2891,5.2891,1.1,33.5555,27.0822,1.9494,9.0494,7.4555,,,31657.9466,7597.9072,7597.9072,544833.261,130759.9829
+688334.SH,20241030,17.05,7.2902,7.2902,1.61,33.2435,26.8304,1.9313,8.9653,7.3862,,,31657.9466,7597.9072,7597.9072,539767.9895,129544.3178
+688334.SH,20241029,17.89,4.4859,4.4859,0.89,34.8813,31.3363,1.868,9.4069,8.869,,,31657.9466,7597.9072,7597.9072,566360.6647,135926.5598
+688334.SH,20241028,17.89,4.5041,4.5041,0.8,34.8813,31.3363,1.868,9.4069,8.869,,,31657.9466,7597.9072,7597.9072,566360.6647,135926.5598
+688334.SH,20241025,17.93,4.1548,4.1548,0.69,34.9593,31.4064,1.8722,9.428,8.8888,,,31657.9466,7597.9072,7597.9072,567626.9825,136230.4761
+688334.SH,20241024,17.71,3.6209,3.6209,0.61,34.5304,31.021,1.8492,9.3123,8.7797,,,31657.9466,7597.9072,7597.9072,560662.2343,134558.9365
+688334.SH,20241023,18.02,5.8727,5.8727,1.01,35.1348,31.564,1.8816,9.4753,8.9334,,,31657.9466,7597.9072,7597.9072,570476.1977,136914.2877
+688334.SH,20241022,18.18,7.1334,7.1334,1.32,35.4467,31.8443,1.8983,9.5594,9.0127,,,31657.9466,7597.9072,7597.9072,575541.4692,138129.9529
+688334.SH,20241021,17.75,7.4702,7.4702,1.56,34.6083,31.0911,1.8534,9.3333,8.7996,,,31657.9466,7597.9072,7597.9072,561928.5522,134862.8528
+688334.SH,20241018,17.43,6.0764,6.0764,1.27,33.9844,30.5306,1.82,9.1651,8.6409,,,31657.9466,7597.9072,7597.9072,551798.0092,132431.5225
+688334.SH,20241017,17.0,3.2384,3.2384,0.59,33.146,29.7774,1.7751,8.939,8.4278,,,31657.9466,7597.9072,7597.9072,538185.0922,129164.4224
+688334.SH,20241016,17.12,5.1398,5.1398,0.82,33.38,29.9876,1.7876,9.0021,8.4872,,,31657.9466,7597.9072,7597.9072,541984.0458,130076.1713
+688334.SH,20241015,16.59,5.0662,5.0662,0.57,32.3466,29.0592,1.7323,8.7234,8.2245,,,31657.9466,7597.9072,7597.9072,525205.3341,126049.2804
+688334.SH,20241014,16.82,4.4154,4.4154,0.41,32.7951,29.4621,1.7563,8.8443,8.3385,,,31657.9466,7597.9072,7597.9072,532486.6618,127796.7991
+688334.SH,20241011,16.66,6.0708,6.0708,0.57,32.4831,29.1818,1.7396,8.7602,8.2592,,,31657.9466,7597.9072,7597.9072,527421.3904,126581.134
+688334.SH,20241010,17.72,6.543,6.543,0.65,34.5498,31.0385,1.8503,9.3176,8.7847,,,31657.9466,7597.9072,7597.9072,560978.8138,134634.9156
+688334.SH,20241009,17.2,9.2871,9.2871,1.03,33.536,30.1277,1.796,9.0441,8.5269,,,31657.9466,7597.9072,7597.9072,544516.6815,130684.0038
+688334.SH,20241008,19.06,17.9095,17.9095,2.94,37.1625,33.3857,1.9902,10.0222,9.449,,,31657.9466,7597.9072,7597.9072,603400.4622,144816.1112
+688334.SH,20240930,17.66,14.6869,14.6869,4.23,34.4329,30.9334,1.844,9.286,8.755,,,31657.9466,7597.9072,7597.9072,559079.337,134179.0412
+688334.SH,20240927,15.91,4.4744,4.4744,1.34,31.0208,27.8681,1.6613,8.3658,7.8874,,,31657.9466,7597.9072,7597.9072,503677.9304,120882.7036
+688334.SH,20240926,15.31,4.0457,4.0457,1.25,29.8509,26.8171,1.5986,8.0503,7.5899,,,31657.9466,7597.9072,7597.9072,484683.1624,116323.9592
+688334.SH,20240925,14.94,3.8976,3.8976,1.46,29.1295,26.1691,1.56,7.8558,7.4065,,,31657.9466,7597.9072,7597.9072,472969.7222,113512.7336
+688334.SH,20240924,14.97,3.3437,3.3437,1.48,29.188,26.2216,1.5631,7.8715,7.4214,,,31657.9466,7597.9072,7597.9072,473919.4606,113740.6708
+688334.SH,20240923,14.66,1.5794,1.5794,0.7,28.5836,25.6786,1.5307,7.7085,7.2677,,,31657.9466,7597.9072,7597.9072,464105.4972,111385.3196
+688334.SH,20240920,14.71,3.8374,3.8374,2.36,28.6811,25.7662,1.536,7.7348,7.2925,,,31657.9466,7597.9072,7597.9072,465688.3945,111765.2149
+688334.SH,20240919,14.64,3.5011,3.5011,3.26,28.5446,25.6436,1.5287,7.698,7.2578,,,31657.9466,7597.9072,7597.9072,463472.3382,111233.3614
+688334.SH,20240918,14.26,1.092,1.092,1.09,27.8037,24.978,1.489,7.4982,7.0694,,,31657.9466,7597.9072,7597.9072,451442.3185,108346.1567
+688334.SH,20240913,14.2,1.3201,1.3201,1.39,27.6867,24.8729,1.4827,7.4667,7.0397,,,31657.9466,7597.9072,7597.9072,449542.8417,107890.2822
+688334.SH,20240912,14.36,1.5106,1.5106,1.86,27.9986,25.1531,1.4994,7.5508,7.119,,,31657.9466,7597.9072,7597.9072,454608.1132,109105.9474
+688334.SH,20240911,14.21,0.7008,0.7008,0.77,27.7062,24.8904,1.4838,7.4719,7.0446,,,31657.9466,7597.9072,7597.9072,449859.4212,107966.2613
+688334.SH,20240910,14.19,0.7451,0.7451,0.78,27.6672,24.8553,1.4817,7.4614,7.0347,,,31657.9466,7597.9072,7597.9072,449226.2623,107814.3032
+688334.SH,20240909,14.11,0.7129,0.7129,0.69,27.5112,24.7152,1.4733,7.4193,6.995,,,31657.9466,7597.9072,7597.9072,446693.6265,107206.4706
+688334.SH,20240906,13.95,1.0787,1.0787,0.93,27.1992,24.435,1.4566,7.3352,6.9157,,,31657.9466,7597.9072,7597.9072,441628.3551,105990.8054
+688334.SH,20240905,14.28,0.8316,0.8316,0.67,27.8427,25.013,1.4911,7.5087,7.0793,,,31657.9466,7597.9072,7597.9072,452075.4774,108498.1148
+688334.SH,20240904,14.25,1.161,1.161,0.99,27.7842,24.9604,1.4879,7.493,7.0644,,,31657.9466,7597.9072,7597.9072,451125.7391,108270.1776
+688334.SH,20240903,14.23,1.0055,1.0055,0.95,27.7452,24.9254,1.4858,7.4824,7.0545,,,31657.9466,7597.9072,7597.9072,450492.5801,108118.2195
+688334.SH,20240902,14.15,1.0997,1.0997,1.15,27.5892,24.7853,1.4775,7.4404,7.0149,,,31657.9466,7597.9072,7597.9072,447959.9444,107510.3869
+688334.SH,20240830,14.45,1.7275,1.7275,2.15,28.1741,25.3108,1.5088,7.5981,7.1636,,,31657.9466,7597.9072,7597.9072,457457.3284,109789.759
+688334.SH,20240829,14.25,1.186,1.186,1.34,27.7842,25.9063,1.5144,7.493,7.2824,,,31657.9466,7597.9072,7597.9072,451125.7391,108270.1776
+688334.SH,20240828,13.97,0.8188,0.8188,0.99,27.2382,25.3973,1.4847,7.3457,7.1393,,,31657.9466,7597.9072,7597.9072,442261.514,106142.7636
+688334.SH,20240827,13.86,0.4442,0.4442,0.48,27.0238,25.1973,1.473,7.2879,7.083,,,31657.9466,7597.9072,7597.9072,438779.1399,105306.9938
+688334.SH,20240826,13.96,0.6126,0.6126,0.67,27.2187,25.3791,1.4836,7.3405,7.1341,,,31657.9466,7597.9072,7597.9072,441944.9345,106066.7845
+688334.SH,20240823,13.87,0.9563,0.9563,1.0,27.0433,25.2155,1.4741,7.2931,7.0882,,,31657.9466,7597.9072,7597.9072,439095.7193,105382.9729
+688334.SH,20240822,14.0,1.5994,1.5994,1.87,27.2967,25.4518,1.4879,7.3615,7.1546,,,31657.9466,7597.9072,7597.9072,443211.2524,106370.7008
+688334.SH,20240821,14.31,0.5103,0.5103,0.59,27.9011,26.0154,1.5208,7.5245,7.313,,,31657.9466,7597.9072,7597.9072,453025.2158,108726.052
+688334.SH,20240820,14.3,0.9319,0.9319,1.13,27.8817,25.9972,1.5198,7.5192,7.3079,,,31657.9466,7597.9072,7597.9072,452708.6364,108650.073
+688334.SH,20240819,14.38,0.5629,0.5629,0.51,28.0376,26.1427,1.5283,7.5613,7.3488,,,31657.9466,7597.9072,7597.9072,455241.2721,109257.9055
+688334.SH,20240816,14.34,1.199,1.199,1.2,27.9596,26.0699,1.524,7.5403,7.3283,,,31657.9466,7597.9072,7597.9072,453974.9542,108953.9892
+688334.SH,20240815,14.56,1.0698,1.0698,1.13,28.3886,26.4699,1.5474,7.656,7.4408,,,31657.9466,7597.9072,7597.9072,460939.7025,110625.5288
+688334.SH,20240814,14.47,0.5399,0.5399,0.47,28.2131,26.3063,1.5378,7.6086,7.3948,,,31657.9466,7597.9072,7597.9072,458090.4873,109941.7172
+688334.SH,20240813,14.55,0.7474,0.7474,0.65,28.3691,26.4517,1.5463,7.6507,7.4357,,,31657.9466,7597.9072,7597.9072,460623.123,110549.5498
+688334.SH,20240812,14.49,1.9622,1.9622,1.88,28.2521,26.3426,1.54,7.6192,7.405,,,31657.9466,7597.9072,7597.9072,458723.6462,110093.6753
+688334.SH,20240809,14.35,0.6907,0.6907,0.61,27.9791,26.0881,1.5251,7.5455,7.3335,,,31657.9466,7597.9072,7597.9072,454291.5337,109029.9683
+688334.SH,20240808,14.38,0.7845,0.7845,0.59,28.0376,26.1427,1.5283,7.5613,7.3488,,,31657.9466,7597.9072,7597.9072,455241.2721,109257.9055
+688334.SH,20240807,14.56,1.5746,1.5746,1.12,28.3886,26.4699,1.5474,7.656,7.4408,,,31657.9466,7597.9072,7597.9072,460939.7025,110625.5288
+688334.SH,20240806,14.42,0.7725,0.7725,0.51,28.1156,26.2154,1.5325,7.5823,7.3692,,,31657.9466,7597.9072,7597.9072,456507.59,109561.8218
+688334.SH,20240805,14.23,1.3828,1.3828,0.94,27.7452,25.87,1.5123,7.4824,7.2721,,,31657.9466,7597.9072,7597.9072,450492.5801,108118.2195
+688334.SH,20240802,14.57,1.1575,1.1575,0.81,28.4081,26.4881,1.5485,7.6612,7.4459,,,31657.9466,7597.9072,7597.9072,461256.282,110701.5079
+688334.SH,20240801,14.75,1.7448,1.7448,1.26,28.759,26.8153,1.5676,7.7559,7.5379,,,31657.9466,7597.9072,7597.9072,466954.7124,112069.1312
+688334.SH,20240731,14.86,1.9821,1.9821,1.64,28.9735,27.0153,1.5793,7.8137,7.5941,,,31657.9466,7597.9072,7597.9072,470437.0865,112904.901
+688334.SH,20240730,14.52,1.2661,1.2661,0.96,28.3106,26.3972,1.5431,7.6349,7.4203,,,31657.9466,7597.9072,7597.9072,459673.3846,110321.6125
+688334.SH,20240729,14.46,1.2333,1.2333,0.96,28.1936,26.2881,1.5368,7.6034,7.3897,,,31657.9466,7597.9072,7597.9072,457773.9078,109865.7381
+688334.SH,20240726,14.46,0.9628,0.9628,0.71,28.1936,26.2881,1.5368,7.6034,7.3897,,,31657.9466,7597.9072,7597.9072,457773.9078,109865.7381
+688334.SH,20240725,14.3,1.4613,1.4613,1.1,27.8817,25.9972,1.5198,7.5192,7.3079,,,31657.9466,7597.9072,7597.9072,452708.6364,108650.073
+688334.SH,20240724,14.28,1.1228,1.1228,0.8,27.8427,25.9609,1.5176,7.5087,7.2977,,,31657.9466,7597.9072,7597.9072,452075.4774,108498.1148
+688334.SH,20240723,14.41,1.7857,1.7857,1.36,28.0961,26.1972,1.5315,7.5771,7.3641,,,31657.9466,7597.9072,7597.9072,456191.0105,109485.8428
+688334.SH,20240722,14.74,1.0923,1.0923,0.78,28.7395,26.7971,1.5665,7.7506,7.5328,,,31657.9466,7597.9072,7597.9072,466638.1329,111993.1521
+688334.SH,20240719,14.71,1.2728,1.2728,0.89,28.6811,26.7426,1.5633,7.7348,7.5174,,,31657.9466,7597.9072,7597.9072,465688.3945,111765.2149
+688334.SH,20240718,14.68,1.3711,1.3711,0.86,28.6226,26.6881,1.5601,7.7191,7.5021,,,31657.9466,7597.9072,7597.9072,464738.6561,111537.2777
+688334.SH,20240717,14.57,1.4879,1.4879,0.86,28.4081,26.4881,1.5485,7.6612,7.4459,,,31657.9466,7597.9072,7597.9072,461256.282,110701.5079
+688334.SH,20240716,14.76,1.3544,1.3544,0.71,28.7785,26.8335,1.5686,7.7611,7.543,,,31657.9466,7597.9072,7597.9072,467271.2918,112145.1103
+688334.SH,20240715,14.75,1.555,1.555,0.79,28.759,26.8153,1.5676,7.7559,7.5379,,,31657.9466,7597.9072,7597.9072,466954.7124,112069.1312
+688334.SH,20240712,15.11,1.4001,1.4001,0.69,29.461,27.4698,1.6058,7.9452,7.7218,,,31657.9466,7597.9072,7597.9072,478351.5731,114804.3778
+688334.SH,20240711,15.19,2.141,2.141,1.03,29.6169,27.6152,1.6143,7.9872,7.7627,,,31657.9466,7597.9072,7597.9072,480884.2089,115412.2104
+688334.SH,20240710,14.96,2.207,2.207,0.87,29.1685,27.1971,1.5899,7.8663,7.6452,,,31657.9466,7597.9072,7597.9072,473602.8811,113664.6917
+688334.SH,20240709,15.05,2.2056,2.2056,0.83,29.344,27.3607,1.5995,7.9136,7.6912,,,31657.9466,7597.9072,7597.9072,476452.0963,114348.5034
+688334.SH,20240708,14.6,1.909,1.909,0.65,28.4666,26.5426,1.5516,7.677,7.4612,,,31657.9466,7597.9072,7597.9072,462206.0204,110929.4451
+688334.SH,20240705,15.0,1.6448,1.6448,0.46,29.2465,27.2698,1.5942,7.8873,7.6656,,,31657.9466,7597.9072,7597.9072,474869.199,113968.608
+688334.SH,20240704,14.85,2.4737,2.4737,0.71,28.954,26.9971,1.5782,7.8084,7.589,,,31657.9466,7597.9072,7597.9072,470120.507,112828.9219
+688334.SH,20240703,15.26,4.3938,4.3938,1.4,29.7534,27.7425,1.6218,8.024,7.7985,,,31657.9466,7597.9072,7597.9072,483100.2651,115944.0639
+688334.SH,20240702,15.85,2.8217,2.8217,0.91,30.9038,28.8151,1.6845,8.3343,8.1,,,31657.9466,7597.9072,7597.9072,501778.4536,120426.8291
+688334.SH,20240701,16.09,3.2992,3.2992,0.95,31.3717,29.2514,1.71,8.4605,8.2227,,,31657.9466,7597.9072,7597.9072,509376.3608,122250.3268
+688334.SH,20240628,16.1,4.902,4.902,1.45,31.3912,29.2696,1.7111,8.4657,8.2278,,,31657.9466,7597.9072,7597.9072,509692.9403,122326.3059
+688334.SH,20240627,15.6,1.9914,1.9914,0.47,30.4163,28.3606,1.6579,8.2028,7.9723,,,31657.9466,7597.9072,7597.9072,493863.967,118527.3523
+688334.SH,20240626,15.87,2.7009,2.7009,0.6,30.9428,28.8515,1.6866,8.3448,8.1102,,,31657.9466,7597.9072,7597.9072,502411.6125,120578.7873
+688334.SH,20240625,15.44,2.6617,2.6617,0.52,30.1044,28.0697,1.6409,8.1187,7.8905,,,31657.9466,7597.9072,7597.9072,488798.6955,117311.6872
+688334.SH,20240624,15.6,5.0557,5.0557,0.88,30.4163,28.3606,1.6579,8.2028,7.9723,,,31657.9466,7597.9072,7597.9072,493863.967,118527.3523
+688334.SH,20240621,16.18,4.5276,4.5276,0.66,31.5472,29.415,1.7196,8.5078,8.2687,,,31657.9466,7597.9072,7597.9072,512225.576,122934.1385
+688334.SH,20240620,16.18,6.4173,6.4173,0.9,31.5472,29.415,1.7196,8.5078,8.2687,,,31657.9466,7597.9072,7597.9072,512225.576,122934.1385
+688334.SH,20240619,16.01,3.7555,3.7555,0.56,31.2158,29.106,1.7015,8.4184,8.1818,,,31657.9466,7597.9072,7597.9072,506843.7251,121642.4943
+688334.SH,20240618,16.22,5.8279,5.8279,0.99,31.6252,29.4878,1.7238,8.5288,8.2891,,,31657.9466,7597.9072,7597.9072,513491.8939,123238.0548
+688334.SH,20240617,16.14,8.1138,8.1138,1.73,31.4692,29.3423,1.7153,8.4868,8.2482,,,31657.9466,7597.9072,7597.9072,510959.2581,122630.2222
+688334.SH,20240614,15.93,10.1399,10.1399,2.76,31.0598,28.9605,1.693,8.3763,8.1409,,,31657.9466,7597.9072,7597.9072,504311.0893,121034.6617
+688334.SH,20240613,15.89,7.9451,7.9451,2.72,30.9818,28.8878,1.6887,8.3553,8.1205,,,31657.9466,7597.9072,7597.9072,503044.7715,120730.7454
+688334.SH,20240612,15.04,1.4249,1.4249,0.42,29.3245,27.3425,1.5984,7.9084,7.6861,,,31657.9466,7597.9072,7597.9072,476135.5169,114272.5243
+688334.SH,20240611,15.02,1.6835,1.6835,0.48,29.2855,27.3062,1.5963,7.8978,7.6759,,,31657.9466,7597.9072,7597.9072,475502.3579,114120.5661
+688334.SH,20240607,15.02,2.2759,2.2759,0.65,29.2855,27.3062,1.5963,7.8978,7.6759,,,31657.9466,7597.9072,7597.9072,475502.3579,114120.5661
+688334.SH,20240606,14.9,5.0537,5.0537,1.62,29.0515,27.088,1.5835,7.8347,7.6145,,,31657.9466,7597.9072,7597.9072,471703.4043,113208.8173
+688334.SH,20240605,15.36,4.1851,4.1851,1.36,29.9484,27.9243,1.6324,8.0766,7.8496,,,31657.9466,7597.9072,7597.9072,486266.0598,116703.8546
+688334.SH,20240604,15.91,3.8372,3.8372,1.08,31.0208,28.9242,1.6909,8.3658,8.1307,,,31657.9466,7597.9072,7597.9072,503677.9304,120882.7036
+688334.SH,20240603,15.53,2.0957,2.0957,0.48,30.2799,28.2333,1.6505,8.166,7.9365,,,31657.9466,7597.9072,7597.9072,491647.9107,117995.4988
+688334.SH,20240531,15.63,2.4314,2.4314,0.55,30.4748,28.4151,1.6611,8.2186,7.9876,,,31657.9466,7597.9072,7597.9072,494813.7054,118755.2895
+688334.SH,20240530,15.78,3.032,3.032,0.69,30.7673,28.6878,1.6325,8.2975,8.0642,,,31657.9466,7597.9072,7597.9072,499562.3973,119894.9756
+688334.SH,20240529,15.98,3.9387,3.9387,1.01,31.1573,29.0514,1.6532,8.4026,8.1665,,,31657.9466,7597.9072,7597.9072,505893.9867,121414.5571
+688334.SH,20240528,16.23,6.3017,6.3017,1.94,31.6447,29.5059,1.679,8.5341,8.2942,,,31657.9466,7597.9072,7597.9072,513808.4733,123314.0339
+688334.SH,20240527,16.02,6.0534,6.0534,1.91,31.2352,29.1242,1.6573,8.4237,8.1869,,,31657.9466,7597.9072,7597.9072,507160.3045,121718.4733
+688334.SH,20240524,15.52,2.8053,2.8053,0.9,30.2604,28.2152,1.6056,8.1607,7.9314,,,31657.9466,7597.9072,7597.9072,491331.3312,117919.5197
+688334.SH,20240523,15.54,2.7559,2.7559,0.88,30.2994,28.2515,1.6076,8.1713,7.9416,,,31657.9466,7597.9072,7597.9072,491964.4902,118071.4779
+688334.SH,20240522,15.83,1.6638,1.6638,0.47,30.8648,28.7787,1.6376,8.3238,8.0898,,,31657.9466,7597.9072,7597.9072,501145.2947,120274.871
+688334.SH,20240521,15.8,2.9243,2.9243,0.79,30.8063,28.7242,1.6345,8.308,8.0745,,,31657.9466,7597.9072,7597.9072,500195.5563,120046.9338
+688334.SH,20240520,16.14,5.7107,5.7107,1.49,31.4692,29.3423,1.6697,8.4868,8.2482,,,31657.9466,7597.9072,7597.9072,510959.2581,122630.2222
+688334.SH,20240517,15.74,2.6152,2.6152,0.55,30.6893,28.6151,1.6283,8.2764,8.0438,,,31657.9466,7597.9072,7597.9072,498296.0795,119591.0593
+688334.SH,20240516,15.6,2.6862,2.6862,0.56,30.4163,28.3606,1.6138,8.2028,7.9723,,,31657.9466,7597.9072,7597.9072,493863.967,118527.3523
+688334.SH,20240515,15.6,3.7167,3.7167,0.72,30.4163,28.3606,1.6138,8.2028,7.9723,,,31657.9466,7597.9072,7597.9072,493863.967,118527.3523
+688334.SH,20240514,15.89,3.7791,3.7791,0.75,30.9818,28.8878,1.6438,8.3553,8.1205,,,31657.9466,7597.9072,7597.9072,503044.7715,120730.7454
+688334.SH,20240513,16.07,6.3412,6.3412,1.36,31.3327,29.2151,1.6625,8.4499,8.2124,,,31657.9466,7597.9072,7597.9072,508743.2019,122098.3687
+688334.SH,20240510,16.2,7.1677,7.1677,1.7,31.5862,29.4514,1.6759,8.5183,8.2789,,,31657.9466,7597.9072,7597.9072,512858.7349,123086.0966
+688334.SH,20240509,15.96,3.0801,3.0801,0.7,31.1183,29.0151,1.6511,8.3921,8.1562,,,31657.9466,7597.9072,7597.9072,505260.8277,121262.5989
+688334.SH,20240508,15.84,5.5823,5.5823,1.37,30.8843,28.7969,1.6387,8.329,8.0949,,,31657.9466,7597.9072,7597.9072,501461.8741,120350.85
+688334.SH,20240507,15.81,2.8815,2.8815,0.73,30.8258,28.7424,1.6356,8.3132,8.0796,,,31657.9466,7597.9072,7597.9072,500512.1357,120122.9128
+688334.SH,20240506,15.77,4.5592,4.5592,1.3,30.7478,28.6697,1.6314,8.2922,8.0591,,,31657.9466,7597.9072,7597.9072,499245.8179,119818.9965
+688334.SH,20240430,15.57,4.956,4.956,1.63,30.3579,28.3061,1.6107,8.187,7.9569,,,31657.9466,7597.9072,7597.9072,492914.2286,118299.4151
+688334.SH,20240429,15.58,4.1595,4.1595,1.45,30.3774,30.3774,1.6367,8.1923,8.1923,,,31657.9466,7597.9072,7597.9072,493230.808,118375.3942
+688334.SH,20240426,15.3,3.8356,3.8356,1.21,29.8314,29.8314,1.6073,8.0451,8.0451,,,31657.9466,7597.9072,7597.9072,484366.583,116247.9802
+688334.SH,20240425,15.23,2.2862,2.2862,0.58,29.6949,29.6949,1.5999,8.0083,8.0083,,,31657.9466,7597.9072,7597.9072,482150.5267,115716.1267
+688334.SH,20240424,15.24,2.3491,2.3491,0.51,29.7144,29.7144,1.601,8.0135,8.0135,,,31657.9466,7597.9072,7597.9072,482467.1062,115792.1057
+688334.SH,20240423,15.08,2.6122,2.6122,0.52,29.4025,29.4025,1.5842,7.9294,7.9294,,,31657.9466,7597.9072,7597.9072,477401.8347,114576.4406
+688334.SH,20240422,15.23,3.2495,3.2495,0.55,29.6949,29.6949,1.5999,8.0083,8.0083,,,31657.9466,7597.9072,7597.9072,482150.5267,115716.1267
+688334.SH,20240419,15.44,5.3189,5.3189,0.89,30.1044,30.1044,1.622,8.1187,8.1187,,,31657.9466,7597.9072,7597.9072,488798.6955,117311.6872
+688334.SH,20240418,15.72,6.2042,6.2042,1.01,30.6503,30.6503,1.6514,8.2659,8.2659,,,31657.9466,7597.9072,7597.9072,497662.9206,119439.1012
+688334.SH,20240417,15.5,5.6088,5.6088,1.04,30.2214,30.2214,1.6283,8.1502,8.1502,,,31657.9466,7597.9072,7597.9072,490698.1723,117767.5616
+688334.SH,20240416,14.88,4.7255,4.7255,1.0,29.0125,29.0125,1.5632,7.8242,7.8242,,,31657.9466,7597.9072,7597.9072,471070.2454,113056.8591
+688334.SH,20240415,15.35,7.8993,7.8993,2.24,29.9289,29.9289,1.6125,8.0714,8.0714,,,31657.9466,7597.9072,7597.9072,485949.4803,116627.8755
+688334.SH,20240412,15.03,5.4364,5.4364,1.94,29.305,29.305,1.5789,7.9031,7.9031,,,31657.9466,7597.9072,7597.9072,475818.9374,114196.5452
+688334.SH,20240411,15.09,7.0245,7.0245,3.76,29.422,29.422,1.5852,7.9346,7.9346,,,31657.9466,7597.9072,7597.9072,477718.4142,114652.4196
+688334.SH,20240410,14.62,1.9176,1.9176,0.88,35.5054,28.5056,1.5358,8.8816,7.6875,,,31657.9466,7597.9072,7597.9072,462839.1793,111081.4033
+688334.SH,20240409,14.74,1.281,1.281,0.51,35.7969,28.7396,1.5485,8.9545,7.7506,,,31657.9466,7597.9072,7597.9072,466638.1329,111993.1521
+688334.SH,20240408,14.48,1.9525,1.9525,0.68,35.1654,28.2326,1.5211,8.7966,7.6139,,,31657.9466,7597.9072,7597.9072,458407.0668,110017.6963
+688334.SH,20240403,14.65,1.8553,1.8553,0.51,35.5783,28.5641,1.539,8.8998,7.7033,,,31657.9466,7597.9072,7597.9072,463788.9177,111309.3405
+688334.SH,20240402,14.67,2.325,2.325,0.59,35.6269,28.6031,1.5411,8.912,7.7138,,,31657.9466,7597.9072,7597.9072,464422.0766,111461.2986
+688334.SH,20240401,14.83,3.4813,3.4813,0.87,36.0154,28.915,1.5579,9.0092,7.7979,,,31657.9466,7597.9072,7597.9072,469487.3481,112676.9638
+688334.SH,20240329,14.8,3.0529,3.0529,0.77,35.9426,28.8565,1.5548,8.991,7.7822,,,31657.9466,7597.9072,7597.9072,468537.6097,112449.0266
+688334.SH,20240328,14.4,3.6566,3.6566,0.96,34.9712,28.0766,1.5127,8.748,7.5718,,,31657.9466,7597.9072,7597.9072,455874.431,109409.8637
+688334.SH,20240327,14.04,5.8004,5.8004,1.74,34.0969,27.3747,1.4749,8.5293,7.3825,,,31657.9466,7597.9072,7597.9072,444477.5703,106674.6171
+688334.SH,20240326,15.05,3.673,3.673,1.09,36.5497,29.344,1.581,9.1428,7.9136,,,31657.9466,7597.9072,7597.9072,476452.0963,114348.5034
+688334.SH,20240325,15.45,3.9151,3.9151,1.2,37.5211,30.1239,1.623,9.3858,8.1239,,,31657.9466,7597.9072,7597.9072,489115.275,117387.6662
+688334.SH,20240322,15.89,2.7323,2.7323,0.89,38.5897,30.9818,1.6693,9.6531,8.3553,,,31657.9466,7597.9072,7597.9072,503044.7715,120730.7454
+688334.SH,20240321,16.0,2.8997,2.8997,0.94,38.8568,31.1963,1.6808,9.72,8.4131,,,31657.9466,7597.9072,7597.9072,506527.1456,121566.5152
+688334.SH,20240320,16.01,3.424,3.424,1.05,38.8811,31.2158,1.6819,9.726,8.4184,,,31657.9466,7597.9072,7597.9072,506843.7251,121642.4943
+688334.SH,20240319,16.01,3.8623,3.8623,1.33,38.8811,31.2158,1.6819,9.726,8.4184,,,31657.9466,7597.9072,7597.9072,506843.7251,121642.4943
+688334.SH,20240318,16.18,3.4128,3.4128,1.23,39.294,31.5472,1.6997,9.8293,8.5078,,,31657.9466,7597.9072,7597.9072,512225.576,122934.1385
+688334.SH,20240315,15.84,1.6988,1.6988,0.62,38.4683,30.8843,1.664,9.6228,8.329,,,31657.9466,7597.9072,7597.9072,501461.8741,120350.85
+688334.SH,20240314,15.7,2.9785,2.9785,1.1,38.1283,30.6113,1.6493,9.5377,8.2554,,,31657.9466,7597.9072,7597.9072,497029.7616,119287.143
+688334.SH,20240313,15.91,4.3694,4.3694,1.88,38.6383,31.0208,1.6714,9.6653,8.3658,,,31657.9466,7597.9072,7597.9072,503677.9304,120882.7036
+688334.SH,20240312,15.65,2.1117,2.1117,0.89,38.0068,30.5138,1.644,9.5073,8.2291,,,31657.9466,7597.9072,7597.9072,495446.8643,118907.2477
+688334.SH,20240311,15.6,2.6873,2.6873,1.05,37.8854,30.4164,1.6388,9.477,8.2028,,,31657.9466,7597.9072,7597.9072,493863.967,118527.3523
+688334.SH,20240308,15.16,1.47,1.47,0.54,36.8169,29.5585,1.5926,9.2097,7.9715,,,31657.9466,7597.9072,7597.9072,479934.4705,115184.2732
+688334.SH,20240307,15.02,2.9144,2.9144,1.1,36.4769,29.2855,1.5779,9.1246,7.8978,,,31657.9466,7597.9072,7597.9072,475502.3579,114120.5661
+688334.SH,20240306,15.32,2.4361,2.4361,0.83,37.2054,29.8704,1.6094,9.3069,8.0556,,,31657.9466,7597.9072,7597.9072,484999.7419,116399.9383
+688334.SH,20240305,15.17,2.3726,2.3726,0.79,36.8411,29.578,1.5936,9.2157,7.9767,,,31657.9466,7597.9072,7597.9072,480251.0499,115260.2522
+688334.SH,20240304,15.65,3.5916,3.5916,1.24,38.0068,30.5138,1.644,9.5073,8.2291,,,31657.9466,7597.9072,7597.9072,495446.8643,118907.2477
+688334.SH,20240301,15.46,2.3474,2.3474,0.8,37.5454,30.1434,1.6241,9.3919,8.1292,,,31657.9466,7597.9072,7597.9072,489431.8544,117463.6453
+688334.SH,20240229,15.28,2.4551,2.4551,0.86,37.1083,29.7924,1.6052,9.2826,8.0346,,,31657.9466,7597.9072,7597.9072,483733.424,116096.022
+688334.SH,20240228,14.83,3.987,3.987,1.51,36.0154,28.915,1.5579,9.0092,7.7979,,,31657.9466,7597.9072,7597.9072,469487.3481,112676.9638
+688334.SH,20240227,15.58,2.6215,2.6215,1.06,37.8368,30.3774,1.6367,9.4648,8.1923,,,31657.9466,7597.9072,7597.9072,493230.808,118375.3942
+688334.SH,20240226,15.3,3.0212,3.0212,1.27,37.1568,29.8314,1.6073,9.2947,8.0451,,,31657.9466,7597.9072,7597.9072,484366.583,116247.9802
+688334.SH,20240223,15.2,2.5246,2.5246,1.02,36.914,28.4972,1.6175,9.234,8.4799,,,31657.9466,7597.9072,7597.9072,481200.7883,115488.1894
+688334.SH,20240222,15.11,2.1437,2.1437,0.86,36.6954,28.3285,1.6079,9.1793,8.4297,,,31657.9466,7597.9072,7597.9072,478351.5731,114804.3778
+688334.SH,20240221,14.93,2.8781,2.8781,1.2,36.2583,27.991,1.5888,9.0699,8.3292,,,31657.9466,7597.9072,7597.9072,472653.1427,113436.7545
+688334.SH,20240220,14.79,1.754,1.754,0.69,35.9183,27.7286,1.5739,8.9849,8.2511,,,31657.9466,7597.9072,7597.9072,468221.0302,112373.0475
+688334.SH,20240219,14.87,2.5883,2.5883,0.94,36.1126,27.8785,1.5824,9.0335,8.2958,,,31657.9466,7597.9072,7597.9072,470753.6659,112980.8801
+688334.SH,20240208,14.75,3.0363,3.0363,1.19,35.8211,27.6536,1.5696,8.9606,8.2288,,,31657.9466,7597.9072,7597.9072,466954.7124,112069.1312
+688334.SH,20240207,13.96,2.2624,2.2624,0.85,33.9026,26.1725,1.4855,8.4807,7.7881,,,31657.9466,7597.9072,7597.9072,441944.9345,106066.7845
+688334.SH,20240206,14.2,2.3445,2.3445,0.87,34.4854,26.6224,1.5111,8.6265,7.922,,,31657.9466,7597.9072,7597.9072,449542.8417,107890.2822
+688334.SH,20240205,13.48,2.5247,2.5247,0.84,32.7369,25.2726,1.4345,8.1891,7.5203,,,31657.9466,7597.9072,7597.9072,426749.1202,102419.7891
+688334.SH,20240202,14.13,3.6694,3.6694,1.31,34.3154,26.4912,1.5036,8.5839,7.8829,,,31657.9466,7597.9072,7597.9072,447326.7855,107358.4287
+688334.SH,20240201,14.7,1.9788,1.9788,0.63,35.6997,27.5598,1.5643,8.9302,8.2009,,,31657.9466,7597.9072,7597.9072,465371.815,111689.2358
+688334.SH,20240131,14.76,2.7222,2.7222,0.84,35.8454,27.6723,1.5707,8.9667,8.2344,,,31657.9466,7597.9072,7597.9072,467271.2918,112145.1103
+688334.SH,20240130,15.03,2.6043,2.6043,0.86,36.5011,28.1785,1.5994,9.1307,8.385,,,31657.9466,7597.9072,7597.9072,475818.9374,114196.5452
+688334.SH,20240129,15.65,4.0726,4.0726,1.49,38.0068,29.3409,1.6654,9.5073,8.7309,,,31657.9466,7597.9072,7597.9072,495446.8643,118907.2477
+688334.SH,20240126,15.53,2.6095,2.6095,1.02,37.7154,29.1159,1.6526,9.4344,8.664,,,31657.9466,7597.9072,7597.9072,491647.9107,117995.4988
+688334.SH,20240125,15.74,3.6502,3.6502,1.5,38.2254,29.5096,1.675,9.562,8.7811,,,31657.9466,7597.9072,7597.9072,498296.0795,119591.0593
+688334.SH,20240124,15.07,3.2217,3.2217,1.44,36.5983,28.2535,1.6037,9.155,8.4073,,,31657.9466,7597.9072,7597.9072,477085.2553,114500.4615
+688334.SH,20240123,14.49,1.607,1.607,0.71,35.1897,27.1661,1.5419,8.8026,8.0838,,,31657.9466,7597.9072,7597.9072,458723.6462,110093.6753
+688334.SH,20240122,14.44,2.5825,2.5825,1.24,35.0683,27.0724,1.5366,8.7723,8.0559,,,31657.9466,7597.9072,7597.9072,457140.7489,109713.78
+688334.SH,20240119,15.31,1.6881,1.6881,0.74,37.1811,28.7035,1.6292,9.3008,8.5412,,,31657.9466,7597.9072,7597.9072,484683.1624,116323.9592
+688334.SH,20240118,15.42,3.0884,3.0884,1.39,37.4483,28.9097,1.6409,9.3676,8.6026,,,31657.9466,7597.9072,7597.9072,488165.5366,117159.729
+688334.SH,20240117,15.7,2.1994,2.1994,0.96,38.1283,29.4346,1.6707,9.5377,8.7588,,,31657.9466,7597.9072,7597.9072,497029.7616,119287.143
+688334.SH,20240116,15.92,1.6913,1.6913,0.6,38.6625,29.8471,1.6941,9.6714,8.8816,,,31657.9466,7597.9072,7597.9072,503994.5099,120958.6826
+688334.SH,20240115,15.95,1.7078,1.7078,0.59,38.7354,29.9034,1.6973,9.6896,8.8983,,,31657.9466,7597.9072,7597.9072,504944.2483,121186.6198
+688334.SH,20240112,16.01,2.7264,2.7264,0.98,38.8811,30.0158,1.7037,9.726,8.9318,,,31657.9466,7597.9072,7597.9072,506843.7251,121642.4943
+688334.SH,20240111,16.1,2.778,2.778,1.08,39.0997,30.1846,1.7133,9.7807,8.982,,,31657.9466,7597.9072,7597.9072,509692.9403,122326.3059
+688334.SH,20240110,15.92,2.5536,2.5536,0.98,38.6625,29.8471,1.6941,9.6714,8.8816,,,31657.9466,7597.9072,7597.9072,503994.5099,120958.6826
+688334.SH,20240109,16.14,4.3367,4.3367,1.82,39.1968,30.2596,1.7175,9.805,9.0043,,,31657.9466,7597.9072,7597.9072,510959.2581,122630.2222
+688334.SH,20240108,16.45,2.0838,2.0838,0.7,39.9497,30.8408,1.7505,9.9933,9.1772,,,31657.9466,7597.9072,7597.9072,520773.2216,124985.5734
+688334.SH,20240105,16.9,2.1326,2.1326,0.64,41.0425,31.6844,1.7984,10.2667,9.4283,,,31657.9466,7597.9072,7597.9072,535019.2975,128404.6317
+688334.SH,20240104,17.22,1.7308,1.7308,0.52,41.8197,32.2844,1.8324,10.4611,9.6068,,,31657.9466,7597.9072,7597.9072,545149.8405,130835.962
+688334.SH,20240103,17.15,2.7292,2.7292,0.86,41.6497,32.1531,1.825,10.4186,9.5678,,,31657.9466,7597.9072,7597.9072,542933.7842,130304.1085
+688334.SH,20240102,17.3,3.2482,3.2482,1.1,42.014,32.4344,1.841,10.5097,9.6514,,,31657.9466,7597.9072,7597.9072,547682.4762,131443.7946
+688334.SH,20231229,17.33,4.9828,4.9828,2.08,42.0868,32.4906,1.8442,10.5279,9.6682,,,31657.9466,7597.9072,7597.9072,548632.2146,131671.7318
+688334.SH,20231228,16.89,3.972,3.972,1.74,41.0182,31.6657,1.7973,10.2606,9.4227,,,31657.9466,7597.9072,7597.9072,534702.7181,128328.6526
+688334.SH,20231227,16.45,1.5814,1.5814,0.56,39.9497,30.8408,1.7505,9.9933,9.1772,,,31657.9466,7597.9072,7597.9072,520773.2216,124985.5734
+688334.SH,20231226,16.29,2.0422,2.0422,0.58,39.5611,30.5408,1.7335,9.8961,9.088,,,31657.9466,7597.9072,7597.9072,515707.9501,123769.9083
+688334.SH,20231225,16.28,2.1574,2.1574,0.6,39.5368,30.522,1.7324,9.8901,9.0824,,,31657.9466,7597.9072,7597.9072,515391.3706,123693.9292
+688334.SH,20231222,16.4,2.2061,2.2061,0.61,39.8283,30.747,1.7452,9.963,9.1493,,,31657.9466,7597.9072,7597.9072,519190.3242,124605.6781
+688334.SH,20231221,16.73,3.3959,3.3959,1.02,40.6297,31.3657,1.7803,10.1634,9.3334,,,31657.9466,7597.9072,7597.9072,529637.4466,127112.9875
+688334.SH,20231220,16.49,4.2564,4.2564,1.3,40.0468,30.9158,1.7548,10.0176,9.1995,,,31657.9466,7597.9072,7597.9072,522039.5394,125289.4897
+688334.SH,20231219,16.48,5.7302,5.7302,2.32,40.0225,30.897,1.7537,10.0116,9.194,,,31657.9466,7597.9072,7597.9072,521722.96,125213.5107
+688334.SH,20231218,16.24,2.5395,2.5395,1.02,39.4397,30.4471,1.7282,9.8658,9.0601,,,31657.9466,7139.4479,7139.4479,514125.0528,115944.6339
+688334.SH,20231215,16.67,2.4852,2.4852,1.01,40.484,31.2532,1.7739,10.127,9.3,,,31657.9466,7139.4479,7139.4479,527737.9698,119014.5965
+688334.SH,20231214,16.98,1.9765,1.9765,0.8,41.2368,31.8344,1.8069,10.3153,9.4729,,,31657.9466,7139.4479,7139.4479,537551.9333,121227.8253
+688334.SH,20231213,16.94,4.2637,4.2637,2.0,41.1397,31.7594,1.8027,10.291,9.4506,,,31657.9466,7139.4479,7139.4479,536285.6154,120942.2474
+688334.SH,20231212,16.77,1.8672,1.8672,0.81,40.7268,31.4407,1.7846,10.1877,9.3558,,,31657.9466,7139.4479,7139.4479,530903.7645,119728.5413
+688334.SH,20231211,16.91,1.8392,1.8392,0.69,41.0668,31.7032,1.7995,10.2728,9.4339,,,31657.9466,7139.4479,7139.4479,535335.877,120728.064
+688334.SH,20231208,16.71,2.3393,2.3393,0.84,40.5811,31.3282,1.7782,10.1513,9.3223,,,31657.9466,7139.4479,7139.4479,529004.2877,119300.1744
+688334.SH,20231207,16.84,2.0008,2.0008,0.67,40.8968,31.5719,1.792,10.2303,9.3948,,,31657.9466,7139.4479,7139.4479,533119.8207,120228.3026
+688334.SH,20231206,17.0,2.6306,2.6306,0.8,41.2854,31.8719,1.809,10.3275,9.4841,,,31657.9466,7139.4479,7139.4479,538185.0922,121370.6143
+688334.SH,20231205,17.12,2.7555,2.7555,0.69,41.5768,32.0969,1.8218,10.4004,9.551,,,31657.9466,7139.4479,7139.4479,541984.0458,122227.348
+688334.SH,20231204,17.43,3.6318,3.6318,0.74,42.3297,32.6781,1.8548,10.5887,9.724,,,31657.9466,7139.4479,7139.4479,551798.0092,124440.5769
+688334.SH,20231201,17.15,2.9339,2.9339,0.61,41.6497,32.1531,1.825,10.4186,9.5678,,,31657.9466,7139.4479,7139.4479,542933.7842,122441.5315
+688334.SH,20231130,17.2,3.0759,3.0759,0.67,41.7711,32.2469,1.8303,10.449,9.5956,,,31657.9466,7139.4479,7139.4479,544516.6815,122798.5039
+688334.SH,20231129,17.1,4.1266,4.1266,0.96,41.5282,32.0594,1.8197,10.3882,9.5399,,,31657.9466,7139.4479,7139.4479,541350.8869,122084.5591
+688334.SH,20231128,17.46,6.1122,6.1122,1.64,42.4025,32.7343,1.858,10.6069,9.7407,,,31657.9466,7139.4479,7139.4479,552747.7476,124654.7603
+688334.SH,20231127,17.33,8.1378,8.1378,3.14,42.0868,32.4906,1.8442,10.5279,9.6682,,,31657.9466,7139.4479,7139.4479,548632.2146,123726.6321
+688334.SH,20231124,16.7,2.5027,2.5027,1.0,40.5568,31.3095,1.7771,10.1452,9.3167,,,31657.9466,7139.4479,7139.4479,528687.7082,119228.7799
+688334.SH,20231123,17.01,1.9512,1.9512,0.73,41.3097,31.8907,1.8101,10.3335,9.4896,,,31657.9466,7139.4479,7139.4479,538501.6717,121442.0088
+688334.SH,20231122,16.81,2.8354,2.8354,0.96,40.824,31.5157,1.7888,10.212,9.3781,,,31657.9466,7139.4479,7139.4479,532170.0823,120014.1192
+688334.SH,20231121,17.09,3.1588,3.1588,1.06,41.504,32.0406,1.8186,10.3821,9.5343,,,31657.9466,7139.4479,7139.4479,541034.3074,122013.1646
+688334.SH,20231120,17.23,2.5272,2.5272,0.79,41.844,32.3031,1.8335,10.4672,9.6124,,,31657.9466,7139.4479,7139.4479,545466.4199,123012.6873
+688334.SH,20231117,17.25,2.0108,2.0108,0.5,41.8925,32.3406,1.8356,10.4793,9.6235,,,31657.9466,7139.4479,7139.4479,546099.5789,123155.4763
+688334.SH,20231116,17.19,2.9204,2.9204,0.76,41.7468,32.2281,1.8293,10.4429,9.5901,,,31657.9466,7139.4479,7139.4479,544200.1021,122727.1094
+688334.SH,20231115,17.4,4.114,4.114,1.06,42.2568,32.6218,1.8516,10.5705,9.7072,,,31657.9466,7139.4479,7139.4479,550848.2708,124226.3935
+688334.SH,20231114,17.35,3.2689,3.2689,0.8,42.1354,32.5281,1.8463,10.5401,9.6793,,,31657.9466,7139.4479,7139.4479,549265.3735,123869.4211
+688334.SH,20231113,17.26,3.7487,3.7487,0.94,41.9168,32.3594,1.8367,10.4854,9.6291,,,31657.9466,7139.4479,7139.4479,546416.1583,123226.8708
+688334.SH,20231110,17.25,5.8702,5.8702,1.8,41.8925,32.3406,1.8356,10.4793,9.6235,,,31657.9466,7139.4479,7139.4479,546099.5789,123155.4763
+688334.SH,20231109,16.9,2.3301,2.3301,0.73,41.0425,31.6844,1.7984,10.2667,9.4283,,,31657.9466,7139.4479,7139.4479,535019.2975,120656.6695
+688334.SH,20231108,16.93,4.1104,4.1104,1.45,41.1154,31.7407,1.8016,10.2849,9.445,,,31657.9466,7139.4479,7139.4479,535969.0359,120870.8529
+688334.SH,20231107,17.09,4.2725,4.2725,1.72,41.504,32.0406,1.8186,10.3821,9.5343,,,31657.9466,7139.4479,7139.4479,541034.3074,122013.1646
+688334.SH,20231106,17.06,3.3159,3.3159,1.35,41.4311,31.9844,1.8154,10.3639,9.5175,,,31657.9466,7139.4479,7139.4479,540084.569,121798.9812
+688334.SH,20231103,17.0,2.2582,2.2582,0.86,41.2854,31.8719,1.809,10.3275,9.4841,,,31657.9466,7139.4479,7139.4479,538185.0922,121370.6143
+688334.SH,20231102,16.86,1.9387,1.9387,0.75,40.9454,31.6094,1.7941,10.2424,9.406,,,31657.9466,7139.4479,7139.4479,533752.9797,120371.0916
+688334.SH,20231101,16.99,2.3494,2.3494,0.91,41.2611,31.8532,1.808,10.3214,9.4785,,,31657.9466,7139.4479,7139.4479,537868.5127,121299.2198
+688334.SH,20231031,17.18,2.5914,2.5914,0.9,41.7225,32.2094,1.8282,10.4368,9.5845,,,31657.9466,7139.4479,7139.4479,543883.5226,122655.7149
+688334.SH,20231030,17.05,3.1046,3.1046,0.99,41.4068,31.9657,1.8144,10.3578,9.512,,,31657.9466,7139.4479,7139.4479,539767.9895,121727.5867
+688334.SH,20231027,16.75,3.1156,3.1156,1.02,40.6782,33.242,1.8086,10.1756,9.5754,,,31657.9466,7139.4479,7139.4479,530270.6056,119585.7523
+688334.SH,20231026,16.42,1.7527,1.7527,0.54,39.8768,32.5871,1.7729,9.9751,9.3867,,,31657.9466,7139.4479,7139.4479,519823.4832,117229.7345
+688334.SH,20231025,16.42,2.3198,2.3198,0.68,39.8768,32.5871,1.7729,9.9751,9.3867,,,31657.9466,7139.4479,7139.4479,519823.4832,117229.7345
+688334.SH,20231024,16.47,4.1,4.1,1.19,39.9983,32.6863,1.7783,10.0055,9.4153,,,31657.9466,7139.4479,7139.4479,521406.3805,117586.7069
+688334.SH,20231023,15.74,4.3676,4.3676,1.36,38.2254,31.2375,1.6995,9.562,8.998,,,31657.9466,7139.4479,7139.4479,498296.0795,112374.9099
+688334.SH,20231020,16.61,2.7299,2.7299,0.82,40.3383,32.9641,1.7935,10.0905,9.4953,,,31657.9466,7139.4479,7139.4479,525838.493,118586.2296
+688334.SH,20231019,16.78,2.8025,2.8025,0.87,40.7511,33.3015,1.8118,10.1938,9.5925,,,31657.9466,7139.4479,7139.4479,531220.3439,119799.9358
+688334.SH,20231018,16.79,3.1271,3.1271,0.95,40.7754,33.3214,1.8129,10.1999,9.5982,,,31657.9466,7139.4479,7139.4479,531536.9234,119871.3302
+688334.SH,20231017,17.11,4.1328,4.1328,1.38,41.5525,33.9564,1.8474,10.3943,9.7812,,,31657.9466,7139.4479,7139.4479,541667.4663,122155.9536
+688334.SH,20231016,16.68,3.264,3.264,1.09,40.5082,33.1031,1.801,10.1331,9.5354,,,31657.9466,7139.4479,7139.4479,528054.5493,119085.991
+688334.SH,20231013,16.92,3.2619,3.2619,1.02,41.0911,33.5794,1.8269,10.2789,9.6726,,,31657.9466,7139.4479,7139.4479,535652.4565,120799.4585
+688334.SH,20231012,17.3,2.2385,2.2385,0.66,42.014,34.3335,1.868,10.5097,9.8898,,,31657.9466,7139.4479,7139.4479,547682.4762,123512.4487
+688334.SH,20231011,17.36,3.6243,3.6243,1.09,42.1597,34.4526,1.8744,10.5462,9.9241,,,31657.9466,7139.4479,7139.4479,549581.953,123940.8155
+688334.SH,20231010,17.24,2.6283,2.6283,0.8,41.8682,34.2144,1.8615,10.4733,9.8555,,,31657.9466,7139.4479,7139.4479,545782.9994,123084.0818
+688334.SH,20231009,17.15,3.1669,3.1669,0.98,41.6497,34.0358,1.8518,10.4186,9.804,,,31657.9466,7139.4479,7139.4479,542933.7842,122441.5315
+688334.SH,20230928,17.13,4.3287,4.3287,1.57,41.6011,33.9961,1.8496,10.4064,9.7926,,,31657.9466,7139.4479,7139.4479,542300.6253,122298.7425
+688334.SH,20230927,16.83,3.1969,3.1969,1.29,40.8725,33.4007,1.8172,10.2242,9.6211,,,31657.9466,7139.4479,7139.4479,532803.2413,120156.9082
+688334.SH,20230926,16.63,3.2451,3.2451,1.29,40.3868,33.0038,1.7956,10.1027,9.5068,,,31657.9466,7139.4479,7139.4479,526471.652,118729.0186
+688334.SH,20230925,16.49,2.5383,2.5383,1.03,40.0468,32.726,1.7805,10.0176,9.4267,,,31657.9466,7139.4479,7139.4479,522039.5394,117729.4959
+688334.SH,20230922,16.57,2.8278,2.8278,1.2,40.2411,32.8848,1.7891,10.0662,9.4725,,,31657.9466,7139.4479,7139.4479,524572.1752,118300.6517
+688334.SH,20230921,16.24,2.0092,2.0092,0.77,39.4397,32.2298,1.7535,9.8658,9.2838,,,31657.9466,7139.4479,7139.4479,514125.0528,115944.6339
+688334.SH,20230920,16.18,1.7569,1.7569,0.6,39.294,32.1108,1.747,9.8293,9.2495,,,31657.9466,7139.4479,7139.4479,512225.576,115516.267
+688334.SH,20230919,16.31,3.4601,3.4601,1.27,39.6097,32.3688,1.7611,9.9083,9.3238,,,31657.9466,7139.4479,7139.4479,516341.109,116444.3952
+688334.SH,20230918,16.64,2.2872,2.2872,0.73,40.4111,33.0237,1.7967,10.1088,9.5125,,,31657.9466,7139.4479,7139.4479,526788.2314,118800.4131
+688334.SH,20230915,16.53,2.2278,2.2278,0.68,40.144,32.8054,1.7848,10.0419,9.4496,,,31657.9466,7139.4479,7139.4479,523305.8573,118015.0738
+688334.SH,20230914,16.55,3.3276,3.3276,0.9,40.1925,32.8451,1.787,10.0541,9.461,,,31657.9466,7139.4479,7139.4479,523939.0162,118157.8627
+688334.SH,20230913,16.9,3.2588,3.2588,0.86,41.0425,33.5397,1.8248,10.2667,9.6611,,,31657.9466,7139.4479,7139.4479,535019.2975,120656.6695
+688334.SH,20230912,17.29,2.5151,2.5151,0.58,41.9897,34.3137,1.8669,10.5036,9.8841,,,31657.9466,7139.4479,7139.4479,547365.8967,123441.0542
+688334.SH,20230911,17.42,4.2908,4.2908,0.88,42.3054,34.5717,1.8809,10.5826,9.9584,,,31657.9466,7139.4479,7139.4479,551481.4298,124369.1824
+688334.SH,20230908,17.02,3.0356,3.0356,0.53,41.334,33.7778,1.8377,10.3396,9.7297,,,31657.9466,7139.4479,7139.4479,538818.2511,121513.4033
+688334.SH,20230907,16.96,5.4172,5.4172,0.74,41.1882,33.6587,1.8312,10.3032,9.6954,,,31657.9466,7139.4479,7139.4479,536918.7743,121085.0364
+688334.SH,20230906,17.69,3.6903,3.6903,0.42,42.9611,35.1075,1.9101,10.7466,10.1127,,,31657.9466,7139.4479,7139.4479,560029.0754,126296.8334
+688334.SH,20230905,17.64,5.3384,5.3384,0.55,42.8397,35.0083,1.9047,10.7162,10.0842,,,31657.9466,7139.4479,7139.4479,558446.178,125939.861
+688334.SH,20230904,17.83,6.8821,6.8821,0.69,43.3011,35.3853,1.9252,10.8317,10.1928,,,31657.9466,7139.4479,7139.4479,564461.1879,127296.3561
+688334.SH,20230901,17.88,7.2269,7.2269,0.71,43.4225,35.4846,1.9306,10.862,10.2214,,,31657.9466,7139.4479,7139.4479,566044.0852,127653.3285
+688334.SH,20230831,17.85,13.6489,13.6489,1.41,43.3497,35.425,1.9273,10.8438,10.2042,,,31657.9466,7139.4479,7139.4479,565094.3468,127439.145
+688334.SH,20230830,17.83,10.9488,10.9488,1.21,43.3011,35.3853,1.9252,10.8317,10.1928,,,31657.9466,7139.4479,7139.4479,564461.1879,127296.3561
+688334.SH,20230829,17.28,10.1877,10.1877,1.14,41.9654,35.2158,1.8574,10.4976,9.5794,,,31657.9466,7139.4479,7139.4479,547049.3172,123369.6597
+688334.SH,20230828,16.06,8.1533,8.1533,0.88,39.0025,32.7295,1.7262,9.7564,8.9031,,,31657.9466,7139.4479,7139.4479,508426.6224,114659.5333
+688334.SH,20230825,15.76,8.077,8.077,0.72,38.274,32.1181,1.694,9.5742,8.7368,,,31657.9466,7139.4479,7139.4479,498929.2384,112517.6989
+688334.SH,20230824,16.84,10.9239,10.9239,1.07,40.8968,34.3191,1.8101,10.2303,9.3355,,,31657.9466,7139.4479,7139.4479,533119.8207,120228.3026
+688334.SH,20230823,16.74,7.8543,7.8543,0.81,40.654,34.1153,1.7993,10.1695,9.2801,,,31657.9466,7139.4479,7139.4479,529954.0261,119514.3578
+688334.SH,20230822,17.47,9.862,9.862,1.17,42.4268,35.603,1.8778,10.613,9.6848,,,31657.9466,7139.4479,7139.4479,553064.3271,124726.1548
+688334.SH,20230821,17.75,9.5853,9.5853,1.29,43.1068,36.1736,1.9079,10.7831,9.84,,,31657.9466,7139.4479,7139.4479,561928.5522,126725.2002
+688334.SH,20230818,17.95,18.0818,18.0818,3.65,43.5925,36.5812,1.9294,10.9046,9.9509,,,31657.9466,7139.4479,7139.4479,568260.1415,128153.0898
+688334.SH,20230817,17.41,5.4894,5.4894,1.03,42.2811,35.4807,1.8713,10.5765,9.6515,,,31657.9466,7139.4479,7139.4479,551164.8503,124297.7879
+688334.SH,20230816,17.13,5.2584,5.2584,0.9,41.6011,34.9101,1.8413,10.4064,9.4963,,,31657.9466,7139.4479,7139.4479,542300.6253,122298.7425
+688334.SH,20230815,16.95,3.5963,3.5963,0.63,41.164,34.5432,1.8219,10.2971,9.3965,,,31657.9466,7139.4479,7139.4479,536602.1949,121013.6419
+688334.SH,20230814,17.08,4.7632,4.7632,0.84,41.4797,34.8082,1.8359,10.3761,9.4686,,,31657.9466,7139.4479,7139.4479,540717.7279,121941.7701
+688334.SH,20230811,17.12,5.6644,5.6644,1.09,41.5768,34.8897,1.8402,10.4004,9.4907,,,31657.9466,7139.4479,7139.4479,541984.0458,122227.348
+688334.SH,20230810,17.55,7.4446,7.4446,1.57,42.6211,35.766,1.8864,10.6616,9.7291,,,31657.9466,7139.4479,7139.4479,555596.9628,125297.3106
+688334.SH,20230809,17.36,7.7918,7.7918,1.55,42.1597,35.3788,1.866,10.5462,9.6238,,,31657.9466,7139.4479,7139.4479,549581.953,123940.8155
+688334.SH,20230808,17.01,2.8013,2.8013,0.56,41.3097,34.6655,1.8284,10.3335,9.4298,,,31657.9466,7139.4479,7139.4479,538501.6717,121442.0088
+688334.SH,20230807,16.9,4.7017,4.7017,0.99,41.0425,34.4413,1.8165,10.2667,9.3688,,,31657.9466,7139.4479,7139.4479,535019.2975,120656.6695
+688334.SH,20230804,17.18,3.3593,3.3593,0.58,41.7225,35.012,1.8466,10.4368,9.524,,,31657.9466,7139.4479,7139.4479,543883.5226,122655.7149
+688334.SH,20230803,17.09,4.9996,4.9996,0.88,41.504,34.8286,1.837,10.3821,9.4741,,,31657.9466,7139.4479,7139.4479,541034.3074,122013.1646
+688334.SH,20230802,17.38,9.2563,9.2563,2.0,42.2082,35.4196,1.8681,10.5583,9.6349,,,31657.9466,7139.4479,7139.4479,550215.1119,124083.6045
+688334.SH,20230801,17.07,2.7068,2.7068,0.52,41.4554,34.7878,1.8348,10.37,9.463,,,31657.9466,7139.4479,7139.4479,540401.1485,121870.3757
+688334.SH,20230731,17.15,3.512,3.512,0.67,41.6497,34.9508,1.8434,10.4186,9.5074,,,31657.9466,7139.4479,7139.4479,542933.7842,122441.5315
+688334.SH,20230728,17.12,8.5607,8.5607,1.86,41.5768,34.8897,1.8402,10.4004,9.4907,,,31657.9466,7139.4479,7139.4479,541984.0458,122227.348
+688334.SH,20230727,17.23,4.2701,4.2701,0.88,41.844,35.1139,1.852,10.4672,9.5517,,,31657.9466,7139.4479,7139.4479,545466.4199,123012.6873
+688334.SH,20230726,17.24,4.0478,4.0478,0.81,41.8682,35.1343,1.8531,10.4733,9.5573,,,31657.9466,7139.4479,7139.4479,545782.9994,123084.0818
+688334.SH,20230725,17.48,5.8562,5.8562,1.06,42.4511,35.6234,1.8789,10.619,9.6903,,,31657.9466,7139.4479,7139.4479,553380.9066,124797.5493
+688334.SH,20230724,17.04,3.3041,3.3041,0.52,41.3825,34.7267,1.8316,10.3518,9.4464,,,31657.9466,7139.4479,7139.4479,539451.4101,121656.1922
+688334.SH,20230721,17.18,5.5546,5.5546,0.84,41.7225,35.012,1.8466,10.4368,9.524,,,31657.9466,7139.4479,7139.4479,543883.5226,122655.7149
+688334.SH,20230720,17.5,5.4096,5.4096,0.77,42.4997,35.6641,1.881,10.6312,9.7014,,,31657.9466,7139.4479,7139.4479,554014.0655,124940.3383
+688334.SH,20230719,17.86,4.9121,4.9121,0.63,43.3739,36.3978,1.9197,10.8499,9.901,,,31657.9466,7139.4479,7139.4479,565410.9263,127510.5395
+688334.SH,20230718,17.81,8.4596,8.4596,1.12,43.2525,36.2959,1.9143,10.8195,9.8732,,,31657.9466,7139.4479,7139.4479,563828.0289,127153.5671
+688334.SH,20230717,18.15,7.2875,7.2875,0.88,44.0782,36.9888,1.9509,11.0261,10.0617,,,31657.9466,7139.4479,7139.4479,574591.7308,129580.9794
+688334.SH,20230714,18.23,6.9803,6.9803,0.83,44.2725,37.1518,1.9595,11.0747,10.1061,,,31657.9466,7139.4479,7139.4479,577124.3665,130152.1352
+688334.SH,20230713,18.27,7.6966,7.6966,0.91,44.3696,37.2333,1.9638,11.099,10.1283,,,31657.9466,7139.4479,7139.4479,578390.6844,130437.7131
+688334.SH,20230712,18.03,8.7046,8.7046,1.06,43.7868,36.7442,1.938,10.9532,9.9952,,,31657.9466,7139.4479,7139.4479,570792.7772,128724.2456
+688334.SH,20230711,18.41,7.1476,7.1476,0.89,44.7096,37.5187,1.9788,11.184,10.2059,,,31657.9466,7139.4479,7139.4479,582822.7969,131437.2358
+688334.SH,20230710,18.45,11.0064,11.0064,1.43,44.8068,37.6002,1.9831,11.2083,10.228,,,31657.9466,7139.4479,7139.4479,584089.1148,131722.8138
+688334.SH,20230707,17.84,7.3353,7.3353,0.88,43.3254,36.357,1.9176,10.8377,9.8899,,,31657.9466,7139.4479,7139.4479,564777.7673,127367.7505
+688334.SH,20230706,18.18,8.2955,8.2955,0.94,44.1511,37.0499,1.9541,11.0443,10.0784,,,31657.9466,7139.4479,7139.4479,575541.4692,129795.1628
+688334.SH,20230705,17.87,7.2389,7.2389,0.69,43.3982,36.4182,1.9208,10.856,9.9065,,,31657.9466,7139.4479,7139.4479,565727.5057,127581.934
+688334.SH,20230704,18.16,6.4172,6.4172,0.51,44.1025,37.0092,1.952,11.0321,10.0673,,,31657.9466,7139.4479,7139.4479,574908.3103,129652.3739
+688334.SH,20230703,18.07,9.3156,9.3156,0.64,43.8839,36.8257,1.9423,10.9775,10.0174,,,31657.9466,7139.4479,7139.4479,572059.0951,129009.8236
+688334.SH,20230630,17.96,10.2767,10.2767,0.53,43.6168,36.6016,1.9305,10.9106,9.9564,,,31657.9466,7139.4479,7139.4479,568576.7209,128224.4843
+688334.SH,20230629,17.78,10.7835,10.7835,0.41,43.1797,36.2347,1.9111,10.8013,9.8566,,,31657.9466,7139.4479,7139.4479,562878.2905,126939.3837
+688334.SH,20230628,17.48,15.7032,15.7032,0.42,42.4511,35.6234,1.8789,10.619,9.6903,,,31657.9466,7139.4479,7139.4479,553380.9066,124797.5493
+688334.SH,20230627,18.16,17.3551,17.3551,,44.1025,37.0092,1.952,11.0321,10.0673,,,31657.9466,7139.4479,7139.4479,574908.3103,129652.3739
+688334.SH,20230626,18.41,19.0348,19.0348,,44.7096,37.5187,1.9788,11.184,10.2059,,,31657.9466,7139.4479,7139.4479,582822.7969,131437.2358
+688334.SH,20230621,18.2,34.0342,34.0342,,44.1996,37.0907,1.9563,11.0564,10.0895,,,31657.9466,7139.4479,7139.4479,576174.6281,129937.9518
+688334.SH,20230620,19.76,46.7683,46.7683,,47.9882,40.2699,2.1239,12.0041,10.9543,,,31657.9466,7139.4479,7139.4479,625561.0248,141075.4905
+688334.SH,20230619,20.73,71.6977,71.6977,,50.3439,42.2467,2.2282,12.5934,11.492,,,31657.9466,7139.4479,7139.4479,656269.233,148000.755
diff --git a/legacy/data/CN/688334.SH/raw_historical_metrics_shareholder_number.csv b/legacy/data/CN/688334.SH/raw_historical_metrics_shareholder_number.csv
new file mode 100644
index 0000000..bfc1cbe
--- /dev/null
+++ b/legacy/data/CN/688334.SH/raw_historical_metrics_shareholder_number.csv
@@ -0,0 +1,14 @@
+ts_code,ann_date,end_date,holder_num
+688334.SH,20250821,20250630,12225
+688334.SH,20250411,20250331,12082
+688334.SH,20250411,20241231,12364
+688334.SH,20241030,20240930,12979
+688334.SH,20240830,20240630,14145
+688334.SH,20240411,20240331,14265
+688334.SH,20240430,20240331,14265
+688334.SH,20240411,20231231,15965
+688334.SH,20240103,20231229,15965
+688334.SH,20231028,20230930,22857
+688334.SH,20230830,20230630,30695
+688334.SH,20230616,20230619,66464
+688334.SH,20220630,20220630,7
diff --git a/legacy/data/CN/688334.SH/raw_income_statement.csv b/legacy/data/CN/688334.SH/raw_income_statement.csv
new file mode 100644
index 0000000..dca8d30
--- /dev/null
+++ b/legacy/data/CN/688334.SH/raw_income_statement.csv
@@ -0,0 +1,21 @@
+ts_code,ann_date,f_ann_date,end_date,report_type,comp_type,end_type,basic_eps,diluted_eps,total_revenue,revenue,int_income,prem_earned,comm_income,n_commis_income,n_oth_income,n_oth_b_income,prem_income,out_prem,une_prem_reser,reins_income,n_sec_tb_income,n_sec_uw_income,n_asset_mg_income,oth_b_income,fv_value_chg_gain,invest_income,ass_invest_income,forex_gain,total_cogs,oper_cost,int_exp,comm_exp,biz_tax_surchg,sell_exp,admin_exp,fin_exp,assets_impair_loss,prem_refund,compens_payout,reser_insur_liab,div_payt,reins_exp,oper_exp,compens_payout_refu,insur_reser_refu,reins_cost_refund,other_bus_cost,operate_profit,non_oper_income,non_oper_exp,nca_disploss,total_profit,income_tax,n_income,n_income_attr_p,minority_gain,oth_compr_income,t_compr_income,compr_inc_attr_p,compr_inc_attr_m_s,ebit,ebitda,insurance_exp,undist_profit,distable_profit,rd_exp,fin_exp_int_exp,fin_exp_int_inc,transfer_surplus_rese,transfer_housing_imprest,transfer_oth,adj_lossgain,withdra_legal_surplus,withdra_legal_pubfund,withdra_biz_devfund,withdra_rese_fund,withdra_oth_ersu,workers_welfare,distr_profit_shrhder,prfshare_payable_dvd,comshare_payable_dvd,capit_comstock_div,continued_net_profit,update_flag
+688334.SH,20251022,20251022,20250930,1,1,3,0.6239,0.6239,650928346.79,650928346.79,,,,,,,,,,,,,,,4282314.86,22417831.22,300843.72,,430002960.18,292302064.23,,,11598249.2,12183961.08,67365968.79,-4364779.24,534840.44,,,,,,,,,,,259006799.27,115512.44,6434.47,,259115877.24,38302712.1,220813165.14,197506230.52,23306934.62,-80000.0,220733165.14,197426230.52,23306934.62,227692606.27,,,,,51514223.99,879973.15,5443168.92,,,,,,,,,,,,,,,220813165.14,1
+688334.SH,20250821,20250821,20250630,1,1,2,0.42,0.42,419623079.26,419623079.26,,,,,,,,,,,,,,,3467377.36,14924721.67,92608.67,,277636654.25,184804671.88,,,7665463.62,7817218.07,44352361.16,-2552341.25,534840.44,,,,,,,,,,,167817468.43,54401.18,,,167871869.61,20334431.99,147537437.62,132706246.05,14831191.57,-80000.0,147457437.62,132626246.05,14831191.57,147040976.05,217570064.16,,,,36145033.64,555025.1,3283581.16,,,,,,,,,,,,,,,147537437.62,1
+688334.SH,20250411,20250411,20250331,1,1,1,0.1989,0.1989,206756354.67,206756354.67,,,,,,,,,,,,,,,1741712.09,7534287.96,175598.24,,135139040.57,86318004.19,,,3783667.91,3430147.52,21741769.35,-1124806.13,,,,,,,,,,,,84628035.02,24000.0,,,84652035.02,12342298.03,72309736.99,62974203.43,9335533.56,,72309736.99,62974203.43,9335533.56,74227163.74,,,,,20900477.98,196510.24,1330048.93,,,,,,,,,,,,,,,72309736.99,1
+688334.SH,20250411,20250411,20250331,1,1,1,0.1989,0.1989,206756354.67,206756354.67,,,,,,,,,,,,,,,1741712.09,7534287.96,175598.24,,135139040.57,86318004.19,,,3783667.91,3430147.52,21741769.35,-1124806.13,,,,,,,,,,,,84628035.02,24000.0,,,84652035.02,12342298.03,72309736.99,62974203.43,9335533.56,,72309736.99,62974203.43,9335533.56,,,,,,20900477.98,196510.24,1330048.93,,,,,,,,,,,,,,,72309736.99,0
+688334.SH,20250411,20250411,20241231,1,1,4,0.72,0.72,798360089.94,798360089.94,,,,,,,,,,,,,,,7980328.88,38163645.51,287443.13,,581055254.99,377454368.38,,,14204407.44,18886907.07,94111657.2,-7020855.88,-1681594.25,,,,,,,,,,,280724694.8,1270062.04,244915.45,,281749841.39,26871054.05,254878787.34,228674536.06,26204251.28,-610000.0,254268787.34,228064536.06,26204251.28,227786108.6,363605764.81,,,,84797929.32,208319.98,7986656.16,,,,,,,,,,,,,,,254878787.34,1
+688334.SH,20250411,20250411,20241231,1,1,4,0.72,0.72,798360089.94,798360089.94,,,,,,,,,,,,,,,7980328.88,38163645.51,287443.13,,581055254.99,377454368.38,,,14204407.44,18886907.07,94111657.2,-7020855.88,-1681594.25,,,,,,,,,,,280724694.8,1270062.04,244915.45,,281749841.39,26871054.05,254878787.34,228674536.06,26204251.28,-610000.0,254268787.34,228064536.06,26204251.28,,,,,,84797929.32,208319.98,7986656.16,,,,,,,,,,,,,,,254878787.34,0
+688334.SH,20241030,20241030,20240930,1,1,3,0.51,0.51,565786465.77,565786465.77,,,,,,,,,,,,,,,4673435.32,31057688.73,260943.05,,404218248.14,273758214.39,,,9914364.17,12235052.61,60542850.75,-6285116.49,1636733.99,,,,,,,,,,,209443030.21,1048057.74,14576.86,,210476511.09,33685327.76,176791183.33,162857549.03,13933634.3,250000.0,177041183.33,163107549.03,13933634.3,165607286.21,,,,,56382034.34,396109.0,6859792.03,,,,,,,,,,,,,,,176791183.33,1
+688334.SH,20241030,20241030,20240930,1,1,3,0.51,0.51,565786465.77,565786465.77,,,,,,,,,,,,,,,4673435.32,31057688.73,260943.05,,404218248.14,273758214.39,,,9914364.17,12235052.61,60542850.75,-6285116.49,1636733.99,,,,,,,,,,,209443030.21,1048057.74,14576.86,,210476511.09,33685327.76,176791183.33,162857549.03,13933634.3,250000.0,177041183.33,163107549.03,13933634.3,,,,,,56382034.34,396109.0,6859792.03,,,,,,,,,,,,,,,176791183.33,0
+688334.SH,20240830,20240830,20240630,1,1,2,0.31,0.31,313832249.43,313832249.43,,,,,,,,,,,,,,,3258111.11,21824714.54,260943.05,,234433096.41,153688348.11,,,5365155.75,7042121.06,37367982.95,-4530314.44,-368713.39,,,,,,,,,,,111750468.72,1047057.73,139443.93,,112658082.52,13232881.24,99425201.28,99425201.28,,250000.0,99675201.28,99675201.28,,82555578.7,136977393.97,,,,35502260.82,281027.64,4971335.41,,,,,,,,,,,,,,,99425201.28,1
+688334.SH,20240430,20240430,20240331,1,1,1,0.1472,0.1472,153057582.2,153057582.2,,,,,,,,,,,,,,,,11039341.1,130048.87,,113226855.56,74585449.43,,,2569587.04,3045904.37,16984416.67,-2195220.9,59836.03,,,,,,,,,,,54677559.74,24676.46,4743.75,,54697492.45,8101040.01,46596452.44,46596452.44,,,46596452.44,46596452.44,,41358347.63,,,,,18296634.98,52173.33,2349427.92,,,,,,,,,,,,,,,46596452.44,1
+688334.SH,20240411,20240411,20231231,1,1,4,0.59,0.59,602066631.72,602066631.72,,,,,,,,,,,,,,,398267.15,31419549.3,-601145.13,,483744128.96,315047213.5,,,10789443.47,14174729.32,85920344.4,-8302986.15,-3510950.88,,,,,,,,,,,181771172.62,520851.55,56571.28,,182235452.89,19867507.72,162367945.17,162367945.17,,-70000.0,162297945.17,162297945.17,,142321580.33,254936529.47,,,,60926307.84,253980.0,9920161.99,,,,,,,,,,,,,,,162367945.17,1
+688334.SH,20231028,20231028,20230930,1,1,3,0.47,0.47,437071257.98,437071257.98,,,,,,,,,,,,,,,398267.15,20226240.33,33884.07,,334458654.35,223931605.53,,,7765766.91,8070306.49,55233022.21,-4604805.06,-376072.97,,,,,,,,,,,139538496.66,515501.53,,,140053998.19,16005975.96,124048022.23,124048022.23,,-350000.0,123698022.23,123698022.23,,,,,,,44659596.79,191100.0,5412759.16,,,,,,,,,,,,,,,124048022.23,0
+688334.SH,20231028,20231028,20230930,1,1,3,0.47,0.47,437071257.98,437071257.98,,,,,,,,,,,,,,,398267.15,20226240.33,33884.07,,334458654.35,223931605.53,,,7765766.91,8070306.49,55233022.21,-4604805.06,-376072.97,,,,,,,,,,,139538496.66,515501.53,,,140053998.19,16005975.96,124048022.23,124048022.23,,-350000.0,123698022.23,123698022.23,,114685257.09,,,,,44659596.79,191100.0,5412759.16,,,,,,,,,,,,,,,124048022.23,1
+688334.SH,20230830,20230830,20230630,1,1,2,0.34,0.34,277312590.06,277312590.06,,,,,,,,,,,,,,,398267.15,12481130.36,44871.7,,210102204.79,145168829.95,,,5228330.18,5163089.07,37711180.59,-1880533.56,-213075.71,,,,,,,,,,,91214859.97,512351.38,,,91727211.35,10670339.05,81056872.3,81056872.3,,-350000.0,80706872.3,80706872.3,,,,,,,19443041.31,126700.0,2487779.07,,,,,,,,,,,,,,,81056872.3,0
+688334.SH,20230830,20230830,20230630,1,1,2,0.34,0.34,277312590.06,277312590.06,,,,,,,,,,,,,,,398267.15,12481130.36,44871.7,,210102204.79,145168829.95,,,5228330.18,5163089.07,37711180.59,-1880533.56,-213075.71,,,,,,,,,,,91214859.97,512351.38,,,91727211.35,10670339.05,81056872.3,81056872.3,,-350000.0,80706872.3,80706872.3,,76780923.39,133105068.02,,,,19443041.31,126700.0,2487779.07,,,,,,,,,,,,,,,81056872.3,1
+688334.SH,20230530,20230530,20230331,1,1,1,0.15,0.15,135646091.08,135646091.08,,,,,,,,,,,,,,,,5764109.65,182536.14,,106763339.97,76951676.21,,,2652693.06,2352259.65,16747308.62,-1061709.54,,,,,,,,,,,,40762387.2,217001.02,,,40979388.22,6152340.85,34827047.37,34827047.37,,,34827047.37,34827047.37,,,,,,,9091504.35,63000.0,1282156.81,,,,,,,,,,,,,,,34827047.37,1
+688334.SH,20230530,20230530,20221231,1,1,4,0.55,0.55,521120917.43,521120917.43,,,,,,,,,,,,,,,,15317939.81,-2393515.42,,416977429.03,270026666.32,,,10421990.25,11808796.4,79657756.31,-6134873.57,-434760.93,,,,,,,,,,,147749365.67,1133133.55,8049587.53,,140832911.69,10475625.39,130357286.3,130357286.3,,930000.0,131287286.3,131287286.3,,127300297.19,247396511.95,,,,49793583.24,300213.36,7483362.4,,,,,,,,,,,,,,,130357286.3,1
+688334.SH,20230530,20230530,20211231,1,1,4,0.52,0.52,447149196.35,447149196.35,,,,,,,,,,,,,,,,-4021171.88,-5756727.44,,373055338.85,271356072.45,,,8584782.3,7121786.29,63408541.26,-2889222.82,320791.32,,,,,,,,,,,92793119.41,3389741.68,1361675.52,,94821185.57,13262667.94,81558517.63,81558517.63,,-850000.0,80708517.63,80708517.63,,95495484.97,206073933.41,,,,34636043.94,346446.59,3502102.36,,,,,,,,,,,,,,,81558517.63,1
+688334.SH,20230530,20230530,20201231,1,1,4,,,344720148.09,344720148.09,,,,,,,,,,,,,,,,-4214541.74,-4214541.74,,286830815.37,193223026.04,,,5620891.98,6846460.56,57521633.59,-2338529.26,-186316.54,,,,,,,,,,,74070416.85,1957692.85,,,76028109.7,10908226.2,65119883.5,65119883.5,,100000.0,65219883.5,65219883.5,,76288325.71,170135448.55,,,,26414701.36,392679.97,2782635.98,,,,,,,,,,,,,,,65119883.5,1
+688334.SH,20220630,20220630,20191231,1,1,4,,,399943120.3,399943120.3,,,,,,,,,,,,,,,,,,,310126801.69,224560843.62,,,2368448.89,6549725.99,57063243.97,-1301053.88,153634.21,,,,,,,,,,,109114799.65,2399846.81,405076.76,,111109569.7,16095540.67,95014029.03,95014029.03,,530000.0,95544029.03,95544029.03,,107628099.18,189228852.55,,,,24286843.88,438913.33,2049710.96,,,,,,,,,,,,,,,95014029.03,1
diff --git a/legacy/data/CN/688334.SH/raw_market_metrics_daily_basic.csv b/legacy/data/CN/688334.SH/raw_market_metrics_daily_basic.csv
new file mode 100644
index 0000000..33a2dd1
--- /dev/null
+++ b/legacy/data/CN/688334.SH/raw_market_metrics_daily_basic.csv
@@ -0,0 +1,2 @@
+ts_code,trade_date,close,turnover_rate,turnover_rate_f,volume_ratio,pe,pe_ttm,pb,ps,ps_ttm,dv_ratio,dv_ttm,total_share,float_share,free_share,total_mv,circ_mv
+688334.SH,20251229,19.38,1.1614,1.8225,0.93,26.8299,23.2995,2.1466,7.6849,6.9443,,,31657.9466,15690.4698,9998.6609,613531.0051,304081.3047
diff --git a/legacy/data/CN/688334.SH/raw_market_metrics_shareholder_number.csv b/legacy/data/CN/688334.SH/raw_market_metrics_shareholder_number.csv
new file mode 100644
index 0000000..8a23da9
--- /dev/null
+++ b/legacy/data/CN/688334.SH/raw_market_metrics_shareholder_number.csv
@@ -0,0 +1,2 @@
+ts_code,ann_date,end_date,holder_num
+688334.SH,20251022,20250930,11192
diff --git a/legacy/data/CN/688334.SH/raw_market_metrics_stock_basic.csv b/legacy/data/CN/688334.SH/raw_market_metrics_stock_basic.csv
new file mode 100644
index 0000000..d674ad5
--- /dev/null
+++ b/legacy/data/CN/688334.SH/raw_market_metrics_stock_basic.csv
@@ -0,0 +1,2 @@
+name,list_date
+西高院,20230619
diff --git a/legacy/data/CN/688334.SH/report.html b/legacy/data/CN/688334.SH/report.html
new file mode 100644
index 0000000..c7eed5f
--- /dev/null
+++ b/legacy/data/CN/688334.SH/report.html
@@ -0,0 +1,445 @@
+
+
+
+
+
+ 688334.SH Financial Report
+
+
+
+
+ 西高院 (688334.SH) - Financial Report
+ Report generated on: 2025-12-30
+
+
+
+
+ | 代码 |
+ 简称 |
+ 上市日期 |
+ PE |
+ PB |
+ 股息率(%) |
+
+
+
+
+ | 688334.SH |
+ 西高院 |
+ 2023-06-19 |
+ 26.83 |
+ 2.15 |
+ 0.00% |
+
+
+
+
+
+
+
+
+
+ | 指标 |
+ 2025Q3 | 2024A | 2023A | 2022A | 2021A | 2020A | 2019A |
+
+
+
+ | 主要指标 | |
+| ROE | 6.91% | 8.23% | 5.39% | 7.04% | 4.74% | 9.54% | 18.05% |
+| ROA | 5.36% | 6.45% | 4.73% | 5.78% | 3.76% | 5.10% | 9.45% |
+| ROCE/ROIC | 7.86% | 8.18% | 4.71% | 6.85% | 5.53% | 11.12% | 20.30% |
+| 毛利率 | 55.09% | 52.72% | 47.67% | 48.18% | 39.31% | 43.95% | 43.85% |
+| 净利润率 | 30.34% | 28.64% | 26.97% | 25.01% | 18.24% | 18.89% | 23.76% |
+| 收入(亿) | 6.51 | 7.98 | 6.02 | 5.21 | 4.47 | 3.45 | 4.00 |
+| 收入增速 | 15.05% | 32.60% | 15.53% | 16.54% | 29.71% | -13.81% | - |
+| 净利润(亿) | 1.98 | 2.29 | 1.62 | 1.30 | 0.82 | 0.65 | 0.95 |
+| 净利润增速 | 21.28% | 40.84% | 24.56% | 59.83% | 25.24% | -31.46% | - |
+| 经营净现金流(亿) | 3.53 | 4.82 | 2.63 | 1.97 | 1.54 | 1.36 | 1.32 |
+| 资本开支(亿) | 0.98 | 1.43 | 0.75 | 0.79 | 0.59 | 0.69 | 0.48 |
+| 自由现金流(亿) | 2.55 | 3.39 | 1.88 | 1.18 | 0.95 | 0.66 | 0.83 |
+| 分红(亿) | - | 1.26 | 0.81 | - | - | - | - |
+| 回购(亿) | - | - | - | - | - | - | - |
+| 总资产(亿) | 36.81 | 35.48 | 34.36 | 22.55 | 21.72 | 12.78 | 10.06 |
+| 净资产(亿) | 28.58 | 27.78 | 30.14 | 18.51 | 17.19 | 6.82 | 5.26 |
+| 商誉(亿) | 0.24 | 0.24 | 0.24 | 0.24 | 0.26 | - | - |
+| 费用指标 | |
+| 销售费用率 | 1.87% | 2.37% | 2.35% | 2.27% | 1.59% | 1.99% | 1.64% |
+| 管理费用率 | 10.35% | 11.79% | 14.27% | 15.29% | 14.18% | 16.69% | 14.27% |
+| SG&A比例 | 12.22% | 14.15% | 16.63% | 17.55% | 15.77% | 18.67% | 15.91% |
+| 研发费用率 | 7.91% | 10.62% | 10.12% | 9.56% | 7.75% | 7.66% | 6.07% |
+| 其他费用率 | 4.62% | -0.70% | -6.04% | -3.94% | -2.44% | -1.28% | -1.88% |
+| 折旧费用占比 | - | 15.47% | 16.90% | 21.16% | 23.19% | 26.46% | 20.07% |
+| 所得税率 | 14.78% | 9.54% | 10.90% | 7.44% | 13.99% | 14.35% | 14.49% |
+| 资产占比 | |
+| 现金占比 | 26.03% | 29.72% | 25.14% | 12.70% | 20.97% | 14.62% | 22.31% |
+| 库存占比 | 1.52% | 1.46% | 1.57% | 3.51% | 3.43% | 7.21% | 6.39% |
+| 应收款占比 | 3.34% | 2.74% | 1.04% | 2.56% | 3.46% | 4.14% | 4.45% |
+| 预付款占比 | 0.29% | 0.19% | 0.14% | 0.94% | 0.47% | 0.49% | 0.35% |
+| 固定资产占比 | - | 30.55% | 24.03% | 38.67% | 42.10% | 57.06% | 56.15% |
+| 长期投资占比 | 0.91% | 0.94% | 0.96% | 1.49% | 1.66% | 3.27% | - |
+| 商誉占比 | 0.64% | 0.67% | 0.69% | 1.08% | 1.18% | - | - |
+| 其他资产占比 | 67.27% | 33.74% | 46.43% | 39.05% | 26.73% | 13.21% | 10.36% |
+| 应付款占比 | 2.00% | 3.51% | 1.12% | 1.97% | 1.82% | 2.90% | 7.02% |
+| 预收款占比 | 7.97% | 7.96% | 5.54% | 7.20% | 7.46% | 13.49% | 12.66% |
+| 短期借款占比 | 0.13% | 0.21% | 0.22% | 0.31% | 0.31% | 0.30% | 0.38% |
+| 长期借款占比 | 0.91% | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% |
+| 运营资产占比 | -4.82% | -7.08% | -3.91% | -2.17% | -1.92% | -4.55% | -8.49% |
+| 有息负债率 | 1.05% | 0.21% | 0.22% | 0.31% | 0.31% | 0.30% | 0.38% |
+| 周转能力 | |
+| 存货周转天数 | 69 | 50 | 62 | 107 | 100 | 174 | 104 |
+| 应收款周转天数 | 68 | 44 | 21 | 40 | 61 | 55 | 40 |
+| 应付款周转天数 | 92 | 120 | 44 | 60 | 53 | 70 | 114 |
+| 固定资产周转率 | - | 0.74 | 0.73 | 0.60 | 0.49 | 0.47 | 0.71 |
+| 总资产周转率 | 0.18 | 0.23 | 0.18 | 0.23 | 0.21 | 0.27 | 0.40 |
+| 人均效率 | |
+| 员工人数 | - | 700 | - | - | - | - | - |
+| 人均创收(万) | - | 114.05 | - | - | - | - | - |
+| 人均创利(万) | - | 32.67 | - | - | - | - | - |
+| 人均薪酬(万) | - | 31.98 | - | - | - | - | - |
+| 市场表现 | |
+| 股价 | 19.38 | 16.33 | 17.33 | - | - | - | - |
+| 市值(亿) | 61.35 | 51.70 | 54.86 | - | - | - | - |
+| PE | 26.83 | 31.84 | 42.09 | - | - | - | - |
+| PB | 2.15 | 1.88 | 1.84 | - | - | - | - |
+| 股东户数 | 11,192 | 12,364 | 15,965 | 7 | - | - | - |
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/legacy/data/CN/688334.SH/report.md b/legacy/data/CN/688334.SH/report.md
new file mode 100644
index 0000000..66ba8e2
--- /dev/null
+++ b/legacy/data/CN/688334.SH/report.md
@@ -0,0 +1,89 @@
+# 西高院 (688334.SH) - Financial Report
+*Report generated on: 2025-12-30*
+
+| 代码 | 简称 | 上市日期 | PE | PB | 股息率(%) |
+|:---|:---|:---|:---|:---|:---|
+| 688334.SH | 西高院 | 2023-06-19 | 26.83 | 2.15 | 0.00% |
+
+
+## 主要指标
+| 指标 | 2025Q3 | 2024A | 2023A | 2022A | 2021A | 2020A | 2019A |
+|:---|--:|--:|--:|--:|--:|--:|--:|
+| ROE | 6.91% | 8.23% | 5.39% | 7.04% | 4.74% | 9.54% | 18.05% |
+| ROA | 5.36% | 6.45% | 4.73% | 5.78% | 3.76% | 5.10% | 9.45% |
+| ROCE/ROIC | 7.86% | 8.18% | 4.71% | 6.85% | 5.53% | 11.12% | 20.30% |
+| 毛利率 | 55.09% | 52.72% | 47.67% | 48.18% | 39.31% | 43.95% | 43.85% |
+| 净利润率 | 30.34% | 28.64% | 26.97% | 25.01% | 18.24% | 18.89% | 23.76% |
+| 收入(亿) | 6.51 | 7.98 | 6.02 | 5.21 | 4.47 | 3.45 | 4.00 |
+| 收入增速 | 15.05% | 32.60% | 15.53% | 16.54% | 29.71% | -13.81% | - |
+| 净利润(亿) | 1.98 | 2.29 | 1.62 | 1.30 | 0.82 | 0.65 | 0.95 |
+| 净利润增速 | 21.28% | 40.84% | 24.56% | 59.83% | 25.24% | -31.46% | - |
+| 经营净现金流(亿) | 3.53 | 4.82 | 2.63 | 1.97 | 1.54 | 1.36 | 1.32 |
+| 资本开支(亿) | 0.98 | 1.43 | 0.75 | 0.79 | 0.59 | 0.69 | 0.48 |
+| 自由现金流(亿) | 2.55 | 3.39 | 1.88 | 1.18 | 0.95 | 0.66 | 0.83 |
+| 分红(亿) | - | 1.26 | 0.81 | - | - | - | - |
+| 回购(亿) | - | - | - | - | - | - | - |
+| 总资产(亿) | 36.81 | 35.48 | 34.36 | 22.55 | 21.72 | 12.78 | 10.06 |
+| 净资产(亿) | 28.58 | 27.78 | 30.14 | 18.51 | 17.19 | 6.82 | 5.26 |
+| 商誉(亿) | 0.24 | 0.24 | 0.24 | 0.24 | 0.26 | - | - |
+
+
+## 费用指标
+| 指标 | 2025Q3 | 2024A | 2023A | 2022A | 2021A | 2020A | 2019A |
+|:---|--:|--:|--:|--:|--:|--:|--:|
+| 销售费用率 | 1.87% | 2.37% | 2.35% | 2.27% | 1.59% | 1.99% | 1.64% |
+| 管理费用率 | 10.35% | 11.79% | 14.27% | 15.29% | 14.18% | 16.69% | 14.27% |
+| SG&A比例 | 12.22% | 14.15% | 16.63% | 17.55% | 15.77% | 18.67% | 15.91% |
+| 研发费用率 | 7.91% | 10.62% | 10.12% | 9.56% | 7.75% | 7.66% | 6.07% |
+| 其他费用率 | 4.62% | -0.70% | -6.04% | -3.94% | -2.44% | -1.28% | -1.88% |
+| 折旧费用占比 | - | 15.47% | 16.90% | 21.16% | 23.19% | 26.46% | 20.07% |
+| 所得税率 | 14.78% | 9.54% | 10.90% | 7.44% | 13.99% | 14.35% | 14.49% |
+
+
+## 资产占比
+| 指标 | 2025Q3 | 2024A | 2023A | 2022A | 2021A | 2020A | 2019A |
+|:---|--:|--:|--:|--:|--:|--:|--:|
+| 现金占比 | 26.03% | 29.72% | 25.14% | 12.70% | 20.97% | 14.62% | 22.31% |
+| 库存占比 | 1.52% | 1.46% | 1.57% | 3.51% | 3.43% | 7.21% | 6.39% |
+| 应收款占比 | 3.34% | 2.74% | 1.04% | 2.56% | 3.46% | 4.14% | 4.45% |
+| 预付款占比 | 0.29% | 0.19% | 0.14% | 0.94% | 0.47% | 0.49% | 0.35% |
+| 固定资产占比 | - | 30.55% | 24.03% | 38.67% | 42.10% | 57.06% | 56.15% |
+| 长期投资占比 | 0.91% | 0.94% | 0.96% | 1.49% | 1.66% | 3.27% | - |
+| 商誉占比 | 0.64% | 0.67% | 0.69% | 1.08% | 1.18% | - | - |
+| 其他资产占比 | 67.27% | 33.74% | 46.43% | 39.05% | 26.73% | 13.21% | 10.36% |
+| 应付款占比 | 2.00% | 3.51% | 1.12% | 1.97% | 1.82% | 2.90% | 7.02% |
+| 预收款占比 | 7.97% | 7.96% | 5.54% | 7.20% | 7.46% | 13.49% | 12.66% |
+| 短期借款占比 | 0.13% | 0.21% | 0.22% | 0.31% | 0.31% | 0.30% | 0.38% |
+| 长期借款占比 | 0.91% | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% |
+| 运营资产占比 | -4.82% | -7.08% | -3.91% | -2.17% | -1.92% | -4.55% | -8.49% |
+| 有息负债率 | 1.05% | 0.21% | 0.22% | 0.31% | 0.31% | 0.30% | 0.38% |
+
+
+## 周转能力
+| 指标 | 2025Q3 | 2024A | 2023A | 2022A | 2021A | 2020A | 2019A |
+|:---|--:|--:|--:|--:|--:|--:|--:|
+| 存货周转天数 | 69 | 50 | 62 | 107 | 100 | 174 | 104 |
+| 应收款周转天数 | 68 | 44 | 21 | 40 | 61 | 55 | 40 |
+| 应付款周转天数 | 92 | 120 | 44 | 60 | 53 | 70 | 114 |
+| 固定资产周转率 | - | 0.74 | 0.73 | 0.60 | 0.49 | 0.47 | 0.71 |
+| 总资产周转率 | 0.18 | 0.23 | 0.18 | 0.23 | 0.21 | 0.27 | 0.40 |
+
+
+## 人均效率
+| 指标 | 2025Q3 | 2024A | 2023A | 2022A | 2021A | 2020A | 2019A |
+|:---|--:|--:|--:|--:|--:|--:|--:|
+| 员工人数 | - | 700 | - | - | - | - | - |
+| 人均创收(万) | - | 114.05 | - | - | - | - | - |
+| 人均创利(万) | - | 32.67 | - | - | - | - | - |
+| 人均薪酬(万) | - | 31.98 | - | - | - | - | - |
+
+
+## 市场表现
+| 指标 | 2025Q3 | 2024A | 2023A | 2022A | 2021A | 2020A | 2019A |
+|:---|--:|--:|--:|--:|--:|--:|--:|
+| 股价 | 19.38 | 16.33 | 17.33 | - | - | - | - |
+| 市值(亿) | 61.35 | 51.70 | 54.86 | - | - | - | - |
+| PE | 26.83 | 31.84 | 42.09 | - | - | - | - |
+| PB | 2.15 | 1.88 | 1.84 | - | - | - | - |
+| 股东户数 | 11,192 | 12,364 | 15,965 | 7 | - | - | - |
+
diff --git a/data/HK/00631.HK/raw_balance_sheet_raw.csv b/legacy/data/HK/00631.HK/raw_balance_sheet_raw.csv
similarity index 100%
rename from data/HK/00631.HK/raw_balance_sheet_raw.csv
rename to legacy/data/HK/00631.HK/raw_balance_sheet_raw.csv
diff --git a/data/HK/00631.HK/raw_basic_info_raw.csv b/legacy/data/HK/00631.HK/raw_basic_info_raw.csv
similarity index 100%
rename from data/HK/00631.HK/raw_basic_info_raw.csv
rename to legacy/data/HK/00631.HK/raw_basic_info_raw.csv
diff --git a/data/HK/00631.HK/raw_cash_flow_raw.csv b/legacy/data/HK/00631.HK/raw_cash_flow_raw.csv
similarity index 100%
rename from data/HK/00631.HK/raw_cash_flow_raw.csv
rename to legacy/data/HK/00631.HK/raw_cash_flow_raw.csv
diff --git a/data/HK/00631.HK/raw_dividends_raw.csv b/legacy/data/HK/00631.HK/raw_dividends_raw.csv
similarity index 100%
rename from data/HK/00631.HK/raw_dividends_raw.csv
rename to legacy/data/HK/00631.HK/raw_dividends_raw.csv
diff --git a/data/HK/00631.HK/raw_employee_count_raw.csv b/legacy/data/HK/00631.HK/raw_employee_count_raw.csv
similarity index 100%
rename from data/HK/00631.HK/raw_employee_count_raw.csv
rename to legacy/data/HK/00631.HK/raw_employee_count_raw.csv
diff --git a/data/HK/00631.HK/raw_historical_metrics_raw.csv b/legacy/data/HK/00631.HK/raw_historical_metrics_raw.csv
similarity index 100%
rename from data/HK/00631.HK/raw_historical_metrics_raw.csv
rename to legacy/data/HK/00631.HK/raw_historical_metrics_raw.csv
diff --git a/data/HK/00631.HK/raw_income_statement_raw.csv b/legacy/data/HK/00631.HK/raw_income_statement_raw.csv
similarity index 100%
rename from data/HK/00631.HK/raw_income_statement_raw.csv
rename to legacy/data/HK/00631.HK/raw_income_statement_raw.csv
diff --git a/data/HK/00631.HK/report.html b/legacy/data/HK/00631.HK/report.html
similarity index 100%
rename from data/HK/00631.HK/report.html
rename to legacy/data/HK/00631.HK/report.html
diff --git a/data/HK/00631.HK/report.md b/legacy/data/HK/00631.HK/report.md
similarity index 100%
rename from data/HK/00631.HK/report.md
rename to legacy/data/HK/00631.HK/report.md
diff --git a/legacy/data/HK/00700.HK/raw_balance_sheet_raw.csv b/legacy/data/HK/00700.HK/raw_balance_sheet_raw.csv
new file mode 100644
index 0000000..3813865
--- /dev/null
+++ b/legacy/data/HK/00700.HK/raw_balance_sheet_raw.csv
@@ -0,0 +1,6 @@
+cash_equi_short_term_inve_oas,accou_and_notes_recei_oas,inventories_oas,ppe_net_oas,long_term_inv_and_receiv_oas,goodwill_and_intasset_oas,short_term_debt_oas,short_term_borrowings_oas,account_and_note_payable_oas,advance_from_cust_current_oas,defer_revenue_current_oas,long_term_debt_oas,long_term_borrowings_oas,total_assets_oas,equity_attri_to_companyowner_oas,prepaid_expenses_current_oas,end_date
+380444000000.0,51315000000.0,435000000.0,172648000000.0,706700000000.0,215832000000.0,63974000000.0,58577000000.0,143381000000.0,998000000.0,120908000000.0,335632000000.0,322304000000.0,2013310000000.0,1114639000000.0,26893000000.0,20250630
+343159000000.0,48203000000.0,440000000.0,133283000000.0,589410000000.0,196127000000.0,58485000000.0,48526000000.0,127335000000.0,1042000000.0,100097000000.0,291004000000.0,277107000000.0,1780995000000.0,973548000000.0,31265000000.0,20241231
+379155000000.0,46606000000.0,456000000.0,104458000000.0,460591000000.0,177727000000.0,47691000000.0,25561000000.0,115109000000.0,669000000.0,86168000000.0,309388000000.0,292920000000.0,1577246000000.0,808591000000.0,27824000000.0,20231231
+290756000000.0,45467000000.0,2333000000.0,103777000000.0,431451000000.0,161802000000.0,17934000000.0,5981000000.0,102827000000.0,816000000.0,82216000000.0,330761000000.0,312337000000.0,1578131000000.0,721391000000.0,24393000000.0,20221231
+264101000000.0,49331000000.0,1063000000.0,106033000000.0,467251000000.0,171376000000.0,24449000000.0,13540000000.0,109470000000.0,649000000.0,87846000000.0,299027000000.0,282526000000.0,1612364000000.0,806299000000.0,18714000000.0,20211231
diff --git a/legacy/data/HK/00700.HK/raw_basic_info_raw.csv b/legacy/data/HK/00700.HK/raw_basic_info_raw.csv
new file mode 100644
index 0000000..7667357
--- /dev/null
+++ b/legacy/data/HK/00700.HK/raw_basic_info_raw.csv
@@ -0,0 +1,2 @@
+corp_cn_name,accounting_date,ipo_date
+腾讯控股有限公司,1231,20040616
diff --git a/legacy/data/HK/00700.HK/raw_cash_flow_raw.csv b/legacy/data/HK/00700.HK/raw_cash_flow_raw.csv
new file mode 100644
index 0000000..7424856
--- /dev/null
+++ b/legacy/data/HK/00700.HK/raw_cash_flow_raw.csv
@@ -0,0 +1,6 @@
+net_cash_flows_from_oa_oas,purchase_of_ppe_and_ia_oas,dividends_paid_oas,end_date
+151265000000.0,57457000000.0,37535000000.0,20250630
+258521000000.0,96048000000.0,28859000000.0,20241231
+221962000000.0,47407000000.0,20983000000.0,20231231
+146091000000.0,50850000000.0,12952000000.0,20221231
+175186000000.0,62165000000.0,12503000000.0,20211231
diff --git a/legacy/data/HK/00700.HK/raw_dividends_raw.csv b/legacy/data/HK/00700.HK/raw_dividends_raw.csv
new file mode 100644
index 0000000..301dcd4
--- /dev/null
+++ b/legacy/data/HK/00700.HK/raw_dividends_raw.csv
@@ -0,0 +1,5 @@
+date_str,dividends
+20241231,38104168998.825
+20231231,29163521377.441
+20221231,20700985117.366
+20211231,13226708445.273
diff --git a/legacy/data/HK/00700.HK/raw_employee_count_raw.csv b/legacy/data/HK/00700.HK/raw_employee_count_raw.csv
new file mode 100644
index 0000000..5f8cbb4
--- /dev/null
+++ b/legacy/data/HK/00700.HK/raw_employee_count_raw.csv
@@ -0,0 +1,6 @@
+date_str,employee_count
+20251231,111221.0
+20241231,110558.0
+20231231,105417.0
+20221231,108436.0
+20211231,112771.0
diff --git a/legacy/data/HK/00700.HK/raw_historical_metrics_raw.csv b/legacy/data/HK/00700.HK/raw_historical_metrics_raw.csv
new file mode 100644
index 0000000..e9ade48
--- /dev/null
+++ b/legacy/data/HK/00700.HK/raw_historical_metrics_raw.csv
@@ -0,0 +1,6 @@
+date_str,PE,PB,MarketCap,Price
+20250630,0.0,0.0,4204320544234.2,467.83035
+20241231,0.0,0.0,3562280981362.7,388.01076
+20231231,0.0,0.0,2523103788380.7,266.066192
+20221231,0.0,0.0,2854854121108.1,298.35218
+20211231,0.0,0.0,3588534115921.0,362.52384
diff --git a/legacy/data/HK/00700.HK/raw_income_statement_raw.csv b/legacy/data/HK/00700.HK/raw_income_statement_raw.csv
new file mode 100644
index 0000000..6d2de0d
--- /dev/null
+++ b/legacy/data/HK/00700.HK/raw_income_statement_raw.csv
@@ -0,0 +1,6 @@
+revenue_oas,gross_profit_oas,sga_expenses_oas,selling_marketing_expenses_oas,ga_expenses_oas,income_tax_expense_oas,net_income_attri_to_common_sh_oas,operating_income_oas,end_date
+364526000000.0,205506000000.0,82861000000.0,17276000000.0,65585000000.0,25068000000.0,103449000000.0,117670000000.0,20250630
+660257000000.0,349246000000.0,149149000000.0,36388000000.0,112761000000.0,45018000000.0,194073000000.0,208099000000.0,20241231
+609015000000.0,293109000000.0,137736000000.0,34211000000.0,103525000000.0,43276000000.0,115216000000.0,160074000000.0,20231231
+554552000000.0,238746000000.0,135925000000.0,29229000000.0,106696000000.0,21516000000.0,188243000000.0,227114000000.0,20221231
+560118000000.0,245944000000.0,130441000000.0,40594000000.0,89847000000.0,20252000000.0,224822000000.0,264970000000.0,20211231
diff --git a/legacy/data/HK/00700.HK/raw_repurchases_raw.csv b/legacy/data/HK/00700.HK/raw_repurchases_raw.csv
new file mode 100644
index 0000000..9db0366
--- /dev/null
+++ b/legacy/data/HK/00700.HK/raw_repurchases_raw.csv
@@ -0,0 +1,6 @@
+date_str,repurchases
+20251231,76796598544.2
+20241231,112003383926.44
+20231231,49432707948.16
+20221231,33794068650.24
+20211231,2598776231.78
diff --git a/legacy/data/HK/00700.HK/report.html b/legacy/data/HK/00700.HK/report.html
new file mode 100644
index 0000000..4167fe1
--- /dev/null
+++ b/legacy/data/HK/00700.HK/report.html
@@ -0,0 +1,449 @@
+
+
+
+
+
+ 00700.HK Financial Report
+
+
+
+
+ 腾讯控股有限公司 (00700.HK) - Financial Report
+ Report generated on: 2025-12-21
+
+
+
+
+ | 代码 |
+ 简称 |
+ 上市日期 |
+ 年结日 |
+ 市值(亿) |
+ PE |
+ PB |
+ 股息率(%) |
+
+
+
+
+ | 00700.HK |
+ 腾讯控股有限公司 |
+ 2004-06-16 |
+ 1231 |
+ 42043.21 |
+ 20.32 |
+ 3.77 |
+ 0.89% |
+
+
+
+
+
+
+
+
+
+ | 指标 |
+ 2025H1 | 2024A | 2023A | 2022A | 2021A |
+
+
+
+ | 主要指标 | |
+| ROE | 9.28% | 19.93% | 14.25% | 26.09% | 27.88% |
+| ROA | 5.14% | 10.90% | 7.30% | 11.93% | 13.94% |
+| ROCE/ROIC | 6.21% | 12.62% | 10.79% | 16.36% | 18.58% |
+| 毛利率 | 56.38% | 52.90% | 48.13% | 43.05% | 43.91% |
+| 净利润率 | 28.38% | 29.39% | 18.92% | 33.95% | 40.14% |
+| 收入(亿) | 3,645.26 | 6,602.57 | 6,090.15 | 5,545.52 | 5,601.18 |
+| 收入增速 | - | 8.41% | 9.82% | -0.99% | - |
+| 净利润(亿) | 1,034.49 | 1,940.73 | 1,152.16 | 1,882.43 | 2,248.22 |
+| 净利润增速 | - | 68.44% | -38.79% | -16.27% | - |
+| 经营净现金流(亿) | 1,512.65 | 2,585.21 | 2,219.62 | 1,460.91 | 1,751.86 |
+| 资本开支(亿) | 574.57 | 960.48 | 474.07 | 508.50 | 621.65 |
+| 自由现金流(亿) | 938.08 | 1,624.73 | 1,745.55 | 952.41 | 1,130.21 |
+| 分红(亿) | 375.35 | 288.59 | 209.83 | 129.52 | 125.03 |
+| 回购(亿) | - | 1,120.03 | 494.33 | 337.94 | 25.99 |
+| 总资产(亿) | 20,133.10 | 17,809.95 | 15,772.46 | 15,781.31 | 16,123.64 |
+| 净资产(亿) | 11,146.39 | 9,735.48 | 8,085.91 | 7,213.91 | 8,062.99 |
+| 商誉(亿) | 2,158.32 | 1,961.27 | 1,777.27 | 1,618.02 | 1,713.76 |
+| 费用指标 | |
+| 销售费用率 | 4.74% | 5.51% | 5.62% | 5.27% | 7.25% |
+| 管理费用率 | 17.99% | 17.08% | 17.00% | 19.24% | 16.04% |
+| SG&A比例 | 22.73% | 22.59% | 22.62% | 24.51% | 23.29% |
+| 研发费用率 | - | - | - | - | - |
+| 其他费用率 | 5.27% | 0.91% | 6.59% | -15.40% | -19.52% |
+| 折旧费用占比 | - | - | - | - | - |
+| 所得税率 | 19.51% | 18.83% | 27.30% | 10.26% | 8.26% |
+| 资产占比 | |
+| 现金占比 | 18.90% | 19.27% | 24.04% | 18.42% | 16.38% |
+| 库存占比 | 0.02% | 0.02% | 0.03% | 0.15% | 0.07% |
+| 应收款占比 | 2.55% | 2.71% | 2.95% | 2.88% | 3.06% |
+| 预付款占比 | 1.34% | 1.76% | 1.76% | 1.55% | 1.16% |
+| 固定资产占比 | 8.58% | 7.48% | 6.62% | 6.58% | 6.58% |
+| 长期投资占比 | 35.10% | 33.09% | 29.20% | 27.34% | 28.98% |
+| 商誉占比 | 10.72% | 11.01% | 11.27% | 10.25% | 10.63% |
+| 其他资产占比 | 22.80% | 24.66% | 24.12% | 32.83% | 33.15% |
+| 应付款占比 | 7.12% | 7.15% | 7.30% | 6.52% | 6.79% |
+| 预收款占比 | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% |
+| 短期借款占比 | 6.09% | 6.01% | 4.64% | 1.52% | 2.36% |
+| 长期借款占比 | 32.68% | 31.90% | 38.19% | 40.75% | 36.07% |
+| 运营资产占比 | -3.22% | -2.66% | -2.55% | -1.94% | -2.50% |
+| 有息负债率 | 38.77% | 37.91% | 42.83% | 42.27% | 38.42% |
+| 周转能力 | |
+| 存货周转天数 | 0 | 0 | 0 | 2 | 1 |
+| 应收款周转天数 | 25 | 26 | 27 | 29 | 32 |
+| 应付款周转天数 | 164 | 149 | 132 | 118 | 127 |
+| 固定资产周转率 | 4.22 | 4.95 | 5.83 | 5.34 | 5.28 |
+| 总资产周转率 | 0.36 | 0.37 | 0.39 | 0.35 | 0.35 |
+| 人均效率 | |
+| 员工人数 | - | 110,558 | 105,417 | 108,436 | 112,771 |
+| 人均创收(万) | - | 597.20 | 577.72 | 511.41 | 496.69 |
+| 人均创利(万) | - | 175.54 | 109.30 | 173.60 | 199.36 |
+| 人均薪酬(万) | - | - | - | - | - |
+| 市场表现 | |
+| 股价 | 467.83 | 388.01 | 266.07 | 298.35 | 362.52 |
+| 市值(亿) | 42,043 | 35,623 | 25,231 | 28,549 | 35,885 |
+| PE | 20.32 | 18.36 | 21.90 | 15.17 | 15.96 |
+| PB | 3.77 | 3.66 | 3.12 | 3.96 | 4.45 |
+| 股东户数 | - | - | - | - | - |
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/legacy/data/HK/00700.HK/report.md b/legacy/data/HK/00700.HK/report.md
new file mode 100644
index 0000000..230ed78
--- /dev/null
+++ b/legacy/data/HK/00700.HK/report.md
@@ -0,0 +1,89 @@
+# 腾讯控股有限公司 (00700.HK) - Financial Report
+*Report generated on: 2025-12-21*
+
+| 代码 | 简称 | 上市日期 | 年结日 | 市值(亿) | PE | PB | 股息率(%) |
+|:---|:---|:---|:---|:---|:---|:---|:---|
+| 00700.HK | 腾讯控股有限公司 | 2004-06-16 | 1231 | 42043.21 | 20.32 | 3.77 | 0.89% |
+
+
+## 主要指标
+| 指标 | 2025H1 | 2024A | 2023A | 2022A | 2021A |
+|:---|--:|--:|--:|--:|--:|
+| ROE | 9.28% | 19.93% | 14.25% | 26.09% | 27.88% |
+| ROA | 5.14% | 10.90% | 7.30% | 11.93% | 13.94% |
+| ROCE/ROIC | 6.21% | 12.62% | 10.79% | 16.36% | 18.58% |
+| 毛利率 | 56.38% | 52.90% | 48.13% | 43.05% | 43.91% |
+| 净利润率 | 28.38% | 29.39% | 18.92% | 33.95% | 40.14% |
+| 收入(亿) | 3,645.26 | 6,602.57 | 6,090.15 | 5,545.52 | 5,601.18 |
+| 收入增速 | - | 8.41% | 9.82% | -0.99% | - |
+| 净利润(亿) | 1,034.49 | 1,940.73 | 1,152.16 | 1,882.43 | 2,248.22 |
+| 净利润增速 | - | 68.44% | -38.79% | -16.27% | - |
+| 经营净现金流(亿) | 1,512.65 | 2,585.21 | 2,219.62 | 1,460.91 | 1,751.86 |
+| 资本开支(亿) | 574.57 | 960.48 | 474.07 | 508.50 | 621.65 |
+| 自由现金流(亿) | 938.08 | 1,624.73 | 1,745.55 | 952.41 | 1,130.21 |
+| 分红(亿) | 375.35 | 288.59 | 209.83 | 129.52 | 125.03 |
+| 回购(亿) | - | 1,120.03 | 494.33 | 337.94 | 25.99 |
+| 总资产(亿) | 20,133.10 | 17,809.95 | 15,772.46 | 15,781.31 | 16,123.64 |
+| 净资产(亿) | 11,146.39 | 9,735.48 | 8,085.91 | 7,213.91 | 8,062.99 |
+| 商誉(亿) | 2,158.32 | 1,961.27 | 1,777.27 | 1,618.02 | 1,713.76 |
+
+
+## 费用指标
+| 指标 | 2025H1 | 2024A | 2023A | 2022A | 2021A |
+|:---|--:|--:|--:|--:|--:|
+| 销售费用率 | 4.74% | 5.51% | 5.62% | 5.27% | 7.25% |
+| 管理费用率 | 17.99% | 17.08% | 17.00% | 19.24% | 16.04% |
+| SG&A比例 | 22.73% | 22.59% | 22.62% | 24.51% | 23.29% |
+| 研发费用率 | - | - | - | - | - |
+| 其他费用率 | 5.27% | 0.91% | 6.59% | -15.40% | -19.52% |
+| 折旧费用占比 | - | - | - | - | - |
+| 所得税率 | 19.51% | 18.83% | 27.30% | 10.26% | 8.26% |
+
+
+## 资产占比
+| 指标 | 2025H1 | 2024A | 2023A | 2022A | 2021A |
+|:---|--:|--:|--:|--:|--:|
+| 现金占比 | 18.90% | 19.27% | 24.04% | 18.42% | 16.38% |
+| 库存占比 | 0.02% | 0.02% | 0.03% | 0.15% | 0.07% |
+| 应收款占比 | 2.55% | 2.71% | 2.95% | 2.88% | 3.06% |
+| 预付款占比 | 1.34% | 1.76% | 1.76% | 1.55% | 1.16% |
+| 固定资产占比 | 8.58% | 7.48% | 6.62% | 6.58% | 6.58% |
+| 长期投资占比 | 35.10% | 33.09% | 29.20% | 27.34% | 28.98% |
+| 商誉占比 | 10.72% | 11.01% | 11.27% | 10.25% | 10.63% |
+| 其他资产占比 | 22.80% | 24.66% | 24.12% | 32.83% | 33.15% |
+| 应付款占比 | 7.12% | 7.15% | 7.30% | 6.52% | 6.79% |
+| 预收款占比 | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% |
+| 短期借款占比 | 6.09% | 6.01% | 4.64% | 1.52% | 2.36% |
+| 长期借款占比 | 32.68% | 31.90% | 38.19% | 40.75% | 36.07% |
+| 运营资产占比 | -3.22% | -2.66% | -2.55% | -1.94% | -2.50% |
+| 有息负债率 | 38.77% | 37.91% | 42.83% | 42.27% | 38.42% |
+
+
+## 周转能力
+| 指标 | 2025H1 | 2024A | 2023A | 2022A | 2021A |
+|:---|--:|--:|--:|--:|--:|
+| 存货周转天数 | 0 | 0 | 0 | 2 | 1 |
+| 应收款周转天数 | 25 | 26 | 27 | 29 | 32 |
+| 应付款周转天数 | 164 | 149 | 132 | 118 | 127 |
+| 固定资产周转率 | 4.22 | 4.95 | 5.83 | 5.34 | 5.28 |
+| 总资产周转率 | 0.36 | 0.37 | 0.39 | 0.35 | 0.35 |
+
+
+## 人均效率
+| 指标 | 2025H1 | 2024A | 2023A | 2022A | 2021A |
+|:---|--:|--:|--:|--:|--:|
+| 员工人数 | - | 110,558 | 105,417 | 108,436 | 112,771 |
+| 人均创收(万) | - | 597.20 | 577.72 | 511.41 | 496.69 |
+| 人均创利(万) | - | 175.54 | 109.30 | 173.60 | 199.36 |
+| 人均薪酬(万) | - | - | - | - | - |
+
+
+## 市场表现
+| 指标 | 2025H1 | 2024A | 2023A | 2022A | 2021A |
+|:---|--:|--:|--:|--:|--:|
+| 股价 | 467.83 | 388.01 | 266.07 | 298.35 | 362.52 |
+| 市值(亿) | 42,043 | 35,623 | 25,231 | 28,549 | 35,885 |
+| PE | 20.32 | 18.36 | 21.90 | 15.17 | 15.96 |
+| PB | 3.77 | 3.66 | 3.12 | 3.96 | 4.45 |
+| 股东户数 | - | - | - | - | - |
+
diff --git a/data/HK/01651.HK/raw_balance_sheet_raw.csv b/legacy/data/HK/01651.HK/raw_balance_sheet_raw.csv
similarity index 100%
rename from data/HK/01651.HK/raw_balance_sheet_raw.csv
rename to legacy/data/HK/01651.HK/raw_balance_sheet_raw.csv
diff --git a/data/HK/01651.HK/raw_basic_info_raw.csv b/legacy/data/HK/01651.HK/raw_basic_info_raw.csv
similarity index 100%
rename from data/HK/01651.HK/raw_basic_info_raw.csv
rename to legacy/data/HK/01651.HK/raw_basic_info_raw.csv
diff --git a/data/HK/01651.HK/raw_cash_flow_raw.csv b/legacy/data/HK/01651.HK/raw_cash_flow_raw.csv
similarity index 100%
rename from data/HK/01651.HK/raw_cash_flow_raw.csv
rename to legacy/data/HK/01651.HK/raw_cash_flow_raw.csv
diff --git a/data/HK/01651.HK/raw_dividends_raw.csv b/legacy/data/HK/01651.HK/raw_dividends_raw.csv
similarity index 100%
rename from data/HK/01651.HK/raw_dividends_raw.csv
rename to legacy/data/HK/01651.HK/raw_dividends_raw.csv
diff --git a/data/HK/01651.HK/raw_employee_count_raw.csv b/legacy/data/HK/01651.HK/raw_employee_count_raw.csv
similarity index 100%
rename from data/HK/01651.HK/raw_employee_count_raw.csv
rename to legacy/data/HK/01651.HK/raw_employee_count_raw.csv
diff --git a/data/HK/01651.HK/raw_historical_metrics_raw.csv b/legacy/data/HK/01651.HK/raw_historical_metrics_raw.csv
similarity index 100%
rename from data/HK/01651.HK/raw_historical_metrics_raw.csv
rename to legacy/data/HK/01651.HK/raw_historical_metrics_raw.csv
diff --git a/data/HK/01651.HK/raw_income_statement_raw.csv b/legacy/data/HK/01651.HK/raw_income_statement_raw.csv
similarity index 100%
rename from data/HK/01651.HK/raw_income_statement_raw.csv
rename to legacy/data/HK/01651.HK/raw_income_statement_raw.csv
diff --git a/data/HK/01651.HK/raw_repurchases_raw.csv b/legacy/data/HK/01651.HK/raw_repurchases_raw.csv
similarity index 100%
rename from data/HK/01651.HK/raw_repurchases_raw.csv
rename to legacy/data/HK/01651.HK/raw_repurchases_raw.csv
diff --git a/data/HK/01651.HK/report.html b/legacy/data/HK/01651.HK/report.html
similarity index 100%
rename from data/HK/01651.HK/report.html
rename to legacy/data/HK/01651.HK/report.html
diff --git a/data/HK/01651.HK/report.md b/legacy/data/HK/01651.HK/report.md
similarity index 100%
rename from data/HK/01651.HK/report.md
rename to legacy/data/HK/01651.HK/report.md
diff --git a/data/HK/01772/raw_balance_sheet_raw.csv b/legacy/data/HK/01772/raw_balance_sheet_raw.csv
similarity index 100%
rename from data/HK/01772/raw_balance_sheet_raw.csv
rename to legacy/data/HK/01772/raw_balance_sheet_raw.csv
diff --git a/data/HK/01772/raw_basic_info_raw.csv b/legacy/data/HK/01772/raw_basic_info_raw.csv
similarity index 100%
rename from data/HK/01772/raw_basic_info_raw.csv
rename to legacy/data/HK/01772/raw_basic_info_raw.csv
diff --git a/data/HK/01772/raw_cash_flow_raw.csv b/legacy/data/HK/01772/raw_cash_flow_raw.csv
similarity index 100%
rename from data/HK/01772/raw_cash_flow_raw.csv
rename to legacy/data/HK/01772/raw_cash_flow_raw.csv
diff --git a/data/HK/01772/raw_dividends_raw.csv b/legacy/data/HK/01772/raw_dividends_raw.csv
similarity index 100%
rename from data/HK/01772/raw_dividends_raw.csv
rename to legacy/data/HK/01772/raw_dividends_raw.csv
diff --git a/data/HK/01772/raw_employee_count_raw.csv b/legacy/data/HK/01772/raw_employee_count_raw.csv
similarity index 100%
rename from data/HK/01772/raw_employee_count_raw.csv
rename to legacy/data/HK/01772/raw_employee_count_raw.csv
diff --git a/data/HK/01772/raw_historical_metrics_raw.csv b/legacy/data/HK/01772/raw_historical_metrics_raw.csv
similarity index 100%
rename from data/HK/01772/raw_historical_metrics_raw.csv
rename to legacy/data/HK/01772/raw_historical_metrics_raw.csv
diff --git a/data/HK/01772/raw_income_statement_raw.csv b/legacy/data/HK/01772/raw_income_statement_raw.csv
similarity index 100%
rename from data/HK/01772/raw_income_statement_raw.csv
rename to legacy/data/HK/01772/raw_income_statement_raw.csv
diff --git a/data/HK/01772/report.html b/legacy/data/HK/01772/report.html
similarity index 100%
rename from data/HK/01772/report.html
rename to legacy/data/HK/01772/report.html
diff --git a/data/HK/01772/report.md b/legacy/data/HK/01772/report.md
similarity index 100%
rename from data/HK/01772/report.md
rename to legacy/data/HK/01772/report.md
diff --git a/data/JP/2502/raw_balance_sheet_raw.csv b/legacy/data/JP/2502/raw_balance_sheet_raw.csv
similarity index 100%
rename from data/JP/2502/raw_balance_sheet_raw.csv
rename to legacy/data/JP/2502/raw_balance_sheet_raw.csv
diff --git a/data/JP/2502/raw_basic_info_raw.csv b/legacy/data/JP/2502/raw_basic_info_raw.csv
similarity index 100%
rename from data/JP/2502/raw_basic_info_raw.csv
rename to legacy/data/JP/2502/raw_basic_info_raw.csv
diff --git a/data/JP/2502/raw_cash_flow_raw.csv b/legacy/data/JP/2502/raw_cash_flow_raw.csv
similarity index 100%
rename from data/JP/2502/raw_cash_flow_raw.csv
rename to legacy/data/JP/2502/raw_cash_flow_raw.csv
diff --git a/data/JP/2502/raw_employee_count_raw.csv b/legacy/data/JP/2502/raw_employee_count_raw.csv
similarity index 100%
rename from data/JP/2502/raw_employee_count_raw.csv
rename to legacy/data/JP/2502/raw_employee_count_raw.csv
diff --git a/data/JP/2502/raw_historical_metrics_raw.csv b/legacy/data/JP/2502/raw_historical_metrics_raw.csv
similarity index 100%
rename from data/JP/2502/raw_historical_metrics_raw.csv
rename to legacy/data/JP/2502/raw_historical_metrics_raw.csv
diff --git a/data/JP/2502/raw_income_statement_raw.csv b/legacy/data/JP/2502/raw_income_statement_raw.csv
similarity index 100%
rename from data/JP/2502/raw_income_statement_raw.csv
rename to legacy/data/JP/2502/raw_income_statement_raw.csv
diff --git a/data/JP/2502/report.html b/legacy/data/JP/2502/report.html
similarity index 100%
rename from data/JP/2502/report.html
rename to legacy/data/JP/2502/report.html
diff --git a/data/JP/2502/report.md b/legacy/data/JP/2502/report.md
similarity index 100%
rename from data/JP/2502/report.md
rename to legacy/data/JP/2502/report.md
diff --git a/legacy/data/JP/2503/raw_balance_sheet_raw.csv b/legacy/data/JP/2503/raw_balance_sheet_raw.csv
new file mode 100644
index 0000000..1b01da9
--- /dev/null
+++ b/legacy/data/JP/2503/raw_balance_sheet_raw.csv
@@ -0,0 +1,6 @@
+cash_equi_short_term_inve_oas,accou_and_notes_recei_oas,inventories_oas,ppe_net_oas,long_term_inv_and_receiv_oas,goodwill_and_intasset_oas,short_term_debt_oas,short_term_borrowings_oas,account_and_note_payable_oas,contra_liabilities_current_oas,advance_from_cust_current_oas,defer_revenue_current_oas,long_term_debt_oas,long_term_borrowings_oas,total_assets_oas,equity_attri_to_companyowner_oas,prepaid_expenses_current_oas,end_date
+,,,,,,,,,,,,,,,,,20261231
+,,,,,,,,,,,,,,,,,20251231
+5899320980.35,22326249202.25,16650772821.2,31263474425.4,4794152048.0,53852622755.049995,3617228537.3,3617228537.3,7518553255.849999,,,,36159437268.15,36159437268.15,155576124604.95,54802733151.25,,20241231
+7070829794.070001,21350738934.77,16675747687.67,29873189030.72,5307593791.54,34970889368.92,5072156415.77,5072156415.77,6915651724.870001,,,,27998809255.25,27998809255.25,144576837566.65,57062250906.689995,,20231231
+5046190177.88,20369212787.27,15183728587.93,29336618624.86,5409547685.4,25662437929.58,5989276634.969999,5989276634.969999,6303080634.48,,,,21383987001.46,21383987001.46,133028563816.29,51281444590.26,,20221231
diff --git a/legacy/data/JP/2503/raw_basic_info_raw.csv b/legacy/data/JP/2503/raw_basic_info_raw.csv
new file mode 100644
index 0000000..4296d9d
--- /dev/null
+++ b/legacy/data/JP/2503/raw_basic_info_raw.csv
@@ -0,0 +1,2 @@
+corp_cn_name,accounting_date,ipo_date
+麒麟控股株式会社,1231,19490516
diff --git a/legacy/data/JP/2503/raw_cash_flow_raw.csv b/legacy/data/JP/2503/raw_cash_flow_raw.csv
new file mode 100644
index 0000000..50a38cd
--- /dev/null
+++ b/legacy/data/JP/2503/raw_cash_flow_raw.csv
@@ -0,0 +1,6 @@
+net_cash_flows_from_oa_oas,purchase_of_ppe_and_ia_oas,dividends_paid_oas,end_date
+,,,20261231
+,,,20251231
+11263845394.2,8376036701.2,2704873943.8,20241231
+10238024262.94,5734031186.9,2896993175.0,20231231
+7093529728.46,5153093891.57,2814032263.74,20221231
diff --git a/legacy/data/JP/2503/raw_employee_count_raw.csv b/legacy/data/JP/2503/raw_employee_count_raw.csv
new file mode 100644
index 0000000..53089d3
--- /dev/null
+++ b/legacy/data/JP/2503/raw_employee_count_raw.csv
@@ -0,0 +1,6 @@
+date_str,employee_count
+20261231,31934.0
+20251231,31934.0
+20241231,31934.0
+20231231,30538.0
+20221231,29515.0
diff --git a/legacy/data/JP/2503/raw_historical_metrics_raw.csv b/legacy/data/JP/2503/raw_historical_metrics_raw.csv
new file mode 100644
index 0000000..e0d9f6f
--- /dev/null
+++ b/legacy/data/JP/2503/raw_historical_metrics_raw.csv
@@ -0,0 +1,6 @@
+date_str,PE,PB,MarketCap,Price
+20261231,0.0,0.0,95997084050.16,105.02963244
+20251231,0.0,0.0,95997084050.16,105.02963244
+20241231,0.0,0.0,86865526677.3,95.03886945
+20231231,0.0,0.0,95138465046.76,104.09022434
+20221231,0.0,0.0,96179539188.82,105.22925513
diff --git a/legacy/data/JP/2503/raw_income_statement_raw.csv b/legacy/data/JP/2503/raw_income_statement_raw.csv
new file mode 100644
index 0000000..4369106
--- /dev/null
+++ b/legacy/data/JP/2503/raw_income_statement_raw.csv
@@ -0,0 +1,6 @@
+revenue_oas,gross_profit_oas,sga_expenses_oas,selling_marketing_expenses_oas,ga_expenses_oas,rd_expenses_oas,income_tax_expense_oas,net_income_attri_to_common_sh_oas,operating_income_oas,end_date
+,,,,,,,,,20261231
+,,,,,,,,,20251231
+108461428374.25,49442244062.75,34274708414.449997,7858262714.049999,,5382196355.9,2500510225.5,2700142872.7,5813651487.0,20241231
+107536033978.57,48541816110.34,34112774799.24,8351653454.849999,,4277221488.55,2348378241.39,5677955475.53,7572185952.06,20231231
+104102553826.44,47393090179.79,33504032019.72,8687928238.56,,3886365990.93,2491542010.45,5808644417.809999,6070906489.7699995,20221231
diff --git a/data/JP/2503/report.html b/legacy/data/JP/2503/report.html
similarity index 100%
rename from data/JP/2503/report.html
rename to legacy/data/JP/2503/report.html
diff --git a/data/JP/2503/report.md b/legacy/data/JP/2503/report.md
similarity index 100%
rename from data/JP/2503/report.md
rename to legacy/data/JP/2503/report.md
diff --git a/data/JP/7203/raw_balance_sheet_raw.csv b/legacy/data/JP/7203/raw_balance_sheet_raw.csv
similarity index 100%
rename from data/JP/7203/raw_balance_sheet_raw.csv
rename to legacy/data/JP/7203/raw_balance_sheet_raw.csv
diff --git a/data/JP/7203/raw_basic_info_raw.csv b/legacy/data/JP/7203/raw_basic_info_raw.csv
similarity index 100%
rename from data/JP/7203/raw_basic_info_raw.csv
rename to legacy/data/JP/7203/raw_basic_info_raw.csv
diff --git a/data/JP/7203/raw_cash_flow_raw.csv b/legacy/data/JP/7203/raw_cash_flow_raw.csv
similarity index 100%
rename from data/JP/7203/raw_cash_flow_raw.csv
rename to legacy/data/JP/7203/raw_cash_flow_raw.csv
diff --git a/data/JP/7203/raw_employee_count_raw.csv b/legacy/data/JP/7203/raw_employee_count_raw.csv
similarity index 100%
rename from data/JP/7203/raw_employee_count_raw.csv
rename to legacy/data/JP/7203/raw_employee_count_raw.csv
diff --git a/data/JP/7203/raw_historical_metrics_raw.csv b/legacy/data/JP/7203/raw_historical_metrics_raw.csv
similarity index 100%
rename from data/JP/7203/raw_historical_metrics_raw.csv
rename to legacy/data/JP/7203/raw_historical_metrics_raw.csv
diff --git a/data/JP/7203/raw_income_statement_raw.csv b/legacy/data/JP/7203/raw_income_statement_raw.csv
similarity index 100%
rename from data/JP/7203/raw_income_statement_raw.csv
rename to legacy/data/JP/7203/raw_income_statement_raw.csv
diff --git a/data/JP/7203/report.html b/legacy/data/JP/7203/report.html
similarity index 100%
rename from data/JP/7203/report.html
rename to legacy/data/JP/7203/report.html
diff --git a/data/JP/7203/report.md b/legacy/data/JP/7203/report.md
similarity index 100%
rename from data/JP/7203/report.md
rename to legacy/data/JP/7203/report.md
diff --git a/data/US/AAPL/balance_sheet.csv b/legacy/data/US/AAPL/balance_sheet.csv
similarity index 100%
rename from data/US/AAPL/balance_sheet.csv
rename to legacy/data/US/AAPL/balance_sheet.csv
diff --git a/data/US/AAPL/cash_flow.csv b/legacy/data/US/AAPL/cash_flow.csv
similarity index 100%
rename from data/US/AAPL/cash_flow.csv
rename to legacy/data/US/AAPL/cash_flow.csv
diff --git a/data/US/AAPL/income_statement.csv b/legacy/data/US/AAPL/income_statement.csv
similarity index 100%
rename from data/US/AAPL/income_statement.csv
rename to legacy/data/US/AAPL/income_statement.csv
diff --git a/data/US/AAPL/raw_balance_sheet_annual.csv b/legacy/data/US/AAPL/raw_balance_sheet_annual.csv
similarity index 100%
rename from data/US/AAPL/raw_balance_sheet_annual.csv
rename to legacy/data/US/AAPL/raw_balance_sheet_annual.csv
diff --git a/data/US/AAPL/raw_cash_flow_annual.csv b/legacy/data/US/AAPL/raw_cash_flow_annual.csv
similarity index 100%
rename from data/US/AAPL/raw_cash_flow_annual.csv
rename to legacy/data/US/AAPL/raw_cash_flow_annual.csv
diff --git a/data/US/AAPL/raw_income_statement_annual.csv b/legacy/data/US/AAPL/raw_income_statement_annual.csv
similarity index 100%
rename from data/US/AAPL/raw_income_statement_annual.csv
rename to legacy/data/US/AAPL/raw_income_statement_annual.csv
diff --git a/data/US/AAPL/raw_market_metrics_global_quote.csv b/legacy/data/US/AAPL/raw_market_metrics_global_quote.csv
similarity index 100%
rename from data/US/AAPL/raw_market_metrics_global_quote.csv
rename to legacy/data/US/AAPL/raw_market_metrics_global_quote.csv
diff --git a/data/US/AAPL/raw_market_metrics_overview.csv b/legacy/data/US/AAPL/raw_market_metrics_overview.csv
similarity index 100%
rename from data/US/AAPL/raw_market_metrics_overview.csv
rename to legacy/data/US/AAPL/raw_market_metrics_overview.csv
diff --git a/data/US/AAPL/report.html b/legacy/data/US/AAPL/report.html
similarity index 100%
rename from data/US/AAPL/report.html
rename to legacy/data/US/AAPL/report.html
diff --git a/data/US/AAPL/report.md b/legacy/data/US/AAPL/report.md
similarity index 100%
rename from data/US/AAPL/report.md
rename to legacy/data/US/AAPL/report.md
diff --git a/data/US/DQ/balance_sheet.csv b/legacy/data/US/DQ/balance_sheet.csv
similarity index 100%
rename from data/US/DQ/balance_sheet.csv
rename to legacy/data/US/DQ/balance_sheet.csv
diff --git a/data/US/DQ/cash_flow.csv b/legacy/data/US/DQ/cash_flow.csv
similarity index 100%
rename from data/US/DQ/cash_flow.csv
rename to legacy/data/US/DQ/cash_flow.csv
diff --git a/data/US/DQ/income_statement.csv b/legacy/data/US/DQ/income_statement.csv
similarity index 100%
rename from data/US/DQ/income_statement.csv
rename to legacy/data/US/DQ/income_statement.csv
diff --git a/data/US/DQ/raw_balance_sheet_annual.csv b/legacy/data/US/DQ/raw_balance_sheet_annual.csv
similarity index 100%
rename from data/US/DQ/raw_balance_sheet_annual.csv
rename to legacy/data/US/DQ/raw_balance_sheet_annual.csv
diff --git a/data/US/DQ/raw_cash_flow_annual.csv b/legacy/data/US/DQ/raw_cash_flow_annual.csv
similarity index 100%
rename from data/US/DQ/raw_cash_flow_annual.csv
rename to legacy/data/US/DQ/raw_cash_flow_annual.csv
diff --git a/data/US/DQ/raw_income_statement_annual.csv b/legacy/data/US/DQ/raw_income_statement_annual.csv
similarity index 100%
rename from data/US/DQ/raw_income_statement_annual.csv
rename to legacy/data/US/DQ/raw_income_statement_annual.csv
diff --git a/data/US/DQ/raw_market_metrics_overview.csv b/legacy/data/US/DQ/raw_market_metrics_overview.csv
similarity index 100%
rename from data/US/DQ/raw_market_metrics_overview.csv
rename to legacy/data/US/DQ/raw_market_metrics_overview.csv
diff --git a/data/US/DQ/report.html b/legacy/data/US/DQ/report.html
similarity index 100%
rename from data/US/DQ/report.html
rename to legacy/data/US/DQ/report.html
diff --git a/data/US/DQ/report.md b/legacy/data/US/DQ/report.md
similarity index 100%
rename from data/US/DQ/report.md
rename to legacy/data/US/DQ/report.md
diff --git a/stock_analysis.py b/legacy/stock_analysis.py
similarity index 100%
rename from stock_analysis.py
rename to legacy/stock_analysis.py
diff --git a/szse_scraper.py b/legacy/szse_scraper.py
similarity index 100%
rename from szse_scraper.py
rename to legacy/szse_scraper.py
diff --git a/start_app.sh b/start_app.sh
new file mode 100755
index 0000000..5df6b2a
--- /dev/null
+++ b/start_app.sh
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+# Function to kill background processes on exit
+cleanup() {
+ echo "Stopping servers..."
+ kill $(jobs -p)
+ exit
+}
+
+trap cleanup SIGINT SIGTERM
+
+echo "Starting Stock Analysis Web App..."
+
+# 1. Start Backend
+echo "Starting Backend (Port 8000)..."
+if [ -d ".venv" ]; then
+ source .venv/bin/activate
+fi
+
+# Ensure PYTHONPATH includes current directory so app.main works
+export PYTHONPATH=$PYTHONPATH:$(pwd)/backend
+
+# Run uvicorn in background using .venv's Python
+.venv/bin/python -m uvicorn backend.app.main:app --reload --port 8000 &
+BACKEND_PID=$!
+
+# Wait a moment for backend to initialize
+sleep 2
+
+# 2. Start Frontend
+echo "Starting Frontend (Port 3000)..."
+cd frontend
+npm run dev &
+FRONTEND_PID=$!
+
+echo "App is running!"
+echo "Backend: http://localhost:8000/docs"
+echo "Frontend: http://localhost:3000"
+echo "Press Ctrl+C to stop both servers."
+
+# Wait for both processes
+wait $BACKEND_PID $FRONTEND_PID
diff --git a/stock_analysis.db b/stock_analysis.db
new file mode 100644
index 0000000..1010295
Binary files /dev/null and b/stock_analysis.db differ
|