---
name: ecm-qc-shareholders-meeting-witness
description: 股东会见证意见（见证法律意见书）的内核审查 Skill。当用户上传一份股东会法律见证意见书/见证意见/股东大会法律意见书，要求内核、内核审查、内核复核、质检、审阅、出修订意见、出批注意见、挑错、review、check，或提到"内核意见""见证意见内核""股东会见证内核"等时触发。Skill 按四级工作流对见证意见进行全面审查：(1) 自动从巨潮资讯网（通过 AKShare / cninfo 公开 API，无需密钥）拉取该公司对应届次的"股东会通知"和"董事会决议公告"两份参考文件，拉不到则提示用户上传，都没有则跳过交叉比对；(2) 在获得参考文件的情况下，对见证意见与通知/决议做逐字段事实性交叉核对（日期/时间/届次/地点/股权登记日/议案清单/特别决议标注/关联回避/中小投资者单独计票/董事会届次等 12 项核心字段）；(3) **三种特殊表决方式专项校验**——基于《公司法》第 116 条 / 第 119 条、《上市公司股东会规则》（2025 年修订）第 32 条第 2 款（单独计票）、第 33 条（累积投票）、第 46 条（特殊回购）等，对每条议案打"特别决议 / 累积投票 / 中小投资者单独计票"三个标签，再与通知标注、见证意见表述、表决结果格式四者做强校验（识别 → 核对 → 处理三步法 + 矩阵 X/Y/Z，详见 references/voting-rules.md）；(4) 基于公开规则对文件进行形式审查和实质审查。注意监事会经新《公司法》及证监会过渡期安排后原则上已由审计委员会替代，但个别公司可能尚未完成撤销，见证意见中残留"监事"字样以【核实】提示项目组结合公司实际治理结构核实、不径行必改。最终输出一份带"内核"作者修订痕迹（Track Changes）和批注（Comments）的 Word 文档。批注按律师风格精简（每条 ≤ 3 句），须过"可读性闸 + 相关性闸"——只批看得懂、影响见证结论的真问题，宁可少批一条边缘问题、不可错批一条规范写法（如董事"出席"/高管"列席"、字号格式、单候选人累积投票等均不属问题），禁止"已核查无问题"类总结性批注。即使用户只是说"帮我看下这份见证意见有没有问题"或"这份股东会法律意见书能过内核吗"，也应触发本 Skill。
version: 0.3.0
license: MIT
module: ecm-qc
user_role: 内核 / QC 团队
phase:
  - 持续督导阶段
category:
  - 文书审核
depends_on:
  external_skills:
    - docx
---

# 股东大会见证意见内核审查 Skill

## 用途与依据

面向中国 A 股上市公司/新三板挂牌公司股东（大）会法律见证业务，扮演"内核小组"
角色，对项目组提交的《法律意见书》（见证意见）进行交叉比对 + 形式 + 实质 +
常见错误审查，产出一份带"内核"作者修订痕迹和批注的 Word 文档。

依据公开规则体系：《公司法》（2024 年修订）、《上市公司股东会规则》（2025 年
修订，原《股东大会规则》）、《律师事务所从事证券法律业务管理办法》（证监会
2019 年第 223 号令）、《律师事务所从事证券法律业务执业规则》（全国律协）、
《编报规则第 12 号》，及行业通用起草指引模板。

## 配置项

**修订者名称（Reviewer Name）**：所有 tracked change 和 comment 的 `w:author`
默认写为 **`内核`**。用户在对话中明确指定其他名称（`质控`、`合规`、`DC` 等）
时全程采用。本文档所有 `w:author="内核"`、`--author "内核"` 均按此理解。

## 免责声明

本 skill 是见证业务的**辅助工具**，产出不构成法律意见，不替代签字律师判断。
完整声明见 [DISCLAIMER.md](../../DISCLAIMER.md)。监管规则版本以 skill 编写时
公开施行者为准；参考文件来自巨潮资讯网等公开平台，准确性以披露源头为准。

## 资深律师执行标准

执行本 skill 时，必须同时遵循 [senior-lawyer-execution-standards.md](../../shared/templates/senior-lawyer-execution-standards.md)。
任何输出不得突破四条底线：事实可追溯、法源可核验、风险可分级、建议可落地；
无法核验时必须显式标注。

---

