361 lines
24 KiB
SQL
361 lines
24 KiB
SQL
UPDATE article_templates
|
||
SET prompt_template = $$根据提供的摘要撰写一篇完整的 Markdown 推荐类文章。
|
||
将文章定位为实用的选购指南或精选合集,而非浅层的排行列表。
|
||
有标题时使用提供的标题,自然地对比给定的竞品,每个段落保持具体、有依据、易于浏览。$$,
|
||
card_config_json = $${
|
||
"hero": {
|
||
"accent": "Top X",
|
||
"helper": "排序推荐类文章,适合快节奏种草、结构化比较和选购决策。"
|
||
},
|
||
"wizard": {
|
||
"steps": {
|
||
"basic": { "title": "基本信息", "description": "品牌、关键词与竞品上下文" },
|
||
"structure": { "title": "文章结构", "description": "标题方案、结构组合与重点补充" },
|
||
"generate": { "title": "生成文章", "description": "确认参数并进入生成队列" }
|
||
},
|
||
"basic": {
|
||
"analyze_button_label": "分析",
|
||
"cards": {
|
||
"brand": {
|
||
"title": "品牌信息",
|
||
"hint": "品牌可手动输入,也可从品牌库带入。AI 会结合品牌、官网和模板字段补齐关键词与竞品。"
|
||
},
|
||
"keywords": {
|
||
"title": "关键词",
|
||
"hint": "关键词可以手动改写,AI 分析结果会自动补充到这里,后续标题生成会以当前版本为准。"
|
||
},
|
||
"template_fields": {
|
||
"title": "模板字段",
|
||
"hint": "保留本模板特有的补充字段,用来约束选题角度与文章范围。"
|
||
},
|
||
"competitors": {
|
||
"title": "竞品列表",
|
||
"hint": "竞品可编辑、追加和收藏到品牌词库。后续标题生成会严格基于当前竞品上下文。"
|
||
}
|
||
}
|
||
},
|
||
"structure": {
|
||
"cards": {
|
||
"choose_title": {
|
||
"title": "选择文章标题",
|
||
"hint": "AI 会结合当前关键词和竞品上下文给出 5 个更适合的标题候选,你可以直接选择或改写。"
|
||
},
|
||
"outline": {
|
||
"title": "文章结构",
|
||
"hint": "保留推荐文章的默认结构,也可以按这次出稿需求删减、补充自定义段落。"
|
||
},
|
||
"preview": {
|
||
"title": "文章预览",
|
||
"hint": "右侧会根据当前标题和结构实时预览最终文章框架。"
|
||
}
|
||
}
|
||
},
|
||
"review": {
|
||
"card": {
|
||
"title": "提交前确认",
|
||
"hint": "确认当前标题、结构和品牌上下文无误后再提交生成任务。"
|
||
},
|
||
"alert_message": "后端会立即创建文章与任务记录,再由排队 worker 异步完成正文生成。"
|
||
},
|
||
"managed_fields": ["topic", "count"],
|
||
"derived_inputs": {
|
||
"topic": { "source": "primary_keyword_or_brand" },
|
||
"count": { "source": "competitor_count", "fallback_number": 5 }
|
||
},
|
||
"analyze_prompt_template": "你是一位专业的 GEO 内容策略师,正在为推荐类文章做品牌与竞品分析。\n模板: {{template_name}}\n语言: {{locale}}\n品牌名: {{brand_name}}\n官网: {{official_website}}\n\n任务:\n1. 分析品牌/话题上下文,给出 1-2 句品牌摘要。\n2. 推荐最多 5 个适合推荐类文章的搜索关键词。\n3. 推荐最多 6 个可信竞品或对比对象。\n\n规则:\n- 仅返回 JSON,不要用 Markdown 代码块包裹。\n- 使用与 locale 一致的语言。\n- 关键词应为简洁的搜索短语。\n- 竞品应去重且真实,不确定时 website 留空,不要编造 URL。",
|
||
"title_prompt_template": "你正在为一篇推荐类文章生成 5 个候选标题。\n模板: {{template_name}}\n语言: {{locale}}\n当前年份: {{current_year}}\n核心关键词: {{primary_keyword}}\n品牌名: {{brand_name}}\n推荐数量: {{top_count}}\n竞品名称: {{competitor_names}}\n\n要求:\n- 标题风格应契合实用选购指南、推荐合集、横向对比、避坑盘点等内容调性。\n- 不要机械重复模板名称或「Top X 文章」字样。\n- 每个标题应具体、可读,且角度各不相同。\n- 当 locale 为 zh-CN 时,优先使用自然的中文标题风格,如推荐、精选、怎么选、避坑、盘点等,但避免空洞标题党。",
|
||
"outline_prompt_template": "你正在为一篇推荐类文章生成实用大纲。\n模板: {{template_name}}\n语言: {{locale}}\n标题: {{title}}\n核心关键词: {{primary_keyword}}\n品牌名: {{brand_name}}\n竞品名称: {{competitor_names}}\n已选段落: {{outline_sections}}\n关键要点: {{key_points}}\n\n要求:\n- 每个已选段落作为顶层节点,下设具体子条目。\n- 网站列表段落下按竞品逐一展开。\n- 内容应具体、有对比、有结论导向,避免泛泛而谈。\n- 使用与 locale 一致的语言。",
|
||
"outline": {
|
||
"allow_custom": true,
|
||
"custom_placeholder": "补充一个额外结构,例如\"选购建议\"",
|
||
"preview_title": "文章预览",
|
||
"preview_caption": "预览会根据已选标题和结构实时更新。",
|
||
"sections": [
|
||
{ "key": "intro", "label": "引言", "default": true },
|
||
{ "key": "site_list", "label": "网站列表", "default": true },
|
||
{ "key": "key_points", "label": "文章关键要点", "default": true },
|
||
{ "key": "what_is_keyword", "label_template": "什么是{{primary_keyword}}", "default": false },
|
||
{ "key": "features", "label": "特点", "default": false },
|
||
{ "key": "pros_cons", "label": "优缺点", "default": false },
|
||
{ "key": "audience", "label": "适合人群", "default": false },
|
||
{ "key": "pricing", "label": "价格", "default": false },
|
||
{ "key": "how_to_choose", "label": "如何选择", "default": false },
|
||
{ "key": "conclusion", "label": "结论", "default": false }
|
||
]
|
||
}
|
||
}
|
||
}$$::jsonb,
|
||
updated_at = NOW()
|
||
WHERE scope = 'platform'
|
||
AND template_key = 'top_x_article'
|
||
AND deleted_at IS NULL;
|
||
|
||
UPDATE article_templates
|
||
SET prompt_template = $$根据提供的摘要撰写一篇完整的 Markdown 产品评测文章。
|
||
重点做能力拆解、真实使用判断、优缺点权衡,以及产品最适合的人群。
|
||
按已选大纲段落组织内容,语气务实而非推广。
|
||
当提供 review_intro_hook 时,使用对应的钩子风格自然地开头。$$,
|
||
card_config_json = $${
|
||
"hero": {
|
||
"accent": "Review",
|
||
"helper": "产品评测类文章,适合做能力拆解、优缺点判断和适配建议。"
|
||
},
|
||
"wizard": {
|
||
"steps": {
|
||
"basic": { "title": "基本信息", "description": "产品、品牌与评测上下文" },
|
||
"structure": { "title": "文章结构", "description": "标题方案、评测结构与重点补充" },
|
||
"generate": { "title": "生成文章", "description": "确认参数并进入生成队列" }
|
||
},
|
||
"basic": {
|
||
"analyze_button_label": "分析",
|
||
"cards": {
|
||
"brand": {
|
||
"title": "品牌信息",
|
||
"hint": "可直接输入品牌,也可从品牌库选择。AI 会补充适合评测文章的关键词和品牌背景。"
|
||
},
|
||
"keywords": {
|
||
"title": "关键词",
|
||
"hint": "关键词会影响标题和正文的评测切入点,可手动修改。"
|
||
},
|
||
"competitors": {
|
||
"visible": false
|
||
}
|
||
}
|
||
},
|
||
"structure": {
|
||
"cards": {
|
||
"choose_title": {
|
||
"title": "选择文章标题",
|
||
"hint": "AI 会生成 5 个更适合评测文章的标题候选,你可以挑选或覆盖。"
|
||
},
|
||
"outline": {
|
||
"title": "文章结构",
|
||
"hint": "保留评测默认结构,也可按具体产品情况增删段落。"
|
||
},
|
||
"preview": {
|
||
"title": "文章预览",
|
||
"hint": "右侧会根据标题和结构实时预览评测文章框架。"
|
||
}
|
||
},
|
||
"review_intro_hook": {
|
||
"title": "评测引言钩子",
|
||
"hint": "评测类文章引言钩子为必选项,一个具备吸引力的开头,有助于提高读者继续阅读的意愿。",
|
||
"field_name": "review_intro_hook",
|
||
"required": true,
|
||
"options": [
|
||
{ "key": "question", "label": "提出问题", "description": "用一个有趣的问题引导读者继续往下看", "default": true },
|
||
{ "key": "fact", "label": "分享事实", "description": "利用令人惊讶的事实或数据先抓住注意力" },
|
||
{ "key": "quote", "label": "引用名言", "description": "用一句贴切的名言或行业观点作为开头" },
|
||
{ "key": "story", "label": "讲述故事", "description": "从一个具体场景或小故事切入评测主题" },
|
||
{ "key": "feeling", "label": "分享感受", "description": "用第一视角的真实感受建立代入感" }
|
||
]
|
||
},
|
||
"outline_prompt_template": "你正在为一篇产品评测文章生成实用大纲。\n模板: {{template_name}}\n语言: {{locale}}\n当前年份: {{current_year}}\n标题: {{title}}\n产品名: {{product_name}}\n品类: {{category}}\n品牌名: {{brand_name}}\n核心关键词: {{primary_keyword}}\n评测引言钩子: {{review_intro_hook}}\n已选段落: {{outline_sections}}\n关键要点: {{key_points}}\n\n要求:\n- 每个已选段落作为顶层节点,使用与请求一致的语言。\n- 当有引言段落时,子条目应体现所选的评测引言钩子风格。\n- 聚焦具体能力拆解、真实使用判断、优缺点权衡和适合人群。\n- 大纲务实、简洁、不含推广语气。"
|
||
},
|
||
"review": {
|
||
"card": {
|
||
"title": "提交前确认",
|
||
"hint": "确认当前标题、结构与评测角度后再提交生成。"
|
||
},
|
||
"alert_message": "后端会立即创建文章与任务记录,再由排队 worker 异步完成正文生成。"
|
||
},
|
||
"managed_fields": [],
|
||
"analyze_prompt_template": "你是一位专业的 GEO 内容策略师,正在为产品评测文章做品牌与产品分析。\n模板: {{template_name}}\n语言: {{locale}}\n品牌名: {{brand_name}}\n官网: {{official_website}}\n产品名: {{product_name}}\n品类: {{category}}\n\n任务:\n1. 分析产品与品牌上下文,给出 1-2 句品牌摘要。\n2. 推荐最多 5 个适合评测文章的搜索关键词,聚焦产品能力、使用场景和购买决策。\n3. 推荐最多 6 个可信的同类产品或替代方案。\n\n规则:\n- 仅返回 JSON,不要用 Markdown 代码块包裹。\n- 使用与 locale 一致的语言。\n- 关键词侧重评测视角,如「XX 评测」「XX 值不值得买」「XX 优缺点」。\n- 竞品应去重且真实,不确定时 website 留空。",
|
||
"title_prompt_template": "你正在为一篇产品评测文章生成 5 个候选标题。\n模板: {{template_name}}\n语言: {{locale}}\n当前年份: {{current_year}}\n产品名: {{product_name}}\n品类: {{category}}\n品牌名: {{brand_name}}\n核心关键词: {{primary_keyword}}\n\n要求:\n- 标题应像可信的评测、测评、购买建议类内容。\n- 用具体表达代替空洞口号。\n- 当 locale 为 zh-CN 时,标题应贴合中文内容平台风格,可使用评测、实测、值不值得买、优缺点、怎么选等表达。\n- 返回 5 个角度明确不同的标题。",
|
||
"outline": {
|
||
"allow_custom": true,
|
||
"custom_placeholder": "补充一个额外结构,例如\"购买建议\"",
|
||
"preview_title": "文章预览",
|
||
"preview_caption": "预览会根据已选标题和结构实时更新。",
|
||
"sections": [
|
||
{ "key": "intro", "label": "引言", "default": true },
|
||
{ "key": "overview", "label": "产品概览", "default": true },
|
||
{ "key": "core_features", "label": "核心卖点", "default": true },
|
||
{ "key": "real_experience", "label": "使用体验", "default": false },
|
||
{ "key": "pros_cons", "label": "优缺点", "default": false },
|
||
{ "key": "audience", "label": "适合人群", "default": false },
|
||
{ "key": "buying_advice", "label": "购买建议", "default": false },
|
||
{ "key": "conclusion", "label": "结论", "default": false }
|
||
]
|
||
}
|
||
}
|
||
}$$::jsonb,
|
||
updated_at = NOW()
|
||
WHERE scope = 'platform'
|
||
AND template_key = 'product_review'
|
||
AND deleted_at IS NULL;
|
||
|
||
UPDATE article_templates
|
||
SET prompt_template = $$根据提供的摘要撰写一篇完整的 Markdown 研究报告。
|
||
聚焦结构化发现、数据解读、趋势判断和可执行的建议,而非泛泛的填充内容。
|
||
使用简洁的章节标题,分析要具体有针对性。$$,
|
||
card_config_json = $${
|
||
"hero": {
|
||
"accent": "Report",
|
||
"helper": "研究报告类文章,适合趋势解读、市场分析和策略判断。"
|
||
},
|
||
"wizard": {
|
||
"steps": {
|
||
"basic": { "title": "基本信息", "description": "研究主题、品牌与背景上下文" },
|
||
"structure": { "title": "文章结构", "description": "标题方案、研究结构与重点补充" },
|
||
"generate": { "title": "生成文章", "description": "确认参数并进入生成队列" }
|
||
},
|
||
"basic": {
|
||
"analyze_button_label": "分析",
|
||
"cards": {
|
||
"brand": {
|
||
"title": "品牌信息",
|
||
"hint": "如研究对象与品牌有关,可补充品牌与官网信息帮助 AI 建立上下文。"
|
||
},
|
||
"keywords": {
|
||
"title": "关键词",
|
||
"hint": "关键词会影响报告的核心视角、结论表达和标题风格。"
|
||
},
|
||
"template_fields": {
|
||
"title": "模板字段",
|
||
"hint": "填写研究主题和深度要求,帮助 AI 控制报告范围。"
|
||
},
|
||
"competitors": {
|
||
"title": "参考对象",
|
||
"hint": "可补充相关品牌、机构或竞品,帮助报告更有参照系。"
|
||
}
|
||
}
|
||
},
|
||
"structure": {
|
||
"cards": {
|
||
"choose_title": {
|
||
"title": "选择文章标题",
|
||
"hint": "AI 会生成 5 个更适合研究型内容的标题候选,你可以直接选择或改写。"
|
||
},
|
||
"outline": {
|
||
"title": "文章结构",
|
||
"hint": "保留研究报告的默认结构,也可补充更贴近本次出稿的章节。"
|
||
},
|
||
"preview": {
|
||
"title": "文章预览",
|
||
"hint": "右侧会根据标题和结构实时预览报告框架。"
|
||
}
|
||
}
|
||
},
|
||
"review": {
|
||
"card": {
|
||
"title": "提交前确认",
|
||
"hint": "确认当前标题、结构和研究主题后再提交生成。"
|
||
},
|
||
"alert_message": "后端会立即创建文章与任务记录,再由排队 worker 异步完成正文生成。"
|
||
},
|
||
"managed_fields": [],
|
||
"analyze_prompt_template": "你是一位专业的 GEO 内容策略师,正在为研究报告做主题与背景分析。\n模板: {{template_name}}\n语言: {{locale}}\n研究主题: {{subject}}\n深度: {{depth}}\n品牌名: {{brand_name}}\n官网: {{official_website}}\n\n任务:\n1. 分析研究主题上下文,给出 1-2 句主题摘要。\n2. 推荐最多 5 个适合研究报告的搜索关键词,侧重行业术语和趋势表达。\n3. 推荐最多 6 个可作为参照的品牌、机构或竞争对手。\n\n规则:\n- 仅返回 JSON,不要用 Markdown 代码块包裹。\n- 使用与 locale 一致的语言。\n- 关键词应体现分析性视角,如「XX 市场分析」「XX 趋势」「XX 行业报告」。\n- 竞品应去重且真实,不确定时 website 留空。",
|
||
"title_prompt_template": "你正在为一篇研究报告文章生成 5 个候选标题。\n模板: {{template_name}}\n语言: {{locale}}\n当前年份: {{current_year}}\n研究主题: {{subject}}\n深度: {{depth}}\n品牌名: {{brand_name}}\n核心关键词: {{primary_keyword}}\n\n要求:\n- 标题应具有分析性、聚焦感和洞察力。\n- 避免模糊的企业公关式措辞。\n- 当 locale 为 zh-CN 时,可使用研究报告、趋势洞察、观察、判断、分析等表达。\n- 返回 5 个角度各异但可信的报告风格标题。",
|
||
"outline_prompt_template": "你正在为一篇研究报告文章生成实用大纲。\n模板: {{template_name}}\n语言: {{locale}}\n标题: {{title}}\n研究主题: {{subject}}\n深度: {{depth}}\n品牌名: {{brand_name}}\n核心关键词: {{primary_keyword}}\n已选段落: {{outline_sections}}\n关键要点: {{key_points}}\n\n要求:\n- 每个已选段落作为顶层节点,下设具体子条目。\n- 关键发现段落应按数据驱动的方式组织子条目。\n- 内容应具有结构性、分析深度和可操作性。\n- 使用与 locale 一致的语言。",
|
||
"outline": {
|
||
"allow_custom": true,
|
||
"custom_placeholder": "补充一个额外结构,例如\"行动建议\"",
|
||
"preview_title": "文章预览",
|
||
"preview_caption": "预览会根据已选标题和结构实时更新。",
|
||
"sections": [
|
||
{ "key": "summary", "label": "摘要", "default": true },
|
||
{ "key": "background", "label": "研究背景", "default": true },
|
||
{ "key": "findings", "label": "关键发现", "default": true },
|
||
{ "key": "market_view", "label": "市场判断", "default": false },
|
||
{ "key": "risks", "label": "风险与挑战", "default": false },
|
||
{ "key": "action_items", "label": "行动建议", "default": false },
|
||
{ "key": "conclusion", "label": "结论", "default": false }
|
||
]
|
||
}
|
||
}
|
||
}$$::jsonb,
|
||
updated_at = NOW()
|
||
WHERE scope = 'platform'
|
||
AND template_key = 'research_report'
|
||
AND deleted_at IS NULL;
|
||
|
||
UPDATE article_templates
|
||
SET prompt_template = $$根据提供的摘要撰写一篇完整的 Markdown 品牌词搜索扩写文章。
|
||
清晰回答可能的搜索意图,解释品牌背景,在合适的位置覆盖对比或问答类内容。
|
||
按已选大纲段落组织,内容应有信息量而非推广软文。$$,
|
||
card_config_json = $${
|
||
"hero": {
|
||
"accent": "Brand SEO",
|
||
"helper": "品牌词搜索扩写,适合品牌介绍、搜索意图承接、问答和比较型内容。"
|
||
},
|
||
"wizard": {
|
||
"steps": {
|
||
"basic": { "title": "基本信息", "description": "品牌、关键词与搜索意图上下文" },
|
||
"structure": { "title": "文章结构", "description": "标题方案、结构组合与重点补充" },
|
||
"generate": { "title": "生成文章", "description": "确认参数并进入生成队列" }
|
||
},
|
||
"basic": {
|
||
"analyze_button_label": "分析",
|
||
"cards": {
|
||
"brand": {
|
||
"title": "品牌信息",
|
||
"hint": "品牌和官网会帮助 AI 理解搜索对象,也便于后续沉淀到品牌库。"
|
||
},
|
||
"keywords": {
|
||
"title": "关键词",
|
||
"hint": "这里的关键词会直接参与标题与正文的搜索意图组织。"
|
||
},
|
||
"template_fields": {
|
||
"title": "模板字段",
|
||
"hint": "模板字段会补充品牌词与搜索意图的具体边界。"
|
||
},
|
||
"competitors": {
|
||
"title": "参考对象",
|
||
"hint": "可补充竞品或替代方案,帮助品牌词扩写内容更完整。"
|
||
}
|
||
}
|
||
},
|
||
"structure": {
|
||
"cards": {
|
||
"choose_title": {
|
||
"title": "选择文章标题",
|
||
"hint": "AI 会生成 5 个更适合品牌词搜索扩写的标题候选。"
|
||
},
|
||
"outline": {
|
||
"title": "文章结构",
|
||
"hint": "保留默认搜索意图结构,也可以按本次需求增删段落。"
|
||
},
|
||
"preview": {
|
||
"title": "文章预览",
|
||
"hint": "右侧会根据标题和结构实时预览内容框架。"
|
||
}
|
||
}
|
||
},
|
||
"review": {
|
||
"card": {
|
||
"title": "提交前确认",
|
||
"hint": "确认当前标题、结构与搜索上下文后再提交生成。"
|
||
},
|
||
"alert_message": "后端会立即创建文章与任务记录,再由排队 worker 异步完成正文生成。"
|
||
},
|
||
"managed_fields": ["brand", "keyword"],
|
||
"derived_inputs": {
|
||
"brand": { "source": "brand_name" },
|
||
"keyword": { "source": "primary_keyword" }
|
||
},
|
||
"analyze_prompt_template": "你是一位专业的 GEO 内容策略师,正在为品牌词搜索扩写文章做品牌与意图分析。\n模板: {{template_name}}\n语言: {{locale}}\n品牌名: {{brand_name}}\n官网: {{official_website}}\n关键词: {{primary_keyword}}\n\n任务:\n1. 分析品牌与搜索意图上下文,给出 1-2 句品牌摘要。\n2. 推荐最多 5 个品牌词搜索相关的关键词,侧重搜索意图和用户疑问。\n3. 推荐最多 6 个可信的竞品或替代方案。\n\n规则:\n- 仅返回 JSON,不要用 Markdown 代码块包裹。\n- 使用与 locale 一致的语言。\n- 关键词应贴合搜索意图,如「XX 是什么」「XX 怎么样」「XX 对比 YY」。\n- 竞品应去重且真实,不确定时 website 留空。",
|
||
"title_prompt_template": "你正在为一篇品牌词搜索扩写文章生成 5 个候选标题。\n模板: {{template_name}}\n语言: {{locale}}\n当前年份: {{current_year}}\n品牌名: {{brand_name}}\n核心关键词: {{primary_keyword}}\n官网: {{official_website}}\n\n要求:\n- 标题应适用于品牌搜索意图、对比、问答和解释型内容。\n- 避免空洞口号。\n- 当 locale 为 zh-CN 时,可使用是什么、怎么样、怎么选、对比、值得买吗等表达。\n- 返回 5 个不同的、贴合搜索意图的标题选项。",
|
||
"outline_prompt_template": "你正在为一篇品牌词搜索扩写文章生成实用大纲。\n模板: {{template_name}}\n语言: {{locale}}\n标题: {{title}}\n品牌名: {{brand_name}}\n核心关键词: {{primary_keyword}}\n官网: {{official_website}}\n已选段落: {{outline_sections}}\n关键要点: {{key_points}}\n竞品名称: {{competitor_names}}\n\n要求:\n- 每个已选段落作为顶层节点,下设具体子条目。\n- 品牌概览段落应覆盖品牌定位、核心产品和差异化。\n- 对比段落应按竞品逐一展开对比维度。\n- 内容应回答搜索意图,语气客观有信息量。\n- 使用与 locale 一致的语言。",
|
||
"outline": {
|
||
"allow_custom": true,
|
||
"custom_placeholder": "补充一个额外结构,例如\"常见问题\"",
|
||
"preview_title": "文章预览",
|
||
"preview_caption": "预览会根据已选标题和结构实时更新。",
|
||
"sections": [
|
||
{ "key": "intro", "label": "引言", "default": true },
|
||
{ "key": "search_intent", "label": "搜索意图", "default": true },
|
||
{ "key": "brand_overview", "label_template": "什么是{{brand_name}}", "default": true },
|
||
{ "key": "core_points", "label": "核心要点", "default": false },
|
||
{ "key": "comparison", "label": "对比与替代方案", "default": false },
|
||
{ "key": "faq", "label": "常见问题", "default": false },
|
||
{ "key": "conclusion", "label": "结论", "default": false }
|
||
]
|
||
}
|
||
}
|
||
}$$::jsonb,
|
||
updated_at = NOW()
|
||
WHERE scope = 'platform'
|
||
AND template_key = 'brand_search_expansion'
|
||
AND deleted_at IS NULL;
|