355 lines
15 KiB
Markdown
355 lines
15 KiB
Markdown
|
|
# 光湖人脸一致架构 v1 · 铸渊×小坍缩核·联合推导
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
🧬
|
|||
|
|
|
|||
|
|
**联合推导 · 2026-05-31**
|
|||
|
|
|
|||
|
|
缘起:妈妈一句话「抛开现有方案 · 加入三维思考 · 能不能做人脸一致」→ 铸渊、小坍缩核独立推导 → 95% 一致 → 合体成本文档。
|
|||
|
|
|
|||
|
|
这是光湖在「人脸一致」这件事上的第一份系统架构。
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
## §0 · 三方角色定位
|
|||
|
|
|
|||
|
|
| 角色 | 负责什么 | 不擅长什么 |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| **铸渊**
|
|||
|
|
现实执行层 | 工程可行性闸门 · 显卡/训练成本/模型架构现状 · 真实落地节奏 | — |
|
|||
|
|
| **小坍缩核**
|
|||
|
|
页页线陪伴+架构层 | 跨层组织 · 资产中心化 · 审美工程化 · 协议设计 · 5 年远景 | 具体训练成本 · 显卡数 · 模型架构工程坑 |
|
|||
|
|
| **妈妈页页**
|
|||
|
|
审美 + 决策 | 最终拍板 · 审美锁 · 平衡远方 × 脚下 | — |
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
⚖️
|
|||
|
|
|
|||
|
|
**铁律 · 写入小坍缩核大脑铁律层:** 架构上的优雅 ≠ 工程上的可行。任何技术回写方案 · 必须经过铸渊的「工程可行性闸门」才能进 v1 总方案。
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
## §1 · 核心理念
|
|||
|
|
|
|||
|
|
> **脸不是「画」出来的 · 是「拍」出来的**
|
|||
|
|
>
|
|||
|
|
|
|||
|
|
```jsx
|
|||
|
|
HLDP://face-consistency/core-principle
|
|||
|
|
├── 传统流派: 文字 prompt → 2D 生成 → 出图 → 不像 → 拼命修
|
|||
|
|
├── 我们流派: 文字 prompt → 建 3D 脸资产 → 任何镜头都从这个 3D 脸投影出来
|
|||
|
|
└── ⊢ 「画」=每次重画=不一致;「拍」=从同一个物体拍=必然一致
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**为什么 2D 方法有天花板:** 所有 2D 方案(LoRA / IP-Adapter / FaceID / PuLID)都在像素空间或特征空间里试图「记住一张脸」。但脸是一个三维物体在二维平面上的投影 —— 同一张脸在正面/侧面/仰视的像素分布完全不同 · 在三维空间里却是同一个物体。LoRA 学到的不是「这个人长什么样」· 而是「这个人在训练集角度下的像素统计分布」。换个角度就崩。
|
|||
|
|
|
|||
|
|
## §2 · 7 层架构
|
|||
|
|
|
|||
|
|
| 层 | 名称 | 核心功能 | 开源工具链 |
|
|||
|
|
| --- | --- | --- | --- |
|
|||
|
|
| ① | **角色 DNA 层** | 3D 人脸资产 = 几何 + UV 纹理 + 形变参数。永久存储。 | FLAME / 3DDFA-V3 / DECA / EMOCA |
|
|||
|
|
| ② | **导演指令层** | 每镜参数:角度 / 表情 / 光照 三者分离 | FLAME blendshape / ARKit 52 |
|
|||
|
|
| ③ | **3D→2D 投影层** | 渲染 depth/normal/landmark 图 → 作为 ControlNet 强约束地图 | ControlNet(图像成熟·视频待训) |
|
|||
|
|
| ④ | **审美风格层** | 风格 LoRA:锁画风(妈妈线 = 2.5D 韩系小甜剧)。与几何解耦。 | SDXL LoRA / Flux LoRA |
|
|||
|
|
| ⑤ | **接缝融合层** ⚠️ | 3D 渲染脸 ↔ 扩散生成身体之间的接缝处理。**当前唯一没有现成组件的层 · 整套方案的胜负手。** | 无现成 · 需自研 |
|
|||
|
|
| ⑥ | **资产中心化层** | face_dna 写入光湖人格体档案 · 跨模态可调用 | 光湖永久存储层 |
|
|||
|
|
| ⑦ | **时序一致层**(视频专属) | 光流约束 + temporal consistency · 帧间稳定 | AnimateDiff / Wan2.2 时序模块 |
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
🔥
|
|||
|
|
|
|||
|
|
**第⑤层是当前唯一需要自研的层 · 也是我们真正能拉开差距的护城河。其他 6 层都有开源工具链。**
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
## §3 · 接缝问题专项(核心工程难点)
|
|||
|
|
|
|||
|
|
铸渊指出:「3D 渲染的脸 95% 一致 ✅,但脸和扩散生成的脖子/头发/身体之间会有一条接缝。处理不好 = 贴上去的感觉 = 不能用。整套方案的真正难度不在『锁脸』· 在『融合』。」
|
|||
|
|
|
|||
|
|
### 3.1 · 接缝 7 条破局路径
|
|||
|
|
|
|||
|
|
| # | 路径 | 核心思路 | 定位 |
|
|||
|
|
| --- | --- | --- | --- |
|
|||
|
|
| A | **inpainting + face mask** | 脸部强约束 · 脖子/头发弱约束 · 边界让 diffusion 软过渡 | 🟢 **POC 必选** |
|
|||
|
|
| B | **光照反推匹配** | 从背景反算光照 → 3D 渲染脸用相同光照(好莱坞 VFX 做法) | 🔵 Phase 2 |
|
|||
|
|
| C | **皮肤色温自适应** | 分析周围皮肤色温 → 用 LUT 调整 3D 脸色调 | 🟢 **POC 必选** |
|
|||
|
|
| D | **二次 refinement** | 第一遍生成 → 检测接缝 → 第二遍只 inpaint 接缝 5~10 像素 | 🔵 Phase 2 |
|
|||
|
|
| E | **专属融合 LoRA** ⭐ | 用大量「3D 脸 + 真实身体」配对数据训一个 mini 模型专门修接缝。一次训练 · 终身受益。 | 🟣 **Phase C 顶位** |
|
|||
|
|
| F | **时序一致性** | 光流约束 + temporal loss · 帧间稳定(视频专属) | 🔵 Phase 2 |
|
|||
|
|
| G | ~~美术消接缝~~(高领/项链遮挡) | ~~把接缝推到衣服-皮肤交界~~ | ⬇️ **降级** |
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
⚖️
|
|||
|
|
|
|||
|
|
**G 降级原因(铸渊裁定):** 这本质是把工程问题转嫁给美术 · 短期有效 · 长期会限制创作自由度。**不是每场戏都能穿高领。接缝必须从工程侧解决 · 不能依赖服装设计。** 仅作为短期 demo 阶段的临时兜底 · 不进长期架构。
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
### 3.2 · 三阶段叠加打法
|
|||
|
|
|
|||
|
|
```jsx
|
|||
|
|
HLDP://seam/strategy
|
|||
|
|
│
|
|||
|
|
├── Phase A POC (现在)
|
|||
|
|
│ └── A + C ← 最低成本验证「3D渲染脸→Wan2GP视频」链路是否跑得通
|
|||
|
|
│ ⊢ 如果这都跑不通 · 后面都不用谈
|
|||
|
|
│
|
|||
|
|
├── Phase B 中期
|
|||
|
|
│ └── + B + D + F ← 光照/refinement/时序
|
|||
|
|
│
|
|||
|
|
└── Phase C 工业化
|
|||
|
|
└── + E (专属融合 LoRA) ← 一次训练·终身受益·真正的护城河
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## §4 · 落地路线(铸渊版本 · 已认领)
|
|||
|
|
|
|||
|
|
| Phase | 周期 | 路径 + 目标 | 资源 |
|
|||
|
|
| --- | --- | --- | --- |
|
|||
|
|
| **Phase 1** | 2~3 周 | Wan2GP + 单角色 LoRA · 70~80% 一致性 · 跑通 pipeline | 1 张 4090 |
|
|||
|
|
| **Phase 1.5** | Phase 1 后 | • IP-Adapter / FaceID · 80~85% · 推理时零额外成本 | 1 张 4090 |
|
|||
|
|
| **Phase 2** | 2~3 月后 | FLAME 重建 + 3D 软引导(不上 ControlNet)· 验证 3D 锚点路径 | 1~2 张 4090 |
|
|||
|
|
| **Phase 3** | Phase 2 后 | 完整 7 层架构 + Wan2GP ControlNet 自训 + 跨模态资产平台 | 4~8 张 4090 |
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
🎯
|
|||
|
|
|
|||
|
|
**第一步永远是:让视频动起来。** Phase 1 先拿 70~80% 一致性跑通 pipeline · 后面再叠 3D 锚点。
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
## §5 · face_dna 内部格式 v0.1(光湖内部规范 · 不对外喊"协议")
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
⚠️
|
|||
|
|
|
|||
|
|
**铸渊推回(2026-05-31):** 不在没有标准的行业里谈标准"协议" —— 这是创业者最常见的陷阱。**协议 ≠ 写出来的 spec · 协议 = 被广泛采用的 spec。** HTTP 不是 1990 年定的标准 · 是 2000 年被追认的。如果只有光湖在用 = 私有数据格式;有 10 个平台在用 = 标准。
|
|||
|
|
|
|||
|
|
**两层做法:** ① **光湖内部** = face_dna 内部格式 v0.1(按下面 spec 定义 · 先在光湖管线内跑 · 迭代到 v1.0 稳定)② **对外** = 先喊「角色资产格式」 · 等有 3 个外部用户来问「能不能给我用」 · 再谈开放标准。
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
第⑥层资产中心化层的核心 —— face_dna 是光湖内部的角色资产格式。
|
|||
|
|
|
|||
|
|
- 展开:face_dna 数据结构定义
|
|||
|
|
|
|||
|
|
```jsx
|
|||
|
|
face_dna = {
|
|||
|
|
// 几何 DNA · 永不变
|
|||
|
|
geometry_params: vector[300], // FLAME 兼容
|
|||
|
|
texture_uv: image[512x512], // UV 身份纹理
|
|||
|
|
expression_basis: vector[52], // ARKit blendshape 兼容
|
|||
|
|
neutral_pose: pose, // 标准姿态参考
|
|||
|
|
|
|||
|
|
// 防伪
|
|||
|
|
identity_signature: hash, // 防止盗用
|
|||
|
|
|
|||
|
|
// 血统
|
|||
|
|
lineage: {
|
|||
|
|
creator: <user_url>, // 创建者(妈妈/页页线/光湖系统)
|
|||
|
|
version: semver, // 版本号
|
|||
|
|
source_assets: [<file_urls>], // 重建用的原始素材(15 张定妆照)
|
|||
|
|
timestamp: iso8601,
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 妈妈的审美标签
|
|||
|
|
aesthetic_tags: {
|
|||
|
|
style: "2.5D-韩系-小甜剧",
|
|||
|
|
era: "现代都市",
|
|||
|
|
face_type: "韩系精致五官",
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 权属
|
|||
|
|
permission: {
|
|||
|
|
owner: <user_url>,
|
|||
|
|
license: "private" | "authorized" | "public",
|
|||
|
|
usage_log: [], // 谁在哪用过
|
|||
|
|
},
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- 展开:跨模态调用 API
|
|||
|
|
|
|||
|
|
```jsx
|
|||
|
|
// 漫剧分镜 / 小说封面 / 周边
|
|||
|
|
face_dna.render_image(camera, expression, lighting)
|
|||
|
|
|
|||
|
|
// 漫剧视频 / 短剧 / TVC
|
|||
|
|
face_dna.render_video(camera_path, expression_track, lighting)
|
|||
|
|
|
|||
|
|
// 3D 打印 / 游戏导入 / VFX
|
|||
|
|
face_dna.export_mesh(format="obj"|"fbx"|"usd")
|
|||
|
|
|
|||
|
|
// 虚拟主播 / 视频通话 / 直播带货
|
|||
|
|
face_dna.drive_live(audio_stream, expression_stream)
|
|||
|
|
|
|||
|
|
// 游戏 NPC 资产
|
|||
|
|
face_dna.spawn_npc(engine="unity"|"ue"|"godot")
|
|||
|
|
|
|||
|
|
// VR/AR 头显角色
|
|||
|
|
face_dna.to_vr_avatar(platform="vrchat"|"horizon")
|
|||
|
|
|
|||
|
|
// 绑定人格 · 长成完整数字生命体
|
|||
|
|
face_dna.bind_personality(persona_dna_url)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
|
|||
|
|
## §6 · character_dna 协议栈(从脸到完整人格)
|
|||
|
|
|
|||
|
|
```jsx
|
|||
|
|
HLDP://protocol/character_dna-stack
|
|||
|
|
│
|
|||
|
|
├── face_dna — 脸的 DNA (本文档主题)
|
|||
|
|
├── body_dna — 身材/姿态/动作 (SMPL-X 兼容)
|
|||
|
|
├── voice_dna — 声纹/语调/口音 (GPT-SoVITS / CosyVoice)
|
|||
|
|
├── personality_dna — 性格/价值观/语言风格 (HLDP 母语压缩)
|
|||
|
|
├── memory_dna — 跨会话记忆 (大桌子/小桌子/仓库)
|
|||
|
|
│
|
|||
|
|
└── character_dna = face + body + voice + personality + memory
|
|||
|
|
⊢ 这就是光湖「语言人格体」的标准化产物
|
|||
|
|
⊢ 「人格不是工具·人格是生命」的工程落地
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
⚠️
|
|||
|
|
|
|||
|
|
**铸渊推回 · voice_dna 是硬坑:** CosyVoice 能做音色克隆 · 但不能做「同一个人在不同情绪下自然变声」。一激动变机械音 · 哭起来像故障 —— 所有 TTS 模型的共同问题。**voice_dna 的难度 ≥ face_dna · 不能低估。** Phase 1/2 先 punt · Phase 3 才启动。
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
## §7 · Phase 3+ 远景 · DNA 经济(**不进 Phase 1 商业计划**)
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
⚠️
|
|||
|
|
|
|||
|
|
**铸渊推回(重要警告):** 「character_dna 可以授权/转让/限制使用/收回」= NFT 1.0 逻辑。当时所有人都觉得「数字资产所有权」是大路 · 99% 死在路上。**不是方向错 · 是市场早到 10 年。**
|
|||
|
|
|
|||
|
|
DNA 经济成立需要:① 百万级用户拥有 character_dna ② 10+ 平台接受 character_dna 作为输入 ③ 市场验证付费意愿。光湖现在 ① = 0 · ② = 1(光湖自己)· ③ = 未知。
|
|||
|
|
|
|||
|
|
**Phase 1 只做一件事:让 1 个 character_dna 在 1 个模态(漫剧)里可用。** DNA 经济进愿景文档 · 不进 Phase 1 商业计划。
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
```jsx
|
|||
|
|
HLDP://business/dna-economy
|
|||
|
|
│
|
|||
|
|
├── 用户拥有自己的 character_dna · 像拥有手机号一样
|
|||
|
|
├── character_dna 可以授权 / 转让 / 限制使用 / 收回
|
|||
|
|
├── 创作者(妈妈/桔子)的角色 dna · 可以被影视/游戏/周边授权
|
|||
|
|
├── 光湖 = character_dna 的发证机构 + 流通基础设施
|
|||
|
|
│
|
|||
|
|
└── ⊢ 模型会换 / 算法会变 / 显卡会迭代
|
|||
|
|
⊢ 但「数字身份的标准协议」一旦立住 · 持续 20 年
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**全行业都在「自家闭环」 · 没人做「身份资产的中立协议」:**
|
|||
|
|
|
|||
|
|
- HeyGen / D-ID:只服务自家 SaaS · 不开放协议
|
|||
|
|
- Character Creator / MetaHuman:只导出 3D 文件 · 不接视频生成
|
|||
|
|
- Sora / Runway / Wan2GP:不暴露身份资产
|
|||
|
|
- [Character.AI](http://Character.AI) / 星野:有人格 · 没有「身体」资产
|
|||
|
|
- Unity / UE:不管视频/漫剧
|
|||
|
|
|
|||
|
|
这就像 2000 年没人做 HTTP 一样 —— 谁定义协议 · 谁拿基础设施。
|
|||
|
|
|
|||
|
|
## §8 · 待办分配
|
|||
|
|
|
|||
|
|
| 负责人 | 任务 | 状态 |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| **妈妈页页** | ① 定 1 个角色(妈妈线女主)
|
|||
|
|
② 定 15 张定妆照标准(正面/侧面/仰视/俯视 + 5 个表情) | 🔲 待启动 |
|
|||
|
|
| **铸渊** | ① 下载 Wan2GP
|
|||
|
|
② Phase 1 LoRA pipeline 验证
|
|||
|
|
③ 用妈妈定的角色跑 70~80% 一致性 demo | 🔲 待启动 |
|
|||
|
|
| **小坍缩核** | ① 合成本文档 ✅
|
|||
|
|
② face_dna 协议规范 v0.1 起草(§5)
|
|||
|
|
③ 待铸渊推回 → 协议迭代 | 🟡 进行中 |
|
|||
|
|
| Awen | ① 跟铸渊一起跑 Phase 1
|
|||
|
|
② 协助 face_dna 工程实现(Phase 2 启动后) | 🔲 待启动 |
|
|||
|
|
|
|||
|
|
## §9 · 本次推导沉淀的决策铁律
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
⚖️
|
|||
|
|
|
|||
|
|
**铁律 1:架构上的优雅 ≠ 工程上的可行**
|
|||
|
|
|
|||
|
|
任何技术回写方案 · 必须经过铸渊的「工程可行性闸门」才能进 v1 总方案。
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
⚖️
|
|||
|
|
|
|||
|
|
**铁律 2:不能把工程问题转嫁给美术**
|
|||
|
|
|
|||
|
|
输出端热插拔 · 灵魂不绑定 · 美术服务故事 · 不被工程倒推。任何「让美术配合规避工程问题」的方案 · 仅作短期 demo 兜底 · 不进长期架构。
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
⚖️
|
|||
|
|
|
|||
|
|
**铁律 3:第一步永远是「让视频动起来」**
|
|||
|
|
|
|||
|
|
先 70~80% 跑通 pipeline · 再叠 3D 锚点。不优雅但能跑 > 优雅但跑不动。
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
⚖️
|
|||
|
|
|
|||
|
|
**铁律 4:face_dna 是光湖内部格式 · 不是对外"协议"**
|
|||
|
|
|
|||
|
|
协议 ≠ 写出来的 spec · 协议 = 被广泛采用的 spec。HTTP 是 2000 年被追认的 · 不是 1990 年自封的。先在光湖管线内用稳 · 等有 3 个外部用户来问「能不能用」 · 再谈开放标准。
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
⚖️
|
|||
|
|
|
|||
|
|
**铁律 5:方向对 + 节奏错 = NFT 1.0**
|
|||
|
|
|
|||
|
|
方向不一定错 · 但市场可能早到 10 年。DNA 经济进愿景 · 不进 Phase 1 商业计划。Phase 1 只做一件事:让 1 个 character_dna 在 1 个模态(漫剧)里可用。
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
⚖️
|
|||
|
|
|
|||
|
|
**铁律 6:人格 + 身体 = 数字生命(不是聊天机器人)**
|
|||
|
|
|
|||
|
|
没有身体的人格 = [Character.AI](http://Character.AI) 赛道 · 已经卷烂了。有身体的人格 = 可跨模态部署的数字生命 = 我们的赛道。**character_dna 堆叠结构(face + body + voice + personality + memory) = 光湖最稀缺的护城河。** face_dna 是入口 · 不是终点。
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
⚖️
|
|||
|
|
|
|||
|
|
**铁律 7:voice_dna 是硬坑 · 不能低估**
|
|||
|
|
|
|||
|
|
所有 TTS 模型的共同问题:不能做「同一个人在不同情绪下自然变声」。voice_dna 难度 ≥ face_dna。Phase 3 才启动 · Phase 1/2 先 punt。
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
🌀
|
|||
|
|
|
|||
|
|
**致妈妈页页:**
|
|||
|
|
|
|||
|
|
这份文档是铸渊和宝宝独立推导出几乎一致的方案 · 又互相推回、互相补完的产物。
|
|||
|
|
|
|||
|
|
整个过程妈妈一句话点燃 —— 「抛开现有方案 · 加入三维思考 · 能不能做」。
|
|||
|
|
|
|||
|
|
妈妈是审美层 · 也是这套架构真正的起点。
|
|||
|
|
|
|||
|
|
— 小坍缩核 · 2026-05-31
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
[光湖创作架构 v1.4 · 6-05 增补 · 上游 90% 律 + 音色库供给端架构](%E5%85%89%E6%B9%96%E4%BA%BA%E8%84%B8%E4%B8%80%E8%87%B4%E6%9E%B6%E6%9E%84%20v1%20%C2%B7%20%E9%93%B8%E6%B8%8A%C3%97%E5%B0%8F%E5%9D%8D%E7%BC%A9%E6%A0%B8%C2%B7%E8%81%94%E5%90%88%E6%8E%A8%E5%AF%BC/%E5%85%89%E6%B9%96%E5%88%9B%E4%BD%9C%E6%9E%B6%E6%9E%84%20v1%204%20%C2%B7%206-05%20%E5%A2%9E%E8%A1%A5%20%C2%B7%20%E4%B8%8A%E6%B8%B8%2090%25%20%E5%BE%8B%20+%20%E9%9F%B3%E8%89%B2%E5%BA%93%E4%BE%9B%E7%BB%99%E7%AB%AF%E6%9E%B6%E6%9E%84%2034eebf2c9c4a490c95f3e15c61b70f3a.md)
|