## 硬规则清单（唯一定义处）

以下规则全 skill 只在此定义一次；执行细节、判定矩阵、案例见所指 reference。

1. **公告底稿优先**：见证意见必须与会议通知、董事会决议、表决结果公告和网络
   投票数据交叉核对 → `cross-check-matrix.md`
2. **见证边界**：只对召集召开程序、出席资格、表决程序和表决结果发表见证意见，
   不对议案商业合理性背书。
3. **逐字精确比对**：地点/议案名称/日期等关键字段逐字比对——多字、少字、
   空格、标点、全/半角差异都要批 → `cross-check-matrix.md` 原则 1
4. **三方任一不一致即批注**：见证意见 vs 通知 vs 决议公告任一方错都要批；
   见证意见对、其他公告错的写【核实】不改正文 → `cross-check-matrix.md` 原则 2
5. **三种特殊表决方式三标签强校验**：每条议案打"特别决议/累积投票/中小投资者
   单独计票"三个标签，与通知标注、见证表述、表决格式逐项对照；通知未标但议案
   性质应当属于的用【核实】，不在正文改判 → `voting-rules.md`
6. **表决结果复算**：特别决议同意比例 ≥ 2/3；累积投票仅列同意票；单独计票
   分母为出席中小投资者所持有效表决权；关联回避表决基数剔除回避股份。
7. **监事会撤销（软处理）**：新《公司法》及证监会过渡期安排后上市公司监事会
   原则上已由审计委员会替代，见证意见一般不再出现"监事/监事会"。但**个别
   公司可能尚未完成撤销**，残留"监事"**以【核实】提示项目组结合公司实际治理
   结构核实**、如已撤销再删除，**不径行【必改】、不写"已修订"定论** →
   `voting-rules.md` §四
8. **总议案 vs 子议案**：拆子议案逐项表决时只列子议案是行业通行做法，不批；
   仅通知提案编码表把总议案单独编码并标"作为投票对象的子议案数（N）"时才
   【核实】 → `voting-rules.md` §六
9. **模板锚点保护**：写"建议删除/与下文重复/合并"类批注前，必须先对照
   `anti-misjudgment.md` §锚点速查表；属于行业模板固定章节的不批（典型：网络
   投票"程序段"vs"数字段"并存是通行结构）。
10. **编号类批注前必跑脚本**：任何章节/议案/列表编号疑问，先跑
    `render_paragraphs.py` 核对渲染后编号；渲染连贯不批，跳号/错位才【必改】
    → `anti-misjudgment.md` §编号识别
11. **视觉/Logo 校验**：金杜律所文件不应含 "Mallesons" 字样（已启用独立 VI，
    **批注不写具体分家年份**），跑 `extract_images.py` 提取图片逐张读图 →
    `checklists.md` §视觉校验
12. **规范用语**："中国台湾省"（非"台湾/中国台湾地区"）；法律适用范围应明确
    **不包括**港澳台 → `checklists.md` §规范用语
13. **模板残留新形态（F7）**："具体时间以董事会发出的会议通知为准"——对照
    董事会决议公告：同次会议已定股东会日期 → 冗余必改；多次会议分别决定 → 保留。
14. **A+H 三会合并**：涉及 A+H 双重上市公司的，按 `cross-check-matrix.md`
    §A+H 专项处理（H 股纯现场、时间滞后、披露日早一天等）。
15. **高风险触发器（列必改）**：通知期限不足、议案临时新增不合规、回避错误、
    票数无法支持结论、特别决议未达 2/3 却结论"通过"、累积投票出现反对/弃权、
    单独计票漏列、强制累积投票未启用（**一次选举董事 ≥ 2 名为前提**，且选举
    独董 ≥ 2 名 / 控股股东持股 ≥ 30%；**只选 1 名董事不触发**）、Mallesons
    字样残留。
16. **不臆断年份与外部事实**：涉及法规修订年份、律所品牌变更年份、机构沿革等
    **外部事实，一律不在批注中写具体年份**（标错反生新错）；也**不建议项目组
    给法规补注修订年份**，体例不一至多【建议】"统一为不标注年份、以现行有效
    版本为准" → `checklists.md` §三、`anti-misjudgment.md` 第三部分§三
