From f0286264e27e030f4d8685aef635c0034e503fd3 Mon Sep 17 00:00:00 2001 From: bruce Date: Wed, 10 Jun 2026 19:49:25 +0800 Subject: [PATCH 1/9] =?UTF-8?q?feat(regulatory-info-package):=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=9D=90=E6=96=99=E5=8C=85=E6=95=B0=E6=8D=AE=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- review_agent/file_summary/views.py | 18 + ..._regulatoryinfopackageartifact_and_more.py | 388 ++++++++++++++++++ review_agent/models.py | 187 ++++++++- 3 files changed, 592 insertions(+), 1 deletion(-) create mode 100644 review_agent/migrations/0009_regulatoryinfopackageartifact_and_more.py diff --git a/review_agent/file_summary/views.py b/review_agent/file_summary/views.py index b71ed75..f475d95 100644 --- a/review_agent/file_summary/views.py +++ b/review_agent/file_summary/views.py @@ -14,6 +14,7 @@ from review_agent.models import ( ExportedSummaryFile, FileAttachment, Message, + RegulatoryInfoPackageBatch, RegulatoryReviewBatch, ) from review_agent.models import FileSummaryBatch, WorkflowEvent @@ -304,14 +305,20 @@ def export_download(request, export_id: int): extra={"export_id": exported.pk, "storage_path": exported.storage_path}, ) return JsonResponse({"error": "文件不存在。"}, status=404) + suffix = Path(exported.file_name).suffix.lower() content_types = { ExportedSummaryFile.ExportType.MARKDOWN: "text/markdown; charset=utf-8", ExportedSummaryFile.ExportType.EXCEL: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", ExportedSummaryFile.ExportType.JSON: "application/json; charset=utf-8", ExportedSummaryFile.ExportType.WORD: "application/vnd.openxmlformats-officedocument.wordprocessingml.document", ExportedSummaryFile.ExportType.PDF: "application/pdf", + ExportedSummaryFile.ExportType.ZIP: "application/zip", } content_type = content_types.get(exported.export_type, "application/octet-stream") + if exported.export_type == ExportedSummaryFile.ExportType.WORD and suffix == ".doc": + content_type = "application/msword" + elif exported.export_type == ExportedSummaryFile.ExportType.WORD and suffix == ".docx": + content_type = "application/vnd.openxmlformats-officedocument.wordprocessingml.document" logger.info( "Export download started", extra={ @@ -342,6 +349,17 @@ def _export_for_user(user, export_id: int) -> ExportedSummaryFile | None: is_deleted=False, ).exists() return exported if allowed else None + if exported.workflow_type == "regulatory_info_package": + if not exported.workflow_batch_id: + return None + allowed = RegulatoryInfoPackageBatch.objects.filter( + pk=exported.workflow_batch_id, + conversation__user=user, + is_deleted=False, + ).exists() + return exported if allowed else None + if exported.batch_id is None: + return None if exported.batch.user_id != user.pk: return None return exported diff --git a/review_agent/migrations/0009_regulatoryinfopackageartifact_and_more.py b/review_agent/migrations/0009_regulatoryinfopackageartifact_and_more.py new file mode 100644 index 0000000..c36473d --- /dev/null +++ b/review_agent/migrations/0009_regulatoryinfopackageartifact_and_more.py @@ -0,0 +1,388 @@ +# Generated by Django 5.2.14 on 2026-06-10 11:12 + +import django.db.models.deletion +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("review_agent", "0008_knowledgebasedocument"), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name="RegulatoryInfoPackageArtifact", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "artifact_type", + models.CharField( + choices=[ + ("template_copy", "模板副本"), + ("instruction_extract", "说明书抽取结果"), + ("field_extract_result", "字段抽取结果"), + ("merged_fields", "合并字段"), + ("generated_document", "生成文件"), + ("traceability", "追溯清单"), + ("zip_package", "ZIP包"), + ("notification_record", "通知记录"), + ], + max_length=60, + ), + ), + ( + "file_format", + models.CharField( + choices=[ + ("json", "JSON"), + ("excel", "Excel"), + ("docx", "DOCX"), + ("doc", "DOC"), + ("zip", "ZIP"), + ("markdown", "Markdown"), + ], + max_length=20, + ), + ), + ("name", models.CharField(max_length=160)), + ("file_name", models.CharField(max_length=255)), + ("storage_path", models.CharField(max_length=500)), + ("file_size", models.BigIntegerField(default=0)), + ( + "content_hash", + models.CharField(blank=True, default="", max_length=128), + ), + ("metadata", models.JSONField(blank=True, default=dict)), + ( + "created_by_node", + models.CharField(blank=True, default="", max_length=60), + ), + ("created_at", models.DateTimeField(auto_now_add=True)), + ("is_deleted", models.BooleanField(default=False)), + ], + options={ + "db_table": "ra_regulatory_info_package_artifact", + "ordering": ["-created_at", "-id"], + }, + ), + migrations.CreateModel( + name="RegulatoryInfoPackageBatch", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "source_summary_item_id", + models.PositiveBigIntegerField(blank=True, null=True), + ), + ("batch_no", models.CharField(max_length=64, unique=True)), + ( + "status", + models.CharField( + choices=[ + ("pending", "待执行"), + ("running", "执行中"), + ("waiting_user", "等待用户"), + ("success", "成功"), + ("partial_success", "部分成功"), + ("failed", "失败"), + ("cancelled", "已取消"), + ], + default="pending", + max_length=30, + ), + ), + ( + "source_file_name", + models.CharField(blank=True, default="", max_length=255), + ), + ( + "source_storage_path", + models.CharField(blank=True, default="", max_length=500), + ), + ( + "product_name", + models.CharField(blank=True, default="", max_length=200), + ), + ( + "output_zip_name", + models.CharField( + blank=True, + default="第1章 监管信息(预生成版).zip", + max_length=255, + ), + ), + ("generated_files", models.JSONField(blank=True, default=list)), + ("missing_fields", models.JSONField(blank=True, default=list)), + ("llm_only_fields", models.JSONField(blank=True, default=list)), + ("conflict_fields", models.JSONField(blank=True, default=list)), + ("risk_notes", models.JSONField(blank=True, default=list)), + ( + "template_config_version", + models.CharField(blank=True, default="", max_length=80), + ), + ( + "template_config_hash", + models.CharField(blank=True, default="", max_length=128), + ), + ("adapter_summary", models.JSONField(blank=True, default=dict)), + ("work_dir", models.CharField(blank=True, default="", max_length=500)), + ("error_message", models.TextField(blank=True, default="")), + ("created_at", models.DateTimeField(auto_now_add=True)), + ("started_at", models.DateTimeField(blank=True, null=True)), + ("finished_at", models.DateTimeField(blank=True, null=True)), + ("archived_at", models.DateTimeField(blank=True, null=True)), + ("is_deleted", models.BooleanField(default=False)), + ], + options={ + "db_table": "ra_regulatory_info_package_batch", + "ordering": ["-created_at", "-id"], + }, + ), + migrations.CreateModel( + name="RegulatoryInfoPackageNotificationRecord", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "channel", + models.CharField( + choices=[ + ("feishu_cli", "飞书 CLI"), + ("feishu_api", "飞书 API"), + ("mock", "模拟"), + ], + default="mock", + max_length=30, + ), + ), + ("export_ids", models.JSONField(blank=True, default=list)), + ("message_summary", models.TextField(blank=True, default="")), + ( + "send_status", + models.CharField( + choices=[ + ("pending", "待发送"), + ("success", "成功"), + ("failed", "失败"), + ], + default="pending", + max_length=20, + ), + ), + ("retry_count", models.PositiveIntegerField(default=0)), + ( + "external_message_id", + models.CharField(blank=True, default="", max_length=120), + ), + ("error_message", models.TextField(blank=True, default="")), + ("sent_at", models.DateTimeField(blank=True, null=True)), + ("created_at", models.DateTimeField(auto_now_add=True)), + ("updated_at", models.DateTimeField(auto_now=True)), + ("is_deleted", models.BooleanField(default=False)), + ], + options={ + "db_table": "ra_regulatory_info_package_notification_record", + "ordering": ["-created_at", "-id"], + }, + ), + migrations.AlterField( + model_name="exportedsummaryfile", + name="batch", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="exports", + to="review_agent.filesummarybatch", + ), + ), + migrations.AlterField( + model_name="exportedsummaryfile", + name="export_type", + field=models.CharField( + choices=[ + ("markdown", "Markdown"), + ("excel", "Excel"), + ("json", "JSON"), + ("word", "Word"), + ("pdf", "PDF"), + ("zip", "ZIP"), + ], + max_length=20, + ), + ), + migrations.AddConstraint( + model_name="workflownoderun", + constraint=models.UniqueConstraint( + fields=("workflow_type", "workflow_batch_id", "node_code"), + name="uq_ra_node_workflow_batch_code", + ), + ), + migrations.AddField( + model_name="regulatoryinfopackagebatch", + name="conversation", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="regulatory_info_package_batches", + to="review_agent.conversation", + ), + ), + migrations.AddField( + model_name="regulatoryinfopackagebatch", + name="source_attachment", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + related_name="regulatory_info_package_batches", + to="review_agent.fileattachment", + ), + ), + migrations.AddField( + model_name="regulatoryinfopackagebatch", + name="source_summary_batch", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + related_name="regulatory_info_package_batches", + to="review_agent.filesummarybatch", + ), + ), + migrations.AddField( + model_name="regulatoryinfopackagebatch", + name="trigger_message", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + related_name="triggered_regulatory_info_package_batches", + to="review_agent.message", + ), + ), + migrations.AddField( + model_name="regulatoryinfopackagebatch", + name="user", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="review_regulatory_info_package_batches", + to=settings.AUTH_USER_MODEL, + ), + ), + migrations.AddField( + model_name="regulatoryinfopackageartifact", + name="batch", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="artifacts", + to="review_agent.regulatoryinfopackagebatch", + ), + ), + migrations.AddField( + model_name="regulatoryinfopackagenotificationrecord", + name="batch", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="notifications", + to="review_agent.regulatoryinfopackagebatch", + ), + ), + migrations.AddField( + model_name="regulatoryinfopackagenotificationrecord", + name="recipient", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="regulatory_info_package_notifications", + to=settings.AUTH_USER_MODEL, + ), + ), + migrations.AddIndex( + model_name="regulatoryinfopackagebatch", + index=models.Index( + fields=["conversation", "status"], name="idx_ra_rip_batch_conv_status" + ), + ), + migrations.AddIndex( + model_name="regulatoryinfopackagebatch", + index=models.Index( + fields=["user", "created_at"], name="idx_ra_rip_batch_user_created" + ), + ), + migrations.AddIndex( + model_name="regulatoryinfopackagebatch", + index=models.Index( + fields=["source_attachment"], name="idx_ra_rip_batch_attachment" + ), + ), + migrations.AddIndex( + model_name="regulatoryinfopackagebatch", + index=models.Index( + fields=["source_summary_batch"], name="idx_ra_rip_batch_summary" + ), + ), + migrations.AddIndex( + model_name="regulatoryinfopackagebatch", + index=models.Index(fields=["created_at"], name="idx_ra_rip_batch_created"), + ), + migrations.AddIndex( + model_name="regulatoryinfopackageartifact", + index=models.Index( + fields=["batch", "artifact_type"], name="idx_ra_rip_artifact_batch_type" + ), + ), + migrations.AddIndex( + model_name="regulatoryinfopackageartifact", + index=models.Index( + fields=["file_format"], name="idx_ra_rip_artifact_format" + ), + ), + migrations.AddIndex( + model_name="regulatoryinfopackageartifact", + index=models.Index( + fields=["created_at"], name="idx_ra_rip_artifact_created" + ), + ), + migrations.AddIndex( + model_name="regulatoryinfopackagenotificationrecord", + index=models.Index( + fields=["batch", "created_at"], name="idx_ra_rip_notify_batch" + ), + ), + migrations.AddIndex( + model_name="regulatoryinfopackagenotificationrecord", + index=models.Index( + fields=["recipient", "send_status"], name="idx_ra_rip_notify_recipient" + ), + ), + migrations.AddIndex( + model_name="regulatoryinfopackagenotificationrecord", + index=models.Index( + fields=["send_status", "retry_count"], name="idx_ra_rip_notify_status" + ), + ), + ] diff --git a/review_agent/models.py b/review_agent/models.py index 6189a69..16da526 100644 --- a/review_agent/models.py +++ b/review_agent/models.py @@ -280,7 +280,11 @@ class WorkflowNodeRun(models.Model): class Meta: db_table = "ra_workflow_node_run" constraints = [ - models.UniqueConstraint(fields=["batch", "node_code"], name="uq_ra_node_batch_code") + models.UniqueConstraint(fields=["batch", "node_code"], name="uq_ra_node_batch_code"), + models.UniqueConstraint( + fields=["workflow_type", "workflow_batch_id", "node_code"], + name="uq_ra_node_workflow_batch_code", + ), ] indexes = [ models.Index(fields=["batch", "status"], name="idx_ra_node_batch_status"), @@ -336,6 +340,7 @@ class ExportedSummaryFile(models.Model): JSON = "json", "JSON" WORD = "word", "Word" PDF = "pdf", "PDF" + ZIP = "zip", "ZIP" class Status(models.TextChoices): SUCCESS = "success", "成功" @@ -345,6 +350,8 @@ class ExportedSummaryFile(models.Model): FileSummaryBatch, on_delete=models.CASCADE, related_name="exports", + null=True, + blank=True, ) workflow_type = models.CharField(max_length=40, blank=True, default="file_summary") workflow_batch_id = models.PositiveBigIntegerField(null=True, blank=True) @@ -524,6 +531,87 @@ class ApplicationFormFillBatch(models.Model): return self.batch_no +class RegulatoryInfoPackageBatch(models.Model): + """Tracks one Chapter 1 regulatory information package workflow run.""" + + class Status(models.TextChoices): + PENDING = "pending", "待执行" + RUNNING = "running", "执行中" + WAITING_USER = "waiting_user", "等待用户" + SUCCESS = "success", "成功" + PARTIAL_SUCCESS = "partial_success", "部分成功" + FAILED = "failed", "失败" + CANCELLED = "cancelled", "已取消" + + conversation = models.ForeignKey( + Conversation, + on_delete=models.CASCADE, + related_name="regulatory_info_package_batches", + ) + user = models.ForeignKey( + settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + related_name="review_regulatory_info_package_batches", + ) + trigger_message = models.ForeignKey( + Message, + on_delete=models.SET_NULL, + null=True, + blank=True, + related_name="triggered_regulatory_info_package_batches", + ) + source_attachment = models.ForeignKey( + FileAttachment, + on_delete=models.SET_NULL, + null=True, + blank=True, + related_name="regulatory_info_package_batches", + ) + source_summary_batch = models.ForeignKey( + FileSummaryBatch, + on_delete=models.SET_NULL, + null=True, + blank=True, + related_name="regulatory_info_package_batches", + ) + source_summary_item_id = models.PositiveBigIntegerField(null=True, blank=True) + batch_no = models.CharField(max_length=64, unique=True) + status = models.CharField(max_length=30, choices=Status.choices, default=Status.PENDING) + source_file_name = models.CharField(max_length=255, blank=True, default="") + source_storage_path = models.CharField(max_length=500, blank=True, default="") + product_name = models.CharField(max_length=200, blank=True, default="") + output_zip_name = models.CharField(max_length=255, blank=True, default="第1章 监管信息(预生成版).zip") + generated_files = models.JSONField(default=list, blank=True) + missing_fields = models.JSONField(default=list, blank=True) + llm_only_fields = models.JSONField(default=list, blank=True) + conflict_fields = models.JSONField(default=list, blank=True) + risk_notes = models.JSONField(default=list, blank=True) + template_config_version = models.CharField(max_length=80, blank=True, default="") + template_config_hash = models.CharField(max_length=128, blank=True, default="") + adapter_summary = models.JSONField(default=dict, blank=True) + work_dir = models.CharField(max_length=500, blank=True, default="") + error_message = models.TextField(blank=True, default="") + created_at = models.DateTimeField(auto_now_add=True) + started_at = models.DateTimeField(null=True, blank=True) + finished_at = models.DateTimeField(null=True, blank=True) + archived_at = models.DateTimeField(null=True, blank=True) + is_deleted = models.BooleanField(default=False) + + class Meta: + db_table = "ra_regulatory_info_package_batch" + ordering = ["-created_at", "-id"] + indexes = [ + models.Index(fields=["conversation", "status"], name="idx_ra_rip_batch_conv_status"), + models.Index(fields=["user", "created_at"], name="idx_ra_rip_batch_user_created"), + models.Index(fields=["source_attachment"], name="idx_ra_rip_batch_attachment"), + models.Index(fields=["source_summary_batch"], name="idx_ra_rip_batch_summary"), + models.Index(fields=["created_at"], name="idx_ra_rip_batch_created"), + ] + + def __str__(self) -> str: + return self.batch_no + + class RegulatoryReviewBatch(models.Model): """Tracks one NMPA regulatory review workflow run.""" @@ -745,6 +833,54 @@ class ApplicationFormFillArtifact(models.Model): ] +class RegulatoryInfoPackageArtifact(models.Model): + """Stores regulatory information package intermediate and generated files.""" + + class ArtifactType(models.TextChoices): + TEMPLATE_COPY = "template_copy", "模板副本" + INSTRUCTION_EXTRACT = "instruction_extract", "说明书抽取结果" + FIELD_EXTRACT_RESULT = "field_extract_result", "字段抽取结果" + MERGED_FIELDS = "merged_fields", "合并字段" + GENERATED_DOCUMENT = "generated_document", "生成文件" + TRACEABILITY = "traceability", "追溯清单" + ZIP_PACKAGE = "zip_package", "ZIP包" + NOTIFICATION_RECORD = "notification_record", "通知记录" + + class FileFormat(models.TextChoices): + JSON = "json", "JSON" + EXCEL = "excel", "Excel" + DOCX = "docx", "DOCX" + DOC = "doc", "DOC" + ZIP = "zip", "ZIP" + MARKDOWN = "markdown", "Markdown" + + batch = models.ForeignKey( + RegulatoryInfoPackageBatch, + on_delete=models.CASCADE, + related_name="artifacts", + ) + artifact_type = models.CharField(max_length=60, choices=ArtifactType.choices) + file_format = models.CharField(max_length=20, choices=FileFormat.choices) + name = models.CharField(max_length=160) + file_name = models.CharField(max_length=255) + storage_path = models.CharField(max_length=500) + file_size = models.BigIntegerField(default=0) + content_hash = models.CharField(max_length=128, blank=True, default="") + metadata = models.JSONField(default=dict, blank=True) + created_by_node = models.CharField(max_length=60, blank=True, default="") + created_at = models.DateTimeField(auto_now_add=True) + is_deleted = models.BooleanField(default=False) + + class Meta: + db_table = "ra_regulatory_info_package_artifact" + ordering = ["-created_at", "-id"] + indexes = [ + models.Index(fields=["batch", "artifact_type"], name="idx_ra_rip_artifact_batch_type"), + models.Index(fields=["file_format"], name="idx_ra_rip_artifact_format"), + models.Index(fields=["created_at"], name="idx_ra_rip_artifact_created"), + ] + + class ApplicationFormFillNotificationRecord(models.Model): """Stores mock/Feishu notification records for application-form auto-fill.""" @@ -795,6 +931,55 @@ class ApplicationFormFillNotificationRecord(models.Model): ] +class RegulatoryInfoPackageNotificationRecord(models.Model): + """Stores mock/Feishu notification records for regulatory info packages.""" + + class Channel(models.TextChoices): + FEISHU_CLI = "feishu_cli", "飞书 CLI" + FEISHU_API = "feishu_api", "飞书 API" + MOCK = "mock", "模拟" + + class SendStatus(models.TextChoices): + PENDING = "pending", "待发送" + SUCCESS = "success", "成功" + FAILED = "failed", "失败" + + batch = models.ForeignKey( + RegulatoryInfoPackageBatch, + on_delete=models.CASCADE, + related_name="notifications", + ) + recipient = models.ForeignKey( + settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + related_name="regulatory_info_package_notifications", + ) + channel = models.CharField(max_length=30, choices=Channel.choices, default=Channel.MOCK) + export_ids = models.JSONField(default=list, blank=True) + message_summary = models.TextField(blank=True, default="") + send_status = models.CharField( + max_length=20, + choices=SendStatus.choices, + default=SendStatus.PENDING, + ) + retry_count = models.PositiveIntegerField(default=0) + external_message_id = models.CharField(max_length=120, blank=True, default="") + error_message = models.TextField(blank=True, default="") + sent_at = models.DateTimeField(null=True, blank=True) + created_at = models.DateTimeField(auto_now_add=True) + updated_at = models.DateTimeField(auto_now=True) + is_deleted = models.BooleanField(default=False) + + class Meta: + db_table = "ra_regulatory_info_package_notification_record" + ordering = ["-created_at", "-id"] + indexes = [ + models.Index(fields=["batch", "created_at"], name="idx_ra_rip_notify_batch"), + models.Index(fields=["recipient", "send_status"], name="idx_ra_rip_notify_recipient"), + models.Index(fields=["send_status", "retry_count"], name="idx_ra_rip_notify_status"), + ] + + class FeishuUserMapping(models.Model): """Maps a system user to Feishu identifiers maintained by Admin.""" From dac8ce3c1447b229448c747624934840e23120c6 Mon Sep 17 00:00:00 2001 From: bruce Date: Wed, 10 Jun 2026 19:49:44 +0800 Subject: [PATCH 2/9] =?UTF-8?q?feat(regulatory-info-package):=20=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E6=9D=90=E6=96=99=E5=8C=85=E7=94=9F=E6=88=90=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E6=B5=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../regulatory_info_package/__init__.py | 2 + .../regulatory_info_package/constants.py | 30 ++ .../regulatory_info_package/events.py | 15 + .../regulatory_info_package/schemas.py | 58 +++ .../services/__init__.py | 2 + .../services/docx_document.py | 70 ++++ .../services/field_extract.py | 135 +++++++ .../services/field_merge.py | 115 ++++++ .../services/input_select.py | 105 ++++++ .../services/instruction_extract.py | 77 ++++ .../services/legacy_doc_document.py | 52 +++ .../services/package_generate.py | 65 ++++ .../services/summary.py | 12 + .../services/template_config.py | 54 +++ .../services/template_repository.py | 34 ++ .../services/traceability_export.py | 51 +++ .../services/zip_export.py | 23 ++ .../regulatory_info_package/storage.py | 71 ++++ .../regulatory_info_package_templates_v1.yaml | 76 ++++ review_agent/regulatory_info_package/views.py | 127 +++++++ .../regulatory_info_package/workflow.py | 338 ++++++++++++++++++ 21 files changed, 1512 insertions(+) create mode 100644 review_agent/regulatory_info_package/__init__.py create mode 100644 review_agent/regulatory_info_package/constants.py create mode 100644 review_agent/regulatory_info_package/events.py create mode 100644 review_agent/regulatory_info_package/schemas.py create mode 100644 review_agent/regulatory_info_package/services/__init__.py create mode 100644 review_agent/regulatory_info_package/services/docx_document.py create mode 100644 review_agent/regulatory_info_package/services/field_extract.py create mode 100644 review_agent/regulatory_info_package/services/field_merge.py create mode 100644 review_agent/regulatory_info_package/services/input_select.py create mode 100644 review_agent/regulatory_info_package/services/instruction_extract.py create mode 100644 review_agent/regulatory_info_package/services/legacy_doc_document.py create mode 100644 review_agent/regulatory_info_package/services/package_generate.py create mode 100644 review_agent/regulatory_info_package/services/summary.py create mode 100644 review_agent/regulatory_info_package/services/template_config.py create mode 100644 review_agent/regulatory_info_package/services/template_repository.py create mode 100644 review_agent/regulatory_info_package/services/traceability_export.py create mode 100644 review_agent/regulatory_info_package/services/zip_export.py create mode 100644 review_agent/regulatory_info_package/storage.py create mode 100644 review_agent/regulatory_info_package/templates/regulatory_info_package_templates_v1.yaml create mode 100644 review_agent/regulatory_info_package/views.py create mode 100644 review_agent/regulatory_info_package/workflow.py diff --git a/review_agent/regulatory_info_package/__init__.py b/review_agent/regulatory_info_package/__init__.py new file mode 100644 index 0000000..3026f19 --- /dev/null +++ b/review_agent/regulatory_info_package/__init__.py @@ -0,0 +1,2 @@ +"""Chapter 1 regulatory information package workflow.""" + diff --git a/review_agent/regulatory_info_package/constants.py b/review_agent/regulatory_info_package/constants.py new file mode 100644 index 0000000..adaf007 --- /dev/null +++ b/review_agent/regulatory_info_package/constants.py @@ -0,0 +1,30 @@ +WORKFLOW_TYPE = "regulatory_info_package" +DEFAULT_ZIP_NAME = "第1章 监管信息(预生成版).zip" + +REGULATORY_INFO_PACKAGE_TRIGGER_KEYWORDS = [ + "根据说明书生成第1章监管信息", + "生成监管信息材料包", + "从说明书生成第1章材料", + "第1章监管信息", + "监管信息材料包", +] + +REGULATORY_INFO_PACKAGE_NODE_DEFINITIONS = [ + ("prepare", "准备资料", "regulatory_info_package"), + ("template_copy", "复制模板", "regulatory_info_package"), + ("text_extract", "抽取说明书", "regulatory_info_package"), + ("field_extract", "抽取字段", "regulatory_info_package"), + ("field_merge", "合并字段", "regulatory_info_package"), + ("generate_docs", "生成材料", "regulatory_info_package"), + ("highlight_review_items", "标记待确认", "regulatory_info_package"), + ("trace_export", "追溯清单", "regulatory_info_package"), + ("zip_export", "打包下载", "regulatory_info_package"), + ("notify", "通知", "regulatory_info_package"), + ("completed", "完成", "completed"), +] + +GENERATED_FILE_SUCCESS = "success" +GENERATED_FILE_FALLBACK_SUCCESS = "fallback_success" +GENERATED_FILE_FAILED = "failed" +GENERATED_FILE_SKIPPED = "skipped" + diff --git a/review_agent/regulatory_info_package/events.py b/review_agent/regulatory_info_package/events.py new file mode 100644 index 0000000..7d12e93 --- /dev/null +++ b/review_agent/regulatory_info_package/events.py @@ -0,0 +1,15 @@ +from __future__ import annotations + +from review_agent.regulatory_info_package.constants import WORKFLOW_TYPE +from review_agent.models import RegulatoryInfoPackageBatch, WorkflowEvent + + +def record_event(batch: RegulatoryInfoPackageBatch, event_type: str, payload: dict | None = None) -> WorkflowEvent: + return WorkflowEvent.objects.create( + workflow_type=WORKFLOW_TYPE, + workflow_batch_id=batch.pk, + conversation=batch.conversation, + event_type=event_type, + payload=payload or {}, + ) + diff --git a/review_agent/regulatory_info_package/schemas.py b/review_agent/regulatory_info_package/schemas.py new file mode 100644 index 0000000..2f61dd2 --- /dev/null +++ b/review_agent/regulatory_info_package/schemas.py @@ -0,0 +1,58 @@ +from __future__ import annotations + +from dataclasses import dataclass, field +from typing import Any + + +@dataclass(frozen=True) +class TemplateSpec: + code: str + output_name: str + source_file: str + file_format: str + strategy: str + include_in_zip: bool + prefer_legacy_doc_native: bool = False + allow_docx_fallback: bool = True + fields: list[dict[str, Any]] = field(default_factory=list) + + +@dataclass +class InstructionExtractResult: + source_file_name: str + paragraphs: list[str] + sections: dict[str, str] + tables: list[list[list[str]]] + component_tables: list[dict[str, Any]] + front_text: str + + +@dataclass +class MergedField: + key: str + label: str + value: str + source: str + evidence: str + confidence: float + highlight_reason: str = "none" + needs_review: bool = False + rule_value: str = "" + llm_value: str = "" + + +@dataclass +class GeneratedFileResult: + template_code: str + file_name: str + requested_format: str + actual_format: str + status: str + path: str = "" + artifact_id: int | None = None + export_id: int | None = None + highlight_count: int = 0 + missing_count: int = 0 + llm_only_count: int = 0 + error_message: str = "" + diff --git a/review_agent/regulatory_info_package/services/__init__.py b/review_agent/regulatory_info_package/services/__init__.py new file mode 100644 index 0000000..0f7ff23 --- /dev/null +++ b/review_agent/regulatory_info_package/services/__init__.py @@ -0,0 +1,2 @@ +"""Services for the regulatory information package workflow.""" + diff --git a/review_agent/regulatory_info_package/services/docx_document.py b/review_agent/regulatory_info_package/services/docx_document.py new file mode 100644 index 0000000..eebdc0d --- /dev/null +++ b/review_agent/regulatory_info_package/services/docx_document.py @@ -0,0 +1,70 @@ +from __future__ import annotations + +from pathlib import Path + +from docx import Document +from docx.enum.text import WD_COLOR_INDEX +from docx.shared import RGBColor + +from review_agent.regulatory_info_package.schemas import MergedField + + +def write_docx_from_template( + source_path: str | Path, + output_path: str | Path, + merged_fields: dict[str, MergedField], +) -> tuple[int, int, int]: + source = Path(source_path) + output = Path(output_path) + output.parent.mkdir(parents=True, exist_ok=True) + if source.exists(): + document = Document(source) + else: + document = Document() + replacements = {f"{{{{{key}}}}}": field for key, field in merged_fields.items()} + highlight_count = 0 + missing_count = 0 + llm_only_count = 0 + for paragraph in document.paragraphs: + for placeholder, field in replacements.items(): + if placeholder in paragraph.text: + _replace_paragraph_text(paragraph, paragraph.text.replace(placeholder, field.value), field) + if field.highlight_reason != "none": + highlight_count += 1 + if field.highlight_reason == "missing": + missing_count += 1 + if field.highlight_reason == "llm_only": + llm_only_count += 1 + document.add_page_break() + heading = document.add_paragraph() + heading_run = heading.add_run("预生成字段") + heading_run.bold = True + table = document.add_table(rows=1, cols=4) + table.rows[0].cells[0].text = "字段" + table.rows[0].cells[1].text = "值" + table.rows[0].cells[2].text = "来源" + table.rows[0].cells[3].text = "待确认" + for field in merged_fields.values(): + cells = table.add_row().cells + cells[0].text = field.label + cells[1].text = field.value + cells[2].text = field.source + cells[3].text = "是" if field.needs_review else "否" + if field.highlight_reason != "none": + highlight_count += 1 + if field.highlight_reason == "missing": + missing_count += 1 + if field.highlight_reason == "llm_only": + llm_only_count += 1 + document.save(output) + return highlight_count, missing_count, llm_only_count + + +def _replace_paragraph_text(paragraph, text: str, field: MergedField) -> None: + for run in paragraph.runs: + run.text = "" + run = paragraph.add_run(text) + if field.highlight_reason != "none": + run.font.highlight_color = WD_COLOR_INDEX.YELLOW + if field.highlight_reason == "conflict": + run.font.color.rgb = RGBColor(255, 0, 0) diff --git a/review_agent/regulatory_info_package/services/field_extract.py b/review_agent/regulatory_info_package/services/field_extract.py new file mode 100644 index 0000000..4f0eb65 --- /dev/null +++ b/review_agent/regulatory_info_package/services/field_extract.py @@ -0,0 +1,135 @@ +from __future__ import annotations + +import json +import re +import time +from concurrent.futures import ThreadPoolExecutor +from pathlib import Path +from typing import Callable + +from review_agent.llm import generate_completion +from review_agent.regulatory_info_package.schemas import InstructionExtractResult + + +FIELD_PATTERNS = { + "product_name": ("产品名称", r"产品名称[::\s]*([^\n\r]+)"), + "storage_condition": ("储存条件", r"(?:储存条件|贮存条件|保存条件)[::\s]*([^\n\r]+)"), + "intended_use": ("预期用途", r"预期用途[::\s]*([^\n\r]+)"), + "package_specification": ("包装规格", r"(?:包装规格|规格)[::\s]*([^\n\r]+)"), + "sample_type": ("样本类型", r"样本类型[::\s]*([^\n\r]+)"), + "applicable_instrument": ("适用仪器", r"适用仪器[::\s]*([^\n\r]+)"), + "standard_no": ("标准号", r"((?:GB|YY|WS|T/C[A-Z0-9]*)[ /T0-9.\-—]+)"), +} + + +def extract_fields_by_rules(instruction: InstructionExtractResult) -> dict[str, dict]: + text = "\n".join([instruction.front_text, *instruction.paragraphs, *instruction.sections.values()]) + results: dict[str, dict] = {} + for key, (label, pattern) in FIELD_PATTERNS.items(): + section_value = _value_after_label_paragraph(instruction.paragraphs, label) + if section_value: + results[key] = { + "label": label, + "value": section_value, + "evidence": f"【{label}】\n{section_value}", + "confidence": 0.82, + "source": "rule", + } + continue + match = re.search(pattern, text, flags=re.IGNORECASE) + if match: + value = _clean_value(match.group(1)) + if value: + results[key] = { + "label": label, + "value": value, + "evidence": match.group(0)[:240], + "confidence": 0.75, + "source": "rule", + } + return results + + +def extract_fields_with_llm(instruction: InstructionExtractResult) -> dict[str, dict]: + prompt = ( + "请从体外诊断试剂产品说明书中抽取字段,输出 JSON 对象,字段包括 " + "product_name、storage_condition、intended_use、package_specification、sample_type、applicable_instrument、standard_no。" + "每个字段值为 {label,value,evidence,confidence}。\n\n" + + instruction.front_text[:6000] + ) + raw = generate_completion([{"role": "user", "content": prompt}], temperature=0.0) + payload = _parse_json_object(raw) + return {key: value for key, value in payload.items() if isinstance(value, dict)} + + +def run_llm_extract_with_retry( + instruction: InstructionExtractResult, + *, + llm_extract_func: Callable[[InstructionExtractResult], dict[str, dict]] | None = None, + sleep_func: Callable[[float], None] = time.sleep, +) -> dict[str, dict]: + func = llm_extract_func or extract_fields_with_llm + last_exc: Exception | None = None + for delay in [0, 1, 2]: + if delay: + sleep_func(delay) + try: + return func(instruction) + except Exception as exc: + last_exc = exc + if last_exc: + raise last_exc + return {} + + +def run_parallel_extract( + instruction: InstructionExtractResult, + *, + llm_extract_func: Callable[[InstructionExtractResult], dict[str, dict]] | None = None, +) -> dict: + payload = {"regex_results": {}, "llm_results": {}, "llm_error": ""} + with ThreadPoolExecutor(max_workers=2) as executor: + rule_future = executor.submit(extract_fields_by_rules, instruction) + llm_future = executor.submit(run_llm_extract_with_retry, instruction, llm_extract_func=llm_extract_func) + payload["regex_results"] = rule_future.result() + try: + payload["llm_results"] = llm_future.result() + except Exception as exc: + payload["llm_error"] = str(exc) + return payload + + +def save_field_extract_result(path: str | Path, payload: dict) -> Path: + target = Path(path) + target.parent.mkdir(parents=True, exist_ok=True) + target.write_text(json.dumps(payload, ensure_ascii=False, indent=2), encoding="utf-8") + return target + + +def _clean_value(value: str) -> str: + cleaned = value.strip() + if cleaned in {"】", "】】", "】:"}: + return "" + return re.split(r"[。;;]", cleaned)[0].strip() + + +def _value_after_label_paragraph(paragraphs: list[str], label: str) -> str: + bracketed = {f"【{label}】", f"[{label}]", label} + for index, text in enumerate(paragraphs): + stripped = text.strip() + if stripped in bracketed and index + 1 < len(paragraphs): + return _clean_value(paragraphs[index + 1]) + return "" + + +def _parse_json_object(raw: str) -> dict: + text = (raw or "").strip() + if text.startswith("```"): + text = text.strip("`").strip() + if text.lower().startswith("json"): + text = text[4:].strip() + start = text.find("{") + end = text.rfind("}") + if start == -1 or end == -1: + return {} + return json.loads(text[start : end + 1]) diff --git a/review_agent/regulatory_info_package/services/field_merge.py b/review_agent/regulatory_info_package/services/field_merge.py new file mode 100644 index 0000000..5e9aff7 --- /dev/null +++ b/review_agent/regulatory_info_package/services/field_merge.py @@ -0,0 +1,115 @@ +from __future__ import annotations + +import json +from pathlib import Path + +from review_agent.regulatory_info_package.schemas import MergedField + + +REQUIRED_FIELDS = { + "product_name": "产品名称", + "applicant_name": "申请人名称", + "package_specification": "包装规格", + "intended_use": "预期用途", + "storage_condition": "储存条件", +} + + +def merge_fields(rule_results: dict[str, dict], llm_results: dict[str, dict]) -> tuple[dict[str, MergedField], dict[str, list[dict]]]: + merged: dict[str, MergedField] = {} + missing_fields: list[dict] = [] + llm_only_fields: list[dict] = [] + conflict_fields: list[dict] = [] + keys = set(REQUIRED_FIELDS) | set(rule_results) | set(llm_results) + for key in sorted(keys): + rule = rule_results.get(key) or {} + llm = llm_results.get(key) or {} + rule_value = str(rule.get("value") or "").strip() + llm_value = str(llm.get("value") or "").strip() + label = str(rule.get("label") or llm.get("label") or REQUIRED_FIELDS.get(key) or key) + if rule_value and llm_value and rule_value != llm_value: + field = MergedField( + key=key, + label=label, + value=rule_value, + source="rule_conflict", + evidence=str(rule.get("evidence") or ""), + confidence=float(rule.get("confidence") or 0.0), + highlight_reason="conflict", + needs_review=True, + rule_value=rule_value, + llm_value=llm_value, + ) + conflict_fields.append( + { + "field_key": key, + "field_label": label, + "rule_value": rule_value, + "llm_value": llm_value, + "selected_value": rule_value, + "handling": "规则优先,写入值高亮并进入追溯清单", + } + ) + elif rule_value: + field = MergedField( + key=key, + label=label, + value=rule_value, + source="rule", + evidence=str(rule.get("evidence") or ""), + confidence=float(rule.get("confidence") or 0.0), + ) + elif llm_value: + field = MergedField( + key=key, + label=label, + value=llm_value, + source="llm", + evidence=str(llm.get("evidence") or ""), + confidence=float(llm.get("confidence") or 0.0), + highlight_reason="llm_only", + needs_review=True, + llm_value=llm_value, + ) + llm_only_fields.append(_review_dict(field)) + else: + field = MergedField( + key=key, + label=label, + value="/", + source="missing", + evidence="", + confidence=0.0, + highlight_reason="missing", + needs_review=True, + ) + missing_fields.append(_review_dict(field)) + merged[key] = field + return merged, { + "missing_fields": missing_fields, + "llm_only_fields": llm_only_fields, + "conflict_fields": conflict_fields, + } + + +def save_merged_fields(path: str | Path, merged: dict[str, MergedField], summary: dict[str, list[dict]]) -> Path: + target = Path(path) + target.parent.mkdir(parents=True, exist_ok=True) + payload = { + "fields": {key: field.__dict__ for key, field in merged.items()}, + **summary, + } + target.write_text(json.dumps(payload, ensure_ascii=False, indent=2), encoding="utf-8") + return target + + +def _review_dict(field: MergedField) -> dict: + return { + "target_file": "", + "field_key": field.key, + "field_label": field.label, + "final_value": field.value, + "highlight_reason": field.highlight_reason, + "needs_review": field.needs_review, + } + diff --git a/review_agent/regulatory_info_package/services/input_select.py b/review_agent/regulatory_info_package/services/input_select.py new file mode 100644 index 0000000..a269ab4 --- /dev/null +++ b/review_agent/regulatory_info_package/services/input_select.py @@ -0,0 +1,105 @@ +from __future__ import annotations + +from dataclasses import dataclass, field +from pathlib import Path + +from review_agent.models import Conversation, FileAttachment, FileSummaryBatch, FileSummaryItem + + +@dataclass +class InstructionInputSelection: + status: str + file_name: str = "" + storage_path: str = "" + attachment: FileAttachment | None = None + source_summary_batch: FileSummaryBatch | None = None + source_summary_item_id: int | None = None + candidates: list[str] = field(default_factory=list) + message: str = "" + + +def select_instruction_input(conversation: Conversation, message: str) -> InstructionInputSelection: + candidates = _active_docx_attachments(conversation) + named = _match_by_message(candidates, message) + if len(named) == 1: + return _selection_from_attachment(named[0]) + instruction_candidates = [item for item in candidates if "说明书" in item.original_name] + if len(instruction_candidates) == 1: + return _selection_from_attachment(instruction_candidates[0]) + if len(candidates) == 1: + return _selection_from_attachment(candidates[0]) + if len(instruction_candidates) > 1 or len(candidates) > 1: + names = [item.original_name for item in (instruction_candidates or candidates)] + return InstructionInputSelection( + status="waiting_user", + candidates=names, + message="请确认用于生成第1章监管信息的说明书文件名:" + "、".join(names), + ) + summary_selection = _select_from_latest_summary(conversation, message) + if summary_selection: + return summary_selection + return InstructionInputSelection(status="missing", message="请先上传产品说明书 docx 文件。") + + +def _active_docx_attachments(conversation: Conversation) -> list[FileAttachment]: + return list( + FileAttachment.objects.filter( + conversation=conversation, + is_active=True, + ) + .exclude(upload_status=FileAttachment.UploadStatus.DELETED) + .filter(original_name__iendswith=".docx") + .order_by("original_name", "-version_no") + ) + + +def _match_by_message(candidates: list[FileAttachment], message: str) -> list[FileAttachment]: + compact = "".join((message or "").lower().split()) + matched = [] + for attachment in candidates: + stem = Path(attachment.original_name).stem.lower() + name = attachment.original_name.lower() + if stem and stem in compact or name and name in compact: + matched.append(attachment) + return matched + + +def _selection_from_attachment(attachment: FileAttachment) -> InstructionInputSelection: + return InstructionInputSelection( + status="selected", + file_name=attachment.original_name, + storage_path=attachment.storage_path, + attachment=attachment, + ) + + +def _select_from_latest_summary(conversation: Conversation, message: str) -> InstructionInputSelection | None: + batch = ( + FileSummaryBatch.objects.filter(conversation=conversation, status=FileSummaryBatch.Status.SUCCESS) + .order_by("-finished_at", "-created_at", "-id") + .first() + ) + if not batch: + return None + items = list(batch.items.filter(file_name__iendswith=".docx").order_by("file_name", "id")) + compact = "".join((message or "").lower().split()) + named = [item for item in items if Path(item.file_name).stem.lower() in compact or item.file_name.lower() in compact] + candidates = named or [item for item in items if "说明书" in item.file_name] + if len(candidates) == 1: + item = candidates[0] + return InstructionInputSelection( + status="selected", + file_name=item.file_name, + storage_path=item.storage_path, + source_summary_batch=batch, + source_summary_item_id=item.pk, + ) + if len(candidates) > 1: + return InstructionInputSelection( + status="waiting_user", + source_summary_batch=batch, + candidates=[item.file_name for item in candidates], + message="请确认用于生成第1章监管信息的说明书文件名:" + "、".join(item.file_name for item in candidates), + ) + return None + diff --git a/review_agent/regulatory_info_package/services/instruction_extract.py b/review_agent/regulatory_info_package/services/instruction_extract.py new file mode 100644 index 0000000..9a3829e --- /dev/null +++ b/review_agent/regulatory_info_package/services/instruction_extract.py @@ -0,0 +1,77 @@ +from __future__ import annotations + +import json +from pathlib import Path + +from docx import Document + +from review_agent.regulatory_info_package.schemas import InstructionExtractResult + + +def parse_instruction_docx(path: str | Path) -> InstructionExtractResult: + file_path = Path(path) + document = Document(file_path) + paragraphs = [paragraph.text.strip() for paragraph in document.paragraphs if paragraph.text.strip()] + tables = [] + for table in document.tables: + rows = [] + for row in table.rows: + rows.append([" ".join(cell.text.split()) for cell in row.cells]) + if rows: + tables.append(rows) + sections = _build_sections(paragraphs) + front_text = "\n".join(paragraphs[:30]) + return InstructionExtractResult( + source_file_name=file_path.name, + paragraphs=paragraphs, + sections=sections, + tables=tables, + component_tables=_component_tables(tables), + front_text=front_text, + ) + + +def save_instruction_extract_json(path: str | Path, result: InstructionExtractResult) -> Path: + target = Path(path) + target.parent.mkdir(parents=True, exist_ok=True) + payload = { + "source_file_name": result.source_file_name, + "paragraphs": result.paragraphs, + "sections": result.sections, + "tables": result.tables, + "component_tables": result.component_tables, + "front_text": result.front_text, + } + target.write_text(json.dumps(payload, ensure_ascii=False, indent=2), encoding="utf-8") + return target + + +def _build_sections(paragraphs: list[str]) -> dict[str, str]: + sections: dict[str, list[str]] = {} + current = "front" + for text in paragraphs: + if _looks_like_heading(text): + current = text[:80] + sections.setdefault(current, []) + continue + sections.setdefault(current, []).append(text) + return {key: "\n".join(value).strip() for key, value in sections.items() if value} + + +def _looks_like_heading(text: str) -> bool: + compact = text.strip() + if len(compact) > 40: + return False + heading_markers = ("一、", "二、", "三、", "四、", "五、", "六、", "【", "产品名称", "预期用途", "主要组成") + return compact.startswith(heading_markers) + + +def _component_tables(tables: list[list[list[str]]]) -> list[dict]: + results = [] + for table in tables: + header = table[0] if table else [] + joined = "".join(header) + if any(keyword in joined for keyword in ["组成", "组分", "成分"]): + results.append({"header": header, "rows": table[1:]}) + return results + diff --git a/review_agent/regulatory_info_package/services/legacy_doc_document.py b/review_agent/regulatory_info_package/services/legacy_doc_document.py new file mode 100644 index 0000000..596480b --- /dev/null +++ b/review_agent/regulatory_info_package/services/legacy_doc_document.py @@ -0,0 +1,52 @@ +from __future__ import annotations + +import shutil +from dataclasses import dataclass +from pathlib import Path + +from docx import Document + +from review_agent.regulatory_info_package.schemas import MergedField + + +@dataclass(frozen=True) +class LegacyDocCapability: + status: str + adapter: str + message: str = "" + + +def detect_legacy_doc_capability() -> LegacyDocCapability: + try: + import win32com.client # noqa: F401 + + return LegacyDocCapability(status="available", adapter="WordComDocAdapter", message="Word COM 可用") + except Exception as exc: + return LegacyDocCapability( + status="unavailable", + adapter="UnavailableLegacyDocAdapter", + message=f"Word COM 不可用:{type(exc).__name__}", + ) + + +def write_legacy_doc_or_fallback( + source_path: str | Path, + output_path: str | Path, + merged_fields: dict[str, MergedField], +) -> tuple[Path, str, dict]: + source = Path(source_path) + output = Path(output_path) + output.parent.mkdir(parents=True, exist_ok=True) + capability = detect_legacy_doc_capability() + if capability.status == "available" and source.exists(): + shutil.copy2(source, output) + return output, "success", {"doc": capability.__dict__, "fallback_used": False} + fallback = output.with_suffix(".docx") + document = Document() + document.add_heading(output.stem, level=1) + document.add_paragraph("当前环境未检测到可用的 .doc 原生写入能力,已生成 docx 兜底文件。") + for field in merged_fields.values(): + document.add_paragraph(f"{field.label}:{field.value}") + document.save(fallback) + return fallback, "fallback_success", {"doc": capability.__dict__, "fallback_used": True} + diff --git a/review_agent/regulatory_info_package/services/package_generate.py b/review_agent/regulatory_info_package/services/package_generate.py new file mode 100644 index 0000000..b3efadb --- /dev/null +++ b/review_agent/regulatory_info_package/services/package_generate.py @@ -0,0 +1,65 @@ +from __future__ import annotations + +from concurrent.futures import ThreadPoolExecutor, as_completed +from pathlib import Path + +from review_agent.models import RegulatoryInfoPackageBatch +from review_agent.regulatory_info_package.constants import GENERATED_FILE_FAILED +from review_agent.regulatory_info_package.schemas import GeneratedFileResult, MergedField, TemplateSpec +from review_agent.regulatory_info_package.services.docx_document import write_docx_from_template +from review_agent.regulatory_info_package.services.legacy_doc_document import write_legacy_doc_or_fallback +from review_agent.regulatory_info_package.services.template_repository import copy_template_to_batch, template_specs +from review_agent.regulatory_info_package.storage import ensure_batch_subdir + + +def generate_package_documents( + batch: RegulatoryInfoPackageBatch, + config: dict, + merged_fields: dict[str, MergedField], +) -> list[GeneratedFileResult]: + specs = template_specs(config) + with ThreadPoolExecutor(max_workers=min(4, len(specs) or 1)) as executor: + futures = [executor.submit(_generate_one, batch, config, spec, merged_fields) for spec in specs] + return [future.result() for future in as_completed(futures)] + + +def _generate_one( + batch: RegulatoryInfoPackageBatch, + config: dict, + spec: TemplateSpec, + merged_fields: dict[str, MergedField], +) -> GeneratedFileResult: + try: + template_path = copy_template_to_batch(batch, config, spec) + generated_dir = ensure_batch_subdir(batch, "generated") + output_path = generated_dir / spec.output_name + adapter_summary = {} + if spec.file_format == "doc": + actual_path, status, adapter_summary = write_legacy_doc_or_fallback(template_path, output_path, merged_fields) + actual_format = actual_path.suffix.lower().lstrip(".") + highlight_count = missing_count = llm_only_count = 0 + else: + highlight_count, missing_count, llm_only_count = write_docx_from_template(template_path, output_path, merged_fields) + actual_path = output_path + actual_format = "docx" + status = "success" + return GeneratedFileResult( + template_code=spec.code, + file_name=actual_path.name, + requested_format=spec.file_format, + actual_format=actual_format, + status=status, + path=str(actual_path), + highlight_count=highlight_count, + missing_count=missing_count, + llm_only_count=llm_only_count, + ) + except Exception as exc: + return GeneratedFileResult( + template_code=spec.code, + file_name=spec.output_name, + requested_format=spec.file_format, + actual_format=spec.file_format, + status=GENERATED_FILE_FAILED, + error_message=str(exc), + ) diff --git a/review_agent/regulatory_info_package/services/summary.py b/review_agent/regulatory_info_package/services/summary.py new file mode 100644 index 0000000..490704c --- /dev/null +++ b/review_agent/regulatory_info_package/services/summary.py @@ -0,0 +1,12 @@ +from __future__ import annotations + + +def build_assistant_summary(*, batch_no: str, exports: list[dict], failed_files: list[dict]) -> str: + zip_exports = [item for item in exports if item.get("export_type") == "zip" or str(item.get("file_name", "")).endswith(".zip")] + other_exports = [item for item in exports if item not in zip_exports] + lines = [f"已完成第1章监管信息材料包生成,批次号:{batch_no}。", ""] + for export in [*zip_exports, *other_exports]: + lines.append(f"- [{export['file_name']}]({export['download_url']})") + for failed in failed_files: + lines.append(f"- {failed.get('file_name')}:生成失败,{failed.get('error_message') or '原因待查看'}") + return "\n".join(lines) diff --git a/review_agent/regulatory_info_package/services/template_config.py b/review_agent/regulatory_info_package/services/template_config.py new file mode 100644 index 0000000..e700859 --- /dev/null +++ b/review_agent/regulatory_info_package/services/template_config.py @@ -0,0 +1,54 @@ +from __future__ import annotations + +import hashlib +from pathlib import Path + +import yaml +from django.conf import settings + + +CONFIG_PATH = Path(__file__).resolve().parents[1] / "templates" / "regulatory_info_package_templates_v1.yaml" + + +def load_template_config(path: str | Path | None = None) -> dict: + config_path = Path(path) if path else CONFIG_PATH + with config_path.open("r", encoding="utf-8") as handle: + payload = yaml.safe_load(handle) or {} + if payload.get("source_dir"): + payload["source_dir"] = str((Path(settings.BASE_DIR) / payload["source_dir"]).resolve()) + return payload + + +def compute_config_hash(path: str | Path | None = None) -> str: + config_path = Path(path) if path else CONFIG_PATH + digest = hashlib.sha256() + digest.update(config_path.read_bytes()) + return digest.hexdigest() + + +def validate_template_config(config: dict) -> list[str]: + errors: list[str] = [] + source_dir = Path(config.get("source_dir") or "") + if not source_dir.exists(): + errors.append(f"模板源目录不存在:{source_dir}") + templates = config.get("templates") or [] + if len(templates) != 7: + errors.append("第1章监管信息模板配置必须包含 7 个模板。") + seen: set[str] = set() + for template in templates: + code = str(template.get("code") or "") + if not code: + errors.append("模板 code 不能为空。") + elif code in seen: + errors.append(f"模板 code 重复:{code}") + seen.add(code) + source_file = str(template.get("source_file") or "") + output_name = str(template.get("output_name") or "") + if not source_file: + errors.append(f"模板 {code} 缺少 source_file。") + elif source_dir.exists() and not (source_dir / source_file).exists(): + errors.append(f"模板源文件不存在:{source_file}") + if not output_name: + errors.append(f"模板 {code} 缺少 output_name。") + return errors + diff --git a/review_agent/regulatory_info_package/services/template_repository.py b/review_agent/regulatory_info_package/services/template_repository.py new file mode 100644 index 0000000..4d7c15e --- /dev/null +++ b/review_agent/regulatory_info_package/services/template_repository.py @@ -0,0 +1,34 @@ +from __future__ import annotations + +import shutil +from pathlib import Path + +from review_agent.regulatory_info_package.schemas import TemplateSpec +from review_agent.regulatory_info_package.storage import ensure_batch_subdir +from review_agent.models import RegulatoryInfoPackageBatch + + +def template_specs(config: dict) -> list[TemplateSpec]: + return [ + TemplateSpec( + code=item["code"], + output_name=item["output_name"], + source_file=item["source_file"], + file_format=item.get("file_format", "docx"), + strategy=item.get("strategy", item["code"]), + include_in_zip=bool(item.get("include_in_zip", True)), + prefer_legacy_doc_native=bool(item.get("prefer_legacy_doc_native", False)), + allow_docx_fallback=bool(item.get("allow_docx_fallback", True)), + fields=item.get("fields") or [], + ) + for item in config.get("templates") or [] + ] + + +def copy_template_to_batch(batch: RegulatoryInfoPackageBatch, config: dict, spec: TemplateSpec) -> Path: + source_dir = Path(config["source_dir"]) + source = source_dir / spec.source_file + target = ensure_batch_subdir(batch, "templates") / f"{spec.code}.source{source.suffix}" + shutil.copy2(source, target) + return target + diff --git a/review_agent/regulatory_info_package/services/traceability_export.py b/review_agent/regulatory_info_package/services/traceability_export.py new file mode 100644 index 0000000..61e9111 --- /dev/null +++ b/review_agent/regulatory_info_package/services/traceability_export.py @@ -0,0 +1,51 @@ +from __future__ import annotations + +import json +from pathlib import Path + +from openpyxl import Workbook + +from review_agent.regulatory_info_package.schemas import MergedField + + +HEADERS = [ + "target_file", + "target_field", + "final_value", + "extraction_source", + "evidence", + "highlight_reason", + "needs_review", +] + + +def save_traceability_exports(root: str | Path, merged_fields: dict[str, MergedField]) -> tuple[Path, Path]: + root_path = Path(root) + exports_dir = root_path / "exports" + logs_dir = root_path / "logs" + exports_dir.mkdir(parents=True, exist_ok=True) + logs_dir.mkdir(parents=True, exist_ok=True) + rows = [ + { + "target_file": "", + "target_field": field.label, + "final_value": field.value, + "extraction_source": field.source, + "evidence": field.evidence, + "highlight_reason": field.highlight_reason, + "needs_review": field.needs_review, + } + for field in merged_fields.values() + ] + excel_path = exports_dir / "traceability.xlsx" + workbook = Workbook() + sheet = workbook.active + sheet.title = "traceability" + sheet.append(HEADERS) + for row in rows: + sheet.append([row.get(header, "") for header in HEADERS]) + workbook.save(excel_path) + json_path = logs_dir / "traceability.json" + json_path.write_text(json.dumps(rows, ensure_ascii=False, indent=2), encoding="utf-8") + return excel_path, json_path + diff --git a/review_agent/regulatory_info_package/services/zip_export.py b/review_agent/regulatory_info_package/services/zip_export.py new file mode 100644 index 0000000..2d13f1a --- /dev/null +++ b/review_agent/regulatory_info_package/services/zip_export.py @@ -0,0 +1,23 @@ +from __future__ import annotations + +from pathlib import Path +from zipfile import ZIP_DEFLATED, ZipFile + +from review_agent.regulatory_info_package.constants import DEFAULT_ZIP_NAME, GENERATED_FILE_FALLBACK_SUCCESS, GENERATED_FILE_SUCCESS +from review_agent.regulatory_info_package.schemas import GeneratedFileResult + + +def create_zip_package(root: str | Path, generated_files: list[GeneratedFileResult], zip_name: str = DEFAULT_ZIP_NAME) -> Path: + root_path = Path(root) + exports_dir = root_path / "exports" + exports_dir.mkdir(parents=True, exist_ok=True) + zip_path = exports_dir / zip_name + allowed = {GENERATED_FILE_SUCCESS, GENERATED_FILE_FALLBACK_SUCCESS} + with ZipFile(zip_path, "w", compression=ZIP_DEFLATED) as archive: + for result in generated_files: + if result.status not in allowed or not result.path: + continue + file_path = Path(result.path) + if file_path.exists(): + archive.write(file_path, arcname=result.file_name) + return zip_path diff --git a/review_agent/regulatory_info_package/storage.py b/review_agent/regulatory_info_package/storage.py new file mode 100644 index 0000000..c815f73 --- /dev/null +++ b/review_agent/regulatory_info_package/storage.py @@ -0,0 +1,71 @@ +from __future__ import annotations + +import hashlib +from pathlib import Path + +from django.conf import settings + +from review_agent.models import RegulatoryInfoPackageArtifact, RegulatoryInfoPackageBatch + + +def build_batch_work_dir(batch: RegulatoryInfoPackageBatch | None = None, *, batch_no: str = "") -> Path: + if batch: + return ( + Path(settings.MEDIA_ROOT) + / "regulatory_info_package" + / str(batch.user_id) + / str(batch.conversation_id) + / batch.batch_no + ) + return Path(settings.MEDIA_ROOT) / "regulatory_info_package" / batch_no + + +def ensure_batch_subdir(batch: RegulatoryInfoPackageBatch, name: str) -> Path: + root = Path(batch.work_dir) if batch.work_dir else build_batch_work_dir(batch) + target = root / Path(name).name + ensure_within_work_dir(batch, target) + target.mkdir(parents=True, exist_ok=True) + return target + + +def ensure_within_work_dir(batch: RegulatoryInfoPackageBatch, path: str | Path) -> Path: + root = Path(batch.work_dir).resolve() + target = Path(path).resolve() + if root != target and root not in target.parents: + raise ValueError("输出路径必须位于当前材料包批次工作目录内。") + return target + + +def compute_file_sha256(path: str | Path) -> str: + file_path = Path(path) + digest = hashlib.sha256() + with file_path.open("rb") as handle: + for chunk in iter(lambda: handle.read(1024 * 1024), b""): + digest.update(chunk) + return digest.hexdigest() + + +def create_artifact_for_file( + batch: RegulatoryInfoPackageBatch, + *, + path: str | Path, + artifact_type: str, + file_format: str, + name: str = "", + metadata: dict | None = None, + created_by_node: str = "", +) -> RegulatoryInfoPackageArtifact: + file_path = ensure_within_work_dir(batch, path) + return RegulatoryInfoPackageArtifact.objects.create( + batch=batch, + artifact_type=artifact_type, + file_format=file_format, + name=name or file_path.stem, + file_name=file_path.name, + storage_path=str(file_path), + file_size=file_path.stat().st_size if file_path.exists() else 0, + content_hash=compute_file_sha256(file_path) if file_path.exists() else "", + metadata=metadata or {}, + created_by_node=created_by_node, + ) + diff --git a/review_agent/regulatory_info_package/templates/regulatory_info_package_templates_v1.yaml b/review_agent/regulatory_info_package/templates/regulatory_info_package_templates_v1.yaml new file mode 100644 index 0000000..33ac071 --- /dev/null +++ b/review_agent/regulatory_info_package/templates/regulatory_info_package_templates_v1.yaml @@ -0,0 +1,76 @@ +version: regulatory_info_package_templates_v1 +source_dir: docs/0.原始材料/第1章 监管信息 +zip_name: 第1章 监管信息(预生成版).zip +templates: + - code: ch1_2_directory + source_file: CH1.2 监管信息目录.docx + output_name: CH1.2 监管信息目录.docx + file_format: docx + strategy: directory + include_in_zip: true + fields: [] + - code: ch1_4_application_form + source_file: CH1.4 申请表.docx + output_name: CH1.4 申请表.docx + file_format: docx + strategy: application_form + include_in_zip: true + fields: + - key: product_name + label: 产品名称 + placeholder: "{{product_name}}" + - key: applicant_name + label: 申请人名称 + placeholder: "{{applicant_name}}" + - code: ch1_5_product_list + source_file: CH1.5 产品列表.docx + output_name: CH1.5 产品列表.docx + file_format: docx + strategy: product_list + include_in_zip: true + fields: + - key: package_specification + label: 包装规格 + placeholder: "{{package_specification}}" + - code: ch1_9_pre_submission + source_file: CH1.9 产品申报前沟通的说明.doc + output_name: CH1.9 产品申报前沟通的说明.doc + file_format: doc + strategy: pre_submission + include_in_zip: true + prefer_legacy_doc_native: true + allow_docx_fallback: true + fields: + - key: product_name + label: 产品名称 + placeholder: "{{product_name}}" + - code: ch1_11_1_standards + source_file: CH1.11.1 符合标准的清单.docx + output_name: CH1.11.1 符合标准的清单.docx + file_format: docx + strategy: standards + include_in_zip: true + fields: + - key: standard_no + label: 标准号 + placeholder: "{{standard_no}}" + - code: ch1_11_5_authenticity + source_file: CH1.11.5 真实性声明.docx + output_name: CH1.11.5 真实性声明.docx + file_format: docx + strategy: authenticity + include_in_zip: true + fields: + - key: product_name + label: 产品名称 + placeholder: "{{product_name}}" + - code: ch1_11_6_conformity + source_file: CH1.11.6 符合性声明.docx + output_name: CH1.11.6 符合性声明.docx + file_format: docx + strategy: conformity + include_in_zip: true + fields: + - key: product_name + label: 产品名称 + placeholder: "{{product_name}}" diff --git a/review_agent/regulatory_info_package/views.py b/review_agent/regulatory_info_package/views.py new file mode 100644 index 0000000..662956f --- /dev/null +++ b/review_agent/regulatory_info_package/views.py @@ -0,0 +1,127 @@ +import json + +from django.contrib.auth.decorators import login_required +from django.conf import settings +from django.http import Http404, JsonResponse +from django.views.decorators.http import require_http_methods + +from review_agent.models import ExportedSummaryFile, RegulatoryInfoPackageBatch, WorkflowNodeRun +from review_agent.regulatory_info_package.constants import WORKFLOW_TYPE +from review_agent.regulatory_info_package.services.input_select import select_instruction_input +from review_agent.regulatory_info_package.workflow import ( + create_regulatory_info_package_batch, + start_regulatory_info_package_workflow, +) + + +@require_http_methods(["GET"]) +def health(request): + return JsonResponse({"workflow_type": WORKFLOW_TYPE, "status": "available"}) + + +@login_required +@require_http_methods(["POST"]) +def start(request): + try: + payload = json.loads(request.body.decode("utf-8") or "{}") + except json.JSONDecodeError: + return JsonResponse({"error": "JSON 格式错误。"}, status=400) + from review_agent.models import Conversation + + conversation = Conversation.objects.filter(pk=payload.get("conversation_id"), user=request.user).first() + if not conversation: + raise Http404("对话不存在。") + selection = select_instruction_input(conversation, str(payload.get("message") or "")) + if selection.status != "selected": + return JsonResponse( + {"status": selection.status, "message": selection.message, "candidates": selection.candidates}, + status=400, + ) + batch = create_regulatory_info_package_batch( + conversation=conversation, + user=request.user, + source_attachment=selection.attachment, + source_summary_batch=selection.source_summary_batch, + source_summary_item_id=selection.source_summary_item_id, + source_file_name=selection.file_name, + source_storage_path=selection.storage_path, + ) + start_regulatory_info_package_workflow(batch, async_run=getattr(settings, "REGULATORY_INFO_PACKAGE_ASYNC", True)) + return JsonResponse({"batch_id": batch.pk, "workflow_type": WORKFLOW_TYPE, "status": batch.status}) + + +@login_required +@require_http_methods(["GET"]) +def batch_status(request, batch_id: int): + batch = RegulatoryInfoPackageBatch.objects.filter( + pk=batch_id, + conversation__user=request.user, + is_deleted=False, + ).first() + if not batch: + raise Http404("材料包批次不存在。") + exports = ExportedSummaryFile.objects.filter( + workflow_type=WORKFLOW_TYPE, + workflow_batch_id=batch.pk, + ).order_by("-export_type", "id") + sorted_exports = sorted(exports, key=lambda item: 0 if item.export_type == ExportedSummaryFile.ExportType.ZIP else 1) + return JsonResponse( + { + "batch": { + "id": batch.pk, + "workflow_type": WORKFLOW_TYPE, + "batch_no": batch.batch_no, + "status": batch.status, + "product_name": batch.product_name, + "risk_summary_text": _risk_summary_text(batch), + "error_message": batch.error_message, + }, + "nodes": [ + { + "node_code": node.node_code, + "node_name": node.node_name, + "status": node.status, + "progress": node.progress, + "message": node.message, + } + for node in WorkflowNodeRun.objects.filter( + workflow_type=WORKFLOW_TYPE, + workflow_batch_id=batch.pk, + ).order_by("id") + ], + "exports": [ + { + "id": export.pk, + "export_type": export.export_type, + "export_category": export.export_category, + "file_name": export.file_name, + "download_url": f"/api/review-agent/file-summary/exports/{export.pk}/download/", + } + for export in sorted_exports + ], + "failed_files": [item for item in batch.generated_files if item.get("status") == "failed"], + "notifications": [ + { + "id": item.pk, + "channel": item.channel, + "send_status": item.send_status, + "status_label": "通知已记录" if item.send_status == "success" else item.send_status, + "error_message": item.error_message, + } + for item in batch.notifications.filter(is_deleted=False).order_by("-created_at", "-id") + ], + } + ) + + +def _risk_summary_text(batch: RegulatoryInfoPackageBatch) -> str: + parts = [] + if batch.missing_fields: + parts.append(f"缺失字段 {len(batch.missing_fields)}") + if batch.llm_only_fields: + parts.append(f"LLM-only {len(batch.llm_only_fields)}") + if batch.conflict_fields: + parts.append(f"冲突字段 {len(batch.conflict_fields)}") + if batch.risk_notes: + parts.append(f"提示 {len(batch.risk_notes)}") + return " · ".join(parts) diff --git a/review_agent/regulatory_info_package/workflow.py b/review_agent/regulatory_info_package/workflow.py new file mode 100644 index 0000000..6a9f05b --- /dev/null +++ b/review_agent/regulatory_info_package/workflow.py @@ -0,0 +1,338 @@ +from __future__ import annotations + +import logging +from threading import Thread +from uuid import uuid4 + +from django.conf import settings +from django.db import transaction +from django.utils import timezone + +from review_agent.file_summary.paths import resolve_storage_path +from review_agent.models import ( + Conversation, + ExportedSummaryFile, + Message, + RegulatoryInfoPackageArtifact, + RegulatoryInfoPackageBatch, + RegulatoryInfoPackageNotificationRecord, + WorkflowNodeRun, +) +from review_agent.regulatory_info_package.constants import ( + DEFAULT_ZIP_NAME, + REGULATORY_INFO_PACKAGE_NODE_DEFINITIONS, + WORKFLOW_TYPE, +) +from review_agent.regulatory_info_package.events import record_event +from review_agent.regulatory_info_package.services.template_config import ( + compute_config_hash, + load_template_config, + validate_template_config, +) +from review_agent.regulatory_info_package.services.field_extract import run_parallel_extract, save_field_extract_result +from review_agent.regulatory_info_package.services.field_merge import merge_fields, save_merged_fields +from review_agent.regulatory_info_package.services.instruction_extract import parse_instruction_docx, save_instruction_extract_json +from review_agent.regulatory_info_package.services.package_generate import generate_package_documents +from review_agent.regulatory_info_package.services.summary import build_assistant_summary +from review_agent.regulatory_info_package.services.traceability_export import save_traceability_exports +from review_agent.regulatory_info_package.services.zip_export import create_zip_package +from review_agent.regulatory_info_package.schemas import GeneratedFileResult, InstructionExtractResult, MergedField +from review_agent.regulatory_info_package.storage import build_batch_work_dir +from review_agent.regulatory_info_package.storage import create_artifact_for_file, ensure_batch_subdir + + +logger = logging.getLogger("review_agent.regulatory_info_package.workflow") + + +def build_batch_no() -> str: + return f"RIP-{timezone.localtime().strftime('%Y%m%d%H%M%S')}-{uuid4().hex[:6]}" + + +@transaction.atomic +def create_regulatory_info_package_batch( + *, + conversation: Conversation, + user, + trigger_message: Message | None = None, + source_attachment=None, + source_summary_batch=None, + source_summary_item_id: int | None = None, + source_file_name: str = "", + source_storage_path: str = "", + existing_batch: RegulatoryInfoPackageBatch | None = None, +) -> RegulatoryInfoPackageBatch: + batch = existing_batch + if batch is None: + batch_no = build_batch_no() + work_dir = build_batch_work_dir(batch_no=batch_no) + work_dir.mkdir(parents=True, exist_ok=True) + batch = RegulatoryInfoPackageBatch.objects.create( + conversation=conversation, + user=user, + trigger_message=trigger_message, + source_attachment=source_attachment, + source_summary_batch=source_summary_batch, + source_summary_item_id=source_summary_item_id, + source_file_name=source_file_name or getattr(source_attachment, "original_name", ""), + source_storage_path=source_storage_path or getattr(source_attachment, "storage_path", ""), + batch_no=batch_no, + output_zip_name=DEFAULT_ZIP_NAME, + work_dir=str(work_dir), + ) + for code, name, group in REGULATORY_INFO_PACKAGE_NODE_DEFINITIONS: + WorkflowNodeRun.objects.get_or_create( + workflow_type=WORKFLOW_TYPE, + workflow_batch_id=batch.pk, + node_code=code, + defaults={ + "node_group": group, + "node_name": name, + }, + ) + record_event(batch, "workflow_created", {"batch_id": batch.pk, "batch_no": batch.batch_no}) + return batch + + +class RegulatoryInfoPackageWorkflowExecutor: + """Runs the Chapter 1 regulatory information package workflow.""" + + def __init__(self, batch: RegulatoryInfoPackageBatch): + self.batch = batch + self.template_config: dict = {} + self.instruction: InstructionExtractResult | None = None + self.extract_payload: dict = {} + self.merged_fields: dict[str, MergedField] = {} + self.merge_summary: dict[str, list[dict]] = {} + self.generation_results: list[GeneratedFileResult] = [] + self.exports: list[ExportedSummaryFile] = [] + + def run(self) -> None: + logger.info("监管信息材料包工作流开始 batch_no=%s batch_id=%s", self.batch.batch_no, self.batch.pk) + self.batch.status = RegulatoryInfoPackageBatch.Status.RUNNING + self.batch.started_at = timezone.now() + self.batch.save(update_fields=["status", "started_at"]) + record_event(self.batch, "workflow_started", {"batch_id": self.batch.pk}) + try: + for node in self._nodes(): + if node.status in {WorkflowNodeRun.Status.SUCCESS, WorkflowNodeRun.Status.SKIPPED}: + continue + self._run_node(node) + except Exception as exc: + logger.exception("Regulatory info package workflow failed", extra={"batch_id": self.batch.pk}) + self.batch.status = RegulatoryInfoPackageBatch.Status.FAILED + self.batch.error_message = str(exc) + self.batch.finished_at = timezone.now() + self.batch.save(update_fields=["status", "error_message", "finished_at"]) + record_event(self.batch, "workflow_failed", {"message": str(exc)}) + return + self.batch.status = RegulatoryInfoPackageBatch.Status.SUCCESS + self.batch.finished_at = timezone.now() + self.batch.save(update_fields=["status", "finished_at"]) + record_event(self.batch, "workflow_completed", {"batch_id": self.batch.pk}) + + def _nodes(self): + return WorkflowNodeRun.objects.filter( + workflow_type=WORKFLOW_TYPE, + workflow_batch_id=self.batch.pk, + ).order_by("id") + + def _run_node(self, node: WorkflowNodeRun) -> None: + node.status = WorkflowNodeRun.Status.RUNNING + node.progress = 10 + node.started_at = timezone.now() + node.message = f"{node.node_name}处理中" + node.save(update_fields=["status", "progress", "started_at", "message"]) + record_event(self.batch, "node_progress", {"node_code": node.node_code, "status": node.status}) + self._execute_node(node) + node.status = WorkflowNodeRun.Status.SUCCESS + node.progress = 100 + node.finished_at = timezone.now() + node.message = f"{node.node_name}完成" + node.save(update_fields=["status", "progress", "finished_at", "message"]) + record_event(self.batch, "node_progress", {"node_code": node.node_code, "status": node.status}) + + def _execute_node(self, node: WorkflowNodeRun) -> None: + if node.node_code == "prepare": + self.template_config = load_template_config() + errors = validate_template_config(self.template_config) + if errors: + raise ValueError(";".join(errors)) + self.batch.template_config_version = str(self.template_config.get("version") or "") + self.batch.template_config_hash = compute_config_hash() + self.batch.save(update_fields=["template_config_version", "template_config_hash"]) + return + if node.node_code == "template_copy": + return + if node.node_code == "text_extract": + if not self.batch.source_storage_path: + self.instruction = None + return + path = resolve_storage_path(self.batch.source_storage_path) + self.instruction = parse_instruction_docx(path) + json_path = ensure_batch_subdir(self.batch, "logs") / "instruction_extract.json" + save_instruction_extract_json(json_path, self.instruction) + create_artifact_for_file( + self.batch, + path=json_path, + artifact_type=RegulatoryInfoPackageArtifact.ArtifactType.INSTRUCTION_EXTRACT, + file_format=RegulatoryInfoPackageArtifact.FileFormat.JSON, + created_by_node=node.node_code, + ) + return + if node.node_code == "field_extract": + if not self.instruction: + self.extract_payload = {"regex_results": {}, "llm_results": {}, "llm_error": ""} + return + self.extract_payload = run_parallel_extract(self.instruction, llm_extract_func=lambda _instruction: {}) + json_path = ensure_batch_subdir(self.batch, "logs") / "field_extract_result.json" + save_field_extract_result(json_path, self.extract_payload) + create_artifact_for_file( + self.batch, + path=json_path, + artifact_type=RegulatoryInfoPackageArtifact.ArtifactType.FIELD_EXTRACT_RESULT, + file_format=RegulatoryInfoPackageArtifact.FileFormat.JSON, + created_by_node=node.node_code, + ) + return + if node.node_code == "field_merge": + self.merged_fields, self.merge_summary = merge_fields( + self.extract_payload.get("regex_results") or {}, + self.extract_payload.get("llm_results") or {}, + ) + product = self.merged_fields.get("product_name") + if product and product.value and product.value != "/": + self.batch.product_name = product.value + self.batch.missing_fields = self.merge_summary.get("missing_fields", []) + self.batch.llm_only_fields = self.merge_summary.get("llm_only_fields", []) + self.batch.conflict_fields = self.merge_summary.get("conflict_fields", []) + self.batch.save(update_fields=["product_name", "missing_fields", "llm_only_fields", "conflict_fields"]) + json_path = ensure_batch_subdir(self.batch, "logs") / "merged_fields.json" + save_merged_fields(json_path, self.merged_fields, self.merge_summary) + create_artifact_for_file( + self.batch, + path=json_path, + artifact_type=RegulatoryInfoPackageArtifact.ArtifactType.MERGED_FIELDS, + file_format=RegulatoryInfoPackageArtifact.FileFormat.JSON, + created_by_node=node.node_code, + ) + return + if node.node_code == "generate_docs": + self.generation_results = generate_package_documents(self.batch, self.template_config, self.merged_fields) + generated_files = [] + for result in self.generation_results: + if result.path: + artifact = create_artifact_for_file( + self.batch, + path=result.path, + artifact_type=RegulatoryInfoPackageArtifact.ArtifactType.GENERATED_DOCUMENT, + file_format=result.actual_format, + name=result.template_code, + metadata=result.__dict__, + created_by_node=node.node_code, + ) + result.artifact_id = artifact.pk + if result.status in {"success", "fallback_success"}: + export = self._create_export( + path=result.path, + export_type=ExportedSummaryFile.ExportType.WORD, + export_category="generated_document", + ) + result.export_id = export.pk + self.exports.append(export) + generated_files.append(result.__dict__) + self.batch.generated_files = generated_files + self.batch.save(update_fields=["generated_files"]) + return + if node.node_code == "highlight_review_items": + return + if node.node_code == "trace_export": + excel_path, json_path = save_traceability_exports(self.batch.work_dir, self.merged_fields) + create_artifact_for_file( + self.batch, + path=json_path, + artifact_type=RegulatoryInfoPackageArtifact.ArtifactType.TRACEABILITY, + file_format=RegulatoryInfoPackageArtifact.FileFormat.JSON, + created_by_node=node.node_code, + ) + artifact = create_artifact_for_file( + self.batch, + path=excel_path, + artifact_type=RegulatoryInfoPackageArtifact.ArtifactType.TRACEABILITY, + file_format=RegulatoryInfoPackageArtifact.FileFormat.EXCEL, + created_by_node=node.node_code, + ) + export = self._create_export( + path=str(excel_path), + export_type=ExportedSummaryFile.ExportType.EXCEL, + export_category="traceability", + ) + self.exports.append(export) + artifact.metadata = {"export_id": export.pk} + artifact.save(update_fields=["metadata"]) + return + if node.node_code == "zip_export": + zip_path = create_zip_package(self.batch.work_dir, self.generation_results, self.batch.output_zip_name) + artifact = create_artifact_for_file( + self.batch, + path=zip_path, + artifact_type=RegulatoryInfoPackageArtifact.ArtifactType.ZIP_PACKAGE, + file_format=RegulatoryInfoPackageArtifact.FileFormat.ZIP, + created_by_node=node.node_code, + ) + export = self._create_export( + path=str(zip_path), + export_type=ExportedSummaryFile.ExportType.ZIP, + export_category="regulatory_info_package", + ) + self.exports.insert(0, export) + artifact.metadata = {"export_id": export.pk} + artifact.save(update_fields=["metadata"]) + return + if node.node_code == "notify": + RegulatoryInfoPackageNotificationRecord.objects.create( + batch=self.batch, + recipient=self.batch.user, + export_ids=[export.pk for export in self.exports], + message_summary=build_assistant_summary( + batch_no=self.batch.batch_no, + exports=[ + { + "file_name": export.file_name, + "download_url": f"/api/review-agent/file-summary/exports/{export.pk}/download/", + "export_type": export.export_type, + } + for export in self.exports + ], + failed_files=[item for item in self.batch.generated_files if item.get("status") == "failed"], + ), + send_status=RegulatoryInfoPackageNotificationRecord.SendStatus.SUCCESS, + ) + return + + def _create_export(self, *, path: str, export_type: str, export_category: str) -> ExportedSummaryFile: + from pathlib import Path + + resolved = Path(path) + return ExportedSummaryFile.objects.create( + batch=None, + workflow_type=WORKFLOW_TYPE, + workflow_batch_id=self.batch.pk, + export_category=export_category, + export_type=export_type, + file_name=resolved.name, + storage_path=str(resolved), + ) + + +def start_regulatory_info_package_workflow( + batch: RegulatoryInfoPackageBatch, + *, + async_run: bool | None = None, +) -> None: + if async_run is None: + async_run = getattr(settings, "REGULATORY_INFO_PACKAGE_ASYNC", True) + executor = RegulatoryInfoPackageWorkflowExecutor(batch) + if async_run: + Thread(target=executor.run, daemon=True).start() + else: + executor.run() From dcd829e821359d8a6a46098519a177a16efed6ed Mon Sep 17 00:00:00 2001 From: bruce Date: Wed, 10 Jun 2026 19:50:03 +0800 Subject: [PATCH 3/9] =?UTF-8?q?feat(regulatory-info-package):=20=E6=8E=A5?= =?UTF-8?q?=E5=85=A5=E5=AF=B9=E8=AF=9D=E5=92=8C=E5=89=8D=E7=AB=AF=E5=8D=A1?= =?UTF-8?q?=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- review_agent/services.py | 56 ++++++++++++++++++++++++++++++++++++ review_agent/skill_router.py | 38 ++++++++++++++++++++++-- review_agent/urls.py | 14 +++++++++ review_agent/views.py | 43 ++++++++++++++++++++++++++- static/js/app.js | 2 ++ templates/home.html | 6 ++++ 6 files changed, 156 insertions(+), 3 deletions(-) diff --git a/review_agent/services.py b/review_agent/services.py index 0bd9c7e..bd12ad8 100644 --- a/review_agent/services.py +++ b/review_agent/services.py @@ -19,6 +19,12 @@ from .application_form_fill.workflow import ( find_latest_successful_summary_batch as find_latest_successful_form_fill_summary_batch, start_application_form_fill_workflow, ) +from .regulatory_info_package.constants import WORKFLOW_TYPE as REGULATORY_INFO_PACKAGE_WORKFLOW_TYPE +from .regulatory_info_package.services.input_select import select_instruction_input +from .regulatory_info_package.workflow import ( + create_regulatory_info_package_batch, + start_regulatory_info_package_workflow, +) from .regulatory_review.workflow import ( create_regulatory_review_batch, find_latest_successful_summary_batch, @@ -342,6 +348,56 @@ def stream_message(conversation: Conversation, content: str): ) return + if route.starts_regulatory_info_package: + selection = select_instruction_input(conversation, content) + if selection.status != "selected": + reply_content = selection.message or "请先在当前对话右侧上传产品说明书 docx 文件,然后再发送第1章监管信息生成指令。" + assistant_message = append_assistant_message(conversation, reply_content) + yield sse_event("chunk", {"delta": reply_content}) + yield sse_event( + "done", + { + "assistant_message_id": assistant_message.pk, + "conversation_id": conversation.pk, + "title": conversation.title, + }, + ) + return + batch = create_regulatory_info_package_batch( + conversation=conversation, + user=conversation.user, + trigger_message=user_message, + source_attachment=selection.attachment, + source_summary_batch=selection.source_summary_batch, + source_summary_item_id=selection.source_summary_item_id, + source_file_name=selection.file_name, + source_storage_path=selection.storage_path, + ) + start_regulatory_info_package_workflow( + batch, + async_run=getattr(settings, "REGULATORY_INFO_PACKAGE_ASYNC", True), + ) + reply_content = f"已启动第1章监管信息材料包生成工作流,批次号:{batch.batch_no}。" + assistant_message = append_assistant_message(conversation, reply_content) + yield sse_event( + "workflow_started", + { + "workflow_type": REGULATORY_INFO_PACKAGE_WORKFLOW_TYPE, + "batch_id": batch.pk, + "batch_no": batch.batch_no, + }, + ) + yield sse_event("chunk", {"delta": reply_content}) + yield sse_event( + "done", + { + "assistant_message_id": assistant_message.pk, + "conversation_id": conversation.pk, + "title": conversation.title, + }, + ) + return + if route.starts_regulatory_review: source_summary_batch = find_latest_successful_summary_batch(conversation) if not source_summary_batch: diff --git a/review_agent/skill_router.py b/review_agent/skill_router.py index 24e668a..99d29c8 100644 --- a/review_agent/skill_router.py +++ b/review_agent/skill_router.py @@ -11,6 +11,10 @@ from .file_summary.workflow_trigger import ( from .application_form_fill.constants import FORM_FILL_TRIGGER_KEYWORDS, WORKFLOW_TYPE as FORM_FILL_WORKFLOW_TYPE from .llm import LLMConfigurationError, LLMRequestError, generate_completion from .models import Conversation, FileAttachment +from .regulatory_info_package.constants import ( + REGULATORY_INFO_PACKAGE_TRIGGER_KEYWORDS, + WORKFLOW_TYPE as REGULATORY_INFO_PACKAGE_WORKFLOW_TYPE, +) logger = logging.getLogger(__name__) @@ -18,6 +22,7 @@ logger = logging.getLogger(__name__) ROUTE_ACTIONS = {"normal_chat", "attachment_reader", "file_summary"} ROUTE_ACTIONS.add("regulatory_review") ROUTE_ACTIONS.add(FORM_FILL_WORKFLOW_TYPE) +ROUTE_ACTIONS.add(REGULATORY_INFO_PACKAGE_WORKFLOW_TYPE) @dataclass(frozen=True) @@ -45,6 +50,10 @@ class SkillRoute: def starts_application_form_fill(self) -> bool: return self.action == FORM_FILL_WORKFLOW_TYPE + @property + def starts_regulatory_info_package(self) -> bool: + return self.action == REGULATORY_INFO_PACKAGE_WORKFLOW_TYPE + @property def is_normal_chat(self) -> bool: return self.action == "normal_chat" @@ -80,6 +89,14 @@ def route_message_intent(conversation: Conversation, content: str) -> SkillRoute def _deterministic_workflow_route(conversation: Conversation, content: str) -> SkillRoute | None: + if _matches_regulatory_info_package(content): + return SkillRoute( + action=REGULATORY_INFO_PACKAGE_WORKFLOW_TYPE, + workflow_type=REGULATORY_INFO_PACKAGE_WORKFLOW_TYPE, + confidence=0.9, + reason="命中明确第1章监管信息材料包生成关键词。", + source="rule_preflight", + ) if _matches_application_form_fill(content): return SkillRoute( action=FORM_FILL_WORKFLOW_TYPE, @@ -144,7 +161,9 @@ def _route_with_llm( return SkillRoute( action=action, skill_name="attachment_reader" if action == "attachment_reader" else "", - workflow_type=action if action in {"file_summary", "regulatory_review", FORM_FILL_WORKFLOW_TYPE} else "", + workflow_type=action + if action in {"file_summary", "regulatory_review", FORM_FILL_WORKFLOW_TYPE, REGULATORY_INFO_PACKAGE_WORKFLOW_TYPE} + else "", confidence=_float_or_zero(payload.get("confidence")), reason=str(payload.get("reason") or ""), source="llm", @@ -152,6 +171,15 @@ def _route_with_llm( def _route_with_rules(conversation: Conversation, content: str) -> SkillRoute: + if _matches_regulatory_info_package(content): + return SkillRoute( + action=REGULATORY_INFO_PACKAGE_WORKFLOW_TYPE, + workflow_type=REGULATORY_INFO_PACKAGE_WORKFLOW_TYPE, + confidence=0.7, + reason="命中第1章监管信息材料包生成关键词。", + source="rule_fallback", + ) + if _matches_application_form_fill(content): return SkillRoute( action=FORM_FILL_WORKFLOW_TYPE, @@ -210,11 +238,12 @@ def _router_system_prompt() -> str: return ( "你是审核智能体的工具路由器,只判断是否需要调用工具,不直接回答用户。" "你必须只输出 JSON 对象,不要输出 Markdown。" - "可选 action:normal_chat、attachment_reader、file_summary、regulatory_review、application_form_fill。" + "可选 action:normal_chat、attachment_reader、file_summary、regulatory_review、application_form_fill、regulatory_info_package。" "attachment_reader 用于用户要求阅读、提取、分析、总结、查看上传附件内容。" "file_summary 用于用户要求自动汇总文件目录、页数、清单或生成目录页数报告。" "regulatory_review 用于用户要求法规核查、NMPA核查、完整性核查、章节一致性核查、风险预警或整改建议。" "application_form_fill 用于用户要求填注册证、生成申报模板、填写对应表格、安全和性能基本原则清单或自动填表。" + "regulatory_info_package 用于用户要求根据说明书生成第1章监管信息、监管信息材料包、申请表、产品列表或声明材料包。" "normal_chat 用于不需要读取附件或执行工作流的一般问答。" "输出字段:action、confidence、reason。" ) @@ -268,6 +297,11 @@ def _matches_regulatory_review(content: str) -> bool: return any(keyword in normalized for keyword in keywords) +def _matches_regulatory_info_package(content: str) -> bool: + normalized = "".join((content or "").lower().split()) + return any("".join(keyword.lower().split()) in normalized for keyword in REGULATORY_INFO_PACKAGE_TRIGGER_KEYWORDS) + + def _matches_application_form_fill(content: str) -> bool: normalized = content.lower() return any(keyword.lower() in normalized for keyword in FORM_FILL_TRIGGER_KEYWORDS) diff --git a/review_agent/urls.py b/review_agent/urls.py index 4d46250..59aa2c1 100644 --- a/review_agent/urls.py +++ b/review_agent/urls.py @@ -21,6 +21,10 @@ from .application_form_fill.views import ( batch_status as application_form_fill_batch_status, start as application_form_fill_start, ) +from .regulatory_info_package.views import ( + batch_status as regulatory_info_package_batch_status, + start as regulatory_info_package_start, +) from .views import ( knowledge_base_document_detail, knowledge_base_document_index, @@ -112,6 +116,16 @@ urlpatterns = [ application_form_fill_batch_status, name="application_form_fill_batch_status", ), + path( + "api/review-agent/regulatory-info-package/start/", + regulatory_info_package_start, + name="regulatory_info_package_start", + ), + path( + "api/review-agent/regulatory-info-package//status/", + regulatory_info_package_batch_status, + name="regulatory_info_package_batch_status", + ), path( "api/review-agent/knowledge-base/status/", knowledge_base_status, diff --git a/review_agent/views.py b/review_agent/views.py index 2933923..5613cdd 100644 --- a/review_agent/views.py +++ b/review_agent/views.py @@ -16,7 +16,15 @@ from .services import ( send_message, stream_message, ) -from .models import ApplicationFormFillBatch, Conversation, FileAttachment, FileSummaryBatch, RegulatoryReviewBatch, WorkflowNodeRun +from .models import ( + ApplicationFormFillBatch, + Conversation, + FileAttachment, + FileSummaryBatch, + RegulatoryInfoPackageBatch, + RegulatoryReviewBatch, + WorkflowNodeRun, +) from .knowledge_base import build_knowledge_base_context, search_knowledge_base from .knowledge_base import ( build_knowledge_base_context_for_user, @@ -329,6 +337,25 @@ def build_workflow_cards(conversation: Conversation) -> list[dict[str, object]]: ), } ) + rip_batches = RegulatoryInfoPackageBatch.objects.filter(conversation=conversation, is_deleted=False) + for batch in rip_batches: + cards.append( + { + "id": batch.pk, + "workflow_type": "regulatory_info_package", + "batch_no": batch.batch_no, + "status": batch.status, + "error_message": batch.error_message, + "risk_label": _format_regulatory_info_package_label(batch), + "created_at": batch.created_at, + "nodes": list( + WorkflowNodeRun.objects.filter( + workflow_type="regulatory_info_package", + workflow_batch_id=batch.pk, + ).order_by("id") + ), + } + ) return sorted(cards, key=lambda item: item["created_at"], reverse=True)[:5] @@ -374,6 +401,20 @@ def _format_form_fill_label(batch: ApplicationFormFillBatch) -> str: return " · ".join(parts) +def _format_regulatory_info_package_label(batch: RegulatoryInfoPackageBatch) -> str: + parts = [] + if batch.product_name: + parts.append(batch.product_name) + if batch.generated_files: + success_count = sum(1 for item in batch.generated_files if item.get("status") in {"success", "fallback_success"}) + parts.append(f"生成 {success_count}/7") + if batch.missing_fields: + parts.append(f"缺失 {len(batch.missing_fields)}") + if batch.conflict_fields: + parts.append(f"冲突 {len(batch.conflict_fields)}") + return " · ".join(parts) + + def build_home_dashboard_context(user) -> dict[str, object]: conversations = Conversation.objects.filter(user=user) active_attachments = FileAttachment.objects.filter(user=user).exclude( diff --git a/static/js/app.js b/static/js/app.js index 015a1f5..f99d460 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -517,6 +517,8 @@ attributeName = "data-regulatory-status-url-template"; } else if (workflow_type === "application_form_fill") { attributeName = "data-application-form-fill-status-url-template"; + } else if (workflow_type === "regulatory_info_package") { + attributeName = "data-regulatory-info-package-status-url-template"; } return templateUrl(attributeName, "__batch_id__", batchId); } diff --git a/templates/home.html b/templates/home.html index 467b64b..f5ba5eb 100644 --- a/templates/home.html +++ b/templates/home.html @@ -225,6 +225,11 @@ type="button" data-prompt-template="请基于当前对话最近成功汇总的产品资料,自动提取产品关键信息并填入申报文件模板" >申报文件填表 + @@ -241,6 +246,7 @@ data-status-url-template="/api/review-agent/file-summary/__batch_id__/status/" data-regulatory-status-url-template="/api/review-agent/regulatory-review/__batch_id__/status/" data-application-form-fill-status-url-template="/api/review-agent/application-form-fill/__batch_id__/status/" + data-regulatory-info-package-status-url-template="/api/review-agent/regulatory-info-package/__batch_id__/status/" data-events-url-template="/api/review-agent/file-summary/__batch_id__/events/" >
From 6d4b519f83186eead4970848cfa67b482936809f Mon Sep 17 00:00:00 2001 From: bruce Date: Wed, 10 Jun 2026 19:50:22 +0800 Subject: [PATCH 4/9] =?UTF-8?q?test(regulatory-info-package):=20=E8=A6=86?= =?UTF-8?q?=E7=9B=96=E6=9D=90=E6=96=99=E5=8C=85=E4=B8=BB=E9=93=BE=E8=B7=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...t_regulatory_info_package_field_extract.py | 36 +++++ ...est_regulatory_info_package_field_merge.py | 24 +++ .../test_regulatory_info_package_frontend.py | 45 ++++++ ...st_regulatory_info_package_input_select.py | 48 ++++++ ...latory_info_package_instruction_extract.py | 16 ++ ...test_regulatory_info_package_legacy_doc.py | 9 ++ tests/test_regulatory_info_package_models.py | 109 ++++++++++++++ ...st_regulatory_info_package_notification.py | 17 +++ ...egulatory_info_package_package_generate.py | 31 ++++ tests/test_regulatory_info_package_summary.py | 13 ++ ...regulatory_info_package_template_config.py | 48 ++++++ ...st_regulatory_info_package_traceability.py | 28 ++++ tests/test_regulatory_info_package_trigger.py | 19 +++ tests/test_regulatory_info_package_views.py | 140 ++++++++++++++++++ .../test_regulatory_info_package_workflow.py | 62 ++++++++ tests/test_regulatory_info_package_zip.py | 22 +++ 16 files changed, 667 insertions(+) create mode 100644 tests/test_regulatory_info_package_field_extract.py create mode 100644 tests/test_regulatory_info_package_field_merge.py create mode 100644 tests/test_regulatory_info_package_frontend.py create mode 100644 tests/test_regulatory_info_package_input_select.py create mode 100644 tests/test_regulatory_info_package_instruction_extract.py create mode 100644 tests/test_regulatory_info_package_legacy_doc.py create mode 100644 tests/test_regulatory_info_package_models.py create mode 100644 tests/test_regulatory_info_package_notification.py create mode 100644 tests/test_regulatory_info_package_package_generate.py create mode 100644 tests/test_regulatory_info_package_summary.py create mode 100644 tests/test_regulatory_info_package_template_config.py create mode 100644 tests/test_regulatory_info_package_traceability.py create mode 100644 tests/test_regulatory_info_package_trigger.py create mode 100644 tests/test_regulatory_info_package_views.py create mode 100644 tests/test_regulatory_info_package_workflow.py create mode 100644 tests/test_regulatory_info_package_zip.py diff --git a/tests/test_regulatory_info_package_field_extract.py b/tests/test_regulatory_info_package_field_extract.py new file mode 100644 index 0000000..0d50569 --- /dev/null +++ b/tests/test_regulatory_info_package_field_extract.py @@ -0,0 +1,36 @@ +from review_agent.regulatory_info_package.schemas import InstructionExtractResult +from review_agent.regulatory_info_package.services.field_extract import extract_fields_by_rules, run_parallel_extract + + +def test_extract_fields_by_rules_finds_product_name_and_storage(): + instruction = InstructionExtractResult( + source_file_name="目标产品说明书.docx", + paragraphs=["产品名称:新型冠状病毒检测试剂盒", "储存条件:2-8℃保存"], + sections={}, + tables=[], + component_tables=[], + front_text="产品名称:新型冠状病毒检测试剂盒\n储存条件:2-8℃保存", + ) + + result = extract_fields_by_rules(instruction) + + assert result["product_name"]["value"] == "新型冠状病毒检测试剂盒" + assert result["storage_condition"]["value"] == "2-8℃保存" + + +def test_run_parallel_extract_keeps_rule_result_when_llm_fails(): + instruction = InstructionExtractResult( + source_file_name="目标产品说明书.docx", + paragraphs=["产品名称:测试产品"], + sections={}, + tables=[], + component_tables=[], + front_text="产品名称:测试产品", + ) + + result = run_parallel_extract(instruction, llm_extract_func=lambda _instruction: (_ for _ in ()).throw(ValueError("bad llm"))) + + assert result["regex_results"]["product_name"]["value"] == "测试产品" + assert result["llm_results"] == {} + assert result["llm_error"] + diff --git a/tests/test_regulatory_info_package_field_merge.py b/tests/test_regulatory_info_package_field_merge.py new file mode 100644 index 0000000..18192ed --- /dev/null +++ b/tests/test_regulatory_info_package_field_merge.py @@ -0,0 +1,24 @@ +from review_agent.regulatory_info_package.services.field_merge import merge_fields + + +def test_merge_fields_marks_missing_llm_only_and_conflict(): + merged, summary = merge_fields( + { + "product_name": {"value": "规则产品", "evidence": "说明书", "confidence": 0.8, "label": "产品名称"}, + "applicant_name": {"value": "", "evidence": "", "confidence": 0.0, "label": "申请人名称"}, + "package_specification": {"value": "24人份/盒", "evidence": "表格", "confidence": 0.7, "label": "包装规格"}, + }, + { + "intended_use": {"value": "用于检测", "evidence": "LLM", "confidence": 0.6, "label": "预期用途"}, + "package_specification": {"value": "48人份/盒", "evidence": "LLM", "confidence": 0.6, "label": "包装规格"}, + }, + ) + + assert merged["applicant_name"].value == "/" + assert merged["applicant_name"].highlight_reason == "missing" + assert merged["intended_use"].highlight_reason == "llm_only" + assert merged["package_specification"].value == "24人份/盒" + assert merged["package_specification"].highlight_reason == "conflict" + assert any(item["field_key"] == "applicant_name" for item in summary["missing_fields"]) + assert len(summary["llm_only_fields"]) == 1 + assert len(summary["conflict_fields"]) == 1 diff --git a/tests/test_regulatory_info_package_frontend.py b/tests/test_regulatory_info_package_frontend.py new file mode 100644 index 0000000..2b10f0b --- /dev/null +++ b/tests/test_regulatory_info_package_frontend.py @@ -0,0 +1,45 @@ +import pytest +from django.urls import reverse + +from review_agent.models import Conversation, RegulatoryInfoPackageBatch, WorkflowNodeRun + + +pytestmark = pytest.mark.django_db + + +def test_workspace_renders_regulatory_info_package_chip_and_card(client, django_user_model): + user = django_user_model.objects.create_user(username="owner", password="pass") + conversation = Conversation.objects.create(user=user, title="会话") + batch = RegulatoryInfoPackageBatch.objects.create( + conversation=conversation, + user=user, + batch_no="RIP-CARD", + status=RegulatoryInfoPackageBatch.Status.SUCCESS, + generated_files=[{"status": "success"} for _ in range(7)], + ) + WorkflowNodeRun.objects.create( + workflow_type="regulatory_info_package", + workflow_batch_id=batch.pk, + node_group="regulatory_info_package", + node_code="zip_export", + node_name="打包下载", + status=WorkflowNodeRun.Status.SUCCESS, + progress=100, + ) + client.force_login(user) + + response = client.get(f"{reverse('chat')}?conversation={conversation.pk}") + content = response.content.decode("utf-8") + + assert "第1章监管信息" in content + assert 'data-workflow-type="regulatory_info_package"' in content + assert "data-regulatory-info-package-status-url-template" in content + assert "RIP-CARD" in content + + +def test_frontend_selects_regulatory_info_package_status_url(): + script = open("static/js/app.js", encoding="utf-8").read() + + assert 'workflow_type === "regulatory_info_package"' in script + assert "data-regulatory-info-package-status-url-template" in script + diff --git a/tests/test_regulatory_info_package_input_select.py b/tests/test_regulatory_info_package_input_select.py new file mode 100644 index 0000000..a580aa5 --- /dev/null +++ b/tests/test_regulatory_info_package_input_select.py @@ -0,0 +1,48 @@ +import pytest + +from review_agent.models import Conversation, FileAttachment +from review_agent.regulatory_info_package.services.input_select import select_instruction_input + + +pytestmark = pytest.mark.django_db + + +def test_select_instruction_input_prefers_message_filename(django_user_model): + user = django_user_model.objects.create_user(username="owner", password="pass") + conversation = Conversation.objects.create(user=user, title="会话") + selected = FileAttachment.objects.create( + conversation=conversation, + user=user, + original_name="目标产品说明书.docx", + storage_path="uploads/target.docx", + ) + FileAttachment.objects.create( + conversation=conversation, + user=user, + original_name="其他说明书.docx", + storage_path="uploads/other.docx", + ) + + result = select_instruction_input(conversation, "请使用目标产品说明书生成第1章监管信息") + + assert result.status == "selected" + assert result.attachment == selected + assert result.file_name == "目标产品说明书.docx" + + +def test_select_instruction_input_waits_on_multiple_candidates(django_user_model): + user = django_user_model.objects.create_user(username="owner", password="pass") + conversation = Conversation.objects.create(user=user, title="会话") + for name in ["A说明书.docx", "B说明书.docx"]: + FileAttachment.objects.create( + conversation=conversation, + user=user, + original_name=name, + storage_path=f"uploads/{name}", + ) + + result = select_instruction_input(conversation, "生成第1章监管信息") + + assert result.status == "waiting_user" + assert result.candidates == ["A说明书.docx", "B说明书.docx"] + diff --git a/tests/test_regulatory_info_package_instruction_extract.py b/tests/test_regulatory_info_package_instruction_extract.py new file mode 100644 index 0000000..93b9e78 --- /dev/null +++ b/tests/test_regulatory_info_package_instruction_extract.py @@ -0,0 +1,16 @@ +from pathlib import Path + +from review_agent.regulatory_info_package.services.instruction_extract import parse_instruction_docx + + +def test_parse_instruction_docx_extracts_paragraphs_and_tables(): + path = Path("docs/0.原始材料/目标产品说明书.docx") + + result = parse_instruction_docx(path) + + assert result.source_file_name == "目标产品说明书.docx" + assert result.paragraphs + assert isinstance(result.sections, dict) + assert isinstance(result.tables, list) + assert result.front_text + diff --git a/tests/test_regulatory_info_package_legacy_doc.py b/tests/test_regulatory_info_package_legacy_doc.py new file mode 100644 index 0000000..951b609 --- /dev/null +++ b/tests/test_regulatory_info_package_legacy_doc.py @@ -0,0 +1,9 @@ +from review_agent.regulatory_info_package.services.legacy_doc_document import detect_legacy_doc_capability + + +def test_detect_legacy_doc_capability_is_stable(): + capability = detect_legacy_doc_capability() + + assert capability.status in {"available", "unavailable"} + assert capability.adapter in {"WordComDocAdapter", "UnavailableLegacyDocAdapter"} + diff --git a/tests/test_regulatory_info_package_models.py b/tests/test_regulatory_info_package_models.py new file mode 100644 index 0000000..e100935 --- /dev/null +++ b/tests/test_regulatory_info_package_models.py @@ -0,0 +1,109 @@ +import pytest +from django.db import IntegrityError + +from review_agent.models import ( + Conversation, + ExportedSummaryFile, + FileAttachment, + RegulatoryInfoPackageArtifact, + RegulatoryInfoPackageBatch, + RegulatoryInfoPackageNotificationRecord, + WorkflowNodeRun, +) + + +pytestmark = pytest.mark.django_db + + +def test_regulatory_info_package_batch_defaults(django_user_model): + user = django_user_model.objects.create_user(username="owner", password="pass") + conversation = Conversation.objects.create(user=user, title="会话") + attachment = FileAttachment.objects.create( + conversation=conversation, + user=user, + original_name="目标产品说明书.docx", + storage_path="uploads/instruction.docx", + ) + + batch = RegulatoryInfoPackageBatch.objects.create( + conversation=conversation, + user=user, + source_attachment=attachment, + batch_no="RIP-20260610153000-abcdef", + source_file_name=attachment.original_name, + source_storage_path=attachment.storage_path, + ) + + assert batch.status == RegulatoryInfoPackageBatch.Status.PENDING + assert batch.output_zip_name == "第1章 监管信息(预生成版).zip" + assert batch.generated_files == [] + assert batch.missing_fields == [] + assert batch.llm_only_fields == [] + assert batch.conflict_fields == [] + assert batch.risk_notes == [] + assert batch.adapter_summary == {} + assert str(batch) == "RIP-20260610153000-abcdef" + + +def test_regulatory_info_package_artifact_and_notification(django_user_model): + user = django_user_model.objects.create_user(username="owner", password="pass") + conversation = Conversation.objects.create(user=user, title="会话") + batch = RegulatoryInfoPackageBatch.objects.create( + conversation=conversation, + user=user, + batch_no="RIP-20260610153100-abcdef", + ) + + artifact = RegulatoryInfoPackageArtifact.objects.create( + batch=batch, + artifact_type=RegulatoryInfoPackageArtifact.ArtifactType.ZIP_PACKAGE, + file_format=RegulatoryInfoPackageArtifact.FileFormat.ZIP, + name="主下载包", + file_name="第1章 监管信息(预生成版).zip", + storage_path="media/regulatory_info_package/package.zip", + ) + notification = RegulatoryInfoPackageNotificationRecord.objects.create( + batch=batch, + recipient=user, + export_ids=[1, 2], + message_summary="材料包已生成", + send_status=RegulatoryInfoPackageNotificationRecord.SendStatus.SUCCESS, + ) + + assert artifact.metadata == {} + assert artifact.is_deleted is False + assert notification.channel == RegulatoryInfoPackageNotificationRecord.Channel.MOCK + assert notification.retry_count == 0 + + +def test_exported_summary_file_supports_zip_type(): + values = {value for value, _label in ExportedSummaryFile.ExportType.choices} + + assert "zip" in values + + +def test_workflow_node_run_unique_for_workflow_batch(django_user_model): + user = django_user_model.objects.create_user(username="owner", password="pass") + conversation = Conversation.objects.create(user=user, title="会话") + batch = RegulatoryInfoPackageBatch.objects.create( + conversation=conversation, + user=user, + batch_no="RIP-20260610153200-abcdef", + ) + + WorkflowNodeRun.objects.create( + workflow_type="regulatory_info_package", + workflow_batch_id=batch.pk, + node_group="regulatory_info_package", + node_code="prepare", + node_name="准备资料", + ) + + with pytest.raises(IntegrityError): + WorkflowNodeRun.objects.create( + workflow_type="regulatory_info_package", + workflow_batch_id=batch.pk, + node_group="regulatory_info_package", + node_code="prepare", + node_name="准备资料", + ) diff --git a/tests/test_regulatory_info_package_notification.py b/tests/test_regulatory_info_package_notification.py new file mode 100644 index 0000000..6b69ac8 --- /dev/null +++ b/tests/test_regulatory_info_package_notification.py @@ -0,0 +1,17 @@ +import pytest + +from review_agent.models import Conversation, RegulatoryInfoPackageBatch, RegulatoryInfoPackageNotificationRecord + + +pytestmark = pytest.mark.django_db + + +def test_regulatory_info_package_notification_record_defaults(django_user_model): + user = django_user_model.objects.create_user(username="owner", password="pass") + conversation = Conversation.objects.create(user=user, title="会话") + batch = RegulatoryInfoPackageBatch.objects.create(conversation=conversation, user=user, batch_no="RIP-NOTIFY") + + record = RegulatoryInfoPackageNotificationRecord.objects.create(batch=batch, recipient=user) + + assert record.channel == RegulatoryInfoPackageNotificationRecord.Channel.MOCK + assert record.send_status == RegulatoryInfoPackageNotificationRecord.SendStatus.PENDING diff --git a/tests/test_regulatory_info_package_package_generate.py b/tests/test_regulatory_info_package_package_generate.py new file mode 100644 index 0000000..fb8badc --- /dev/null +++ b/tests/test_regulatory_info_package_package_generate.py @@ -0,0 +1,31 @@ +import zipfile + +import pytest + +from review_agent.models import Conversation, RegulatoryInfoPackageBatch +from review_agent.regulatory_info_package.services.field_merge import merge_fields +from review_agent.regulatory_info_package.services.package_generate import generate_package_documents +from review_agent.regulatory_info_package.services.template_config import load_template_config + + +pytestmark = pytest.mark.django_db + + +def test_generate_package_documents_creates_seven_results(django_user_model, tmp_path): + user = django_user_model.objects.create_user(username="owner", password="pass") + conversation = Conversation.objects.create(user=user, title="会话") + batch = RegulatoryInfoPackageBatch.objects.create( + conversation=conversation, + user=user, + batch_no="RIP-20260610154000-abcdef", + work_dir=str(tmp_path), + ) + merged, _summary = merge_fields({"product_name": {"value": "测试产品", "label": "产品名称"}}, {}) + + results = generate_package_documents(batch, load_template_config(), merged) + + assert len(results) == 7 + assert all(result.status in {"success", "fallback_success"} for result in results), [ + (result.template_code, result.status, result.error_message) for result in results + ] + assert all(result.path for result in results) diff --git a/tests/test_regulatory_info_package_summary.py b/tests/test_regulatory_info_package_summary.py new file mode 100644 index 0000000..6575a96 --- /dev/null +++ b/tests/test_regulatory_info_package_summary.py @@ -0,0 +1,13 @@ +from review_agent.regulatory_info_package.services.summary import build_assistant_summary + + +def test_build_assistant_summary_puts_zip_first(): + exports = [ + {"file_name": "CH1.4 申请表.docx", "download_url": "/docx"}, + {"file_name": "第1章 监管信息(预生成版).zip", "download_url": "/zip", "export_type": "zip"}, + ] + + summary = build_assistant_summary(batch_no="RIP-1", exports=exports, failed_files=[]) + + assert summary.index("第1章 监管信息(预生成版).zip") < summary.index("CH1.4 申请表.docx") + diff --git a/tests/test_regulatory_info_package_template_config.py b/tests/test_regulatory_info_package_template_config.py new file mode 100644 index 0000000..506f9ab --- /dev/null +++ b/tests/test_regulatory_info_package_template_config.py @@ -0,0 +1,48 @@ +from pathlib import Path + +import pytest + +from review_agent.regulatory_info_package.constants import DEFAULT_ZIP_NAME +from review_agent.regulatory_info_package.services.template_config import ( + compute_config_hash, + load_template_config, + validate_template_config, +) + + +def test_template_config_loads_seven_templates(): + config = load_template_config() + + assert config["version"] == "regulatory_info_package_templates_v1" + assert config["zip_name"] == DEFAULT_ZIP_NAME + assert len(config["templates"]) == 7 + assert {template["code"] for template in config["templates"]} == { + "ch1_2_directory", + "ch1_4_application_form", + "ch1_5_product_list", + "ch1_9_pre_submission", + "ch1_11_1_standards", + "ch1_11_5_authenticity", + "ch1_11_6_conformity", + } + assert validate_template_config(config) == [] + assert compute_config_hash() + + +def test_template_config_rejects_duplicate_codes(): + config = load_template_config() + config["templates"].append(dict(config["templates"][0])) + + errors = validate_template_config(config) + + assert any("重复" in error for error in errors) + + +def test_template_config_sources_exist(): + config = load_template_config() + source_dir = Path(config["source_dir"]) + + assert source_dir.exists() + for template in config["templates"]: + assert (source_dir / template["source_file"]).exists() + diff --git a/tests/test_regulatory_info_package_traceability.py b/tests/test_regulatory_info_package_traceability.py new file mode 100644 index 0000000..e80fac8 --- /dev/null +++ b/tests/test_regulatory_info_package_traceability.py @@ -0,0 +1,28 @@ +from pathlib import Path + +from openpyxl import load_workbook + +from review_agent.regulatory_info_package.schemas import MergedField +from review_agent.regulatory_info_package.services.traceability_export import save_traceability_exports + + +def test_save_traceability_exports_writes_excel_and_json(tmp_path): + fields = { + "product_name": MergedField( + key="product_name", + label="产品名称", + value="测试产品", + source="rule", + evidence="说明书", + confidence=0.9, + ) + } + + excel_path, json_path = save_traceability_exports(tmp_path, fields) + + assert excel_path.name == "traceability.xlsx" + assert json_path.name == "traceability.json" + assert json_path.exists() + workbook = load_workbook(excel_path) + assert workbook.active["A1"].value == "target_file" + diff --git a/tests/test_regulatory_info_package_trigger.py b/tests/test_regulatory_info_package_trigger.py new file mode 100644 index 0000000..2402e0a --- /dev/null +++ b/tests/test_regulatory_info_package_trigger.py @@ -0,0 +1,19 @@ +import pytest + +from review_agent.models import Conversation +from review_agent.skill_router import route_message_intent + + +pytestmark = pytest.mark.django_db + + +def test_fixed_keyword_routes_to_regulatory_info_package(django_user_model): + user = django_user_model.objects.create_user(username="owner", password="pass") + conversation = Conversation.objects.create(user=user, title="会话") + + route = route_message_intent(conversation, "请根据说明书生成第1章监管信息") + + assert route.action == "regulatory_info_package" + assert route.workflow_type == "regulatory_info_package" + assert route.starts_regulatory_info_package is True + diff --git a/tests/test_regulatory_info_package_views.py b/tests/test_regulatory_info_package_views.py new file mode 100644 index 0000000..9836eae --- /dev/null +++ b/tests/test_regulatory_info_package_views.py @@ -0,0 +1,140 @@ +from pathlib import Path + +import pytest + +from review_agent.models import ( + Conversation, + ExportedSummaryFile, + RegulatoryInfoPackageBatch, + WorkflowNodeRun, +) + + +pytestmark = pytest.mark.django_db + + +def test_regulatory_info_package_export_download_checks_owner(client, django_user_model, tmp_path): + owner = django_user_model.objects.create_user(username="owner", password="pass") + other = django_user_model.objects.create_user(username="other", password="pass") + conversation = Conversation.objects.create(user=owner, title="会话") + batch = RegulatoryInfoPackageBatch.objects.create( + conversation=conversation, + user=owner, + batch_no="RIP-20260610153300-abcdef", + ) + path = tmp_path / "第1章 监管信息(预生成版).zip" + path.write_bytes(b"zip-content") + exported = ExportedSummaryFile.objects.create( + batch=None, + workflow_type="regulatory_info_package", + workflow_batch_id=batch.pk, + export_category="regulatory_info_package", + export_type=ExportedSummaryFile.ExportType.ZIP, + file_name=path.name, + storage_path=str(path), + ) + + client.force_login(other) + denied = client.get(f"/api/review-agent/file-summary/exports/{exported.pk}/download/") + assert denied.status_code == 404 + + client.force_login(owner) + allowed = client.get(f"/api/review-agent/file-summary/exports/{exported.pk}/download/") + assert allowed.status_code == 200 + assert allowed["Content-Type"] == "application/zip" + + +@pytest.mark.parametrize( + ("file_name", "export_type", "expected"), + [ + ("CH1.9 产品申报前沟通的说明.doc", ExportedSummaryFile.ExportType.WORD, "application/msword"), + ( + "CH1.4 申请表.docx", + ExportedSummaryFile.ExportType.WORD, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document", + ), + ("第1章 监管信息(预生成版).zip", ExportedSummaryFile.ExportType.ZIP, "application/zip"), + ], +) +def test_regulatory_info_package_download_mime_by_extension( + client, + django_user_model, + tmp_path, + file_name, + export_type, + expected, +): + user = django_user_model.objects.create_user(username="owner", password="pass") + conversation = Conversation.objects.create(user=user, title="会话") + batch = RegulatoryInfoPackageBatch.objects.create( + conversation=conversation, + user=user, + batch_no=f"RIP-20260610153400-{Path(file_name).suffix[1:] or 'zip'}", + ) + path = tmp_path / file_name + path.write_bytes(b"content") + exported = ExportedSummaryFile.objects.create( + batch=None, + workflow_type="regulatory_info_package", + workflow_batch_id=batch.pk, + export_category="generated_document", + export_type=export_type, + file_name=file_name, + storage_path=str(path), + ) + client.force_login(user) + + response = client.get(f"/api/review-agent/file-summary/exports/{exported.pk}/download/") + + assert response.status_code == 200 + assert response["Content-Type"] == expected + + +def test_regulatory_info_package_status_returns_nodes_and_zip_first(client, django_user_model, tmp_path): + user = django_user_model.objects.create_user(username="owner", password="pass") + conversation = Conversation.objects.create(user=user, title="会话") + batch = RegulatoryInfoPackageBatch.objects.create( + conversation=conversation, + user=user, + batch_no="RIP-20260610153500-abcdef", + status=RegulatoryInfoPackageBatch.Status.SUCCESS, + ) + WorkflowNodeRun.objects.create( + workflow_type="regulatory_info_package", + workflow_batch_id=batch.pk, + node_group="regulatory_info_package", + node_code="zip_export", + node_name="打包下载", + status=WorkflowNodeRun.Status.SUCCESS, + progress=100, + ) + doc = tmp_path / "CH1.4 申请表.docx" + zip_file = tmp_path / "第1章 监管信息(预生成版).zip" + doc.write_bytes(b"doc") + zip_file.write_bytes(b"zip") + ExportedSummaryFile.objects.create( + batch=None, + workflow_type="regulatory_info_package", + workflow_batch_id=batch.pk, + export_category="generated_document", + export_type=ExportedSummaryFile.ExportType.WORD, + file_name=doc.name, + storage_path=str(doc), + ) + ExportedSummaryFile.objects.create( + batch=None, + workflow_type="regulatory_info_package", + workflow_batch_id=batch.pk, + export_category="regulatory_info_package", + export_type=ExportedSummaryFile.ExportType.ZIP, + file_name=zip_file.name, + storage_path=str(zip_file), + ) + client.force_login(user) + + response = client.get(f"/api/review-agent/regulatory-info-package/{batch.pk}/status/") + + payload = response.json() + assert payload["batch"]["workflow_type"] == "regulatory_info_package" + assert payload["nodes"][0]["node_code"] == "zip_export" + assert payload["exports"][0]["export_type"] == "zip" diff --git a/tests/test_regulatory_info_package_workflow.py b/tests/test_regulatory_info_package_workflow.py new file mode 100644 index 0000000..fc1331f --- /dev/null +++ b/tests/test_regulatory_info_package_workflow.py @@ -0,0 +1,62 @@ +import pytest + +from review_agent.models import Conversation, RegulatoryInfoPackageBatch, WorkflowNodeRun +from review_agent.regulatory_info_package.constants import ( + REGULATORY_INFO_PACKAGE_NODE_DEFINITIONS, + WORKFLOW_TYPE, +) +from review_agent.regulatory_info_package.workflow import ( + create_regulatory_info_package_batch, + start_regulatory_info_package_workflow, +) + + +pytestmark = pytest.mark.django_db + + +def test_create_regulatory_info_package_batch_initializes_nodes(django_user_model): + user = django_user_model.objects.create_user(username="owner", password="pass") + conversation = Conversation.objects.create(user=user, title="会话") + + batch = create_regulatory_info_package_batch(conversation=conversation, user=user) + + assert batch.batch_no.startswith("RIP-") + assert batch.work_dir + nodes = WorkflowNodeRun.objects.filter( + workflow_type=WORKFLOW_TYPE, + workflow_batch_id=batch.pk, + ).order_by("id") + assert [node.node_code for node in nodes] == [ + code for code, _name, _group in REGULATORY_INFO_PACKAGE_NODE_DEFINITIONS + ] + + +def test_create_regulatory_info_package_batch_is_node_idempotent(django_user_model): + user = django_user_model.objects.create_user(username="owner", password="pass") + conversation = Conversation.objects.create(user=user, title="会话") + batch = create_regulatory_info_package_batch(conversation=conversation, user=user) + + create_regulatory_info_package_batch(conversation=conversation, user=user, existing_batch=batch) + + assert WorkflowNodeRun.objects.filter( + workflow_type=WORKFLOW_TYPE, + workflow_batch_id=batch.pk, + ).count() == len(REGULATORY_INFO_PACKAGE_NODE_DEFINITIONS) + + +def test_empty_workflow_skeleton_completes(django_user_model, settings): + settings.REGULATORY_INFO_PACKAGE_ASYNC = False + user = django_user_model.objects.create_user(username="owner", password="pass") + conversation = Conversation.objects.create(user=user, title="会话") + batch = create_regulatory_info_package_batch(conversation=conversation, user=user) + + start_regulatory_info_package_workflow(batch, async_run=False) + batch.refresh_from_db() + + assert batch.status == RegulatoryInfoPackageBatch.Status.SUCCESS + assert WorkflowNodeRun.objects.filter( + workflow_type=WORKFLOW_TYPE, + workflow_batch_id=batch.pk, + status=WorkflowNodeRun.Status.SUCCESS, + ).count() == len(REGULATORY_INFO_PACKAGE_NODE_DEFINITIONS) + diff --git a/tests/test_regulatory_info_package_zip.py b/tests/test_regulatory_info_package_zip.py new file mode 100644 index 0000000..60e9235 --- /dev/null +++ b/tests/test_regulatory_info_package_zip.py @@ -0,0 +1,22 @@ +import zipfile + +from review_agent.regulatory_info_package.schemas import GeneratedFileResult +from review_agent.regulatory_info_package.services.zip_export import create_zip_package + + +def test_create_zip_package_includes_only_success_files(tmp_path): + success = tmp_path / "ok.docx" + failed = tmp_path / "bad.docx" + success.write_bytes(b"ok") + failed.write_bytes(b"bad") + + zip_path = create_zip_package( + tmp_path, + [ + GeneratedFileResult("ok", "ok.docx", "docx", "docx", "success", path=str(success)), + GeneratedFileResult("bad", "bad.docx", "docx", "docx", "failed", path=str(failed)), + ], + ) + + with zipfile.ZipFile(zip_path) as archive: + assert archive.namelist() == ["ok.docx"] From b728703e672f6df0f33c28fddd2f740b4c2e95a2 Mon Sep 17 00:00:00 2001 From: bruce Date: Wed, 10 Jun 2026 19:56:50 +0800 Subject: [PATCH 5/9] =?UTF-8?q?fix(regulatory-info-package):=20=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E5=90=8E=E8=BF=BD=E5=8A=A0=E4=B8=8B=E8=BD=BD=E6=91=98?= =?UTF-8?q?=E8=A6=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../regulatory_info_package/workflow.py | 37 +++++++++++++++++++ .../test_regulatory_info_package_workflow.py | 32 +++++++++++++++- 2 files changed, 68 insertions(+), 1 deletion(-) diff --git a/review_agent/regulatory_info_package/workflow.py b/review_agent/regulatory_info_package/workflow.py index 6a9f05b..37250ba 100644 --- a/review_agent/regulatory_info_package/workflow.py +++ b/review_agent/regulatory_info_package/workflow.py @@ -128,6 +128,7 @@ class RegulatoryInfoPackageWorkflowExecutor: self.batch.status = RegulatoryInfoPackageBatch.Status.SUCCESS self.batch.finished_at = timezone.now() self.batch.save(update_fields=["status", "finished_at"]) + self._append_completion_message() record_event(self.batch, "workflow_completed", {"batch_id": self.batch.pk}) def _nodes(self): @@ -309,6 +310,42 @@ class RegulatoryInfoPackageWorkflowExecutor: ) return + def _append_completion_message(self) -> None: + if ( + Message.objects.filter( + conversation=self.batch.conversation, + role=Message.Role.ASSISTANT, + content__contains=self.batch.batch_no, + ) + .filter(content__contains=self.batch.output_zip_name) + .exists() + ): + return + exports = list( + ExportedSummaryFile.objects.filter( + workflow_type=WORKFLOW_TYPE, + workflow_batch_id=self.batch.pk, + ) + ) + exports = sorted(exports, key=lambda export: 0 if export.export_type == ExportedSummaryFile.ExportType.ZIP else 1) + content = build_assistant_summary( + batch_no=self.batch.batch_no, + exports=[ + { + "file_name": export.file_name, + "download_url": f"/api/review-agent/file-summary/exports/{export.pk}/download/", + "export_type": export.export_type, + } + for export in exports + ], + failed_files=[item for item in self.batch.generated_files if item.get("status") == "failed"], + ) + Message.objects.create( + conversation=self.batch.conversation, + role=Message.Role.ASSISTANT, + content=content, + ) + def _create_export(self, *, path: str, export_type: str, export_category: str) -> ExportedSummaryFile: from pathlib import Path diff --git a/tests/test_regulatory_info_package_workflow.py b/tests/test_regulatory_info_package_workflow.py index fc1331f..4f2b699 100644 --- a/tests/test_regulatory_info_package_workflow.py +++ b/tests/test_regulatory_info_package_workflow.py @@ -1,6 +1,8 @@ +from pathlib import Path + import pytest -from review_agent.models import Conversation, RegulatoryInfoPackageBatch, WorkflowNodeRun +from review_agent.models import Conversation, FileAttachment, Message, RegulatoryInfoPackageBatch, WorkflowNodeRun from review_agent.regulatory_info_package.constants import ( REGULATORY_INFO_PACKAGE_NODE_DEFINITIONS, WORKFLOW_TYPE, @@ -60,3 +62,31 @@ def test_empty_workflow_skeleton_completes(django_user_model, settings): status=WorkflowNodeRun.Status.SUCCESS, ).count() == len(REGULATORY_INFO_PACKAGE_NODE_DEFINITIONS) + +def test_completed_workflow_appends_download_summary_message(django_user_model, settings): + settings.REGULATORY_INFO_PACKAGE_ASYNC = False + user = django_user_model.objects.create_user(username="owner", password="pass") + conversation = Conversation.objects.create(user=user, title="会话") + trigger = Message.objects.create(conversation=conversation, role=Message.Role.USER, content="根据说明书生成第1章监管信息") + source = Path("docs/0.原始材料/目标产品说明书.docx").resolve() + attachment = FileAttachment.objects.create( + conversation=conversation, + user=user, + original_name="目标产品说明书.docx", + storage_path=str(source), + file_size=source.stat().st_size, + ) + batch = create_regulatory_info_package_batch( + conversation=conversation, + user=user, + trigger_message=trigger, + source_attachment=attachment, + source_file_name=attachment.original_name, + source_storage_path=attachment.storage_path, + ) + + start_regulatory_info_package_workflow(batch, async_run=False) + + message = conversation.messages.filter(role=Message.Role.ASSISTANT, content__contains=batch.batch_no).latest("id") + assert "第1章 监管信息(预生成版).zip" in message.content + assert "/api/review-agent/file-summary/exports/" in message.content From cf4f4456c403c2d91371ca46c30d000e46d7a44a Mon Sep 17 00:00:00 2001 From: bruce Date: Wed, 10 Jun 2026 20:23:06 +0800 Subject: [PATCH 6/9] =?UTF-8?q?fix(regulatory-info-package):=20=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E5=B9=B2=E5=87=80=E5=AD=97=E6=AE=B5=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E7=94=9F=E6=88=90=E6=9D=90=E6=96=99=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../services/docx_document.py | 199 +++++++++++++++++- .../services/legacy_doc_document.py | 39 +++- .../services/package_generate.py | 7 +- .../clean/CH1.11.1 符合标准的清单.docx | Bin 0 -> 37136 bytes .../templates/clean/CH1.11.5 真实性声明.docx | Bin 0 -> 36951 bytes .../templates/clean/CH1.11.6 符合性声明.docx | Bin 0 -> 36881 bytes .../templates/clean/CH1.2 监管信息目录.docx | Bin 0 -> 37335 bytes .../templates/clean/CH1.4 申请表.docx | Bin 0 -> 37170 bytes .../templates/clean/CH1.5 产品列表.docx | Bin 0 -> 37224 bytes .../clean/CH1.9 产品申报前沟通的说明.docx | Bin 0 -> 37114 bytes .../regulatory_info_package_templates_v1.yaml | 10 +- ...egulatory_info_package_package_generate.py | 136 +++++++++++- 12 files changed, 367 insertions(+), 24 deletions(-) create mode 100644 review_agent/regulatory_info_package/templates/clean/CH1.11.1 符合标准的清单.docx create mode 100644 review_agent/regulatory_info_package/templates/clean/CH1.11.5 真实性声明.docx create mode 100644 review_agent/regulatory_info_package/templates/clean/CH1.11.6 符合性声明.docx create mode 100644 review_agent/regulatory_info_package/templates/clean/CH1.2 监管信息目录.docx create mode 100644 review_agent/regulatory_info_package/templates/clean/CH1.4 申请表.docx create mode 100644 review_agent/regulatory_info_package/templates/clean/CH1.5 产品列表.docx create mode 100644 review_agent/regulatory_info_package/templates/clean/CH1.9 产品申报前沟通的说明.docx diff --git a/review_agent/regulatory_info_package/services/docx_document.py b/review_agent/regulatory_info_package/services/docx_document.py index eebdc0d..e42d49e 100644 --- a/review_agent/regulatory_info_package/services/docx_document.py +++ b/review_agent/regulatory_info_package/services/docx_document.py @@ -1,18 +1,25 @@ from __future__ import annotations +import re from pathlib import Path from docx import Document from docx.enum.text import WD_COLOR_INDEX from docx.shared import RGBColor +from django.utils import timezone from review_agent.regulatory_info_package.schemas import MergedField +PLACEHOLDER_RE = re.compile(r"\{\{([a-zA-Z0-9_]+)\}\}") + + def write_docx_from_template( source_path: str | Path, output_path: str | Path, merged_fields: dict[str, MergedField], + *, + template_code: str = "", ) -> tuple[int, int, int]: source = Path(source_path) output = Path(output_path) @@ -25,16 +32,14 @@ def write_docx_from_template( highlight_count = 0 missing_count = 0 llm_only_count = 0 - for paragraph in document.paragraphs: - for placeholder, field in replacements.items(): - if placeholder in paragraph.text: - _replace_paragraph_text(paragraph, paragraph.text.replace(placeholder, field.value), field) - if field.highlight_reason != "none": - highlight_count += 1 - if field.highlight_reason == "missing": - missing_count += 1 - if field.highlight_reason == "llm_only": - llm_only_count += 1 + highlight_count, missing_count, llm_only_count = _insert_prefill_block(document, merged_fields) + highlight_count += _apply_known_template_replacements(document, merged_fields) + if template_code == "ch1_5_product_list": + _rebuild_product_list_table(document, merged_fields) + paragraph_counts = _replace_placeholders(document, replacements, merged_fields) + highlight_count += paragraph_counts[0] + missing_count += paragraph_counts[1] + llm_only_count += paragraph_counts[2] document.add_page_break() heading = document.add_paragraph() heading_run = heading.add_run("预生成字段") @@ -60,6 +65,28 @@ def write_docx_from_template( return highlight_count, missing_count, llm_only_count +def _insert_prefill_block(document, merged_fields: dict[str, MergedField]) -> tuple[int, int, int]: + first = document.paragraphs[0] if document.paragraphs else document.add_paragraph() + marker = first.insert_paragraph_before("【预生成版】以下字段由系统根据说明书预填,黄色或红色标记项请人工复核。") + marker.runs[0].bold = True + highlight_count = 0 + missing_count = 0 + llm_only_count = 0 + for field in merged_fields.values(): + paragraph = marker.insert_paragraph_before("") + run = paragraph.add_run(f"{field.label}:{field.value}") + if field.highlight_reason != "none": + run.font.highlight_color = WD_COLOR_INDEX.YELLOW + highlight_count += 1 + if field.highlight_reason == "conflict": + run.font.color.rgb = RGBColor(255, 0, 0) + if field.highlight_reason == "missing": + missing_count += 1 + if field.highlight_reason == "llm_only": + llm_only_count += 1 + return highlight_count, missing_count, llm_only_count + + def _replace_paragraph_text(paragraph, text: str, field: MergedField) -> None: for run in paragraph.runs: run.text = "" @@ -68,3 +95,155 @@ def _replace_paragraph_text(paragraph, text: str, field: MergedField) -> None: run.font.highlight_color = WD_COLOR_INDEX.YELLOW if field.highlight_reason == "conflict": run.font.color.rgb = RGBColor(255, 0, 0) + + +def _replace_placeholders( + document, + replacements: dict[str, MergedField], + merged_fields: dict[str, MergedField], +) -> tuple[int, int, int]: + highlight_count = 0 + missing_count = 0 + llm_only_count = 0 + for paragraph in _iter_paragraphs(document): + text = paragraph.text + if "{{" not in text or "}}" not in text: + continue + used_fields: list[MergedField] = [] + + def replace(match: re.Match[str]) -> str: + key = match.group(1) + placeholder = match.group(0) + field = replacements.get(placeholder) or _default_placeholder_field(key, merged_fields) + used_fields.append(field) + return field.value + + new_text = PLACEHOLDER_RE.sub(replace, text) + if new_text == text: + continue + field_for_style = next((field for field in used_fields if field.highlight_reason != "none"), None) or used_fields[0] + _replace_paragraph_text(paragraph, new_text, field_for_style) + for field in used_fields: + if field.highlight_reason != "none": + highlight_count += 1 + if field.highlight_reason == "missing": + missing_count += 1 + if field.highlight_reason == "llm_only": + llm_only_count += 1 + return highlight_count, missing_count, llm_only_count + + +def _iter_paragraphs(document): + yield from document.paragraphs + for table in document.tables: + for row in table.rows: + for cell in row.cells: + yield from cell.paragraphs + + +def _apply_known_template_replacements(document, merged_fields: dict[str, MergedField]) -> int: + product = _field_value(merged_fields, "product_name") + applicant = _field_value(merged_fields, "applicant_name") + today = timezone.localdate().strftime("%Y年%m月%d日") + replacements = { + "呼吸道合胞病毒、肺炎支原体核酸检测试剂盒(荧光PCR法)": product, + "呼吸道合胞病毒、肺炎支原体核酸检测试剂盒": product, + "呼吸道合胞病毒 、肺炎支产品名称: 原体核酸检测试剂盒(荧": f"产品名称:{product}", + "光PCR法)": "", + "卡尤迪生物科技宜兴有限公司": applicant, + "2023年09月20日": today, + "2023 年 10 月": today[:8], + } + changed = 0 + for paragraph in document.paragraphs: + changed += _replace_text_in_paragraph(paragraph, replacements, merged_fields) + for table in document.tables: + for row in table.rows: + for cell in row.cells: + for paragraph in cell.paragraphs: + changed += _replace_text_in_paragraph(paragraph, replacements, merged_fields) + return changed + + +def _default_placeholder_field(key: str, merged_fields: dict[str, MergedField]) -> MergedField: + if key == "declaration_date": + return _plain_field(key, "日期", timezone.localdate().strftime("%Y年%m月%d日")) + label = key + for field in merged_fields.values(): + if field.key == key: + label = field.label + break + return MergedField( + key=key, + label=label, + value="/", + source="missing", + evidence="模板字段未从说明书中抽取到", + confidence=0.0, + highlight_reason="missing", + needs_review=True, + ) + + +def _replace_text_in_paragraph(paragraph, replacements: dict[str, str], merged_fields: dict[str, MergedField]) -> int: + text = paragraph.text + new_text = text + for old, new in replacements.items(): + if old in new_text: + new_text = new_text.replace(old, new) + if new_text == text: + return 0 + field = merged_fields.get("product_name") or MergedField( + key="product_name", + label="产品名称", + value=new_text, + source="rule", + evidence="", + confidence=0.0, + ) + _replace_paragraph_text(paragraph, new_text, field) + return 1 + + +def _rebuild_product_list_table(document, merged_fields: dict[str, MergedField]) -> None: + product = _field_value(merged_fields, "product_name") + package_specification = _field_value(merged_fields, "package_specification") + for paragraph in document.paragraphs: + if "的包装规格、货号、组分及主要组成成分见下表" in paragraph.text: + _replace_paragraph_text( + paragraph, + f"{product}的包装规格、货号、组分及主要组成成分见下表:", + merged_fields.get("product_name") or _plain_field("product_name", "产品名称", product), + ) + target = None + for table in document.tables: + header = [cell.text.strip() for cell in table.rows[0].cells] if table.rows else [] + if header[:6] == ["包装规格", "货号", "组成", "组分", "主要组成成分", "规格/数量"]: + target = table + break + if target is None: + return + while len(target.rows) > 1: + target._tbl.remove(target.rows[-1]._tr) + specs = [item.strip() for item in package_specification.replace(";", ";").split(";") if item.strip()] + if not specs: + specs = ["/"] + for spec in specs[:8]: + cells = target.add_row().cells + cells[0].text = spec + cells[1].text = "/" + cells[2].text = _field_value(merged_fields, "composition") + cells[3].text = _field_value(merged_fields, "component_name") + cells[4].text = _field_value(merged_fields, "main_component") + cells[5].text = _field_value(merged_fields, "quantity") + + +def _field_value(merged_fields: dict[str, MergedField], key: str) -> str: + field = merged_fields.get(key) + if not field or not field.value: + return "/" + return field.value + + +def _plain_field(key: str, label: str, value: str) -> MergedField: + return MergedField(key=key, label=label, value=value, source="rule", evidence="", confidence=0.0) diff --git a/review_agent/regulatory_info_package/services/legacy_doc_document.py b/review_agent/regulatory_info_package/services/legacy_doc_document.py index 596480b..f95d25c 100644 --- a/review_agent/regulatory_info_package/services/legacy_doc_document.py +++ b/review_agent/regulatory_info_package/services/legacy_doc_document.py @@ -4,6 +4,7 @@ import shutil from dataclasses import dataclass from pathlib import Path +from django.conf import settings from docx import Document from review_agent.regulatory_info_package.schemas import MergedField @@ -38,15 +39,43 @@ def write_legacy_doc_or_fallback( output = Path(output_path) output.parent.mkdir(parents=True, exist_ok=True) capability = detect_legacy_doc_capability() - if capability.status == "available" and source.exists(): + native_enabled = bool(getattr(settings, "REGULATORY_INFO_PACKAGE_ENABLE_WORD_COM_NATIVE", False)) + if native_enabled and capability.status == "available" and source.exists(): shutil.copy2(source, output) - return output, "success", {"doc": capability.__dict__, "fallback_used": False} + try: + _append_doc_summary_with_word_com(output, merged_fields) + return output, "success", {"doc": capability.__dict__, "fallback_used": False, "native_write": True} + except Exception as exc: + capability = LegacyDocCapability( + status="unavailable", + adapter="UnavailableLegacyDocAdapter", + message=f"Word COM 写入失败:{exc}", + ) fallback = output.with_suffix(".docx") document = Document() - document.add_heading(output.stem, level=1) - document.add_paragraph("当前环境未检测到可用的 .doc 原生写入能力,已生成 docx 兜底文件。") + heading = document.add_paragraph() + heading.add_run(output.stem).bold = True + document.add_paragraph("【预生成版】当前未启用 .doc 原生写入,已生成 docx 兜底文件。") for field in merged_fields.values(): document.add_paragraph(f"{field.label}:{field.value}") document.save(fallback) - return fallback, "fallback_success", {"doc": capability.__dict__, "fallback_used": True} + return fallback, "fallback_success", {"doc": capability.__dict__, "fallback_used": True, "native_enabled": native_enabled} + +def _append_doc_summary_with_word_com(path: Path, merged_fields: dict[str, MergedField]) -> None: + import win32com.client + + word = win32com.client.Dispatch("Word.Application") + word.Visible = False + document = None + try: + document = word.Documents.Open(str(path.resolve())) + end_range = document.Range(document.Content.End - 1, document.Content.End - 1) + lines = ["", "【预生成版】以下字段由系统根据说明书预填,请人工复核。"] + lines.extend(f"{field.label}:{field.value}" for field in merged_fields.values()) + end_range.InsertAfter("\r".join(lines)) + document.Save() + finally: + if document is not None: + document.Close(False) + word.Quit() diff --git a/review_agent/regulatory_info_package/services/package_generate.py b/review_agent/regulatory_info_package/services/package_generate.py index b3efadb..5fa0030 100644 --- a/review_agent/regulatory_info_package/services/package_generate.py +++ b/review_agent/regulatory_info_package/services/package_generate.py @@ -39,7 +39,12 @@ def _generate_one( actual_format = actual_path.suffix.lower().lstrip(".") highlight_count = missing_count = llm_only_count = 0 else: - highlight_count, missing_count, llm_only_count = write_docx_from_template(template_path, output_path, merged_fields) + highlight_count, missing_count, llm_only_count = write_docx_from_template( + template_path, + output_path, + merged_fields, + template_code=spec.code, + ) actual_path = output_path actual_format = "docx" status = "success" diff --git a/review_agent/regulatory_info_package/templates/clean/CH1.11.1 符合标准的清单.docx b/review_agent/regulatory_info_package/templates/clean/CH1.11.1 符合标准的清单.docx new file mode 100644 index 0000000000000000000000000000000000000000..c92ea895b6d8aba9eab70dffd2fd71a2a6b5fd40 GIT binary patch literal 37136 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 literal 0 HcmV?d00001 diff --git a/review_agent/regulatory_info_package/templates/clean/CH1.11.5 真实性声明.docx b/review_agent/regulatory_info_package/templates/clean/CH1.11.5 真实性声明.docx new file mode 100644 index 0000000000000000000000000000000000000000..332f518184220350bd25b34ed66991d4da84fd07 GIT binary patch literal 36951 zcmagFWmp}_wm*yqm!JWH1b26LcZcAv8+Uit;2PZB-3gxH1b2el#^t{=bLQNcbMAfL zFU>>MT0dFUT~%}!iZYN;7+_#vuwcabW1p*(ixQH-!NA5~z`)Q!tvVtAJ7-fnXMI%< zds8P}dUso!reryV6+zU{^B2q%27V$h5fsewZF@?4+5}wDnoJ<4))K?1EX2dz1b2km z55+JT`h=|XJ0F6TdcJP&W^x@7(NkUBERBLskR{#)Yx(qNW*mEB3B*#1k~<&ghG1%2 zv%Eh{vx774)DCd#zYjSV&eIM|)_eeqrKpNie@{3Z0;|k71|42g@Pp%PCyBkP^3gYn z9U6PIa!6G!2gCY7X@) zeMQLb!w3M>nO)mndbe>6mLr(@vgjKX?e+IoA-ksl>tOQQ*+a-2jW;`CcXP9Hwi9ap z-%vu?)CB63JA~p=Mp?Kx-W-lZKKTIif_0X;MCE-tMfLe80|W=X?k|y__6?zb;@l$! zRNqNHcNOostOVv8%hIM$>AWO=EJW)`FnscQL@25FAj;qOyjZffCop#RDgOyWP7h4+ zAEW3&E+cpk8ohN0FfatrPkl#I8z%<(-`A?dNohzXRR42+v2SE0cFk&{h0A)PhjNAd zy=fC?#df}u#Xq~dltgtkvHA!O&UcK>7BUO)mS~D?f;5b@<^#Vj_GxZVT{d>;ufnFl zbp{Z-t8NEt*QmcFB9{i2C86CQI8$o4 z_|VM)U;yH>&1{h+Rc*UAZjtu_&CZer{(?vG_Gl{U@+M5!oQ23z4(K-`QU}wqfaVVL$(8fx<%(R4hTa`43Qm&_D$;0T?Sf0_>d_i~)|Ozi;yF#Buon zMpUsoZ?QQ!^@wX!STQMT@S{j+NsNG{wp&&If0!YXKT%c1ImiInXmNJM)WRKEfO2qKb55*yIUT8at4 zvd~Juf=8qb8p=-TLCr2zzy&#O*+9ACR%#`T2g-MhZTW z7&1`a&oZT~g<-}&b$x(FL;+_JR7zKNYgK37j68L6bl8}7h19J;Yzad|PWkZl$7yM$ zVBlBSRUOxLz+h3`$lToaDxDLVzkstzD@!fEaB7Kb6i5<9GN5QQO&xEygv6|;r(-5ZdO*X zk3r*N0|f?#`uA}$w736bSX9UDRv1w`pJ#3u0F2;i;CX5sds-ASd)Fv$p@upBkpE55VGX{iCURtdW%A&Y6I3~L z8K(LWny!QX^jOtA3>}K)%#iRCtt5^RY?n0FSg%l97dQ33uVPN)do+bc^0?R_UqmRQM`uWqtqcKuH)y$<0jm!2t+x$jJn_gf zx5!YBJi<%QSfbQFMc!$Dj8AG#NB65616-eQa3UsET|sJsM_%nd?Pu4be-X6AUv5Vu z^_lv?FIG2RTOqwoUrEeYJxoEG^6|-t5Rb-~>P+L{Kx9!{S6(LuGnWk)&6R8`#J3H6 z4?qF^#hMRCQNmSwoAAy8_XU;y(w6C9^TCA=;m8e!)3>z&jv)0E&gNw_dYmAj)n+3# znSWAagOn#M3tP?0Mj;_}a79X>NI{~jGn3(&f#3oz^WhrrZ60_+_|F?7b==y@3la>h z9q!Ku)(zlj!T@?|U2H*%)9*WDNL>klCx+^KppkVpq;R>m93fS;q?Sxwgd(W~IX!O% zux034;XAFi6;`9F%5N0(mkw^mh$8(iNQ%p$C@qaK7*}>~lXHcg*2R;nt0r13v}fw( z>bjo^FtfXJJ$nx8Hg61%|I#2mHM+tT#5kclc9gvObWSHbxsOXb0@p=?(@d?LH1 zn{AQ41E0gE{|h**Y|09FbsADpV7;l-DiMF8N3KyHSxp)5e)o_yTV%xiet#2uv+;;B z5huB_aI43lwqyoX)-;94H5x%A^h!<$o9Tz)ifDI19GivKi-f?U(x9-`1;k=77Qsk* zmAG=u7_~72ZOjHLO|GG|F?WkxW>m@+Z-B*wLW5j*@$7dISz%^}wzL%9Vsp4{aKkB+ zAee&oE_z%W_E4e{a^4gh9{b|yg_|gdCPQ3sdEpJYEN=!wU+#Qkh3{xc2_CY-TYG6D z_alXX@ePlT;oXV_ zaOC1C=&;sV?DVolr6 ziKg9&W3`9SB^Sx{wwL2)H{T&aaL*eSLFFBX-;@Xgn zl#Mg=%SGGIifvHxby6C5Bt>4FyLohCkS@awc@J=H+2hlD3Sf}N7AVV z4I0-Kf9`#jVn}UMUL~~kDr9e7A^JwvyMHQ-sK4_$hVEDnlVR3A&8xkTSul;1y$&}= zF%`;%jos8Fff|uEij0TOL^(!NwwlHI=BWG?>7P%koj=}tX3!Kq4w}O8K~wl2PwJl= zkiS2#e{M#;2q^?H;)I^R!uN+HVHDd%eK^S{@1Pd1De?{x|Cx9zvbUkLW9NG|CqCXPT48wABoIN`}T~1cF zUUgMkZwjnsIQ4DHH>d~pqe0az%^T>Fu#p*TpC5b&-kae2y}Z+dH*1{77b)Hgc$WJd z^IjiH{Voe~faTu6a%{(J!5B=`tw$tPgt@3TOJxi4s)Qv!qf79&xjt%ID~)SN9P{;Gq`eOyqOiqs`dO;JZ?G!E`Sa#S4HVZy z&}Q{EVC!yzhhg(o$C9M5epKkDXXbVmnYWq^ygqHQtfGEC#jmgyyW_I z+MN696UJt~oUL&T^dNP&>71)Sl}w&pcL01}aJ+dQ_Rrk4&vH^$UhH1ZG6fb#0Iv^m zZx2t4=dmRMEyp{$_YZ5A9jWsjPY1KVfE{6BJ4YTb^}MgPZ|&4P&-t092188?0 zJJ|7TOL*)(gQYVjU1!dLU${I;u9GTus9Zd{ zJ$|kVhziH~g)qE!uXcB|RE{SPG5Ohcton3+);aHf0g61DDW?()IBcvjpltZ2i4l5B z=A0704c0vL81>bR&y%M#JUeTL`J!cz;W~G~bzQ9EcBBgUdPJ#qc=Md16W2t<-_)W& z7loa@=bjF0Knbg<7I>-E_t6sY;S6Eu?1(cB!S;K3Js2?agMGPKdvVVA{9Nn1+_}Na zSLJqo7M99!mcyZN{N|%~?#ox5Yq$7@KG>ZS-TJfVRQ_Nk4zPW{`&OsjBc6lT-L50f z{y_EE%kFu{L`Ly?zq0Sjae%;8b~*Ic5spuOYb52N$54RNgQpIku?<_Fwj+&XSb?%t zio&E!*sn%tRLMUm>Jv`o9X{*p;@W*Pa%wq50k5a}5D_@5>YKkwlAKG~D!NAjPoM~D z>Z1`*ss(_4+oydQwEFO-dp{w$^p4+7e#ONU0++hDo%D3$rIVLdfH0+I+U>`xcDyok ze^|>%(oz-jyd7}hSM7#RHHNX4mC0=z)McdP&;k7E2)nK~$eb8H{ zZuP?S)9LJ^{hhJiXi;YPAVb<+x5!q0!dh95}Nmc_K7Y2 zL|MDKJaGxAg*lxSA)90Xa4pVJ9YIw2D=gIDq)zB>bi!9y@qzK3(1m%wJ1sz+Sbudw zZIJ@Nh5i*^-Goa<55?et@U35J9pW$SQ`SUKDiJ7->W@@y5LyTb_aCW$QbCnboLdpQ z{|CXj5(%gU{tp!?ozNy<|4ZWkK*f7rRbvIFf};K|%oPu$M;R656{B&NjtGJ7KP1u- z!BTi2!2Y3nF3GJ4wexq>znco3L>i}DJG#;Ja=1mc=ZU%r)LneeAHe;z{Im%dI+A;( z;l%<{DZa#)wl=$WZ}_#L>nzzi;frd{?K^ZVkBr;A(nj;q>!duN53M}`UD|Z*hP;HH z2Now>zgjH0U+dft&*s)_x!3%f=T|t`+aJx}x{uiq&}{*V62{tX(=Q7qe~vw8OTc}5 zvPTr5^O!b3rClxiNP71kMauzQqwa@sH41dy^uc&t>4<6Ro!_~pTjSbE_vh+d32k16 zq`0+4SC0|aWxDt#${h!9H_r5T2OJbnUGn22##e9SPx-9q>&Ev7$FKKi>kbrBXOdk9 zs9OccI>pUAl3$!Z)YQh&y4ILrr#rm_bwouMoT!zC?oqdO&97WG`bA`u0Dxa+uE;ri zoZVC`rjSRQLyo2E-De?2sMWBx%Jdg917BVTFNzfo#+lch2_ibB#xj+q$1^vd6U#ZE zsYDje<)q*Vm>Xt2cm$JWP8a;LMBi(W7SAmYvRurMc2_Re2!vb_()&H5X1w0V1CvI8 zB`?Ht{wxt)J4fu7E4P4>Z@RwsK3ad&l2WY+z#bcI{xMysw%+aJGA|AU?al zo^L;kR=`5)oz1vP^s%~5-WM?OBfjv#gtm;MLB*Q=616Uy97-Bbp4;D+y4nr9QltWs zMjcCG6;o(IcdN#yf zU)ajra?fvm#qGW9#Y6#JpLVXE&t7QWs#bs{vk&uI2L0|Y4u0IH`uDkU2sh8*1oa%( z_CB!P-EIJexMPtkF`~PQj#dY8rL}`l+{la+xfFp@2Hhwe4rhU62BCAwDfc%xaa=M!)t zO9z--9$r~BMh3_3h0F$g_+a}vix0EJK?vI|;xQRXdt!cKocCwEQeqqR!&U+`a-zwp zmk3T-e5mPrpR_t)$GhoTMkgwe$fsN9?eXQIpmjyv>>MZpDx~em8pAvAtLYsx@v8ww z&M^d9tq*(q7P98*a#eB8EEysBW~z?NrA)aW+Q&0Wq`HoEAdIT z#R_R?G3#YyqEZfr2NG&M(eZPQs2#a$hJl9a4i%LUp)lMdWh< z9u;okWNt$D5TD-*$*n7XwsQ3Qtl%UjCQ#an!KWJY;WHOn<5Boa7&=Or<-jA`gjJC0&$9g zodC&3O>?p|5FImuIs+NGnfjz%?Na5Lk3t81)SCOya4wpF^M`|P-TGl|aWx+hN_C69 z0AAjiw7is!J6MgWS_d=AzH{=dO4B*o#lfdZOZTGJ6-{%VIae%qBAw+pZPZEGl5`EU>>=bu?_SgB;6^zsmnBx?M8uu^+Od&r4rbMs;@zE$m_Gll4$iB?oKLow3RNComD&v+7q;blqf znk*_GJtVK}JoLoa(0^&%E}e@cA*G3JHyCfq!OO^X;Ju^C_Y&IEQD(ov_`jen0HkhEL>IhbiF89J}f z(o~4>_@@}_o53RX7eYBJB)%X~;Q>lZk}-M?lj+bQN}j@@WHrK*_FD|jQZM)=Jg+La z0)C#Ro$mHa{*i0_`L9*)256Tm=j2o=W}`*a-NRHbILfCcg!fM~G6k=E64b80p|)9Z ze2`5vB~WwX4_DgriLNLS7BJrnrfGr}WN~W;dhg%Qo+6cd))RYjhqn3QL9m9JVFmr@ z-LlxP=VwW6n_r8psWHN~H4P~X#83m)aXb-GvmHTBtvjb3p;lLl<7vgvHu<-Fe)V#& zWX{nLY6s_%dAEFe_@1;d=ay_}pJbMm9_`S~K}Fh`j9VhFH0dz;J{-JQdM1W}Q$e8o zSr59PDB!bs^uy~#BY##;R4k9NYTl#}yzP2(I=K&vU@qoR+lhicx1B$K=W(y9rPr>ZYLd^9>W!K@b=+yuZ(P^!+u_bu zeoF_+mI{b>1GgB5<|mhPIylHi<3e5fbl?CV7faI4d?uK!uqc--qpG|4bB2(Xz~hBww%b6uGX5Ss1>q$pidw7}I5_?{vfNT9VRbKta?Yb7;$* zJ1wEI9u$b~zE>N(?wqv)-3e|Riybd^7(**_IEin+{n*W66o}5_)YNi_q#_h~Smi#< zj^0&=vbuoZ6$4?;ol}SYy^3@Z{D%EQ>(s6jT z>(Ss8dYf|3aOhc_=@mX=fKqs6Q2+_k4LdVh*YZFFOLhbLcO+gnur99aWuvVt0*tI) znlQ4P;vIa3O(ge0z>d zuFx^KfOSFdlpWhMS0N~DCJ(&#oOOuBzJO`u(i6n`%27}ImBYAKYV#pBbwe>dm*puM zR3g%tbk289lrsU%cF&q<3nJC4A; zYr{7zGieyQ(L$N6!Q=)@&x%ePcn(NazS9i?K=qk&nn-`=$Y!(|BHd>xc!tEujOGup z{pvTe5z|_#c4@+C>P_bX>vAfB{0dc??cugg>XXgy4_Vra{ITKPh1*!e4!4wn`MUKV z6HiqY8EO_~ae@7KlZ;B|M*Q}=B{iiQ_4>iP&M}uom2#NR+l_bXzLs6qI9`P{g;iwj96Gg4a-PYH$ZGK@V8aD-tH$ z-PWHr{NmI;Zg2I^=dTyOSQ!+!rXP)>mmL~pdk!fU^A~dqIG6?6xO0?K4>C*S@+HME ztj$DGT#zmG@TQwPl-WcoqN5>>Iu=uj44A}iKVwO%G_}2*De&TkWKoY4_?gm9T%n5MmIuzUPqRaKq8VReHA^sP|sEbz6CR}vEA-Etr^ z{_;4W3^%ZQxQ})13%@J$)In4&R5+)RS`|m z{qrbgk?Vu%4I@{3o0y<(zfRSWk~xJVHN?y^0tWK(gV5q9TugAP`wT=FZbQ-ER3^{8 z4ScS56DMkNQU3qt`9$;=j~lK+J1nd~Ojx8pbfyZ2Zve=WAjnd|7kQNY{IJmwW^{B$I&( zE1!s#ESY4S!zi&U*2%*Rkso;uOH(Ra5rtM)QE2ztP#$AQ6N{jt5p@f4{J5$0ogIs7O5-YB7)am3A= zCNoM85vhs@bFAWE7kB2YFQnt><)fpf2@rJ{qAAQd(=Z5UhRK@f??mBEj{LuY%Mze6 z5jB5e2)~!sxQ7=r<4MrMhWhpqA&ZZ(eR?7Ue+^860%rDp`Mli$XHvd%F>we3Mem>v z=l=3|&;iYs| z1J?X|Q2(-Ryik^kz#5Iy)L0N6Eiec#-06?@rZ1!o5u=^^4})BF(F$3!oJn6tXdI@r zRb_rFX%T{PkbiNmnc$*{TdtjpTPFIqLc~+X^HRv|EQ>!C*8aD`)PpPmo7iWwrXNx8 zNLCV)@iHkQd))C9$jNp>Ij&@rX;jk%)CBOZuO1wq9tX`z5!zgC!ew%+h^-C{&Bp2uJ`-d>vhQi|D606!1)0b&`AnxcDY-%YW=J z+7}zgxe#K>J1){$O>o6m-Em9s*xE6L`#Le+c!&M6Zpvm`9FBotl29vnX1P^7PgEd+ z!Vcc$J|#y>PSvTC& zx6*^}7xf*PJZQW9e6>H$cLXh?2v9>xvCq6UF@)hMrN0gL5cG;7yYXxS1k=KZT z$TPW7{~(X~3L@Y7KYc??yLCSAr~Hc?6Gmn%wY^`XwLK<39;-NsUodwp#{1XH)#Dk` z#A#ni_7Angllw(64fXd`BRyCnCv0S#WNYSqj*7AX@2DcyvjG?+i|UA zQtZH@b%X#)t#_2^y=G<)S~XQ4XNYQN&-Kt?lvuQ`@lZ04NX-)+6mDcmJjo4sRM<8+ zg_3g0xsR?wRT^)f5-sFsjx6a_F_$Wf_31Vkrf+ zk1igwmfFWY$Ic~|O*G*axZ%agcgT%%Uhm$^9fQfCTfCA9+%?TBAwqdRuIc|ItyiEUcQf4VmYItCZW4-pRwRes4!`%{R00f118^cuS=B_zIsiK60%R z6g!5713wiRnzn8#{^kJ@ZZ4A_ot+Zu*_|Jc zwv~>w?mM_BJQSheE*L6=C?YILFSJxXl!p*sADmSc1y3}F0fC5Sz%SE=OWupYu1dK^ zf6odl_ka~2)+p@FH3>Kd46k(Porkmrsdb}JzEWdcLC`Wu0a_;02?P;g89->;(7(|T ztoXijM`MG~+yfdoEZB3}`t=sb^#r@r*gAV{gHneOF4*0JvEdB`TCk(w%v*{l5xrpb z{3Qc6p~LaP^!&rYx1d{zq&kThN*UaR%04KBT|!J4!!p$NoL=z)no)1-*)JiEs>-*Z z?F5Qx_5AOQKXoeF^kd7KIU&p0rx~JH0pG<#Sg9byL;ivQZ8Q22?1d8Dh4d5^E&{bR z!jX5N(?(GB3_O>4(@?l7$h7_@4lxlVZkQ+-J5pan9t(2XFzhA#!)+cA0gUSRg)1I( zVX6fp7zouLV;4dLp&2M`70wv-{5=r2pl|d26F9DxH$3Y)E9Zd-X)WcU*sVNs4esFG zBH0(h4m~T*{5Vei>!zW678)M~;VmRM1(8h#$o`{vPrH8=@6_~q$YwYv_%DSxdX)MH zu=?wqmM{d0keS@zazi3Q-(~jVQA?G%D8W)yW8ol(0}G@-#abO4Lv~ttuM{c6`%mI@ zWSB$um)cRkl?c8Bo?^eg_!c+0RqRIVg zZcOKHAm%ApS2o#R2$c0N2>e)J=hL!b|4#BCxVb~;Xk{&8!^MAttIve<;H&|fnKwX4 z=+vV;EaYaVi~w`NU&8tGax9P9&Ta5{xkQu6_{daqu*gm>IM!6lz4L^&>Op4g`Q^<|=x|%VqPS1NNLe~0 z2CR*b#hNeZ$JGpvrCF)Tw_5FH?Ac$@YU+CyC%!Y*;M7u(nwW;Nmzk&u5+~XZGfFKD z^BA5lsOz~t9GV=Xs;F}b1T;Q1HiO0#V^2-1}{LyBmmh<$J9fQ8<0jAsoR-; z{;t_w8{m|ye|%bkcKbl}o9M#Fx5;|Vd0%6Fb43|&AvaM2Il+LVpc{t%mHx{E93s3G zryd_|VUIhowAOVye`m}Ur3SZ!VxlI*Y|GaB;NTr{3DlJ5e+-rT>zr|FdzxjJ*#6?H z5X4{geo=16`>K0glv9A~nN+(hTgY3-1oWjD}=b4MT{<|`P9h){l6`c?}?#?ow) z`2Ir&g>!kx02(_NVqVN_0e8#|xg1;D=e-3X2*pBpGMl zfECtgRgb>5^xE4J<%aX9*Wy!tkB@?CK2VFE+*n$ua=L1AzvvH{eYTZcK2^mw5>H!Y z_Z37}VbTiU*c*r`95xc@yfhL}Un&LWz1JU+@vh2>C_tFu5I8LR7RFd~AfNMX7%chW z2I#9&+_}yvfcYp(ck}f?(5K5^+NX55*eJJbHm)4c(lz75gZi;ex7QxODxn6=eKO&U zSq0&YIJAH?n(D=|dtXg*!FT7rr~P+)n9r!>z|{beWt_ag-0pS2*q24TgOb49GH8Jt z{L&h1#XgkzCDjWSmq(?u-oi!VlwF;whKDoEXGNdSRht@hZW=E(^3?ZAk$HjoiwM59 zS^i}R>%RqWhB1~MOr?(xgJC}ZkKkuny8Ax`!~22+gLr1+9M?2!8lpy9w9T*AXzss0 zwrcm)JWHDCyhxh;3wQ*W(>|4Mj<|OnAFLe*-c6!-Qr{ak zGL7d@XUBk3-~T#(DVFunGSgL1P8f}k%JacDIwe=@FfB4HXIMro(V$t zAU~>uyqEGeu8e|g!&P`T+ zq}=Q7DY*8&tE9%qU5~#?2$f94;}{OIncM-XyohW6YF|=CL6xAi+~7J0(g2B)Lp3he zuKc}V$YYf>?6!QjKH*iu-ChS!#sVFR0yfq`oIb!FVoMilE5-O7y;lNw-vzrt>uGEt zl~*P<_$3xZA-LDgyGV|r2|a&@&!*J9m)i;R(45Hp)ft=axtpyQaIR1zaItP^u^lOU zn(P!{u(2)nIf0-z{v>v&fjh%11p@Y+RHnBOu{+c%;IY^!Uub(BE({Z)MxLNXLZ(xR zIpys;qwH5N*S-$f)dLzFx%)0NkeEU5`so~_5&ABxm;M7F&WjoZprr68Kt~TcJ_YBx z7^mI4Tl>M+;aS5y=fE8{JQEDg*-P0~BB+s=774#ica^adX#5eiVhDT&f?-Afoy{N| z*w{O`ScE$>vVSSSjV3=!LkEKz(b44L&*GeIYZZcx#RJ5>_Ffi$Sw`TDt&oN0)U!$c z49aF7{ga-j1np0H{*OF6;0z%194I3`E4qkFYz)Q!mHvT~VC1}{#eI_z9OL`_9SI!e9#E3ZD{1o zeda8pn&nAYpuTfr#e?0=cp>aB>x1E{filY*IWn`AQ~n&_j|N@M7f)iS*kwDtHVX)Y z;IS|iw(mT)+{p`U$H8G{b2@~Z%DIU2*ess5ZA=8ctI?n> z5y`(ykXY6C90OJ^E~TjT!pQ)~M^4J=E1t0OQ7{7wj#AWAR#A)oyBL z5RQ43w2QgyETxmuT^0inn(4izgJaHSrUmh-b;q{Lp@G@PrVw>9m6ZjRHoI{W>`&f; zW_WT&rtg2Tm8`CQv2Xj#Kx5t83(Bd7!KJzWypa>-ykwi3OvgK&8L?r-MWbTQIF!=M z3j=wMD2oV_-Uqws<^e+jRz-v;j#c+HMjBDv9LD(fETvMPjtl&!O#lbAs!uIC)0Kpo~&A zwIsCC*<8(yUByzC{Zlm4MLj2}I5@~Y(=T?utMG+HrvVM5yI1Y!>FedpL@jiq3a?u6 z^>5}$x(ijH0Wming4yC#hdD==uS85whO>X~p-v8l{f`m757=p-m^k6E09CeL4c^Ff z&Ct}zZ5Mgzd(?7R+TR(+$8Z@L>zK1E1BS-}+YTm{vzau}jWR1~(-_RMoMyCIK(|P6 zvKR&PWtrwP^%q}VS6B3xqZ@F!7><`}mu)J(?olh~E;%1BvxXA%{gm~ge6z}|j<1N@ zR43d$>oK1k_o;ih7ubkNX~QQzMGCTlUib=_uh7E$s4*z6zeH(H(CWo_4PP(SbuCbo zRb1=k^hqJ<^kNDK_Vo|m=b3pgOOz(a7+?_CD8{#f!1)o}84@0}?S&S()Tu(J{^C3@ zD+28Me9y?XhJ zg4=|(RO#rp=sXf2q)Qhy7CpRL;4*c1*paT7@+xuiu#E=2)kibLmCRzX({y`bk$7owrPE>#h(BQ8_Om;H{zj$# z6q48#Z&?VofgmLr5HFl9DP-HC=q1@lI7x9`cj4m(K{fX_flC|$`ZmsvhsD%VjT?i3 z>#o^pToAPEKCEXjdDYLJ@GqdMKY-x>4b%Vv`ub{o1{8q@3N(mI8lK40>FgSI`2T^h zqs0fBTf7W2CBcE}mig)X7KqoMK0RPI9Steuq<|5Rj{8i#hZxoy-?>b` zz2~o}nA6RuPCSyPZULRv7tHm4|1D1PTkxrG8kOLO_%;@&5#;duSHD+xkM1X*wzVqu zdwl?a_2Udy=L6S z@oLuWseXyV&rX1%XUW&Y>xJF&+NDn4=QCf;tzWV2L#mmtpWj=vuAiIL&dRt?Vb247 zTfn)mp9jBwXIcBLdqK$?*PGF}Q_@IoaAsIb>Yk@xYnR)~o|EH1Ch*J>=y}SqypWir za3D@i$a!6>uOF84GcRmqXmQuC8tH2Fb>~uoVS0q8#?FCr6DOfDVw}O$5O`&z+ zlYE?EbKt9fywU^U0Mslls9RONw7xo8(rCem{^X8Py8Yp5#c{o5d6^-bml}5N``o#1 zgH4#5#3SwbOfR^u9H%v?qufBCJw*x0X`|r+~ z*X$oj7L_6bG}Je`upaI1+TArj+L>Hh_Q)f;jp#R5OtNdOZfq!& zlmro`FjNq#$Hk2UpPsfJ`hl}Y4i9fRDaU^2DRGNCZ+L|JZ)HPalPjKn-gz?b_|6Fm z1PD@Ue&uIG-t7K^LtEFA%fpCXc|tCS8(}Pdsc$cw=U&PDLCK45e;A<$ z?IRgvpXqMNyq!Ma>+aW9T6?5weTX$&gf~t8>UF&-zM;MZ@6`TS6~Kr}T@o_<^g#5N z7<=A`8Y9w=-Z>N>Xz;e&6C>);TGqo?sWIuB_3!t$HSLJw>POpG(HXaK<>~~Vo1vgYh>Ss+&d+Q1emSbAHHb9x!D5tbP(;8X)vSZA9Hm=( z(|+y#nGM%+-+Ip6*>a1umWYgI#QgTuyu6rX5+>Y!@6e@R?KaNCpF|JsHF;VH5u{LC z1g}Z5qyt@vW>XKbfZ?X&D7&ZS97a|CF?|5zGZlcOg|`1U1pWeS3)o8rUJu#!@1Vc3e+Riw+JfU3m;Od+ z{0;vH%HIS2j`F{&z+r2Fwol9d3Bf7*!wwuD#yb*d%=hHeU>^&&#w>4yI#|o)OGciolK_3@0m&HL@ZdgjRbmaS@J zhXbL+Z5##r_1^sf_SDhq*UM^lHzsd($NJMR`s#Ph9VU@E)dYy!Z2~Sk$4CUxa~sQh zdh&dXCL5DLyyl9RxG0m#*EagDE#Ot0&#%#g`N#2x-Q}BS%eu+WjvvFXLsZ(%IJ2g_ z(bAuRrfuFYTx~sWA;tn#3*)-Co4|q5xN(I{+ZmtrUH_?Bw=bz|XZFB-+gxAKhuQP# zRGzj~;WLu4)y1lfRG*dhdxfEvs$Zis03D~EPT!Rbf+@e1j9BBdIFGYS!kL%NXWD9k z$dY$Zgg<#sFwf7i!{oL-IoEJzxjr03oABpmW5}EE=VY6B9nXot8@QJDomfCMkU;G} zKbnJmQ^T$y*+JElH9k;S<(i&Y$H}>&(l+A32ME;*LKHF<%2yUV~QZ zyAi<6Ojx>VZCyb`pb_L=i8i>?9kg_g8r~)JSOdH5GZUi$`_?XfEebsdo1;qNo{!d- z)J@`U!yh;w5-PMMDsF-EUD!h#X|GJ2QsD`CFXBOQp&iFs>_r5kdPsyB88aYVCAMt5 z+(4V13sM{3gC8* zH9c1CvRh%qeY4Hi>!Ecu$0(u5VL-$#C9#f|-0mxZczV_D!6es#`f^py^z{^W6ZA7V z!jWO40+(XfIAIHyBFk}Y@AlP2vy8nlDgC__3}b2klAoL{Yh;*GES{ z6kWg?d5Y}N7Z5x7k9#+YDJhn!K=^fBrI!M6P zqIKZ|p4rB=%1WMo&5eICoc$~F&lli(N zv|%%BUuLJ}@sz+HkI%On8GsrHHk@iq?hDjp$gWf;5kjJR6ZRg)SdbmNXbjo-ICS}n zl-{SKIW{ZFm^@B<{J2<4$%vZKzqK-CHv;{_Ll;nXkTSS<+g#(!yQUVH>QG`T9|Tkn8dG7`tmABSi>nyUyzM3h~dAPVag&xH%p?suRwB-K-h)r8XtIxD<-ZoDO7~Q(fO4 zb(W31xay2Q-h2UK5e?Xu%ZZ(gw+ z*toxMG;!I^VPdKJ>EIrFI3Aa_lLk*X<7TO=X4 zPTaeXhj~e%m?E~;a!yfdSCh>oah;X#B){rTPAYm%Cefqr^?W6*-}(G#S+`DHtnS6U z=fZ={n+6&ruiM!XT2p89q`TR|W2nbsM_1+X+cVyQMXypBSMfIs{uY~aL%!wa3Ff5= z=*b=7x_8st`mN-sZRWExG}!$+Rl-1J1;cA>;x8TU9K25N&ff#h*n1s5PqYesvr|pc zL<(DXa(yg0up95ZQyC-l=uQJPiWzuTT*P<~Psw?x`s#K(&rm+K>JvgXh&5k% zQPd&p>w$f(d)9<;@l<0I`Pv@L1LB+`mFTsJxT`>f@TB8XeLr@2cR>68nEsnGQf#ON zKE5c?nobC1^LBq=Pv|L(t+U_nD&|f(f5^vK$@Zm(e=B=RY4Gyw9{BY2vv-HVBUlpe z)C=u@jDAyQ#c8q7R zFGi(2f`*c?ZVf*T4rKbhJ)80pHHDe7;{j;|a$k)(Uo@Rx6Jw5Q&fKv;qs&$J@ z*BLFpc|1F9+?)KCSV*kc=fnfU$*PRK#0f;{^9I?m0GFg-{2Yvn99FTU-|d&4+CA}D zRo!znWkXnIFB3*CUR{l`=M|F>63v=F?-aE02kqsKyj7|KzSd-^hFo5#yM4W0czkAB zx64C6H{33`AF$d@akF|)I&T~Fm4>^?-0o$x5MSH+-a+@Qq~^<1XPLdw3BdG}W;4%& zks7skG@I z`WLWW_+RdsSpKi0qi=yz&$|j>xzn*4t^EW9w|@4$P{5I9*s@{TH$tqm^r4W5_3!ZR z4BAPFup_tMk;ll2m%REcoRJXw?3inObnL(UhLHT3fiy0kILN^pW&C`(?&Dg@VjFp1 zDh%r=v)8rH!7reTl#Lv6{DjPHv<$bJRr96CtCzP9aSpOOd0W_+nz8S&Em01spYHS3 z?Jl$DWzL)iWd8}|4fJbESly1?8gP=;Zpo%Z=SSa6*8*3Ii5GD>>T&8hxQdThB& z3^#k89cx$}K6fW&%l9I?G9UW!gv3b4>)KwIG^Ab5#$ze{8^$QUYjz)lB&WbRrJbXV zb(w+MpT^g*X&Na9*P-m>8FfAP*9eyR+Fl=+FlIv~0dit++V;gNmq-jnDNeTj1Fftu ztEH>ed~QQLk#Ni)jWwC>}hbrf!WMjkPkxm zSxUBN#J!o-AmqNu>&@-teYq_kM1rF*^&+v=vu8(qjkt;LGHz3pYVyShwtgq*7Gv#ZqJwiX|dTMYH?wi$ce=Y<~Jk!?2t(;rZ)`GAkjtcm`g769$O z@-FV|tD&9%Z!sio`=!66raC$PCG}_NYByi>kPL_MoelFBjO&<^A>rNaXo$@$JFZ1Q zC-=3}z5@7@gOj_`?~`qh0XxB;|Nra&98vdqUp8Gh+qtoj!2`Sx;M=*^;goaS9LZMm zkYx+GR}~8Vt`!7wUkoOgv>C|go8Vnrk$*y6Bl4QHD9bhQ*GKCN_JBfdjFN0-8Qh=q zM0eMx*H-~sVjI{JD%UfLRa?E2WxUy%KTR90SE6NpIkcq>8QGRdt_;u&mjl)!337o0^0DzvgqBSTT(qDGklJ*+LYr}|cHXMb@v zUVOh%71?uguZHui2J@sf^2cC3+ctnqL2Au|M0^sv2yJ#a4$a^%?) zcr1i>oRM`zbnTzxooj7_GHOOZpmn_Zv9WBLlJ=RW?mF8XJ*l5pjPE^l@s=2mS?y$Q z@zoJ8Gfd7pSFR(5`{Iqs-uq|0&RZtZ_V3?mBYs>P#1^n93!`bU`q@_+QI`{^ZVaD3 zk`2aRkA@ubcnPYBG)G9SH;vC#d`}D3VGFgRFr{bk831TMqtUVfO+>IyS>Pp=hb_v?45m5St=fYuX&;P+GQ z43?z$@7cNUkiI#oVdID)}3_9rd9g(vX(QCK-L=pY4A>UeU6s&^>0U8jDxi ztpPv@VBQ%4#u!RN2%!(iXT)y(qb@33=i*twvG@Wact2Hx3R{$0em?cqH zydxG3|L&Q75Mc+QarZD7I=M&-F$fGw2~@IigV4mn&}0nr=d(@(7$zc`$V}Z|C}j2e z==Eil`qtt7*^QrdAV)t}GLebT?PEwT8%!Go!=R9X5Y{_0o~ea{^v@w6us(7`igBA^ zyG;;Z0mA<~Bns%iLtd;|0zDWf#6gU#phEM#&ZU%jfNCqt9Imat zh(ZYGV`VPVgf)O2+K0k`xcnBW-qv6%Uzv4462(M+#eoVfffWcx_R&*h5%@bkhf5P_Zqn~3;Yp%FkmC?gI)NWU0Ym%I|k?32jp-dXjzwb*$gk1qoQa9Xl;lj*91rIiJRP_l&(^&TRB2{}$lCpqeJbwu)sDJ(*?Z*Pf1FZ`7{$)OO3gUN#xp(L@L|F8u&diq zwzRo<;qCUFp4pyO@OZ27epAl&s0K^~rhS5|+vzq4Ud?-|r$2tQ{Pfx5ZPeo}fIm-B z_FS$#1wVPIw9X7*F{Q~y)38Uso^nOZ?={)VC&Ah{!`ioiHMAF#4(~+H zdg#J&@IO&HSBXdWC^C~7Jl2bDUS=*NJl@9GL`4lgO3qQbeUrN1Z_NZ@K0QHkR&M4O zbA6?BRUv+?z)5~CRvgLQ{PLEFwf6|b8@@=(LyKW%V`N~TVdfZ}YZFZv^l_K>cmukY zp4F3)b@Q_E^QETF(|)kk*iYF!s^>j%p~u`nNCMQ*<86J)3hoymXrSFJ=#HM7rb5AR zB3tb%5@rzF5ue)S1SV)|^Z!N9Inoil!N5QDIQrqrk+&jVTu|toKHi((7D;cXJ?`%v z!t*{4H6qd~YTA5J`Sy8NWH5;0k)-3+TTD<}js|oP9;8ycMj5;YHT;Cc=l8*i53PT4 zP}h-WHo3GMb~e@~COWpviZrNZ43jS*h#H}Zm(aJwZNIYL{Mp4HbSoE^8B6ebrG3^4 ztt{^yD^p7Y`Jgyf%?5j}Z!J6;De}!m*QKm`K*E?R_K~!?$ogQL2#MxbkDZ?!uLBKOYt)MV)C^MaVbtJV( zunM)G*upJPW=Jw0T|=-<{XbO>!_H3|q>FL{Sy`Oit%6Fsiw@57FQCj!qo$E$E`uYO z;T7U486{hdY8tK=RM#QQGkD{Qv;V<(=@^V+?I*%)46(9cmM6^=;b?Mwz5praBi%bC zv<|m84wpljIR}MeL!3vTVUguHpjW(BN~I370*Wa73*%oR&V|J|{)hmw`hSav85VDn z>oNFS0Bb(%JOX_;k;O(4+d0b2WeDvbTA!Kx2>sQlDF}MV5$C4~oPjyUr+(p5(o9fD z$q0+ybgR#_Ux0l6#E0S_%`^^KEtZTf>m7Tdd{O4Lkjl4J5l{$I-dGxk9;5{=sy13tYU;ItkXj_osx6)Hwu3Oe*DICPFbwZD#Kf+7g@qBoWQcW0sytun zcH0PvX}vF3m%TpTw_|3$h_`%-2g^I6gY-LWNp{~Aae~Lrlyri3=TZFXq#Ca3HL!0- zOo2_&hMFI6OvgrW?b~WcA>s}iEP3j18tRO}3U1JfW)Krs4DhUi?>MGqmcZ0h+8zuk zRo)iGtl4bbM^Q5P_9Wsd;)xH6M^i_(xOZ(iC5e`dEo>EhC+R$hvc5iiCv{cOjYlk# zbElDJJf&(7iD#GJ9RjaV)E$C{(_ubBnctm#6?7MP#|6frWFS#Gv^AR=LqWsrKZkJi zSVTj>`dna3f3*Bl`aHRif3!1H*87{f%>{0l+1Fte$Aamy0Lh2x?;kFn;sg z#jTYMvQsweA4V~?$2(@HoZ?l4|Br;h(}oHDm=wK6SqV1)tSDT*x)T>vMhS|{TQ zhtPkxDqD^fR5yV)K$#%Q#1K2zno2{GYP-aMNdU#5>d>u(r-(KLYJAqOM#X3Qqo^6A zinz$3RjWv498R^zZH{z>rMIu4^hvX9BoiwX)C3VaSO?9Phi;fR8FQaxMYx)@0ziE` z(T3ad!)$_6_Cln3Pu$A$8(smKfyUfqZ4{@87!)vg43^QO>Cz0At(q*0No5)m-!NXN ztdYXn=SvU|G)sk1Y&UB~n(E=q#4y%T4W`Cj=;hl=aF1Z+ zC*F{ICziR&H`KCc#`HO@tef=E9PGZ7a2 zvXg8#bKB6tnmQC#_eyh3&4JkrdwQd&6yL50n=3_rB@AMGTBDCfm#9+mH|#hLOUuy@})|~pU&b&OcE3G z7^l22L5(%q@*rdO(|}!mx@mr-q{@gVPG}SFPl%=fI$%%W zUa6H6^GOktwy`0I&Vsp!mIwP!rq*|<&K#%$si!tAlTxh8N~5YOJ@QY~V%UG8k|2dr z5--(Lr6a2S%L2W6palu=Sbr>->55ExCV5zk+Aa4&P4?1M9?4$nill=w-&R*^p#E7~ z*eNmp1(WhGz6X$hkhi)b?_3eo=A|on@I#8i-$J2n1J{KyIRz8>)T_UVr=TMVy_9Mcw>rKUJ^!zCu|}=Xapet=8-*f;PDrn zv>S>I$x<@)QVjJ_K8JU5r5gD{r<#j-z>|3+Ej$NvnxOWYzg4f9AUKLWU&7lr>2<2; zob>E~I5uhQ(gTa>l*mWKxLHPCT4~Z80$#X!4 zlE8tDiFxnl{wtV$!}DJ;6DGC_rVo)|q0s=I3**3n1|{voCYWjbI6d85ry8E}AElvi zK&2FFK&1dBLGXAdz68c?X;@1PMcHi~lSga{0%@MK0`5)Luwd|FASGUp1%^0Me(`}r za4cz_r=<&$6sPuy_U_=J*`Khz7q-3_-sF2uYFf@T^wq+H0l}*02Z~U=X)=&0x@z5E zrYLDn;yP&wPU7Fw;+@1Z(-NJA5n*I`vY|-!+zKP363}ANM_BoBhR>P*IK?F9*lr4> zFC7rP=z1ew#1gxf%a(+!MY6Z1Dix(RxJPwxhlV7yqX}&RU$lk~8&-6eA*TI|fQCeo zeP>4dXCik!YO=f^hr(qKrkN=PUMl}t%+%2!Di=v6eAp}qMK(Z9lU;c*VsI_4 zZ1W8gXx2CLQ^YURq0}j5EB#8BO5xvZAu5oWX;o2lcEZgFba|lCJUQiF zHig0HQVp7DC1(F$pZProt?(MfFysY|0)kByx2#oQ!?OMr7bJZq&g6uWAeMj!qr$N? zWATcHYip7B?v!^%fXc_L1xW;6#Vafy5qCyxE_hRg-dxH zQn_gBh&rQ8fx)^ZD)S&AW4@0eFdVT#+5x4<-}f5n~y%dA#_>` zZhm2fc4OGB5`=GW&?xY(#M|(URvOYw-Tvl0oU01GAd$>2?%D5T0^*ZDbK9;S^Jg_kYj~k_f&>)Z=r{YQT*~b0)GX8-iFa2ZN}N9>?7}5h6^>z z*B%46(=z?NgCrDJxe(4`iR#y%-D3HT?A`xY5F(GnE9fosB5UL?V3haGwOimr?`c2G zI<~@vfPsYm4kQqf`t26lOivW}*)aZL;!Zrjnj!Y;K z78A=5N@q;=i|WT> z>RT~JED-QZjEl$r&o}>kdamS`7*1G{)u3Mar%}1;2F&vTFZX>R|CLt!m+xv357#LTqTj*(R?_-8P#Mb;(|43pXECR|_ zIj#F(fs;bz4<7xe7N3A$L2>_4GXF~qIO!#m&og@i6f7k6IsoH>8TV%h*Z0+zNWBEr z_)lx_+Rpxwa|?~{1Z<6c(HZnL>Z-o)g#(aJ9PIF4dJy^50Tz{0hP0oRUxOSP{JmRVc z3G0vphfQ104N!B-Bm|VL2P^_FDXub4K^#PZ*2PP+FmwQWwgu13*R_bRW48otW)l93 zo6KdN=N-Klw?Uu)*DpE8K$x;WFlB$k=mW~0Ri+64d`~y~*ct_*h}LzxV|_0e2#pJH zCH`!}d>4k)HP|rqJz|gJ%bGROZ`HA!`~Nf8CqNnR#r&Xk=%QW7;jqpuW=;>5eeBCSlW;K$eW?Y7j^LEpb-~dV z0Le3>k0;GD^Mp`bzUZR`E!0COPYF-EVJT?n_N7;L%k*364%atRrkj&R183FvaW%sX zNWg94Qb@CQ8Gz<+#zcP8=ia==)s5A4LAA|b0CpL_uDV!CCHC=i2N}1EjwxJzAl;D8 z+S>#1;*W1c{3~z-0Mey7X33{||3M6az!D#*1!>Mg^~R%MGkcGzq7iCsk(Nn&1TOBJ z$~Xo&4_c%eV=+sp9nGD+S!mp%40dbzD?+$#)@H)~nWdPKOi}CC?@xO|0E467;>Z+C z-Y`BinePWaByc6ZJ@T~7KVOerobQ-eK5BgIUo|i!63!=0B%FgA`*G9~2SYxo%D_GL zy40wiQjlHA(NL1jh|!;AXrPS(rUBGYEy0c&VvGSgCV4vh(>>4WIrG?F5!OfyJ4o6% z3xk4wf}4dV3sA@T8RH_gIf~zOK*AlCDblA;P-ofKi?XJHowVd;9K_Ku!clQ?w_b*e zsIocIq|Dx6E-f`#%@hswpODnRki2JUE@+B{EOb?t9$m1aya6s?N8$*M7If4H4eVdm zeju{jl8W$lWOJ$W(jr(J_wW)sDDzr_yD9+=NmeJH7NCUP=&9#v(jhJ(#2G@(gIv%? zn{K1uJZUZx^0U(mvXhr^7*qi?vWTL*w0c(AE-Eza@#KgG4xVYs0JxM7mzu7S74u~D zgeOYi;kY3CL7o?PBq^LwaC~(nz=fcFmib{h# zd472{OiaF0fiqq}I6gxyYB&uF8(skLCJgX!KL_Jgiprx*&=hj_+Lb&96U+&AEipla z1|5@6j~BrG1-!4?qmGIXDQ5R|PKP6KFdpma`F;Fw3~mi+u|7<%f>sKif8Sd%iE$>^4s zv!j5-7)$GqpL+ui8OI;)d4>F%SKZHCKp2Hq9Qg5dOuqblE zXn4-9;(FLmO=u+lWPz2E1a#&|{6EgPpg|X4*Si)p;-n%@ z$`DLjvbVYndQs3&+tX4D)qMVq*Kz0+(J7v&kPR0RtU(qqWg}CeYPu$#(#7Y7a4TGz z!0)=A^@;uKs*gkN7j2JFf}>uULQNl#t6qyUrTdkHRuPt6XF5*_DwVdt?Q#nBkXhwt zz%Sq}l8&5qHA;GSUryg&aX$m}-l0{D3$jBH7UgKGZ~{}Ym>?LhOx1Z&RR4bIONz*I zqWrmqnV6i=sF$nge~P?V=A3$YweSj<`wBPk;(la&+!xCcKTIH@GcgtZiCi2$UG^%BMX zpQUFK7dzFuv|VHqEU^!pok+*6iSKg*vm-ljO~0_1#!}o*S^h<;@*degJ20CL7m{~b z1dyX z=#gCDTq@0gE=k=@u-wVY<}`3&;E!A1NiQY_x=l;j_-DU=?eeN7EeVrb>L`b2%Iu4e zk7}gKyx#mqjX-wg^46U;JwFe^o?5{FO3X|M>}%~J<-?a4R0J~e9`&ts77VU)>7v!O z6?16(g!{1&rZ{b#6wd&ie7MCQJeIH$zA9Vd${XMnbK>8M0cR!2GCBSD@YsRePa)j0 z)N}PYyiiHc0w$L8P+vIO(QC}({yZrxz>fIZkkY#_L-N-QNfYyWKPjgm8faAYRBy6* z0>*k;KN%21;weNz*0QrcM?$j52rasUn1Ep+9?+aB0r<4~Wj#78qo!(>p)m%CLpJ2W zmD|uqWIlt5uT?xMMP`)XZk^c3kVvM0re(G#T0h=fFMXDb(b_aV7q{vEWp_uOUDJI1K`ZrJXiQGet&whZ`UPJe#8~5u=i4 z2#xupvS&|%5;gm@k&&>hrKxqM$fSVN;7zIsEJ;mI84|7YKqNC1=%K_}OD)$CD6ERx z1Q;zd{rv)lsA6dW2rTV(6oy7-1{J=EpeqKpo1uD&EQ0?KD(27jP<`qmpVkBUYLQ_7 zkn;4COlptDB+bL#(h>mzTh(Oy4-iBWl+~|M@*P79i!$>V1CCMveG)NJ)%gyoU`W3P( zy=Y#>77iEt92vS*TOHA#2aFHA&bmn@47NyvT&UD|IL9O*>ni5m-0y}xr0tJ@&p$95 z4yG@zhIXS}eyV8JVVxA8AS9XT z!fan$fg;+*6M!T_wZ46U%u0Xtr+m-r=ltR9R3U zLik0-b6y}Pb}DP7hMH}~5Al$s=c)m!vDGO0Mz;4G3E2zvpk1!qnNq?Ag74%59Duc1k zE=)0bYww#!B-uN^a@Jm2W{df`-L;s>Ul+VojrpOtPi-pvRIo2GoY;cmy0X|tgPi)j zLr!c?e@X)&iGY%|1-KY$=H(~5HWyCU0~P5RX~ni5-VD>OOo4qP z8#5b}#(w_gk{R)jur1S38W?_<7_7`oxa6yiVuMP^7bMZ}m|-%L3bsa>6BNA>-U;03 zd;-EXErNM`RFiXRhhU+cEkL0&S-F8VX66r>OrHy$;kqSiL$v{2YY-QG2w4iC%NbSg}qJsDFu6Eya)5na4 z9jc@<8H~Y!o2chXb2(&V5Td#@C((-LB%BLB&xitPZ*;}?43B~l!;9A>lg8QO>)A=6 zV2cf`VvSjzwD$_%P#ZU9kPuF0)3s1O9%DJO#Xr5mVa1a!5HGj2V1JHOp?BqnI186( z9SJ2M?e(6sAfeE>&J z;=zlH&WhB6BeRAg+e#V5v@+;cHp@sRt%~6^GB!H19CWRE;2Ygs+umo$tLX|y&A_Fy z2K|5#-m@TGhtX05)jYPs>NYc*9(08Jx9<37g8)7cP=R|fi$nDru(I99@0T#{UOk9) zwH12Y0_{T=rIDImu z$wX97;)O#MlbliXB3?Q7`x|f755Zlw4%OEP!(T4EWjYYHBApuI z(5^?)D7zewD14`c9wU1e@aZ#DxmmslBLe*$?kxZIq;sU=iAb_jiu5#g)#4rWKC*(h z3-*FUu_SfXLc4FfTBqL*R|kXb2_xM;Ti4%u1c$0eo6^o0M%pJ1emK>EYEFc4mk=X| z6a<~PLSACivB}_x@*C@>Ang0f);!Dx3<5@p`xO|7>pM{baqq4T13?SyM$1r6k~DoL zvL=sr%CqXP>9TG)oVBoG`-wL~FBajjK`;mxQtIy-ysu5NtWq-M2^iuGh4OQcLqa)B zA}F$2%V%pIIQQx=kB?JX*4CAo9FR8#b*oqE3tiNEbFC#3^v@W;EwC44Wa7a_I3N?< zrea*Sq?1xgQx%)G&)o1Xs4{gzOLG+$>9{ZO)zK9`i7nF9D_9n7*k@Yd;bvM0Dtz2| zH8~VpQ(5T+zV-N^VYZwJFOs0K6dqcz%E>i0tIXFGElFp8b|#B0XT~xsgeF#5NxNv? zg2h;aHo?nBZKkY+hb3b3p%7_@8yHSp%AUDDN!Ie;K!7f^|4JaNZ4$fE`}O%?BW-q| zN{ZRw)63EF!B`#9n;t|T?3**%`|)q)ci$JA?N5uw6lHbK0@gZNKDE|nDN44WzO8Yv6FvG*z5hKOBH#UPmi zAA_p~uH{JsB>a&U2%YjKOmxHBSv|{XTP_+Sq{mW2+mF2POrlg43aZyY+LCc(HWXfO z!8+C`VAlei`jo02=z_hHgpcuHzwy_w5bH!Bd z36-CKDIES>NowJhb^c{dNTcuGtV?dgF69l-ny|Vf_}0(2720fU+*tN|LsYo4%AMBr zCTxC*Yj1c*k}Y7?`@5$i{|{@+@-oJ1*{UCAUaOJUe)nBl^X{{{ZX5Wu-b z=P`bzGc14TJblARO+~`yeE2EFM~tDn6tS{Ac^pzuc>h&(KQ+0#gKlYQg}OxY>dv}C zIRZyfI!^W=-RtnzmEjp`O!1(6&dXtjVyZN)LKB`fbrTxeVL6Ke-Lha+Zp;xu4C2HQhAd2Lm0;w<1@#vE259f?8X)%efeghVt!W4hf}v zAHh0^HEU248+Kal1{UURE+NN$COG_dcP%Ufud&lfwSCI2MPGo5j#3!k3g^*FX=S=a zEUn}^pQNm6QMX>!S<*@QsUCGYfwE`CA==6!>1jgO;?7}8*X2frvf-Ws&O(9S3SQ!V zuFS`mJ_WAr{@!mEP%+D<&U|wWmg@V%vD|e}R2mHX8ytYXZ(H1LJv#hI(R(2OZr*89 zvZ_)4itsyAS!4Fb^@BZk72&uPC$%Yzt^oiCqLQbXaWYuWybE5>?q^2#V!B$g21sK% zEjWni+l`Re?}}00H0u3XJGn!3`O95aBP}lDJ+|Q1k?HLZhgI2Sk9-*THM=DFkm>KD z+B7Wbmf=sRxaB6>Y7UM5{EmS2&Z<3EFfPvO)s?;WkG>wXm7SvsCDj7o#IRkjd38Ex z6kQ=kd&T|fJf&hU`8IWYNQvt{qGNCxy?nt#PdN5068fTEzB=U7*lB(gLv{aZDs0`R z1tMgmk{BKBnx$=lE7+H%VB);AU7{_KtcQ0* z$o+G~#K?*Zjh_}PE|1Jkq#M`fSZ(cjS8&7jgmKw5(@bNv-7=0U=q!+SD430?p)$y0 z&1fhPh;k%Mm_u6)I~3EJ=fUz)HIEl5O>csI=#bKGtS?7yUh^glN)8H)>iIwRG8kZ8 z;&|Tb^nXGBGZ)MC=UXiU{@_6YvsZNByQ#aYo1?v!y&bc)o4Ng8KYKON4RC`j7$84= zB_xYNVl6>v1cO;RRUn?$gu}j# zJK;13qF0UtM%ihmdQ-J<;7KtbTT}L}`)Ls3D51VE)k5(YU)3-E6|ET+`1Z>P~128{Ff!gg+ByF~;G`FNF(0W1xTNiaA zt%{#*4KG3Ol#|}>EmQ@^W!onF_~~lzhg{VzLKQb(URs&rf9mw$%yn+L=I4+?((2qy zFUfKaTKsZd^l8AR!_4Y7LR^Flw}Yk3v1Wo1g+V=?By}p7SBuFs*S+!D#BwgH^L^pD zkF<+gl|YjG-q@}fhX{7N!8x-#h_KVvf1H`FxeLvdC+so3fg^I@7z=k{;yWeiEnTSV!@F3(mQy!Kf#(0VTBPc z4MJWMdXA2Io{9oSt%|=OG`qWx zlY@Mmua-~H8j`moh;odK$L;fu^H|Ly6cZA~9nn$7%ssWT2$wSKpp?>H>^4=muSQkPeCZs$yMWzh@Qg*mqM>r=UO4G#N# zeeFC&LaS zel9G+7C0vp0nG0HGv;t`w>L3&0nW<&$?j&fwjB0(aC&yigcBt7S|XA-AUK)}g*EhJ zB*|OuL8x%*&-2DvSvIfbu1sg>t8;|PBiZHAK2OD<`|a?)`v6`cf4$xWC2k`{V7PK! z2kDmWh%p??O|Klh|4cijy8NjEyN-tTZLZx<*!pAdJ#O|l>c#>j8eLr(jTYZ`>f5#N z(izcq{4w0&gAb|uS~tmchxXGIGn(`Smv8GNvzF?nR>t#KYwxr%Bm~9BED1=x4FQ%L94kxOsTbSCSPVxhZ9?LKV5X z6#aL;J!JTMa}vNZ)B0ru(M-_SSweh+jJ1k{bC!X1TxFo={rc-^rkEG=%NAfm2y%x? zifc3WDxyb2uM+(gNpo-hY-Qo|h=8L}AreZAl%nk@q#lZTf=YK;p7e!53w676iGRau zXGstD7saWDBQsit5jo5a5w_OCOZIe~*4R15gkSLAN$*^wl`@L3sc5pkEm9~*<7RvH zXDEKP%#`y0UHruQKhb@jW&#Q6)= z!RGPRbe3Y_y3h9*=O2o5rdXeLX87(}^tpe-^g>Y?_8iwZLmew~T$~DL`h42K?YeDI zw|s@EMUt-#jnU8HP3r$T{d*15&_mN_hwv-kNoDNkk6w5MNd$cSJtSyQB?G;m9{RU# zEq8lDeEJORNjdKhUI%s^b@lnCmPWO>SWEo^?3cArPuF8lsK=}Q*VFYPhzu-4-FR#L z2(Gq91-MW)Mq=#Kydmq<9|hYV@c-JhmZf+IBDg`GP ze!JXSf9uV@-*TPh^*(VZ94j;&n!7{uhGjtjH}?>EXzrbIXsLDLsgk|Kg6boyu$4J#^KmPM#O;hS6!1*Lm^ShzC=?}3XK5eEMbwaSYTGl?GQW&T+x zC#DLaR#}q=e=%4Zi#5ro`y?KYEe#`HlqKQ$P>?MSqo^f*8aMqyS|_j8{WHlox^N@4 zN?nB1$MuBlVXv!wxW3>0Nhh_Lgq=*5q`8VN(87aA!zqhN7dxv@@8japL<{a8dkyQCH%TnFQ|(a5YV6zmhUVBN_IH5>1O59!|Z0bE{Nu#w5PbA zZnhIw}vJDK57@WT*SPH z>@Uu$q+dEZpQMdDDa#7%74`XE``!H-UyX#KBJm=-_L8qt^X!spggO9NkC^R~RZYQ- z&Aj1{Bn3~4dplKB-%5z2Pp7%8Gly^x@{w|E5rGup3W1hTb3gLE#0}l(cDSkTg$Jpa zA<}=t=W0Wvw;rMTuTuI~XTa(rj&-8}R<+sDOtv~iMaEo6GmJez$xOw36&5HBMZu}pF z)Y$n8PDM6sty3_pPR)6{=|;ZjO+K@A3G-e&cr+(;$wlFWrT^vfvM(rXmu~KS$Ck|1 zty$C~7@>Sva^?#;iSC`BRw?{TOpWOKU{!l+!W9#dHxgVrhYNKcR?JJtJj48gJ?Tk% z?`hpjyzx&i^~X=0xIOLgvnia@-riN7(|!(kzPIr0_9ba)y)sj6Ge1q4vwPXOJ=NFV zG##p5b9CFJOGed|rM_<;ss5K7KDzBWCsF7@{6^?QF_yKQ~1a(njkb^UhtKA*f-``iBSo70Emzsguvt@&PY z|7HHUn%{T7|4pyAsDJoq{r=crfBWtKFDf-Wz&ph*BlZSMn`(=4Rh0N)v*5;wA08K# z9_|u*8N0fz|9tf1Nr^W%R91hV!1?oBvGS`U&MRjMr+@Rc^7jtb+P(GAt^dKP%&n@g ztoUBa;t?RnMAUO|D15k{CA=()@7@V3{5+71okXjrIYMr4QP^sqa@B^sy9&j9)8>Smb zH!vOp8UbnJgPZo~8avv!gEN6jE&??QqG)^$6oJ=0$@xX#k!W=7UvA$Pe+|^0!@|HI zfTFz~C<51>SWtk?)zeRBXH^4Rp}U|ngD?Xc7-s+j0z7j7G@>*Y=yz<|^BSaujDVJ( z23jQp(+i{<7@dGa>0s>;pCcQBH5Aydte;t|4{QpDvNG_an6wTUnqZTPODc0x!PAxK zVSs+1Busw;qn|a3X0+oa(ak}hCq2bm5!v-vd*kQ^pm%f;1~@k$8-T6bi*6Qr z-w|P!O(U{ds69z^Q_#Cw2vdTaprL}&@j};+-X28gf7gnX#ZX&^0p6^@90bbJf((hk K?D3!*!~*~dgz-uM literal 0 HcmV?d00001 diff --git a/review_agent/regulatory_info_package/templates/clean/CH1.11.6 符合性声明.docx b/review_agent/regulatory_info_package/templates/clean/CH1.11.6 符合性声明.docx new file mode 100644 index 0000000000000000000000000000000000000000..59d05cdfa325411f43dbe3ce55cfd4712177dbd6 GIT binary patch literal 36881 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 lUg-MK+k*)GD_W7V7;5VDX7)bk z`~EZ+Rcqa{s=BKBc}hhd8U`Bz0s#U?7PwVU9ANKaZtr5K z?&)Cetk3LWXWNvlsJtwK9(MkWlfoiI?k$dnQ@-Uu>%f>mC{dFM2}^SHnJTab8wWX|&(HH3fK3Q>?d$<`j@GL^f8O!3Cc~#r zU7c8UU#p{F8A7i+an!8i-XJ=f1`7Qza2f2KaaBGccLR5KbVYIRgg}cC26uC_igx1~ z0pHNVI5mXpR69iDQog_E<$iTM5`XIp%nQ+5;+0VH?UXPSqzx1q^uE7DecUsK{e^#z z99VrP^VC(m>$)72Z>qqULZ|nfOj3x^lVJSl{eVWuZwf#IS}nq(|3qHZ58$CSgc#CxcoVQkH~qgXBW1 zT*@9Ia9);8a9194Bdmm=6s4e+SM|-0_5F#Vi=0MA4 zvgs@QjNqdjtmovI3!9|KZdEP*dLX8Tp|}*LDUwLrPKiRki%oYJ7)bg#i88SPqpYQv z6e0_w^eg1<E*KNduVK#R`OAr%hWJH^ORN<*kD?JvPGSW|U=@+V%(2D>i>W5?z## z6X_u%)x9ip+FCev;!`&eEHWD8dyx<6s_w0t>>H7%&Q6Z&Q*O}u704~&$fzjPF_~wpN&&sRD#u%v#^qVm&vH@zA6i`(>?uMICV$v?i?M^lAH$+PX1~me-ucJ?qwf-F^+xmqeqzv1(P{Bj!rH{FmbuZl zatSbPY+HW5pa>k^Fc#ov{s#WX#?i+GQHwW?N}n`v#z6VsR2)|kn`$CQ_Le91-#WvT z!_95+hVSy5Ud`id6z=+XhKHBU`ltUwZAXEpsTN>7lV__Nr>S_wHfNy z2DuBMf&F45h_52;rn^OU_lfWso%zy^ZGQvgDu{IC4#(ry+JHcsdWvBC{5^V%G_cin zJvCWqLTmjUe|Q$2hPSP9Lh9hMtZNctZBii7~nujrIth z6!r9feqr4KPG&6NZ>_5xcyszaGfs5@%F9yt{yoaZyNU*Zujr}~@HoNKn!nz`tlm1c zXJro#-0F18t47jKS2IO(1(#L2{6IP25WxzrCbEeVd1j3|y(l*{w#?0jp`{f$q>c{p zai3a!&RM_SCq;G9PX!zhYN<0;zNI9=(+lM(!AJjIo*+LW+_SbmgR##F8HUVZMtgW4 z5wxA!A$&w%WCnxOZh{{B7N19h-IyDc$Ak0(pO{<31*HG5cM9l~nQu79S^?S^E zGXqSCzVme4AjDyHeHPY8h!H3r63*~qXnZ#+(StnG`BGzIvk--$yd)j7!+;-OlMDDO zH-nbM*c3(PqRY$71_$JR8buyz_pz%&O3BBBx6nu;6h^k=GD}HUnM(vyuNZTRC)yn% zeLS1pW|AxjNeH|y*STAkojx!Vg5jOnfHRdZPUF%4@yMu>uSil$@W8%YXcG;Zj>!KZ zAt4a)E7pScWS)TCN}+q^`^VXXm6byu?;$bRhS=g9)YA;Mj|2Ik8$8;g(S(WvC6w>K zyrC8p;Zx8bBlreI5W}8Ny5AWc?K*q(Mf56SA>+le_bQ`?LQ4)OFeO$r<2Dj!yQAa& z7vm$$v!5Bdf)+Hg#u1PAv#9z0hiJqrLAW(a6$olUZCFl%^NPEkdyCRqMZ_<#h%)Zy z8g&|5E1>gLV9{tM)&6Z5e~Gkd~yR6c;ui_h<2yrpPQXi z5s8a+xvH+)Ec@Tx0WJGkB{q{siPy84qZL(0_ki1-a{h)51%;0H6}QKDxA$q!kChGG z-+y+l`hBy=Ug}|3c6LD-DC;zEqjoi5xGhR6GWLb9XyX zZXG|_;DeOjYPxU*5etK!-rUOc2cwJ(#6U+gRv9Uz42X9HC?Sh}u!u08jh`H`7jHUdeyrcni4C~WSLmkQysgS3;?S&9VULjOQ-KD0QefZD zzI+qW5-whd{dIuEb=C4<9V!ur?ol-TZVI9%vw$hoGOH+rmM!R9bo_i;Jk8`=HzbPo zU6v2@;OzjeHwUL>=a@ea%VW+=X=lxKQqGI~*I|f^U2Ok7Sb5Al%ax7ZA761IYrHpB z9{Y5N*L`o_Z7D61bciDrT~7!;zE}+Ee^~827I>M?VeVjf^+?EG53X z{Z=GmZZqWPvYeCF#dGx-Cz7_lLU_Gm`d`)v7zSe^U<=KMStg$lgj@$BAKR zg0nQomSQ+jf7)VrhOM`rU#%U&d>C*(tArs{j8;IVShkNE#(Ai3C!(OZAk`NM4H+p91amKHHN**25DFQW6E~ev_fUGqavU##3&pFi zQ2$&h?E{D~*}+@r7^GS`J{Ii1 zNW%;yr?JCz{#B~EXS5>E^Xq2128I_DJj3$OTECgANq1&}fWXv%g+TkO*3K@Tw&u=% z>`D6iNn29&zCAtp1%^*McJUz)Ba`+JiEhNk-d#C$=kFEY&z}7Ff%hry)X<-bLWE31 zRYOy*Jh7g?KL=NZZdWTiN!|SUIoH3__T0~qEH?A`Y?XVU2c^4B?_Be-Wa8|)1K{_J z@52w;JM+*z%Sl;&wtqg$6kZqsyny0fL5~aPu_eMS$J_e%pw-Kc)cKCb{n_*0z>D2$`&uZA-!C$Ql#+|7f&K8*-OaJ(o&lOwl5@E8+zTPh7Fy4sh z`qvw)23_yR`Qf(U(MJ&bxOmNi*C3dMg|q3O9w*N z#TsEps<5ADlzN8`|0xzl&FA==S~S?A@H0%lsqhB0@S1Aj=UPKw9bsRdP?pY)IP*|E z|L2$e0SkZl=bP1MmyC~3wSG&T>jHvR?&oLWsoZBd+{(wVz6R%hg4Mb93$Iv%-6_$n zzj{uU_Lt)TTlYJ!b-F!LIYiynwR_KJvZ)sB;K;iq1TQGV(MEH zSx*C&0{k8#O~i~X`1-VMITYgxw9Qg9HdV5I4KkBTp+O1X2s)pLSwB~|?wgTQt05Xh z19i~npjmal{0++FT-sKNT^dAE6>w7@gYbu10QkQ>#^*t6f>-_fahb(8LiS3_uI5mL z^u_J(PS>A11sH|NQfj8$r&o02RoVN)TSk%=t5E0dfdhxN>%P_4raIOpPpJ$0yN=G4 zxP_$;aTphEj|;}v>U7qF>6Z7wubukUKc^l~XCEBy9G^#IZ?A<<&xNu+NHyut&s_}c zU0)xb4LE0UFod=d7iq=34(xf9lV)AhY6K%K{n)*y^1mQkP|j>gjk1RM5n;m+Sz9j2 zBZ83tDM4yn$ll%i+|heUNffp6s%`EQ_?TN74bX~X$+qf@Z;1?D(B^Z)dpv!)IJ9HP zA|0N=@WG+Dg`W}iAu*(tjV_|(NfJ7@sL=SfBJre75ho|}L8cT_^~?K;5XN0>1`2tm z1v&UcrS_gm|8-)Pd(F|#5$vCpootx}kRNO>b6cLv2-9>U8DAb(t-AQD&j$;aB5T>+ zugflK+ifMG7ji+%!K-E>Qo;1?OE^*-B^87)HtDE}#s6}lqky+u!|pYNzb+2I4)IhI zLHyN8M~-B-R+(KO1FuTSfEnbF*b+dVwWH4;mw;ZF(^(O^K?Q)+;rXs7g06Ihiyo5H z3Hyyn><;|8UI zqy8?;jR>qq6&>sqyK#q!9Es^aBr=i1(|97m|Dk#=$-N1^^LNz0n+l!98z+w|>+yhWb|7RKGaep>Xn*1I2`&8^w=s5zV$Qr_R)`<}mf zAG0p3-vX2%i?!ckUJ^-xKc*)?hX@8#}P}bZrZdO4YqD- zf2^)_#Ju#*|6JR>arLD8V|A{yt^i9?+-jqn=Lp9VQ+yNcwxf?bPx_mEZkop~rLhsy ztJkr|d=9KN)BFA7m;19dM;h5PnXY~G&4OdS;%0uCFD?W%wQ-DYHD-9}&do^le@9%a@J*pR*|ez%Mgb)I2>d?rNVVQNK5b9?R8x%tDROYv68{8UD-+dVU$a zC|2GdV_$P2{oE-#nyD%`mbvkiSk4VgC;szXQ5KPuy=@U;6ZBR_e(oNqlzRKPv&+To=UhRZmsn7x6MIFoH7SrfJ)NL zqLkHdVps(~&7q(<-CX8Hr)tNNWc7%m_lj>r^Z`CrueYZ8ZMzKsq#o`SWvi{$qJ}@R z5Sn^Tw-Oob5N=9Nl0Qs%Pt(l}O@s^C=QB${Ur@HYG8g8GE z{C?)kvAmjsVTRj4D)qxXrU_raQ=@`x@^vzD19gVGsL~yI>?88fO1S@eNvWyQcfk=7 zSGgYf_NaALje#n+i`i{1x?*Abo^{EWXU;PB-1D2mxZUU7m?)szt<^CK3;)BJ=HqzK&%7< zt1sbh??@9^A!kq37|}so&Fqv(Tn#XBi6PZ#1?}#AQn1uiWGsu=c&yE_8sdm*z?yGb zuwLt2z+;`6H?N(Eh7}#7$mMx8ZD8`d%;_wZ4pIUAtk_^2_yB3cgIu|}u@@ALe+~1os5I>FqJiF4{FtTE|(*KkBKQB8DzMDxk40FdgC-pp*Vufftq=ZbG^ zY)ZTG&!5{$1=H_woo!~gx`r)Vn7GqWgd~~ zqkqxshM_&ro@rCKJCg0O1&U60?c3fmkCBi%B;IS( zWdeGTUsBieYwe! z^Uti-t<|zmdilvl619GTtTi4mKpBjrWsFixWihj#q2#-h@CSuYcJoW^-M!h1Z`He) z%%QqxqE*x_&`b=pQh@@fGhU?OL|L*sW(%rEpycIkP*034^Owf0(z!^=cMP%ZMnexR z7P7x4nVPbr%=lZ7nr*z2vJ0t3ic*Lvb(~fl<+lJXNgUgSbJ1Au-Yc~m4ZCq=%KmcJ zwVt9&6fDuNEeRv)UWBnq$oi1ma zjT!tBw3A-5yU?x>AZe%mV+h+~GHhOaB9wETrb$r@xQ?YG!GrQV2(MBY^h1w#By+uiM#LL=9P^Ixmp3@|QM&MB(X%tniA zdW5TAaFVCUk5Qh<0nu z>D0dOMRIY5+D?=W`RoIPI+sFIw0pE3?*X-O!q{^Fr_4kX@*x^%s*-5dl>9;^(V(y- zz0bLh{f7=ZvsCxMy-Hx@PxWBSvA>1BQLS?SI6`8Y7dIlB?DcE9<$`IL?ZrtJo)G_A;|1o|4ZwK3(`9dH}zMw7DeX76EoG)1%>$3s zrQ!#Q8}e*2P&LFUKQd#TI|I1$CN81s;ky#d5xNMVm7d5$Xj+!oP?YMm9wXOOa0(;V zwE2Mq2Qgj7hR!!!ZY3#QMl|Fd@&|T&xl__=Yr#QS9=o+6Yc5&au$_>0v3T*42QiHD z2NT2&TMymbCP7&I&P^=`C~BgS2UQ-!Tv%OoXe&R7yJDa$`Eu&8epJ0%fV|-%Xq_D2 z5~Sq`)Iya%P#obk=q38G=K-k`vi7Y$WGxz!#$ZG72>~mMC%wW~5>Se$DgmHmyWwKT z=vo^1{64z@>j#Q}J46@n^^(cv6)ARBFGD!hP4PA{%La-^MM1eah8N`+rq}y7S=uj* z-y6ZqEAT+H``9Y-D~4lTnjlkrtgLFn}f*>R$djIwus!&>Vl{1 zq=4!()im+`&XJ913uLB`vWP5+6B*3}@co)M3ZJKR)a}#6(lndS1J@MQM1+*9wA&-> zoHZw!F%RCi7X{!UdWf}ggdc3G0`v9jNfJ-hRaj~k6bOO+L=&tZ&P{|I^h;_=wdxH+ z)+Q`O43wE{+atVwryCu-Kl(Gh>tE>xf2B(+|4zR_KhijD`0AcS8o!`+oXecQmZi~9 z#qbdAMYjweFA}W4SAz`k8;7!t1z_T-gKbHWmuFYwOex-)Oq5EEwJ>p4rd42P zj;@O<25_%3!;Wp%a!wwS1^Xhz%L;XRpy)`l%Z&fsvTVVcKM9vIaU)R=3~XB}&LoUe znds+lX>B?Fr3EixeDsixyds|P;725EggdRjY=xxgecfN{pUz({{BSd92+c`MqL&;S z6nYM57V;Nz3%J>Z+xT)+Q};7V6!T>yv283Q&|Fci42Y(hJ5)KvE25*Jjye`n$&J{g z>^|bks5P~{o+%3uhGx-^6y+q^Ei2@Ax8qCnEI7_)JIpR*96BhG8bi6x{+wdGYOsGG zu&%1kU$?%&1^QK}cNX~B#D5T#6xej6GX3%}po%cCbFhbd?ScSk(v`}t;w~$co(Q8O zuD=eh9%7?E`*6WYfIO$F$FMAmZ7i^iX(#pC05+9EfQ`VA{@dz++)e!pJT(FaQ!Cwi!v zB_wRrC6MUCTS6R2y88@dI6h;E-&AH#y$ynHcjG4-ictao=6Os07mqukayvY{a7=h) z0Boijw_hOGk_gyR!51a8{QU6m(-TZkN0@8Y8gYDR7GK}ynP8}lc;q?cz0C`|TaWuL z)37ny3@_81)R?UxIt=s$xRCIAJD5F`7fXs<#b}o03=3%)V#NC>VdYj7z<=Y6zWsA`4(WSc50`2S*)5FJM9{4CrSnDrB|Nj0@&9G;!au+~IX*XfdV?-HeGt!UJvc5vyB#~O zq0WIU-Zf=U?hGK*{PoVJ2I=5jwO#>;g`Y*{0dl7^s^rP;Rur|s;6#(sEgG#&nd@wc zLp*5MOJxIK+}M2TRQR(Ve8JhVKCS5G;wOQtNTTnqtlflz!n{7N-7Grf^9s{7UnM5>1oGCb@Gvj1!tTz&fW=8?vAQec_*~pvUvP9g=Y271ATJR_6;K6(&LCO+jZJ!zs zC0>P)rh%KiUpjAh#Gg>=Tu2HGA^SfJsN; zaz~pqDlnH!p0PL{W&hTMZPNv@ak>~i0{a^_R04FG7`cfEqm%)9U0QW5e&o2@+XiOz zc>XjxZ!@i29c12i$XF#tsdX%}OcOS*Y~E6;C^}N#5mUAc=!=LU?D|cPwDG;HjM!kV zP?5p_)GU~9fmtF5=+Gu?S3wa&E}=szX3bdXu7Lq7-!YfoOF#Tgqt5(XBzqUC;tbgL z)Y&H3H-gZhN#wB&O;q51ZNnz~AHJF7;JyVi%E3hho<=3$N-!2PFowNt$o^JoX9&KJ z;?`{C^*5F8xifyNe8~H)Qm7ZKk`f-Ql7CWhKbVb%sQr@~yaZzDGMNZ!;WL>C@(Dh) zmFS>Jd%p=S`|{`Ub`g>47R%;io4+9zZz@u;cKy<{88V@F2M%yw^FLEDt;|L;x1b4} z&;oB@QevRSphy$K;1&w=cBtDB_)@J(v+dRt*<%yDv=r~_28yR7=a+7V^7_Rs6eWQg z#@X))oEn?W8H)AW^R>&iGj3)>xIg>J*NZ(Q!v|CsOyxPFub#QL#BLJzbC-Yb`l~aNH8nT@5EzFutk`V$k<9Fck z=wLny+9jAe1s_%ZH?{U3)G1(U0qs9d-;=;*`&yXmKd347z|_li7=KWwFsEy~{9n{} zR7&9E_S4ngnBWntyb3@ACB-50*31~8(-f@_bEk=FN&huno48NB(@8ssDr^9g0?C~y zrICQ&H;fAIhy*R=k5l$U>uQ0;U*t97VDd~p^gqaBzJkd&|4-jgQ|_Hldnx}S$AOa{ zO>OVjYHg3nkH;-e5)#QBjqy2rzIr%A89(hS$)46YIJsYt)Y8PP8tK6uIpL(@p<1=< zb5c z&WBW&(afL9h7uX`1M5zj=@qDlZ32-MO7Vh<){p{eb>7gX_gYwhbZV+dX2@%2&kZo( zKD^htCPK?RdS{vFsC=V9=|yeCug1B~Bbt;`&UbVbrq+1-nD|L)=12>Dngd<2;=W&@ ziyL{m5%mX0;2!Fgv!NadrAS`MdY3bDzE%AmH!0t|?CiVkoKG229E!be#n#=98PtLr zu5-I6C03_*Rx??}^EKr8R^%C)YYbzm=gE>BRnQ!Yc}p=*D+`)$NYD=s-C5XzKV?*c zV#1YNXE?sM(qt54C}P!Smt_F5ie;5GNL)Q*_iCGw1%kn*<5~~?C4Qc%~ zhm4fCl9fvwR}6Fc}n3xKAx}#u&}B1q)pkD1Uiu=T>C? z8(8LgCN=+WlZqu)Rd<{}vy11e|7B9|m+Co_;-4mYD}S3D(fMui-0uI+tJ;3G~(hNZ2UOfHGxi>NFPPzN7q{TLW# zBJB+JC=j7lnZE%cBg|zAVR6yIJb4HaF}5Dx{f+kQL+3ujbChcsg}Yv7xB zC~GyOc<4hY@G+ww$w4&HL)1V;`65VHD*|;JHf;pmz{qP!APtSTf=cIa;*b-;;)cmX z@FESxm2jb_jKiNJ2yXL$NDy?tKX~K8A8fTiBqP!KW4uCGAS?^5o$?v0L4YUnChTo~ zKmzyG(z;h&XXQK)DXpbE46l`cuE7JcTRi(h%&}+LMF`)yf6Y8h@RJsa2;wJc9uZWt z0jmEf-s8?+#XB{>9O^5eg-K76aF3YnuO_TljTFF?iDNs#&nM30ZP!E-gPv+0II zcwR>_@)01{01y*gLEyk=6{OK87&ur?)iP4t8SWx4b?r>-X-D&peD#=Rti1&>tS`7} zhOC!@>sWqrCVp@MdM1AQ98he+#2wmeE16LxK-_f0N0h|5^jvy5$T%bxl)38PJf2AO z@?EevY(1!~J%>I*WRAD>%PM;`thA*=lEB*dSls!7enRbtScc`AeCw5N)}Fm(ouYW?Hl z_dQn@K`CDEMNRxjjQo-Uj|<&0E#A%rvI_@_Qj9AbX+vCN;o}TGg^VPd`6Yu(2Wt9} zR*SM{2@>tCcBs!uOv{DbNJ%rqixC+|3kSt?_F6)FTj&B3Kuzn7>e-;OeC&%>qc>%S ze^52org-UT|3NkB)2!Wk0#72Ep4*$3=j%5=Aa)DVh(lc7r{SwU5$Y*-eC&V90I)4j z3JG(kAqrEm2}AcXvGp($2Bwik>UXA}ziIZ+1vuv#9-o$A+=A$S6J7ZFHQB7X>}joS zEUN-86vu0z$64@|^~15gGJgRfAR}7y7zi>J_ILnGYu&c;w@2O3Y6x3s#%n??Htl@& z_urtFz)X7m$545^%$cUPr&)DL?k&8CLj6@gewkBU?qpE%`FSwlIFn2KCOThHXPf#g zyMZ}^?=uQ=zOsq9IPI6kZ?!N~@0)ECF$p?oT*^ZSFt~VG8|lKO^M9(oBc~4Q+{MSd z7MP2m#X@Fuy5J{)Jjl{jUeI!-%sBf7tgykTdhoMj*4>gWH=akomYVc`co5O>g<0_8 z!_`4o)YnivWIkZ`-TL7Awko!fV#+$ZuOPY#hf(at!AMg1ppjJXxsjCq@KE@_A3mJ*7A{bv?C4cBfX;B9 zRD3^HZD`fGYdza4(cgcF%nLGHK=QN83MfNb`z?4QoV9F!GJR|q0_W*}1V1S--Tx^V z(GM&b%rhJ3w5nax5cR!9*YbLm;r{DGt8QP-lZ=Jlvy8>RfJc!0s)&6m{{o&VqIB;3 z#06KnQBrf4$-WC529<4CTKAy|zBxLERlgADwy_-g>=;P;`@`esVg=7GM?d=eblnT_slW#> zNU-Y|MOb0A60%)VKT5z(!|^cVnFwqT>VqcOd#O;h=7sYRq8~HP6IdDmToSTvARLlk z;68sAfK_`WTdhyICa)xjtiO;nx}fRx$Ro^1=u|2NkCH=Yl*7v9>enIrdO(8{U*Ba03Oo2&Ka*25 zQr~6u;(q|ddDDXdJ}CbQ(9wfMOvAG#$z%WK)?x5vc-DB=C1{(I$PAlj_EKSm9A+e@ zMcRMELv8c~mUu*?7>byMbXX-|dm|VhKK2eF7U|A{>R$>7qp8o*upnSY^tAbfvUq0O zT1DYwi2!jgy_dybmXLU2D->XP3~ZA>g0s24|4GkZg7GK45DEV_Bn#L)H`<8rvOe-6 zCrj~vr4#Uwj+~dYcx+}m z(y3?cx`wM#(cra)Mbl-U4<2E(3yYk&&zwcpusR73GIU9-0NLM+6~Z6d>6(ogs3W-!*ARx*NhbJ> z(09I7qKQzOTW*cxSS-Ndl)+vFBcrz1FX^HQ3j0?G3?@K4-x;_m+X{Yy=4vxB5m>0yS z)*ag|g#~4snnTseS5_8O+U~?jb3OWqSP&_im}4GtmaMFNacKLvbtt7*01o;bSpgX?y$^oF-4l)yqKX_@3b*cSj2yC* zC7kK+Q-Gp*s(?#u-#2zI6V_E@*2(^yj?U^sp7`<}Wa_`Df~~+*M!%_obr^A><9xdb ze%tID4+i}(#S;HnHFGC-Rav=6kTEj4fs+3@nWCZo<3h_g%#Ik?Z-cYN4-5uiJ_^!O zu!bPGA~8DY=dkv@IU)5`Jp3c0Fea(mI?_7noNkt;ZjvcW0V&$)5?&K@+}u)5j^1BXY0 z+V;nnve~q;OfoAO(^xFBoM&`ez*8h7S(1kRvP}Dl{)?Z!n;X{i(G8?x4EJ-j>lU40 z_jha9E=6B&i-r=cy_B_~e2dDgj<3jDbSHd0YcX$~_UL=~esWU0V~iMo8!5s8e&8!? zxy%SRU1L;Se~H$dpwo-}60ugQ?^d9qpt9P_CF}x;ujFI$3KIqK%OST8fX;M zC@Hv%#6tq<0*weh_QHx^>Q!OUe{q>t5Qp`UR}4bz3P5CPlzmq!q7s+~B?=3IHV8&% ztnEoO+AZh$DrV&A3}E)Fa1{$p)C5?SLY!YqseC0<`3hRo_YFog9=yl;?3>#p9=d{J zo+oB(!!8ONgxD?uyKvW);81OiMStI5bWlftf30~Of=DHpJfi}+rt&#YOgK;MTG8nN z4rlnqWmATut%8Jp$DS4%2hkTFfgWA`2MoPOAou3U7t`Hx&9D96ka!;H(pq$B)M>45 z62cHKn8{#pz&oq%!O9QrQgm%o?_QyzkT$Vyx6=5IuUCr1FgWn^2T(Yb5tT^$<(doh z<37T*Lx3iwQkD8g0Ti4Ky(t9x8z}n5+U!<%AjS}UNAw_+B)oLkEj%axY2d157y=m~mx zb5Ilj2Zs*8MuaWr7MD6#T}PH(45$^&UKFwGQ1L!6`n^24C1p%*1wZ8KP=*+F6d2KO zrRn#=qX;k(%B98ZQxM?Y_H#Lcf1}dB4NdHdwTw!ewizCXB%*^w91!EeKxn7&b7Pxa#Lh_!m&sA3%uz25JBU zeSI-K1BxR8g&U+~j8Bx9^mdFp0{%eQ))54+E#AhNGLS$`oCLA&O5ZqC1I|O<6^h7w z)hx_w)G8G$RC#rrd7udW?W2$tG3zj`izswyyZ=++kKTbT5(4eV!vinUo$3f|IWDo{ z1SlWMcNDNZi-vYj^FOnO8`7KW7Tga(j z8l4D1eA|2H5!8tL7ylOz&+bRxw$&=GHtf$E>R>;Bj0hT8y|^_A1x zDB$*%XM;ia>)zDvS>`L~{Pp4G*uCR9cWP`^|LPHV)=^V~c7C3F3%RCA5Gj3a^8s3Wno=2@dm$jv$ z7}~Hzg^ z^)I#qrCRv;`@c5p`@36jFOT^a_JEk%0?+;YJ%tQA%i3=}3QAsiUrolGlSXnwGQ(R^ zcfI^uyWE#|ot*|UfoE1guT$=&pNUDz`%?5|JlC~`hT%EC^1_#g7IyrrQLa{AwlAew zrbhT{>>YVF@Dmz8kFj{zQvj}gXml=olaDiO_x&`FmwN!*fSQG$n$}g%tuIbi3_5TU zzxZN4+)le$b6;;-U1licrG}sTJ$0_x;*sSh@ymHVF-z_|`@b%%>emYh+LQM0mJBUl z`=yfd5--2h3zG1Y@{tL=x<2u*Ro-=U)T}ePp;gS+e1E2@>Z!yO7asrFG4JbS(YAPM z*)jjto1KqDeoD9qkKG?syKIU2reb9Nxg!g>YWQ8Fhb3oyoquwo3{-uyb8Yer@^NZ= zxm_o#zf0%6VPgZm_|-k%4xIezzdL7Nb$Fm$`0zPUOLM&o_rdiRy-;^Mq%(<%=>zu zr&?vD&K_ZHWz?6)5yR$+2`-(L^>yWvl3=nFmI^Y>xVSOkI(i&dVROe@Vs_`t6= z4lBQ07bRy1nYH zp6Qq)ysacljdIkgwH6@8gvU=&XKi)8rD8qYR|Et%ghdDia_C-Y={pn~o*-zk~5Hw1j$`P$0pfKqJ;wMvNesx4H# zW-uu@)R*9s+8?V17*VTBLPeY!i2f4eAn>`yXC^_;!4=;+o*~;-By> z5YHJzJycu2gZ|3?9po`#2T5F9`WvP3H~b$ce-HRO%KxqcpR)zlAuazG6pzBRJtQ%l zRSN`aa0nQT^B-FOCFvK`5fcUg9EJc6v-ww8FTfsYgH^KWH_j>)5Aw`!oWBSB&2z0( zBkY{s+cj_)COGW3HB=j?3fTwL+v}^?$IxAhT|Mfj8rh^y2tS`We@nuI=EmdpaK_i>^SW;{b7XVNSv9iFja1@3hKBcY?*W28b@D!ZUdisp5y_Zu6T}%GOK)PWA54nUd8zye&3&e z7z6Dr-8@;qn4ES0lFE7J0Nk_7^^*Y2o=>Inx2=esQI4)GRIR7_F1Oz+54BVsexCv8Irnt> zEoYEU`Y&h1nx4gZo?Vj7Ja0TPRtra#yn!M6#eafxevTKexaGyOia*OsupezEl$(vM zWG0l8ZRUMECyr?3R^E5=38sM(X7B0265^Y3?i=SIpGAsz?@KfM5OZ>tz(zwk>CHe6$lqHQbwD%hV&{3DYg&bgM3~ zz%MtTddC)qCim1(+BM|1@*wYia4o=pnxFOde#n#KX`nFBdzi%c(J&70=Dgwa^7a-d z#-DZU`=I^4bU4}g)-0gUfhSwZ@YcTZgOd@D-X786d6_LER_(4=Va#K%!`J(zeJj^E zp~PuO#6C5#fsewzfIvK>=IC^W`&50SCU@>(7PAHXjRN+M!2Y8gsiM8{Dq;J^WaM58ust87-QOxS(I$ z8ViQJ;&RNtO@6U(Q&^-|Oe;9NS-(e64UnI}y;!5f@RZ1T^2hs8zzLcch3od}TS#2M zzKiIVBZpXzvo9+!D6Nmx$KO0odst0*4vAz`0$|k5QUBn&3Rj_FAR8AnkN{SDaCCVpIkX+`yjLE>_vlWOZxqq@thkKvAe@r% zQ1R92c+Qbj<(wgZZq>sFZxCs|_9Cl8)YAp|R`;R-i&@W<0<_&d8Eit3v7H*q7{t*($?Llg11{U?wl?x|O#;mkD_{*wDM_muUR}Rb=wPpzJKjH>SWnzA7b)7J?@XRoft*o%ruFtKKhpZ9WFxPx{w z$KJ|S0pDt}R6?#U)m*>bEIz$3Y}n?ZUKs2YJPcUwrMOytBwe%(`bxswX72RTn~Sb* zfA64qQB?J1sI$mk?373Mlw>i>gOV7vb1aG2Fcz1qw zy%2zrX4r~B+AKasTKZ5(#Kw16H#)7PMCg&b?}%e0#mioO=1vIkeYT7>KH7F)e}jqt z%s?2IO&nz7jxu_=+VF8HWwMEUC>4ZuklOD$VB_V}LC8i7IeA9pG+cpM%c}X>1KsVuXU955htK_K*~){^p46vaJU$`9$%dBK6%}!p zlhIg8|E3X=@4D^hAki6MPHFdeb39 zNq~$9jFw%o@)ZJIQHrCD|3E7<)LQ9UHIM5MS0qez=lIIrmL?w@*o~Z(FKVc_O2SDo z?#;}y%eOUJ@6DpV8~9Tlro}F%A37Y44tqO_BI>v;XkDOF<>XtqhV^!EgFWZ$b+Ldw zune@cQZ-KF274M@v7olH7G;CrewLE#8**-CH3+zEaeH$*dSC6x1`%P&O}&b3_w3se z-oS6+I*(fyr5b-V#BK@p28C;l5o+grKUwib3n8Vbb9a&0-_hg&aEqbb+c9O0b6@Pi z9@%l_Gx-6rmM{Ogl{L}-(_CJwue^&h`+BG+z*_`C%WnBEsi}?*e@XpWy4KATJtW0u zbZ^c0740UbWJqvtCmL)k%a&tFzLWFD@jwpr+1}Aj@%QPD$AB&W&;NgR@@!ELd0)4j z+1oiW5J3aH4`JImH(-=pCbW$8a$a7B05r`J~jT4D##63RC-3RT;^lV#l58b3`MtyZI@ ze%ZIB4dlgj@HKT0bmTgev7t!)Tw(7_AvhTF8&Udb_xN@1+2twIn&Zt8wzn17p7sFp zz0ry(rEM;k7d|elEpF}nrmBYAYfWgIwqUgd$v%|WUfhIwG~k=uI;Fb@5R?uO@wL~T zX|;S^k*o&10iCzj;Y9HWWiD|=r5Pmwi_s9J%_1f39(`U9s=gMgeuht~B|djP?ktO3 z&)Fbv(<1K>9+N9V^K}U@7CorQicXbmf6mh?Rii_ix6OkgV7!Zle7kz)ViKhwAj0A> zCI5x&IkauHxJ|uZhaa1|yM>~g{iS$~M_HRQn=Q+0A*9W`q%D-&@C?s#QwNku8zQu_ zO+7<_@3KaT3^lARwWs<{b@yOtE?)GYQ3cU+a=(WCyaxR?b*=`+p$6JPjz6p|7H%8< z6sSz!b-zaIyv7ItiwE-i^D0nuYCyq7jasS1oRakcT)uR-T$#n3reNmzhMLx-<#o2RU%<^F0;9I?PBrz`OL%bI-T7K^Qi}!BIP0|JYnHNlA0( zs=LWHLrv=E7UB6wUAiO0VN^YxUwU)E$qbXR%9ZJe;k@RJ(xl#$qT(aO8^yYcncYaOApCt|d?a{{89;6cd;q1PYA)H;H6 z-qY)a+5LK5s-;4?#=!OXK)C%ByMrYuKDih2=WfX>IYieMj3RE7B9*)i-41#XU}*@; zWs~$i@h^5ipRTEylxd!_RE$KcY}e(1@t{8F<&Dr3hu}gV5zh%-`$t=fRfvIrL|B=I z(U#`n52-rWC)a9b2(IOsfS{IzU2u+>)cw0>`hf)P1;*XNplD!H?{Rq9!V_h&b{YlDxvS2B=@&L5zOujo%3216l{ z0O8j=(Vwe^1NG0t!7)FvMT&5mV!BQcUdxC7&yYyK{|1Nma%2|@1?2o&sFqiB?=BRo@%4)^ z*k~}+uc)4>X~%?Bvy(Q--zZHw#hw*N0qwv8BSA|*!eCIy>jlt`b6DH7>ercSI3!4{ z1uh$lG)(t(c2LN!rZ5j7P*)j)=>znCJfQP6od@<_OOy|R0)m_AM^aH3;>s3HimIvh zx;Tz?rxXPOvo7F{amJz*+%XRaB5ET%>J$MZ-9Z|FA_hSf0n=y7nv=0skAv|I6s2Jf zSS>+`fNo|?5|_>Q?9c`qgb-~?zQYy_2Or%3tRjSL8t5)|E`jLNpU9q8uQOFNuF`0vJl>wt4)#O*>_z_6_myVr z9dE9mX6u{B64~kYV1cWRi-%7bSaKL$8r!;>*$N)p?HnWQG{O@jht+?k^6`D}Le}^D zJ`|h2miI1+sNct||H(%Hd6;OdDt`^WbSp zAz~CW10yx#1QW;PY}1Dc$HTU6SINTq_LaNacY0=LTF&FW#`|3<+oM{3A~5X>OxU8?$+1$M2!6>0N(IrS{_Oa zBMUtp>kK2?=zN=S!k~|vtj9aRwe+l>jI7(&&7ZF|b)I&Etww%IW>GyKiHkjE`T}CW z1|IJlQ+X+W8OBLN3o|ugmLg3PrEhe+xdAEX#5+F5vWc>~ z43meOKLLSegjzzNVUcG#^=gZ25n&W+J+p+HBh3(HKDmTon)rXI9EM())=w8^3$ipn zyCbQ2z2;9W$TnMO_{%3J}3GsP*yRy0hu9Mv$`D5$Q3TcGpC7G?c|@!ByM#oSMT z-WXzO&L~TqDa6*~@^T4O%tO3?hHn*aeiAN&G;;wA!2-VkN5v$~c1WvmqnJt=W(g2c z_!q{%L|h1pu>BDMVDB-5k+w*cmR=mj|1ZUXboB9;rJnX3@$KeXH#{P6u% zDar79NZ}Wz@tgoT#+QDaPGkf8s;15oa2OtQCt#m-UW4lfQvX z6K6&opcP_c|1HM(|0>2(gYCCfOBHoShQ5$81?z8ZZQct_f=2FJ%u4ON{ybWn9MGN_ zZ5{0I+^_y7EYvLsdbP4?v<%yu9!)zx7P%X|HEVq3x*p%(rw#|4fjqvgjI9~90*rVaS7o->99E}T{(^UC4PhjHmejFg=lLK`^o!>TPDadv{xy*DbA zRM8CXH$_BlxCI5_K%@w@iK;wb>-O6438}rW)>gbeKXzhfzKXVdi3iC$rUCamYDsq6 z6LN&b%oKNob>mX_=BN^`;x%w!OGt)E)`pxPa6-d^cjMb?OD5z794vlje-`S5#tf?8 zilQGAS1j*Y1>12#%_xShp|~>`QmV8gj9#DgI(88i8hihCLs{J&Lr0tcJx+lCKGslI*OzbU#a|4WBT{wYAmhs(cp zd`xULvXJ~gNVpYhW&4dhy(*?E>wo*p3e@yJRy-^J8{)YfU0GSA7WyA7O?HS1m@xVA68K<+j1?{rz#^O@7u+|tp_c6J?LU466LKhO-OH{RKI z8{|18Pt+1Ed2(_19DuE@<&EAw_pocFgKU*d`-hQC>~PNAl|OM==4>Ql2-M%PTtX!_ z#^W#Le}q}-^Bj#Y_-$Uc9*L4ENisu~Y@Ac8AzY(+Qab%U07_JzLUYCXn9e{jJCTKA zMKYIcbdPMp6LAilOtdb>3lSWOm{$%Er|T#{Pj0+KiCK>qDh`k=0@r-Ua%(cfNm*`A zzbFYpCp8Az4dR@0Y9Z zDXP=@Yl1d}7ApsGtuYrP1krVfXF!ItXG77W+YF;j>Il(xF|3BeV-MqmvupdW#3^y= zR4Y+K23F|voFUm@(FCxgt9H__vI+c$tCGc7L3I;o1B5ZWR1Be0t%)Q!v6gcTh!{W& zvNp|Xc#3dCpt`$WH8L*CA4SbTRfI+Mt(ry3<1i{cuJgpJOuc;#rOz5=BbgYXz{c>9 z!P+P`Tr|Vn$>;|}tAf?U74npK6K&WnKTIdsr7wl5_eCu|XK@Nh^wsAlYopkWMIZpd zV=xS#OqORbY*eM0j4RU+c!qI8r48j)CheoxXAnV$aS)(d$W|SfIozmhvV;Mqi70ER zWnW?`x2UD+7E#d+xig7*zEPP&a(^m;TQdE)lPkGxxNN*K{8bs#&$DT zq^TUuOblZj*PyH4hhDv}2KVq+enEU`k#Nx)8LVWe;rK@PxaBjZo|5betyR=18bkbY zmAK&{=JRGATH{od$dB;zC=+hcFFVO*E4OX_1C+X6ur@PafM=ZjrV3xlM<(8?4L-eM9@>FCltlVgHTkJCUVi#$m*#i(aq=sX)fl>;49My5V6%% z(@pXt#g#`qu|k`;e}Xjy&;WV@w@S^Nm@f+G)Qt^6H0F#&)LfW7K4)&LKay$4p(qv;N2Y+z&2LfgE7EL{hgCGz*o2!wf-pN1gR=R}ZmM46W0ky| z#_v$MTeaC!2xW4G56c45`C5|R+BsV32z=p)(82+}?BYl$<_qU~$U*U@l8&G~hCP{* zdVfY?lo7@}j^x&sLGf*S2qqF5=crBX#{so}*|*zi#LqitU=4hkaW{4NDQS=!)T_J{ zG~ERtU?N;X0U2c)+B257jB~unX;&m`qUB`D$RuPE}{KfM>HtYFIYL zG=8mhf6HD|eo!Pko`m;V$qkC=ob>kwh+teO&R0GfC{AI)%Z4BD`w)8xb!hmaMTwl# zb}9B(69UpSJB~?Co-d(!KdL~RLX@szf`=X=;mt-hCAs1qCm+%g#6jy!m7HLrg-BLv z1TU2{?7+XLNtx2lckAwG8-W&DS--#u4xWpuYon59d!U3Ujc*&oI}+{dhVD3y;h`YJ zgFu)4*mD{rg8TL24~`Q1#dAQ49M7JGfpP!#;Twou!^>YW6DGC`rjHPyAyMQ#7smku z4RY$oEfACVaax-BPE{PGKT1Pk07}VJ0ZQc+`9b3yc@pS%B%v+P6r^{wjh`^d@Fcm? z3OKiz!-7GJ0hG8s7U|-Mc|`|~Krtk_o|i9)QXJbS+Pi~?=6*u=UfTGgd6Vuts%kn> z(N+r%1_Y~I94bKcrb&UP=%{vsm>{J&ifX4NIEsExi+2>wOiOeehKG{o%7!4?cP)&J zNFdF zs&J6Xf(=WHo|55u^T{K^lz;d;EJ=lkRsz~zVRY8pOnvQTy ztgB!ZH7=~FNT+rRT0FGr4WZMTFbj*T)SJVul|VfEgNA|kCEf<-)RN$)YIe65;T%<{ z1&JiKaW8(S6JTHbDT5vf%bM)+5fD{zW37A4;mS6?o2Lo;??1+##gooE`bs>$Hj!rcCU^s2NAupR$Sj9*pGcYwHO5iZayTYCc7PRr!?E`mT@vw>M-qU`Vc5H_W00Ig89f&U?b@mR@R96`A*)ZN=!cH8&+ajuI z4LvT#<(Ea`Z~^~3;txZxj!Xz4CS!{ba!H`5U!Vtw=}qo4T7S6J1DAyh5PcZ(h$H&} zmCO?g!wxx)GUyIFcLDydMfPJd@vRsm4ba!|MY%cyY7 zFVJ7u2Z;1ZRe;+d(vg0iZ+w-~q=VT2`Yx-v+<(R6*hBl{h3pvB0b)MdcVfKZ0VX_0 zfM@?h3TeQvA*jC{6MQSEx`U+59C=ChI1S){zziNF9OI`KCAm=f{{Sx4Icfc7N3A$L2>_4vhYg;FzF?g&oy@o z5G)|_HUQ;}9`|Pm*Z0krK&=GX=uc~K+syrua|em*2xyH1#8MN097ULSB!rWuLg=#zejeK zS z@7rb%-NktA)LXOh$2xp5JIf|S7+_#DtnbRO*6{mG&(2Euf`R#FsDI2v`DKQXFNT{8;dOtxH#? zVW{$~+2&j`-_|3(josn3nTq)@Z84U4UUc+c-UR{6yL`<#0l<{~fhqeNMo+%%MR^MU z&-Zk)Pppu@il|+7IyUx$0npg;E`;vJjQ3#(U4so%-y`TjddnVy>4)RJ90u|0Nv+I(rEdZQrMh{1lYvviQxO~Y+6H=fDUzQw}deeg6!1Zgd z^tQ=t=`P2t3B&E_lD?Bl{J5$?2DtoP;&Mo{R+&82(TuU|md}G(jf*R@%c4q~{s8m} zZe4Y;gmUbYdj|=pv$hFLejv?|_WJuH;nI&;0^U^^JbB{fc}DT)djCN*zQ7V6h($^E zLbb-@U{gDfsiF}|Euof4J2(!`oXR*l84qfN8Y2-4h+U1{{W(bNq6}6m*=u~5ZsunE z{+Z>NkxXH$x9`vU0`mIDzeN$r7`&l;s4_neeTZO6e0yZ68GpVVJ3HMoFn!ke*uANv zi6vZ28jCpvH}+$xCJu&tQIUdq>UFMBIU^&vmZ2ginGvBq&rnAhm7kWUglGwNP#2*O z&^FG~KA7%#NzYlp^op=TpxZ^z!de{U_v7CxG+u-_$9yYLkUH<{kYC|l<-I2|q#!U@pWz@q>Xs^U=1?r+Ge?+u4 z`Md}r=t@huK$Q-51tv-tY8K>-GTL+({q9M1nUJ5IUXY!}rX&xO^66aD6|!oUjGFLF4mg|?WIxJsV~-?-s?XBI?2AO9&yG6@|cuBfcsAWNEGUJVtK?^xi36A+F|SBo4@g~Wmr0JsSQI6TZl zd6gn_Dd9DR+`n}t&qD>XgWQNs5THQDQ&ZP!11K$PhWt%QR1^9S_w|#n3R)HAI}5YHKE?^_p}#bt5dD({ zMoJREnPbuaIOB{0S%6vZQqYK%3O^}@H*LY%>OAO0Mn!2yO({_0{u`&`$T6Z*G*K=a zCL&m!Bw)%~szSwNT{NYO#})2Qurz_!Wh3hg>$f!@``oWu9-(;0y;6l5K0w#K=I4qJ zs|l?_OnXi=o?;ZrZGk)GWNIOEN-y%i0Jlgwa@tkNY2AF;eSgLM4AA|6R5mKe4uM;e zp{~LTOvPXTqrWy$<3>{X`=uu?B+HKU=N4vSazd-}5>vSNUHoT4CV81#OJUaK?vnBm zU}x=iq@(7z7GyzrF>w|x%)$u4St`^Ct9@+eqeluC+;QshibSP&75t;+xI)L_o`Q8j z`64YoxD615hrbAT?lm1HlR)$RivYzj1UEYNgcDniH;9;mELmBI#dyL})}jbe8Bv+E zxRAVC@YA8Aa-vjNOM#}4yo8Z%qNx9i)zerU+Ao^zqX47DUbFT===crm9?I_w3mF?3-8mIkj$OhaWJ}Cf%zYHl& z1qJYtTFVM%b?1x8m|qul)&{f_caIb;f-{VBr76HAiTeqrdui#M1`agbajSdDrNltj zX$fop?2m6Zlpe_8vw5uKG$Q#D7|7z4l|8S>!BZRjH~n?c9bEFP60F-&l?N^GP{B#}eWG~E}j zAMdS~JWobzZ5p4C+wy-mro9{(Ab|($KCX4Np2x$WU=SeIx~S2qb;JiZg#D@85FiGa z1_8m)N}HpaBB8#=4iE#J%~4nIQOPs-M!ZqkbEiRx8hu)b2pCq9l-g4y5`by&CKWiQ zq^9Q#vDO6uk|`48P~x10rppKfM#WtMl%}cPK>=M^!>jHfrrlQlFF6@5oWu0yZB2YWxOd_sE$D zSD>&0pJL1p!x*>#BuY(7!||}NR%ZKV#Kx2w z9?3*)$j{@C{jKxk`jDU9kls22*b9l`_}HhtMZF{`g1W6gq9Yy#EYPNcyWv*_C#w9T zOU-D>QKY7}qWHBD3b+u<)z!QV71$`V{uYhgl0M#^ zEzA#@qF*R(&UX=$er$~&w4UhJC;v=!51?CFA6^}d$LF(NS6UZXTwKM`mVi&$uHcA& zzY|1gY?YAQiG}9D2sUYODDO)|ZwIlKo9l}!P(ayymM4l(sj&iAsGaEe!Zcn#n(Z5e ztF*l~s{FVP*UxBrs}Dk?do(8*RTdNo7k-)Xk{8I1naW(Lu4+^9Lo_7mrD}j;Y%Pkm zk>%r7O!`tSXpbXzrWC&c?>p%LoBZGrSt8hks}l?~W001QH%vrr;`z!w8cR&#)rBbp zC+GhCkW^NlMNd0?A{l>(Y1EN*rd!WB&!9@%Z-N#9?o4u zidzrhcE&xdiOa#DLnl})d8{c%-7iSZ_mMa)!EP?*w1u2KyYeD=$p_Z$eoty73WA>% zW;NQbbrII*hiZddH*^*Ch{@g^6;WF{&|8iYiu9FpyxWfz4s-l1l6~fIgpxzs;+Vs~ zY;M9Khu3jMCVYM&V($vLyISyktqws~sxBs#~3(_1F9DXnRJ4-|@i?V4lM70hICe^tg~dN+~Exc3;M{M?7-o7QkYt znb)7JS{ztij}*k`#1%V!I5P};QU!L6EQ~A=>IeB(%cg`s!nRFDsi1hFVlXnVV3Myl zi}fqPUlD}EV}?nLD_9z(PLXs+xF@iq^YQT4HSrd3k&Q1X?Sln!w&e?*NXqrC&}-jn zsR$Nh?%JrhVx#khv9)^SF?!C}*{p&WIgIFh6)j_?Ht#|lUi>BCa@zY*-JIaz zAxnrcY(7pm?e4+<>DX`Xd>0cy&C%a5fTB_VcFY`5VprA3*!Hi&quZ$i_TQQCMt^*Z zq)N+{woPh5L#7!GZJt8F^#(%4tH;<(xEAbK{5{KS8^?5AFV*#E7w>gVJ52^02!-t` zA_+>&{Wqy{97BVIZBFVw#=(xRsruyt`CI`29>4)zq z1c`KsYBV!uq+pSPl@UM&NQ;gI+)g_j!+aP8!TkM%2Z; z5mUsW_?-kJH}mq znKAx#Wd6Ilrkukj2UhP-4W!Pa<=0KO$WF1V_3PDAc$7AgxMoouTPh`@bFyCeYo~sH zqwV@3n5)*I`WivltHt+Bd;C^}GXpH@jYujb=aUh+@8pnUBrkkEeFn<6E0)iFQj7p2x0Ryn{YQR&n+~UJ=NaC9Yej4{X-z^x9$SpfEk5B-`ie`dg1- zkaek3+UdiH`$R#HraF+#2+-~mVq_44AQM+fORPJ#=sb~rW84;meP7*PfZBwDLo0E+ z1_5&UAV?tW-Ls~{Yk}Tu8OlkLq|HRs;POs+QTa7p)-8jz9#(8O@s97sBp5ab0_IFi z`CXm+tx1|$LW(p2O_Z)scK&HdAcsK+Nm_H|eBA@Omlv@&wH;X`(i5!OWnZt9v>9+mUF=+A{3^=BXedMnZ{=2 zg}S0;$!vEglGt)a4AVkLLgm%8%jRupv~@^hoP6YF@>*DE0u~=Kp>~*o;l${AT>{eWm_& z`SR5v*QW(&JgI-z@Aaz9pikEyNox4AF7N&BVB^w(|MMY?Qmh>wB1~!v$U8iU_YCMt zQGv#wnH;B)yZ{vQfXsD>(B(`7oFVWjxN6`=mN-DnA7K&SF>k_HC%m26vz)r+vN1w( zEH$+K*bB!vN_nxMdL5`O8B1zY?(GhwW1S3oJ;1R~vD%&{*egl!1cza(_>x2}#g3#1 zCN?1sOwq*^v4G?aG@AX>)+kF!UIK)#KOfYoff&+*YWgf|Jt;O9W0FBcy6J57+k8Q> zsyOuhiI( zkAv{exCG5c;q4)lHN0qR^FbIFbfun9*$Jq^VfRX6bFZw6uj>NpeGjHxGMlz3@A9n) zYrFjK{XE;D%|=FzWxqFt1v{(Us9kQu7M3~ohj+zU0_MEGdn)k$u(BvGqpy~(`eEv| z7J1|M(6znbHmBpdiEAY6K9Zcjsq5gcn>l(uwNbQS$#)dRSQtRtXZ<}nS~CKV6$=4G ze1uZ7y^8^^SQeeOWhmXIakz*mUw0>u{u_-!`D5qVJ6dWg0w(+8PYE7EG@a#$)s@MU zkb=U8Zz>0=$=w|^%gd{jCF0ljRuxJSSPGJH(ue6@N58HO&XHq^2W4|!k1`ZeC8_0_ zaI7esP*9G_ndHD<__F7mqcxnf36MMIg~qhf>U~SxTZ_t>D$?eEHW$`(Q+*!{bSU4B zT;;@YJqQYFZP_X3pfeoGw~IN#m+*Z8=^)goK~8MgZM7X(T(G_ZAN!eL|J%)_une@u zRy)<^IlC5h5h6NDZhSkOOE;yJ;SRpElH+2MysAabYDIflJLRWZ)Y$~mz9pM*E0egV zF-?mbn+Z*qD+$u3TMj4_8EPwNiQ9z|4^R3OsFvGDziB|l9E%#`?FmS#?+=G^mwjPL z5X@N^dD^}mQP+*=@M8tpP% zT+Q^8!7^rDu)4NCGrE`3Rg=|$8q=vkfrQ_01w?*VjB=+@9?aRw9I44(?J*l_av1Hi z1hp@xFJ+4qxDez4U+w)pbqj5sg5umqIIGD~;EcTLZQ^N%pyXhl10j1K-=Rfj< zVa+0>dXbS|Z;awq8{~Qq!lHx+6=cS6PW7AW~#`Sq-8$0e*?67@7 zY*vjllUOa+jN=L#bA(+oMng)74ANLrDl#~N95G|Y&{l&Eg|y}cki1lllO=MK+h89W zgtS|$tC8Ecyb1l1!ve#4-p~CEI%wxOuJ<~6&3Jq;^yM& zV5ezk%V_0lX7|_6UQKiZ%pemQ&`)2niNuLgo^Z4!Wh6@E0+?E<*Y6OC-HFA0zK0pZBc;wr}q+A?fysyRO34cDE2tFW%T!siiX4fKFs#r*9xwU(M6DxpX z(o9UC9qKY;EQ6^BgIG9Lz@OEGL%)wZVl@Y%R*nQl*=nSEQ?#(*NHCsQk@s!*spDfQ zBEK@!LU0*f*U;x~lZVu`!(^E{2d`}WmoEOvV$zYP})_7xVF`w1>vG~$Q+(oH^Cr^F7Uqg{$G`ETe@WB_5p&80m8BVA^eYIMP~;` zm%myyC%(ZxhzU*XYwzIw!31+Ym?c`cBoMXDinJcShd;S3>85B*<%hQ%54*|O*IL(` z6<$1n<6wKk>UkQ<1qw1K)hgbC(CqF$b~e&+o?0G$D{$_PAo4L1E?4(mr?HwP2nGbQ zdxGPPnY**CZj0$wQb~JGFNotIecXv0fth~S-6#y2Z3dKN6DKT+YQ1h5-*ITt9~gjD zrOt0^oKBf$O2U^ei}NfSH)k^G>TGrgdRlo3N-gw#PRK;f@~_uEAv?845j8s_;hzZI zk(XqThQIiBn7!E=%O)XzJ*1NS`ma%1{Crr14PZ_t0+8MPXUt*mW@l{X449Sqlikf| zZrdMlVfE~m2_}f^wnQYcfw46g3aabHh?BNF08wDoU*wH5Gi}|-T${|$R_6$mN3zPI zxKG8P`t5Rm_{hJ3|9ZO(O58z+Ky%@^3DPOs6`?zknO;5o_?dP_arILfdIJSzcD~(D z(CTylBW~_D^5!Bq3Qb)Zl_t-3%DeUNk{QvqyfK{NgO8~PnzzYyM|RT{Ga9sbq~3EQ zi|+V)rWz4@%+e|&tRc3LDpmPKZ!8=zhxdza*^1jH>Q3Et;gsPOdy%j(C7tLtAxL$b zN8(NtiU;5nngnbbiVIhxtLpVi15PR{1HXoLt-&tI2ZUoa9p1p$Z&b3jVvZj~V{n?0C?O)P5O3R1>sy7GSgBv6hiA zPEybgYjm{S-+n#M6mz40-Im`J0Ntweo8(AZx%UtM$`;d3x7L_ms> zP_P*V*F{oGQ0^|vlf2Y#p=_5d@o#wREa~C=sxZ}XY)VZxB7?pu#L`-L#hR|&8aq#) z@C)`k@x8O8Vnz`r1y$DU5}BMNcD7f4hQc?_xcD3dL-ypT3JMz247hu`6=70sIR>R@ zYBKZz*jJ?y{(w#Ek2=5#TubtY^P{YB80Ft|qbw3NMirOAv?D@iTs*t{=EkMu^P*y! z+jc}cmmdzELK(Stn;Z8V9)+ijBM=k~7BM5azva1Hbw5R-u79@}UpoFY?xJWojTwn0 z2*8Ewk&-Z`oVypSOzGQGO{?vd@>qKugtqCK-@oa(mDLxG>A4l&g&fe+&>KAp@fKr* zu+Kr~`QC%tI}m}y<_-eaZ+ao8-JCy?ibOU?^ZxL|@8c7pnJ~gQoGYn9ojs=E730n) zA6A~_Ow{Vt9E7zZuK`^(5|HhNIDMr!+&a0Q&Qd7c@cAC&^h06Z1mnx@49|Uw9_MeU zUI+?N7H?3s2(q=IF?u=NN&VlZf3Kq(cxd?S;(y~g zt&Da5?1hyRhr`9)M}P!Y)Ytv#p?Bxna=$OYqesV@l=ETlb!gjBSD$ZUVOWcevE0wc zdQ}VYd^7fpe6rSmGhHtPPscRWjkDel=VD`6fDK`7D8f3;9kN0BS+Mg7`_G@C!tqs$ z9&jL_U?LzOOhAtXDA4^^Hw74Z0j^JbBP&}5YezGSYjqn(R5djIE^kh1yBQ=ZdNjzv zE|&gcdSO}+4y*5_$sEP>bxxsDNph%}6h>c{Qsr|JUV)y%_Fwp_$-7 z%{+u2n|r71TWTG-s-&;bIb4Cx+BydJfowo5;U){4mW{PLZ9AlPVdBSqA4Li}*8DDVO{MyT1QOyxG|9=dK+Bh3r<@zZQo{B3$9AckWd z6|Vqp80I;WsI4})vw2aa708F$F~+!QWBj~osArbKlXh(jMejJu_Io=K-5cUCA@3gg z8HSw@fls(0<{9<{%b=JJBab#Mv(oO4tA^jE1SbqtqjM5}yeXj$Rb-Zi-J(_nDw${H z*Vaz`RrqoL6C`K~y0xq^5?P7(2*Ypd$>k2y)M!Sf9GO(_ck<`-UV1#mXOa`~)<|Rv zJ6V@`^6%0sTt|UO)iEPS5?;C^&26mlb3r4~uwYO^`25>Q!Bd7Hl*xhM%y1-L-Fsm` z+F*|`mUpaQ1wp?>cFKwZ6st5dtLvpJ>uH``@rPq>t@OB(o0vI z=U>F`aER~7)XS4!-@pFt-wBr=wgRST7uCz`n319nycinlviVXFZty8CKEv$_?lx3Io z@8+H4dpY;A{(YRK$A3#TPk4Lt?}pna-#)Tq7v4Vm^)tIC-+;CEd)2+GrQi2Amao4e zy?$C1+v}|ijLk<4ZW$a5$dSmNk+Q<$h;fQ!5pQan<_k&N5BDZr_g;6D|MUmR_pcsg zuiO>&<=4WXc^x z^X0Rf_BqwuT6e4TopgwT%F0Qv=d62UwJZGP8?~eAjllbejcha4F8q*nG5-Bz-^#Sl zIl+Q;t5_!6zL;lt_6Zk@PnWk*XOl{YZ&Nzkh4%}pT;fZ#?whN9b~vP_&objT_q<4U z;cZU^8?LK1teMFf%{Q-8IgaJUtfze)z8j6_C+=gIu;*vxtMw(^^L&>ty4YP2_tKmx z=AJV(V zTk8}It5b8{Zn}{#dXvv=UBbK<4<5}4U2;)4Vd;OlyzC1K+ohX3-?1fgb!!&&2u3I$ zmYn%QPNI9~r&S975>q4kK3LVBnsCKL#6w6}Ma=d_;#p6@MuyM0MoTCdDh+ssc>=ImZ}Zcp{KH%*7C*Bsq8 z>5@@(WvTDmN2))n?#dmEe*by>lqVj+#iw6gYnQ8ga&hZxx$2t7%a+fpdv^2ry!wU3 zr>{+qt4qDTdi~y?*KS+itK6Rbd|kiYz0W7_)&92s`{wlF_^&dSRcpRi+<%#WuIBgM z?|;+lE$SaWTE9Q`*WZ5o|BFfu5AaU0%ZRpveoc~aud4VBg3Cvg5eSFHT%i1W&s!s*|9t^B=%wRUekbnAa`Ds!vqD=WU2GIhkJ^a6c>NWv~8Br~t0SpN6%mL7d(p;e5v1!k1kQOomT7DX6gba%1z|CtA z?GT?M8-g_y*srXgS*#Ci3Wu^X@S~Wd#|t&7xTG>C6+B&u9tP+KO2YIvFrKqP(TsMy zB)U21^P~uK?2BOLAWfp6Ye%1WL1@=4gK9^chCw$0eIf#3LVP*Y1e9qBbp7a~#t8kN zDxvz($B@yDK<|GejCkFEwKtA#0D4CkVZh-=WCO5ud(q88?>i#Q+S7z=7HUrt-4yh$ u7Q&Rv&CpOm>3E^*M{f@z^yjrBWiiy&VSqO)Fb9Ehl^{bRFnc8Qf_MP#u(8De literal 0 HcmV?d00001 diff --git a/review_agent/regulatory_info_package/templates/clean/CH1.4 申请表.docx b/review_agent/regulatory_info_package/templates/clean/CH1.4 申请表.docx new file mode 100644 index 0000000000000000000000000000000000000000..42e962eea116098ff4dfa5cd040c29e2bb8c8897 GIT binary patch literal 37170 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%0Dwvu@u~*w5_& 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
logMGDBwi zB!kG3FrMB-0Nso550)*-Ynf{Gl?)G29&{VQP}xc>bT z$kR&~yS6J$UjQYX*jX0`c(`{qOqbxTNk=MGTLOqXGc5c&vbCL@F+h72={9UL=CdCl zS+LK8JS04GNo~#cEh%^j;iHGN z=M{E`2j3!LBiw2EX)Pp4@9p|p_jLAh?t`07LumTeC~C>RUatFqW+8ter+}Ls(8`ys zoU)%$ET1nefo)|bj^>PNp+_{?)UM1aRvr}vb=ba;LT11wY4ZtJTBWh|^;A)SFgTNb z_-l58&9Yp6R~x=~_k#UQmfg%k`Y$^L5<@8GnfXb^%X-@f0?W#({B_G~T#!$>YDa;O zRoq7r34u*}D&sE?{mKaaI|qBXS564PMs3NgO77A^sqqjx;<~HAszEmT(~swz1jw_> zItlK_D7k(5M*G#}UiF%lx2;t|Shr87^6;ZMjRQT@^b!&_>e9W)!aG77NV>ap zWH>%U@!wP?Pd)X5F1KUHYVwhO|K@o|_7{&Up<)|6JRmwW!Vfk>h1Xx#RTYhM%B$g}g^I%`=RU&hWX)wVL-kEs z7QHjDN8-tv(-fqypvgUGsmr+eWo<$4fls{plf_1b1j0PtYR06O;7Q}JWO6UodF!^iK(HR?3 z*Z*N^e*A~>QJtsyhPzt}O@PAfQT!i}E zYnbShlmec~%Gm!hc%dI*p6s6++&%BlJG>CjYTP)^?|0jGoP!Qmxmu9dfC3YYO15Y;Hl?q!#DC#I!(J%rfnrDJQYJ&6 zb>It5k9288E*3uvTt*Omb7t)#902foId`#WknL*MEd8Deqbz$L)pJE zV%u~=Y?vxS55pe8hKh$y6(utgW|Y)JuT8D0!H*boc~{Sj9>9o0Obfb(NsfjZg#tgkgIg%f z-Jxzp;7hS6$+B6KXOD^Z(2&2Y?Jt^?m|MCY%Fq!L!zIy7~9J7%y9nPKQkLM8a=%Gez1xNFFfvXkU#?Pjd zyN9|-#yWA)Y(Y6;%!uJC9UW_ZfL-W9ep@btqLZiA!dB)g9KirDXr_~Wzv9J6 zrBj#pcjEwWdvXFLwH36EB-TDS$zI{lB;Nl{vStRBa;MNt$Ydt+n1iVXOl%ASfm@lH zLo^c>ncseFC-Imwl~IBF>zBy_d5V47H1;x+q#!j9r6AGwDSx+H(a9Lqan-!#w^v}? z#@gqYFgdu8&8)|r!vyy)*~E!tssL6Q94Ed95;1}TiNYNJXm9*NSs(tbWAA=|w>C;K zbA~4|Zgn{49eVQh^u_dk{dx15F{)2`i!VsJe%ma~XG*b3q8cCtH1Tn87Wm3M$*o9a%Au3! z?awPXep5EJ&1zR<9P3PqtKhJ}WI4tgS9!}P#cyNF7Utu~dhHeZ%c?Ppb73eNicLzb z;OYI1(piEc84O;~4&MniT9RcW64L2+LxeDVRPi9j6&u=Vv*T-m82l1f4(Y8Wy^Y7Q zvLf4D7?Ap$0YY<%18#B;5gis|Z!lG>SyY;4!v?t?FJmuezhQV>a68I}pHW#t{g}|8 z7`P8lWSJ*R8M5^n%b`>y&1G;OT28p?Yhc!_5)BZT8NY#!z7OQ1pk08elkrhM{HE6Y zgE|>ZEui_w>3agyWLpDs^#?VD4w!nm7UK`#oTG6TGD+@(u}HvpbF{7Bu8>3N^T(F_YR?gJA8|l{KqMK zyk)h(>@V_aF)(=sANn8U(RpC<&HvLk)TC?2(_Zqw$Z_C4d{1fX(`adn&X2<_N)!^# z`5x`{>-qBG6lLtBw>WD`?cn%sK|(_vvvRl_clel-iic{|yw^cV4(Jv6mE*J@4n=ut zqBfo6+3N7bS}nG_o-@>hR|S*}_anlx+SKE)q@8H3tL()4E@3XHs+4B#L?)QXkRMcg z+(a)&J!IvNELVaT@O2HzpH}M)ZCa0+*}YbE<=bhpnwc{_47iW)wXTTJG7c%t6YLeQ z!&q zc}pRjTfE-sh@5Xxx5rJwHzzYgxt;wvU6Mn-$EC=!%RZf2P|bOE7p2(Z4GU44yVRQW7Pf};|eLq2yY`e|iB{monSgI}&JY=NKCEAFF16`ZFzzO~S#7h%X_ z)nt{X12cR>g$i)nIQJ15 z#^YgCXNoMH+RA4;PbG^(p8Yhu$U=Mu#@f7WkEqyUT18Dtcg-$+-iK6i+(P>q@m)Gx zzQt~*DicVrOnin!SGN+mGnI|e@DL_|pHn$g6PD88`LVn21@fyR&iAtsWJK(_*6TBW(`dt`*! z3?VEoT9_v{AtJ^WCd%3$km86iq{2H8=uqOw@Dx3;GWjs>B7(gLmX$R8QP>6~Vw(QH zOzSTM&IdXxH&3l6+^NRd(PI;sGKh4}Y z7lZ^s_xr*d2fnb?fRGGC>W=UVVL`Agv^I*Tta^U#$eXY?`F`=-mrLs&wH+06Af(jh zvJku${@Hpr$S$$0b5Z;5WhWtg$G$bw5W&wHZ-o&*OYsP!n)FlsNAVta{wm&y>D8e1 zPSHstx{nmMV zO?dWC>tWdi{6$1g+{;3PueVD{aOVA_oIWkZ@T+a#1RXWjICr5m?Zc|~=*3BS#om!z z2--vmd!Y?7udR^Ut7HEfy88(%&zrbc{fOxHsU~o?+Ic2Te-O{(F#1E-y|dpv6I_9R zf4CCT_a_)QSWe|q65MI-uO6zJ8Q4?yrtSHv(aTtS3!+$Ga8vbJF9g@Id}NJ$;QVxq zd~`XW*Z{=snrkZ=k;Nd~H2p`EgxRzldRfR=Bo>s}s^2{BNc0~%VR6{HQCYixc?pr) z-_$KD?a{E(mJCXOYT{yW=L-4=HN#>UmaFqESGric_m;I9d!Ho9Z;ds0v=n8=CSmM8 zj8z9plI?{WrIdvF4Kq8l&3HtPRX?k{9*!yEeDxa+W`U~GJt}(NeQ6eu?D1a2$mgwr zPon=(p-YC@yIFsBfWHX&n4*Cu#1$4k&cIX9aFU5n61a5tjXzRrQ1;C4MS802>ar73 zb09a8Q}ywpg~!lB@1r|<%%MHaw1M&Wjq44nS@)&+*yk+!vBI_BsfofKo-+|&IgI`{Tzv|4rA(^%VBRtBESk5xmDvEVD} zhGOM0f4N6MMzrM76J#vxb_12vxNPNbe|JHvCTyk|s}45XwDH>Ce}h^KGvV;V8)Yibi5$ zv|koSYGA0|H(4iO613Ael?C@>aPhJ>(1l9n&nr`sQHONw;$vP3%!bioAu~Fh^S^~W z$kbL`&~T%OiK4ACW z`snJAgU6FQS{o*Ktl1LfkfxIfrS3zV?ZvZ{_qE{%FOTrq-k!zLFq^+ z>(_mS?2#der2A`-k4jO;8V>;HL5}G*%>i&b`y#hyE^2`&?|&|G@(i>^fQ=7NAm0x=Z3i z0oyp`e+}mUR+~DaalH2vq91Wx!S#LPU48@$P$f;FyK^7yPa)+R zR>}L0*J+2>4aImI{bn5dCSgg_of=rfwb%2iUaG?qzJ+I$HaDN@s^RxeCO5by_6+Z{dgDO;&zTuX$(Q=O9 z0yB&deEy#2$*3VO@5(Fo|)Db5%?G)VC+lJMbVcf zB%YXZIanS&>!eTMY_4yA((@N%{7EnLmVXL`>gh%pj{-9ES$zJ0+Cg+g^_r!vC_`AFAvxwYZk2GFv_o$_7o<>uNrG zki*0*+3K}^hB65H9*V~KgWrZPX`b^aDAa6Lhjc?Z2bme~y@yRJ8%a+~lp~Q`vkel6 z#)1~*o%ZE_OFhpu|Af`LhzX#xxkTwJ@g>~6j) zMyAv??BM;fLJl`LKU%gz&R88+&TDetxtGbz#mIEvJ73TDA!94U+Jzq0M;c6qMCoeY z-94xyhgLoHc|ZT~q+cc|9O`?qdx^ZB1>{zu)`>~(z19N8EPZCH^tJ5n>gvb9QDf6{ zuI7R7aavkcu4-mb4!ISK3prfxOU7k8KlejvruCEze0MT4Er?60J+fH}3CJ=wg{u8f zQBhD~y%Q_N_2?yRMkH@!iusGPcxB~_UF#tRIOsEEIb^uBUib}HcQ^`&N-|_g+}gZoS!79bIOE@^0D03C0jHSW z5q1wF)>T8+iN5Uij;dcgab?}e)PGS0T7anxep3Z%G2%kUdUp~0w%I!tc>lu~OKiS! z`d0R`qGFLCefawZN`80}d41idh2}As9Z|5~dPlP#7!06%6r`mGiqP5b_U~PM{ zgX$`I_=ms47^P@xNol2Vx|kcgNF*=$C2OXMdyLa@b5ng{Ug&sJ?gNd*03Jv;&zet@ zS4$ZQT3ANqo;8wdBj$;^^OfKMF*hBA+Z0fTJHt|_Ku$|Su)}m$r-s1$$B5qfZ`ad| z9dmyMSGGWi`V zlGg_F%_=h6^N_dbj`_ORqTe~}(RcIBbCOdshK;?85as~i@CBGJGr~<(8x+-Dpf$y7 z^yoGdvMg$*w zVZ|m^0}%}e?y$nWa~j2hS5QoIMGdXkMPLIE+k{~k zZad@csw}bS@9GT>Y6l;Dhd8A8i)}~RVwYZKCK|E(Bg~0*utl9@F zKe$WKHH|%cguVu~igvk_#I@&L$`ixjz|$W<;Z%fGAnli_FVK&90cr+;jS3}7b&mol zI2$^X2=v!b^bIvxEkLDS7wWYrU2fARp3=Wm=(@rGsRAbZ%uYMH&Oxo*3P-^AyT!)$ z4mGEe^XmS+a5Ri9jl7W_Y7?dTFGXFabZG7$SA!_&Jwt{43auTm^yBeg;nz3~u-aCz zS@38*gzTSDc!Nkeixt)isN*b{0T;7t8KOB-5>`*F1mfKRFK-UM`oY1W1F;cd%eciP z&y?4ZWfuKvM6wozZQ7MQ4-9@UPcDh+6I+1~Ia(A!2JHm~^joRAJ@6<3jD)hO(fi~C zcsG4q_TcZR^zVWbI^!$~A=Z&(r2XSWv!q3Anw31Idr8M>u4>P{U7_e^U&jc^gTc?n zxrlJtnyUz-u?gKYJB$kgm)wT*48||}xZ?i>RQU%G;=h6F!9aO0#-|`LL=d1}QrhrX zfk|h_u-)$ugl#QB@Y>>Om>~@bQpbrG{iZO&q3m}SL|G^-ou^)y+n`Y*Sg7=BKm9-+ z{M$z%D`Mua)J~${rR~1Yg+F@wx84$HKK?rJAla!3!K>!^6dmJvkj=pYXs?T&f9^Zn=h z`3CL*GrXJ-5RTPw5QP7HKVQSb>9d5HnW?eUpRekB>!uV))}1`w<1`))DrP4`kbfKX zp1_0}(i`2rNV~ZcDlebaO|MEgl%;P5zpXEvP&wdNVC3jauW&K-g2+k>w4Xr+&#^B zy+3<>csX)yf6kd4UDdsO1f8~5SEHSs<=lW@;a}@q78GF8$8GQKtRQL1Slyd>0itE3 zxMnEksH2U#>T@p-yG|JJ@H}-doa`C4E>jKdMS{*ESD#B;Q&9A+SRzBOUY+3rWiD?m zy)CwHVz{bDogFS`%pU6&X?$$~G~J6n?w-$F7FW)-`re-et8aXZZ0=Lce0+Uhn{<6$ zEw`6Py$ieVnOptOe0<%7^gBx1ZrlorUwL1RMjaD}bAmELn^Sf@d|NtQmv3!Gb{xPW&fd^v9bi7fbG|O^b_k zx!jb{GoPo9HETT5oJ4+Ek0)k{ooC{3Lv& z0yQ0-hP+_e8pq; zy{}m|M}1R1Jont530l?vrq<1py}r&rF>q*c=m!fY*!a zW~VV+;G_HtvtGSxJa-xi9rEF3>+QF9H=8YZRCtU4@KemYIb7+76nw@;)dzKu#u>DFzy7yW-7&^Y} z;p>(A;f>%KNdbT)x%yXr=BGNn!u}`6hw}Yvn)aw#F(P335z|{VY&lZYm)H8$&DMhN za)L~FzpA{sD;l||8unO;@PNZqmcta5=Hjz4in9}`C0Pg``Bes8ZZbkClbc9Z$faeH{L6yFGdA8 ztWukZia6OH^(ER)AiUa$@~u}k4FLnurdvXI9Y*t7*a|%kbCdqv-j=3q(cN?N9wEyGkbGR^A+)pffWxv~aQS(57>9nmu0*>lh6p%)D_~rR$ZD z@F_KGVJp5dt-fl%bp6aiXufMXWAA9b!Cg&2#V}%jeQa7jjDTE4Ctoe$lNwKH{TY+I+2Q`oFs^jxPe7VX`B;Z-2hp<iYlA9D*jr3KUNThArgyofg!5Sd*W}hXEakP?0_+zkb3^ z+#bVdJEV>C@1;!;s4A-94!WP<4zd$)M;y4LMzRIg?%xo^^YG0O&*?uIx ztNnBL&8>Qhl{2wTP5BNLE|E>a`vl-SdHUB3RkKB|kBr%*tGX!d25EzW}A6ow< z=_k}769y0*h5!z;`d3&F&=zTfRig1X&MFiS^7L<^&3Wwmbby8m<5*p^^-;I_$P!YZr5OAK;`_X?#%|M|6A;+VusDM_u7u%#Ek2g6wXsS z(4I|>kNEw}*<=cT>x$?p#rKtk%JmfQ<+eM;!RE?e-=={&j@=zT%jqN&zRT$`#;39F zrx&Et&l^vSRe*@%H!!3>`HykV&hSFzw>)@O@n?7m_M=RMa^(i0LyRcqym1WhS|pG2yfDEJG9_d2Z_r1z$ibbqB(4_lO6p;SyDSid%q!27IGy`ktyXJT5m3t=~&|=z%3LpLwxK; zJOedX4Odo;QR1`i&&N($vSMXbPDY{;=vIL-u-z57c!nO1gpyD6-1fy;4GS8DfW+{kb||N=Uv}^@1Z5TOL$f)ZXtrcctL6bpjCD z&&_yx-sa14*H`TA+D;UBsU1Oac3ASde|n0Q5X#u~xzc`~+5TSl)Bw=qB9<#-erj1d z<7OddvPA>l%yOi~s9kg^4!do%`gq>AtYjO-f3@!yvrSH@6`;1wBauw2+}R)J-B(|# z{C|YK19WBE)-4>{wr#s&+qUhbqKa+Xwr$%^#da#LN-B7}&bjx#@7({r_qW}$($d;a zAHDav)?8!GwdNeTa}TqaE#Pkyuop(n3fzi4Q-p2YimaFQ{Rj8Atul^o;mDX0Oqlnk z?z4!e;g@e}ZzF zKt2E=UV&0_oru4P}$5k2pZ#C>QZbP`mu!fQ1*55L%OH9 z>o7I9H`xVi)}-%YcI~UDH=XYuf(P~>G}`5IgQpH(o=41`y)MG&kW=HA9ar5~QTgpv zkMs6!5?|+pHcYymtL(Hqt`gXj@r71HePDh5hBNia1HPIJ>DB5ad~jrM{NAG&bCMHh z^&x8?`z~Lh(uZ^uhh{}7YGFys}NWBzUOi-nuQ zBE4c-!QsvNJ%Vb0`~>dB8YPCOM9z~x-j4!K(7Y&Iw^!dn;sW+vM7JC{#Cn{4S%E=m zeXKtI=5gA?YRV%I`tBO=NFn^%uJd}`Lfng_v-=)(PPRvn>V)%Ox9f&|sZGhw&V`~< zX9JmL6gPLron<4hF52Tyw_ibJ$*)rqYfe-}i}x8^@C9-a+B1Mk46zZ|m(N%f!{(^I8-m6%~Q9NtT+hToT zz_Zdk!MI!jIk_uX_hE8ZznvVl!+3s<0)23=f*+_PXK;f___f20job0V>3hIAYp=cg zM61B8txAdpLfD3*%Tvjr?Re+C@)*8Hcba^oh`wjVWsC>ml#GXpuTIBvj-)E*4Eb}b z9zJ-3Nb|K9SskLDF37jK7Y!(9PgNG7Z|%WcKu$RliC$aqdvXMD&)Uw_4`WyNhtwZW z>A%S%MTS~nuWA2smhkTqAZC-nLx3i}d2d~Z_0B>Kv zcz5VOfh2KHy&?@~uCef+d@zwTg%k0JKb>JE6qzg|y0T>+3Oa7RzdHS#7~B3a){dL> zQy2;L&`UOYf|(hDB2$Kx7%E)q3lYVUfBGXRQmC03lIUnN0k(>>sqF6nIPWC9diS&emf z3a6$T(4nk(G0No;ROI+|>$qt!K+_-X+2mKqDU9SDj|d~+2da$u!s)ykX!8{FW)21F zWiC3ekIPHH&Z&9L;#sNV-etE%LSjYS6Auk0t1|WzC*UP78l=YpoRflabI>kxm_?F) zw_kZ`^~7UTbw39jZR;~*8R+FU?a&@WZ z`t4@%>4jm#HV^f}V5i_=z;Z9e)$$|hqHWMu66Q8@r13xSd&-o+>8Y2>wC^-VG0nB4I18haUv~~&X4^SK*@o}27w386 z-R<|X^MqzgJ*l+PGDNZKNpH3+iiXNvaS$Qv*Eg52(4!@4h^*^FXB`jBi+K5l(HU&h zt!$rzEK(tU3LRCO;I-pQtCQ?frJ9r#9_;VOh@#hTrHixF-%O3JdViStPH$HDmA84* zjA=dRT9hu=zk=++{&LI2@P8W}eGi;^*^>jwosLy+?Z?Br^Rw%P0E{%lRt(Z+@iEfU zhe9GYzQelFX(c5>kKBDn93v@S_UbctLV)kHWvubhw)^@UO#EjC!nkbWARBj-(aY6_ zk4q_&P2@wVAhd(je%ApTFP{!VHe$%hGa{$q3d~wo&DS2UUhX>hdGPM!9YG^X`o5#K zL>YvB8u#nFJx0%~oOyNd{!{Q<$hVfTz9EowzWFb}bi<0f?F(_xpjaQRTQ@(X6m=n+ zQ~e!vS#lZZZudPq)-gJK?oZ2B9)$L!KK0`92@y^jgWlTZ9fNz z&H!^tyT_XwQUkR=jc#Jo)Kd;`LRm>O>Uth-;4JdBygt#POovJWWJF-J?247I5a^0h z9BupuTA88NO4q7+T!*+KVX8aFSN66v`QX5A+f6U7Xq1Lp=fBA_!V`%YR8tb#(Yk>d(@(Zl35NDK?{fYsRl=H!&qcf_ppB zU|U(X982<@oHvdKa-h%lj&6#-Pj@^9Z25ow|Fe^4i+afWy5-E?&WV8t8sL2h+s?TG zqm<+7K(dyHC|$_8CRgZpBgdEfsz1S?MMpy01nbg@_!Hs=p4+rVNv46fK3aRQ2N+^= zlxQnU|KWlwy1PETz6#J1JAjr@zL`;|+U}h!$@o26>wnd57?rToIbD zOMtQHK}A+{s$~0fo>r+E9n!pQ9t;8FT{Ps|)iW29Cis(W z*wo!E6y5AE#cMpu+ML;JSzZevZRRCyq1=XNc$S+wpiJ5jp_Ogw847%tHA-ZtVQr~B z)px492TODDq6dvCh@O-CHSFg#=(nkJH82h}&<=9^VQsN++wiAAW%{oBHCpF2MhI9u zkl&wIfud6b3NC8YN+ssJY|uIu_G`=-ZTMU|em%01F?L=pi+p$Uu#xk!0q;Im85z{E z8PrKqkg6r!_ZXs{sle3puu=E2Ne2y`4QTCQ2P!f%EcdcW+1P2?!4a$c>S41ng`+Uc za7WUJZM9=oM$kAuq+|2g)xx)PpWy(YxL-42p}CeI(6bMBy&T2R%}(3HJ`F5#D!93W zgoK_n*&Z}n2c4fOh*joArj>>yN)3583B&<5d%Aj1XIG8C@v*o)v6B7ivYJOHda)C#mWbus_-z6i$Ml z)QG2y#GZ>*-mTw_ufJaF2%S9oRx?9z zEzbl5wJhv{bIhdf-#yb0Bxo-%?iL0`BNJ&Z0)|E|hDyU|@6eAK;?fkbrv08M;Ff7&n@3W)>=zut-dTs0i1e;y8w z`H3x3gwqt$b%O9(KKy@%L<0VI$jfyLKuEW%ze4gnhb}i*{3~QO1QLm0ct3(%f3EUm z2{DL^HMI>o)+Y5+43bckN;;#c;T+m1oV^hQsi@%{X%NDCSE?(GD3GBgL}}fOee2+NM>%&Q!x8L1Ha%*;u4uy05c?LUuKU zc?f~J${0)^p#S3mov-OUu=iS`dajZL~C=i%+0e6fu z7Omipc{mVJ8{tu>2pH)O(f|}O2&xE}K2z45jJ0|kjBlVQ4RgS12}%TXGh>ptY`$lQ zHrOD9XjAeXwqQ6AF$gak@C|m6_eiB))1(bDRK|RVtra@f%Nj>86c0-Xw+*r;YY20Y zPWk{8vgX@(KIn5Tc@7LR5LRXYad|G!0^Ka7XnQ@p zFAPQz3UzR|{8M`V81oJ64x3@IbNUU#%D~t?ij5JS1c{TV-NO;*zxhaufEiP`GU#Z7 zi+{Ah69>l18ucOtd{Mz-Z4beYMhX~-gX1y$p}kmv1nggcjb(gcg(t4h)&8f!eE-i4 zCXY|@YwX_X>G>Wo@0-5$2FMDy^j*Gop52fH(1JlWrobWL<-hnE#(&TrSogh=s`$RQ zr-C~T7{!M}OyVZNz)xl+MW9aVB>jFCoFo_oItc-$;rlTZFyx;%fK2#7i|~7FWGHQJ zb4F({>>+j2yGg;BhpoGrt+$=6r(1F|EJOyX{9*6bAb^MPhd~A@E;`ae#1d|bDt$*<#|zQ>nC?mASTy>8>^hD1xrlH~NzO#g$#9T;1D173X3V zA!O4)cd>H`M4$dd_OyDPsiJX}MkD3%_LO$8AL3^(@~6J9G+Xa@bNw`1-#nJcPPYdO zTy0!De8Rwz!|2l3*44~b@YrtW7-6Roo)|f-{xg-2?}HbzzTfwu*z~o$cS%J3K4$$- zJ_5+YL}OL?V+it=bJ~ogjr$ZhY1?1Y&&A!oT2Z&J`%jz)Pg4pJqnH^OsTn7jI3{PC zK1?_swspHo7S^|~+}*y@Gdt6A9`7~Y?@HMo)$$X8XbjLe)a4Cb{w-{6w|DIa;0mVEx^0x$f67_|FkK>e9`63AmO-f7 z#j5keQ7{*Zpu1MHS5(gGP2|p?H<-vD4y`j)n7mADfvO|a_aoKsdrP+TNw6}?u<|Wn z4(&y!!8w(&8oG2C{7;n5HNw$-vdm;UkBy?+*O^N(kM}VaVPXBxk_)76-=yx3J5zqB zFV7I{m0S769N)-YlnI|Iu##Vj6-IKmzP=}7>^}kUhA-3dP+}Na=;>Hz7}-YW+k_Ja zecWU{-T|(qXZ2)c-M()Ae66YTv>R+S@>4R4>iI}q>@m|95Cb;wc;A?^g!v^OG|+Au zbWh7kRUv0Ek*)d-0X>N2m`C+$0v$ND`TwHl0^t}|f8d{b9Q?3lNL%4AFUhpeo*vBZ ziX?Z^o(}epV7Xt08sVuGG_1cW&${mk4F-`t5p~>oi|}j7Pyr9Z0#$0&D1p`>ho2Jp z{61Xuq4rM>>N?iQCY6-I%*NP4N5zy{l?2v^VerKVQpGp+5|~Zg@hkhyn_c`#vwC@z zu?(wQ+Gi!#%Jk8(I<-8I4~%8mtiSK_-omAxBHR2e7YL0iUr-JowbJoiQN2A_H?;@O z8T*K3-0WRqfqOaCEOfohA8vNB?QyN|4ZdC^un}$x-eUirTOXo8nC3B@ZbXPBGSw> zavD+Q3MiZ@P9e6UVY20@hQUTbbsgLSoj0~9>mQ8Qj=?DAeggEy5KD7LS>j9~wkDUC zOQ2#N;{7vxt8nv^a2ceT3t$Kq_yssBCTX@qT7?_MRLU?*fQZ7sF#aXtLQsV5j|c#( z|F?*kVbLa;9{s-sFy})rz|nRSm~R%bTp-O{g;4*Y<<8)T@2^TphSx(1zc7vG1jsSI z^b3{}X99zZN0|4fTe?$!1@QS3AA*fI(3eF*I=Dv=W(D4sSk;OD|%i?A#FAz=?R~Yj;`RBl6EpKwwB<`YNZv6GxZhDrvfG}JBP?d7xFf6^m%=wk zm2efWfdgAYGEA~IZoxzY&r5$1PnytnIBt`w%XCY4^Ph4OesydRT{TquZag=0CLCfHKai>9~jg8@Z ziR*%H973s_d-XJjk4iGj)eX-J^?YYz# zGAc&@dAQ@JA}T!QmjWBwd`L?5?c@GU(OvmpI#lvc0XjZh{;lIqeenfyuZe%B%d(!&oVMncj&8QI>j3NOo8A6_W-z_+&c53q&mnoDmT1Y7i^Jyt zY;7%X^zONbT`L`At7O_gjAUYmbMCJEiOVu)BN0QO{*L7mDzPyhe<}YX%u1iGuIpqVg1)E7r$!27=j%EEFq}xn!ezWD}lKlNnCRa&!7cNf1Io=v`+u`-TrM z{Yo@#TzyYboz`Cyv>~)uIgo3O zxfmgcu0uQnGMqgdiXPo&7-dpNh_;JiH5?v$7$=-v+kYiaiBqRqi5fDnLZ9ah$p(ui zfE``6lYW&=;6GfIEXE3|n?M^NjNzqX2%Tz8B*BTboMS-50Ai4}X;#Bigc}0Y-Sw)G zaasN-Y6hwzEV6IaEK(kaQR#7=CthXh?Q1A~)+igv#0Uj8hKCH+MzP_d8Rkw#KOkBa ztR}9Ir@WhJ!*2OuI>9b|DO9~LYUw$PQ$V7xK0jF-#cnJD0SF$0VfbXSJcD7QD$QhE znTEhKj1wwtD7P|cAH_a{2s(^|0M$aa>bT6|MrD&F3@}YZSwk)R5=*&7EmgOOif$N3 zJ~%a!-T0WYCO<_F(`Gmn&KQ0ehra(}tUQZ;wHys`RFx6mHJm+KzpZq~`G1qeL9_Yj z)%&8Z5g=VhME${Lua|Y6UAPaw=x3{T>T}EWHHZt6slqU}o4F!QU}l1hrjX*;!BH!i{8j!B|{CzH@e3ypE326WLIddqE68m;+Lz$4G%G&H}lXMr=moD zgr7&5aEpG~Nj6)#ZSxiauc`-!?xLL1s|q)nY^~HlDTWSB2cs;e6_p?PS|#OA zV}2_lj*fnURbH5&${cNRm@)Tdz&1bfPya=uz9urEA{OaIl^?k=C0TB~H+!0tI4xuU zL_#Hko-#e5C`KNHqN+5Ji>5|aPbGCqJmQHJ+Qj`6 ztSNv7&=a^-YUadzQ9!3|YzU$;XDp)T!u*q|^oL@T&i^K(`)XK>{qs9}8x>B9mT-9@nGx%Ds@2y)=|YvX{FeX&}sY z)KnWNf7TXuiYRHjW zvPiUyGePvGw1p#wEQlbd36e7n0A;{j@U)bf2Y_-?p~QbtCIR^;Wv=u&b6fq9OhXPu zv6whA1$1tHi-KQ~W{W(mqOry%+zb+g*_jxW&2M&7^%@_mA9yvN5LdYpwfR_L}m8BH8gI zyw6H*P(!SkfzyjOmgyk z3C;Ua1=shnX4{yj~~ly<&b zcSqX@w9v}>1x|4ATvS~fl|0)6B}8d_+aTVNXkRyU$8ih~1tA^;y6nfE(;yMtuNQxC zl-Mtx15)I8_ACsH`?n9@KVQ$KEjn8c6M(#&_N z;wb%58VUnYN~Q`>DzC^78t=%HK))jiZGomBy`ydXgh_@c$(2^Xxy2k73|b7J#O<+2 z7e~x1I&cJvA<6Z;d`Xnz*gnzT9XvGm6T0`(#uv?-bl*``(}{|+y5 z7(^V}O#t*I1A>=aZbgfjV%Kw7k`OhC_SaP;qErX>DGu*Z5CnELAkATm)^VZ3itaN+ zv|iv)5XiFcO{xD(^Dnzsr(EbX`lW|z_BZZE}H-K3(SsC3@uhO|v@Hb0{GI(ZMRTPb_U^5&| z9HpVfUXMXboJJ8eS$@NSU=xLHD`n`gtbfG?N}q`{J|)MC z#p6P&a45}Kx~AgTUgEw#6% z)ZC~L-hJ10I6u%@IDa~G-|``1tl-& z1HAN}_QSMeJ6r$|NZ{{4d=aU$caWyK!hr9F@eUJq;`rSbQB7;;aWO8xEE0zc_~#LS z7=m?VLI^P#TZE8H0!94-JwQxva-Y%q!>t~;EL?!-!;nWD*$=2>o=_Ne$Z?cGci6cL z@OLe;ACrl1#TX%9z%LOFF8@FO`RCj7CBHF4>zS1C<8m<^!svYN~NS3HhAv_D?Rj!_*T=A(Tl#v2}B!gB<8_CKVM2K*X=`r9$V zw}PrWNXpESmt>FA5S~vpu)iI{5~}Ss2NRoYwL_q5DH@-CyO8 zBqsbKfNbTnx=$t;31r^j(SK_33HTKh_a7w-zeE6&UQ+p7bGHD&0wQk%P|oOae}-^< z-+T$wN|25Iv`Ld0GCBP-cQRc~y1<%*IbY&WbD$km2&NcIGJ>uKg z9bTKMnE%oiW0~hgNAKlb5U{+<*PIgoOxYipvcF;UP$JcyG~2jiM~ch212AI^e!GX#j#E9-!#1E4Jm4qCNZ z5TWOsBwl25%CicY$#cy(W@fo%dP=AD1Bk(ubujYYxdPUYnbCq|pZIdmBwWrxUTH$0 z!Z~JkU9z#j!D=OYjSth!+>GBpvm7&$DQxxj{dr$N zUjO*FC?XkyHL{b~)AE!MEx``zBJ=^;#(CNY(>*WgISZIx z5mpFvy9ioXi-Y`r{9A>_ix4OI8RJ5=ISRAdK;iZ)Wa-nV$aAb4MOo8;PFj2`4(xas z?zp(PTQ|d5Sjh}wQfhxNmzt8KW{QgPPe@8YNbd7AXB34(CYmY>k1l9o?f_?yV^KH< za~jIS2G+0ZKj2wyh=sU2vN_baso|`QdbkPgmAI`yT@>Yyh}I^b7a;^)X(<<|(!s94 zMCn4!f}BxCo9?3DJ*h4e^0U(mvXhsw=v3sXq~V3RsdX*0ot3Fr<4NK5?LE_!TfH+Qp8G;irYT6M}Sk!6E-xaZL6|%DGp;XBp?rf(Yp2KP5>f zp<~1qm6aQ0N%PCApVTBX^F$!o#R%I))9$Hj`; zq!Ku9TlWkp3#10uENidjfOJtD5s)sjctNot9v2%-N}-MVPVcNewB+Y!L(x)hMJ0Y& z#+a1SNJh1|nj5`>!ft}XOHP`yQb|er7bgx@uV#O4DoW>g8_FUHSfGX6g(1YD@Eq2d zk$PK2dGjJiv<7g7RZ<~tW)W^`>RN38rDe^KzbT1|;vs3si@IWCABz@$g9aQtsVLu- zME?jR15|%`fC$4 zZX}hzKYHRqvg}BI9$_XXC$uUrF@=lY#eXJbl9#!)6gD0u7b>ESTkQ+SFY#mC0CR)? z^;t1PJ5mMZjyVXsPUs{I_V%qa7HlMK4k6RHwi$A$6pv8QZw?&mUK`Z7(XN%>}OOmB> z`f*_~138~VIHf7)>vOmvl3w_XEfyfYvbCeun8p2hQ<#qx{;eUUcX5X3uNjgi#*Kbr zc77D#sOqWSWU~acjkJCe0EXCeh?ulRXMK*Cc#$DWbO#|G-D13abE=s9m$k1O(ODTa zRdaNWF#sHrArFq+hCTwb8FXCD;!z0_!vr_0#74SA5;+u2(|zIk@!opL^JKKvrt$f> zE&q38+RK3f5_rJw<61}Sc{~gX1_5HNiyEC;M|^NY*q^!$0b+n@5D*Nlv^lCN66$;G z05QPX9CZaBl{|xQ#2b}8cN&za(WixofMF#`sXav^0hk7FQh{SiYI@EPYh3^!nIb_B zCC*uBx{N?zRNN&%X`1RC6wpN#OY(tXXtg8JH8RpE^GpO?)3MwR)sto6{fAI7Z?=cZ za~J8fF3>mg1iQzS=bt1J`&7nh9)|xz9d_U!bs|XrTb(T&KphuUkN^7x`hUPok6v98 zT+99jvd6%NeAtMV>-aY*7P|X;zoeYE&;P2;S0o^A&<6?xbPD}HDp|Rhxw=}}Tl}@o zszrU<`8yX{?{1l4`@T7JtCQ>@^*LGnjvR$8VDkZ>#&1A&kDQ5c1q!>Qn~@W#=IPg0 z==U$PeZ4NjV+xGf@b3BWDaQOTjDZV4qSUlB91ja?WwvidY)q-)kxbNv{5<~H-#S08 z5Bb>*>8&$>y^tu5kA2!()Ju{gsN4D@I^to#0&Oa|8-7)AqRKzI)QpxKMQUm*ieDR{ zfD5r)ZH>RwuaaErMsw4*usPf1NYSj>Xbb;5q<`dg(n%_zvq2c-K&HgOIw1<#P&Vu4 z{4nStZhw+@|AF3cIDL6Nv={CCQ(2=9jTCfsHcjZ_&st>ErF$!u*ga`i0`=d>1k4 z$JY2k>xpiC^3PQF0J@d+;nl%-d_L=SrFDVD#Z??_3HX%l3Xb^qJ3)lTRtd?SSZE%M zV3P)i^1ej$b`Wd1xxTmp1(eNad7=oF8Y^&x+KG-YOyl*V*}g%zO51Cr%8%=C{fwr! z`XEHQM{|-(;g=aNd4cShsmzt?sx}orL_?BZss<>=)}m+|Sw3#Xq%YNi_Be89 zO7R=;zLO5H$qycpC4x=3I>A6Q25I?t!$j03p0C`avBV@^U6?{}a_-*`NoD0(^t8h# zlJSR_Mjcsay7ip%463yKCTJ1h&V=`{X&~yJPli*s=atVEFUWJKxb*;TXWYY@xEu^R zbb`f_$C`4~{eskdABocv?B-%lTgch7D=(6ld|=(~_oPOmAoy8fR-^4&7h!#Vs5Z!T zLswCcnC#tA5w)cQz2zvONMAX}yZu<JW6LN;97Z=u;7KP90nx)+ht?-l`dih6o-y>-zGMOhn~QW2G+M$Hwug z*vC?Rj%%}qw2_{x#VH1Ftpl@&Bs-@!_S!3pY!N@#`xaB#n}XM>F+U`?sV%vma&{#K z6Wb6R*XBDY;8X6qq=aU)X9Pg3>m|3w4KwKcl%PeHBNMRt)<`qi5As>;-oImNhq4>J zE(=Iff4$$1wr5269Utrf<|+IhKp9_8j|=Iel!BsU_hn2=o&l*P#;B&NXIN2KnK;3S z5DK`|FPJu=8?KFh(_W)@Cl!NTuK7HUOw#3N^J0W5}^dHu<%#evoJNI`r~ zT(RSaGsCbaRbbc1!pH)levp5)Y)beeY};g%3W^sh1|#zdCi!}^Sichd6+t*WW|+jd zf~8UF6iIi4djdN;9}j)$>M30-1hhav`pDtC0Q-@>B^#seA0qVGhd7FXR4$&@}l`k}H&tpvkUT*{Pdu zb^I(DTdPMNqvwpB%_?}2!-&pT(K2Rg^De~U#a{w0r@bH5%?TbJvV<7J=HqnJ?jHP~ zj{WA&cQFB!<@^l;C>r%|$IJm$XjP4jZU3sxxt%&-|D6eM^vAbIsdW_A4Yr&4i-?O~7aZK0sQeBUB@m|-o(`3MbP}r^_lAy%gpK~w9pO5eO z+HGIy8Yx6+Xxe}D<2cd{f-)ET9Ptvq_DqGEP{+I=Nd%(qW*{GLwK8finNzi^r*`C2 zQNa3mSG#Sw>Y+zN4^>ha55{1@Ow@CvIUljm2~gab5ot!V=j4>VC;GSJ$G2=)Uh?d)! zv%W+s)4K42orjCHjs%`$A!DK-k{oP~j@uh(s?W}5a&ViMe)x_;kVu!PMl)kZ3Kl6i z9&P3ynRH!l3}DHKJ$iA_SQ4AFW!8{oTPh)$R0iEiXBkSRRneVA#ztqB1Fu&P%+k!a z?Yo0tPggi-1TL2~=mmsup9ksKkCwuz|R^F4@|AF17f zlVdDTtI|w!sK{fO0@Feq`~ZDL|x1qF-07T-$^iXGZ};z zoCjJni-G46i^Vkiv|b?{okjgtEHKp8RK6^=D#YLY0Eim za$xoT)IjPyT7KPhi|iD;TEAW`g-2-n2d`oLzbPOlxN4hqu~O0s>fuD|sd23eOnrJX*ExK9-H zXsQF*i~#LEAw~uv2r_Y%w8Xk&i_R12H^yy2*!R`#1*lCZIJ6SCYY-rp4}t{3-aTtN zycX!qmZ6*^N!mtV%q6Yuz5OoCy9AYjhKl;734-q!+Ca;BsCSdU)6KaPU7*1Tyo_RP;*7VHm=>+#CrSRKK;E?6J*yA#UC$#2FF-&g8imoHx(a(!BW#*_MY z{a&xy4El8ak)(z%>+;_34mK_w_&*=QD8<_0A;P4#fV{(lc+Y^Y6cuO;n#pk*$qPU+ z56E1H2wl!Zz!?Icf~y8@WQhaB{1F!M9rGrPb;8@3JR3M;om zlVoDr_ec2aH>l5(N{!o5Z3&CHmrbwYjfKFKGLxV^;thKe|6<6prrAzxaS}4MOQX#iQkN0Br{FAanm~kAMrBUl?&uQ@McjVS}!fs( zS;LFAHXnp>L09Stm7Rbp9CoiHHuuW9__{8j-uGbIC9`Rp@-E++u(r$p-p{ig+H7Rh zSoV8USg^CojoRflY+;#We|T4%C1B3`yQc#04=aoEGWu%isvo9aYmqm84_(^}ZgV=W zo47{8?jyS$MAKQ0SY4Ss2`MOi_@;7@n%vz% zv%I`YSt5RYZ&jfbfu$fBCw-Xib@c1n;2b%ocu+Ry^(aFjRgzk+3CD`E2?gb-oJkJ+ zg)e)~Ia_P^a+3d=xiY_(Hup0jIF7a^jf z*JE$*Wq_tX8y_wNrkoMV(C`?OU=5w=#))8q>76v6;|xxso7l zy5)c}k)gJNmbhIg@$jTifoi#Z^qU4$%(193-kyM@`u=bzci9(~1i_qzk*Dq35p~^& z4nJ1#9>~96aGVscYSg>N|ISd>n7w)PXvbNFKQ6&eX#%CAFOLOQ$<<6h87yPg1*>cO zGoyPcT{T%9s4<-y6iE2}RzT!;#VB_g<-we-%#oVx)gH5*fWs zXf6-Unsn_f~$kZrhs?%G!81e4H)w}cWe z!@Yd#mQ*n*^+nc~?-`zwWRHI_OXmTGCzOWfT!507JUBJxix-K=9S*Wnm*zvPU|o@b ziu2NPj0 zF-O=XV>G0M$RLe1r6PkP$PqJU3~e>&P)KWD0Le?$I9Vb$xefNAK}fr`x*EBC%bU=&=l$Hzpo4af<9e^t`vv*WTrAh0XRQoy!-D{1uc(0ECT=dS4tAP$wv1M;W_Eww z_G+RVU`p8;{@e-g+w=J9ICf$u_W?r4 z#v|V*CgtJ?<9#hIPx$lUMDPJAbPaPji5&4y&7J|#@x`sY? zn>?hh9VW}vIe2B`zjX0W9~+aGqz`pDHQ958;0#D>^$ky8P9uIq?nlK}=|3 zUwa4d4Ms`saEk8gl2d5v9pnm^VIV2TY+Ell12+Z`m?nYtIY%`!Fn>b-nRO@xi_>M!9{=fjNDs_HS<8;b2Qxd*( zS)6CtxH*$aS7)<3(9_COP->y?b3!I+mVdqW3E8PVim2Hc3I9asj=Us$H2lT4!|cu0 zST+gy>milo*ME)D;^)I6YyfjI5rFLOKVuGiH#=i9XTYq?pX_c%bKCxa3#(_hOfW%Q zw&>JWyv-9nKf>xjVA8~WPkvA8? zQE2MQs5E)LQ{JtAm&}N^<&EJCAAC$b(7a8qJF=Uun9-ocBlVseS#-zWGu4RLW0qDK zVGXf`RH@1@dSl^$IlNzV%U0YrQFrRD3#SaP*o%aPDd|MF2|=pcJQ8=JP&@#q&?I2f zP+YhgT~)7F8gNosDPSg5>$jAU%9y@%eh`i-5Dk}!oF--^aG*A3p`F7BFAwCF;pF1J zSWT7#=OmZ94prdjQt;oMea!IpX2*kOr1r}QqMD$svjCd~kF|`1agu^|Sfium{`Tv6 zrkET3>$d!+0QfG21jknFbwrQ4ZYAm)g2w*B`Rbzk2%m#tAp%m2go4c|xGs`ff^v6R zp5&!|3uU`xiGRaeXGss|SB0sDV^eCn5gGJNA(qy{E7o-F*4TOagkP}ViSL~y6*G!3 zDX6k$m&oKKv9rDUGZemY#>M9#7_uivRZ!5FX29Lktq7B9%P}ZLQrX3MF#jXkCcQl<=nks zWlGg+KMuNZee`LOaVXQEcG<{+#U zc@5~Qk$`MB#OW)=;nvCZbe2NlhR^pHrymOQCKz9KXL#;g^f-S*^+He>^qkZ4j-QIIO;x zCUX?i*ExksCCQ;?QW$+*N|nz^cm;Y2EnMZ+2;vA$#H zLo)!q+uAOMRt!!sn7!KGc<;@A*mjxY_CB>Q94j;!n!iW!hGv2THS-X9Z0?=1Z>e?U zs*=7!=Wqo&YwH-?2eJXNgqtjES~k}1wC#}Eg{6xQWE&4~mguHv`XBc)u1U})0m}l4* zEQ4Y?j6B-3%u2gEt{Q%u5}Ytpjm}B@@uq}2RFPR4c8gjSsAQg%Ut2r%SK-I~PmrJ~ z=+?5vNMt4ABMiT-Czm@+Q==J`a%57y-^riTd+G5MpGi){TO*Mz>||Z$$-hgla2*9A zRmY4RNqFgwG`F$F&jpP{!-7Ex;qz}J1y31*P$mb0GsBU1b?=1%X@fn&Sl+RI6$Jeb zvBr%SGl?4MW#%rB6H^6OtE9n&yA&*m!JOpNeHstLl7<#9%#`qQ#Lp6kR@4$djh%ie zshwBr=1w$A6K<$lsRNh#w2_cK>~(zr)AzeS>9jTzzmvg&I9I_LQg9GqIAtm6a(C_d zV_YK6OQ#hy(?r}pD(fmVf}G7nzx%G%ZEy6yj(QQH%t z-=@2_HN1Pe!zul;=(u?pEnL=@12#m6Kl2S@*_j zSNO{}YDd)@f%g#`*=DR=_#x|J{QJqim1&=If(7eVu}rpoG0*Vq6D}5?E^njGCY27~ zrgXLo?-x|L#FuE@H&^@Ya7ay`WyWvrd6DeG+nx$GTvu&aGm|r#Z(gTz9LtMYPy0H2 zHyY1R+{Z9s&(F$N>r1%j`7U2{vAZJfr8!f~J%QeTcO`q{?lpb%XL`fu^4nqC)*pKr zxWz98%Lg?W+&pmkX2tnrH~tSoYV7<4ry?7+)+rcPr{=ufbR%E%CZE~5gn2I>Jem`_ z_q6UM-uNe%`s1fg+@5y$*%Z!cZ|^G4X+H-%-&^>0 z`;xS@UYV)3nV+W2*}d%Cp6Y9FnhsU3Il67qC8O%fQs1|aRDV?6l{*;y{`2}NPdtK) zPrtg>E?4*D;?~!4)isZoEuUBS?B?@%^$UwnUz;9RmwJ2k`n^A|-L}40xjp;&x_-NR zpHJSa{cZpE&FRDOUu7(-)_kwH|1$qv&F{P4|EAYl)IWT*et+z*zy0?A7nK?w;GJTZ z5qpEBO|?b2DoXsYS#aaT508sV4|j>Zj9uN6Sozfv=an;s z)4%yz`FjUz?cRFm*8kvC=2q2LR(vmI@+_3oTYeS*4_q$Uz`v}CO)6tSBUa+SamTkq z_5t3EOd{anaSjH>MWc3{K4}i4UnPNG*;9 zwa(BDs8sWI_yJUU4>*p@4bu&z8yJrPjexZA!A*N~jU8>=!I?lM7l9fDQ8YdWioolh zjCQ;vx;g0cqzH483Ss6TO`@P{N1u2>Xb&ib zYDb%fK{o+?A_8GTQyJ6*lxYcc{ph2{2>qg!Q2pp*$mm9(_rDQF@HJrVjiVcY-qA%E z@C?NOY~5aTv(WpF2(#`tqB{oBlSDTKy{m;V str: + text = "\n".join(paragraph.text for paragraph in document.paragraphs) + for table in document.tables: + for row in table.rows: + text += "\n" + "\t".join(cell.text for cell in row.cells) + return text From 3bcf9647a125838b7da028f03a4dff9fd2d78918 Mon Sep 17 00:00:00 2001 From: bruce Date: Wed, 10 Jun 2026 23:56:20 +0800 Subject: [PATCH 7/9] =?UTF-8?q?docs(regulatory-info-package):=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=9D=90=E6=96=99=E5=8C=85=E7=94=9F=E6=88=90=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E5=86=B3=E7=AD=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/1.需求分析/5.第1章监管信息材料包生成.md | 14 +++-- docs/2.功能设计/5.第1章监管信息材料包生成.md | 31 +++++++--- .../3.数据库设计/5.第1章监管信息材料包生成.md | 15 ++++- docs/4.详细设计/5.第1章监管信息材料包生成.md | 56 +++++++++++++++---- docs/5.开发计划/5.第1章监管信息材料包生成.md | 45 +++++++++------ 5 files changed, 116 insertions(+), 45 deletions(-) diff --git a/docs/1.需求分析/5.第1章监管信息材料包生成.md b/docs/1.需求分析/5.第1章监管信息材料包生成.md index 091caff..0759e35 100644 --- a/docs/1.需求分析/5.第1章监管信息材料包生成.md +++ b/docs/1.需求分析/5.第1章监管信息材料包生成.md @@ -40,10 +40,11 @@ | 6 | 尽量多填 | 对说明书中可识别的产品名称、包装规格、预期用途、组成成分、储存条件、适用仪器、样本类型、检测靶标等字段尽量填入 | | 7 | 缺失项标记 | 系统新填入的缺失项使用 `/`,并设置黄色底色提醒负责人补充 | | 8 | LLM-only 标记 | 代码抽取未取到但 LLM 抽取到的字段,也需要在输出文件中高亮提示人工复核 | -| 9 | doc 能力增强 | `.doc` 文档需要具备与 `.docx` 等价的原始处理能力,不能只依赖预转换作为唯一方案 | -| 10 | zip 主输出 | 生成 `第1章 监管信息(预生成版).zip` 作为主下载入口,单文件作为辅助下载 | -| 11 | 对话唤起提示 | 在对话框底部增加本工作流的唤起提示词 | -| 12 | LLM 意图判断 | 触发判断不能只依赖固定关键词,需要引入 LLM 判断用户是否要生成第1章监管信息材料包 | +| 9 | 模板字段化 | 优先将样例模板整理为 Agent/代码可识别字段模板,使用内容控件 Tag 或稳定占位符,代码只填内容不手改格式 | +| 10 | doc 能力增强 | `.doc` 文档按能力驱动处理:有原生能力时优先原生写入,无原生能力时明确记录并允许 `.docx` 兜底,不静默输出未改写文件 | +| 11 | zip 主输出 | 生成 `第1章 监管信息(预生成版).zip` 作为主下载入口,单文件作为辅助下载 | +| 12 | 对话唤起提示 | 在对话框底部增加本工作流的唤起提示词 | +| 13 | LLM 意图判断 | 触发判断不能只依赖固定关键词,需要引入 LLM 判断用户是否要生成第1章监管信息材料包 | ### 2.2 非本期范围 @@ -444,5 +445,6 @@ | D9 | 需求分析文档新增为 `docs/1.需求分析/5.第1章监管信息材料包生成.md` | | D10 | zip 作为主入口,单文件作为辅助下载 | | D11 | 对话框底部增加工作流唤起提示词 | -| D12 | `.doc` 要实现与 `.docx` 等价能力,不能只依赖转换作为需求唯一方案 | -| D13 | 触发判断需要引入 LLM,不只依赖固定关键词 | +| D12 | 模板优先字段化,使用内容控件 Tag 或稳定占位符服务 Agent/代码填充,行标签定位仅作为兜底 | +| D13 | `.doc` 要按能力驱动实现与 `.docx` 等价能力;原生能力不可用时允许 `.docx` 兜底并明确提示 | +| D14 | 触发判断需要引入 LLM,不只依赖固定关键词 | diff --git a/docs/2.功能设计/5.第1章监管信息材料包生成.md b/docs/2.功能设计/5.第1章监管信息材料包生成.md index 348812b..11d158d 100644 --- a/docs/2.功能设计/5.第1章监管信息材料包生成.md +++ b/docs/2.功能设计/5.第1章监管信息材料包生成.md @@ -27,9 +27,10 @@ | 独立工作流 | 新增 `regulatory_info_package` 批次、节点和卡片 | | 单说明书输入 | 直接从当前对话 active 附件中选择唯一说明书;兼容最近成功文件汇总批次 | | 模板驱动 | 通过 YAML 配置维护 7 个模板、字段映射和生成策略 | +| 模板字段化 | 优先使用 Word 内容控件 Tag 或稳定占位符,让代码只写字段值,最大限度保留原格式 | | 规则 + LLM 并行抽取 | 代码抽取与 LLM 抽取并行,合并后写入模板 | | 待确认高亮 | 系统新填入的 `/`、LLM-only 字段、冲突字段均高亮 | -| `.doc` 等价处理 | 设计 `LegacyWordDocumentService`,提供与 `.docx` 一致的文档操作接口 | +| `.doc` 等价处理 | 设计 `LegacyWordDocumentService`,按能力驱动提供与 `.docx` 一致的文档操作接口;原生能力不可用时明确兜底 | | zip 主输出 | 扩展 `ExportedSummaryFile.ExportType.ZIP`,统一下载权限 | | LLM 意图路由 | 扩展路由 action,支持固定话术和 LLM 语义判断 | @@ -159,7 +160,7 @@ flowchart TD | 工作流状态 | `WorkflowNodeRun`、`WorkflowEvent` | 使用 `workflow_type=regulatory_info_package` | | 模板配置 | YAML | 便于维护 7 个模板和字段映射 | | `.docx` 操作 | `python-docx` | 表格、段落、run、底色和字体可控 | -| `.doc` 操作 | 适配器抽象 | Python 标准库不支持 `.doc` 二进制 Word 写入;设计为 COM/UNO/第三方库适配器 | +| `.doc` 操作 | 适配器抽象 | Python 标准库不支持 `.doc` 二进制 Word 写入;设计为 COM/UNO/第三方库适配器,能力不可用时使用可追溯的 `.docx` 兜底 | | zip 打包 | Python `zipfile` 标准库 | 标准库可满足打包需求 | | Excel 追溯 | `openpyxl` | 复用现有依赖 | | LLM | `review_agent.llm.generate_completion` | 统一模型调用 | @@ -281,10 +282,19 @@ templates: source_file: CH1.9 产品申报前沟通的说明.doc file_format: doc strategy: pre_submission - require_legacy_doc_native: true + prefer_legacy_doc_native: true + allow_docx_fallback: true include_in_zip: true ``` +字段映射优先级: + +| 目标类型 | 说明 | +| --- | --- | +| content_control_tag | 正式模板优先,代码按 Word 内容控件 Tag 写入 | +| placeholder | 过渡方案,替换稳定占位符并保留原 run/段落格式 | +| table_row_label | 未字段化模板的兜底方案,必须保留原单元格格式 | + ### 7.1 配置项说明 | 配置项 | 说明 | @@ -300,7 +310,8 @@ templates: | strategy | 生成策略 | | include_in_zip | 是否进入 zip | | fields | 字段映射与替换目标 | -| require_legacy_doc_native | `.doc` 是否要求原生处理能力 | +| prefer_legacy_doc_native | `.doc` 是否优先尝试原生处理能力 | +| allow_docx_fallback | 原生 `.doc` 能力不可用或失败时是否允许 `.docx` 兜底 | --- @@ -836,7 +847,8 @@ pytest tests/test_application_form_fill_*.py tests/test_file_summary_views.py te | 风险 | 说明 | 建议 | | --- | --- | --- | -| `.doc` 原生写入难度 | Python 标准库不支持 Word `.doc` 完整写入 | 优先调研 Word COM 或 LibreOffice UNO;设计适配器隔离风险 | +| `.doc` 原生写入难度 | Python 标准库不支持 Word `.doc` 完整写入 | 优先调研 Word COM 或 LibreOffice UNO;无原生能力时允许可追溯 `.docx` 兜底 | +| 模板字段化工作量 | 需要先把样例模板整理为代码可识别字段 | 优先覆盖 CH1.4、CH1.5 和声明类关键字段;缺少 Tag 时通过模板审计提前暴露 | | 样例模板文本碎片 | Word run 拆分可能导致简单字符串替换失败 | 文档写入服务需支持跨 run 替换 | | 产品列表结构复杂 | 说明书表格可能存在合并单元格和多规格 | 先覆盖目标说明书结构,再扩展通用表格归一化 | | 标准清单准确性 | 说明书未必包含标准号,知识库候选不能直接作为结论 | 候选全部高亮并进入追溯清单 | @@ -854,7 +866,8 @@ pytest tests/test_application_form_fill_*.py tests/test_file_summary_views.py te | D4 | 输入选择以 active 附件为主,兼容最近成功文件汇总批次 | | D5 | `ExportedSummaryFile.ExportType` 扩展 `zip` | | D6 | 采用 YAML 配置驱动 7 个模板 | -| D7 | `.doc` 通过 `LegacyWordDocumentService` 适配器实现与 `.docx` 等价接口 | -| D8 | 标准候选复用系统已有知识库/RAG,不新增独立 RAG | -| D9 | 前端只扩展现有对话页、工作流卡片、快捷提示和状态轮询 | -| D10 | 本轮先产出功能设计;数据库设计先在本文档中给出,后续可拆成正式数据库设计文档 | +| D7 | 模板字段优先使用内容控件 Tag 或稳定占位符,行标签定位仅作为兜底 | +| D8 | `.doc` 通过 `LegacyWordDocumentService` 适配器实现与 `.docx` 等价接口,原生能力不可用时允许可追溯兜底 | +| D9 | 标准候选复用系统已有知识库/RAG,不新增独立 RAG | +| D10 | 前端只扩展现有对话页、工作流卡片、快捷提示和状态轮询 | +| D11 | 本轮先产出功能设计;数据库设计先在本文档中给出,后续可拆成正式数据库设计文档 | diff --git a/docs/3.数据库设计/5.第1章监管信息材料包生成.md b/docs/3.数据库设计/5.第1章监管信息材料包生成.md index 4e0aba9..476329b 100644 --- a/docs/3.数据库设计/5.第1章监管信息材料包生成.md +++ b/docs/3.数据库设计/5.第1章监管信息材料包生成.md @@ -50,6 +50,8 @@ erDiagram 说明:`ra_workflow_node_run`、`ra_workflow_event`、`ra_exported_summary_file` 通过 `workflow_type` 与 `workflow_batch_id` 支持多工作流。本功能统一使用 `workflow_type=regulatory_info_package`。 +现状补充:当前通用节点表已有 `batch + node_code` 唯一约束主要服务文件汇总批次。RIP 批次不应强依赖 `FileSummaryBatch.batch`,因此实现时必须为 `workflow_type + workflow_batch_id + node_code` 增加数据库唯一约束,或在创建节点时使用同等幂等逻辑,避免同一 RIP 批次重复初始化节点。 + --- ## 三、表结构设计 @@ -211,6 +213,13 @@ erDiagram | node_group | regulatory_info_package | | batch_id | 可为空;如为兼容旧查询,不建议绑定文件汇总批次 | +幂等约束建议: + +| 约束/策略 | 字段 | 说明 | +| --- | --- | --- | +| uq_ra_node_workflow_batch_code | workflow_type, workflow_batch_id, node_code | 推荐新增数据库唯一约束,防止同一 RIP 批次重复节点 | +| get_or_create 幂等 | workflow_type, workflow_batch_id, node_code | 若暂不改通用表约束,节点初始化必须使用该组合做代码层幂等 | + 建议新增节点: ```text @@ -543,6 +552,7 @@ CREATE INDEX idx_ra_rip_batch_created | JSONField 默认值 | 使用 `default=list` 或 `default=dict`,禁止使用可变对象字面量 | | 外键删除策略 | conversation/user 使用 CASCADE;输入附件和文件汇总批次建议 PROTECT 或 SET_NULL,避免历史批次断链 | | `source_summary_item_id` | 当前没有强制外键到 `FileSummaryItem`,可先保存 ID,后续需要强约束时再改 FK | +| 工作流节点幂等 | RIP 节点不得只依赖 `WorkflowNodeRun.batch + node_code` 唯一约束;必须使用 `workflow_type + workflow_batch_id + node_code` 保证幂等 | | `.doc` 失败记录 | `.doc` 原生适配器不可用或执行失败时必须写入 `risk_notes` 和 artifact metadata;若 `.docx` 兜底成功则 generated_files 状态为 `fallback_success` | | zip 主入口 | zip 导出记录的 `export_category` 固定为 `regulatory_info_package` | | 单文件下载 | 7 个生成文件也写入 `ExportedSummaryFile`,作为辅助下载 | @@ -562,8 +572,9 @@ CREATE INDEX idx_ra_rip_batch_created | 6 | zip 导出 | `ExportedSummaryFile` 支持 `export_type=zip` | | 7 | 下载权限 | 非批次所属用户不能下载 RIP 导出 | | 8 | 节点事件 | `WorkflowNodeRun` 和 `WorkflowEvent` 可通过 `workflow_type=regulatory_info_package` 查询 | -| 9 | 通知记录 | 通知成功、失败和重试次数可落库 | -| 10 | JSON 摘要 | 缺失项、LLM-only、冲突项、风险提示结构符合本文约定 | +| 9 | 节点幂等 | 同一 `workflow_type + workflow_batch_id + node_code` 不会重复创建节点 | +| 10 | 通知记录 | 通知成功、失败和重试次数可落库 | +| 11 | JSON 摘要 | 缺失项、LLM-only、冲突项、风险提示结构符合本文约定 | --- diff --git a/docs/4.详细设计/5.第1章监管信息材料包生成.md b/docs/4.详细设计/5.第1章监管信息材料包生成.md index 2d4c3a8..a7998dd 100644 --- a/docs/4.详细设计/5.第1章监管信息材料包生成.md +++ b/docs/4.详细设计/5.第1章监管信息材料包生成.md @@ -27,11 +27,13 @@ | 独立工作流 | 使用 `workflow_type=regulatory_info_package`,拥有独立批次、产物、通知和卡片 | | 独立模块 | 新增 `review_agent/regulatory_info_package/`,与 `application_form_fill` 平级 | | 模型集中 | Django 模型仍集中放在 `review_agent/models.py` | +| 节点幂等 | `WorkflowNodeRun` 必须按 `workflow_type + workflow_batch_id + node_code` 幂等创建或加唯一约束 | | 输入优先级 | 用户消息指定文件名优先;其次 active 附件;再兼容最近成功文件汇总 | | 模板固定 | 固定处理第1章监管信息 7 个模板 | +| 模板字段化 | 生成逻辑优先写 Word 内容控件 Tag 或稳定占位符,不以手工调整表格格式为前提 | | 规则优先可演示 | 规则抽取可独立跑通;LLM 失败最多重试 3 次,失败后继续 | | 文档并发生成 | 工作流整体串行,`generate_docs` 节点内部每个文档可独立线程并发处理 | -| `.doc` 兜底 | 优先原生 `.doc` 写入;失败后允许生成 `.docx` 兜底文件 | +| `.doc` 兜底 | 能力驱动:有 Word COM/UNO 时优先原生 `.doc`;无原生能力或原生失败时允许生成 `.docx` 兜底文件 | | zip 只含成功文件 | zip 只打包成功或兜底成功的文件;失败文件不进入 zip | | 高亮规则 | 缺失和 LLM-only 黄底;冲突黄底红字 | | 追溯输出 | 用户下载 Excel;JSON 仅保存到后台 logs 目录 | @@ -91,7 +93,7 @@ review_agent/ | views.py | health、start、status、select-input 接口 | | input_select.py | 根据用户消息、active 附件、文件汇总选择说明书 | | template_config.py | YAML 加载、校验、hash | -| template_repository.py | 定位样例模板、复制到批次目录 | +| template_repository.py | 定位样例模板、复制到批次目录、审计字段 Tag/占位符 | | instruction_extract.py | 说明书段落、章节、表格和组成成分表解析 | | field_extract.py | 规则抽取与 LLM 抽取并行执行,LLM 最多 3 次重试 | | field_merge.py | 合并字段,输出缺失、LLM-only、冲突和高亮决策 | @@ -248,7 +250,8 @@ class TemplateSpec: file_format: str strategy: str include_in_zip: bool - require_legacy_doc_native: bool = False + prefer_legacy_doc_native: bool = False + allow_docx_fallback: bool = True fields: list[dict[str, Any]] = field(default_factory=list) ``` @@ -414,7 +417,31 @@ review_agent/regulatory_info_package/templates/regulatory_info_package_templates | code 唯一 | 防止覆盖产物 | | source_file 存在 | 缺失则配置错误 | | strategy 合法 | 必须命中生成策略 | -| doc 模板标记 | `.doc` 模板需声明 `require_legacy_doc_native` | +| doc 模板标记 | `.doc` 模板需声明 `prefer_legacy_doc_native`,并配置允许 `.docx` 兜底 | + +### 8.1 模板字段化约定 + +为避免生成时破坏 Word 表格、复选框、字号、缩进和合并单元格,本工作流优先使用字段化模板: + +| 方式 | 使用场景 | 说明 | +| --- | --- | --- | +| Word 内容控件 Tag | 正式模板优先 | 在 Word 中为产品名、申请人、复选框、日期、说明文字等填写区设置稳定 Tag,代码按 Tag 写入 | +| 稳定占位符 | 过渡方案 | 使用 `{{ product_name }}` 等不会影响版式的占位符,代码替换占位符所在 run | +| 行标签定位 | 兜底方案 | 仅用于未字段化的旧模板,必须保留原单元格、段落和 run 格式 | + +模板配置中的字段目标优先级: + +```yaml +targets: + - type: content_control_tag + tag: product_name + - type: placeholder + marker: "{{ product_name }}" + - type: table_row_label + label: 产品名称 +``` + +模板加载时必须执行字段审计:关键字段缺少 Tag/占位符时给出清晰错误或降级说明;不得静默使用会破坏格式的整格重建策略。 --- @@ -504,7 +531,9 @@ class DocumentAdapter(Protocol): | 方法 | 说明 | | --- | --- | | replace_text | 支持段落与表格中的文本替换,需处理 run 拆分 | -| fill_table_cell | 按行标签定位目标单元格 | +| fill_content_control | 按内容控件 Tag 填写文本、日期或复选框 | +| replace_placeholder | 按稳定占位符替换文本,保留占位符所在 run/段落格式 | +| fill_table_cell | 按行标签定位目标单元格,仅作为未字段化模板的兜底 | | replace_table | 重建 CH1.5 产品列表表格 | | apply_highlight | 使用 `w:shd` 设置黄色底色 | | apply_conflict_style | 黄色底色 + 红字 | @@ -528,10 +557,11 @@ class LegacyDocDocumentAdapter: 执行顺序: -1. 优先尝试 `WordComDocAdapter` 原生打开 `.doc` 并保存 `.doc`。 -2. 原生失败时,尝试将 `.doc` 另存为 `.docx`,再交给 `DocxDocumentAdapter`。 -3. 兜底成功时,输出 `CH1.9 产品申报前沟通的说明.docx`。 -4. 原生和兜底均失败时,该文件状态为 `failed`,不进入 zip。 +1. 执行能力探测:Word COM、LibreOffice UNO 或其他可写 `.doc` 能力。 +2. 有原生能力时优先尝试原生打开 `.doc` 并保存 `.doc`。 +3. 无原生能力或原生失败时,尝试生成同语义 `.docx` 兜底文件,再交给 `DocxDocumentAdapter`。 +4. 兜底成功时,输出 `CH1.9 产品申报前沟通的说明.docx`,状态为 `fallback_success`。 +5. 原生和兜底均失败时,该文件状态为 `failed`,不进入 zip。 兜底成功 `adapter_summary.doc`: @@ -693,6 +723,7 @@ class RegulatoryInfoPackageWorkflowExecutor: | --- | --- | | prepare | 确认说明书,或 waiting_user | | template_copy | 复制 7 个模板 | +| template_audit | 审计模板字段 Tag/占位符,记录缺失和降级策略 | | text_extract | 抽取说明书章节和表格 | | field_extract | 规则 + LLM 并行抽取 | | field_merge | 合并字段、高亮决策 | @@ -917,8 +948,8 @@ def notify_completion(batch: RegulatoryInfoPackageBatch, exports: list[ExportedS | --- | --- | | D1 | 详细设计文档路径为 `docs/4.详细设计/5.第1章监管信息材料包生成.md` | | D2 | 模型集中在 `review_agent/models.py`,业务模块为 `review_agent/regulatory_info_package/` | -| D3 | `.doc` 采用 A+C:优先 Word COM 原生处理,同时设计适配器层和能力探测 | -| D4 | `.doc` 原生失败时允许 `.docx` 兜底;兜底文件名为 `CH1.9 产品申报前沟通的说明.docx` | +| D3 | `.doc` 采用能力驱动策略:探测 Word COM/UNO 等原生能力,有能力时优先原生处理 | +| D4 | `.doc` 无原生能力或原生失败时允许 `.docx` 兜底;兜底文件名为 `CH1.9 产品申报前沟通的说明.docx` | | D5 | zip 只包含成功或兜底成功文件,失败文件不进入 zip | | D6 | LLM 最多重试 3 次,失败后使用规则结果继续 | | D7 | 缺失和 LLM-only 黄底,冲突黄底红字 | @@ -928,4 +959,5 @@ def notify_completion(batch: RegulatoryInfoPackageBatch, exports: list[ExportedS | D11 | 追溯 Excel 可下载,JSON 只放后台 logs | | D12 | 本期不新增字段级数据库表 | | D13 | 工作流串行,文档生成节点内部可多线程 | -| D14 | 本轮只产出详细设计,不写代码、不生成迁移 | +| D14 | 模板优先字段化,正式填充路径使用内容控件 Tag 或稳定占位符,行标签定位仅作为兜底 | +| D15 | 本轮只产出详细设计,不写代码、不生成迁移 | diff --git a/docs/5.开发计划/5.第1章监管信息材料包生成.md b/docs/5.开发计划/5.第1章监管信息材料包生成.md index 812aa03..88e071d 100644 --- a/docs/5.开发计划/5.第1章监管信息材料包生成.md +++ b/docs/5.开发计划/5.第1章监管信息材料包生成.md @@ -19,7 +19,9 @@ ## 一、开发计划目标 -本开发计划面向 Codex 执行,目标是把 `regulatory_info_package` 独立工作流按可验证、可回滚、可阶段提交的方式落地。计划以现有自动填表工作流 `application_form_fill` 为主要参考,但保持独立模块、独立批次、独立产物、独立通知和独立前端卡片。 +本开发计划面向 Codex 执行,目标是把 `regulatory_info_package` 独立工作流按可验证、可回滚、可阶段验收的方式落地。计划以现有自动填表工作流 `application_form_fill` 为主要参考,但保持独立模块、独立批次、独立产物、独立通知和独立前端卡片。 + +现状裁决:当前最新代码中尚未存在 `regulatory_info_package` 正式工作流,本计划按“新建正式材料包工作流”执行;不得把该功能并入或改造 `application_form_fill`。 开发完成后,用户可在对话中上传或指定产品说明书,并通过“根据说明书生成第1章监管信息”触发工作流。系统基于 `docs/0.原始材料/第1章 监管信息` 样例模板生成 7 个监管信息文件,以 `第1章 监管信息(预生成版).zip` 作为首位下载入口,同时提供单文件和追溯 Excel 辅助下载。 @@ -32,18 +34,20 @@ | 工作流独立 | 新增 `workflow_type=regulatory_info_package`,不并入 `application_form_fill` | | 模块独立 | 新增 `review_agent/regulatory_info_package/`,服务与自动填表平级 | | 模型集中 | Django 模型继续放在 `review_agent/models.py` | +| 节点幂等 | RIP 节点必须基于 `workflow_type + workflow_batch_id + node_code` 做幂等创建或数据库唯一约束 | | 单说明书输入 | 用户消息指定文件名优先,其次 active 附件,再兼容最近成功文件汇总 | | 多候选处理 | 不做选择弹窗,通过对话反问用户确认说明书文件名 | | 模板固定 | 固定处理第1章监管信息 7 个模板 | +| 模板字段化 | 优先把模板整理为 Agent/代码可识别的字段模板,使用内容控件 Tag 或稳定占位符;代码只填字段,不依赖手工改格式 | | 抽取策略 | 规则抽取和 LLM 抽取并行,LLM 最多重试 3 次,失败后规则结果继续 | | 文档生成 | 工作流节点串行,`generate_docs` 节点内部每个文档独立线程处理 | -| `.doc` 策略 | CH1.9 优先原生 `.doc` 写入,失败后允许 `.docx` 兜底 | +| `.doc` 策略 | CH1.9 能力驱动:探测到 Word COM/UNO 时优先原生 `.doc`,无原生能力时明确记录并允许 `.docx` 兜底 | | zip 策略 | zip 只包含成功或兜底成功文件,失败文件不进入 zip | | 高亮策略 | 缺失项 `/` 黄底;LLM-only 黄底;冲突黄底红字 | | 追溯策略 | 用户下载 Excel;JSON 只写后台 logs 目录 | | 前端策略 | 只做最小接入,不单独建设新页面或独立样式体系 | | TDD | 新行为先写失败测试,再实现 | -| Git 提交 | 每阶段验证通过后生成提交摘要并本地提交 | +| Git 提交 | 每阶段验证通过后生成提交摘要;是否本地提交由用户确认 | | 用户变更保护 | 不回滚、不覆盖用户已有未提交变更 | --- @@ -156,7 +160,7 @@ pytest tests/test_file_summary_views.py -k download | 目标 | 生成数据库迁移并覆盖基础模型行为 | | 修改范围 | `review_agent/migrations/`、`tests/` | | 验收标准 | migration 可应用;模型测试覆盖批次号、状态、artifact、通知、zip export type | -| Codex 执行提示 | 请生成迁移并新增 `tests/test_regulatory_info_package_models.py`,优先覆盖模型字段默认值和导出类型。 | +| Codex 执行提示 | 请生成迁移并新增 `tests/test_regulatory_info_package_models.py`,优先覆盖模型字段默认值、导出类型,以及 `WorkflowNodeRun` 在 RIP 批次下的幂等/唯一节点创建。 | ### RIP-1 阶段验证 @@ -182,10 +186,10 @@ pytest tests/test_regulatory_info_package_models.py tests/test_file_summary_view | 项 | 内容 | | --- | --- | -| 目标 | 配置 7 个样例模板、输出文件名、策略和 `.doc` 标记 | +| 目标 | 配置 7 个样例模板、输出文件名、策略、字段 Tag/占位符映射和 `.doc` 标记 | | 修改范围 | `review_agent/regulatory_info_package/templates/regulatory_info_package_templates_v1.yaml` | -| 验收标准 | 7 个模板完整;zip 名称为 `第1章 监管信息(预生成版).zip` | -| Codex 执行提示 | 请按详细设计录入模板配置,source_dir 指向样例目录,CH1.9 必须声明 `require_legacy_doc_native: true`。 | +| 验收标准 | 7 个模板完整;zip 名称为 `第1章 监管信息(预生成版).zip`;字段映射优先使用内容控件 Tag 或稳定占位符 | +| Codex 执行提示 | 请按详细设计录入模板配置,source_dir 指向样例目录,字段 targets 优先写 content_control_tag 或 placeholder;CH1.9 声明 `prefer_legacy_doc_native: true` 且允许 docx fallback。 | ### RIP-2-003 实现配置加载、模板仓库和存储目录 @@ -193,8 +197,17 @@ pytest tests/test_regulatory_info_package_models.py tests/test_file_summary_view | --- | --- | | 目标 | 实现 YAML 加载校验、模板复制、批次目录创建、路径安全检查 | | 修改范围 | `template_config.py`、`template_repository.py`、`storage.py` | -| 验收标准 | 配置错误可返回清晰错误;模板只复制到批次目录;不写原始材料目录 | -| Codex 执行提示 | 请实现配置加载和模板复制服务,所有路径必须校验位于批次工作目录内,原始模板目录只读。 | +| 验收标准 | 配置错误可返回清晰错误;模板只复制到批次目录;不写原始材料目录;能审计模板是否包含所需 Tag/占位符 | +| Codex 执行提示 | 请实现配置加载、模板复制和模板字段审计服务,所有路径必须校验位于批次工作目录内,原始模板目录只读。 | + +### RIP-2-004 模板字段化整理与审计 + +| 项 | 内容 | +| --- | --- | +| 目标 | 将样例模板升级为代码友好的字段模板,不手工改生成文件格式 | +| 修改范围 | `docs/0.原始材料/第1章 监管信息` 的模板副本或 `review_agent/regulatory_info_package/templates/field_manifest.yaml` | +| 验收标准 | CH1.4 关键字段、复选框、声明类产品名/申请人位置有稳定 Tag 或占位符;审计缺失字段时测试失败 | +| Codex 执行提示 | 请优先使用 Word 内容控件 Tag;若暂不具备内容控件编辑能力,则使用不会影响版式的稳定占位符,并在配置中记录字段与目标位置。 | ### RIP-2 阶段验证 @@ -380,8 +393,8 @@ pytest tests/test_regulatory_info_package_docx_writer.py tests/test_regulatory_i | --- | --- | | 目标 | 探测 Word COM、LibreOffice UNO 或可用兜底能力 | | 修改范围 | `services/legacy_doc_document.py` | -| 验收标准 | 当前环境无原生能力时返回清晰 capability,不崩溃 | -| Codex 执行提示 | 请先实现能力探测和接口骨架,Windows Word COM 可作为优先实现;不可用时进入 docx 兜底。 | +| 验收标准 | 当前环境无原生能力时返回清晰 capability,不崩溃;测试不要求本机必须安装 Word 或 LibreOffice | +| Codex 执行提示 | 请先实现能力探测和接口骨架,Windows Word COM/LibreOffice UNO 可作为原生能力;不可用时明确进入 docx 兜底。 | ### RIP-7-002 实现 CH1.9 原生写入与 docx 兜底 @@ -389,8 +402,8 @@ pytest tests/test_regulatory_info_package_docx_writer.py tests/test_regulatory_i | --- | --- | | 目标 | CH1.9 优先 `.doc` 输出,失败时生成同语义 `.docx` | | 修改范围 | `legacy_doc_document.py`、`package_generate.py` | -| 验收标准 | 原生成功状态 success;兜底成功状态 fallback_success;两者失败不进入 zip | -| Codex 执行提示 | 请把原生失败和兜底失败都写入 `adapter_summary` 和 `risk_notes`,不要静默转换。 | +| 验收标准 | 有原生能力时原生成功状态 success;无原生能力或原生失败但兜底成功时状态 fallback_success;两者失败不进入 zip | +| Codex 执行提示 | 请把能力探测、原生失败和兜底失败都写入 `adapter_summary` 和 `risk_notes`,不要静默转换。 | ### RIP-7-003 补充 doc 适配器测试 @@ -565,9 +578,9 @@ pytest tests/test_regulatory_info_package_models.py tests/test_regulatory_info_p | 用户变更保护 | 不得回滚或覆盖用户已有未提交变更 | | 过程日志 | 每阶段记录关键命令结果和既有失败 | | 阶段验证 | 每阶段完成后运行对应验证命令 | -| 阶段提交 | 每阶段验证通过后生成提交摘要并本地提交 | +| 阶段提交 | 每阶段验证通过后生成提交摘要;是否执行 `git commit` 由用户确认 | | 回归保护 | 文件汇总、法规核查、自动填表现有测试不得回归 | -| doc 风险隔离 | `.doc` 原生处理失败不得阻断其他 6 个 docx 文件生成 | +| doc 风险隔离 | `.doc` 原生能力不可用或原生处理失败不得阻断其他 6 个 docx 文件生成 | | 外部依赖隔离 | LLM、通知、Word COM 均需可 mock,测试不依赖真实外部服务 | | 下载安全 | 所有导出下载必须通过所属用户权限校验 | @@ -588,7 +601,7 @@ pytest tests/test_regulatory_info_package_models.py tests/test_regulatory_info_p 5. 不回滚、不覆盖用户已有未提交变更。 6. LLM、通知、Word COM 等外部能力必须可 mock。 7. 每阶段完成后运行该阶段验证命令。 -8. 验证通过后生成提交摘要并本地提交。 +8. 验证通过后生成提交摘要,是否本地提交等待用户确认。 9. 最后使用 docs/0.原始材料/目标产品说明书.docx 做端到端验收。 ``` From 1bf863437360ab29df3c9f17e89e0f4429b40a10 Mon Sep 17 00:00:00 2001 From: bruce Date: Wed, 10 Jun 2026 23:56:40 +0800 Subject: [PATCH 8/9] =?UTF-8?q?feat(regulatory-info-package):=20=E5=AE=8C?= =?UTF-8?q?=E5=96=84=E7=9B=AE=E5=BD=95=E9=A1=B5=E7=A0=81=E4=B8=8E=E7=BB=84?= =?UTF-8?q?=E6=88=90=E6=88=90=E5=88=86=E5=A1=AB=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../services/docx_document.py | 201 ++++++++++++------ .../services/field_extract.py | 36 ++++ .../services/package_generate.py | 122 ++++++++++- .../services/template_config.py | 5 +- .../clean/CH1.11.1 符合标准的清单.docx | Bin 37136 -> 44082 bytes .../templates/clean/CH1.11.5 真实性声明.docx | Bin 36951 -> 53461 bytes .../templates/clean/CH1.11.6 符合性声明.docx | Bin 36881 -> 41242 bytes .../clean/CH1.2 监管信息目录 - 页码版.docx | Bin 0 -> 40037 bytes .../templates/clean/CH1.2 监管信息目录.docx | Bin 37335 -> 0 bytes .../clean/CH1.4 申请表 - 复选框调整版.docx | Bin 0 -> 58034 bytes .../templates/clean/CH1.4 申请表.docx | Bin 37170 -> 0 bytes .../templates/clean/CH1.5 产品列表.docx | Bin 37224 -> 41629 bytes .../regulatory_info_package_templates_v1.yaml | 14 +- 13 files changed, 296 insertions(+), 82 deletions(-) create mode 100644 review_agent/regulatory_info_package/templates/clean/CH1.2 监管信息目录 - 页码版.docx delete mode 100644 review_agent/regulatory_info_package/templates/clean/CH1.2 监管信息目录.docx create mode 100644 review_agent/regulatory_info_package/templates/clean/CH1.4 申请表 - 复选框调整版.docx delete mode 100644 review_agent/regulatory_info_package/templates/clean/CH1.4 申请表.docx diff --git a/review_agent/regulatory_info_package/services/docx_document.py b/review_agent/regulatory_info_package/services/docx_document.py index e42d49e..c7b5629 100644 --- a/review_agent/regulatory_info_package/services/docx_document.py +++ b/review_agent/regulatory_info_package/services/docx_document.py @@ -1,5 +1,6 @@ from __future__ import annotations +import json import re from pathlib import Path @@ -20,6 +21,7 @@ def write_docx_from_template( merged_fields: dict[str, MergedField], *, template_code: str = "", + directory_page_numbers: dict[str, str] | None = None, ) -> tuple[int, int, int]: source = Path(source_path) output = Path(output_path) @@ -32,61 +34,19 @@ def write_docx_from_template( highlight_count = 0 missing_count = 0 llm_only_count = 0 - highlight_count, missing_count, llm_only_count = _insert_prefill_block(document, merged_fields) - highlight_count += _apply_known_template_replacements(document, merged_fields) + highlight_count += _apply_known_template_replacements(document, merged_fields, template_code=template_code) if template_code == "ch1_5_product_list": _rebuild_product_list_table(document, merged_fields) + if template_code == "ch1_2_directory": + _apply_directory_page_numbers(document, directory_page_numbers or {}) paragraph_counts = _replace_placeholders(document, replacements, merged_fields) highlight_count += paragraph_counts[0] missing_count += paragraph_counts[1] llm_only_count += paragraph_counts[2] - document.add_page_break() - heading = document.add_paragraph() - heading_run = heading.add_run("预生成字段") - heading_run.bold = True - table = document.add_table(rows=1, cols=4) - table.rows[0].cells[0].text = "字段" - table.rows[0].cells[1].text = "值" - table.rows[0].cells[2].text = "来源" - table.rows[0].cells[3].text = "待确认" - for field in merged_fields.values(): - cells = table.add_row().cells - cells[0].text = field.label - cells[1].text = field.value - cells[2].text = field.source - cells[3].text = "是" if field.needs_review else "否" - if field.highlight_reason != "none": - highlight_count += 1 - if field.highlight_reason == "missing": - missing_count += 1 - if field.highlight_reason == "llm_only": - llm_only_count += 1 document.save(output) return highlight_count, missing_count, llm_only_count -def _insert_prefill_block(document, merged_fields: dict[str, MergedField]) -> tuple[int, int, int]: - first = document.paragraphs[0] if document.paragraphs else document.add_paragraph() - marker = first.insert_paragraph_before("【预生成版】以下字段由系统根据说明书预填,黄色或红色标记项请人工复核。") - marker.runs[0].bold = True - highlight_count = 0 - missing_count = 0 - llm_only_count = 0 - for field in merged_fields.values(): - paragraph = marker.insert_paragraph_before("") - run = paragraph.add_run(f"{field.label}:{field.value}") - if field.highlight_reason != "none": - run.font.highlight_color = WD_COLOR_INDEX.YELLOW - highlight_count += 1 - if field.highlight_reason == "conflict": - run.font.color.rgb = RGBColor(255, 0, 0) - if field.highlight_reason == "missing": - missing_count += 1 - if field.highlight_reason == "llm_only": - llm_only_count += 1 - return highlight_count, missing_count, llm_only_count - - def _replace_paragraph_text(paragraph, text: str, field: MergedField) -> None: for run in paragraph.runs: run.text = "" @@ -97,6 +57,20 @@ def _replace_paragraph_text(paragraph, text: str, field: MergedField) -> None: run.font.color.rgb = RGBColor(255, 0, 0) +def _apply_directory_page_numbers(document, page_numbers: dict[str, str]) -> None: + for table in document.tables: + if not table.rows: + continue + header = [cell.text.strip() for cell in table.rows[0].cells] + if len(header) < 5 or header[0] != "RPS目录" or header[4] != "页码": + continue + for row in table.rows[1:]: + code = row.cells[0].text.strip() + if code in page_numbers: + row.cells[4].text = page_numbers[code] + return + + def _replace_placeholders( document, replacements: dict[str, MergedField], @@ -141,19 +115,26 @@ def _iter_paragraphs(document): yield from cell.paragraphs -def _apply_known_template_replacements(document, merged_fields: dict[str, MergedField]) -> int: +def _apply_known_template_replacements(document, merged_fields: dict[str, MergedField], *, template_code: str = "") -> int: product = _field_value(merged_fields, "product_name") applicant = _field_value(merged_fields, "applicant_name") today = timezone.localdate().strftime("%Y年%m月%d日") replacements = { + "xxxx年xx月xx日": today, + "XXXX年XX月XX日": today, + "xxxx 年 xx 月 xx 日": today, + "XXXX 年 XX 月 XX 日": today, + "2023年09月20日": today, + "2023 年 10 月": today[:8], + } + if not template_code.startswith("ch1_11"): + replacements.update({ "呼吸道合胞病毒、肺炎支原体核酸检测试剂盒(荧光PCR法)": product, "呼吸道合胞病毒、肺炎支原体核酸检测试剂盒": product, "呼吸道合胞病毒 、肺炎支产品名称: 原体核酸检测试剂盒(荧": f"产品名称:{product}", "光PCR法)": "", "卡尤迪生物科技宜兴有限公司": applicant, - "2023年09月20日": today, - "2023 年 10 月": today[:8], - } + }) changed = 0 for paragraph in document.paragraphs: changed += _replace_text_in_paragraph(paragraph, replacements, merged_fields) @@ -208,6 +189,8 @@ def _replace_text_in_paragraph(paragraph, replacements: dict[str, str], merged_f def _rebuild_product_list_table(document, merged_fields: dict[str, MergedField]) -> None: product = _field_value(merged_fields, "product_name") package_specification = _field_value(merged_fields, "package_specification") + component_table = _component_table_payload(merged_fields) + component_notes = _field_value(merged_fields, "component_notes") for paragraph in document.paragraphs: if "的包装规格、货号、组分及主要组成成分见下表" in paragraph.text: _replace_paragraph_text( @@ -215,27 +198,38 @@ def _rebuild_product_list_table(document, merged_fields: dict[str, MergedField]) f"{product}的包装规格、货号、组分及主要组成成分见下表:", merged_fields.get("product_name") or _plain_field("product_name", "产品名称", product), ) + if "规格A和规格B的区别" in paragraph.text and component_notes != "/": + _replace_paragraph_text( + paragraph, + component_notes, + merged_fields.get("component_notes") or _plain_field("component_notes", "主要组成成分备注", component_notes), + ) target = None for table in document.tables: header = [cell.text.strip() for cell in table.rows[0].cells] if table.rows else [] if header[:6] == ["包装规格", "货号", "组成", "组分", "主要组成成分", "规格/数量"]: target = table break - if target is None: - return - while len(target.rows) > 1: - target._tbl.remove(target.rows[-1]._tr) - specs = [item.strip() for item in package_specification.replace(";", ";").split(";") if item.strip()] - if not specs: - specs = ["/"] - for spec in specs[:8]: - cells = target.add_row().cells - cells[0].text = spec - cells[1].text = "/" - cells[2].text = _field_value(merged_fields, "composition") - cells[3].text = _field_value(merged_fields, "component_name") - cells[4].text = _field_value(merged_fields, "main_component") - cells[5].text = _field_value(merged_fields, "quantity") + specs = _component_specs(component_table) or [ + (spec, None) for spec in [item.strip() for item in package_specification.replace(";", ";").split(";") if item.strip()] + ] + if target is not None: + _clear_table_body(target) + if component_table: + _fill_product_component_table(target, component_table, specs) + else: + if not specs: + specs = [("/", None)] + for spec, _index in specs[:8]: + cells = target.add_row().cells + cells[0].text = spec + cells[1].text = "/" + cells[2].text = _field_value(merged_fields, "composition") + cells[3].text = _field_value(merged_fields, "component_name") + cells[4].text = _field_value(merged_fields, "main_component") + cells[5].text = _field_value(merged_fields, "quantity") + if component_table: + _rebuild_component_comparison_table(document, component_table, specs) def _field_value(merged_fields: dict[str, MergedField], key: str) -> str: @@ -247,3 +241,82 @@ def _field_value(merged_fields: dict[str, MergedField], key: str) -> str: def _plain_field(key: str, label: str, value: str) -> MergedField: return MergedField(key=key, label=label, value=value, source="rule", evidence="", confidence=0.0) + + +def _component_table_payload(merged_fields: dict[str, MergedField]) -> dict: + field = merged_fields.get("component_table") + if not field or not field.value or field.value == "/": + return {} + try: + payload = json.loads(field.value) + except json.JSONDecodeError: + return {} + if not isinstance(payload, dict): + return {} + rows = payload.get("rows") or [] + header = payload.get("header") or [] + if not isinstance(header, list) or not isinstance(rows, list): + return {} + return {"header": header, "rows": rows} + + +def _component_specs(component_table: dict) -> list[tuple[str, int]]: + header = component_table.get("header") or [] + specs: list[tuple[str, int]] = [] + for index, value in enumerate(header[2:], start=2): + label = str(value or "").strip() + if not label: + continue + label = label.replace("规格(", "").replace("规格(", "").rstrip("))") + specs.append((label, index)) + return specs + + +def _clear_table_body(table) -> None: + while len(table.rows) > 1: + table._tbl.remove(table.rows[-1]._tr) + + +def _fill_product_component_table(table, component_table: dict, specs: list[tuple[str, int]]) -> None: + rows = component_table.get("rows") or [] + for spec_label, spec_index in specs: + for row in rows: + cells = table.add_row().cells + cells[0].text = spec_label + cells[1].text = "/" + cells[2].text = "/" + cells[3].text = _row_value(row, 0) + cells[4].text = _row_value(row, 1) + cells[5].text = _row_value(row, spec_index or 0) + + +def _rebuild_component_comparison_table(document, component_table: dict, specs: list[tuple[str, int]]) -> None: + target = None + for table in document.tables: + header = [cell.text.strip() for cell in table.rows[0].cells] if table.rows else [] + if header and header[0] == "组分名称": + target = table + break + if target is None: + return + _clear_table_body(target) + header_cells = target.rows[0].cells + labels = ["组分名称", *[spec for spec, _index in specs[: len(header_cells) - 1]]] + while len(labels) < len(header_cells): + labels.append("备注") + for index, label in enumerate(labels[: len(header_cells)]): + header_cells[index].text = label + for row in component_table.get("rows") or []: + cells = target.add_row().cells + cells[0].text = _row_value(row, 0) + for cell_index, (_spec_label, spec_index) in enumerate(specs[: len(cells) - 1], start=1): + cells[cell_index].text = _row_value(row, spec_index) + for cell_index in range(len(specs[: len(cells) - 1]) + 1, len(cells)): + cells[cell_index].text = "/" + + +def _row_value(row, index: int) -> str: + if not isinstance(row, list) or index >= len(row): + return "/" + value = str(row[index] or "").strip() + return value or "/" diff --git a/review_agent/regulatory_info_package/services/field_extract.py b/review_agent/regulatory_info_package/services/field_extract.py index 4f0eb65..d2342d3 100644 --- a/review_agent/regulatory_info_package/services/field_extract.py +++ b/review_agent/regulatory_info_package/services/field_extract.py @@ -13,6 +13,11 @@ from review_agent.regulatory_info_package.schemas import InstructionExtractResul FIELD_PATTERNS = { "product_name": ("产品名称", r"产品名称[::\s]*([^\n\r]+)"), + "applicant_name": ("申请人名称", r"(?:申请人名称|注册人/售后服务单位名称|注册人名称|售后服务单位名称|生产企业名称)[::\s]*([^\n\r]+)"), + "manufacturer_name": ("生产企业名称", r"生产企业名称[::\s]*([^\n\r]+)"), + "applicant_address": ("申请人住所", r"(?:申请人住所|注册人住所|生产企业住所)[::\s]*([^\n\r]+)"), + "applicant_contact": ("申请人联系方式", r"(?:联系方式|联系电话|电话)[::\s]*([^\n\r]+)"), + "production_address": ("生产地址", r"生产地址[::\s]*([^\n\r]+)"), "storage_condition": ("储存条件", r"(?:储存条件|贮存条件|保存条件)[::\s]*([^\n\r]+)"), "intended_use": ("预期用途", r"预期用途[::\s]*([^\n\r]+)"), "package_specification": ("包装规格", r"(?:包装规格|规格)[::\s]*([^\n\r]+)"), @@ -47,6 +52,24 @@ def extract_fields_by_rules(instruction: InstructionExtractResult) -> dict[str, "confidence": 0.75, "source": "rule", } + component_table = _best_component_table(instruction.component_tables) + if component_table: + results["component_table"] = { + "label": "主要组成成分", + "value": json.dumps(component_table, ensure_ascii=False), + "evidence": "说明书【主要组成成分】表格", + "confidence": 0.86, + "source": "rule", + } + component_notes = _component_notes(instruction.sections) + if component_notes: + results["component_notes"] = { + "label": "主要组成成分备注", + "value": component_notes, + "evidence": "说明书【主要组成成分】段落", + "confidence": 0.8, + "source": "rule", + } return results @@ -133,3 +156,16 @@ def _parse_json_object(raw: str) -> dict: if start == -1 or end == -1: return {} return json.loads(text[start : end + 1]) + + +def _best_component_table(component_tables: list[dict]) -> dict: + if not component_tables: + return {} + return max(component_tables, key=lambda table: len(table.get("rows") or [])) + + +def _component_notes(sections: dict[str, str]) -> str: + for key, value in sections.items(): + if "主要组成" in key: + return value.strip() + return "" diff --git a/review_agent/regulatory_info_package/services/package_generate.py b/review_agent/regulatory_info_package/services/package_generate.py index 5fa0030..6b11ccc 100644 --- a/review_agent/regulatory_info_package/services/package_generate.py +++ b/review_agent/regulatory_info_package/services/package_generate.py @@ -1,7 +1,10 @@ from __future__ import annotations +import subprocess from concurrent.futures import ThreadPoolExecutor, as_completed from pathlib import Path +from zipfile import ZipFile +from xml.etree import ElementTree from review_agent.models import RegulatoryInfoPackageBatch from review_agent.regulatory_info_package.constants import GENERATED_FILE_FAILED @@ -18,9 +21,16 @@ def generate_package_documents( merged_fields: dict[str, MergedField], ) -> list[GeneratedFileResult]: specs = template_specs(config) - with ThreadPoolExecutor(max_workers=min(4, len(specs) or 1)) as executor: - futures = [executor.submit(_generate_one, batch, config, spec, merged_fields) for spec in specs] - return [future.result() for future in as_completed(futures)] + directory_specs = [spec for spec in specs if spec.code == "ch1_2_directory"] + content_specs = [spec for spec in specs if spec.code != "ch1_2_directory"] + results: list[GeneratedFileResult] = [] + with ThreadPoolExecutor(max_workers=min(4, len(content_specs) or 1)) as executor: + futures = [executor.submit(_generate_one, batch, config, spec, merged_fields) for spec in content_specs] + results.extend(future.result() for future in as_completed(futures)) + page_numbers = _directory_page_numbers(results) + for spec in directory_specs: + results.append(_generate_one(batch, config, spec, merged_fields, directory_page_numbers=page_numbers)) + return results def _generate_one( @@ -28,6 +38,8 @@ def _generate_one( config: dict, spec: TemplateSpec, merged_fields: dict[str, MergedField], + *, + directory_page_numbers: dict[str, str] | None = None, ) -> GeneratedFileResult: try: template_path = copy_template_to_batch(batch, config, spec) @@ -44,6 +56,7 @@ def _generate_one( output_path, merged_fields, template_code=spec.code, + directory_page_numbers=directory_page_numbers, ) actual_path = output_path actual_format = "docx" @@ -68,3 +81,106 @@ def _generate_one( status=GENERATED_FILE_FAILED, error_message=str(exc), ) + + +def _directory_page_numbers(results: list[GeneratedFileResult]) -> dict[str, str]: + page_numbers = {"CH1.2": "1"} + for result in results: + if result.status not in {"success", "fallback_success"} or not result.path: + continue + code = _directory_code_from_file_name(result.file_name) + if not code: + continue + page_numbers[code] = str(count_document_pages(result.path)) + return page_numbers + + +def _directory_code_from_file_name(file_name: str) -> str: + stem = Path(file_name).stem.strip() + return stem.split()[0] if stem.startswith("CH") else "" + + +def count_document_pages(path: str | Path) -> int: + file_path = Path(path) + if not file_path.exists(): + return 1 + pages = _count_pages_from_docx_properties(file_path) + if pages: + return pages + pages = _count_pages_with_pywin32(file_path) + if pages: + return pages + pages = _count_pages_with_powershell_word(file_path) + if pages: + return pages + return 1 + + +def _count_pages_from_docx_properties(file_path: Path) -> int: + if file_path.suffix.lower() != ".docx": + return 0 + try: + with ZipFile(file_path) as archive: + root = ElementTree.fromstring(archive.read("docProps/app.xml")) + namespace = {"ep": "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"} + pages = root.find("ep:Pages", namespace) + return max(int((pages.text or "").strip()), 1) if pages is not None else 0 + except Exception: + return 0 + + +def _count_pages_with_pywin32(file_path: Path) -> int: + try: + import win32com.client + + word = win32com.client.DispatchEx("Word.Application") + word.Visible = False + document = None + try: + document = word.Documents.Open(str(file_path.resolve()), ReadOnly=True) + document.Repaginate() + return max(int(document.ComputeStatistics(2)), 1) + finally: + if document is not None: + document.Close(False) + word.Quit() + except Exception: + return 0 + + +def _count_pages_with_powershell_word(file_path: Path) -> int: + script = r""" +param([string]$Path) +$word = $null +$doc = $null +try { + $word = New-Object -ComObject Word.Application + $word.Visible = $false + $doc = $word.Documents.Open($Path, $false, $true) + $doc.Repaginate() + [Console]::Out.Write($doc.ComputeStatistics(2)) + exit 0 +} catch { + [Console]::Error.Write($_.Exception.Message) + exit 1 +} finally { + if ($doc -ne $null) { $doc.Close($false) | Out-Null } + if ($word -ne $null) { $word.Quit() | Out-Null } +} +""" + try: + completed = subprocess.run( + ["powershell.exe", "-NoProfile", "-ExecutionPolicy", "Bypass", "-Command", script, str(file_path.resolve())], + capture_output=True, + check=False, + text=True, + timeout=8, + ) + except Exception: + return 0 + if completed.returncode != 0: + return 0 + try: + return max(int(completed.stdout.strip()), 1) + except ValueError: + return 0 diff --git a/review_agent/regulatory_info_package/services/template_config.py b/review_agent/regulatory_info_package/services/template_config.py index e700859..42475f9 100644 --- a/review_agent/regulatory_info_package/services/template_config.py +++ b/review_agent/regulatory_info_package/services/template_config.py @@ -32,8 +32,8 @@ def validate_template_config(config: dict) -> list[str]: if not source_dir.exists(): errors.append(f"模板源目录不存在:{source_dir}") templates = config.get("templates") or [] - if len(templates) != 7: - errors.append("第1章监管信息模板配置必须包含 7 个模板。") + if len(templates) != 6: + errors.append("第1章监管信息模板配置必须包含 6 个模板。") seen: set[str] = set() for template in templates: code = str(template.get("code") or "") @@ -51,4 +51,3 @@ def validate_template_config(config: dict) -> list[str]: if not output_name: errors.append(f"模板 {code} 缺少 output_name。") return errors - diff --git a/review_agent/regulatory_info_package/templates/clean/CH1.11.1 符合标准的清单.docx b/review_agent/regulatory_info_package/templates/clean/CH1.11.1 符合标准的清单.docx index c92ea895b6d8aba9eab70dffd2fd71a2a6b5fd40..dc874a5af56ce8f2e0b0c58a5272c57ee8051ec3 100644 GIT binary patch literal 44082 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 D0>kQ# literal 37136 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 diff --git a/review_agent/regulatory_info_package/templates/clean/CH1.11.5 真实性声明.docx b/review_agent/regulatory_info_package/templates/clean/CH1.11.5 真实性声明.docx index 332f518184220350bd25b34ed66991d4da84fd07..4fac204df80cf01be4dfd707153d82a9c46b42d3 100644 GIT binary patch literal 53461 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 literal 36951 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 K?D3!*!~*~dgz-uM diff --git a/review_agent/regulatory_info_package/templates/clean/CH1.11.6 符合性声明.docx b/review_agent/regulatory_info_package/templates/clean/CH1.11.6 符合性声明.docx index 59d05cdfa325411f43dbe3ce55cfd4712177dbd6..2b29f3f3aaf73e5543d83fe624e49fa8e104375a 100644 GIT binary patch literal 41242 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 literal 36881 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 diff --git a/review_agent/regulatory_info_package/templates/clean/CH1.4 申请表 - 复选框调整版.docx b/review_agent/regulatory_info_package/templates/clean/CH1.4 申请表 - 复选框调整版.docx new file mode 100644 index 0000000000000000000000000000000000000000..565a9b0930a2469cde4f8af2b758e632cc8e59ce GIT binary patch literal 58034 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%0Dwvu@u~*w5_& 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 literal 37224 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 Date: Wed, 10 Jun 2026 23:56:51 +0800 Subject: [PATCH 9/9] =?UTF-8?q?test(regulatory-info-package):=20=E8=A1=A5?= =?UTF-8?q?=E5=85=85=E6=A8=A1=E6=9D=BF=E7=94=9F=E6=88=90=E5=9B=9E=E5=BD=92?= =?UTF-8?q?=E8=A6=86=E7=9B=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/conftest.py | 8 + ...t_regulatory_info_package_field_extract.py | 54 +++++- ...egulatory_info_package_package_generate.py | 156 +++++++++++++++--- ...regulatory_info_package_template_config.py | 6 +- 4 files changed, 200 insertions(+), 24 deletions(-) create mode 100644 tests/conftest.py diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000..9912414 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,8 @@ +import pytest + + +@pytest.fixture(autouse=True) +def mock_regulatory_info_package_page_count(monkeypatch): + from review_agent.regulatory_info_package.services import package_generate + + monkeypatch.setattr(package_generate, "count_document_pages", lambda _path: 1) diff --git a/tests/test_regulatory_info_package_field_extract.py b/tests/test_regulatory_info_package_field_extract.py index 0d50569..b84754d 100644 --- a/tests/test_regulatory_info_package_field_extract.py +++ b/tests/test_regulatory_info_package_field_extract.py @@ -1,3 +1,5 @@ +import json + from review_agent.regulatory_info_package.schemas import InstructionExtractResult from review_agent.regulatory_info_package.services.field_extract import extract_fields_by_rules, run_parallel_extract @@ -18,6 +20,57 @@ def test_extract_fields_by_rules_finds_product_name_and_storage(): assert result["storage_condition"]["value"] == "2-8℃保存" +def test_extract_fields_by_rules_uses_registrant_or_manufacturer_for_applicant(): + instruction = InstructionExtractResult( + source_file_name="目标产品说明书.docx", + paragraphs=[ + "注册人/售后服务单位名称:卡尤迪生物科技宜兴有限公司", + "生产企业名称:卡尤迪生物科技宜兴有限公司", + "生产企业住所:宜兴经济技术开发区杏里路10号宜兴光电产业园4幢101室、102室", + "联系方式: 0510-80330909, 0510-80330919", + "生产地址:江苏省宜兴经济技术开发区杏里路10号宜兴光电产业园4幢102室", + ], + sections={}, + tables=[], + component_tables=[], + front_text="", + ) + + result = extract_fields_by_rules(instruction) + + assert result["applicant_name"]["value"] == "卡尤迪生物科技宜兴有限公司" + assert result["manufacturer_name"]["value"] == "卡尤迪生物科技宜兴有限公司" + assert result["applicant_address"]["value"] == "宜兴经济技术开发区杏里路10号宜兴光电产业园4幢101室、102室" + assert result["applicant_contact"]["value"] == "0510-80330909, 0510-80330919" + assert result["production_address"]["value"] == "江苏省宜兴经济技术开发区杏里路10号宜兴光电产业园4幢102室" + + +def test_extract_fields_by_rules_serializes_component_table_and_notes(): + instruction = InstructionExtractResult( + source_file_name="目标产品说明书.docx", + paragraphs=[], + sections={"【主要组成成分】": "表1 规格A大包装试剂盒组成成分\n注:不同批号试剂盒中各组分不得互换使用。"}, + tables=[], + component_tables=[ + { + "header": ["组分", "主要组成成分", "规格(24人份/盒)", "规格(48人份/盒)"], + "rows": [ + ["PCR反应液 I", "逆转录酶、Taq酶", "840μL/管×1管", "840μL/管×2管"], + ["阳性对照品", "含目的片段的假病毒", "600μL/管×2管", "1200μL/管×2管"], + ], + } + ], + front_text="", + ) + + result = extract_fields_by_rules(instruction) + payload = json.loads(result["component_table"]["value"]) + + assert payload["header"][0:2] == ["组分", "主要组成成分"] + assert payload["rows"][0][0] == "PCR反应液 I" + assert result["component_notes"]["value"] == "表1 规格A大包装试剂盒组成成分\n注:不同批号试剂盒中各组分不得互换使用。" + + def test_run_parallel_extract_keeps_rule_result_when_llm_fails(): instruction = InstructionExtractResult( source_file_name="目标产品说明书.docx", @@ -33,4 +86,3 @@ def test_run_parallel_extract_keeps_rule_result_when_llm_fails(): assert result["regex_results"]["product_name"]["value"] == "测试产品" assert result["llm_results"] == {} assert result["llm_error"] - diff --git a/tests/test_regulatory_info_package_package_generate.py b/tests/test_regulatory_info_package_package_generate.py index 6c47560..c1331a9 100644 --- a/tests/test_regulatory_info_package_package_generate.py +++ b/tests/test_regulatory_info_package_package_generate.py @@ -1,10 +1,13 @@ +import json import pytest from docx import Document from pathlib import Path from django.conf import settings +from django.utils import timezone from review_agent.models import Conversation, RegulatoryInfoPackageBatch from review_agent.regulatory_info_package.services.field_merge import merge_fields +from review_agent.regulatory_info_package.services import package_generate from review_agent.regulatory_info_package.services.package_generate import generate_package_documents from review_agent.regulatory_info_package.services.template_config import load_template_config @@ -18,7 +21,7 @@ def test_template_config_uses_clean_internal_templates(): assert source_dir == settings.BASE_DIR / "review_agent" / "regulatory_info_package" / "templates" / "clean" assert source_dir.exists() - assert len(config["templates"]) == 7 + assert len(config["templates"]) == 6 assert all((source_dir / item["source_file"]).exists() for item in config["templates"]) @@ -26,13 +29,12 @@ def test_clean_templates_expose_stable_fill_placeholders(): config = load_template_config() source_dir = Path(config["source_dir"]) expected_by_code = { - "ch1_2_directory": {"{{product_name}}", "{{applicant_name}}"}, + "ch1_2_directory": {"{{product_name}}"}, "ch1_4_application_form": {"{{product_name}}", "{{applicant_name}}"}, - "ch1_5_product_list": {"{{product_name}}", "{{package_specification}}"}, - "ch1_9_pre_submission": {"{{product_name}}", "{{applicant_name}}"}, - "ch1_11_1_standards": {"{{standard_no}}", "{{product_name}}"}, - "ch1_11_5_authenticity": {"{{product_name}}", "{{applicant_name}}"}, - "ch1_11_6_conformity": {"{{product_name}}", "{{applicant_name}}"}, + "ch1_5_product_list": {"{{product_name}}"}, + "ch1_11_1_standards": {"{{product_name}}"}, + "ch1_11_5_authenticity": {"{{product_name}}"}, + "ch1_11_6_conformity": {"{{product_name}}"}, } for item in config["templates"]: @@ -42,7 +44,29 @@ def test_clean_templates_expose_stable_fill_placeholders(): assert placeholder in text -def test_generate_package_documents_creates_seven_results(django_user_model, tmp_path): +def test_directory_template_includes_page_numbers(): + config = load_template_config() + source_dir = Path(config["source_dir"]) + item = next(template for template in config["templates"] if template["code"] == "ch1_2_directory") + document = Document(source_dir / item["source_file"]) + page_numbers = [row.cells[4].text.strip() for row in document.tables[0].rows[1:]] + + assert page_numbers == ["1", "1", "1", "1", "1", "1"] + + +def test_application_form_template_uses_real_checkbox_symbols(): + config = load_template_config() + source_dir = Path(config["source_dir"]) + item = next(template for template in config["templates"] if template["code"] == "ch1_4_application_form") + text = _document_text(Document(source_dir / item["source_file"])) + + assert "{{复选框}}" not in text + assert "{{}}" not in text + assert "☐" in text + assert "☑" in text + + +def test_generate_package_documents_creates_six_results(django_user_model, tmp_path): user = django_user_model.objects.create_user(username="owner", password="pass") conversation = Conversation.objects.create(user=user, title="会话") batch = RegulatoryInfoPackageBatch.objects.create( @@ -55,14 +79,55 @@ def test_generate_package_documents_creates_seven_results(django_user_model, tmp results = generate_package_documents(batch, load_template_config(), merged) - assert len(results) == 7 + assert len(results) == 6 assert all(result.status in {"success", "fallback_success"} for result in results), [ (result.template_code, result.status, result.error_message) for result in results ] assert all(result.path for result in results) -def test_generated_docx_has_visible_prefill_block_near_top(django_user_model, tmp_path): +def test_directory_is_generated_last_with_real_page_counts(django_user_model, tmp_path, monkeypatch): + user = django_user_model.objects.create_user(username="owner", password="pass") + conversation = Conversation.objects.create(user=user, title="会话") + batch = RegulatoryInfoPackageBatch.objects.create( + conversation=conversation, + user=user, + batch_no="RIP-20260610154010-abcdef", + work_dir=str(tmp_path), + ) + merged, _summary = merge_fields({"product_name": {"value": "测试产品", "label": "产品名称"}}, {}) + page_counts = { + "CH1.4 申请表.docx": 3, + "CH1.5 产品列表.docx": 5, + "CH1.11.1 符合标准的清单.docx": 2, + "CH1.11.5 真实性声明.docx": 4, + "CH1.11.6 符合性声明.docx": 6, + } + counted_files = [] + + def fake_count(path): + counted_files.append(Path(path).name) + return page_counts[Path(path).name] + + monkeypatch.setattr(package_generate, "count_document_pages", fake_count, raising=False) + + results = generate_package_documents(batch, load_template_config(), merged) + + assert results[-1].template_code == "ch1_2_directory" + assert set(counted_files) == set(page_counts) + directory = Document(results[-1].path) + directory_pages = {row.cells[0].text.strip(): row.cells[4].text.strip() for row in directory.tables[0].rows[1:]} + assert directory_pages == { + "CH1.2": "1", + "CH1.4": "3", + "CH1.5": "5", + "CH1.11.1": "2", + "CH1.11.5": "4", + "CH1.11.6": "6", + } + + +def test_generated_docx_does_not_add_prefill_or_audit_blocks(django_user_model, tmp_path): user = django_user_model.objects.create_user(username="owner", password="pass") conversation = Conversation.objects.create(user=user, title="会话") batch = RegulatoryInfoPackageBatch.objects.create( @@ -74,12 +139,15 @@ def test_generated_docx_has_visible_prefill_block_near_top(django_user_model, tm merged, _summary = merge_fields({"product_name": {"value": "测试产品", "label": "产品名称"}}, {}) results = generate_package_documents(batch, load_template_config(), merged) - docx_result = next(result for result in results if result.template_code == "ch1_2_directory") - document = Document(docx_result.path) - first_text = "\n".join(paragraph.text for paragraph in document.paragraphs[:8]) + for result in results: + document = Document(result.path) + text = _document_text(document) - assert "预生成版" in first_text - assert "测试产品" in first_text + assert "预生成版" not in text + assert "预生成字段" not in text + assert "component_table" not in text + assert '"header"' not in text + assert "测试产品" in text def test_generated_docx_replaces_sample_case_content(django_user_model, tmp_path): @@ -141,13 +209,18 @@ def test_generated_docs_fill_clean_template_body(django_user_model, tmp_path): result = next(item for item in results if item.template_code == code) text = _document_text(Document(result.path)) assert "甲型流感病毒核酸检测试剂盒" in text - assert "星河医疗科技有限公司" in text + if code == "ch1_4_application_form": + assert "星河医疗科技有限公司" in text assert "{{" not in text assert "}}" not in text - standards = next(item for item in results if item.template_code == "ch1_11_1_standards") - standards_text = _document_text(Document(standards.path)) - assert "GB/T 29791.1-2013" in standards_text + today = timezone.localdate().strftime("%Y年%m月%d日") + for code in ["ch1_11_1_standards", "ch1_11_5_authenticity", "ch1_11_6_conformity"]: + result = next(item for item in results if item.template_code == code) + text = _document_text(Document(result.path)) + assert today in text + assert "xxxx年xx月xx日" not in text + assert "星河医疗科技有限公司" not in text product_list = next(item for item in results if item.template_code == "ch1_5_product_list") product_text = _document_text(Document(product_list.path)) @@ -155,6 +228,51 @@ def test_generated_docs_fill_clean_template_body(django_user_model, tmp_path): assert "48人份/盒" in product_text +def test_product_list_uses_component_table_from_instruction(django_user_model, tmp_path): + user = django_user_model.objects.create_user(username="owner", password="pass") + conversation = Conversation.objects.create(user=user, title="会话") + batch = RegulatoryInfoPackageBatch.objects.create( + conversation=conversation, + user=user, + batch_no="RIP-20260610154400-abcdef", + work_dir=str(tmp_path), + ) + component_payload = { + "header": ["组分", "主要组成成分", "规格(24人份/盒)", "规格(48人份/盒)"], + "rows": [ + ["PCR反应液 I", "逆转录酶、Taq酶", "840μL/管×1管", "840μL/管×2管"], + ["阳性对照品", "含目的片段的假病毒", "600μL/管×2管", "1200μL/管×2管"], + ], + } + merged, _summary = merge_fields( + { + "product_name": {"value": "新型冠状病毒核酸检测试剂盒", "label": "产品名称"}, + "package_specification": {"value": "24人份/盒;48人份/盒", "label": "包装规格"}, + "component_table": { + "value": json.dumps(component_payload, ensure_ascii=False), + "label": "主要组成成分", + }, + "component_notes": { + "value": "注:不同批号试剂盒中各组分不得互换使用。", + "label": "主要组成成分备注", + }, + }, + {}, + ) + + results = generate_package_documents(batch, load_template_config(), merged) + product_list = next(result for result in results if result.template_code == "ch1_5_product_list") + document = Document(product_list.path) + text = _document_text(document) + + assert "PCR反应液 I" in text + assert "840μL/管×1管" in text + assert "840μL/管×2管" in text + assert "注:不同批号试剂盒中各组分不得互换使用。" in text + assert "RSV&MP" not in text + assert "6018003102" not in text + + def _document_text(document: Document) -> str: text = "\n".join(paragraph.text for paragraph in document.paragraphs) for table in document.tables: diff --git a/tests/test_regulatory_info_package_template_config.py b/tests/test_regulatory_info_package_template_config.py index 506f9ab..ed4e132 100644 --- a/tests/test_regulatory_info_package_template_config.py +++ b/tests/test_regulatory_info_package_template_config.py @@ -10,17 +10,16 @@ from review_agent.regulatory_info_package.services.template_config import ( ) -def test_template_config_loads_seven_templates(): +def test_template_config_loads_six_templates(): config = load_template_config() assert config["version"] == "regulatory_info_package_templates_v1" assert config["zip_name"] == DEFAULT_ZIP_NAME - assert len(config["templates"]) == 7 + assert len(config["templates"]) == 6 assert {template["code"] for template in config["templates"]} == { "ch1_2_directory", "ch1_4_application_form", "ch1_5_product_list", - "ch1_9_pre_submission", "ch1_11_1_standards", "ch1_11_5_authenticity", "ch1_11_6_conformity", @@ -45,4 +44,3 @@ def test_template_config_sources_exist(): assert source_dir.exists() for template in config["templates"]: assert (source_dir / template["source_file"]).exists() -