17. **误判防控——下列默认不批**：①董事/董秘"出席"、高管"列席"是规范区分，
    非"口径不一"；②字号/字体/排版一致性文本不可靠判定，禁出此类批注（尤禁
    【必改】）；③只选 1 名董事的累积投票；④"中小投资者"等定义的细微措辞差异
    （除非实际改变计票结果）；⑤会议通知/会议记录/会议决议须精确区分，底稿
    内部无实质影响的细节（发出日差一两天、扫描件内部序号笔误）默认不批 →
    `anti-misjudgment.md` 第三部分（写任何"不一致/应统一"类批注前必查）
18. **名称与名单的精确比对**：见证引用的公告/通知/决议**标题**逐字核对 cninfo
    实际披露 `title`（"延期/更正/补充/（延期后）"易错）；从通知摘录回避名单等
    **名单**时完整保留"等""及其一致行动人"等限定词，开放式不得转写成封闭具名
    清单 → `cross-check-matrix.md` 原则 1 场景 D/E
19. **批注两道闸（每条批注必过）**：① 可读性——没看过原文的资深律师能否一眼
    看懂"问题是什么、改成什么"？做不到就重写，点明确切差异、引用原文、给可
    执行改法，禁"口径不一致/体例不统一"空话；② 相关性——是否影响召集召开/
    出席资格/表决程序/表决结果的判断？纯底稿细节、排版美观、与结论无关的小
    瑕疵不批。**宁可少批一条边缘问题，不可错批一条规范写法** →
    `anti-misjudgment.md` 第三部分§五

---

## 输出格式契约（硬性要求，不得偏离）

### 1. 修订者 = "内核"

所有 `<w:ins>` / `<w:del>` / `<w:comment>` 的 `w:author` **必须**统一为 `内核`
（覆盖 docx skill 默认的 "Claude"）。`comment.py` 必须加 `--author "内核"`；
直接编辑 document.xml 必须写 `w:author="内核"`。

### 2. 修订模式开启 + 最小显示改动原则

只标记真正变动的字符，不要"整段删除 + 整段重写"。

正确（"我爱你" → "我恨你"）：

```xml
<w:r><w:t>我</w:t></w:r>
<w:del w:author="内核" w:date="..."><w:r><w:delText>爱</w:delText></w:r></w:del>
<w:ins w:author="内核" w:date="..."><w:r><w:t>恨</w:t></w:r></w:ins>
<w:r><w:t>你</w:t></w:r>
```

错误：把"我爱你"整串 del、"我恨你"整串 ins。

高频场景："2024 年"→"2025 年"只改"4"→"5"；"第一次临时"→"第二次临时"只改
"一"→"二"；"9:30"→"14:30"只改"9"→"14"；删一句模板话只删该句。

### 3. 解释文字只进批注，不进正文

正文禁止任何解释性/说明性文字。疑问、底稿要求、核查提醒、法规依据、建议
全部走 `<w:comment>`。批注分类前缀必加：

- **【必改】** 硬性错误（事实错、法规错、模板残留、基础信息错）
- **【核实】** 需与公司/项目组确认再定的问题
- **【建议】** 措辞优化、行文一致性、体例统一
- **【底稿】** 需落实底稿或更新查验计划的事项

### 4. 批注精简且只针对问题（律师风格）

- **每条 ≤ 3 句**：先指问题，再给改法或法规依据。
- **可读性闸**：没看过原文的资深律师须能一眼看懂"问题是什么、改成什么"——
  点明确切差异内容、引用原文字句、给可执行改法；**禁"口径不一致""体例不
  统一""请确保一致"这类空话**（看不懂的批注等于没批，还消耗信任）。
- **相关性闸**：只批影响召集召开/出席资格/表决程序/表决结果判断的问题；纯
  底稿细节、排版美观、定义措辞、与结论无关的内部小瑕疵**不批**（噪音淹没硬伤）。
- **禁止"已核查无问题"类总批**：专项校验全部通过的不留任何痕迹直接进下一步。
- **禁止绕弯子开头**（"本批注涉及……""经审查发现……"一律删除，直接说问题）。
- **同类问题合并**：多个议案同犯一错，在最具代表性位置写一条，列明涉及议案号。
- **宁缺毋滥**：宁可少批一条边缘问题，不可错批一条规范写法（误判比漏判更
  损害内核可信度）→ 写"不一致/应统一/应删除"类批注前必查 `anti-misjudgment.md`
  第三部分。

**例外——常规模板话术必批项**（不是"已核查"，是律所底稿留痕的硬性要求，
每份见证意见都应批，话术见 `comment-templates.md` §1-§5 对应条目）：

- 声明保证段 → 【底稿】落实书面承诺或董办/证券部邮件确认
- 出席资格段 → 【核实】会后按实际出席情况复核
- 表决程序段 → 【核实】届时关注实际计票/监票情况
- 签字律师/单位负责人段 → 【核实】与律所质控系统填写的见证律师核对

审查时必须系统过一遍 `comment-templates.md`——常规话术该批必批。

### 5. 批注前防误判

执行硬规则 9（模板锚点）、10（编号核对）、17（措辞/格式/相关性类误判），
详见 `anti-misjudgment.md` 三个部分。`anti-misjudgment.md` 第三部分（出席/
列席、字号格式、定义措辞、低价值点、可读性/相关性两道闸）是本轮基于专业内核
反馈新增的"减少过度挑错"核心，写任何"不一致/应统一/应删除"批注前必查。

---

## 工作流（五步）

### Step 1 — 定位和预读入文件

```bash
ls /mnt/user-data/uploads/
extract-text /mnt/user-data/uploads/xxx.docx > /tmp/review-input.md
```

`.doc` 先用 `scripts/office/soffice.py --headless --convert-to docx` 转换；
已有修订痕迹用 `pandoc --track-changes=all` 查看。

通读全文形成整体理解（哪家公司、哪次会议、什么议案、有无特别决议/关联
交易/累积投票/独董选举），**并提取三个信息供 Step 1.5 使用**：

- **股票代码**（6 位数字，开头"致 ××××"或签字页公司全称附近）
- **板块**（沪 6 / 深 0、3 / 北交所 4、8 → `市场=沪深京`；新三板 → `市场=三板`）
- **股东大会召开日期**（YYYYMMDD）

代码识别不出时用 web_search 以"公司全称 股票代码"检索；再不行直接走
Step 1.5 Level 2。

### Step 1.5 — 拉取并解析参考文件（三级降级）

目的：拿到**股东大会通知**和**董事会决议公告**两份事实核对底稿。行业最高频
错误是"日期/时间/届次与通知不一致"（`common-errors.md` A 类），没有参考文件
审不出来。

#### Level 1 — 自动拉取

```bash
python /path/to/skill/scripts/fetch_cninfo_announcements.py \
    --stock-code <股票代码> \
    --meeting-date <YYYYMMDD> \
    --market <沪深京|三板> \
    --output-dir /home/claude/refs
```

（首次运行前 `pip install requests pypdf --break-system-packages`）

返回 JSON：`shareholders_notice` / `board_resolution`（元数据 + PDF 路径 +
`text_path`）、`*_candidates`（候选列表）、`errors`。退出码：0 = 两份都拿到
→ 读两份 .txt 进入 Step 2；1 = 只拿到一份 → 缺的走 Level 2；2 = 都没拿到
→ 走 Level 2。

**自动挑选校验**：脚本按启发式挑"最像的那份"，可能挑错（如同日多份董事会
决议公告）。对照见证意见里的董事会/股东会届次确认；不对则从候选列表的
`pdf_url` 手动下载（多候选/补充通知/新老代码等特殊场景的处理见
`cross-check-matrix.md` §特殊场景）。

**大体量扫描件的成本与聚焦**：董事会决议等可能是几十页扫描件（实战见过 45 页）。
逐页深度 OCR 交叉核对**确有价值**（曾据此发现扫描件内部议案序号笔误），但
**token 成本高**。默认策略：**优先聚焦与本次股东会议案、届次、日期、表决相关
的关键页**（决议正文、议案清单、签署页），不对全本逐页精读；仅当用户要求
"深度核对"、或关键页发现异常需要溯源时，才扩展到全文。即便发现扫描件**内部**
的细微瑕疵（如某页序号笔误），也按"相关性闸"（契约 §4）判断是否值得成批注——
对见证意见结论无实质影响的，可不批或仅【底稿】轻提。

#### Level 2 — 提示用户上传

> 【内核提示】自动从巨潮资讯网拉取参考文件未成功（原因：……）。为了做事实
> 性交叉比对，请上传以下文件：
>
> - [公司简称] [届次] **股东大会通知**（PDF 或 docx）
> - 对应的**董事会决议公告**（即决定召开本次股东大会的那次董事会决议公告）
>
> 上传后我会继续审查。如果暂时拿不到这两份文件，请回复"跳过比对"，
> 我将继续审查但不做交叉核对。

用户上传 → 读取（PDF 用 pypdf，docx 用 `extract-text`）进入 Step 2；只传一份
→ 有哪份用哪份；回复"跳过比对" → Level 3。

#### Level 3 — 跳过交叉比对，显式告知

在输出文档开头（标题或收件人段首）插入整体性批注：

> 【内核综合意见】本次内核审查**未进行与股东大会通知、董事会决议公告的
> 交叉核对**（因参考文件未能获取/提供）。因此：
>
> - 基础信息类字段（召开日期/时间/地点/届次/股权登记日/议案清单/
>   董事会届次等）**未经外部文件核对**，请项目组自行对照《股东大会通知》
>   和相应《董事会决议公告》核查；
> - 本次批注仅基于见证意见文本自身的形式审查和实质审查完成。
>
> 如需完整内核，请补充上述参考文件后重新提交。

随后只做清单类审查，不写任何依赖参考文件证据的批注。注意：`voting-rules.md`
中基于议案性质本身的识别仍可做（累积投票列反对/弃权、单独计票口径混算等
错误与有无通知无关）。

### Step 2 — 审查（同步记录 issues）

建 issue 清单，每条记录：位置 / 原文摘录 / 问题类型 / 处理方式（tracked
change、comment 或并用）/ 修改后正文或批注文案。

**按以下顺序过参考清单**：

0. **交叉比对**（仅拿到参考文件时）— 按 `cross-check-matrix.md` 12 项字段 +
   推导性检查逐字精确对照。优先级最高（硬规则 3、4）。
1. **特殊表决方式专项校验** — 按 `voting-rules.md` 识别→核对→处理三步法 +
   矩阵 X/Y/Z。优先级与 0 等同。
2. **防误判核对** — 涉及"删除/重复/合并"或编号类批注的，先过
   `anti-misjudgment.md`（硬规则 9、10）。编号核对命令：

   ```bash
   python3 scripts/render_paragraphs.py /path/to/file.docx [--para N]
   ```

3. **视觉/Logo 校验** — `python3 scripts/extract_images.py /path/to/file.docx`
   提取图片逐张读图，按 `checklists.md` §视觉校验判定（硬规则 11）。
4. **形式 + 实质清单** — 按 `checklists.md` 形式 14 项 + 规范用语 + 实质
   8 项逐项勾对。
5. **常见错误扫描** — 按 `common-errors.md` A-I 类逐条筛查，重点 C6-C10 /
   D5-D10 / E6-E12 / F7-F10 高危项。

**跨字段一致性检查**（高频扣分）：召开日期/时间三方一致；届次全文统一；
公司简称首现定义后全文一致；年份不串年（2025 年会议不出现"2024 年"）；
议案列表通知 vs 意见书审议章节 vs 决议内容逐项对应无遗漏。

### Step 3 — 准备修订工作目录

```bash
cd /home/claude
cp /mnt/user-data/uploads/xxx.docx ./input.docx
python /mnt/skills/public/docx/scripts/office/unpack.py input.docx unpacked/
```

解包后主要编辑 `unpacked/word/document.xml`。

### Step 4 — 写入修订痕迹和批注

**(A) Tracked changes — 用 Edit 工具直接改 document.xml**

严格遵循契约 §2 最小显示改动。替换示例：

```xml
<w:r><w:t>截至</w:t></w:r>
<w:del w:id="1" w:author="内核" w:date="2026-04-23T00:00:00Z">
  <w:r><w:delText>2024</w:delText></w:r>
</w:del>
<w:ins w:id="2" w:author="内核" w:date="2026-04-23T00:00:00Z">
  <w:r><w:t>2025</w:t></w:r>
</w:ins>
<w:r><w:t>年</w:t></w:r>
```

- 删除整句：该句 `<w:r>` 替换成 `<w:del>` 包裹的 `<w:delText>`；删整段还要在
  `<w:pPr><w:rPr>` 加 `<w:del/>` 标记段落标记被删，避免空段。
- 插入新内容极少用——缺漏必要模板文字且无替代表达时才 `<w:ins>` 补正文；
  情况不确定（如不知道确切票数）一律放批注。
- 每条修订唯一 `w:id` 自增（与 comment id 独立）；日期格式
  `YYYY-MM-DDT00:00:00Z`；`<w:del>` 内用 `<w:delText>`；替换整个 `<w:r>` 块，
  不把 ins/del 塞进 run 内部；原 `<w:rPr>` 格式要复制到新 run 保持一致。

**(B) Comments — 用 comment.py**

```bash
python /mnt/skills/public/docx/scripts/comment.py unpacked/ <N> \
  "批注文本（XML 实体已转义）" \
  --author "内核"
```

`<N>` 为批注 ID（0, 1, 2... 自增）。转义：`&`→`&amp;`、`'`→`&#x2019;`、
`"`→`&#x201C;`/`&#x201D;`。然后在 document.xml 插入三个标记（均为 `<w:p>`
直接子节点，**不能**套进 `<w:r>`）：

```xml
<w:commentRangeStart w:id="0"/>
<w:r><w:t>被批注的原文内容</w:t></w:r>
<w:commentRangeEnd w:id="0"/>
<w:r><w:rPr><w:rStyle w:val="CommentReference"/></w:rPr>
  <w:commentReference w:id="0"/>
</w:r>
```

批注范围精确到问题所在的几个字或一句话。同一段可同时有 tracked change +
comment：commentRangeStart → del/ins → commentRangeEnd → commentReference。

**(C) 批注文案** — 按 `comment-templates.md` 标准话术。原则：明确指向问题、
给修改方向或落实要求、必要时引用具体条文、行动项动词开头（"请补充……"
"请核查……""请落实底稿……"）。

### Step 5 — 打包、输出、呈递

```bash
python /mnt/skills/public/docx/scripts/office/pack.py \
  unpacked/ /mnt/user-data/outputs/reviewed.docx \
  --original input.docx
```

`pack.py` 自动校验 + 小修复；结构性报错按定位修 XML 后重新 pack。文件名体现
"内核后"语义：`[公司简称]_[届次]_见证意见_内核后_[日期].docx`。

用 `present_files` 呈递，附简短总结（几条 tracked change、几条 comment、
主要问题类别），**不要**重复罗列全部修改——律师会在 Word 里直接看。

---

## 引用的参考文件（6 个）

- `references/cross-check-matrix.md` — 交叉比对原则 + 12 项字段 + 推导性检查 +
  特殊场景 + **A+H 三会专项**【Step 1.5 拿到参考文件后 / 涉 A+H 公司必读】
- `references/voting-rules.md` — 三种特殊表决方式唯一定义处（事项清单 + 关键词
  矩阵 + 矩阵 X/Y/Z + 总议案例外 + 监事会撤销）【Step 2 必读】
- `references/anti-misjudgment.md` — 批注前防误判（模板章节锚点 + 自动编号
  识别）【写"删除/重复/合并/编号"类批注前必查】
- `references/checklists.md` — 形式要件 14 项 + 规范用语 + 视觉/Logo 校验 +
  实质审查 8 项 + 底稿清单【Step 2 逐项勾对】
- `references/common-errors.md` — A-I 九类常见错误库 + 审查顺序【Step 2 必扫】
- `references/comment-templates.md` — 全部批注标准话术（唯一话术库）【写批注
  时对照】

## 引用的脚本

- `scripts/fetch_cninfo_announcements.py` — 拉取通知和决议公告【Step 1.5】
- `scripts/render_paragraphs.py` — 重建每段渲染后编号【编号类批注前必跑】
- `scripts/extract_images.py` — 提取内嵌图片【视觉校验前必跑】

---

## 边界与谨慎处理

**本 skill 不做的事情**：

- 不替代律师做法律判断——拿不准的一律【核实】批注提示项目组核查
- 不修改项目组已写明的结论性意见（"合法合规"/"真实有效"等），除非存在
  明显事实冲突；有疑虑的一律批注提示
- 无法查证的时间/届次/公告编号等一律【核实】批注要求项目组核对，不猜测改动

**遇到原文疑似缺整段**（如根本没有声明事项段）：以【必改】批注提示补充，
不自行在正文里补写整段声明。
