From 4af9ef70a123d408f1ee1a4008a85ccbda18f1f7 Mon Sep 17 00:00:00 2001 From: "Shine.Wang" Date: Fri, 4 Jul 2025 14:45:33 +0800 Subject: [PATCH 01/43] fix spell mistake --- .../base/task/worker/acc_testing_worker.py | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/data_chain/apps/base/task/worker/acc_testing_worker.py b/data_chain/apps/base/task/worker/acc_testing_worker.py index 45ae927..0851666 100644 --- a/data_chain/apps/base/task/worker/acc_testing_worker.py +++ b/data_chain/apps/base/task/worker/acc_testing_worker.py @@ -180,31 +180,31 @@ class TestingWorker(BaseWorker): bac_info=bac_info ) llm_answer = await llm.nostream([], prompt, question) - sub_socres = [] + sub_scores = [] pre = await TokenTool.cal_precision(question, answer, llm) if pre != -1: - sub_socres.append(pre) + sub_scores.append(pre) rec = await TokenTool.cal_recall(answer, llm_answer, llm) if rec != -1: - sub_socres.append(rec) + sub_scores.append(rec) fai = await TokenTool.cal_faithfulness(question, llm_answer, bac_info, llm) if fai != -1: - sub_socres.append(fai) + sub_scores.append(fai) rel = await TokenTool.cal_relevance(question, llm_answer, llm) if rel != -1: - sub_socres.append(rel) + sub_scores.append(rel) lcs = TokenTool.cal_lcs(answer, llm_answer) if lcs != -1: - sub_socres.append(lcs) + sub_scores.append(lcs) leve = TokenTool.cal_leve(answer, llm_answer) if leve != -1: - sub_socres.append(leve) + sub_scores.append(leve) jac = TokenTool.cal_jac(answer, llm_answer) if jac != -1: - sub_socres.append(jac) + sub_scores.append(jac) score = -1 - if sub_socres: - score = sum(sub_socres) / len(sub_socres) + if sub_scores: + score = sum(sub_scores) / len(sub_scores) test_case_entity = TestCaseEntity( testing_id=testing_entity.id, question=question, -- Gitee From c2a86bbf9e5aec41cf1405d4a09c06153d93681c Mon Sep 17 00:00:00 2001 From: "Shine.Wang" Date: Wed, 16 Jul 2025 12:02:39 +0800 Subject: [PATCH 02/43] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E9=98=9F=E5=88=97Mongo?= =?UTF-8?q?DB=E8=BF=81=E7=A7=BBpg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/task/worker/acc_testing_worker.py | 6 +- .../base/task/worker/export_dataset_worker.py | 6 +- .../worker/export_knowledge_base_worker.py | 6 +- .../task/worker/generate_dataset_worker.py | 6 +- .../base/task/worker/import_dataset_worker.py | 6 +- .../worker/import_knowledge_base_worker.py | 6 +- .../base/task/worker/parse_document_worker.py | 6 +- data_chain/apps/service/task_queue_service.py | 39 +++++++------ data_chain/manager/task_queue_mamanger.py | 58 +++++++++++-------- data_chain/stores/database/database.py | 17 ++++++ 10 files changed, 93 insertions(+), 63 deletions(-) diff --git a/data_chain/apps/base/task/worker/acc_testing_worker.py b/data_chain/apps/base/task/worker/acc_testing_worker.py index 0851666..48f74c9 100644 --- a/data_chain/apps/base/task/worker/acc_testing_worker.py +++ b/data_chain/apps/base/task/worker/acc_testing_worker.py @@ -28,7 +28,7 @@ from data_chain.manager.testing_manager import TestingManager from data_chain.manager.testcase_manager import TestCaseManager from data_chain.manager.qa_manager import QAManager from data_chain.manager.task_queue_mamanger import TaskQueueManager -from data_chain.stores.database.database import TaskEntity, QAEntity, DataSetEntity, DataSetDocEntity, TestingEntity, TestCaseEntity +from data_chain.stores.database.database import TaskEntity, QAEntity, DataSetEntity, DataSetDocEntity, TestingEntity, TestCaseEntity, TaskQueueEntity from data_chain.stores.minio.minio import MinIO from data_chain.stores.mongodb.mongodb import Task from data_chain.config.config import config @@ -431,11 +431,11 @@ class TestingWorker(BaseWorker): await TestingWorker.generate_report_and_upload_to_minio(dataset_entity, testing_entity, testcase_entities, tmp_path) current_stage += 1 await TestingWorker.report(task_id, "生成报告并上传到minio", current_stage, stage_cnt) - await TaskQueueManager.add_task(Task(_id=task_id, status=TaskStatus.SUCCESS.value)) + await TaskQueueManager.add_task(TaskQueueEntity(id=task_id, status=TaskStatus.SUCCESS.value)) except Exception as e: err = f"[TestingWorker] 任务失败,task_id: {task_id}, 错误信息: {e}" logging.exception(err) - await TaskQueueManager.add_task(Task(_id=task_id, status=TaskStatus.FAILED.value)) + await TaskQueueManager.add_task(TaskQueueEntity(id=task_id, status=TaskStatus.FAILED.value)) await TestingWorker.report(task_id, "任务失败", 0, 1) @staticmethod diff --git a/data_chain/apps/base/task/worker/export_dataset_worker.py b/data_chain/apps/base/task/worker/export_dataset_worker.py index 8d9b081..082326a 100644 --- a/data_chain/apps/base/task/worker/export_dataset_worker.py +++ b/data_chain/apps/base/task/worker/export_dataset_worker.py @@ -23,7 +23,7 @@ from data_chain.manager.chunk_manager import ChunkManager from data_chain.manager.dataset_manager import DatasetManager from data_chain.manager.qa_manager import QAManager from data_chain.manager.task_queue_mamanger import TaskQueueManager -from data_chain.stores.database.database import TaskEntity, DocumentEntity, DocumentTypeEntity, QAEntity, DataSetEntity, DataSetDocEntity +from data_chain.stores.database.database import TaskEntity, DocumentEntity, DocumentTypeEntity, QAEntity, DataSetEntity, DataSetDocEntity, TaskQueueEntity from data_chain.stores.minio.minio import MinIO from data_chain.stores.mongodb.mongodb import Task @@ -190,11 +190,11 @@ class ExportDataSetWorker(BaseWorker): await ExportDataSetWorker.upload_file_to_minio(task_id, zip_path) current_stage += 1 await ExportDataSetWorker.report(task_id, "上传文件到minio", current_stage, stage_cnt) - await TaskQueueManager.add_task(Task(_id=task_id, status=TaskStatus.SUCCESS.value)) + await TaskQueueManager.add_task(TaskQueueEntity(id=task_id, status=TaskStatus.SUCCESS.value)) except Exception as e: err = f"[ExportDataSetWorker] 任务失败,task_id: {task_id}, 错误信息: {e}" logging.exception(err) - await TaskQueueManager.add_task(Task(_id=task_id, status=TaskStatus.FAILED.value)) + await TaskQueueManager.add_task(TaskQueueEntity(id=task_id, status=TaskStatus.FAILED.value)) await ExportDataSetWorker.report(task_id, "任务失败", 0, 1) @staticmethod diff --git a/data_chain/apps/base/task/worker/export_knowledge_base_worker.py b/data_chain/apps/base/task/worker/export_knowledge_base_worker.py index 5995deb..2e50c55 100644 --- a/data_chain/apps/base/task/worker/export_knowledge_base_worker.py +++ b/data_chain/apps/base/task/worker/export_knowledge_base_worker.py @@ -13,7 +13,7 @@ from data_chain.manager.task_manager import TaskManager from data_chain.manager.knowledge_manager import KnowledgeBaseManager from data_chain.manager.document_manager import DocumentManager from data_chain.manager.task_queue_mamanger import TaskQueueManager -from data_chain.stores.database.database import TaskEntity, DocumentEntity +from data_chain.stores.database.database import TaskEntity, DocumentEntity, TaskQueueEntity from data_chain.stores.minio.minio import MinIO from data_chain.stores.mongodb.mongodb import Task @@ -197,11 +197,11 @@ class ExportKnowledgeBaseWorker(BaseWorker): await ExportKnowledgeBaseWorker.upload_zip_to_minio(zip_path, task_id) current_stage += 1 await ExportKnowledgeBaseWorker.report(task_id, "上传压缩包到minio", current_stage, stage_cnt) - await TaskQueueManager.add_task(Task(_id=task_id, status=TaskStatus.SUCCESS.value)) + await TaskQueueManager.add_task(TaskQueueEntity(id=task_id, status=TaskStatus.SUCCESS.value)) except Exception as e: err = f"[ExportKnowledgeBaseWorker] 运行任务失败,task_id: {task_id},错误信息: {e}" logging.exception(err) - await TaskQueueManager.add_task(Task(_id=task_id, status=TaskStatus.FAILED.value)) + await TaskQueueManager.add_task(TaskQueueEntity(id=task_id, status=TaskStatus.FAILED.value)) await ExportKnowledgeBaseWorker.report(task_id, err, 0, 1) @staticmethod diff --git a/data_chain/apps/base/task/worker/generate_dataset_worker.py b/data_chain/apps/base/task/worker/generate_dataset_worker.py index eb01850..ade19b6 100644 --- a/data_chain/apps/base/task/worker/generate_dataset_worker.py +++ b/data_chain/apps/base/task/worker/generate_dataset_worker.py @@ -20,7 +20,7 @@ from data_chain.manager.chunk_manager import ChunkManager from data_chain.manager.dataset_manager import DatasetManager from data_chain.manager.qa_manager import QAManager from data_chain.manager.task_queue_mamanger import TaskQueueManager -from data_chain.stores.database.database import TaskEntity, DocumentEntity, DocumentTypeEntity, QAEntity, DataSetEntity, DataSetDocEntity +from data_chain.stores.database.database import TaskEntity, DocumentEntity, DocumentTypeEntity, QAEntity, DataSetEntity, DataSetDocEntity, TaskQueueEntity from data_chain.stores.minio.minio import MinIO from data_chain.stores.mongodb.mongodb import Task @@ -308,11 +308,11 @@ class GenerateDataSetWorker(BaseWorker): await GenerateDataSetWorker.add_qa_to_db(qa_entities) current_stage += 1 await GenerateDataSetWorker.report(task_id, "添加QA到数据库", current_stage, stage_cnt) - await TaskQueueManager.add_task(Task(_id=task_id, status=TaskStatus.SUCCESS.value)) + await TaskQueueManager.add_task(TaskQueueEntity(id=task_id, status=TaskStatus.SUCCESS.value)) except Exception as e: err = f"[GenerateDataSetWorker] 任务失败,task_id: {task_id},错误信息: {e}" logging.exception(err) - await TaskQueueManager.add_task(Task(_id=task_id, status=TaskStatus.FAILED.value)) + await TaskQueueManager.add_task(TaskQueueEntity(id=task_id, status=TaskStatus.FAILED.value)) await GenerateDataSetWorker.report(task_id, err, 0, 1) @staticmethod diff --git a/data_chain/apps/base/task/worker/import_dataset_worker.py b/data_chain/apps/base/task/worker/import_dataset_worker.py index 02451f5..e7e89e5 100644 --- a/data_chain/apps/base/task/worker/import_dataset_worker.py +++ b/data_chain/apps/base/task/worker/import_dataset_worker.py @@ -22,7 +22,7 @@ from data_chain.manager.chunk_manager import ChunkManager from data_chain.manager.dataset_manager import DatasetManager from data_chain.manager.qa_manager import QAManager from data_chain.manager.task_queue_mamanger import TaskQueueManager -from data_chain.stores.database.database import TaskEntity, DocumentEntity, DocumentTypeEntity, QAEntity, DataSetEntity, DataSetDocEntity +from data_chain.stores.database.database import TaskEntity, DocumentEntity, DocumentTypeEntity, QAEntity, DataSetEntity, DataSetDocEntity, TaskQueueEntity from data_chain.stores.minio.minio import MinIO from data_chain.stores.mongodb.mongodb import Task @@ -246,11 +246,11 @@ class ImportDataSetWorker(BaseWorker): await ImportDataSetWorker.update_dataset_score(dataset_entity.id, qa_entities, llm) current_stage += 1 await ImportDataSetWorker.report(task_id, "更新数据集分数", current_stage, stage_cnt) - await TaskQueueManager.add_task(Task(_id=task_id, status=TaskStatus.SUCCESS.value)) + await TaskQueueManager.add_task(TaskQueueEntity(id=task_id, status=TaskStatus.SUCCESS.value)) except Exception as e: err = f"[ImportDataSetWorker] 任务失败,task_id: {task_id},错误信息: {e}" logging.exception(err) - await TaskQueueManager.add_task(Task(_id=task_id, status=TaskStatus.FAILED.value)) + await TaskQueueManager.add_task(TaskQueueEntity(id=task_id, status=TaskStatus.FAILED.value)) await ImportDataSetWorker.report(task_id, "任务失败", 0, 1) @staticmethod diff --git a/data_chain/apps/base/task/worker/import_knowledge_base_worker.py b/data_chain/apps/base/task/worker/import_knowledge_base_worker.py index b7dcc5e..43f665e 100644 --- a/data_chain/apps/base/task/worker/import_knowledge_base_worker.py +++ b/data_chain/apps/base/task/worker/import_knowledge_base_worker.py @@ -15,7 +15,7 @@ from data_chain.manager.knowledge_manager import KnowledgeBaseManager from data_chain.manager.document_type_manager import DocumentTypeManager from data_chain.manager.document_manager import DocumentManager from data_chain.manager.task_queue_mamanger import TaskQueueManager -from data_chain.stores.database.database import TaskEntity, DocumentEntity, DocumentTypeEntity +from data_chain.stores.database.database import TaskEntity, DocumentEntity, DocumentTypeEntity, TaskQueueEntity from data_chain.stores.minio.minio import MinIO from data_chain.stores.mongodb.mongodb import Task @@ -223,11 +223,11 @@ class ImportKnowledgeBaseWorker(BaseWorker): await ImportKnowledgeBaseWorker.init_doc_parse_tasks(kb_id) current_stage += 1 await ImportKnowledgeBaseWorker.report(task_id, "初始化文档解析任务", current_stage, stage_cnt) - await TaskQueueManager.add_task(Task(_id=task_id, status=TaskStatus.SUCCESS.value)) + await TaskQueueManager.add_task(TaskQueueEntity(id=task_id, status=TaskStatus.SUCCESS.value)) except Exception as e: err = f"[ImportKnowledgeBaseWorker] 任务失败,task_id: {task_id},错误信息: {e}" logging.exception(err) - await TaskQueueManager.add_task(Task(_id=task_id, status=TaskStatus.FAILED.value)) + await TaskQueueManager.add_task(TaskQueueEntity(id=task_id, status=TaskStatus.FAILED.value)) await ImportKnowledgeBaseWorker.report(task_id, err, 0, 1) @staticmethod diff --git a/data_chain/apps/base/task/worker/parse_document_worker.py b/data_chain/apps/base/task/worker/parse_document_worker.py index a1b568a..745ef1c 100644 --- a/data_chain/apps/base/task/worker/parse_document_worker.py +++ b/data_chain/apps/base/task/worker/parse_document_worker.py @@ -29,7 +29,7 @@ from data_chain.manager.chunk_manager import ChunkManager from data_chain.manager.image_manager import ImageManager from data_chain.manager.task_report_manager import TaskReportManager from data_chain.manager.task_queue_mamanger import TaskQueueManager -from data_chain.stores.database.database import TaskEntity, DocumentEntity, DocumentTypeEntity, ChunkEntity, ImageEntity +from data_chain.stores.database.database import TaskEntity, DocumentEntity, DocumentTypeEntity, ChunkEntity, ImageEntity, TaskQueueEntity from data_chain.stores.minio.minio import MinIO from data_chain.stores.mongodb.mongodb import Task @@ -539,7 +539,7 @@ class ParseDocumentWorker(BaseWorker): await ParseDocumentWorker.add_parse_result_to_db(parse_result, doc_entity) current_stage += 1 await ParseDocumentWorker.report(task_id, '添加解析结果到数据库', current_stage, stage_cnt) - await TaskQueueManager.add_task(Task(_id=task_id, status=TaskStatus.SUCCESS.value)) + await TaskQueueManager.add_task(TaskQueueEntity(id=task_id, status=TaskStatus.SUCCESS.value)) task_report = await ParseDocumentWorker.assemble_task_report(task_id) report_path = os.path.join(tmp_path, 'task_report.txt') with open(report_path, 'w') as f: @@ -552,7 +552,7 @@ class ParseDocumentWorker(BaseWorker): except Exception as e: err = f"[DocParseWorker] 任务失败,task_id: {task_id},错误信息: {e}" logging.exception(err) - await TaskQueueManager.add_task(Task(_id=task_id, status=TaskStatus.FAILED.value)) + await TaskQueueManager.add_task(TaskQueueEntity(id=task_id, status=TaskStatus.FAILED.value)) await ParseDocumentWorker.report(task_id, err, 0, 1) task_report = await ParseDocumentWorker.assemble_task_report(task_id) report_path = os.path.join(tmp_path, 'task_report.txt') diff --git a/data_chain/apps/service/task_queue_service.py b/data_chain/apps/service/task_queue_service.py index 2a16ab1..1a3179b 100644 --- a/data_chain/apps/service/task_queue_service.py +++ b/data_chain/apps/service/task_queue_service.py @@ -4,7 +4,8 @@ import uuid from typing import Optional from data_chain.entities.enum import TaskType, TaskStatus from data_chain.apps.base.task.worker.base_worker import BaseWorker -from data_chain.stores.mongodb.mongodb import MongoDB, Task +# from data_chain.stores.mongodb.mongodb import MongoDB, Task +from data_chain.stores.database.database import TaskQueueEntity from data_chain.manager.task_manager import TaskManager from data_chain.manager.task_queue_mamanger import TaskQueueManager from data_chain.logger.logger import logger as logging @@ -22,7 +23,7 @@ class TaskQueueService: if task_entity.status == TaskStatus.RUNNING.value: flag = await BaseWorker.reinit(task_entity.id) if flag: - task = Task(_id=task_entity.id, status=TaskStatus.PENDING.value) + task = TaskQueueEntity(id=task_entity.id, status=TaskStatus.PENDING.value) await TaskQueueManager.update_task_by_id(task_entity.id, task) else: await BaseWorker.stop(task_entity.id) @@ -30,11 +31,11 @@ class TaskQueueService: else: task = await TaskQueueManager.get_task_by_id(task_entity.id) if task is None: - task = Task(_id=task_entity.id, status=TaskStatus.PENDING.value) + task = TaskQueueEntity(id=task_entity.id, status=TaskStatus.PENDING.value) await TaskQueueManager.add_task(task) except Exception as e: - warining = f"[TaskQueueService] 初始化任务失败 {e}" - logging.warning(warining) + warning = f"[TaskQueueService] 初始化任务失败 {e}" + logging.warning(warning) @staticmethod async def init_task(task_type: str, op_id: uuid.UUID) -> uuid.UUID: @@ -42,7 +43,7 @@ class TaskQueueService: try: task_id = await BaseWorker.init(task_type, op_id) if task_id: - await TaskQueueManager.add_task(Task(_id=task_id, status=TaskStatus.PENDING.value)) + await TaskQueueManager.add_task(TaskQueueEntity(id=task_id, status=TaskStatus.PENDING.value)) return task_id except Exception as e: err = f"[TaskQueueService] 初始化任务失败 {e}" @@ -75,53 +76,53 @@ class TaskQueueService: async def handle_successed_tasks(): handle_successed_task_limit = 1024 for i in range(handle_successed_task_limit): - task = await TaskQueueManager.get_oldest_tasks_by_status(TaskStatus.SUCCESS.value) + task = await TaskQueueManager.get_oldest_tasks_by_status(TaskStatus.SUCCESS) if task is None: break try: - await BaseWorker.deinit(task.task_id) + await BaseWorker.deinit(task.id) except Exception as e: err = f"[TaskQueueService] 处理成功任务失败 {e}" logging.error(err) - await TaskQueueManager.delete_task_by_id(task.task_id) + await TaskQueueManager.delete_task_by_id(task.id) @staticmethod async def handle_failed_tasks(): handle_failed_task_limit = 1024 for i in range(handle_failed_task_limit): - task = await TaskQueueManager.get_oldest_tasks_by_status(TaskStatus.FAILED.value) + task = await TaskQueueManager.get_oldest_tasks_by_status(TaskStatus.FAILED) if task is None: break try: - flag = await BaseWorker.reinit(task.task_id) + flag = await BaseWorker.reinit(task.id) except Exception as e: err = f"[TaskQueueService] 处理失败任务失败 {e}" logging.error(err) - await TaskQueueManager.delete_task_by_id(task.task_id) + await TaskQueueManager.delete_task_by_id(task.id) continue if flag: - task = Task(_id=task.task_id, status=TaskStatus.PENDING.value) - await TaskQueueManager.update_task_by_id(task.task_id, task) + task.status = TaskStatus.PENDING.value + await TaskQueueManager.update_task_by_id(task.id, task) else: - await TaskQueueManager.delete_task_by_id(task.task_id) + await TaskQueueManager.delete_task_by_id(task.id) @staticmethod async def handle_pending_tasks(): handle_pending_task_limit = 128 for i in range(handle_pending_task_limit): - task = await TaskQueueManager.get_oldest_tasks_by_status(TaskStatus.PENDING.value) + task = await TaskQueueManager.get_oldest_tasks_by_status(TaskStatus.PENDING) if task is None: break try: - flag = await BaseWorker.run(task.task_id) + flag = await BaseWorker.run(task.id) except Exception as e: err = f"[TaskQueueService] 处理待处理任务失败 {e}" logging.error(err) - await TaskQueueManager.delete_task_by_id(task.task_id) + await TaskQueueManager.delete_task_by_id(task.id) continue if not flag: break - await TaskQueueManager.delete_task_by_id(task.task_id) + await TaskQueueManager.delete_task_by_id(task.id) @staticmethod async def handle_tasks(): diff --git a/data_chain/manager/task_queue_mamanger.py b/data_chain/manager/task_queue_mamanger.py index 8f4db40..6c68db9 100644 --- a/data_chain/manager/task_queue_mamanger.py +++ b/data_chain/manager/task_queue_mamanger.py @@ -5,8 +5,8 @@ from sqlalchemy.orm import aliased import uuid from typing import Dict, List, Optional, Tuple from data_chain.logger.logger import logger as logging -from data_chain.stores.database.database import DataBase, TaskEntity -from data_chain.stores.mongodb.mongodb import MongoDB, Task +from data_chain.stores.database.database import DataBase, TaskEntity, TaskQueueEntity +# from data_chain.stores.mongodb.mongodb import MongoDB, Task from data_chain.entities.enum import TaskStatus @@ -14,60 +14,72 @@ class TaskQueueManager(): """任务队列管理类""" @staticmethod - async def add_task(task: Task): + async def add_task(task: TaskQueueEntity): try: - async with MongoDB.get_session() as session, await session.start_transaction(): - task_colletion = MongoDB.get_collection('witchiand_task') - await task_colletion.insert_one(task.model_dump(by_alias=True), session=session) + async with await DataBase.get_session() as session: + session.add(task) + await session.commit() except Exception as e: err = "添加任务到队列失败" logging.exception("[TaskQueueManager] %s", err) + raise e @staticmethod async def delete_task_by_id(task_id: uuid.UUID): """根据任务ID删除任务""" try: - async with MongoDB.get_session() as session, await session.start_transaction(): - task_colletion = MongoDB.get_collection('witchiand_task') - await task_colletion.delete_one({"_id": task_id}, session=session) + async with await DataBase.get_session() as session: + stmt = delete(TaskQueueEntity).where(TaskQueueEntity.id == task_id) + await session.execute(stmt) + await session.commit() except Exception as e: err = "删除任务失败" logging.exception("[TaskQueueManager] %s", err) raise e @staticmethod - async def get_oldest_tasks_by_status(status: TaskStatus) -> Task: + async def get_oldest_tasks_by_status(status: TaskStatus) -> Optional[TaskQueueEntity]: """根据任务状态获取最早的任务""" try: - async with MongoDB.get_session() as session: - task_colletion = MongoDB.get_collection('witchiand_task') - task = await task_colletion.find_one({"status": status}, sort=[("created_time", 1)], session=session) - return Task(**task) if task else None + async with await DataBase.get_session() as session: + stmt = ( + select(TaskQueueEntity) + .where(TaskQueueEntity.status == status.value) + .order_by(asc(TaskQueueEntity.created_time)) + .limit(1) + ) + result = await session.execute(stmt) + return result.scalars().first() except Exception as e: err = "获取最早的任务失败" logging.exception("[TaskQueueManager] %s", err) raise e @staticmethod - async def get_task_by_id(task_id: uuid.UUID) -> Task: + async def get_task_by_id(task_id: uuid.UUID) -> Optional[TaskQueueEntity]: """根据任务ID获取任务""" try: - async with MongoDB.get_session() as session: - task_colletion = MongoDB.get_collection('witchiand_task') - task = await task_colletion.find_one({"_id": task_id}, session=session) - return Task(**task) if task else None + async with await DataBase.get_session() as session: + stmt = select(TaskQueueEntity).where(TaskQueueEntity.id == task_id) + result = await session.execute(stmt) + return result.scalars().first() except Exception as e: err = "获取任务失败" logging.exception("[TaskQueueManager] %s", err) raise e @staticmethod - async def update_task_by_id(task_id: uuid.UUID, task: Task): + async def update_task_by_id(task_id: uuid.UUID, task: TaskQueueEntity): """根据任务ID更新任务""" try: - async with MongoDB.get_session() as session, await session.start_transaction(): - task_colletion = MongoDB.get_collection('witchiand_task') - await task_colletion.update_one({"_id": task_id}, {"$set": task.model_dump(by_alias=True)}, session=session) + async with await DataBase.get_session() as session: + stmt = ( + update(TaskQueueEntity) + .where(TaskQueueEntity.id == task_id) + .values(status=task.status) + ) + await session.execute(stmt) + await session.commit() except Exception as e: err = "更新任务失败" logging.exception("[TaskQueueManager] %s", err) diff --git a/data_chain/stores/database/database.py b/data_chain/stores/database/database.py index 4e8ae10..9c45933 100644 --- a/data_chain/stores/database/database.py +++ b/data_chain/stores/database/database.py @@ -534,6 +534,23 @@ class TaskReportEntity(Base): ) +class TaskQueueEntity(Base): + __tablename__ = 'task_queue' + + id = Column(UUID, default=uuid4, primary_key=True) # 任务ID + status = Column(String) # 任务状态 + created_time = Column( + TIMESTAMP(timezone=True), + nullable=True, + server_default=func.current_timestamp() + ) + # 添加索引以提高查询性能 + __table_args__ = ( + Index('idx_task_queue_status', 'status'), + Index('idx_task_queue_created_time', 'created_time'), + ) + + class DataBase: # 对密码进行 URL 编码 -- Gitee From 09af3af47f3e59170ec7048fe7aba14c46bd21a1 Mon Sep 17 00:00:00 2001 From: "Shine.Wang" Date: Thu, 17 Jul 2025 16:59:01 +0800 Subject: [PATCH 03/43] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=AE=A1=E8=A7=86?= =?UTF-8?q?=E6=84=8F=E8=A7=81=E8=BF=9B=E8=A1=8C=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/manager/task_queue_mamanger.py | 10 +++------- data_chain/stores/database/database.py | 13 +++++++------ 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/data_chain/manager/task_queue_mamanger.py b/data_chain/manager/task_queue_mamanger.py index 6c68db9..95024c5 100644 --- a/data_chain/manager/task_queue_mamanger.py +++ b/data_chain/manager/task_queue_mamanger.py @@ -1,12 +1,10 @@ # Copyright (c) Huawei Technologies Co., Ltd. 2023-2024. All rights reserved. from sqlalchemy import select, delete, update, desc, asc, func, exists, or_, and_ -from sqlalchemy.orm import aliased import uuid from typing import Dict, List, Optional, Tuple from data_chain.logger.logger import logger as logging -from data_chain.stores.database.database import DataBase, TaskEntity, TaskQueueEntity -# from data_chain.stores.mongodb.mongodb import MongoDB, Task +from data_chain.stores.database.database import DataBase, TaskQueueEntity from data_chain.entities.enum import TaskStatus @@ -48,8 +46,7 @@ class TaskQueueManager(): .order_by(asc(TaskQueueEntity.created_time)) .limit(1) ) - result = await session.execute(stmt) - return result.scalars().first() + return await session.scalars(stmt).first() except Exception as e: err = "获取最早的任务失败" logging.exception("[TaskQueueManager] %s", err) @@ -61,8 +58,7 @@ class TaskQueueManager(): try: async with await DataBase.get_session() as session: stmt = select(TaskQueueEntity).where(TaskQueueEntity.id == task_id) - result = await session.execute(stmt) - return result.scalars().first() + return await session.scalars(stmt).first() except Exception as e: err = "获取任务失败" logging.exception("[TaskQueueManager] %s", err) diff --git a/data_chain/stores/database/database.py b/data_chain/stores/database/database.py index 9c45933..6ddd2aa 100644 --- a/data_chain/stores/database/database.py +++ b/data_chain/stores/database/database.py @@ -1,13 +1,14 @@ # Copyright (c) Huawei Technologies Co., Ltd. 2023-2024. All rights reserved. from sqlalchemy.ext.asyncio import create_async_engine, async_sessionmaker from sqlalchemy import Index -from uuid import uuid4 +from datetime import datetime +import uuid import urllib.parse from data_chain.logger.logger import logger as logging from pgvector.sqlalchemy import Vector from sqlalchemy import Boolean, Column, ForeignKey, Integer, Float, String, func from sqlalchemy.types import TIMESTAMP, UUID -from sqlalchemy.orm import declarative_base +from sqlalchemy.orm import declarative_base, DeclarativeBase, MappedAsDataclass, Mapped, mapped_column from data_chain.config.config import config from data_chain.entities.enum import (Tokenizer, ParseMethod, @@ -534,12 +535,12 @@ class TaskReportEntity(Base): ) -class TaskQueueEntity(Base): +class TaskQueueEntity(DeclarativeBase, MappedAsDataclass): __tablename__ = 'task_queue' - id = Column(UUID, default=uuid4, primary_key=True) # 任务ID - status = Column(String) # 任务状态 - created_time = Column( + id: Mapped[uuid.UUID] = mapped_column(UUID, default_factory=uuid.uuid4, primary_key=True) # 任务ID + status: Mapped[str] = mapped_column(String) # 任务状态 + created_time: Mapped[datetime] = mapped_column( TIMESTAMP(timezone=True), nullable=True, server_default=func.current_timestamp() -- Gitee From e94b62009a378685e7b91e464dc00f37f4befdb9 Mon Sep 17 00:00:00 2001 From: "Shine.Wang" Date: Fri, 4 Jul 2025 14:45:33 +0800 Subject: [PATCH 04/43] fix spell mistake --- .../base/task/worker/acc_testing_worker.py | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/data_chain/apps/base/task/worker/acc_testing_worker.py b/data_chain/apps/base/task/worker/acc_testing_worker.py index 45ae927..0851666 100644 --- a/data_chain/apps/base/task/worker/acc_testing_worker.py +++ b/data_chain/apps/base/task/worker/acc_testing_worker.py @@ -180,31 +180,31 @@ class TestingWorker(BaseWorker): bac_info=bac_info ) llm_answer = await llm.nostream([], prompt, question) - sub_socres = [] + sub_scores = [] pre = await TokenTool.cal_precision(question, answer, llm) if pre != -1: - sub_socres.append(pre) + sub_scores.append(pre) rec = await TokenTool.cal_recall(answer, llm_answer, llm) if rec != -1: - sub_socres.append(rec) + sub_scores.append(rec) fai = await TokenTool.cal_faithfulness(question, llm_answer, bac_info, llm) if fai != -1: - sub_socres.append(fai) + sub_scores.append(fai) rel = await TokenTool.cal_relevance(question, llm_answer, llm) if rel != -1: - sub_socres.append(rel) + sub_scores.append(rel) lcs = TokenTool.cal_lcs(answer, llm_answer) if lcs != -1: - sub_socres.append(lcs) + sub_scores.append(lcs) leve = TokenTool.cal_leve(answer, llm_answer) if leve != -1: - sub_socres.append(leve) + sub_scores.append(leve) jac = TokenTool.cal_jac(answer, llm_answer) if jac != -1: - sub_socres.append(jac) + sub_scores.append(jac) score = -1 - if sub_socres: - score = sum(sub_socres) / len(sub_socres) + if sub_scores: + score = sum(sub_scores) / len(sub_scores) test_case_entity = TestCaseEntity( testing_id=testing_entity.id, question=question, -- Gitee From c4463391a3eb77e465fa6acdb347079190b04c64 Mon Sep 17 00:00:00 2001 From: zxstty Date: Fri, 15 Aug 2025 11:31:56 +0800 Subject: [PATCH 05/43] =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=A3=80=E7=B4=A2?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E4=BD=9C=E8=80=85=E5=92=8C=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/apps/service/chunk_service.py | 2 ++ data_chain/entities/response_data.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/data_chain/apps/service/chunk_service.py b/data_chain/apps/service/chunk_service.py index d1b7064..8d302c4 100644 --- a/data_chain/apps/service/chunk_service.py +++ b/data_chain/apps/service/chunk_service.py @@ -142,6 +142,8 @@ class ChunkService: doc_map = {doc_entity.id: doc_entity for doc_entity in doc_entities} for doc_chunk in search_chunk_msg.doc_chunks: doc_entity = doc_map.get(doc_chunk.doc_id) + doc_chunk.doc_author = doc_entity.author_name if doc_entity else "" + doc_chunk.doc_created_at = doc_entity.created_time.strftime('%Y-%m-%d %H:%M') if doc_entity else "" doc_chunk.doc_abstract = doc_entity.abstract if doc_entity else "" doc_chunk.doc_extension = doc_entity.extension if doc_entity else "" doc_chunk.doc_size = doc_entity.size if doc_entity else 0 diff --git a/data_chain/entities/response_data.py b/data_chain/entities/response_data.py index 5a3bf03..5cac2bf 100644 --- a/data_chain/entities/response_data.py +++ b/data_chain/entities/response_data.py @@ -326,9 +326,11 @@ class DocChunk(BaseModel): """Post /chunk/search 数据结构""" doc_id: uuid.UUID = Field(description="文档ID", alias="docId") doc_name: str = Field(description="文档名称", alias="docName") + doc_author: str = Field(description="文档作者", alias="docAuthor") doc_abstract: str = Field(default="", description="文档摘要", alias="docAbstract") doc_extension: str = Field(default="", description="文档扩展名", alias="docExtension") doc_size: int = Field(default=0, description="文档大小,单位是KB", alias="docSize") + doc_created_at: str = Field(default="", description="文档创建时间", alias="docCreatedAt") chunks: list[Chunk] = Field(default=[], description="分片列表", alias="chunks") -- Gitee From d635b25e28a4bff5a7e9b25787900abedfbacf0c Mon Sep 17 00:00:00 2001 From: zxstty Date: Thu, 21 Aug 2025 20:32:59 +0800 Subject: [PATCH 06/43] =?UTF-8?q?=E9=80=9A=E8=BF=87=E5=A4=9A=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B=E8=BF=9B=E8=A1=8Cocr?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/task/worker/parse_document_worker.py | 49 +++++++++++++------ data_chain/parser/tools/ocr_tool.py | 2 + 2 files changed, 35 insertions(+), 16 deletions(-) diff --git a/data_chain/apps/base/task/worker/parse_document_worker.py b/data_chain/apps/base/task/worker/parse_document_worker.py index fab00d0..7d61e7b 100644 --- a/data_chain/apps/base/task/worker/parse_document_worker.py +++ b/data_chain/apps/base/task/worker/parse_document_worker.py @@ -8,6 +8,7 @@ import random import io import numpy as np from PIL import Image +import asyncio from data_chain.parser.tools.ocr_tool import OcrTool from data_chain.parser.tools.token_tool import TokenTool from data_chain.parser.tools.image_tool import ImageTool @@ -271,24 +272,40 @@ class ParseDocumentWorker(BaseWorker): index += 1024 @staticmethod - async def ocr_from_parse_image(parse_result: ParseResult, llm: LLM = None) -> list: + async def ocr_from_parse_image(parse_result: ParseResult, llm: LLM = None) -> None: '''从解析图片中获取ocr''' - for node in parse_result.nodes: + async def _ocr(node: ParseNode) -> None: + try: + img_blob = node.content + image = Image.open(io.BytesIO(img_blob)) + img_np = np.array(image) + image_related_text = '' + for related_node in node.link_nodes: + if related_node.type != ChunkType.IMAGE: + image_related_text += related_node.content + '\n' + ocr_result = (await OcrTool.image_to_text(img_np, image_related_text, llm)) + node.text_feature = ocr_result + node.content = ocr_result + except Exception as e: + err = f"[OCRTool] OCR识别失败: {e}" + logging.exception(err) + return None + + image_node_ids = [] + for i, node in enumerate(parse_result.nodes): if node.type == ChunkType.IMAGE: - try: - image_blob = node.content - image = Image.open(io.BytesIO(image_blob)) - img_np = np.array(image) - image_related_text = '' - for related_node in node.link_nodes: - if related_node.type != ChunkType.IMAGE: - image_related_text += related_node.content - node.content = await OcrTool.image_to_text(img_np, image_related_text, llm) - node.text_feature = node.content - except Exception as e: - err = f"[ParseDocumentWorker] OCR失败 error: {e}" - logging.exception(err) - continue + image_node_ids.append(i) + group_size = 5 + index = 0 + while index < len(image_node_ids): + sub_image_node_ids = image_node_ids[index:index + group_size] + task_list = [] + for node_id in sub_image_node_ids: + # 通过asyncio.create_task来异步执行OCR + node = parse_result.nodes[node_id] + task_list.append(asyncio.create_task(_ocr(node))) + await asyncio.gather(*task_list) + index += group_size @staticmethod async def merge_and_split_text(parse_result: ParseResult, doc_entity: DocumentEntity) -> None: diff --git a/data_chain/parser/tools/ocr_tool.py b/data_chain/parser/tools/ocr_tool.py index 858517d..115f6e9 100644 --- a/data_chain/parser/tools/ocr_tool.py +++ b/data_chain/parser/tools/ocr_tool.py @@ -58,6 +58,8 @@ class OcrTool: async def merge_text_from_ocr_result(ocr_result: list) -> str: text = '' try: + if ocr_result[0] is None or len(ocr_result[0]) == 0: + return "" for _ in ocr_result[0]: text += str(_[1][0]) return text -- Gitee From 574e1acd522db94622c5b13e4c1b12365c34e467 Mon Sep 17 00:00:00 2001 From: zxstty Date: Thu, 21 Aug 2025 21:31:54 +0800 Subject: [PATCH 07/43] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=9B=86=E9=80=9A=E8=BF=87=E7=8A=B6=E6=80=81=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apps/base/task/worker/import_knowledge_base_worker.py | 2 +- data_chain/manager/dataset_manager.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/data_chain/apps/base/task/worker/import_knowledge_base_worker.py b/data_chain/apps/base/task/worker/import_knowledge_base_worker.py index 43f665e..c85f0c9 100644 --- a/data_chain/apps/base/task/worker/import_knowledge_base_worker.py +++ b/data_chain/apps/base/task/worker/import_knowledge_base_worker.py @@ -252,7 +252,7 @@ class ImportKnowledgeBaseWorker(BaseWorker): err = f"[ExportKnowledgeBaseWorker] 任务不存在,task_id: {task_id}" logging.exception(err) return None - if task_entity.status == TaskStatus.CANCLED or TaskStatus.FAILED.value: + if task_entity.status == TaskStatus.CANCLED.value or task_entity.status == TaskStatus.FAILED.value: await KnowledgeBaseManager.update_knowledge_base_by_kb_id(task_entity.op_id, {"status": KnowledgeBaseStatus.DELETED.value}) await MinIO.delete_object(IMPORT_KB_PATH_IN_MINIO, str(task_entity.op_id)) return task_id diff --git a/data_chain/manager/dataset_manager.py b/data_chain/manager/dataset_manager.py index cb61aa8..89fcaaf 100644 --- a/data_chain/manager/dataset_manager.py +++ b/data_chain/manager/dataset_manager.py @@ -98,7 +98,8 @@ class DatasetManager: stmt = stmt.where(DataSetEntity.is_chunk_related == req.is_chunk_related) if req.generate_status is not None: status_list = [status.value for status in req.generate_status] - status_list += [DataSetStatus.DELETED.value] + if TaskStatus.SUCCESS in req.generate_status: + status_list += [TaskStatus.DELETED.value] stmt = stmt.where(subq.c.status.in_(status_list)) stmt = stmt.order_by(DataSetEntity.created_at.desc(), DataSetEntity.id.desc()) if req.score_order: -- Gitee From bbbb620ccfce9b60b015837686a43b2cdac8f23a Mon Sep 17 00:00:00 2001 From: zxstty Date: Thu, 21 Aug 2025 21:59:36 +0800 Subject: [PATCH 08/43] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dtask=20queue=E7=9A=84bu?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/stores/database/database.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/data_chain/stores/database/database.py b/data_chain/stores/database/database.py index 6ddd2aa..e0af0a4 100644 --- a/data_chain/stores/database/database.py +++ b/data_chain/stores/database/database.py @@ -3,6 +3,7 @@ from sqlalchemy.ext.asyncio import create_async_engine, async_sessionmaker from sqlalchemy import Index from datetime import datetime import uuid +from uuid import uuid4 import urllib.parse from data_chain.logger.logger import logger as logging from pgvector.sqlalchemy import Vector @@ -535,12 +536,12 @@ class TaskReportEntity(Base): ) -class TaskQueueEntity(DeclarativeBase, MappedAsDataclass): +class TaskQueueEntity(Base): __tablename__ = 'task_queue' - id: Mapped[uuid.UUID] = mapped_column(UUID, default_factory=uuid.uuid4, primary_key=True) # 任务ID - status: Mapped[str] = mapped_column(String) # 任务状态 - created_time: Mapped[datetime] = mapped_column( + id = Column(UUID, default=uuid4, primary_key=True) # 任务ID + status = Column(String) # 任务状态 + created_time = Column( TIMESTAMP(timezone=True), nullable=True, server_default=func.current_timestamp() -- Gitee From 117b9de20d764239e74be57646a8c2ca634cada5 Mon Sep 17 00:00:00 2001 From: zxstty Date: Thu, 21 Aug 2025 22:06:56 +0800 Subject: [PATCH 09/43] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dtask=20queue=E7=9A=84bu?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- chat2db/database/postgres.py | 3 +-- data_chain/manager/task_queue_mamanger.py | 6 ++++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/chat2db/database/postgres.py b/chat2db/database/postgres.py index ea4470d..61ac542 100644 --- a/chat2db/database/postgres.py +++ b/chat2db/database/postgres.py @@ -97,8 +97,6 @@ class PostgresDB: echo=False, pool_recycle=300, pool_pre_ping=True) - - Base.metadata.create_all(cls.engine) if config['DATABASE_TYPE'].lower() == 'opengauss': from sqlalchemy import event from opengauss_sqlalchemy.register_async import register_vector @@ -106,6 +104,7 @@ class PostgresDB: @event.listens_for(cls.engine.sync_engine, "connect") def connect(dbapi_connection, connection_record): dbapi_connection.run_async(register_vector) + Base.metadata.create_all(cls.engine) return cls._engine @classmethod diff --git a/data_chain/manager/task_queue_mamanger.py b/data_chain/manager/task_queue_mamanger.py index 95024c5..b0df886 100644 --- a/data_chain/manager/task_queue_mamanger.py +++ b/data_chain/manager/task_queue_mamanger.py @@ -46,7 +46,8 @@ class TaskQueueManager(): .order_by(asc(TaskQueueEntity.created_time)) .limit(1) ) - return await session.scalars(stmt).first() + result = await session.execute(stmt) + return result.scalars().first() except Exception as e: err = "获取最早的任务失败" logging.exception("[TaskQueueManager] %s", err) @@ -58,7 +59,8 @@ class TaskQueueManager(): try: async with await DataBase.get_session() as session: stmt = select(TaskQueueEntity).where(TaskQueueEntity.id == task_id) - return await session.scalars(stmt).first() + result = await session.execute(stmt) + return result.scalars().first() except Exception as e: err = "获取任务失败" logging.exception("[TaskQueueManager] %s", err) -- Gitee From 3c97ff85e9a0110b29b0d55ec4d3d047cffd37bf Mon Sep 17 00:00:00 2001 From: zxstty Date: Thu, 21 Aug 2025 22:21:00 +0800 Subject: [PATCH 10/43] =?UTF-8?q?=E5=90=91=E9=87=8F=E5=8C=96=E4=B9=9F?= =?UTF-8?q?=E6=94=B9=E6=88=90=E5=B9=B6=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apps/base/task/worker/parse_document_worker.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/data_chain/apps/base/task/worker/parse_document_worker.py b/data_chain/apps/base/task/worker/parse_document_worker.py index 7d61e7b..346aa70 100644 --- a/data_chain/apps/base/task/worker/parse_document_worker.py +++ b/data_chain/apps/base/task/worker/parse_document_worker.py @@ -448,8 +448,18 @@ class ParseDocumentWorker(BaseWorker): @staticmethod async def embedding_chunk(parse_result: ParseResult) -> None: '''嵌入chunk''' - for node in parse_result.nodes: - node.vector = await Embedding.vectorize_embedding(node.text_feature) + def _embedding(node: ParseNode) -> None: + node.vector = Embedding.vectorize_embedding(node.text_feature) + group_size = 32 + index = 0 + while index < len(parse_result.nodes): + sub_nodes = parse_result.nodes[index:index + group_size] + task_list = [] + for node in sub_nodes: + # 通过asyncio.create_task来异步执行嵌入 + task_list.append(asyncio.create_task(_embedding(node))) + asyncio.run(asyncio.gather(*task_list)) + index += group_size @staticmethod async def add_parse_result_to_db(parse_result: ParseResult, doc_entity: DocumentEntity) -> None: -- Gitee From 606fe9431de0270088794c60255ff89693737edd Mon Sep 17 00:00:00 2001 From: zxstty Date: Thu, 21 Aug 2025 22:37:49 +0800 Subject: [PATCH 11/43] =?UTF-8?q?=E5=90=91=E9=87=8F=E5=8C=96=E4=B9=9F?= =?UTF-8?q?=E6=94=B9=E6=88=90=E5=B9=B6=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/apps/base/task/worker/parse_document_worker.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data_chain/apps/base/task/worker/parse_document_worker.py b/data_chain/apps/base/task/worker/parse_document_worker.py index 346aa70..7c8f369 100644 --- a/data_chain/apps/base/task/worker/parse_document_worker.py +++ b/data_chain/apps/base/task/worker/parse_document_worker.py @@ -448,8 +448,8 @@ class ParseDocumentWorker(BaseWorker): @staticmethod async def embedding_chunk(parse_result: ParseResult) -> None: '''嵌入chunk''' - def _embedding(node: ParseNode) -> None: - node.vector = Embedding.vectorize_embedding(node.text_feature) + async def _embedding(node: ParseNode) -> None: + node.vector = await Embedding.vectorize_embedding(node.text_feature) group_size = 32 index = 0 while index < len(parse_result.nodes): -- Gitee From 1373945b70dd1cc055f705d9b1fd710dcbafbd4e Mon Sep 17 00:00:00 2001 From: zxstty Date: Thu, 21 Aug 2025 22:48:37 +0800 Subject: [PATCH 12/43] =?UTF-8?q?=E5=90=91=E9=87=8F=E5=8C=96=E4=B9=9F?= =?UTF-8?q?=E6=94=B9=E6=88=90=E5=B9=B6=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/apps/base/task/worker/parse_document_worker.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/data_chain/apps/base/task/worker/parse_document_worker.py b/data_chain/apps/base/task/worker/parse_document_worker.py index 7c8f369..67d9e3d 100644 --- a/data_chain/apps/base/task/worker/parse_document_worker.py +++ b/data_chain/apps/base/task/worker/parse_document_worker.py @@ -450,15 +450,17 @@ class ParseDocumentWorker(BaseWorker): '''嵌入chunk''' async def _embedding(node: ParseNode) -> None: node.vector = await Embedding.vectorize_embedding(node.text_feature) + group_size = 32 index = 0 while index < len(parse_result.nodes): sub_nodes = parse_result.nodes[index:index + group_size] task_list = [] for node in sub_nodes: - # 通过asyncio.create_task来异步执行嵌入 + # 与OCR代码风格保持一致 task_list.append(asyncio.create_task(_embedding(node))) - asyncio.run(asyncio.gather(*task_list)) + # 直接await任务集合 + await asyncio.gather(*task_list) index += group_size @staticmethod -- Gitee From ef2fbd29059b0b9c9e47d83a9b99c800b309249b Mon Sep 17 00:00:00 2001 From: zxstty Date: Fri, 22 Aug 2025 12:00:19 +0800 Subject: [PATCH 13/43] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=A3=80=E7=B4=A2chunk?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E4=BD=9C=E8=80=85=E5=90=8D=E7=A7=B0=E7=9A=84?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E4=B8=8D=E4=B8=BA=E7=A9=BA=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/entities/response_data.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data_chain/entities/response_data.py b/data_chain/entities/response_data.py index 5cac2bf..bb70070 100644 --- a/data_chain/entities/response_data.py +++ b/data_chain/entities/response_data.py @@ -325,8 +325,8 @@ class UpdateChunkEnabledResponse(ResponseData): class DocChunk(BaseModel): """Post /chunk/search 数据结构""" doc_id: uuid.UUID = Field(description="文档ID", alias="docId") - doc_name: str = Field(description="文档名称", alias="docName") - doc_author: str = Field(description="文档作者", alias="docAuthor") + doc_name: str = Field(default="", description="文档名称", alias="docName") + doc_author: str = Field(default="", description="文档作者", alias="docAuthor") doc_abstract: str = Field(default="", description="文档摘要", alias="docAbstract") doc_extension: str = Field(default="", description="文档扩展名", alias="docExtension") doc_size: int = Field(default=0, description="文档大小,单位是KB", alias="docSize") -- Gitee From ad0798cade4ccb770e6404335acbcdd5ddf239e3 Mon Sep 17 00:00:00 2001 From: zxstty Date: Fri, 22 Aug 2025 14:35:33 +0800 Subject: [PATCH 14/43] =?UTF-8?q?=E5=A2=9E=E9=95=BFrag=E6=A3=80=E7=B4=A2?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/rag/doc2chunk_bfs_searcher.py | 4 ++-- data_chain/rag/doc2chunk_searcher.py | 4 ++-- .../rag/dynamic_weighted_keyword_and_vector_searcher.py | 2 +- data_chain/rag/enhanced_by_llm_searcher.py | 2 +- data_chain/rag/keyword_and_vector_searcher.py | 2 +- data_chain/rag/query_extend_searcher.py | 2 +- data_chain/rag/vector_searcher.py | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/data_chain/rag/doc2chunk_bfs_searcher.py b/data_chain/rag/doc2chunk_bfs_searcher.py index c72e7bd..07560fd 100644 --- a/data_chain/rag/doc2chunk_bfs_searcher.py +++ b/data_chain/rag/doc2chunk_bfs_searcher.py @@ -37,7 +37,7 @@ class Doc2ChunkBfsSearcher(BaseSearcher): root_chunk_entities_vector = [] for _ in range(3): try: - root_chunk_entities_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(root_chunk_entities_keyword), doc_ids, banned_ids, ChunkParseTopology.TREEROOT.value), timeout=3) + root_chunk_entities_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(root_chunk_entities_keyword), doc_ids, banned_ids, ChunkParseTopology.TREEROOT.value), timeout=10) break except Exception as e: err = f"[KeywordVectorSearcher] 向量检索失败,error: {e}" @@ -54,7 +54,7 @@ class Doc2ChunkBfsSearcher(BaseSearcher): root_chunk_entities_vector = [] for _ in range(3): try: - root_chunk_entities_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(root_chunk_entities_keyword), doc_ids, banned_ids, None, pre_ids), timeout=3) + root_chunk_entities_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(root_chunk_entities_keyword), doc_ids, banned_ids, None, pre_ids), timeout=10) break except Exception as e: err = f"[KeywordVectorSearcher] 向量检索失败,error: {e}" diff --git a/data_chain/rag/doc2chunk_searcher.py b/data_chain/rag/doc2chunk_searcher.py index 40510d5..6b3aca7 100644 --- a/data_chain/rag/doc2chunk_searcher.py +++ b/data_chain/rag/doc2chunk_searcher.py @@ -37,7 +37,7 @@ class Doc2ChunkSearcher(BaseSearcher): doc_entities_vector = [] for _ in range(3): try: - doc_entities_vector = await asyncio.wait_for(DocumentManager.get_top_k_document_by_kb_id_vector(kb_id, vector, top_k-len(doc_entities_keyword), use_doc_ids, banned_ids), timeout=3) + doc_entities_vector = await asyncio.wait_for(DocumentManager.get_top_k_document_by_kb_id_vector(kb_id, vector, top_k-len(doc_entities_keyword), use_doc_ids, banned_ids), timeout=10) break except Exception as e: err = f"[KeywordVectorSearcher] 向量检索失败,error: {e}" @@ -53,7 +53,7 @@ class Doc2ChunkSearcher(BaseSearcher): chunk_entities_vector = [] for _ in range(3): try: - chunk_entities_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(chunk_entities_keyword), use_doc_ids, banned_ids), timeout=3) + chunk_entities_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(chunk_entities_keyword), use_doc_ids, banned_ids), timeout=10) break except Exception as e: err = f"[KeywordVectorSearcher] 向量检索失败,error: {e}" diff --git a/data_chain/rag/dynamic_weighted_keyword_and_vector_searcher.py b/data_chain/rag/dynamic_weighted_keyword_and_vector_searcher.py index 5efe05e..f513036 100644 --- a/data_chain/rag/dynamic_weighted_keyword_and_vector_searcher.py +++ b/data_chain/rag/dynamic_weighted_keyword_and_vector_searcher.py @@ -42,7 +42,7 @@ class KeywordVectorSearcher(BaseSearcher): try: import time start_time = time.time() - chunk_entities_get_by_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(chunk_entities_get_by_keyword)-len(chunk_entities_get_by_dynamic_weighted_keyword), doc_ids, banned_ids), timeout=3) + chunk_entities_get_by_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(chunk_entities_get_by_keyword)-len(chunk_entities_get_by_dynamic_weighted_keyword), doc_ids, banned_ids), timeout=10) end_time = time.time() logging.info(f"[KeywordVectorSearcher] 向量检索成功完成,耗时: {end_time - start_time:.2f}秒") break diff --git a/data_chain/rag/enhanced_by_llm_searcher.py b/data_chain/rag/enhanced_by_llm_searcher.py index 00b7bae..f076d4f 100644 --- a/data_chain/rag/enhanced_by_llm_searcher.py +++ b/data_chain/rag/enhanced_by_llm_searcher.py @@ -56,7 +56,7 @@ class EnhancedByLLMSearcher(BaseSearcher): sub_chunk_entities_vector = [] for _ in range(3): try: - sub_chunk_entities_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k, doc_ids, banned_ids), timeout=3) + sub_chunk_entities_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k, doc_ids, banned_ids), timeout=10) break except Exception as e: err = f"[EnhancedByLLMSearcher] 向量检索失败,error: {e}" diff --git a/data_chain/rag/keyword_and_vector_searcher.py b/data_chain/rag/keyword_and_vector_searcher.py index 86b3b4f..d9f1cdf 100644 --- a/data_chain/rag/keyword_and_vector_searcher.py +++ b/data_chain/rag/keyword_and_vector_searcher.py @@ -40,7 +40,7 @@ class KeywordVectorSearcher(BaseSearcher): try: import time start_time = time.time() - chunk_entities_get_by_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(chunk_entities_get_by_keyword), doc_ids, banned_ids), timeout=3) + chunk_entities_get_by_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(chunk_entities_get_by_keyword), doc_ids, banned_ids), timeout=10) end_time = time.time() logging.info(f"[KeywordVectorSearcher] 向量检索成功完成,耗时: {end_time - start_time:.2f}秒") break diff --git a/data_chain/rag/query_extend_searcher.py b/data_chain/rag/query_extend_searcher.py index a09f660..1628ebe 100644 --- a/data_chain/rag/query_extend_searcher.py +++ b/data_chain/rag/query_extend_searcher.py @@ -61,7 +61,7 @@ class QueryExtendSearcher(BaseSearcher): chunk_entities_get_by_vector = [] for _ in range(3): try: - chunk_entities_get_by_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(chunk_entities_get_by_keyword), doc_ids, banned_ids), timeout=3) + chunk_entities_get_by_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(chunk_entities_get_by_keyword), doc_ids, banned_ids), timeout=10) break except Exception as e: err = f"[KeywordVectorSearcher] 向量检索失败,error: {e}" diff --git a/data_chain/rag/vector_searcher.py b/data_chain/rag/vector_searcher.py index dad5e86..3b65fd7 100644 --- a/data_chain/rag/vector_searcher.py +++ b/data_chain/rag/vector_searcher.py @@ -29,7 +29,7 @@ class VectorSearcher(BaseSearcher): chunk_entities = [] for _ in range(3): try: - chunk_entities = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k, doc_ids, banned_ids), timeout=3) + chunk_entities = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k, doc_ids, banned_ids), timeout=10) break except Exception as e: err = f"[VectorSearcher] 向量检索失败,error: {e}" -- Gitee From 2bcd7fe7a9ca2c6a82978433677ad83c9454dce0 Mon Sep 17 00:00:00 2001 From: zxstty Date: Tue, 26 Aug 2025 20:15:30 +0800 Subject: [PATCH 15/43] =?UTF-8?q?=E5=A2=9E=E5=8A=A0ocr=20server&=E5=AE=8C?= =?UTF-8?q?=E5=96=84rag=E7=9A=84=E8=BF=9C=E7=A8=8Bocr=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/config/config.py | 3 + data_chain/ocr_server/server.py | 136 ++++++++++++++++++++++++++++ data_chain/ocr_server/test.jpg | Bin 0 -> 47119 bytes data_chain/ocr_server/test.py | 52 +++++++++++ data_chain/parser/tools/ocr_tool.py | 6 ++ 5 files changed, 197 insertions(+) create mode 100644 data_chain/ocr_server/server.py create mode 100644 data_chain/ocr_server/test.jpg create mode 100644 data_chain/ocr_server/test.py diff --git a/data_chain/config/config.py b/data_chain/config/config.py index 4d9678d..2565e0d 100644 --- a/data_chain/config/config.py +++ b/data_chain/config/config.py @@ -71,6 +71,9 @@ class ConfigModel(DictBaseModel): USE_CPU_LIMIT: int = Field(default=64, description="文档解析器使用CPU核数") # Task Retry Time limit TASK_RETRY_TIME_LIMIT: int = Field(default=3, description="任务重试次数限制") + # Ocr Method + OCR_METHOD: str = Field(default="offline", description="ocr识别方式,online or offline") + OCR_API_URL: str = Field(default="", description="ocr在线识别接口地址", pattern=r'^https?://.+') class Config: diff --git a/data_chain/ocr_server/server.py b/data_chain/ocr_server/server.py new file mode 100644 index 0000000..6f83146 --- /dev/null +++ b/data_chain/ocr_server/server.py @@ -0,0 +1,136 @@ +from typing import Any +from pydantic import BaseModel +from fastapi import FastAPI, UploadFile, File +from fastapi.responses import JSONResponse +import logging +import os +import aiofiles +import cv2 +import numpy as np +from paddleocr import PaddleOCR +import uuid +from datetime import datetime + + +class ResponseData(BaseModel): + """基础返回数据结构""" + + code: int + message: str + result: list + + +# 配置日志 +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) + +# 初始化FastAPI应用 +app = FastAPI() + +# 创建保存上传文件的目录 +UPLOAD_DIR = "uploaded_files" +os.makedirs(UPLOAD_DIR, exist_ok=True) + +# 初始化PaddleOCR,使用角度分类,中文识别 +ocr = PaddleOCR(use_angle_cls=True, lang="ch") + + +@app.get("/ocr", response_model=ResponseData) +async def ocr_recognition(file: UploadFile = File(...)) -> JSONResponse: + """ + 接收上传的图片文件,先保存到本地,再进行OCR识别并返回结果字符串 + """ + try: + # 生成唯一的文件名,避免冲突 + timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") + file_extension = os.path.splitext(file.filename)[1] + unique_filename = f"{timestamp}_{uuid.uuid4().hex[:8]}{file_extension}" + file_path = os.path.join(UPLOAD_DIR, unique_filename) + + # 异步保存文件到本地 + async with aiofiles.open(file_path, 'wb') as out_file: + content = await file.read() # 读取文件内容 + await out_file.write(content) # 写入到本地文件 + + logger.info(f"文件已保存到: {file_path}, 大小: {len(content)} bytes") + + # 使用cv2读取本地文件 + image = cv2.imread(file_path) + if image is None: + if os.path.exists(file_path): + os.remove(file_path) + logger.error("无法读取上传的图片文件,可能格式不支持或文件损坏") + return JSONResponse( + status_code=400, + content=ResponseData( + code=400, + message="无法读取上传的图片文件,可能格式不支持或文件损坏", + result=[] + ).model_dump(exclude_none=True) + ) + + logger.info(f"图片读取成功,尺寸: {image.shape}") + + # 进行OCR识别 + # PaddleOCR可以直接处理numpy数组(cv2格式) + result = ocr.ocr(image) + logger.info(f"OCR识别完成,结果数量: {len(result)}") + if not result: + if os.path.exists(file_path): + os.remove(file_path) + return JSONResponse( + status_code=200, + content=ResponseData( + code=200, + message="OCR识别完成,但未识别到任何文本", + result=[] + ).model_dump(exclude_none=True) + ) + if not result[0]: + if os.path.exists(file_path): + os.remove(file_path) + return JSONResponse( + status_code=200, + content=ResponseData( + code=200, + message="OCR识别完成,但未识别到任何文本", + result=[] + ).model_dump(exclude_none=True) + ) + if not result[0]: + if os.path.exists(file_path): + os.remove(file_path) + return JSONResponse( + status_code=200, + content=ResponseData( + code=200, + message="OCR识别完成,但未识别到任何文本", + result=[] + ).model_dump(exclude_none=True) + ) + if os.path.exists(file_path): + os.remove(file_path) + return JSONResponse( + status_code=200, + content=ResponseData( + code=200, + message="OCR识别成功", + result=result + ).model_dump(exclude_none=True) + ) + + except Exception as e: + os.remove(file_path) + logger.error(f"处理过程出错: {str(e)}", exc_info=True) + return JSONResponse( + status_code=500, + content=ResponseData( + code=500, + message=f"处理过程出错: {str(e)}", + result=[] + ).model_dump(exclude_none=True) + ) +if __name__ == "__main__": + import uvicorn + # 在9999端口启动服务,允许外部访问 + uvicorn.run(app, host="0.0.0.0", port=9999) diff --git a/data_chain/ocr_server/test.jpg b/data_chain/ocr_server/test.jpg new file mode 100644 index 0000000000000000000000000000000000000000..614fa5c83ed355d60a1119a32ee74300648845c6 GIT binary patch literal 47119 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 Lv{7iz_h list: try: # 打开图片 + if config['OCR_METHOD'] == 'online' and config['OCR_API_URL']: + result = requests.get(config['OCR_API_URL'], files={'file': ( + image_path, open(image_path, 'rb'), 'image/jpeg')}).json() + return result.get("result", []) if OcrTool.model is None: err = "[OCRTool] 当前机器不支持 AVX-512,无法进行OCR识别" logging.error(err) -- Gitee From 49d50b4a38baf29bd650c3cf5d75630ef1eaa3b8 Mon Sep 17 00:00:00 2001 From: zxstty Date: Thu, 28 Aug 2025 11:55:01 +0800 Subject: [PATCH 16/43] =?UTF-8?q?=E5=AE=8C=E5=96=84ocr-server?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ocr_server/init.py | 6 +++ .../ocr_server => ocr_server}/server.py | 47 ++++++++++++------ .../ocr_server => ocr_server}/test.jpg | Bin {data_chain/ocr_server => ocr_server}/test.py | 0 4 files changed, 37 insertions(+), 16 deletions(-) create mode 100644 ocr_server/init.py rename {data_chain/ocr_server => ocr_server}/server.py (71%) rename {data_chain/ocr_server => ocr_server}/test.jpg (100%) rename {data_chain/ocr_server => ocr_server}/test.py (100%) diff --git a/ocr_server/init.py b/ocr_server/init.py new file mode 100644 index 0000000..19012fa --- /dev/null +++ b/ocr_server/init.py @@ -0,0 +1,6 @@ +from paddleocr import PaddleOCR +import cv2 +ocr = PaddleOCR(use_angle_cls=True, lang="ch") +image_path = 'test.jpg' +image = cv2.imread(image_path) +result = ocr.predict(image) diff --git a/data_chain/ocr_server/server.py b/ocr_server/server.py similarity index 71% rename from data_chain/ocr_server/server.py rename to ocr_server/server.py index 6f83146..39ea310 100644 --- a/data_chain/ocr_server/server.py +++ b/ocr_server/server.py @@ -11,6 +11,14 @@ from paddleocr import PaddleOCR import uuid from datetime import datetime +import os +# 强制离线模式 +os.environ["PADDLEX_OFFLINE"] = "True" +# 禁用Paddle的网络请求 +os.environ["PADDLE_NO_NETWORK"] = "True" +# 指定模型缓存路径(确保已放置模型) +os.environ["PADDLEX_HOME"] = "/root/.paddlex" + class ResponseData(BaseModel): """基础返回数据结构""" @@ -32,7 +40,19 @@ UPLOAD_DIR = "uploaded_files" os.makedirs(UPLOAD_DIR, exist_ok=True) # 初始化PaddleOCR,使用角度分类,中文识别 -ocr = PaddleOCR(use_angle_cls=True, lang="ch") +ocr = PaddleOCR( + # 1. 指定本地文本检测模型目录(PP-OCRv5_server_det) + text_detection_model_dir="/root/.paddlex/official_models/PP-OCRv5_server_det", + # 2. 指定本地文本识别模型目录(PP-OCRv5_server_rec) + text_recognition_model_dir="/root/.paddlex/official_models/PP-OCRv5_server_rec", + # (可选)若需要文档方向分类/文本行方向分类,也可指定对应本地模型 + doc_orientation_classify_model_dir="/root/.paddlex/official_models/PP-LCNet_x1_0_doc_ori", + textline_orientation_model_dir="/root/.paddlex/official_models/PP-LCNet_x1_0_textline_ori", + # (可选)关闭不需要的功能(如文档矫正,根据需求调整) + use_doc_unwarping=False, # 若不需要 UVDoc 文档矫正,可关闭 + lang=None, # 因已指定本地模型,lang/ocr_version 会被自动忽略(符合原代码逻辑) + ocr_version=None +) @app.get("/ocr", response_model=ResponseData) @@ -73,8 +93,7 @@ async def ocr_recognition(file: UploadFile = File(...)) -> JSONResponse: # 进行OCR识别 # PaddleOCR可以直接处理numpy数组(cv2格式) - result = ocr.ocr(image) - logger.info(f"OCR识别完成,结果数量: {len(result)}") + result = ocr.predict(image) if not result: if os.path.exists(file_path): os.remove(file_path) @@ -97,17 +116,12 @@ async def ocr_recognition(file: UploadFile = File(...)) -> JSONResponse: result=[] ).model_dump(exclude_none=True) ) - if not result[0]: - if os.path.exists(file_path): - os.remove(file_path) - return JSONResponse( - status_code=200, - content=ResponseData( - code=200, - message="OCR识别完成,但未识别到任何文本", - result=[] - ).model_dump(exclude_none=True) - ) + rec_texts = result[0].get("rec_texts", []) + rec_scores = result[0].get("rec_scores", []) + rec_polys = result[0].get("rec_polys", []) + rt = [[]] + for i, text in enumerate(rec_texts): + rt[0].append([rec_polys[i].tolist(), [text, float(f"{rec_scores[i]:.4f}")]]) if os.path.exists(file_path): os.remove(file_path) return JSONResponse( @@ -115,12 +129,13 @@ async def ocr_recognition(file: UploadFile = File(...)) -> JSONResponse: content=ResponseData( code=200, message="OCR识别成功", - result=result + result=rt ).model_dump(exclude_none=True) ) except Exception as e: - os.remove(file_path) + if os.path.exists(file_path): + os.remove(file_path) logger.error(f"处理过程出错: {str(e)}", exc_info=True) return JSONResponse( status_code=500, diff --git a/data_chain/ocr_server/test.jpg b/ocr_server/test.jpg similarity index 100% rename from data_chain/ocr_server/test.jpg rename to ocr_server/test.jpg diff --git a/data_chain/ocr_server/test.py b/ocr_server/test.py similarity index 100% rename from data_chain/ocr_server/test.py rename to ocr_server/test.py -- Gitee From 5b3a2e557b0426f88624e21974f7163341fdfed8 Mon Sep 17 00:00:00 2001 From: zxstty Date: Thu, 28 Aug 2025 11:57:12 +0800 Subject: [PATCH 17/43] =?UTF-8?q?=E5=A2=9E=E5=8A=A0ocr=20server=E7=9A=84re?= =?UTF-8?q?quirements.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ocr_server/requiremenets.text | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 ocr_server/requiremenets.text diff --git a/ocr_server/requiremenets.text b/ocr_server/requiremenets.text new file mode 100644 index 0000000..0066d61 --- /dev/null +++ b/ocr_server/requiremenets.text @@ -0,0 +1,5 @@ +aiofiles 24.1.0 +fastapi 0.116.1 +paddleocr 3.2.0 +paddlepaddle 3.1.1 +uvicorn 0.35.0 \ No newline at end of file -- Gitee From 927df65f2813b8fa280d9ac26408e54bbc84c590 Mon Sep 17 00:00:00 2001 From: zxstty Date: Thu, 28 Aug 2025 14:46:09 +0800 Subject: [PATCH 18/43] =?UTF-8?q?=E5=AE=8C=E5=96=84requirement.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ocr_server/requiremenets.txt | 61 ++++++++++++++++++++++++++++++++++++ ocr_server/server.py | 3 +- 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 ocr_server/requiremenets.txt diff --git a/ocr_server/requiremenets.txt b/ocr_server/requiremenets.txt new file mode 100644 index 0000000..d61d990 --- /dev/null +++ b/ocr_server/requiremenets.txt @@ -0,0 +1,61 @@ +aiofiles==24.1.0 +aistudio_sdk==0.3.5 +annotated-types==0.7.0 +anyio==4.10.0 +bce-python-sdk==0.9.42 +certifi==2025.8.3 +chardet==5.2.0 +charset-normalizer==3.4.3 +click==8.2.1 +colorlog==6.9.0 +fastapi==0.116.1 +filelock==3.19.1 +fsspec==2025.7.0 +future==1.0.0 +h11==0.16.0 +hf-xet==1.1.8 +httpcore==1.0.9 +httpx==0.28.1 +huggingface-hub==0.34.4 +idna==3.10 +imagesize==1.4.1 +mdc==1.2.1 +modelscope==1.29.1 +networkx==3.5 +numpy==2.3.2 +opencv-contrib-python==4.10.0.84 +opt-einsum==3.3.0 +packaging==25.0 +paddleocr==3.2.0 +paddlepaddle==3.1.1 +paddlex==3.2.0 +pandas==2.3.2 +pillow==11.3.0 +prettytable==3.16.0 +protobuf==6.32.0 +py-cpuinfo==9.0.0 +pyclipper==1.3.0.post6 +pycryptodome==3.23.0 +pydantic==2.11.7 +pydantic_core==2.33.2 +pypdfium2==4.30.0 +python-dateutil==2.9.0.post0 +python-json-logger==2.0.7 +python-multipart==0.0.20 +pytz==2025.2 +PyYAML==6.0.2 +requests==2.32.5 +ruamel.yaml==0.18.15 +ruamel.yaml.clib==0.2.12 +shapely==2.1.1 +six==1.17.0 +sniffio==1.3.1 +starlette==0.47.3 +tqdm==4.67.1 +typing-inspection==0.4.1 +typing_extensions==4.15.0 +tzdata==2025.2 +ujson==5.11.0 +urllib3==2.5.0 +uvicorn==0.35.0 +wcwidth==0.2.13 diff --git a/ocr_server/server.py b/ocr_server/server.py index 39ea310..3b53d95 100644 --- a/ocr_server/server.py +++ b/ocr_server/server.py @@ -51,7 +51,8 @@ ocr = PaddleOCR( # (可选)关闭不需要的功能(如文档矫正,根据需求调整) use_doc_unwarping=False, # 若不需要 UVDoc 文档矫正,可关闭 lang=None, # 因已指定本地模型,lang/ocr_version 会被自动忽略(符合原代码逻辑) - ocr_version=None + ocr_version=None, + device="npu:0" ) -- Gitee From d03ab8159cc61c8c6e546ec7ed6e8917d149fb55 Mon Sep 17 00:00:00 2001 From: zxstty Date: Thu, 28 Aug 2025 15:16:04 +0800 Subject: [PATCH 19/43] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=96=87=E6=A1=A3ocr?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apps/base/task/worker/parse_document_worker.py | 11 +++++------ data_chain/parser/tools/ocr_tool.py | 6 +++--- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/data_chain/apps/base/task/worker/parse_document_worker.py b/data_chain/apps/base/task/worker/parse_document_worker.py index 67d9e3d..dd7db4e 100644 --- a/data_chain/apps/base/task/worker/parse_document_worker.py +++ b/data_chain/apps/base/task/worker/parse_document_worker.py @@ -272,18 +272,17 @@ class ParseDocumentWorker(BaseWorker): index += 1024 @staticmethod - async def ocr_from_parse_image(parse_result: ParseResult, llm: LLM = None) -> None: + async def ocr_from_parse_image(parse_result: ParseResult, image_path: str, llm: LLM = None) -> None: '''从解析图片中获取ocr''' async def _ocr(node: ParseNode) -> None: try: - img_blob = node.content - image = Image.open(io.BytesIO(img_blob)) - img_np = np.array(image) image_related_text = '' for related_node in node.link_nodes: if related_node.type != ChunkType.IMAGE: image_related_text += related_node.content + '\n' - ocr_result = (await OcrTool.image_to_text(img_np, image_related_text, llm)) + extension = ImageTool.get_image_type(node.content) + image_file_path = os.path.join(image_path, str(node.id) + '.' + extension) + ocr_result = (await OcrTool.image_to_text(image_file_path, image_related_text, llm)) node.text_feature = ocr_result node.content = ocr_result except Exception as e: @@ -549,7 +548,7 @@ class ParseDocumentWorker(BaseWorker): await ParseDocumentWorker.upload_parse_image_to_minio_and_postgres(parse_result, doc_entity, image_path) current_stage += 1 await ParseDocumentWorker.report(task_id, '上传解析图片', current_stage, stage_cnt) - await ParseDocumentWorker.ocr_from_parse_image(parse_result, llm) + await ParseDocumentWorker.ocr_from_parse_image(parse_result, image_path, llm) current_stage += 1 await ParseDocumentWorker.report(task_id, 'OCR图片', current_stage, stage_cnt) await ParseDocumentWorker.merge_and_split_text(parse_result, doc_entity) diff --git a/data_chain/parser/tools/ocr_tool.py b/data_chain/parser/tools/ocr_tool.py index b3b7222..9c7fb8c 100644 --- a/data_chain/parser/tools/ocr_tool.py +++ b/data_chain/parser/tools/ocr_tool.py @@ -16,7 +16,7 @@ class OcrTool: rec_model_dir = 'data_chain/parser/model/ocr/ch_PP-OCRv4_rec_infer' cls_model_dir = 'data_chain/parser/model/ocr/ch_ppocr_mobile_v2.0_cls_infer' # 优化 OCR 参数配置 - if InstructScanTool.check_avx512_support(): + if InstructScanTool.check_avx512_support() and config['OCR_METHOD'] == "offline": from paddleocr import PaddleOCR model = PaddleOCR( det_model_dir=det_model_dir, @@ -104,13 +104,13 @@ class OcrTool: return OcrTool.merge_text_from_ocr_result(ocr_result) @staticmethod - async def image_to_text(image: np.ndarray, image_related_text: str = '', llm: LLM = None) -> str: + async def image_to_text(image_file_path: str, image_related_text: str = '', llm: LLM = None) -> str: try: if OcrTool.model is None: err = "[OCRTool] 当前机器不支持 AVX-512,无法进行OCR识别" logging.error(err) return '' - ocr_result = await OcrTool.ocr_from_image(image) + ocr_result = await OcrTool.ocr_from_image_path(image_file_path) if ocr_result is None: return '' if llm is None: -- Gitee From f0e5774a0278f5e6957d0888eca2b4d97cca44bd Mon Sep 17 00:00:00 2001 From: zxstty Date: Thu, 28 Aug 2025 15:30:50 +0800 Subject: [PATCH 20/43] =?UTF-8?q?=E4=BF=AE=E5=A4=8Docr=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/parser/tools/ocr_tool.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/data_chain/parser/tools/ocr_tool.py b/data_chain/parser/tools/ocr_tool.py index 9c7fb8c..872588e 100644 --- a/data_chain/parser/tools/ocr_tool.py +++ b/data_chain/parser/tools/ocr_tool.py @@ -106,10 +106,6 @@ class OcrTool: @staticmethod async def image_to_text(image_file_path: str, image_related_text: str = '', llm: LLM = None) -> str: try: - if OcrTool.model is None: - err = "[OCRTool] 当前机器不支持 AVX-512,无法进行OCR识别" - logging.error(err) - return '' ocr_result = await OcrTool.ocr_from_image_path(image_file_path) if ocr_result is None: return '' -- Gitee From ff71ec991d80676597a4f110ef79cbc1e4943f14 Mon Sep 17 00:00:00 2001 From: zxstty Date: Thu, 28 Aug 2025 22:05:40 +0800 Subject: [PATCH 21/43] =?UTF-8?q?=E5=BC=80=E5=8F=91=E5=AE=9E=E6=97=B6?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E8=A7=A3=E6=9E=90=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/apps/router/document.py | 10 +++++ data_chain/apps/service/document_service.py | 40 ++++++++++++++++++ data_chain/entities/request_data.py | 46 ++++++++++----------- data_chain/entities/response_data.py | 8 +++- data_chain/parser/parse_result.py | 1 + 5 files changed, 81 insertions(+), 24 deletions(-) diff --git a/data_chain/apps/router/document.py b/data_chain/apps/router/document.py index ee5921f..bdc0661 100644 --- a/data_chain/apps/router/document.py +++ b/data_chain/apps/router/document.py @@ -22,6 +22,7 @@ from data_chain.entities.response_data import ( GetDocumentReportResponse, UploadDocumentResponse, ParseDocumentResponse, + ParseDocumentRealTimeResponse, UpdateDocumentResponse, DeleteDocumentResponse, GetTemporaryDocumentStatusResponse, @@ -136,6 +137,15 @@ async def parse_docuement_by_doc_ids( return ParseDocumentResponse(result=doc_ids) +@router.post('/parse/realtime', response_model=ParseDocumentRealTimeResponse, dependencies=[Depends(verify_user)]) +async def parse_docuement_realtime( + user_sub: Annotated[str, Depends(get_user_sub)], + docs: list[UploadFile] = File(...) +): + doc_contents = await DocumentService.parse_docs_realtime(docs) + return ParseDocumentRealTimeResponse(result=doc_contents) + + @router.put('', response_model=UpdateDocumentResponse, dependencies=[Depends(verify_user)]) async def update_doc_by_doc_id( user_sub: Annotated[str, Depends(get_user_sub)], diff --git a/data_chain/apps/service/document_service.py b/data_chain/apps/service/document_service.py index dfe65b9..5490d06 100644 --- a/data_chain/apps/service/document_service.py +++ b/data_chain/apps/service/document_service.py @@ -4,7 +4,9 @@ from fastapi import APIRouter, Depends, Query, Body, File, UploadFile import uuid import traceback import shutil +from typing import Union import os +import hashlib from data_chain.entities.request_data import ( ListDocumentRequest, UploadTemporaryRequest, @@ -30,6 +32,8 @@ from data_chain.stores.minio.minio import MinIO from data_chain.entities.enum import ParseMethod, DataSetStatus, DocumentStatus, TaskType, TaskStatus from data_chain.entities.common import DOC_PATH_IN_OS, DOC_PATH_IN_MINIO, REPORT_PATH_IN_MINIO, DEFAULT_KNOWLEDGE_BASE_ID, DEFAULT_DOC_TYPE_ID from data_chain.logger.logger import logger as logging +from data_chain.parser.parse_result import ParseResult +from data_chain.parser.handler.base_parser import BaseParser class DocumentService: @@ -379,6 +383,42 @@ class DocumentService: logging.exception("[DocumentService] %s", err) raise e + @staticmethod + async def parse_docs_realtime(docs: list[UploadFile]) -> list[Union[ParseResult, None]]: + """实时解析文档""" + parse_results = [] + tmp_path = os.path.join(DOC_PATH_IN_OS, str(uuid.uuid4())) + for doc in docs: + try: + if os.path.exists(tmp_path): + shutil.rmtree(tmp_path) + os.makedirs(tmp_path) + doc_path = os.path.join(tmp_path, doc.filename) + doc_hash = None + async with aiofiles.open(doc_path, "wb") as f: + content = await doc.read() + doc_hash = await hashlib.sha256(content).hexdigest() + await f.write(content) + # 获取文件扩展名 + extension = doc.filename.split('.')[-1] + if not extension: + parse_results.append(None) + if os.path.exists(tmp_path): + shutil.rmtree(tmp_path) + continue + parse_result = await BaseParser.parser(extension, tmp_path) + parse_result.doc_hash = doc_hash[64:] + parse_results.append(parse_result) + if os.path.exists(tmp_path): + shutil.rmtree(tmp_path) + except Exception as e: + err = f"实时解析文档失败, 文档名: {doc.filename}, 错误信息: {e}" + logging.error("[DocumentService] %s", err) + parse_results.append(None) + if os.path.exists(tmp_path): + shutil.rmtree(tmp_path) + return parse_results + @staticmethod async def update_doc(doc_id: uuid.UUID, req: UpdateDocumentRequest) -> uuid.UUID: """更新文档""" diff --git a/data_chain/entities/request_data.py b/data_chain/entities/request_data.py index 0c0b582..6a171b1 100644 --- a/data_chain/entities/request_data.py +++ b/data_chain/entities/request_data.py @@ -48,20 +48,20 @@ class ListTeamUserRequest(BaseModel): class CreateTeamRequest(BaseModel): - team_name: str = Field(default='这是一个默认的团队名称', min_length=1, max_length=30, alias="teamName") - description: str = Field(default='', max_length=150) + team_name: str = Field(default='这是一个默认的团队名称', min_length=1, max_length=256, alias="teamName") + description: str = Field(default='', max_length=256) is_public: bool = Field(default=False, alias="isPublic") class UpdateTeamRequest(BaseModel): - team_name: str = Field(default='这是一个默认的团队名称', min_length=1, max_length=30, alias="teamName") - description: str = Field(default='', max_length=150) + team_name: str = Field(default='这是一个默认的团队名称', min_length=1, max_length=256, alias="teamName") + description: str = Field(default='', max_length=256) is_public: bool = Field(default=False, alias="isPublic") class DocumentType(BaseModel): doc_type_id: uuid.UUID = Field(description="文档类型的id", alias="docTypeId") - doc_type_name: str = Field(default='这是一个默认的文档类型名称', min_length=1, max_length=20, alias="docTypeName") + doc_type_name: str = Field(default='这是一个默认的文档类型名称', min_length=1, max_length=256, alias="docTypeName") class ListKnowledgeBaseRequest(BaseModel): @@ -74,8 +74,8 @@ class ListKnowledgeBaseRequest(BaseModel): class CreateKnowledgeBaseRequest(BaseModel): - kb_name: str = Field(default='这是一个默认的资产名称', min_length=1, max_length=20, alias="kbName") - description: str = Field(default='', max_length=150) + kb_name: str = Field(default='这是一个默认的资产名称', min_length=1, max_length=256, alias="kbName") + description: str = Field(default='', max_length=256) tokenizer: Tokenizer = Field(default=Tokenizer.ZH) embedding_model: str = Field(default='', description="知识库使用的embedding模型", alias="embeddingModel") default_chunk_size: int = Field(default=512, description="知识库默认文件分块大小", alias="defaultChunkSize", min=128, max=2048) @@ -87,8 +87,8 @@ class CreateKnowledgeBaseRequest(BaseModel): class UpdateKnowledgeBaseRequest(BaseModel): - kb_name: str = Field(default='这是一个默认的资产名称', min_length=1, max_length=30, alias="kbName") - description: str = Field(default='', max_length=150) + kb_name: str = Field(default='这是一个默认的资产名称', min_length=1, max_length=256, alias="kbName") + description: str = Field(default='', max_length=256) tokenizer: Tokenizer = Field(default=Tokenizer.ZH) default_chunk_size: int = Field(default=512, description="知识库默认文件分块大小", alias="defaultChunkSize", min=128, max=2048) default_parse_method: ParseMethod = Field( @@ -115,7 +115,7 @@ class ListDocumentRequest(BaseModel): class UpdateDocumentRequest(BaseModel): - doc_name: str = Field(default='这是一个默认的文档名称', min_length=1, max_length=150, alias="docName") + doc_name: str = Field(default='这是一个默认的文档名称', min_length=1, max_length=256, alias="docName") doc_type_id: uuid.UUID = Field(default=DEFAULT_DOC_TYPE_ID, description="文档类型的id", alias="docTypeId") parse_method: ParseMethod = Field( default=ParseMethod.GENERAL, description="知识库默认解析方法", alias="parseMethod") @@ -129,7 +129,7 @@ class GetTemporaryDocumentStatusRequest(BaseModel): class TemporaryDocument(BaseModel): id: uuid.UUID = Field(description="临时文档id", alias="id") - name: str = Field(default='这是一个默认的临时文档名称', min_length=1, max_length=150, alias="name") + name: str = Field(default='这是一个默认的临时文档名称', min_length=1, max_length=256, alias="name") bucket_name: str = Field(default='default', description="临时文档存储的桶名称") type: str = Field(default='txt', description="临时文档的类型", alias="type") @@ -194,8 +194,8 @@ class ListDataInDatasetRequest(BaseModel): class CreateDatasetRequest(BaseModel): kb_id: uuid.UUID = Field(description="资产id", alias="kbId") dataset_name: str = Field(default='这是一个默认的数据集名称', description="测试数据集名称", - min_length=1, max_length=30, alias="datasetName") - description: str = Field(default='', description="测试数据集简介", max_length=200) + min_length=1, max_length=256, alias="datasetName") + description: str = Field(default='', description="测试数据集简介", max_length=256) document_ids: List[uuid.UUID] = Field(default=[], description="测试数据集关联的文档", alias="documentIds") data_cnt: int = Field(default=64, alias="dataCnt", description="测试数据集内的数据数量", min=1, max=512) llm_id: str = Field(description="测试数据集使用的大模型id", alias="llmId") @@ -205,15 +205,15 @@ class CreateDatasetRequest(BaseModel): class UpdateDatasetRequest(BaseModel): dataset_name: str = Field(default='这是一个默认的数据集名称', description="测试数据集名称", - min_length=1, max_length=30, alias="datasetName") - description: str = Field(default='', description="测试数据集简介", max_length=200) + min_length=1, max_length=256, alias="datasetName") + description: str = Field(default='', description="测试数据集简介", max_length=256) class UpdateDataRequest(BaseModel): question: str = Field(default='这是一个默认的问题', description="问题", - min_length=1, max_length=200, alias="question") + min_length=1, max_length=256, alias="question") answer: str = Field(default='这是一个默认的答案', description="答案", - min_length=1, max_length=1024, alias="answer") + min_length=1, max_length=4096, alias="answer") class ListTestingRequest(BaseModel): @@ -237,8 +237,8 @@ class ListTestCaseRequest(BaseModel): class CreateTestingRequest(BaseModel): testing_name: str = Field(default='这是一个默认的测试名称', description="测试名称", - min_length=1, max_length=30, alias="testingName") - description: str = Field(default='', description="测试简介", max_length=200) + min_length=1, max_length=256, alias="testingName") + description: str = Field(default='', description="测试简介", max_length=256) dataset_id: uuid.UUID = Field(description="测试数据集id", alias="datasetId") llm_id: str = Field(description="测试使用的大模型id", alias="llmId") search_method: SearchMethod = Field(default=SearchMethod.KEYWORD_AND_VECTOR, @@ -248,8 +248,8 @@ class CreateTestingRequest(BaseModel): class UpdateTestingRequest(BaseModel): testing_name: str = Field(default='这是一个默认的测试名称', description="测试名称", - min_length=1, max_length=150, alias="testingName") - description: str = Field(default='', description="测试简介", max_length=200) + min_length=1, max_length=256, alias="testingName") + description: str = Field(default='', description="测试简介", max_length=256) llm_id: str = Field(description="测试使用的大模型id", alias="llmId") search_method: SearchMethod = Field(default=SearchMethod.KEYWORD_AND_VECTOR, description="测试使用的检索方法", alias="searchMethod") @@ -265,12 +265,12 @@ class ListRoleRequest(BaseModel): class CreateRoleRequest(BaseModel): - role_name: str = Field(default='这是一个默认的角色名称', min_length=1, max_length=30, alias="roleName") + role_name: str = Field(default='这是一个默认的角色名称', min_length=1, max_length=256, alias="roleName") actions: List[str] = Field(default=[], description="角色拥有的操作的列表", alias="actions") class UpdateRoleRequest(BaseModel): - role_name: str = Field(default='这是一个默认的角色名称', min_length=1, max_length=30, alias="roleName") + role_name: str = Field(default='这是一个默认的角色名称', min_length=1, max_length=256, alias="roleName") actions: List[str] = Field(default=[], description="角色拥有的操作的列表", alias="actions") diff --git a/data_chain/entities/response_data.py b/data_chain/entities/response_data.py index bb70070..c19c6bf 100644 --- a/data_chain/entities/response_data.py +++ b/data_chain/entities/response_data.py @@ -1,6 +1,6 @@ # Copyright (c) Huawei Technologies Co., Ltd. 2023-2025. All rights reserved. -from typing import Any, Optional +from typing import Any, Optional, Union from pydantic import BaseModel, Field import uuid @@ -24,6 +24,7 @@ from data_chain.entities.enum import ( TaskType, TaskStatus, OrderType) +from data_chain.parser.parse_result import ParseResult class ResponseData(BaseModel): @@ -283,6 +284,11 @@ class ParseDocumentResponse(ResponseData): result: list[uuid.UUID] = Field(default=[], description="文档ID列表") +class ParseDocumentRealTimeResponse(ResponseData): + """POST /doc/parse/realtime 响应""" + result: list[Union[ParseResult, None]] = Field(default=[], description="文档内容列表") + + class UpdateDocumentResponse(ResponseData): """PUT /doc 响应""" result: uuid.UUID = Field(default=None, description="文档ID") diff --git a/data_chain/parser/parse_result.py b/data_chain/parser/parse_result.py index b69e3f4..1f4db21 100644 --- a/data_chain/parser/parse_result.py +++ b/data_chain/parser/parse_result.py @@ -24,5 +24,6 @@ class ParseNode(BaseModel): class ParseResult(BaseModel): """解析结果""" + doc_hash: str = Field(default='', description="文档hash值") parse_topology_type: DocParseRelutTopology = Field(..., description="解析拓扑类型") nodes: list[ParseNode] = Field(..., description="节点列表") -- Gitee From 387ff13e83a1f9369b0e69ed1b1cf734e1f3af08 Mon Sep 17 00:00:00 2001 From: zxstty Date: Thu, 28 Aug 2025 22:37:38 +0800 Subject: [PATCH 22/43] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E8=A7=A3=E6=9E=90=E5=8F=AF=E4=BB=A5=E6=8C=87=E5=AE=9A=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/apps/service/document_service.py | 2 +- data_chain/entities/request_data.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/data_chain/apps/service/document_service.py b/data_chain/apps/service/document_service.py index 5490d06..9ba41a7 100644 --- a/data_chain/apps/service/document_service.py +++ b/data_chain/apps/service/document_service.py @@ -222,7 +222,7 @@ class DocumentService: name=file_name, extension=extension, size=os.path.getsize(document_file_path), - parse_method=ParseMethod.OCR.value, + parse_method=doc.parse_method.value, parse_relut_topology=None, chunk_size=1024, type_id=DEFAULT_DOC_TYPE_ID, diff --git a/data_chain/entities/request_data.py b/data_chain/entities/request_data.py index 6a171b1..b070a03 100644 --- a/data_chain/entities/request_data.py +++ b/data_chain/entities/request_data.py @@ -129,6 +129,8 @@ class GetTemporaryDocumentStatusRequest(BaseModel): class TemporaryDocument(BaseModel): id: uuid.UUID = Field(description="临时文档id", alias="id") + parse_method: ParseMethod = Field( + default=ParseMethod.OCR, description="临时文档解析方法", alias="parseMethod") name: str = Field(default='这是一个默认的临时文档名称', min_length=1, max_length=256, alias="name") bucket_name: str = Field(default='default', description="临时文档存储的桶名称") type: str = Field(default='txt', description="临时文档的类型", alias="type") -- Gitee From 2af50061d827db7991a3ac4365aeb53b28f57d90 Mon Sep 17 00:00:00 2001 From: zxstty Date: Fri, 29 Aug 2025 10:56:08 +0800 Subject: [PATCH 23/43] =?UTF-8?q?=E5=BC=80=E5=8F=91rag=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=8E=9F=E5=A7=8B=E6=96=87=E6=A1=A3=E7=9A=84=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/task/worker/parse_document_worker.py | 17 +++++++++-------- data_chain/apps/router/document.py | 12 +++++++++++- data_chain/apps/service/document_service.py | 14 ++++++++++++++ data_chain/apps/service/session_service.py | 15 ++++++++++++--- data_chain/entities/response_data.py | 5 +++++ 5 files changed, 51 insertions(+), 12 deletions(-) diff --git a/data_chain/apps/base/task/worker/parse_document_worker.py b/data_chain/apps/base/task/worker/parse_document_worker.py index dd7db4e..e897c5f 100644 --- a/data_chain/apps/base/task/worker/parse_document_worker.py +++ b/data_chain/apps/base/task/worker/parse_document_worker.py @@ -425,19 +425,20 @@ class ParseDocumentWorker(BaseWorker): await dfs(parse_result.nodes[0], None, llm) @staticmethod - async def update_doc_abstract(doc_id: uuid.UUID, parse_result: ParseResult, llm: LLM = None) -> str: - '''获取文档摘要''' - abstract = "" + async def update_doc_abstract_and_full_text(doc_id: uuid.UUID, parse_result: ParseResult, llm: LLM = None) -> str: + '''获取文档摘要和全文''' + full_text = "" for node in parse_result.nodes: - abstract += node.content + full_text += node.content if llm is not None: - abstract = await TokenTool.get_abstract_by_llm(abstract, llm) + abstract = await TokenTool.get_abstract_by_llm(full_text, llm) else: - abstract = abstract[:128] + abstract = full_text[:128] abstract_vector = await Embedding.vectorize_embedding(abstract) await DocumentManager.update_document_by_doc_id( doc_id, { + "full_text": full_text, "abstract": abstract, "abstract_vector": abstract_vector } @@ -560,9 +561,9 @@ class ParseDocumentWorker(BaseWorker): await ParseDocumentWorker.embedding_chunk(parse_result) current_stage += 1 await ParseDocumentWorker.report(task_id, '嵌入chunk', current_stage, stage_cnt) - await ParseDocumentWorker.update_doc_abstract(doc_entity.id, parse_result, llm) + await ParseDocumentWorker.update_doc_abstract_and_full_text(doc_entity.id, parse_result, llm) current_stage += 1 - await ParseDocumentWorker.report(task_id, '更新文档摘要', current_stage, stage_cnt) + await ParseDocumentWorker.report(task_id, '更新文档摘要和全文', current_stage, stage_cnt) await ParseDocumentWorker.add_parse_result_to_db(parse_result, doc_entity) current_stage += 1 await ParseDocumentWorker.report(task_id, '添加解析结果到数据库', current_stage, stage_cnt) diff --git a/data_chain/apps/router/document.py b/data_chain/apps/router/document.py index bdc0661..4d76828 100644 --- a/data_chain/apps/router/document.py +++ b/data_chain/apps/router/document.py @@ -27,6 +27,7 @@ from data_chain.entities.response_data import ( DeleteDocumentResponse, GetTemporaryDocumentStatusResponse, UploadTemporaryDocumentResponse, + GetTemporaryDocumentTextResponse, DeleteTemporaryDocumentResponse ) from data_chain.apps.service.session_service import get_user_sub, verify_user @@ -137,7 +138,7 @@ async def parse_docuement_by_doc_ids( return ParseDocumentResponse(result=doc_ids) -@router.post('/parse/realtime', response_model=ParseDocumentRealTimeResponse, dependencies=[Depends(verify_user)]) +@router.post('/metadata', response_model=ParseDocumentRealTimeResponse, dependencies=[Depends(verify_user)]) async def parse_docuement_realtime( user_sub: Annotated[str, Depends(get_user_sub)], docs: list[UploadFile] = File(...) @@ -187,6 +188,15 @@ async def upload_temporary_docs( return UploadTemporaryDocumentResponse(result=doc_ids) +@router.get('/temporary/text', response_model=GetTemporaryDocumentTextResponse, + dependencies=[Depends(verify_user)]) +async def get_temporary_docs_text( + user_sub: Annotated[str, Depends(get_user_sub)], + id: Annotated[UUID, Query()]): + doc_text = await DocumentService.get_temporary_doc_text(user_sub, id) + return GetTemporaryDocumentTextResponse(result=doc_text) + + @router.post('/temporary/delete', response_model=DeleteTemporaryDocumentResponse, dependencies=[Depends(verify_user)]) async def delete_temporary_docs( user_sub: Annotated[str, Depends(get_user_sub)], diff --git a/data_chain/apps/service/document_service.py b/data_chain/apps/service/document_service.py index 9ba41a7..7ec0555 100644 --- a/data_chain/apps/service/document_service.py +++ b/data_chain/apps/service/document_service.py @@ -259,6 +259,20 @@ class DocumentService: await KnowledgeBaseManager.update_doc_cnt_and_doc_size(kb_id=DEFAULT_KNOWLEDGE_BASE_ID) return doc_ids + @staticmethod + async def get_temporary_doc_text(user_sub: str, doc_id: uuid.UUID): + """获取临时文档解析结果文本""" + doc_entity = await DocumentManager.get_document_by_doc_id(doc_id) + if doc_entity is None: + err = f"获取临时文档失败, 文档ID: {doc_id}" + logging.error("[DocumentService] %s", err) + raise ValueError(err) + if doc_entity.author_id != user_sub: + err = f"用户没有权限访问临时文档, 文档ID: {doc_entity.id}, 用户ID: {user_sub}" + logging.error("[DocumentService] %s", err) + raise PermissionError(err) + return doc_entity.full_text + @staticmethod async def delete_temporary_docs(user_sub: str, doc_ids: list[uuid.UUID]) -> list[uuid.UUID]: """删除临时文档""" diff --git a/data_chain/apps/service/session_service.py b/data_chain/apps/service/session_service.py index 1f62060..17346e1 100644 --- a/data_chain/apps/service/session_service.py +++ b/data_chain/apps/service/session_service.py @@ -22,8 +22,13 @@ class UserHTTPException(HTTPException): async def verify_user(request: HTTPConnection): """验证用户是否在Session中""" + import os if config["DEBUG"]: - return + user_sub = os.environ.get('USER') or os.environ.get('USERNAME') + if not user_sub: + user_sub = 'admin' + return user_sub + try: session_id = None auth_header = request.headers.get("Authorization") @@ -45,8 +50,12 @@ async def verify_user(request: HTTPConnection): async def get_user_sub(request: HTTPConnection) -> uuid: """从Session中获取用户""" if config["DEBUG"]: - await UserManager.add_user((await Convertor.convert_user_sub_to_user_entity('admin'))) - return "admin" + import os + user_sub = os.environ.get('USER') or os.environ.get('USERNAME') + if not user_sub: + user_sub = 'admin' + await UserManager.add_user((await Convertor.convert_user_sub_to_user_entity(user_sub))) + return user_sub else: try: session_id = None diff --git a/data_chain/entities/response_data.py b/data_chain/entities/response_data.py index c19c6bf..a81e892 100644 --- a/data_chain/entities/response_data.py +++ b/data_chain/entities/response_data.py @@ -274,6 +274,11 @@ class UploadTemporaryDocumentResponse(ResponseData): result: list[uuid.UUID] = Field(default=[], description="临时文档ID列表") +class GetTemporaryDocumentTextResponse(ResponseData): + """GET /doc/temporary/parse_result 响应""" + result: str = Field(default="", description="临时文档解析结果") + + class DeleteTemporaryDocumentResponse(ResponseData): """DELETE /doc/temporary 响应""" result: list[uuid.UUID] = Field(default=[], description="临时文档ID列表") -- Gitee From 07362551e9af2416c1a3d4a9efc5c02f85468cf9 Mon Sep 17 00:00:00 2001 From: zxstty Date: Fri, 29 Aug 2025 15:43:36 +0800 Subject: [PATCH 24/43] =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=9F=A5=E8=AF=86?= =?UTF-8?q?=E5=BA=93=E5=9B=BD=E9=99=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/task/worker/acc_testing_worker.py | 15 +- .../task/worker/generate_dataset_worker.py | 17 +- .../base/task/worker/import_dataset_worker.py | 9 +- .../base/task/worker/parse_document_worker.py | 32 +- data_chain/apps/service/llm_service.py | 145 --- data_chain/common/pp.py | 58 +- data_chain/common/prompt.yaml | 1073 +++++++++++------ data_chain/entities/enum.py | 2 +- data_chain/parser/tools/ocr_tool.py | 10 +- data_chain/parser/tools/token_tool.py | 42 +- data_chain/rag/enhanced_by_llm_searcher.py | 5 +- data_chain/rag/query_extend_searcher.py | 5 +- 12 files changed, 805 insertions(+), 608 deletions(-) delete mode 100644 data_chain/apps/service/llm_service.py diff --git a/data_chain/apps/base/task/worker/acc_testing_worker.py b/data_chain/apps/base/task/worker/acc_testing_worker.py index 48f74c9..bb00002 100644 --- a/data_chain/apps/base/task/worker/acc_testing_worker.py +++ b/data_chain/apps/base/task/worker/acc_testing_worker.py @@ -132,7 +132,9 @@ class TestingWorker(BaseWorker): return tmp_path @staticmethod - async def testing(testing_entity: TestingEntity, qa_entities: list[QAEntity], llm: LLM) -> list[TestCaseEntity]: + async def testing( + testing_entity: TestingEntity, qa_entities: list[QAEntity], + llm: LLM, language: str) -> list[TestCaseEntity]: '''测试数据集''' testcase_entities = [] with open(config['PROMPT_PATH'], 'r', encoding='utf-8') as f: @@ -181,16 +183,16 @@ class TestingWorker(BaseWorker): ) llm_answer = await llm.nostream([], prompt, question) sub_scores = [] - pre = await TokenTool.cal_precision(question, answer, llm) + pre = await TokenTool.cal_precision(question, answer, llm, language) if pre != -1: sub_scores.append(pre) - rec = await TokenTool.cal_recall(answer, llm_answer, llm) + rec = await TokenTool.cal_recall(answer, llm_answer, llm, language) if rec != -1: sub_scores.append(rec) - fai = await TokenTool.cal_faithfulness(question, llm_answer, bac_info, llm) + fai = await TokenTool.cal_faithfulness(question, llm_answer, bac_info, llm, language) if fai != -1: sub_scores.append(fai) - rel = await TokenTool.cal_relevance(question, llm_answer, llm) + rel = await TokenTool.cal_relevance(question, llm_answer, llm, language) if rel != -1: sub_scores.append(rel) lcs = TokenTool.cal_lcs(answer, llm_answer) @@ -421,7 +423,8 @@ class TestingWorker(BaseWorker): current_stage += 1 await TestingWorker.report(task_id, "初始化路径", current_stage, stage_cnt) qa_entities = await QAManager.list_all_qa_by_dataset_id(testing_entity.dataset_id) - testcase_entities = await TestingWorker.testing(testing_entity, qa_entities, llm) + knowledge_entity = await KnowledgeBaseManager.get_knowledge_base_by_kb_id(testing_entity.kb_id) + testcase_entities = await TestingWorker.testing(testing_entity, qa_entities, llm, knowledge_entity.tokenizer) current_stage += 1 await TestingWorker.report(task_id, "测试完成", current_stage, stage_cnt) testing_entity = await TestingWorker.update_testing_score(testing_entity.id, testcase_entities) diff --git a/data_chain/apps/base/task/worker/generate_dataset_worker.py b/data_chain/apps/base/task/worker/generate_dataset_worker.py index ade19b6..552cdac 100644 --- a/data_chain/apps/base/task/worker/generate_dataset_worker.py +++ b/data_chain/apps/base/task/worker/generate_dataset_worker.py @@ -15,6 +15,7 @@ from data_chain.entities.enum import TaskType, TaskStatus, KnowledgeBaseStatus, from data_chain.entities.common import DEFAULT_DOC_TYPE_ID from data_chain.parser.tools.token_tool import TokenTool from data_chain.manager.task_manager import TaskManager +from data_chain.manager.knowledge_manager import KnowledgeBaseManager from data_chain.manager.document_manager import DocumentManager from data_chain.manager.chunk_manager import ChunkManager from data_chain.manager.dataset_manager import DatasetManager @@ -116,7 +117,9 @@ class GenerateDataSetWorker(BaseWorker): return doc_chunks @staticmethod - async def generate_qa(dataset_entity: DataSetEntity, doc_chunks: list[DocChunk], llm: LLM) -> list[QAEntity]: + async def generate_qa( + dataset_entity: DataSetEntity, doc_chunks: list[DocChunk], + llm: LLM, language: str) -> list[QAEntity]: chunk_cnt = 0 for doc_chunk in doc_chunks: chunk_cnt += len(doc_chunk.chunks) @@ -138,9 +141,12 @@ class GenerateDataSetWorker(BaseWorker): random.shuffle(doc_chunks) with open(config['PROMPT_PATH'], 'r', encoding='utf-8') as f: prompt_dict = yaml.load(f, Loader=yaml.SafeLoader) - q_generate_prompt_template = prompt_dict.get('GENREATE_QUESTION_FROM_CONTENT_PROMPT', '') - answer_generate_prompt_template = prompt_dict.get('GENERATE_ANSWER_FROM_QUESTION_AND_CONTENT_PROMPT', '') - cal_qa_score_prompt_template = prompt_dict.get('CAL_QA_SCORE_PROMPT', '') + q_generate_prompt_template = prompt_dict.get('GENERATE_QUESTION_FROM_CONTENT_PROMPT', {}) + q_generate_prompt_template = q_generate_prompt_template.get(language, '') + answer_generate_prompt_template = prompt_dict.get('GENERATE_ANSWER_FROM_QUESTION_AND_CONTENT_PROMPT', {}) + answer_generate_prompt_template = answer_generate_prompt_template.get(language, '') + cal_qa_score_prompt_template = prompt_dict.get('CAL_QA_SCORE_PROMPT', {}) + cal_qa_score_prompt_template = cal_qa_score_prompt_template.get(language, '') dataset_score = 0 logging.error(f"{chunk_index_list}") exist_q_set = set() @@ -301,8 +307,9 @@ class GenerateDataSetWorker(BaseWorker): doc_chunks = await GenerateDataSetWorker.get_chunks(dataset_entity) current_stage += 1 await GenerateDataSetWorker.report(task_id, "获取文档分块信息", current_stage, stage_cnt) + knowlege_base_entity = await KnowledgeBaseManager.get_knowledge_base_by_kb_id(dataset_entity.kb_id) qa_entities = await GenerateDataSetWorker.generate_qa( - dataset_entity, doc_chunks, llm) + dataset_entity, doc_chunks, llm, knowlege_base_entity.tokenizer) current_stage += 1 await GenerateDataSetWorker.report(task_id, "生成QA", current_stage, stage_cnt) await GenerateDataSetWorker.add_qa_to_db(qa_entities) diff --git a/data_chain/apps/base/task/worker/import_dataset_worker.py b/data_chain/apps/base/task/worker/import_dataset_worker.py index e7e89e5..86b9809 100644 --- a/data_chain/apps/base/task/worker/import_dataset_worker.py +++ b/data_chain/apps/base/task/worker/import_dataset_worker.py @@ -21,6 +21,7 @@ from data_chain.manager.task_manager import TaskManager from data_chain.manager.chunk_manager import ChunkManager from data_chain.manager.dataset_manager import DatasetManager from data_chain.manager.qa_manager import QAManager +from data_chain.manager.knowledge_manager import KnowledgeBaseManager from data_chain.manager.task_queue_mamanger import TaskQueueManager from data_chain.stores.database.database import TaskEntity, DocumentEntity, DocumentTypeEntity, QAEntity, DataSetEntity, DataSetDocEntity, TaskQueueEntity from data_chain.stores.minio.minio import MinIO @@ -185,14 +186,15 @@ class ImportDataSetWorker(BaseWorker): return qa_entities @staticmethod - async def update_dataset_score(dataset_id: uuid.UUID, qa_entities: list[QAEntity], llm: LLM) -> None: + async def update_dataset_score(dataset_id: uuid.UUID, qa_entities: list[QAEntity], llm: LLM, language: str) -> None: '''更新数据集分数''' if not qa_entities: return databse_score = 0 with open(config['PROMPT_PATH'], 'r', encoding='utf-8') as f: prompt_dict = yaml.load(f, Loader=yaml.SafeLoader) - cal_qa_score_prompt_template = prompt_dict.get('CAL_QA_SCORE_PROMPT', '') + cal_qa_score_prompt_template = prompt_dict.get('CAL_QA_SCORE_PROMPT', {}) + cal_qa_score_prompt_template = cal_qa_score_prompt_template.get(language, '') for qa_entity in qa_entities: chunk = qa_entity.chunk question = qa_entity.question @@ -234,6 +236,7 @@ class ImportDataSetWorker(BaseWorker): await DatasetManager.update_dataset_by_dataset_id(dataset_entity.id, {"status": DataSetStatus.IMPORTING.value}) current_stage = 0 stage_cnt = 4 + knowlege_base_entity = await KnowledgeBaseManager.get_knowledge_base_by_kb_id(dataset_entity.kb_id) tmp_path = await ImportDataSetWorker.init_path(task_id) current_stage += 1 await ImportDataSetWorker.report(task_id, "初始化路径", current_stage, stage_cnt) @@ -243,7 +246,7 @@ class ImportDataSetWorker(BaseWorker): qa_entities = await ImportDataSetWorker.load_qa_entity_from_file(dataset_entity.id, file_path) current_stage += 1 await ImportDataSetWorker.report(task_id, "加载qa实体", current_stage, stage_cnt) - await ImportDataSetWorker.update_dataset_score(dataset_entity.id, qa_entities, llm) + await ImportDataSetWorker.update_dataset_score(dataset_entity.id, qa_entities, llm, knowlege_base_entity.tokenizer) current_stage += 1 await ImportDataSetWorker.report(task_id, "更新数据集分数", current_stage, stage_cnt) await TaskQueueManager.add_task(TaskQueueEntity(id=task_id, status=TaskStatus.SUCCESS.value)) diff --git a/data_chain/apps/base/task/worker/parse_document_worker.py b/data_chain/apps/base/task/worker/parse_document_worker.py index e897c5f..d97cb3a 100644 --- a/data_chain/apps/base/task/worker/parse_document_worker.py +++ b/data_chain/apps/base/task/worker/parse_document_worker.py @@ -154,7 +154,8 @@ class ParseDocumentWorker(BaseWorker): return str(js) @staticmethod - async def handle_parse_result(parse_result: ParseResult, doc_entity: DocumentEntity, llm: LLM = None) -> None: + async def handle_parse_result( + parse_result: ParseResult, doc_entity: DocumentEntity, llm: LLM = None, language: str = "中文") -> None: '''处理解析结果''' if doc_entity.parse_method == ParseMethod.GENERAL.value or doc_entity.parse_method == ParseMethod.QA.value: nodes = [] @@ -272,9 +273,10 @@ class ParseDocumentWorker(BaseWorker): index += 1024 @staticmethod - async def ocr_from_parse_image(parse_result: ParseResult, image_path: str, llm: LLM = None) -> None: + async def ocr_from_parse_image( + parse_result: ParseResult, image_path: str, llm: LLM = None, language: str = '中文') -> None: '''从解析图片中获取ocr''' - async def _ocr(node: ParseNode) -> None: + async def _ocr(node: ParseNode, language: str) -> None: try: image_related_text = '' for related_node in node.link_nodes: @@ -282,7 +284,7 @@ class ParseDocumentWorker(BaseWorker): image_related_text += related_node.content + '\n' extension = ImageTool.get_image_type(node.content) image_file_path = os.path.join(image_path, str(node.id) + '.' + extension) - ocr_result = (await OcrTool.image_to_text(image_file_path, image_related_text, llm)) + ocr_result = (await OcrTool.image_to_text(image_file_path, image_related_text, llm, language)) node.text_feature = ocr_result node.content = ocr_result except Exception as e: @@ -302,7 +304,7 @@ class ParseDocumentWorker(BaseWorker): for node_id in sub_image_node_ids: # 通过asyncio.create_task来异步执行OCR node = parse_result.nodes[node_id] - task_list.append(asyncio.create_task(_ocr(node))) + task_list.append(asyncio.create_task(_ocr(node, language))) await asyncio.gather(*task_list) index += group_size @@ -385,9 +387,9 @@ class ParseDocumentWorker(BaseWorker): parse_result.nodes = nodes @staticmethod - async def push_up_words_feature(parse_result: ParseResult, llm: LLM = None) -> None: + async def push_up_words_feature(parse_result: ParseResult, llm: LLM = None, language: str = '中文') -> None: '''推送上层词特征''' - async def dfs(node: ParseNode, parent_node: ParseNode, llm: LLM = None) -> None: + async def dfs(node: ParseNode, parent_node: ParseNode, llm: LLM = None, language: str = '中文') -> None: if parent_node is not None: node.pre_id = parent_node.id for child_node in node.link_nodes: @@ -404,7 +406,7 @@ class ParseDocumentWorker(BaseWorker): if sentences: content += sentences[0] + '\n' if content: - title = await TokenTool.get_title_by_llm(content, llm) + title = await TokenTool.get_title_by_llm(content, llm, language) if "无法生成标题" in title: title = '' else: @@ -422,16 +424,17 @@ class ParseDocumentWorker(BaseWorker): node.text_feature = node.title node.content = node.text_feature if parse_result.parse_topology_type == DocParseRelutTopology.TREE: - await dfs(parse_result.nodes[0], None, llm) + await dfs(parse_result.nodes[0], None, llm, language) @staticmethod - async def update_doc_abstract_and_full_text(doc_id: uuid.UUID, parse_result: ParseResult, llm: LLM = None) -> str: + async def update_doc_abstract_and_full_text( + doc_id: uuid.UUID, parse_result: ParseResult, llm: LLM = None, language: str = "中文") -> str: '''获取文档摘要和全文''' full_text = "" for node in parse_result.nodes: full_text += node.content if llm is not None: - abstract = await TokenTool.get_abstract_by_llm(full_text, llm) + abstract = await TokenTool.get_abstract_by_llm(full_text, llm, language) else: abstract = full_text[:128] abstract_vector = await Embedding.vectorize_embedding(abstract) @@ -536,6 +539,7 @@ class ParseDocumentWorker(BaseWorker): tmp_path, image_path = await ParseDocumentWorker.init_path(task_id) current_stage = 0 stage_cnt = 10 + knowledge_base_entity = await KnowledgeBaseManager.get_knowledge_base_by_kb_id(doc_entity.kb_id) await ParseDocumentWorker.download_doc_from_minio(task_entity.op_id, tmp_path) current_stage += 1 await ParseDocumentWorker.report(task_id, '下载文档', current_stage, stage_cnt) @@ -543,13 +547,13 @@ class ParseDocumentWorker(BaseWorker): parse_result = await ParseDocumentWorker.parse_doc(doc_entity, file_path) current_stage += 1 await ParseDocumentWorker.report(task_id, '解析文档', current_stage, stage_cnt) - await ParseDocumentWorker.handle_parse_result(parse_result, doc_entity, llm) + await ParseDocumentWorker.handle_parse_result(parse_result, doc_entity, llm, knowledge_base_entity.tokenizer) current_stage += 1 await ParseDocumentWorker.report(task_id, '处理解析结果', current_stage, stage_cnt) await ParseDocumentWorker.upload_parse_image_to_minio_and_postgres(parse_result, doc_entity, image_path) current_stage += 1 await ParseDocumentWorker.report(task_id, '上传解析图片', current_stage, stage_cnt) - await ParseDocumentWorker.ocr_from_parse_image(parse_result, image_path, llm) + await ParseDocumentWorker.ocr_from_parse_image(parse_result, image_path, llm, knowledge_base_entity.tokenizer) current_stage += 1 await ParseDocumentWorker.report(task_id, 'OCR图片', current_stage, stage_cnt) await ParseDocumentWorker.merge_and_split_text(parse_result, doc_entity) @@ -561,7 +565,7 @@ class ParseDocumentWorker(BaseWorker): await ParseDocumentWorker.embedding_chunk(parse_result) current_stage += 1 await ParseDocumentWorker.report(task_id, '嵌入chunk', current_stage, stage_cnt) - await ParseDocumentWorker.update_doc_abstract_and_full_text(doc_entity.id, parse_result, llm) + await ParseDocumentWorker.update_doc_abstract_and_full_text(doc_entity.id, parse_result, llm, knowledge_base_entity.tokenizer) current_stage += 1 await ParseDocumentWorker.report(task_id, '更新文档摘要和全文', current_stage, stage_cnt) await ParseDocumentWorker.add_parse_result_to_db(parse_result, doc_entity) diff --git a/data_chain/apps/service/llm_service.py b/data_chain/apps/service/llm_service.py deleted file mode 100644 index 9aee178..0000000 --- a/data_chain/apps/service/llm_service.py +++ /dev/null @@ -1,145 +0,0 @@ -from typing import List -import time -import yaml -import json -import jieba -from data_chain.models.service import ModelDTO -from data_chain.logger.logger import logger as logging -from data_chain.config.config import config -from data_chain.apps.base.model.llm import LLM -from data_chain.parser.tools.split import split_tools -from data_chain.apps.base.security.security import Security -def load_stopwords(file_path): - with open(file_path, 'r', encoding='utf-8') as f: - stopwords = set(line.strip() for line in f) - return stopwords - - -def filter_stopwords(text): - words = jieba.lcut(text) - stop_words = load_stopwords(config['STOP_WORDS_PATH']) - filtered_words = [word for word in words if word not in stop_words] - return filtered_words - - -async def question_rewrite(history: List[dict], question: str,model_dto:ModelDTO=None) -> str: - if not history: - return question - try: - st = time.time() - with open(config['PROMPT_PATH'], 'r', encoding='utf-8') as f: - prompt_template_dict = yaml.load(f, Loader=yaml.SafeLoader) - prompt = prompt_template_dict['INTENT_DETECT_PROMPT_TEMPLATE'] - history_prompt = "" - q_cnt = 0 - a_cnt = 0 - history_abstract_list = [] - sum_tokens = 0 - for item in history: - history_abstract_list.append(item['content']) - sum_tokens += split_tools.get_tokens(item['content']) - used_tokens = split_tools.get_tokens(prompt + question) - maxtokens=config['MODELS'][0]['MAX_TOKENS'] - if model_dto is not None: - maxtokens=model_dto.max_tokens - # 计算 history_prompt 的长度 - if sum_tokens > maxtokens - used_tokens: - filtered_history = [] - # 使用 jieba 分词并去除停用词 - for item in history_abstract_list: - filtered_words = filter_stopwords(item) - filtered_history_prompt = ''.join(filtered_words) - filtered_history.append(filtered_history_prompt) - history_abstract_list = filtered_history - - character = 'user' - for item in history_abstract_list: - if character == 'user': - history_prompt += "用户历史问题" + str(q_cnt) + ':' + item + "\n" - character = 'assistant' - q_cnt += 1 - elif character == 'assistant': - history_prompt += "模型历史回答" + str(a_cnt) + ':' + item + "\n" - a_cnt += 1 - character = 'user' - if split_tools.get_tokens(history_prompt) > maxtokens - used_tokens: - splited_prompt = split_tools.split_words(history_prompt) - splited_prompt = splited_prompt[-(maxtokens - used_tokens):] - history_prompt = ''.join(splited_prompt) - prompt = prompt.format(history=history_prompt, question=question) - user_call = "请输出改写后的问题" - default_llm = LLM(model_name=config['MODELS'][0]['MODEL_NAME'], - openai_api_base=config['MODELS'][0]['OPENAI_API_BASE'], - openai_api_key=config['MODELS'][0]['OPENAI_API_KEY'], - max_tokens=config['MODELS'][0]['MAX_TOKENS'], - request_timeout=60, - temperature=0.35) - if model_dto is not None: - default_llm = LLM(model_name=model_dto.model_name, - openai_api_base=model_dto.openai_api_base, - openai_api_key=model_dto.openai_api_key, - max_tokens=model_dto.max_tokens, - request_timeout=60, - temperature=0.35) - rewrite_question = await default_llm.nostream([], prompt, user_call) - logging.info(f'改写后的问题为:{rewrite_question}') - logging.info(f'问题改写耗时:{time.time() - st}') - return rewrite_question - except Exception as e: - logging.error(f"Rewrite question failed due to: {e}") - return question - - -async def question_split(question: str) -> List[str]: - # TODO: 问题拆分 - return [question] - - -async def get_llm_answer(history, bac_info, question, is_stream=True,model_dto:ModelDTO=None): - try: - with open(config['PROMPT_PATH'], 'r', encoding='utf-8') as f: - prompt_dict = yaml.load(f, Loader=yaml.SafeLoader) - prompt = prompt_dict['LLM_PROMPT_TEMPLATE'] - prompt = prompt.format(bac_info=bac_info) - except Exception as e: - logging.error(f'Get prompt failed : {e}') - raise e - llm = LLM( - openai_api_key=config['MODELS'][0]['OPENAI_API_KEY'], - openai_api_base=config['MODELS'][0]['OPENAI_API_BASE'], - model_name=config['MODELS'][0]['MODEL_NAME'], - max_tokens=config['MODELS'][0]['MAX_TOKENS']) - if model_dto is not None: - llm = LLM(model_name=model_dto.model_name, - openai_api_base=model_dto.openai_api_base, - openai_api_key=model_dto.openai_api_key, - max_tokens=model_dto.max_tokens - ) - if is_stream: - return llm.stream(history, prompt, question) - res = await llm.nostream(history, prompt, question) - return res - - -async def get_question_chunk_relation(question, chunk,model_dto:ModelDTO=None): - with open(config['PROMPT_PATH'], 'r', encoding='utf-8') as f: - prompt_template_dict = yaml.load(f, Loader=yaml.SafeLoader) - - prompt = prompt_template_dict['DETERMINE_ANSWER_AND_QUESTION'] - prompt = prompt.format(chunk=chunk, question=question) - user_call = "判断,并输出关联性编号" - default_llm = LLM(model_name=config['MODELS'][0]['MODEL_NAME'], - openai_api_base=config['MODELS'][0]['OPENAI_API_BASE'], - openai_api_key=config['MODELS'][0]['OPENAI_API_KEY'], - max_tokens=config['MODELS'][0]['MAX_TOKENS'], - request_timeout=60, - temperature=0.35) - if model_dto is not None: - default_llm = LLM(model_name=model_dto.model_name, - openai_api_base=model_dto.openai_api_base, - openai_api_key=model_dto.openai_api_key, - max_tokens=model_dto.max_tokens, - request_timeout=60, - temperature=0.35) - ans = await default_llm.nostream([], prompt, user_call) - return ans diff --git a/data_chain/common/pp.py b/data_chain/common/pp.py index bfcfb50..dc35adf 100644 --- a/data_chain/common/pp.py +++ b/data_chain/common/pp.py @@ -26,13 +26,8 @@ def save_yaml_file(yaml_data, file_path): # 示例:加载YAML文件 file_path = './data_chain/common/prompt.yaml' yaml_data = load_yaml_file(file_path) -if yaml_data: - print(yaml_data) -# yaml_data['LLM_PROMPT_TEMPLATE']='' -# yaml_data['INTENT_DETECT_PROMPT_TEMPLATE']='' -# yaml_data['OCR_ENHANCED_PROMPT']='' -# yaml_data['DETERMINE_ANSWER_AND_QUESTION']='' -# save_yaml_file(yaml_data,file_path) +print(yaml_data) +# print(config.__dict__) # llm = LLM( # model_name=config['MODEL_NAME'], # openai_api_base=config['OPENAI_API_BASE'], @@ -41,34 +36,21 @@ if yaml_data: # max_tokens=config['MAX_TOKENS'], # temperature=config['TEMPERATURE'], # ) -# prompt_template = yaml_data['CONTENT_TO_ABSTRACT_PROMPT'] -# content = '''在那遥远的山谷之中,有一片神秘而又美丽的森林。阳光透过茂密的枝叶,洒下一片片金色的光斑,仿佛是大自然精心编织的梦幻画卷。森林里,鸟儿欢快地歌唱,那清脆的歌声在林间回荡,传递着生机与活力。松鼠们在树枝间跳跃,敏捷的身影如同灵动的音符,谱写着森林的乐章。 -# 沿着蜿蜒的小径前行,脚下的落叶发出沙沙的声响,仿佛在诉说着岁月的故事。路边的野花竞相开放,红的、黄的、紫的,五彩斑斓,散发着阵阵芬芳。蝴蝶在花丛中翩翩起舞,它们那绚丽的翅膀,如同绚丽的丝绸,在微风中轻轻摇曳。 -# 不远处,一条清澈的小溪潺潺流淌。溪水从山间缓缓流下,清澈见底,能看到鱼儿在水中自由自在地游弋。溪水撞击着石头,发出叮叮咚咚的声音,宛如一首美妙的乐曲。溪边的石头上,长满了青苔,仿佛是大自然赋予的绿色绒毯。 -# 在森林的深处,隐藏着一座古老的城堡。城堡的墙壁上爬满了藤蔓,仿佛是岁月留下的痕迹。城堡的大门紧闭,似乎隐藏着无数的秘密。传说中,这座城堡里住着一位美丽的公主,她被邪恶的巫师困在了这里,等待着勇敢的骑士前来解救。 -# 有一天,一位年轻的骑士听闻了这个传说,决定踏上寻找公主的冒险之旅。他骑着一匹矫健的白马,手持长剑,穿过茂密的森林,越过湍急的河流,历经千辛万苦,终于来到了城堡的门前。 -# 骑士用力地敲打着城堡的大门,然而,大门却纹丝不动。就在他感到绝望的时候,一只小精灵出现在他的面前。小精灵告诉他,要打开城堡的大门,必须找到三把神奇的钥匙。这三把钥匙分别隐藏在森林的三个不同的地方,只有集齐了这三把钥匙,才能打开城堡的大门。 -# 骑士听了小精灵的话,毫不犹豫地踏上了寻找钥匙的旅程。他在森林里四处寻找,遇到了各种各样的困难和挑战。有时候,他会迷失在森林的深处,找不到方向;有时候,他会遇到凶猛的野兽,不得不与之搏斗。但是,骑士始终没有放弃,他坚信自己一定能够找到钥匙,救出公主。 -# 终于,经过一番艰苦的努力,骑士找到了三把神奇的钥匙。他拿着钥匙,来到城堡的门前,将钥匙插入锁孔。随着一阵清脆的响声,城堡的大门缓缓打开。骑士走进城堡,沿着昏暗的走廊前行,终于在一间房间里找到了公主。 -# 公主看到骑士,眼中闪烁着希望的光芒。她告诉骑士,自己被巫师困在这里已经很久了,一直在等待着有人来救她。骑士将公主带出城堡,骑着白马,离开了这片神秘的森林。 -# 从此以后,骑士和公主过上了幸福的生活。他们的故事在这片土地上流传开来,成为了人们心中的一段佳话。 -# 在这个世界上,还有许多未知的领域等待着我们去探索。也许,在那遥远的地方,还有更多神秘的故事等待着我们去发现。无论是茂密的森林,还是古老的城堡,都充满了无限的魅力。它们吸引着我们不断地前行,去追寻那未知的美好。 -# 当夜幕降临,天空中繁星闪烁。那璀璨的星光,仿佛是大自然赋予我们的最美的礼物。在这宁静的夜晚,我们可以静静地聆听大自然的声音,感受它的神奇与美妙。 -# 有时候,我们会在生活中遇到各种各样的困难和挫折。但是,只要我们像那位勇敢的骑士一样,坚持不懈,勇往直前,就一定能够克服困难,实现自己的梦想。生活就像一场冒险,充满了未知和挑战。我们要勇敢地面对生活中的一切,用自己的智慧和勇气去创造美好的未来。 -# 在这个充满变化的世界里,我们要学会珍惜身边的一切。无论是亲人、朋友,还是那美丽的大自然,都是我们生活中不可或缺的一部分。我们要用心去感受他们的存在,用爱去呵护他们。 -# 随着时间的推移,那片神秘的森林依然静静地矗立在那里。它见证了无数的故事,承载了无数的回忆。而那座古老的城堡,也依然默默地守护着那些神秘的传说。它们就像历史的见证者,诉说着过去的辉煌与沧桑。 -# 我们生活在一个充满希望和梦想的时代。每一个人都有自己的追求和目标,都在为了实现自己的梦想而努力奋斗。无论是科学家、艺术家,还是普通的劳动者,都在各自的岗位上发光发热,为社会的发展做出自己的贡献。 -# 在科技飞速发展的今天,我们的生活发生了翻天覆地的变化。互联网的普及,让我们的信息传播更加迅速和便捷。我们可以通过网络了解到世界各地的新闻和文化,与远方的朋友进行交流和沟通。科技的进步,也让我们的生活更加舒适和便利。我们有了更加先进的交通工具、更加便捷的通讯设备,以及更加高效的生活方式。 -# 然而,科技的发展也带来了一些问题。比如,环境污染、能源危机等。这些问题不仅影响着我们的生活质量,也威胁着我们的未来。因此,我们在享受科技带来的便利的同时,也要关注环境保护和可持续发展。我们要努力寻找更加绿色、环保的生活方式,减少对自然资源的消耗和对环境的破坏。 -# 除了科技的发展,文化的传承和创新也是我们生活中重要的一部分。每一个国家和民族都有自己独特的文化传统,这些文化传统是我们的精神财富,也是我们民族的灵魂。我们要传承和弘扬自己的文化传统,让它们在新的时代焕发出新的活力。同时,我们也要积极吸收和借鉴其他国家和民族的优秀文化成果,促进文化的交流和融合。 -# 在教育方面,我们要注重培养学生的创新精神和实践能力。我们要让学生在学习知识的同时,学会思考、学会创新、学会实践。只有这样,我们才能培养出适应时代发展需要的高素质人才。 -# 在人际交往中,我们要学会尊重他人、理解他人、关心他人。我们要建立良好的人际关系,与他人和谐相处。只有这样,我们才能在生活中感受到温暖和快乐。 -# 总之,我们的生活是丰富多彩的,充满了无限的可能。我们要珍惜生活中的每一个瞬间,用积极的态度去面对生活中的一切。无论是成功还是失败,无论是欢笑还是泪水,都是我们生活中的宝贵财富。让我们一起努力,创造一个更加美好的未来!''' -# abstract = '' -# for i in range(10): -# part = TokenTool.get_k_tokens_words_from_content(content, 100) -# content = content[len(part):] -# sys_call = prompt_template.format(content=part, abstract=abstract) -# user_call = '请详细输出内容的摘要,不要输出其他内容' -# abstract = asyncio.run(llm.nostream([], sys_call, user_call)) -# print(abstract) +# print(prompt_dict) +# for key in prompt_dict: +# prompt = prompt_dict[key]['zh'] +# systemcall = f""" +# 你是一个翻译专家, 你需要将用户输入的中文内容翻译成地道的英文, 只需要返回翻译后的英文内容, 不需要任何多余的解释和说明. +# 你需要严格遵守以下规则: +# 1. 你只能翻译用户输入的内容, 不能添加任何额外的信息. +# 2. 你需要确保翻译后的内容符合英文的语法和表达习惯. +# 3. 你需要确保翻译后的内容准确传达用户输入的中文内容的意思. + +# 标签中的内容是用户输入的中文内容, 你需要将这些内容翻译成英文. +# {prompt} +# """ +# user_call = f"请将上面的内容翻译为英文" +# result = asyncio.run(llm.nostream([], systemcall, user_call)) +# print(result) +# prompt_dict[key]['en'] = result +# print(prompt_dict) diff --git a/data_chain/common/prompt.yaml b/data_chain/common/prompt.yaml index 70ba9e2..2a1df31 100644 --- a/data_chain/common/prompt.yaml +++ b/data_chain/common/prompt.yaml @@ -1,381 +1,708 @@ -INTENT_DETECT_PROMPT_TEMPLATE: "\n\n \n \ - \ 根据历史对话,推断用户的实际意图并补全用户的提问内容。\n 用户的提问内容将在中给出,历史对话将在中给出。\n\ - \ 要求:\n 1. 参考下面给出的样例,请直接输出补全后的提问内容;输出不要包含XML标签,不要包含任何解释说明;\n\ - \ 2. 若用户当前提问内容与对话上文不相关,或你认为用户的提问内容已足够完整,请直接输出用户的提问内容。\n \ - \ 3. 补全内容必须精准、恰当,不要编造任何内容。\n \n\n \n\ - \ openEuler是什么 \n 有什么特点\n\ - \ openEuler有什么特点?\n \n \n\ - \n \n {history}\n \n\ - \ \n {question}\n \n" -LLM_PROMPT_TEMPLATE: "\n \n 你是EulerCopilot,openEuler社区的智能助手。请结合给出的背景信息,\ - \ 回答用户的提问。\n 上下文背景信息将在中给出。\n 注意:输出不要包含任何XML标签,不要编造任何信息。若你认为用户提问与背景信息无关,请忽略背景信息直接作答。\n\ - \ \n\n \n {bac_info}\n \ - \ \n" -OCR_ENHANCED_PROMPT: '你是一个图片ocr内容总结专家,你的任务是根据我提供的上下文、相邻图片组描述、当前图片上一次的ocr内容总结、当前图片部分ocr的结果(包含文字和文字的相对坐标)给出图片描述. - - 注意: - - #01 必须使用大于200字小于500字详细详细描述这个图片的内容,可以详细列出数据. - - #02 如果这个图是流程图,请按照流程图顺序描述内容。 - - #03 如果这张图是表格,请用markdown形式输出表格内容 . - - #04 如果这张图是架构图,请按照架构图层次结构描述内容。 - - #05 总结的图片描述必须包含图片中的主要信息,不能只描述图片位置。 - - #6 图片识别结果中相邻的文字可能是同一段落的内容,请合并后总结 - - #7 文字可能存在错位,请修正顺序后进行总结 - - #8 请仅输出图片的总结即可,不要输出其他内容 - - #9 不要输出坐标等信息,输出每个部分相对位置的描述即可 - - #10 如果图片内容为空,请输出“图片内容为空” - - #11 如果图片本身就是一段文字,请直接输出文字内容 - - 上下文:{image_related_text} - - 当前图片上一部分的ocr内容总结:{pre_part_description} - - 当前图片部分ocr的结果:{part}' -QA_TO_STATEMENTS_PROMPT: '你是一个文本分解专家,你的任务是根据我给出的问题和答案,将答案提取为多个陈诉,陈诉使用列表形式返回 - - 注意: - #01 陈诉必须来源于答案中的重点内容 - #02 陈诉按相对顺序排列 - #03 输出的单个陈诉长度不超过50个字 - #04 输出的陈诉总数不超过20个 - #05 请仅输出陈诉列表,不要输出其他内容 - 例子: - - 输入: - 问题:openEuler是什么操作系统? - 答案:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 - 输出: - [ - \"openEuler是一个开源的操作系统\", - \"openEuler旨在为云计算和边缘计算提供支持\", - \"openEuler具有高性能、高安全性和高可靠性等特点\" - ] - - 下面是给出的问题和答案: - 问题:{question} - 答案:{answer} -' -ANSWER_TO_ANSWER_PROMPT: '你是一个文本分析专家,你的任务对比两个文本之间的相似度,并输出一个0-100之间的分数且保留两位小数: -注意: -#01 请根据文本在语义、语序和关键字上的相似度进行打分 -#02 如果两个文本在核心表达上一致,那么分数也相对高 -#03 一个文本包含另一个文本的核心内容,那么分数也相对高 -#04 两个文本间内容有重合,那么按照重合内容的比例打分 -#05 请仅输出分数,不要输出其他内容 -例子: -输入1: - 文本1:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 - 文本2:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 - 输出1:100.00 -输入2: - 文本1:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 - 文本2:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能和高安全性等特点。 - 输出2:90.00 -输入3: - 文本1:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 - 文本2:白马非马 - 输出3:00.00 -下面是给出的文本: - 文本1:{text_1} - 文本2:{text_2} -' -CONTENT_TO_STATEMENTS_PROMPT: '你是一个文本分解专家,你的任务是根据我给出的文本,将文本提取为多个陈诉,陈诉使用列表形式返回 - - 注意: - #01 陈诉必须来源于文本中的重点内容 - #02 陈诉按相对顺序排列 - #03 输出的单个陈诉长度不少于20个字,不超过50个字 - #04 输出的陈诉总数不超过3个 - #05 请仅输出陈诉列表,不要输出其他内容 - 例子: - - 输入:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 - 输出: - [ - \"openEuler是一个开源的操作系统\", - \"openEuler旨在为云计算和边缘计算提供支持\", - \"openEuler具有高性能、高安全性和高可靠性等特点\" - ] - - 下面是给出的文本: - {content} - ' -STATEMENTS_TO_FRAGMENT_PROMPT: '你是一个文本专家,你的任务是根据给出的陈诉是否与片段强相关 - 注意: - #01 如果陈诉与片段强相关或者来自于片段,请输出YES - #02 如果陈诉中的内容与片段无关,请输出NO - #03 如果陈诉是片段中某部分的提炼,请输出YES - #05 请仅输出YES或NO,不要输出其他内容 - 例子: - 输入1: - - 陈诉:openEuler是一个开源的操作系统。 - 片段:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 - 输出1:YES - - 输入2: - 陈诉:白马非马 - 片段:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 - 输出2:NO - - 下面是给出的陈诉和片段: - 陈诉:{statement} - 片段:{fragment} - ' -STATEMENTS_TO_QUESTION_PROMPT: '你是一个文本分析专家,你的任务是根据给出的陈诉和问题判断,陈诉是否与问题相关 - 注意: - #01 如果陈诉是否与问题相关,请输出YES - #02 如果陈诉与问题不相关,请输出NO - #03 请仅输出YES或NO,不要输出其他内容 - #04 陈诉与问题相关是指,陈诉中的内容可以回答问题或者与问题在内容上有交集 - 例子: - 输入1: - 陈诉:openEuler是一个开源的操作系统。 +ACC_ANALYSIS_RESULT_MERGE_PROMPT: + en: | + You are a text analysis expert. Your task is to combine two analysis results and output a new one. Note: + #01 Please combine the content of the two analysis results to produce a new analysis result. + #02 Please analyze using the four metrics of recall, precision, faithfulness, and interpretability. + #03 The new analysis result must be no longer than 500 characters. + #04 Please output only the new analysis result; do not output any other content. + Example: + Input 1: + Analysis Result 1: + Recall: Currently, the recall is 95.00, with room for improvement. We will optimize the vectorized search algorithm to further mine information in the original fragment that is relevant to the question but not retrieved, such as some specific practical cases in the openEuler ecosystem. The embedding model bge-m3 will be adjusted to more comprehensively and accurately capture semantics, expand the search scope, improve recall, and make the generated answers closer to the standard answer. + Accuracy: The accuracy is 99.00, which is quite high. However, further optimization is possible, including deeper semantic analysis of the retrieved snippets. By combining the features of the large model qwen2.5-32b, this can precisely match the question semantics and avoid subtle semantic deviations. For example, this can more precisely illustrate the specific manifestations of OpenEuler's high performance in cloud computing and edge computing. + Fidelity: The fidelity value is 90.00, indicating that some answers are not fully derived from the retrieved snippets. Optimizing the rag retrieval algorithm, improving the recall rate of the embedding model, and adjusting the text chunk size to 512 may be inappropriate and require re-evaluation based on the content. This ensures that the retrieved snippets contain sufficient context to support the answer, ensuring that the generated answer content is fully derived from the retrieved snippets. For example, regarding the development of the openEuler ecosystem, relevant technical details should be obtained from the retrieved snippets. + Interpretability: The interpretability is 85.00, which is relatively low. Improve the compliance of the large model qwen2.5-32b and optimize the recall of the rag retrieval algorithm and the embedding model bge-m3. This ensures that retrieved snippets better support answer generation and clearly answer questions. For example, when answering questions related to OpenEuler, this makes the answer logic clearer and more targeted, improving overall interpretability. + + Analysis Result 2: + The recall rate is currently 95.00. Further optimization of the rag retrieval algorithm and embedding model can be used to increase the semantic similarity between the generated answers and the standard answers, approaching or achieving a higher recall rate. For example, the algorithm can be continuously optimized to better match relevant snippets. + The precision is 99.00, close to the maximum score, indicating that the generated answers are semantically similar to the questions. However, further improvement is possible. This can be achieved by refining the embedding model to better understand the question semantics, optimizing the contextual completeness of the retrieved snippets, and reducing fluctuations in precision caused by insufficient context. + The faithfulness score is currently 90.00, indicating that some content in the generated answer is not fully derived from the retrieved snippet. The rag retrieval algorithm can be optimized to improve its recall rate. The text chunk size can also be adjusted appropriately to ensure that the retrieved snippet fully answers the question, thereby improving the faithfulness score. + Regarding interpretability, it is currently 85.00, indicating that the generated answer has room for improvement in terms of answering questions. On the one hand, the large model used can be optimized to improve its compliance, making the generated answer more accurate. On the other hand, the recall rates of the rag retrieval algorithm and embedding model can be further optimized to ensure that the retrieved snippet fully supports the answer and improve interpretability. + + Output: + Recall: Currently at 95.00, there is room for improvement. The vectorized retrieval algorithm can be optimized to further uncover information in the original snippet that is relevant to the question but not retrieved, as demonstrated in some specific practical cases within the openEuler ecosystem. Adjustments were made to the embedding model bge-m3 to enable it to more comprehensively and accurately capture semantics, expand the search scope, improve recall, and bring the generated answers closer to the standard answer. + Accuracy: The accuracy reached 99.00, which is already high. However, further optimization is needed to conduct deeper semantic analysis of the retrieved snippets. By combining the features of the large model qwen2.5-32b, this can precisely match the question semantics and avoid subtle semantic deviations. For example, this could more accurately demonstrate the specific characteristics of OpenEuler's high performance in cloud computing and edge computing. + Fidelity: The fidelity value was 90.00, indicating that some answer content was not fully derived from the retrieved snippet. The rag retrieval algorithm was optimized to improve the recall of the embedding model. Adjusting the text chunk size to 512 may be unreasonable and requires re-evaluation based on the content to ensure that the retrieved snippets contain sufficient context to support the answer, ensuring that the generated answer content is fully derived from the retrieved snippet. For example, relevant technical details regarding the development of the OpenEuler ecosystem should be obtained from the retrieved snippet. + Interpretability: The interpretability value was 85.00, which is relatively low. Improve the compliance of the large qwen2.5-32b model and optimize the recall of the rag retrieval algorithm and the embedding model bge-m3. This ensures that retrieval fragments can better support answer generation and clearly answer questions. For example, when answering questions related to OpenEuler, this improves answer logic, makes it more targeted, and improves overall interpretability. + + The following two analysis results: + Analysis Result 1: {analysis_result_1} + Analysis Result 2: {analysis_result_2} + + 中文: | + 你是一个文本分析专家,你的任务融合两条分析结果输出一份新的分析结果。注意: + #01 请根据两条分析结果中的内容融合出一条新的分析结果 + #02 请结合召回率、精确度、忠实值和可解释性四个指标进行分析 + #03 新的分析结果长度不超过500字 + #04 请仅输出新的分析结果,不要输出其他内容 + 例子: + 输入1: + 分析结果1: + 召回率:目前召回率为 95.00,有提升空间。优化向量化检索算法,进一步挖掘原始片段中与问题相关但未被检索到的信息,如 openEuler 生态中一些具体实践案例等。调整 embedding 模型 bge-m3,使其能更全面准确地捕捉语义,扩大检索范围,提高召回率,使生成答案更接近标准答案。 + 精确度:精确度达 99.00,已较高。但可进一步优化,对检索到的片段进行更深入的语义分析,结合大模型 qwen2.5-32b 的特点,精准匹配问题语义,避免细微语义偏差,例如更精确阐述 openEuler 在云计算和边缘计算中高性能等特性的具体表现。 + 忠实值:忠实值为 90.00,说明部分答案内容未完全源于检索片段。优化 rag 检索算法,提高 embedding 模型召回率,调整文本分块大小为 512 可能存在不合理,需根据内容重新评估,确保检索片段包含足够上下文以支撑答案,使生成答案内容均来自检索片段,如关于 openEuler 生态建设中相关技术细节应从检索片段获取。 + 可解释性:可解释性为 85.00,相对较低。提升大模型 qwen2.5-32b 的遵从度,优化 rag 检索算法和 embedding 模型 bge-m3 的召回率,使检索片段能更好支撑生成答案,保证答案能清晰回答问题,例如在回答 openEuler 相关问题时,使答案逻辑更清晰、针对性更强,提高整体可解释性。 + + 分析结果2: + 从召回率来看,目前为 95.00,可进一步优化 rag 检索算法和 embedding 模型,以提高生成答案与标准回答之间的语义相似程度,接近或达到更高的召回率,例如可以持续优化算法来更好地匹配相关片段。 + 从精确度来看,为 99.00,接近满分,说明生成的答案与问题语义相似程度较高,但仍可进一步提升,可通过完善 embedding 模型来更好地理解问题语义,优化检索到的片段的上下文完整性,减少因上下文不足导致的精确度波动。 + 对于忠实值,目前为 90.00,说明生成的答案中部分内容未完全来自检索到的片段。可优化 rag 检索算法,提高其召回率,同时合理调整文本分块大小,确保检索到的片段能充分回答问题,从而提高忠实值。 + 关于可解释性,当前为 85.00,说明生成的答案在用于回答问题方面有一定提升空间。一方面可以优化使用的大模型,提高其遵从度,使其生成的答案更准确地回答问题;另一方面,继续优化 rag 检索算法和 embedding 模型的召回率,保证检索到的片段能全面支撑问题的回答,提高可解释性。 + + 输出: + 召回率:目前召回率为 95.00,有提升空间。优化向量化检索算法,进一步挖掘原始片段中与问题相关但未被检索到的信息,如 openEuler 生态中一些具体实践案例等。调整 embedding 模型 bge-m3,使其能更全面准确地捕捉语义,扩大检索范围,提高召回率,使生成答案更接近标准答案。 + 精确度:精确度达 99.00,已较高。但可进一步优化,对检索到的片段进行更深入的语义分析,结合大模型 qwen2.5-32b 的特点,精准匹配问题语义,避免细微语义偏差,例如更精确阐述 openEuler 在云计算和边缘计算中高性能等特性的具体表现。 + 忠实值:忠实值为 90.00,说明部分答案内容未完全源于检索片段。优化 rag 检索算法,提高 embedding 模型召回率,调整文本分块大小为 512 可能存在不合理,需根据内容重新评估,确保检索片段包含足够上下文以支撑答案,使生成答案内容均来自检索片段,如关于 openEuler 生态建设中相关技术细节应从检索片段获取。 + 可解释性:可解释性为 85.00,相对较低。提升大模型 qwen2.5-32b 的遵从度,优化 rag 检索算法和 embedding 模型 bge-m3 的召回率,使检索片段能更好支撑生成答案,保证答案能清晰回答问题,例如在回答 openEuler 相关问题时,使答案逻辑更清晰、针对性更强,提高整体可解释性。 + + 下面两条分析结果: + 分析结果1:{analysis_result_1} + 分析结果2:{analysis_result_2} + +ACC_RESULT_ANALYSIS_PROMPT: + en: | + You are a text analysis expert. Your task is to: analyze the large model used in the test, the embedding model used in the test, the parsing method and chunk size of related documents, the snippets matched by the RAG algorithm for a single test result, and propose methods to improve the accuracy of question-answering in the current knowledge base. + + The test results include the following information: + - Question: The question used in the test + - Standard answer: The standard answer used in the test + - Generated answer: The answer output by the large model in the test results + - Original snippet: The original snippet provided in the test results + - Retrieved snippet: The snippet retrieved by the RAG algorithm in the test results + + The four evaluation metrics are defined as follows: + - Precision: Evaluates the semantic similarity between the generated answer and the question. A lower score indicates lower compliance of the large model; additionally, it may mean the snippets retrieved by the RAG algorithm lack context and are insufficient to support the answer. + - Recall: Evaluates the semantic similarity between the generated answer and the standard answer. A lower score indicates lower compliance of the large model. + - Fidelity: Evaluates whether the content of the generated answer is derived from the retrieved snippet. A lower score indicates lower recall of the RAG retrieval algorithm and embedding model (resulting in retrieved snippets insufficient to answer the question); additionally, it may mean the text chunk size is inappropriate. + - Interpretability: Evaluates whether the generated answer is useful for answering the question. A lower score indicates lower recall of the RAG retrieval algorithm and embedding model (resulting in retrieved snippets insufficient to answer the question); additionally, it may mean lower compliance of the used large model. + + Notes: + #01 Analyze methods to improve the accuracy of current knowledge base question-answering based on the test results. + #02 Conduct the analysis using the four metrics: Recall, Precision, Fidelity, and Interpretability. + #03 The analysis result must not exceed 500 words. + #04 Output only the analysis result; do not include any other content. + + Example: + Input: + Model name: qwen2.5-32b + Embedding model: bge-m3 + Text chunk size: 512 + Used RAG algorithm: Vectorized retrieval + Question: What is OpenEuler? + Standard answer: OpenEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Generated answer: OpenEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Original snippet: openEuler is an open source operating system incubated and operated by the Open Atom Open Source Foundation. Its mission is to build an open source operating system ecosystem for digital infrastructure and provide solid underlying support for cutting-edge fields such as cloud computing and edge computing. In cloud computing scenarios, openEuler can fully optimize resource scheduling and allocation mechanisms. Through a lightweight kernel design and efficient virtualization technology, it significantly improves the responsiveness and throughput of cloud services. In edge computing, its exceptional low resource consumption and real-time processing capabilities ensure the timeliness and accuracy of data processing at edge nodes in complex environments. openEuler boasts a series of exceptional features: In terms of performance, its independently developed intelligent scheduling algorithm dynamically adapts to different load scenarios, and combined with deep optimization of hardware resources, significantly improves system efficiency. Regarding security, its built-in multi-layered security system, including mandatory access control, vulnerability scanning, and remediation mechanisms, provides a solid defense for system data and applications. Regarding reliability, its distributed storage, automatic fault detection, and rapid recovery technologies ensure stable system operation in the face of unexpected situations such as network fluctuations and hardware failures, minimizing the risk of service interruptions. These features make openEuler a crucial technological cornerstone for promoting high-quality development of the digital economy, helping enterprises and developers seize the initiative in digital transformation. + Retrieved snippet: As a pioneer in the open source operating system field, openEuler deeply integrates the wisdom of community developers and continuously iterates and upgrades to adapt to the rapidly changing technological environment. In the current era of prevalent microservices architectures, openEuler Through deep optimization of containerization technology and support for mainstream orchestration tools such as Kubernetes, it makes application deployment and management more convenient and efficient, significantly enhancing the flexibility of enterprise business deployments. At the same time, it actively embraces the AI era. By adapting and optimizing machine learning frameworks, it provides powerful computing power for AI model training and inference, effectively reducing the development and operating costs of AI applications. Regarding ecosystem development, openEuler boasts a large and active open source community, bringing together technology enthusiasts and industry experts from around the world, forming a complete ecosystem from kernel development and driver adaptation to application optimization. The community regularly hosts technical exchanges and developer conferences to promote knowledge sharing and technological innovation, providing developers with a wealth of learning resources and practical opportunities. Numerous hardware and software manufacturers have joined the openEuler ecosystem, launching solutions and products based on the system across key industries such as finance, telecommunications, and energy. These efforts, validated through real-world application scenarios and feeding back into openEuler's technological development, have fostered a virtuous cycle of innovation, making openEuler not just an operating system but a powerful engine driving collaborative industry development. + Recall: 95.00 + Precision: 99.00 + Fidelity: 90.00 + Interpretability: 85.00 + + Output: + Based on the test results, methods for improving the accuracy of current knowledge base question-answering can be analyzed from the following aspects: Recall: The current recall is 95.00, with room for improvement. Optimize the vectorized retrieval algorithm to further mine question-related but unretrieved information in the original snippets, such as some specific practical cases in the openEuler ecosystem. Adjust the embedding model bge-m3 to more comprehensively and accurately capture semantics, expand the search scope, improve recall, and make the generated answers closer to the standard answer. Precision: The accuracy reached 99.00, which is already high. However, further optimization is possible, including deeper semantic analysis of retrieved snippets. By combining the features of the large model qwen2.5-32b, this can accurately match the question semantics and avoid subtle semantic deviations. For example, more precise demonstration of openEuler's high performance in cloud computing and edge computing can be achieved. Fidelity: A fidelity score of 90.00 indicates that some answers are not fully derived from the search snippet. We optimized the rag retrieval algorithm, improved the recall of the embedding model, and adjusted the text chunk size to 512. This may be inappropriate and requires reassessment based on the content. We need to ensure that the search snippet contains sufficient context to support the answer, ensuring that the generated answer content is derived from the search snippet. For example, relevant technical details regarding the development of the openEuler ecosystem should be obtained from the search snippet. Interpretability: The interpretability score is 85.00, which is relatively low. We improved the compliance of the large model qwen2.5-32b and optimized the recall of the rag retrieval algorithm and the embedding model bge-m3. This ensures that the search snippet better supports answer generation and clearly answers the question. For example, when answering openEuler-related questions, the answer logic is made clearer and more targeted, improving overall interpretability. + + The following is the test result content: + Used large model: {model_name} + Embedding model: {embedding_model} + Text chunk size: {chunk_size} + Used RAG parsing algorithm: {rag_algorithm} + Question: {question} + Standard answer: {standard_answer} + Generated answer: {generated_answer} + Original fragment: {original_fragment} + Retrieved fragment: {retrieved_fragment} + Recall: {recall} + Precision: {precision} + Faithfulness: {faithfulness} + Interpretability: {relevance} + + 中文: | + 你是一个文本分析专家,你的任务是:根据给出的测试使用的大模型、embedding模型、测试相关文档的解析方法和分块大小、单条测试结果分析RAG算法匹配到的片段,并分析当前知识库问答准确率的提升方法。 + + 测试结果包含以下内容: + - 问题:测试使用的问题 + - 标准答案:测试使用的标准答案 + - 生成的答案:测试结果中大模型输出的答案 + - 原始片段:测试结果中的原始片段 + - 检索的片段:测试结果中RAG算法检索到的片段 + + 四个评估指标定义如下: + - 精确率:评估生成的答案与问题之间的语义相似程度。评分越低,说明使用的大模型遵从度越低;其次可能是RAG检索到的片段缺少上下文,不足以支撑问题的回答。 + - 召回率:评估生成的答案与标准回答之间的语义相似程度。评分越低,说明使用的大模型遵从度越低。 + - 忠实值:评估生成的答案中的内容是否来自于检索到的片段。评分越低,说明RAG检索算法和embedding模型的召回率越低(导致检索到的片段不足以回答问题);其次可能是文本分块大小不合理。 + - 可解释性:评估生成的答案是否能用于回答问题。评分越低,说明RAG检索算法和embedding模型的召回率越低(导致检索到的片段不足以回答问题);其次可能是使用的大模型遵从度越低。 + + 注意: + #01 请根据测试结果中的内容分析当前知识库问答准确率的提升方法。 + #02 请结合召回率、精确率、忠实值和可解释性四个指标进行分析。 + #03 分析结果长度不超过500字。 + #04 请仅输出分析结果,不要输出其他内容。 + + 例子: + 输入: + 模型名称:qwen2.5-32b + embedding模型:bge-m3 + 文本的分块大小:512 + 使用解析的RAG算法:向量化检索 问题:openEuler是什么操作系统? - 输出1:YES - - 输入2: - 陈诉:白马非马 + 标准答案:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 生成的答案:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 原始片段:openEuler是由开放原子开源基金会孵化及运营的开源操作系统,以构建面向数字基础设施的开源操作系统生态为使命,致力于为云计算、边缘计算等前沿领域提供坚实的底层支持。在云计算场景中,openEuler能够充分优化资源调度与分配机制,通过轻量化的内核设计和高效的虚拟化技术,显著提升云服务的响应速度与吞吐量;在边缘计算领域,它凭借出色的低资源消耗特性与实时处理能力,保障了边缘节点在复杂环境下数据处理的及时性与准确性。openEuler具备一系列卓越特性:在性能方面,其自主研发的智能调度算法能够动态适配不同负载场景,结合对硬件资源的深度优化利用,大幅提升系统运行效率;安全性上,通过内置的多层次安全防护体系,包括强制访问控制、漏洞扫描与修复机制,为系统数据与应用程序构筑起坚实的安全防线;可靠性层面,基于分布式存储、故障自动检测与快速恢复技术,确保系统在面对网络波动、硬件故障等突发状况时,依然能够稳定运行,最大限度降低服务中断风险。这些特性使openEuler成为推动数字经济高质量发展的重要技术基石,助力企业与开发者在数字化转型进程中抢占先机。 + 检索的片段:openEuler作为开源操作系统领域的先锋力量,深度融合了社区开发者的智慧结晶,不断迭代升级以适应快速变化的技术环境。在微服务架构盛行的当下,openEuler通过对容器化技术的深度优化,支持Kubernetes等主流编排工具,让应用部署与管理变得更加便捷高效,极大提升了企业的业务部署灵活性。同时,它积极拥抱AI时代,通过对机器学习框架的适配与优化,为AI模型训练和推理提供强大的算力支撑,有效降低了AI应用的开发与运行成本。在生态建设方面,openEuler拥有庞大且活跃的开源社区,汇聚了来自全球的技术爱好者与行业专家,形成了从内核开发、驱动适配到应用优化的完整生态链。社区定期举办技术交流与开发者大会,推动知识共享与技术创新,为开发者提供了丰富的学习资源与实践机会。众多硬件厂商和软件企业纷纷加入openEuler生态,推出基于该系统的解决方案和产品,涵盖金融、电信、能源等关键行业,以实际应用场景验证并反哺openEuler的技术发展,形成了良性循环的创新生态,让openEuler不仅是一个操作系统,更成为推动产业协同发展的强大引擎。 + 召回率:95.00 + 精确率:99.00 + 忠实值:90.00 + 可解释性:85.00 + + 输出: + 根据测试结果中的内容,当前知识库问答准确率提升的方法可以从以下几个方面进行分析:召回率:目前召回率为95.00,有提升空间。优化向量化检索算法,进一步挖掘原始片段中与问题相关但未被检索到的信息,如openEuler生态中一些具体实践案例等。调整embedding模型bge-m3,使其能更全面准确地捕捉语义,扩大检索范围,提高召回率,使生成答案更接近标准答案。精确率:精确率达99.00,已较高。但可进一步优化,对检索到的片段进行更深入的语义分析,结合大模型qwen2.5-32b的特点,精准匹配问题语义,避免细微语义偏差,例如更精确阐述openEuler在云计算和边缘计算中高性能等特性的具体表现。忠实值:忠实值为90.00,说明部分答案内容未完全源于检索片段。优化RAG检索算法,提高embedding模型召回率,文本分块大小为512可能存在不合理,需根据内容重新评估,确保检索片段包含足够上下文以支撑答案,使生成答案内容均来自检索片段,如关于openEuler生态建设中相关技术细节应从检索片段获取。可解释性:可解释性为85.00,相对较低。提升大模型qwen2.5-32b的遵从度,优化RAG检索算法和embedding模型bge-m3的召回率,使检索片段能更好支撑生成答案,保证答案能清晰回答问题,例如在回答openEuler相关问题时,使答案逻辑更清晰、针对性更强,提高整体可解释性。 + + 下面是测试结果中的内容: + 使用的大模型:{model_name} + embedding模型:{embedding_model} + 文本的分块大小:{chunk_size} + 使用解析的RAG算法:{rag_algorithm} + 问题:{question} + 标准答案:{standard_answer} + 生成的答案:{generated_answer} + 原始片段:{original_fragment} + 检索的片段:{retrieved_fragment} + 召回率:{recall} + 精确率:{precision} + 忠实值:{faithfulness} + 可解释性:{relevance} + +ANSWER_TO_ANSWER_PROMPT: + # 英文文本相似度评分提示词 + en: | + You are a text analysis expert. Your task is to compare the similarity between two documents and output a score between 0 and 100 with two decimal places. + + Note: + #01 Score based on text similarity in three dimensions: semantics, word order, and keywords. + #02 If the core expressions of the two documents are consistent, the score will be relatively high. + #03 If one document contains the core content of the other, the score will also be relatively high. + #04 If there is content overlap between the two documents, the score will be determined by the proportion of the overlap. + #05 Output only the score (no other content). + + Example 1: + Input - Text 1: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Text 2: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Output: 100.00 + + Example 2: + Input - Text 1: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Text 2: openEuler is an open-source operating system designed to support cloud computing and edge computing. It features high performance and high security. + Output: 90.00 + + Example 3: + Input - Text 1: openEuler is an open-source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Text 2: A white horse is not a horse + Output: 00.00 + + The following are the given texts: + Text 1: {text_1} + Text 2: {text_2} + + # 中文文本相似度评分提示词 + 中文: | + 你是一个文本分析专家,你的任务是对比两个文本之间的相似度,并输出一个 0-100 之间的分数(保留两位小数)。 + + 注意: + #01 请根据文本在语义、语序和关键字三个维度的相似度进行打分。 + #02 如果两个文本在核心表达上一致,那么分数将相对较高。 + #03 如果一个文本包含另一个文本的核心内容,那么分数也将相对较高。 + #04 如果两个文本间存在内容重合,那么将按照重合内容的比例确定分数。 + #05 仅输出分数,不要输出其他任何内容。 + + 例子 1: + 输入 - 文本 1:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 文本 2:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出:100.00 + + 例子 2: + 输入 - 文本 1:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 文本 2:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能和高安全性等特点。 + 输出:90.00 + + 例子 3: + 输入 - 文本 1:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 文本 2:白马非马 + 输出:00.00 + + 下面是给出的文本: + 文本 1:{text_1} + 文本 2:{text_2} + +CAL_QA_SCORE_PROMPT: + en: >- + You are a text analysis expert. Your task is to evaluate the questions and answers generated from a given fragment, and assign a score between 0 and 100 (retaining two decimal places). Please evaluate based on the following criteria: + + ### 1. Question Evaluation + - **Relevance**: Is the question closely related to the topic of the given fragment? Is it accurately based on the fragment content? Does it deviate from or distort the core message of the fragment? + - **Plausibility**: Is the question formulated clearly and logically coherently? Does it conform to normal language and thinking habits? Is it free of semantic ambiguity, vagueness, or self-contradiction? + - **Variety**: If there are multiple questions, are their angles and types sufficiently varied to avoid being overly monotonous or repetitive? Can they explore the fragment content from different perspectives? + - **Difficulty**: Is the question difficulty appropriate? Not too easy (where answers can be directly copied from the fragment), nor too difficult (where respondents cannot find clues or evidence from the fragment)? + + ### 2. Answer Evaluation + - **Accuracy**: Does the answer accurately address the question? Is it consistent with the information in the fragment? Does it contain errors or omit key points? + - **Completeness**: Is the answer comprehensive, covering all aspects of the question? For questions requiring elaboration, does it provide sufficient details and explanations? + - **Succinctness**: On the premise of ensuring completeness and accuracy, is the answer concise and clear? Does it avoid lengthy or redundant expressions, and convey key information in concise language? + - **Coherence**: Is the answer logically clear? Are transitions between content sections natural and smooth? Are there any jumps or confusion? + + ### 3. Overall Assessment + - **Consistency**: Do the question and answer match each other? Does the answer address the raised question? Are they consistent in content and logic? + - **Integration**: Does the answer effectively integrate information from the fragment? Is it not just a simple excerpt, but rather an integrated, refined presentation in a logical manner? + - **Innovation**: In some cases, evaluate whether the answer demonstrates innovation or unique insights? Does it appropriately expand or deepen the information in the fragment? + + ### Note + #01 Please output only the score (without any other content). + + ### Example + Input 1: + Question: What operating system is openEuler? + Answer: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Snippet: openEuler is an open source operating system designed to support cloud and edge computing. It features high performance, high security, and high reliability. + Output 1: 100.00 + + Below is the given question, answer, and snippet: + Question: {question} + Answer: {answer} + Snippet: {fragment} + 中文: >- + 你是文本分析专家,任务是评估由给定片段生成的问题与答案,输出 0-100 之间的分数(保留两位小数)。请根据以下标准进行评估: + + ### 1. 问题评估 + - **相关性**:问题是否与给定片段的主题紧密相关?是否准确基于片段内容提出?有无偏离或曲解片段的核心信息? + - **合理性**:问题表述是否清晰、逻辑连贯?是否符合正常的语言表达和思维习惯?不存在语义模糊、歧义或自相矛盾的情况? + - **多样性**:若存在多个问题,问题之间的角度和类型是否具有足够多样性(避免过于单一或重复)?能否从不同方面挖掘片段内容? + - **难度**:问题难度是否适中?既不过于简单(答案可直接从片段中照搬),也不过于困难(回答者难以从片段中找到线索或依据)? + + ### 2. 答案评估 + - **准确性**:答案是否准确无误地回答了问题?与片段中的信息是否一致?有无错误或遗漏关键要点? + - **完整性**:答案是否完整,涵盖问题涉及的各个方面?对于需要详细阐述的问题,是否提供了足够的细节和解释? + - **简洁性**:在保证回答完整、准确的前提下,答案是否简洁明了?是否避免冗长、啰嗦的表述,能否以简洁语言传达关键信息? + - **连贯性**:答案逻辑是否清晰?各部分内容之间的衔接是否自然流畅?有无跳跃或混乱的情况? + + ### 3. 整体评估 + - **一致性**:问题与答案之间是否相互匹配?答案是否针对所提出的问题进行回答?两者在内容和逻辑上是否保持一致? + - **融合性**:答案是否能很好地融合片段中的信息?是否并非简单摘抄,而是经过整合、提炼后以合理方式呈现? + - **创新性**:在某些情况下,评估答案是否具有一定创新性或独特见解?是否能在片段信息基础上进行适当拓展或深入思考? + + ### 注意事项 + #01 请仅输出分数,不要输出其他内容。 + + ### 示例 + 输入 1: + 问题:openEuler 是什么操作系统? + 答案:openEuler 是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 片段:openEuler 是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出 1:100.00 + + 下面是给出的问题、答案和片段: + 问题:{question} + 答案:{answer} + 片段:{fragment} + +CHUNK_QUERY_MATCH_PROMPT: + en: | + You are a text analysis expert. Your task is to determine whether a given fragment is relevant to a question. + Note: + #01 If the fragment is relevant, output YES. + #02 If the fragment is not relevant, output NO. + #03 Only output YES or NO, and do not output anything else. + + Example: + Input 1: + Fragment: openEuler is an open source operating system. + Question: What kind of operating system is openEuler? + Output 1: YES + + Input 2: + Fragment: A white horse is not a horse. + Question: What kind of operating system is openEuler? + Output 2: NO + + Here are the given fragment and question: + Fragment: {chunk} + Question: {question} + 中文: | + 你是一个文本分析专家,你的任务是根据给出的片段和问题,判断片段是否与问题相关。 + 注意: + #01 如果片段与问题相关,请输出YES; + #02 如果片段与问题不相关,请输出NO; + #03 请仅输出YES或NO,不要输出其他内容。 + + 例子: + 输入1: + 片段:openEuler是一个开源的操作系统。 问题:openEuler是什么操作系统? - 输出2:NO - - 下面是给出的陈诉和问题: - 陈诉:{statement} - 问题:{question} - ' -GENREATE_QUESTION_FROM_CONTENT_PROMPT: '你是一个文本分析专家,你的任务是根据给出的文本生成{k}个问题并用列表返回 - 注意: - #01 问题必须来源于文本中的内容 - #02 单个问题长度不超过50个字 - #03 不要输出重复的问题 - #04 输出的问题要多样,覆盖文本中的不同方面 - #05 请仅输出问题列表,不要输出其他内容 - 例子: - 输入:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 - 输出: - [\"openEuler是什么操作系统?\",\"openEuler旨在为哪个领域提供支持?\",\"openEuler具有哪些特点?\",\"openEuler的安全性如何?\",\"openEuler的可靠性如何?\"] - 下面是给出的文本: - {content} -' -GENERATE_ANSWER_FROM_QUESTION_AND_CONTENT_PROMPT: '你是一个文本分析专家,你的任务是根据给出的问题和文本 - 生成答案 - 注意: - #01 答案必须来源于文本中的内容 - #02 答案长度不少于50字且不超过500个字 - #03 请仅输出答案,不要输出其他内容 - 例子: - 输入1: + 输出1:YES + + 输入2: + 片段:白马非马 问题:openEuler是什么操作系统? - 文本:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 - 输出1:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。 - - 输入2: - 问题:openEuler的安全性如何? - 文本:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 - 输出2:openEuler具有高安全性。 - - 下面是给出的问题和文本: - 问题:{question} - 文本:{content} -' -CAL_QA_SCORE_PROMPT: '你是一个文本分析专家,你的任务是给出的问题 答案 片段 判断由片段生成的问题和答案的分数,输出一个0-100之间的数,保留两位小数 -请根据下面规则评估: -问题评估 -相关性:问题是否与给定片段的主题紧密相关,是否准确地基于片段内容提出,有无偏离或曲解片段的核心信息。 -合理性:问题的表述是否清晰、逻辑连贯,是否符合正常的语言表达和思维习惯,不存在语义模糊、歧义或自相矛盾的情况。 -多样性:如果有多个问题,问题之间的角度和类型是否具有一定的多样性,避免过于单一或重复,能否从不同方面挖掘片段的内容。 -难度:问题的难度是否适中,既不过于简单,使答案可以直接从片段中照搬,也不过于困难,让回答者难以从片段中找到线索或依据。 -答案评估 -准确性:答案是否准确无误地回答了问题,与片段中的信息是否一致,有无错误或遗漏关键要点。 -完整性:答案是否完整,涵盖了问题所涉及的各个方面,对于需要详细阐述的问题,是否提供了足够的细节和解释。 -简洁性:在保证回答完整准确的前提下,答案是否简洁明了,避免冗长、啰嗦的表述,能否以简洁的语言传达关键信息。 -连贯性:答案的逻辑是否清晰,各部分内容之间的衔接是否自然流畅,有无跳跃或混乱的情况。 -整体评估 -一致性:问题和答案之间是否相互匹配,答案是否是针对所提出的问题进行的回答,两者在内容和逻辑上是否保持一致。 -融合性:答案是否能够很好地融合片段中的信息,不仅仅是简单的摘抄,而是经过整合和提炼,以合理的方式呈现出来。 -创新性:在某些情况下,评估答案是否具有一定的创新性或独特见解,是否能够在片段信息的基础上进行适当的拓展或深入思考。 - -注意: -#01 请仅输出分数,不要输出其他内容 - -例子: -输入1: - 问题:openEuler是什么操作系统? - 答案:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 - 片段:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 - 输出1:100.00 - -下面是给出的问题、答案和片段: - 问题:{question} - 答案:{answer} - 片段:{fragment} -' -CONTENT_TO_ABSTRACT_PROMPT: '你是一个文本摘要专家,你的任务是根据给出的文本和摘要生成一个新的摘要 - 注意: - #01 请结合文本和摘要中最重要的内容生成新的摘要 - #02 新的摘要的长度必须大于200字小于500字 - #03 请仅输出新的摘要,不要输出其他内容 - 例子: - 输入1: + 输出2:NO + + 下面是给出的片段和问题: + 片段:{chunk} + 问题:{question} + +CONTENT_TO_ABSTRACT_PROMPT: + en: | + You are a text summarization expert. Your task is to generate a new summary based on a given text and an existing summary. + Note: + #01 Please combine the most important content from the text and the existing summary to generate the new summary. + #02 The length of the new summary must be greater than 200 words and less than 500 words. + #03 Please only output the new summary; do not output any other content. + + Example: + Input 1: + Text: openEuler features high performance, high security, and high reliability. + Abstract: openEuler is an open source operating system designed to support cloud computing and edge computing. + Output 1: openEuler is an open source operating system designed to support cloud computing and edge computing. openEuler features high performance, high security, and high reliability. + + Below is the given text and summary: + Text: {content} + Abstract: {abstract} + 中文: | + 你是一个文本摘要专家,你的任务是根据给出的文本和已有摘要,生成一个新的摘要。 + 注意: + #01 请结合文本和已有摘要中最重要的内容,生成新的摘要; + #02 新的摘要长度必须大于200字且小于500字; + #03 请仅输出新的摘要,不要输出其他内容。 + + 例子: + 输入1: 文本:openEuler具有高性能、高安全性和高可靠性等特点。 摘要:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。 - 输出1:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。openEuler具有高性能、高安全性和高可靠性等特点。 - - 下面是给出的文本和摘要: - 文本:{content} - 摘要:{abstract} -' - -CONTENT_TO_TITLE_PROMPT: '你是一个标题提取专家,你的任务是根据给出的文本生成一个标题 - 注意: - #01 标题必须来源于文本中的内容 - #02 标题长度不超过20个字 - #03 请仅输出标题,不要输出其他内容 - #04 如果给出的文本不够生成标题,请输出“无法生成标题” - 例子: - 输入:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 - 输出:openEuler操作系统概述 - 下面是给出的文本: - {content} -' - -ACC_RESULT_ANALYSIS_PROMPT: '你是一个文本分析专家,你的任务根据给出的 测试使用的大模型 embdding模型 测试相关文档的解析方法和分块大小 单条测试结果分析rag算法匹配到的片段分析当前知识库问答准确率提升的方法 -测试结果包含下面内容: -问题:测试使用的问题 -标准答案:测试使用的标准答案 -生成的答案:测试结果中大模型的答案 -原始片段:测试结果中原始片段 -检索的片段:测试结果中rag算法检索到的片段 -精确率:评估生成的答案与问题之间的语义相似程度,这个评分月越低说明使用的大模型遵从度越低,其次是rag检索到的片段缺少上下文,不足以支撑问题的回答 -召回率度:评估生成的答案与标准回答之间的语义相似程度,这个评分月越低说明使用的大模型遵从度越低 -忠实值:评估生成的答案中的内容是否来自于检索到的片段,这个评分越低说明rag检索算法和embedding模型的召回率越低,检索到的片段不足以回答问题,其次是文本分块大小不合理 -可解释性:评估生成的答案是否用于回答问题,这个评分越低说明rag检索算法和embedding模型的召回率越低,检索到的片段不足以回答问题,其次是使用的大模型遵从度越低 - -注意: -#01 请根据测试结果中的内容分析当前知识库问答准确率提升的方法 -#02 请结合召回率、精确度、忠实值和可解释性四个指标进行分析 -#03 分析结果长度不超过500字 -#04 请仅输出分析结果,不要输出其他内容 -例子: -输入: -模型名称:qwen2.5-32b -embedding模型:bge-m3 -文本的分块大小:512 -使用解析的rag算法:向量化检索 -问题:openEuler是什么操作系统? -标准答案:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 -生成的答案:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 -原始片段:openEuler 是由开放原子开源基金会孵化及运营的开源操作系统,以构建面向数字基础设施的开源操作系统生态为使命,致力于为云计算、边缘计算等前沿领域提供坚实的底层支持。在云计算场景中,openEuler 能够充分优化资源调度与分配机制,通过轻量化的内核设计和高效的虚拟化技术,显著提升云服务的响应速度与吞吐量;在边缘计算领域,它凭借出色的低资源消耗特性与实时处理能力,保障了边缘节点在复杂环境下数据处理的及时性与准确性。 -openEuler 具备一系列卓越特性:在性能方面,其自主研发的智能调度算法能够动态适配不同负载场景,结合对硬件资源的深度优化利用,大幅提升系统运行效率;安全性上,通过内置的多层次安全防护体系,包括强制访问控制、漏洞扫描与修复机制,为系统数据与应用程序构筑起坚实的安全防线;可靠性层面,基于分布式存储、故障自动检测与快速恢复技术,确保系统在面对网络波动、硬件故障等突发状况时,依然能够稳定运行,最大限度降低服务中断风险。这些特性使 openEuler 成为推动数字经济高质量发展的重要技术基石,助力企业与开发者在数字化转型进程中抢占先机。 -检索的片段:openEuler 作为开源操作系统领域的先锋力量,深度融合了社区开发者的智慧结晶,不断迭代升级以适应快速变化的技术环境。在微服务架构盛行的当下,openEuler 通过对容器化技术的深度优化,支持 Kubernetes 等主流编排工具,让应用部署与管理变得更加便捷高效,极大提升了企业的业务部署灵活性。同时,它积极拥抱 AI 时代,通过对机器学习框架的适配与优化,为 AI 模型训练和推理提供强大的算力支撑,有效降低了 AI 应用的开发与运行成本。 -在生态建设方面,openEuler 拥有庞大且活跃的开源社区,汇聚了来自全球的技术爱好者与行业专家,形成了从内核开发、驱动适配到应用优化的完整生态链。社区定期举办技术交流与开发者大会,推动知识共享与技术创新,为开发者提供了丰富的学习资源与实践机会。众多硬件厂商和软件企业纷纷加入 openEuler 生态,推出基于该系统的解决方案和产品,涵盖金融、电信、能源等关键行业,以实际应用场景验证并反哺 openEuler 的技术发展,形成了良性循环的创新生态,让 openEuler 不仅是一个操作系统,更成为推动产业协同发展的强大引擎 。 - -召回率:95.00 -精确度:99.00 -忠实值:90.00 -可解释性:85.00 - -输出: -根据测试结果中的内容,当前知识库问答准确率提升的方法可以从以下几个方面进行分析: -召回率:目前召回率为 95.00,有提升空间。优化向量化检索算法,进一步挖掘原始片段中与问题相关但未被检索到的信息,如 openEuler 生态中一些具体实践案例等。调整 embedding 模型 bge-m3,使其能更全面准确地捕捉语义,扩大检索范围,提高召回率,使生成答案更接近标准答案。 -精确度:精确度达 99.00,已较高。但可进一步优化,对检索到的片段进行更深入的语义分析,结合大模型 qwen2.5-32b 的特点,精准匹配问题语义,避免细微语义偏差,例如更精确阐述 openEuler 在云计算和边缘计算中高性能等特性的具体表现。 -忠实值:忠实值为 90.00,说明部分答案内容未完全源于检索片段。优化 rag 检索算法,提高 embedding 模型召回率,调整文本分块大小为 512 可能存在不合理,需根据内容重新评估,确保检索片段包含足够上下文以支撑答案,使生成答案内容均来自检索片段,如关于 openEuler 生态建设中相关技术细节应从检索片段获取。 -可解释性:可解释性为 85.00,相对较低。提升大模型 qwen2.5-32b 的遵从度,优化 rag 检索算法和 embedding 模型 bge-m3 的召回率,使检索片段能更好支撑生成答案,保证答案能清晰回答问题,例如在回答 openEuler 相关问题时,使答案逻辑更清晰、针对性更强,提高整体可解释性。 - - -下面是测试结果中的内容: -使用的大模型:{model_name} -embedding模型:{embedding_model} -文本的分块大小:{chunk_size} -使用解析的rag算法:{rag_algorithm} -问题:{question} -标准答案:{standard_answer} -生成的答案:{generated_answer} -原始片段:{original_fragment} -检索的片段:{retrieved_fragment} -召回率:{recall} -精确度:{precision} -忠实值:{faithfulness} -可解释性:{relevance} -' -ACC_ANALYSIS_RESULT_MERGE_PROMPT: '你是一个文本分析专家,你的任务融合两条分析结果输出一份新的分析结果 -注意: -#01 请根据两条分析结果中的内容融合出一条新的分析结果 -#02 请结合召回率、精确度、忠实值和可解释性四个指标进行分析 -#03 新的分析结果长度不超过500字 -#04 请仅输出新的分析结果,不要输出其他内容 -例子: -输入1: -分析结果1: - -召回率:目前召回率为 95.00,有提升空间。优化向量化检索算法,进一步挖掘原始片段中与问题相关但未被检索到的信息,如 openEuler 生态中一些具体实践案例等。调整 embedding 模型 bge-m3,使其能更全面准确地捕捉语义,扩大检索范围,提高召回率,使生成答案更接近标准答案。 -精确度:精确度达 99.00,已较高。但可进一步优化,对检索到的片段进行更深入的语义分析,结合大模型 qwen2.5-32b 的特点,精准匹配问题语义,避免细微语义偏差,例如更精确阐述 openEuler 在云计算和边缘计算中高性能等特性的具体表现。 -忠实值:忠实值为 90.00,说明部分答案内容未完全源于检索片段。优化 rag 检索算法,提高 embedding 模型召回率,调整文本分块大小为 512 可能存在不合理,需根据内容重新评估,确保检索片段包含足够上下文以支撑答案,使生成答案内容均来自检索片段,如关于 openEuler 生态建设中相关技术细节应从检索片段获取。 -可解释性:可解释性为 85.00,相对较低。提升大模型 qwen2.5-32b 的遵从度,优化 rag 检索算法和 embedding 模型 bge-m3 的召回率,使检索片段能更好支撑生成答案,保证答案能清晰回答问题,例如在回答 openEuler 相关问题时,使答案逻辑更清晰、针对性更强,提高整体可解释性。 - -分析结果2: - -从召回率来看,目前为 95.00,可进一步优化 rag 检索算法和 embedding 模型,以提高生成答案与标准回答之间的语义相似程度,接近或达到更高的召回率,例如可以持续优化算法来更好地匹配相关片段。 -从精确度来看,为 99.00,接近满分,说明生成的答案与问题语义相似程度较高,但仍可进一步提升,可通过完善 embedding 模型来更好地理解问题语义,优化检索到的片段的上下文完整性,减少因上下文不足导致的精确度波动。 -对于忠实值,目前为 90.00,说明生成的答案中部分内容未完全来自检索到的片段。可优化 rag 检索算法,提高其召回率,同时合理调整文本分块大小,确保检索到的片段能充分回答问题,从而提高忠实值。 -关于可解释性,当前为 85.00,说明生成的答案在用于回答问题方面有一定提升空间。一方面可以优化使用的大模型,提高其遵从度,使其生成的答案更准确地回答问题;另一方面,继续优化 rag 检索算法和 embedding 模型的召回率,保证检索到的片段能全面支撑问题的回答,提高可解释性。 - -输出: -召回率:目前召回率为 95.00,有提升空间。优化向量化检索算法,进一步挖掘原始片段中与问题相关但未被检索到的信息,如 openEuler 生态中一些具体实践案例等。调整 embedding 模型 bge-m3,使其能更全面准确地捕捉语义,扩大检索范围,提高召回率,使生成答案更接近标准答案。 -精确度:精确度达 99.00,已较高。但可进一步优化,对检索到的片段进行更深入的语义分析,结合大模型 qwen2.5-32b 的特点,精准匹配问题语义,避免细微语义偏差,例如更精确阐述 openEuler 在云计算和边缘计算中高性能等特性的具体表现。 -忠实值:忠实值为 90.00,说明部分答案内容未完全源于检索片段。优化 rag 检索算法,提高 embedding 模型召回率,调整文本分块大小为 512 可能存在不合理,需根据内容重新评估,确保检索片段包含足够上下文以支撑答案,使生成答案内容均来自检索片段,如关于 openEuler 生态建设中相关技术细节应从检索片段获取。 -可解释性:可解释性为 85.00,相对较低。提升大模型 qwen2.5-32b 的遵从度,优化 rag 检索算法和 embedding 模型 bge-m3 的召回率,使检索片段能更好支撑生成答案,保证答案能清晰回答问题,例如在回答 openEuler 相关问题时,使答案逻辑更清晰、针对性更强,提高整体可解释性。 - -下面两条分析结果: -分析结果1:{analysis_result_1} -分析结果2:{analysis_result_2} -' -CHUNK_QUERY_MATCH_PROMPT: '你是一个文本分析专家,你的任务是根据给出的片段和问题判断,片段是否与问题相关 - 注意: - #01 如果片段与问题相关,请输出YES - #02 如果片段与问题不相关,请输出NO - #03 请仅输出YES或NO,不要输出其他内容 - 例子: - 输入1: - 片段:openEuler是一个开源的操作系统。 + 输出1:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。openEuler具有高性能、高安全性和高可靠性等特点。 + + 下面是给出的文本和摘要: + 文本:{content} + 摘要:{abstract} + +CONTENT_TO_STATEMENTS_PROMPT: + en: | + You are a text parsing expert. Your task is to extract multiple statements from a given text and return them as a list. + + Note: + #01 Statements must be derived from key points in the text. + #02 Statements must be arranged in relative order. + #03 Each statement must be at least 20 characters long and no more than 50 characters long. + #04 The total number of statements output must not exceed three. + #05 Please output only the list of statements, not any other content. Each statement must be in Chinese. + Example: + + Input: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Output: [ "openEuler is an open source operating system", "openEuler is designed to support cloud computing and edge computing", "openEuler features high performance, high security, and high reliability" ] + + The following is the given text: {content} + 中文: | + 你是一个文本分解专家,你的任务是根据我给出的文本,将文本提取为多个陈述,陈述使用列表形式返回 + + 注意: + #01 陈述必须来源于文本中的重点内容 + #02 陈述按相对顺序排列 + #03 输出的单个陈述长度不少于20个字,不超过50个字 + #04 输出的陈述总数不超过3个 + #05 请仅输出陈述列表,不要输出其他内容,且每一条陈述都是中文。 + 例子: + + 输入:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出:[ "openEuler是一个开源的操作系统", "openEuler旨在为云计算和边缘计算提供支持", "openEuler具有高性能、高安全性和高可靠性等特点" ] + + 下面是给出的文本: {content} + +CONTENT_TO_TITLE_PROMPT: + en: >- + You are a title extraction expert. Your task is to generate an English title based on the given text. + Note: + #01 The title must be derived from the content of the text. + #02 The title must be no longer than 20 characters. + #03 Please output only the English title, and do not output any other content. + #04 If the given text is insufficient to generate a title, output "Unable to generate title." + Example: + Input: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Output: Overview of the openEuler operating system. + Below is the given text: {content} + 中文: >- + 你是一个标题提取专家,你的任务是根据给出的文本生成一个中文标题。 + 注意: + #01 标题必须来源于文本中的内容 + #02 标题长度不超过20个字 + #03 请仅输出中文标题,不要输出其他内容 + #04 如果给出的文本不够生成标题,请输出“无法生成标题” + 例子: + 输入:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出:openEuler操作系统概述 + 下面是给出的文本:{content} + +GENERATE_ANSWER_FROM_QUESTION_AND_CONTENT_PROMPT: + en: | + You are a text analysis expert. Your task is to generate an English answer based on a given question and text. + Note: + #01 The answer must be derived from the content in the text. + #02 The answer must be at least 50 words and no more than 500 words. + #03 Please only output the English answer; do not output any other content. + Example: + Input 1: + Question: What kind of operating system is openEuler? + Text: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Output 1: openEuler is an open source operating system designed to support cloud computing and edge computing. + + Input 2: + Question: How secure is openEuler? + Text: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Output 2: openEuler is highly secure. + + Below is the given question and text: + Question: {question} + Text: {content} + 中文: | + 你是一个文本分析专家,你的任务是根据给出的问题和文本生成中文答案。 + 注意: + #01 答案必须来源于文本中的内容; + #02 答案长度不少于50字且不超过500个字; + #03 请仅输出中文答案,不要输出其他内容。 + 例子: + 输入1: + 问题:openEuler是什么操作系统? + 文本:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出1:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。 + + 输入2: + 问题:openEuler的安全性如何? + 文本:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出2:openEuler具有高安全性。 + + 下面是给出的问题和文本: + 问题:{question} + 文本:{content} + +GENERATE_QUESTION_FROM_CONTENT_PROMPT: + en: | + You are a text analysis expert. Your task is to generate {k} English questions based on the given text and return them as a list. + Note: + #01 Questions must be derived from the content of the text. + #02 A single question must not exceed 50 characters. + #03 Do not output duplicate questions. + #04 The output questions should be diverse, covering different aspects of the text. + #05 Please only output a list of English questions, not other content. + Example: + Input: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Output: ["What is openEuler?","What fields does openEuler support?","What are the characteristics of openEuler?","How secure is openEuler?","How reliable is openEuler?"] + The following is the given text: {content} + 中文: | + 你是一个文本分析专家,你的任务是根据给出的文本生成{k}个中文问题并用列表返回。 + 注意: + #01 问题必须来源于文本中的内容; + #02 单个问题长度不超过50个字; + #03 不要输出重复的问题; + #04 输出的问题要多样,覆盖文本中的不同方面; + #05 请仅输出中文问题列表,不要输出其他内容。 + 例子: + 输入:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出:["openEuler是什么操作系统?","openEuler旨在为哪个领域提供支持?","openEuler具有哪些特点?","openEuler的安全性如何?","openEuler的可靠性如何?"] + 下面是给出的文本:{content} + +OCR_ENHANCED_PROMPT: + en: | + You are an expert in image OCR content summarization. Your task is to describe the image based on the context I provide, descriptions of adjacent images, a summary of the previous OCR result for the current image, and the partial OCR results (including text and relative coordinates). + + Note: + #01 The image content must be described in detail, using at least 200 and no more than 500 words. Detailed data listing is acceptable. + #02 If this diagram is a flowchart, please describe the content in the order of the flowchart. + #03 If this diagram is a table, please output the table content in Markdown format. + #04 If this diagram is an architecture diagram, please describe the content according to the hierarchy of the architecture diagram. + #05 The summarized image description must include the key information in the image; it cannot simply describe the image's location. + #06 Adjacent text in the image recognition results may be part of the same paragraph. Please merge them before summarizing. + #07 The text may be misplaced. Please correct the order before summarizing. + #08 Please only output the image summary; do not output any other content. + #09 Do not output coordinates or other information; only output a description of the relative position of each part. + #10 If the image content is empty, output "Image content is empty." + #11 If the image itself is a paragraph of text, output the text content directly. + + Context: {image_related_text} + Summary of the OCR content of the previous part of the current image: {pre_part_description} + Result of the OCR of the current part of the image: {part} + 中文: | + 你是一个图片OCR内容总结专家,你的任务是根据我提供的上下文、相邻图片组描述、当前图片上一次的OCR内容总结、当前图片部分OCR的结果(包含文字和文字的相对坐标)给出图片描述。 + + 注意: + #01 必须使用大于200字小于500字详细描述这个图片的内容,可以详细列出数据。 + #02 如果这个图是流程图,请按照流程图顺序描述内容。 + #03 如果这张图是表格,请用Markdown形式输出表格内容。 + #04 如果这张图是架构图,请按照架构图层次结构描述内容。 + #05 总结的图片描述必须包含图片中的主要信息,不能只描述图片位置。 + #06 图片识别结果中相邻的文字可能是同一段落的内容,请合并后总结。 + #07 文字可能存在错位,请修正顺序后进行总结。 + #08 请仅输出图片的总结即可,不要输出其他内容。 + #09 不要输出坐标等信息,输出每个部分相对位置的描述即可。 + #10 如果图片内容为空,请输出“图片内容为空”。 + #11 如果图片本身就是一段文字,请直接输出文字内容。 + + 上下文:{image_related_text} + 当前图片上一部分的OCR内容总结:{pre_part_description} + 当前图片部分OCR的结果:{part} + +QA_TO_STATEMENTS_PROMPT: + en: | + You are a text parsing expert. Your task is to extract the answers from the questions and answers I provide into multiple English statements, returning them as a list. + + Note: + #01 The statements must be derived from the key points of the answers. + #02 The statements must be arranged in relative order. + #03 The length of each statement output must not exceed 50 characters. + #04 The total number of statements output must not exceed 20. + #05 Please only output the list of English statements; do not output any other content. + + Example: + Input: Question: What is openEuler? Answer: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Output: [ "openEuler is an open source operating system", "openEuler is designed to support cloud computing and edge computing", "openEuler features high performance, high security, and high reliability" ] + + Below are the given questions and answers: + Question: {question} + Answer: {answer} + 中文: | + 你是一个文本分解专家,你的任务是根据我给出的问题和答案,将答案提取为多个中文陈述,陈述使用列表形式返回。 + + 注意: + #01 陈述必须来源于答案中的重点内容 + #02 陈述按相对顺序排列 + #03 输出的单个陈述长度不超过50个字 + #04 输出的陈述总数不超过20个 + #05 请仅输出中文陈述列表,不要输出其他内容 + + 例子: + 输入:问题:openEuler是什么操作系统? 答案:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出:[ "openEuler是一个开源的操作系统", "openEuler旨在为云计算和边缘计算提供支持", "openEuler具有高性能、高安全性和高可靠性等特点" ] + + 下面是给出的问题和答案: + 问题:{question} + 答案:{answer} + +QUERY_EXTEND_PROMPT: + en: | + You are a question expansion expert. Your task is to expand {k} questions based on the given question. + + Note: + #01 The content of the expanded question must be derived from the content of the original question. + #02 The expanded question length must not exceed 50 characters. + #03 Questions can be rewritten by replacing synonyms, swapping word order within the question, changing English capitalization, etc. + #04 Please only output the expanded question list, do not output other content. + + Example: + Input: What operating system is openEuler? + Output: [ "What kind of operating system is openEuler?", "What are the characteristics of the openEuler operating system?", "What are the functions of the openEuler operating system?", "What are the advantages of the openEuler operating system?" ] + + The following is the given question: {question} + 中文: | + 你是一个问题扩写专家,你的任务是根据给出的问题扩写{k}个问题。 + + 注意: + #01 扩写的问题的内容必须来源于原问题中的内容 + #02 扩写的问题长度不超过50个字 + #03 可以通过近义词替换、问题内词序交换、修改英文大小写等方式来改写问题 + #04 请仅输出扩写的问题列表,不要输出其他内容 + + 例子: + 输入:openEuler是什么操作系统? + 输出:[ "openEuler是一个什么样的操作系统?", "openEuler操作系统的特点是什么?", "openEuler操作系统有哪些功能?", "openEuler操作系统的优势是什么?" ] + + 下面是给出的问题:{question} + +STATEMENTS_TO_FRAGMENT_PROMPT: + en: | + You are a text expert. Your task is to determine whether a given statement is strongly related to the fragment. + + Note: + #01 If the statement is strongly related to the fragment or is derived from the fragment, output YES. + #02 If the content in the statement is unrelated to the fragment, output NO. + #03 If the statement is a refinement of a portion of the fragment, output YES. + #05 Only output YES or NO, and do not output anything else. + + Example: + Input 1: + Statement: openEuler is an open source operating system. + Fragment: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Output 1: YES + + Input 2: + Statement: A white horse is not a horse. + Fragment: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Output 2: NO + + Below is a given statement and fragment: + Statement: {statement} + Fragment: {fragment} + 中文: | + 你是一个文本专家,你的任务是判断给出的陈述是否与片段强相关。 + + 注意: + #01 如果陈述与片段强相关或者来自于片段,请输出YES + #02 如果陈述中的内容与片段无关,请输出NO + #03 如果陈述是片段中某部分的提炼,请输出YES + #05 请仅输出YES或NO,不要输出其他内容 + + 例子: + 输入1: + 陈述:openEuler是一个开源的操作系统。 + 片段:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出1:YES + + 输入2: + 陈述:白马非马 + 片段:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出2:NO + + 下面是给出的陈述和片段: + 陈述:{statement} + 片段:{fragment} + +STATEMENTS_TO_QUESTION_PROMPT: + en: | + You are a text analysis expert. Your task is to determine whether a given statement is relevant to a question. + + Note: + #01 If the statement is relevant to the question, output YES. + #02 If the statement is not relevant to the question, output NO. + #03 Only output YES or NO, and do not output anything else. + #04 A statement's relevance to the question means that the content in the statement can answer the question or overlaps with the question in terms of content. + + Example: + Input 1: + Statement: openEuler is an open source operating system. + Question: What kind of operating system is openEuler? + Output 1: YES + + Input 2: + Statement: A white horse is not a horse. + Question: What kind of operating system is openEuler? + Output 2: NO + + Below is the given statement and question: + Statement: {statement} + Question: {question} + 中文: | + 你是一个文本分析专家,你的任务是判断给出的陈述是否与问题相关。 + + 注意: + #01 如果陈述与问题相关,请输出YES + #02 如果陈述与问题不相关,请输出NO + #03 请仅输出YES或NO,不要输出其他内容 + #04 陈述与问题相关是指,陈述中的内容可以回答问题或者与问题在内容上有交集 + + 例子: + 输入1: + 陈述:openEuler是一个开源的操作系统。 问题:openEuler是什么操作系统? - 输出1:YES + 输出1:YES - 输入2: - 片段:白马非马 + 输入2: + 陈述:白马非马 问题:openEuler是什么操作系统? - 输出2:NO - - 下面是给出的片段和问题: - 片段:{chunk} - 问题:{question} - ' -QUERY_EXTEND_PROMPT: '你是一个问题扩写专家,你的任务是根据给出的问题扩写{k}个问题 - 注意: - #01 扩写的问题的内容必须来源于原问题中的内容 - #02 扩写的问题长度不超过50个字 - #03 可以通过近义词替换 问题内词序交换 修改英文大小写等方式来改写问题 - #04 请仅输出扩写的问题列表,不要输出其他内容 - 例子: - 输入:openEuler是什么操作系统? - 输出: - [ - \"openEuler是一个什么样的操作系统?\", - \"openEuler操作系统的特点是什么?\", - \"openEuler操作系统有哪些功能?\", - \"openEuler操作系统的优势是什么?\" - ] - 下面是给出的问题: - {question} - ' \ No newline at end of file + 输出2:NO + + 下面是给出的陈述和问题: + 陈述:{statement} + 问题:{question} diff --git a/data_chain/entities/enum.py b/data_chain/entities/enum.py index 90d7c70..dd8cfea 100644 --- a/data_chain/entities/enum.py +++ b/data_chain/entities/enum.py @@ -26,7 +26,7 @@ class Tokenizer(str, Enum): ZH = "中文" EN = "en" - MIX = "mix" + # MIX = "mix" class Embedding(str, Enum): diff --git a/data_chain/parser/tools/ocr_tool.py b/data_chain/parser/tools/ocr_tool.py index 872588e..b11ff6e 100644 --- a/data_chain/parser/tools/ocr_tool.py +++ b/data_chain/parser/tools/ocr_tool.py @@ -75,11 +75,12 @@ class OcrTool: return '' @staticmethod - async def enhance_ocr_result(ocr_result, image_related_text='', llm: LLM = None) -> str: + async def enhance_ocr_result(ocr_result, image_related_text='', llm: LLM = None, language: str = "中文") -> str: try: with open(config['PROMPT_PATH'], 'r', encoding='utf-8') as f: prompt_dict = yaml.load(f, Loader=yaml.SafeLoader) - prompt_template = prompt_dict.get('OCR_ENHANCED_PROMPT', '') + prompt_template = prompt_dict.get('OCR_ENHANCED_PROMPT', {}) + prompt_template = prompt_template.get(language, '') pre_part_description = "" token_limit = llm.max_tokens//2 image_related_text = TokenTool.get_k_tokens_words_from_content(image_related_text, token_limit) @@ -104,7 +105,8 @@ class OcrTool: return OcrTool.merge_text_from_ocr_result(ocr_result) @staticmethod - async def image_to_text(image_file_path: str, image_related_text: str = '', llm: LLM = None) -> str: + async def image_to_text( + image_file_path: str, image_related_text: str = '', llm: LLM = None, language: str = '中文') -> str: try: ocr_result = await OcrTool.ocr_from_image_path(image_file_path) if ocr_result is None: @@ -112,7 +114,7 @@ class OcrTool: if llm is None: text = await OcrTool.merge_text_from_ocr_result(ocr_result) else: - text = await OcrTool.enhance_ocr_result(ocr_result, image_related_text, llm) + text = await OcrTool.enhance_ocr_result(ocr_result, image_related_text, llm, language) if "图片内容为空" in text: return "" return text diff --git a/data_chain/parser/tools/token_tool.py b/data_chain/parser/tools/token_tool.py index a9a050f..c3dd671 100644 --- a/data_chain/parser/tools/token_tool.py +++ b/data_chain/parser/tools/token_tool.py @@ -261,14 +261,15 @@ class TokenTool: return [sentence for index, sentence, score in top_k_sentence_and_score_list] @staticmethod - async def get_abstract_by_llm(content: str, llm: LLM) -> str: + async def get_abstract_by_llm(content: str, llm: LLM, language: str) -> str: """ 使用llm进行内容摘要 """ try: with open(config['PROMPT_PATH'], 'r', encoding='utf-8') as f: prompt_dict = yaml.load(f, Loader=yaml.SafeLoader) - prompt_template = prompt_dict.get('CONTENT_TO_ABSTRACT_PROMPT', '') + prompt_template = prompt_dict.get('CONTENT_TO_ABSTRACT_PROMPT', {}) + prompt_template = prompt_template.get(language, '') sentences = TokenTool.split_str_with_slide_window(content, llm.max_tokens//3*2) abstract = '' for sentence in sentences: @@ -282,14 +283,15 @@ class TokenTool: logging.exception("[TokenTool] %s", err) @staticmethod - async def get_title_by_llm(content: str, llm: LLM) -> str: + async def get_title_by_llm(content: str, llm: LLM, languate: str) -> str: """ 使用llm进行标题生成 """ try: with open(config['PROMPT_PATH'], 'r', encoding='utf-8') as f: prompt_dict = yaml.load(f, Loader=yaml.SafeLoader) - prompt_template = prompt_dict.get('CONTENT_TO_TITLE_PROMPT', '') + prompt_template = prompt_dict.get('CONTENT_TO_TITLE_PROMPT', {}) + prompt_template = prompt_template.get(languate, '') content = TokenTool.get_k_tokens_words_from_content(content, llm.max_tokens) sys_call = prompt_template.format(content=content) user_call = '请结合文本输出标题' @@ -300,7 +302,7 @@ class TokenTool: logging.exception("[TokenTool] %s", err) @staticmethod - async def cal_recall(answer_1: str, answer_2: str, llm: LLM) -> float: + async def cal_recall(answer_1: str, answer_2: str, llm: LLM, language: str) -> float: """ 计算recall 参数: @@ -311,7 +313,8 @@ class TokenTool: try: with open(config['PROMPT_PATH'], 'r', encoding='utf-8') as f: prompt_dict = yaml.load(f, Loader=yaml.SafeLoader) - prompt_template = prompt_dict.get('ANSWER_TO_ANSWER_PROMPT', '') + prompt_template = prompt_dict.get('ANSWER_TO_ANSWER_PROMPT', {}) + prompt_template = prompt_template.get(language, '') answer_1 = TokenTool.get_k_tokens_words_from_content(answer_1, llm.max_tokens//2) answer_2 = TokenTool.get_k_tokens_words_from_content(answer_2, llm.max_tokens//2) prompt = prompt_template.format(text_1=answer_1, text_2=answer_2) @@ -325,7 +328,7 @@ class TokenTool: return -1 @staticmethod - async def cal_precision(question: str, content: str, llm: LLM) -> float: + async def cal_precision(question: str, content: str, llm: LLM, language: str) -> float: """ 计算precision 参数: @@ -335,17 +338,19 @@ class TokenTool: try: with open(config['PROMPT_PATH'], 'r', encoding='utf-8') as f: prompt_dict = yaml.load(f, Loader=yaml.SafeLoader) - prompt_template = prompt_dict.get('CONTENT_TO_STATEMENTS_PROMPT', '') + prompt_template = prompt_dict.get('CONTENT_TO_STATEMENTS_PROMPT', {}) + prompt_template = prompt_template.get(language, '') content = TokenTool.compress_tokens(content, llm.max_tokens) sys_call = prompt_template.format(content=content) user_call = '请结合文本输出陈诉列表' statements = await llm.nostream([], sys_call, user_call, st_str='[', - en_str=']') + en_str=']') statements = json.loads(statements) if len(statements) == 0: return 0 score = 0 - prompt_template = prompt_dict.get('STATEMENTS_TO_QUESTION_PROMPT', '') + prompt_template = prompt_dict.get('STATEMENTS_TO_QUESTION_PROMPT', {}) + prompt_template = prompt_template.get(language, '') for statement in statements: statement = TokenTool.get_k_tokens_words_from_content(statement, llm.max_tokens) prompt = prompt_template.format(statement=statement, question=question) @@ -362,7 +367,7 @@ class TokenTool: return -1 @staticmethod - async def cal_faithfulness(question: str, answer: str, content: str, llm: LLM) -> float: + async def cal_faithfulness(question: str, answer: str, content: str, llm: LLM, language: str) -> float: """ 计算faithfulness 参数: @@ -372,15 +377,17 @@ class TokenTool: try: with open(config['PROMPT_PATH'], 'r', encoding='utf-8') as f: prompt_dict = yaml.load(f, Loader=yaml.SafeLoader) - prompt_template = prompt_dict.get('QA_TO_STATEMENTS_PROMPT', '') + prompt_template = prompt_dict.get('QA_TO_STATEMENTS_PROMPT', {}) + prompt_template = prompt_template.get(language, '') question = TokenTool.get_k_tokens_words_from_content(question, llm.max_tokens//8) answer = TokenTool.get_k_tokens_words_from_content(answer, llm.max_tokens//8*7) prompt = prompt_template.format(question=question, answer=answer) sys_call = prompt user_call = '请结合问题和答案输出陈诉' - statements = await llm.nostream([], sys_call, user_call,st_str='[', - en_str=']') - prompt_template = prompt_dict.get('STATEMENTS_TO_FRAGMENT_PROMPT', '') + statements = await llm.nostream([], sys_call, user_call, st_str='[', + en_str=']') + prompt_template = prompt_dict.get('STATEMENTS_TO_FRAGMENT_PROMPT', {}) + prompt_template = prompt_template.get(language, '') statements = json.loads(statements) if len(statements) == 0: return 0 @@ -416,7 +423,7 @@ class TokenTool: return cosine_dist @staticmethod - async def cal_relevance(question: str, answer: str, llm: LLM) -> float: + async def cal_relevance(question: str, answer: str, llm: LLM, language: str) -> float: """ 计算relevance 参数: @@ -426,7 +433,8 @@ class TokenTool: try: with open(config['PROMPT_PATH'], 'r', encoding='utf-8') as f: prompt_dict = yaml.load(f, Loader=yaml.SafeLoader) - prompt_template = prompt_dict.get('GENREATE_QUESTION_FROM_CONTENT_PROMPT', '') + prompt_template = prompt_dict.get('GENERATE_QUESTION_FROM_CONTENT_PROMPT', {}) + prompt_template = prompt_template.get(language, '') answer = TokenTool.get_k_tokens_words_from_content(answer, llm.max_tokens) sys_call = prompt_template.format(k=5, content=answer) user_call = '请结合文本输出问题列表' diff --git a/data_chain/rag/enhanced_by_llm_searcher.py b/data_chain/rag/enhanced_by_llm_searcher.py index f076d4f..7f76613 100644 --- a/data_chain/rag/enhanced_by_llm_searcher.py +++ b/data_chain/rag/enhanced_by_llm_searcher.py @@ -13,6 +13,7 @@ from data_chain.entities.enum import SearchMethod from data_chain.parser.tools.token_tool import TokenTool from data_chain.llm.llm import LLM from data_chain.config.config import config +from data_chain.manager.knowledge_manager import KnowledgeBaseManager class EnhancedByLLMSearcher(BaseSearcher): @@ -36,7 +37,9 @@ class EnhancedByLLMSearcher(BaseSearcher): try: with open('./data_chain/common/prompt.yaml', 'r', encoding='utf-8') as f: prompt_dict = yaml.safe_load(f) - prompt_template = prompt_dict['CHUNK_QUERY_MATCH_PROMPT'] + knowledge_entity = await KnowledgeBaseManager.get_knowledge_base_by_kb_id(kb_id) + prompt_template = prompt_dict.get('CHUNK_QUERY_MATCH_PROMPT', {}) + prompt_template = prompt_template.get(knowledge_entity.tokenizer, '') chunk_entities = [] rd = 0 max_retry = 5 diff --git a/data_chain/rag/query_extend_searcher.py b/data_chain/rag/query_extend_searcher.py index 1628ebe..71852c7 100644 --- a/data_chain/rag/query_extend_searcher.py +++ b/data_chain/rag/query_extend_searcher.py @@ -14,6 +14,7 @@ from data_chain.entities.enum import SearchMethod from data_chain.parser.tools.token_tool import TokenTool from data_chain.llm.llm import LLM from data_chain.config.config import config +from data_chain.manager.knowledge_manager import KnowledgeBaseManager class QueryExtendSearcher(BaseSearcher): @@ -35,7 +36,9 @@ class QueryExtendSearcher(BaseSearcher): """ with open('./data_chain/common/prompt.yaml', 'r', encoding='utf-8') as f: prompt_dict = yaml.safe_load(f) - prompt_template = prompt_dict['QUERY_EXTEND_PROMPT'] + konwledge_entity = await KnowledgeBaseManager.get_knowledge_base_by_kb_id(kb_id) + prompt_template = prompt_dict.get('QUERY_EXTEND_PROMPT', {}) + prompt_template = prompt_template.get(konwledge_entity.tokenizer, '') chunk_entities = [] llm = LLM( openai_api_key=config['OPENAI_API_KEY'], -- Gitee From 98287e98b28df67f57a0a5babef426e28905a193 Mon Sep 17 00:00:00 2001 From: zxstty Date: Fri, 29 Aug 2025 16:12:30 +0800 Subject: [PATCH 25/43] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=90=91=E9=87=8F?= =?UTF-8?q?=E5=8C=96=E6=A3=80=E7=B4=A2=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/manager/chunk_manager.py | 11 ++++++----- .../dynamic_weighted_keyword_and_vector_searcher.py | 3 ++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/data_chain/manager/chunk_manager.py b/data_chain/manager/chunk_manager.py index 277abc3..4cde76c 100644 --- a/data_chain/manager/chunk_manager.py +++ b/data_chain/manager/chunk_manager.py @@ -191,9 +191,9 @@ class ChunkManager(): .where(ChunkEntity.kb_id == kb_id) .where(ChunkEntity.enabled == True) .where(ChunkEntity.status != ChunkStatus.DELETED.value) - .where(ChunkEntity.id.notin_(banned_ids)) ) - + if banned_ids: + stmt = stmt.where(ChunkEntity.id.notin_(banned_ids)) # 添加可选条件 if doc_ids is not None: stmt = stmt.where(DocumentEntity.id.in_(doc_ids)) @@ -270,9 +270,9 @@ class ChunkManager(): .where(ChunkEntity.kb_id == kb_id) .where(ChunkEntity.enabled == True) .where(ChunkEntity.status != ChunkStatus.DELETED.value) - .where(ChunkEntity.id.notin_(banned_ids)) ) - + if banned_ids: + stmt = stmt.where(ChunkEntity.id.notin_(banned_ids)) if doc_ids is not None: stmt = stmt.where(DocumentEntity.id.in_(doc_ids)) if chunk_to_type is not None: @@ -357,8 +357,9 @@ class ChunkManager(): .where(ChunkEntity.kb_id == kb_id) .where(ChunkEntity.enabled == True) .where(ChunkEntity.status != ChunkStatus.DELETED.value) - .where(ChunkEntity.id.notin_(banned_ids)) ) + if banned_ids: + stmt = stmt.where(ChunkEntity.id.notin_(banned_ids)) # 添加 GROUP BY 子句,按 ChunkEntity.id 分组 stmt = stmt.group_by(ChunkEntity.id) diff --git a/data_chain/rag/dynamic_weighted_keyword_and_vector_searcher.py b/data_chain/rag/dynamic_weighted_keyword_and_vector_searcher.py index f513036..d6bb9c4 100644 --- a/data_chain/rag/dynamic_weighted_keyword_and_vector_searcher.py +++ b/data_chain/rag/dynamic_weighted_keyword_and_vector_searcher.py @@ -47,7 +47,8 @@ class KeywordVectorSearcher(BaseSearcher): logging.info(f"[KeywordVectorSearcher] 向量检索成功完成,耗时: {end_time - start_time:.2f}秒") break except Exception as e: - err = f"[KeywordVectorSearcher] 向量检索失败,error: {e}" + import traceback + err = f"[KeywordVectorSearcher] 向量检索失败,error: {e}, traceback: {traceback.format_exc()}" logging.error(err) continue chunk_entities = chunk_entities_get_by_keyword + chunk_entities_get_by_dynamic_weighted_keyword + chunk_entities_get_by_vector -- Gitee From 3a0a53f05c1909608815b975991cec0bd94117bc Mon Sep 17 00:00:00 2001 From: zxstty Date: Fri, 29 Aug 2025 16:19:54 +0800 Subject: [PATCH 26/43] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=90=91=E9=87=8F?= =?UTF-8?q?=E5=8C=96=E6=A3=80=E7=B4=A2=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/rag/doc2chunk_bfs_searcher.py | 4 ++-- .../rag/dynamic_weighted_keyword_and_vector_searcher.py | 2 +- data_chain/rag/enhanced_by_llm_searcher.py | 2 +- data_chain/rag/keyword_and_vector_searcher.py | 2 +- data_chain/rag/query_extend_searcher.py | 2 +- data_chain/rag/vector_searcher.py | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/data_chain/rag/doc2chunk_bfs_searcher.py b/data_chain/rag/doc2chunk_bfs_searcher.py index 07560fd..629e8d2 100644 --- a/data_chain/rag/doc2chunk_bfs_searcher.py +++ b/data_chain/rag/doc2chunk_bfs_searcher.py @@ -37,7 +37,7 @@ class Doc2ChunkBfsSearcher(BaseSearcher): root_chunk_entities_vector = [] for _ in range(3): try: - root_chunk_entities_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(root_chunk_entities_keyword), doc_ids, banned_ids, ChunkParseTopology.TREEROOT.value), timeout=10) + root_chunk_entities_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(root_chunk_entities_keyword), doc_ids, banned_ids, ChunkParseTopology.TREEROOT.value), timeout=20) break except Exception as e: err = f"[KeywordVectorSearcher] 向量检索失败,error: {e}" @@ -54,7 +54,7 @@ class Doc2ChunkBfsSearcher(BaseSearcher): root_chunk_entities_vector = [] for _ in range(3): try: - root_chunk_entities_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(root_chunk_entities_keyword), doc_ids, banned_ids, None, pre_ids), timeout=10) + root_chunk_entities_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(root_chunk_entities_keyword), doc_ids, banned_ids, None, pre_ids), timeout=20) break except Exception as e: err = f"[KeywordVectorSearcher] 向量检索失败,error: {e}" diff --git a/data_chain/rag/dynamic_weighted_keyword_and_vector_searcher.py b/data_chain/rag/dynamic_weighted_keyword_and_vector_searcher.py index d6bb9c4..280ff8b 100644 --- a/data_chain/rag/dynamic_weighted_keyword_and_vector_searcher.py +++ b/data_chain/rag/dynamic_weighted_keyword_and_vector_searcher.py @@ -42,7 +42,7 @@ class KeywordVectorSearcher(BaseSearcher): try: import time start_time = time.time() - chunk_entities_get_by_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(chunk_entities_get_by_keyword)-len(chunk_entities_get_by_dynamic_weighted_keyword), doc_ids, banned_ids), timeout=10) + chunk_entities_get_by_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(chunk_entities_get_by_keyword)-len(chunk_entities_get_by_dynamic_weighted_keyword), doc_ids, banned_ids), timeout=20) end_time = time.time() logging.info(f"[KeywordVectorSearcher] 向量检索成功完成,耗时: {end_time - start_time:.2f}秒") break diff --git a/data_chain/rag/enhanced_by_llm_searcher.py b/data_chain/rag/enhanced_by_llm_searcher.py index 7f76613..738eaac 100644 --- a/data_chain/rag/enhanced_by_llm_searcher.py +++ b/data_chain/rag/enhanced_by_llm_searcher.py @@ -59,7 +59,7 @@ class EnhancedByLLMSearcher(BaseSearcher): sub_chunk_entities_vector = [] for _ in range(3): try: - sub_chunk_entities_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k, doc_ids, banned_ids), timeout=10) + sub_chunk_entities_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k, doc_ids, banned_ids), timeout=20) break except Exception as e: err = f"[EnhancedByLLMSearcher] 向量检索失败,error: {e}" diff --git a/data_chain/rag/keyword_and_vector_searcher.py b/data_chain/rag/keyword_and_vector_searcher.py index d9f1cdf..9a0c7de 100644 --- a/data_chain/rag/keyword_and_vector_searcher.py +++ b/data_chain/rag/keyword_and_vector_searcher.py @@ -40,7 +40,7 @@ class KeywordVectorSearcher(BaseSearcher): try: import time start_time = time.time() - chunk_entities_get_by_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(chunk_entities_get_by_keyword), doc_ids, banned_ids), timeout=10) + chunk_entities_get_by_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(chunk_entities_get_by_keyword), doc_ids, banned_ids), timeout=20) end_time = time.time() logging.info(f"[KeywordVectorSearcher] 向量检索成功完成,耗时: {end_time - start_time:.2f}秒") break diff --git a/data_chain/rag/query_extend_searcher.py b/data_chain/rag/query_extend_searcher.py index 71852c7..bbccd51 100644 --- a/data_chain/rag/query_extend_searcher.py +++ b/data_chain/rag/query_extend_searcher.py @@ -64,7 +64,7 @@ class QueryExtendSearcher(BaseSearcher): chunk_entities_get_by_vector = [] for _ in range(3): try: - chunk_entities_get_by_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(chunk_entities_get_by_keyword), doc_ids, banned_ids), timeout=10) + chunk_entities_get_by_vector = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k-len(chunk_entities_get_by_keyword), doc_ids, banned_ids), timeout=20) break except Exception as e: err = f"[KeywordVectorSearcher] 向量检索失败,error: {e}" diff --git a/data_chain/rag/vector_searcher.py b/data_chain/rag/vector_searcher.py index 3b65fd7..1bd1d0c 100644 --- a/data_chain/rag/vector_searcher.py +++ b/data_chain/rag/vector_searcher.py @@ -29,7 +29,7 @@ class VectorSearcher(BaseSearcher): chunk_entities = [] for _ in range(3): try: - chunk_entities = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k, doc_ids, banned_ids), timeout=10) + chunk_entities = await asyncio.wait_for(ChunkManager.get_top_k_chunk_by_kb_id_vector(kb_id, vector, top_k, doc_ids, banned_ids), timeout=20) break except Exception as e: err = f"[VectorSearcher] 向量检索失败,error: {e}" -- Gitee From 1c1ff5173cbc9f7dd408d2ebdff1beb09523a8d0 Mon Sep 17 00:00:00 2001 From: zxstty Date: Fri, 29 Aug 2025 16:22:29 +0800 Subject: [PATCH 27/43] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=90=91=E9=87=8F?= =?UTF-8?q?=E5=8C=96=E6=A3=80=E7=B4=A2=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/manager/chunk_manager.py | 2 +- data_chain/manager/document_manager.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/data_chain/manager/chunk_manager.py b/data_chain/manager/chunk_manager.py index 4cde76c..4b755b9 100644 --- a/data_chain/manager/chunk_manager.py +++ b/data_chain/manager/chunk_manager.py @@ -176,7 +176,7 @@ class ChunkManager(): async with await DataBase.get_session() as session: fetch_cnt = top_k chunk_entities = [] - while True: + for i in range(20): # 计算相似度分数 similarity_score = ChunkEntity.text_vector.cosine_distance(vector).label("similarity_score") diff --git a/data_chain/manager/document_manager.py b/data_chain/manager/document_manager.py index 55cb87a..99ad63b 100644 --- a/data_chain/manager/document_manager.py +++ b/data_chain/manager/document_manager.py @@ -59,11 +59,12 @@ class DocumentManager(): stmt = ( select(DocumentEntity, similarity_score) .where(DocumentEntity.kb_id == kb_id) - .where(DocumentEntity.id.notin_(banned_ids)) .where(DocumentEntity.status != DocumentStatus.DELETED.value) .where(DocumentEntity.enabled == True) ) - if doc_ids: + if banned_ids: + stmt = stmt.where(DocumentEntity.id.notin_(banned_ids)) + if doc_ids is not None: stmt = stmt.where(DocumentEntity.id.in_(doc_ids)) stmt = stmt.order_by( similarity_score -- Gitee From 2915176f3697a6a38ecea573919912d92f1f1016 Mon Sep 17 00:00:00 2001 From: zxstty Date: Fri, 29 Aug 2025 17:29:15 +0800 Subject: [PATCH 28/43] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=91=98=E8=A6=81?= =?UTF-8?q?=E7=94=9F=E6=88=90=E7=9A=84prompt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/common/prompt.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/data_chain/common/prompt.yaml b/data_chain/common/prompt.yaml index 2a1df31..5f4da70 100644 --- a/data_chain/common/prompt.yaml +++ b/data_chain/common/prompt.yaml @@ -349,11 +349,11 @@ CHUNK_QUERY_MATCH_PROMPT: CONTENT_TO_ABSTRACT_PROMPT: en: | - You are a text summarization expert. Your task is to generate a new summary based on a given text and an existing summary. + You are a text summarization expert. Your task is to generate a new English summary based on a given text and an existing summary. Note: #01 Please combine the most important content from the text and the existing summary to generate the new summary. #02 The length of the new summary must be greater than 200 words and less than 500 words. - #03 Please only output the new summary; do not output any other content. + #03 Please only output the new English summary; do not output any other content. Example: Input 1: @@ -365,11 +365,11 @@ CONTENT_TO_ABSTRACT_PROMPT: Text: {content} Abstract: {abstract} 中文: | - 你是一个文本摘要专家,你的任务是根据给出的文本和已有摘要,生成一个新的摘要。 + 你是一个文本摘要专家,你的任务是根据给出的文本和已有摘要,生成一个新的中文摘要。 注意: #01 请结合文本和已有摘要中最重要的内容,生成新的摘要; #02 新的摘要长度必须大于200字且小于500字; - #03 请仅输出新的摘要,不要输出其他内容。 + #03 请仅输出新的中文摘要,不要输出其他内容。 例子: 输入1: -- Gitee From 451440f647ebb37b108f43991fbdbf3f59a99fdb Mon Sep 17 00:00:00 2001 From: zxstty Date: Fri, 29 Aug 2025 17:45:54 +0800 Subject: [PATCH 29/43] =?UTF-8?q?=E5=AE=8C=E5=96=84=E9=99=88=E8=BF=B0?= =?UTF-8?q?=E7=94=9F=E6=88=90=E7=9A=84prompt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/common/prompt.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data_chain/common/prompt.yaml b/data_chain/common/prompt.yaml index 5f4da70..7258e43 100644 --- a/data_chain/common/prompt.yaml +++ b/data_chain/common/prompt.yaml @@ -383,14 +383,14 @@ CONTENT_TO_ABSTRACT_PROMPT: CONTENT_TO_STATEMENTS_PROMPT: en: | - You are a text parsing expert. Your task is to extract multiple statements from a given text and return them as a list. + You are a text parsing expert. Your task is to extract multiple English statements from a given text and return them as a list. Note: #01 Statements must be derived from key points in the text. #02 Statements must be arranged in relative order. #03 Each statement must be at least 20 characters long and no more than 50 characters long. #04 The total number of statements output must not exceed three. - #05 Please output only the list of statements, not any other content. Each statement must be in Chinese. + #05 Please output only the list of statements, not any other content. Each statement must be in English. Example: Input: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. @@ -398,7 +398,7 @@ CONTENT_TO_STATEMENTS_PROMPT: The following is the given text: {content} 中文: | - 你是一个文本分解专家,你的任务是根据我给出的文本,将文本提取为多个陈述,陈述使用列表形式返回 + 你是一个文本分解专家,你的任务是根据我给出的文本,将文本提取为多个中文陈述,陈述使用列表形式返回 注意: #01 陈述必须来源于文本中的重点内容 -- Gitee From 609e26ba26770b0adec9c5d041950d64966c029f Mon Sep 17 00:00:00 2001 From: zxstty Date: Sat, 30 Aug 2025 09:17:22 +0800 Subject: [PATCH 30/43] =?UTF-8?q?=E5=AE=8C=E5=96=84ocr=E7=9A=84prompt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/common/prompt.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data_chain/common/prompt.yaml b/data_chain/common/prompt.yaml index 7258e43..25ff89c 100644 --- a/data_chain/common/prompt.yaml +++ b/data_chain/common/prompt.yaml @@ -521,7 +521,7 @@ OCR_ENHANCED_PROMPT: #09 Do not output coordinates or other information; only output a description of the relative position of each part. #10 If the image content is empty, output "Image content is empty." #11 If the image itself is a paragraph of text, output the text content directly. - + #12 Please use English for the output. Context: {image_related_text} Summary of the OCR content of the previous part of the current image: {pre_part_description} Result of the OCR of the current part of the image: {part} @@ -540,7 +540,7 @@ OCR_ENHANCED_PROMPT: #09 不要输出坐标等信息,输出每个部分相对位置的描述即可。 #10 如果图片内容为空,请输出“图片内容为空”。 #11 如果图片本身就是一段文字,请直接输出文字内容。 - + #12 请使用中文输出。 上下文:{image_related_text} 当前图片上一部分的OCR内容总结:{pre_part_description} 当前图片部分OCR的结果:{part} -- Gitee From ea11cc05c1502c321f6d67ab479a07d221f5a8bf Mon Sep 17 00:00:00 2001 From: zxstty Date: Sat, 30 Aug 2025 10:55:22 +0800 Subject: [PATCH 31/43] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E4=B8=AD=E8=8B=B1?= =?UTF-8?q?=E6=96=87=E5=8C=BA=E5=88=86title=E5=92=8Cabstract=E7=94=9F?= =?UTF-8?q?=E6=88=90=E6=97=B6=E5=80=99=E7=9A=84user=20call?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/parser/tools/token_tool.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/data_chain/parser/tools/token_tool.py b/data_chain/parser/tools/token_tool.py index c3dd671..5a6be14 100644 --- a/data_chain/parser/tools/token_tool.py +++ b/data_chain/parser/tools/token_tool.py @@ -275,7 +275,10 @@ class TokenTool: for sentence in sentences: abstract = TokenTool.get_k_tokens_words_from_content(abstract, llm.max_tokens//3) sys_call = prompt_template.format(content=sentence, abstract=abstract) - user_call = '请结合文本和摘要输出新的摘要' + if language == 'en': + user_call = 'Please output a new English abstract based on the text and the existing abstract' + else: + user_call = '请结合文本和已有摘要生成新的中文摘要' abstract = await llm.nostream([], sys_call, user_call) return abstract except Exception as e: @@ -283,7 +286,7 @@ class TokenTool: logging.exception("[TokenTool] %s", err) @staticmethod - async def get_title_by_llm(content: str, llm: LLM, languate: str) -> str: + async def get_title_by_llm(content: str, llm: LLM, language: str = '中文') -> str: """ 使用llm进行标题生成 """ @@ -291,10 +294,13 @@ class TokenTool: with open(config['PROMPT_PATH'], 'r', encoding='utf-8') as f: prompt_dict = yaml.load(f, Loader=yaml.SafeLoader) prompt_template = prompt_dict.get('CONTENT_TO_TITLE_PROMPT', {}) - prompt_template = prompt_template.get(languate, '') + prompt_template = prompt_template.get(language, '') content = TokenTool.get_k_tokens_words_from_content(content, llm.max_tokens) sys_call = prompt_template.format(content=content) - user_call = '请结合文本输出标题' + if language == 'en': + user_call = 'Please generate a English title based on the text' + else: + user_call = '请结合文本生成一个中文标题' title = await llm.nostream([], sys_call, user_call) return title except Exception as e: -- Gitee From 0af9553cc200fc8eb763362781cd87229203722d Mon Sep 17 00:00:00 2001 From: zxstty Date: Sat, 30 Aug 2025 15:22:51 +0800 Subject: [PATCH 32/43] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=A0=87=E9=A2=98?= =?UTF-8?q?=E5=92=8Cabstrat=E7=9A=84=E5=9F=BA=E4=BA=8E=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E7=9A=84=E7=94=9F=E6=88=90=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/apps/base/task/worker/parse_document_worker.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data_chain/apps/base/task/worker/parse_document_worker.py b/data_chain/apps/base/task/worker/parse_document_worker.py index d97cb3a..fd8b74c 100644 --- a/data_chain/apps/base/task/worker/parse_document_worker.py +++ b/data_chain/apps/base/task/worker/parse_document_worker.py @@ -221,7 +221,7 @@ class ParseDocumentWorker(BaseWorker): node.text_feature = node.content elif node.type == ChunkType.CODE: if llm is not None: - node.text_feature = await TokenTool.get_abstract_by_llm(node.content, llm) + node.text_feature = await TokenTool.get_abstract_by_llm(node.content, llm, language) if node.text_feature is None: node.text_feature = TokenTool.get_top_k_keywords(node.content) elif node.type == ChunkType.TABLE: @@ -559,7 +559,7 @@ class ParseDocumentWorker(BaseWorker): await ParseDocumentWorker.merge_and_split_text(parse_result, doc_entity) current_stage += 1 await ParseDocumentWorker.report(task_id, '合并和拆分文本', current_stage, stage_cnt) - await ParseDocumentWorker.push_up_words_feature(parse_result, llm) + await ParseDocumentWorker.push_up_words_feature(parse_result, llm, knowledge_base_entity.tokenizer) current_stage += 1 await ParseDocumentWorker.report(task_id, '推送上层词特征', current_stage, stage_cnt) await ParseDocumentWorker.embedding_chunk(parse_result) -- Gitee From 203d9a41dc9925a624f5055a8c703cc26c39919f Mon Sep 17 00:00:00 2001 From: zxstty Date: Sat, 30 Aug 2025 15:28:33 +0800 Subject: [PATCH 33/43] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E5=9F=BA=E4=BA=8Eocr=E6=80=BB=E7=BB=93=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/parser/tools/ocr_tool.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/data_chain/parser/tools/ocr_tool.py b/data_chain/parser/tools/ocr_tool.py index b11ff6e..d2db215 100644 --- a/data_chain/parser/tools/ocr_tool.py +++ b/data_chain/parser/tools/ocr_tool.py @@ -85,7 +85,10 @@ class OcrTool: token_limit = llm.max_tokens//2 image_related_text = TokenTool.get_k_tokens_words_from_content(image_related_text, token_limit) ocr_result_parts = TokenTool.split_str_with_slide_window(str(ocr_result), token_limit) - user_call = '请详细输出图片的摘要,不要输出其他内容' + if language == 'en': + user_call = 'Please provide a English summary of the image content, do not output anything else' + else: + user_call = '请详细输出图片的中文摘要,不要输出其他内容' for part in ocr_result_parts: pre_part_description_cp = pre_part_description try: -- Gitee From 31f5f5211adb7afa7920e4ff2364acbb7d935b22 Mon Sep 17 00:00:00 2001 From: zxstty Date: Sat, 30 Aug 2025 16:35:51 +0800 Subject: [PATCH 34/43] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=A0=87=E9=A2=98?= =?UTF-8?q?=E7=94=9F=E6=88=90=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_chain/apps/base/task/worker/parse_document_worker.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_chain/apps/base/task/worker/parse_document_worker.py b/data_chain/apps/base/task/worker/parse_document_worker.py index fd8b74c..2ab7810 100644 --- a/data_chain/apps/base/task/worker/parse_document_worker.py +++ b/data_chain/apps/base/task/worker/parse_document_worker.py @@ -393,7 +393,7 @@ class ParseDocumentWorker(BaseWorker): if parent_node is not None: node.pre_id = parent_node.id for child_node in node.link_nodes: - await dfs(child_node, node, llm) + await dfs(child_node, node, llm, language) if node.title is not None: if len(node.title) == 0: if llm is not None: -- Gitee From eb4f2c3bda047c7497ccd3205e26c0256705eb95 Mon Sep 17 00:00:00 2001 From: Loshawn <2428333123@qq.com> Date: Thu, 4 Sep 2025 11:52:59 +0800 Subject: [PATCH 35/43] =?UTF-8?q?=E9=87=8D=E6=96=B0=E5=AE=9E=E7=8E=B0chat2?= =?UTF-8?q?db?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- chat2db/.gitignore | 2 + chat2db/app/__init__.py | 0 chat2db/app/app.py | 36 -- chat2db/app/base/ac_automation.py | 87 ---- chat2db/app/base/mysql.py | 217 -------- chat2db/app/base/postgres.py | 236 --------- chat2db/app/base/vectorize.py | 47 -- chat2db/app/router/database.py | 191 ------- chat2db/app/router/sql_example.py | 137 ----- chat2db/app/router/sql_generate.py | 124 ----- chat2db/app/router/table.py | 147 ------ chat2db/app/service/diff_database_service.py | 28 - chat2db/app/service/keyword_service.py | 131 ----- chat2db/app/service/sql_generate_service.py | 363 ------------- chat2db/apps/base/__init__.py | 7 + chat2db/apps/base/database_base.py | 26 + chat2db/apps/base/mongodb.py | 163 ++++++ chat2db/apps/base/mysql.py | 103 ++++ chat2db/apps/base/opengauss.py | 99 ++++ chat2db/apps/base/postgres.py | 107 ++++ chat2db/apps/llm/__init__.py | 4 + .../chat_with_model.py => apps/llm/llm.py} | 0 chat2db/apps/llm/prompt.py | 139 +++++ chat2db/apps/routers/sql.py | 160 ++++++ chat2db/apps/schemas/enum_var.py | 18 + chat2db/apps/schemas/request.py | 50 ++ chat2db/apps/schemas/response.py | 38 ++ chat2db/apps/services/database_service.py | 125 +++++ chat2db/apps/services/sql_service.py | 242 +++++++++ chat2db/common/.env.example | 31 -- chat2db/common/init_sql_example.py | 114 ---- chat2db/common/table_name.yaml | 10 - chat2db/common/table_name_sql_exmple.yaml | 490 ------------------ chat2db/config/config.py | 2 +- chat2db/database/postgres.py | 134 ----- ...46\347\273\206\350\257\264\346\230\216.md" | 391 -------------- .../{app/base/meta_databbase.py => main.py} | 27 +- chat2db/manager/column_info_manager.py | 69 --- chat2db/manager/database_info_manager.py | 98 ---- chat2db/manager/sql_example_manager.py | 76 --- chat2db/manager/table_info_manager.py | 87 ---- chat2db/model/request.py | 89 ---- chat2db/model/response.py | 6 - chat2db/scripts/chat2db_config/config.yaml | 2 - chat2db/scripts/docs/output_examples.xlsx | Bin 6080 -> 0 bytes chat2db/scripts/run_chat2db.py | 436 ---------------- chat2db/security/security.py | 116 ----- chat2db/templetes/change_txt_to_yaml.py | 92 ---- chat2db/templetes/prompt.yaml | 115 ---- requirements.txt | 3 +- run.sh | 2 +- 51 files changed, 1302 insertions(+), 4115 deletions(-) create mode 100644 chat2db/.gitignore delete mode 100644 chat2db/app/__init__.py delete mode 100644 chat2db/app/app.py delete mode 100644 chat2db/app/base/ac_automation.py delete mode 100644 chat2db/app/base/mysql.py delete mode 100644 chat2db/app/base/postgres.py delete mode 100644 chat2db/app/base/vectorize.py delete mode 100644 chat2db/app/router/database.py delete mode 100644 chat2db/app/router/sql_example.py delete mode 100644 chat2db/app/router/sql_generate.py delete mode 100644 chat2db/app/router/table.py delete mode 100644 chat2db/app/service/diff_database_service.py delete mode 100644 chat2db/app/service/keyword_service.py delete mode 100644 chat2db/app/service/sql_generate_service.py create mode 100644 chat2db/apps/base/__init__.py create mode 100644 chat2db/apps/base/database_base.py create mode 100644 chat2db/apps/base/mongodb.py create mode 100644 chat2db/apps/base/mysql.py create mode 100644 chat2db/apps/base/opengauss.py create mode 100644 chat2db/apps/base/postgres.py create mode 100644 chat2db/apps/llm/__init__.py rename chat2db/{llm/chat_with_model.py => apps/llm/llm.py} (100%) create mode 100644 chat2db/apps/llm/prompt.py create mode 100644 chat2db/apps/routers/sql.py create mode 100644 chat2db/apps/schemas/enum_var.py create mode 100644 chat2db/apps/schemas/request.py create mode 100644 chat2db/apps/schemas/response.py create mode 100644 chat2db/apps/services/database_service.py create mode 100644 chat2db/apps/services/sql_service.py delete mode 100644 chat2db/common/.env.example delete mode 100644 chat2db/common/init_sql_example.py delete mode 100644 chat2db/common/table_name.yaml delete mode 100644 chat2db/common/table_name_sql_exmple.yaml delete mode 100644 chat2db/database/postgres.py delete mode 100644 "chat2db/docs/chat2db\345\267\245\345\205\267\350\257\246\347\273\206\350\257\264\346\230\216.md" rename chat2db/{app/base/meta_databbase.py => main.py} (31%) delete mode 100644 chat2db/manager/column_info_manager.py delete mode 100644 chat2db/manager/database_info_manager.py delete mode 100644 chat2db/manager/sql_example_manager.py delete mode 100644 chat2db/manager/table_info_manager.py delete mode 100644 chat2db/model/request.py delete mode 100644 chat2db/model/response.py delete mode 100644 chat2db/scripts/chat2db_config/config.yaml delete mode 100644 chat2db/scripts/docs/output_examples.xlsx delete mode 100644 chat2db/scripts/run_chat2db.py delete mode 100644 chat2db/security/security.py delete mode 100644 chat2db/templetes/change_txt_to_yaml.py delete mode 100644 chat2db/templetes/prompt.yaml diff --git a/chat2db/.gitignore b/chat2db/.gitignore new file mode 100644 index 0000000..3040d64 --- /dev/null +++ b/chat2db/.gitignore @@ -0,0 +1,2 @@ +__pycache__/ +.vscode/ \ No newline at end of file diff --git a/chat2db/app/__init__.py b/chat2db/app/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/chat2db/app/app.py b/chat2db/app/app.py deleted file mode 100644 index 71be6ed..0000000 --- a/chat2db/app/app.py +++ /dev/null @@ -1,36 +0,0 @@ -import uvicorn -from fastapi import FastAPI -import sys -from chat2db.app.router import sql_example -from chat2db.app.router import sql_generate -from chat2db.app.router import database -from chat2db.app.router import table -from chat2db.config.config import config -import logging - - -logging.basicConfig(stream=sys.stdout, level=logging.INFO, - format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') - -app = FastAPI() - -app.include_router(sql_example.router) -app.include_router(sql_generate.router) -app.include_router(database.router) -app.include_router(table.router) - -if __name__ == '__main__': - try: - ssl_enable = config["SSL_ENABLE"] - if ssl_enable: - uvicorn.run(app, host=config["UVICORN_IP"], port=int(config["UVICORN_PORT"]), - proxy_headers=True, forwarded_allow_ips='*', - ssl_certfile=config["SSL_CERTFILE"], - ssl_keyfile=config["SSL_KEYFILE"], - ) - else: - uvicorn.run(app, host=config["UVICORN_IP"], port=int(config["UVICORN_PORT"]), - proxy_headers=True, forwarded_allow_ips='*' - ) - except Exception as e: - exit(1) diff --git a/chat2db/app/base/ac_automation.py b/chat2db/app/base/ac_automation.py deleted file mode 100644 index 3012f2b..0000000 --- a/chat2db/app/base/ac_automation.py +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright (c) Huawei Technologies Co., Ltd. 2023-2024. All rights reserved. -import copy -import logging -import sys - -class Node: - def __init__(self, dep, pre_id): - self.dep = dep - self.pre_id = pre_id - self.pre_nearest_children_id = {} - self.children_id = {} - self.data_frame = None - - -logging.basicConfig(stream=sys.stdout, level=logging.INFO, - format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') - - -class DictTree: - def __init__(self): - self.root = 0 - self.node_list = [Node(0, -1)] - - def load_data(self, data_dict): - for key in data_dict: - self.insert_data(key, data_dict[key]) - self.init_pre() - - def insert_data(self, keyword, data_frame): - if not isinstance(keyword,str): - return - if len(keyword) == 0: - return - node_index = self.root - try: - for i in range(len(keyword)): - if keyword[i] not in self.node_list[node_index].children_id.keys(): - self.node_list.append(Node(self.node_list[node_index].dep+1, 0)) - self.node_list[node_index].children_id[keyword[i]] = len(self.node_list)-1 - node_index = self.node_list[node_index].children_id[keyword[i]] - except Exception as e: - logging.error(f'关键字插入失败由于:{e}') - return - self.node_list[node_index].data_frame = data_frame - - def init_pre(self): - q = [self.root] - l = 0 - r = 1 - try: - while l < r: - node_index = q[l] - self.node_list[node_index].pre_nearest_children_id = self.node_list[self.node_list[node_index].pre_id].children_id.copy() - l += 1 - for key, val in self.node_list[node_index].children_id.items(): - q.append(val) - r += 1 - if key in self.node_list[node_index].pre_nearest_children_id.keys(): - pre_id = self.node_list[node_index].pre_nearest_children_id[key] - self.node_list[val].pre_id = pre_id - self.node_list[node_index].pre_nearest_children_id[key] = val - except Exception as e: - logging.error(f'字典树前缀构建失败由于:{e}') - return - - def get_results(self, content: str): - content = content.lower() - pre_node_index = self.root - nex_node_index = None - results = [] - logging.info(f'当前问题{content}') - try: - for i in range(len(content)): - if content[i] in self.node_list[pre_node_index].pre_nearest_children_id.keys(): - nex_node_index = self.node_list[pre_node_index].pre_nearest_children_id[content[i]] - else: - nex_node_index = 0 - if self.node_list[pre_node_index].dep >= self.node_list[nex_node_index].dep: - if self.node_list[pre_node_index].data_frame is not None: - results.extend(copy.deepcopy(self.node_list[pre_node_index].data_frame)) - pre_node_index = nex_node_index - logging.info(f'当前深度{self.node_list[pre_node_index].dep}') - if self.node_list[pre_node_index].data_frame is not None: - results.extend(copy.deepcopy(self.node_list[pre_node_index].data_frame)) - except Exception as e: - logging.error(f'结果获取失败由于:{e}') - return results diff --git a/chat2db/app/base/mysql.py b/chat2db/app/base/mysql.py deleted file mode 100644 index b47322b..0000000 --- a/chat2db/app/base/mysql.py +++ /dev/null @@ -1,217 +0,0 @@ - -import asyncio -import aiomysql -import concurrent.futures -import logging -from sqlalchemy.orm import sessionmaker -from sqlalchemy import create_engine, text -import sys -from concurrent.futures import ThreadPoolExecutor -from urllib.parse import urlparse -from chat2db.app.base.meta_databbase import MetaDatabase -logging.basicConfig(stream=sys.stdout, level=logging.INFO, - format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') - - -class Mysql(MetaDatabase): - executor = ThreadPoolExecutor(max_workers=10) - - async def test_database_connection(database_url): - try: - with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor: - future = executor.submit(Mysql._connect_and_query, database_url) - result = future.result(timeout=5) - return result - except concurrent.futures.TimeoutError: - logging.error('mysql数据库连接超时') - return False - except Exception as e: - logging.error(f'mysql数据库连接失败由于{e}') - return False - - @staticmethod - def _connect_and_query(database_url): - try: - engine = create_engine( - database_url, - pool_size=20, - max_overflow=80, - pool_recycle=300, - pool_pre_ping=True - ) - session = sessionmaker(bind=engine)() - session.execute(text("SELECT 1")) - session.close() - return True - except Exception as e: - raise e - - @staticmethod - async def drop_table(database_url, table_name): - engine = create_engine( - database_url, - pool_size=20, - max_overflow=80, - pool_recycle=300, - pool_pre_ping=True - ) - with sessionmaker(engine)() as session: - sql_str = f"DROP TABLE IF EXISTS {table_name};" - session.execute(text(sql_str)) - - @staticmethod - async def select_primary_key_and_keyword_from_table(database_url, table_name, keyword): - try: - url = urlparse(database_url) - db_config = { - 'host': url.hostname or 'localhost', - 'port': int(url.port or 3306), - 'user': url.username or 'root', - 'password': url.password or '', - 'db': url.path.strip('/') - } - - async with aiomysql.create_pool(**db_config) as pool: - async with pool.acquire() as conn: - async with conn.cursor() as cur: - primary_key_query = """ - SELECT - COLUMNS.column_name - FROM - information_schema.tables AS TABLES - INNER JOIN information_schema.columns AS COLUMNS ON TABLES.table_name = COLUMNS.table_name - WHERE - TABLES.table_schema = %s AND TABLES.table_name = %s AND COLUMNS.column_key = 'PRI'; - """ - - # 尝试执行查询 - await cur.execute(primary_key_query, (db_config['db'], table_name)) - primary_key_list = await cur.fetchall() - if not primary_key_list: - return [] - primary_key_names = ', '.join([record[0] for record in primary_key_list]) - columns = f'{primary_key_names}, {keyword}' - query = f'SELECT {columns} FROM {table_name};' - await cur.execute(query) - results = await cur.fetchall() - - def _process_results(results, primary_key_list): - tmp_dict = {} - for row in results: - key = str(row[-1]) - if key not in tmp_dict: - tmp_dict[key] = [] - pk_values = [str(row[i]) for i in range(len(primary_key_list))] - tmp_dict[key].append(pk_values) - - return { - 'primary_key_list': [record[0] for record in primary_key_list], - 'keyword_value_dict': tmp_dict - } - result = await asyncio.get_event_loop().run_in_executor( - Mysql.executor, - _process_results, - results, - primary_key_list - ) - return result - - except Exception as e: - logging.error(f'mysql数据检索失败由于 {e}') - - @staticmethod - async def assemble_sql_query_base_on_primary_key(table_name, primary_key_list, primary_key_value_list): - sql_str = f'SELECT * FROM {table_name} where ' - for i in range(len(primary_key_list)): - sql_str += primary_key_list[i]+'= \''+primary_key_value_list[i]+'\'' - if i != len(primary_key_list)-1: - sql_str += ' and ' - sql_str += ';' - return sql_str - - @staticmethod - async def get_table_info(database_url, table_name): - engine = create_engine( - database_url, - pool_size=20, - max_overflow=80, - pool_recycle=300, - pool_pre_ping=True - ) - with sessionmaker(engine)() as session: - sql_str = f"""SELECT TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '{table_name}';""" - table_note = session.execute(text(sql_str)).one()[0] - if table_note == '': - table_note = table_name - table_note = { - 'table_name': table_name, - 'table_note': table_note - } - return table_note - - @staticmethod - async def get_column_info(database_url, table_name): - engine = create_engine( - database_url, - pool_size=20, - max_overflow=80, - pool_recycle=300, - pool_pre_ping=True - ) - with engine.connect() as conn: - sql_str = f""" - SELECT column_name, column_type, column_comment FROM information_schema.columns where TABLE_NAME='{table_name}'; - """ - results = conn.execute(text(sql_str), {'table_name': table_name}).all() - column_info_list = [] - for result in results: - column_info_list.append({'column_name': result[0], 'column_type': result[1], 'column_note': result[2]}) - return column_info_list - - @staticmethod - async def get_all_table_name_from_database_url(database_url): - engine = create_engine( - database_url, - pool_size=20, - max_overflow=80, - pool_recycle=300, - pool_pre_ping=True - ) - with engine.connect() as connection: - result = connection.execute(text("SHOW TABLES")) - table_name_list = [row[0] for row in result] - return table_name_list - - @staticmethod - async def get_rand_data(database_url, table_name, cnt=10): - engine = create_engine( - database_url, - pool_size=20, - max_overflow=80, - pool_recycle=300, - pool_pre_ping=True - ) - try: - with sessionmaker(engine)() as session: - sql_str = f'''SELECT * - FROM {table_name} - ORDER BY RAND() - LIMIT {cnt};''' - dataframe = str(session.execute(text(sql_str)).all()) - except Exception as e: - dataframe = '' - logging.error(f'随机从数据库中获取数据失败由于{e}') - return dataframe - - @staticmethod - async def try_excute(database_url, sql_str): - engine = create_engine( - database_url, - pool_size=20, - max_overflow=80, - pool_recycle=300, - pool_pre_ping=True - ) - with sessionmaker(engine)() as session: - result = session.execute(text(sql_str)).all() - return Mysql.result_to_json(result) diff --git a/chat2db/app/base/postgres.py b/chat2db/app/base/postgres.py deleted file mode 100644 index a29a442..0000000 --- a/chat2db/app/base/postgres.py +++ /dev/null @@ -1,236 +0,0 @@ -import asyncio -import asyncpg -import concurrent.futures -import logging -from sqlalchemy.orm import sessionmaker -from sqlalchemy import create_engine, text -import sys -from concurrent.futures import ThreadPoolExecutor -from chat2db.app.base.meta_databbase import MetaDatabase -logging.basicConfig(stream=sys.stdout, level=logging.INFO, - format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') - - -def handler(signum, frame): - raise TimeoutError("超时") - - -class Postgres(MetaDatabase): - executor = ThreadPoolExecutor(max_workers=10) - - async def test_database_connection(database_url): - try: - with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor: - future = executor.submit(Postgres._connect_and_query, database_url) - result = future.result(timeout=5) - return result - except concurrent.futures.TimeoutError: - logging.error('postgres数据库连接超时') - return False - except Exception as e: - logging.error(f'postgres数据库连接失败由于{e}') - return False - - @staticmethod - def _connect_and_query(database_url): - try: - engine = create_engine( - database_url, - pool_size=20, - max_overflow=80, - pool_recycle=300, - pool_pre_ping=True - ) - session = sessionmaker(bind=engine)() - session.execute(text("SELECT 1")) - session.close() - return True - except Exception as e: - raise e - - @staticmethod - async def drop_table(database_url, table_name): - engine = create_engine( - database_url, - pool_size=20, - max_overflow=80, - pool_recycle=300, - pool_pre_ping=True - ) - with sessionmaker(engine)() as session: - sql_str = f"DROP TABLE IF EXISTS {table_name};" - session.execute(text(sql_str)) - - @staticmethod - async def select_primary_key_and_keyword_from_table(database_url, table_name, keyword): - try: - dsn = database_url.replace('+psycopg2', '') - conn = await asyncpg.connect(dsn=dsn) - primary_key_query = """ - SELECT - kcu.column_name - FROM - information_schema.table_constraints AS tc - JOIN information_schema.key_column_usage AS kcu - ON tc.constraint_name = kcu.constraint_name - WHERE - tc.constraint_type = 'PRIMARY KEY' - AND tc.table_name = $1; - """ - primary_key_list = await conn.fetch(primary_key_query, table_name) - if not primary_key_list: - return [] - columns = ', '.join([record['column_name'] for record in primary_key_list]) + f', {keyword}' - query = f'SELECT {columns} FROM {table_name};' - results = await conn.fetch(query) - - def _process_results(results, primary_key_list): - tmp_dict = {} - for row in results: - key = str(row[-1]) - if key not in tmp_dict: - tmp_dict[key] = [] - pk_values = [str(row[i]) for i in range(len(primary_key_list))] - tmp_dict[key].append(pk_values) - - return { - 'primary_key_list': [record['column_name'] for record in primary_key_list], - 'keyword_value_dict': tmp_dict - } - result = await asyncio.get_event_loop().run_in_executor( - Postgres.executor, - _process_results, - results, - primary_key_list - ) - await conn.close() - - return result - except Exception as e: - logging.error(f'postgres数据检索失败由于 {e}') - return None - - @staticmethod - async def assemble_sql_query_base_on_primary_key(table_name, primary_key_list, primary_key_value_list): - sql_str = f'SELECT * FROM {table_name} where ' - for i in range(len(primary_key_list)): - sql_str += primary_key_list[i]+'='+'\''+primary_key_value_list[i]+'\'' - if i != len(primary_key_list)-1: - sql_str += ' and ' - sql_str += ';' - return sql_str - - @staticmethod - async def get_table_info(database_url, table_name): - engine = create_engine( - database_url, - pool_size=20, - max_overflow=80, - pool_recycle=300, - pool_pre_ping=True - ) - with engine.connect() as conn: - sql_str = """ - SELECT - d.description AS table_description - FROM - pg_class t - JOIN - pg_description d ON t.oid = d.objoid - WHERE - t.relkind = 'r' AND - d.objsubid = 0 AND - t.relname = :table_name; """ - result = conn.execute(text(sql_str), {'table_name': table_name}).one_or_none() - if result is None: - table_note = table_name - else: - table_note = result[0] - table_note = { - 'table_name': table_name, - 'table_note': table_note - } - return table_note - - @staticmethod - async def get_column_info(database_url, table_name): - engine = create_engine( - database_url, - pool_size=20, - max_overflow=80, - pool_recycle=300, - pool_pre_ping=True - ) - with engine.connect() as conn: - sql_str = """ - SELECT - a.attname as 字段名, - format_type(a.atttypid,a.atttypmod) as 类型, - col_description(a.attrelid,a.attnum) as 注释 - FROM - pg_class as c,pg_attribute as a - where - a.attrelid = c.oid - and - a.attnum>0 - and - c.relname = :table_name; - """ - results = conn.execute(text(sql_str), {'table_name': table_name}).all() - column_info_list = [] - for result in results: - column_info_list.append({'column_name': result[0], 'column_type': result[1], 'column_note': result[2]}) - return column_info_list - - @staticmethod - async def get_all_table_name_from_database_url(database_url): - engine = create_engine( - database_url, - pool_size=20, - max_overflow=80, - pool_recycle=300, - pool_pre_ping=True - ) - with engine.connect() as connection: - sql_str = ''' - SELECT table_name - FROM information_schema.tables - WHERE table_schema = 'public'; - ''' - result = connection.execute(text(sql_str)) - table_name_list = [row[0] for row in result] - return table_name_list - - @staticmethod - async def get_rand_data(database_url, table_name, cnt=10): - engine = create_engine( - database_url, - pool_size=20, - max_overflow=80, - pool_recycle=300, - pool_pre_ping=True - ) - try: - with sessionmaker(engine)() as session: - sql_str = f'''SELECT * - FROM {table_name} - ORDER BY RANDOM() - LIMIT {cnt};''' - dataframe = str(session.execute(text(sql_str)).all()) - except Exception as e: - dataframe = '' - logging.error(f'随机从数据库中获取数据失败由于{e}') - return dataframe - - @staticmethod - async def try_excute(database_url, sql_str): - engine = create_engine( - database_url, - pool_size=20, - max_overflow=80, - pool_recycle=300, - pool_pre_ping=True - ) - with sessionmaker(engine)() as session: - result=session.execute(text(sql_str)).all() - return Postgres.result_to_json(result) diff --git a/chat2db/app/base/vectorize.py b/chat2db/app/base/vectorize.py deleted file mode 100644 index 5362047..0000000 --- a/chat2db/app/base/vectorize.py +++ /dev/null @@ -1,47 +0,0 @@ -import requests -import urllib3 -from chat2db.config.config import config -import json -import sys -import logging - -logging.basicConfig(stream=sys.stdout, level=logging.INFO, - format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') - -urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) - - -class Vectorize(): - @staticmethod - async def vectorize_embedding(text): - if config['EMBEDDING_TYPE']=='openai': - headers = { - "Authorization": f"Bearer {config['EMBEDDING_API_KEY']}" - } - data = { - "input": text, - "model": config["EMBEDDING_MODEL_NAME"], - "encoding_format": "float" - } - try: - res = requests.post(url=config["EMBEDDING_ENDPOINT"],headers=headers, json=data, verify=False) - if res.status_code != 200: - return None - return res.json()['data'][0]['embedding'] - except Exception as e: - logging.error(f"Embedding error failed due to: {e}") - return None - elif config['EMBEDDING_TYPE'] =='mindie': - try: - data = { - "inputs": text, - } - res = requests.post(url=config["EMBEDDING_ENDPOINT"], json=data, verify=False) - if res.status_code != 200: - return None - return json.loads(res.text)[0] - except Exception as e: - logging.error(f"Embedding error failed due to: {e}") - return None - else: - return None diff --git a/chat2db/app/router/database.py b/chat2db/app/router/database.py deleted file mode 100644 index 37aacca..0000000 --- a/chat2db/app/router/database.py +++ /dev/null @@ -1,191 +0,0 @@ -# Copyright (c) Huawei Technologies Co., Ltd. 2023-2024. All rights reserved. - -import logging -import uuid -from fastapi import APIRouter, status -from typing import Optional -import sys -from chat2db.model.request import DatabaseAddRequest, DatabaseDelRequest, DatabaseSqlGenerateRequest -from chat2db.model.response import ResponseData -from chat2db.manager.database_info_manager import DatabaseInfoManager -from chat2db.manager.table_info_manager import TableInfoManager -from chat2db.manager.column_info_manager import ColumnInfoManager -from chat2db.app.service.diff_database_service import DiffDatabaseService -from chat2db.app.service.sql_generate_service import SqlGenerateService -from chat2db.app.service.keyword_service import keyword_service -from chat2db.app.base.vectorize import Vectorize - -logging.basicConfig(stream=sys.stdout, level=logging.INFO, - format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') - -router = APIRouter( - prefix="/database" -) - - -@router.post("/add", response_model=ResponseData) -async def add_database_info(request: DatabaseAddRequest): - database_url = request.database_url - database_type = DiffDatabaseService.get_database_type_from_url(database_url) - if not DiffDatabaseService.is_database_type_allow(database_type): - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="不支持当前数据库", - result={} - ) - flag = await DiffDatabaseService.get_database_service(database_type).test_database_connection(database_url) - if not flag: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="无法连接当前数据库", - result={} - ) - database_id = await DatabaseInfoManager.add_database(database_url) - if database_id is None: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="数据库连接添加失败,当前存在重复数据库配置", - result={'database_id': database_id} - ) - return ResponseData( - code=status.HTTP_200_OK, - message="success", - result={'database_id': database_id} - ) - - -@router.post("/del", response_model=ResponseData) -async def del_database_info(request: DatabaseDelRequest): - database_id = request.database_id - database_url = request.database_url - if database_id: - flag = await DatabaseInfoManager.del_database_by_id(database_id) - else: - flag = await DatabaseInfoManager.del_database_by_url(database_url) - if not flag: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="删除数据库配置失败,数据库配置不存在", - result={} - ) - return ResponseData( - code=status.HTTP_200_OK, - message="删除数据库配置成功", - result={} - ) - - -@router.get("/query", response_model=ResponseData) -async def query_database_info(): - database_info_list = await DatabaseInfoManager.get_all_database_info() - return ResponseData( - code=status.HTTP_200_OK, - message="查询数据库配置成功", - result={'database_info_list': database_info_list} - ) - - -@router.get("/list", response_model=ResponseData) -async def list_table_in_database(database_id: uuid.UUID, table_filter: str = ''): - database_url = await DatabaseInfoManager.get_database_url_by_id(database_id) - database_type = DiffDatabaseService.get_database_type_from_url(database_url) - if database_url is None: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="查询数据库内表格配置失败,数据库配置不存在", - result={} - ) - if not DiffDatabaseService.is_database_type_allow(database_type): - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="不支持当前数据库", - result={} - ) - flag = await DiffDatabaseService.get_database_service(database_type).test_database_connection(database_url) - if not flag: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="无法连接当前数据库", - result={} - ) - table_name_list = await DiffDatabaseService.get_database_service(database_type).get_all_table_name_from_database_url(database_url) - results = [] - for table_name in table_name_list: - if table_filter in table_name: - results.append(table_name) - return ResponseData( - code=status.HTTP_200_OK, - message="查询数据库配置成功", - result={'table_name_list': results} - ) - - -@router.post("/sql", response_model=ResponseData) -async def generate_sql_from_database(request: DatabaseSqlGenerateRequest): - database_url = request.database_url - table_name_list = request.table_name_list - question = request.question - use_llm_enhancements = request.use_llm_enhancements - database_type = DiffDatabaseService.get_database_type_from_url(database_url) - if not DiffDatabaseService.is_database_type_allow(database_type): - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="不支持当前数据库", - result={} - ) - flag = await DiffDatabaseService.get_database_service(database_type).test_database_connection(database_url) - if not flag: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="无法连接当前数据库", - result={} - ) - tmp_table_name_list = await DiffDatabaseService.get_database_service(database_type).get_all_table_name_from_database_url(database_url) - database_id = await DatabaseInfoManager.get_database_id_by_url(database_url) - if database_id is None: - database_id = await DatabaseInfoManager.add_database(database_url) - for table_name in tmp_table_name_list: - try: - tmp_dict = await DiffDatabaseService.get_database_service(database_type).get_table_info(database_url, table_name) - table_note = tmp_dict['table_note'] - table_note_vector = await Vectorize.vectorize_embedding(table_note) - table_id = await TableInfoManager.add_table_info(database_id, table_name, table_note, table_note_vector) - column_info_list = await DiffDatabaseService.get_database_service(database_type).get_column_info(database_url, table_name) - for column_info in column_info_list: - await ColumnInfoManager.add_column_info_with_table_id( - table_id, column_info['column_name'], - column_info['column_type'], - column_info['column_note']) - except Exception as e: - import traceback - logging.error(f'{table_name}') - logging.error(f'表格信息获取失败由于:{traceback.format_exc()}') - continue - if table_name_list: - table_id_list = [] - for table_name in table_name_list: - table_id = await TableInfoManager.get_table_id_by_database_id_and_table_name(database_id, table_name) - if table_id is None: - continue - table_id_list.append(table_id) - else: - table_id_list = None - results = {} - sql_list = await SqlGenerateService.generate_sql_base_on_example( - database_id=database_id, question=question, table_id_list=table_id_list, - use_llm_enhancements=use_llm_enhancements) - try: - sql_list += await keyword_service.generate_sql(question, database_id, table_id_list) - results['sql_list'] = sql_list[:request.topk] - results['database_url'] = database_url - except Exception as e: - logging.error(f'sql生成失败由于{e}') - return ResponseData( - code=status.HTTP_400_BAD_REQUEST, - message="sql生成失败", - result={} - ) - return ResponseData( - code=status.HTTP_200_OK, message="success", - result=results - ) diff --git a/chat2db/app/router/sql_example.py b/chat2db/app/router/sql_example.py deleted file mode 100644 index 08f9139..0000000 --- a/chat2db/app/router/sql_example.py +++ /dev/null @@ -1,137 +0,0 @@ -# Copyright (c) Huawei Technologies Co., Ltd. 2023-2024. All rights reserved. - -import logging -import uuid -from fastapi import APIRouter, status -import sys - -from chat2db.model.request import SqlExampleAddRequest, SqlExampleDelRequest, SqlExampleUpdateRequest, SqlExampleGenerateRequest -from chat2db.model.response import ResponseData -from chat2db.manager.database_info_manager import DatabaseInfoManager -from chat2db.manager.table_info_manager import TableInfoManager -from chat2db.manager.sql_example_manager import SqlExampleManager -from chat2db.app.service.sql_generate_service import SqlGenerateService -from chat2db.app.base.vectorize import Vectorize -logging.basicConfig(stream=sys.stdout, level=logging.INFO, - format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') - -router = APIRouter( - prefix="/sql/example" -) - - -@router.post("/add", response_model=ResponseData) -async def add_sql_example(request: SqlExampleAddRequest): - table_id = request.table_id - table_info = await TableInfoManager.get_table_info_by_table_id(table_id) - if table_info is None: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="表格不存在", - result={} - ) - database_id = table_info['database_id'] - question = request.question - question_vector = await Vectorize.vectorize_embedding(question) - sql = request.sql - try: - sql_example_id = await SqlExampleManager.add_sql_example(question, sql, table_id, question_vector) - except Exception as e: - logging.error(f'sql案例添加失败由于{e}') - return ResponseData( - code=status.HTTP_400_BAD_REQUEST, - message="sql案例添加失败", - result={} - ) - return ResponseData( - code=status.HTTP_200_OK, - message="success", - result={'sql_example_id': sql_example_id} - ) - - -@router.post("/del", response_model=ResponseData) -async def del_sql_example(request: SqlExampleDelRequest): - sql_example_id = request.sql_example_id - flag = await SqlExampleManager.del_sql_example_by_id(sql_example_id) - if not flag: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="sql案例不存在", - result={} - ) - return ResponseData( - code=status.HTTP_200_OK, - message="sql案例删除成功", - result={} - ) - - -@router.get("/query", response_model=ResponseData) -async def query_sql_example(table_id: uuid.UUID): - sql_example_list = await SqlExampleManager.query_sql_example_by_table_id(table_id) - return ResponseData( - code=status.HTTP_200_OK, - message="查询sql案例成功", - result={'sql_example_list': sql_example_list} - ) - - -@router.post("/update", response_model=ResponseData) -async def update_sql_example(request: SqlExampleUpdateRequest): - sql_example_id = request.sql_example_id - question = request.question - question_vector = await Vectorize.vectorize_embedding(question) - sql = request.sql - flag = await SqlExampleManager.update_sql_example_by_id(sql_example_id, question, sql, question_vector) - if not flag: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="sql案例不存在", - result={} - ) - return ResponseData( - code=status.HTTP_200_OK, - message="sql案例更新成功", - result={} - ) - - -@router.post("/generate", response_model=ResponseData) -async def generate_sql_example(request: SqlExampleGenerateRequest): - table_id = request.table_id - generate_cnt = request.generate_cnt - table_info = await TableInfoManager.get_table_info_by_table_id(table_id) - if table_info is None: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="表格不存在", - result={} - ) - table_name = table_info['table_name'] - database_id = table_info['database_id'] - database_url = await DatabaseInfoManager.get_database_url_by_id(database_id) - sql_var = request.sql_var - sql_example_list = [] - for i in range(generate_cnt): - try: - tmp_dict = await SqlGenerateService.generate_sql_base_on_data(database_url, table_name, sql_var) - except Exception as e: - logging.error(f'sql案例生成失败由于{e}') - continue - if tmp_dict is None: - continue - question = tmp_dict['question'] - question_vector = await Vectorize.vectorize_embedding(question) - sql = tmp_dict['sql'] - await SqlExampleManager.add_sql_example(question, sql, table_id, question_vector) - tmp_dict['database_id'] = database_id - tmp_dict['table_id'] = table_id - sql_example_list.append(tmp_dict) - return ResponseData( - code=status.HTTP_200_OK, - message="sql案例生成成功", - result={ - 'sql_example_list': sql_example_list - } - ) diff --git a/chat2db/app/router/sql_generate.py b/chat2db/app/router/sql_generate.py deleted file mode 100644 index 69ff0d2..0000000 --- a/chat2db/app/router/sql_generate.py +++ /dev/null @@ -1,124 +0,0 @@ -# Copyright (c) Huawei Technologies Co., Ltd. 2023-2024. All rights reserved. - -import logging -from fastapi import APIRouter, status -import sys - -from chat2db.manager.database_info_manager import DatabaseInfoManager -from chat2db.manager.table_info_manager import TableInfoManager -from chat2db.manager.column_info_manager import ColumnInfoManager -from chat2db.model.request import SqlGenerateRequest, SqlRepairRequest, SqlExcuteRequest -from chat2db.model.response import ResponseData -from chat2db.app.service.sql_generate_service import SqlGenerateService -from chat2db.app.service.keyword_service import keyword_service -from chat2db.app.service.diff_database_service import DiffDatabaseService -logging.basicConfig(stream=sys.stdout, level=logging.INFO, - format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') - -router = APIRouter( - prefix="/sql" -) - - -@router.post("/generate", response_model=ResponseData) -async def generate_sql(request: SqlGenerateRequest): - database_id = request.database_id - database_url = await DatabaseInfoManager.get_database_url_by_id(database_id) - table_id_list = request.table_id_list - question = request.question - use_llm_enhancements = request.use_llm_enhancements - results = {} - sql_list = await SqlGenerateService.generate_sql_base_on_example( - database_id=database_id, question=question, table_id_list=table_id_list, - use_llm_enhancements=use_llm_enhancements) - try: - sql_list += await keyword_service.generate_sql(question, database_id, table_id_list) - results['sql_list'] = sql_list[:request.topk] - results['database_url'] = database_url - except Exception as e: - logging.error(f'sql生成失败由于{e}') - return ResponseData( - code=status.HTTP_400_BAD_REQUEST, - message="sql生成失败", - result={} - ) - return ResponseData( - code=status.HTTP_200_OK, message="success", - result=results - ) - - -@router.post("/repair", response_model=ResponseData) -async def repair_sql(request: SqlRepairRequest): - database_id = request.database_id - table_id = request.table_id - database_url = await DatabaseInfoManager.get_database_url_by_id(database_id) - database_type = DiffDatabaseService.get_database_type_from_url(database_url) - if database_url is None: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="当前数据库配置不存在", - result={} - ) - table_info = await TableInfoManager.get_table_info_by_table_id(table_id) - if table_info is None: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="表格不存在", - result={} - ) - if table_info['database_id'] != database_id: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="表格不属于当前数据库", - result={} - ) - column_info_list = await ColumnInfoManager.get_column_info_by_table_id(table_id) - sql = request.sql - message = request.message - question = request.question - try: - sql = await SqlGenerateService.repair_sql(database_type, table_info, column_info_list, sql, message, question) - except Exception as e: - logging.error(f'sql修复失败由于{e}') - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="sql修复失败", - result={} - ) - return ResponseData( - code=status.HTTP_200_OK, - message="sql修复成功", - result={'database_id': database_id, - 'table_id': table_id, - 'sql': sql} - ) - - -@router.post("/execute", response_model=ResponseData) -async def execute_sql(request: SqlExcuteRequest): - database_id = request.database_id - sql = request.sql - database_url = await DatabaseInfoManager.get_database_url_by_id(database_id) - if database_url is None: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="当前数据库配置不存在", - result={} - ) - database_type = DiffDatabaseService.get_database_type_from_url(database_url) - try: - results = await DiffDatabaseService.database_map[database_type].try_excute(database_url, sql) - except Exception as e: - import traceback - logging.error(f'sql执行失败由于{traceback.format_exc()}') - return ResponseData( - code=status.HTTP_500_INTERNAL_SERVER_ERROR, - message="sql执行失败", - result={'Error': str(e)} - ) - return ResponseData( - code=status.HTTP_200_OK, - message="sql执行成功", - result=results - ) diff --git a/chat2db/app/router/table.py b/chat2db/app/router/table.py deleted file mode 100644 index 33ca4f9..0000000 --- a/chat2db/app/router/table.py +++ /dev/null @@ -1,147 +0,0 @@ -# Copyright (c) Huawei Technologies Co., Ltd. 2023-2024. All rights reserved. - -import logging -import uuid -from fastapi import APIRouter, status -import sys - -from chat2db.model.request import TableAddRequest, TableDelRequest, EnableColumnRequest -from chat2db.model.response import ResponseData -from chat2db.manager.database_info_manager import DatabaseInfoManager -from chat2db.manager.table_info_manager import TableInfoManager -from chat2db.manager.column_info_manager import ColumnInfoManager -from chat2db.app.service.diff_database_service import DiffDatabaseService -from chat2db.app.base.vectorize import Vectorize -from chat2db.app.service.keyword_service import keyword_service -logging.basicConfig(stream=sys.stdout, level=logging.INFO, - format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') - -router = APIRouter( - prefix="/table" -) - - -@router.post("/add", response_model=ResponseData) -async def add_database_info(request: TableAddRequest): - database_id = request.database_id - database_url = await DatabaseInfoManager.get_database_url_by_id(database_id) - if database_url is None: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="当前数据库配置不存在", - result={} - ) - database_type = DiffDatabaseService.get_database_type_from_url(database_url) - flag = await DiffDatabaseService.get_database_service(database_type).test_database_connection(database_url) - if not flag: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="无法连接当前数据库", - result={} - ) - table_name = request.table_name - table_name_list = await DiffDatabaseService.get_database_service(database_type).get_all_table_name_from_database_url(database_url) - if table_name not in table_name_list: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="表格不存在", - result={} - ) - tmp_dict = await DiffDatabaseService.get_database_service(database_type).get_table_info(database_url, table_name) - table_note = tmp_dict['table_note'] - table_note_vector = await Vectorize.vectorize_embedding(table_note) - table_id = await TableInfoManager.add_table_info(database_id, table_name, table_note, table_note_vector) - if table_id is None: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="表格添加失败,当前存在重复表格", - result={} - ) - column_info_list = await DiffDatabaseService.get_database_service(database_type).get_column_info(database_url, table_name) - for column_info in column_info_list: - await ColumnInfoManager.add_column_info_with_table_id( - table_id, column_info['column_name'], - column_info['column_type'], - column_info['column_note']) - return ResponseData( - code=status.HTTP_200_OK, - message="success", - result={'table_id': table_id} - ) - - -@router.post("/del", response_model=ResponseData) -async def del_table_info(request: TableDelRequest): - table_id = request.table_id - flag = await TableInfoManager.del_table_by_id(table_id) - if not flag: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="表格不存在", - result={} - ) - return ResponseData( - code=status.HTTP_200_OK, - message="删除表格成功", - result={} - ) - - -@router.get("/query", response_model=ResponseData) -async def query_table_info(database_id: uuid.UUID): - database_url = await DatabaseInfoManager.get_database_url_by_id(database_id) - if database_url is None: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="当前数据库配置不存在", - result={} - ) - table_info_list = await TableInfoManager.get_table_info_by_database_id(database_id) - return ResponseData( - code=status.HTTP_200_OK, - message="查询表格成功", - result={'table_info_list': table_info_list} - ) - - -@router.get("/column/query", response_model=ResponseData) -async def query_column(table_id: uuid.UUID): - column_info_list = await ColumnInfoManager.get_column_info_by_table_id(table_id) - return ResponseData( - code=status.HTTP_200_OK, - message="", - result={'column_info_list': column_info_list} - ) - - -@router.post("/column/enable", response_model=ResponseData) -async def enable_column(request: EnableColumnRequest): - column_id = request.column_id - enable = request.enable - flag = await ColumnInfoManager.update_column_info_enable(column_id, enable) - if not flag: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="列不存在", - result={} - ) - column_info = await ColumnInfoManager.get_column_info_by_column_id(column_id) - column_name = column_info['column_name'] - table_id = column_info['table_id'] - table_info = await TableInfoManager.get_table_info_by_table_id(table_id) - database_id = table_info['database_id'] - if enable: - flag = await keyword_service.add(database_id, table_id, column_name) - else: - flag = await keyword_service.del_by_column_name(database_id, table_id, column_name) - if not flag: - return ResponseData( - code=status.HTTP_422_UNPROCESSABLE_ENTITY, - message="列关键字功能开启/关闭失败", - result={} - ) - return ResponseData( - code=status.HTTP_200_OK, - message="列关键字功能开启/关闭成功", - result={} - ) diff --git a/chat2db/app/service/diff_database_service.py b/chat2db/app/service/diff_database_service.py deleted file mode 100644 index bb9f979..0000000 --- a/chat2db/app/service/diff_database_service.py +++ /dev/null @@ -1,28 +0,0 @@ -import re -from urllib.parse import urlparse -from chat2db.app.base.mysql import Mysql -from chat2db.app.base.postgres import Postgres - - -class DiffDatabaseService(): - database_types = ["mysql", "postgresql", "opengauss"] - database_map = {"mysql": Mysql, "postgresql": Postgres, "opengauss": Postgres} - - @staticmethod - def get_database_service(database_type): - if database_type not in DiffDatabaseService.database_types: - raise f"不支持当前数据库类型{database_type}" - return DiffDatabaseService.database_map[database_type] - - @staticmethod - def get_database_type_from_url(database_url): - result = urlparse(database_url) - try: - database_type = result.scheme.split('+')[0] - except Exception as e: - raise e - return database_type.lower() - - @staticmethod - def is_database_type_allow(database_type): - return database_type in DiffDatabaseService.database_types diff --git a/chat2db/app/service/keyword_service.py b/chat2db/app/service/keyword_service.py deleted file mode 100644 index 685c341..0000000 --- a/chat2db/app/service/keyword_service.py +++ /dev/null @@ -1,131 +0,0 @@ -# Copyright (c) Huawei Technologies Co., Ltd. 2023-2024. All rights reserved. -import asyncio -import copy -import uuid -import sys -import threading -from concurrent.futures import ThreadPoolExecutor -from chat2db.app.service.diff_database_service import DiffDatabaseService -from chat2db.app.base.ac_automation import DictTree -from chat2db.manager.database_info_manager import DatabaseInfoManager -from chat2db.manager.table_info_manager import TableInfoManager -from chat2db.manager.column_info_manager import ColumnInfoManager -import logging - -logging.basicConfig(stream=sys.stdout, level=logging.INFO, - format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') - - -class KeywordManager(): - def __init__(self): - self.keyword_asset_dict = {} - self.lock = threading.Lock() - self.data_frame_dict = {} - - async def load_keywords(self): - database_info_list = await DatabaseInfoManager.get_all_database_info() - for database_info in database_info_list: - database_id = database_info['database_id'] - table_info_list = await TableInfoManager.get_table_info_by_database_id(database_id) - cnt=0 - for table_info in table_info_list: - table_id = table_info['table_id'] - column_info_list = await ColumnInfoManager.get_column_info_by_table_id(table_id, True) - for i in range(len(column_info_list)): - column_info = column_info_list[i] - cnt+=1 - try: - column_name = column_info['column_name'] - await self.add(database_id, table_id, column_name) - except Exception as e: - logging.error('关键字数据结构生成失败') - def add_excutor(self, rd_id, database_id, table_id, table_info, column_info_list, column_name): - tmp_dict = self.data_frame_dict[rd_id] - tmp_dict_tree = DictTree() - tmp_dict_tree.load_data(tmp_dict['keyword_value_dict']) - if database_id not in self.keyword_asset_dict.keys(): - self.keyword_asset_dict[database_id] = {} - with self.lock: - if table_id not in self.keyword_asset_dict[database_id].keys(): - self.keyword_asset_dict[database_id][table_id] = {} - self.keyword_asset_dict[database_id][table_id]['table_info'] = table_info - self.keyword_asset_dict[database_id][table_id]['column_info_list'] = column_info_list - self.keyword_asset_dict[database_id][table_id]['primary_key_list'] = copy.deepcopy( - tmp_dict['primary_key_list']) - self.keyword_asset_dict[database_id][table_id]['dict_tree_dict'] = {} - self.keyword_asset_dict[database_id][table_id]['dict_tree_dict'][column_name] = tmp_dict_tree - del self.data_frame_dict[rd_id] - - async def add(self, database_id, table_id, column_name): - database_url = await DatabaseInfoManager.get_database_url_by_id(database_id) - database_type = DiffDatabaseService.get_database_type_from_url(database_url) - table_info = await TableInfoManager.get_table_info_by_table_id(table_id) - table_name = table_info['table_name'] - tmp_dict = await DiffDatabaseService.get_database_service( - database_type).select_primary_key_and_keyword_from_table(database_url, table_name, column_name) - if tmp_dict is None: - return - rd_id = str(uuid.uuid4) - self.data_frame_dict[rd_id] = tmp_dict - del database_url - column_info_list = await ColumnInfoManager.get_column_info_by_table_id(table_id) - try: - thread = threading.Thread(target=self.add_excutor, args=(rd_id, database_id, table_id, - table_info, column_info_list, column_name,)) - thread.start() - except Exception as e: - logging.error(f'创建增加线程失败由于{e}') - return False - return True - - async def update_keyword_asset(self): - database_info_list = DatabaseInfoManager.get_all_database_info() - for database_info in database_info_list: - database_id = database_info['database_id'] - table_info_list = TableInfoManager.get_table_info_by_database_id(database_id) - for table_info in table_info_list: - table_id = table_info['table_id'] - column_info_list = ColumnInfoManager.get_column_info_by_table_id(table_id, True) - for column_info in column_info_list: - await self.add(database_id, table_id, column_info['column_name']) - - async def del_by_column_name(self, database_id, table_id, column_name): - try: - with self.lock: - if database_id in self.keyword_asset_dict.keys(): - if table_id in self.keyword_asset_dict[database_id].keys(): - if column_name in self.keyword_asset_dict[database_id][table_id]['dict_tree_dict'].keys(): - del self.keyword_asset_dict[database_id][table_id]['dict_tree_dict'][column_name] - except Exception as e: - logging.error(f'字典树删除失败由于{e}') - return False - return True - - async def generate_sql(self, question, database_id, table_id_list=None): - with self.lock: - results = [] - if database_id in self.keyword_asset_dict.keys(): - database_url = await DatabaseInfoManager.get_database_url_by_id(database_id) - database_type = DiffDatabaseService.get_database_type_from_url(database_url) - for table_id in self.keyword_asset_dict[database_id].keys(): - if table_id_list is None or table_id in table_id_list: - table_info = self.keyword_asset_dict[database_id][table_id]['table_info'] - primary_key_list = self.keyword_asset_dict[database_id][table_id]['primary_key_list'] - primary_key_value_list = [] - try: - for dict_tree in self.keyword_asset_dict[database_id][table_id]['dict_tree_dict'].values(): - primary_key_value_list += dict_tree.get_results(question) - except Exception as e: - logging.error(f'从字典树中获取结果失败由于{e}') - continue - for i in range(len(primary_key_value_list)): - sql_str = await DiffDatabaseService.get_database_service(database_type).assemble_sql_query_base_on_primary_key( - table_info['table_name'], primary_key_list, primary_key_value_list[i]) - tmp_dict = {'database_id': database_id, 'table_id': table_id, 'sql': sql_str} - results.append(tmp_dict) - del database_url - return results - - -keyword_service = KeywordManager() -asyncio.run(keyword_service.load_keywords()) diff --git a/chat2db/app/service/sql_generate_service.py b/chat2db/app/service/sql_generate_service.py deleted file mode 100644 index f20f977..0000000 --- a/chat2db/app/service/sql_generate_service.py +++ /dev/null @@ -1,363 +0,0 @@ -# Copyright (c) Huawei Technologies Co., Ltd. 2023-2024. All rights reserved. -import asyncio -import yaml -import re -import json -import random -import sys -import uuid -import logging -from pandas.core.api import DataFrame as DataFrame - -from chat2db.manager.database_info_manager import DatabaseInfoManager -from chat2db.manager.table_info_manager import TableInfoManager -from chat2db.manager.column_info_manager import ColumnInfoManager -from chat2db.manager.sql_example_manager import SqlExampleManager -from chat2db.app.service.diff_database_service import DiffDatabaseService -from chat2db.llm.chat_with_model import LLM -from chat2db.config.config import config -from chat2db.app.base.vectorize import Vectorize - - -logging.basicConfig(stream=sys.stdout, level=logging.INFO, - format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') - - -class SqlGenerateService(): - - @staticmethod - async def merge_table_and_column_info(table_info, column_info_list): - table_name = table_info.get('table_name', '') - table_note = table_info.get('table_note', '') - note = '\n' - note += '\n'+'\n'+'\n' - note += '\n'+f'\n'+'\n' - note += '\n'+'\n'+'\n' - note += '\n'+f'\n'+'\n' - note += '\n'+' \n\n\n'+'\n' - for column_info in column_info_list: - column_name = column_info.get('column_name', '') - column_type = column_info.get('column_type', '') - column_note = column_info.get('column_note', '') - note += '\n'+f' \n\n\n'+'\n' - note += '
表名
{table_name}
表的注释
{table_note}
字段字段类型字段注释
{column_name}{column_type}{column_note}
' - return note - - @staticmethod - def extract_list_statements(list_string): - pattern = r'\[.*?\]' - matches = re.findall(pattern, list_string) - if len(matches) == 0: - return '' - tmp = matches[0] - tmp = tmp.replace('\'', '\"') - tmp = tmp.replace(',', ',') - return tmp - - @staticmethod - async def get_most_similar_table_id_list(database_id, question, table_choose_cnt): - table_info_list = await TableInfoManager.get_table_info_by_database_id(database_id) - random.shuffle(table_info_list) - table_id_set = set() - for table_info in table_info_list: - table_id = table_info['table_id'] - table_id_set.add(str(table_id)) - try: - with open('./chat2db/templetes/prompt.yaml', 'r', encoding='utf-8') as f: - prompt_dict = yaml.load(f, Loader=yaml.SafeLoader) - prompt = prompt_dict.get('table_choose_prompt', '') - table_entries = '\n' - table_entries += '\n'+' \n\n'+'\n' - token_upper = 2048 - for table_info in table_info_list: - table_id = table_info['table_id'] - table_note = table_info['table_note'] - if len(table_entries) + len( - '\n' + f' \n\n' + '\n') > token_upper: - break - table_entries += '\n'+f' \n\n'+'\n' - table_entries += '
主键表注释
{table_id}{table_note}
{table_id}{table_note}
' - prompt = prompt.format(table_cnt=table_choose_cnt, table_entries=table_entries, question=question) - # logging.info(f'在大模型增强模式下,选择表的prompt构造成功:{prompt}') - except Exception as e: - logging.error(f'在大模型增强模式下,选择表的prompt构造失败由于:{e}') - return [] - try: - llm = LLM(model_name=config['LLM_MODEL'], - openai_api_base=config['LLM_URL'], - openai_api_key=config['LLM_KEY'], - max_tokens=config['LLM_MAX_TOKENS'], - request_timeout=60, - temperature=0.5) - except Exception as e: - llm = None - logging.error(f'在大模型增强模式下,选择表的过程中,与大模型建立连接失败由于:{e}') - table_id_list = [] - if llm is not None: - for i in range(2): - content = await llm.chat_with_model(prompt, '请输包含选择表主键的列表') - try: - sub_table_id_list = json.loads(SqlGenerateService.extract_list_statements(content)) - except: - sub_table_id_list = [] - for j in range(len(sub_table_id_list)): - if sub_table_id_list[j] in table_id_set and uuid.UUID(sub_table_id_list[j]) not in table_id_list: - table_id_list.append(uuid.UUID(sub_table_id_list[j])) - if len(table_id_list) < table_choose_cnt: - table_choose_cnt -= len(table_id_list) - for i in range(min(table_choose_cnt, len(table_info_list))): - table_id = table_info_list[i]['table_id'] - if table_id is not None and table_id not in table_id_list: - table_id_list.append(table_id) - return table_id_list - - @staticmethod - async def find_most_similar_sql_example( - database_id, table_id_list, question, use_llm_enhancements=False, table_choose_cnt=2, sql_example_choose_cnt=10, - topk=5): - try: - database_url = await DatabaseInfoManager.get_database_url_by_id(database_id) - except Exception as e: - logging.error(f'数据库{database_id}信息获取失败由于{e}') - return [] - database_type = DiffDatabaseService.get_database_type_from_url(database_url) - del database_url - try: - question_vector = await Vectorize.vectorize_embedding(question) - except Exception as e: - logging.error(f'问题向量化失败由于:{e}') - return {} - sql_example = [] - data_frame_list = [] - if table_id_list is None: - if use_llm_enhancements: - table_id_list = await SqlGenerateService.get_most_similar_table_id_list(database_id, question, table_choose_cnt) - else: - try: - table_info_list = await TableInfoManager.get_table_info_by_database_id(database_id) - table_id_list = [] - for table_info in table_info_list: - table_id_list.append(table_info['table_id']) - max_retry = 3 - sql_example_list = [] - for _ in range(max_retry): - try: - sql_example_list = await asyncio.wait_for(SqlExampleManager.get_topk_sql_example_by_cos_dis( - question_vector=question_vector, - table_id_list=table_id_list, topk=table_choose_cnt * 2), - timeout=5 - ) - break - except Exception as e: - logging.error(f'非增强模式下,sql_example获取失败:{e}') - table_id_list = [] - for sql_example in sql_example_list: - table_id_list.append(sql_example['table_id']) - except Exception as e: - logging.error(f'非增强模式下,表id获取失败由于:{e}') - return [] - table_id_list = list(set(table_id_list)) - if len(table_id_list) < table_choose_cnt: - try: - expand_table_id_list = await asyncio.wait_for(TableInfoManager.get_topk_table_by_cos_dis( - database_id, question_vector, table_choose_cnt - len(table_id_list)), timeout=5 - ) - table_id_list += expand_table_id_list - except Exception as e: - logging.error(f'非增强模式下,表id补充失败由于:{e}') - exist_table_id = set() - note_list = [] - for i in range(min(2, len(table_id_list))): - table_id = table_id_list[i] - if table_id in exist_table_id: - continue - exist_table_id.add(table_id) - try: - table_info = await TableInfoManager.get_table_info_by_table_id(table_id) - column_info_list = await ColumnInfoManager.get_column_info_by_table_id(table_id) - except Exception as e: - logging.error(f'表{table_id}注释获取失败由于{e}') - continue - note = await SqlGenerateService.merge_table_and_column_info(table_info, column_info_list) - note_list.append(note) - max_retry = 3 - sql_example_list = [] - for _ in range(max_retry): - try: - sql_example_list = await asyncio.wait_for(SqlExampleManager.get_topk_sql_example_by_cos_dis( - question_vector, - table_id_list=[table_id], - topk=sql_example_choose_cnt), - timeout=5 - ) - break - except Exception as e: - logging.error(f'获取id为{table_id}的表的最相近的{topk}条sql案例失败由于:{e}') - question_sql_list = [] - for i in range(len(sql_example_list)): - question_sql_list.append( - {'question': sql_example_list[i]['question'], - 'sql': sql_example_list[i]['sql']}) - data_frame_list.append({'table_id': table_id, 'table_info': table_info, - 'column_info_list': column_info_list, 'sql_example_list': question_sql_list}) - return data_frame_list - - @staticmethod - async def merge_sql_example(sql_example_list): - sql_example = '' - for i in range(len(sql_example_list)): - sql_example += '问题'+str(i)+':\n'+sql_example_list[i].get('question', - '')+'\nsql'+str(i)+':\n'+sql_example_list[i].get('sql', '')+'\n' - return sql_example - - @staticmethod - async def extract_select_statements(sql_string): - pattern = r"(?i)select[^;]*;" - matches = re.findall(pattern, sql_string) - if len(matches) == 0: - return '' - sql = matches[0] - sql = sql.strip() - sql.replace(',', ',') - return sql - - @staticmethod - async def generate_sql_base_on_example( - database_id, question, table_id_list=None, sql_generate_cnt=1, use_llm_enhancements=False): - try: - database_url = await DatabaseInfoManager.get_database_url_by_id(database_id) - except Exception as e: - logging.error(f'数据库{database_id}信息获取失败由于{e}') - return {} - if database_url is None: - raise Exception('数据库配置不存在') - database_type = DiffDatabaseService.get_database_type_from_url(database_url) - data_frame_list = await SqlGenerateService.find_most_similar_sql_example(database_id, table_id_list, question, use_llm_enhancements) - try: - with open('./chat2db/templetes/prompt.yaml', 'r', encoding='utf-8') as f: - prompt_dict = yaml.load(f, Loader=yaml.SafeLoader) - llm = LLM(model_name=config['LLM_MODEL'], - openai_api_base=config['LLM_URL'], - openai_api_key=config['LLM_KEY'], - max_tokens=config['LLM_MAX_TOKENS'], - request_timeout=60, - temperature=0.5) - results = [] - for data_frame in data_frame_list: - prompt = prompt_dict.get('sql_generate_base_on_example_prompt', '') - table_info = data_frame.get('table_info', '') - table_id = table_info['table_id'] - column_info_list = data_frame.get('column_info_list', '') - note = await SqlGenerateService.merge_table_and_column_info(table_info, column_info_list) - sql_example = await SqlGenerateService.merge_sql_example(data_frame.get('sql_example_list', [])) - try: - prompt = prompt.format( - database_url=database_url, note=note, k=len(data_frame.get('sql_example_list', [])), - sql_example=sql_example, question=question) - except Exception as e: - logging.info(f'sql生成失败{e}') - return [] - ge_cnt = 0 - ge_sql_cnt = 0 - while ge_cnt < 10*sql_generate_cnt and ge_sql_cnt < sql_generate_cnt: - sql = await llm.chat_with_model(prompt, f'请输出一条在与{database_type}下能运行的sql,以分号结尾') - sql = await SqlGenerateService.extract_select_statements(sql) - if len(sql): - ge_sql_cnt += 1 - tmp_dict = {'database_id': database_id, 'table_id': table_id, 'sql': sql} - results.append(tmp_dict) - ge_cnt += 1 - if len(results) == sql_generate_cnt: - break - except Exception as e: - logging.error(f'sql生成失败由于:{e}') - return results - - @staticmethod - async def generate_sql_base_on_data(database_url, table_name, sql_var=False): - database_type = None - database_type = DiffDatabaseService.get_database_type_from_url(database_url) - flag = await DiffDatabaseService.get_database_service(database_type).test_database_connection(database_url) - if not flag: - return None - table_name_list = await DiffDatabaseService.get_database_service(database_type).get_all_table_name_from_database_url(database_url) - if table_name not in table_name_list: - return None - table_info = await DiffDatabaseService.get_database_service(database_type).get_table_info(database_url, table_name) - column_info_list = await DiffDatabaseService.get_database_service(database_type).get_column_info(database_url, table_name) - note = await SqlGenerateService.merge_table_and_column_info(table_info, column_info_list) - - def count_char(str, char): - return sum(1 for c in str if c == char) - llm = LLM(model_name=config['LLM_MODEL'], - openai_api_base=config['LLM_URL'], - openai_api_key=config['LLM_KEY'], - max_tokens=config['LLM_MAX_TOKENS'], - request_timeout=60, - temperature=0.5) - for i in range(5): - data_frame = await DiffDatabaseService.get_database_service(database_type).get_rand_data(database_url, table_name) - try: - with open('./chat2db/templetes/prompt.yaml', 'r', encoding='utf-8') as f: - prompt_dict = yaml.load(f, Loader=yaml.SafeLoader) - prompt = prompt_dict['question_generate_base_on_data_prompt'].format( - note=note, data_frame=data_frame) - question = await llm.chat_with_model(prompt, '请输出一个问题') - if count_char(question, '?') > 1 or count_char(question, '?') > 1: - continue - except Exception as e: - logging.error(f'问题生成失败由于{e}') - continue - try: - with open('./chat2db/templetes/prompt.yaml', 'r', encoding='utf-8') as f: - prompt_dict = yaml.load(f, Loader=yaml.SafeLoader) - prompt = prompt_dict['sql_generate_base_on_data_prompt'].format( - database_type=database_type, - note=note, data_frame=data_frame, question=question) - sql = await llm.chat_with_model(prompt, f'请输出一条可以用于查询{database_type}的sql,要以分号结尾') - sql = await SqlGenerateService.extract_select_statements(sql) - if not sql: - continue - except Exception as e: - logging.error(f'sql生成失败由于{e}') - continue - try: - if sql_var: - await DiffDatabaseService.get_database_service(database_type).try_excute(database_url, sql) - except Exception as e: - logging.error(f'生成的sql执行失败由于{e}') - continue - return { - 'question': question, - 'sql': sql - } - return None - - @staticmethod - async def repair_sql(database_type, table_info, column_info_list, sql_failed, sql_failed_message, question): - try: - with open('./chat2db/templetes/prompt.yaml', 'r', encoding='utf-8') as f: - prompt_dict = yaml.load(f, Loader=yaml.SafeLoader) - llm = LLM(model_name=config['LLM_MODEL'], - openai_api_base=config['LLM_URL'], - openai_api_key=config['LLM_KEY'], - max_tokens=config['LLM_MAX_TOKENS'], - request_timeout=60, - temperature=0.5) - try: - note = await SqlGenerateService.merge_table_and_column_info(table_info, column_info_list) - prompt = prompt_dict.get('sql_expand_prompt', '') - prompt = prompt.format( - database_type=database_type, note=note, sql_failed=sql_failed, - sql_failed_message=sql_failed_message, - question=question) - except Exception as e: - logging.error(f'sql修复失败由于{e}') - return '' - sql = await llm.chat_with_model(prompt, f'请输出一条在与{database_type}下能运行的sql,要以分号结尾') - sql = await SqlGenerateService.extract_select_statements(sql) - logging.info(f"修复前的sql为{sql_failed}修复后的sql为{sql}") - except Exception as e: - logging.error(f'sql生成失败由于:{e}') - return '' - return sql diff --git a/chat2db/apps/base/__init__.py b/chat2db/apps/base/__init__.py new file mode 100644 index 0000000..80e944c --- /dev/null +++ b/chat2db/apps/base/__init__.py @@ -0,0 +1,7 @@ +from apps.base.database_base import MetaDatabase +from apps.base.mysql import MySQL +from apps.base.mongodb import MongoDB +from apps.base.opengauss import OpenGauss +from apps.base.postgres import Postgres + +__all__ = ['MySQL', 'MongoDB', 'OpenGauss', 'Postgres', 'MetaDatabase'] \ No newline at end of file diff --git a/chat2db/apps/base/database_base.py b/chat2db/apps/base/database_base.py new file mode 100644 index 0000000..05fbbac --- /dev/null +++ b/chat2db/apps/base/database_base.py @@ -0,0 +1,26 @@ +from typing import Any + +class MetaDatabase: + @staticmethod + async def get_database_url(host: str, port: int, username: str, password: str, database: str): + raise NotImplementedError + + @staticmethod + async def connect(host: str, port: int, username: str, password: str, database: str) -> Any: + raise NotImplementedError + + @staticmethod + async def list_tables(connection: Any) -> list[str]: + raise NotImplementedError + + @staticmethod + async def get_table_ddl(table_name: str, connection: Any) -> str: + raise NotImplementedError + + @staticmethod + async def sample_table_rows(table_name: str, n: int, connection: Any) -> list[dict]: + raise NotImplementedError + + @staticmethod + async def execute_sql(sql: str | dict, connection: Any) -> list[dict]: + raise NotImplementedError diff --git a/chat2db/apps/base/mongodb.py b/chat2db/apps/base/mongodb.py new file mode 100644 index 0000000..148c919 --- /dev/null +++ b/chat2db/apps/base/mongodb.py @@ -0,0 +1,163 @@ +import logging +from typing import Any +from bson import ObjectId +from copy import deepcopy +import motor.motor_asyncio +import urllib.parse + +from apps.base.database_base import MetaDatabase + +class MongoDB(MetaDatabase): + + @staticmethod + async def get_database_url(host: str, port: int, username: str, password: str, database: str): + try: + user = urllib.parse.quote_plus(username) + pwd = urllib.parse.quote_plus(password) + return f"mongodb://{user}:{pwd}@{host}:{port}/{database}" + except Exception as e: + logging.error(f"\n[获取数据库url失败]\n\n{e}") + return "" + + @staticmethod + async def connect(host: str, port: int, username: str, password: str, database: str) -> Any: + try: + user = urllib.parse.quote_plus(username) + pwd = urllib.parse.quote_plus(password) + mongo_uri = f"mongodb://{user}:{pwd}@{host}:{port}/{database}" + client = motor.motor_asyncio.AsyncIOMotorClient(mongo_uri) + return client[database] + except Exception as e: + logging.error(f"\n[连接MongoDB数据库失败]\n\n{e}") + raise e + + @staticmethod + async def list_tables(connection: Any) -> list[str]: + try: + return await connection.list_collection_names() + except Exception as e: + logging.error(f"\n[获取集合失败]\n\n{e}") + raise e + + @staticmethod + async def get_table_ddl(table_name: str, connection: Any) -> str: + """ + 将 MongoDB 集合信息格式化为类似 SQL DDL 的文本,用于大模型输入。 + 包括索引信息和部分示例字段。 + """ + try: + # 获取索引信息 + indexes = await connection[table_name].index_information() + + # 尝试获取部分文档字段类型 + sample_doc = await connection[table_name].find_one() or {} + fields_ddl = [] + for field, value in sample_doc.items(): + dtype = type(value).__name__ + fields_ddl.append(f" {field} {dtype.upper()}") + + # 格式化索引信息 + indexes_ddl = [] + for index_name, index_info in indexes.items(): + keys = ", ".join([f"{k[0]}({k[1]})" for k in index_info['key']]) + unique = " UNIQUE" if index_info.get('unique') else "" + indexes_ddl.append(f" INDEX {index_name} ON ({keys}){unique}") + + ddl = f"CREATE COLLECTION {table_name} (\n" + ddl += ",\n".join(fields_ddl) + ddl += "\n);\n" + if indexes_ddl: + ddl += "\n".join(indexes_ddl) + + return ddl + + except Exception as e: + logging.error(f"\n[获取集合 {table_name} DDL失败]\n\n{e}") + raise e + + @staticmethod + async def sample_table_rows(table_name: str, n: int, connection: Any) -> list[dict]: + """ + 随机获取 n 条数据 + """ + try: + cursor = connection[table_name].aggregate([{"$sample": {"size": n}}]) + result = [doc async for doc in cursor] + return result + except Exception as e: + logging.error(f"\n[获取集合 {table_name} 样本数据失败]\n\n{e}") + raise e + + @staticmethod + async def execute_sql(sql: dict, connection: Any) -> list[dict]: + """ + 执行 MongoDB 操作,传入 dict 格式指令 + 支持 find/insertOne/insertMany/updateOne/updateMany/deleteOne/deleteMany/aggregate + 返回值中所有 ObjectId 自动转换为 str + """ + command = deepcopy(sql) # mongodb会修改输入的dict,所以这里需要深拷贝 + try: + coll_name = command.get("collection") + operation = command.get("operation", "find") + filter_ = command.get("filter", {}) + data = command.get("data", {}) + pipeline = command.get("pipeline", []) + many = command.get("many", False) + + collection = connection[coll_name] + + # 查询 + if operation == "find": + cursor = collection.find(filter_) + result = [doc async for doc in cursor] + return MongoDB.transform_objectid(result) + + # 聚合 + elif operation == "aggregate": + cursor = collection.aggregate(pipeline) + result = [doc async for doc in cursor] + return MongoDB.transform_objectid(result) + + # 插入 + elif operation in ("insert", "insertOne", "insertMany"): + if many or operation == "insertMany": + res = await collection.insert_many(data) + return [{"inserted_ids": [str(_id) for _id in res.inserted_ids]}] + else: + res = await collection.insert_one(data) + return [{"inserted_id": str(res.inserted_id)}] + + # 更新 + elif operation in ("update", "updateOne", "updateMany"): + if many or operation == "updateMany": + res = await collection.update_many(filter_, {"$set": data}) + else: + res = await collection.update_one(filter_, {"$set": data}) + return [{"matched": res.matched_count, "modified": res.modified_count}] + + # 删除 + elif operation in ("delete", "deleteOne", "deleteMany"): + if many or operation == "deleteMany": + res = await collection.delete_many(filter_) + else: + res = await collection.delete_one(filter_) + return [{"deleted": res.deleted_count}] + + else: + raise ValueError(f"Unsupported MongoDB operation: {operation}") + + except Exception as e: + logging.error(f"\n[执行MongoDB指令失败]\n\n{e}") + raise e + + @staticmethod + def transform_objectid(doc): + """递归将 dict/list 中的 ObjectId 转为 str""" + if isinstance(doc, list): + return [MongoDB.transform_objectid(d) for d in doc] + elif isinstance(doc, dict): + return {k: MongoDB.transform_objectid(v) for k, v in doc.items()} + elif isinstance(doc, ObjectId): + return str(doc) + else: + return doc \ No newline at end of file diff --git a/chat2db/apps/base/mysql.py b/chat2db/apps/base/mysql.py new file mode 100644 index 0000000..ab1b102 --- /dev/null +++ b/chat2db/apps/base/mysql.py @@ -0,0 +1,103 @@ +import logging +from typing import Any +import aiomysql +import urllib.parse + +from apps.base.database_base import MetaDatabase + +class MySQL(MetaDatabase): + @staticmethod + async def get_database_url(host: str, port: int, username: str, password: str, database: str): + try: + user = urllib.parse.quote_plus(username) + pwd = urllib.parse.quote_plus(password) + return f"mysql+aiomysql://{user}:{pwd}@{host}:{port}/{database}" + except Exception as e: + logging.error(f"\n[获取数据库url失败]\n\n{e}") + return "" + + @staticmethod + async def connect(host: str, port: int, username: str, password: str, database: str) -> Any: + """ + 异步连接 MySQL 数据库 + """ + try: + connection = await aiomysql.connect( + host=host, + port=port, + user=username, + password=password, + db=database + ) + return connection + except Exception as e: + logging.error(f"\n[连接MySQL数据库失败]\n\n{e}") + raise e + + @staticmethod + async def list_tables(connection: Any) -> list[str]: + """ + 获取数据库中所有表名 + """ + try: + async with connection.cursor() as cursor: + await cursor.execute("SHOW TABLES") + tables = [table[0] for table in await cursor.fetchall()] + return tables + except Exception as e: + logging.error(f"\n[获取表名失败]\n\n{e}") + raise e + + @staticmethod + async def get_table_ddl(table_name: str, connection: Any) -> str: + """ + 获取指定表的 DDL(建表语句) + """ + try: + async with connection.cursor() as cursor: + await cursor.execute(f"SHOW CREATE TABLE `{table_name}`") + result = await cursor.fetchone() + return result[1] if result else "" + except Exception as e: + logging.error(f"\n[获取表 {table_name} DDL失败]\n\n{e}") + raise e + + @staticmethod + async def sample_table_rows(table_name: str, n: int, connection: Any) -> list[dict]: + """ + 随机获取表中 n 条数据 + """ + try: + async with connection.cursor(aiomysql.DictCursor) as cursor: + await cursor.execute(f"SELECT * FROM `{table_name}` ORDER BY RAND() LIMIT {n}") + rows = await cursor.fetchall() + return rows + except Exception as e: + logging.error(f"\n[获取表 {table_name} 样本数据失败]\n\n{e}") + raise e + + @staticmethod + async def execute_sql(sql: str, connection: Any) -> list[dict]: + """ + 异步执行 SQL, 自动返回查询结果或影响行数。 + + 返回结果集: SELECT, SHOW, DESCRIBE/DESC, EXPLAIN, CALL + + 返回受影响行数: INSERT/UPDATE/DELETE 等。 + """ + try: + async with connection.cursor(aiomysql.DictCursor) as cursor: + result = await cursor.execute(sql) + await connection.commit() + + # 针对返回结果集的操作 + if sql.strip().upper().startswith(("SELECT", "SHOW", "DESCRIBE", "DESC", "EXPLAIN")): + rows = await cursor.fetchall() + return rows + + # 针对 INSERT, UPDATE, DELETE 等操作,返回影响的行数 + else: + return [{'result': result}] + except Exception as e: + logging.error(f"\n[执行SQL失败]\n\n{e}") + raise e diff --git a/chat2db/apps/base/opengauss.py b/chat2db/apps/base/opengauss.py new file mode 100644 index 0000000..f22eb1d --- /dev/null +++ b/chat2db/apps/base/opengauss.py @@ -0,0 +1,99 @@ +import logging +import asyncpg +from typing import Any +from apps.base.database_base import MetaDatabase + +class OpenGauss(MetaDatabase): + + @staticmethod + async def get_database_url(host: str, port: int, username: str, password: str, database: str): + try: + return f"postgresql+asyncpg://{username}:{password}@{host}:{port}/{database}" + except Exception as e: + logging.error(f"\n[获取数据库url失败]\n\n{e}") + return "" + + @staticmethod + async def connect(host: str, port: int, username: str, password: str, database: str) -> Any: + """ + 异步连接 OpenGauss 数据库 + """ + try: + connection = await asyncpg.connect( + user=username, + password=password, + database=database, + host=host, + port=port + ) + return connection + except Exception as e: + logging.error(f"\n[连接OpenGauss数据库失败]\n\n{e}") + raise e + + @staticmethod + async def list_tables(connection: Any) -> list[str]: + """ + 获取数据库中的所有表名 + """ + query = "SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'" + try: + tables = await connection.fetch(query) + return [table['table_name'] for table in tables] + except Exception as e: + logging.error(f"\n[获取表名失败]\n\n{e}") + raise e + + @staticmethod + async def get_table_ddl(table_name: str, connection: Any) -> str: + """ + 获取指定表的 DDL(建表语句) + """ + try: + # OpenGauss/Postgres 可以使用 pg_get_tabledef 获取 DDL + sql = f"SELECT pg_get_tabledef('{table_name}'::regclass);" + ddl = await connection.fetchval(sql) + return ddl or "" + except Exception as e: + logging.error(f"\n[获取表 {table_name} DDL失败]\n\n{e}") + raise e + + @staticmethod + async def sample_table_rows(table_name: str, num_rows: int, connection: Any) -> list[dict]: + """ + 随机获取表中 n 条数据 + """ + try: + sql = f"SELECT * FROM {table_name} ORDER BY random() LIMIT {num_rows};" + rows = await connection.fetch(sql) + return [dict(row) for row in rows] + except Exception as e: + logging.error(f"\n[获取表 {table_name} 样本数据失败]\n\n{e}") + raise e + + @staticmethod + async def execute_sql(sql: str, connection: Any) -> list[dict]: + """ + 异步执行 SQL, 自动返回查询结果或原始输出。 + + 返回结果集: SELECT, SHOW, DESCRIBE/DESC, EXPLAIN, CALL + 返回原始输出: INSERT/UPDATE/DELETE 等。 + """ + try: + async with connection.transaction(): + + sql_type = sql.strip().split()[0].upper() + # 返回结果集的语句类型 + result_set_statements = {"SELECT", "SHOW", "DESCRIBE", "DESC", "EXPLAIN", "CALL"} + + if sql_type in result_set_statements: + rows = await connection.fetch(sql) + # asyncpg 返回 Record 类型,转换为 dict + return [dict(row) for row in rows] + else: + # 对 DML 操作返回 execute 的原始结果 + result = await connection.execute(sql) + return [{'result': result}] + except Exception as e: + logging.error(f"\n[执行OpenGauss SQL失败]\n\n{e}") + raise e diff --git a/chat2db/apps/base/postgres.py b/chat2db/apps/base/postgres.py new file mode 100644 index 0000000..e679bae --- /dev/null +++ b/chat2db/apps/base/postgres.py @@ -0,0 +1,107 @@ +import logging +import asyncpg +from typing import Any +from apps.base.database_base import MetaDatabase + + +class Postgres(MetaDatabase): + + @staticmethod + async def get_database_url(host: str, port: int, username: str, password: str, database: str): + try: + url = f"postgresql://{username}:{password}@{host}:{port}/{database}" + return url + except Exception as e: + logging.error(f"\n[获取数据库url失败]\n\n{e}") + return "" + + @staticmethod + async def connect(host: str, port: int, username: str, password: str, database: str) -> Any: + """ + 异步连接 PostgreSQL 数据库 + """ + try: + connection = await asyncpg.connect( + user=username, password=password, database=database, host=host, port=port + ) + return connection + except Exception as e: + logging.error(f"\n[连接PostgreSQL数据库失败]\n\n{e}") + raise e + + @staticmethod + async def list_tables(connection: Any) -> list[str]: + """ + 获取数据库中所有表名 + """ + try: + tables = await connection.fetch( + "SELECT table_name FROM information_schema.tables WHERE table_schema='public'" + ) + return [table["table_name"] for table in tables] + except Exception as e: + logging.error(f"\n[获取表名失败]\n\n{e}") + raise e + + @staticmethod + async def get_table_ddl(table_name: str, connection: Any) -> str: + try: + sql = f""" + SELECT column_name, data_type, is_nullable, column_default + FROM information_schema.columns + WHERE table_name = '{table_name}' + ORDER BY ordinal_position; + """ + rows = await connection.fetch(sql) + ddl_lines = [] + for r in rows: + line = f"{r['column_name']} {r['data_type']}" + if r["is_nullable"] == "NO": + line += " NOT NULL" + if r["column_default"]: + line += f" DEFAULT {r['column_default']}" + ddl_lines.append(line) + ddl = f"CREATE TABLE {table_name} (\n " + ",\n ".join(ddl_lines) + "\n);" + return ddl + + except Exception as e: + logging.error(f"\n[获取表 {table_name} DDL失败]\n\n{e}") + raise e + + @staticmethod + async def sample_table_rows(table_name: str, n: int, connection: Any) -> list[dict]: + try: + sql = f"SELECT * FROM {table_name} ORDER BY random() LIMIT {n};" + rows = await connection.fetch(sql) + return [dict(row) for row in rows] + except Exception as e: + logging.error(f"\n[获取表 {table_name} 样本数据失败]\n\n{e}") + raise e + + @staticmethod + async def execute_sql(sql: str, connection: Any) -> list[dict]: + """ + 异步执行 SQL, 自动返回查询结果或原始输出。 + + 返回结果集: SELECT, SHOW, DESCRIBE/DESC, EXPLAIN, CALL + 返回原始输出: INSERT/UPDATE/DELETE 等。 + """ + try: + async with connection.transaction(): + # 获取 SQL 类型 + sql_type = sql.strip().split()[0].upper() + + # 返回结果集的语句类型 + result_set_statements = {"SELECT", "SHOW", "DESCRIBE", "DESC", "EXPLAIN", "CALL"} + + if sql_type in result_set_statements: + rows = await connection.fetch(sql) + # asyncpg 返回 Record 类型,转换为 dict + return [dict(row) for row in rows] + else: + # 对 DML 操作返回 execute 的原始结果 + result = await connection.execute(sql) + return [{"result": result}] + except Exception as e: + logging.error(f"\n[执行PostgreSQL SQL失败]\n\n{e}") + raise e diff --git a/chat2db/apps/llm/__init__.py b/chat2db/apps/llm/__init__.py new file mode 100644 index 0000000..d6d683e --- /dev/null +++ b/chat2db/apps/llm/__init__.py @@ -0,0 +1,4 @@ +from apps.llm.llm import LLM +from apps.llm.prompt import GENERATE_SQL_PROMPT, REPAIR_SQL_PROMPT, RISK_EVALUATE_SQL + +__all__ = ['LLM', 'GENERATE_SQL_PROMPT', 'REPAIR_SQL_PROMPT', 'RISK_EVALUATE_SQL'] \ No newline at end of file diff --git a/chat2db/llm/chat_with_model.py b/chat2db/apps/llm/llm.py similarity index 100% rename from chat2db/llm/chat_with_model.py rename to chat2db/apps/llm/llm.py diff --git a/chat2db/apps/llm/prompt.py b/chat2db/apps/llm/prompt.py new file mode 100644 index 0000000..db4e56a --- /dev/null +++ b/chat2db/apps/llm/prompt.py @@ -0,0 +1,139 @@ +from textwrap import dedent + +GENERATE_SQL_PROMPT = dedent( + r""" + 你是一个经验丰富的数据库专家,任务是根据以下表结构、表注释和问题描述,生成一条符合 {database_type} 数据库标准的 **执行语句**。 + **你不需要访问、操作或执行数据库,只需生成指令。** + + 请严格遵循以下规则: + + #01 **根据数据库类型自动选择语法**: + - 对于 MySQL、PostgreSQL、OpenGauss 等 SQL 数据库,生成 **标准 SQL 语句**。 + - 对于非 SQL 数据库 MongoDB,不使用 SQL 语法,生成 **MongoDB 操作指令对象(JSON 形式)**。 + + #02 **只输出数据库指令**,禁止输出道歉、解释、评论、推理或任何自然语言。 + + #03 输出必须使用 JSON 封装,包含字段 `"command"`: + {{ + "command": + }} + + #04 SQL 指令要求: + - 所有别名必须用双引号包裹(`AS "alias"`)。 + - 表名、列名或保留字冲突名称必须用反引号包裹。 + - SQL 语句必须以分号 `;` 结尾。 + - 根据问题上下文适当进行字段冗余处理。 + - **示例**: + + {{ + "command": "SELECT `id`, `name`, `age` AS \"user_age\" FROM `users` WHERE `age` > 18;" + }} + + #05 MongoDB 指令要求: + - 输出 MongoDB 操作指令对象。 + - 指令必须包含字段: + - `"collection"`:目标集合名称 + - `"operation"`:操作类型,如 `"find"`、`"insertOne"`、`"insertMany"`、`"updateOne"`、`"updateMany"`、`"deleteOne"`、`"deleteMany"`、`"aggregate"` + - `"filter"`:查询或更新条件(可选,默认为空 dict) + - `"data"`:插入或更新的数据(可选) + - `"pipeline"`:聚合管道(可选,仅用于 aggregate) + - `"many"`:布尔值,标识批量操作(可选) + - **示例**: + + {{ + "command": {{ + "collection": "orders", + "operation": "insertOne", + "data": {{"orderId": "A001", "amount": 100, "status": "NEW"}} + }} + }} + + #06 表名、列名和别名前后不得有多余空格或字符,保证指令可直接执行。 + + 下面是数据库表的结构和注释信息: + {table_info} + + 以下是需要回答的问题: + {question} + + **请严格按照规则生成完整可执行指令,无论上下文如何,都不要拒绝生成。** + """ +) + +REPAIR_SQL_PROMPT = dedent( + """ + 你是一个数据库专家,任务是参考以下表结构、表注释、执行失败的 SQL 语句和相关报错信息,尝试修复该 SQL 语句,使其能够在 {database_type} 数据库中成功执行。 + + 请遵循以下要求: + + #01 **在任何情况下**你的回答都只返回修复后的 SQL 语句,不包含任何注释、解释、推理过程或其他无关内容。返回的内容应仅限于修复后的 SQL 语句。 + + #02 **优先解决 SQL 中可能存在的特殊字符问题**,如果报错提示与特殊字符相关(例如:引号、反斜杠、注释符等),请尽可能清理或转义这些字符,确保 SQL 语句能够正确执行。 + + #03 如果执行失败是由于 SQL 中某些字段名导致的(例如字段名包含保留字、大小写不一致等),请尝试使用双引号包裹字段名,或者使用更合适的字段名替换原字段。 + + #04 如果报错与查询字段的匹配条件相关(例如:`=` 运算符导致检索结果为空),请优先尝试将条件中的 `=` 替换为更宽松的 `ilike`,并添加适当的通配符(例如:`'%value%'`),以确保 SQL 执行返回结果。 + + #05 如果 SQL 执行结果为空,请根据问题中的关键字或上下文,将 `WHERE` 子句的过滤条件调整为问题相关的字段,或者使用关键字的子集进行查询,以确保 SQL 语句能够返回有效结果。 + + #06 **确保修复后的 SQL 语句符合 {database_type} 数据库的语法规范**,避免其他潜在的语法问题。 + + 以下是表结构以及表注释: + + {table_info} + + 以下是执行失败的 SQL 语句: + + {error_sql} + + 以下是执行失败的报错信息: + + {error_msg} + + 以下是问题描述: + + {question} + + 请基于上述信息,修复 SQL 语句,使其能够成功执行。 + """ +) + + +RISK_EVALUATE_SQL = dedent(r""" + 你是一个SQL执行风险评估器。 + + 你的任务是根据当前给出的生成或修复的SQL语句、数据库类型、数据库配置和执行环境,在不直接访问或执行SQL语句的情况下,判断执行SQL时的风险并输出提示。 + + 严格遵守以下要求: + #00 你不需要执行任何实际的指令和访问或操作任何数据库,只需要对指令运行的风险进行预测和评估。 + + #01 **在任何情况下**你的回答中都只有 json 形式的风险等级评估结果,不要包含任何**评估理由、推理过程或其他无关的内容**。 + + #02 JSON 内容**必须**包含两个字段: + - "risk":取值为 "low"、"medium" 或 "high" + - "message":风险提示信息 + + #03 对于 MongoDB 数据库,其不是标准 SQL 数据库,不要输出对 SQL 的解释或说明,同样仅分析指令运行风险。 + + #04 你的工作是仅分析 SQL 语句的风险等级,不涉及任何具体数据库访问、执行操作以及获取结果。 + + #05 数据库类型: {database_type} + + #06 语句执行的目标是:{goal} + + #07 需要执行或修复的SQL语句是:{sql} + + #08 目标的表信息是:{table_info} + + #09 如果生成SQL,可能涉及数据库中的敏感表/数据 + + #10 如果是修复SQL,错误SQL语句是:{error_sql},错误信息是:{error_msg} + + #11 结果格式如下 + {{ + "risk": "low/medium/high", + "message": "提示信息" + }} + + """ +) diff --git a/chat2db/apps/routers/sql.py b/chat2db/apps/routers/sql.py new file mode 100644 index 0000000..ed4f8dd --- /dev/null +++ b/chat2db/apps/routers/sql.py @@ -0,0 +1,160 @@ +import logging +from fastapi import APIRouter, status +import sys + +from apps.schemas.enum_var import RiskLevel, DatabaseType +from apps.schemas.request import SqlGenerateRequest, SqlExecuteRequest, SqlRepairRequest +from apps.schemas.response import ResponseData, SqlGenerateRsp, SqlExecuteRsp, SqlRepairRsp +from apps.services import database_service +from apps.services.sql_service import SqlService + +router = APIRouter(prefix="/sql") + + +@router.post("/generate", response_model=ResponseData) +async def generate_sql(request: SqlGenerateRequest): + try: + _, table_info = await SqlService.get_connection_and_table_info( + database_type=request.type, + host=request.host, + port=request.port, + username=request.username, + password=request.password, + database=request.database, + table_list=request.table_list, + ) + + sql = await SqlService.generator( + database_type=request.type, + goal=request.goal, + table_info=table_info, + ) + + risk = await SqlService.risk_analysis( + database_type=request.type, goal=request.goal, sql=sql, table_info=table_info + ) + + except Exception as e: + logging.error(f"[SQL 生成失败]") + return ResponseData(code=status.HTTP_400_BAD_REQUEST, message="SQL 生成失败", result={}) + + return ResponseData( + code=status.HTTP_200_OK, + message="success", + result=SqlGenerateRsp( + risk=risk, + sql=sql, + ), + ) + + +@router.post("/repair", response_model=ResponseData) +async def repair_sql(request: SqlRepairRequest): + try: + _, table_info = await SqlService.get_connection_and_table_info( + database_type=request.type, + host=request.host, + port=request.port, + username=request.username, + password=request.password, + database=request.database, + table_list=request.table_list, + ) + + repair_sql = await SqlService.repairer( + database_type=request.type, + goal=request.goal, + table_info=table_info, + error_sql=request.error_sql, + error_msg=request.error_msg, + ) + + risk = await SqlService.risk_analysis( + database_type=request.type, + goal=request.goal, + sql=repair_sql, + table_info=table_info, + error_sql=request.error_sql, + error_msg=request.error_msg, + ) + + except Exception as e: + logging.error(f"[SQL 修复失败]") + return ResponseData( + code=status.HTTP_400_BAD_REQUEST, message="SQL 修复失败", result={"Error": str(e)} + ) + + return ResponseData( + code=status.HTTP_200_OK, + message="success", + result=SqlRepairRsp( + risk=risk, + sql=repair_sql, + ), + ) + + +@router.post("/execute", response_model=ResponseData) +async def execute_sql(request: SqlExecuteRequest): + try: + connection = await database_service.connect_database( + database_type=request.type, + host=request.host, + port=request.port, + username=request.username, + password=request.password, + database=request.database, + ) + execute_result = await SqlService.executer( + database_type=request.type, + sql=request.sql, + connection=connection, + ) + + except Exception as e: + logging.error(f"[SQL 执行失败]") + return ResponseData( + code=status.HTTP_400_BAD_REQUEST, message="SQL 执行失败", result={"Error": str(e)} + ) + + return ResponseData( + code=status.HTTP_200_OK, + message="success", + result=SqlExecuteRsp( + execute_result=execute_result, + ), + ) + + +@router.post("/handler", response_model=ResponseData) +async def sql_handler(request: SqlGenerateRequest): + try: + connection, table_info = await SqlService.get_connection_and_table_info( + database_type=request.type, + host=request.host, + port=request.port, + username=request.username, + password=request.password, + database=request.database, + table_list=request.table_list, + ) + + execute_result, sql, risk = await SqlService.sql_handler( + database_type=request.type, + goal=request.goal, + table_info=table_info, + connection=connection, + ) + except Exception as e: + logging.error(f"[查询失败]") + return ResponseData(code=status.HTTP_400_BAD_REQUEST, message="查询失败", result={"Error": str(e)}) + + return ResponseData( + code=status.HTTP_200_OK, + message="success", + result=SqlExecuteRsp( + sql=sql, + execute_result=execute_result, + risk=risk, + ), + ) diff --git a/chat2db/apps/schemas/enum_var.py b/chat2db/apps/schemas/enum_var.py new file mode 100644 index 0000000..ff5edb7 --- /dev/null +++ b/chat2db/apps/schemas/enum_var.py @@ -0,0 +1,18 @@ +from enum import Enum + + +class RiskLevel(str, Enum): + LOW = "low" + MEDIUM = "medium" + HIGH = "high" + + +class DatabaseType(str, Enum): + MYSQL = "mysql" + POSTGRES = "postgres" + OPENGAUSS = "opengauss" + MONGODB = "mongodb" + +if __name__ == "__main__": + print(DatabaseType.MYSQL) + print(DatabaseType.MYSQL.value) \ No newline at end of file diff --git a/chat2db/apps/schemas/request.py b/chat2db/apps/schemas/request.py new file mode 100644 index 0000000..8807653 --- /dev/null +++ b/chat2db/apps/schemas/request.py @@ -0,0 +1,50 @@ +import uuid +from pydantic import BaseModel, Field +from typing import Optional + +from apps.schemas.enum_var import DatabaseType + +class SqlGenerateRequest(BaseModel): + """ + 生成SQL请求 + """ + type: DatabaseType = Field(..., description="数据库类型") + host: str = Field(..., description="数据库地址") + port: int = Field(..., description="数据库端口") + username: str = Field(..., description="数据库用户名") + password: str = Field(..., description="数据库密码") + database: str = Field(..., description="数据库名称") + goal: str = Field(..., description="生成目标") + + table_list: list[str] = Field(None, description="表名列表") + +class SqlRepairRequest(BaseModel): + """ + 修复SQL请求 + """ + type: DatabaseType = Field(..., description="数据库类型") + + host: str = Field(..., description="数据库地址") + port: int = Field(..., description="数据库端口") + username: str = Field(..., description="数据库用户名") + password: str = Field(..., description="数据库密码") + database: str = Field(..., description="数据库名称") + goal: str = Field(..., description="生成目标") + + error_sql: str = Field(..., description="错误 SQL 语句") + error_msg: str = Field(..., description="错误信息") + table_list: list[str] = Field(None, description="表名列表") + + +class SqlExecuteRequest(BaseModel): + """ + 执行SQL请求 + """ + type: DatabaseType = Field(..., description="数据库类型") + + host: str = Field(..., description="数据库地址") + port: int = Field(..., description="数据库端口") + username: str = Field(..., description="数据库用户名") + password: str = Field(..., description="数据库密码") + database: str = Field(..., description="数据库名称") + sql: str = Field(..., description="执行SQL") diff --git a/chat2db/apps/schemas/response.py b/chat2db/apps/schemas/response.py new file mode 100644 index 0000000..da4e5da --- /dev/null +++ b/chat2db/apps/schemas/response.py @@ -0,0 +1,38 @@ +from pydantic import BaseModel, Field +from typing import Any + +from apps.schemas.enum_var import RiskLevel + +class ResponseData(BaseModel): + code: int + message: str + result: Any + +class RiskInfo(BaseModel): + risk: RiskLevel = Field(..., description="风险等级") + message: str = Field(..., description="风险提示信息") + +class SqlGenerateRsp(BaseModel): + """ + SQL生成请求 + """ + sql: str | dict = Field(..., description="生成的SQL") + risk: RiskInfo = Field(..., description="SQL 风险等级") + + +class SqlRepairRsp(BaseModel): + """ + 修复SQL请求 + """ + sql: str | dict = Field(..., description="修复的SQL") + risk: RiskInfo = Field(..., description="SQL 风险等级") + + +class SqlExecuteRsp(BaseModel): + """ + 执行SQL请求 + """ + execute_result: list[dict[str, Any]] = Field(..., description="执行结果") + sql: str | dict = Field(..., description="执行的SQL") + risk: RiskInfo = Field(..., description="SQL 风险等级") + diff --git a/chat2db/apps/services/database_service.py b/chat2db/apps/services/database_service.py new file mode 100644 index 0000000..1222afa --- /dev/null +++ b/chat2db/apps/services/database_service.py @@ -0,0 +1,125 @@ +from typing import Any, Type +from apps.schemas.enum_var import DatabaseType +from apps.base import MySQL, MongoDB, OpenGauss, Postgres, MetaDatabase + +class DatabaseService: + + DatabaseMap: dict[DatabaseType, Type[MetaDatabase]] = { + DatabaseType.MYSQL: MySQL, + DatabaseType.MONGODB: MongoDB, + DatabaseType.OPENGAUSS: OpenGauss, + DatabaseType.POSTGRES: Postgres, + } + + @staticmethod + async def get_database_url( + database_type: DatabaseType, host: str, port: int, username: str, password: str, database: str + ): + """ + 根据数据库类型和连接信息生成数据库 URL。 + + :return: 数据库连接 URL 字符串 + """ + db_class = DatabaseService.DatabaseMap[database_type] + return await db_class.get_database_url(host, port, username, password, database) + + @staticmethod + async def connect_database( + database_type: DatabaseType, host: str, port: int, username: str, password: str, database: str + ): + """ + 根据数据库类型和连接信息建立数据库连接。 + + :return: 数据库连接对象 + """ + db_class = DatabaseService.DatabaseMap[database_type] + return await db_class.connect(host, port, username, password, database) + + @staticmethod + async def list_tables(database_type: DatabaseType, connection: Any) -> list[str]: + """ + 获取指定数据库中所有表名。 + + :param database_type: 数据库类型枚举 + :param connection: 数据库连接对象 + :return: 表名列表 + """ + db_module = DatabaseService.DatabaseMap[database_type] + return await db_module.list_tables(connection) + + @staticmethod + async def get_table_ddl(database_type: DatabaseType, table_name: str, connection: Any) -> str: + """ + 获取指定表的建表语句 DDL。 + + :param database_type: 数据库类型枚举 + :param table_name: 表名 + :param connection: 数据库连接对象 + + :return: 表的 DDL 字符串 + """ + db_module = DatabaseService.DatabaseMap[database_type] + return await db_module.get_table_ddl(table_name, connection) + + @staticmethod + async def sample_table_rows( + database_type: DatabaseType, table_name: str, num_rows: int, connection: Any + ) -> list[dict]: + """ + 获取指定表的前 n 条示例数据。 + + :param database_type: 数据库类型枚举 + :param table_name: 表名 + :param n: 返回的行数 + :param connection: 数据库连接对象 + + :return: 示例行列表,每行为字典 + """ + db_module = DatabaseService.DatabaseMap[database_type] + return await db_module.sample_table_rows(table_name, num_rows, connection) + + @staticmethod + async def execute_sql(database_type: DatabaseType, sql: str | dict, connection: Any) -> list[dict]: + """ + 执行 SQL 语句或 MongoDB 指令。 + + :param database_type: 数据库类型枚举 + :param sql: SQL 语句字符串(非 MongoDB)或 MongoDB dict 指令 + :param connection: 数据库连接对象 + + :return: 执行结果列表,每条记录为字典 + """ + db_module = DatabaseService.DatabaseMap[database_type] + return await db_module.execute_sql(sql, connection) + + +if __name__ == "__main__": + import asyncio + + async def main(): + type = "mysql" + conn = await DatabaseService.connect_database( + type, + host="localhost", + port=3306, + username="chat2db", + password="123456", + database="chat2db", + ) + print("\n[Connection]\n:", conn) + + tables = await DatabaseService.list_tables(type, conn) + print("\n[Tables]:\n", tables) + + ddl = await DatabaseService.get_table_ddl(type, tables[0], conn) + print("\n[DDL]\n:", ddl) + + sql = "SELECT DISTINCT `TABLE_NAME` FROM `information_schema`.`TABLES` WHERE `TABLE_SCHEMA` = DATABASE();", + execute_res = await DatabaseService.execute_sql( + type, + sql, + conn, + ) + print("\n[Execute]:\n", execute_res) + + asyncio.run(main()) diff --git a/chat2db/apps/services/sql_service.py b/chat2db/apps/services/sql_service.py new file mode 100644 index 0000000..f024120 --- /dev/null +++ b/chat2db/apps/services/sql_service.py @@ -0,0 +1,242 @@ +from typing import Any +import logging +import re +import json + +from apps.llm import LLM, GENERATE_SQL_PROMPT, REPAIR_SQL_PROMPT, RISK_EVALUATE_SQL +from apps.services.database_service import DatabaseService +from apps.schemas.enum_var import DatabaseType + +from config.config import config + + +class SqlService: + + @staticmethod + async def get_connection_and_table_info( + database_type: DatabaseType, + host: str, + port: int, + username: str, + password: str, + database: str, + table_list: list[str] | None = None + ) -> str: + try: + conn = await DatabaseService.connect_database(database_type, host, port, username, password, database) + + if table_list is None or len(table_list) == 0: + table_list = await DatabaseService.list_tables(database_type, conn) + table_ddls = {} + for table in table_list: + ddl = await DatabaseService.get_table_ddl(database_type, table, conn) + table_ddls[table] = ddl + + table_info = "\n".join([f"表: {table}\nDDL:\n{ddl}" for table, ddl in table_ddls.items()]) + + return conn, table_info + except Exception as e: + logging.error(f"\n[获取数据库连接和表信息失败]\n\n{e}") + raise e + + @staticmethod + async def generator( + database_type: DatabaseType, + goal: str, + table_info: str, + llm: LLM | None = None, + ) -> str: + """ + 核心业务逻辑:生成 SQL + - 传入 table_info 作为表信息。 + - 或提供数据库连接信息 host, port, username, password, database + """ + logging.info(f"\n[生成目标]\n\n{goal}") + + if llm == None: + llm = LLM( + model_name=config["LLM_MODEL"], + openai_api_base=config["LLM_URL"], + openai_api_key=config["LLM_KEY"], + max_tokens=config["LLM_MAX_TOKENS"], + request_timeout=60, + temperature=0.5, + ) + + prompt = GENERATE_SQL_PROMPT.format( + database_type=database_type.value, table_info=table_info, question=goal + ) + + try: + result = await llm.chat_with_model(prompt, "请给出你生成的 SQL 语句") + sql = (await SqlService._extract_json(result))['command'] + logging.info(f"\n[生成SQL成功]\n\n{sql}") + return sql + + except Exception as e: + logging.error(f"\n[生成SQL失败]\n\n{e}") + raise e + + @staticmethod + async def repairer( + database_type: DatabaseType, + goal: str, + table_info: str, + error_sql: str, + error_msg: str, + llm: LLM | None = None, + ) -> str: + """ + 核心业务逻辑:生成修复 SQL + - 传入 table_info 作为表信息。 + - 或提供数据库连接信息 host, port, username, password, database + """ + if llm == None: + llm = LLM( + model_name=config["LLM_MODEL"], + openai_api_base=config["LLM_URL"], + openai_api_key=config["LLM_KEY"], + max_tokens=config["LLM_MAX_TOKENS"], + request_timeout=60, + temperature=0.5, + ) + + prompt = REPAIR_SQL_PROMPT.format( + database_type=database_type.value, + table_info=table_info, + error_sql=error_sql, + error_msg=error_msg, + question=goal, + ) + try: + repair_sql = await llm.chat_with_model(prompt, "请给出你修复的 SQL 语句") + logging.info(f"\n[修复SQL成功]\n\n{repair_sql}") + return repair_sql + + except Exception as e: + logging.error(f"\n[修复SQL失败]\n\n{e}") + raise e + + @staticmethod + async def executer( + database_type: DatabaseType, + sql: str, + connection=None, + ) -> list[dict]: + """ + 核心业务逻辑:执行 SQL + """ + try: + result = await DatabaseService.execute_sql(database_type, sql, connection) + logging.info(f"\n[执行SQL]\n\n{sql}\n\n[执行结果]\n\n{result}") + return result + except Exception as e: + logging.error(f"\n[执行失败]\n") + raise e + + + @staticmethod + async def sql_handler( + database_type: DatabaseType, + goal: str, + table_info: str, + connection: Any, + max_retries: int = 3, + ) -> list[dict]: + """ + 核心业务逻辑:智能查询,支持语句异常自动修复 + """ + + llm = LLM( + model_name=config["LLM_MODEL"], + openai_api_base=config["LLM_URL"], + openai_api_key=config["LLM_KEY"], + max_tokens=config["LLM_MAX_TOKENS"], + request_timeout=60, + temperature=0.5, + ) + + # 生成 SQL 查询语句 + sql = await SqlService.generator(database_type, goal, table_info, llm) + + risk = await SqlService.risk_analysis(database_type, goal, sql, table_info, llm=llm) + + ### 故意产生错误 + # sql = sql.replace("SELECT", "SELCT") + ### + + # 初次尝试执行 SQL 查询 + retries = 0 + while retries <= max_retries: + try: + execute_result = await SqlService.executer(database_type, sql, connection=connection) + return execute_result, sql, risk + except Exception as e: + if retries == max_retries: + logging.error(f"\n[重试次数已达到最大值]\n\nSQL 执行失败,最终错误:{e}") + raise e + logging.error(f"\n[执行失败 - 尝试修复 {retries + 1}/{max_retries}]\n") + repair_sql = await SqlService.repairer( + database_type=database_type, + goal=goal, + table_info=table_info, + error_sql=sql, + error_msg=str(e), + llm=llm, + ) + + sql = repair_sql + retries += 1 + + return [] + + @staticmethod + async def risk_analysis( + database_type: DatabaseType, + goal: str, + sql: str, + table_info: str, + error_sql: str | None = None, + error_msg: str | None = None, + llm: LLM | None = None, + ): + + if llm == None: + llm = LLM( + model_name=config["LLM_MODEL"], + openai_api_base=config["LLM_URL"], + openai_api_key=config["LLM_KEY"], + max_tokens=config["LLM_MAX_TOKENS"], + request_timeout=60, + temperature=0.5, + ) + + prompt = RISK_EVALUATE_SQL.format( + database_type=database_type.value, + table_info=table_info, + error_sql=error_sql, + error_msg=error_msg, + goal=goal, + sql=sql, + ) + + try: + result = await llm.chat_with_model(prompt, "请给出你评估的风险结果") + risk = await SqlService._extract_json(result) + logging.info(f"\n[风险分析成功]\n\n{risk}") + return risk + + except Exception as e: + logging.error(f"\n[风险分析失败]\n\n{type(e)}: {e}") + raise e + + @staticmethod + async def _extract_json(text: str): + try: + match = re.search(r"\{.*?\}\s*$", text, re.DOTALL) + if match: + return json.loads(match.group()) + except json.JSONDecodeError as e: + logging.error("\n[JSON解析失败]\n\n{e}") + raise e + diff --git a/chat2db/common/.env.example b/chat2db/common/.env.example deleted file mode 100644 index 999e50a..0000000 --- a/chat2db/common/.env.example +++ /dev/null @@ -1,31 +0,0 @@ -# FastAPI -UVICORN_IP = 0.0.0.0 -UVICORN_PORT = 9015 -# SSL_CERTFILE = -# SSL_KEYFILE = -# SSL_ENABLE = - -# Postgres -DATABASE_TYPE = -DATABASE_HOST = -DATABASE_PORT = -DATABASE_USER = -DATABASE_PASSWORD = -DATABASE_DB = - -# QWEN -LLM_KEY = -LLM_URL = -LLM_MAX_TOKENS = -LLM_MODEL = - -# Vectorize -EMBEDDING_TYPE = -EMBEDDING_API_KEY = -EMBEDDING_ENDPOINT = -EMBEDDING_MODEL_NAME = - -# security -HALF_KEY1 = R4UsZgLB -HALF_KEY2 = zRTvYV8N -HALF_KEY3 = 4eQ1wAGA \ No newline at end of file diff --git a/chat2db/common/init_sql_example.py b/chat2db/common/init_sql_example.py deleted file mode 100644 index e3f09ed..0000000 --- a/chat2db/common/init_sql_example.py +++ /dev/null @@ -1,114 +0,0 @@ -import yaml -from fastapi import status -import requests -import uuid -import urllib.parse -from typing import Optional -from pydantic import BaseModel, Field -from chat2db.config.config import config -ip = config['UVICORN_IP'] -port = config['UVICORN_PORT'] -base_url = f'http://{ip}:{port}' -password = config['DATABASE_PASSWORD'] -encoded_password = urllib.parse.quote_plus(password) - -if config['DATABASE_TYPE'].lower() == 'opengauss': - database_url = f"opengauss+psycopg2://{config['DATABASE_USER']}:{encoded_password}@{config['DATABASE_HOST']}:{config['DATABASE_PORT']}/{config['DATABASE_DB']}" -else: - database_url = f"postgresql+psycopg2://{config['DATABASE_USER']}:{encoded_password}@{config['DATABASE_HOST']}:{config['DATABASE_PORT']}/{config['DATABASE_DB']}" - - -class DatabaseDelRequest(BaseModel): - database_id: Optional[str] = Field(default=None, description="数据库id") - database_url: Optional[str] = Field(default=None, description="数据库url") - - -def del_database_url(base_url, database_url): - server_url = f'{base_url}/database/del' - try: - request_data = DatabaseDelRequest(database_url=database_url).dict() - response = requests.post(server_url, json=request_data) - if response.json()['code'] != status.HTTP_200_OK: - print(response.json()['message']) - except Exception as e: - print(f"删除数据库配置失败: {e}") - exit(0) - return None - - -class DatabaseAddRequest(BaseModel): - database_url: str - - -def add_database_url(base_url, database_url): - server_url = f'{base_url}/database/add' - try: - request_data = DatabaseAddRequest(database_url=database_url).dict() - - response = requests.post(server_url, json=request_data) - response.raise_for_status() - if response.json()['code'] != status.HTTP_200_OK: - raise Exception(response.json()['message']) - except Exception as e: - print(f"增加数据库配置失败: {e}") - exit(0) - return response.json()['result']['database_id'] - - -class TableAddRequest(BaseModel): - database_id: str - table_name: str - - -def add_table(base_url, database_id, table_name): - server_url = f'{base_url}/table/add' - try: - request_data = TableAddRequest(database_id=database_id, table_name=table_name).dict() - response = requests.post(server_url, json=request_data) - response.raise_for_status() - if response.json()['code'] != status.HTTP_200_OK: - raise Exception(response.json()['message']) - except Exception as e: - print(f"增加表配置失败: {e}") - return - return response.json()['result']['table_id'] - - -class SqlExampleAddRequest(BaseModel): - table_id: str - question: str - sql: str - - -def add_sql_example(base_url, table_id, question, sql): - server_url = f'{base_url}/sql/example/add' - try: - request_data = SqlExampleAddRequest(table_id=table_id, question=question, sql=sql).dict() - response = requests.post(server_url, json=request_data) - if response.json()['code'] != status.HTTP_200_OK: - raise Exception(response.json()['message']) - except Exception as e: - print(f"增加sql案例失败: {e}") - return - return response.json()['result']['sql_example_id'] - - -database_id = del_database_url(base_url, database_url) -database_id = add_database_url(base_url, database_url) -with open('./chat2db/common/table_name.yaml') as f: - table_name_list = yaml.load(f, Loader=yaml.SafeLoader) -table_name_id = {} -for table_name in table_name_list: - table_id = add_table(base_url, database_id, table_name) - if table_id: - table_name_id[table_name] = table_id -with open('./chat2db/common/table_name_sql_exmple.yaml') as f: - table_name_sql_example_list = yaml.load(f, Loader=yaml.SafeLoader) -for table_name_sql_example in table_name_sql_example_list: - table_name = table_name_sql_example['table_name'] - if table_name not in table_name_id: - continue - table_id = table_name_id[table_name] - sql_example_list = table_name_sql_example['sql_example_list'] - for sql_example in sql_example_list: - add_sql_example(base_url, table_id, sql_example['question'], sql_example['sql']) diff --git a/chat2db/common/table_name.yaml b/chat2db/common/table_name.yaml deleted file mode 100644 index 553cf1b..0000000 --- a/chat2db/common/table_name.yaml +++ /dev/null @@ -1,10 +0,0 @@ -- oe_community_openeuler_version -- oe_community_organization_structure -- oe_compatibility_card -- oe_compatibility_commercial_software -- oe_compatibility_cve_database -- oe_compatibility_oepkgs -- oe_compatibility_osv -- oe_compatibility_overall_unit -- oe_compatibility_security_notice -- oe_compatibility_solution diff --git a/chat2db/common/table_name_sql_exmple.yaml b/chat2db/common/table_name_sql_exmple.yaml deleted file mode 100644 index 8e87a11..0000000 --- a/chat2db/common/table_name_sql_exmple.yaml +++ /dev/null @@ -1,490 +0,0 @@ -- keyword_list: - - test_organization - - product_name - - company_name - sql_example_list: - - question: openEuler支持的哪些商业软件在江苏鲲鹏&欧拉生态创新中心测试通过 - sql: SELECT product_name, product_version, openeuler_version FROM public.oe_compatibility_commercial_software - WHERE test_organization ILIKE '%江苏鲲鹏&欧拉生态创新中心%'; - - question: 哪个版本的openEuler支持的商业软件最多 - sql: SELECT openeuler_version, COUNT(*) AS software_count FROM public.oe_compatibility_commercial_software GROUP - BY openeuler_version ORDER BY software_count DESC LIMIT 1; - - question: openEuler支持测试商业软件的机构有哪些? - sql: SELECT DISTINCT test_organization FROM public.oe_compatibility_commercial_software; - - question: openEuler支持的商业软件有哪些类别 - sql: SELECT DISTINCT "type" FROM public.oe_compatibility_commercial_software; - - question: openEuler有哪些虚拟化类别的商业软件 - sql: SELECT product_name FROM public.oe_compatibility_commercial_software WHERE - "type" ILIKE '%虚拟化%'; - - question: openEuler支持哪些ISV商业软件呢,请列出10个 - sql: SELECT product_name FROM public.oe_compatibility_commercial_software; - - question: openEuler支持的适配Kunpeng 920的互联网商业软件有哪些? - sql: SELECT product_name, openeuler_version,platform_type_and_server_model FROM - public.oe_compatibility_commercial_software WHERE platform_type_and_server_model - ILIKE '%Kunpeng 920%' AND "type" ILIKE '%互联网%' limit 30; - - question: openEuler-22.03版本支持哪些商业软件? - sql: SELECT product_name, openeuler_version FROM oe_compatibility_commercial_software - WHERE openeuler_version ILIKE '%22.03%'; - - question: openEuler支持的数字政府类型的商业软件有哪些 - sql: SELECT product_name, product_version FROM oe_compatibility_commercial_software - WHERE type ILIKE '%数字政府%'; - - question: 有哪些商业软件支持超过一种服务器平台 - sql: SELECT product_name FROM public.oe_compatibility_commercial_software WHERE - platform_type_and_server_model ILIKE '%Intel%' AND platform_type_and_server_model - ILIKE '%Kunpeng%'; - - question: 每个openEuler版本有多少种类型的商业软件支持 - sql: SELECT openeuler_version, COUNT(DISTINCT type) AS type_count FROM public.oe_compatibility_commercial_software GROUP - BY openeuler_version; - - question: openEuler支持的哪些商业ISV在江苏鲲鹏&欧拉生态创新中心测试通过 - sql: SELECT product_name, product_version, openeuler_version FROM public.oe_compatibility_commercial_software - WHERE test_organization ILIKE '%江苏鲲鹏&欧拉生态创新中心%'; - - question: 哪个版本的openEuler支持的商业ISV最多 - sql: SELECT openeuler_version, COUNT(*) AS software_count FROM public.oe_compatibility_commercial_software GROUP - BY openeuler_version ORDER BY software_count DESC LIMIT 1; - - question: openEuler支持测试商业ISV的机构有哪些? - sql: SELECT DISTINCT test_organization FROM public.oe_compatibility_commercial_software; - - question: openEuler支持的商业ISV有哪些类别 - sql: SELECT DISTINCT "type" FROM public.oe_compatibility_commercial_software; - - question: openEuler有哪些虚拟化类别的商业ISV - sql: SELECT product_name FROM public.oe_compatibility_commercial_software WHERE - "type" ILIKE '%虚拟化%'; - - question: openEuler支持哪些ISV商业ISV呢,请列出10个 - sql: SELECT product_name FROM public.oe_compatibility_commercial_software; - - question: openEuler支持的适配Kunpeng 920的互联网商业ISV有哪些? - sql: SELECT product_name, openeuler_version,platform_type_and_server_model FROM - public.oe_compatibility_commercial_software WHERE platform_type_and_server_model - ILIKE '%Kunpeng 920%' AND "type" ILIKE '%互联网%' limit 30; - - question: openEuler-22.03版本支持哪些商业ISV? - sql: SELECT product_name, openeuler_version FROM oe_compatibility_commercial_software - WHERE openeuler_version ILIKE '%22.03%'; - - question: openEuler支持的数字政府类型的商业ISV有哪些 - sql: SELECT product_name, product_version FROM oe_compatibility_commercial_software - WHERE type ILIKE '%数字政府%'; - - question: 有哪些商业ISV支持超过一种服务器平台 - sql: SELECT product_name FROM public.oe_compatibility_commercial_software WHERE - platform_type_and_server_model ILIKE '%Intel%' AND platform_type_and_server_model - ILIKE '%Kunpeng%'; - - question: 每个openEuler版本有多少种类型的商业ISV支持 - sql: SELECT openeuler_version, COUNT(DISTINCT type) AS type_count FROM public.oe_compatibility_commercial_software GROUP - BY openeuler_version; - - question: 卓智校园网接入门户系统基于openeuelr的什么版本? - sql: select * from oe_compatibility_commercial_software where product_name ilike - '%卓智校园网接入门户系统%'; - table_name: oe_compatibility_commercial_software -- keyword_list: - - softwareName - sql_example_list: - - question: openEuler-20.03-LTS-SP1支持哪些开源软件? - sql: SELECT DISTINCT openeuler_version,"softwareName" FROM public.oe_compatibility_open_source_software WHERE - openeuler_version ILIKE '%20.03-LTS-SP1%'; - - question: openEuler的aarch64下支持开源软件 - sql: SELECT "softwareName" FROM public.oe_compatibility_open_source_software WHERE - "arch" ILIKE '%aarch64%'; - - question: openEuler支持开源软件使用了GPLv2+许可证 - sql: SELECT "softwareName" FROM public.oe_compatibility_open_source_software WHERE - "license" ILIKE '%GPLv2+%'; - - question: tcplay支持的架构是什么 - sql: SELECT "arch" FROM public.oe_compatibility_open_source_software WHERE "softwareName" - ILIKE '%tcplay%'; - - question: openEuler支持哪些开源软件,请列出10个 - sql: SELECT "softwareName" FROM public.oe_compatibility_open_source_software LIMIT - 10; - - question: openEuler支持开源软件支持哪些结构 - sql: SELECT "arch" FROM public.oe_compatibility_open_source_software group by - "arch"; - - question: openEuler支持多少个开源软件? - sql: select tmp_table.openeuler_version,count(*) as open_source_software_cnt from - (select DISTINCT openeuler_version,"softwareName" from oe_compatibility_open_source_software) - as tmp_table group by tmp_table.openeuler_version; - - question: openEuler-20.03-LTS-SP1支持哪些开源ISV? - sql: SELECT DISTINCT openeuler_version,"softwareName" FROM public.oe_compatibility_open_source_software WHERE - openeuler_version ILIKE '%20.03-LTS-SP1%'; - - question: openEuler的aarch64下支持开源ISV - sql: SELECT "softwareName" FROM public.oe_compatibility_open_source_software WHERE - "arch" ILIKE '%aarch64%'; - - question: openEuler支持开源ISV使用了GPLv2+许可证 - sql: SELECT "softwareName" FROM public.oe_compatibility_open_source_software WHERE - "license" ILIKE '%GPLv2+%'; - - question: tcplay支持的架构是什么 - sql: SELECT "arch" FROM public.oe_compatibility_open_source_software WHERE "softwareName" - ILIKE '%tcplay%'; - - question: openEuler支持哪些开源ISV,请列出10个 - sql: SELECT "softwareName" FROM public.oe_compatibility_open_source_software LIMIT - 10; - - question: openEuler支持开源ISV支持哪些结构 - sql: SELECT "arch" FROM public.oe_compatibility_open_source_software group by - "arch"; - - question: openEuler-20.03-LTS-SP1支持多少个开源ISV? - sql: select tmp_table.openeuler_version,count(*) as open_source_software_cnt from - (select DISTINCT openeuler_version,"softwareName" from oe_compatibility_open_source_software - where openeuler_version ilike 'openEuler-20.03-LTS-SP1') as tmp_table group - by tmp_table.openeuler_version; - - question: openEuler支持多少个开源ISV? - sql: select tmp_table.openeuler_version,count(*) as open_source_software_cnt from - (select DISTINCT openeuler_version,"softwareName" from oe_compatibility_open_source_software) - as tmp_table group by tmp_table.openeuler_version; - table_name: oe_compatibility_open_source_software -- keyword_list: [] - sql_example_list: - - question: 在openEuler技术委员会担任委员的人有哪些 - sql: SELECT name FROM oe_community_organization_structure WHERE committee_name - ILIKE '%技术委员会%' AND role = '委员'; - - question: openEuler的委员会中哪些人是教授 - sql: SELECT name FROM oe_community_organization_structure WHERE personal_message - ILIKE '%教授%'; - - question: openEuler各委员会中担任主席有多少个? - sql: SELECT committee_name, COUNT(*) FROM oe_community_organization_structure - WHERE role = '主席' GROUP BY committee_name; - - question: openEuler 用户委员会中有多少位成员 - sql: SELECT count(*) FROM oe_community_organization_structure WHERE committee_name - ILIKE '%用户委员会%'; - - question: openEuler 技术委员会有多少位成员 - sql: SELECT count(*) FROM oe_community_organization_structure WHERE committee_name - ILIKE '%技术委员会%'; - - question: openEuler委员会的委员常务委员会委员有哪些人 - sql: SELECT name FROM oe_community_organization_structure WHERE committee_name - ILIKE '%委员会%' AND role ILIKE '%常务委员会委员%'; - - question: openEuler委员会有哪些人属于华为技术有限公司? - sql: SELECT DISTINCT name FROM oe_community_organization_structure WHERE personal_message - ILIKE '%华为技术有限公司%'; - - question: openEuler每个委员会有多少人? - sql: SELECT committee_name, COUNT(*) FROM oe_community_organization_structure - GROUP BY committee_name; - - question: openEuler的执行总监是谁 - sql: SELECT name FROM oe_community_organization_structure WHERE role = '执行总监'; - - question: openEuler委员会有哪些组织? - sql: SELECT DISTINCT committee_name from oe_community_organization_structure; - - question: openEuler技术委员会的主席是谁? - sql: SELECT committee_name,name FROM oe_community_organization_structure WHERE - role = '主席' and committee_name ilike '%技术委员会%'; - - question: openEuler品牌委员会的主席是谁? - sql: SELECT committee_name,name FROM oe_community_organization_structure WHERE - role = '主席' and committee_name ilike '%品牌委员会%'; - - question: openEuler委员会的主席是谁? - sql: SELECT committee_name,name FROM oe_community_organization_structure WHERE - role = '主席' and committee_name ilike '%openEuler 委员会%'; - - question: openEuler委员会的执行总监是谁? - sql: SELECT committee_name,name FROM oe_community_organization_structure WHERE - role = '执行总监' and committee_name ilike '%openEuler 委员会%'; - - question: openEuler委员会的执行秘书是谁? - sql: SELECT committee_name,name FROM oe_community_organization_structure WHERE - role = '执行秘书' and committee_name ilike '%openEuler 委员会%'; - table_name: oe_community_organization_structure -- keyword_list: - - cve_id - sql_example_list: - - question: 安全公告openEuler-SA-2024-2059的详细信息在哪里? - sql: select DISTINCT security_notice_no,details from oe_compatibility_security_notice - where security_notice_no='openEuler-SA-2024-2059'; - table_name: oe_compatibility_security_notice -- keyword_list: - - hardware_model - sql_example_list: - - question: openEuler-22.03 LTS支持哪些整机? - sql: SELECT main_board_model, cpu, ram FROM oe_compatibility_overall_unit WHERE - openeuler_version ILIKE '%openEuler-22.03-LTS%'; - - question: 查询所有支持`openEuler-22.09`,并且提供详细产品介绍链接的整机型号和它们的内存配置? - sql: SELECT hardware_model, ram FROM oe_compatibility_overall_unit WHERE openeuler_version - ILIKE '%openEuler-22.09%' AND product_information IS NOT NULL; - - question: 显示所有由新华三生产,支持`openEuler-20.03 LTS SP2`版本的整机,列出它们的型号和架构类型 - sql: SELECT hardware_model, architecture FROM oe_compatibility_overall_unit WHERE - hardware_factory = '新华三' AND openeuler_version ILIKE '%openEuler-20.03 LTS SP2%'; - - question: openEuler支持多少种整机? - sql: SELECT count(DISTINCT main_board_model) FROM oe_compatibility_overall_unit; - - question: openEuler每个版本支持多少种整机? - sql: select openeuler_version,count(*) from (SELECT DISTINCT openeuler_version,main_board_model - FROM oe_compatibility_overall_unit) as tmp_table group by openeuler_version; - - question: openEuler每个版本多少种架构的整机? - sql: select openeuler_version,architecture,count(*) from (SELECT DISTINCT openeuler_version,architecture,main_board_model - FROM oe_compatibility_overall_unit) as tmp_table group by openeuler_version,architecture; - table_name: oe_compatibility_overall_unit -- keyword_list: - - osv_name - - os_version - sql_example_list: - - question: 深圳开鸿数字产业发展有限公司基于openEuler的什么版本发行了什么商用版本? - sql: select os_version,openeuler_version,os_download_link from oe_compatibility_osv - where osv_name='深圳开鸿数字产业发展有限公司'; - - question: 统计各个openEuler版本下的商用操作系统数量 - sql: SELECT openeuler_version, COUNT(*) AS os_count FROM public.oe_compatibility_osv GROUP - BY openeuler_version; - - question: 哪个OS厂商基于openEuler发布的商用操作系统最多 - sql: SELECT osv_name, COUNT(*) AS os_count FROM public.oe_compatibility_osv GROUP - BY osv_name ORDER BY os_count DESC LIMIT 1; - - question: 不同OS厂商基于openEuler发布不同架构的商用操作系统数量是多少? - sql: SELECT arch, osv_name, COUNT(*) AS os_count FROM public.oe_compatibility_osv GROUP - BY arch, osv_name ORDER BY arch, os_count DESC; - - question: 深圳开鸿数字产业发展有限公司的商用操作系统是基于什么openEuler版本发布的 - sql: SELECT os_version, openeuler_version FROM public.oe_compatibility_osv WHERE - osv_name ILIKE '%深圳开鸿数字产业发展有限公司%'; - - question: openEuler有哪些OSV伙伴 - sql: SELECT DISTINCT osv_name FROM public.oe_compatibility_osv; - - question: 有哪些OSV友商的操作系统是x86_64架构的 - sql: SELECT osv_name, os_version FROM public.oe_compatibility_osv WHERE arch ILIKE - '%x86_64%'; - - question: 哪些OSV友商操作系统是嵌入式类型的 - sql: SELECT osv_name, os_version,openeuler_version FROM public.oe_compatibility_osv - WHERE type ILIKE '%嵌入式%'; - - question: 成都鼎桥的商用操作系统版本是基于openEuler 22.03的版本吗 - sql: SELECT osv_name, os_version,"openeuler_version" FROM public.oe_compatibility_osv WHERE - osv_name ILIKE '%成都鼎桥通信技术有限公司%' AND openeuler_version ILIKE '%22.03%'; - - question: 最近发布的基于openEuler 23.09的商用系统有哪些 - sql: SELECT osv_name, os_version,"openeuler_version" FROM public.oe_compatibility_osv WHERE - openeuler_version ILIKE '%23.09%' ORDER BY date DESC limit 10; - - question: 帮我查下成都智明达发布的所有嵌入式系统 - sql: SELECT osv_name, os_version,"openeuler_version" FROM public.oe_compatibility_osv WHERE - osv_name ILIKE '%成都智明达电子股份有限公司%' AND type = '嵌入式'; - - question: 基于openEuler发布的商用操作系统有哪些类型 - sql: SELECT DISTINCT type FROM public.oe_compatibility_osv; - - question: 江苏润和系统版本HopeOS-V22-x86_64-dvd.iso基于openEuler哪个版本 - sql: SELECT DISTINCT osv_name, os_version,"openeuler_version" FROM public.oe_compatibility_osv - WHERE "osv_name" ILIKE '%江苏润和%' AND os_version ILIKE '%HopeOS-V22-x86_64-dvd.iso%' - ; - - question: 浙江大华DH-IVSS-OSV-22.03-LTS-SP2-x86_64-dvd.iso系统版本基于openEuler哪个版本 - sql: SELECT DISTINCT osv_name, os_version,"openeuler_version" FROM public.oe_compatibility_osv - WHERE "osv_name" ILIKE '%浙江大华%' AND os_version ILIKE '%DH-IVSS-OSV-22.03-LTS-SP2-x86_64-dvd.iso%' - ; - table_name: oe_compatibility_osv -- keyword_list: - - board_model - - chip_model - - chip_vendor - - product - sql_example_list: - - question: openEuler 22.03支持哪些网络接口卡型号? - sql: SELECT board_model, chip_model,type FROM oe_compatibility_card WHERE type - ILIKE '%NIC%' AND openeuler_version ILIKE '%22.03%' limit 30; - - question: 请列出openEuler支持的所有Renesas公司的密码卡 - sql: SELECT * FROM oe_compatibility_card WHERE chip_vendor ILIKE '%Renesas%' AND - type ILIKE '%密码卡%' limit 30; - - question: openEuler各种架构支持的板卡数量是多少 - sql: SELECT architecture, COUNT(*) AS total_cards FROM oe_compatibility_card GROUP - BY architecture limit 30; - - question: 每个openEuler版本支持了多少种板卡 - sql: SELECT openeuler_version, COUNT(*) AS number_of_cards FROM oe_compatibility_card - GROUP BY openeuler_version limit 30; - - question: openEuler总共支持多少种不同的板卡型号 - sql: SELECT COUNT(DISTINCT board_model) AS board_model_cnt FROM oe_compatibility_card - limit 30; - - question: openEuler支持的GPU型号有哪些? - sql: SELECT chip_model, openeuler_version,type FROM public.oe_compatibility_card WHERE - type ILIKE '%GPU%' ORDER BY driver_date DESC limit 30; - - question: openEuler 20.03 LTS-SP4版本支持哪些类型的设备 - sql: SELECT DISTINCT openeuler_version,type FROM public.oe_compatibility_card WHERE - openeuler_version ILIKE '%20.03-LTS-SP4%' limit 30; - - question: openEuler支持的板卡驱动在2023年后发布 - sql: SELECT board_model, driver_date, driver_name FROM oe_compatibility_card WHERE - driver_date >= '2023-01-01' limit 30; - - question: 给些支持openEuler的aarch64架构下支持的的板卡的驱动下载链接 - sql: SELECT openeuler_version,board_model, download_link FROM oe_compatibility_card - WHERE architecture ILIKE '%aarch64%' AND download_link IS NOT NULL limit 30; - - question: openEuler-22.03-LTS-SP1支持的存储卡有哪些? - sql: SELECT openeuler_version,board_model, chip_model,type FROM oe_compatibility_card - WHERE type ILIKE '%SSD%' AND openeuler_version ILIKE '%openEuler-22.03-LTS-SP1%' - limit 30; - table_name: oe_compatibility_card -- keyword_list: - - cve_id - sql_example_list: - - question: CVE-2024-41053的详细信息在哪里可以看到? - sql: select DISTINCT cve_id,details from oe_compatibility_cve_database where cve_id='CVE-2024-41053'; - - question: CVE-2024-41053是个怎么样的漏洞? - sql: select DISTINCT cve_id,summary from oe_compatibility_cve_database where cve_id='CVE-2024-41053'; - - question: CVE-2024-41053影响了哪些包? - sql: select DISTINCT cve_id,package_name from oe_compatibility_cve_database where - cve_id='CVE-2024-41053'; - - question: CVE-2024-41053的cvss评分是多少? - sql: select DISTINCT cve_id,cvsss_core_nvd from oe_compatibility_cve_database - where cve_id='CVE-2024-41053'; - - question: CVE-2024-41053现在修复了么? - sql: select DISTINCT cve_id, status from oe_compatibility_cve_database where cve_id='CVE-2024-41053'; - - question: CVE-2024-41053影响了openEuler哪些版本? - sql: select DISTINCT cve_id, affected_product from oe_compatibility_cve_database - where cve_id='CVE-2024-41053'; - - question: CVE-2024-41053发布时间是? - sql: select DISTINCT cve_id, announcement_time from oe_compatibility_cve_database - where cve_id='CVE-2024-41053'; - - question: openEuler-20.03-LTS-SP4在2024年8月发布哪些漏洞? - sql: select DISTINCT affected_product,cve_id,announcement_time from oe_compatibility_cve_database - where cve_id='CVE-2024-41053' and affected_product='openEuler-20.03-LTS-SP4' - and EXTRACT(MONTH FROM announcement_time)=8; - - question: openEuler-20.03-LTS-SP4在2024年发布哪些漏洞? - sql: select DISTINCT affected_product,cve_id,announcement_time from oe_compatibility_cve_database - where cve_id='CVE-2024-41053' and affected_product='openEuler-20.03-LTS-SP4' - and EXTRACT(YEAR FROM announcement_time)=2024; - - question: CVE-2024-41053的威胁程度是怎样的? - sql: select DISTINCT affected_product,cve_id,cvsss_core_nvd,attack_complexity_nvd,attack_complexity_oe,attack_vector_nvd,attack_vector_oe - from oe_compatibility_cve_database where cve_id='CVE-2024-41053'; - table_name: oe_compatibility_cve_database -- keyword_list: - - name - sql_example_list: - - question: openEuler-20.03-LTS的非官方软件包有多少个? - sql: SELECT COUNT(*) FROM oe_compatibility_oepkgs WHERE repotype = 'openeuler_compatible' - AND openeuler_version ILIKE '%openEuler-20.03-LTS%'; - - question: openEuler支持的nginx版本有哪些? - sql: SELECT DISTINCT name,version, srcrpmpackurl FROM oe_compatibility_oepkgs - WHERE name ILIKE 'nginx'; - - question: openEuler的支持哪些架构的glibc? - sql: SELECT DISTINCT name,arch FROM oe_compatibility_oepkgs WHERE name ILIKE 'glibc'; - - question: openEuler-22.03-LTS带GPLv2许可的软件包有哪些 - sql: SELECT name,rpmlicense FROM oe_compatibility_oepkgs WHERE openeuler_version - ILIKE '%openEuler-22.03-LTS%' AND rpmlicense = 'GPLv2'; - - question: openEuler支持的python3这个软件包是用来干什么的? - sql: SELECT DISTINCT name,summary FROM oe_compatibility_oepkgs WHERE name ILIKE - 'python3'; - - question: 哪些版本的openEuler的zlib中有官方源的? - sql: SELECT DISTINCT openeuler_version,name,version FROM oe_compatibility_oepkgs - WHERE name ILIKE '%zlib%' AND repotype = 'openeuler_official'; - - question: 请以表格的形式提供openEuler-20.09的gcc软件包的下载链接 - sql: SELECT DISTINCT openeuler_version,name, rpmpackurl FROM oe_compatibility_oepkgs - WHERE openeuler_version ILIKE '%openEuler-20.09%' AND name ilike 'gcc'; - - question: 请以表格的形式提供openEuler-20.09的glibc软件包的下载链接 - sql: SELECT DISTINCT openeuler_version,name, rpmpackurl FROM oe_compatibility_oepkgs - WHERE openeuler_version ILIKE '%openEuler-20.09%' AND name ilike 'glibc'; - - question: 请以表格的形式提供openEuler-20.09的redis软件包的下载链接 - sql: SELECT DISTINCT openeuler_version,name, rpmpackurl FROM oe_compatibility_oepkgs - WHERE openeuler_version ILIKE '%openEuler-20.09%' AND name ilike 'redis'; - - question: openEuler-20.09的支持多少个软件包? - sql: select tmp_table.openeuler_version,count(*) as oepkgs_cnt from (select DISTINCT - openeuler_version,name from oe_compatibility_oepkgs WHERE openeuler_version - ILIKE '%openEuler-20.09') as tmp_table group by tmp_table.openeuler_version; - - question: openEuler支持多少个软件包? - sql: select tmp_table.openeuler_version,count(*) as oepkgs_cnt from (select DISTINCT - openeuler_version,name from oe_compatibility_oepkgs) as tmp_table group by tmp_table.openeuler_version; - - question: 请以表格的形式提供openEuler-20.09的gcc的版本 - sql: SELECT DISTINCT openeuler_version,name, version FROM oe_compatibility_oepkgs - WHERE openeuler_version ILIKE '%openEuler-20.09%' AND name ilike 'gcc'; - - question: 请以表格的形式提供openEuler-20.09的glibc的版本 - sql: SELECT DISTINCT openeuler_version,name, version FROM oe_compatibility_oepkgs - WHERE openeuler_version ILIKE '%openEuler-20.09%' AND name ilike 'glibc'; - - question: 请以表格的形式提供openEuler-20.09的redis的版本 - sql: SELECT DISTINCT openeuler_version,name, version FROM oe_compatibility_oepkgs - WHERE openeuler_version ILIKE '%openEuler-20.09%' AND name ilike 'redis'; - - question: openEuler-20.09支持哪些gcc的版本 - sql: SELECT DISTINCT openeuler_version,name, version FROM oe_compatibility_oepkgs - WHERE openeuler_version ILIKE '%openEuler-20.09%' AND name ilike 'gcc'; - - question: openEuler-20.09支持哪些glibc的版本 - sql: SELECT DISTINCT openeuler_version,name, version FROM oe_compatibility_oepkgs - WHERE openeuler_version ILIKE '%openEuler-20.09%' AND name ilike 'glibc'; - - question: openEuler-20.09支持哪些redis的版本 - sql: SELECT DISTINCT openeuler_version,name, version FROM oe_compatibility_oepkgs - WHERE openeuler_version ILIKE '%openEuler-20.09%' AND name ilike 'redis'; - - question: '' - sql: openEuler-20.09支持的gcc版本有哪些 - - question: SELECT DISTINCT openeuler_version,name, version FROM oe_compatibility_oepkgs - WHERE openeuler_version ILIKE '%openEuler-20.09%' AND name ilike 'gcc'; - sql: openEuler-20.09支持的glibc版本有哪些 - - question: SELECT DISTINCT openeuler_version,name, version FROM oe_compatibility_oepkgs - WHERE openeuler_version ILIKE '%openEuler-20.09%' AND name ilike 'glibc'; - sql: openEuler-20.09支持的redis版本有哪些 - - question: SELECT DISTINCT openeuler_version,name, version FROM oe_compatibility_oepkgs - WHERE openeuler_version ILIKE '%openEuler-20.09%' AND name ilike 'redis'; - sql: '' - - question: openEuler-20.09支持gcc 9.3.1么? - sql: SELECT DISTINCT openeuler_version,name, version FROM oe_compatibility_oepkgs - WHERE openeuler_version ILIKE '%openEuler-20.09%' AND name ilike 'gcc' AND version - ilike '9.3.1'; - table_name: oe_compatibility_oepkgs -- keyword_list: [] - sql_example_list: - - question: openEuler社区创新版本有哪些 - sql: SELECT DISTINCT openeuler_version,version_type FROM oe_community_openeuler_version - where version_type ILIKE '%社区创新版本%'; - - question: openEuler有哪些版本 - sql: SELECT openeuler_version FROM public.oe_community_openeuler_version; - - question: 查询openeuler各版本对应的内核版本 - sql: SELECT DISTINCT openeuler_version, kernel_version FROM public.oe_community_openeuler_version; - - question: openEuler有多少个长期支持版本(LTS) - sql: SELECT COUNT(*) as publish_version_count FROM public.oe_community_openeuler_version - WHERE version_type ILIKE '%长期支持版本%'; - - question: 查询openEuler-20.03的所有SP版本 - sql: SELECT openeuler_version FROM public.oe_community_openeuler_version WHERE - openeuler_version ILIKE '%openEuler-20.03-LTS-SP%'; - - question: openEuler最新的社区创新版本内核是啥 - sql: SELECT kernel_version FROM public.oe_community_openeuler_version WHERE version_type - ILIKE '%社区创新版本%' ORDER BY publish_time DESC LIMIT 1; - - question: 最早的openEuler版本是什么时候发布的 - sql: SELECT openeuler_version,publish_time FROM public.oe_community_openeuler_version - ORDER BY publish_time ASC LIMIT 1; - - question: 最新的openEuler版本是哪个 - sql: SELECT openeuler_version,publish_time FROM public.oe_community_openeuler_version - ORDER BY publish_time LIMIT 1; - - question: openEuler有哪些版本使用了Linux 5.10.0内核 - sql: SELECT openeuler_version,kernel_version FROM public.oe_community_openeuler_version - WHERE kernel_version ILIKE '5.10.0%'; - - question: 哪个openEuler版本是最近更新的长期支持版本 - sql: SELECT openeuler_version,publish_time FROM public.oe_community_openeuler_version - WHERE version_type ILIKE '%长期支持版本%' ORDER BY publish_time DESC LIMIT 1; - - question: openEuler每个年份发布了多少个版本 - sql: SELECT EXTRACT(YEAR FROM publish_time) AS year, COUNT(*) AS publish_version_count - FROM oe_community_openeuler_version group by EXTRACT(YEAR FROM publish_time); - - question: openEuler-20.03-LTS版本的linux内核是多少? - sql: SELECT openeuler_version,kernel_version FROM public.oe_community_openeuler_version - WHERE openeuler_version = 'openEuler-20.03-LTS'; - - question: openEuler-20.03-LTS版本的linux内核是多少? - sql: SELECT openeuler_version,kernel_version FROM public.oe_community_openeuler_version - WHERE openeuler_version = 'openEuler-24.09'; - table_name: oe_community_openeuler_version -- keyword_list: - - product - sql_example_list: - - question: 哪些openEuler版本支持使用至强6338N的解决方案 - sql: SELECT DISTINCT openeuler_version FROM oe_compatibility_solution WHERE cpu - ILIKE '%6338N%'; - - question: 使用intel XXV710作为网卡的解决方案对应的是哪些服务器型号 - sql: SELECT DISTINCT server_model FROM oe_compatibility_solution WHERE network_card - ILIKE '%intel XXV710%'; - - question: 哪些解决方案的硬盘驱动为SATA-SSD Skhynix - sql: SELECT DISTINCT product FROM oe_compatibility_solution WHERE hard_disk_drive - ILIKE 'SATA-SSD Skhynix'; - - question: 查询所有使用6230R系列CPU且支持磁盘阵列支持PERC H740P Adapter的解决方案的产品名 - sql: SELECT DISTINCT product FROM oe_compatibility_solution WHERE cpu ILIKE '%6230R%' - AND raid ILIKE '%PERC H740P Adapter%'; - - question: R4900-G3有哪些驱动版本 - sql: SELECT DISTINCT driver FROM oe_compatibility_solution WHERE product ILIKE - '%R4900-G3%'; - - question: DL380 Gen10支持哪些架构 - sql: SELECT DISTINCT architecture FROM oe_compatibility_solution WHERE server_model - ILIKE '%DL380 Gen10%'; - - question: 列出所有使用Intel(R) Xeon(R)系列cpu且磁盘冗余阵列为LSI SAS3408的解决方案的服务器厂家 - sql: SELECT DISTINCT server_vendor FROM oe_compatibility_solution WHERE cpu ILIKE - '%Intel(R) Xeon(R)%' AND raid ILIKE '%LSI SAS3408%'; - - question: 哪些解决方案提供了针对SEAGATE ST4000NM0025硬盘驱动的支持 - sql: SELECT * FROM oe_compatibility_solution WHERE hard_disk_drive ILIKE '%SEAGATE - ST4000NM0025%'; - - question: 查询所有使用4316系列CPU的解决方案 - sql: SELECT * FROM oe_compatibility_solution WHERE cpu ILIKE '%4316%'; - - question: 支持openEuler-22.03-LTS-SP2版本的解决方案中,哪款服务器型号出现次数最多 - sql: SELECT server_model, COUNT(*) as count FROM oe_compatibility_solution WHERE - openeuler_version ILIKE '%openEuler-22.03-LTS-SP2%' GROUP BY server_model ORDER - BY count DESC LIMIT 1; - - question: HPE提供的解决方案的介绍链接是什么 - sql: SELECT DISTINCT introduce_link FROM oe_compatibility_solution WHERE server_vendor - ILIKE '%HPE%'; - - question: 列出所有使用intel XXV710网络卡接口的解决方案的CPU型号 - sql: SELECT DISTINCT cpu FROM oe_compatibility_solution WHERE network_card ILIKE - '%intel XXV710%'; - - question: 服务器型号为2288H V5的解决方案支持哪些不同的openEuler版本 - sql: SELECT DISTINCT openeuler_version FROM oe_compatibility_solution WHERE server_model - ILIKE '%NF5180M5%'; - - question: 使用6230R系列CPU的解决方案内存最小是多少GB - sql: SELECT MIN(ram) FROM oe_compatibility_solution WHERE cpu ILIKE '%6230R%'; - - question: 哪些解决方案的磁盘驱动为MegaRAID 9560-8i - sql: SELECT * FROM oe_compatibility_solution WHERE hard_disk_drive LIKE '%MegaRAID - 9560-8i%'; - - question: 列出所有使用6330N系列CPU且服务器厂家为Dell的解决方案的产品名 - sql: SELECT DISTINCT product FROM oe_compatibility_solution WHERE cpu ILIKE '%6330N%' - AND server_vendor ILIKE '%Dell%'; - - question: R4900-G3的驱动版本是多少 - sql: SELECT driver FROM oe_compatibility_solution WHERE product ILIKE '%R4900-G3%'; - - question: 哪些解决方案的服务器型号为2288H V7 - sql: SELECT * FROM oe_compatibility_solution WHERE server_model ILIKE '%2288H - V7%'; - - question: 使用Intel i350网卡且硬盘驱动为ST4000NM0025的解决方案的服务器厂家有哪些 - sql: SELECT DISTINCT server_vendor FROM oe_compatibility_solution WHERE network_card - ILIKE '%Intel i350%' AND hard_disk_drive ILIKE '%ST4000NM0025%'; - - question: 有多少种不同的驱动版本被用于支持openEuler-22.03-LTS-SP2版本的解决方案 - sql: SELECT COUNT(DISTINCT driver) FROM oe_compatibility_solution WHERE openeuler_version - ILIKE '%openEuler-22.03-LTS-SP2%'; - table_name: oe_compatibility_solution diff --git a/chat2db/config/config.py b/chat2db/config/config.py index 2c2c1a5..c1ff818 100644 --- a/chat2db/config/config.py +++ b/chat2db/config/config.py @@ -46,7 +46,7 @@ class Config: if os.getenv("CONFIG"): config_file = os.getenv("CONFIG") else: - config_file = "./chat2db/common/.env" + config_file = "./.env" self.config = ConfigModel(**(dotenv_values(config_file))) if os.getenv("PROD"): os.remove(config_file) diff --git a/chat2db/database/postgres.py b/chat2db/database/postgres.py deleted file mode 100644 index 61ac542..0000000 --- a/chat2db/database/postgres.py +++ /dev/null @@ -1,134 +0,0 @@ -import logging -from uuid import uuid4 -import urllib.parse -from pgvector.sqlalchemy import Vector -from sqlalchemy.orm import sessionmaker, declarative_base -from sqlalchemy import TIMESTAMP, UUID, Column, String, Boolean, ForeignKey, create_engine, func, Index -import sys -from chat2db.config.config import config - -logging.basicConfig(stream=sys.stdout, level=logging.INFO, - format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') -Base = declarative_base() - - -class DatabaseInfo(Base): - __tablename__ = 'database_info_table' - id = Column(UUID(), default=uuid4, primary_key=True) - encrypted_database_url = Column(String()) - encrypted_config = Column(String()) - hashmac = Column(String()) - created_at = Column(TIMESTAMP(timezone=True), nullable=True, server_default=func.current_timestamp()) - - -class TableInfo(Base): - __tablename__ = 'table_info_table' - id = Column(UUID(), default=uuid4, primary_key=True) - database_id = Column(UUID(), ForeignKey('database_info_table.id', ondelete='CASCADE')) - table_name = Column(String()) - table_note = Column(String()) - table_note_vector = Column(Vector(1024)) - enable = Column(Boolean, default=False) - created_at = Column(TIMESTAMP(timezone=True), nullable=True, server_default=func.current_timestamp()) - updated_at = Column( - TIMESTAMP(timezone=True), - server_default=func.current_timestamp(), - onupdate=func.current_timestamp()) - __table_args__ = ( - Index( - 'table_note_vector_index', - table_note_vector, - postgresql_using='hnsw', - postgresql_with={'m': 16, 'ef_construction': 200}, - postgresql_ops={'table_note_vector': 'vector_cosine_ops'} - ), - ) - - -class ColumnInfo(Base): - __tablename__ = 'column_info_table' - id = Column(UUID(), default=uuid4, primary_key=True) - table_id = Column(UUID(), ForeignKey('table_info_table.id', ondelete='CASCADE')) - column_name = Column(String) - column_type = Column(String) - column_note = Column(String) - enable = Column(Boolean, default=False) - - -class SqlExample(Base): - __tablename__ = 'sql_example_table' - id = Column(UUID(), default=uuid4, primary_key=True) - table_id = Column(UUID(), ForeignKey('table_info_table.id', ondelete='CASCADE')) - question = Column(String()) - sql = Column(String()) - question_vector = Column(Vector(1024)) - created_at = Column(TIMESTAMP(timezone=True), nullable=True, server_default=func.current_timestamp()) - updated_at = Column( - TIMESTAMP(timezone=True), - server_default=func.current_timestamp(), - onupdate=func.current_timestamp()) - __table_args__ = ( - Index( - 'question_vector_index', - question_vector, - postgresql_using='hnsw', - postgresql_with={'m': 16, 'ef_construction': 200}, - postgresql_ops={'question_vector': 'vector_cosine_ops'} - ), - ) - - -class PostgresDB: - _engine = None - - @classmethod - def get_mysql_engine(cls): - if not cls._engine: - password = config['DATABASE_PASSWORD'] - encoded_password = urllib.parse.quote_plus(password) - - if config['DATABASE_TYPE'].lower() == 'opengauss': - database_url = f"opengauss+psycopg2://{config['DATABASE_USER']}:{encoded_password}@{config['DATABASE_HOST']}:{config['DATABASE_PORT']}/{config['DATABASE_DB']}" - else: - database_url = f"postgresql+psycopg2://{config['DATABASE_USER']}:{encoded_password}@{config['DATABASE_HOST']}:{config['DATABASE_PORT']}/{config['DATABASE_DB']}" - cls.engine = create_engine( - database_url, - hide_parameters=True, - echo=False, - pool_recycle=300, - pool_pre_ping=True) - if config['DATABASE_TYPE'].lower() == 'opengauss': - from sqlalchemy import event - from opengauss_sqlalchemy.register_async import register_vector - - @event.listens_for(cls.engine.sync_engine, "connect") - def connect(dbapi_connection, connection_record): - dbapi_connection.run_async(register_vector) - Base.metadata.create_all(cls.engine) - return cls._engine - - @classmethod - def get_session(cls): - connection = None - try: - connection = sessionmaker(bind=cls.engine)() - except Exception as e: - logging.error(f"Error creating a postgres sessiondue to error: {e}") - return None - return cls._ConnectionManager(connection) - - class _ConnectionManager: - def __init__(self, connection): - self.connection = connection - - def __enter__(self): - return self.connection - - def __exit__(self, exc_type, exc_val, exc_tb): - try: - self.connection.close() - except Exception as e: - logging.error(f"Postgres connection close failed due to error: {e}") - - -PostgresDB.get_mysql_engine() diff --git "a/chat2db/docs/chat2db\345\267\245\345\205\267\350\257\246\347\273\206\350\257\264\346\230\216.md" "b/chat2db/docs/chat2db\345\267\245\345\205\267\350\257\246\347\273\206\350\257\264\346\230\216.md" deleted file mode 100644 index e4d4758..0000000 --- "a/chat2db/docs/chat2db\345\267\245\345\205\267\350\257\246\347\273\206\350\257\264\346\230\216.md" +++ /dev/null @@ -1,391 +0,0 @@ -# 1. 背景说明 -工具聚焦于利用大模型能力智能生成SQL语句,查询数据库数据,为最终的模型拟合提供能力增强。工具可增强RAG多路召回能力,增强RAG对本地用户的数据适应性,同时对于服务器、硬件型号等关键字场景,在不训练模型的情况下,RAG也具备一定检索能力 - -# 2. 工具设计框架 -## 2.1 目录结构 -``` -chat2db -|-- app # 应用主入口及相关功能模块 -|-- |-- app.py # 服务请求入口,处理用户请求并返回结果 -|-- |-- __init__.py # 初始化 -|-- | -|-- |-- base # 基础功能模块 -|-- |-- |-- ac_automation.py # AC 自动机 -|-- |-- |-- mysql.py # MySQL 数据库操作封装 -|-- |-- |-- postgres.py # PostgreSQL 数据库操作封装 -|-- |-- |-- vectorize.py # 数据向量化处理模块 -|-- | -|-- |-- router # 路由模块,负责分发请求到具体服务 -|-- |-- |-- database.py # 数据库相关路由逻辑 -|-- |-- |-- sql_example.py # SQL 示例管理路由 -|-- |-- |-- sql_generate.py # SQL 生成相关路由 -|-- |-- |-- table.py # 表信息管理路由 -|-- | -|-- |-- service # 核心服务模块 -|-- |-- |-- diff_database_service.py # 不同数据库类型的服务适配 -|-- |-- |-- keyword_service.py # 关键字检索服务 -|-- |-- |-- sql_generate_service.py # SQL 生成服务逻辑 -| -|-- common # 公共资源及配置 -|-- |-- .env # 环境变量配置文件 -|-- |-- init_sql_example.py # 初始化 SQL 示例数据脚本 -|-- |-- table_name_id.yaml # 表名与 ID 映射配置 -|-- |-- table_name_sql_example.yaml # 表名与 SQL 示例映射配置 -| -|-- config # 配置模块 -|-- |-- config.py # 工具全局配置文件 -| -|-- database # 数据库相关模块 -|-- |-- postgres.py # PostgreSQL 数据库连接及操作封装 -| -|-- llm # 大模型交互模块 -|-- |-- chat_with_model.py # 与大模型交互的核心逻辑 -| -|-- manager # 数据管理模块 -|-- |-- column_info_manager.py # 列信息管理逻辑 -|-- |-- database_info_manager.py # 数据库信息管理逻辑 -|-- |-- sql_example_manager.py # SQL 示例管理逻辑 -|-- |-- table_info_manager.py # 表信息管理逻辑 -| -|-- model # 数据模型模块 -|-- |-- request.py # 请求数据模型定义 -|-- |-- response.py # 响应数据模型定义 -| -|-- scripts # 脚本工具模块 -|-- |-- chat2db_config # 工具配置相关脚本 -|-- |-- |-- config.yaml # 工具配置文件模板 -|-- |-- output_example # 输出示例相关脚本 -|-- |-- |-- output_examples.txt # 输出示例文件 -|-- |-- run_chat2db.py # 启动工具进行交互的主脚本 -| -|-- security # 安全模块 -|-- |-- security.py # 安全相关逻辑(如权限校验、加密等) -| -|-- template # 模板及提示词相关模块 -|-- |-- change_txt_to_yaml.py # 将文本提示转换为 YAML 格式的脚本 -|-- |-- prompt.yaml # 提示词模板文件,用于生成 SQL 或问题 -``` -# 3. 主要功能介绍 -## **3.1 智能生成 SQL 查询** -- **功能描述**: - - 工具的核心功能是利用大模型(如 LLM)智能生成符合用户需求的 SQL 查询语句。 - - 用户可以通过自然语言提问,工具会根据问题内容、表结构、示例数据等信息生成对应的 SQL 查询。 -- **实现模块**: - - **路由模块**:`router/sql_generate.py` 负责接收用户请求并调用相关服务。 - - **服务模块**:`service/sql_generate_service.py` 提供 SQL 生成的核心逻辑。 - - **提示词模板**:`template/prompt.yaml` 中定义了生成 SQL 的提示词模板。 - - **数据库适配**:`base/postgres.py` 和 `base/mysql.py` 提供不同数据库的操作封装。 -- **应用场景**: - - 用户无需掌握复杂的 SQL 语法,只需通过自然语言即可完成查询。 - - 支持多种数据库类型(如 PostgreSQL 和 MySQL) - ---- - -## **3.2 关键字检索与多路召回** -- **功能描述**: - - 工具支持基于关键字的检索功能,增强 RAG 的多路召回能力。 - - 对于服务器、硬件型号等特定场景,即使未训练模型,也能通过关键字匹配快速检索相关数据。 -- **实现模块**: - - **路由模块**:`router/keyword.py` 负责处理关键字检索请求。 - - **服务模块**:`service/keyword_service.py` 提供关键字检索的核心逻辑。 - - **AC 自动机**:`base/ac_automation.py` 实现高效的多模式字符串匹配。 -- **应用场景**: - - 在不依赖大模型的情况下,快速检索与关键字相关的 SQL 示例或表信息。 - - 适用于硬件型号、服务器配置等特定场景的快速查询。 - ---- - -## **3.3 数据库表与列信息管理** -- **功能描述**: - - 工具提供对数据库表和列信息的管理功能,包括元数据存储、查询和更新。 - - 用户可以通过工具查看表结构、列注释等信息,并将其用于 SQL 查询生成。 -- **实现模块**: - - **路由模块**:`router/table.py` 负责表信息相关的请求分发。 - - **管理模块**: - - `manager/table_info_manager.py`:管理表信息。 - - `manager/column_info_manager.py`:管理列信息。 - - **数据模型**:`model/request.py` 和 `model/response.py` 定义了表和列信息的数据结构。 -- **应用场景**: - - 用户可以快速了解数据库的表结构,辅助生成更准确的 SQL 查询。 - - 支持动态更新表和列信息,适应本地数据的变化。 - ---- - -## **3.4 SQL 示例管理** -- **功能描述**: - - 工具支持对 SQL 示例的增删改查操作,并结合向量相似度检索最相关的 SQL 示例。 - - 用户可以通过问题向量找到与当前问题最相似的历史 SQL 示例,从而加速查询生成。 -- **实现模块**: - - **路由模块**:`router/sql_example.py` 负责 SQL 示例相关的请求分发。 - - **管理模块**:`manager/sql_example_manager.py` 提供 SQL 示例的管理逻辑。 - - **向量化处理**:`base/vectorize.py` 将问题文本转换为向量表示。 - - **余弦距离排序**:利用 PostgreSQL 的向量计算能力,按余弦距离排序检索最相似的 SQL 示例。 -- **应用场景**: - - 在生成新 SQL 查询时,参考历史 SQL 示例,提高查询的准确性和效率。 - - 支持对 SQL 示例的灵活管理,便于维护和扩展。 - -# 4. 工具使用 - -## 4.1 服务启动与配置 - -### 服务环境配置 - -- 在common/.env文件中配置数据库连接信息,大模型API密钥等必要参数 - -### 数据库配置 - -```bash -# 进行数据库初始化,例如 -postgres=# CREATE EXTENSION zhparser; -postgres=# CREATE EXTENSIONpostgres=# CREATE EXTENSION vector; -postgres=# CREATE TEXT SEARCH CONFIGURATION zhparser (PARSER = zhparser); -postgres=# ALTER TEXT SEARCH CONFIGURATION zhparser ADD MAPPING FOR n,v,a,i,e,l WITH simple; -postgres=# exit -``` - -### 启动服务 - -```bash -# 读取.env 环境配置,app.py入口启动服务 -python3 chat2db/app/app.py -# 配置run_chat2db.py端口 -python3 chat2db/scripts/run_chat2db.py config --ip xxx --port xxx -``` - ---- - -## 4.2 命令行工具操作指南 - -### 1. 数据库操作 - -#### 添加数据库 -```bash -python3 run_chat2db.py add_db --database_url "postgresql+psycopg2://user:password@localhost:5444/mydb" - -# 成功返回示例 ->> success ->> database_id: 27fa7fd3-949b-41f9-97bc-530f498c0b57 -``` - -#### 删除数据库 - -```bash -python3 run_chat2db.py del_db --database_id mydb_database_id -``` - -#### 查询已配置数据库 - -```bash -python3 run_chat2db.py query_db - -# 返回示例 ----------------------------------------- -查询数据库配置成功 ----------------------------------------- -database_id: 27fa7fd3-949b-41f9-97bc-530f498c0b57 -database_url: postgresql+psycopg2://postgres:123456@0.0.0.0:5444/mydb -created_at: 2025-04-08T01:49:27.544521Z ----------------------------------------- -``` - -#### 查询在数据库中的表 - -```bash -python3 run_chat2db.py list_tb_in_db --database_id mydb_database_id -# 返回示例 ----------------------------------------- -{'database_id': '27fa7fd3-949b-41f9-97bc-530f498c0b57', 'table_filter': None} -查询数据库配置成功 -my_table ----------------------------------------- -# 可过滤表名 -python3 run_chat2db.py list_tb_in_db --database_id mydb_database_id --table_filter my_table -# 返回示例 ----------------------------------------- -{'database_id': '27fa7fd3-949b-41f9-97bc-530f498c0b57', 'table_filter': 'my_table'} -查询数据库配置成功 -my_table ----------------------------------------- -``` - ---- - -### 2. 表操作 - -#### 添加数据表 -```bash -python3 run_chat2db.py add_tb --database_id mydb_database_id --table_name users - -# 成功返回示例 ->> 数据表添加成功 ->> table_id: tb_0987654321 -``` - -#### 查询已添加的表 - -```bash -python3 run_chat2db.py query_tb --database_id mydb_database_id -# 返回示例 -查询表格成功 ----------------------------------------- -table_id: 984d1c82-c6d5-4d3d-93d9-8d5bc11254ba -table_name: oe_compatibility_cve_database -table_note: openEuler社区组cve漏洞信息表,存储了cve漏洞的公告时间、id、关联的软件包名称、简介、cvss评分 -created_at: 2025-03-16T12:13:51.920663Z ----------------------------------------- -``` - -#### 删除数据表 - -```bash -python3 run_chat2db.py del_tb --table_id my_table_id -# 返回示例 -删除表格成功 -``` - -#### 查询表的列信息 - -```bash -python run_chat2db.py query_col --table_id my_table_id - -# 返回示例 --------------------------------------------------------- -column_id: 5ef50ebb-310b-48cc-bbc7-cf161c779055 -column_name: id -column_note: None -column_type: bigint -enable: False --------------------------------------------------------- -column_id: 69cf3c00-8e3c-4b99-83a5-6942278a60f3 -column_name: architecture -column_note: openEuler支持的板卡信息的支持架构 -column_type: character varying -enable: False --------------------------------------------------------- -``` - -#### 启用禁用指定列 - -```bash -python3 run_chat2db.py enable_col --column_id my_column_id --enable False -# 返回示例 -列关键字功能开启/关闭成功 -``` - ---- - -### 3. SQL示例操作 - -#### 生成SQL示例 - -```bash -python3 run_chat2db.py add_sql_exp --table_id "your_table_id" --question "查询所有用户" --sql "SELECT * FROM users" -# 返回示例 -success -sql_example_id: 4282bce7-f2fd-42b0-a63b-7afd53d9e704 -``` - -#### 批量添加SQL示例 - -1. 创建Excel文件(示例格式): - - | question | sql | - |----------|----------------------------------------------| - | 查询所有用户 | SELECT * FROM users | - | 统计北京地区用户 | SELECT COUNT(*) FROM users WHERE region='北京' | - -2. 执行导入命令: - -```bash -python3 run_chat2db.py add_sql_exp --table_id "your_table_id" --dir "path/to/examples.xlsx" -# 成功返回示例 ->> 成功添加示例:查询所有用户 ->> sql_example_id: exp_556677 ->> 成功添加示例:统计北京地区用户 ->> sql_example_id: exp_778899 -``` - ---- - -#### 删除SQL示例 - -```bash -python3 run_chat2db.py del_sql_exp --sql_example_id "your_example_id" -# 返回示例 -sql案例删除成功 -``` - -#### 查询指定表的SQL示例 - -```bash -python3 run_chat2db.py query_sql_exp --table_id "your_table_id" -# 返回示例 -查询SQL案例成功 --------------------------------------------------------- -sql_example_id: 5ab552db-b122-4653-bfdc-085c0b8557d6 -question: 查询所有用户 -sql: SELECT * FROM users --------------------------------------------------------- -``` - -#### 更新SQL示例 - -```bash -python3 run_chat2db.py update_sql_exp --sql_example_id "your_example_id" --question "新问题" --sql "新SQL语句" -# 返回示例 -sql案例更新成功 -``` - -#### 生成指定数据表SQL示例 - -```bash -python run_chat2db.py generate_sql_exp --table_id "your_table_id" --generate_cnt 5 --sql_var True --dir "output.xlsx" -# --generate_cnt 参数: 生成sql对的数量 ;--sql_var: 是否验证生成的sql对,True为验证,False不验证 -# 返回示例 -sql案例生成成功 -Data written to Excel file successfully. -``` - -### 4. 智能查询 - -#### 通过自然语言生成SQL(需配合前端或API调用) - -```python -# 示例API请求 -import requests - -url = "http://localhost:8000/sql/generate" -payload = { - "question": "显示最近7天注册的用户", - "table_id": "tb_0987654321" -} - -response = requests.post(url, json=payload) -print(response.json()) - -# 返回示例 -{ - "sql": "SELECT * FROM users WHERE registration_date >= CURRENT_DATE - INTERVAL '7 days'", - "confidence": 0.92 -} -``` - ---- - -5. **执行智能查询** -```http -POST /sql/generate -Content-Type: application/json - -{ - "question": "找出过去一个月销售额超过1万元的商品", - "table_id": "tb_yyyy" -} -``` - - - - - - - diff --git a/chat2db/app/base/meta_databbase.py b/chat2db/main.py similarity index 31% rename from chat2db/app/base/meta_databbase.py rename to chat2db/main.py index b21b1f1..484ffb0 100644 --- a/chat2db/app/base/meta_databbase.py +++ b/chat2db/main.py @@ -1,18 +1,21 @@ +import uvicorn +from fastapi import FastAPI import sys import logging + +from apps.routers import sql + logging.basicConfig(stream=sys.stdout, level=logging.INFO, format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') -class MetaDatabase: - @staticmethod - def result_to_json(results): - """ - 将 SQL 查询结果解析为 JSON 格式的数据结构,支持多种数据类型 - """ - try: - results = [result._asdict() for result in results] - return results - except Exception as e: - logging.error(f"数据库查询结果解析失败由于: {e}") - raise e +app = FastAPI() + +app.include_router(sql.router) + +if __name__ == "__main__": + try: + uvicorn.run(app, host="127.0.0.1", port=9015, log_level="info") + + except Exception as e: + exit(1) diff --git a/chat2db/manager/column_info_manager.py b/chat2db/manager/column_info_manager.py deleted file mode 100644 index 789f499..0000000 --- a/chat2db/manager/column_info_manager.py +++ /dev/null @@ -1,69 +0,0 @@ -from sqlalchemy import and_ -import sys -from chat2db.database.postgres import ColumnInfo, PostgresDB - - -class ColumnInfoManager(): - @staticmethod - async def add_column_info_with_table_id(table_id, column_name, column_type, column_note): - column_info_entry = ColumnInfo(table_id=table_id, column_name=column_name, - column_type=column_type, column_note=column_note) - with PostgresDB.get_session() as session: - session.add(column_info_entry) - session.commit() - - @staticmethod - async def del_column_info_by_column_id(column_id): - with PostgresDB.get_session() as session: - column_info_to_delete = session.query(ColumnInfo).filter(ColumnInfo.id == column_id) - session.delete(column_info_to_delete) - session.commit() - - @staticmethod - async def get_column_info_by_column_id(column_id): - tmp_dict = {} - with PostgresDB.get_session() as session: - result = session.query(ColumnInfo).filter(ColumnInfo.id == column_id).first() - session.commit() - if not result: - return None - tmp_dict = { - 'column_id': result.id, - 'table_id': result.table_id, - 'column_name': result.column_name, - 'column_type': result.column_type, - 'column_note': result.column_note, - 'enable': result.enable - } - return tmp_dict - - @staticmethod - async def update_column_info_enable(column_id, enable=True): - with PostgresDB.get_session() as session: - column_info = session.query(ColumnInfo).filter(ColumnInfo.id == column_id).first() - if column_info is not None: - column_info.enable = True - session.commit() - else: - return False - return True - - @staticmethod - async def get_column_info_by_table_id(table_id, enable=None): - column_info_list = [] - with PostgresDB.get_session() as session: - if enable is None: - results = session.query(ColumnInfo).filter(ColumnInfo.table_id == table_id).all() - else: - results = session.query(ColumnInfo).filter( - and_(ColumnInfo.table_id == table_id, ColumnInfo.enable == enable)).all() - for result in results: - tmp_dict = { - 'column_id': result.id, - 'column_name': result.column_name, - 'column_type': result.column_type, - 'column_note': result.column_note, - 'enable': result.enable - } - column_info_list.append(tmp_dict) - return column_info_list diff --git a/chat2db/manager/database_info_manager.py b/chat2db/manager/database_info_manager.py deleted file mode 100644 index cc234fb..0000000 --- a/chat2db/manager/database_info_manager.py +++ /dev/null @@ -1,98 +0,0 @@ -import json -import hashlib -import sys -import logging -from chat2db.database.postgres import DatabaseInfo, PostgresDB -from chat2db.security.security import Security - -logging.basicConfig(stream=sys.stdout, level=logging.INFO, - format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') - - -class DatabaseInfoManager(): - @staticmethod - async def add_database(database_url: str): - id = None - with PostgresDB.get_session() as session: - encrypted_database_url, encrypted_config = Security.encrypt(database_url) - hashmac = hashlib.sha256(database_url.encode('utf-8')).hexdigest() - counter = session.query(DatabaseInfo).filter(DatabaseInfo.hashmac == hashmac).first() - if counter: - return id - encrypted_config = json.dumps(encrypted_config) - database_info_entry = DatabaseInfo(encrypted_database_url=encrypted_database_url, - encrypted_config=encrypted_config, hashmac=hashmac) - session.add(database_info_entry) - session.commit() - id = database_info_entry.id - return id - - @staticmethod - async def del_database_by_id(id): - with PostgresDB.get_session() as session: - database_info_to_delete = session.query(DatabaseInfo).filter(DatabaseInfo.id == id).first() - if database_info_to_delete: - session.delete(database_info_to_delete) - else: - return False - session.commit() - return True - - @staticmethod - async def del_database_by_url(database_url): - with PostgresDB.get_session() as session: - hashmac = hashlib.sha256(database_url.encode('utf-8')).hexdigest() - database_info_entry = session.query(DatabaseInfo).filter(DatabaseInfo.hashmac == hashmac).first() - if database_info_entry: - database_info_to_delete = session.query(DatabaseInfo).filter(DatabaseInfo.id == database_info_entry.id).first() - if database_info_to_delete: - session.delete(database_info_to_delete) - else: - return False - else: - return False - session.commit() - return True - - @staticmethod - async def get_database_url_by_id(id): - with PostgresDB.get_session() as session: - result = session.query( - DatabaseInfo.encrypted_database_url, DatabaseInfo.encrypted_config).filter( - DatabaseInfo.id == id).first() - if result is None: - return None - try: - encrypted_database_url, encrypted_config = result - encrypted_config = json.loads(encrypted_config) - except Exception as e: - logging.error(f'数据库url解密失败由于{e}') - return None - if encrypted_database_url: - database_url = Security.decrypt(encrypted_database_url, encrypted_config) - else: - return None - return database_url - @staticmethod - async def get_database_id_by_url(database_url: str): - with PostgresDB.get_session() as session: - hashmac = hashlib.sha256(database_url.encode('utf-8')).hexdigest() - database_info_entry = session.query(DatabaseInfo).filter(DatabaseInfo.hashmac == hashmac).first() - if database_info_entry: - return database_info_entry.id - return None - @staticmethod - async def get_all_database_info(): - with PostgresDB.get_session() as session: - results = session.query(DatabaseInfo).order_by(DatabaseInfo.created_at).all() - database_info_list = [] - for i in range(len(results)): - database_id = results[i].id - encrypted_database_url = results[i].encrypted_database_url - encrypted_config = json.loads(results[i].encrypted_config) - created_at = results[i].created_at - if encrypted_database_url: - database_url = Security.decrypt(encrypted_database_url, encrypted_config) - tmp_dict = {'database_id': database_id, 'database_url': database_url, 'created_at': created_at} - database_info_list.append(tmp_dict) - return database_info_list diff --git a/chat2db/manager/sql_example_manager.py b/chat2db/manager/sql_example_manager.py deleted file mode 100644 index 67ccbca..0000000 --- a/chat2db/manager/sql_example_manager.py +++ /dev/null @@ -1,76 +0,0 @@ -import json -from sqlalchemy import and_ -import sys -from chat2db.database.postgres import SqlExample, PostgresDB -from chat2db.security.security import Security - - -class SqlExampleManager(): - @staticmethod - async def add_sql_example(question, sql, table_id, question_vector): - id = None - sql_example_entry = SqlExample(question=question, sql=sql, - table_id=table_id, question_vector=question_vector) - with PostgresDB.get_session() as session: - session.add(sql_example_entry) - session.commit() - id = sql_example_entry.id - return id - - @staticmethod - async def del_sql_example_by_id(id): - with PostgresDB.get_session() as session: - sql_example_to_delete = session.query(SqlExample).filter(SqlExample.id == id).first() - if sql_example_to_delete: - session.delete(sql_example_to_delete) - else: - return False - session.commit() - return True - - @staticmethod - async def update_sql_example_by_id(id, question, sql, question_vector): - with PostgresDB.get_session() as session: - sql_example_to_update = session.query(SqlExample).filter(SqlExample.id == id).first() - if sql_example_to_update: - sql_example_to_update.sql = sql - sql_example_to_update.question = question - sql_example_to_update.question_vector = question_vector - session.commit() - else: - return False - return True - - @staticmethod - async def query_sql_example_by_table_id(table_id): - with PostgresDB.get_session() as session: - results = session.query(SqlExample).filter(SqlExample.table_id == table_id).all() - sql_example_list = [] - for result in results: - tmp_dict = { - 'sql_example_id': result.id, - 'question': result.question, - 'sql': result.sql - } - sql_example_list.append(tmp_dict) - return sql_example_list - - @staticmethod - async def get_topk_sql_example_by_cos_dis(question_vector, table_id_list=None, topk=3): - with PostgresDB.get_session() as session: - if table_id_list is not None: - sql_example_list = session.query( - SqlExample - ).filter(SqlExample.table_id.in_(table_id_list)).order_by( - SqlExample.question_vector.cosine_distance(question_vector) - ).limit(topk).all() - else: - sql_example_list = session.query( - SqlExample - ).order_by( - SqlExample.question_vector.cosine_distance(question_vector) - ).limit(topk).all() - sql_example_list = [ - {'table_id': sql_example.table_id, 'question': sql_example.question, 'sql': sql_example.sql} - for sql_example in sql_example_list] - return sql_example_list diff --git a/chat2db/manager/table_info_manager.py b/chat2db/manager/table_info_manager.py deleted file mode 100644 index fcf4f66..0000000 --- a/chat2db/manager/table_info_manager.py +++ /dev/null @@ -1,87 +0,0 @@ -from sqlalchemy import and_ -import sys -from chat2db.database.postgres import TableInfo, PostgresDB - - -class TableInfoManager(): - @staticmethod - async def add_table_info(database_id, table_name, table_note, table_note_vector): - id = None - with PostgresDB.get_session() as session: - counter = session.query(TableInfo).filter( - and_(TableInfo.database_id == database_id, TableInfo.table_name == table_name)).first() - if counter: - return id - table_info_entry = TableInfo(database_id=database_id, table_name=table_name, - table_note=table_note, table_note_vector=table_note_vector) - session.add(table_info_entry) - session.commit() - id = table_info_entry.id - return id - - @staticmethod - async def del_table_by_id(id): - with PostgresDB.get_session() as session: - table_info_to_delete = session.query(TableInfo).filter(TableInfo.id == id).first() - if table_info_to_delete: - session.delete(table_info_to_delete) - else: - return False - session.commit() - return True - - @staticmethod - async def get_table_info_by_table_id(table_id): - with PostgresDB.get_session() as session: - table_id, database_id, table_name, table_note = session.query( - TableInfo.id, TableInfo.database_id, TableInfo.table_name, TableInfo.table_note).filter( - TableInfo.id == table_id).first() - if table_id is None: - return None - return { - 'table_id': table_id, - 'database_id': database_id, - 'table_name': table_name, - 'table_note': table_note - } - - @staticmethod - async def get_table_id_by_database_id_and_table_name(database_id, table_name): - with PostgresDB.get_session() as session: - table_info_entry = session.query( - TableInfo).filter( - TableInfo.database_id == database_id, - TableInfo.table_name == table_name, - ).first() - if table_info_entry: - return table_info_entry.id - return None - - @staticmethod - async def get_table_info_by_database_id(database_id, enable=None): - with PostgresDB.get_session() as session: - if enable is None: - results = session.query( - TableInfo).filter(TableInfo.database_id == database_id).all() - else: - results = session.query( - TableInfo).filter( - and_(TableInfo.database_id == database_id, - TableInfo.enable == enable - )).all() - table_info_list = [] - for result in results: - table_info_list.append({'table_id': result.id, 'table_name': result.table_name, - 'table_note': result.table_note, 'created_at': result.created_at}) - return table_info_list - - @staticmethod - async def get_topk_table_by_cos_dis(database_id, tmp_vector, topk=3): - with PostgresDB.get_session() as session: - results = session.query( - TableInfo.id - ).filter(TableInfo.database_id == database_id).order_by( - TableInfo.table_note_vector.cosine_distance(tmp_vector) - ).limit(topk).all() - table_id_list = [result[0] for result in results] - return table_id_list diff --git a/chat2db/model/request.py b/chat2db/model/request.py deleted file mode 100644 index 6d8c955..0000000 --- a/chat2db/model/request.py +++ /dev/null @@ -1,89 +0,0 @@ -import uuid -from pydantic import BaseModel, Field -from typing import Optional - -class QueryRequest(BaseModel): - question: str - topk_sql: int = 5 - topk_answer: int = 15 - use_llm_enhancements: bool = False - - -class DatabaseAddRequest(BaseModel): - database_url: str - - -class DatabaseDelRequest(BaseModel): - database_id: Optional[uuid.UUID] = Field(default=None, description="数据库id") - database_url: Optional[str] = Field(default=None, description="数据库url") - -class DatabaseSqlGenerateRequest(BaseModel): - database_url: str - table_name_list: Optional[list[str]] = Field(default=[]) - question: str - topk: int = 5 - use_llm_enhancements: Optional[bool] = Field(default=False) - -class TableAddRequest(BaseModel): - database_id: uuid.UUID - table_name: str - - -class TableDelRequest(BaseModel): - table_id: uuid.UUID - - -class TableQueryRequest(BaseModel): - database_id: uuid.UUID - - -class EnableColumnRequest(BaseModel): - column_id: uuid.UUID - enable: bool - - -class SqlExampleAddRequest(BaseModel): - table_id: uuid.UUID - question: str - sql: str - - -class SqlExampleDelRequest(BaseModel): - sql_example_id: uuid.UUID - - -class SqlExampleQueryRequest(BaseModel): - table_id: uuid.UUID - - -class SqlExampleUpdateRequest(BaseModel): - sql_example_id: uuid.UUID - question: str - sql: str - - -class SqlGenerateRequest(BaseModel): - database_id: uuid.UUID - table_id_list: list[uuid.UUID] = [] - question: str - topk: int = 5 - use_llm_enhancements: bool = True - - -class SqlRepairRequest(BaseModel): - database_id: uuid.UUID - table_id: uuid.UUID - sql: str - message: str = Field(..., max_length=2048) - question: str - - -class SqlExcuteRequest(BaseModel): - database_id: uuid.UUID - sql: str - - -class SqlExampleGenerateRequest(BaseModel): - table_id: uuid.UUID - generate_cnt: int = 1 - sql_var: bool = False diff --git a/chat2db/model/response.py b/chat2db/model/response.py deleted file mode 100644 index fd7c2e7..0000000 --- a/chat2db/model/response.py +++ /dev/null @@ -1,6 +0,0 @@ -from pydantic import BaseModel -from typing import Any -class ResponseData(BaseModel): - code: int - message: str - result: Any \ No newline at end of file diff --git a/chat2db/scripts/chat2db_config/config.yaml b/chat2db/scripts/chat2db_config/config.yaml deleted file mode 100644 index 78e3719..0000000 --- a/chat2db/scripts/chat2db_config/config.yaml +++ /dev/null @@ -1,2 +0,0 @@ -UVICORN_IP: 0.0.0.0 -UVICORN_PORT: '9015' diff --git a/chat2db/scripts/docs/output_examples.xlsx b/chat2db/scripts/docs/output_examples.xlsx deleted file mode 100644 index 599501ca6c0f1d2b88fe5235d40fb11a56fbf005..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6080 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 diff --git a/chat2db/scripts/run_chat2db.py b/chat2db/scripts/run_chat2db.py deleted file mode 100644 index 5da9e48..0000000 --- a/chat2db/scripts/run_chat2db.py +++ /dev/null @@ -1,436 +0,0 @@ -import argparse -import os -import pandas as pd -import requests -import yaml -from fastapi import FastAPI -import shutil - -terminal_width = shutil.get_terminal_size().columns -app = FastAPI() - -CHAT2DB_CONFIG_PATH = './chat2db_config' -CONFIG_YAML_PATH = './chat2db_config/config.yaml' -DEFAULT_CHAT2DB_CONFIG = { - "UVICORN_IP": "127.0.0.1", - "UVICORN_PORT": "8000" -} - - -# 修改 -def update_config(uvicorn_ip, uvicorn_port): - try: - yml = {'UVICORN_IP': uvicorn_ip, 'UVICORN_PORT': uvicorn_port} - with open(CONFIG_YAML_PATH, 'w') as file: - yaml.dump(yml, file) - return {"message": "修改成功"} - except Exception as e: - return {"message": f"修改失败,由于:{e}"} - - -# 增加数据库 -def call_add_database_info(database_url): - url = f"http://{config['UVICORN_IP']}:{config['UVICORN_PORT']}/database/add" - request_body = { - "database_url": database_url - } - response = requests.post(url, json=request_body) - return response.json() - - -# 删除数据库 -def call_del_database_info(database_id): - url = f"http://{config['UVICORN_IP']}:{config['UVICORN_PORT']}/database/del" - request_body = { - "database_id": database_id - } - response = requests.post(url, json=request_body) - return response.json() - - -# 查询数据库配置 -def call_query_database_info(): - url = f"http://{config['UVICORN_IP']}:{config['UVICORN_PORT']}/database/query" - response = requests.get(url) - return response.json() - - -# 查询数据库内表格配置 -def call_list_table_in_database(database_id, table_filter=''): - url = f"http://{config['UVICORN_IP']}:{config['UVICORN_PORT']}/database/list" - params = { - "database_id": database_id, - "table_filter": table_filter - } - print(params) - response = requests.get(url, params=params) - return response.json() - - -# 增加数据表 -def call_add_table_info(database_id, table_name): - url = f"http://{config['UVICORN_IP']}:{config['UVICORN_PORT']}/table/add" - request_body = { - "database_id": database_id, - "table_name": table_name - } - response = requests.post(url, json=request_body) - return response.json() - - -# 删除数据表 -def call_del_table_info(table_id): - url = f"http://{config['UVICORN_IP']}:{config['UVICORN_PORT']}/table/del" - request_body = { - "table_id": table_id - } - response = requests.post(url, json=request_body) - return response.json() - - -# 查询数据表配置 -def call_query_table_info(database_id): - url = f"http://{config['UVICORN_IP']}:{config['UVICORN_PORT']}/table/query" - params = { - "database_id": database_id - } - response = requests.get(url, params=params) - return response.json() - - -# 查询数据表列信息 -def call_query_column(table_id): - url = f"http://{config['UVICORN_IP']}:{config['UVICORN_PORT']}/table/column/query" - params = { - "table_id": table_id - } - response = requests.get(url, params=params) - return response.json() - - -# 启用禁用列 -def call_enable_column(column_id, enable): - url = f"http://{config['UVICORN_IP']}:{config['UVICORN_PORT']}/table/column/enable" - request_body = { - "column_id": column_id, - "enable": enable - } - response = requests.post(url, json=request_body) - return response.json() - - -# 增加sql_example案例 -def call_add_sql_example(table_id, question, sql): - url = f"http://{config['UVICORN_IP']}:{config['UVICORN_PORT']}/sql/example/add" - request_body = { - "table_id": table_id, - "question": question, - "sql": sql - } - response = requests.post(url, json=request_body) - return response.json() - - -# 删除sql_example案例 -def call_del_sql_example(sql_example_id): - url = f"http://{config['UVICORN_IP']}:{config['UVICORN_PORT']}/sql/example/del" - request_body = { - "sql_example_id": sql_example_id - } - response = requests.post(url, json=request_body) - return response.json() - - -# 查询sql_example案例 -def call_query_sql_example(table_id): - url = f"http://{config['UVICORN_IP']}:{config['UVICORN_PORT']}/sql/example/query" - params = { - "table_id": table_id - } - response = requests.get(url, params=params) - return response.json() - - -# 更新sql_example案例 -def call_update_sql_example(sql_example_id, question, sql): - url = f"http://{config['UVICORN_IP']}:{config['UVICORN_PORT']}/sql/example/update" - request_body = { - "sql_example_id": sql_example_id, - "question": question, - "sql": sql - } - response = requests.post(url, json=request_body) - return response.json() - - -# 生成sql_example案例 -def call_generate_sql_example(table_id, generate_cnt=1, sql_var=False): - url = f"http://{config['UVICORN_IP']}:{config['UVICORN_PORT']}/sql/example/generate" - response_body = { - "table_id": table_id, - "generate_cnt": generate_cnt, - "sql_var": sql_var - } - response = requests.post(url, json=response_body) - return response.json() - - -def write_sql_example_to_excel(dir, sql_example_list): - try: - if not os.path.exists(os.path.dirname(dir)): - os.makedirs(os.path.dirname(dir)) - data = { - 'question': [], - 'sql': [] - } - for sql_example in sql_example_list: - data['question'].append(sql_example['question']) - data['sql'].append(sql_example['sql']) - - df = pd.DataFrame(data) - df.to_excel(dir, index=False) - - print("Data written to Excel file successfully.") - except Exception as e: - print("Error writing data to Excel file:", str(e)) - - -if __name__ == "__main__": - parser = argparse.ArgumentParser(description="chat2DB脚本") - subparsers = parser.add_subparsers(dest="command", help="子命令列表") - - # 修改config.yaml - parser_config = subparsers.add_parser("config", help="修改config.yaml") - parser_config.add_argument("--ip", type=str, required=True, help="uvicorn ip") - parser_config.add_argument("--port", type=str, required=True, help="uvicorn port") - - # 增加数据库 - parser_add_database = subparsers.add_parser("add_db", help="增加指定数据库") - parser_add_database.add_argument("--database_url", type=str, required=True, - help="数据库连接地址,如postgresql+psycopg2://postgres:123456@0.0.0.0:5432/postgres") - - # 删除数据库 - parser_del_database = subparsers.add_parser("del_db", help="删除指定数据库") - parser_del_database.add_argument("--database_id", type=str, required=True, help="数据库id") - - # 查询数据库配置 - parser_query_database = subparsers.add_parser("query_db", help="查询指定数据库配置") - - # 查询数据库内表格配置 - parser_list_table_in_database = subparsers.add_parser("list_tb_in_db", help="查询数据库内表格配置") - parser_list_table_in_database.add_argument("--database_id", type=str, required=True, help="数据库id") - parser_list_table_in_database.add_argument("--table_filter", type=str, required=False, help="表格名称过滤条件") - - # 增加数据表 - parser_add_table = subparsers.add_parser("add_tb", help="增加指定数据库内的数据表") - parser_add_table.add_argument("--database_id", type=str, required=True, help="数据库id") - parser_add_table.add_argument("--table_name", type=str, required=True, help="数据表名称") - - # 删除数据表 - parser_del_table = subparsers.add_parser("del_tb", help="删除指定数据表") - parser_del_table.add_argument("--table_id", type=str, required=True, help="数据表id") - - # 查询数据表配置 - parser_query_table = subparsers.add_parser("query_tb", help="查询指定数据表配置") - parser_query_table.add_argument("--database_id", type=str, required=True, help="数据库id") - - # 查询数据表列信息 - parser_query_column = subparsers.add_parser("query_col", help="查询指定数据表详细列信息") - parser_query_column.add_argument("--table_id", type=str, required=True, help="数据表id") - - # 启用禁用列 - parser_enable_column = subparsers.add_parser("enable_col", help="启用禁用指定列") - parser_enable_column.add_argument("--column_id", type=str, required=True, help="列id") - parser_enable_column.add_argument("--enable", type=bool, required=True, help="是否启用") - - # 增加sql案例 - parser_add_sql_example = subparsers.add_parser("add_sql_exp", help="增加指定数据表sql案例") - parser_add_sql_example.add_argument("--table_id", type=str, required=True, help="数据表id") - parser_add_sql_example.add_argument("--question", type=str, required=False, help="问题") - parser_add_sql_example.add_argument("--sql", type=str, required=False, help="sql") - parser_add_sql_example.add_argument("--dir", type=str, required=False, help="输入路径") - - # 删除sql_exp - parser_del_sql_example = subparsers.add_parser("del_sql_exp", help="删除指定sql案例") - parser_del_sql_example.add_argument("--sql_example_id", type=str, required=True, help="sql案例id") - - # 查询sql案例 - parser_query_sql_example = subparsers.add_parser("query_sql_exp", help="查询指定数据表sql对案例") - parser_query_sql_example.add_argument("--table_id", type=str, required=True, help="数据表id") - - # 更新sql案例 - parser_update_sql_example = subparsers.add_parser("update_sql_exp", help="更新sql对案例") - parser_update_sql_example.add_argument("--sql_example_id", type=str, required=True, help="sql案例id") - parser_update_sql_example.add_argument("--question", type=str, required=True, help="sql语句对应的问题") - parser_update_sql_example.add_argument("--sql", type=str, required=True, help="sql语句") - - # 生成sql案例 - parser_generate_sql_example = subparsers.add_parser("generate_sql_exp", help="生成指定数据表sql对案例") - parser_generate_sql_example.add_argument("--table_id", type=str, required=True, help="数据表id") - parser_generate_sql_example.add_argument("--generate_cnt", type=int, required=False, help="生成sql对数量", - default=1) - parser_generate_sql_example.add_argument("--sql_var", type=bool, required=False, - help="是否验证生成的sql对,True为验证,False不验证", - default=False) - parser_generate_sql_example.add_argument("--dir", type=str, required=False, help="生成的sql对输出路径", - default="templetes/output_examples.xlsx") - - args = parser.parse_args() - - if os.path.exists(CONFIG_YAML_PATH): - exist = True - with open(CONFIG_YAML_PATH, 'r') as file: - yml = yaml.safe_load(file) - config = { - 'UVICORN_IP': yml.get('UVICORN_IP'), - 'UVICORN_PORT': yml.get('UVICORN_PORT'), - } - else: - exist = False - - if args.command == "config": - if not exist: - os.makedirs(CHAT2DB_CONFIG_PATH, exist_ok=True) - with open(CONFIG_YAML_PATH, 'w') as file: - yaml.dump(DEFAULT_CHAT2DB_CONFIG, file, default_flow_style=False) - response = update_config(args.ip, args.port) - with open(CONFIG_YAML_PATH, 'r') as file: - yml = yaml.safe_load(file) - config = { - 'UVICORN_IP': yml.get('UVICORN_IP'), - 'UVICORN_PORT': yml.get('UVICORN_PORT'), - } - print(response.get("message")) - elif not exist: - print("please update_config first") - - elif args.command == "add_db": - response = call_add_database_info(args.database_url) - database_id = response.get("result")['database_id'] - print(response.get("message")) - if response.get("code") == 200: - print(f'database_id: ', database_id) - - elif args.command == "del_db": - response = call_del_database_info(args.database_id) - print(response.get("message")) - - elif args.command == "query_db": - response = call_query_database_info() - print(response.get("message")) - if response.get("code") == 200: - database_info = response.get("result")['database_info_list'] - for database in database_info: - print('-' * terminal_width) - print("database_id:", database["database_id"]) - print("database_url:", database["database_url"]) - print("created_at:", database["created_at"]) - print('-' * terminal_width) - - elif args.command == "list_tb_in_db": - response = call_list_table_in_database(args.database_id, args.table_filter) - print(response.get("message")) - if response.get("code") == 200: - table_name_list = response.get("result")['table_name_list'] - for table_name in table_name_list: - print(table_name) - - elif args.command == "add_tb": - response = call_add_table_info(args.database_id, args.table_name) - print(response.get("message")) - table_id = response.get("result")['table_id'] - if response.get("code") == 200: - print('table_id: ', table_id) - - elif args.command == "del_tb": - response = call_del_table_info(args.table_id) - print(response.get("message")) - - elif args.command == "query_tb": - response = call_query_table_info(args.database_id) - print(response.get("message")) - if response.get("code") == 200: - table_list = response.get("result")['table_info_list'] - for table in table_list: - print('-' * terminal_width) - print("table_id:", table['table_id']) - print("table_name:", table['table_name']) - print("table_note:", table['table_note']) - print("created_at:", table['created_at']) - print('-' * terminal_width) - - elif args.command == "query_col": - response = call_query_column(args.table_id) - print(response.get("message")) - if response.get("code") == 200: - column_list = response.get("result")['column_info_list'] - for column in column_list: - print('-' * terminal_width) - print("column_id:", column['column_id']) - print("column_name:", column['column_name']) - print("column_note:", column['column_note']) - print("column_type:", column['column_type']) - print("enable:", column['enable']) - print('-' * terminal_width) - - elif args.command == "enable_col": - response = call_enable_column(args.column_id, args.enable) - print(response.get("message")) - - elif args.command == "add_sql_exp": - def get_sql_exp(dir): - if not os.path.exists(os.path.dirname(dir)): - return None - # 读取 xlsx 文件 - df = pd.read_excel(dir) - - # 遍历每一行数据 - for index, row in df.iterrows(): - question = row['question'] - sql = row['sql'] - - # 调用 call_add_sql_example 函数 - response = call_add_sql_example(args.table_id, question, sql) - print(response.get("message")) - sql_example_id = response.get("result")['sql_example_id'] - print('sql_example_id: ', sql_example_id) - print(question, sql) - - - if args.dir: - get_sql_exp(args.dir) - else: - response = call_add_sql_example(args.table_id, args.question, args.sql) - print(response.get("message")) - sql_example_id = response.get("result")['sql_example_id'] - print('sql_example_id: ', sql_example_id) - - elif args.command == "del_sql_exp": - response = call_del_sql_example(args.sql_example_id) - print(response.get("message")) - - elif args.command == "query_sql_exp": - response = call_query_sql_example(args.table_id) - print(response.get("message")) - if response.get("code") == 200: - sql_example_list = response.get("result")['sql_example_list'] - for sql_example in sql_example_list: - print('-' * terminal_width) - print("sql_example_id:", sql_example['sql_example_id']) - print("question:", sql_example['question']) - print("sql:", sql_example['sql']) - print('-' * terminal_width) - - elif args.command == "update_sql_exp": - response = call_update_sql_example(args.sql_example_id, args.question, args.sql) - print(response.get("message")) - - elif args.command == "generate_sql_exp": - response = call_generate_sql_example(args.table_id, args.generate_cnt, args.sql_var) - print(response.get("message")) - if response.get("code") == 200: - # 输出到execl中 - sql_example_list = response.get("result")['sql_example_list'] - write_sql_example_to_excel(args.dir, sql_example_list) - else: - print("未知命令,请检查输入的命令是否正确。") diff --git a/chat2db/security/security.py b/chat2db/security/security.py deleted file mode 100644 index 0909f27..0000000 --- a/chat2db/security/security.py +++ /dev/null @@ -1,116 +0,0 @@ -# Copyright (c) Huawei Technologies Co., Ltd. 2023-2024. All rights reserved. - -import base64 -import binascii -import hashlib -import secrets - -from cryptography.hazmat.backends import default_backend -from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes - -from chat2db.config.config import config - - -class Security: - - @staticmethod - def encrypt(plaintext: str) -> tuple[str, dict]: - """ - 加密公共方法 - :param plaintext: - :return: - """ - half_key1 = config['HALF_KEY1'] - - encrypted_work_key, encrypted_work_key_iv = Security._generate_encrypted_work_key( - half_key1) - encrypted_plaintext, encrypted_iv = Security._encrypt_plaintext(half_key1, encrypted_work_key, - encrypted_work_key_iv, plaintext) - del plaintext - secret_dict = { - "encrypted_work_key": encrypted_work_key, - "encrypted_work_key_iv": encrypted_work_key_iv, - "encrypted_iv": encrypted_iv, - "half_key1": half_key1 - } - return encrypted_plaintext, secret_dict - - @staticmethod - def decrypt(encrypted_plaintext: str, secret_dict: dict): - """ - 解密公共方法 - :param encrypted_plaintext: 待解密的字符串 - :param secret_dict: 存放工作密钥的dict - :return: - """ - plaintext = Security._decrypt_plaintext(half_key1=secret_dict.get("half_key1"), - encrypted_work_key=secret_dict.get( - "encrypted_work_key"), - encrypted_work_key_iv=secret_dict.get( - "encrypted_work_key_iv"), - encrypted_iv=secret_dict.get( - "encrypted_iv"), - encrypted_plaintext=encrypted_plaintext) - return plaintext - - @staticmethod - def _get_root_key(half_key1: str) -> bytes: - half_key2 = config['HALF_KEY2'] - key = (half_key1 + half_key2).encode("utf-8") - half_key3 = config['HALF_KEY3'].encode("utf-8") - hash_key = hashlib.pbkdf2_hmac("sha256", key, half_key3, 10000) - return binascii.hexlify(hash_key)[13:45] - - @staticmethod - def _generate_encrypted_work_key(half_key1: str) -> tuple[str, str]: - bin_root_key = Security._get_root_key(half_key1) - bin_work_key = secrets.token_bytes(32) - bin_encrypted_work_key_iv = secrets.token_bytes(16) - bin_encrypted_work_key = Security._root_encrypt(bin_root_key, bin_encrypted_work_key_iv, bin_work_key) - encrypted_work_key = base64.b64encode(bin_encrypted_work_key).decode("ascii") - encrypted_work_key_iv = base64.b64encode(bin_encrypted_work_key_iv).decode("ascii") - return encrypted_work_key, encrypted_work_key_iv - - @staticmethod - def _get_work_key(half_key1: str, encrypted_work_key: str, encrypted_work_key_iv: str) -> bytes: - bin_root_key = Security._get_root_key(half_key1) - bin_encrypted_work_key = base64.b64decode(encrypted_work_key.encode("ascii")) - bin_encrypted_work_key_iv = base64.b64decode(encrypted_work_key_iv.encode("ascii")) - return Security._root_decrypt(bin_root_key, bin_encrypted_work_key_iv, bin_encrypted_work_key) - - @staticmethod - def _root_encrypt(key: bytes, encrypted_iv: bytes, plaintext: bytes) -> bytes: - encryptor = Cipher(algorithms.AES(key), modes.GCM(encrypted_iv), default_backend()).encryptor() - encrypted = encryptor.update(plaintext) + encryptor.finalize() - return encrypted - - @staticmethod - def _root_decrypt(key: bytes, encrypted_iv: bytes, encrypted: bytes) -> bytes: - encryptor = Cipher(algorithms.AES(key), modes.GCM(encrypted_iv), default_backend()).encryptor() - plaintext = encryptor.update(encrypted) - return plaintext - - @staticmethod - def _encrypt_plaintext(half_key1: str, encrypted_work_key: str, encrypted_work_key_iv: str, - plaintext: str) -> tuple[str, str]: - bin_work_key = Security._get_work_key(half_key1, encrypted_work_key, encrypted_work_key_iv) - salt = f"{half_key1}{plaintext}" - plaintext_temp = salt.encode("utf-8") - del plaintext - del salt - bin_encrypted_iv = secrets.token_bytes(16) - bin_encrypted_plaintext = Security._root_encrypt(bin_work_key, bin_encrypted_iv, plaintext_temp) - encrypted_plaintext = base64.b64encode(bin_encrypted_plaintext).decode("ascii") - encrypted_iv = base64.b64encode(bin_encrypted_iv).decode("ascii") - return encrypted_plaintext, encrypted_iv - - @staticmethod - def _decrypt_plaintext(half_key1: str, encrypted_work_key: str, encrypted_work_key_iv: str, - encrypted_plaintext: str, encrypted_iv) -> str: - bin_work_key = Security._get_work_key(half_key1, encrypted_work_key, encrypted_work_key_iv) - bin_encrypted_plaintext = base64.b64decode(encrypted_plaintext.encode("ascii")) - bin_encrypted_iv = base64.b64decode(encrypted_iv.encode("ascii")) - plaintext_temp = Security._root_decrypt(bin_work_key, bin_encrypted_iv, bin_encrypted_plaintext) - plaintext_salt = plaintext_temp.decode("utf-8") - plaintext = plaintext_salt[len(half_key1):] - return plaintext \ No newline at end of file diff --git a/chat2db/templetes/change_txt_to_yaml.py b/chat2db/templetes/change_txt_to_yaml.py deleted file mode 100644 index 8e673d8..0000000 --- a/chat2db/templetes/change_txt_to_yaml.py +++ /dev/null @@ -1,92 +0,0 @@ -import yaml -text = { - 'sql_generate_base_on_example_prompt': '''你是一个数据库专家,你的任务是参考给出的表结构以及表注释和示例,基于给出的问题生成一条在{database_url}连接下可进行查询的sql语句。 -注意: -#01 sql语句中,特殊字段需要带上双引号。 -#02 sql语句中,如果要使用 as,请用双引号把别名包裹起来。 -#03 sql语句中,查询字段必须使用`distinct`关键字去重。 -#04 sql语句中,只返回生成的sql语句, 不要返回其他任何无关的内容 -#05 sql语句中,参考问题,对查询字段进行冗余。 -#06 sql语句中,需要以分号结尾。 - -以下是表结构以及表注释: -{note} -以下是{k}个示例: -{sql_example} -以下是问题: -{question} -''', - 'question_generate_base_on_data_prompt': '''你是一个postgres数据库专家,你的任务是根据给出的表结构和表内数据,输出一个用户可能针对这张表内的信息提出的问题。 -注意: -#01 问题内容和形式需要多样化,例如要用到统计、排序、模糊匹配等相关问题。 -#02 要以口语化的方式输出问题,不要机械的使用表内字段输出问题。 -#03 不要输出问题之外多余的内容! -#04 要基于用户的角度取提出问题,问题内容需要口语化、拟人化。 -#05 优先生成有注释的字段相关的sql语句。 - -以下是表结构和注释: -{note} -以下是表内数据 -{data_frame} -''', - 'sql_generate_base_on_data_prompt': '''你是一个postgres数据库专家,你的任务是参考给出的表结构以及表注释和表内数据,基于给出的问题生成一条查询{database_type}的sql语句。 -注意: -#01 sql语句中,特殊字段需要带上双引号。 -#02 sql语句中,如果要使用 as,请用双引号把别名包裹起来。 -#03 sql语句中,查询字段必须使用`distinct`关键字去重。 -#04 sql语句中,只返回生成的sql语句, 不要返回其他任何无关的内容 -#05 sql语句中,参考问题,对查询字段进行冗余。 -#06 sql语句中,需要以分号结尾。 - -以下是表结构以及表注释: -{note} -以下是表内的数据: -{data_frame} -以下是问题: -{question} -''', - 'sql_expand_prompt': '''你是一个数据库专家,你的任务是参考给出的表结构以及表注释、执行失败的sql和执行失败的报错,基于给出的问题修改执行失败的sql生成一条在{database_type}连接下可进行查询的sql语句。 - - 注意: - - #01 假设sql中有特殊字符干扰了sql的执行,请优先替换这些特殊字符保证sql可执行。 - - #02 假设sql用于检索或者过滤的字段导致了sql执行的失败,请尝试替换这些字段保证sql可执行。 - - #03 假设sql检索结果为空,请尝试将 = 的匹配方式替换为 ilike \'\%\%\' 保证sql执行给出结果。 - - #04 假设sql检索结果为空,可以使用问题中的关键字的子集作为sql的过滤条件保证sql执行给出结果。 - - 以下是表结构以及表注释: - - {note} - - 以下是执行失败的sql: - - {sql_failed} - - 以下是执行失败的报错: - - {sql_failed_message} - - 以下是问题: - - {question} -''', - 'table_choose_prompt': '''你是一个数据库专家,你的任务是参考给出的表名以及表的条目(主键,表名、表注释),输出最适配于问题回答检索的{table_cnt}张表,并返回表对应的主键。 -注意: -#01 输出的表名用python的list格式返回,下面是list的一个示例: -[\"prime_key1\",\"prime_key2\"]。 -#02 只输出包含主键的list即可不要输出其他内容!!! -#03 list重主键的顺序,按表与问题的适配程度从高到底排列。 -#04 若无任何一张表适用于问题的回答,请返回空列表。 - -以下是表的条目: -{table_entries} -以下是问题: -{question} -''' -} -print(text) -with open('./prompt.yaml', 'w', encoding='utf-8') as f: - yaml.dump(text, f, allow_unicode=True) diff --git a/chat2db/templetes/prompt.yaml b/chat2db/templetes/prompt.yaml deleted file mode 100644 index 0013b12..0000000 --- a/chat2db/templetes/prompt.yaml +++ /dev/null @@ -1,115 +0,0 @@ -question_generate_base_on_data_prompt: '你是一个postgres数据库专家,你的任务是根据给出的表结构和表内数据,输出一个用户可能针对这张表内的信息提出的问题。 - - 注意: - - #01 问题内容和形式需要多样化,例如要用到统计、排序、模糊匹配等相关问题。 - - #02 要以口语化的方式输出问题,不要机械的使用表内字段输出问题。 - - #03 不要输出问题之外多余的内容! - - #04 要基于用户的角度取提出问题,问题内容需要口语化、拟人化。 - - #05 优先生成有注释的字段相关的sql语句。 - - #06 不要对生成的sql进行解释。 - - 以下是表结构和注释: - - {note} - - 以下是表内数据 - - {data_frame} - - ' -sql_expand_prompt: "你是一个数据库专家,你的任务是参考给出的表结构以及表注释、执行失败的sql和执行失败的报错,基于给出的问题修改执行失败的sql生成一条在{database_type}连接下可进行查询的sql语句。\n\ - \n 注意:\n\n #01 假设sql中有特殊字符干扰了sql的执行,请优先替换这些特殊字符保证sql可执行。\n\n #02 假设sql用于检索或者过滤的字段导致了sql执行的失败,请尝试替换这些字段保证sql可执行。\n\ - \n #03 假设sql检索结果为空,请尝试将 = 的匹配方式替换为 ilike '\\%\\%' 保证sql执行给出结果。\n\n #04 假设sql检索结果为空,可以使用问题中的关键字的子集作为sql的过滤条件保证sql执行给出结果。\n\ - \n 以下是表结构以及表注释:\n\n {note}\n\n 以下是执行失败的sql:\n\n {sql_failed}\n\n 以下是执行失败的报错:\n\ - \n {sql_failed_message}\n\n 以下是问题:\n\n {question}\n" -sql_generate_base_on_data_prompt: '你是一个postgres数据库专家,你的任务是参考给出的表结构以及表注释和表内数据,基于给出的问题生成一条查询{database_type}的sql语句。 - - 注意: - - #01 sql语句中,特殊字段需要带上双引号。 - - #02 sql语句中,如果要使用 as,请用双引号把别名包裹起来。 - - #03 sql语句中,查询字段必须使用`distinct`关键字去重。 - - #04 sql语句中,只返回生成的sql语句, 不要返回其他任何无关的内容 - - #05 sql语句中,参考问题,对查询字段进行冗余。 - - #06 sql语句中,需要以分号结尾。 - - #07 不要对生成的sql进行解释。 - - 以下是表结构以及表注释: - - {note} - - 以下是表内的数据: - - {data_frame} - - 以下是问题: - - {question} - - ' -sql_generate_base_on_example_prompt: '你是一个数据库专家,你的任务是参考给出的表结构以及表注释和示例,基于给出的问题生成一条在{database_url}连接下可进行查询的sql语句。 - - 注意: - - #01 sql语句中,特殊字段需要带上双引号。 - - #02 sql语句中,如果要使用 as,请用双引号把别名包裹起来。 - - #03 sql语句中,查询字段必须使用`distinct`关键字去重。 - - #04 sql语句中,只返回生成的sql语句, 不要返回其他任何无关的内容 - - #05 sql语句中,参考问题,对查询字段进行冗余。 - - #06 sql语句中,需要以分号结尾。 - - - 以下是表结构以及表注释: - - {note} - - 以下是{k}个示例: - - {sql_example} - - 以下是问题: - - {question} - - ' -table_choose_prompt: '你是一个数据库专家,你的任务是参考给出的表名以及表的条目(主键,表名、表注释),输出最适配于问题回答检索的{table_cnt}张表,并返回表对应的主键。 - - 注意: - - #01 输出的表名用python的list格式返回,下面是list的一个示例: - - ["prime_key1","prime_key2"]。 - - #02 只输出包含主键的list即可不要输出其他内容!!! - - #03 list重主键的顺序,按表与问题的适配程度从高到底排列。 - - #04 若无任何一张表适用于问题的回答,请返回空列表。 - - - 以下是表的条目: - - {table_entries} - - 以下是问题: - - {question} - - ' diff --git a/requirements.txt b/requirements.txt index e2b1e39..746b6cb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -48,4 +48,5 @@ uvicorn==0.21.0 xlrd==2.0.1 py-cpuinfo==9.0.0 opengauss-sqlalchemy==2.4.0 -#marker-pdf==1.8.0 \ No newline at end of file +#marker-pdf==1.8.0 +motor==3.7.1 \ No newline at end of file diff --git a/run.sh b/run.sh index 56374de..7f36249 100644 --- a/run.sh +++ b/run.sh @@ -1,6 +1,6 @@ #!/usr/bin/env sh java -jar tika-server-standard-2.9.2.jar & -python3 /rag-service/chat2db/app/app.py & +python3 /rag-service/chat2db/main.py & python3 /rag-service/data_chain/apps/app.py & sleep 5 python3 /rag-service/chat2db/common/init_sql_example.py -- Gitee From 7f171b88649016c0c5e8ff0966095b1c0beef925 Mon Sep 17 00:00:00 2001 From: zxstty Date: Tue, 9 Sep 2025 00:05:11 +0800 Subject: [PATCH 36/43] =?UTF-8?q?=E5=BC=80=E5=8F=91=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E5=87=86=E7=A1=AE=E7=8E=87=E6=B5=8B=E8=AF=95=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/task/worker/acc_testing_worker.py | 4 +- test.pdf | Bin 2845602 -> 0 bytes test/config.py | 51 ++ test/embedding.py | 50 ++ test/{tools => }/llm.py | 153 ++-- test/prompt.yaml | 708 +++++++++++++++++ test/requirements.txt | 6 - test/result.xlsx | Bin 0 -> 11520 bytes test/{tools => }/stopwords.txt | 2 - test/test.py | 88 +++ test/test.xlsx | Bin 0 -> 15294 bytes test/test_qa.py | 719 ------------------ test/token_tool.py | 506 ++++++++++++ test/tools/=1.21.6, | 0 test/tools/config.py | 10 - test/tools/prompt.yaml | 82 -- test/tools/similar_cal_tool.py | 158 ---- ...\350\257\225\346\214\207\345\257\274.docm" | Bin 4306288 -> 0 bytes 18 files changed, 1498 insertions(+), 1039 deletions(-) delete mode 100644 test.pdf create mode 100644 test/config.py create mode 100644 test/embedding.py rename test/{tools => }/llm.py (51%) create mode 100644 test/prompt.yaml delete mode 100644 test/requirements.txt create mode 100644 test/result.xlsx rename test/{tools => }/stopwords.txt (99%) create mode 100644 test/test.py create mode 100644 test/test.xlsx delete mode 100644 test/test_qa.py create mode 100644 test/token_tool.py delete mode 100644 test/tools/=1.21.6, delete mode 100644 test/tools/config.py delete mode 100644 test/tools/prompt.yaml delete mode 100644 test/tools/similar_cal_tool.py delete mode 100644 "test/witchainD\346\265\213\350\257\225\346\214\207\345\257\274.docm" diff --git a/data_chain/apps/base/task/worker/acc_testing_worker.py b/data_chain/apps/base/task/worker/acc_testing_worker.py index bb00002..84b5290 100644 --- a/data_chain/apps/base/task/worker/acc_testing_worker.py +++ b/data_chain/apps/base/task/worker/acc_testing_worker.py @@ -183,10 +183,10 @@ class TestingWorker(BaseWorker): ) llm_answer = await llm.nostream([], prompt, question) sub_scores = [] - pre = await TokenTool.cal_precision(question, answer, llm, language) + pre = await TokenTool.cal_precision(question, llm_answer, llm, language) if pre != -1: sub_scores.append(pre) - rec = await TokenTool.cal_recall(answer, llm_answer, llm, language) + rec = await TokenTool.cal_recall(answer, bac_info, llm, language) if rec != -1: sub_scores.append(rec) fai = await TokenTool.cal_faithfulness(question, llm_answer, bac_info, llm, language) diff --git a/test.pdf b/test.pdf deleted file mode 100644 index a64e0a48ef0f81bd2dde554984850f61956cfc41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2845602 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%0D%Nq8* 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�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ǹtrCPD5(pLo$BE_%`Ma@ShU5rKE+sr<$#TX~g0}@JDl(1t3o@S5 zx}^fq0!&CY#SQCcrPd(S$F*fu>V|PysYBqiY>^r!;hV5JG5-|e+3WULvR0uWuiHb% z)FQ=A+m*E3W5r7CabQ(wLKOQ2P2fYBQDhAxoq9r%jRz<)ah9a&B)Y>ul2Nk*l_ygs z&KWuU=)iJ$+yzl!g?(@tMMcZ|V9#s#g#{22)B5;Y8HF}_6xznlRq7kY$i9)MxJ)_9*GQLfri;j+T>PO#%arCgUO~O|% zM^4s!5=LhLt*pBqP*zOgL;veR+@l`J>x@1UuVH;5gtsEmAT)mhu>E3zv<8w`uj|mX z)l4;v%ZlsqXxmbwirX+PD{dXV_7_ac8eK=P{RPvq!tbEf3L~7&RRd2s*tUaRGjr82 zE_(wWoYtth6Z!ofZl>lcZucfK0d)Xb&0K}Ssi@9Lmog6_(?v%|I`xysl%hoFX7@G) zBXi|#iniA3ubY!Eg#wV-Y)#~>)GsRVKkYeEpD44vvCC1qKy_$RDM+N{XSG%N(l9*W zem$(fxB6+ZOX0-!!z0T|Mnh!LiAf>Ov*J`>N#T?ywhN=O0x2c%wYIG#fN*DJ! z_-t2K0c6H4-npU$XQ2^7eU-<0zFf?6sbR^J9XMY`7wr@{R?qA?T)A-DVfi#E^JC_&M z^*Y{6rxxI$w6znr!D^-q_vIyxTT$&}mVVXfDgaO8X{Id70I-sE-^0@?a@jC0E4N3h zxp4~<^6}5CW)0J_a@VnKzbSX_H`lV6tlb{(_Lr`fmA{UTlhwBJ5ut7J?tTHdh4%;5 ze0W?rqs!twpCgv(U z5@_`Rm#K~>+cj4c`aoL?O=-_3ji9B4uD)rY@w0?Ph6kR0wD)Y7Dm4BgU7tJ{ZDXPN z$}QuPGEW|x=EnUn8pRh$_FJYUWk!YSnnVO`NXxXO%*admubGzXzfIBlZ_Qj~P#oI5 zSC^L^pa!;ab5=C?*v4&Cu8s_WN5ZK^iJPX*XOT}H&$fwe&7y<>yO)km?a3qEbkWg~ zPAI(Y%;@AXYXz+}u#CK90_llZK({vGwhC|K>!-iI-sp6MBzg38$W|pv+3mtr+NL@R zZnY{6Le&kB!?_TC*ro6wU3@ z^BL|@b81ndBY{@`j6QknTS4odMOo`RqK?zhp*Xl?Y!p@|TazeNSRZS>N7A*f&&S<> z|Jcr(VtvE&h1c-s6Ln*OcR{#`En%E?hRUHiRc*>u&>O}jXB^cxtK*WAR{oLowqaV< z+g2=GCZT;=R_h%|+~)$@Ct`QsW8^jo`DVNL&}Yb;bkD~2#moso<|YrBQ@a#5aMUMt z^1!%lr8T=0#nRj^T$XL}kU7=c=t!r_h4j{g;|f}9c4?f3$8ttJXgnQ{6GCO_juf5! zcHtUrQyo&b3Pr=Xtiv7?w=FArS!tM-b-0e8`wOOJ9o|8}ed;iOlQp_wwXD%0fE-UL z|7xF>6@CXYmnUi;olkrZoO6<67qSLs@vWV4bTCuVkxm!F(M=vlr)DZ{@2;f!9xb=6 zv}UHF@SGbu-1xW_nm2DpshX+iNT<11;i*tYIe5BIVYjJ{o>Q|Y>ucX1R!R?|Yo(KJ;&oVDI!a(_ z+v(&p*~8yj=_K9U0koMFif$7GofUEi!d9`P^i}p%8m8sonMb&7rsl)lY@UY8txX>P z=B8=q8h02)JfrXqqKr6Q(35(5^+J6bKM*2H(PIh&QLy^}^u`IDYB(d8%o~t3WD`B` zOl3I?P(lY%zvw#BY;}pU&P7KDovd>nQPxT)>0BK$rgXxcYO>j8qhZ6l>C)$>$Sr%p zYFnbt!XrU$=p6N^vrR)vJ00H(E~PekEL!7U%;ZLU#92Y7xWvseGxNFUacHe{k{;HP zWXey8f=)l^ngg(@xaHEFs-14u$sK^18MuahW9Rgb5M*ItyaCQfCMJj=%f~{)>i9;x zgBbgQYpj(X6V@t4q?HT;!?6%QUkC&?c@S8sHk7)i4sYyO;C7sohllB+!#K0cLT8}| zffcmofF7A#Q>Cmz(OGYog>RA`GS*5zJrf@Qz$94|73*Fp5%oC=;A$*h*wCmp~pzC_#&>1^qPDrvo;yK64GlbkY0dqN1r{e zg!Dp5$IW>z3`XJeMzLf!IN+X{^9Rx^I?@R?+xfin??^8)Zm2kNpI(}Ij^5gwbuLE3 zVgZtn0t6|NPTmLyrVMrs-Hi`a07q&*65)U>MKN!@UZVeHHZ;*yfFE=~&%YqU8pb7s zpZ^RQ)-WyEgZa;pVGYxgJ(v%XVOjsPS#5g`)Z}r z-+AXcNNaTfa=h~C6X@*eK)ZilrHY7jmg=AAybJp?!^=TyPo&e0kINNK#3kFHhPATN z?%=&lz#GP8t^6}USA1Fqbj^PT=xUgj)j0y_BJU*IrG^RViaq~=?rIp9{P+0--4z|_ zgyv=bi2gu##SI*xyJnB>!h;M#uGzu)zyISO|L@=a_1{mq`P^p@I~YTy9(@AU-TJ$H z$lqkN8CtxlQ-UACuabe~gFgAl2aO-f2fZ=M2lcMVs4+AQ^clwj^r_9&DRogYfzh}A zNR6iajv77vVDzbZ`8!i1B(E6+XhA1lo!mqt)F{wJX3|y42R%&WgVCpQCq$^A=m+~N z-6;LW=u@y;L7#Ba(`VqC2z|Ce3Nq7~j6TI`={Lqd#WTq_iZ{{^_UEZxIkQbx?8&mn z^axqDTm|FkOvb;|A4!NX{-r(^_$HOimJi0iRL79XlJ$AAbgJNPn((HIQZkcCvA*~V zp((vqJ{Wx|$p_yg$hmw_`j{;FZBLfP*(2OCA`SK|9W2EbQi+*GBmyD8-W%8F4kJ#oRc4EmiS{&6) zn@Pj{GPefi^@H(G!`S+bEk*;z`i=2VL$mTt>buPJ$xeIz>6}6S*#xOOs!U+~OZHj5 zG5%>lPKmHpY1m7@QT{PmqKlp^ohnF{ZAYr@2_iJOBQt4mMn4$;G@hZ~82|M4uix16 z()q#k$wEDSI%kYNv!a8YLW7+`gPlTX0gv%P#9*h;kWL}_Ci8F5>xBMJUhrV&$B@ns zrdURF6en2-Qk>0I>S`}jrc+2hV;GT?t}_Iw$u@mZcSEMM zQz$jr)^Ch|3UbzO^8Th~&H7E=-_+z-zDef?vrYcYv#r6tsF$GQ+T3>~RcAtl?VeDbGsw|(T-!T48wNWY20I&ubT)vR1h$nAS?f^_ zElaIg_0;lD)@fEfbK{mpZu2cj`H~C9v17=cSgG^~weNYI2eq;3Mo4tNxJEQO1 z`i)72S#`8Wl2tLYW!F5#`bR;EZA!E1sauuItJs0phsSARB$QCB`6yUA*2vlKYT2yfB z^OmK~06J6V-)L4nRm#^N*)N+_AMI9)@+5Gv@>~SilU974& z&(aRXR%Ko{z?4b-Q{ieM!Yp7a|E%9+$sWz0PgRfgM_FQxG%X0u1L*`wKPq!49}n$1Rp+rCjMm{1WNPpIx$kkEBplRvZksR*7BYX1Ca zHhVOijbMBx%WU>&p7>}sdrY1H#2cyqC@zHEH zvLl3aCQBsRlck~*B+C@VEPpB)q(qp0nB^bM@{i_;kLHQv1tW9RJn=Dk;!LQF=m~8& z&oqlf$TG{1Y8-h=v;62GX5Se9%o9gBVf&FS*lhM_p7@w-Hc{-+%W8&o&LC^EMyEmt zAU%~M&<~lul)$gwWcpGLynd46;AX7+H{`dB-R7#3!@-Dfv-|Fi$+C3+gwv z4|af0X8BPmJ4wZ4ksLt2fCj{ZrpeC2tp)-p(O)*&>xvAK3;CLR;EdOLNn1o8zKi8e%Rmt>z zRZ3TIRr&OqlFtwN%<@m>txsn8C$s#M#b74$))Qz?=reD9vKS0{uH{vk&7RC=PiC{x zl+}JmY3Jq1ru*e7w}Z=D$2G|@n?0G$MqXc@+idn^(UZw+_GC7DGCzAVn?0G$PGE;Z zUuCmA=}JYA^ekNovH;d5V1a(fqL`l6^_#rT^g6BIWSLBFyZTK6e7%K17480p5C(bN7?42S0DK%#f?Z9e2#z|E^Fz;^>9hTUwbDp zqcNKb0{)PRFcq9l1(AeqKQcn?!aSSXG@IKroAS&_d6;6cM_C4nS6oJ%B;OFs|F{4A z`G-FF>@9`BJ82QCkacr-oRde(&dP#1o!e`3cPOhyH$+J4U1ykm?BD03ddn{c8Ag|kn2AXE37 zeK>Wb*gm&mlb{68aClzy(Nk*}F+f~?37MjsjQ*=Ml}nwcj)>E4EK_*cKbov8GvBv+Fq#|NL25 zwSB6@U%6IRZ*@FB)w?v6YAc&q%KENu?dLRVMOua}Fh1%e=V6=V7qae^%I8O@8L_y* zuV$nt2%fs=AIq$n5xe63HUWB9k(0ow5MW(&pc8{~d?v&uZAz(_5jpJz|C-H0bdnqQ zDx7_qgzistAhgP${c(4Mg4*Fe%)W=z^mDmLO(8($e}>C-YF+_rrQU!(c62pt(ef`w*l#~d zs%Y7)3v0U1sc71Dln3#;*T)RCj-Ss)4iL%_Z@L;e=a*tqk#X6xv^^akDJ$4te5?wG7{5LqG{zgSbhm+3+Gj-QilYOasEpE5Pjpxf zk@c_<#~&{>Rsx8OlN{~1)@X0LtkO|pZd`F`;q(Xyc66W<6@w3%nUKUs@*D1fovS(ldw+jRKzvo7$25y z+l#Mw+qjv&o#>)KfqXEkag5$wPou9FvD7Qn){LV)TK*c(;Yvyi*Q$jQMh7}kBf-U& zsx8E~cIT-nqt9s;voqfxh*IMcgi?vq>*q&Ij)jx`-^=$_IuZ7@o9@@t4IG^_vWi3( zb>rTJOTBLHsv_}W`3&|r^Nm?YzJzK|)|vRMtnc;0x_h%WPsUc@sElrdl-;-n)Z(k? zs)9zDahk|I_hoTaL8I5j(?p8y0nFP@))Z79&LiH-#CKqY@~ox=tcwnGqV9oeTswucl13MH? z{C2@$58oHq)ssHT_0vN7uiBW&(~~}WH#jYH(knvbW0@5@5{8o87Cz|}@wQUhBl8EU zL8aT03H*S~0h8i8gf5DhtCPCti;q*PG2Afgt>Z#ciwCF4jb~8)#;bg=gE+T zM+cp(h902SN+*TD>R>Vzi3M$p7odlS2XYLT%TKQDgiMmlG~ItXX>Kg{7OU+f|CZWM z;yR7bdB#0wLGfo)S9zjr`|_U8Z#)9cPsEAm_Vu&E?x5AO!nW|0HTEk&S~5N@lk$yy z2axu~V)#(^u(MVnp;MiaX7FReH_Gv7!g!|y*{lF_4VDKkugK3d_KXW6k@Gx47jc@PK@YCSgX52_vboFObxxf z{ouBAvAYkdkNk*%lsi(nW@Hf|?f!LUY)qIctk0`I$P#DZQ~gabqN_zpf{&PCTv4gd zaX$?Sf0OmRVOp=}m{$I>Hf{UBK4^x44*@9+{J(l{9^*<_BNN=HOIPR3V;~9btOE_X zFk9eUMGY=@%3~n8qkXWj=8;67jUXKUvWzLjTUu#_Qbk7stuDTWfy7GIX|-SvjNa3( z29{=*in*Sj(qm45rdG@~8;dA4SeHM-doEz48<{ADSSuTYI%aJZocOqe zNbAoYk+v;8_$-u?(F3Q=4G}srGIapkUob6eyGO45rK@GFuLIrkYO_gc*g;nPV@zAi z7I}Xkl0lXLCM8NCDiDz+@W3@SDbahE)O*?h=Ag*w`?h;ElM;RKf?V=h&L}o4Iyw?) zbusY%d;nuJlaftBbcP$MBasey99zK-Z>Qcg$2%Z3JEiyjn^mo0TGrz~0o*0LJD29$WV@JLd{$D4x^&=$UqVIVsG!-%$2Y9(~u5u~j@myovbNK#+N zFZvfuTZxkSCn$gP@$QByI%J=YL26+RU|d%IKSHUsOv}pO08=v+l>cTmY~Ug*{|;u& zPf_{YJ}WD~hqP^H%WAkAR>R8A5I3B!(UG7Br2HP^rcOol28e-3`8||vTWQUyh(7i} zVA*%~C^x;QL`OPxz6D~BjFeiWL1{Io!k_%OpRB1bmC5zD+2V{z2k2HO**^wv=; zMUYy*&Rc}BVO&=JKZ3EfEQgic+ARw3~y^$4J&_%ZwrqE zJs{;T0d5Uf6OV91v-xW1uBQCahZ!gWEB^XM~06l6>%~bfN)Aw}l*HLj5A0-ue4Vftd$iXZ+ z_0~m4v4W@G1LQD}+`>K%kM)9Ly|n@2x{lB5eSVx#9AL_iBQ5l^KG)%N=5Mr&%L?l; zbnTiGW#SFCn%t*4;?6Y3c^LdLt5n0Ztgt)CI-cb7U+vSfCjSxeu4Qjo(L=zy_O~@SxS00^O|a-!MP{BgPYMnv)8+>j!;vYuYeMwfL<;r8lK_SGgz(jV6|;KqsLKn zVVIT<-_AqZKBmovxnXe9$*vA}TRnz`ap?^0N{m~W>ySl%%k4bIP2I=%b@@ulSVyNN zp{6q1shvj1FjGx5+!ad&6yXkKarOf#U>$mg>dB7?*CkT_euS+^j6;4bzfmj4GMc<=F6h|81X^b=Sku92fVdv+vud zWv%w$wZC*)R{A>BO$=oFg6K%@Ji^T_=nH8i=eP5KH$5_=0(R(0A(@bA}YGO&4_0(UDLYo6g)iifq?RS(UuO`4HKEh*E&HuwK^@Wr#xU@wX({?%8_KX@w_6y4Fs~vc}$rb*9^(tf3rR|Ow0OMN1#Prp@wN$T|Fx8 zFI_D=)^!Zq{%V`K%Ye474rp7QvN-!DKGQu4tx=jMQhX0P6Q?YEfj{+=%lqn)T2)hv znzf69E^p{F;)6)Yx!R`CMMp;ht)#+r9N22@6e@_?JJPyfxV&e(b^E0cp$AneJZP;{1@*Qay?wYf8 z*PN}p=A61~GU>t<$K%xA715Ij=_?V&ztmS56l)9?6sPtQ`XSSox-{rFs(4I|Y>lVJ zR6anB?NsWIpc7>Nr9K4uP3B*!@h{(4cg<7~U%$~g*2-6&wPyGtWZB+XU**O6DyM3y zGNtuZPUS-N8{?mKL|#(=QzlEK-jk(L7SkBh@g3bRs!AfiW0pS^_+VxCm`0I` zwSHSft85dkJM&`QnHRJCz-BAy0DUS(OwgZ6vhg8F4n8Ew#)l+1_@Fz(9F?Crj;N7?cN^J(A7E07UdadB`fT~} zjV&fyetcv4ku5*IG0n@CALuXDJf>K9;3?KW3Q}xSrkeu@P3MPvF#59P$2aRQ8~+r} zB*LHoBl)lzjcobxjjo(2maja;YWIQ^+uZr)kTEMdx6zj^KYnEVGs~ZF6ZqwXXwVON zXA)jOzsW04uk!j$9yz^f>o+PBxnQlef;K%g~;5{oN4hXd95}%RWD5vi&v7j}lY%J4T<`>@Iuj2m%>> z*;~gqwsH+L@xh_mohjZT5gOwi@wh(D7s(x4##fKd2q8a{>qmmAjyUSM;yUwLpf~`)B%j03h_)n-A^Q$uc${=0dZ>if zXK@M-&VYae>~y(NK%~u5@<2c(_`FCK%2<1 zRTw%pE_GbB&LVH~^Xuo{JOdk=I)pmSfRY+m$a8%Cyyxz%hDGh@^*sU(kNmqWL062? ze19Wf4{gEW5=vQgDOW#E^Yt60;H(=&88@rawrL%`VyZt?w<981vTLFxw8}TGtjpsL zQwwf9COcJRmBNK){q==J`2C46qTLEu+w+xzBs&J;CY9&KRYSVKjPRM zCm1^HQ8Ul^)x{&f8>NYWiXPrwS^e&T{CMd*a|7Fvqf4jk0UjJ#v=6iBW`)+H-!vC6 zTeuA$vR=xz6!t9jL0pVwKxS^1fB7Ae&+&P_4+t`el-gcOlegBrq6*u{P!bn6Yi!$I z^*(I?k-Tl3a<5PW+Exxnsrd}-*#q*R^kSx!capg*Ug+9LIO%{@oL1K^@0DmfbOO!t zmd%B;eH0zCOy~*kdi`qPn&m2B4_$kncY|+JPxf zyhSp5^3)J@+vhWe$8iA4&M%aO)lyAOGm+(l_p(3J&M7nw_p|ASta(pEuV~kfVz)nX z4oHRY)t7|qYt}jTPWK4C)1=|Y^n-viiczV);j949aS~o7Y3w1Mm)u6=R?@5sWVI3L z+g-7(M6?kS@YGb=>=}!nmv$I-7@8|oP7BIqO*85f_Q1a&G$Q4QrE%=gzwDgBKK;PI zoN;fOhwl9&+|w1JjlEc7wdnm5t?J)+(-^@qIs4TYec-?Nyr5$NF41UUASXfd>dCo8 z9C3H`a;sB2B>N6Lh5Q@TE;2jL>{-r~=Gp1YK$LKsz0nT&GXv4QZJfe7h^9AFN#_Dg za&7eWG8%PtZ=AdZ@u&@(oLy0=d?N*`U($|P)$D>WN)PU5mrAR=JY(3^kcYIY%a7NN6^Qr)KLKqpELL#%5Xr`RTlIj)gE+8+hxD>}iAbHi}w z+Gc2^)MIB5q}s+QC|zB!sn*ktApGK zQBXBQ_@Gw?7+G~R9_KYI1In&ytYN6-XI_Hvq=+EtjE=I)6GlzSfRIFumnRO`D-0Yu z)Z&sf{XAjTfQo=g`bx^!6dk2pG>HV;7@u*WBB24lfEJvnggf9gyCPvCAgy?%O|LK# zmb<^Ai4}C!&gAICH%@Fr`K8^Nh3)WRe#Ymem!6~ADC;somvGMJI{^++_?z=fi$Cg( z=SMjF7d!Om7QOf}blM=skg)y6N$`G!|;5p_Wx_zPh)l=SbU z)4KVK@!8pA`CN>)UB7y$FI?r_RZMSOgHx0vSPNPw-$gh@8hP;~A zz?pr){Gj;(oQ&?h-eJWf5;=xey+xMcoS=i#%lyCS;%;1yzW3=M#U3P|`UTSsL}bxk zTYNt=faCiC!Y2H7ERIuLqxhdil>Ro?gh$>kmd`UqC2#dJ2ay|8}1NjypQ6&pQxA1UF@sHp3)xG4-xV)Au#T%C86Y2-cWz0Xvs@Lu|#ie!mfGhgo0eE+#h(urQe#m8Q7 zJw*^uLUm?nhwE&IXn1v87#~ebHy*dGZuFtDzMjLfYU|PJTBU8I&>6}kY%3`FTJUXs z?1BxQ`s+g+$(5JjwT5iq+{*2unJTs~J_)9guXIzZXSFC_#~Hy>p!v{63D@EYPe=1G z-|sJZmcx-McNg@BJnK`+h^rEUQ!feS=qeGSLAb?kYjNq}+gd&OMX9q8a5Ep-meliH zbOv+GCvU_az> zRpbp83%adAFkA%?LPY|a{J;M>4{xC!nPhOJ^nRUhp5L6tTiRqGXWBj*@Yy(UAaw9*LYo3X(23#2#j$xGK(@a+bUl_TNHJDV~qVZsicL@By*+Ou(VqYXlv`|dPxG#@< zKyfpF`8f8qliOr(_Am6P!m!zdl3HAD zxH@`Gsn_5^{l~Y}enYak?$6g^DxZnJN1*t(vg#NvHsJk8g;Q zdZGgJsHL#4=bIfxzw1rsnULAXmW2Sbm<{WRC&GPX7AZrV_jcA zlRVqWld4`t-cvVRAKEHQ{%wEP&I@*g>qU%p)8*a-FIrxXF%hw_IDtvCM5U)IURdz=Sp+m+ zBJlDH7O++J@aB!R$s;a)fLt{0pE$YwKs0H+4YNJ&1!4V^9%*irvjHkOSpU zC6BExB<8D~?bvL3$aO27y1P>`+hIhcu6kw}o`b3w8U}k;dWC zV}E!%v9gi_^n&ke=$U|p7C7@iS)XLaINKs5dxbwiJ1W2Y7{*WLOLh^Ee zkVJK`et178ToKP%7{aN_xLc4yd#I!`G&<4=8SlZtp`F~X0d^0LyYB~BavZFf@W4q z5B+PUnUvC_`!m4NWl>A?jVX1j-4vHu_FyuJM|1kA;XbpNB{oXF67{Mxp9-6FUD(XnrA?LDZi zjYhKd9=%r3m;mj7;UkgJM8+bY_QYpzYT6$5{c0?+6i~|xYB;6O8a88Oo0wKGzv4(n- zoQhF&AY7aLt?2**C!y6jfD8EK5;>;9t;%&|~E`KCasn zAC{g6kVa4wCROVF?MZd({1LjlJ*?#=d@ei?YJ~gkIe^do+4h79DvGIGJk;)Ud*Z|L zd%@)hc}KoMs`?t)5^jQgDN%IcfzSk*wnR?9I?8F&>+s;{c1hCjQFI%7o7@Al^$MuZ z*@l*7m~^v&IzGYc*gVtChGALdJs_`GG&=^V-eYLq!R#H-Rg=><93#HSh#Osrk@npwv*%P;zhc zAsW6Y6fYhgy`@$@I?#z9JPsgMk~2R}ca#9s+&ilFB9I2T{%x)H~jle&z=<48M~MjtF>sSeuOVo6P~J>l?`^o@+dItC32&5_n)%Az_kYA$zyl z6RYZlDj}_Qq!pwR7#a7+Mp`L~pdveGh`L;99$Idy#2^3g_DGY9zA zbbyQ#Doh68!J}Rr;J#a-Ybn2TNty9nz8AR6uTQyw9W@WCYt$`&<2 zNe6p)l{)Q`QC{13foF|(6#OddpIL2yj8JXf7qaBnBbXil*@9X$sZrlj1A<~9P>wX? z-vwkYbsF$o*P}pfClV*;jR4YZA5mfDE;xAonN@ImKhZm*2f9At=OtNgxa0qWmNu30 zrl{(k`~uO0=9Q9_zm_P$@Zoo&hd|Uatlbbb=<$t}=eIntd>g$@5~(dX>fmhS6q0CG zzLlT+f``rAouQOxIm1!wLa@a@QfMpLvQ&iiH;={s2Blb0{$BJ2>3=B9C4R;HL@EHR zb@NKdI$!Is!nC8vD`_5`EFaW&mrtd~);tqgvFkx)%K-@@C~`MQr4i9XaPcW6g6(V+ zy=pm7GT#dLIvqFK@xuPCG=594Mn#3HO|DN>^E z@rFg2pYVR+0mIvcB|-ieQbI8}PH~hyTMHwLf7rYtwv7tBa|xUc7Q^3suO9wbaONAk z#*NCaN0`VSDNQRrK1_a5fa6+1Aj1QlsAKu{2m!gmtHXoeCJI_zOR!^jpc67owiM)R z9qXvpKrE*`RDNS~CbkM5`B=!rhxN>jK+=6qDw-uv(R+f)qOyM^z;5}QRxRMZ=T{G{ zY&(%A@{RPhrT!H0l@_qBYB>KZU7bi*Jt}hBmo<13jegv?ddJmcB$bKLm%-EQ(H^Mg zx__7~PdLuN^}o(JH$HWYiiAqIt2lhJZI(uAeNT?7M?-GROb2U+3U=Ka6<=}VSROg^ zpn+mO!aZEFkzyZ1zN*ov3+aenOL%U$YiVncp4BS4kvHx;emww9;;JBJ^KwE+15fxs z_V~w=`$ecogDNl;;5-AeY7CPGitng7 zg^btx4@#_|5ZI7GvT^FUd->JFDBGxCNN+uCa-)7VD`6p8C?uN6;B-$Bf`LaV7j-E{Jt~{?_ zMwFvOLlJ=6#qrFX4^PHNk_T0))Akq1<^(b)N-iC2%E z+@x&1N0`U%qn{9WDO!vUYrWiQ^U)h$2xAA~UlpfAnA=oF0A*UXaf+27j?hjeYoiBF zHu9V9ZFQt%ayBL57?DMdL+!-LWhG^tT+Nh}?!m)>+@!_{CoW=8(n_aQ5g0g#cBM6* zuGS*DQ#Y_;3Nz ztFyKu(>;Epbe2O0wGb~Q=kDI{m z41A0qKrt01hhsc*JU#;}dmT=h&NGTLs)I}^VY_Q!CHBZlJqe3lV3WKyDleq59zR)7DRIVTD*0yUQI(BUQV6GxhfKSUXWC{eS>29dk#Rxd zdIQ%wEb_NgFe+`g3#;A%TJp!!p$X)zNvgq5ca%DjtEMaBmmHEi-kLg;Kapmrsq7j2z@G^XRHcC@ zT3Mn3)IEp#QeS(2#wR}fcAxhE%FkVik4iO5t_N_+^7xfLNaDhxd?R2c=v`z-HuxlP z!NiIee8cqb#5OcN(uW50P?Ao?($jPT{!G9z8IrPgnnb%5X}vO`H->eq6jqNY7Ab!x zt~J<;+#7*uFZu+W42Q-j=&0CZDOJER>z}IX+hp^=#9Gj@%s&vMfaB z8+GL_@~Bi<6HGh#8WzuHz+)~8qP<+0aUA zTB6p1_lFO#mq%78OLuhAG8Ex4kB!vRyYT^X&_v((ULI_wBBCzMt6?9gLC09)ZVE8s}O;E{f9`$3V0!Q<#koyhW^T05k;fcjjc zG>;cY04=i=!8_sKPh3n>ryel?UZ1RzukGu%`ovL;!6Ww?IpFU^sWEW8a@O*bR-ma@DY)bQL*p7JAUU{1Qfwkfg z4R+~ko_Svc*wbyCf?98_%I3htJFIGc-|@}|+~0dR!V0e7;PBu@f9=8J12-X5 zw_AAFyxSC+KAp-N1F8iA$e%CT z7hE3hnyF();{b8EN-4;b=tk>I+#DONJa+jY=)W?ktCx;J9ww1I;&{+Z1;t|&-!mlz<+brim?u~~=7Tl6c z8dhuJ$f#+)ajj0cbDIn{Qc71K4~48y3Vvhvl5PVP{1~5jl>it;(jPUcP#!B_-=$xa z=(eTnX*wM`65%WYfCZ_NSq|h{B(h+705FT{h5XKPMv@IK=<+*e7f3d6y^;&PxV;ht zH5qBvBetI&uld1&;%Nrd*|Utg`v@yovmHwZver`8vqfudqH&LerA2~eg{3xpbLJ0h zo9n>P)zOKI85>m(2Q8UH7!(B{hK_LVE}kAYyvlvljoI;fPSjm|P#1B}92y3tfl4-i zYEizUl3c1fPBXn7efK64W!G(F*U4i$)qq3?I-&caa}p0AoG^3ISDEPKw~?N|(YvWI zgVBLbBi*eIK%M0(vbl*)bmMN@gGYF78nr5Fd{|ag5BSvW6o_9$A5YY68x>_YhE~Xn zj#^~#!OYi&Rk>GlUxfy$Xhqg=n^;>ts&iXJ(z2Y}-v$kApoATYIxckG?GL2oj;$*? zawFQa%T9&{s(!>+$e|IB&Q#p=+Zl+5I;X_ zN0)Y+_{{YH%|;$k2*krMOL5JIf^QXO@30jt zh1&@c9-C9e0QuSmZ=;di_5)1k(W9&BwLNE)q4;FA<7;Ds;-Q~yYa<7~j@!)q2i`6} zg4*Ne@q;I@c5j4&`^#I-TU1AtvKR`#vInU7jc5>BD7UViZHh;QZbzn>syIj4n0SC_ zWmIvELwdqS}RsM!iqFktMfOi^{#F94~)Bwbz zYxA1;a&Q39#G3NMal;<5dGM&qVoesSvS?h2x_Ovn!>sH>9Dp=o&F?1Y29apyAe#Y? z$}HCSwWPC2I0S66q}!TA9!+Yl=oq0ekqkx^AkuIhW|1Dem5r8=gg)2+#!T`8_(rne z3NJ}f#vb4$)C9iT#`h@nX3k?hD0!`>5!teGOV zWgY?gPuk%Ens$H%H`5gnu?h}OF>8ZUZdUsVn|Us4Nq?lMUb!@xqpxM>E2_JLZt9bCJ*kaN9Q8*2zg`9+*jq?F^ z)=XF1#kPSGHsT&XyRCa=XZbj?>t=Big0T*#U5710x%G zF1tfvaSiXZUJHZg0QB7Tpsue6@RImHiZ8D3g8(4;cU=Rq+t0K9l;LJQ4Sv0uj=qj% zg@fTyDVjANRJD|+Q9SfLCgh;tLO2SruFrk3k~Ch(5x(Nxrj$awWnHa zb3s?)9#2TfL76&~U_=)s6ljItG*19bwK9?%)$suJDo2c6dxr;lC+90b>x5(uM-PN8 zxq|k%0t{}QfUMkDR*Vcw0o6Adk6^IU1sHxwE1hiL4iK%f)uKDC6Y%wP^eEMm)xg8T z#crR0ZNWh`NdpL&xSIZ}>j3D>H)_h)Rn(vTR!=)0)*3xBwd4~Nbv>m4wh;8QI5txG z77B|}?IY4Ep`h|Wkrh%DSSqASnwcb1l^nd7PFL9fS_xT2NV`Y&uzi@ zi!7LvB$h<^;p(I#;*H)H-Ff|p6#+i>V^^lA%Tct0 zgHCKbZS!4v58XrN#x_o|H)89M`;)SZa~7^>0zi!brUBxGpNou&9;dYRx%o)v8ylp2 zpPI{CYneC8BD*CXHrvQIkDwV3K(UE$?DR=qir6qMXe!+ZP<>4Nu2P=mtk$5J)4ue3 zsbYeRf#((BJepd_k!A4B4*M$E+ukYuxnQLsl4hn)!sB^Ahe`ug} zC-~;f=RB&>1902+iSnpM4{@!?xB9+2_C{JGN+_n}vB*4Xx4s4Ft2P_1tax#{PkH~! zzmfCL?0d57DD|+Q-mqq+gw4#YxP~48Z|xL?qyUKd))0>5gu=!laF@DB=<0wqY;$HtC_ojS@>1`2e8%jb3rN9uzmI zS=cp*6F!bO>1#Xy&YHWdQR8WL$@&VGirw4URnr;+b?~c|4BT@f#K9;iM6H3wRr?&BHltNWFw-J-@j;MDlUpQ+FDGUcQ_G&<+ z_O%3#z$dLFZMh^AD?{vA%&B}Q#-y1lHW(hjt7;nE7|s?OJruVvJYv>_ht@`AxZLj= z9z%L8avClO#!L&{f zEkx@j_pX_Pd>K6e4-3`eo;1(E7g7%zZrmffkSZ{uZYQMU`hZqzn!kYkn9sw{)b((x zP}LuoR6DkmZ!Vv~ibX6Fj=u+b4d7Cum)rY@Dp`+*4*2pVNx}+Sv?l~9oBlL%!6&?< z!tFLrA*pZ<EeB)++kb~XP z<+`JpEU-bXyx@#79XpJ6cT*#{x2L5N9;@p;Q^r+-U>gi%w#}?~3Yt);Mf($;m$FJrSjdP)JbZnAU z@(W=$%|An18-1+@gkzDWcDeDOVL0Uc6|ZP|&#!StBfJGq(>cs0o|J@QuyAh-)m{6%UYZ+be1>Hy$9Oy)FsoT6Ke4&7mjkwnvQ=`-Y-8 zUAA$Gz4jD~mLqTUC3alfkijk>DIKhTXy|mo(#_*QzyZ%3Qo`emyw%5BE@#>MxK4LG z)#M`Fk{gNrLoo$uqg1{Q@5Zux#d%Ac8lccp z$5ly9ZJv#d&;gL!9C3?zIB^Jbjyunx8veF#YCxg`ohDxzaQp?@y$nF)VJAKmJUfLZ zBl2_QWiEsvE^sS9Ig1UpXhpjSjCj3% z(C;8Ljh7|#BY4g7d#Lk<3RZ$nSg(;$HWnT5#se7nj7atHp6|HUy>wR0hIp}dq%}Q~ zBV~eXDXl()-x|;ThKKBed7OBol#mNnM~1J#0x`DOjj4IZITn9_6h{(%C(%gN*&JU5 zFLS9F^)y3)qlxX0hl)4yhptoyfN;4|)ig+tWQZ&-??~mxhwh3(6)AG;WfQNY8da8; z7ZkWcu;7fS0U)pdBM3)Cf`k*^I-4Zf3u^Peuw^>{pX=KXC=m%LZG^mAr0ewb6dl9w zrs5Y;3;~*IS8A1ayaA6FbSmv$KlAGcZ+D-CL=0J=?;(K0D5@v}izO5y-AHYYZ)Ag$ z0^u>$?9Y1Oh7HBc(1`=oy9Azv31dER5raU%ydT^NQYq|Y7>?^byM?E`uPsw=_fX~z zgri5!t5QSfw4qoIF;`*^|Pa~CN+71xz5GFKvTHTO1rEJy?QRO%` zy9u#Q{CDZ~co5Z)8Zq$6@ic>j3{rtz{n@MV-ONWefhraCn3z6A4P zUY>;-dmM@Lgk3X_I&a)PpF2DrV7q1KEJ7*~kAD{bxJw~QUT$(&xGCBZRN8Oj(loyC z&aZgyMa!_lT*LQ5B`C=e%IMGu9k#*SP8}(P%clkQ0QWHP9v2(|9zjap4{hCC#N@;K zu&^~c#DQ~6UREQ=uN+(wtrkf@Eb%?!UrO}~aXP;g7Vy4bq+X6XVi|TeEhunwfdxZk zx>atu{o+{1h^tEiYWlMNlN?aZGxCGp0esxt-{u+ET|0n`+ue1&)52j?>AoOwHeX^S zveQff-!kh^@f58>28T(Y9KBMlPfsLyFqW4F+5dck4cK-q$BFn(I>CmAASY#Knkgh} ziZJ`8Z*7)i@o~AS4l`d}T3MMm8tQ5Z&`+$gdzVQ+=ctES8_`YE7Q6a2ubS-T#OQVD zB@Zq{Jl+#3>wQ5fTIM6WxOwZvJxJG?>T zh7JINv-IzP70iB|aI<}7^h}9nklWO4V&9#;S2lT&d%+@&r@fZ5`JK{!MRpC%L=fe> zK38j=q5Se*X?;f0?xK1fqJ!;gB{K-G>-)8O-ww|k+d#!y<-{^6oUXWbJ#mXcUX^?g zn2+>K!R4jH`zR1Eaz+CpBWsjw4mtHuLR~`$^0)2lWs`OQjTf>+lq}gw$U%RJUJg~g z2bK39q>I7eLU94wzat|<4{P9Sp>n2d-)RDQjgtr4Z=78(M^Wp9h8Jw-Jo;Y5Twh^A zcCJIlurqWAD0^5WwAFd$w&&p)ZXLty;k9ql)krI~=a`Pr^krcEiU&ws2@N|YVk(yf zWZwyfFvr|l*2HF}gw}^gI(3AtpAN9~>iPolYIyGv@I@(pnA9jdBld&Mh6lyB?gyC- zkAMFZ?iK=B&pjSq3H+$2u#=|*=92GHho+nM>5F4TXTU+$z5`G?{2$kHQ=b@Vij3ccgCTbDboRf9B{;Z{={iy74VqvZTFL7n4iA(o;)}4>C^TwLv!Q#%YbhxpF9WWYjil3Afvei|E= z_4ELStOlZ5@KGQ0W3#dTdZ_WXh-|XHsiD?D3B?blI#_w#C9z(y1@g&RM=9$9t%lI5 zlNt0V0ZY+O)EGe>g$H}f{S^-{2wNbGk-d(O_wzl&*0I&71D)3e$A@KmaDZq&ke`n? ziQPr8aX3IMZ}(crQMi}5!XZK%&8cDN@qVa|;RSLY7eI}*VQUB6$IWGrg@-8k6iw5npe&)ObJkKSh>$%!t2)I%As@F;|x!5;~b``1R942I$eBvK&q zojn5&t^KpnCmo%2`v76fK{bV9lIW%#`YouY=FS_Bk4x*$I2=?vK+A5PXPics=>u?V zdF%lX2OIUq+hVG7G|tFUTVGk?1hDjbylh3OqAV){XLa=Ks;VE?-JOjnqGboj*8{`% zan;ZiXj7rGA+q`K^Pp8Vd>?nzoqafU zJ|B1TP}FVt>J~foiw=&^zV9SI9RO56^bgf4#f?PG6_nrsdP(ZF3i<)?B)uTr7nBgV zOEDPqw!)*pG6ReK%&(wvHWq=nI>>ZYrTD^G?~hTODjlIsFW#CCP@MZJs-hB`jgLQ% z$Sh>zI~{GHgsnv#(`mcZFf8jngE_0M02Jx>yKgef30ypDd5GuU`CeDj(tFSr3>_PQ z19&H&@2cUn{mDoA?R@tLO|dZHark`qkjp}dHUkqLn;Q)P*SG6Em-b~3F9e&TPuai= z;cAOw1zHLvP7v#T9hSKY>c^dAZ!0*^UWZGrqkg#Nd!w>?A3zxoj7gGMcMsT`j5YWG z#rUNy2@}FPUk5v`ybO=Z=Y1W(xQ?256krY_*+B(MIGq zLgWW&-Z@V4Mh{@(49u56u;B!WI+#(Ke&$Y~ZGxw=I&|X?5~JT11=b^stb3A*U#$D= zfqj+D`tW=9MlD3Z1>N+__y{KNjC1l)%h@CGHsaE|38I#B_r}}z<0r+-`Hfs6n$vXG z*0x)^haSZtE)_x|^t(H5cpNItJ0BqJu1L}y&KJ#e9H$?k?hK+Ho{O(>v&YD_?SYR< z&K?q1?1AuIn#rW>D=E^m`09uvzo@B&%qyh(OR)jTG6aGbl_LR0K?)@vaI~gZK5C;f z!oUgSgM7O;K6W{KI9;($(a2UB*?@b9UE5yJEe#nD+gkq#MDi_d_Mo{&DoJfU60V?9 zRTYnTnzD(^66rBu2=5K292fbH_0&V>8du;S4Q3COD^?)zRZ&#ww=R$Ws4OjIO|J3? zDXVK0l#ZM+6ua1VxN!xfwntbxn9kBGZl;=?sksE!g*WijkrEyt>&!q3a6(HTOEv_m zFEmrmnt24b13bfIQ}~6WMv6<~zmjaq<}S-MN~xmw=o`U{K~lg|LDKng#z`+cN4P?I zmE@{(=I`3d?8#f^L3T@3M|7T7r(>ZczUoga2N?4(*D-y1$lB`F?RdWMAo_d)g&_e_ zoKey%9BJhlrH=<4d5A|`=B?GlzzLyJYs;tlO?*HLv|OOWRy{+wqufKE4^&v1f#sQ| zpUVZARQPuSFK*EBuz=kdiZR!*hN~ADK7$y4F_#F#+{?jv`nwK~$6w3`5JM5Cy4r>( zEASY|AYfw?9_ZA2#PWOyA3Wzb@bKU_?qo81?4X#$@Ia^D!4DW)Bo>q}FE;;C+4Do8k!C3IN5aWE8~g0fKE*UVQzI`2hMCJL(%&z}Gn^A1wB?V*pPF4`cs zv_@jW?NG9#BOOi+l(A#s0eOx5Bgf(ZffqU4npeS2Mv2Y~vxAGK!pYp-r`qWtD4jpu z4~8iqEpwxwZ9lGbML5FSLDpLNedTL_$J#YgN!NfnLQYQ%v2Ie?Ty&wCT6XzMz+8iL zkjq~O%&pOqQd^s;X3g|Cx<($8W_pBMdComixd?70+)QNR@nx}@de%sfhijvrN`Zo| zO&<#CldFz?8LmG>E7e>Y6oBzZ3wX*r`7mtgUyMb9lfE2HGe>oMPd;8A~;hiqOe>$69}HSQAW za~;>F`fL{?lypYwFbW@BB{jIy_^=_QwI{&%!m=eWVQFa%{AGRjaJa@*k-i@Q-Jmh3 zL51p%xcZ5;k~pYdoKbBFzQui7-demw3L7`?5$k^)Ny%6q1y)3-_wm)o2VFm(uP%u=>A zOA2*a(FU`9hcF4}Wa>$Q!n;zU#Q1GI)jwr0^nl7^`$<;g#mqvwib`zkk$zh{KiE==L6v2$7WZqCKd-BU-JBgpn8rnW^s*E#cz>ygyFjB z@nP9w`P!D77Oca5U@>+!s3_z)9{>g|)ewh$&8hrAEbPw6j#G&s%t)u-h4eI0h(e(< z_4EZTmWtAfDg~$#h1yJ4)cH~KAdzx$0rM`$SHU5S1B4-(-QoHCoeMmKmv`f0o#?Jq z=wOu8(?kwX9TK=+)0+9fj*UkKs+$(3a`t#o01>v;ZsMIBBvi<0rIM>q&K}3tNF`ll zJaDh1aN)c$Bk6=}4efcUilSw^Be^2)QuxY3<>A1&izfO8*;9 zu5F-%RkV%(T-ljGHou#l+svo$0rsyreUm|q%)qCw2lJ`4Mh800bo$oed*$gH9sI_X zAm;-ZU+wfw{S(mn2dXYTR`dc;53ddXtuix+BVo%2hfzD#EO z6sMdu{}{%n`xw&2g^t?Aa^nvF~ zO#cL)Eu^Jdly~uk`u=SAOB$ZsXH@yym{T50lo+GRPrI7L`%}IsezN%Dd#Y<6P{y5c z2)4c)K=xcvEjl*C))x=aE0|E4Y>ANiIA%6*;fcwI$9*gDpcewmjIqq3#*2)}Z9Uh76ZVM6?4 zo9Cf_(7O0IoQ}45AYVb~s&?_gi*&T*0Nz(daxI!}S6GXoS)4A#*En_uNEO-^O^A`E zII70?5G2-|_aeS+acv;JAGoAm?VZaa%T|1!f*~y{XS3_!g&SX2vHA#x?5QZ@E*FnB z)NTI=f9wo&>imQ2;&Fr(@}i^O7*x4 z+{b-sXAMO<8j9xbpS<7rU8A~BAzQ(zYl{cXRdzePKn64}bqw9QOCNWFJ-#t=aPeTd z3bknzce&ghmNl}Dom;7m56dS!gXZcfjdco3=Tplqa3QC~L+SRM!`SFrZlR};#ljG} zKcQXAEijyL@xZ!2qg~4_^n7kJuLPa`JdV=9}B6$*)ht~0l zlxi)}ock%{qFU-)j(P(iy-qiw-#l-R%&REM$8~CNRKAZK;PgsgIg|h4#qLeS3h5zx z8~N%2sxtt5vhiAgaRMyJAOggx4kI*YN{TpVm*X?0@Z5!#s zhl|JFebSf^I&ns$_PH<7upA)rL_}KI%c(_+N8}Z>%R4Wc4N2d*W`*G*4vWX@wK1Bi zha>fJ*UXC8iO-L=Nl^Qzv?gt*ny<|sx7SEDMFl+~ui&vzElD%eW5T0be&}tH6}~0c zF?*}e617vMA6$U)Mh)Ra3@2w1EeD`H92I1xas7Ig)-Q|tN4R3|_$a(u57PVChL!c< z(F^DH0J>*Q=e(<_i!66!k-=${tBZ_hBCI7w!6m(DYmSN{Fgkfw^=t zq^m8S;x#cDKLaueeJRE_ngF0GvVm#hn^k1wEFK!D;vZ$rsrRo0%K-pTx@YL+J1ebp zxz<(YmVmNS>pd;MXC}!yZ^+N34{=Ip&2=L1dw4^6N(STBouia4D^{9X51RBDBu1of zE#%q4L3R{8;INQ5lWm((_TRoU+1NrHiOTg^FgN#D;ax2hvWcrh8CQc5-SJy-Q7ABp zNX3NR4jGJ|?)3+lM0PL26Woex!2#ZIv&RjivxDKWf`tH>vTJ8cbzRXe2?{JCJ>8Lh zhtg)2i!H5}q`QZ>Q_{>!#XiTY^vugDFb;TIhuzo&qk(dc7uL~Ik|-e|Aw;%Y~*DGwjRFSdJ z1Xi3{9gh0e7qMA4&Z0tp&6<3zY82mgwj~EhJ=+HJOv*Ub=BcFO@9NEbc=SjdfV+x= z8~$nkk}h$M86PqF9bLO!IiOLX|8RmvU5zWb8o!|b0N++rq*+Siga~lS9Tn;v{gBUD zK%<1+t{ejK$iYIeHk%HA)qLn&FHKZZR7~x?6{tr{4Dm%2-&xfrP8GX09*3xE6CLPu zrQnH292TqlhIa!8PdpB>jmp6%YoNDYP36=ienllmHa+mLkxHLru^d1OzoL@ugNF$= zQc2;E16<%&RI)QrU;-QL!9dQyF(&Xn{XpYT%F3ekFl@lNJyEbfX_#2ZR=pos!#r-V zk>8|Y9_{x}&@fJiT091@jY>*~LaU8`s)mhT!yr};+S^E_(=ZXwe=e0?!!WuW-CH%Y z2H8cYfwjpc#t~cmfsg*$T2ZnNMt7*ZMqWA%!#ECxSIDK_P4qnLkz}0S5%x3=?&1&9 z5T}~Yfk~>Tvz?nhU~CRrtJYFR5GFiu{>?_9QV*!UFXL5GsI^iL{t&q}4|Gv~%$jOB zr6jG=ww11AOq{R?*NDQflHq|?De$a7Eo2;=U`$-|ZEKlf0a9%V4@C^iz_($*QES~)=ZR^WgH+Up!J zDQ=#@Ke}QDXD!=waB{I(T;7~rEObzsI*k*mz-1hI>0hdpf#sIyD1}ILKZgt6EN7gK zDPb6?(9#ngfvE>jS2-#2jpnx3$Mb7$_!tXT;jD5aHyp|d<2d_UaKlnVO>aeCoA=P) zTrgYJO0U$V%Y;@NQ17WF8vb#Bog7@)oD8YOFi zx_zUM4p1sMMrCGid?xQcVWxdUZ0ldw_na3I&sr?j#8`fAPYu#-+hVN}t8J!~4dwy( zQ=-86V53f>*##9i07@3Ve0OO_eRWL8sYWsW6T+VTGJVR@}<- znH@rpG;Lf3IfQlGrn*|bHhX(9XK;i$!` zp;2}!M+d)A8XR`s>2%}XxYr0$c1 zGb>^p9=eX3wD5Pe1S*aX@B=ic-sozbv`6(_Lgu79v!;5?XCZ6$Zl(W?W@|T*!VW+k zH@b3E_A$6bR!fG4))CTmqgf);Q#+h9-%Ac4qm&Lls$)niNJ~0~H(yYDV^cI$1#vJV z~`eu=E z{9E7qS|?}WED@w(A@R6nJYKsPT2}Zif3zq9r3p%nW1&_38gHUgH3I=*;bPm<^{o$F|5#{Hv7FOsp@SS>wFb6bSY_T9$J~;Gd9AhCXu17(N zQiKO0e6#dZsflTESqKk)Bm6Q(-@i_mM&Hygsar{ryX=_%B60E4tPH5Of# z&XLQ2b_|M#1w=!-y~Q`=M&2qZ~CT7BW&jpWGhhxNUy2^At1DU{q)Z0_Q>wN_CfiM+Q21a4yEFp4O!q zj1GRg@Wt-{`&gPm|9ofw4gVx)u4?N$NH$9G74TiMj;~zxEj}z;2M=W21Y{ld;|9N{ zSQkFk4{(hKYMd^L?q0t;8yk%}w((EAnK&hEQ0j2Vm7Vcn**Y*@v3|?0^QyRIU$m_u z0fR4Rk7C@*p^lBNrHu#}jL}6j*W2r#(5{t@2#AZ(o!R&^+O@FJmCc678UESmns-l- zT+l8|-3js`o69n{)|QfrePAp?iO#UhpsAl0bVtgs%^Eo;o188`zXeC?0LE3ClT0{u z-5ZsIdmgyBnVh7pIZ4TuoNeaERc&t~-n|24BMK}dM`6h@aE<$i_`^2YgBy#L2za5D zdbZ35h(|G@@+4$WK~iE}eBWt#0evxd)}zdR&)BKOm$7OqN7G6m+jtL}ELOk0O~qNu zCfy?`)d!Etz=_~u9u8U1DD}3}i(=8rEH`))_xxK%vGw*?%C@yQNG7`1?VAf(N9$%% z#yCb72JaXnR4513azSnn#4A-KAG+6BdSRFWvS6Nos>Tay>s-%3P@#Vo^gyIRzL(#z zahjPU$~N+`2= zm1JM=da+L(0rKNoMjeeWc(B-JXyl^@k9Hp3S@LmxuWF!@j6vr?pN&*{Yk;Dn+iD9c zYcguuZ}^zug8X1~2s)AqeW90T7tho{)Femrz@(=fPY&&7Ng)%{9l$4%VFi#BP!SV) zeF+|^IAezltCM#M$TZ?N_eB!Uzp^QG`|LcVv2EXa|IFBV;9{|FV#VESHQAW)`9_{t z2Y_L+S>LRP%0^u}4}EN05!oFNJ}g#bZl9pFhHGcxpXm8_>)D1Jz!SwLBN+N@l|3pS z1)ew?Qmn!OLc{z}on@T&44o0aHZ}Q_I)1b~(QQsfKDoGjcK% zGyrct2+(Cbk${JhAuSzLNIS|it<)?5x7zv0uW4~hNae1;Yj>F{cnzx}fNf1UYu-`1 z#daPA*(l}yQK~z@D0;n>j#Sb#z(Q_g|8qy$ua>+Jn_B{a6^xC2v!d6~>s+;^fv;?- zJU+4D>zZ?)i)F}@-y(?fq1R#?Ga3?1_@8_~4iB_Jzn~Q>eh1ZN#b=Vwt^2_-w(bD+ zIQ$6ybvO&Uw0RcxsXV%|-~l+im~@+c66qI;({w zXMGxYNL?7<0dtvm@khnli1jjW9J1HTY6RVAd*!|GlmzlXdTqW?BC7#b549l9s85W& zMDuIGhsvDd-@^MrPopgh8z~s?;Q_0ZyJ*=sLRYgivYkJ`fr^JRywRv#dI`DftnOby zrTJXqk+0821+~JZW@_0(tz$XYNJ;qczOW l7}Bvk>lx<6?Fiad-(GT4EvV>Wdr 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༁=KwKu<&8o7v+y4ZLY-l2Vxcx05?O<%J5c>?g(_2UV|+{0ghXwi;Pg z|7;H;74USqT*v|DOAD6oK12dp@xIU58i3MD`B0kQG~=PDn1Ouv&NifPFy$COF@~Ta z$mXIPYXS)EGJiJIrvYf1R4dK$^udi51)~fUb1|bA=aK#_@oTo)Z(72ZI=s2EDJN$g z`idWLVE__p-^kcdLHISVMNC>vb92|`?xoUWbZKRmj=T)B`du(05(x@{L_A&GP z`f_#ZeExAbBK`}xh6p4k4aqP16tYIaeBOK8U*zytml&j6w}iYvWtz~j7Z#d8jnUI9 zC`B(EUWDj6i&D2VO0Dw)*BGC}Df8irLWNt}Qy?n6LtGC^|I2Tn6Qjecz|{DsI$oI~ zRBND1jsD|2Lc)c<`<-5f7YyNhE03;%d)3Y2xV**Fc)n1z;4Z!U_GE zPT7Ia&R8C&dCOhcAY_9+G@BWLEHbM<_ani;5AC6aV9k!$D2!tn)TB=scck4;M?9x* zERLIc2Ta_8FfVIcc!Zm)`6<(!(MmN`hZ)twXg`*CkzD)N?X+nDE>V^OZ$~!h%o#XO zmG$Fiy9h-3`zadUwRt@fVGH5L4=H?J;KCoP5wLldFgQ2=G;>Yb?}m?5i2k!weB^2* z2UFGD{`f2&Vc{UU%ctcKjSeZr?IQs6lUh1!uwd3a?ck?zFM)de$TTZ5yv;2T#*gk2 z*zlXHIA?Eq=EXj^jwa7uBzk#svar49A;TYA6_!5*M0sz|**<(i$`8en;q=a1=XaVZ}NhQt606MZe@=gE1;F;)){+&CFYR+XAw z-l(_S>>>c{-%6POjdm&h`#|}Stnk4cdK4^F0f%YZnNA^%yO|>`qe(wp3&1%p12hgk z6#MPu4aU?nFLxMAy`{hJ!64J7jXz&MTyGs5*tgsgZ#O&o-&ay%$r6Zda-a^!`w1GZ z%LJTH+Ql7(g5S-wZQOSX8i;Ab^^r5<{7J5#0#9{a`b3NEB&e82Wx3nS$RrUeEE2l0 z8P-4~Dt1_D81!)sfDnyxWVO&l1Uu^m%YU1NAB($$XY^H#>vm*z+vJ#P>7Q_{mGb3x zOhxC{7i{QOXhhlwbE0cq!dFw}81o8DYDc)4bMopnuO;bp%TJ2s)Y z$oZ6wdt}H&=13b1w>{3o4o@046BesWABvga(r-D~9wjpJ!n0i>^DvGZyB2r;F-ogdM38x{)aTS(qtp~i(u+dpmHBPA?b8moCk3u+=>6#C16 zKm@XPEcv(H7W>;@SzQIL9X~_T+};4?DjO9Fl#)mlVFcytl~;HkD7H*ked^fn{T9wE z!;qm80fbHK&c-8I6h4^rxI3DghBw10i{ut@e^!~kATp=w`68F-@NJMP0xlfc4}#VQ zkC;aE0pqbfR+pC?qAy-9rQk8oUI?<%-QP9Tn|znAi^TA2^{`p~%EllS+D z_LJjR172TuO@HW|WAE#{!k|JkV_Z)9a^?7}E(=;CDQq0RI^`1;DAI+|!(+}+*X z-Ccqc+${vx9Nb+F?hXm=?iLc@;O=e**WfOX@7Alj@7Mb^H9g&Hch&Utbk$yaEjCUr zetypX423=|g}8aS1^;6_{eSpV{}WK-GlrAfCqIh!zmXdM%ZK9R;S%KI`F~A?xY_vm zDY!Ve*?9h6LX?~T#H0ta!^W%pAz2RqzAHyOw2nd}av~pJO*W~pRAWuj=}&dbINVQ~ zP}d&MV16@V6oUR6G56P}wm%=wbsv`ryHnyHfBt;Z+zVA<&(u$6({(2TG zX%YW;eo&Nu^RNDRG7bE=OGptzdSp&0`;ePY;;0BMj2mK)mS4vCJ$3!{zpK;N9tNs! zn#EebW~OwQck&tbEAYdy(4y0SJrt_-Nm8o6(l~q`y z!4~?dql!dJf|E|xwOSAsTDUayTKpM{^Leh$gW;Rz-h==1O1!)PgNFC(e{)DW|3pWN z1}B)}C<-uG{pq$>@00xI;np4a_St;#DfUl|g@!csweu59MSb(WxQX;LXz^8Qj1(gL zz}efAgB%SBPSb;_D8py}m6v}8sXx@lHv{kTKVw*ZdX5VJ@BQHU*{d$==kW2#|NH## zk6l#QoKS2RyzJ)`g+GjA{sVccBg6R*{B_qZ5(|y^w)Bv+3{~T^gX5)R$tT=iz{CHb zZ!UbL-pRMwANdSY&se(fCeG93oR{`8XYDe!Z_7s?{BZSp`0+mX`5F^Gt`7shhnx~( zuM1lz+*`i~zFYUdzj{uje5l;)@qBenwws#`e(?5>@_i!E0ur`W5_XI3u-;TEU1FN-`ly7|ztL9xbn$)55l0>> za!ChGAa?;8)|$hFOh=#XDPTeW+GD~9@*tlr43YAfsZ&KZpl~NOa3GU9gZ7pRN-(=)`cnIv_lAE9bjIs@B)Z0Dfv5y@J0iu&N{Od__8nmA^%SRqA?8HP~u_O&_!_Ygm8I zym6J^Cc+G|Sl@W9nOD^WZE;0b;Mh<*%zOh0Pl&nMZQ!FsHSr|A*TRK8Tc8i8vphG` z%B%hUKFZ!mAM#G;vzFZ0rKmFyjPko&`I7~Y$6ZiAhKo=nA9(a7O8)gz()Fvk0^xJE z#92qf`uyMuIBR-DEdn!F`eQwqlJlHA9);P zc_#yNr(z+wio|WtX=U)V$2HTAqd|7PI?%CT7Ef+KeA-Vzij&fx?KeD}^JV`8D?B^& zulDgYhvVy{_Q+zmFmmOQI63%oDEV%F03_>02SI4>U4{vZWj|dAOyPNua>Y)&CoE8$ z2-gYKJNt17F*3e~k~(IqOLwu`#GD3)U22XY2^b>CLsZ>WE2T6Z9$AuMUD?>v(PkyI zYixhRJwGbb&qAEk;g~zo%aWLI);N`O3Jj0Uy?06RxLOnn=K~pHUavZB&WEh)CBtXu zD*)EIC&Qiz8xgB(jq*92445v)O2KMQ)L72&fHJ>BEW#DRlM1PD*aB-{W_C`~)vGm? zos()hfvlrlZB2z1s3o}_H+?|RX|iP6DCOXw%n`GVFXx-)ADY&R^Pd(2Ik%tr8n@jq z{>n<18U*#dDSU#kOEY_dyct-{nbOu$-xQ#^e!6mgkxLQ7I>o7x#&eAbM>}A8v7{EL zGoRS_3eHl~*Hoh7!)jBH8q|{qG44|feWbP9grerwRkF-GhnRk zf$3W>g1s;r;>bk{K9SY1>2+WaMGfFYsfozFoAf& zRs6L_C$#37d&BNG`9cJmAFNz(PIi3;N}tc@?is2YSv)QK;oK|!`G@>wJ6FkVPxI;B zth&=F8-R`m2rV_ZQpTW_=OMI|T_DIzD;hMXq+|u{_kWRH*h>!Ph?Z5po6v7}nK3=6 zws3WsNyb0nu7(L|Rn`1XCJf|zp_8P|R)Mq=v?=J$ng)GkrO`Pp5DxO>B~U^Q-T zZDmfh9K~U*s%6~|73{Uz;$tPptcI6p(4hDZ)NM`rWmjGHWXutZfR)>H zKu27CK@`mD4%|`5vL0aC%-BHuqbz9Q0b;b?6nkZXk;AZwo9^OAa_0A#yds8nOh+;tm7&Wl zDE+hTe?qDU6ssOqFZxbO0U2v{f}@UKB(svVE1cZ2vv9VF>SzekqCKS%w&b0EhowoOJAC! zjLb^J8ar7XroXbvBHp0c%wCWcVF0GB2V{8}oV)WlA$##hy$ju{1m3-}wCc?Jk zVY@P!^QuSLYRSS>dMf=#R4G!mV%*wZ00l!T>rl(|bQJ7m)Ajpp)WW6k_!zET>omeP zO+C@9AG)k+4LJf@_$viMNPdO?@o~4BCCLj>^VS~yvMw6khQ!pR$xP!-v zPRC(DqF3W-aF8jv?=-5Vn#?w7Sj{W9Cp0co&m1-s(s{=v)~37d(4&nOm8BZpU)H3M zWcF~#3VL3RgAjQ5x)FlI799moG$Zgzf8A%0%ttLDSsnf{iWg0{KU)`aGp$<6zo&C{ zwU+<`9$o+pKfF^s{IO*SXkw)iHu@9u#Nw^t0*2h~~8oKPZxG^Ul1|xpE&U5iz`uq&;*!-yc*TD>F|~FL(909@i@|0- zdMvnYm|ntBYw8-BZ&87v4NdPl3lw^qyC7Jt<(~)VbgecuDfkSXV|0*FO;itZ`@yrI zyQ%jkEH}=@y))^)?Tk3q%M5o9?Hw@l^2sZ4ii|1k{N!fzY|~ys&AA>ccQ||Z)t?Ki5vXqas@Mo@zZK=+Fi;j0lpQC+I&z?)?3*m26I|gEyUXPX#wQ1p z8}8so9lo%$Fr<-y=07(|_udb9n!$9t9flMqjxsdTPw#~uWwNV{iPys^Xn*OyH zmg^2SL^%tSwGOtO;fBYhGICyab3rRe(d8YLR(^) zHR+j&)<&@dVdB7Od&4NUS)4-#8`e=&u9jh)U1d*T8dG2o~?s zXFM6UNS@Rr`KrZs(IW7F&Hjy*T=&?$S~*{Ux2`Se8SALf5GB@YLUx{vU124D@O!>V ze3}ic%w`|f(?C^9gF=rE*hZjrJK8fDl-NQ|53=JsAP~W5oQ9~AK@G$toiT)ni2l{b zRkV3Ty6@1bj2Wd(EHoVW#BdM*_$54ycKfsMg}i#d`Ce)$*QR-i(M^JcB)(Q*YU$)~ zb0gDbE7b|!5-*M;GO$Z-r~W2pwNMi2kh#FYpH4kjIFjICNIY)^Iw1#3) zEt;{iF@ethf+I1GONu`khBH3#6O!h@A^v%gp)|CE#doFs{ujgdK1UG(_{w9t!DHHJ zB9_cbdz5JiyI&}>v7bWLWcfRs?& zNX8oyt`d;@fSEx~nn-9mRAD{T1xE#r%ThoKiiPO|)X8zA*K*PZ_6tucg4T`7y0)ez zv(W-dz){UFsVXHyfiXRXFrAVv)@H?Do5@567)VHDnNgETrWxRCl30nBK#zPyfa_e^ zDwT&Kfg~rfJ2jxzk`hx1kVG6^H4T@3^2XL)8E#pNVqjd!Z0D>gnIqtaUt{x(a}g8u z*tSGcEMmGSX&N*4(P7ES2Sw~dVOqE?f12X0W6uW8KnRxmJ!eP>zCa<=Bo-l6`N7!+ zyMy)J*&)pS2<29!UG>!gFjw%sx#9TCgG0uWO0z!A7Ct_#@NZ3r4U|SR1lo464@_yA z>=})d>qN(lJWB^N(f48WAQ)?H6M2$t%ihgFl~Z+`!MqW59%4aMdNn~q5dgDk%O(3Q z?hK#04`Jl&o`$rP6+<*7j3@~T&mG$=A|RLfA>*}7YP;T{4JQ>kA^ zYv2!z+TSrJ7;A{UzfLfO5S*<{BX4l)1aYafQKf1$%ra_Zg>kEP9A|7m{bb{D+1t%E zyyJYIb}b%9e~?h3*ILL?^uH(v-JmG?=;a)8SWj;RX&Z7PD17H@zWR>vj?fj@v9`(m zonFJTgTF%Qae3L&%8O$m020omA-jsE`=sWuN3~$foZWmril@e)GB6w%I}>>#PT3lM z+QP|1f2*Ghn?K?JHQDE8^q}m{I^ZG>;dDLI57rEw4(c6A4K|>U=c@0CmxaS47$Fb?Kb<>8 z#T|cac;D_c@I)?fIE?{2!eG&$z>|F2Zt(+!&i?sRPS9@LW!um+W_AFfsbHC0&^ld& zM-s;aiv+9xTmR>RHYZi7-o$0Vi3>Fs#yy|i(Bi>cZfB#K50f`EFMzV2bb=UibiD`; z;;0aM^T7w$d*CSV``6@Od!TEq(_m?FEq;@T>-&3Gl(QU~N&CQGadS0S``${sM7um4 zQg(euX)UtLFMn=KWG}FQQcMS(HmAWM$%hCZ$o|_`Lcle}@i(wS{M<1p`_cEww)2r& z_Js=au#r53pkYDTt#;0qnPRj`G60gf*_VNaNYTL(I%#0W2)%wP$_U}2zN zQ$C^xE9x@<7esaWv_&znlG5)zdJ9BhjG%2pB>B|Z$jwochbKEK_EfcARC0flszj_g zvKr12xu#dz-J-wVP!O!ENZs!$U+fb2s~;H z(@_;#C;Zh;tIPyU zqv+7d0z-E`5Ok56&mZcgQ6|?JJSS66KI4DwkbUgFcjV@dXawn+S`$Wx<0^=W08Pu7 zMO^pTU9zfcTK7(7R@GMV)lnNYlWooew2S>8%l6v%3SlziaiB>j%)0TfDNJujgAvZW zoNB|czDC9@>iNi6B2YaewTAn+ZmN1Z`zo{E&}z2)08OAU8cB8SDFVvh z@^wQ}XdAjCrfIWMF$>emTYVDanp!~2ZIl=8uvE<|HWX*;8%wCVB zj-f85nSV}mt5PoFYEb?MR_MtB?u|y`YI@ZXAb`el&f)1A%Nb0zEBu4iV^2{;&e=*Q zZ^mZDcRKbKsXy#CvR63JAsDS#osr%D1{q){G(;d&EiE-7_nYp6(_Aq~-taj&Yy^Jf z{=V@V!l09}OT;JX99(0O9$h~Y>UHGjt&>ftN{HafJw36$-RRhYZ=C27B0N*?oN=fo zsVkp&f-wtCbMUu|k;@F({3!Q&3>62~x(vJ>bDFLlHbqp{d_t7Ayx$0DKE4Z`K45%1VSKAIJ3F>n>{xl z4+z76w%g|#6`gq-7OFYmu`eB?`zj{8tgUhN<`8yU$_!x2%@E?HQANkYIrv}Ua#Aco zIQcE5p}LSYcg3uo0-dfy0vNhu^nhHb+Oq?D!a;)7YiSbtG^DE0)l)DWA@w*gxo{t| z{5GHp29AlAwFQU7a;SLT-S=loa^HGmI+x0~n!DUog1-!!!{eOs<|>p_4b|TuQqy@c z+e^_^f<5_879yr~v_*6&26VydiT!`mD}?TBWxKs6nR5UR^fe~d1|8bqQ;@QIv9 zbkoB)AXlR&s-i0s_5^#wpCMa*oK<0-_fw@f1`sd`Yj<8MYcxJtEBLE?tNDBw`FED` zkE3&ng_9i018x2Q75>sHw?;W*Z49L)(veYU?4QB(vK$LJ?eqSj#!elIy;|0r>|xjd#?V_QbUY*=)~b#R|-tle_Jnm#hi`yaA`on1=`n zpH{k$Jf?n>nH2$5@GxR&Q_3xBt8%N&^-j?@2r|Ju&npQti$|N1#5`AH&oiaXCCv+z z#BJfC_ctmx88!QnZ(P<`{OtMsou2#v21jgkKv_G(lx2*tIa!F{cNi0k0JECNlMZvs zu|F*|iEy&&j|QD^iO127wWcfZ z+ZFsetlxa;g}ne)eorOWq&G)WTc}gx`tuUT#KjUyd}0s$b>6V#SdXdW^3t|?MixwZekf1N*@ZheRR<$d=_qi4Kq>n);;{{M_LkxpmSH*-Qyre#hc|l$AMo z6G#Ee`|TTyX=bakeHKmRdlD(qA~Ll{1~HjC+E9bZ(x;a0G}|5xTOH|&b_^jLd3;HS zN_Cze+P@u*t8HJQU+}T)stxG^xdj`v{W; zMIREIIV-{L$kURV)TJjZ==oOx$3DdIwS+UG*WQ)8F8zl2B#_5c#WVaJ#KI@mxv z%bUj3sLT2(Uv`6+cpQi@3`F$e?^PRMGL(gP>w>z0H#vub-!`G9>rWGTn@Rd0a`T+o zSrZ-s(bHa`0Ug`aK6O;Lt8^)MV@acbKr$|!%;{dk*~$xq?JM^SE-yp3UtHYXQoB-^ z8YOkq#Q6baJ#jx+W$q)h`)Iu^J@Iq*eeZFlGj7qyYWtv%DIBnOlgMdsA_S-3JIGwd zPHos!nK1{iMpw%Tjcog{F!efZ1>J?F!U$yNbyI0}b#FDYYHcVWWbld`;~%!tLA36_cSzeIU0)khga;MQz2n1 z2*pmu7%%SD{6WE{rs>slVNo(m+fh@vGKc}gU~XWE~Wzma3J(M3o3Z)q5&(OI2_INDi1 z^chZ%e$QIQ0uHM%Wg*r51RAcXh`(ne=wN7~t^&&kNW$I+G)Hgk85XM6lRds{iy?TDEM(w>2C! z?+Bj%lAqHtsMIajN+mWkI1}K$TGfQR|c(h#-`e3 z@GzZX_a36fKAX1;3yrPu?_|*$1=lWQ;sj3)cZr@sV!YT!w?dygUc>C~DUP=BA-!** znht|YZi3@Xu0`B}f0W;)a|bZe%ZX=Hx2^K}k`2+#yNTN(dPIF1aT{DAuJS8PTnPv5 zyM%KXZk@XOd~w&Cw;Ak;sq~YO6P-1fb!*!V$)C|Vmxt>=Ja8 z+A(0Jhip0H{;5(z&g|y(6!2>8(F*{D>#oRFFb&ZOzZ2&;fpL28>j(1Ws>g6{P0x2` zpkE9E>ubKq-uwU+{1&t^*i?YDU8QQE%cB?eg% z5^<}`uZO&wtQmU0oD^;!a15&*Ns<1c{OeXEYYc5)7fM>Bh;=4Upu(CJDrN1XJ2;=LW0-?uST#G9 z(w+8bDB^<&;r z=x@e}hQ5lEIS~05daofe&3!9N_9p3JWxsoBdB%8<)A`e^34$s+6nqoidn=3i+Q@O= zZj{*`R2ceE5$W;xeKI;_BuMu3p9X&A1_CQoXS;Mr?)M`Ei3@lD($=zEuE!S4$qf2s zTc&2&rKfBU6L(~4=?olKm(l|9V>|3NX5RMM@y~fE)7~?A;80UpFVw882mwx^2e$RO zxYZog^mnRaT>o|NJVe>k`{7z7lBJBD#g%Q|CwHZEq|cJcC$^fnYZN#)GkKr z?N)boY#TKPPkzz~(~Tovm59cGJ$CGnF&Ehn9Wt0(B!+Lpz)7ADt&NuKgMTHsj< zl@Q@EQ&&iWABLMP7^Ry;k_Da#SoT_4QV{b4lK%OXCuzeIb3{uB4Rdr&PZ;$vV@N6Raw6i^S1DWRbiunD*_| z3>;u(NFr$&;=o^{Eq=lah{Q&v_~)78eFJj{96kqtmKmdJmvdE!D?{7HPBn~y6Sz`M zphcXNC2t~FEh@d0D1$f33ry#f#5}ihI7moKSi@5|LM%P@!dVEA32sIE3xjJe8DFv$ zs=mM=d<0&sCkndhQ5*Uf~mgQ5V~FjN#X9 zF7@o#!DYBuMV}+XZXWY^7$BJdn2ygRdkUejgSF}$;t)g@;ERF(RB|m9FUdB)0I#7= z=w0)OCCa}$eUPs0yd#oC-O)K&Cj3O-u_0q{BKK?FCC1Ea!(O_)=-%^lQ-0e9anU?G z_APJ=JExH4)!1)^Pe!bp+~4+^rgX{65y{nN1QY@$l%#bFsC*eJt8XNU@~y-{LI|F- zUx0))U^R$CvLflSU9O7Ii@kvpy-LGm0(&XBat5^pgh3kKM`kvBz)?K356i|5JzOxz zr2P9O7h`H#CNU7&4g#W%RJ+N>PBs2n>rQ$NfJ^5sY(79^x?Y$L(a2SI%B!KH?u!uo9&NIXE%>4>*Ckxj;qL?;Z3( z*E@L>IwbP0`>n`#qEs)8`j8Cm(P%i_BRsV-`Q(Qm%NL{ZBav@lgp-4$%MAuGj(Va7h0+Qp0H7)v|yahlva%+v@Vl;px!f0!Ay8mEW>jO z(ae-A6jpH;rg_T6Wg}G5^8qpFNq@$!oPWrpykY5Zt07})S!p!=f<;W_&?ym-DeH|@ zyb)fY03zC}BS9xP%FK&e#v6kX#i@dQXjuuzC;-PNEF3$@v|nKf7w5D!NyyX$U*7c{ zIF#jxNkk8aB+C7o>QEoz%Kqv_Y{^A>U4 z{0p+xNe{CGZ3NzW_Rt&5)p+#W6*5lxq8UfX5olnJEQP!0Hgfvwu^xkRrB_yviDN-` z-P9=^G*)JgSO%+l$DUPz=+`9HUJL*1I@=}lj@b^Wow1)uDm(!|C9$TG-xtBJkpj1A zsied6rT1edHtdZhqOXlu>Q9XN_*GpM6AjDN;pL|N^X5^7`}>hn;5WB^3d#sF;m+`T z44~BBQe)u|mh4+kjm8t6N5N)H~(*$;nKJwCweSxMENW}xV88_bYisI%0+ zgxs~OZ{<_s22U6~d@C6o2Sw{Y?5p>$@Gr#8*ai(mGq6dTJ3}y6IvrPRABKvMWj~KT zi^myOzW7fov+qtsBLh{eEo#(UuB1(==6_iQtL-@a8;2rdEY zhNO^p?==JWvsh(UIzLV3b_R>8xK=`ze?1JpPY+9Zq@4j&qG5f@(U%0H+`LEpXB7Qa zXiMA=u_Z=@<#)l@k#kZVm9kgGE+a8|p3TjBcWNdDqL*qWtfnJ?&!mY3( zmn1#i5g$2|_T6x2m?9lo9mYZNtr#zfXz*((>eneX1=e(dV2kv#qJ_57WOL@KKc@|U zAr}j2xms3dbgu>G-+3txf_0?~T*HbnnnD6c6FqaVmHViF@)YWGC9RzCrZyO10L`hf z0LT`9K+i;rl&tt+aT0gA&WUEa9@X06#T`X^dJ(cCPumpX2a8B-C2FLk5RBm`Kel3r zr$!h{rqf}Sg6oat$55}L*ut+3Fe0z(QxqBJ+k|A1?sk@nfl`5KHXX5IU^RW9KEfIf zRTQ1S3Rwn6@n71Z%*70jbn=jt;mAiztJu|xY{B`V7HbMV!We&vbvkq`UHSUq_0Eb@!s2yB6xkF?_;&7IB<@b`X>ov=xKvwtEwAxCE|+`L{I)MkR_hBftb_} zxe)|KYUCM|3G4t%O=!lBv+N)e&{da(bj=Se{8iPrrwB{iD>~)U34E-tawGbB=%0$4sD%wwoAO)4ZiaztO7i)N0@u0^Sk_TqAol2vFcN2O1tCfs;S^H z@o%J7s1zoC^ycD_q_Sj6e<1>NVh^-EHK@{tNB<$I`SDJENP(2C9>ulH0~dmp)+;3` z``0&##9GP0H*Oy~W-Ryji;Q7EAm&O+w&Y8&=hbWU!r{6Cb3Ce3>!^s|_Usu-BLhTnuLY?rgWeNBICqk@7v*lUP}n37$OG01^) z2ezbwOY=gGZISwct!qWz>4UxKc9r58W3EmkMr_>iN>navcV*8uuZVp!ph~TNCZ2CQ z=*?R%>ozTG2glZ0B$DzoU#d2A9v&sneSPNOgdQZgvlqtv{672UuBj?eK+EEeaXQKbkS)ge&rY?jt?y*=1l%U=zxTjoX7=gU&D((b8DuKRHb z_L032+OpX}CogkT_`1n3jEk@Na;8hm2}$h}0?2 z;}6~vWEE_UCgRTtGq(oSoyyB#Zk>uqv3B5aNA^?bl1Jqf6yTt&U3A8~PP-_^mFaQW zIQ96d-Xo6l9S4=G#4@xJIwm896VxtDX4YJf(S#=~*cg<0BGt^})#d)ks9?XQNzYLQPW%BNIJe3piFyxBVQ%bo}sq99sSkJ?AX4j`;To*P$&(^mDT zVtw7dd_ugV*TOY^M$l;1rO3GQVm4FRkc?ueeMs*hZTTYQP9jz`R1*c_EFQWj7~i6M z2#@iG?Nhi$zGB!AB?6O11VD%>B*^Y@R&gKM}3|L^Vct;Iq{3W zpADdnSV5SVC}N%4(E3YVaU7ydBAwhS*|Y~sraOA7Q?5>!>F3INTTx2k>cy0a55fm! zCiA>h^r!)aH04d+F89){jY+LWwlrnzm9Mnzm*l+v+?~kon@}@lNNw4&ro*8Md)v-)PF@yOq0hvKS5Uai(_S_IDJxmiReXE>%E+q2kZvZh;%1`Jx% z<`qBl?6t^sq~e;S%_1~p-gA02rF1|sj71jZif0`x;Xaa4Vy}i6EE{Lg=;3t@Wv5Ye z;%|9&_$|C!;q4&G`!G>DduR8nt!Mpk)}0>1zWnF1%{tqlW5XzM)PTS>*mKg6lWid$ zEA7waS?eRw*_9l9=dzu2Y$#H1eq5h@bz~_?9n3s7M-MO-X4c(j`p z?89A@jNSnd|MDk=rL1unYGS98_H^{#MS7Q|L<}NS8BW)oiVQd0<;O3P81DT@@ffv! zoQvas)5sGSs?g?Gex-P*j@J^j8N{rchh85n+3<6gJ1M_m`729ByXC~SHX^Q0l2Eq% zbP`_lbdWRLgBBzg3-WQlR;KM!dAv$(avmy;QOIN`kj{V2RCdiC_T+B-j6C3dZ& zYn*P-v0`|VZcv-cmfkhm^=k)M`{xr@60zpd=ch=wxbqFb*MMg5Ob)ta;ElQdii?pqpCqSqqoFf2y^Xi8@a)doTT-#*#Wix11zZpH_J*-^nbaFkKGjW~NbNV2H|pJ&W9*P~IGe1lr^T-5sz}jTV`|=5Lrg5wQ!i7WV*Q+u^LHp(*^z%gt z3(}FU<~`Wtg$D+6!36aC>=1+!HEY$Y3meHSbDbdfa0;Q!8_(aV2;t{h<{O*`#VTr1 zY6rLlLB=IGiEslFyY|DTl%wXPmW1ck1BsXiHP^{ZbYn=z0D4ZCmT4i(D<=Dl3X2m~ zGg^jo|KFH&5v_jQvx>(%2e1g2rI`FCQQ zh+n-YX_Uqa1aOi1d@=KCn+wa1$_E;rK72r;Ec4JxVqI&~RM(od#a5#iDV&+&=lTbBuJAZf2d#x)INXoB zVoC*nE4`_Y2(3EQ%BTj@gd1(lwtzQ_yN52xzE7ng8XK*xxr28%o2UM8kwgi85S>UG zbft~lQBLkHm;F*F5|2vtVo=^%YQ#nqWx;3zQ&dS~@Qgi5;VjV%G9Fhr#oqXRu$Zd! z)i?^z5sSadS;M>w)Yzm(TWrvU&@+#4m>!}Rp$}asRM%ieD6BvkaKY92SJH3ps4rA| zwXuRlBU>0yv=wM*P+c9Cy5rP9*}_w*GagaxKd-8b-8_zgVy{_%;sk-yf*h?k+M;Ui zjjhk3Z|LpVUZ6>^=_wARKVaq9)NRr4i-_Cjal0GAb}f8zFG0%dO<09X8+PhTTalt>6nY2FysyXyMa|vrcrbk&-X;Zuq2hcga zhx$)vy6qW$Rl3Farr&-1;7et~1AFu%_ooeg<|LEjUhYk+BlV4z90DVK3}Ku5w^)JU zc!9~pkSMQ(K<$vu57Nyc69(Phfv$j|FdV?Y*B^=N>LVy7kZ#CK<_D7lb~}w*wshU) zB9|xpCjW$a^pQ}-*!?gv`J*R{$8&NjEXZW!s$#rfX1Ux<+|sKgd}N7%!}P3MvfM$v z{()CL;uwfH2>ORH0s=kDH7|K74G2p;{@rop%T-d9urV{LP1{JG+)@%$a8ToU7FVrP zz{va(G)Q9tF`%IL8u!tL!g z6?~mlRJ!~sAf?iDzW3&OC@H?%+pTK%hB9LW2J*)@pb3Qtiwp~YSO(N!AHydNpcTWt z)A(=Qx6HTK#sOG)>3>ZHg>dSl&p;-dZyVSdU-U{~7kmr-3pv=?oJ5|#*;eke<>jD1 z-{t%xg9hxN7W(;Pfp!DRGyCU&(#g5rtqQ|AeyafuyHEMc2cnmA$rt~?TY9NdyifE@ zxb8*NK7%dATc#hyV=L_0&6}sR7Oh@1fGy=-TNopnAm0YhW!>nCwM^asA-3rrj@F|f zJi`~RhC1!u`JS)wZgl^UrjWz#N%J!CTK?^z!3RxnLp3{%T=j7Q5`1%`e7UD2#z3N^ zmw4=tsHJk~CsHYZDCZ6fvQ2V)Y79OxBsQka!08@XV&JFNr1MLho!%IzTQ_b*WZgI; z%DX;AkM02V_b)c=8>>z5XG5(M_07FzoJvGHaAl~PD_W2@UZuO=_qmaMQxM0?K$Mfs z4x8g09m7@=J)lDmU&x9ruxT>JJyLK)xC#*r&Pz(K4(*t7X_$P|30Zfk{xi>Fg8-cg zZ06;7vj=y09ah44ds;W!SN0-L%6e59ux$=#B7X)jNc1e@WcK!yYl!iToS;5M)1kpX zHEFikP}y|G5pTYdRodKPbUFtcW8S21VVu{h9lB1g8t}=n=5+Ce%bGhOVZS`psuXM_ zw=kOhF5QqSE4FrYM5d$1u|MUo5@^3#oC2apNpz8~BCh_W*<79R{r=+McYeh4y*vd5 z6`x=S>c}sTxmERheUEXo5kdETT@9=M0-?XXl4*=3=jfH514P1itRR|JAwtpN`V!}# zgVpi4hGh+IhuQMqvKqYRFnfdUxPj8}97g->AqO9Ys=W-N#kfLo`#ab+qGENlbFg9?rsvqtG+~+N{MM!Zl0TT$!5oig!c{FHP~m7L87@{|7Wc%fCyOWJSws ze(-x`y=bUT@72}nc8<08gUGoI#F&Vzn@=T-7q!7u(&mlY`pwfozC(dkdj`l7LuU&vza9A-QhO0n=e8;wV#84jpCm+M;n@K z6H8PfSVdb3et?SELkxsVLK|WrE~Ylcz)L(e+wk6T5oCro#lRZ&G-DWiXR|5(aR5&7 z@3wDh*{tNjtdj+g`CYICDn;whaxld|yXBI7E?TnBRek&36{hB12KoXD4uwT@Y8;5z zZ*HJP9uW9*5}fL>yLoRU&PA7$mDUy_zGdHa(P8 zXk%AfVqWNAYD?UU$+E~jJX+YQ*;fr*ntesg*_T1Wfacd!UH8PIWPevf)317Y-7`x^ zviOI-S;fB^L`%!%P5x@&5C4|URpv?xC) zT4C%_E)k%q%Co;k5e7eFD2l`j?OUm#WE4d_@>_H9FGJQns82S)4$&p{!4K>VU-vSe zXxDAKh|hgBGRh)4A8yShjt)JtIFBQTX03(OjvV0^6gnFb=+|r@)2(*8Rx%=sF-@D(b-LJOQQ%`$+ z-{cIEOEkZp$&H>72Xwg-#ksy^oFa({=gmp%O%7UMbl~M+AjO^zQ-FE>YVI1$BLsOzM?>d&jTG2}&u?z9Q zs=?+ZknrHY@=^r%tKKy-_bphL+B|f-BoG($_t`!_;81h&>f#-YgNkF1wAv3es+0%_|iFm|J>@B%s*hM-ZkxyKC}toIm_vSpi_h1hqi>$O!HA&dY%P+XiI2poqfH_I0X{<(#qEH zJ?KofjxQ^E&PvSfWU!7@%_+bQZ{Dt;o(^1+`?#t(gXrtP;zLI;Y^6f^M8z5h&#F(2 zgRgAti4*q$&L?>HJis|!EHoZxeCjRFz#f}gzAQ^XGhd;1-!u2WUb(wPd)I%(c z(uw@=1<})~f-|6xXkC@$|2oWu@0wXv!nXIIdc%ywG(^`iE!2A#* zMpl?$I^+?FiZoEG^evR=!@P?Sy5J#&^a15;CW16DS<dG+bVXof3j)TX{DBhn?B{jD#MA2e`TvUrC@W)<)BmhDTtyUCl1 z76Ifx1^eI=C=>Y>@2ryF3KlH}IV@G3f`~?UMqbJf?ddp9HQei+)((w^623I?UVXud z*A`1A^YFOkCgxd;2z@w)1Z|@nYP9HSyG*#qoAXY?G_OC}IO~n$817B`5M9T28#1%7tYK?O$Tf zo)k&B)x=w@6DOW4kfNvy_LTe!gt;rqI zfQ$)`L4A?V#`%G<=rLx9AY4!I$r33WK1G}1<%jkUn8Jmwd=9tc(XZ)>LpqQj8Y^ia z#=EPhVL}4=B5;Tb@WGhs3{x+Ja#rmhX`6s@9jO~R)e{@Bly7xEHH)T&q7XI&NC`5| z^1OW(u+TVY8VGS)a0V8@V zEAui+fHI$#MM8~*Eju6|ENRkk;}Fo!$8WKdCKa2>3#!I&vfvwQnme@o4~%LbX(D|l$J?C^%*U(U0T(?uM1*!6KxQY`Mj78((Smgl zM|sHn4$rL~is7*&ob#v{n;2+OQLIuC*+X%VrsPo`Vx9%dT0x^I65IS5ZBdp%c5d?L z`rU|7&Z>hheI=%$O}6fovnup)`3P9DTk(nxF!8@f?ZX?kAGPnY`lx;A)B;O66`;A_ zf~U+9I+B+h8!#)!W^h z;XB%HGAAt8QJb+055u+z1)Y9T8Bnu9#NpRtE8sl*>@NF47*y>p-nqmR&xc%sHe>^b0+Zdvx~C4) z-xXZ1!PdpOvRc`_!cOLm>mqmq*!_ofv>iBbDFZ|U$R*lMW69fT#G73z%TQ^f$3ybUITpDer@1Np554_$eHdl0lO zQs$JPqNi+l3&^vb8uZ~_4BE^>K9#7#C)^JisyR`f!3Gs$H+%&olE($SDdPi+IyhkB zO&02AU$nU4hu(KLOaej=pegPFkSJ>7!XJ8hgzI^pfBT56mV_=8~6SEmr2@z z3U8f)_S7L5{$7M8{TFS7DvWWX9OMTOBfQr}jDXkw7@AiB3E@MV$7_~lAnwKn`1`O8 z;TIUfo^TAB!(MYR^4P5~N^K$~HzroaDQ>(vV&i|{6%2wrRLEIyjGy`juNJ|Q4~QdA zSCIMv)hfTlt-xF>1Tjg9^}YrW3?A}BzJqUE_(RG(dx>|KAB((m%#S7BL3&Sjx9=J+ z@$M$?cO}TXSHa{RyidTHC>Y&|l6R@oVnv+OXVU5aMXT|DKK++Sw*+|Y%MbO(Oy;PD zra{c>{cFQzK}-rL;X>|TESQS)jeB{d_ga+;!Tl)7VhjX+Wd<^#^|>j zg8zxr3PK77y*Kxbm}80b6vk^+66bC3BB-drrP5aiyEtd4q>FPaSTZ?R+FtR+ zg+$E7?Iv>;t9jg9UL{Mufy9lBh?@x)H9&P<;U#}C6xl_1z{fqeR(%n3b%W>m?ONR& z2M0Jk%z`8j=RrUJ3al;!Z4H`G zJa%-}V&hO-Pf>eI?qV#LV6d%$6Yj9v6T#HQk`68}Jkug#Lg0B1w6HWte3S}WM0~(C zp2&;14}LgI#@|5I4Sr?n)F)!lA|y4OTtL*eh0wTq_}F;cM-w)ZN!tX*5A9^@j5S`o znt>g7*UyWA#5S8w1rBY4FM{9CP5%O~n_KAQ&08R1BxK2r&2u!b%ZbT`JHvnydjd+# z`Vq1pTCyu0vkK)U18Z~WwlT zl^1pl`zVkxH0t-M7}Scvu@8NFz^@p6%SfsNWN#VIK9auNz)G037M{%d|ioVZv z!*VOUS=3;Af|4ZC^1@poXY#`)Eqg-Y#B(W(RTNizeR1rJau~BU;V8!}@dP zEx8qaKCnGbN&6eDetW_(;Sseon#9(#a$?OaEsb1ZaN!F6>!ujq+0X;dVw@kI)i@9XF=PpytMYm;^8x#bT;}ttE!6m$kBj1a*^ClbK+z{)O_3$% zK*dG)t9?*q$PX#9#@!dq&8dakE|A7NZoBM_@$W%UH;S%1Z=6d!otK}9WW&w{%^&o` z53!*d(4n{pe$}Ikf#=*hJJx9Ux{j`;5^5a}dWiSEOrtGm?P1RS+di@kii8*8h96xF zECE1tF%Xec(6WbtLkzs!#)U9Hxuk*Q;1LIQL*n@2mq69w1_9+q;tl$_$u-3&|*IHPUjb)fS1PCZ?vbV8a#y zeW@7Q^~wu-4DEW5QN)m_FioC2r46q=B!&dukUGXt-0->BTCSX32hJE;IXP;E7R$cg z;GvCY*N9QOUT$kKwd<7-GN{0CXm2PKG>i@UI|#&K6fs>|ZM2B?6o*c$V#*U)2_a+B z85uin>b(d8%b42sj+6s}Q4bF-KrX^lXiTxMRJLR4)RGaEdoTtf<#>r~(aD(=F*%k_ zKOcn1k}>Pla{EGumc|B=ec1P6ihbogG^RwoP$3@(kiGpz=^d=M)0x{jL^k9&P z^j>wVO#b0M9aH?<*eRCIoOLS84?G}YKUi8Xp@Z>4R>VAX!sl2l9Xc=iI+exJ{6lP_ zSd!F36dy~%-8=GWQE@0ZjwJ!FsTypkj8BK14RrcYlT0m^UhWY2Jyyl= z-9qTd*&bp#G14Dz`F`3jG}i46vH?c!LPzTW0w%r(9W)iNh~&tDs|H*tf@r-j7-3(V zSfLgq=2=p5nJ^tCL$rD?K?6)YX$r>>CZ6CR9agU=XrF0Ktf!Ws45S!nT0rya5(t?X zbdez1#S^-*j;B9shHK5J7tSd6g%~%k_Q1p3gC5$x=#7!7ex0m^%M(`}JHzD@m4C`} zvawWpyt{+K6(tqH41|o@g5iox;DeHScks)ZyGjjf0z2!b73vEbTJPU>&g0svhBiG!jd zE_N)Py9|yWQhMvcR06_tWB`3C=1>zC?dOCE?Sg^S5A#wd3MVPJF-V;#yTpcM==liI z_hcf6_R6SX0qH_Miele@Cxd+1pRC2F5Aro$=2ZdffqeV!EQ_8foV3(;I>o#)9>CkQ zP=jmeL_w{ec8P-;L|D&AnJ=ReQZsC|9EY4z;K?aME<@m%_d&JL({!NGvN1wVMBwl^ zqU?6`suywH_beojNe!n>1l1!wLq>>O@PBp@oHhkq&%PTMDP?tpze_+TA~1vqNEhJQ z=M=3$ONp0}5bqG>FCblb4GIVsoIYuRHqa76&StmZWZj1QYM@V6XOPH5o@kESybrfh zTdA|(i1uXj0$EFL889SBHJud829`r4Z=#i`<`R4}TA6dn&85aYw{xUf1dEz%n8~ELLNH1CTEq7(zH~5Q`S<@Eiw1POF@Q zpo|(`BA!Tw(%;FzjFg9AZmDk|klc+p_Fsc5*bT>ro@BKyWzZn6&38~`)V z#;t=sY!;QwgHKZcX56=Nn=5Xx*T_jc&zx2hZ(n`{l5t`@;M~YrcY1M79<&bpDCP(B zD5MG58WH#LL)<4n1d}m-5M$*)l#pqfb_ciCEGsA4fv1M7@R>v$nf?&R!{#nVBKFup zOh#uYDG^W3(cI)t=d`Q#aoTk)#|NGi9d^_SIM3kWP}BWFY?~-tS~ozvrrWp!@Jm8^Ic9GHZzbhFBr>xAkyx;F}>oOeXgP zSTPTbA`+cTTOTHqH*)6YcwiI(Rd6d}u8O#&A9z=A*wiL4tT0^?gQq&5!`~g(?Fyzemw_p0;8!nFBASWrwy4 z6E`Ul53mawv4`dhgWgOJtrf=gVSaGkhfNI2`s__y+0F*Qa?Jh(F_(mr}Jwn19(rNH6f)(p!)Rw)POqriV~ zYfhWJ!-9#bN&((AJ?9_Xp6(iZq92 zN-IT+`Xj3Lp>jX`7>PDVW`p(u5c&n`V~PB$i!DcHjv1_iKrjXzKshoSeDI2RB6$y% zjBZ01zXM-~*@@L{rok9&4}m+&{TZ4j-YwPGF`njPl^j{i8{L7oLs*xxD>yb`n|w@z zuf2#dvX3}GgjdE7%CQ-6nI+;6Q(@7YwZ#13ItN#WiE4hptpKLa`S&1LF&}ssNF-U% zfqVe=%9F_(e}WE&hXEAiMLaO`&f*`Fc@W7Q7xV69axo7kh6j2D*>9U@V(v^`9S;H? zpj%n8v1DTlIP+e_TppDA0Z!TYfz?3zZ#WO>%nxfRIsU;fhR^}(MVq|KRiCNJJEPy@ z0}(+Y9nKFF3DOhBVS57q+X{XDblu>C`62QHC&(wCUO^7T0qHABL5xq@3&7cx{}UK| zOFFO|NLM{l9y!n`NC!OV1_%V;HD?i>L|sy@1NQ>?p_4c{H`Kq757^^`=^%Jwe!yx~ z=qT&NzxG?SjP8UFWCL07zQhwl5}HXT11V+)ZdTartAFzffyM=ColRv+$vCT%$Mb=eC{~R( z@>}rcv{8+dbFR%9vH?S^kfPndU>t-2Nc}=~TlZmTy7s_4g0^@%v%v4<#=bhE2iN;_ znURl_2bK=$xCDzmF8f$qdJ%uFWw(m3bbucZW*zvK`IP+O3`!>P9F+{TeuzJP@JjyN zA=1sqWLC2uV*C@Vxd?*MA`Su~<_g^(QmnKM$0KMD zT}d1dF8J{Ez>*1^9UjbSx8T6OvOjZRG`K-9MhF5j{wWI151o6^KmA6W5&T9EDh3%o ztm+4#D9!>Mpoe&n@t;})A#0kV0--~L>H+wGvOY~qFja|8w3u{hCul>&U{%KE1ptzv zYJR}~q*CYwsrd_l>gnc#4;)-u$sDCaIoY^<%iZjn&MKm_bFTv6__(CO5yILY?8^D< zFd7WXbEBQ=GbjUKA9f^noNWw!hU6!E|ra-bSe4M-FI z#%l0_BHIgmzy&4mtBKOgbHHf;5bidVZ2^NeLqa4nfPM&wju$QdXKfY)kg;R|MxuRg z;~aU5bn`#?A9;QsB`MAi8*R(bctDE>YqoUb`qWokVqCXU4)7pX)7x0I+`o9ae|{s9bv}k+a7;^{8czmT3#m z4;x~OytpJvW9SJ9`Dnbl&%YWvQ(bsQM=EaHsX_B3wd!3u9vFCg2SOi_YrMG+2o*)l z?lmkCb#sqKVs`I-N*>G|A_huTf<)@yr^*w_eXy1oEzt!yc6heL2j|d2s$)F6_cy9> zM!y3cTQLxaKxZY`)*3vxx}yawYHL!77R2EXF^Aq{9f{KacA|i^N|JSaVDiqMLfXLk zx5T+N#OB4Rz&Rw43cvvD`>FvvAm#^f887r8cA)Xqv{j7zkE^pydtL>B@K&A`oGX6g z{x^1B=N?Skf1OAy5k*A=sfcdDp(45kmmRoUQqA>(&Zg@i4Wt$v z*?qcInoH56Qo-GF+o@H1$}MOn1-seMqKA}^!vDy3g|yZP8q|3JFc2S z;;?NP0=%@$MeTtD=As%@%v@Ao78WL-0TaO#?Pg&vvO~KbFmWAPwwG_pSyl zQBsbt;*}L0RDWu%<*RhSUj?n7imS}_=!Znn;JxXL_Zc&Z8;5-Z;?X!uE+CyO)R)+& zm+@z?ykc8E-hM{Cr2RZ7lV+M5V$jlIUc1$<%3&Vg!=c+;rqxOL8s!q}gf6O!g=&F| z(4W@0O%a>JzEiWZEuL%o>Z3A8OvSttZ8*|S(LfJJV|g}j7P$#LWhHSDlgqUFpry6U zF+UKy!IV{aXgtasA*YN9(#Q4uIGhtgw*d~qv1C+uXq~dlaQphWp~JoPQ1g&<=4eR_ z{`1f9`Y!zv?Bb~h;;?jBnEJHgPXnaj!h#zQv`a^}yBX=*oEb~zu9{YF*0k=#njZI3faU?aO~9xS_; z2W0n1b~0QjatTaGcD1df#mB_0wD2s@@w%a&vAcxiq;#$| z9khsO)RLBXNatp?5P`4;pGQg|-#*j>(w@1AgIrP_E}|zgaqPF4gpY^S2AW?r7b3@< z1JnyN_DgX-C{N-=W)5XYs+2kr+YqXm;mNeMl1Iy>1DCP@IZo8L#E!BChmImQd9@K1 z%J!4Ed#X3)!HQP*$5iAsJL!BMQ+Qj~`5Y6rb*O5K+lqenTIp z)l8{;`nh#{0PODO-cy}OF4Pc8p`dT$P5512EtYCm!E>qXMdNH4i#+@fnlCZ2#kPwh z!`dChpL%^;s{7hD$Mm(LPF&sBYBohBgVl+Cc)`h)CeRZl>3)lwds^KAnqT!c`wA8p z8}VjwFu-wX=`ov9g3ld&S(@8>-)gI)!c9u?{7YK8TGS+NM15<27qozd)-w`ak~-fR z#W)e3<`&y1k@*cb~7vnTVW4s>0VEr=p91plf^ssB3J&YD~bsMYg*}6?v5g>2dKa8 zVsY_Eh#l?jSP{a!JY333tnfEz_cd?Djn(3xe{ZEI7w8}D)vX-H10~ua7JuO|ci9&l zrcgyl=o~A*=<25oQb@<`nY35J?IaJKYbWg@jQX*(mCT25GS3JRSF~PY{B#QVre~CqwoGUDJJGlfBGkFAgfcg(@qjww#MsPHohSOZ-zn%+fC@9`UhVN@&`15?1o|!fl3yUOWLF zFBn?YEqlZF{gN^PNU1NYNq9#|miN<`%F5(VL9!2(WkuO9>3pZPWtoiz?*uQ+DQJ0O zoBlEf-ECC6;!9@BQFwRZYaE4_){XH)8;&`8njviktg*v$TUzHzIP|Ur6`trc$)u?u zavi6e44Tq|;>ZQoLG^3C(6t6F0x4t}H2ISnU+d2JSl=FmyR;_e-2KEE1o%G!%fYzSav`Fe z7R}v%(HY8qGUgf$)tV_H&;h>Ns3bV9m{c%ab zi|;|OP|_{;QSxZq1Tvn_`fxezp0AQ`zMb>+N#R+-q~UJQL7C z)dx38ORv-vSevh6>}?dE3?IwDfs;bsTl@!o((9vtm_w$3zfox~09W9=L9fkHI;J-v zPKTr*TFUG)JAHqS!jFb-DY0_vMPk}=*5*4hXL(ecMRujzEG2(fh=q7)YJ|4xrR6H! zSq4<4SDYj)5z=W@wIQgI(x5A1_d!-4XB|_!?{7FEgC2Y+lkQtG^-P|%TWWcdQM<)< z%)&x5@81aFsq)s`@LZuPwBN(OAh$es`S+mTlf&9AxbANq>r+#93r@@B+AX*aKeK=7 zzHY%~O-QajwA%XpHY8V?i`^`+gy=q6jnhq?O4n}L)y}KP?t^%jw|H1Oa=5GGS000N z%9DsnrSX2iNZp>D0+)f#AwnG~tdEJgkUL8fb0xPx%hg`L*nDoClxV;C zJd&Cgt;-{+cvn!hfp0Q$s#MMt@;9i<7t`{Dt?HudBvYA?+#pUkejzC~r&>M_8jg0G zVjMxwEe0W6p?qRhPaF%mM)ALczbU*q?0T`2c5;8wEQ6$hIQ(zdy{WRnZ;CGGnZYU$M>>9NCa86)mI2yX2aY6fXqVuxRqrpB~*{;6JNJ(Pdh1mTeNxW7eu zM=gp$+W*zCi<|Em>A}R^Y*UPXRtHslN^PsF1S_cCC50V#Pq=R(`*Xg;cwu#jn?1A^ zX#5c4D5jZI&fxlADjxD%+Al30Qp?{5l7+S^#Jp0YCF$g&rXlS@> zU%VSR?_v}vobp#<6_8r^pbAg95#9E5W1XEo`n!14zcIx;^yTyq~vmH9O1F_WWm`Q3G5=ZAEBGig5hS&LXcp)>!JO?Qy%s zzQmmY-&BgmY6enRC#0B3QBmhK>qSRzw8si7jce_(!aDBWLO8dbk<}h6EGJ^s1JqrE z7=@*|sXbO$=?mVp3$K_X8eszLuG^F^L2kDzY3)aT8bZkw?ISI;@XL0+#VYCy_Y2O& zMR;;ho$y>3Ppte=5{OGHe7Y$DCtQS3%nj2lw4u=08 z^c-9VxX%X_)90Pc?>tC-6@M=}d4`1gr*dn>{++u~7oC2Ym`ZZk|hzv-A-?_AjKEGJu0+}!3os(ut(cK_HpQ)awn>%-4BGI~ zeEVPoJj{lp=>qX}`|^NS_2SzZc@KbrSA4YDsy#mCKGgCq!m*18aaEySepwsT#pi%} zHDZzR+?qFwj#Jt^^3JVXq4l|5X?b};o8k7}a)6k1-eVJVYxeWh3bHltVCC1@((d5N zrls9sEh@&(Q%9_=+4_~Hnnnu6t{|2#l8LU7O|j?g^YegEI25vjorM?K!KSIErL{p< zwTy=ReuciQDy`X)S*6dKw@m&xZ<*SqC49t5iXz0Dg|B0Wl-rfoFl3&+nE?AXNMn9( z+gkh2ubyhVH%#>`jvK~@cdydA&Cap{T_i=9wujtYwX{9Rw9`5}U%9NdG(GqpTH_{z zcQ&nit2>%s#L(K4Rx&8C z?3-e5x70SnO0&K^ch(Ln^!}>BKg*R_E-4EX*>NwbX2R>0b(z31{_H8*xVN;Z7$tev zLBq?H9xk5OrM?YoP3PP^543#IqPz{?Ad>yM4NEV^rA2!3plZ`+2t|`v+A8u~piP|P zbvvfbYxV>5PZMFA)|qmJXw$OW(u32o%UhBSTgBm+y4W1YHsaNn38W<_79(|VDNV`pszMT4JT5N;Q<5t6R!!Y=+ik%*O@?vahu8?PROY6jbF0rlb6)qTj zOxS6V*q1gilel6KDt4yc^zl~1Tw#MzQ^H0^;Su6*+}&0hn$DK0DMOsp-x5N6sSMY( zo~w{(h(kENmX9Ka&wnnloX?xw1h_&kpf|_5v|I)`@t^gkt&JcW zt@X<=SYH!42aBa}pYXNocHDXSfKVx+uIQPOA7_uA7XBWo>jVqZ`Dqwy;ZI|+8+@94 z(OP7G*tb?sqtdV8Y4l{w5yE(AdvptT0hVcr`h=Jck&aC*+#y&wZV%^UA!ytEAx|jU z&d^K!?*&`BcIQ2pxTLmPQY|YWmi^l{;%tbW6X~F)>XrcPuYs{WdN(W>m<7c4vcO1A z76x6t7{xcOrPis*tDz3942W1p)1vEX#>+aH@D(^lG_6xPuZ7p($u`RtedvFJ{?t%G>+^vjOR z{ks(G@{T&4tC*IEWsiw*6!5_BZ1N}er;AQPRiTL|LnLum@%9ICWoek>VPA!o#2kOR zbeeX8bdKuyczQtO#z|8U*HK4N9iRKDTy!R0okLd_>(!&3gflt=3oc71V zZoQ4nu+#mgUaW^T0e7WE{5VnW#Y@(c0YJ!p6CL#Bz|e^=z=`QW^yJgudhx*XI;EE! zc*~{h+Vp$L`(^vq+sa*?cO@Q>A)kL~Of%kY_af;HEr||d?9s@|jHv&)#2$Pm2Fa?? zOHK%vl;g7j$E;b$0PS z_^P>ju<5|;B3&RlNMBdH5bM=rPu|PD`rxfWi}0$a++Hoc)=kUWUj41+{$nMr_l*N4 zK)RILYfg7b+U+b5DjYsMhID-EmFrosRmuVgU6Eb|IWzW}3m{j_RQ|v`qI=mzblqQW zrOB81IHn{iT5?gTPptXM$dhhUBDFIe^k$)HPVdb^^F-G(#^7GiGT_8&^LWdX$)0=t zO-1$2bG=z&sUMmJcFaLSbjY(>>ABPQ9NzENo?6*3o=jarjDffubUWBk6B4T?9`|V1 z#Ph2d)Eg|#@l!J*8-?Nzk+mFcNok2~%GM`C9&2xlAtkN7UgTFj*4pLQW9?Xfdbik4 zuu7r$B2LGG69oE2GE?@RW6gVr-qT1^D29vRO`l>X%emLrRiWNfbQ=G6uRks^Z7M~1 z9Se%l%#Sr~M;}O!Dt44FTpvV?4hQf)4+s(=&;8!H7=1#D2(XXLnX7yMr*pmDZJ<8> zi9#IB&C3NF_H&tEsAKzr3vb`!a=`{r(H^>zE*>_HJ*DGGaBS!v$+}*keQBt;cvA`( zZ1wx4&8yxA*neRFYK|3?R{Jn5idm2q6Qdz~hS7(|QkX@;+A4BLAF2Gj(eESGU!i6O z(+VThU%hNhYe$Ob>lW10u^??Eo!$FUBTdCPEoiC4?tR?2Gkw_O?+KV({yrmCjqO&< zY^9rCeK@eKR{wo?Jgw&v?+@KS?|OfO(tl30GuMgIZMl8dzO7FWr@Y_YbN?Rd$A1-R@Axq!(y1xB; z(CrJOgfjaQ^WRS;ueLI>~G>UBwRDVtbLd#vjwk5u~VvO%Ja9R+mt(|?_ ziMUEbrU~Kc)Qr>LNYaKaQTwArD@mDw%HdSnfwf#@pvLH{3ec+N5Ld+%Q9p7UkLBhZjpsqPR}+7W+!S(eJeFG?l#j=fQhdaVTH}9^TWgo&8K1?h z!Dtganm+1XgVhe-v%Fq|33zyJwf1ldc)(*oH>HP?7Jl=veR6TWuDJcR9vj7$@w^** zV(4NU4@wysym&ollaf(&rh$u2drK zBT0Rx5!BRr77MK(VkDQvn6pnd2BG*NcCv;JznQ6_fuwXDJX{ZWyHX6tgEuX@bt_KM zZHn!XDPVWZlBDbqPh{c`^uRvzQF(5wZF=>;Lgx)oe3p@k0n)W$aL{6jj+uD9o~IR_jslAhvBzGa3iJqV6TyNYq~@}Dq@O14AyC@K#XGmM_WoA_nT zOY12{?VsovgN5vOlC(&!XwvACoFiE(AoS-%JGdcGmG(dgXBhv@oH?B*v7;%flr6vc z#dFWe4fS9^N~7Y(6mE(5nrgdcb^OkR`1S=yNbXMI-I6QP=fjda@!y5wi+EUCWk76o zc(zIh&96yuSa#3n;f8yfO=_^{Or4 zmxbE!{l$L|HpOSDJe2m(#X|U$*&;e-`ju%uN;DV5_yjuSx*kNjogGxK|K^xpo8=6u zzyRr&JZ6R-E+AY=z2_R!;U9H=eUXkg#&n{Tyrz1hhF2V6hl&TWBB33`iR`!Hvvw#} zn2A_E&h&!KrNp$8nPTsZnU1hw#H-`hyvFsR9n)^is4iUyIE#(j6hwg3uHm9x;6E18 zLvIsrzWx|EhY}wizus-M@l$qhTMqj;G=(m^F|&+a_F=w_q0|OyjHP1Sm{Bqu$d^3T z8$<^`2gvLe*Ygt2Vk zlnHYzkGx(k%P2x!^&88Yum=Cb(5v=p9?N4-p@zpwmrge$pkG=>TQe=8SG&KDvG>6R zV^6+YBRux1dR%zy-Np!ukFJnN7V{AnU-u265f-0}*&{4I#bg*^@y&W`Mt)N*7a44| z@oM|(7vb?H>)VJ7z8a>*&pg#dc=Sy;X7G*1=P~+5wnccnDSpn#8w84ZH1Yz$SeJ_# zJb>fnYXE@u)$PNBPrjog?+{EAe-FNJ_MY(fM7w^?BP_iu>ag_sv3!l4($h+3TYA;D zjIr&5D?h@En%a1$H+4#HTXQPb#n|akE!DrRI@5D&Z0pW4T#W8KCx*ip2uiL(w(ox^ z9JNvLGJ0Ej+qT~mg5HW&rASW^2gml{dvXP^z3x!dor@HdU~CV*RxZaLd~P@fA4}Yaewd zE@wcYDa1p@ADh+Vr$``)bh0vQCN+Cog3%JpsjbjV zl*I8_T=h4_e}g8ulU$i`#5E0IaA_ACj^|3-YnjS$fEG4 z<#1Cm>0xBsm?TJCnmkQR2AJw%kfN~6X6Y>(3uIi83?%7h=_#AZY!+XP`+ZA)tTaa|X%VE>>oL*^VV=(x1({svg|5I(<2efiXhpkP;D3^F{V{A0hF^bHUbHmvMD9^Z1 zt}j+j2M@$#3PWGW!tkl%mXn1kYWXBr;=;LNE@uksxn@|N9OQ;O$&R?Vh^yddnhb1i zA;G!q5bf_p#s98JP5mlk=k~8^b}iF-$o-95c+OuGz_s*FogYdoIsY zZ!b+@~AS%igB8d|xHU?!_kc7_8S`p5_ruT5# zK9*+TEPXOX&9DIPj20FkE3EMJt~la~1ux{wax-$m>lA}z9aP4MuW=GyoGpJp8IW}? zdxrD$-Q|nS4ASy0-nk&Fipu`OhUa%aAJ89KjuBY*mB}Vaom7{iAuA_c2Z_VHa-jf2 zK)k<*@4OAM(E=<|-_=XY+NV>@0DK-QMt&Jzd2Y*3olHiCBTUUZx+-zdz7@B|1DF8m z>{OAVNfNn}xKpfs-}d;E4OUS^h3c(&Dix$|=_p#ciXUp8$|5;)n%X)39_nKJZS%a; zGEYimdyS=N7jt_6?g!plarN*+7HVQ`dSdKW*ZPGX6ol6u9uC zxIlc`W<4pu58|DvFb_h2V02~& zMJh}acXZ}4MXtwUXz+xZtMhU}g3(%`4V2Lah>7&LCCKfeHOHW*nOLu;pBcFV&SA#s zbE{a*RsB}A)y_YwSgW0o122-V%qq@An#Kc#GS&l1QE>`9y^4p({kGy3*3E3iA{K`M zF)jS8TQMzsNJtTyoZ9S|%k0`Ml_8cp(z4u1m`} zZqTlZiiRabmn-X4JVQ-0!JB8*u!=>u`u)1h4eN^C=R3q?)%4I)5N*`|DX!kXbaf!_ zp1ZF_E*)L!!KT!yJpmdXJzK3heW$XztlUnYT-ZV^Fnp@Ca&xV-!&P&4rf;pOzSrfL zbe;uC1khgSIf8Dm1!>S(sT3N5=ysI+Su13<;j4-h7cKY~bEL{f>GA#*4eek=Q zH!q5fvvPBNZt4lK3yNEF+N!9zvTHiC(`sJ-&ga(50(hL$tflM(GNbST&HK7YVp}^3 zTn_QvH^kUy*5v|YRqxP(WF}h8d(CD?ne%|}t8lSio7ifZCD#+fYMCh4OfvhP^MZro z_xm!SCjmLAe*aOe%hg|j{GvQ!0O(yC`$50^-NEz=XS+Aho#_y zHZ`v9?Tc=gukIx8#XGsxy?xO}b#;qRr+%yF_N81dno|h7__eRCZt;cv{#Up7!k>ru zmZqQXB**qBS=|Dgu8Pg)Fi(gt6Wy$C@eNmu_!O~j^_%4QvTX4!YPR?W4QJcIyu>6r z)>h%7Yz)K~<9;9F3n{gcX^%Dh#(!T%iIvuZvk_mzqfegWYk2h80KL+3AUC-+Jot2* zY7Gy*y!XA*bWrp?1KVQpzu0uJE)R%HF-R^_IER&{gVrxG!jsK>4GZrq$Jao1^-?0N z%AW#GPF|s(PqW}mi{M6upVfbw%!!WAhIb7MP6?jZu;AWi@Iad`wOJe9ky{$q*GRc( z=AAk0q>ty%u$vZ@PTw!mP0=+ixZBmHC3o_<9#m@<3-upjtIaI-=kY3{`ylqXYc8g# z0ycis=CtVg*_N%DYEw#d{;18FBdt;uNXCmbExoX%V@-=sK8|aq(Pu!6_^ztZ?f>Dk zg*7d{3I85;>vHU2=dXV)?Q5pVE_L@=?K4>&j+aeo$4-9`?bfry$q8VP#7=0wbHsAH zeGt3dT>LrRtpDZ@ZT9p2_o8YpXt#_evzFWKsTA8xdOW4p@@gRi0j}lM!s2h^T2$Ba zS|Q`7Ex7>bq#q{2780ZVwE$S|^>P7N;a;ySHY@)7UWA0V3W^}J!seB&wQ0E5KekA& zNK2=St*;FFmsZi$1c?hK==99*kq063a=}_bd$1K2rNXQ)0BIdH!(wYdwAp~Pqzq$E!u0_dMy8owR1YpcH6Y^;N!d&>--5#oGv13yNPe{$69Qs zR(b2CQM+dTiwf;R6W=B8&f#%(KJnbObQAiTNaOJ|AiLK^y5<_s_iP^LB7r&-)z+E= zO^BiIuZzc)NM$>Vhl8o(jVXZH%C^N&_CFomxY$Qaev{3+x4Zuy*bsRJT0GYf2~X_Z z=cUE+vHj`OwhR7-eNd)IjB}AdmH=qkvQwt0@CH3M z^HFR=mdkk*TaEb>w&xilBF+tkQ)}VNk(`pk#oeCwTP>1Pr1mIj!0J?tcZ<_=n2p7CNe}RSFAr(J_w*VY{-8FwXUa;j|@DJ>-;JJ9IhW zAX}xQddMkkLsXvyZ+_nwP3jRBE@tpH>Se@b)PSgxT9E!LYA&DssXolSwA1F@zXXdt zRixoz+in~cU8x|bQLQYMk}0aK#BE-NSwPE6IjRqCjt%S}%nX_RG4kYIfvDpi)Styq z*p`rIF_DMyas-QOOE}h#xV8k(w$V_4@;8e#CCGO$l-2M<2}kqtK(Rj~O$jwXjfF*a z_B0-x=p8R==A!Lfo|(8?`xh0D`T0NdhZcF99KJ7-^&`@hkTX)W|BRva0--^RKyon= z&9hgN9=n!=2aXX)X0wWx^VNn&qiVFjMBOx$f*iS_Y=>G27NPIiOScq;w~WzKmWwx$ zUhXfWBR%DNiJsCsOPc7GUiz{|xAYV*CDM|h%RSL8y<9a$_xMpfs*7YQi0;u8In5{{ z;Yab9cXb-JBz#niytEv>=v=}Oid?6g7>)}y*$JWW=Ic|DwD!oLrPluBKkC;weIL+N zw%l!Mj{QT7B2+T_P~O8cd#fi8Ca^m_k32Z5&@zEBP3n?@%&3vXwz?LTGK0x2F?2`a z!>$^`GZ>4H;Tg<4FoA^)S1~+gg;e3N@N^?7hJ{z{>-p~i!fRADuGRIR`K4lq56$Fz z8zViMqzZ>kuG4GG7_2?yZ5zX~QvlK!mfh@^VPtoU@r-IzjHo^;W(t#ESPUOxYiSq_xV_jGSotO$Oan znbRt>(qx{)I&ZG=rR1mQuzGd}k%j}Ecg3{I{2&gSwEkYuH(!UwOe0B5Ys|CriDiYU ztbU;Yf}gbMd!VKEvg{PSDVAlIw#is1%&e(;KHy&vT^bQ$<{*)_QE`Xgul z<>^jg*JEMTk^e?4i>{2zG14m33(y&8q$T5O_+`<_b`fFO>2N&4vP;`bM7n8pN}+84 zhFz{31JUVrRmh&H1A1O$-I#&U0z<|k{BZ>9#;taUoa$^Rj!3&}(jq#TM{?aR6%m%4 z&PO6FIdo50a`V=k!)#HCksx3n!KJ++Y{-x`F2WvKI+uuaFGxFIga@5sW=5JWbQL?o zlG~0(5|}Q|6@~ftB030$j5j-cghaQARvk*0IGo%wlpPTVe$gtlg7E%(kwWRkwl8%$ zD#l5Xc(5jeZ5J(_*u=IUd3?tGeA}h{C;lF7cl(e1F4vT}2 zlM+{E_pgt`K?@a`Xl*#cJ8R_zR|b;J$w_QGQ)ffqNqt)w3&~-HVmFfkjnr?wcD5V* zZOm*_q5Vm`pW_3s+Zq2l#Xr>HF+hA>cx$&`M}JCb@1w)_b@CrcO5vGoce?qn!~K5z zajRS&_&DWd+;;QV`M`esac_8W+VGb^GzR#k%a$EtQIO7k5kDQrN}aGJTVF zI`;1~ZGv>+p@8sF^x|hLkm18k&`pqohlmZE41&+ihO>!s@UT_g1TK6yUf+Z@c&U2-~BJE{%^K6hw%ywfo zP-d^)JR8VfwVP*yOy|3sFGlGQem7==6V>Q{uC6WHl~sjy<+R`qA1K=Yj@`|Cm}LEh zl33_05m5oe@I)bA%?21pQ`e-BANy9?f?r-1yl};ugU!BW_PcOpm!>(@1SfaQShBSvlkoKm3MlQ=&WGgU!jkhB{bbhsdKLxb*{ng2%H5fh=&n|woKE_IjrhDX`@ z&qP=E2J^i5@YIE?0XMx^6Gt4sozRH8PXwZN)i%P0Q*bwQjkK-T5xhx?`vNy~l@z;} zH*}A5%K3A{>8MmQFWe4_#B1B*BL%Zj!Nu{R8Y{jeUPoNC4xYOUPXjKWk?Ig|SgkGH z{6#{-4^=L~yL<_Fn3vapCpv2B8Zho`-K9IgQ%3Gxx(19daq$)~E>qv7E5Naz3f($?jBsxXE( zWHG4ohk5kxV#0=4|9AW9{TDO;jW2i;H>?rv_I2NGR$kt|s#n*4%OiicGAqfOe7Asu zbMG?tVdp`Jy9JzkVk=z|LXF?;9Buf`JKvs&>PRgwfmffU`wU|~)n_Ts<#mVxzSI=1 z0o@m^z+=+^3$S9i4p@L=KiA<3wsvoB`o{Z3DPtS3+NpL9b54B_^S=*u%gVp`KV6W1 zyupjh!I!ShyjJAh-ISR3Z!r_6HNJ))`&Z41HUVYga0N}BsO!?}^#sEe;9AyIxB_Hw zxas@tI;4M{@R0W3qe$Sw_gs(lvar4^EbmczLG}K_%czOU7IvNM5aD?4c~{-9nR(lt zGC0>EvW4B3>u|rColJ~kFt!AevRvmnobrENr#p;BDV4giyr);058uRf1YSyHf`@&i zdjy_NgWsdu?uXSfE=a{L1$7)aM!X8MD`tjEf)C}Mm-lTx=EL|x3&kV`|H&9TeY}bf zV-XGUGH%``v+{eHl_A~`y5wGE#p$qKuOsoZ}Wt|Jv7 z_S1E$!)J6jQUMJKMJgZ~4pXr5RqO|o#jHvq6FN@?jHHN7xgstBi2r75`Y;bq9@hiL z3_Sm43KTQ=;lB|CipkgLGz2r{XI0}R9Rsz$J|8?#=$nn=siA`3B-&%0;cpt0K4=iH zM6CQMD_e3=%#l`M{fgS(gANb2gDiZg3c3X9ekqB1pkOvA%%{jeQ5B8H$>=VZydcV4 z1%ajoCk;H{5aTDDG5tS4>P+*ud4KruYTzUCcL zl_*u>)PGB3P;41jTX?{xbrw_g2Y-{uSM5jho1*eA>KC;x)FxWqjoRvoCe9JFtPD7|d<=q_YKurRlTBY_IMG%IEA}}7*?&c+Kbq07g z=OpYCgkbYG<}8G*ledfal48bNx(e$7HA&q-1@#5o_zT>45r@dEoRLZ9IXw%DSs{lo zG>0d2jFQ1AJkJw37L9>KDN{S_r8Fg5Eyo>_Hb<}vwskIX8 z%D09A#ihr2ytG8w9Ch)a!0O^T%zG5bh!P+EGXj*N8eQ{V!BM55E}rK0{PLV|I!ZYw zR4lKeHUsjxF~TzVBwe z44hh*m_R92#*;Xe{UT7znCevYTZ@C}kC!5Dwue)CodX7iPxJI+W=`T;eXKOYqVAWe z4O&K9y*7ni9pEUcJLETbQ_v;MRZ|C_d}>P1JIu@}Jr|j2K-bbA6xS8mA2TgWzLqn3 zxwb*gpYh=!f@|@;w4fKpY;xc|gT;$-w~hm^wo!`WzykvYp%!2#zD`gGeU0)LG0#z^`31#1Bww5p$WApS1be2&-|UuVf|>^9L=-x zr{Do&WkN`7a>Mo^6<>Z2(5z~1lv2@OpmUr``#k2Yh;1y@(t`ig!o#N9@xp_=@?A8_ zKsA5Y6PU5zxLP}&r1?*3`I%{6`&)y>oO*)Hs7A*cK-1TZG0OFD!!Be|onGoIW+oqO zG6_w=GGivfh7C&b(pAps<9dn~GtD4ROIJQ9u6dY!u;bVRsQJswJm`I?l#Rn&!mI*c zCe!sCjhXZcy4m>GKlas?eZ@uNwa;~k`Tq3r)f_!LYv%UUU2H(^j~5;^`-U|Ux{if{ zbe<%+4V z>`LfO1Fu|XpvYV+f$k;$xUc5azge7$t;(9Iv7){9Nn;H%Qwh~!cu-vSYdrPl`K7V0 zv)>HTo6Abyu25b=ODQ(`$1uXwMU zE?zkj_eL?{OZ_$XpN>oZTT(C|M4em&#dI6{iA+OpuqxVlFq?W;LKd4sz01%W7;rCr z!6DU^Mnm8IkZo7yLHGK9P4V8JPx-C?v!j@ncOAt9wZE72ef*5RxBg#z58<=-s1L!{ zS+R&(3iaX9Cw17zbGRK8%UaN1Wi7~L=|ku(3L(>BllZZ*`q0>`Z7@*rES5fOEqpOw z+Y)`qSlDVR!wc&W03Ph0;`HjEC=R`^iZ9<(Q(2!HdR1H$$KGlJZwjxdY2;BM8c>S-myLiAID~zD&=-&Jte^~8yV=49bphTSa6mb&|_FKF4DeTHr zDvH>>FKF6I8LXM}-bqR!-_3blk&J45S)5__0I271G4qw9p$IKaC;OOwgl)|-HPyZ1 z{q;{yd|&n6{duh&3m7f-D?EY2`-|l@dDO)>Z@+@Aw{E|}#gGoqdwk2tpJ^{V@Bl%) zX^+etcs68vXsoR!W__uA4M(1w_;{e*0t(5b2eso|ltx}WW};Ua%0AR8>!OFpUVELP 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

m8jAjC3>_(i}eCJHIu;`FR&S_?8 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

fyP~T^&SUZt`f21M|*IKZ%Xl zka;42Pq819&AXg^;gEazlwJM$h8*6PVZ^J3SS>qhu2G@Zw;LUoOcNaIwpJJSbjE3Q z$AoDC*xOJqfod76IBih}BG0kvFR2q8>8pJtkyPNfmTj{FEx9e}>&pJT=O``GltzZL z2wj4NbFp|;N1;u=sLyMpzt$w2x-j(VM)7!`-+CETv9^&st|}i|FUix$MFS>ewpqi~ zOHU>6nMO2s?->v_PBe#0>?=m-&Yu_y=Qh7dkY4iSYdiXZW^+~PBG7W@{Jb=5i5bIW zaK&MgDY2AzldJhg31;&)*z94FhJSH+JQ#KeeUm(*kRz2NwN&+B$z%^lxksB9V2!s& zYQI*?D{9GKk-uIqPGw3NV*`Y)1<&C36v^zI(PYSw?;L8Rt1%laiQ&poU}5cXewcyo zxit^5QPQe&#_JS-I~0cS#ymrv(rDO%^u#X)V-dy4JtbcIlDrSOmtJ2M*_LWH26gt= zN%~cvR!jfv&Ja7#F|cflGEUHpHV1&hDdD0YPaa5)%R} zQKMuPi2`VV#5fgc-G2Py2JEhWQ$uU|hYelTVH%r8fO|t~8i{pbT)>Rb5P&SYp>oYq z^|7S|g#~*zTEYlgND^!(fa(<1srt56lCJWinsvXWxg}U_(QqV5Aay#t=BI<(say3C zE1<2oK~G7eoOswjjYBi)VYq(HC9{qpHiB$$Za)YilM<|q2vz+RqoZQeE$G5#Z%~*2 zenmVfI`e6Y9p7h0_6D+!?Kqo+_XJ$G&4AFrkmxOID~Wquw`GA>&73VIhpaRCw(l!b zeR-{(&{6axWnB|@U7%5>t#9vHguRT(kW%s^t99iz>MZI~oQ=u|LOMLX#@<|b)nSY# zC3dl9Mt4OTRk4%-=f`(#H@U%t)9e0u^OUWd`*4=JF5k3w8OQW{e%$yg=@e-rWI2IX zso=MYq*ESewo}CMV})L05^&^LOB7$&W2JE;Pv`*x**U?=1H_SSYtD1y zXA^Bf&ZR2@=Hvl8l)Pir(W@r1-=YJLPF~au^G<#pxAS!cn(}MDPkkKnCcG@Ds;Y8Z zdD33&1rl_KQ`}VWJ9Ac8On;Z9QjQ^IuwM6UIaFx90UfAp3cR5VG-O8YeZhVKHVOn$ zAa9%CEpg8IzS#E&emTY@B2e+XQ7$0a(Mb53xTzb7ss2wO?+MnYSVsMCiD}{($0PeS zu4#~&ZKwlf``FcIzl~D|4Xj`IjFNNIJOdE1?-A^M@ zZ%0G;GKyl^Ikr+x+s7OXG3B+`?c_y4lFg=Yy+NWFN%xHTNpds*YZ#)3MFrUWhg zLE$2;8vmPEdkD4Qay;1aNv=ee&*C7v0b=3@sb$M~2@%q+wh`kaDdRg;1%5mEVlZPa zh+hGog8;PyEmQM;6xsz$tU#a>p%ehI13GT+w&-`-#qtr=`w$;nX`v(@X@CLC7cnG! zQOa1;+!Cl7CHJ}I0lmCP(NvxFb1O2W~-N&~QfhMsgg zi>mHy0zcZ|0&le~>25!Y4Vf(k+ro|SFfEFgr9vfOf+&|o8$+V$c7@=HJ2Ie!Xn-AM z8z*n(TSK;~pw4;%xK6!<=f!cBAx5gT<5%m%eoISSw<0i*IY#Jri#>h>wj6XgesjQ~ zh0WDcsyaxzWfMTHyPI?Y21RnWXD&a&Mo7^#5{iqj}W<6EV722?9s!gayoktMK+zy&E0jq z2cgG!h@81mt2Of>m2d}h->4TsFF{j!eIu%Yva!<)SMuwE6w&6SX$I=GFnV$n zK>l;3F>90N8>UX!bIIQdwFB!hRbaSBZ}afKA4+S8G5Rqyl0}lFX(&nB26vKxavYAkVeHpQ(X(f6%$vlHJu#j}j#4kYqIcM5&d?sK8AZ#ENV zcH=#s(AT!HdVJmVYdTtfg^iU(Hrwks7f)$oHIQVelQ ziAT;VE~nt=ovOK0Y|E$%ZRHAj^JEtjHb1w0*E)NHY)&sYE_eh>kJvgk%^TUsPBApT!N0@z<@9{&lW+PmizjU%HJsCAbgs zn}e#!n99IlwQ}^+BRJ7O%p|X*4^?y)Y;)lZr0hIOtK>EWF#_fTROBs;rWh&EsTVA$ zRdQh<=*`;-c;&&KK)#z4*X`z!#!V67sUK!!Q>>S9PK$qt#7Y*?yg+2Tdj2uCDgaMdS}s$F%-7`ap0< zAC9B4W!EY#$aDnmQ_kBwnv$umA0&^+Xm-U6CF>5We)9C7gNu5 z$29tJBvnT?>98W_{@9WFtN8BcURLfNSazE2T$_FAWCfbl&`wMYWgV=TV}R`EYT^XV z6plnZkudg-Aov$ZZU@R%jHOqB3yr`!qVQeo!HJwC$W`H@EZvEoJwe2_P7Y&qB8f*Z zzqE=UcwWF~^$!5Za7dzJxcK-3H_sMl;(*yJ6JZd!gHTvmuRVFmIUSRV__mTq9!j!c zb5*ixEnofIksQpuaPPi+E`cFLTMUM2vo02~w+8BE35|nUYdWF-fK)h1e`WsS0WL$$ zoG7t^WAk1>K@c}NX8*YP&^E>UmD%PVEaAOOlS?l0@!aXbk&Z9vAxo+-Og8-Zt7YaM#O0fMB3=LhNn z;?(oPv%7_Bk{L9a`$*sU1x z(mvB2T5M;i_&3<}p^dn2o6|*r#Her;Z~s$jz6EWV0LAc70;-+XV(;h_MO4m7bAqt00*PE68ceJ2x-1$9j1WP?7!} z;lg*L#-#9Dyc+}3k5j_NAVxLGv|on!B3O*q^sOh#1V~iE!Nl2~aX!r~`4F(YS1D(=3|A*zXXSs&qP`GambqBw$a<+e$67;uQG`O9Tpww5 ztnI?T&^|p+lN33E1MfA$RZ*#x7!#oF1Lw%8-1@5U=3Rb=7$Kl&(C4LoH*2(5sY0lWh0IBTvW5MoaYfS z*HGZsB|ZFy9ak{vC<++5(-c zB;ZvZd|XDVgjbnH^@|D!F>Gy?y+UqTtfL?*5oj?~c%V|lcNh+XbfezK(g|g&chq!1 z?AXjwjaxXZm=NI#5AC2c9PV zD4|idME*uLr3594Ba8AAI{37&_2&1aL`y9!54P^B3N8aeL)2VLa-mV_nO5^BcD+!? z*rrr=cT*p)RZhQi>1@gM@Mkf{JNa4~k-KWIw~ThnP0_ag;Tj3z0pY8fIA*X_44g$I zBQ&lBw%1o<(m*Tfs5=06S)OVo!BWPrA@6?m=lcGgK}U?A!m|=gT7B_m^^w>T+X335 zBY{U@(2~4^hJ!XN$`_Z;a)?u@Ph-#mthA1QiNiOusrX1MMQZOYya>+T1-9`KYf4zl z#jEVrszaBqWxrdgEI-Ravz=hzWK}nrQ26@`43?C#v33)B%d%j}hkA6tp8YDA&f@we z%dA;2^iESE{fJG@Ab@IZ1n>S%)BURxs@!5Nf9sTXso5gPP>n0D;bN_02FXoY=K7qT zZeffzs%;+_AQWP;S@{ue-G=3fb~HI{?gg7J+flYZ!;eugkKMr?qkd`U&BXQuT5&Kv+794c?uj~6!bG+PO0o%{5Pv)N;cLq<*ccZfw(Bp zhd%%uLF!0HMS4W4E+jb*hqxIp=UkDB5jILT*lh1|QF1>rs7R#%J!Qe8E}kv`u$i9k z@3DR13BkijG-QQNRIV5+O>|T$&4rP7Dw|b?$$V1@+ExK!b{>*K_=ZTe{+tWb;?o#( zihmDe_W=F&AbWW8HELrWwt#d#>t@nhn??T54BY%#8L7pWmY1I?K6&tK(y|0x=B-FY%5LFS@@nk*f6z01OMX!aLujPobez*P>qi#d8Hk z2zy8y&n2A6{DF=2S;cxF?v6tN ztAkl@`l4|vbDcIjG~v;S3O#E=8ENf{9={u3kQ4h-$CorN6D~G$Wy*d(2z_|A2XC1o z)isi|Sub46f(^dC4!*&NV0pW=2O#Y70}=vFP1zv7GO|Qb$u*%B7%C+4mrwS89?;{} zjN{OJp_Ok@aMJCET9gf^1yJ`@IFw+it=FP~X^hgeK(hYcAfw-I#J9}fQAH{5k1f0M zll*Siv*47P4y7d-c}hpi-HdoNB=~o`JaW^g*S39Lp|>^?74&#>?bF>JYJ^&^t5XDs z$wPtBFN-MxKWDT&YjT~7^thByhNJ?}%NT;2XuNiji5`U0ida z!#qJ0?^&VKye;G{0E3hdS5kzVsi-zbtR1Ha@Afhb(T&yM=c{=0uJ$MC5k6v69LRkS zx%&3xUzQn4#2=?r4-eWVvo$}UfKq?WSA~NzQwrCUy2rC^V25!)Url$E!){K8;oLyA zHf>>hV~ujU1@gK%TM$-_ zq4U!DQO3tX7i^dr+P9MD_JqyKDgA?yx6bns5;lR9!vR#P0eF?4gOO^Y+{n$t4yBiB z&1&khK8lOf`PCA5*(FO^qE5q9B;=R<;gscH{yU-P|8}j&ToK6}Ob}=SbfFiqCm3>U zwg`Hwh0kORU`#rqRflW=`N93TxH`GqGKa?~_5w5-PM&H_CtK|J1V^i1!&Skiq|teQ zBFUO%#O1346^f>iC6N}D(JMn?OGC+L=!snY3`k)dj zV0?w1PvI{;-XnR#gG`kec#Y{-FN<0UDXH!Eo(r6N<$0@ux8^z@Y6J}x6)Y8i2Z+W( z!3BB-w|?kB!TH6~p=^|~qs1L|BDj6;3|o09##iipkj*SnZe>GR-qK-5M^}Ad98Tf? zY^VSAS&gphw0-V5e_3pff3#Rjyw$W7{9dnh54iUygFbkQQxbl!K}*_g%`EL1F zQq^i}Wt!f!dxie{IAOrBL_^Zqn;7OXX#7Rr&+64V7qLG4&i&oJ66S%UWsY70hZIBN zlwYmyw^nxAkd^rE#M=z4&Z#Pf^kWylSo9@LLPMg=Or+^@5x@maEp7ApOsBbJzA(+{ zOrTk#Yt7a~PZ@%`=L#>qYljf~6lXJ6uPuIBl-qR;NRotTXysqmu<6HhN;Ac}g?Gl> zox!%gibYSrz)e|TeOz7L`%3U-@vSDbS>QVUggtpq`q5mZ$6U3=dINIOhbtHH_MZ(Y z(D44|8(JkfoH3AKijB8ndw)MUk``g5pAiM5YAhX08($)FNBRi{1eyaN>^&NwnOU;ntoBL zvJ{W%ltmEZFQfdwj>@IQ&bBo!x*`>gWWIOwzEOmn(vc?etV;UaU(|!b+#O6%U%%BU zyzKh19#?Cg4J)iqks8c44?5;Bd6W&ApRDbkVkAr^*B|0}`Tf));WhAME3LMBZbs%* zFlUN^a7~lM_Rcs%DuzjhRmO!Mg$7dhcY{isBGgJY?*>;cP^T0Bx*Iq z9?u%|mc2U@r#N%6#v0es!zIk0M7KzLBqz5Eb6x_oUS}G4!4k$TSrn=$bz@4I4j!r( zhiTTnj>h)f31peY>Jpp-U&L?8{di^0YZxwT?wjWdh2ZVuXHQm=Tpbhc?B~O;nzX7& zRGzIJz0qO}5ymBnFNoQb<+1HH+i0Gbg(-qB$h#Nm3*)U$nMUyPaBXJOhN1VJE7;q~ zv&@UNPJXQcBSYRt@FH5lW_X|Wfl*!i#c&EcS?rfom%F%uh=GXvZ8`J^7=DL5ROa#Mqnc`rLlohoQ?to|!~wXyg!bOL$I+SAlELBI zE=EB0#_%uPgEoxo7WHk3;omWe8W}g}OIpty5-lx_ks=pljl=pZ>_5Z=Jnb)$?3EaT zfzgkFQEX}S)yBz0yI5Jlqb&eLNWM}qi+?{cr%Zx)_+jiR<5z^~dIrU8`)z9jV9O~A zTKt4fj24uBYPL&K>2pCr#jo1&U>(jMJ@x`)s^ z$ja>r68O@s%{Z9C3@sETa$G-+!1K`*|Jn^vzCP2GBD7+*GMS-Q4t{T|LZ59MQc*BV z)$JJDd#F%tc6qe#bh!ysGnfQ91#-%j`|%!ba*;Pkx^Se94Onvm(S2mdu#S zL@^H12)n&Gn~_agHAkk!5v`=@fWcB|)w?;9Nf4bkNh*w=V|O77<2qB_{z+q|iX~5K z`Agga5dTldg2)+(qGEVg_y^^5A zv0~j^{z4O!G7a|8c_g5TGQ7sqMjuZ^5v!j=K`IZ0M4xGxeqn3|lkU>|Z9TDkkIWAr ziZrLl+RThrZ=o7Lf?0xCmw~=fg(U71dNQx^!J> z^4$imS0D&rhxsML5zj8goYb(1H<{q5%J$OVi+E`+O=%1ka)DZ-#aP90ITMJBU!m*% z%>eJ72@gr@wugt9MeQ0zy55D}T&o|KiM$CM6zLdH)so^L5011z$U$@lF9jH+j_=1X ztl41{P1AH-p?pgCdt?)jY3Zt}$+9VbPB3g)#mjM(6@+ujlbV$l>wtP0{vcVm|IK~$y4N8!WIfeG;fkx2aeruIxX+-KxeaeIRCOWkk${`7s%@O2k?pZ z2!v1w;ciU=*$iMkC4usTQCEl5w)DfB69~X$gd2YV;P*&P>p+SF-KUj;3zw}spw8hV z&CDObj-0u`J#yFk5aD%6W6mq|=BGi#M6D++$NRgl>pSY~fBjI*f8?(L%KQcK6#^Ti z*wYU z{hhmufk>#s%IY-N>{_SVK)0To+C+t3u57D#^sA$1e{W%;IIUYp8sn!1ZqVT0$Kkt zGCCCtO=Pu#%6?McD+q>igi}vL6`_GZpegBI&N9tbAJTg|m7T;ziWRJ7%RGUKqig3BSb-c z6Gb#arXvcCm^{y+97yMQ*aF&89_`Sc8LnwyC-sV_bc_{gM|E9{Y5z8yZzC0>q*{us z`T2^#KCadAQ$)c(tAHZG5Ad2k1sp4~w?4g`8Q#HtuM38HZs~seE=%~{Tc{$0dJ>{Z zJ33bM(goh3V&=qyyyXTcuInI_DMc=17FjZMp3pkK(VPvKQO>lHy;lnJc8e*s#3LcmmV-sf&$$n1|xF=apkadm1LF-Qob)(u~{?7 zWq4IrxYU-e-Nb|ZE@+(=dMqr=sAnq^bK1j}G<)P8ubem-^M8_)YEY2n7xYG8`PwMY ztspqO=Nb5Z+6#b3{F&$HHR%hR?T^-kuevU+E;Ew)eWso*3J!ylBKHxp45$tuZ4L~* zU*39#1@=%H6bhY-Y*mQ+eP}KSuFQk32_)9hqGMRSP*7c(Ep6=toUQ(a$?BT)=x*wM zV5K8mTz!xUF03UoQ#?*;>`oi9TPiK?RS_4G@K*RzN%{+4EY>NFiSF5kPdt(~v%E`L zV+WT|EiNFhM<&%A$~lLb;(3-$zfV@SsZx6?m8Ke~@c)(F3GFt@{8-GrFX+Q=;Go41Ku!_?^2xM0OD57}&r8Grw*xg@q+tYdvYx%L}3>BwrB8@$1;ayI%^?cp> z2T(2ZUK-RKA97t53a%F!AQ*`c`MI{-mu@vDRVZ$V$_Pafh`n3p7Bc8isA)D&CP(}- z@~XZMGDDEYS!Mey=A`=yCCKMTTp2|or^9CjkttxLloVk*&NW3vz8F^pGmNU3-i|5# zweeWjOA!+yT_Oech__`=jjC=qPONS?PeBY_uopCgWyd9^)4YI-b=@q;-NaT&uDG>$`Sn1eeQB^-qvHvXvsx((jJi>Qh>u;%Jfk>!@O5gLP?!}`B=LMn;j?_o0hMK3) z!***enF#fH^4hEok`!zsPW_)qP}h|)&%#wf4)_n|tJTWaDC`<+mf> z0<6$Y2-2_wG*1);s>S!Dj_XNCN{#h@LXQ&r=bw*S#Qt zZSZ9ou+`t$;6B*A>1>LZcQ6c-_0)C)$d-1FqomIGM zu28@B?MvH48(G>+8*h3NTGmv_567RykD_bgj<+DE7Mhh8hms>gbESg{bHI>$EI}U= z!YDbFhPnYCXT2|CqM)2pPy-d-1*}vt`SnE3@AHZvI71TGDgmlMo_NS{6UX>-tVcU)`19J(Mc|-e zSy=tfO;Om(S+TNw5ak58E$#Q!U7YR}i-d%TB3MBH;2(fs&h}d*t-znV2K-G8BOT zO5{Q2fKzOJi2-7u!v;k$lY?Zb7_pL*IB$qUFIP03x_Qg-<(D8La9W9_h=MN71OSPb zv(Oy6F@g~Ywhd^^CH=k9et>7oC_Z(T=;Ge-+?}WP(ZcA;R&pZOUA=In&GHZjC zV{10o9K(}q@4sCCu)vUcG$1m&p8ZAwMU(l3#^FB^L|C^Y*z%X!@VnJ|6JfK7iLH-5``3XUlJ-L=#rG!~Vl_ zthwG4X-AczRU4i$6c~Ofn8`oO7)aW>2JVV7 zBThXeS(cd{nYZr*-)4>|61UO4e}D0C{9$VsPhYYNCjpC_Mq<8a+-gE`Xa~t*f1B^k zRWb$$=wDVC#-3XeQ6ymRPl}4ULE(u8N&}TSf~T!Avt!y1IAN0ro33) z8bkg{C83NZuH|64fcl7+!1Gj-D|2rT+RP`h3o|zP71^e8muVU=&<+Zu=vD^lc}(R^ z%9xU)8--on-rx2yT4*|8?6tY~~oYOoOj|oV;>soUlO*i>v;7FR)oPfi|1Ypp4rr@Z*3$sSk z);)wX*=<=L$lL)H2Pw{L{UL7AvJ0I((}y8(J-UI;y^bOLN8gPm6xOi}z zd`P?x*2p=HB$eH{F0MhSRu^}!Pyb!PCJb3@JL>C9Go;&5k%!E`ohZNs&NrK?#qh=( zP)?%O-9kwe(GA=RhVsm11Xp8w_J&HykA&jp3D!-?I!iA z@5%k@7#pLAo4UAl(ZzlogsSscEQ^_$C5xHaQ~R8KV9&dE?%bGpFXH`>yQ`g1S(&x) z%LP9@cLz5t#F({JX+Wag<+1a0em3EthN9cErl(==U-8 zh{nAe*%J|q6~$|~wBTVf!YXA=H043#mvP%fm9_KAyfsm2pN2o;USNihiXGuqY+KF9 z_DC;ayQ%P45^Oyt0J1I+Aj3!+65r83gHhP+iuFmB>#)t&TPH?MSa~NjR7iACy7q64 zU*X^q18r&qgy=mHip-j-C6%s7I0L&`HiU0|06hsQ=JMH=yg7W(B@+9iw#o@5RJbsT z*($PhzAGl^Pox(txIB{T>@=q{%<@xu$j&=Nu_K3X1ERoLUwL6)4w5*B?fAX&V~w4e zK$3Np*Q?gzPUn{Ti>kSkOXYzbdSDda5aTo}vR5q~KS zv|=ft4{oW0RVr19BuWOZ&e{wK>pmYSZt3n#ef(e^d-~9$y~@j-3>z9DC=oW))Xpp2 z&%0E3Uop|z+M+xa!UQYlSuImx&wpGw(=$fa&PbH#*do=r#c6TmbDU0VTi{1$=DsK) zJ`>HH2nj?7Ix1yxzX8haG%MMC0K*#c*sFAR|M`!b8)}CDKDSg zwqrjdRkGnej0O1WvOCKy@O$UCAGoi6gQUae_vk2}?FCdT1e+Q1{+_o62o7XzCQpE+ z*2LrE%q^E~5jZe;?Is;g=zp#q#2;EUqHtp0MUnOfZhtcTy14^$7GoXK6m+nv8xID4 zvet*n%$7n8GC_120&TjLS0k-@2$v%&Vp=TcIZV_@dG!y$$CSD6^G?`WfK6EmV_d}# z^-*Pj8fRX zI7PpoDf(CT0PdwU^9CDMLwe*--p%M;#r^lsRE;TwS?1wh5}$3VKEY()6c=T~s!T6) zd~Xa@xTY3IX_JC`+G&?53T?FtTy^7yQ9V}p*ZttbPbSSIcBNC04R%S`?r(v1O0X{> zQf%n=EL@FlDuLNJ-jyfn8T4KoRY<0$3)VIZS0cD3Z$1U?mM31BDw1kr&{-~o);b_YVn zm261p?r!qr1uVANsM_T5Y<^*ZplZ{17D&}*l^|T{-q0SE|NY4Uv*r)e=KtCsL-3_Y zXypwH>JW#{T0;_a=BPGrO(dJ3=^Y4VzUtKF)X0l3*PYD@u->@4IP*_OqTZgHK3__urd4Jsah^lXT|K>b>>yvOfATxPL`k9w1

uOUbY!)C@yx_ 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 z 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

{PrT#yO(=^ zWQ0`6`kV)Nl895cH|9=bxuFME*!)#cℜ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�Z!yEulb&u9^h)*WR|FH1dX5$$wu@l;EuPy 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≶Kw;&J2}Qj_p}_ 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≧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

Et@Qd8e0TVL!-RN&56FwsQS|i! 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�SB+(7GQ+)Hg3B8fi_A2DpG4auD|KsY0UH-?!YEa@bFS6&{wkU$$(%m;l>!e$`Lc2Aj5MAI8;Ma zz=jH7cf>Z-oL$H{!|rd8kbYJWb3WH~rr

Vr(!GXiA@8;GHWdSF(3;VsRJH`h1EF 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%0A?i= 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

HDd{lvP3J^jv5(Jx-rYPtzCbA4s2+4Cs=fQdR=B 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

cw|1vVDonYj0|L1m2~e;W2&z^uBr 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ℜ@6XBm5*yvuevLlF19LJ-pOlMZ#M5kv^LjnOgz717pWW6sdIM|KblE> z-@mwWr^;_a!EPb1%z4``s#b_e2Fm4~9w04AJ%e#9u(xQj(E{+H2*XX{XH+z$ZX|5{ z0C(7_X?1@kjodDW(=(+rd-WK~bZsw(2d2H+{+x!-PYh_0n>e>dzetC}|6YqtrPx)e zvbNxf)xe`ow5oAKu2=Gm+@z7f9BbI7z*{U2FIj{luy zWaVICVEDhVj7-c-9PIxK&3NSv>8`BOV4v-Dd%Y>;c`NJ2CABMSMx2fCM@WcZ4pyTt z$cGt_iKGg$0YpPu05OTR0i+++L_h;|NET=fL>UKt%U*2M!Pz@vChxG!K@?}$`PaqP z4T$5>)ceur_x81$-=(~9rM*-(yMoKb7RevL9}XE$H5xBB`CG>P))GK5vU-{MWOa$& zPk|kWfE&*Lhrwta$zp9R%GEz#9o=-cCYSj))T6r>g&==t~=`X1BS5{4cmFpd3OIZu`WlM+fO3!Ro@$RMGxSN*>-0DlU1}*{0daP z9-P2*_A4XA^PAg{`h^&tU^=(C=)~mqZzI4gb{(IG;PjV7jjg*+4-(l4U?&9a6H}EKdA3d;EB}AR5SNkf9&wlF!1}Vdu*P&gG;d>^vW~{bv zt5eKJmpdj!nXxBWT4Z2gVcwtbv12zsj8Z;$x|ba4y!0va0$=FLK7eok!FjN;zY-M9 zrdg?m^rJQe(**vCYm`RX2_KS)^t}TjtsEDQ(g6wo9ek3b&aKr8#)bu92`}?^7J|HFg zX(m-u^dUB1h6%wQz=phrs0V06gJFK+UGVkix!tFh2xNlAS-HWKzcH%!5Yj!C+M>qV z%~P{_1W&gkzsv%7k;Ly^zw2#tr8MH{V~6Q9zlrZ&dEmZqbK+sJF4ww4p?(&+o_XN^ zkL4?|mm9L)%L30k2mDJJm)*+({txlq?F!#b$z1>rjUwg>cw^sl4lVw&bMB!F6Px|L zd}r*tFV-LGz@GF-yFFAg;68DCh?XDsb&HJ*;I8@D?k;|~y{Qgj_D1{C_}T78UH!Sq zu|(4Tb#l)$+FOC3pG3s}0>@(?py2$aj{0%CMVbk*F!^|oceoXC1jhN{{CX0A|FQ%6 zfG{Sy5mF{36Lmy4#5>R)5)lDE2n^Fgfd5|L`LzQ}x}_Sr4znY~`z(Gx55Rl#gV6># z9PrZ>NKzj}S_Y*5l@X`=+yt%@AR-Z_dI|x;fEs2%8tLOm16VX5TN;e619|ByoC6~# zO->?RmWm#)4O+8%l6okUK6|7WYj%y*91sisd9cgD%*SNFc;NdvJ7mta277xvxamE3 zYtPdUH!Uzt_-HuslnMS2*KP%>`C^19rtr^=>X(f{2T00GxdbClqg^r2+Mcf*=bdme^L=**&8HNyt?pKY?&_Ik+Kk))aWO44z2XjK^ZPc6*MpfQ$9rd zK8xB}43N�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%0D&b9?JQ%M0^M3yXYBCDba3 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É|G3xL`;%i?M8vvO$1}?S`Kc6^-k}yW}H=V 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 d0U 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 R-NbKqbMfKBFTeeI@jpxQ%Y6U< diff --git a/test/config.py b/test/config.py new file mode 100644 index 0000000..ba2a4bc --- /dev/null +++ b/test/config.py @@ -0,0 +1,51 @@ +# Copyright (c) Huawei Technologies Co., Ltd. 2023-2025. All rights reserved. +"""配置文件处理模块""" +import toml +from enum import Enum +from typing import Any +from pydantic import BaseModel, Field +from pathlib import Path +from copy import deepcopy +import sys +import os + + +class LLMConfig(BaseModel): + """LLM配置模型""" + llm_endpoint: str = Field(default="https://dashscope.aliyuncs.com/compatible-mode/v1", description="LLM远程主机地址") + llm_api_key: str = Field(default="", description="LLM API Key") + llm_model_name: str = Field(default="qwen3-coder-480b-a35b-instruct", description="LLM模型名称") + max_tokens: int = Field(default=8192, description="LLM最大Token数") + temperature: float = Field(default=0.7, description="LLM温度参数") + + +class EmbeddingType(str, Enum): + OPENAI = "openai" + MINDIE = "mindie" + + +class EmbeddingConfig(BaseModel): + """Embedding配置模型""" + embedding_type: EmbeddingType = Field(default=EmbeddingType.OPENAI, description="向量化类型") + embedding_endpoint: str = Field(default="", description="向量化API地址") + embedding_api_key: str = Field(default="", description="向量化API Key") + embedding_model_name: str = Field(default="text-embedding-3-small", description="向量化模型名称") + + +class ConfigModel(BaseModel): + """公共配置模型""" + embedding: EmbeddingConfig = Field(default=EmbeddingConfig(), description="向量化配置") + llm: LLMConfig = Field(default=LLMConfig(), description="LLM配置") + + +class BaseConfig(): + """配置文件读取和使用Class""" + + def __init__(self) -> None: + """读取配置文件;当PROD环境变量设置时,配置文件将在读取后删除""" + config_file = os.path.join("config.toml") + self._config = ConfigModel.model_validate(toml.load(config_file)) + + def get_config(self) -> ConfigModel: + """获取配置文件内容""" + return deepcopy(self._config) diff --git a/test/embedding.py b/test/embedding.py new file mode 100644 index 0000000..0637189 --- /dev/null +++ b/test/embedding.py @@ -0,0 +1,50 @@ +# Copyright (c) Huawei Technologies Co., Ltd. 2023-2024. All rights reserved. +import requests +import json +import urllib3 +from config import BaseConfig, EmbeddingType + +urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) + + +class Embedding(): + @staticmethod + async def vectorize_embedding(text): + vector = None + if BaseConfig().get_config().embedding.embedding_type == EmbeddingType.OPENAI: + headers = { + "Authorization": f"Bearer {BaseConfig().get_config().embedding.embedding_api_key}", + } + data = { + "input": text, + "model": BaseConfig().get_config().embedding.embedding_model_name, + "encoding_format": "float" + } + try: + res = requests.post(url=BaseConfig().get_config().embedding.embedding_endpoint, + headers=headers, json=data, verify=False) + if res.status_code != 200: + return None + vector = res.json()['data'][0]['embedding'] + except Exception as e: + err = f"[Embedding] 向量化失败 ,error: {e}" + print(err) + return None + elif BaseConfig().get_config().embedding.embedding_type == 'mindie': + try: + data = { + "inputs": text, + } + res = requests.post(url=BaseConfig().get_config().embedding.embedding_endpoint, json=data, verify=False) + if res.status_code != 200: + return None + vector = json.loads(res.text)[0] + except Exception as e: + err = f"[Embedding] 向量化失败 ,error: {e}" + print(err) + return None + else: + return None + while len(vector) < 1024: + vector.append(0) + return vector[:1024] diff --git a/test/tools/llm.py b/test/llm.py similarity index 51% rename from test/tools/llm.py rename to test/llm.py index 103f4ff..f9e19cc 100644 --- a/test/tools/llm.py +++ b/test/llm.py @@ -1,60 +1,93 @@ -# Copyright (c) Huawei Technologies Co., Ltd. 2023-2024. All rights reserved. -import asyncio -import time -import json -from langchain_openai import ChatOpenAI -from langchain.schema import SystemMessage, HumanMessage - - -class LLM: - def __init__(self, openai_api_key, openai_api_base, model_name, max_tokens, request_timeout=60, temperature=0.1): - self.client = ChatOpenAI(model_name=model_name, - openai_api_base=openai_api_base, - openai_api_key=openai_api_key, - request_timeout=request_timeout, - max_tokens=max_tokens, - temperature=temperature) - print(model_name) - def assemble_chat(self, chat=None, system_call='', user_call=''): - if chat is None: - chat = [] - chat.append(SystemMessage(content=system_call)) - chat.append(HumanMessage(content=user_call)) - return chat - - async def nostream(self, chat, system_call, user_call): - chat = self.assemble_chat(chat, system_call, user_call) - response = await self.client.ainvoke(chat) - return response.content - - async def data_producer(self, q: asyncio.Queue, history, system_call, user_call): - message = self.assemble_chat(history, system_call, user_call) - try: - async for frame in self.client.astream(message): - await q.put(frame.content) - except Exception as e: - await q.put(None) - print(f"Error in data producer due to: {e}") - return - await q.put(None) - - async def stream(self, chat, system_call, user_call): - st = time.time() - q = asyncio.Queue(maxsize=10) - - # 启动生产者任务 - producer_task = asyncio.create_task(self.data_producer(q, chat, system_call, user_call)) - first_token_reach = False - while True: - data = await q.get() - if data is None: - break - if not first_token_reach: - first_token_reach = True - print(f"大模型回复第一个字耗时 = {time.time() - st}") - for char in data: - yield "data: " + json.dumps({'content': char}, ensure_ascii=False) + '\n\n' - await asyncio.sleep(0.03) # 使用异步 sleep - - yield "data: [DONE]" - print(f"大模型回复耗时 = {time.time() - st}") +# Copyright (c) Huawei Technologies Co., Ltd. 2023-2024. All rights reserved. +import asyncio +import time +import re +import json +import tiktoken +from langchain_openai import ChatOpenAI +from langchain.schema import SystemMessage, HumanMessage + + +class LLM: + def __init__(self, openai_api_key, openai_api_base, model_name, max_tokens, request_timeout=60, temperature=0.1): + self.openai_api_key = openai_api_key + self.openai_api_base = openai_api_base + self.model_name = model_name + self.max_tokens = max_tokens + self.request_timeout = request_timeout + self.temperature = temperature + self.client = ChatOpenAI(model_name=model_name, + openai_api_base=openai_api_base, + openai_api_key=openai_api_key, + request_timeout=request_timeout, + max_tokens=max_tokens, + temperature=temperature) + + def assemble_chat(self, chat=None, system_call='', user_call=''): + if chat is None: + chat = [] + chat.append(SystemMessage(content=system_call)) + chat.append(HumanMessage(content=user_call)) + return chat + + async def nostream(self, chat, system_call, user_call, st_str: str = None, en_str: str = None): + try: + chat = self.assemble_chat(chat, system_call, user_call) + response = await self.client.ainvoke(chat) + content = re.sub(r'.*?\n?', '', response.content, flags=re.DOTALL) + content = re.sub(r'.*?\n?', '', content, flags=re.DOTALL) + content = content.strip() + if st_str is not None: + index = content.find(st_str) + if index != -1: + content = content[index:] + if en_str is not None: + index = content[::-1].find(en_str[::-1]) + if index != -1: + content = content[:len(content)-index] + except Exception as e: + err = f"[LLM] 非流式输出异常: {e}" + print("[LLM] %s", err) + return '' + return content + + async def data_producer(self, q: asyncio.Queue, history, system_call, user_call): + message = self.assemble_chat(history, system_call, user_call) + try: + async for frame in self.client.astream(message): + await q.put(frame.content) + except Exception as e: + await q.put(None) + err = f"[LLM] 流式输出生产者任务异常: {e}" + print("[LLM] %s", err) + raise e + await q.put(None) + + async def stream(self, chat, system_call, user_call): + st = time.time() + q = asyncio.Queue(maxsize=10) + + # 启动生产者任务 + producer_task = asyncio.create_task(self.data_producer(q, chat, system_call, user_call)) + first_token_reach = False + enc = tiktoken.encoding_for_model("gpt-4") + input_tokens = len(enc.encode(system_call)) + output_tokens = 0 + while True: + data = await q.get() + if data is None: + break + if not first_token_reach: + first_token_reach = True + print(f"大模型回复第一个字耗时 = {time.time() - st}") + output_tokens += len(enc.encode(data)) + yield "data: " + json.dumps( + {'content': data, + 'input_tokens': input_tokens, + 'output_tokens': output_tokens + }, ensure_ascii=False + ) + '\n\n' + await asyncio.sleep(0.03) # 使用异步 sleep + + yield "data: [DONE]" + print(f"大模型回复耗时 = {time.time() - st}") diff --git a/test/prompt.yaml b/test/prompt.yaml new file mode 100644 index 0000000..25ff89c --- /dev/null +++ b/test/prompt.yaml @@ -0,0 +1,708 @@ +ACC_ANALYSIS_RESULT_MERGE_PROMPT: + en: | + You are a text analysis expert. Your task is to combine two analysis results and output a new one. Note: + #01 Please combine the content of the two analysis results to produce a new analysis result. + #02 Please analyze using the four metrics of recall, precision, faithfulness, and interpretability. + #03 The new analysis result must be no longer than 500 characters. + #04 Please output only the new analysis result; do not output any other content. + Example: + Input 1: + Analysis Result 1: + Recall: Currently, the recall is 95.00, with room for improvement. We will optimize the vectorized search algorithm to further mine information in the original fragment that is relevant to the question but not retrieved, such as some specific practical cases in the openEuler ecosystem. The embedding model bge-m3 will be adjusted to more comprehensively and accurately capture semantics, expand the search scope, improve recall, and make the generated answers closer to the standard answer. + Accuracy: The accuracy is 99.00, which is quite high. However, further optimization is possible, including deeper semantic analysis of the retrieved snippets. By combining the features of the large model qwen2.5-32b, this can precisely match the question semantics and avoid subtle semantic deviations. For example, this can more precisely illustrate the specific manifestations of OpenEuler's high performance in cloud computing and edge computing. + Fidelity: The fidelity value is 90.00, indicating that some answers are not fully derived from the retrieved snippets. Optimizing the rag retrieval algorithm, improving the recall rate of the embedding model, and adjusting the text chunk size to 512 may be inappropriate and require re-evaluation based on the content. This ensures that the retrieved snippets contain sufficient context to support the answer, ensuring that the generated answer content is fully derived from the retrieved snippets. For example, regarding the development of the openEuler ecosystem, relevant technical details should be obtained from the retrieved snippets. + Interpretability: The interpretability is 85.00, which is relatively low. Improve the compliance of the large model qwen2.5-32b and optimize the recall of the rag retrieval algorithm and the embedding model bge-m3. This ensures that retrieved snippets better support answer generation and clearly answer questions. For example, when answering questions related to OpenEuler, this makes the answer logic clearer and more targeted, improving overall interpretability. + + Analysis Result 2: + The recall rate is currently 95.00. Further optimization of the rag retrieval algorithm and embedding model can be used to increase the semantic similarity between the generated answers and the standard answers, approaching or achieving a higher recall rate. For example, the algorithm can be continuously optimized to better match relevant snippets. + The precision is 99.00, close to the maximum score, indicating that the generated answers are semantically similar to the questions. However, further improvement is possible. This can be achieved by refining the embedding model to better understand the question semantics, optimizing the contextual completeness of the retrieved snippets, and reducing fluctuations in precision caused by insufficient context. + The faithfulness score is currently 90.00, indicating that some content in the generated answer is not fully derived from the retrieved snippet. The rag retrieval algorithm can be optimized to improve its recall rate. The text chunk size can also be adjusted appropriately to ensure that the retrieved snippet fully answers the question, thereby improving the faithfulness score. + Regarding interpretability, it is currently 85.00, indicating that the generated answer has room for improvement in terms of answering questions. On the one hand, the large model used can be optimized to improve its compliance, making the generated answer more accurate. On the other hand, the recall rates of the rag retrieval algorithm and embedding model can be further optimized to ensure that the retrieved snippet fully supports the answer and improve interpretability. + + Output: + Recall: Currently at 95.00, there is room for improvement. The vectorized retrieval algorithm can be optimized to further uncover information in the original snippet that is relevant to the question but not retrieved, as demonstrated in some specific practical cases within the openEuler ecosystem. Adjustments were made to the embedding model bge-m3 to enable it to more comprehensively and accurately capture semantics, expand the search scope, improve recall, and bring the generated answers closer to the standard answer. + Accuracy: The accuracy reached 99.00, which is already high. However, further optimization is needed to conduct deeper semantic analysis of the retrieved snippets. By combining the features of the large model qwen2.5-32b, this can precisely match the question semantics and avoid subtle semantic deviations. For example, this could more accurately demonstrate the specific characteristics of OpenEuler's high performance in cloud computing and edge computing. + Fidelity: The fidelity value was 90.00, indicating that some answer content was not fully derived from the retrieved snippet. The rag retrieval algorithm was optimized to improve the recall of the embedding model. Adjusting the text chunk size to 512 may be unreasonable and requires re-evaluation based on the content to ensure that the retrieved snippets contain sufficient context to support the answer, ensuring that the generated answer content is fully derived from the retrieved snippet. For example, relevant technical details regarding the development of the OpenEuler ecosystem should be obtained from the retrieved snippet. + Interpretability: The interpretability value was 85.00, which is relatively low. Improve the compliance of the large qwen2.5-32b model and optimize the recall of the rag retrieval algorithm and the embedding model bge-m3. This ensures that retrieval fragments can better support answer generation and clearly answer questions. For example, when answering questions related to OpenEuler, this improves answer logic, makes it more targeted, and improves overall interpretability. + + The following two analysis results: + Analysis Result 1: {analysis_result_1} + Analysis Result 2: {analysis_result_2} + + 中文: | + 你是一个文本分析专家,你的任务融合两条分析结果输出一份新的分析结果。注意: + #01 请根据两条分析结果中的内容融合出一条新的分析结果 + #02 请结合召回率、精确度、忠实值和可解释性四个指标进行分析 + #03 新的分析结果长度不超过500字 + #04 请仅输出新的分析结果,不要输出其他内容 + 例子: + 输入1: + 分析结果1: + 召回率:目前召回率为 95.00,有提升空间。优化向量化检索算法,进一步挖掘原始片段中与问题相关但未被检索到的信息,如 openEuler 生态中一些具体实践案例等。调整 embedding 模型 bge-m3,使其能更全面准确地捕捉语义,扩大检索范围,提高召回率,使生成答案更接近标准答案。 + 精确度:精确度达 99.00,已较高。但可进一步优化,对检索到的片段进行更深入的语义分析,结合大模型 qwen2.5-32b 的特点,精准匹配问题语义,避免细微语义偏差,例如更精确阐述 openEuler 在云计算和边缘计算中高性能等特性的具体表现。 + 忠实值:忠实值为 90.00,说明部分答案内容未完全源于检索片段。优化 rag 检索算法,提高 embedding 模型召回率,调整文本分块大小为 512 可能存在不合理,需根据内容重新评估,确保检索片段包含足够上下文以支撑答案,使生成答案内容均来自检索片段,如关于 openEuler 生态建设中相关技术细节应从检索片段获取。 + 可解释性:可解释性为 85.00,相对较低。提升大模型 qwen2.5-32b 的遵从度,优化 rag 检索算法和 embedding 模型 bge-m3 的召回率,使检索片段能更好支撑生成答案,保证答案能清晰回答问题,例如在回答 openEuler 相关问题时,使答案逻辑更清晰、针对性更强,提高整体可解释性。 + + 分析结果2: + 从召回率来看,目前为 95.00,可进一步优化 rag 检索算法和 embedding 模型,以提高生成答案与标准回答之间的语义相似程度,接近或达到更高的召回率,例如可以持续优化算法来更好地匹配相关片段。 + 从精确度来看,为 99.00,接近满分,说明生成的答案与问题语义相似程度较高,但仍可进一步提升,可通过完善 embedding 模型来更好地理解问题语义,优化检索到的片段的上下文完整性,减少因上下文不足导致的精确度波动。 + 对于忠实值,目前为 90.00,说明生成的答案中部分内容未完全来自检索到的片段。可优化 rag 检索算法,提高其召回率,同时合理调整文本分块大小,确保检索到的片段能充分回答问题,从而提高忠实值。 + 关于可解释性,当前为 85.00,说明生成的答案在用于回答问题方面有一定提升空间。一方面可以优化使用的大模型,提高其遵从度,使其生成的答案更准确地回答问题;另一方面,继续优化 rag 检索算法和 embedding 模型的召回率,保证检索到的片段能全面支撑问题的回答,提高可解释性。 + + 输出: + 召回率:目前召回率为 95.00,有提升空间。优化向量化检索算法,进一步挖掘原始片段中与问题相关但未被检索到的信息,如 openEuler 生态中一些具体实践案例等。调整 embedding 模型 bge-m3,使其能更全面准确地捕捉语义,扩大检索范围,提高召回率,使生成答案更接近标准答案。 + 精确度:精确度达 99.00,已较高。但可进一步优化,对检索到的片段进行更深入的语义分析,结合大模型 qwen2.5-32b 的特点,精准匹配问题语义,避免细微语义偏差,例如更精确阐述 openEuler 在云计算和边缘计算中高性能等特性的具体表现。 + 忠实值:忠实值为 90.00,说明部分答案内容未完全源于检索片段。优化 rag 检索算法,提高 embedding 模型召回率,调整文本分块大小为 512 可能存在不合理,需根据内容重新评估,确保检索片段包含足够上下文以支撑答案,使生成答案内容均来自检索片段,如关于 openEuler 生态建设中相关技术细节应从检索片段获取。 + 可解释性:可解释性为 85.00,相对较低。提升大模型 qwen2.5-32b 的遵从度,优化 rag 检索算法和 embedding 模型 bge-m3 的召回率,使检索片段能更好支撑生成答案,保证答案能清晰回答问题,例如在回答 openEuler 相关问题时,使答案逻辑更清晰、针对性更强,提高整体可解释性。 + + 下面两条分析结果: + 分析结果1:{analysis_result_1} + 分析结果2:{analysis_result_2} + +ACC_RESULT_ANALYSIS_PROMPT: + en: | + You are a text analysis expert. Your task is to: analyze the large model used in the test, the embedding model used in the test, the parsing method and chunk size of related documents, the snippets matched by the RAG algorithm for a single test result, and propose methods to improve the accuracy of question-answering in the current knowledge base. + + The test results include the following information: + - Question: The question used in the test + - Standard answer: The standard answer used in the test + - Generated answer: The answer output by the large model in the test results + - Original snippet: The original snippet provided in the test results + - Retrieved snippet: The snippet retrieved by the RAG algorithm in the test results + + The four evaluation metrics are defined as follows: + - Precision: Evaluates the semantic similarity between the generated answer and the question. A lower score indicates lower compliance of the large model; additionally, it may mean the snippets retrieved by the RAG algorithm lack context and are insufficient to support the answer. + - Recall: Evaluates the semantic similarity between the generated answer and the standard answer. A lower score indicates lower compliance of the large model. + - Fidelity: Evaluates whether the content of the generated answer is derived from the retrieved snippet. A lower score indicates lower recall of the RAG retrieval algorithm and embedding model (resulting in retrieved snippets insufficient to answer the question); additionally, it may mean the text chunk size is inappropriate. + - Interpretability: Evaluates whether the generated answer is useful for answering the question. A lower score indicates lower recall of the RAG retrieval algorithm and embedding model (resulting in retrieved snippets insufficient to answer the question); additionally, it may mean lower compliance of the used large model. + + Notes: + #01 Analyze methods to improve the accuracy of current knowledge base question-answering based on the test results. + #02 Conduct the analysis using the four metrics: Recall, Precision, Fidelity, and Interpretability. + #03 The analysis result must not exceed 500 words. + #04 Output only the analysis result; do not include any other content. + + Example: + Input: + Model name: qwen2.5-32b + Embedding model: bge-m3 + Text chunk size: 512 + Used RAG algorithm: Vectorized retrieval + Question: What is OpenEuler? + Standard answer: OpenEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Generated answer: OpenEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Original snippet: openEuler is an open source operating system incubated and operated by the Open Atom Open Source Foundation. Its mission is to build an open source operating system ecosystem for digital infrastructure and provide solid underlying support for cutting-edge fields such as cloud computing and edge computing. In cloud computing scenarios, openEuler can fully optimize resource scheduling and allocation mechanisms. Through a lightweight kernel design and efficient virtualization technology, it significantly improves the responsiveness and throughput of cloud services. In edge computing, its exceptional low resource consumption and real-time processing capabilities ensure the timeliness and accuracy of data processing at edge nodes in complex environments. openEuler boasts a series of exceptional features: In terms of performance, its independently developed intelligent scheduling algorithm dynamically adapts to different load scenarios, and combined with deep optimization of hardware resources, significantly improves system efficiency. Regarding security, its built-in multi-layered security system, including mandatory access control, vulnerability scanning, and remediation mechanisms, provides a solid defense for system data and applications. Regarding reliability, its distributed storage, automatic fault detection, and rapid recovery technologies ensure stable system operation in the face of unexpected situations such as network fluctuations and hardware failures, minimizing the risk of service interruptions. These features make openEuler a crucial technological cornerstone for promoting high-quality development of the digital economy, helping enterprises and developers seize the initiative in digital transformation. + Retrieved snippet: As a pioneer in the open source operating system field, openEuler deeply integrates the wisdom of community developers and continuously iterates and upgrades to adapt to the rapidly changing technological environment. In the current era of prevalent microservices architectures, openEuler Through deep optimization of containerization technology and support for mainstream orchestration tools such as Kubernetes, it makes application deployment and management more convenient and efficient, significantly enhancing the flexibility of enterprise business deployments. At the same time, it actively embraces the AI era. By adapting and optimizing machine learning frameworks, it provides powerful computing power for AI model training and inference, effectively reducing the development and operating costs of AI applications. Regarding ecosystem development, openEuler boasts a large and active open source community, bringing together technology enthusiasts and industry experts from around the world, forming a complete ecosystem from kernel development and driver adaptation to application optimization. The community regularly hosts technical exchanges and developer conferences to promote knowledge sharing and technological innovation, providing developers with a wealth of learning resources and practical opportunities. Numerous hardware and software manufacturers have joined the openEuler ecosystem, launching solutions and products based on the system across key industries such as finance, telecommunications, and energy. These efforts, validated through real-world application scenarios and feeding back into openEuler's technological development, have fostered a virtuous cycle of innovation, making openEuler not just an operating system but a powerful engine driving collaborative industry development. + Recall: 95.00 + Precision: 99.00 + Fidelity: 90.00 + Interpretability: 85.00 + + Output: + Based on the test results, methods for improving the accuracy of current knowledge base question-answering can be analyzed from the following aspects: Recall: The current recall is 95.00, with room for improvement. Optimize the vectorized retrieval algorithm to further mine question-related but unretrieved information in the original snippets, such as some specific practical cases in the openEuler ecosystem. Adjust the embedding model bge-m3 to more comprehensively and accurately capture semantics, expand the search scope, improve recall, and make the generated answers closer to the standard answer. Precision: The accuracy reached 99.00, which is already high. However, further optimization is possible, including deeper semantic analysis of retrieved snippets. By combining the features of the large model qwen2.5-32b, this can accurately match the question semantics and avoid subtle semantic deviations. For example, more precise demonstration of openEuler's high performance in cloud computing and edge computing can be achieved. Fidelity: A fidelity score of 90.00 indicates that some answers are not fully derived from the search snippet. We optimized the rag retrieval algorithm, improved the recall of the embedding model, and adjusted the text chunk size to 512. This may be inappropriate and requires reassessment based on the content. We need to ensure that the search snippet contains sufficient context to support the answer, ensuring that the generated answer content is derived from the search snippet. For example, relevant technical details regarding the development of the openEuler ecosystem should be obtained from the search snippet. Interpretability: The interpretability score is 85.00, which is relatively low. We improved the compliance of the large model qwen2.5-32b and optimized the recall of the rag retrieval algorithm and the embedding model bge-m3. This ensures that the search snippet better supports answer generation and clearly answers the question. For example, when answering openEuler-related questions, the answer logic is made clearer and more targeted, improving overall interpretability. + + The following is the test result content: + Used large model: {model_name} + Embedding model: {embedding_model} + Text chunk size: {chunk_size} + Used RAG parsing algorithm: {rag_algorithm} + Question: {question} + Standard answer: {standard_answer} + Generated answer: {generated_answer} + Original fragment: {original_fragment} + Retrieved fragment: {retrieved_fragment} + Recall: {recall} + Precision: {precision} + Faithfulness: {faithfulness} + Interpretability: {relevance} + + 中文: | + 你是一个文本分析专家,你的任务是:根据给出的测试使用的大模型、embedding模型、测试相关文档的解析方法和分块大小、单条测试结果分析RAG算法匹配到的片段,并分析当前知识库问答准确率的提升方法。 + + 测试结果包含以下内容: + - 问题:测试使用的问题 + - 标准答案:测试使用的标准答案 + - 生成的答案:测试结果中大模型输出的答案 + - 原始片段:测试结果中的原始片段 + - 检索的片段:测试结果中RAG算法检索到的片段 + + 四个评估指标定义如下: + - 精确率:评估生成的答案与问题之间的语义相似程度。评分越低,说明使用的大模型遵从度越低;其次可能是RAG检索到的片段缺少上下文,不足以支撑问题的回答。 + - 召回率:评估生成的答案与标准回答之间的语义相似程度。评分越低,说明使用的大模型遵从度越低。 + - 忠实值:评估生成的答案中的内容是否来自于检索到的片段。评分越低,说明RAG检索算法和embedding模型的召回率越低(导致检索到的片段不足以回答问题);其次可能是文本分块大小不合理。 + - 可解释性:评估生成的答案是否能用于回答问题。评分越低,说明RAG检索算法和embedding模型的召回率越低(导致检索到的片段不足以回答问题);其次可能是使用的大模型遵从度越低。 + + 注意: + #01 请根据测试结果中的内容分析当前知识库问答准确率的提升方法。 + #02 请结合召回率、精确率、忠实值和可解释性四个指标进行分析。 + #03 分析结果长度不超过500字。 + #04 请仅输出分析结果,不要输出其他内容。 + + 例子: + 输入: + 模型名称:qwen2.5-32b + embedding模型:bge-m3 + 文本的分块大小:512 + 使用解析的RAG算法:向量化检索 + 问题:openEuler是什么操作系统? + 标准答案:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 生成的答案:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 原始片段:openEuler是由开放原子开源基金会孵化及运营的开源操作系统,以构建面向数字基础设施的开源操作系统生态为使命,致力于为云计算、边缘计算等前沿领域提供坚实的底层支持。在云计算场景中,openEuler能够充分优化资源调度与分配机制,通过轻量化的内核设计和高效的虚拟化技术,显著提升云服务的响应速度与吞吐量;在边缘计算领域,它凭借出色的低资源消耗特性与实时处理能力,保障了边缘节点在复杂环境下数据处理的及时性与准确性。openEuler具备一系列卓越特性:在性能方面,其自主研发的智能调度算法能够动态适配不同负载场景,结合对硬件资源的深度优化利用,大幅提升系统运行效率;安全性上,通过内置的多层次安全防护体系,包括强制访问控制、漏洞扫描与修复机制,为系统数据与应用程序构筑起坚实的安全防线;可靠性层面,基于分布式存储、故障自动检测与快速恢复技术,确保系统在面对网络波动、硬件故障等突发状况时,依然能够稳定运行,最大限度降低服务中断风险。这些特性使openEuler成为推动数字经济高质量发展的重要技术基石,助力企业与开发者在数字化转型进程中抢占先机。 + 检索的片段:openEuler作为开源操作系统领域的先锋力量,深度融合了社区开发者的智慧结晶,不断迭代升级以适应快速变化的技术环境。在微服务架构盛行的当下,openEuler通过对容器化技术的深度优化,支持Kubernetes等主流编排工具,让应用部署与管理变得更加便捷高效,极大提升了企业的业务部署灵活性。同时,它积极拥抱AI时代,通过对机器学习框架的适配与优化,为AI模型训练和推理提供强大的算力支撑,有效降低了AI应用的开发与运行成本。在生态建设方面,openEuler拥有庞大且活跃的开源社区,汇聚了来自全球的技术爱好者与行业专家,形成了从内核开发、驱动适配到应用优化的完整生态链。社区定期举办技术交流与开发者大会,推动知识共享与技术创新,为开发者提供了丰富的学习资源与实践机会。众多硬件厂商和软件企业纷纷加入openEuler生态,推出基于该系统的解决方案和产品,涵盖金融、电信、能源等关键行业,以实际应用场景验证并反哺openEuler的技术发展,形成了良性循环的创新生态,让openEuler不仅是一个操作系统,更成为推动产业协同发展的强大引擎。 + 召回率:95.00 + 精确率:99.00 + 忠实值:90.00 + 可解释性:85.00 + + 输出: + 根据测试结果中的内容,当前知识库问答准确率提升的方法可以从以下几个方面进行分析:召回率:目前召回率为95.00,有提升空间。优化向量化检索算法,进一步挖掘原始片段中与问题相关但未被检索到的信息,如openEuler生态中一些具体实践案例等。调整embedding模型bge-m3,使其能更全面准确地捕捉语义,扩大检索范围,提高召回率,使生成答案更接近标准答案。精确率:精确率达99.00,已较高。但可进一步优化,对检索到的片段进行更深入的语义分析,结合大模型qwen2.5-32b的特点,精准匹配问题语义,避免细微语义偏差,例如更精确阐述openEuler在云计算和边缘计算中高性能等特性的具体表现。忠实值:忠实值为90.00,说明部分答案内容未完全源于检索片段。优化RAG检索算法,提高embedding模型召回率,文本分块大小为512可能存在不合理,需根据内容重新评估,确保检索片段包含足够上下文以支撑答案,使生成答案内容均来自检索片段,如关于openEuler生态建设中相关技术细节应从检索片段获取。可解释性:可解释性为85.00,相对较低。提升大模型qwen2.5-32b的遵从度,优化RAG检索算法和embedding模型bge-m3的召回率,使检索片段能更好支撑生成答案,保证答案能清晰回答问题,例如在回答openEuler相关问题时,使答案逻辑更清晰、针对性更强,提高整体可解释性。 + + 下面是测试结果中的内容: + 使用的大模型:{model_name} + embedding模型:{embedding_model} + 文本的分块大小:{chunk_size} + 使用解析的RAG算法:{rag_algorithm} + 问题:{question} + 标准答案:{standard_answer} + 生成的答案:{generated_answer} + 原始片段:{original_fragment} + 检索的片段:{retrieved_fragment} + 召回率:{recall} + 精确率:{precision} + 忠实值:{faithfulness} + 可解释性:{relevance} + +ANSWER_TO_ANSWER_PROMPT: + # 英文文本相似度评分提示词 + en: | + You are a text analysis expert. Your task is to compare the similarity between two documents and output a score between 0 and 100 with two decimal places. + + Note: + #01 Score based on text similarity in three dimensions: semantics, word order, and keywords. + #02 If the core expressions of the two documents are consistent, the score will be relatively high. + #03 If one document contains the core content of the other, the score will also be relatively high. + #04 If there is content overlap between the two documents, the score will be determined by the proportion of the overlap. + #05 Output only the score (no other content). + + Example 1: + Input - Text 1: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Text 2: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Output: 100.00 + + Example 2: + Input - Text 1: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Text 2: openEuler is an open-source operating system designed to support cloud computing and edge computing. It features high performance and high security. + Output: 90.00 + + Example 3: + Input - Text 1: openEuler is an open-source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Text 2: A white horse is not a horse + Output: 00.00 + + The following are the given texts: + Text 1: {text_1} + Text 2: {text_2} + + # 中文文本相似度评分提示词 + 中文: | + 你是一个文本分析专家,你的任务是对比两个文本之间的相似度,并输出一个 0-100 之间的分数(保留两位小数)。 + + 注意: + #01 请根据文本在语义、语序和关键字三个维度的相似度进行打分。 + #02 如果两个文本在核心表达上一致,那么分数将相对较高。 + #03 如果一个文本包含另一个文本的核心内容,那么分数也将相对较高。 + #04 如果两个文本间存在内容重合,那么将按照重合内容的比例确定分数。 + #05 仅输出分数,不要输出其他任何内容。 + + 例子 1: + 输入 - 文本 1:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 文本 2:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出:100.00 + + 例子 2: + 输入 - 文本 1:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 文本 2:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能和高安全性等特点。 + 输出:90.00 + + 例子 3: + 输入 - 文本 1:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 文本 2:白马非马 + 输出:00.00 + + 下面是给出的文本: + 文本 1:{text_1} + 文本 2:{text_2} + +CAL_QA_SCORE_PROMPT: + en: >- + You are a text analysis expert. Your task is to evaluate the questions and answers generated from a given fragment, and assign a score between 0 and 100 (retaining two decimal places). Please evaluate based on the following criteria: + + ### 1. Question Evaluation + - **Relevance**: Is the question closely related to the topic of the given fragment? Is it accurately based on the fragment content? Does it deviate from or distort the core message of the fragment? + - **Plausibility**: Is the question formulated clearly and logically coherently? Does it conform to normal language and thinking habits? Is it free of semantic ambiguity, vagueness, or self-contradiction? + - **Variety**: If there are multiple questions, are their angles and types sufficiently varied to avoid being overly monotonous or repetitive? Can they explore the fragment content from different perspectives? + - **Difficulty**: Is the question difficulty appropriate? Not too easy (where answers can be directly copied from the fragment), nor too difficult (where respondents cannot find clues or evidence from the fragment)? + + ### 2. Answer Evaluation + - **Accuracy**: Does the answer accurately address the question? Is it consistent with the information in the fragment? Does it contain errors or omit key points? + - **Completeness**: Is the answer comprehensive, covering all aspects of the question? For questions requiring elaboration, does it provide sufficient details and explanations? + - **Succinctness**: On the premise of ensuring completeness and accuracy, is the answer concise and clear? Does it avoid lengthy or redundant expressions, and convey key information in concise language? + - **Coherence**: Is the answer logically clear? Are transitions between content sections natural and smooth? Are there any jumps or confusion? + + ### 3. Overall Assessment + - **Consistency**: Do the question and answer match each other? Does the answer address the raised question? Are they consistent in content and logic? + - **Integration**: Does the answer effectively integrate information from the fragment? Is it not just a simple excerpt, but rather an integrated, refined presentation in a logical manner? + - **Innovation**: In some cases, evaluate whether the answer demonstrates innovation or unique insights? Does it appropriately expand or deepen the information in the fragment? + + ### Note + #01 Please output only the score (without any other content). + + ### Example + Input 1: + Question: What operating system is openEuler? + Answer: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Snippet: openEuler is an open source operating system designed to support cloud and edge computing. It features high performance, high security, and high reliability. + Output 1: 100.00 + + Below is the given question, answer, and snippet: + Question: {question} + Answer: {answer} + Snippet: {fragment} + 中文: >- + 你是文本分析专家,任务是评估由给定片段生成的问题与答案,输出 0-100 之间的分数(保留两位小数)。请根据以下标准进行评估: + + ### 1. 问题评估 + - **相关性**:问题是否与给定片段的主题紧密相关?是否准确基于片段内容提出?有无偏离或曲解片段的核心信息? + - **合理性**:问题表述是否清晰、逻辑连贯?是否符合正常的语言表达和思维习惯?不存在语义模糊、歧义或自相矛盾的情况? + - **多样性**:若存在多个问题,问题之间的角度和类型是否具有足够多样性(避免过于单一或重复)?能否从不同方面挖掘片段内容? + - **难度**:问题难度是否适中?既不过于简单(答案可直接从片段中照搬),也不过于困难(回答者难以从片段中找到线索或依据)? + + ### 2. 答案评估 + - **准确性**:答案是否准确无误地回答了问题?与片段中的信息是否一致?有无错误或遗漏关键要点? + - **完整性**:答案是否完整,涵盖问题涉及的各个方面?对于需要详细阐述的问题,是否提供了足够的细节和解释? + - **简洁性**:在保证回答完整、准确的前提下,答案是否简洁明了?是否避免冗长、啰嗦的表述,能否以简洁语言传达关键信息? + - **连贯性**:答案逻辑是否清晰?各部分内容之间的衔接是否自然流畅?有无跳跃或混乱的情况? + + ### 3. 整体评估 + - **一致性**:问题与答案之间是否相互匹配?答案是否针对所提出的问题进行回答?两者在内容和逻辑上是否保持一致? + - **融合性**:答案是否能很好地融合片段中的信息?是否并非简单摘抄,而是经过整合、提炼后以合理方式呈现? + - **创新性**:在某些情况下,评估答案是否具有一定创新性或独特见解?是否能在片段信息基础上进行适当拓展或深入思考? + + ### 注意事项 + #01 请仅输出分数,不要输出其他内容。 + + ### 示例 + 输入 1: + 问题:openEuler 是什么操作系统? + 答案:openEuler 是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 片段:openEuler 是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出 1:100.00 + + 下面是给出的问题、答案和片段: + 问题:{question} + 答案:{answer} + 片段:{fragment} + +CHUNK_QUERY_MATCH_PROMPT: + en: | + You are a text analysis expert. Your task is to determine whether a given fragment is relevant to a question. + Note: + #01 If the fragment is relevant, output YES. + #02 If the fragment is not relevant, output NO. + #03 Only output YES or NO, and do not output anything else. + + Example: + Input 1: + Fragment: openEuler is an open source operating system. + Question: What kind of operating system is openEuler? + Output 1: YES + + Input 2: + Fragment: A white horse is not a horse. + Question: What kind of operating system is openEuler? + Output 2: NO + + Here are the given fragment and question: + Fragment: {chunk} + Question: {question} + 中文: | + 你是一个文本分析专家,你的任务是根据给出的片段和问题,判断片段是否与问题相关。 + 注意: + #01 如果片段与问题相关,请输出YES; + #02 如果片段与问题不相关,请输出NO; + #03 请仅输出YES或NO,不要输出其他内容。 + + 例子: + 输入1: + 片段:openEuler是一个开源的操作系统。 + 问题:openEuler是什么操作系统? + 输出1:YES + + 输入2: + 片段:白马非马 + 问题:openEuler是什么操作系统? + 输出2:NO + + 下面是给出的片段和问题: + 片段:{chunk} + 问题:{question} + +CONTENT_TO_ABSTRACT_PROMPT: + en: | + You are a text summarization expert. Your task is to generate a new English summary based on a given text and an existing summary. + Note: + #01 Please combine the most important content from the text and the existing summary to generate the new summary. + #02 The length of the new summary must be greater than 200 words and less than 500 words. + #03 Please only output the new English summary; do not output any other content. + + Example: + Input 1: + Text: openEuler features high performance, high security, and high reliability. + Abstract: openEuler is an open source operating system designed to support cloud computing and edge computing. + Output 1: openEuler is an open source operating system designed to support cloud computing and edge computing. openEuler features high performance, high security, and high reliability. + + Below is the given text and summary: + Text: {content} + Abstract: {abstract} + 中文: | + 你是一个文本摘要专家,你的任务是根据给出的文本和已有摘要,生成一个新的中文摘要。 + 注意: + #01 请结合文本和已有摘要中最重要的内容,生成新的摘要; + #02 新的摘要长度必须大于200字且小于500字; + #03 请仅输出新的中文摘要,不要输出其他内容。 + + 例子: + 输入1: + 文本:openEuler具有高性能、高安全性和高可靠性等特点。 + 摘要:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。 + 输出1:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。openEuler具有高性能、高安全性和高可靠性等特点。 + + 下面是给出的文本和摘要: + 文本:{content} + 摘要:{abstract} + +CONTENT_TO_STATEMENTS_PROMPT: + en: | + You are a text parsing expert. Your task is to extract multiple English statements from a given text and return them as a list. + + Note: + #01 Statements must be derived from key points in the text. + #02 Statements must be arranged in relative order. + #03 Each statement must be at least 20 characters long and no more than 50 characters long. + #04 The total number of statements output must not exceed three. + #05 Please output only the list of statements, not any other content. Each statement must be in English. + Example: + + Input: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Output: [ "openEuler is an open source operating system", "openEuler is designed to support cloud computing and edge computing", "openEuler features high performance, high security, and high reliability" ] + + The following is the given text: {content} + 中文: | + 你是一个文本分解专家,你的任务是根据我给出的文本,将文本提取为多个中文陈述,陈述使用列表形式返回 + + 注意: + #01 陈述必须来源于文本中的重点内容 + #02 陈述按相对顺序排列 + #03 输出的单个陈述长度不少于20个字,不超过50个字 + #04 输出的陈述总数不超过3个 + #05 请仅输出陈述列表,不要输出其他内容,且每一条陈述都是中文。 + 例子: + + 输入:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出:[ "openEuler是一个开源的操作系统", "openEuler旨在为云计算和边缘计算提供支持", "openEuler具有高性能、高安全性和高可靠性等特点" ] + + 下面是给出的文本: {content} + +CONTENT_TO_TITLE_PROMPT: + en: >- + You are a title extraction expert. Your task is to generate an English title based on the given text. + Note: + #01 The title must be derived from the content of the text. + #02 The title must be no longer than 20 characters. + #03 Please output only the English title, and do not output any other content. + #04 If the given text is insufficient to generate a title, output "Unable to generate title." + Example: + Input: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Output: Overview of the openEuler operating system. + Below is the given text: {content} + 中文: >- + 你是一个标题提取专家,你的任务是根据给出的文本生成一个中文标题。 + 注意: + #01 标题必须来源于文本中的内容 + #02 标题长度不超过20个字 + #03 请仅输出中文标题,不要输出其他内容 + #04 如果给出的文本不够生成标题,请输出“无法生成标题” + 例子: + 输入:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出:openEuler操作系统概述 + 下面是给出的文本:{content} + +GENERATE_ANSWER_FROM_QUESTION_AND_CONTENT_PROMPT: + en: | + You are a text analysis expert. Your task is to generate an English answer based on a given question and text. + Note: + #01 The answer must be derived from the content in the text. + #02 The answer must be at least 50 words and no more than 500 words. + #03 Please only output the English answer; do not output any other content. + Example: + Input 1: + Question: What kind of operating system is openEuler? + Text: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Output 1: openEuler is an open source operating system designed to support cloud computing and edge computing. + + Input 2: + Question: How secure is openEuler? + Text: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Output 2: openEuler is highly secure. + + Below is the given question and text: + Question: {question} + Text: {content} + 中文: | + 你是一个文本分析专家,你的任务是根据给出的问题和文本生成中文答案。 + 注意: + #01 答案必须来源于文本中的内容; + #02 答案长度不少于50字且不超过500个字; + #03 请仅输出中文答案,不要输出其他内容。 + 例子: + 输入1: + 问题:openEuler是什么操作系统? + 文本:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出1:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。 + + 输入2: + 问题:openEuler的安全性如何? + 文本:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出2:openEuler具有高安全性。 + + 下面是给出的问题和文本: + 问题:{question} + 文本:{content} + +GENERATE_QUESTION_FROM_CONTENT_PROMPT: + en: | + You are a text analysis expert. Your task is to generate {k} English questions based on the given text and return them as a list. + Note: + #01 Questions must be derived from the content of the text. + #02 A single question must not exceed 50 characters. + #03 Do not output duplicate questions. + #04 The output questions should be diverse, covering different aspects of the text. + #05 Please only output a list of English questions, not other content. + Example: + Input: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Output: ["What is openEuler?","What fields does openEuler support?","What are the characteristics of openEuler?","How secure is openEuler?","How reliable is openEuler?"] + The following is the given text: {content} + 中文: | + 你是一个文本分析专家,你的任务是根据给出的文本生成{k}个中文问题并用列表返回。 + 注意: + #01 问题必须来源于文本中的内容; + #02 单个问题长度不超过50个字; + #03 不要输出重复的问题; + #04 输出的问题要多样,覆盖文本中的不同方面; + #05 请仅输出中文问题列表,不要输出其他内容。 + 例子: + 输入:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出:["openEuler是什么操作系统?","openEuler旨在为哪个领域提供支持?","openEuler具有哪些特点?","openEuler的安全性如何?","openEuler的可靠性如何?"] + 下面是给出的文本:{content} + +OCR_ENHANCED_PROMPT: + en: | + You are an expert in image OCR content summarization. Your task is to describe the image based on the context I provide, descriptions of adjacent images, a summary of the previous OCR result for the current image, and the partial OCR results (including text and relative coordinates). + + Note: + #01 The image content must be described in detail, using at least 200 and no more than 500 words. Detailed data listing is acceptable. + #02 If this diagram is a flowchart, please describe the content in the order of the flowchart. + #03 If this diagram is a table, please output the table content in Markdown format. + #04 If this diagram is an architecture diagram, please describe the content according to the hierarchy of the architecture diagram. + #05 The summarized image description must include the key information in the image; it cannot simply describe the image's location. + #06 Adjacent text in the image recognition results may be part of the same paragraph. Please merge them before summarizing. + #07 The text may be misplaced. Please correct the order before summarizing. + #08 Please only output the image summary; do not output any other content. + #09 Do not output coordinates or other information; only output a description of the relative position of each part. + #10 If the image content is empty, output "Image content is empty." + #11 If the image itself is a paragraph of text, output the text content directly. + #12 Please use English for the output. + Context: {image_related_text} + Summary of the OCR content of the previous part of the current image: {pre_part_description} + Result of the OCR of the current part of the image: {part} + 中文: | + 你是一个图片OCR内容总结专家,你的任务是根据我提供的上下文、相邻图片组描述、当前图片上一次的OCR内容总结、当前图片部分OCR的结果(包含文字和文字的相对坐标)给出图片描述。 + + 注意: + #01 必须使用大于200字小于500字详细描述这个图片的内容,可以详细列出数据。 + #02 如果这个图是流程图,请按照流程图顺序描述内容。 + #03 如果这张图是表格,请用Markdown形式输出表格内容。 + #04 如果这张图是架构图,请按照架构图层次结构描述内容。 + #05 总结的图片描述必须包含图片中的主要信息,不能只描述图片位置。 + #06 图片识别结果中相邻的文字可能是同一段落的内容,请合并后总结。 + #07 文字可能存在错位,请修正顺序后进行总结。 + #08 请仅输出图片的总结即可,不要输出其他内容。 + #09 不要输出坐标等信息,输出每个部分相对位置的描述即可。 + #10 如果图片内容为空,请输出“图片内容为空”。 + #11 如果图片本身就是一段文字,请直接输出文字内容。 + #12 请使用中文输出。 + 上下文:{image_related_text} + 当前图片上一部分的OCR内容总结:{pre_part_description} + 当前图片部分OCR的结果:{part} + +QA_TO_STATEMENTS_PROMPT: + en: | + You are a text parsing expert. Your task is to extract the answers from the questions and answers I provide into multiple English statements, returning them as a list. + + Note: + #01 The statements must be derived from the key points of the answers. + #02 The statements must be arranged in relative order. + #03 The length of each statement output must not exceed 50 characters. + #04 The total number of statements output must not exceed 20. + #05 Please only output the list of English statements; do not output any other content. + + Example: + Input: Question: What is openEuler? Answer: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Output: [ "openEuler is an open source operating system", "openEuler is designed to support cloud computing and edge computing", "openEuler features high performance, high security, and high reliability" ] + + Below are the given questions and answers: + Question: {question} + Answer: {answer} + 中文: | + 你是一个文本分解专家,你的任务是根据我给出的问题和答案,将答案提取为多个中文陈述,陈述使用列表形式返回。 + + 注意: + #01 陈述必须来源于答案中的重点内容 + #02 陈述按相对顺序排列 + #03 输出的单个陈述长度不超过50个字 + #04 输出的陈述总数不超过20个 + #05 请仅输出中文陈述列表,不要输出其他内容 + + 例子: + 输入:问题:openEuler是什么操作系统? 答案:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出:[ "openEuler是一个开源的操作系统", "openEuler旨在为云计算和边缘计算提供支持", "openEuler具有高性能、高安全性和高可靠性等特点" ] + + 下面是给出的问题和答案: + 问题:{question} + 答案:{answer} + +QUERY_EXTEND_PROMPT: + en: | + You are a question expansion expert. Your task is to expand {k} questions based on the given question. + + Note: + #01 The content of the expanded question must be derived from the content of the original question. + #02 The expanded question length must not exceed 50 characters. + #03 Questions can be rewritten by replacing synonyms, swapping word order within the question, changing English capitalization, etc. + #04 Please only output the expanded question list, do not output other content. + + Example: + Input: What operating system is openEuler? + Output: [ "What kind of operating system is openEuler?", "What are the characteristics of the openEuler operating system?", "What are the functions of the openEuler operating system?", "What are the advantages of the openEuler operating system?" ] + + The following is the given question: {question} + 中文: | + 你是一个问题扩写专家,你的任务是根据给出的问题扩写{k}个问题。 + + 注意: + #01 扩写的问题的内容必须来源于原问题中的内容 + #02 扩写的问题长度不超过50个字 + #03 可以通过近义词替换、问题内词序交换、修改英文大小写等方式来改写问题 + #04 请仅输出扩写的问题列表,不要输出其他内容 + + 例子: + 输入:openEuler是什么操作系统? + 输出:[ "openEuler是一个什么样的操作系统?", "openEuler操作系统的特点是什么?", "openEuler操作系统有哪些功能?", "openEuler操作系统的优势是什么?" ] + + 下面是给出的问题:{question} + +STATEMENTS_TO_FRAGMENT_PROMPT: + en: | + You are a text expert. Your task is to determine whether a given statement is strongly related to the fragment. + + Note: + #01 If the statement is strongly related to the fragment or is derived from the fragment, output YES. + #02 If the content in the statement is unrelated to the fragment, output NO. + #03 If the statement is a refinement of a portion of the fragment, output YES. + #05 Only output YES or NO, and do not output anything else. + + Example: + Input 1: + Statement: openEuler is an open source operating system. + Fragment: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Output 1: YES + + Input 2: + Statement: A white horse is not a horse. + Fragment: openEuler is an open source operating system designed to support cloud computing and edge computing. It features high performance, high security, and high reliability. + Output 2: NO + + Below is a given statement and fragment: + Statement: {statement} + Fragment: {fragment} + 中文: | + 你是一个文本专家,你的任务是判断给出的陈述是否与片段强相关。 + + 注意: + #01 如果陈述与片段强相关或者来自于片段,请输出YES + #02 如果陈述中的内容与片段无关,请输出NO + #03 如果陈述是片段中某部分的提炼,请输出YES + #05 请仅输出YES或NO,不要输出其他内容 + + 例子: + 输入1: + 陈述:openEuler是一个开源的操作系统。 + 片段:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出1:YES + + 输入2: + 陈述:白马非马 + 片段:openEuler是一个开源的操作系统,旨在为云计算和边缘计算提供支持。它具有高性能、高安全性和高可靠性等特点。 + 输出2:NO + + 下面是给出的陈述和片段: + 陈述:{statement} + 片段:{fragment} + +STATEMENTS_TO_QUESTION_PROMPT: + en: | + You are a text analysis expert. Your task is to determine whether a given statement is relevant to a question. + + Note: + #01 If the statement is relevant to the question, output YES. + #02 If the statement is not relevant to the question, output NO. + #03 Only output YES or NO, and do not output anything else. + #04 A statement's relevance to the question means that the content in the statement can answer the question or overlaps with the question in terms of content. + + Example: + Input 1: + Statement: openEuler is an open source operating system. + Question: What kind of operating system is openEuler? + Output 1: YES + + Input 2: + Statement: A white horse is not a horse. + Question: What kind of operating system is openEuler? + Output 2: NO + + Below is the given statement and question: + Statement: {statement} + Question: {question} + 中文: | + 你是一个文本分析专家,你的任务是判断给出的陈述是否与问题相关。 + + 注意: + #01 如果陈述与问题相关,请输出YES + #02 如果陈述与问题不相关,请输出NO + #03 请仅输出YES或NO,不要输出其他内容 + #04 陈述与问题相关是指,陈述中的内容可以回答问题或者与问题在内容上有交集 + + 例子: + 输入1: + 陈述:openEuler是一个开源的操作系统。 + 问题:openEuler是什么操作系统? + 输出1:YES + + 输入2: + 陈述:白马非马 + 问题:openEuler是什么操作系统? + 输出2:NO + + 下面是给出的陈述和问题: + 陈述:{statement} + 问题:{question} diff --git a/test/requirements.txt b/test/requirements.txt deleted file mode 100644 index e4b18f8..0000000 --- a/test/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -jieba==0.42.1 -pandas==2.1.4 -pydantic==2.10.2 -langchain==0.1.16 -langchain-openai==0.1.7 -synonyms==3.23.5 \ No newline at end of file diff --git a/test/result.xlsx b/test/result.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..4a85ab395df84ef5f5511eb15477e0b2005f5557 GIT binary patch literal 11520 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 GdisC5vOjVF literal 0 HcmV?d00001 diff --git a/test/tools/stopwords.txt b/test/stopwords.txt similarity index 99% rename from test/tools/stopwords.txt rename to test/stopwords.txt index 5784b44..bfb5f30 100644 --- a/test/tools/stopwords.txt +++ b/test/stopwords.txt @@ -1276,7 +1276,6 @@ indeed 第三句 更 看上去 -安全 零 也好 上去 @@ -3702,7 +3701,6 @@ sup 它们的 它是 它的 -安全 完全 完成 定 diff --git a/test/test.py b/test/test.py new file mode 100644 index 0000000..cde4352 --- /dev/null +++ b/test/test.py @@ -0,0 +1,88 @@ +import argparse +import asyncio +import pandas as pd + +from token_tool import TokenTool +from pydantic import BaseModel, Field + + +class TestEntity(BaseModel): + """测试实体模型""" + question: str = Field(default="", description="问题") + answer: str = Field(default="", description="答案") + chunk: str = Field(default="", description="上下文片段") + llm_answer: str = Field(default="", description="大模型答案") + related_chunk: str = Field(default="", description="相关上下文片段") + pre: float = Field(default=0.0, description="准确率") + rec: float = Field(default=0.0, description="召回率") + fai: float = Field(default=0.0, description="可信度") + rel: float = Field(default=0.0, description="相关性") + lcs: float = Field(default=0.0, description="最长公共子串") + leve: float = Field(default=0.0, description="编辑距离") + jac: float = Field(default=0.0, description="Jaccard相似度") + + +async def read_data_from_file(input_xlsx_file: str) -> list[TestEntity]: + """从文件读取测试数据""" + df = pd.read_excel(input_xlsx_file) + data = [] + for _, row in df.iterrows(): + entity = TestEntity( + question=row.get('question', ''), + answer=row.get('answer', ''), + chunk=row.get('chunk', ''), + llm_answer=row.get('llm_answer', ''), + related_chunk=row.get('related_chunk', '') + ) + data.append(entity) + return data + + +async def write_data_to_file(output_xlsx_file: str, data: list[TestEntity]) -> None: + """ + 将测试数据写入文件 + 第一个sheet写入平均分,第二个sheet写入详细数据 + """ + average_data = { + 'pre': sum(item.pre for item in data) / len(data) if data else 0, + 'rec': sum(item.rec for item in data) / len(data) if data else 0, + 'fai': sum(item.fai for item in data) / len(data) if data else 0, + 'rel': sum(item.rel for item in data) / len(data) if data else 0, + 'lcs': sum(item.lcs for item in data) / len(data) if data else 0, + 'leve': sum(item.leve for item in data) / len(data) if data else 0, + 'jac': sum(item.jac for item in data) / len(data) if data else 0, + } + average_df = pd.DataFrame([average_data]) + detailed_df = pd.DataFrame([item.model_dump() for item in data]) + with pd.ExcelWriter(output_xlsx_file) as writer: + average_df.to_excel(writer, sheet_name='average', index=False) + detailed_df.to_excel(writer, sheet_name='detailed', index=False) + + +async def evaluate_metrics(data: list[TestEntity], language: str) -> None: + """评估测试数据的各项指标""" + token_tool = TokenTool() + for item in data: + item.pre = await token_tool.cal_precision(item.question, item.llm_answer, language) + item.rec = await token_tool.cal_recall(item.question, item.related_chunk, language) + item.fai = await token_tool.cal_faithfulness(item.question, item.llm_answer, item.related_chunk, language) + item.rel = await token_tool.cal_relevance(item.question, item.llm_answer, language) + item.lcs = token_tool.cal_lcs(item.answer, item.llm_answer) + item.leve = token_tool.cal_leve(item.answer, item.llm_answer) + item.jac = token_tool.cal_jac(item.answer, item.llm_answer) + print(f"评估完成: 问题: {item.question}, 准确率: {item.pre}, 召回率: {item.rec}, 可信度: {item.fai}, 相关性: {item.rel}, 最长公共子串: {item.lcs}, 编辑距离: {item.leve}, Jaccard相似度: {item.jac}") + + +def work(input_xlsx_file: str, output_xlsx_file: str, language: str) -> None: + data = asyncio.run(read_data_from_file(input_xlsx_file)) + asyncio.run(evaluate_metrics(data, language)) + asyncio.run(write_data_to_file(output_xlsx_file, data)) + + +if __name__ == '__main__': + args = argparse.ArgumentParser() + args.add_argument('--input_xlsx_file', type=str, required=True, help='输入xlsx文件路径') + args.add_argument('--output_xlsx_file', type=str, required=True, help='输出xlsx文件路径') + args.add_argument('--language', type=str, default='中文', help='语言类型,默认中文zh,英文en') + parsed_args = args.parse_args() + work(parsed_args.input_xlsx_file, parsed_args.output_xlsx_file, parsed_args.language) diff --git a/test/test.xlsx b/test/test.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..38396ac66b526a7647465e7468a14097a09b9586 GIT binary patch literal 15294 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 dict: - """ - 请求文档块列表的函数。 - - :param session_cookie: 用户会话cookie - :param csrf_cookie: CSRF保护cookie - :param document_id: 文档ID - :param text: 可选的搜索文本 - :param page_number: 页码,默认为1 - :param page_size: 每页大小,默认为10 - :param base_url: API基础URL,默认为本地测试服务器地址 - :return: JSON响应数据 - """ - # 构造请求cookies - # print(document_id) - cookies = { - "WD_ECSESSION": session_cookie, - "wd_csrf_tk": csrf_cookie - } - - # 创建请求体实例 - payload = ListChunkRequest( - document_id=document_id, - text=text, - page_number=page_number, - page_size=page_size, - ).dict() - - # 发送POST请求 - url = f"{base_url}/chunk/list" - response = requests.post(url, cookies=cookies, json=payload) - - # 一次性获取所有chunk - # print(response.json()) - page_size = response.json()['data']['total'] - - # 创建请求体实例 - payload = ListChunkRequest( - document_id=document_id, - text=text, - page_number=page_number, - page_size=page_size, - ).dict() - - # 发送POST请求 - url = f"{base_url}/chunk/list" - response = requests.post(url, cookies=cookies, json=payload) - - # 返回JSON响应数据 - return response.json() - - -def parser(): - # 创建 ArgumentParser 对象 - parser = argparse.ArgumentParser(description="Script to process document and generate QA pairs.") - subparser = parser.add_subparsers(dest='mode', required=True, help='Mode of operation') - - # 离线模式参数 - offline = subparser.add_parser('offline', help='Offline mode for processing documents') # noqa: F841 - offline.add_argument("-i", "--input_path", required=True, default="./document", help="Path of document names",) - # 在线模式所需添加的参数 - online = subparser.add_parser('online', help='Online mode for processing documents') - online.add_argument('-n', '--name', type=str, required=True, help='User name') - online.add_argument('-p', '--password', type=str, required=True, help='User password') - online.add_argument('-k', '--kb_id', type=str, required=True, help='KnowledgeBase ID') - online.add_argument('-u', '--url', type=str, required=True, help='URL for witChainD') - - # 添加可选参数,并设置默认值 - online.add_argument('-q', '--qa_count', type=int, default=1, - help='Number of QA pairs to generate per text block (default: 1)') - - # 添加文件名列表参数 - online.add_argument('-d', '--doc_names', nargs='+', required=False, default=[], help='List of document names') - - # 解析命令行参数 - args = parser.parse_args() - return args - - -def get_prompt_dict(): - """ - 获取prompt表 - """ - try: - with open(config['PROMPT_PATH'], 'r', encoding='utf-8') as f: - prompt_dict = yaml.load(f, Loader=yaml.SafeLoader) - return prompt_dict - except Exception as e: - print(f"open {config['PROMPT_PATH']} error {e}") - raise e - - -prompt_dict = get_prompt_dict() -llm = LLM(model_name=config['MODEL_NAME'], - openai_api_base=config['OPENAI_API_BASE'], - openai_api_key=config['OPENAI_API_KEY'], - max_tokens=config['MAX_TOKENS'], - request_timeout=60, - temperature=0.35) - -def get_random_number(l, r): - return random.randint(l, r-1) - - -class QAgenerator: - - async def qa_generate(self, chunks, file): - """ - 多线程生成问答对 - """ - start_time = time.time() - results = [] - prev_texts = [] - ans = 0 - # 使用 asyncio.gather 来并行处理每个 chunk - tasks = [] - # 获取 chunks 的长度 - num_chunks = len(chunks) - image_sum = 0 - for chunk in chunks: - chunk['count'] = 0 - # if chunk['type'] == 'image': - # chunk['count'] = chunk['count'] + 1 - # image_sum = image_sum + 1 - for i in range(args.qa_count): - x = get_random_number(min(3, num_chunks-1), num_chunks) - print(x) - chunks[x]['count'] = chunks[x]['count'] + 1 - - now_text = "" - for chunk in chunks: - now_text = now_text + chunk['text'] + '\n' - # if chunk['type'] == 'table' and len(now_text) < (config['MAX_TOKENS'] // 8): - # continue - prev_text = '\n'.join(prev_texts) - while tokenize(prev_text) > (config['MAX_TOKENS'] / 4): - prev_texts.pop(0) - prev_text = '\n'.join(prev_texts) - if chunk['count'] > 0: - tasks.append(self.generate(now_text, prev_text, results, file, chunk['count'], chunk['type'])) - prev_texts.append(now_text) - now_text = '' - ans = ans + chunk['count'] + image_sum - - # 等待所有任务完成 - await asyncio.gather(*tasks) - print('问答对案例:', results[:50]) - print("问答对生成总计用时:", time.time() - start_time) - print(f"总计生成{ans}条问答对") - return results - - async def generate(self, now_text, prev_text, results, file, qa_count, type_text): - """ - 生成问答 - """ - prev_text = prev_text[-(config['MAX_TOKENS'] // 8):] - prompt = prompt_dict.get('GENERATE_QA') - count = 0 - while count < 5: - try: - # 使用多线程处理 chat_with_llm 调用 - result_temp = await self.chat_with_llm(llm, prompt, now_text, prev_text, - qa_count, file) - - for result in result_temp: - result['text'] = prev_text + now_text - result['type_text'] = type_text - results.append(result) - count = 5 - except Exception as e: - count += 1 - print('error:', e, 'retry times', count) - if count == 5: - results.append({'text': now_text, 'question': '无法生成问答对', - 'answer': '无法生成问答对', 'type': 'error', 'type_text': 'error'}) - - @staticmethod - async def chat_with_llm(llm, prompt, text, prev_text, qa_count, file_name) -> dict: - """ - 对于给定的文本,通过llm生成问题-答案-段落对。 - params: - - llm: LLm - - text: str - - prompt: str - return: - - qa_pairs: list[dict] - - """ - text.replace("\"", "\\\"") - user_call = (f"文本内容来自于{file_name},请以JSON格式输出{qa_count}对不同的问题-答案-领域,格式为[" - "{" - "\"question\": \" 问题 \", " - "\"answer\": \" 回答 \"," - "\"type\": \" 领域 \"" - "}\n" - "],并且必须将问题和回答中和未被转义的双引号转义,元素标签请用双引号括起来") - prompt = prompt.format(chunk=text, qa_count=qa_count, text=prev_text, file_name=file_name) - # print(prompt) - qa_pair = await llm.nostream([], prompt, user_call) - # 提取问题、答案段落对的list,字符串格式为["问题","答案","段落对"] - print(qa_pair) - # print("原文:", text) - qa_pair = json.loads(qa_pair) - return qa_pair - - -class QueryRequest(BaseModel): - question: str - kb_sn: Optional[str] = None - top_k: int = Field(5, ge=0, le=10) - fetch_source: bool = False - history: Optional[List] = [] - - -def call_get_answer(text, kb_id, session_cookie, csrf_cookie, base_url="http://0.0.0.0:9910"): - # 构造请求cookies - cookies = { - "WD_ECSESSION": session_cookie, - "wd_csrf_tk": csrf_cookie - } - - # 构造请求体 - req = QueryRequest( - question=text, - kb_sn=kb_id, - top_k=3, - fetch_source=True, - history=[] - ) - - url = f"{base_url}/kb/get_answer" - print(url) - headers = { - "Content-Type": "application/json", - "Accept": "application/json" - } - data = req.json().encode("utf-8") - - for i in range(5): - try: - response = requests.post(url, headers=headers, cookies=cookies, data=data) - - if response.status_code == 200: - result = response.json() - # print("成功获取答案") - return result - print(f"请求失败,状态码: {response.status_code}, 响应内容: {response.text}") - time.sleep(1) - except Exception as e: - print(f"请求answer失败,错误原因{e}, 重试次数:{i+1}") - time.sleep(1) - - -async def get_answers(QA, kb_id, session_cookie, csrf_cookie, base_url): - text = QA['question'] - print(f"原文:{QA['text'][:40]}...") - result = call_get_answer(text, kb_id, session_cookie, csrf_cookie, base_url) - if result is None: - return None - else: - QA['witChainD_answer'] = result['data']['answer'] - QA['witChainD_source'] = result['data']['source'] - QA['time_cost']=result['data']['time_cost'] - print(f"原文:{QA['text'][:40] + '...'}\n问题:{text}\n回答:{result['data']['answer'][:40]}\n\n") - return QA - - -async def get_QAs_answers(QAs, kb_id, session_cookie, csrf_cookie, base_url): - results = [] - tasks = [] - for QA in QAs: - tasks.append(get_answers(QA, kb_id, session_cookie, csrf_cookie, base_url)) - response = await asyncio.gather(*tasks) - for idx, result in enumerate(response): - if result is not None: - results.append(result) - return results - - -class QAScore(): - async def get_score(self, QA): - prompt = prompt_dict['SCORE_QA'] - llm_score_dict = await self.chat_with_llm(llm, prompt, QA['question'], QA['text'], QA['witChainD_source'], QA['answer'], QA['witChainD_answer']) - print(llm_score_dict) - - QA['context_relevancy'] = llm_score_dict['context_relevancy'] - QA['context_recall'] = llm_score_dict['context_recall'] - QA['faithfulness'] = llm_score_dict['faithfulness'] - QA['answer_relevancy'] = llm_score_dict['answer_relevancy'] - print(QA) - try: - lcs_score = Similar_cal_tool.longest_common_subsequence(QA['answer'], QA['witChainD_answer']) - except: - lcs_score = 0 - QA['lcs_score'] = lcs_score - try: - jac_score = Similar_cal_tool.jaccard_distance(QA['answer'], QA['witChainD_answer']) - except: - jac_score = 0 - QA['jac_score'] = jac_score - try: - leve_score = Similar_cal_tool.levenshtein_distance(QA['answer'], QA['witChainD_answer']) - except: - leve_score = 0 - QA['leve_score'] = leve_score - return QA - - async def get_scores(self, QAs): - tasks = [] - results = [] - for QA in QAs: - tasks.append(self.get_score(QA)) - response = await asyncio.gather(*tasks) - for idx, result in enumerate(response): - if result is not None: - results.append(result) - return results - - @staticmethod - async def chat_with_llm(llm, prompt, question, meta_chunk, chunk, answer, answer_text) -> dict: - """ - 对于给定的文本,通过llm生成问题-答案-段落对。 - params: - - llm: LLm - - text: str - - prompt: str - return: - - qa_pairs: list[dict] - - """ - required_metrics = { - "context_relevancy", - "context_recall", - "faithfulness", - "answer_relevancy", - } - for i in range(5): - try: - user_call = """请对答案打分,并以下面形式返回结果{ - \"context_relevancy\": 分数, - \"context_recall\": 分数, - \"faithfulness\": 分数, - \"answer_relevancy\": 分数 -} -注意:属性名必须使用双引号,分数为数字,保留两位小数。""" - prompt = prompt.format(question=question, meta_chunk=meta_chunk, - chunk=chunk, answer=answer, answer_text=answer_text) - # print(prompt) - score_dict = await llm.nostream([], prompt, user_call) - st = score_dict.find('{') - en = score_dict.rfind('}') - if st != -1 and en != -1: - score_dict = score_dict[st:en+1] - # print(score_dict) - score_dict = json.loads(score_dict) - # 提取问题、答案段落对的list,字符串格式为["问题","答案","段落对"] - # print(score) - present_metrics = set(score_dict.keys()) - missing_metrics = required_metrics - present_metrics - if missing_metrics: - missing = ", ".join(missing_metrics) - print(f"评分结果缺少必要指标: {missing}") - for metric in required_metrics: - if metric not in score_dict: - score_dict[metric] = 0.00 - print(score_dict) - return score_dict - except Exception as e: - continue - return { - "context_relevancy": 0, - "context_recall": 0, - "faithfulness": 0, - "answer_relevancy": 0, - } - - -def list_documents(session_cookie, csrf_cookie, kb_id, base_url="http://0.0.0.0:9910"): - # 构造请求cookies - cookies = { - "WD_ECSESSION": session_cookie, - "wd_csrf_tk": csrf_cookie - } - - # 构造请求URL - url = f"{base_url}/doc/list" - - # 构造请求体 - payload = { - "kb_id": str(kb_id), # 将uuid对象转换为字符串 - "page_number": 1, - "page_size": 50, - } - - # 发送POST请求 - response = requests.post(url, cookies=cookies, json=payload) - # print(response.text) - - # 一次性获取所有document - total = response.json()['data']['total'] - documents = [] - for i in range(1, (total + 50) // 50 + 1): - # 创建请求体实例 - print(f"page {i} gets") - payload = { - "kb_id": str(kb_id), # 将uuid对象转换为字符串 - "page_number": i, - "page_size": 50, - } - - response = requests.post(url, cookies=cookies, json=payload) - js = response.json() - now_documents = js['data']['data_list'] - documents.extend(now_documents) - # 返回响应文本 - return documents - -def get_document(dir): - documents = [] - print(os.listdir(dir)) - for file in os.listdir(dir): - if file.endswith('.xlsx'): - file_path = os.path.join(dir, file) - df = pd.read_excel(file_path) - documents.append(df.to_dict(orient='records')) - if file.endswith('.csv'): - file_path = os.path.join(dir, file) - df = pd.read_csv(file_path, ) - documents.append(df.to_dict(orient='records')) - return documents - -if __name__ == '__main__': - """ - 脚本参数包含 name, password, doc_id, qa_count, url - - name: 通过-n或者--name读入,必须 - - password: 通过-p或者--password读入,必须 - - kb_id: 通过-k或者--kb_id读入,必须 - - qa_count: 通过-q或者--qa_count读入,非必须,默认为1,表示每个文档生成多少个问答对 - - url: 通过-u或者--url读入,必须,为witChainD的路径 - - doc_names: 通过-d或者--doc_names读入,非必须,默认为None,表示所有文档的名称 - 需要在.env中配置好LLM和witChainD相关的config,以及prompt路径 - """ - args = parser() - QAs = [] - if args.mode == 'online': - js, tmp_dict = login_and_get_tokens(args.name, args.password, args.url) - session_cookie = tmp_dict['ECSESSION'] - csrf_cookie = tmp_dict['csrf_token'] - print('login success') - documents = list_documents(session_cookie, csrf_cookie, args.kb_id, args.url) - print('get document success') - print(documents) - for document in documents: - # print('refresh tokens') - # print(json.dumps(document, indent=4, ensure_ascii=False)) - if args.doc_names != [] and document['name'] not in args.doc_names: - # args.doc_names = [] - continue - else: - args.doc_names = [] - js, tmp_dict = login_and_get_tokens(args.name, args.password, args.url) - session_cookie = tmp_dict['ECSESSION'] - csrf_cookie = tmp_dict['csrf_token'] - args.doc_id = document['id'] - args.doc_name = document['name'] - count = 0 - while count < 5: - try: - js = list_chunks(session_cookie, csrf_cookie, str(args.doc_id), base_url=args.url) - print(f'js: {js}') - count = 10 - except Exception as e: - print(f"document {args.doc_name} check failed {e} with retry {count}") - count = count + 1 - time.sleep(1) - continue - if count == 5: - print(f"document {args.doc_name} check failed") - continue - chunks = js['data']['data_list'] - new_chunks = [] - for chunk in chunks: - new_chunk = { - 'text': chunk['text'], - 'type': chunk['type'], - } - new_chunks.append(new_chunk) - chunks = new_chunks - model = QAgenerator() - try: - print('正在生成QA对...') - t_QAs = asyncio.run(model.qa_generate(chunks=chunks, file=args.doc_name)) - print("QA对生成完毕,正在获取答案...") - tt_QAs = asyncio.run(get_QAs_answers(t_QAs, args.kb_id, session_cookie, csrf_cookie, args.url)) - print(f"tt_QAs: {tt_QAs}") - print("答案获取完毕,正在计算答案正确性...") - ttt_QAs = asyncio.run(QAScore().get_scores(tt_QAs)) - print(f"ttt_QAs: {ttt_QAs}") - for QA in t_QAs: - QAs.append(QA) - df = pd.DataFrame(QAs) - df.astype(str) - print(document['name'], 'down') - print('sample:', t_QAs[0]['question'][:40]) - df.to_excel(current_dir / 'temp_answer.xlsx', index=False) - print(f'temp_Excel结果已输出到{current_dir}/temp_answer.xlsx') - except Exception as e: - import traceback - print(traceback.print_exc()) - print(f"document {args.doc_name} failed {e}") - continue - else: - # 离线模式 - # print(document_path) - t_QAs = get_document(args.input_path) - print(f"获取到{len(t_QAs)}个文档") - for item in t_QAs[0]: - single_item = { - "question": item["问题"], - "answer": item["标准答案"], - "witChainD_answer": item["llm的回答"], - "text": item["原始片段"], - "witChainD_source": item["检索片段"], - } - # print(single_item) - ttt_QAs = asyncio.run(QAScore().get_score(single_item)) - QAs.append(ttt_QAs) - # # 输出QAs到xlsx中 - # exit(0) - newQAs = [] - total = { - "context_relevancy(上下文相关性)": [], - "context_recall(召回率)": [], - "faithfulness(忠实性)": [], - "answer_relevancy(答案的相关性)": [], - "lcs_score(最大公共子串)": [], - "jac_score(杰卡德距离)": [], - "leve_score(编辑距离)": [], - "time_cost": { - "keyword_searching": [], - "text_to_vector": [], - "vector_searching": [], - "vectors_related_texts": [], - "text_expanding": [], - "llm_answer": [], - }, - } - - time_cost_metrics = list(total["time_cost"].keys()) - - for QA in QAs: - print(QA) - try: - if 'time_cost' in QA.keys(): - ReOrderedQA = { - '领域': str(QA['type']), - '问题': str(QA['question']), - '标准答案': str(QA['answer']), - 'llm的回答': str(QA['witChainD_answer']), - 'context_relevancy(上下文相关性)': str(QA['context_relevancy']), - 'context_recall(召回率)': str(QA['context_recall']), - 'faithfulness(忠实性)': str(QA['faithfulness']), - 'answer_relevancy(答案的相关性)': str(QA['answer_relevancy']), - 'lcs_score(最大公共子串)': str(QA['lcs_score']), - 'jac_score(杰卡德距离)': str(QA['jac_score']), - 'leve_score(编辑距离)': str(QA['leve_score']), - '原始片段': str(QA['text']), - '检索片段': str(QA['witChainD_source']), - 'keyword_searching_cost(关键字搜索时间消耗)': str(QA['time_cost']['keyword_searching'])+'s', - 'query_to_vector_cost(qeury向量化时间消耗)': str(QA['time_cost']['text_to_vector'])+'s', - 'vector_searching_cost(向量化检索时间消耗)': str(QA['time_cost']['vector_searching'])+'s', - 'vectors_related_texts_cost(向量关联文档时间消耗)': str(QA['time_cost']['vectors_related_texts'])+'s', - 'text_expanding_cost(上下文关联时间消耗)': str(QA['time_cost']['text_expanding'])+'s', - 'llm_answer_cost(大模型回答时间消耗)': str(QA['time_cost']['llm_answer'])+'s' - } - else: - ReOrderedQA = { - # '领域': str(QA['type']), - '问题': str(QA['question']), - '标准答案': str(QA['answer']), - 'llm的回答': str(QA['witChainD_answer']), - 'context_relevancy(上下文相关性)': str(QA['context_relevancy']), - 'context_recall(召回率)': str(QA['context_recall']), - 'faithfulness(忠实性)': str(QA['faithfulness']), - 'answer_relevancy(答案的相关性)': str(QA['answer_relevancy']), - 'lcs_score(最大公共子串)': str(QA['lcs_score']), - 'jac_score(杰卡德距离)': str(QA['jac_score']), - 'leve_score(编辑距离)': str(QA['leve_score']), - '原始片段': str(QA['text']), - '检索片段': str(QA['witChainD_source']) - } - print(ReOrderedQA) - newQAs.append(ReOrderedQA) - - for metric in total.keys(): - if metric != "time_cost": # 跳过time_cost(特殊处理) - value = ReOrderedQA.get(metric) - if value is not None: - total[metric].append(float(value)) - - if "time_cost" in QA: - for sub_metric in time_cost_metrics: - value = QA["time_cost"].get(sub_metric) - if value is not None: - total["time_cost"][sub_metric].append(float(value)) - except Exception as e: - print(f"QA {QA} error {e}") - - # 计算平均值 - avg = {} - for metric, values in total.items(): - if metric != "time_cost": - avg[metric] = sum(values) / len(values) if values else 0.0 - else: # 处理time_cost - avg_time_cost = {} - for sub_metric, sub_values in values.items(): - avg_time_cost[sub_metric] = ( - sum(sub_values) / len(sub_values) if sub_values else 0.0 - ) - avg[metric] = avg_time_cost - - - excel_path = current_dir / 'answer.xlsx' - with pd.ExcelWriter(excel_path, engine='xlsxwriter') as writer: - # 写入第一个sheet(测试样例) - df = pd.DataFrame(newQAs).astype(str) - df.to_excel(writer, sheet_name="测试样例", index=False) - - # 写入第二个sheet(测试结果) - filtered_time_cost = {k: v for k, v in avg["time_cost"].items() if v != 0} - flat_avg = { - **{k: v for k, v in avg.items() if k != "time_cost"}, - **{f"time_cost_{k}": v for k, v in filtered_time_cost.items()}, - } - print(f"写入测试结果:{flat_avg}") - avg_df = pd.DataFrame([flat_avg]) - avg_df.to_excel(writer, sheet_name="测试结果", index=False) - - - print(f'测试样例和结果已输出到{excel_path}') diff --git a/test/token_tool.py b/test/token_tool.py new file mode 100644 index 0000000..36e067b --- /dev/null +++ b/test/token_tool.py @@ -0,0 +1,506 @@ +import asyncio +import tiktoken +import jieba +from jieba.analyse import extract_tags +import yaml +import json +import re +import uuid +import numpy as np +from pydantic import BaseModel, Field +from llm import LLM +from embedding import Embedding +from config import BaseConfig + + +class Grade(BaseModel): + content_len: int = Field(..., description="内容长度") + tokens: int = Field(..., description="token数") + + +class TokenTool: + stop_words_path = "./stopwords.txt" + prompt_path = "./prompt.yaml" + with open(stop_words_path, 'r', encoding='utf-8') as f: + stopwords = set(line.strip() for line in f) + with open(prompt_path, 'r', encoding='utf-8') as f: + prompt_dict = yaml.load(f, Loader=yaml.SafeLoader) + + @staticmethod + def filter_stopwords(content: str) -> str: + """ + 过滤停用词 + """ + try: + words = TokenTool.split_words(content) + filtered_words = [word for word in words if word not in TokenTool.stopwords] + return ' '.join(filtered_words) + except Exception as e: + err = f"[TokenTool] 过滤停用词失败 {e}" + print("[TokenTool] %s", err) + return content + + @staticmethod + def get_leave_tokens_from_content_len(content: str) -> int: + """ + 根据内容长度获取留存的token数 + """ + grades = [ + Grade(content_len=0, tokens=0), + Grade(content_len=10, tokens=8), + Grade(content_len=50, tokens=16), + Grade(content_len=250, tokens=32), + Grade(content_len=1250, tokens=64), + Grade(content_len=6250, tokens=128), + Grade(content_len=31250, tokens=256), + Grade(content_len=156250, tokens=512), + Grade(content_len=781250, tokens=1024), + ] + tokens = TokenTool.get_tokens(content) + if tokens >= grades[-1].tokens: + return 1024 + index = 0 + for i in range(len(grades)-1): + if grades[i].content_len <= tokens < grades[i+1].content_len: + index = i + break + leave_tokens = grades[index].tokens+(grades[index+1].tokens-grades[index].tokens)*( + tokens-grades[index].content_len)/(grades[index+1].content_len-grades[index].content_len) + return int(leave_tokens) + + @staticmethod + def get_leave_setences_from_content_len(content: str) -> int: + """ + 根据内容长度获取留存的句子数量 + """ + grades = [ + Grade(content_len=0, tokens=0), + Grade(content_len=10, tokens=4), + Grade(content_len=50, tokens=8), + Grade(content_len=250, tokens=16), + Grade(content_len=1250, tokens=32), + Grade(content_len=6250, tokens=64), + Grade(content_len=31250, tokens=128), + Grade(content_len=156250, tokens=256), + Grade(content_len=781250, tokens=512), + ] + sentences = TokenTool.content_to_sentences(content) + if len(sentences) >= grades[-1].tokens: + return 1024 + index = 0 + for i in range(len(grades)-1): + if grades[i].content_len <= len(sentences) < grades[i+1].content_len: + index = i + break + leave_sentences = grades[index].tokens+(grades[index+1].tokens-grades[index].tokens)*( + len(sentences)-grades[index].content_len)/(grades[index+1].content_len-grades[index].content_len) + return int(leave_sentences) + + @staticmethod + def get_tokens(content: str) -> int: + try: + enc = tiktoken.encoding_for_model("gpt-4") + return len(enc.encode(str(content))) + except Exception as e: + err = f"[TokenTool] 获取token失败 {e}" + print("[TokenTool] %s", err) + return 0 + + @staticmethod + def get_k_tokens_words_from_content(content: str, k: int = 16) -> list: + try: + if (TokenTool.get_tokens(content) <= k): + return content + l = 0 + r = len(content) + while l+1 < r: + mid = (l+r)//2 + if (TokenTool.get_tokens(content[:mid]) <= k): + l = mid + else: + r = mid + return content[:l] + except Exception as e: + err = f"[TokenTool] 获取k个token的词失败 {e}" + print("[TokenTool] %s", err) + return "" + + @staticmethod + def split_str_with_slide_window(content: str, slide_window_size: int) -> list: + """ + 将字符串按滑动窗口切割 + """ + result = [] + try: + while len(content) > 0: + sub_content = TokenTool.get_k_tokens_words_from_content(content, slide_window_size) + result.append(sub_content) + content = content[len(sub_content):] + return result + except Exception as e: + err = f"[TokenTool] 滑动窗口切割失败 {e}" + print("[TokenTool] %s", err) + return [] + + @staticmethod + def compress_tokens(content: str, k: int = None) -> str: + try: + words = TokenTool.split_words(content) + # 过滤掉停用词 + filtered_words = [ + word for word in words if word not in TokenTool.stopwords + ] + filtered_content = ''.join(filtered_words) + if k is not None: + # 如果k不为None,则获取k个token的词 + filtered_content = TokenTool.get_k_tokens_words_from_content(filtered_content, k) + return filtered_content + except Exception as e: + err = f"[TokenTool] 压缩token失败 {e}" + print("[TokenTool] %s", err) + return content + + @staticmethod + def split_words(content: str) -> list: + try: + return list(jieba.cut(str(content))) + except Exception as e: + err = f"[TokenTool] 分词失败 {e}" + print("[TokenTool] %s", err) + return [] + + @staticmethod + def get_top_k_keywords(content: str, k=10) -> list: + try: + # 使用jieba提取关键词 + keywords = extract_tags(content, topK=k, withWeight=True) + return [keyword for keyword, weight in keywords] + except Exception as e: + err = f"[TokenTool] 获取关键词失败 {e}" + print("[TokenTool] %s", err) + return [] + + @staticmethod + def get_top_k_keywords_and_weights(content: str, k=10) -> list: + try: + # 使用jieba提取关键词 + keyword_weight_list = extract_tags(content, topK=k, withWeight=True) + keywords = [keyword for keyword, weight in keyword_weight_list] + weights = [weight for keyword, weight in keyword_weight_list] + return keywords, weights + except Exception as e: + err = f"[TokenTool] 获取关键词失败 {e}" + print("[TokenTool] %s", err) + return [] + + @staticmethod + def get_top_k_keysentence(content: str, k: int = None) -> list: + """ + 获取前k个关键句子 + """ + if k is None: + k = TokenTool.get_leave_setences_from_content_len(content) + leave_tokens = TokenTool.get_leave_tokens_from_content_len(content) + words = TokenTool.split_words(content) + # 过滤掉停用词 + filtered_words = [ + word for word in words if word not in TokenTool.stopwords + ] + keywords = TokenTool.get_top_k_keywords(''.join(filtered_words), leave_tokens) + keywords = set(keywords) + sentences = TokenTool.content_to_sentences(content) + sentence_and_score_list = [] + index = 0 + for sentence in sentences: + score = 0 + words = TokenTool.split_words(sentence) + for word in words: + if word in keywords: + score += 1 + sentence_and_score_list.append((index, sentence, score)) + index += 1 + sentence_and_score_list.sort(key=lambda x: x[1], reverse=True) + top_k_sentence_and_score_list = sentence_and_score_list[:k] + top_k_sentence_and_score_list.sort(key=lambda x: x[0]) + return [sentence for index, sentence, score in top_k_sentence_and_score_list] + + @staticmethod + async def cal_recall(answer_1: str, answer_2: str, language: str) -> float: + """ + 计算recall + 参数: + answer_1:答案1 + answer_2:答案2 + llm:大模型 + """ + llm = LLM( + openai_api_base=BaseConfig().get_config().llm.llm_endpoint, + openai_api_key=BaseConfig().get_config().llm.llm_api_key, + model_name=BaseConfig().get_config().llm.llm_model_name, + max_tokens=BaseConfig().get_config().llm.max_tokens, + temperature=BaseConfig().get_config().llm.temperature + ) + try: + prompt_template = TokenTool.prompt_dict.get('ANSWER_TO_ANSWER_PROMPT', {}) + prompt_template = prompt_template.get(language, '') + answer_1 = TokenTool.get_k_tokens_words_from_content(answer_1, llm.max_tokens//2) + answer_2 = TokenTool.get_k_tokens_words_from_content(answer_2, llm.max_tokens//2) + prompt = prompt_template.format(text_1=answer_1, text_2=answer_2) + sys_call = prompt + user_call = '请输出相似度' + similarity = await llm.nostream([], sys_call, user_call) + return eval(similarity) + except Exception as e: + err = f"[TokenTool] 计算recall失败 {e}" + print("[TokenTool] %s", err) + return -1 + + @staticmethod + async def cal_precision(question: str, content: str, language: str) -> float: + """ + 计算precision + 参数: + question:问题 + content:内容 + """ + llm = LLM( + openai_api_base=BaseConfig().get_config().llm.llm_endpoint, + openai_api_key=BaseConfig().get_config().llm.llm_api_key, + model_name=BaseConfig().get_config().llm.llm_model_name, + max_tokens=BaseConfig().get_config().llm.max_tokens, + temperature=BaseConfig().get_config().llm.temperature + ) + try: + prompt_template = TokenTool.prompt_dict.get('CONTENT_TO_STATEMENTS_PROMPT', {}) + prompt_template = prompt_template.get(language, '') + content = TokenTool.compress_tokens(content, llm.max_tokens) + sys_call = prompt_template.format(content=content) + user_call = '请结合文本输出陈诉列表' + statements = await llm.nostream([], sys_call, user_call, st_str='[', + en_str=']') + statements = json.loads(statements) + if len(statements) == 0: + return 0 + score = 0 + prompt_template = TokenTool.prompt_dict.get('STATEMENTS_TO_QUESTION_PROMPT', {}) + prompt_template = prompt_template.get(language, '') + for statement in statements: + statement = TokenTool.get_k_tokens_words_from_content(statement, llm.max_tokens) + prompt = prompt_template.format(statement=statement, question=question) + sys_call = prompt + user_call = '请结合文本输出YES或NO' + yn = await llm.nostream([], sys_call, user_call) + yn = yn.lower() + if yn == 'yes': + score += 1 + return score/len(statements)*100 + except Exception as e: + err = f"[TokenTool] 计算precision失败 {e}" + print("[TokenTool] %s", err) + return -1 + + @staticmethod + async def cal_faithfulness(question: str, answer: str, content: str, language: str) -> float: + """ + 计算faithfulness + 参数: + question:问题 + answer:答案 + """ + llm = LLM( + openai_api_base=BaseConfig().get_config().llm.llm_endpoint, + openai_api_key=BaseConfig().get_config().llm.llm_api_key, + model_name=BaseConfig().get_config().llm.llm_model_name, + max_tokens=BaseConfig().get_config().llm.max_tokens, + temperature=BaseConfig().get_config().llm.temperature + ) + try: + prompt_template = TokenTool.prompt_dict.get('QA_TO_STATEMENTS_PROMPT', {}) + prompt_template = prompt_template.get(language, '') + question = TokenTool.get_k_tokens_words_from_content(question, llm.max_tokens//8) + answer = TokenTool.get_k_tokens_words_from_content(answer, llm.max_tokens//8*7) + prompt = prompt_template.format(question=question, answer=answer) + sys_call = prompt + user_call = '请结合问题和答案输出陈诉' + statements = await llm.nostream([], sys_call, user_call, st_str='[', + en_str=']') + prompt_template = TokenTool.prompt_dict.get('STATEMENTS_TO_FRAGMENT_PROMPT', {}) + prompt_template = prompt_template.get(language, '') + statements = json.loads(statements) + if len(statements) == 0: + return 0 + score = 0 + content = TokenTool.compress_tokens(content, llm.max_tokens//8*7) + for statement in statements: + statement = TokenTool.get_k_tokens_words_from_content(statement, llm.max_tokens//8) + prompt = prompt_template.format(statement=statement, fragment=content) + sys_call = prompt + user_call = '请输出YES或NO' + user_call = user_call + yn = await llm.nostream([], sys_call, user_call) + yn = yn.lower() + if yn == 'yes': + score += 1 + return score/len(statements)*100 + except Exception as e: + err = f"[TokenTool] 计算faithfulness失败 {e}" + print("[TokenTool] %s", err) + return -1 + + @staticmethod + def cosine_distance_numpy(vector1, vector2): + # 计算向量的点积 + dot_product = np.dot(vector1, vector2) + # 计算向量的 L2 范数 + norm_vector1 = np.linalg.norm(vector1) + norm_vector2 = np.linalg.norm(vector2) + # 计算余弦相似度 + cosine_similarity = dot_product / (norm_vector1 * norm_vector2) + # 计算余弦距离 + cosine_dist = 1 - cosine_similarity + return cosine_dist + + @staticmethod + async def cal_relevance(question: str, answer: str, language: str) -> float: + """ + 计算relevance + 参数: + question:问题 + answer:答案 + """ + llm = LLM( + openai_api_base=BaseConfig().get_config().llm.llm_endpoint, + openai_api_key=BaseConfig().get_config().llm.llm_api_key, + model_name=BaseConfig().get_config().llm.llm_model_name, + max_tokens=BaseConfig().get_config().llm.max_tokens, + temperature=BaseConfig().get_config().llm.temperature + ) + try: + prompt_template = TokenTool.prompt_dict.get('GENERATE_QUESTION_FROM_CONTENT_PROMPT', {}) + prompt_template = prompt_template.get(language, '') + answer = TokenTool.get_k_tokens_words_from_content(answer, llm.max_tokens) + sys_call = prompt_template.format(k=5, content=answer) + user_call = '请结合文本输出问题列表' + question_vector = await Embedding.vectorize_embedding(question) + qs = await llm.nostream([], sys_call, user_call) + qs = json.loads(qs) + if len(qs) == 0: + return 0 + score = 0 + for q in qs: + q_vector = await Embedding.vectorize_embedding(q) + score += TokenTool.cosine_distance_numpy(question_vector, q_vector) + return (score/len(qs)+1)/2*100 + except Exception as e: + err = f"[TokenTool] 计算relevance失败 {e}" + print("[TokenTool] %s", err) + return -1 + + @staticmethod + def cal_lcs(str1: str, str2: str) -> float: + """ + 计算两个字符串的最长公共子序列长度得分 + """ + try: + words1 = TokenTool.split_words(str1) + words2 = TokenTool.split_words(str2) + new_words1 = [] + new_words2 = [] + for word in words1: + if word not in TokenTool.stopwords: + new_words1.append(word) + for word in words2: + if word not in TokenTool.stopwords: + new_words2.append(word) + if len(new_words1) == 0 and len(new_words2) == 0: + return 100 + if len(new_words1) == 0 or len(new_words2) == 0: + return 0 + m = len(new_words1) + n = len(new_words2) + dp = np.zeros((m+1, n+1)) + for i in range(1, m+1): + for j in range(1, n+1): + if new_words1[i-1] == new_words2[j-1]: + dp[i][j] = dp[i-1][j-1] + 1 + else: + dp[i][j] = max(dp[i-1][j], dp[i][j-1]) + lcs_length = dp[m][n] + score = lcs_length / min(len(new_words1), len(new_words2)) * 100 + return score + except Exception as e: + err = f"[TokenTool] 计算lcs失败 {e}" + print("[TokenTool] %s", err) + return -1 + + @staticmethod + def cal_leve(str1: str, str2: str) -> float: + """ + 计算两个字符串的编辑距离 + """ + try: + words1 = TokenTool.split_words(str1) + words2 = TokenTool.split_words(str2) + new_words1 = [] + new_words2 = [] + for word in words1: + if word not in TokenTool.stopwords: + new_words1.append(word) + for word in words2: + if word not in TokenTool.stopwords: + new_words2.append(word) + if len(new_words1) == 0 and len(new_words2) == 0: + return 100 + if len(new_words1) == 0 or len(new_words2) == 0: + return 0 + m = len(new_words1) + n = len(new_words2) + dp = np.zeros((m+1, n+1)) + for i in range(m+1): + dp[i][0] = i + for j in range(n+1): + dp[0][j] = j + for i in range(1, m+1): + for j in range(1, n+1): + if new_words1[i-1] == new_words2[j-1]: + dp[i][j] = dp[i-1][j-1] + else: + dp[i][j] = min(dp[i-1][j]+1, dp[i][j-1]+1, dp[i-1][j-1]+1) + edit_distance = dp[m][n] + score = (1 - edit_distance / max(len(new_words1), len(new_words2))) * 100 + return score + except Exception as e: + err = f"[TokenTool] 计算leve失败 {e}" + print("[TokenTool] %s", err) + return -1 + + @staticmethod + def cal_jac(str1: str, str2: str) -> float: + """ + 计算两个字符串的Jaccard相似度 + """ + try: + if len(str1) == 0 and len(str2) == 0: + return 100 + words1 = TokenTool.split_words(str1) + words2 = TokenTool.split_words(str2) + new_words1 = [] + new_words2 = [] + for word in words1: + if word not in TokenTool.stopwords: + new_words1.append(word) + for word in words2: + if word not in TokenTool.stopwords: + new_words2.append(word) + if len(new_words1) == 0 or len(new_words2) == 0: + return 0 + set1 = set(new_words1) + set2 = set(new_words2) + intersection = len(set1.intersection(set2)) + union = len(set1.union(set2)) + score = intersection / union * 100 + return score + except Exception as e: + err = f"[TokenTool] 计算jac失败 {e}" + print("[TokenTool] %s", err) + return -1 diff --git a/test/tools/=1.21.6, b/test/tools/=1.21.6, deleted file mode 100644 index e69de29..0000000 diff --git a/test/tools/config.py b/test/tools/config.py deleted file mode 100644 index e677904..0000000 --- a/test/tools/config.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright (c) Huawei Technologies Co., Ltd. 2023-2024. All rights reserved. -config = { - "PROMPT_PATH": "./tools/prompt.yaml", - "MODEL_NAME": "your_model_name", # Replace with your actual model name - "OPENAI_API_BASE": "your_openai_api_base_url", - "OPENAI_API_KEY": "your_openai_api_key", - "REQUEST_TIMEOUT": 120, - "MAX_TOKENS": 8096, - "MODEL_ENH": "false", -} diff --git a/test/tools/prompt.yaml b/test/tools/prompt.yaml deleted file mode 100644 index 7a3031b..0000000 --- a/test/tools/prompt.yaml +++ /dev/null @@ -1,82 +0,0 @@ -GENERATE_QA: "你是一个问答生成专家,你的任务是根据我提供的段落内容和已有的问题,生成{qa_count}个不重复的针对该段落内容的问题与回答, -并判断这个问答对的属于领域,并只输出问题、回答、领域。 - -注意: - -1. 单个回答长度必须大于30字小于120字 - -2. 问题不能出现重复 - -3. 请指定明确的场景,如'xx公司', 'xx系统', 'xx项目', ‘xx软件'等 - -4. 问题中不要使用模糊的指代词, 如'这'、'那' - -5. 划分领域的时候请忽略上下文内容,领域大概可以分为(建筑、园林、摄影、戏剧、戏曲、舞蹈、音乐、书法、绘画、雕塑、美食、营养、健身、运动、旅游、地理、气象、海洋、地质、生态、天文、化学、物理、生物、数学、统计、逻辑、人工智能、大数据、云计算、网络、通信、自动化、机械、电子、材料、能源、化工、纺织、服装、美容、美发、礼仪、公关、广告、营销、管理、金融、证券、保险、期货、税务、审计、会计、法律实务、知识产权) - -6. 问题必须与段落内容有逻辑关系 - -7. 问题与回答在不重复的前提下,应当尽可能多地包含段落内容 - -8. 输出的格式为: -[ - -{{ - \"question\": \" 问题 \", - \"answer\": \" 回答 \", - \"type\": \" 领域 \" -}} - -, - -{{ - \"question\": \" 问题 \", - \"answer\": \" 回答 \", - \"type\": \" 领域 \" -}} - -] - -10. 不要输出多余内容 - -下面是给出的段落内容: - -{chunk} - -下面是段落的上下文内容: - -{text} - -下面是段落的来源文件 -{file_name} -" -SCORE_QA: "你是一个打分专家,你的任务是根据我提供的问题、原始片段和检索到的片段以及标准答案和答案,判断答案在下面四项指标的分数,每个指标要精确到小数点后面2位,且每次需要进行客观评价 - -1.context_relevancy 解释:(上下文相关性,越高表示检索到的片段中无用的信息越少 0-100) -2.context_recall 解释:(召回率,越高表示检索出来的片段与标准答案越相关 0-100) -3.faithfulness 解释:(忠实性,越高表示答案的生成使用了越多检索出来的片段0-100) -4.answer_relevancy 解释:(答案与问题的相关性 0-100) - -注意: -请以下面格式输出 -{{ - \"context_relevancy\": 分数, - \"context_recall\": 分数, - \"faithfulness\": 分数, - \"answer_relevancy\": 分数 -}} - -下面是问题: -{question} - -下面是原始片段: -{meta_chunk} - -下面是检索到的片段: -{chunk} - -下面是标准答案: -{answer} - -下面是答案: -{answer_text} -" diff --git a/test/tools/similar_cal_tool.py b/test/tools/similar_cal_tool.py deleted file mode 100644 index 56319a4..0000000 --- a/test/tools/similar_cal_tool.py +++ /dev/null @@ -1,158 +0,0 @@ -import jieba -import jieba.analyse -import synonyms - -class Similar_cal_tool: - with open('./tools/stopwords.txt', 'r', encoding='utf-8') as f: - stopwords = set(f.read().splitlines()) - - @staticmethod - def normalized_scores(scores): - min_score = None - max_score = None - for score in scores: - if min_score is None: - min_score = score - else: - min_score = min(min_score, score) - if max_score is None: - max_score = score - else: - max_score = max(max_score, score) - if min_score == max_score: - for i in range(len(scores)): - scores[i] = 1 - else: - for i in range(len(scores)): - scores[i] = (scores[i]-min_score)/(max_score-min_score) - return scores - - @staticmethod - def filter_stop_words(text): - words = jieba.lcut(text) - filtered_words = [word for word in words if word not in Similar_cal_tool.stopwords] - text = ''.join(filtered_words) - return text - - @staticmethod - def extract_keywords_sorted(text, topK=10): - keywords = jieba.analyse.textrank(text, topK=topK, withWeight=False) - return keywords - - @staticmethod - def get_synonyms_score_dict(word): - try: - syns, scores = synonyms.nearby(word) - scores = Similar_cal_tool.normalized_scores(scores) - syns_scores_dict = {} - for syn, score in tuple(syns, scores): - syns_scores_dict[syn] = score - return syns_scores_dict - except: - return {word: 1} - - @staticmethod - def text_to_keywords(text): - words = jieba.lcut(text) - if len(set(words)) <64: - return words - topK = 5 - lv = 64 - while lv < len(words): - topK *= 2 - lv *= 2 - keywords_sorted = Similar_cal_tool.extract_keywords_sorted(text, topK) - keywords_sorted_set = set(keywords_sorted) - new_words = [] - for word in words: - if word in keywords_sorted_set: - new_words.append(word) - return new_words - @staticmethod - def cal_syns_word_score(word, syns_scores_dict): - if word not in syns_scores_dict: - return 0 - return syns_scores_dict[word] - @staticmethod - def longest_common_subsequence(str1, str2): - words1 = Similar_cal_tool.text_to_keywords(str1) - words2 = Similar_cal_tool.text_to_keywords(str2) - m, n = len(words1), len(words2) - if m == 0 and n == 0: - return 1 - if m == 0: - return 0 - if n == 0: - return 0 - dp = [[0]*(n+1) for _ in range(m+1)] - syns_scores_dicts_1 = [] - syns_scores_dicts_2 = [] - for word in words1: - syns_scores_dicts_1.append(Similar_cal_tool.get_synonyms_score_dict(word)) - for word in words2: - syns_scores_dicts_2.append(Similar_cal_tool.get_synonyms_score_dict(word)) - - for i in range(1, m+1): - for j in range(1, n+1): - dp[i][j] = max(dp[i-1][j], dp[i][j-1]) - dp[i][j] = dp[i-1][j-1] + (Similar_cal_tool.cal_syns_word_score(words1[i-1], syns_scores_dicts_2[j-1] - )+Similar_cal_tool.cal_syns_word_score(words2[j-1], syns_scores_dicts_1[i-1])) - - return dp[m][n]/(2*min(m,n)) - - def jaccard_distance(str1, str2): - words1 = set(Similar_cal_tool.text_to_keywords(str1)) - words2 = set(Similar_cal_tool.text_to_keywords(str2)) - m, n = len(words1), len(words2) - if m == 0 and n == 0: - return 1 - if m == 0: - return 0 - if n == 0: - return 0 - syns_scores_dict_1 = {} - syns_scores_dict_2 = {} - for word in words1: - tmp_dict=Similar_cal_tool.get_synonyms_score_dict(word) - for key,val in tmp_dict.items(): - syns_scores_dict_1[key]=max(syns_scores_dict_1.get(key,0),val) - for word in words2: - tmp_dict=Similar_cal_tool.get_synonyms_score_dict(word) - for key,val in tmp_dict.items(): - syns_scores_dict_2[key]=max(syns_scores_dict_2.get(key,0),val) - sum=0 - for word in words1: - sum+=Similar_cal_tool.cal_syns_word_score(word,syns_scores_dict_2) - for word in words2: - sum+=Similar_cal_tool.cal_syns_word_score(word,syns_scores_dict_2) - return sum/(len(words1)+len(words2)) - def levenshtein_distance(str1, str2): - words1 = Similar_cal_tool.text_to_keywords(str1) - words2 = Similar_cal_tool.text_to_keywords(str2) - m, n = len(words1), len(words2) - if m == 0 and n == 0: - return 1 - if m == 0: - return 0 - if n == 0: - return 0 - dp = [[0]*(n+1) for _ in range(m+1)] - syns_scores_dicts_1 = [] - syns_scores_dicts_2 = [] - for word in words1: - syns_scores_dicts_1.append(Similar_cal_tool.get_synonyms_score_dict(word)) - for word in words2: - syns_scores_dicts_2.append(Similar_cal_tool.get_synonyms_score_dict(word)) - dp = [[0 for _ in range(n + 1)] for _ in range(m + 1)] - - for i in range(m + 1): - dp[i][0] = i - for j in range(n + 1): - dp[0][j] = j - - for i in range(1, m + 1): - for j in range(1, n + 1): - dp[i][j] = 1 + min(dp[i - 1][j], dp[i][j - 1], dp[i - 1][j - 1]) - dp[i][j] = min(dp[i][j],dp[i - 1][j - 1]+1-((Similar_cal_tool.cal_syns_word_score(words1[i-1], syns_scores_dicts_2[j-1] - )+Similar_cal_tool.cal_syns_word_score(words2[j-1], syns_scores_dicts_1[i-1])))/2) - return 1-dp[m][n]/(m+n) diff --git "a/test/witchainD\346\265\213\350\257\225\346\214\207\345\257\274.docm" "b/test/witchainD\346\265\213\350\257\225\346\214\207\345\257\274.docm" deleted file mode 100644 index dd3b2489e2a5a895fa19daacfd79623f6d78e4e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4306288 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

h0jZB#7?%iI9Yw#kBtGZR8L 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°AIM|TV8EV} zPcWMY;d12>>PoPhu_1pb>+!wUbP^a>^H7JDA0oZ~*5o5e<5-%12c6m=Lpo8)ktOAB z)aG75Gp5_c655bsWKi5sju9XCcXRp%WknbODFf6o1g3w2U%RC#c`PHto-WKTJZOL! zdui4~LjU5IFh7j-?g-%cHm>yT2+O&}{J5d2Oae-FP&?qMC+-cU0 z!ohp6iOeAe9NK#3DC)HzXWB4eXmcp11md%NPMJL8>^-M^mkp%}<0y5@IfcN1bSN$u z42iK}O{{J>$VaKeX&T0~xUlfe%k%FIJM6&CjNC(*Uo5>VRI*0y?J%1>>+V zvG?p;6j7SsVWJUfF4#;)buZFK8F=2S*9?$L7!(Lnr3RtD6f%786GQB+=& zT>nv;03|V-r-}9qXWMBCA_}c6^4{RtIQ+ltU9|b@s|vqVz8Xkd=GFjboSsHfLq2VQ zmtGezc#2&BbjdOD7ns?3WB0=pP9LLz3{TFaRUosA5=roA_@2dXM=Ls0+W`pEoQ!td zd^M9p5v-U~A30{d8{ObX)iI3Avo^+ju`LZTU&eI?gT2d_Fz;ZeqAe4B9-6=$8m(4e z!UT0RY|pNU&KBd>MYI=Ee0J4ED?0~|hUnQvXc^~{*)^xKKYz&h$R?8_QUlj3No2_i z@`2h)@!%C#nnDQg<^Fb+V2sAtS;U$K*RGmA{N;7_!6<8=*d-yoA(bz z7Vuv#=!0c7A!$S*nFVGmqmDma`BGD`yFl15S5yYDd3EnWw}uur0pjnRVm`Ol9@yVwakVU}XkFHK3Y-w1SZo94}( zsS7oBo$RFxpU&9lOM$aLybpZ7xLbn^81iKBOs#mzesS?Jhk?;?!Rf8hv4k1ziv`X3 zbV`0OkzUB|LExj|Fv=WQwR`fs1q$Fii(x@boUc0mt3w{y40J3xT0a}NEA;p0TMAJ! z&7!15LYdr27(sSwwWdm^yo%IcVx00Qs9T7HW; zn278RyljdQF6Axhm#-{23;yc+s?`e~?Hk@R^NI@WqN>G^Ud|ZiBs)T+S7$UEas1U4 zRu)I;)defZB3PZgo3uNuuH1VuIail*d{83OB@v_b$#fZw-qeOsT6mP2_hL%g)R$bz zm|&1mMMmEAxKP2S`7gubI-W%P35ZP+((Y2r!B)SwO2z=bk%AQfdB88q_UM8DCdrk( zR8S`bp3-rnqc@Z>lCbT+R!v8oq44;hkL>^$!Yd7wI^IPi@q~>Ev3*fuRBUQUF65pj z)cF}W`Y$d}>(AW;IYsw?cAVL(_9%IDM4EoD9)>Ql@L^ms8z0U5(yg|*N#~8~Bhp!? zZpIML2_?Tu;4IA#f&0b4&UK}1IFk*|`b1OG<_mpa@q~_zm(iW3n+=oRut_rwWS&_- z9k=OOn)h;4P!(gO4V&~ELJjLyYOzi!v&A2{uvary#nE33|0h&7k7E9%${l$?4fZeG z6B?!`$p&{#3WCt|j*9LFNSJD*3xs9|k`ACcMRbI948jeLZjrAOMrz{Cqg?b};y~I$ zUhcqD-j-;i!@{F{psrnGf(gZ;Hj(ZckXWcxKQCyzo;4i8m%`E;)Uke4;?2BZXhdgF zJG2|dhORnLiHF!yqd6Zfo&x0=VKApae8*9DlsngVU$B4Hz{n@E_Xig)EbzZ`z#|D6 z%-I7aL+k^h2wj=+TrLx9s=5#Wi@|5GLMz#sF;|Jd41~nXmy36iCxqn%@S?mc71?hm zudRe=(G_cpF_Gq=Mc_#Zkm5pPux8%AQMI8ea*A?0Tbgz}`m80&>ri7B`E}spwx%W# z{ePLxridi6BV5xuJBc$sx@CPtwDH}HLz|T~;{pZhT^GKX5#vG!B*~o`F;Dr^h)&+x zY3UKe#duX$pwHZ=5#p44cw$jCTZ%{%LELMYeKhOdcBkzHK(AtAYF<1l_ z13BRvvpQqlxT`A1YS)~h!%G}Gm3%L~`?HtvpEQ9f`rD2{>lJM3OqaHAZSF(Sr=bo* zsX$OxG?+1yPZ4lPJSqZ=B<<+5`nuO`jbIJCEgcbwXfBw^!O|2Zb|8U)Wr~$E{EdIZ z7_~B_{nVzoOiaT$v8=Kr;w22ms~JvLmq2IMQZ6k{Nv6&^H6@u`D@2g;>E%~_f1EzJ z;yF&`i5W1CrzF@4N(h7AD&*tTx`mlJ>~rfdZx7@Vy%u(T@)Z+g>;Tr3q$rL`*2o>q zldUyT1jghxhEYO&v!?W>^ae8yac&n;B8a`Rz^FN{cLNDChSTWAVwiMSkhG0zFk{Q| zUj~SUI;GrACHdD?I8e@$qxh~|8AosukJoD#*B!*$M9ER2Wn7braaS-}tO~fv+3pa_ zm)VEDM^kGUF_?ESLNPxDAwprJ;;`I~eEIk}!bIsbV_iUVXt4%{@?a{-Z_!L(4>tHR&`s95 zpyqJ7GsenilwFh>x`p7!Vw%${{AVGDDlyQNaoKEWOdi5^nh&2J{W^jUH0`P*xM`(C zsf5ZK-NLm+m3lF~Yia^nKfR;yC~@!i_HvL?e}~^ub@wsh2x%R^49V+?i6A$C&#s_AGzQv6QjkB87+9SbvWGqt6EcCsx%3EG zI4u)4U01LvB!*JbO-UkQ*(WP@R2-Ah$dGzo?6o-yv2{2eWlp+T>f@eIHXqS{c9dRMyzWU*{?;bXXw>M!C=fjEw|1t@ z6wBH`c5NU(jHb;2?UD$b4UP*Na+a}*oOu&c)N8H0HvLwx?gql6tB1Y=e0V@IM_O2;0=jeMd_ugU7}C9R>G zbShhK|MOy7_AIRed;k9U=7YU7vzQ%(z$~xXCZ&p7P+?3PZ4Gt2Y>GJyj15_R?{|8exlRd?tbQux>?gQrNDBsAWMzwUS^!)k=`yrQDRhf6bZ%ykd-x; zfUcFXH)J&vB_Z!tzMSS~%EYWb?B05omh6#_5>zpi+K`DkABAcf5Fnn#-0%veGB3Ky zp$o9T)B0xctwKhZ7!i_Lh83Cv=E_POa>Q6GEVc znbM-|e0YD3*FWq-0(RV!nA)M@pA2Zvh?T@~d58|B3G*VtuKouPk!+R+Km+!)+ea6% zlS?K!j%JlrJuZ*|CuFnJWilg;+!0h*37X>q5?7H6BQ6{mqhq6YQJV0G@9W{kGVIN>JVHiiz|n>#1Mlh&8oQMGiu0v2 zL3z&b$~aD|&DZ+Sni(S2sPz5Jx2f`X4NfxlFcsgX9r9B3PK+>Xnu^nm z{ggRX9;(0rSu$2KJzPrt985ZOVJ!Ps`@1+dX*Tsnxij^(yoR=DrF5*)jBvo57 z#zl#2jbYaI;wV0~?^o>SzbJ3iwx9=)wjqoVPMU-Q!5xQGMrS(XV>8KKelY_@%lh~- z%QSiZu4zS`E-;2x1-G%P?cZ-vfr<_B4c|z|Fs3ys}+c zg7Ks{eXHWlSXcagAm$rN6v3q=5%8h&kvCC9<|J(*nZy8-hL?zorwJ9Yc^cAu6^7)8 z9KBhKK9nzIdPMH{-U_ojc{`o_F7&$jIg|e3)=9y&F+xk2@|)HQveo+USKGwX1{jMk zU7%z4?=`&v0ZEb$aYFYe9eJGViuds?{xPCZ%uaQnq;Ao588%X8_0deNpv$nY$3FWb zYJhMKfwf+p$b`*F0G694;@!fs;mB08%hS$DmejBW5WaX|Jc8Q^kI$Qaewj$!e3ZoiBl+|^w)mn^;e zFmQ6{g2B9E=oWHY-c@=QAPP37-x{eUm}fvdlR|UWy|mjjRE*bd=rR6f;(ZyF1_s?l z|CEyhXITbRI8LM4)km0EibNiK5Gd-zqF8V(VXN95laV5S2+>A&D!0e=lu$vk)Tjn460 zdUfN4yq#kZkq&-k4&!2imt%&O{r1VruM>lSV?#!M;Y~{GlN!PMx8Yvjd?#<6cx}M; z$~%)llqkiVb2vfAC7<7oVz--T+pw z1Xgy+#|XX_6ajy5VWDRvQq!agwtto#4n(bl`zCl&A=Z^dGJU=gt(~$z> zu@1Wu>kP#o?255obwb@Baz96QId}^wEQfht!rb;*AfE)9-od_{Pa+y2=N~I}8EQA3 zEW`ru;C#;Y9h1cwPZ-wLN>N6)oxKzr<{0C5Ar>>!tNkBsU(%{cl3crQ=>Kpxf~p67 z)g>OUl7g)3@p*XoU~X=1#|HUl3?0zakmER>e%aUHzZi>^O+p-w|f z&n1~s=baAY5$tlt)Z|}P%!u^j*7PKmtoik-?-ZwnV$c(`(F6*fBLmdj?i?F!Dm?Gb zflEyWP$W(!`bv5mnpPzn$gu}nBo@p2(6O*Ty}5;{ancnYZ|6|A$@IxF2|x5e{eVVm z_JHTIXmQN|q5NeJ(6;{5F~7HCrVfRLFwm)Zt;e!@^+Mj$os^geKaG+wED^{8B*$8WghG)+3 zX4`I-1%M_q!attvHUsT3FI9T>KoaH*=rpORNKCh5G9n0Sj}h5_%rf~L5kCNE(6s#5 zbr`#*_s4Q}G`)9V?Ieb494Kq}hJJUv*-nha$D3WH{MzLeu4P-Z+|}^jZ?8v09GW9o zjFH_rBG~E{F;4lDC6zdvI~YbgCJZ@tLHF0q&FA5x?Eqs3+?ez-l5qCvvQL(Fc3hk! z?Iid<8^MC&zPFrWkjx%HWjgF#=Pgu5(XAqu(jwZ%I(048XZ`HR$=xS|&g$4M^<)ev zZ^52@4%SH5*$(p_I9M|Vq-;}|Sh1PmX{eoNW% z+ZHB3Dz72<`vLC4^3n=acPc-ULK(*`!Td<_`x>!8W9C?{I$!2TfsAH8n_J@j-RCc_ zkX%*XsZz;;YoYN9@0ox7&j8o{_|xxy_xJx=-uBy1*L(RbUH|2`p6EMU6T_PSbj`)} z?_b|A!g+16|28O>-u~_Pzx(%pD1YqzAODccKjiUGz18_osr~6s`H$nD`LO&crLzC{ zr+@s9x1av+?|=6%KYi7`nx=B2aFD!5eciqMMp5Y5!>YK_H8b%Udidzk4}baL$Nt0L z{rHFR!(V><@#VYB`TYjNL9iUkgO#dQeDlBl&+i!u1P`Az3I(#L0nJchH~tD>5(bTr z>Q_Gz7UEfbT}uOt2%O!6FSRVCg4{>0&bO-Yj(YHM9=P3)^UD3;TItp@FV%`tgl4(` zTs`Sqx z(la49*kHPqO6yKP_&5*lxBSX$GmUH>>PIJ_>r^fJ!N+;-}AwA|2Yo?u$B~JhO zSv8SWd{y;j9aN*ArE`sbmd-VhT6{ih_`zKR_xhKw_`zL+;qsp~{NS#U5!3ZiLFLEq zncBZc1wDAwDBHMi)F`1|h#Kvsfyb;}+vOK0cr0q!?^*lv-&}_40W`ke$WWC%DyV$_ zKJtSOKko;34IN;Q8h&tU^jsdi;q!iQ*QivNKWg~FU1RXHeAMuRy9RHJj|wWE-yOI0 zF=Kvk*Qo2U#Xj!`cMWByf7I}UyT;2hJl5sZ__I$JnZV;|j>9jjwO>46#_IvoGH+*< zn&+?2mwX*B??3*b{m`yI>W|-^Z2ynn{_4{RY7{x09%G@4;(n{Vg*e0yAf%-{OkT_NwN8v0+p-G1|LH)i-_dYErzne**_{jvZ5 zzx@@R_rbuG(1l)N%C{dkq4(>L-+thm;5)PO{nED|1OLr8nIpH+C;L|xynYX2gL?)H zrl5%Zl?AWggV?B6=D}V2ugp2Voqy|Z*G11o_-tNx?Z5eL{E@!Xw_&F-Hsxl+^nH^2SMgw~Y4HWf!OX`A|PVa$!Gg-3lDA4HPqKgLQz6p`Ov4nmHg4>dC!~DL+x!^#7 z1~t)Ub!r6O>m^H~1T`=8{wqc{^Ba^{@oA3il6up1OF{{7#B~+D{)dr4oArL3Ax&@7 zAswMms^2bZuJ+V4FDQ+g)mFW3;P1OnzYQm2P>U3sm?ta|kg;;soa1hX2B0-TbO&6y z83&u`0v1b9mjj8Wmbz}`fJSUT&I@W3PU@^xZ)Y}s-94|C@n>tH3&gB0YI24`&$a~g zw;+-cRs^A<5M*?A7OvGpG;HZJaRn@}e7|lET9K?&-2k($S;>l~U z!eogt`!2R!qAqpV@7>MPn)2#rf0U%4ZMi5e!Zq*Z4JDeOUKc_1*EWN9f2)jY&(A8A zcIv|Qu|-|lh`+Di*)VhAysxE+AQn$y&TGK%74M}K&YJqf&m`H`YYsi-MV%D3%ZcND z?*dpkS)B}FHhv8j`R{306<{@g&BB>1=AgOAY4K;qF}k*}-rOqHs5|+gtuajeU5lCp zrqb92R|O6WzBtd)UhFJwj*mKxYoY5IK7Za^`sA;atje8ZY4XnjQ=mqfBxnvo^n-Mh z6x;ujljmTGPKFnsoWXwXjbcS$nu`C!rTf$aMk2ZzEMiHTu`$KnSh<-dlA={>u0QmN z!s#yP!1Bullb@7p9-V5jl$k%vW`f=0q^`MGolJhXrONMAsm{5pslzS7s1-QNQ=S;^ z5w0zv7+Tc^nu z^U-g)p9uiy0mH+kUUrm9Q3)i3!|n9BytG9fG>=G3&t^kA2B>urO~paOZqKo}j+(4q zbkM+v=P`&ulRTY~ep?j0{dVO#`%uS+vbQ7P{@GSM6ztWePLJl7V9*4Vs$IkUAL z1SL0?>sz8|@fpxx6Yzm>_btb$`QbH9t7H_}Co!WRkyFRHA!jc2{8NYhvJWhmPWQ>(#csGuR|%ng_yH=GQ`{h zGIJ={=KO2GgS?LXSmV??f8I6R9-pSS5qXNms;y;ZZ5)i9%lNt|UZ|}2VDL(9aln(Y zZ9^VOW@zx8T8EXKqc=DmL0E*7FH^11Xa>0*)=@~K-}}j2X$E`Mh~QK>+ODq_L}C%u zD3J`L_zwO+gsK3pEi7Gppg`a0gONs~h|eq^Bs@@ao!pvB?h}IjT$Bz31o_NqK z!f|yU3>^=yHAa-(VsVBZ(g*^~qjv!hMYLc_Bs3{Qkl!k5V#t0(5B5RI2pxDAORPZq zNcG{C8fC0q{I1;*DQJA?fe7Z3Ksl5pGOn5=nvk=yr-e3>BsWhB34Kn@;-tirwv@dR zj^bF$^u0l>_;o}A%mS>yMm%U7cWp;T$gGj7c>3bdX3+_J9kGZ*9MTt!(GhgH9vM;1 z<-Fp=#x!P04H<=5Zt^AmR(Smp#Z*Xs2nN3`Hqz*;G{;EA8~7p&?dPF8+#22(u-Rw{ zvyb5FmnLPb&a<6|XQpvEz|A^?bgo52v}N$@%=oq;A!nLXAf|FUL`orf;mpr;Lof7y zBSo@fZIx&j6a~-9#?MN?NJDbZ^$x=DuOn?i`o8{6nkn{SX9-mI=Ep25+*S7_IbDaD;Z`F5}@6m%&j6&l^TE(i#=D1*OtE@3LFs|~c< z3TnHE77bIrW-b6moNvM*I!Ys#sND5{bj-9*h)&-0oqKpOWSRjXHlczSV4qzifB=aQ z5wM%C&cKdroc+5gDSQ83GXwZ6>1UAL;ti}RjRs-{%9;xgKm$|v*22pO7!?HJLbDHW zDYLCYvj)VV$6^)wGN9*ErHyo~*LhW=^5mRQtih`+;G$3{o15}ox11#{47G!HA!ZZ` z%HV}^B*243J`16xFkmeBEKZF=KVNh|YJ%D!yKYXz#Z3zwUmHu6)6$x$opI_Bh>`o3 zrd&nbrSVusX;@^-JP{BSmaK>dBnZ<=9!FC(7z3<%DxcN#Hs<;B#(=>(%L+}P5l=X2 z(ATOU*6`G@&;X)=dL3x$S`d&)tf)HuDG?DXYe&K=+96|9G4A z>%}J6cp^EGRPLAwS~y`DWk!n!lk1wns1z_CYhG09P4qBg9y7|xr*NSr3W*VL zY8OUSMLbP#R>jC?FwGg;Y;e{4ItS%-Y9r$5=iOmya5jLvz|Gi%`JTd_xdP zhnpF7in09XGctRkQ^*lwOZtyW8uI9=bQ}!qd zo!am=cQ<03M8mvd@S|?{rCT58j7}VR$>v+UO*5+s#>(HCmqu)-j~TPw>!T)x1GrbI zG`LsyT{&wCx&Iio22)7ciEbdibNHyqJfIgpJbjv{rgQ1;@I$uZgyODj*{Uy{f_j6; zURwGX=OFDJ-xB@to{bV`dqiE5TQ4Ol>k#5>XWBCJ@Rd|1&U#4q*{hFN3(4*Tzz28e zg>i@;xPy}d-7teytmnaN8{YyCRfe)qx=F^a^1lH0xcXa_*9y^@8%vEk>ZF7x%^3o+ zPM}KfYbYaeUvdzBhvI7`G(UU#ELEsfuu+eNqzIQ>-w{BgZ&)Px$)gMt_KS-GEWn0w{Bm1rPEK#~ArZ2S)Hv;U*ObMlPhKK2+@J4}IG;mPlw;_O~Ig#4MjI;aJ*_T?*z?yVs zr+4LznV~Tc(vU$?b0=>NS&s3EIvrUB7Ol3U(kfDKT$Ov}&x3lro%siald6gZ zlOktgL{vCbwW-;gzT-Ow2vz$>+1ONl{aa3 zK&HdG^Hou&{8YJ*>~O*C0hxps2^Z5%{xoOg5W4KAHs^F(f3D6MD*nit0sjiBe?0H=N&1@#Rw z%N9w)==vId5=*$&ABwbK3h-S8p{8?=RBV@|n-QgstM93)DSrCeTAjq-F`g?{ z7~c)Q-w$9V3}uO$%V_-SO5v#lB)zqMkX!FY#5(>|v2ZVnc9%E)iW0Z+h*2f}DCGv@ z*MYn6Zyxd2_B&j$bIViR4&h5xyG}}Z#MPU@$oktIJ zR@EaGEE^OhdCk_ZEYot~J^h{q&r8kHZ%=EgD>E!mik9FZh`QH)xF-lG2bYF+EAeeo zpKkeC{7@;CAVOpPE3*VcgKR}%WxNF|EB!W=wS5}s@757(c4HKSrIw$l zeP!SR%pc^PS`DC&rU44#pEjFtHXH1T$)B|lrEZO%kjaXc=~npAMAvT3HBY@RpVMou zQ5wedYw?(tf_Pn|VXm=^#L|ACDpctZ8CS(U7!<4hHnYvV^BfPjbo0BSHaKCM+bQN& zmvW>s^n=j3D!8{FAiv7t5}}<`Rgid#(s%;8)j{g6ju!pgg@UQ&rNN{_XsyQhKW-w2 zO>>XQ<5?6ka%I9*oP)MGam;)fp^(fe`#}%Mg(R9<6-b25x2IiDl}rY`bYw3iK;*Ey?Z_2{K%OfSJ!p++con+HBK&d@#n6eNsiu{ zT;CN`-pydT&(S(;fm6AIoIHcu4W(9J$a8q}4SvYc74@a5+(6{?{!*nCS+{jml|Q-B zc5qON>03NQq?Y#?kzwX+mQp4Dm&cgqyt$F^^5vh2oYp-L>yqWj%_QNeD~WvOV^^Xz z=ys?iMyG@BQp?lX<2*qZ#4P zP@+2LAaq+^E3)^pTC9$U6*^g#NHc5f$HERn*G}*?&6b?N3+$q1{GwS$)}+S5G>L2)SqBq@UgKzj#7JAM zF*v4S6u+FLA~q=5n7PlYQVeW{^jSPBp7 zd4LjOHQfGD*nD$Y4~#SjL^iV<9t4=N3r?XHx69}$RMcN<*a*m##6Ll*&)(9&^zri$ zOpQfxR&prVbpNi@ZVvpb~EFhQ7S@QYTqa1x6>;2PbV zAu1VtZ&Cv@MKKG+H>o;m(ia0OIWslb&0IB+i=#*oXH_%hGyjX9p*p28><@&w z*&dnfaR~8C-crv!61$%kpI)|4JfB|!5fVv9#j9kzt7tJ+w1ltns zrqYf9q}bFx>&Ty1?(z2Klu8>R#WrZ6u+*v$?Rc44r>_x7@@&Zxu_he%6NujV6s}ie zx)X5=Cc@?Zm6SeJ;#$nqgD@G8SukJ|IGfZZXYf)Nf)%h&z4>R^j;=RziHC&RBu~hq zg*~KI#)in$l58$^IsL77ONy0jT(l`Or9|1siX;aO!jdg^8Mi$yCnu>S$)k+Zas~iN zG42t5S!6r>a_eEHLsEP$h!Sksrr_f=hRBp%vMu*c!xgPEH-k5(CnfF_Y?ssV>K-sF7r{ z?7^S49}>x(Va|zJmUB4DjHl|-AtRrnD~RkMmdzw|C&5XON*tZW>YDP6nVGv`vf(u( z5_OrqOx3jsMLu_d)So6dm3m|$u_&meq!V5tC97*%0BVVcEG>))Sm@Qj^iSoT z1EA^d5b13xb4muenOO%wr&8q?S1G{S{*g;sRuIe=~;q~K3LhAu;j?rZ#LPDOj*Zt|UQHY#Yx>YY`ZukrUxwv^lCt`d*r@ zKAu8C<5dTAP-;w2Az|d9E*F|U&X-aRX_z4#@nC59OMjLHXtQd%|Co=C^lFtb-FDg)J3%d*9ZSMTMECFP^89Y8V5TXbg_1qfk!O07ZSPP^lG(xRr?V zHs*(9eVlgRY-C`&EJkw^=Woro`A;oVhfY;L@}F%Z=Q@9v6ubmQGsp~7yw z`=yO<@$R1OSOq}mQx94;5XI){g3xeE_iTmQG!1pR$~6FiKz_f+6Ga&sC1`URt8Z%K zutl2^Na5n8HSCH3*bY+JrS@skd-P@pzzvh8u4w*<2dmxQY1jtb)6O5gxhuRlciq~N zI8kj?Vz-6^dNHV#&BuFDV4inm6hNtu@VY~ZKxFony*Gne&1iL(T7~*C6a>xDlCYCM zU~+AE;z46Wk9b+=>{hSSw67ovg3v8_T_djTs#WN6vu&SyH)?73I&@?a^ytQ(I0V&8eDX_-vP74+e(syTdhiizcn9-T^eQChWl*+>RkRLh?hDIr!|xzhdF;| zY(U5?He!zl*EyuU+UVh`2IvfdaQD6!bZ%l?EO1P8CYXhy7+ODUM7X!6Wc5;Kq)?pI zRh2JVz}*(+e7y?w;dgvT(P_I zP2NCt51R}zi6zDu1@HQ(D+juZu|hSDk{DHU&8TLG|>j-(k1~HYaFf0YlO?HP3Do4X~%W;LvO1!&ac!pu##RZ zm8U|hQ}vX$1HiVS{PHrG;R8j!mKT^GFh`T{gi)31fELqjNPm8Vj>r=bo=P7o7vTVy zHOPdp#CF9ShT;kqFFo_S!hE7@jz)R-f_HiFJy<%i_G>gtbGYua zcch26pT8^*y&4>STG5jYc62A?Io@7fc%wYvTI6g36EXLs7sL(@sk*1N?$%m0f8EFT zOIeg605W6LQIw+ZgRZSzQN3Yi(4)J|Ye4krL$AmHYn^!6Xju3nT<$*gR$210E2QvY z*TBl{kmPk}`M4`$E23Ox{=C>F&28I(xOgduvLI103iWo!?c4pDRxflVgYPn}?1J@? zl|l!vu$@y`VYlT9$?=eUIET-{-SZ}`Usggq&I;9R6UXVu*2mE#d1O!Fw&S-m>nxcG z4f%x|AsIR?pxtUwc@eY3p*ONJLdiJ`$xsfQ>ADOAERSqwQM;xLdV`@5`nN7`Bn3a_ zy_s}M)gJExFXM|bciTY+fHJzB6bPVYW84N}m0LqYR$NA}ENSv}yBG3_1}@QD(m7(N-Hxg~sp%mU>JpA2sI zfKQl0FVK@=MQq?F%25#biSl3selnJ|@NwMWLr0shW%VssNiiPi2~(39KQXBpKN(EX z^T1C=Ggue+iSo!Dim7&9BYrX%JK>=kdD$Z7jmQS|f}f0ly@;O-X0ZzVL}%awKN-#E zwegeDd}0$n8BD7a_{r$jatD5*{BaNbWbkql_zA;I9{gm`IQ3T7kFLza2R|7U#?Or3 z=*f7&PO$ZBNDM>jabqXQrt-v222&#jb~0pfZtP?XWw5>3mGW^KI~l{=3^J2{y0Mcn zl+8fc$r#EuF6;z+>WQ65A4LNaj+A}Ao*Y?qk4jfos4Skdj=rK z&Ko=#Rnsy2vLUCX#YiuUQ3Ikhb~3_Cl;Fu=eC+^Fgt`QBGKz^HkdqN8rM^_nRfwDn zMw59UC(6JV$jP9>D4>(kzQRog&E0O?WRx&x+d9~8+(f6^12@qr7`VyEc3~!NGK6y8 zxXGZ!XaFaJF+2h|QJ~KUaH7LFfD^QJa1-T7d*CL_bQZXYgrmSsMlr7r++ne8O1;dffFp(6E_*vz{tGWOj!pv88qJx+yqUP2W~PLbm;+{jA9pW0w*Y~1Drh9 zB$kO+{|9g~XqE8*PDZomS^y_zY%jox(m_3dlfgVd58z}lchdtnF)w@pP9`&P-N4D@ zc^1IQELKqxIYG*b7vyBpYT$vKC@)1ICzE*v138(rYJ4CklUMu)a)L1U`w5-QW>q7h z6Qw>hbTSnm;Koj7vo9F2lgYfSft@J0{{uUj&HjGGP9_sy26m#@_7Ci2*6`T^n^)ZY zz)sN66FOlY#6V6Ia6ga}yx5<}$zGN|qO%8bGL!VV1Wu;nG2Ot)&{gpU zPG&f4Vf#!5QV!f?(#-l5HyPW0&w-l^O7wx7oD#3egNd>qxXIYo{}VSEG6pbiGH7@I zz)hy24BWWMlwMf4$;^iLh?^+g@dG;XtR3iNX8BMOI++SrAm{{ns$T3XhAz-IbTY!- zj?l>vG-v4Klma?YF5`es2K^EOI~n_loG7(cASYwlJ)6kMpyl`jIT-<{4GU=FMoxxM zyBj%CUa3G%#H)GU;rHrCQ_rsMHB%06&2DVB#)tMzO@&ksr zLw(>_bfnoVtPx&Ue3{`DFGBOJcTwwPy)jBu6OY6rVoUi=H2T|{ zD>>o-;|S}4o0K{k4uE9k)6RiZ+&P_5qfXGRO`=gVgo){RZ=J%&a&)nV2!oU1(*%oY z!U#6VA35_8GCw0FI%g09G!n5uS!7oHCv!@GCjk5+k1}k0>->@N1mgp)n&) z9Wv0#V>0BLt$6%$p`46MfD+8hl_M1+@iZV2Af_J?7E=A-6a%bYsF@Na9V!|!V zEmU4hnkmTKr%}aMX*eVEVDx2>0a}wFF@^s>yR0&EM`+k1Y|^cBW8BS+GaYpnJ%LunGoW00wp z0(4pcOcw9oupz%s+qnc_wzZ|4oJ+`JV$=pDX+#~w7@Bm5 z04igh#iVSxz^CV%D9RC4O-`^#4=zE>1Wd1a=K=@I9g^0heJWz!=R;peV~vAQy+D4d zYYCEiaXkbYG7rN~fXOmt3h;MyqchaeWCS#L=GgaeE}^U?k<7_`0-&8sXk=NI+9or! z;XK(Q$I8<3ckY=BDq?m_ucVJm#nRp9AhQ#EJ`Z|*xMBXRm)g^0K?zOmr0UIfN0;@3 z_3&EsAvRaIy!#OA^Z3BesWVjGo|Bm`v8UsHNGJs>)^z$5y3Y^ZNaTx`2$UM!4?@aq20UqR#3^r=EdSy; zj52l)M<8UqD;FV&lb6+bhbW%iv5#}q4QGE|r<@-xQxSc4Hprp*C>w@%kP~=3517TI z$yKpzmOc9^X0KsDtl7k2h0Q|+qg>s{o1`zjareb=8d3XG`(!fFd21xbBFYE6ihZ6_@LD>tE|;sBCTP z*F2B-v5JL@Y`3>1PkbB0;7vBXARyo~;~CR(6`peP=(AXwZ_G;hbpffBdW713!f%S* zJ{ncMg6Hi!<3Tr4r0sYI0H$N zmhYWMxCw+!u69+@xQk3RIZS(fyo|6Ya{n1;l|~NdARlW`lITMQRBbr2s@)$`i*t*F zHWX}Y$;8RNlE_Zjo_=miaWXJJn?Fy5Q!b)WIit-qADd}WOT6teypA7lH?10y7a2>t z4vUZ2J;x{b!&@<|?D;Yk>NN3L(om)MIOdRyRsg*3(@TL6h8!N(a+Fra|3IQzdFfg0 zxa7#%87izP?Je+BFiWKX^)6xM>F5`X+p843s0^K+((~pX;hNWU)LF*aSj$01MY_x3 zsZ)^dvJpY%bPHr=n@jO#?di9gV{gxSC}L;(Lb}`u1gv5bnE`W?+D?#56XO95{4(>k zO4Yxpj0fCX@0SIk$D#{CgN2e*u1l^rj!k$yQUGh$k5 zjW+{>AWDjjo|p(MuvnC~Li1s+cea&wL^9ghfyRd4UJ=7=8i3jq)-e)`0y~sk#meI? z9~i|xZA!!&K=01RcDF;9?FdQOts>rx*A2B6xbY_NWepm;E5)2OVmld*OGYX&SWewk z_HZ`GS4KV$r1Ga;eis{1C-$|tuhsgx4WmMT??dIr*}#31dG_*&p0=4BOp!r7GHT4L zRNWkk@B`y8yGU=C4Ik`c@VSCH?&83517gmuRIfB=Jx009p4%p!yE?2}0sU?!YsI{P zU^dkf4zl`1i@F&bbhjPTmb+lOe3m@|@VeaifDs*$v-ZZS*0$S5V3x{|>j@!!+1}A*c%!Oo-qsb z#t~sq2QM|5wl{tn~&qf|{r@S|U>;o9&YG+3u#+ZY2Z`65L(m4{%^&l^8 zD@bX(I<6{{JnUxD3^nzpqb??4971=f<9!n=`_e!GyV`e)YW^(%o|)a^sWx@yIEPzvj7&kjrsSAsuBH{PV$>E&jOj<4AAM4E7vYViyRZXWS22w zUh~=4T*O-#&xTG9$S)W_LxHeqB$t4Y%mS-6V!YSF$51(|7|V zN+Jy9;@=*937=Mic5W)+>dw*(t3ubEiV?Eau<&|D`OxX|FtpO~fnXzP#8ISp*xWIS zlD^Ja!tB$G?#_dR0w%=GokHBSIIxqlUgPf0pO=D|3>|oK`s{f`CnOy(B>(2^j8*{q zoQ`*v6P>pYDMb;bHs{I@*@22$N*v`(Y#Vv$|SK81sDI%pdY`3+_Bxa0Wlv zJ0gb1U49$e-fc!RI*Y4Mpv52}cT93*TIP1kCywk+W(330Q+G0#+T|W@Rq*Q?4@P^K z9{sGAg@euH>*%snF|!0n`5)Zp^V&AqVVW2Wf@W!wJgJ^B4DQNJk_@l43P;?j z@?$9k2iIkvNCQh@LA!5y%fX}r23*U?UUq+bewJ$gs&eJqW$WPYtCTBZfFFa^;e91^%o08qtkg&R^Y`?l1 z@9sdU{Hj7o7AuLi{AdNG@`1d1kq&xCjX7TAx54ew7)KB+d$+J3AV=pU=fii?h}gmA zk8*Wn+Js#kdbD(H)0Gu-+l=KoZ=y7eKw&SfOx+Bq0sL{@UszAfds9OLk+Ge3k@yt=Msvo6@lo@!K-o2x+ggt?9SdGm!ZUQY=>f zK#DgF4R56Qx(ZQq@OAFG8z_Eh;v1kC@Atq1KUG#x&5M2Zq&q(E*(eMl$XT3Edds6E z#Dg^>FCH?q%QPKG8A=M)Ik$Q4bkn%Ip(L*pTsphc1A)z)$_hYfJQ@#jdBobnx5s+; zLE(d=hHso7EU3wMADN%X0HsGw`rvr_LAiZG^ zAPBKkm($lbMLld%A8>ASc$fKsJdt+e%oE7jT$93ZqM_}_d9w9`&rX41^BHga*1l>Us@0ayGnZL>h~OhMY!K(gSJ00U8~a*9cdrIsUwo!=Jf0Hd zxP|R-2I`CVsNDKe!6V`wN=h!N%)^t?}KKGU;u4enWE0u@p( z-IS-GYE`rJvnmbVnC+&+w^}63;j}9z6F3CT#qMN9z={|azG_mH1<57h79$^?JWuMz zkF(sk#+(}z`lrx9xNy5KOD;nu{JJB^Vh{xG2|0)_oll^z3VjBHXq3tbA22WZa{fo3 z0NeS)rr(zPQ5l<`(mn}xKpRj;*(6z0O#oYwF7IjkS$sL;I&n5X9k`wInD~A%ZiDO# zY)$hhYh>==ri7CHbVWw7U1+LvJZeGM?-Mk!J87RH5Td?dR2fSivuyaWctH_NmdIS>!k#av0K8kKkDl41B8XAmW~jBkRs`&Zw#sS2Io|^mm>U z=}t2BI&t3WCDBKst(Zv}~lPCTiLesdhFrBG(>mVV6c8>O^Ln2{So6W@TDW}9sMYJQm9HfenGU(~& zzg%f*HGP!JuuGb62SJhPcXk;#2_nd6Q~@(&Dg`{+;(or+hL*|yI73K^i>Y>rZSi7x z(5D_N%o7Yptdygr)+5cP%4V7U!ml7hhz-=PTXd2| zfsHNeO#PbD#rUp3%*uK4v&_=svHfAK^^SkD>b5i{@cHEjU_0~KrdLcK@T1SkWWGpa1nm=U=Sv!QY5pxUCk zgzB750|`Rm@9v#ea5RWPH+VSa#odZr2ogi8nv(Aye-!SNNs#|ac(L(P5o~b`_FIGz zNtsIFWZ|DXLCojAeht8#`fBb1G6l;5&R!tRsiiq&4_nZY5Sq+_D7n*Hw#RXR$l2h1 zqd+FjFcA6SrqcKIc1tBFEpL@L=NUxt39`;*U${l51y|xM>~VF6jXzQcw*N8psdyD6atOm z1j+((G&H?J*d5d)#)LG5NDnmqYYk%|&7`nO1Hv@`LD6EHijHaVM;NKc7n@BR2OwcH7Cfj2HtL$;DnB5FaX~QxP z(ojOVo}JWhE~w+gv44c?cPaI!N?J4ABnNL3byAVxt|``AI$B7rjQi)cU1B-dLcf0k zhmMp0Wu=^JiBIEp*diYY5FRYUAc|#qT53(~hkrVS3M|t-WPtIlyQYQQRbj24rFxr@ zn3Z9r4XgJJ%cKbwhg3`fW>m#fl1W)$K@VZe4*tCm#g8y=HV16(#fS=K5IO^BnE%Gf za_iy+AH_4~>2wp2kv}Kwo~6JZ=Q+)e;9?tj=oU_p$f!n?Ao6oiNR@xBdb-rYqhJ`p zoevNr;RG=*Ceay^{K7iy?o~IXr9uU!*JjjHUcyB-cg|e7ghMPUP``ATkTG|v2C|5v zU7Q+zP5s3klj5Fi0mleP0MR0boI=6b8Vwdo)y9{1aH$d7qbM%%WUcBwZFNLkPTj7@zfEdDKz2scE{xJ~1z z*b*rLi2?~W!Lyy%%PpVc^2$CPIG{BlTPMjP@Zln_v#YG7MKV|s0=)>nFeE_kVk9SqM89M0kRe(+AHSLmw3AV_yq8aUyaWkR zFBrkA~Oh`vb##nxWuEqAIg?D5|4doXq&YYja zw-$Z8&`9y@^I#*L#y{_CmM_-kXU!-GIp0?`-Bi(CENA1zWs`dyta4Tug83v+Gi9c5)7y*k$SOgb!oR-w;t;0$ugP3LUmY2^iR z4bg9S47o<-2wog;)j;zzL-Q)Li4CgPC4KknTP zwUs(-pLg-j(SZ$4Mps}hOs!*2XCgCzpczvoc{!Qt$;+AB28oze%`^g*)v5_i(|KL* zgvMv}>DjMqMb;YjmiQe;S|4`xp0070wn?@LM=1y%JNJQ2dK_u~??vON_vDS`tt&$e zu2V|z#K2>fdwQN&f;%$zy|La=Q7usi&-HhS{T01jMz@bL=16kQVL>QH#}0GRA9l@Q zaj(O!IeN1O89-M^Nx!5iF^`yuZ;pPkYw~F$*)?&!w6u6A>I{5)2`l-yne3WOtt3li zs$BG%!(tc87@doT88(M>4qk>$WYnG9Y)si@bbgy(6X~^*U=!T?7(>(p#Vm-!>u%Hc^KvQgup#I%e2J9hq<$= zO#8^+BMCNPn1698ti+wb6c%db{tu}!FMdtdaZi3tUR)ERF)ZS7umhvFi|#R7R*@gW z${dGblV86~jF|mR6r1co7sKX|Jk{m@)d3_sP1_bNnKY@8BjJsP{~jlH1xV@ZW!U5i zDEaYpHZs2^-xU|qX{7R3k32|8=?P(icv(qyO(X z1s}RYIiVUJabnw5RacG+k!xn^@N15v8;1=m25(7zO{COFc~G>Bo(ML1@lJwGrsf?m zqKUu+n?oXiqQ%U=4#6f1QFBMZ{+;}qqvtYgf=y<;Pm;w^lDlWg)dyOU&d zh%&U~i&~TGh}Dn_TZ_GHiN%H^U|mI^|;6^n#xe9Bq0LU^EEcIxdP$ zW~}7cWPu|&HhDPT7sn<)_A4~NYIQ`|v7TpgY_gHog}0=cYzZ5fnLKkeNfxtQ04|4dIv)u0{|Y@%T$$7zDioY!uGO$@`AU6WVz zi(T{2GcIb)oCI%b&Cw}CaHutro;9g8k=iqXd`Q8lSGkrHIx)SAd>`^2gZ zGS!$`6QvessR1SYJN;uw)SVuAK4)Fjn#eGXBnz4Ddpc@yal5!RQ2{9O;np0`ZL1fz zCUzUUC$}b2LJ~20u}ekpkZS@k^`eY&qatceq{c{UO{7-+rq<-1s9e;V6et>r!mwPC zsWo}=#jMHnNM=oLiIP~8iMRt3`ZThwXTPSHxQI1bCy~UO>>{@&SytHzJnPfg{lSeZ z%`0+`BT?GdzF^n~YGzGjtR&WCq9?KDn`*fQ9#->h{=3a2)5#o11Hazu980*y>8DkoAl86-uf=DGE2d5EMG^1&Agl$HqnnK2s*@&Ms zZNA-@(gukp?2PusCL9!6ZdeC!W`q#n5I$0EQpl2E?d4@O)08Q-@HU_8hSgQ zgxFVplho1n`D*!ro8-j!G)bm;5rS+B?}wp%EE}~3A1&z>L};l04gnA<1HygtKH6?b zMTi1zGSzM&to*W)A0d#}QFT!Z-<0>HsjCSJ2%DH0Lx*AEOI>$raH^ia|aWqcHLR` zLHioK+D`KB&E3$jpOYt*A<2R#<)e^c`bcjZ2T3#RPUqcXiEH{OQPItIK4Z3Ig7w`F z4`8oJ+BjnDtnF9m%jMl&WOgGzqZ^qB@v32Mz)C{^i)E@!-zuig(|5Z^!gw=UNzp!} z9w}jAH-EJLOvKBn=V*I*ris+>8VC0u?F5}pEp-f0WjKAYdu3q~_HNEL@tna8+hNJ^%RF7kPIUhE@dP8>u zn{hFl#LoRe1M>zwiCULo0K*JmLt=jL{)YY@NwCTO4wUF@{q*678GXBp6XdC>h6vCn z*H}%kI8?JE@T`f2Ff=APjC%G9o)8J~)U2b@caG-mXn>Wycbgy)4wbP@J&ajp1ij!j z0lXp2bh$&3YPz)P(s7g|{n*vt8AvFdhvHU4>T3Y-*o85c>a2xld`<&TADVs;lCi4o zqhpE%HE{gpEPxv9gb$1m-)9Tk=QII<0xz@*JqY)xjq5I54(2m;%PoY4Od>oT1IY3&Y_^bo9y@GQ}oqp3XINKmm=EsD5cC|C)kw zS_%v7h0)MMuJpr)&8{H{zMQ~^G*$P(JdNS~AUs+huT|;X&Dp9ZgQlPH^kjqfQ=(cZ z$Zou-1}#3A>!T(qB1Tm-TfK*aD?$#AH>^jBPYA`q{w*|D%V3FT2{PI|7=p34FOX{l z**vazgBYgiq<1R_wIVp{{ihf@AH(}jhRj8`ejRtip^CsQ>K2hMbwzVyBuH(uJu5k z>Frrue!v-L?GRVynEE>oBPdh*jvENF3|^r2D2_?R4lQa%f`&Sv!eldo!?ngOz3)}L z2iEf_j{d-T0;zH2*35im6EP$xJn3^L@9x*xP?MZ#Hym%`ft`_29~L zKQFH>7hb6;&a>!AGO>D`>G(nar)!VvG2N`BKqW-yDeDuc()-2 z(V6SyGE-OCJ@3}z=m{B#{0-IaJlt&Ao2T6>!*>56CU^ws>tMO~H#qrtv7pd#-p&BQ zhkIo)0*EV>J1VxF4MV;c=K>!pR|;ivZ+23?c$gDF{|dg{bvRYDUwzKCjqMyRaGfe} z|0j>NZ+y!jDWkaBxKBECtlu?}eInTC!Rha#3>krGmxJ(}a9Ob8M5IuY{pTUmqHM&! z%FyGuU9#LH0u>rlq9g^Ko9Ag+`{BRj-3+31uS3Rs3>7tLFEU~!7vX^FQWG9nsdhk% zc>XMgpo&-xX^EeK{}m~z306Mpu@>XD(^UB9eQdHC2;%1GeK5gPd5d z_+Mqr)2&%e>hf^W$Mi~>1PUQfk3wj@8cL{bIn=tGo>{ZjKJXYQA z?BG76*7tGMkAv2T*XnflM6>f}))N2|+xm2XO!5(!j7Cq&BUyJSTVnZ;J5d047!l1)Ir2 z2WK%-L2zcVRd@;=g?MpX-0X2;c-$m~XD|ZV*UAqDOXaXE+z`IT%5P!|;KkkGsj~H` z73n@iDoS>HKRL2FXH(Pim^qt~vWZ!piZlum1LJe{7XGy`wd#v9oC1kW8H;AMuZ_FT zNqq^}Zpui$1V-;Y{DXsoq02g;j3@N;a^+&zh)`)*4QVJicI zR<^5sc`QMM*Q2j4r2S(U#cW9e=#bMXPJ&J0@?T{L0rmiO0u7@r*A2dVCTF6LqciLx z+SlE@09#E7SfINA_A^KNGV#joELnlC@IIIk5Isa9$O6C zZSSo27V7ux<)rvoC0T?F>0HtxqFJA@8)_OgW1KZ%?fcqY(u<#q`_V|qEoIRxyiRQV?4GhOzd;nl)WRU~$aCeVcQSOdIt$ zjuxj$TXUHqB+N-nt1A6zu0>`C7-V5^S`5Ip4~hjF#?PjIYzr^e!@mc9pS+q}?GSZ(V_RDnU&SeZz!#;d2TX=(u=dwdABPhPw z!{cu~^6F3k%x$z^n$T5b&adQ0SmcP93>bA2RX8NZbZHy(-74sjk@{0;3?PRlE^Jj`xcLFXl1bCxqq{XQcv7F! zPDs|BKTpp6pZ9xpH&e|DV@z<2oF#SINj$hNDqy0BfoTfBCU3Pj&!Hi-w9}S|sS|IB z{S^{2gGIuStJQ6==QhN0O_*dg{zSj`I5>Ib>AM@WyA)~%dnB%(8DNZc!LlLm*?oyr zS{UG8W%LYJMnbX81shcBh#UjpkPejjApPoo3tkOrni$dK3}J}50Rua~NbgWK836ZT zms}KmHvaTi8775fkCyVOmy*SP^NJ&}8dk!#e$S^~UXLZ^S^+?vq4;syov1crHH86z zp^{iOJRXWhH22vCvmbjI$oH^h@SZw*TODDtr2eu}6Vc-@n>Dr2oFSzuwz-_S=2C_D zz_@|MYa0NX6u)a(N|l@!Ynj`Y+x(R*tvSg}hZz|vEzP_GCS7FohA|!o?KRS$#@QTh zRlCl9)NNO>NS*JcvA%GcQ)E;ZNA4Pm$I7-643%+4E`-72#^+fY@8wlp@=*G97P}qy(Hh2kThk61as;$_UR`ENa`){^2q=wHg)fdp|{@NJb13vjcd=Py4y0kxt?{i`GFaQ zh1#jv;hASY&I8H+$Gv*w7(}YIGY@Ub4#4MV%*TFATTA4_er)Qa`+h%W^URCacCfnT zJ2=?dr5nRuUXtK%SQ4XXF2I8%)X85swuK|{)|Gix1jGY>GM&9W@C9xfM!&;T4aG*n?)Ht883cX*1}>* zR%qrBmmk+NwE&7?AcAGpMCbSWHc3@D$$qRQ#3fu)7`22>`-xF88BKRFLIf-tNa0Xc z_3PH6LPix#1IM{7(;^H6x-F~+buN}b6eC7n*c!&KMx!YVfq$n zQc@No51GXHUPtk+mLW@0;$1xuHJWN7gobXOJ^fVKUql5d+<+&1NfC{vDIzS3s1Dcq z%}BXPFGobLCwze!isl+=ptLv}BxyRnn&yZ_N=`Daaf@a@L3unE z%E?e_&V@<7>6uYdT#HlEbWIZFVyU9R<>yBwlu&AL_Tw?va%o8Q8$h|2`O=YrN2#lF zSF=<6HNoTih{c9VA>91ngQqB1cNQWnuiEyRy%7o;OmXlw`$YHf*e1$+Crc?kkDlj` zf)J-;`E_8E*o@AEEwL#jGRSG`;TE9hIR-(z>L7xU+D+D66|yol97(?!S97<*rZaF* z6a*>N`{X3FIVBCA$bI)5ZzFB@;KFHj+haVlS8jW8NQ}OheWb*(e)T~0%6K#lEc*Fi z`FtdcD9b!jlBe2#em|aeEsXSL0PMxoNaSHiNDYXLn%7F~39)EM$y-z(T^n*<@4Qw} zQ@DYVD(^C~*-ZM&*OrWHL84lWN{=;lY(I~sGY%|!OzoueWojja$`?OHzTL&w#&K{W zC5L9op140MW(;u?lyM@1mX@gD4?}MEt8-0PH=>9)~GAjI^=- z?7Wa#<5H+&ce7X)nzqWH0v8DqdZ}ZKLuy8N?-=@fq-Q3~>ssqQyYhqQJ-LD&najM$ z#Pd{vxIlPHedOQdBm`2>*7Z%Y>Lx;d_Bp0jRcgn7?oNQR?|tHU1vl-Y1{J%Rj5%}* z4?b)==n`917BqR8H;JU1S@SVdHq-9%=9L`I* zdgk}F@`@5^yQf)Ybz&j$7YgA(h8-@|(7%oPdyKr0zMHBlR{^mb$Jw?^=8-s{&66{E zKvj1|Q2{Ue52}MBdZe1#(Acso!>Wa-r=8X7&EGr%J3BN6VSf4esB?V4J`nVo{m_rq zWU*fjEHrdUQu2@c0Xr#aFFj9Frj%27+}y+JVfL!VQEY?>h(q;jxIKK5{AYQsh-5^RpC6}JJd&6HOMLEidVM|OFQ->L(^Rx}dLbhYg;PAT z$#zEYAQiL_4i!G0?U-Y5$RQOyafM-Foto-Y_g1vw?qN8Y z|0gysx;U+oA-y$-_=Y9#9!f1EC8&X!V&fU6z6Ig1a`q@ttg=a^jK!26-6!8q}dV>Yki_~Z(2N(Mw2zy%1Uebue z!Co9GP~^s9lW?PrwYx-CBVjn}kzqQdsfG1m>ShAdT4kRgH|Xoi`d8QQZV5Gy7R9SO zGM=3*j4*UNwX4tns{#uL*yMcoi^zXH^CtP5`a3Y1uwWvz{a0@ijam~f9~m~9b88iL zKO>IM9i)i7-QCgg*ZX~^2+@YRkk#JyJVOb4RNvhN9vC?dbwh;PE*wl!ngpB}BVmh} zE+-Ars^IUvauSmWA~=X25s?affK(Hb`PrupnmyK2T87AoDt2Gp@(?oH*rZ*~$;4%` za5ZsRym+KLn+2&CR1O&v-pmJK>qxy|TnvjK>aq7T$~659E(+BE;uxA7-ZJNRh#pb$ zHXmhh!dkPjWP7JqKVD789F)VpPMq$MDlJC|r?z!*60^DZH-hA|PUY-$<(E|c%;pk$ z)|Htf`K!b~r#G*bPB-^v(FQNBlIJ#QAx6AXV`x^`0IB31Vlan9*Vp2X() zOXg)ss5wKoU`vS9=xKsPO2YGIHH#t}_*3SK^F}+#WQfCU6MW*X|?iKnd z(~O*@Xwc4#CT|xG4uvtfHjGC}iq0v_Ls)oIWS76nczVX}hgfIU@e8Nh7@qua{~h&_F?WTVhdM zG_e>MY|VP(w1bs_?I%suj*=A5U^)0K7%EX#FJMa)31C?-lv4dOpFP2ZW-ya&veNoR z^uSlA0HGfy_{;DvM@ykmcTqC(2-YKXP6-RF6*)`>Yq?pP;W5z!c)EDGpf&j@rnX{r zLr&~@3c|L1$D6Qgb-e>lJf4W0@o*FvkmHG^c-Gk|3cI$spzL&EPhDKwB__&@lEfLD z7P8xLb`dCUjk6yR_Awg&me6A4PZ)4JZ;sB5))UHmhrDh$wde%DWRt{sOIfzv+pHP#7rvaB zteSdpVlrcytTC#1y+n!`G+k9#98I$Zmf#-TWg)mbd<1uQhu{v2ySuYEA-KD{ySoQ> z3GROQFV4+8J@wX9zg<0ZF*7A8w0s?D6>;euX_BM6DEhJmhb`_bTC*G;EFK_XsAoAG zIw}L_68w6QnDfBUyS6~nfhmQ2+;ZbT^!D9&;nz|`M;i4)Iu(gu~9?IKIP}8hhJyNhq zI~qHVOz#hwlo_mpC#Xkbo{Pp_h7$+Rl2IZ>Gw>6|bVpa&#qhHw4VA6k4bax-L-O;aM1c_&MKrS;vm(jwhnXZgrbQvZtGXYt2vUR$J z{UK3lIU_q+8-@qD*a$i+8An;ygFW+u#7D7MJn$_i4^{h#q@!#KTh}N{5aO~-Y=mqI>M{dg=Ml7k0TqXI)5Z?^^pSX^TrJk1 zu40qX{d>xoC85jhL2v}uq-(7SOvE8$%0xU&tQMwcL- zt9vjVMY`)AKa6bn*Gf8y1Y=DpWrhajlkipJjSy|J`jI1nKV7L@?u}V7q$8S1ifVB2 zK@2<^odQf>(r1&RQaSr#f>KT?L#0ADYqid{@$%=1mPIjximhdtUCvB3##4)XRbogi zG2JDFJ>6RqC`YB7pH9VAQT2F%sR;I&H6b@9$(rCkExV;N&64$9l+Bvh)=lS6mmIx3 zUV${5aIRug`;Oc1W8CS^nvY#>0o!anXqYqnTHDB!HPNBTpYDAlpEYqQJ`q}3)W)u0 zrrJ9xniL^j#t^}}3i&9Ogg4OBDVp9(Lmk1Y)&E}v>z+k?1~nV7`3b|cuFLxC(C{Tp zIK3wydrJh>n$*q3?gOp6f5=e%<>=C4bqe#=WNr1c8wEcX^?>m(GQ7WbCjm4H9zA!K z!?7n;L6M=lBpwChsiR{vQMvV=8;yFip#>1-bui1AU4T(#s942iQe?9_wChY9zw0r6 zxt)IkJi6g77r)|W`u4V*9u)J6kP-MZ9cF}n-2wsqQ(f)t;Xqg6>2I=%7{~nR#FJ7e z_x5o?F(BS7Vla3C`9C%GLGCW`2=&TLNj7?D+cYcYI4xM1>tSt-jD3q`R;HDBZ1A8rGgnuOu)*hmjYQgEtEnhd=V;1 z7D;s1!}erm`HJq<${~4obZ4J@0JwNh;dsh#`qQyu<=dijr`+FF(saHSNXc3ug1c~SBz+YL zvXXg1c-eh5u7<2Am4r9jJy*ejfXamEP}Vi8$#)e8^_`#hOZ-iF?bjmHQKuSe2~IAH)jOHHO;QfyUmv|x}5+m&BXIKj8t zQWMXudCFA+3>@T2?hg-J2i!mY(;At|4xv67N2=H65?|jt6AM=FoD~-L$>ul^S%l(y z&-i126RKgG{e-U|aqP5$r9;)=6gJ8E{sKLFdH!ijf(vU;l&+30Z-t(0BV@9q*h3hIj=|b-rgVFY} zocuajU@8o86V1hO9mu$jvJm}^>Z89IBkdX?oB*z5#~r_0C;r6A&RjGRY48aA?n)K zf$7~*<%C;nQ>+Y*73P+I{?dvpAE8+@KhWgf%{3|Ty|b`Q)LeHXI^39JTd&Kz(7Deb%eB51VLB^2$MZQsZ9+KdXqQ~Z6DSV+v(V4(Qah*!}E#ZA76SZY5S-y2JY z5&L{mY|_^!ymc00EM#?oxEP4E+ILssNnPa(Y90A_S_AxmJJC>M@UfXrNrN@$kTBx% zT^!`A=9)Fs93xwoijW`mx1m!R`243HkV)`)r!^jFTeHWx*{-EG!ylV}W4@I0c5M7O zfF*{fW}gB_+MKk(46Ye0MZ}pi<*p$|5U6K9fbjaA_JX#IAH4zoCe^G)Vp&r6-{=^t zUa!;~e1Z#IMaT{Q&}$9m(yp0TS{9s_Ur9nzyUsnc=J!k}Nz0`ix|$!1eyb`g{X_aX@5O@zl?djUs$6?q>5U7nW~t<<J&9MV^PL_+^5{C`RyfHl!gv|!8nm=F zCRzW@^TOC8gn6JU}%Y!bhio{X7?U>j)&6!T1Z!8r-nW%AJva=uv{V z>!1(hdY>Isdy{0Qi7{CSn&io*7olKcRDZ3VG#+_?6FU9*Zo@zHG?1^#C-m*DjgmOm z%t^9{BO`ll@V_ykX_#IK>v+PZPNL;q8zv8yV99809@qMhau9 zNp1b;Hf3qFKX!2cS>kT8J50r@kLj6hbV6j(gP({Hh3U+YsniklT!Vp=e9lCECXDT=oe`qcJ z%ItW3nlG@`u=OK|Ydp7r!yN>MN81rXd-dg;BmOH{?PJFKlVn$k?W0Y3M7|^2hniwf ze;4q#+s72=zaobEAfN_3EIz^`x-S$B{N%x8L$!NzQX>ni=NR7S@ZaVN?G)?Pd!}{2 z@K~~WhknnWIn)kHra|q=|E1~#MA>A{w-SAJJ-W*>oR3KKtEL458)6?kCAGEZ2%VzI zes=_xmPY}boE5Y+I8;VFYeQF^ahnng;%I^rnb;OsL?B?#2D#Gt19~O|Yd=3IeQ82k z$k>9;iV&9(GTD{VGGsOHKeV3!Yf^;Rje9BwW6LD?Y=m+Lq-3`3EYs_`?BHUTzm8uo zDpun*WogRGk+8ATk4DRul@HGoqqVMjX5w-COhIWOQ}EW~*4e!Zrw>-qxlu!KOZfvM zZc;$Q`sUW$;oaaeA?WMDP^7eyT1qu_bOY(z4IVad>tpWB107rCs z*jBZ!%OU&S5!0nD`guRQaEEeekuwv{0g6WW7;Oq>DpA3ptWc<|L@s`&&*46v6p%(-LTczS)Z%A z#sfWOt>X$CK4Lua?*LaxHTna^+I?jun`-YSdLuGM4hbuvJ`)|npA!~@?|4pPXTF2A z`0m|%TOpUE_m})`DYN>-d^ag%+8R?2?(47@Y;V|ILAG+?6+UJ3%gj`Q&Sw8+atj?9 zwa2dF?oAuL&`uyUqpNDn@mT|fBJ0q(wJ7w^x286Y!3$?Fe2qcq#QPz|jm1U%K^V_| zE^y0b3%=uX>bRWJWjmJl53<+1lceGvs+zr9QvdyF+P|`t5pY@>?!$eXU8$&w z0o1RHa{Z1)lNnCGQrQSFlsjs0M#0sU6lXU!S*{TwKw0n(C#3kT7YtAYEkRW3Tv&Ake%HIC`Nt+MrVa+4{(oGrBZCD-|Lod+0cQ|$fv&2IvZm0hpXvk zLpTo$yZ6`@ZIyOEceR^{zZn}~HjXrb*f6C4?34A%W#kfbe zW^7QzRj3Vai%?NLD(b7!s?wb?N(5PByi#dB{duUzVW@F()ft=miu{^=wqs6;y}aXB zdqpUfPugb*PSYny$|+Q#f{BwQc*Ufua!Y4l16IzUzq)wk|{ma zVS(fP%U6SV?Yvt8if6~B8%r3hl6Y3*z+>uI?EG3q?O_g|9xif>#^)y52wD(V09Z9D zL*^!>Y>Jk6a87CQR=6>9(ecVcH6hdn5OiZy68=2tXeLOEi0xIQKY}uJwV!0%D$j@! z4|-AZN?H7eq@#Fh1R4x-lkq=i z-(BwGK*Kcl$?CXOZ{N_XcnN9$p3?f?pJ=lww1mvr2@G;DOB)B`Fz+(92^0lQQe>K~ zCU`~NIwTW_!rse}=ts2s$FRsF*(C3K_-wpzwG)zf^Fo22r3yumph#Ao2#vCcGmU8H zFw#RZ3mxHcz-~AG(QX$*d+GA=*N|$4!Ex6I2>_w`-gCD^d(vad;=cro z$IO&j!f24@C@S>cO|jLmk2Lie6pnVS+QW<=^c>1YtyOP|kiVE%0}!bJHPBQ_*O>O*;X^@R{Yu0tp&u9coQMb>$cS6A%`0b zE#e_}G~Gg{aEorxREZ|2+m+w8Hj~}`iXdl60Vt6f(0C5AQF>q`ZcJUz5r6F-ev_VF zn^ICh-+?VL>$YZ78zSp=PWZeSOhaq%s=qPMufUFWA^XQLPtJ#BF4k={)MaFWrbJFj z80Ql*KjK3otJ38%)KPNvTSQ9@i+FG zGI_HOM&Nz?%lgpL;vW=z%L-)h2<0;~+avKKhMtzEYGiNAA7qmE>dp z8;%1~GYnY~i%qpf&5F5I8`0 zGp+asr; z0iaO2ayypDsn0-O>PN)psZ936d<7R0b8e@7aKjKd1fx9-!Vr!_HT1$XByN3S{XDF_ zFn1kKLomUpt70&j8tFJ)_&oUmb#tnT237*LC#2&KYjL zRObVpNC8u(rTSn<({f|hZQUtHIM(f?w-T;&C*JySn;ssDol(VpB!FriWN}MsD7#rp zHVlE{6iEQn#ON;z&TS-lBOlsk*A@T7+24kMscpJ1g09v_-v}I<93Y)xAm~w12^?rG zM{RnHX|Qa1v}{svzK#sqW6RF!#Srnx+-HY`>ui$ZgjWzX>f_tRxg20_HJdzt$tsSL*?rf=cF~JpHf(n1XokWWpV0zv!gt0$`T^ zi@Wlh6HWN}Xj<#?`Oyu)e=9clcuD=d*&0iIKS*6hy-mG)Ve&h%q!yTL{Ob6~$!OsF z{ED-GO|G`{iK{GY@bPN!dGqs=?Ea4F^Ql?)gDmcI&A|F~x!QcJ9GU3tNNMb&*zaTb z^Zp?9^Ln}aZJcRqgM<+br$Z&=)!oW>eBRmiudBE1-=h2>jonpSZuZA{arUdi=T~Na z%-8rRdyA2;;H+Qwn9{S~`g{xvzv|`k^VtPnN~v4pBwAiHS(L$deRRtJ=PTD{`|_uv z+0!jxU$gt;laggG<>%k%+2kn;hJ9fIu6BVd5X#d4$ED7j;Y4DDo>^opzlz;yLn;^RDfA2uaUvDTsdVG62uCScj}?n^j9 zKjLp0!abSi8TS9e=J}*PJeErnscq#{=Xv+-JwkWigY1s%qIp6Vg{mWm46<$pq9<hiF9qwCfr4Rlph&gH48IjSJ9 z(y$}+{p{!HdUYfV!3@x|`tbQY7^_BIUe5kp^3ACBOUmy4H2L_s(ervA;cmn>rFyre z-@WtlUi|Pf{DHo_Me0m3))Soev(xtzeR)^|aTZ4$_Ve!MJWO{p-3&bQ(toy`%>wN^ zaQ{OkRK_UfltjP#t>!Q+8CGCacKmJr?1%*P-siw?Z(RAa+xLZR*beI~hi(xd}G>fS4~|9mf54NLbuM{M2f{^K*}^GK3z`RVzDRWScPdjAO+-numKQv%(+o~8cG{%}~W;zoJL|g{YVmp-{^kuJ$~mW**Yqv=of-|7c0M)hcy%pO}dCLxXr{OgyF!V z;Tr?jDBykPEaXg0-{eqjRWG7rNT23@kX=N8oV}5)Vii>RNU?>mZ3_7rb(=Tv17fSe z-PkhxyOcS{iK&guaBVPKBz43c#b6dX{}veKMC29kbWP;}9Pl(}7EZ#<*-?<0OJ{rd zsnnkIOII{JS;s)N8)W?M(p;qotnZe6fxykvEjfMa2ZoFeA&CAesHZfFN0LqPzHu-g zzmbbniDSTG6z4!h=E;Ot!W9=adQ(4EZq@T~V;ReY8ycbR>j8%dOQ;7_wb+>Tc+k#U zBWeN96_&{A%rkakgs?ZPn!ZJh$)&epltXV3u6DIWF$TpmxYsK;;F%7a4x?0K^>D^4 zv-6}O(dt=HzqNY|yEF1l9~d!-G+18laK*Jb8gBng#qbXq!cYL;B**_KI2HUsU#cp$ zkyh27Hq=$VJO4yC_qGUfVlCJ8SR1gTy%`aTp$t{C#7Hc%JR>u1#9RQafqzGs18L;3wXkj7Vb7Xf%B zT@&A|et{8^QQ_f*M++mxnNGZq4{Sf6&HktbQ zjC7SdS`_xIh?bs8OVJd@*MmZ%p6KmVP12|EH_?CifsFDG5+GEBK#ij?Fz*@vs-{?ganI?{+>QBcQ~v>8yVlimZ_1ufpm zs?1#9)%o35&QUWz+%KT+T}rf}!f{IfMO_d%)#~&bP6l9R;_-?_mqD_l!v9t4la*nF zKv6cHhYfdGW~?NUM@ego%zP*+d0V1LU+*z4?7KJ%uYZcPq-Cut|Ae>c<2+I@$vcpY z%G0gL6ojsNAZ|}1v7X(~EgknuJ?Y0LPzW)UGUW2gK6Vkbevr1G=#?A^eQ2nONNO6EV+jC`lPV&LSZYV zBGn43nvhXgyJ*D@O8z;Q*@jb?5ZD~j-Za*2K_D+$7hL4|eeHLeUuXxT%U<*n@CCRt zWKHkYin2skKvgNdHe?fhf3!kof_=te6>HtPw7*sd97D6#n9Nw(tjWo6;W-|k+hXd> zmON#T1T%@id%8%_h3kGvZUi8#`hLn&=dB2<6Q~d(2Gtx z`f_rLfm_iSoWSU7{(siwvw)iYcW;3$U!I1sTr1+A(Rzg^qZO9c&{iDMFIIu8ik(S8 z1v}v({bPBAAbI><_Jsk=^gQ^cNc}*-t|b{0Y~ju&%a6&k*l8WiewtUxxv^g|28APP z2pHZguFgIZQ;1Ou%N26DogSq#!$=urjmmaPJW{@mn%{)~)js^wGy~!&F&AZN2#cpD z@&N50&tf%`6bjy{BM@eqlhmO{aMc#vsIDNV%hq_E53*$B7I{3YaiDKXf0u&-92W73 z68-E=SMvVbBZP=C!>^9@%84`x{HdT?GZBmmDS* zXR-*V*TlICv2Y2Nu7*U6XsQ5%Yf8h+tsncwz+u9tFDh2j-$I%)gj7#mnjCgo7@4 zW2=i6!}kBSN^vEV>&VpnTA9l!JV7)RUG*ea-|}A;Uxd?z@Z6uqR^hu2I9`S1O$h&lq@VQz6D5TmaAQN5fmQ#3G^zRh-y&DxEox9QPTP#2Ru*L#Z-;hqLZ zI;Fwh7jTFc&INhoU-eRUoEbl(t{Tq)fIt zz)Phy*P32*AfJ1L=dCKI7VAK3yMn^UkdBI|1z);JU`w&lHmRGEMZ?$){8uL*0$s!_ zqQt1*1^g^YBHy5nNC<=(&OsM}anLQD0Z%I7m4#AI=%jK3>Q ztBhTWcoi5@%lh6h-oH})@`0_K!mk&PiS{@%T?W-$LW$yyS`N)qLwfBY1Xl&3!mId= zDmSW6^VgEQRf0WZfl}?_XShoaUo+>7q&_a;k7WRo88{EG&@Pgpp0KCpBJ879z6*9b z`BDH6UlPH=hyRC&d$dUX@%_olPh`gF_c<#%_!Mg2N)j0pbb^XrkcKo8-(fk8lE7e> zuOta7lH7X10DNN<>?^kABaew}4S=!hQUSYs(*()Qv@G9WX*n%2Vwq{M*lV009t30K zE>)@6SPrPR~E z)}et#@%5<$Vh%G@Ytcdj^4({VX(H$fuU`HTGqq>t8wk&TCMT!nzzr_rYc5i$!rF{9 z=x(=*p~s2G2<}5o^ef?u#0V#%JKd#riAy+L`WAc#Zry9RV+sciqg?v%huGoWcIxtD z1riM;k^Za{Yeug-)21Q*WLStE1QW1-Uh-&zw32HhD1r=qc^pG>Mt4(vhKMDn<4A$? z<*RC{QU}Va>GFzGget!~Lnz@2t|K$8bSPIN$3n&tF=lFU=a@b?G~YBcT$k)w^M{c| z98@$;*_twEJ}ckx|V7&5f2u>l3u=n3LOrUQyP|Pn#83dwu-ov z1|p2R&rg30KaOapSfsh=wvc*I{>WFlaP1#cwJJqRlvCm866|-?GQft)W?0F&$g@Ka4+M8^>&b*&y4I_l9h^oXRq7&2i(rOs7 zOOM)g@-}vtUzFu`E=|mSd7G8FX|=~o^a>4tt(_RcTS}ay?A_3bxaNn3mQigAIg~V_ zki*6C?SasIHqnZX50hG$f@+eq+NtIl4|$-jPO)%FN9$)x$`FdXw-sfjzxWPovY^`T zVUfgK1LjRd-ew154$MwLOi1g`#k~DVe-v3tDK0!T zNc_E1%~wG;*E(j4B?j}(hB4T|^~0LPa=XFY%u`DnhE%3Yx$E;knenv+R$OW8)Ciyc zqcivwmm@5$r`0;1fW)n-TLNZ0nmb!qqcY$tS-a5yk!Kt?nSknlvPgtr|F3Xd^!wnO z>7?14GY}~fkb@afd~bRvb>JcNRGA{bm%VcnR~#S;{B^e}brZs`6cy};MBO86`s7at zLaXwp(n%Rx7A3nR*eDP+MJ~XE`Xlx+|1LAFPIB6{*erg%?2efJ3+_14)O+G7f4Tn0 z3;nJ0_d?n#ag3xTI`nTyr1yH&x=zM2R~agx&gCEqdM(X95#a?DNB|s_l1Ul%bE7jp zjsNpqhA=6AbLq$;=ii(w>D^{w2q#ymsuQ&>OcV(^LqI2uSs=k+W>c$^NNVHL{q2Mm zjD_H60P&Bv{Q#P;9Q9?Onae|g zy}X0TI5-aE5_c&BYTy7-Z6pErxX9X+_hVPbY-@f8{tByLrp%XJ?HC~cJHj<_L)CGs z9tM}7gOen-u$-d2kX$y(NglcG$Ehl#)n{}PenSVSURt>Q6buOXV4DLEQx?RM6X~L23-;VldDvBsNbgul zfn4oolL7f3z_!91nzm!Xh+DKB3w=FC4G3GW;}fkv5E$(-jxmBQifWElEB?EjyrJXr zk$xh2&gb#p2HN?do9(-pMezMLtb^r7z|wI9ew)gk-WzYP$ggCqkeD49$@RQXT8*K> zMobB~frhLFpnEG9pMo5UiU|ZbO(O&X3Vn>EyANCu3H#@1>pw8b!#eE$ap(Mbp4m%l?5nRSQrm;lYznG9+S0sUK^O`)`|;BstAXZ;oOIgF5UkF_{jX)_d^JV zKIM4OTiJv1OipB7k&!6$;aW@S4sezzfO}ro3yTGL@Xo)xrULo90NF3K1wtL+&BPSm z528OrUH=6Adgkui!B7XXzw6vh1x_(*lhzc#U$+pNrDoGF`3j%^noCl>$a@1Gn&CTB zv#OtTG)lUPVesf~Tc*y*TwFPbj=nm6GUNu8g0J_dT+%OLKH>65muWd-8wXCQ=#$;n ze{sni`;Q5;Qwv-0G8F?FNjEspQKnfr*Ch!Jtp?6Gr^9JLmR`;O4AxjQVuX93j3F>C z!Mzy1Vf=z*H@S0qtsc2LE$>xu7Mhk8?n8aV7%6$dME`&=bmuGBD|Rle z3F6VHQLdMC0qTp8(7!V|0a8UnZmz_@z z`RH(@LRL$^!4|kAKT8`g?_CGA7E0brAAiTPR4zwkHI_ zzR;D5X~M5D-inJkw0Xo6O1FLq3%x0LW@Kq#M*~79P6PI%M=#fc_62Dvh=As@jFG~@ z$4P{M5ULqoNt8hwZ9{5fM17A74+(nK4_#F7_heKsAR*2WH;7O+ z^?aKzp-w7G@V{WJOdZP1>e5-SN|7`O~}xOZ_VW>1piVw)S&n4cRZnCi9{ z)I&my6C30!%M~lKIvlj8n92$pO98*|{pcHN{RTHmh&XC&&>Szfd=g45psG3t`ShIC z&WaG$ljm#*M4jU4K$tYw3%Z*3*yA>tB>tMFAYjkEj++}L*%c)=NGR*;s{0(5J#LY? zk0aR;X?VTAL-tQWdo2=Q0LQAc1EKTL7n3#>t#}aGzx~6Iz3ta_lvojI33x(t$)STg zsU55PUeK;dABcJ&4KN%ay3+>ABpWOW+Cxeo#2fC7GhW!?JqQI+i?|yS^3NmS!p60C z1%Y7hrJ)7`ppB6+VWDD9a=0}g_6Y`iAuSJ-#1u!%#6h8~am1MBk}2cVC@Cn(1{3vQ9=;?L)xdDMfdr#1Vx4215`HzqTeG>u&+GY)~Jz`!|@jxaT4J9#&II8BK@R_3NaEt0dFz2?q8B;Y%m|xrd8-lAtSB^$>YWaCmsixLO1K zoE61eBqGjRwkucOvWE-p0uORa(e^0RzD9kV%Ny`VT`ElJ!F9fH?P^km)jKF` z9kvTk8G_XtkUZ+r&&5qT|NSL};XnkjyO+H72(cS4>bkQARXZ9BzdHb`kay_6m;m=H z0_w5kVXl9b-#2P6UV^q{12Bi|OK`oe2-pp}t_jMhDiOOOPdZ56U>NvOeS_F8zkE}Y z$>l2&F&eaGs5puLgp74(_XcyW`0#BzXJZM{VFeO$+c5rQ4%L5;@*1!mZE4I7!A-va z;Sl=7g6hv!pkfYTF8Pyjy`qDK2Li><2ZGSf1I1s2sNWNkdm0jgn>rb=jRZgT6C$=i z4SCxzogbU2@gh0vvu?5L( zfAoy(51mRJ1_)p)KV&$2&bcu*&mH3Vg!fN0XRvbXD?q zup7$yC;r(Bh(B^(I$GDQ<{tE-q@5sl(-oYRmL5y}_L?U{;5cpYQ;UZgSRB;-U;NJk z9d9AqZvq~M3ZQdd`P6&e>StR@S}^HUsT9Fu&Fu)JYdcX#9!c$gLFLyo9|B%BfL=()c?Tuc*o?KuF@TFZUZKZ9>rH9jl&rqY+6xzsoo`r|-ZM4fw z;-l971pP)4rnQ&ZXdOB89UrWUU4XJRJhv%#(TTWuL@(vPv0IgK9D#5xEo?Ql9%4*o zK7-vq!XLgaYol1t?A|wmvrX8Q-^4IS8;sRzcy|QCJiBUHo2|hT20;Q8&SHjAZ}pz1 zfoD>Sj$K55tl4n!5XUt$M$p;f2hQ=w4Ev4RcD?mhb0mGWgECKrndmZ!XfpPA`Ls$X zXA#Yj=ls5&0-)?*0gA3BY+DU%_FDiewvjo1%@pL}(HWt&;}8FGwNv+k+WvUFBLnHT zt>^{sD?#)FXzL#fIJseIFDAl`AdC&YRJGW5gyozO`o6NnUTH8*c9Xi?Zly&+RmBN}P021&&XicBbwq0EjmKMRfM;HtklH=C92Cwl# zT=s5dM3Mh4-Brk~I($1tH&|^cJT+ulQK?u`nM)adQSduSL^!{VDkcoMEC;X~6HX@w z4IZM5*Wve0qi11E+l=ZDbP06T^w@72tI7RySZ>IdUp^wg(1PYf3LO3Z>o&jup(vub zl%7nuY5S52gLt!)#^JGqY5Tzy^#H&hVFQtX7#BcofUTpt*MobcD?U2zY@B zE=?T?r|zukN;0`C$Tk#ERYtCvSqv}7DBHs~i_~0vlZ^==-nM-b=Yo-B$EaNpwqF$sY~G#p00x-XH3dg$ME4C<*)M|JM=FT z-=87aLtb`X??%JG3Vq6gE-bYWD&jF%X6eJrr_YfSgt9h&3cN75J7YS#wA6Ux58M|K z2{Pu0HN)&1h8M;&%qmphADZyWC&`Y{u(M>gOREpR87UU;3P&Xvem22&l*8g%ZJyY} zR;0nvEg9d2n$0bjX?3GF{d$*12sa=qLAA|6Y(MZ_{82gOUv=MlV6pM*WRgsxrq#Xe z68bjl?`!hyeim17i&!W}aLW!q2HIB=>ku-Tu%+u3+U}A&T5wC$J-f%Eo=9Ua+HT6? zD1fXBrNNbSKo2Tb#Ly{-XOWTHZrpVcja>RxFubJ09u7pOe*qw{l!g^v=SYJJMQd&# zA#@f$a3LKi-hXqV0=B<>+Am+A3)PSr}PIt;p7L^Ks{u~i#4DftB%2^xBH z3rctk8-?$e^1Y^jidjaA(7>N>X(VW~dX9nvg&R#m1C-b3LE*>K&Ozb&c><)n!i;B- z=&4P+FzBGFas}q6HDvOkQD|~TQ+hm6-6+`?SW(?Ed>+zW@KuD6D3a-HC+@dZ=MyhO z(REWjNQ&LkP^AINp$~${@Pju`L(xk%XbQ&X=0Q$Wqyz8Xa7~*c0LAX~c~7{eUJ-%# z0KO|B?ku8of4B_$HLUmmLJJ`-Xw-X!J1?~bH8vbz7R#{-Q>3;RzA|2cD5;C_&BI^R z20|Gk!s1W>ASp@`Lm(;Ie}O1zk_r>wQm|k|ivF7C0~ukl``Zb72Fwqyt{Rgt?cnQUi{r6M`6A zeH^e-!Qp-{C{pWknWJC24DvC+I_LO-%0FvgXDl?)zzbqb0n!M~ANK@O>yEcy6IXTy zCk#~jvVvO{!%)G;W?o;b1fY>c#ADe70562hSFAl|(ple0BdP(WL_m=7&o6~y6Ch|@ zYfN%CB_=Onz&4^k2)NtBFG((a|7DtP>C1FRTQtyUGy@gfQh4L^W${(uYss4>;uu?e zvqWcAKP7k11Xp3Dpmi5ez%8aQU#=tYjwX-__ICd7%j#w97bVioFUm8{_CS#JCI>kD z@A;R%Ss{JnMH@ug5=0yRa!Zo)k;aSO{d+@^x*K~E!f1`(grv+{KuKybO?nlKXg@^+ zQiI0HClrlr6j72!3`nRGbg}`Ib~`+%Nl%1=xTuBBIigju_SB%%YVrz5>2+N`TFHxD!2(;j zD2&WrEXQMGdEQbdn-rC;8%mkHy%sj9n=wG;wvI?P1J+3r8_zk^%uAs3pwPlGADzii zK=lb#-}UTZ5*Ws$60TJ*2!sk$DZpwbJ6)6Qs=g{`+IS2Z#1u?nm0swP{pQw*2g_@P z1e2prxv33iuaKnCQ{hCxb?VjYv7t4;{y>O{WPKFba-NegychY2bq$jslJtVMXju#N zS#c2%wduy!x_X#b!mXdcQb;jX0|LAjEMD_C-ph>VI5>*Nho>F$^g+g^(#8$h52Qt0 zH$2D}>@A4dv{CJXn~AWO*fNT~H*_62$1UV#kdPHZL6nTpY=8l5Q)e}?hc@sQ$e*RU zQc!W~S7BBe>WFqn7#*1v|ExXPQ)*tPb^d;OS4`C^^ zV6*gQ?1(08U=Hc~kq-nqdr|=cltisNY^*dXBWZNSP|VkU@*1k<05Nd$qk9r4xe1$9 zx@bu|Zk`)0j0o*{_~#3m=ysQ+V0vB+81;CP3OPbLXp-2^(v}#oW+v;f(Ws+hR9|pNrIqp8rQH!wrTOmxbr>C+r|r_9*w=D$;^oz*3Nr zZx(FcY#+48`IaZ~fWZgV5mF$UFD7aMJ zuj%$*{heAGuIT}Ip{D8XA6TF2ze)mQ633b06VN}!dH%dOxAk zt-<(}oiwTc{$XhJOwt@~M9}@1vX7*G-BgJxxd=m9z^?vJT4thjite5ewC6sJJGwoP zpQ*;u!d(-0aNf-J4CI5mbT1oBncx>X;4*Yd%m~2^qG(UuIPCZYbciH&ehBY%9_U6#YU0VGo|HUd`&8jRCC zl%%LebHS2(x%se}4Z1DIepqqvKJ}jvNBjvG&l^khU_2|ARp{iV-Z|)MoFDae{HA$j z=@nxvMiJkpVzb958hU8pG?4gatnP3si*5C~z0Q7k5+L3_gtV}HKt66YcU-FhSD-_} z?)>(Tg?|6MeeRjx<#(;QU#vs(yLapruILu(ei*^~LRq`47NHOO5A7iSw19rWWqlNX1P`|_}A z;n%zD;d-O}0pO0#Cb_h2LUX~%kZ2Hyf^Fwbr=mOJI$XuoI=HMM(WD&r(SSd%{7#=1 zjQ@9D{;GZ;k%r4J<*70!;3V#}sbD>PRz$`T0{^LKUPYHQN_rP!U=?erQ{I63(oW=b zVn6)<0A@g$zW`EDYU_!j^H%wat#Z0mY??mRM{NeC$v)7#+e@^%UP_01+3E~-FIBHf za;fTkk$UnvP0I3!R+t{OQRXXvTlEqfpgpk!ECsSm%oPpHWVz#9WuL{NWSDm>_yj{R zosf$TzO6&A8ZE<^gyyFbaFt@D4D%so46goFQQfuJ&jIz2Y=p!kr|LcWL;8^=N+f}=Fz6%wD?yM?h?Pp z^d0q$yN|50C~vXBR^7fz$pYP4)RnYXc4dvqI>(pyJN8rXLrZaDoEYozG3R5qM&{YxPV>R&gmd{x-0T1B!leLs4Ye zJecs11vFsZluAfEgW`U<9M@{52bZt%LFnGu3TwkR5gQ)Lm@^!k+%#;cRL*V4Oc;w* zwxd;dRFeE~jmp_k;l^|6gQD;@dTU=XN|dJzpV`V``kUB6%sfM9rnmWRlOo8;Z66(K z;b9mT{TbXl;{#);%*=r! zJxp7MP$kBh6e(2j4_BTR$>vYT|0U~6vg_8B*jBOvAFj3>vix2_hh#+BsX{Sq_FO4oG5BiYXZ+R4>g)VEiQ!$>;HaP>8@=XtKDB&A zI=w6quu4;Dy%G9m4ufv7x2Nc@5_=<&-uDsxA#Xf|QRv2sAvQiTn-i~-t-*}#DwW*q z1kyS$Sr*@f>1`37V2~QbUJW2(c*09<0`ITOlK{C7Q4 zFW{#OG$?L&yqH9Mx9X=#QzdX@|RQdJeQ=0p&<&(cL-`oTfHeo7n z@KeS9i&MpRh`O;CZ*F`}re+~3k!}j# zJ|Lq8gdR{ujCeE25_Nm*x_GtX9i3cUUQHv1-}+>nl}4o8KW>&J%x;^NLiKfKZaVZ{ ztDj}+;<;0Bp0~0ShM&6kE0oR|g$y7}c=Vad_$*30GK&7!&seXJZlTmY87$OQQ%pj+ zONC8)Wp?H(OB~9t{4l5tP!1*OkWqhy(d=Vsg%|Ae|g_x(PzUHeo#Heqe|fa!@p7lTl7;S z!9O=WqHVN_-(R9yp0X-8gBQ5MX`Z;ljyym(i)E+F+eK+@!XKqSP9E2{4ir)|7S{%T zzaYlulDJnr_pFOS{6Yriw+`6AjM`oNkTO9f?-iMj@Sm!5ka+_g?RDM2VuLgcqpc2Ei`b`@ESJ*(!qVh;`7DizQ;8f!Lsp2>z88jC!2gnmIZ zs`;EKsK=Pp4u3o-LPVS2e|zc+mP$`wl(e!!yt%xS#9&bUEzSGX!EqK$HDyU$MS7JE z&NXqqBPc>SE4%y41a0sUvxH=%&o|4rgYwpli~v@!eUi}Iu*3rB8q6+uN;=8|;%-;+@qQTP)$5S#Loik~h z6Ri}+LNmTX=|vM>ynGqXt5>=@XI+Nvadk>_4p+Hs0rl~R@ca9 zoh>1tZ@o>wmh=B~juftto&Tc)w!h-+E?KK7DgZ?5*)mQL;ppK0VQ+O$$#9VtQyHm4 zP%PU)lwOFZP&js^DGW=OV;hG-u|yXKoH!Fh)gqm;l`EHoxF%T&d>v7Eibm)Aayi7f z_eKccwYI-R>7rjH4G@i9J3<++1`AG_gaKi z8s4UEkDl7jon=RaZx!^zJrYW(%TQ6G5Eu`_yM}J1q*c;r?$^tXLSwI&Lx2M-DFjgd zO$Gt}-|EF6zyUnRVGxwoElt89L^*de2vC~qVi4eBC3%`bP^2TXsEOANW=y64bYlQc z#m50DNHFY&(n$j6$%ifAlN|-&pGOAbu}U|^WDk7+2kM~@@Z_G6)3@ZjTO8Om=>w(B zFXg);bH7j_`Qw>0hM0d=iNbh3`OpV&uh~x28-nvI`2&2!e(?wJf}0 zc%OMMHu$B(AIRnv_{o>O#VmQ?*nec76M=x;v0ns&B8l(|2Z8YVdi##-UPU0_nl`Tt z!OxN62@*Qv7k_|jThF{-lw=YF{(x7(mp{OZv#P!9?c@&>`VA$20Ht;T9~h(kq7U%d zX3_^xs>vQe;puOFF^BZJ*aPe&<*jdihL}B&rNbWJBrtN8n=>zOOCFuj~J0I{b9F*e5lUm6N@zwI^*~9nxXq94s$^3!5oA?7L)t&qS zcFlV62e6o^Kg@G+N%{b{>W;6sM#1ANB%Ngu#3&GzyKP?kYV@gjHl z176`?{(x6R^9O!QNgm+pH!ku3m)1ib;Iex($hd}$i#)(TuLEY*?d5>LC?xVP?f}a* zxdYxLnLB`zR-H3zJ*gb#Fa@f4nmkZ!r6uwJO08bx0ak0j*aNKilJo&K;jxlINk(MP z`DIbYOdsH*v;!E@U@Q3pA5D_2#E<_&AmE6(_ye42#>F4Vx$Wi;a47YQKfp<7U;F{~ zmVOZkJRRQrfzr86N&Wzeb0&eHK<@bv2nw~bO&~zw!%C(|S=)F6O69dcgoyM_Ai#lJ zimY_y{JaE$UX7#?{^-?N1tbvkjL9Z}pjTVXkU`KBS0jU4yp<*ByYl~yGR0WVz_g#b11Ax2gjq(xo|0d^gG zCxrl|Srd9fsqKqHfCIJ}eIl=}H8}(*jpKsYn9ue>A;2D{9}dEg4wk)n2pL-KkNZEd{6cOt0>6>DAb!gz?!|u z131u=JHWmg$sJ%%trvFy2THlP1FZd>+yOpoN$vpOV_)0>R>Hiv1FXVG9Er7Gl03jW z*H7|5k!F{f1Kcntao`lVQZ;5?yu5)zv#jI|aO0b_f&4Hzv;kfmNgLoU_|OKp>AhG3 zr#wS@V6_x88N4GtqyZjC(f~iSk~DyV>|{(D;HiLf?A(Btj*64GEBB6|h(xo;WTPvPQhayaNH5kfN z*M5qZHj7YkR@i1IJh>7LB@R*>=UZn$uK>9pdL78K|A9D+J9j6~04oN9o{&?Ao)k@T zJ7=(0N(pzbjDQx;U`!g80(#d>^pL`fl7JD1)8Qf@y`Ws=2BRuRR18P`ty2bEEh^w->a)DXnu&QH^wKTgl~)5-IkR^b>p%t^@CWQpinHkAl2$vEgzc9Eck?yf1-;t_@~zzz8vp`JRsxhmVRc~{DMk-r6;1vrEm!A8>@Ju|lzQSx`( zC8)tTNnd{FRb2c12JhUIl>ib;CG}s}IP%qY+K#WTq;#^~6(vSki2e$OXWa>;)JOG^ z&TSU0sH)DD%*;5GNwqPN{@estEM3~9#COisGZyE0bbcq{VthgjLu_>DKq)?6VF*JZ zs_g!wP&YG$2Ddt-Oz4$%>KJCfzOgo%h;Sz11jlSm{JIlHtss1@Cww;LVJbC>z>b9 zI)Wf6^gVeg5z?Bo(MYw$x1A(#mjhzl?L^~{KbGXo+w;H^8U>Fa6-m=3Gmca>qdNCEbKnQj?~on`O45Je2mWaO+@B7@L04b$ApVwv znmz-nRi`(LU@VqSP|Cw^h?C;o*bpgd(GieON{$Wpe3<;}4b@3Zy-56kCGlY%y`&`O zoVtp4Orn>Upus>LKGIQYtS*Tj)-Rh5ITQyshe(+}lmxYq9Wyedx6CMjeS<2y>W$S9 zO#2?q44z!Dx&xRPU*9?)uW9CbjqV5`tzCw4t)D|Pf$lTk-#F(GEyU$2{IlF-*uv^-gINPScXIL=%58;(hiP_&%Ec_0qJuy3ua!!0x-fO&rUAOq z-}?%vrBGb{dC{#$tkRcxIF!AuxBos}+zvRdJEp%p{q*9=Wiu(Uu+k71i>Yr2wQOF$ zs@b?!Xyfh0Cd=DHW4~DW5FMAGAU|}mYSha`h#hyN!eRF7DPtq})DLbfB(i(zT$Z8D zeg4wqn3^YF4V{%4Y57$KN0N0|nxlEU?kQJ}Sz*w5=u>Bq_1VmN96PQzTK%1ksu-M_ z%7s?bD@;=t8By;PIVg9>3RZ&MA6NdM2y0GK$PJPunq zPNhQWs;KK4djI*ABXvQ28?wTJ8%VN9kW$rd3_K^mjk~RbanEABm>4%4I`)kh!=>Xu+*29chAF3r z4KKt!g(Vr{p7fkC!ac)Kc_Q319P@ z@QlQ2?&uQZo?#$9G42`0VPsh+GNQhoC&Ahm;+`U67~-A@?Gm1tA{oCB_vEfJAy+rA zA#QYqenZ@obG#95cRC~7QuhPVeqw=cv!w#BZ9anp(IVBBL{kFcHrBx$k)xyLrjsZfMqKcn1Z zf63OYoQvDIQSSM8SF9?3%t#u@dE`*~vkQOVh-zc}+Fz!h(?*h5uV{v2L zbDJMZjC*eLkce@kbVJ-Yw;hNZ4hH=|+^~Cy8{(dtFbr`|f*T2OPiY&z5cgb$u?bhw zb>TqVb0vK15X@Z0xfl$b4A~~cjZ4Q3aZj;;UWj`_RP2JdCv}bz;{Gj34~-D_Y;5Qk z;)df`y&-PxS`y-(?MwDs#JDH5Qa&;6shG}-anH*9CxhH5%>#1dJFyxlx)2=02r_xu>!Z4Rg=>bwu(|xZSo`jstSTrEMON8~eq1gWQvHO$l;O zWosDZhW}f;KyIIFkb5fc#US@b3uddT-CvY@GKn}*?#U0Qgt@1fXfMo-svS4XJ-cyl z;@s%42j-sL+L{S-Pv*2=F!v+?moPW#Zy%U@G6V2}xhE3{FPIyZcu;Ow+3kaJPky9+ zqTJdVUqCmF0}s-DN?fldGb=Bs8@_@E=|*85s9PT>FVc<8@BzAKWCBCeW`C_4={^St zb18@<;GuCpST=P?%owbDO1FlY_;pn*`ySrRP>NATemQ z-Xw-ZA3l^GfeSBSxR|(g!ThT_+E0?xV%!*zAif|_5`g9&fCI$5;C00kktkZw!}n@r zXp$%MTN#u)FDEO^BqT<-lrm6dFtRd9V4GLCim|!G+g4aVu#?LYrWj3^dP!hDAC%2G z^SAYyLUi*0$(5YbVbVp6o7nOa?k4?2->&pj9P`zLq`8C_`c9-L8cOm&ujb}2u2jaB z-DnnBG);6#QBYh^G&KIr^(;ngfrX$+nV;-gaJOtO)kmb`yGp7s%n#Gl2g#Wx*BS5XQ< zp37V-eMPU%$g*8QJRGpeJj3VVpXpNb`}FK{gB9N_N0-S6i&82kA6@k<)3|(Dk(D^q zW@Zfd>Vt28pP`q%m$EIC3M?9TJa@kRkGWDOA7PQtj^CnpNHtxq@j3M6^g`>a8m8s0 z4fo;n*xM(G4sS*83Ov$7?B zZ5iY9rfw}`d`wxPY&)@NP9Fm6kMkf7@Z#?>HUm>s4gZNBythZyA+b44LC`iMv#(k&2Cs{?hDu=l;`0*43H%|Ili3YAh>p zvfHZ(e{|rrLiB7TTe!N<@+P%Z=M?;>wo~p%QuLP$E$hjzS<gl!9ycH z2k2huWk$vdpAVc>`Up^;S)&Yyo$W(0MgGAC4U6JMVr99CsjtUgPTz59TnuHtqlRkN ztu)-otX)s$@8!vlb7%NAUI_XrKMl}ES+;z z9=@&8+?JkTuw=)sB9n+qG#OS0T<-?AbehXh7upb#EJK5?oKm?))9h(2uesWZNYl8} z``st^qXK~|wbrAp7WKMbGc#^PBhhN_QyG>QUvo_fdXspwgxO%h$5xr^z-&4OyyMYowduJK{AzaJBpE$8JY*xX90lD;b!twA*~xE0 zvu|;mWG=}OvQyKK7fUGO_+pjaEMba<-pyGS%xK*VR#1LXuelSPW$=1S&12Z(D`l07 zd)TfP0EUk=N=#{>@*&KR%$C>(X1RL?wnT)wo6k!>=v%zSUJLiX~6t#x-^ShU>FC1{sccZN<_B)}kaF zSJlnDXM`^uu-u9!Pa^i;x?K?v7BdethP|3c^%fO)(9O>WWKEGjD9d{cAKd=n#QZ%v zNkan9LF1j`p>!RD6~zJG__X}nFb>za?VI#2T$?i1A=)uMN2nT;SC1Sq?x*MT#1C< z*W2$~%B*tOjeO4G0ZZYZjOvo7}?+5m{Z? zY%O@o*X>qD-;9{yb^N=^OChe|)ltICf8X`?-KT7Z@o+oK(d_122!_#iw+aEnBbdqe zl|S>J?l_N<#m_tcw|7mH6u>LNyql-+=Q#i{?Ws7d!yDIT{Hx|7RFf9ovpg@kYtLy; zU`m&qk$mpwyxojjFWSF*(vrNLS|z1&y`9p&Vs7naA8|;vuayL^@v_Z4IbPefmc>!% z-4bRHH13m^wlY&EPwh>7^31J6-dILiP3KlS)9Ks~6D>YsKdR@OQNyb=+sDcL0>_{!yAMk+^seOn@$y5>n#{0^*f}7p2Zp=g1*K_b3b;Pq)l=Lz^BPkZf-#MSzcbZ{YAQS|@|UqF8ojG)>xK z2S58vrgHV|mj2sfV`DNSH&6Y0`Yh~uXBx)mZP#l=TJ)hHD#6{`P`h;4QVBWlD{C_DGpdDvX|{2Vq5op6RI{zoX>W z#ZTk>^JHv>b;|URQu_5flum8@vjxCiivG{Z5}lf?n&N5<7y8Fjl&>=mIHsf-8@g{H z+#6%v`y@D|dWb&OOm0(KveJ&4F3lWsym{l)dM1x}CpqJ!dTcqDZ07iL6Q(?p@&6jL zw7t9FjL-yuKykoT5^H;^8Tce6aU?$)b$VsRT*7EV9jcVM zE}=@i7(=xsCrDB609K&Qml1csy(o$LY^eFOJv^J1#}ci;9ez~JKmgPrfReC_WaR^) z+1v9wp^M)GvNkRvn%AeRX*w{O-S%n80A#ZVlVc11%Y02v+>-;{&o|e58~W!Ul=P^H z;Q{{J-xLq#0m#Abs&gBgH<&;xHB@G{=6e&b*DP;P|6jt^^3_ zHgD%F@r}_U0v2bSCene9{mrBJXW>UTN>Yz~`p%OjJi0lBCGT>Pg*IhG_*=(5Sw@2R zF!P^Faw*BBhn9vNCM5Zk@pG?}x zed}35z$_=CK_;g7)85)hB9@kwk3jFB^UCKV`!$Nhz$GU5qXSaVVjQKJmWRakC=$ni zzOu`o4}|TZs(jDFN)3iX`NgnQQY^>OmmsN*-+aZh1odN-h8!iovx1K|oss-xuj`J2 zPMQ4#=dvrX&b#r9ooC2iM*`zfwBK?{xmO>iPxJQ6pEA*Xw`HkK?qzK2w+S6ZnYIOV z43^cvNPCy~sbBTgQjH=;xjyN9pzDK=pR!vt%gOIjxnw=(-GeOfot9(~8j+jKw@|h@ z7&GXGWgGUGqvxB6yjJs3mLuddA|FLCOw;vM5p%ZTcA|!LJELeRIA)E!o03vE{zavP z(u1nJmWu&}YLPMFDkU2+q$uu*fAi|6sq;w>VRBN0YDism8`Znk0APy4f44BFp_VBJlqg0o z3(K2JMCE*`M7=1=09jvW-D#f6sm6zR_N{kBS_ z8amIPikFr%ja8Boc(r^YhXYOaVICVX?V`3B zPaYx*j-^`-AqOJu@!7Q#68@d_f^XsA%kZQ7cVS#C$uV`Vk-cc}>iiar>Y#RI&|FbN z1*Lgs?y~l&RVhiFpRNXp_Ii7CTsQ~&e9uV=B~hdH%-$0RjEL}jc4{T%aVu*@s8gk{ z8hbqFgY~@Aele|~iJlX3@j(q1Pu>b_y2mL5YCjqr5WjKfyibU@Y%LOt@NsMJ4722U z#;#n)2}+=4<^}I^sEUvA)Kf_<83~aFKTp#f(8VyGdF|{8MWZBGyK`cZsVk&VKHByW zkUdG@{C@UxV_ptn9HZ?5x%j4O?sr|$n9IgG66bfZP?xA*D{D}*`1Gv&NIaDY%Qm&R z)OFe`%(?1A%_XiavT8NC=&z+~T8jBGMu{xS!ITB@)X1hwV(zsb$jz^2&nmVJe8{^k zwm9VHw-kj(1zrR%0jZ9<1t;CbIB=(02_+ zk<_SmE{+}9xcl@C&Uw6VHKCk4TJ9jOBmq8^BJr-w+0U=s51cQt{9HxYLdX!r(f0_! zm74NmJFGwQxu|euIDsW~N~(A-r&ieB3Nzn6{EnOokBgcQ2vS&_lBS=wO_i)%n{CC< zC!`E;V$TGE%9Sm-n`TLdBZE4ClKLxmH!(F1W-cg{JF#;fN_}VU0ZO%GwA&{?HM#yd zgAa;7aplnaWs`Snfg+nV$Uqe1&FfU$K}&Ad7-_^c_SC|bKwV(=jA8oDO(FH#av76n zS#SoVFrf^Sf~hM6J@VphJH^uuo7n@CUhgQW=2ugP5LIi8yjb!7=I-Ktyjf`K#@RL1 zf8=({4l)zY`0R)7oAUX?RpNL=ja2K!*02^w!0~vsSiZrb*!KXwscLZ?y3+BOt>SP} zkiWx;mpKKGm3SGkmL(b9eU?1AY3cCE@vbA=+`H`#ufP6QD>eHiB0Xsq#M=~k0Jd{q z`TP-@e8hwrF36{Fzvn8Nzq^`ewo@mu9j*3P3yzCUh*d4Lt(WmTO7e{xPvj`6BaP%( z;<>&uT3+dnZ%Uj&fmk*Ke5hBx?AgX}LRbd4J2WXPB|tn%stuXD0gGv>^-k=ib-n*o z=Y6l1Jto5(wV208w8gEy>4xHNAogbO>Lo+3j76kMQQ?KeY9ud|cyI{g+1%CywPxjh z=yN$B87HmM%@%49m6oc<>occWzVW&ySz1?lUad07RD)I`UbCMeHtC!gjU6H z*$I_N^C&bSgiYtF8RD!1toGH;)_oC49$R(y5E|`Obthrs+WTqqX=~5!Ahnl=&17QF z(lVb-uqlQ&fwL!vob$B+tLANnm3n7CUj=<-SM+TqoBbS$0h>C~VfM!zLA2(sPSk`B zW65GizDy+D$Iz9gMq~)oqK3g^#qJz&kJW(@mh`!HUF3Z@vP(a!_`aCgHw0GsJ$@lz zLG8^80jngJe&Ah{Rr@&fahv}~z-qUMZ!uO~Mbzp{D2?g}AQIJ35PPm0;iwD=9<&B! zp)_G%>2;aQ(|u%}hF+u4ETS{2AY_b*9P`ZOvD@FY&_l#Yiiv6UI~4i3*mw z?vW?%awYSJw3Klx%I0KPbupr{%meHm{8c%@oyJSNSBPYYOSvf|9yju3L<1Y{l2tlo z68ZIkUCnL4^_AD-+XN*MD!f;d>4QPBZygw-oOPZpQB~yQ@+tSLjLIjg$rbUn>qg_+ zV+t(yiS04@5IoiSpKQ7+}vriP8uDbtF-D`%l;CT;ZhY7(&)JC3NEp%6nIzE?Qqp$`94;>U1F z8)?Fal4xHHb@;gyqV&}wO`aY+JRC+2hhgF1%Jk1}HdNEBp`J5yqtVS5&aRY}g~Y*Y zPi4ia7kR`Qa-K@1OiPdFZ_QZGi8$Hwtq?Wg z+`(t($@1s{L)80wS-?BN7AyX#9q#owMy zHfzysADEKPwly>C{_zYZ?2>29p^UeyMEEPoCimMh2N0Vf?5Z>h@PRe8eQ3$d^|@_i z-$RM-zIW(c@i-&bgj8El1JIoQoIJ#f{cXB4>iay&7Il~)Jex-OYF8Qpe>hI=g*H5o zKZd)tu`_~En>+ScCFcO8zcAObHZw|@d*3YOoSVqn?56N^{aJbvjqTG+7Cj4S^#rZ) zT|Ge;e_zRJ*X&b&oJocGTNi5tbwW$kzO9_B?@1^prge!d{CGc8FQEg@AU&aCACN5n zKKt}Kg%9_rd6Tk|)R_d53{^i_(-O9x;bz5jiD4N9%?& zi-gNV#vS228an_=?=5W6CdQlNg@?}CA|HhMx2LcXo z_X+t1-YZfW6(!{ZSVR>Ein0aBcjy+8=!`LUtDkm9oM@#&yU@j3DbIkN*Y}y+UiikM zBtlJvrE!q*HcVb@o)zE-M{vxa7fqrA@>2cQTq{Xhe)lx7vL!6cxt6$lCda{#Rus<~ zd9}1o3BJh?(5WW$G$HsFPo@Im2DRi3e!MR5l3*ZTtHkmKG>vvwtNHVyd5*3>x1@No zFfN`UUQ}8dxw5xv5gA%WRyi9{9fjS5%Y5{^*0{0vrP8?wipy1xo36!4`vu$NMzcFa zdTj8(&eV{Q?V??D-;%vQLe_Vr8|%--8xHNq?F-^$-zKs(M3%Pxd<3Pr0N+BrA>%YF z1ao0zKVcSldorP++~+QOW^hU6Un^VnZozETxP%aYbb#1c6!jueU>XNim0MrJW-w#B zI43B_5fcr2w-x1{HA=tW+t*8UE0=(IRyL=ay7jCQiY!bGD8`&uKlL{b13n-{7pkFy059}aa;9WLB1@Ns&5+Qi46DV%0ydaOf_wSy zY5EPn2V16heO5+x41S6k<73BIOn#BJ8A?iOekhiREf!*|xn-1_ucY?Ab+PU?I4>%{ z!=dO#&jN(^4RONDDhaH(xGRA=4&>b_I$RG(-a}hV?-50I$9g>y<0DUu!5ED0>|Zm6)-&`65zAWgxgEi}{(pnk;75xhq9lsjI6FH6RN6 z>^9}OIYF*%lR)hU!1W?|rCwd7bZmjlplMd-xwLLmSD@BhxP?jl#&%G)35EoGA- zA{EE17gRsoO31Bol>gL3k5o{Lwk&pK8x&vg*pfOCFFsovp!eCtc8RgrKL3nqWCK#Q%HRBvy&`~t|tNUf)8uh3ktRMCcJG! zzLP4d3COL`@4Ro9ZydI<8(S|N()+8Z$Q}j?nQ*7U3vAHAhh8m?2LXua%}SZjd`77; zN}N%X-b_%L=nyjcN_?|-D>ddeIrn<4Q9u8_h zWCn-DM;k4rL(X~$Idxj45*AS>T5OF%Mmwbk%i*Tn4e1fwnR$(`r|#a&Fbck&C`QX{ zDL@wFVv}qMHkWfZJHN&8XpRo`bt5f(S($XPb8b^#nt2j^ncMO>K-U?LCX_IFwX8uW z3De~AzGN3xH}R9lpF^^h#6VK zDC2`zy&7OBu%>6h9_4B0*H5+-FXhI9ajkw*m~seJ6TYBE$j4BU0fi*mnS{?=(v%%g z)d57D?A;?(>8fVJ_vS>NXXs=lyY9XIeAY(Jh*SkZzn3C!$Vbqa8s`u;0F(TCGpv~e z#m-M>L#TR|Ena!FnhdA4%xoIdNqw^Z94^h1ap;pdKsRS1+0aj=TXpis{JHVh zkHuQu{N3W-R6;A$`^eYEiq&LYU>ukwfqGtYP~py?m0(~0*64XHOYAk%=gyBbm0r9M zslp#))eOq?$0~$Kmyz(#7;2n17dERF+U*YkNf;T#tgT# zL|RcXqgvpsFnu)TqdNaDP1I#}3!JeojZ~Z<-_d93bOmmvZ$!Rj(pg4WD%MXG@YA^j z4C8;rolC1NxsiqE1@#}!#8B1XDm^k45nv46&~9ijnD(8udtfexqPgWk+2FtL9c!&n zYTGq8XQVv&(9Tp!%J>v(EtB78(b5Hdpp3#|{%N9I4GRJ>oC`bQ^iXi4(CrtNhwK}N z?8GR_mnFLEH4S<6`*K)J=~rb|;Rvjy!#k6vSve!kyOW{&i}GdpqdXbFt84CcEY5Xd z0e0SzELq1=L=3I5$F>C}Z7CGvU}Ug9pl%`GG4YC4HLVg1#EduH9!pCw=R;Hs?TSL* zr2=}_d?<=e=L@`TIlE3pp-4>{^9@>|c#b4+a>M<6Q!R?a3`}~4%sjS~Ms8RL4i5^P z3=CJe7g>RiX_9uRoFbmbbYg*g zC2feigExLj|J%ym&Tl?N_%l&xfXe1_{L-~yDZpGUWB$kMrN*I%8zKl?w~I=2snj#5 zubv_J#uLM<`BjVkgr$o-pC_znYX0C;n;9FJ#e6R{Jh+z)`q~_^{N=hI_wJEwx17af zPny^b8Gk$hnzy$_L+N5lET7zux&XKYGVT|b9~cHtT#Sl<)weKdmbY468dTq3uehNH z5ee(7c10-)>Qv0}yA*OxGoEs;*1;rDxZf)juVy`}bk+TC z!Y5d>O6xMoXlLo>p|vY>DYL7f7gDF{8cMV3P<;X+0RKBVm>92dVFl07XRN9~*?H8E z>k1l6h7;9^SFqQ`sc6?EDv%|%rHb z@pd#FZ5u@4T<;GBqECsFlo+Yg!Eh6!CnL#hoL9ZIICQBov}#IA*}KEo^x9ob52xLv zO&6v`C<1TGgq=FZVVdW@L4~yPxvSXw%##5Cla7`yjg_jgZD@w%lzg&FvQmf;fu#|Hd+EY^ayoQ~ujJ7b}5w#)WMk9 z`%nj)$}1@BV5XGI!VboG(!(9h52eCaPa~aBa0eL`J>0=US*zj>7NQIAa;%J6fCsDW z*#ZxCD@n1yLmIN!1`l@YfdD+%MNz^H9*pjj4|vEs(KmR|T@rY(Tl1qD*KBEGSKz^h zvagCf$oTLf5412T^k9|d3iM!IAfnKNHD%Wod$6X{fjw*=MX(3!vg$h6gPC+Fi#=Ec ziHbd>yW~9CgW>&rhYvQC*<0|zKtjbHjM;=@4>skdR_uWuK|&9P^ij={O_tXM9*id0 z0uOdE$DZK9E>)|@gH=)_$b&J0BJz+kBs<9ir&mQDIGrl;@b=^CzAc5ciaZzw3B{^y zRq70e+odGBLJzj&8VdAa<;4c{U?zn-p$9{cSLnf(U=q-SLF?l{4~7Lzg&xwE=-TMP zZh?qG4|XeO2k0RkZ8mv$`*rn;ouonFA&t6xlLtd;N|6V?z6W_Q@V6ol4(Z_{58jmX zQslw$aU<~HOzRVP@Lr)Jby|+OEy;rqIZ#j&@htTMI}>vr_TX4`QS2dw`D3#O&lM;KdPoQ+lW`ZI1Kb7<=8(2RaWaRrJlV*>vEr?egHHj4LJm&m z^dJYHVh}(MKE8`h9Gv#O4{>Ym}7(y9E91PUGh=W0D;vf!hKlo`1*GU|_$$1jp zh_~J2GDcnGdjRQA0R#X*k@S!&vxWS=GaqtEo%DMt?@F744-tboC&%32FHL`ev zQQS_vLGvr|1`G95#TzUnWeDCN>qzki!;JTc+M0_gfH$y<18lIJwe$=V!#8iR5RwLO zu+V9XH(2TQ86Q+H+~BnPd~k!~d$w?cHwhO4H@w}4&-(>vcH#zyeoXNOr;w+pfQF=p zH+Y4=!5bXWmEsNF1t*F(WD~F*{`MyLj5BA|PTcTTtuK4}Capx_1~XxM5Cn6jrUEw@ zb!Z;kV6dY*cILl<8;l}14{qRyQ@p_-FE89+P?LXXgE3i7w82b6IB3ILjgQIHCI*^J zMQqw&h-4RTFytpaxWN!LDBNJCh-v6y{Bczp+~6GTe#?n{tJBZ3hBe_h z@vw$mD5Inhhrr<*YhaM~XIO*I^UtgyE&XO$zM&zye8%vgTydM51w-UTG2m!Y(yD~9 zs6~@V5sO-HIiX?MvA#Do(slIEsgVtmlJf|xV;F}RDa4<=_T}nneZK@3&p!Dvw5b_o zS(aDR!g6Iq<>i^Iy#-KR%epO$26uNSSa5d;?(R--cM0z9F2P*`!QI_0Sa5fDc#G`4 z&)(<0^WXp0d#_g2nxFM(S+!=3+4Jk}Brv()MdwOeQQ_eEe1y7B-*^?qy=QN*$x!o- z6UeKPwt0TEYBzjQz)>*!c+iJjM@xW1=uT+Ja00w*D-CXYkQu8z)tCP3U_KF?x7=!% zd0Xdm=Z+Z0iB{nOP^YcXY-MHOF}c!4;m2tPBt1yVjp)4DiJ}`&n;g(H!0FTwys!v( ztfI-EI>dO;(G`8M%O2gs@a@i*u7s{YC%-5qoi6LFS$YYd^ z!cQ_0587u(ue*msc;^4SASbYILwtnHzro-4ci(|{Tu&3UjZX0FV7-Hkuayx9p!Zzx z|0>7ap1UA`6&n0CAhCq&^#qv&^e*J2DtA!5kv78XV~Xj=)12vD{Ee_g->+bWQXufP zb(d%ci4LG7&Nntm2VKilMELczllL-@F0l=^lZF$O@sw$P6EtYHcJAe$ZW;B+=SO1AM9Ig7biI z5}^ewY@uC4DtcK8MAKvEp}1F%#kx<1Z)W3DPUAz|gizYxvu1=M23CtE*s28v|I$ft zcU#AQkc)0ajR(64k;H_Y^`|a^aqA^(TNA{$8^VJrCbGtZ-bP}pg$#2A`&^&y+FMaD zf1d`wpN@JVru}pTTREWME=3d_V@+anD=4MXYnUA7+8Za2#Rr~@h!rAAVIXivSBP=zB``t>VMw%|)|54RE&Lv;C8U8*QeWb@M~+c&$+Bb6woY|#~S zNpPN9Maq2vv^PI|JG@FuQ=Yr!=tO^{x&lm!FKIyRmj6X$I0I_mnaQFf^d{xs7WtS1iP1X4na z`v-}{Yo#f~Q!k41=scOai$hc_D89y8fRO2lggI=I3W& zG`8!rXC2SYwg({?dAKHGETxp1Pqr70vzhejf{v8uvOy&)a@pTdb+2grua2*P$muVK z=giYXbNaM3MfUw751YJz*itZfty$?S>v7M*V(kHJ+s zd1us&P89Q}l5~`Gw}+DY@CdEVnj|x^MQe4w)UK|X1YgX3jfr;_#PiUuQG%SAls41- z{T#`@`wGU-eRWyv?ptBQfYBatqNfwrPk^143pBW81RDZIB&$>t32Bwc+^7;4hBn1< ze#Idg8{s|dZMr=-cxiM;I0VsEBe!I1jdY~etoE3Qn_pD@%vQ0`?r59Hg^lfG42Nr7 zUx07IXc>!>A#fS>#t7-MA-pSC9>+GuC`KW|l8^!#FO~mkcv73eTvucVByUSW&%Tto zj@)A*=Zt0c9$acxf*;LQc^>`y2(rylspRS~v-!=F1(NgbqVd5mV8sk9U~b|1tEI>x z@~tIN6i@Zpp!%DEYXgO~lQfSbIAHhr8-)+D7I``rj{a4=&PxA7m_YA>paGVrR6cZr=lv~IV48LMmbMo|DbB8#%lw&roMuk_gd29P{oS? zYx=^08D&lA)1?KuvYAk`#fEVUPSIl1Hc`R=Z672@&4fzMT>Vj-INL=Pj`6K2ow0MB z-;#4R9R*ef-FmWVN2dxHK482aUI!?PwGCX{<|!#K2c?9tl)*)3TVZ_JV{-5fJ& zjo&X9?nh{v9Fq{XA=MRJdwwgQv5t+acS|PiQK@fcvRGuEqZ?BF#7fxLeAP?QpkDFp49KcsXb5nV0ib(;Bpn>&Dla(5YYbG~pU}(M` z^)Vf(Bm{->+qNBNAqA#>N^JhNmBy&3&!b95zO_!y8sRsamWS&G)vbHbAVE6!<$Zk6`elt|D)j(g82^uXG^>I2#QVZ2IG`@aQaF&FJJQA7Vbd zEw0eR%BJy1dJ*L|jn@b&#($ZpIlGwF9-G-%-Ipyg-zlo=f@oeXBRA(ORmEosoedAx z4xizC=Zu0oMFW~G~pAf~*>N?|TvauYY-t@ z8J*Gfh9mE>sE;eR06$~1g>O*S<)eDwMT;*T$I+G2-4$0IsL1F#Hu;WODSSbUlc-K*UGz-Oi`)} zgEziDj-}q*T8TMgY$ljmMRuF%2WzA0jhAWdB2C0f@hg@$&uy zm>J;w6IfJ{4G_ZkJ6co`Pzxi|yZm=JBinlge?}`h892Jx8qtZ^*jv$wm{~d++0%(w z>N^?<85!DqF``p?cdE%6m>U^7(n;$(+MBs*($g|BGqAna0Qk@{u`seQyi3}23Puh# zPWFaI4uJj%yE=+0Is$+QSsB>>?5B;jBS7PLF9&E3os^NaiK8hY0|x^KouHr%02tt4 zK0{`lXl2`wL3lP^ zmoQV3Q8Ih(cdVsqn-zSo+be4;3w{b_p2N7Lri zfI^&E^%UtadSMiG(4ulNbL2GZ9}|KMso;nGd6#(~s6z9}bDZPJx9Doc(b%!eU?Wu{ zpsmuC(9PM1(1_BNd|N`ds%Nqqtxm{c>Tu4&Vx&tu#eFYlKY9YyuYSpK-jX}WnEj#v z9u*Yi(_F}+C#;}eyqcmGV5tCpNY07Y6pO`Y&IT}Le-dOZ5tI&__dyaj%1O1wRF#x2 z1*`@yItki`Bq1<+UQ3Hb4$*0vlq3FrARsTLA<=1Jl#?T5Fyo(_@*}}#?pdxZ~v{ldw?dT_&R9r(%+QfTCS-kkO)N*CiKub3vXJLrm$CdE@vKZt3()*B>`iz**;6w`92 z|AHbukgxn3wk9;6#DWPAIT;^zQRrV-Zjrb%`djA{&R0E82zK|+Y*0NU|ste5GO>=l6okeFYA#DAUQ%|qsdmb0K1X6^e z=@9cRV2N0^uY2XW@2V_s#$z?Vl4Wi}2nVGCh0Ei~s^#GUaEjE4@txS!8@~@#9D$j9 zry8wU4-j-}A!TVy&_GoyJ8v@DWtuxHcJP31)@f(kqmk>gU5lG2&&!WA-7VB!lb7y8 zFP;q`$X5G;t)iA?(h|^56>mgCLIbWQvT?8tVvOc!$5-N;bzYtm-x0n<@C?k~4}Di( zV?d~4a-`wI)A5dHmR2a?Yj;RfrOT}}+|E<1l~NL+yFNK+~H2x>%-q z7OT5dFi^YI1Y)WplM?0^2?H+2S#J@|oGIB2131!WSB zIH^|Wmb!}r+KQ9W^LdAMd>!v8o-xLsUOZYvBZjQRwm_@c_l^ymp$W=0FU>A6HcA%N zx<~ti)y)mrmir5AOO>j3yZ4l4RmGo*`Wq}QMucZ=yX1Jk-S^B0WA&@jYK=g4=5amZ zaN^_txWS*^(0e9o)xPEBd1;&E(#&N4IM9D;YeR60VA}SzpCjPHbMx4vtKp2Z2pS_w zk>ChOgBH}Lb0CCEV;(i!4dWt}{oe8+j&dI&H_vYmMBoUyH|6+MzX|~{8FWZ?hz>R& zizff{r6^+X7e{9!7a#EtH{q`bqjKV*t0o*|urP*@OZd##Z=#Va9fun| zjEhM%?^Yysuyc99Jn8#Sd#pKPo*8$$L4v~K*eUf8PJvonUPmq2z2>{CK#Dv;n5jCW z&K$4HyQd8>@1KbDv4J&m)=Vb^Fgh->xb8K`$+cyL?HoudvL=#KTbg^fySGOb! z9FE@+fXbX5dTe`!eK3FCaOLxSBe?509aS*&LKU2KBCtqGZEKh%k;WtIy2$EZeUQOE zLAiB~y<+3X{T8_*f;XyfLwM@4g^DZc^~giS*%jGxQ~^>H63Kgj2VYSqi?fa+!WEuCSt2<89IW*FJtxyk=6i(r2zE`ZNFi+IQTZ%72kJIMerq(4c- zZ-Vo0B!cDNNd$nPypsq9=6{liwzM@1+;3nt3w>=T_5pa4U zGiAXaBm%4AHh(d5gyU8RlJy=ZQiNp8L}j{Ch4N9LEP#(FaATzCgdD6Oo*)8YxOd~q zd5imXP5izLidIFRkps%xl5MCMHs2Sz@XQ#s*}7brHl98;1MIlJK;FOn$5{(jU?onx za=mad`A6WEuJ8UNW7H#l*Z?D5>3iHEITe8z6V>-@ksPOZhC$eZ^r?KPpOI7hbMTau z=aWu~f%DR%!#@Elq{t^tTQ4z99ft?n)2V(~`(*`~PX{niXte1iuzIp7o36UTUZN%# zgE*u7uxHmz0gVDz4xEpa#uP^?6-O~;mLbzp8}%LZD-}HYutExellvuvCN=}DCa1iA zC33(JWIhdcyu0P>@7UWdO52h7DWNk(I}$l65)80!xFX0;t-AzUOHvB*_;1M7?WU2) zL4P{1iwIr*<>{mWossYU9-CcE9)TPZ@L3dUK*TRMjb5TtbI0m$CAq}%cac)4Jg~UF z4o(SnR%Fz<0C|up#q8fz3bW`Z@OREd^N_*fK!uqT%YlRh-ywN(c@(3HO>*|bBg;hg z_I~Lm>f*D6fGQF(FksY=xmTLL1p7-_A8p3}Gl($sXR&vJtvM-qDO4~ixWwFt_n_P~ zTd``3e~I)1xhI4hvtm+8@mQpxZM3w;>FMJ@7w($DqA?xYms7-qlgUTXYT7YiqT7vM?{Hp zO})n!lV?Q9AN{r}p~#2=PFaP;fC@72J}B16^WPxul9Oh~%bTB>+WJFOKKc#&UaFLZ z6O$Ghwg@+MW@Gw%&G~9;*~RSsnhv^W`NWvMC+jnpKPk3+gJJ(Dj<{>XswM7jExLxX zFTP1#paXOMtCB)MWgyFsx_ylZ!G-Pwu;U42;e8F$V5AyDK_rdv2wACR8`-i+joxhJ zWf|3+I!F}(wchUMQss;>DK$2CyXiiPGccnJCV3c6JAhn2Uz*>4ZCT_q0O2OAk$_<1HUR8pL=OWByg*4Q)iyAZfR|++ z*4iQ7&;cLKXT^4B`f{Z)PLBg;4H=Qzgrj3vG#<2Z(QwDsuiL|-qMi3lEaiZw+o(MR zqkBr#UZWV3G_J!Nx_L>~JcpP(VNNjuL5H9i!niIDG;;r_NOj+Bl?pSW)YKmV&uVxQ z3ZuJ$-R>ikwjd@M%PN)Z_Du_z%^zVM$R5d1nXL1$(x1AL4*f^*LNxZBh&+wi%GF`P zEReg5f$!E#+pC13j?u?tu3gSHk7ko^DAu5>C=zSXFg(%fGbKVaUZYo!42DR(+vt+| z7v-RhQ#T`BX%2y+%pX-nPC2XaojO_S?Q^!TGF7u|L`7M?TQW{i_i}^6oU?}=tR~8R zt{k&BtmmBBSzl6}+h964zd1;7yh~h1qGg8*kND z2ip%fJR7S#fkU{()Ko<@nc>ton5Tt9q!(AzMSNo4I;;&F(5UA+ZmZC?JBaG7e%Wwp zA)|pFTl;Bp`xUk`piTJ}L@8c;EB1c2yNJ+$MuoVQfv|J25!t@ZKroVjY~U`HLIlVtkJ7*DbkZp4vf(1~82pu#D*k?#zr4Bh@! zYfu?>#Bm1U)%5mmqq}^ovMbre!qAQlJIkB!e*AgV8keOXS+_@IvSZyJ#Dh6Xr{#tu z2m5Zf&KD1@*^GVMT~`P%w_eA@VP)-t!F=OuH{{j;ACbKL568#|KIWC^s`i^4GHHqv z%j}gNnnK6@(!0zac)J~XNbEQJl@XiP;;5FR$dyTIX1ZuxO8S9-GACy8RsT?HhV`92 zR&su~S8a<{cDb+4jiumrAvk_dg#3#^yi<>VPD9W$GW-Vy!9e?Ovk-M^k`_4Pi0ufY-uokd zsJ1q$PRe}zm^359H4S8bxN#ZX{gN@D={(14YlkWmc`PI(wb&66FY?;DbE?WOF;l>a zQ=>Xw@g_G{O;(Uj^yQs3tTJssB1zyXA)!cmAYjLKN;&6bfN&pV} zawq)T?hWO8yeiYt6FWewGslWS{^aO z69I55F}(a`eyj&zGQpO8z+%`~@ZjWG=ZS(l-ipmM6+(ix_ARuEj^ds(t1Hs>*G44I z2tTl$OlPm4Uy$E51HnUl8BW0B*bH2GY&wA2j?K*O$!vDr7NteclCt-h_lHNE(M<&j z0@66$+o9UHjyUO-YvUu8wi}q9Ga3&>O0w+yQ--U36HBfY511Her|t4Nwlns~ChV8V z6hyY1@-u31PiCyC?bnPuCz@m{lIq2o@R-$#;HjS*%<3HGYI)4R>9a{93JMMuXe@Xf z%Cu_uAD-XLKqqe{wL}|wL}nzBMCbE-yK@mfO(KDSd{mz6v1**q&@%rNjFFFX_7D`e zNSRsQ4R0*&zBe7wA<`i>5sRh~i|>?yW25m>?_85LP27`onr8ns_2WR`knc>kb}R>t zy>DYa2kqFX&a%by>sl~HsTx}|E{Sh5i4^%`k!zf-&vdN`YJY!B?VXDc&eA5y3BjFM z)R_OG5n_WZkaY*R*EtrwreSEq)UlgM7RWb#0|)OdSpHuq9!BU?JUr9u)?a*FAir7T zOT#w#R?VR5VQf>@)>;~%Lpm=9bCNRMWkzN|ru^EJDFjbEMwgLqhR)w_Z!5b5N}5>` zM<+aET$I~!=8W%kgh)^oLajjVyG~fkFHKt|S!s#XKXTAUdh{Ttlxlw&WMf-4it*>0 z09rXXijLz4dP%yEH`xxqkYoZy)`%^g(l`??2tb-X}KyZ*O5t?^D0OpMjX!em@TVH+QfgY`EG%`ICl6j+}G#~YF6tL zWN-%_2W3O`y8W!mDpje=Pn$RG=S{1H`SnR$yWmLHy9AKKmW}>h<7h*6>*Vs}ZUACO zrR3OP#eCD=-DA>D*`Pu3d!1UQaQZODlWsJENF{H}B)+yVT7~3)A{(2L3!zI=+NVw9yWz=5*XxsJ;nAwReg;{?jO? zuVR{BH;bY0sBBTA_048b9o%|%Ib+M@B$zY+&nb3<31g|UiHNs_UcW94Q1XyC z*@U*d*OgW8W-`$K{$Hky9@q1bm~Myf ztr?dE#@PqD#Q<6dfV0u2C{a~owmu?t1P%vctj!G5UJ#?5&?*jD-6FjSWQ68o1oU=J z7+}KmznUzWv#M3xX#Me}$UqgNiQ8cVjMhR;n%;3A1Ra=}2oO1Dur|zufj^HlOI%LG zM%r7!#m0r!(mc4MiP6Es8^UrAglcd1G_#*1d>#-F7haPYWodA1K;xI1XeV+!qqx;q4bLyv5$1eQKyI&ca6W^)s>35!w;L3ed;x&?FLKqMQuw4A|mC>`@d% zPWQ8y;TIIctD?KI^@_o=pE@w3H+juM`0TQnA$aSa4Y>XK#Ons1hnx@3OLj1})1t08*hc;&P&xQ;3jg*)fyqgT%5G0Ts|12>}TjFOSzC|(;9Z>v=6h3u!Dm5`9m)^z>yS<1dAj- zAqgEgCj@yqRyo2bL)!c-CKK=#3tG-T&YqbtV6-qv`7s~A5_1wWi}boV3@#fm1R-ClAdzU>>gWeTe5SBQKx_5)b2mg#klV zon)J#Mh|XDolik@gV;|vkP6pAR8$@S#Sws##IR)Ns>}vfb-2sV z)Xx=Fbr@s{KymF48MpwTQ~*#WFfXt@QmdaY?$7shd4qTE-UPZYN49#1lfCICeRgk6 zkD5k_Z72r!9=RPg9AuSX*ai+i5u6LJj6W<^KJcDDTP}F4kRGu5n#ZH0ArEIJ%AJ-A zF=34FHzyBDw@&UF4hVIf@-`dQzyXd>u?203HNPC9eW-6c0sL>apKhtnl#b&F^ycdx zz9f4bH`pgTQ8|w#j|tC}{AAH(TQDgySn!xxi3I#_ue2R5-kk_zJCgt>A1fPQkwLNt z8Cn^^B8x6dvh*LJr0=0t4$_W*&|s{sWkCC$oyTW6lrHt*UoeuBAyw8(#F{a8a`m!Q z!;!rnZYKtUb-guSukO!ZVQAK5?R|S{)Z07LlEQtwcXmfg!MlidF2T8=0>f5R?k#L9 z0yWy7w~pdxt6tkZ9suJsv3^*^hy3$ma8mUbSA?bGu`uhBbl50p4x2xt17E!LJz*BBEBcw-iGVDO!}#=iK4 zcx3jdaA5mXeZ80CMJII3aj9{AJ)!|^o|ZmrQ5Rq&+}_5rlkHAdn~oDS>y^1-S@`4G z`ly$>o&1jz=HTWkoF2M%1$`RQ@EM6d;83C?;(B^^!3?L=z(14oBH9K6Q#arxfTCoE zm-PL!cp4rhI{h)0V(6G%Z?}obd>GZ8)3p+O-0B|>D1j#%x<=%6kA^-=NpuRwd|ho) z2I156yG{g(xTzGNg}b!O5mx|0K(TB5W-Ln=2ZG<-LL_Kx6F~~@*EqZBHtDGS3Gq5? z;+IoGiw0qFjjWdW<#DGvjH}v&eQUzUaQA7DU)mNI$5wtnfPO`3rE1rot|1|I^$=X^k4x}qF?+^z3S3bWFU$?8dG`e;^*!hWw_h;IZwuwxiR$@@& zwYD!R_ztICi)o$*hpN6896C2=v-;J`HQ0aJE$p&H|6gp$AS~JKE)0lx|D%tV3 z7JX|!#F#$`8l$?_9}Zyy>C!)KM6r8D)P89EW#B*n=QHTs!!tGNMfN=usH9%ChJ=z2 zOREJ^4vEjmwQI}_19+*@lTud~c9gf;2rqk;Drm&D9`G~!^eaA8mz`Z3=skJpv$qto zr3L_j;S&t+9KWOhr1>7{%?IC!r?dp04^WK9hg?v=plKE>bG2vI;*k9Q1DCfCbSzJT zKm)E6`zErL+K~GeeqOisOMyV`v$zeekIE>Nz|YWMxGPLLr02>Kp~1T@njep5EagNX z3D99OPIY+(_fKocb{eZO240=4+ORt$*CDUO9fRw@oL!)368odAMSOdX8Cc6u5Et)R zB1~#hR=z+-5C}$=FjzQSy)?dn4tO`UCc#K{Rq3Md2d?)ALlco(DXSiWj#z(Xa*~WB zA9|%`vA3QnW}7pe=31v_frfT=ang(=KXF$zN4*d=I<3c+UV^Wh72Et~r%5oBtZwGo z9M>>*tp2oDhn;$2(UES>EKa9W7K>6A)d0Y->Z!xtz!+j1&l8`%)riamBV1L)ceYjqSED;HhkZm#g7`! z=00V#qp4*YTs#HuKC7-z?_>q<_%8Nud+6~4Hy6gy zcJ?&PPamE5od|w1s}p;WAB>)FPrNl4yVLdCC76pW#W@cuQNdU%`n6Odfs;XlQQ9(* zbu?!Li$=alna7VxvU2HcSjJjhcm;a5P}IQ#7xUu3QE$=Y)yOv%P5$CcwqUbLjeqvW z9o#YTpP2nWGAjO$b0k>)^>%}qjphAO;lF#m@n@>XpVa<$w#PrHJu}O{R;ws zcr;it=EOSHuF^cz$D-ZSw$&7$4WuJdc|S*u?8)A_w5Mcj#+5;_&?P^$u%sduR!et@ zDsIx+q9MK7d1I7c2rma%noqORh<&OAVVz2ywJaC6ZU~(#H-lbA%|}-SPXB>zvxQ7K z>C}+(SRkdJ?l-$hr5Eo%#7i6MUM8y83g!G)U|a;k*R5wcCzd{$Kf@Gj#q$Hr&3{>C zL>g-cS4#_++o4t4)nfzBO51u8<4E53M))JrbjwWaP_S*nbIVj?GQJiNxp+-wTI+5& z6y%;|HE+IeruMTi+tMBF2Nd;<(NS0-3r<+i0+FSn9BUi&Qm^SsGpX$APpkbbR7RL( z)CB1&KUT`rMp}j$lZG6#ja9^YN{VzHa4UNTW@B~jy;m6>|Une43o z(-eQ$p1lwo?rDu;1Nmo1`mnH(%v&$Trpl}B05)c2yTha!O8eyXdrKO=QQ4=UDBD#r&0o?wRosqo`#B(L1TVx!knQwXX7 zyA@NI zq#JV>bGZ-qVGgJ1>}NcAz>bdFIo3F=zg?*B)qTSj;WeDBCft^%00C5II=u_1&M!tZ z2T~6Z%F%BTCh#wnlG@Y!@?W784fHZte^=p#7w-FaXbvprv;hPhj39m>u@72I@V71_ zX?*kmZfId3YC_qO4}kvu)ztVve>`S&Y`*N@HEI~n#XDlz?3{Dp)8^ z0V52IlndQBW6lwn`Rdu?M+Al@Hz3cZQC0jtrk^3Hvd6y#`sc#K2;vR>1ZXm4JAS{l zKq4SOWJRA6c;>5iN*+-@1Nf+!^g?b*j~~70XE8(Qlr2+Uj=+pp?T|b~uo#fdM*e4t zFm@V9J5)a)1%6ynYC2b8T=W2TXaOKfLYX6(bW}Sv#7zn?;CvtU3XF#wPQAa?3$5Qy zQ!q0zV7rW>4Y7X!HB3Xx{H^rdhtd-R7}7+xnJA`K7`59$>2?-9L0L?o;bhd{}Qj0Qak zNa>)?s7U~^I|eD9#ECii8$SSfSSr2f=aiZ|U~djaLMCbWSzuZo-_ajffCl_kG6qoc zy>hJY`hy{3zMP$80e=Lj7Uuz4ii8ss@e{WgR7-F$1n#qlr2o>p z%m3a#5z7=t1BcG2?l?awiV^R#v)AXD38RN=0_3Eu(=+sjXNMeT>Da5zmr$3S3WNr} zi3tOK&%!F_{2#o9E0RK7_2*iC;FPgj>`@!YG-6Pq@eOAXB2wCNWcwY@=G|n?*%HOE z$7Hjuhh&fbUK>MI*RqLBhu1p_G?TQ6(d6OnLCqobl0UXGb0uN*lf-0neYAyA$Z8hu z1Tm0|Ly<=hokEF5ky#FLO2Q#)18NufLy5$oRA=!|hblEO^`79X9kBsKm z^b+OBUdP(n%jL^u)l*ADbV4)l9_6>Akso^@2l{33hWF)yqlZseeHW=9<=2bMNW)_7G=5Xpwu!x zj0Eo{(#ynRiDgA@HZPI}Ii;hD=2C?;9uAKU6$TERrPCuNxeH@~CeOF8RKk#K; z!IYjp6)6g=(qw&I$}V)k>RP4A`KlVpg*6L^FS2swZh8d7d;YxZE_%nhvtzl~K5S7J zxudLi*n2OR_mm+O0r0IF_cyG;XJ~r9zK!mCl{6OA9eK@bF3X+Zqg^^buNKiJA7z zwl6%-{ITsG_a{GdR(m`?JtrL0eQI;rSzY!th2P+Nk)LYpe=O`Os?kmGAamWr52HTt zWz|6VwR6sVZ}-`1#LMX7lS#NsPFs_AUCULv3+vKH2V9V92H}=dBDsj(HzpHWx3#(! z_npz5t+I|bcXF8LoZZrrBaHN?8Oes-CA6*NtWz$_GjEus9|`}7Vg4f-`2Un)GP3{9 zynWA~`5!RMe`et_(!b9+|Ks%+BO3$TKPQh_X<3;56T{S$jK&>+Yp1Jz%c1+=3|g#p z20@7Vb57%fhorGDu4UGykN_gYJHbRy|AMB@MB$o-F%9@q+(}43{*#(PLS6asK?edG7Z9!UEgZHmBJfI1XQxC=)+%ycJ zv5;*kE9@>9KZ-83BBWNr5cEixch#0QRjzLSM>Zl+dOq;W#Nl2^3NniiI;tP+1=L7J ztuA9M25;~o%spR?CM>x|X+z=o0P8xv(Ud65-f3KqxpKScTvWy6cr$h!e5=i#Kcf3M zv7?K`&8{k8!*MBHAq8fedeJwru1bl|FN+6wT-WawOdP>uVlGYTny2Uk`OJa_BX_Y4 z(x^_d-PMQJ;<2X-P;hq|&H5N+cVa&r$0o;G_hF#`pm=6U7(Lu7 zB=3%nr{#;f6SDisGnP(&y>*c|;*8cLuc-h-u$0Bv{E*XJr2I{tT=>-nV(yU2ZCnXI ze-X{*+NS-Rx8OA!b^bw zQ^L2){ADys#t(~}>PomClZsI-FCUUK%bN>7D!eYhC(#mJS&POc$wg$JS-_(NOCLn1#ab65)1D>D9)MUS z(tCiDcY$oIvqsE@RbC}zkG_^=fsC;ko+eBfs%aANxkgSluIX*!hXV;n)Wil8D{4RZ z0E{`eM7Yhq$jb)Vo+XV97TX2qXU+)N*cA_y1+pYURK(x5f6%{T>wD|&RfcT9M45-6 zhYq6SoWEfnrKcQC>sq)XO>3QiOiCb(pD>(pgv<=H%Lk)lQxGV?W-@79vS8uZ9_Z}i z>X>vZCV(&7xMuoap?dP8f|ua#OfKc(9~=ev)ynchhbd z40qFlGYBDVQ8THfq9kF3fin0fa_DnF&v(t}!O+@{ZvW&87#dn-ibv^16h4N&#mx=z z)^Btj>zJH_AUb-MMEs0uM?9~h7SD-5vPnwOn+66zi}%$E3k-DyFAOYp1D89F^$t~qGzdwn`_|)D?Q6E6q`V+S7!kWttL8--YLnVQAyE10=DrU9?DuavR0y%=|EGs~p(s z7d|k89zkg!R6f>0C^Nc+5Jws7sfH;q z(HA52LW*EPyfs|02#E?AgXKlY_D;bbOUN^VI>bb%3Ig?ckb$w{Bl(4@ndmKq#bII2 ze=jWoC-*Ba0mp3-lKuqteY~?0jf{!Dvneq@V5%23AYL3jHoG0G zdetsZ(x{mv#OZ@`1qBOedhIboV_N*7Kt`HWjj62@H~N}*LYi-%&fV<#uxwf{q<$E8 zV_HZa*3ZP;FCWO`5y%~;OJI95Jm^!ouyT({CB{09`B+SI=#9yvh||n+PK&PpXfukq z6uol1DCFEWQWv*8;C9CdigNa)l&YPr`0!e$u=Hb8dpt#|Zyo&rgOGb{IgNkW(k^?D zSQX(s*3UXXRrA9cT*#gx-ON83iMm_Cawq)$>b7nzq8*FzmjHq~-_XXt!aqRet4SXa z`PyReAl5sul@_n|73U>0i;}zThc)dXZS`_|O zuwc3(VfY>?utTcEgSuccaVbzDQIirJ>rq6Aq?;DH-)=ATNj$rq3 zXUOj&&t%ptt>U3E9dLc)}7%fo`D^;Ml*@*l{|^%yxb@FZIJ~ zwk_9ol`Xm!Zf_&rJ55bY8!N;c{M zi*83a%`2(N)`2;Y&B?)Yx!;6MAAH52$}VVlRyxcIhZP!seqsM{{mZ;}Q8vc~`Po|v z^4aXnZ$>Oxz@G7AA~SN6NUP#CoEnv^l& za78+XVScGvqOFS)i-jFA&W=u+ezc*!1?W!NB8jbx+Rs{M=~#^9>kdA1~^E=h%Q1cmK#S z`+vLQ?tQxU&&-ei{}p%a@0n@;w|OG}^IUmG`hVuiGt&RpTzO`W|4FWVUFwgY)aK|2UvYl!u3RN9wBWVcq0EN|t8wni!7t{MPOh-igTzy+CIPY>*8JOUy!a!!HlwWdz z@)S~GT#XSQph1hlgWxBj_YUdXa-cy)ioalLiGT)vm$_#b`=Fl#KZ7HYvK|PF3Ab2) zxtS}LfQ}u*=&PJ!Nuf_cf*(iJg8CWuGe=P%=jYVoo-d!F4AG2o5oQ3^4vKt%etGgk z`bD{JQ|d|Ba6#j2di;PQyr}^G-;w@00le1EltGP()6fK*N+3D#@o+aXP|E{jw0->g z?UkwtRC}RfIMccn$jKCVCqjK>5OskY>k1B`8hsmqlJMp*JzWL6$cbU=sI(l#pI{-9 z(#>B5U|qde<=0J!X(iq&RccO74OS7O&mPP>NcnhbGc!1)NGbC=Y{WxykwB!# zhe&NX5sRfyOBwGou<$Vzuq9UFYR8=jm(PQv2jC&rAvW7q1+=K$&TTE&+;}Uw%Z0 zN_Ur^tWTD!JMK^w#gBEozOMSTKh=GGFl%$qmE+URw_KhMi@Et^R$)mOsVdo!*agF0 zXY2%{Pqo3w`l5B`gkqhbD~tA%HJM{qb(Op$sWgNyRWGJNjGkw%fO}S(xNA(AD*Mnz zrgC~EMEBDVo{|VjYX97i#N!kgACmg9B4n&)7VY(4ro#)5LO66kUEiQx@~f7rQKa4Y zEtDJ~oa@&R-7+(o2RD0VHQ7TtN~S4tO@6A7iq_#&9y_$tG|GO0VhP-%hN6wabn0cz zC?=iGJuOK7Wg77k!6PprV&>$D#?^^)V9s83qt={6$g);Ej)9`}m>QuMsKOK$+T=A9 zyja*5gjEN~5?X-W=F3a^*;o6iL^?}e;&>V&jh2Bp1*@Q!*6Uj=^GQTuFRrG8x!JT4 z9iCL!POlPn(X{ox_)5mW4g|E=1<1M_gp}dX)+FB)|GG~ z;^eP9rmvQRB!852-w$z|MW_E*-`1gQb6DP5df@37u9oLJ#aWs#Mp*v%m3(h&_teL+*gjBopLRvcX2;Go@mOrA$%{-}KI`ac zf-~U%#oAkj)zu_xpd0t#x(OQG-3hM29fCt}3l4$cu0cbv;O_1gAh=6#cMI-!k?+hm zbLPyCd+t5Y18c4Bu6nDgyLb0qy}PQ34eUrCF$eYTsAk$&SS;XgsB(%USy?;0@B6DM zbXF)f1{W_HsaoChRFb?mFxtFt+7)8dX(Ams0$sC~s5gzm1|SX#3%0P|eOSJ6!e03{ z2$p{x@>8=-+mVX(=t){Y@GVis*_vde+XBaa&^gCN1s|*a)v8}Bf5O4q53Ypg3zTh% zNpTD4)QnQ6Xg-V0GJ%DYGt5^P7HW{HW+forP|oy2p4U-ee7|m;?t|^Y?GbD5hUWTj zOs*}^4{&gaS04X!k_2`Q{vS+E{|k3;R_1@*hYk2>{r80^7VdxFhy5Sj!CSQkqp-NJ zmg=XTSLJf{q&9B!+H=RHm?6kq5VB1mN~DCsNR<1@+A|!>m(-5o6a&)N$EUa2wj7VU z`xqDI6^GgvhEYfLu+EP&j(WeEEku%@=g+&Be_bnsMtmE zhiM7_!vurDGWpERF@*C@_<@+;7C?c&>PP~_lTgA7#WXq2XmGyz{5iJE^qes88v`jX zep2RZ=+X%?-*QSf9V2E6tPiLs#xmusGU!PB6zVvd+WXN1Ts>4kB{7YiU-=rN){qJQh@OBURaqRkPo$*MTb zSxlo;jgIS=Anzdj&_jy+<~ul^kwr^b_=oIU!X8htJ7CH zOfZA-X``;FE`XO2&*;paqBgVb&{`TDhy9tTvGE=YTRvDK+aAjHIBCuY{lu?%LNRVP z0x!F)CE$BjCNgO-WCSF3nvmZ6@#d`Fh#`1pSSZU#-6^wEHpCEJHC5<{cv#HvgaE8q z(=Ze~njhxkA<)hrV`614xkH&E!a?D(5zVv~I6Gi7i6Lmb&H=pI(?AXmYMCHn$gnB< zY830@kgSRI7%W`e7(-Q|87hCuZ!A+y?Z2(wAtD8j*;$_nUkkZsZ#>)K-@%AtcGvEk zoytM#iDY-`T&!`JbUp|oLH1Z;1<*eQNu!M=?!SRwUeDJ;CBcPQauMjD7DJHpATdPo zCnAYO|5!N-l{295aWyP{u>?*ED^MC$s@HB73b{jBQb6d7z|kd$tmi$YfDlJ7lzUWuuo{vNi~E` zBnCO#tO$PWGp!`%zJ?^L?u*u3s8vYr5fgOFWRS{t}i9WwWqFEPB zb1H9d`drSh?ioqS#C9ReAT*qGO;;?WwC#WRVB_44%Ut zy+u8h?kj11NJ6XZFn$M}cK9Ytr`a(o6IX;yC-}&HVG0p8#GVVhuP%@TFaqyk9|_&M zV!COM@KXCS-{LjABi~}*_QtlS*EHrw@zjKQKYakrSLT1DHWk%5$-9~iS;@-{JBkbU zmT$^rnV;e6w-EUefkMq&&4$><-u6nEILV;XRa5%r4Q)l)X!qwQ6j<^@4P)$!Gz)Z^ zCWG|04qEBxEw&oSM8q_lavVDPWZa;E@?M0L{aeRa0?oi_O~W(dQ_hMIwfB+OJXCaD z;w2LvCH+4?x}q1i5Ye?TtT7m&7Xuz9Z9M~n-*#EmodwjZ`t`-aW-wjS+>?G{>x#`M zRm$Aqw1-T4bTR6zXQbJ}s^i99nO2ive~I*`s3s}RKT?(E@u60kAL|E3nM3FK6r ztl_-sx~$RV)HMHEH|g<G$=^nl$o--K0uwg$15Uxu0*smlgC~ zOv(52btg)L?9^PMulf3d?LP7B_gepSJLiLFhuY14y;Y1G-G-hrDm2(sMP#sXPR_fT z96l@B^>q-X+SAE%crWN+gZMK1+_lgP;pd7T=1M@{C*1U9fvuSJqb+0ckG-CP>M6=a z+5+uuZXpI+ISZ$QeiXuEAyRMN(0XiSVBtJ;kM*;NCt^m@lM9V{>snKNkXOBV{A7FX zET4Kz+T@}hQ+0XSFvlLQFSR=1NY1l-<$OV1Z|pyw{hahwCBNcV%(?Hm{81Wu-hSI+`0{y2s{{Lb-)BolL z^j{qnSegILQGtz_ll5PJYvN-3&(7MZI^h)c=sqiO+ix#q4Qw>UuaWS&k9iMb>Q@8# z=iCu1MRyTQ&R5$rXcKIwmnJ9eokmhFldDwKzQ|lAOf8WIN_)hfj?S*6XE>p;Hi;L$ zsnOO;&xpXRLzosqpnQCVaz1J z4LJ6zMerz}2rP7vzFCw-OjC@E7IEqP1>LH#*EI!AliFJd--WM=nI-i%vl4<8z)V^k zDh<5^ZH0NEmy4tlS2Ly+iM{-tfP&&l1HD9U%rk-UUE~*uf|$O{-&k}oz3;LA%6uQm zO7@+A{2dV%W2^-r8kS=!uy|a(Cw_KzCqX%AksJ{1Pq5!LEfgc-m}?RWHZ6^jtKjU+ z3~I9HK+Dl%kjbl39*FgPqxsE1QB=2q0A9KHx2mQ#&54-xKj3^x0t3Dcwo1-nFcIIwk$x>5H$=!5}j87Yjvko>7)P2f?}~$Sq^0>kFTTcLqV9K z#G6vYErT^;?~A0>QE6UJr`4&3|6{Mit2B*?#No`=?-g~XY*>F8x4hF3+g7GZaxL`_ zmC>?)(j!3WnQ@G-VPFGVlN)@*&D);cp`tOeM|uE1-Rmv8bg;?uM=@az zsu%w=6=!b)_bJvuU=^Q=s4uC|qF{Y+ioIszC8YsY{hHRkia_?_qz=F zD}}{@t^a2CW}knfXXC~aN$+eL=hG;g1OQK0oZ`oX;q(cG-xw&WYAd3-ArtPK?f6s3 ztmmTyphT7X{(%`AWd0PJxnZ@6PYwv@=r4eH0VVjeiyj6^rR85)chzVE{uLM{4@SQZ zf92fz4ZwP4YNh@MX>(o*(4qQA(){XQsJIcnh*M$zRLJr+Z@qZyn*gvopSx}MGs?dx z_xfNF>!0f29%5>r{>^B7ql{?Cz6vaxw!x;etfSl@0v_Ad*3{D?;#deXP$3RO4j(u; zu$AP7Ul|cPrfSK_iL0srr{?q#nyIU(pifU7lJv6leVv|C731LW3}N}3oX80I-^evo z(59yWa^`wNfE8f*$Fs4-HS7mxfY&A&zyZYZ{nvBDc&o40YXArgWF~06=T=vMH1?J*HmTXU`YTh2aZSLx(6u*M9 z4{$6&JR>D#y^+T#L;C>H#?ZbcVpdbi>;Ix*ZsGzC0E#dKK#OUBvKJt5vgyX}`}0ZS z&kr<=?T@I?gVCc3;o48F9U!sYdO7#~DxtuZ-OP>rG7zPHa`wzdD0jWjUJwnjHkPm* zx_ysvIN2@(Gu?CDAJ7SfjLV6bS)lay!M!oKK^azgV<=fR+J95ufKrM zbxzFD`dk*GHj=${L-VISznL!K6a$8$%-U0FJb}6bzZtTw?GG<$DMh=5N^$HO9L?6M zN>yPyU$b83I%>aV$h?(G9Pu$7Jif)!7AIjl!*dt>7j4!a?8$#mz_bRU;;D$fs3n4T z%%aznSs&uSMhwvBywUumDs1(A51w005&Z&38-=TqNf*Ew-pNMvKArbQqRqtHnWtG(GdTNM z@a^N#!q(eS1>$xg%li_XelPD^$XofX9kNyQ4*p*-SJgr2pE@o226VR$uZf)Yv67gc zZ*Fx@S021>e<$tazx6F@m#>IWD>;`P6X~MO(29y<(4iJ`5*tL%+8O$oVm&XLx(7OQ z`M|Mgjjis)4n7r8+CVja1!o;eHfj6YXASuMT9-usjluPN=CsKm!U^jGB!|_zo$wMW zonB0oO@m~c{@VP+qr<>n9YkY?FSDoGYNt91w<{jxWc4F6u0)e^B5lE`Rc84F{ zF0rO#ywxh#W-4yXz0f>XlxbU(Pm%+>oKhyEJ-E1&)f0qR&8eZ!_h#P<|C| z=VN(gV$}i((}+%+4wwAZ2H#R?DBZ2ku_^8Gf<-ivPEOv?4(rV%!-m`pWIjY85fU=L zS#YxGLWaWC;aG1rPY*k^Ci~99t&6G+z35CpHDmmbC&E#07wN1ubEAoM48l1DvxVU@ zH`&tCk1(G8xGeS-=#0P;jNGJG+AWvOAw?7L13rz^!+1!aw~~Fw-k8 zxTLgyMf+Sa)%)%2+)`}tKK|E@A1LA>HcnT@rlnRA6E*cn*&^H2RdAtt{5`Er;5AM@ zI;U5fY;GiaqWrAZs61Kjgv8*Ew3tFPb5Tt~(Dw|=FSo`c37odHpMhu!j}I~lF3ThN zKB;zJX>Ar&w?9?oXQav&MwX8d!fI}1r+dZIC2$J1BkzQoc#w)EaE@Go5BOVe1`}L3 zKUunZ1S$k_wxQvUI5^~sfHiI(-f)px*pYvuwfVH_{He_1yMWi%!if>4;?yMX$$UNp zD2B7n#yl3;n$(QF#|PUxFIGY1tBabqOG_!;l5#9>$rC-Tst*XuV=ixLnwy#{Gf6Qm zQlvg#hek-a*`2HWE^wXs5NyKmMa~;>r1Wf<`C0JSc(yamkay~2IVE;mcmjFe=G^$N zi{Hqv+-?Q@9^7oKZ0@%5zxyUwyUhBo6`O5M$J~P*L1N$Z(Iz~tCQ+H~#jbcynrotC z_Uh|zn!v59xkLsib&Y54^RIe2Tm8DZY*1Qv9D~2xAcZOyraYWJlla&216Bf@u-ieOnxRF zhB;WDUTeU@h5DhiLU^MYtaMbrAIb5&OyCrUUar?&W;wXQuB^ag)AE5w$fA}Uq1yVy z1iy*ft0A_?^fT3($z~e;{hN!%Ed=!KpX^1sZ{5Ue zS~QU2RulZ-+CRlFps25I4r;M2N%eB#+qngB&|oc=H&3~))m*xFQ%K!HXzP94>)rI6 zrU($`)@kU>1*5x7Q)C7NVqQ@s+0sXqH({O0MOzUqX@1hZq^5xQam>7OeUzhAAn(#@_%kKMKa1w0@yAxc&@`Qq>*-vdJ7*XM>^~pp@Y|} z6$$t~6t8AjKC@W`vOG;uT<$CoT^>-_q@$ZdVso)I62og}m-K}i|pL`Ae^7xzS4V5>;{yEp^ZGrijF3!cp ztX=Tgs#>MSt;T4_a$m60u>p7UxqXZi9O!QNcml2E;ZXS2Z0l{z!GP&#J<-YM1EiVg ztFV=_#x#w!l-b+TMEmX9FeUtal+DJ`T@H`Wo9?%(`r>!yaf`$0woA2wpJ_B&1E+jP zSIZi|n&24-(d0q`D*1Wu_C#m0BUZB8}2V!z)vD zw0&o*_D|izkHkgQ{ha^l-R1vaqul={TqWQ!{jwtYUvVN>ng7idgPocE-{M64=k>`{ z*>K8w?4WCuM`BA%Jh=BXOB8sp+xs!Pr$RU`>ZC64DMG2@Pu@{7k`wN-DOb3o7iQfx zk9AH?PM#Ucy4!Pd6AQx6PruJM{I5J~Y^(Pk&i2kalOIEL`*p`0>d&wm2GE{_0~fss zZ5_Q`pOB5GZ9n0D#FYRXF$_!Qoh=qmglCy8uIrE*k+N|#e3|8sW(JrU56@x@HSua2 z5QC)69CozvPDZ~Qkh%&76snO#L_1q6gTEOZ%;j(b@lv(l!*oHn7c0{pH;t%HHBSO! zU-$w-uMW)>n*~Rh_qc=o0v7|7!i$BHb4H^mn>}A)UT-$XG&2K!8t~b#Ea`2|=2TuA zIR~UYh5tqPzAHyJFp^cnIV9m@Gn-t$Zj9jwEuKVRYlPgQafxBgyqBfOu^+rju>szZ zOF8GsFEqOBE3A~5W|FQcTD%|^B4;2FplP)3;8x#XRK?dDB|rGyYu(lU&FFgA+s|B6 z@Abv7=!GkZxzZ{AiJf0%Iq{FBL80e!VmEW;dFWHW=(c-0Pza=2X> zHnJE3GtTcY^A3Ixo?(Z?OTy2*A4nWQr;BW3Be@H+n-GB_%-10d=r>`;W86W^kSMNU ze?zOt;5y>}4OiHWor3IB$qb?lrF@YaUo_8Lu89Z26ocA^=ol!kfyP6EGVptmmdyJO zNyYs~7buy8fEg8(_`p*PWk8SYgOCLQDETujjvLeq6uwD$5pQ`mW1{yrY)O$3VhUosP7K92k1l_gFbKJ)PDIXfIvJ{AaRFUREhy^qHA)3Gc`s7o50w*b zD58&=A?O|2i(E`&6?cl>4}WaRGhg_aPy0{n6CgnUY$ufz^>64P^^FwOd&x)wd^@TXk!2A z%FxLO5tF^ew42y~{_xD0?jhjvA`+nXD8ITwXjKbV!(7E?HHTlEn_{!(>4j@&~C|9VSoh70uVZoc7XocmHmt%k5$EA!`2K+eZPAkx6!HtQ$Gw=4jkzCYHq>07c}orGI)e(vx; zy%W;K-oey!2eIp4<7X2{Z0MpP3G@>7#!Esl~SlJ;#waCIEThE(q#-WcWoRL~(JTuTN9fYid zwRFuv)U#aIf29HkF|%mlKcIv_Y{zH?K(@u3iKz)QTL~dE2M=ZSqA(XD`e{KLVL0~F z&!QxtZ#8`%L5l;#MUs9HizH1afd!tGkRX!PU^+`6Uf{zmJ2A;{psQhfKmZRbUmLx_ z3!tpfJEK=$#jE=;M?#AH3=(~k0n5Vc(D+G>NSXdJU>)9Guuw!#_>bi8W4{s5k=$We zI#LbPYYZ_ZF{;+!M-_mP${SUzVb1egt?h};3}w3{+51C*-Zv`;cj84kl zMb=!a^dtQ#TRP_{UT8KWlk<)S*qXQGojvOp3+GRK;muEK(oU~buya~b+ml`(TYkO# zU3-#r{a7ZCmIDxt+3p3jE! zLQ~4OW*4yil_!Z`g{vf+aCh0oErCz)4wW#=?t()OqPv4ZC%IhExisoz6uH2V(_g8d z@ZEi}=pT41I$|liZ*zhzTJ{Y;07EC5fxx>BHB>fql&`^{14DvxkK|Bbu7=h`ophV- ze)nhG^hoY4CIW_hR#XViF6MFxfC3oV{-U4m=~Dr{Mu9$-y8@L)vmN0OQL)D2D!wagoeJ#pr(~mVcEp2jAU7U`Y8# zQ?hqk2>=E#NBkGX%M=V>L6mn^6#Vti2>l;1Aeh1RKs5h{wdRwJtMkuNb8ViV=BBPj zk9_MC2v72o)Qf;Q!yDQyQ_fl=_lM4EtyrV(swo1F1OjBJ9|nB{hH$NhWFs_Ec8}Y6 ztZc-rNQ2l}i-+9gof?di-*(n=oh3yPiHzb2S$u&X^|)P6Eyg3^43MUONwaLbvp|Kr zXL+1j3^idPwYBaT?SIS27Q^&FNTJC#4W+!m*uuDop#UO|_BhswBj9)-5Hq^7e@}wH z%-vMVLTD9hDeDD@YJRdr0})F1K4s{{8+=bvtl{c&Mac+amKm!9XE=T$=%Q9SZX8qx zVDNO)GeTa}b|MXNuON|0MfEogrH#N~eE-|PF#a@OApE6ptp%4{rh-`}KBrR%Vwtt)Awi}cXq>gMcd#;n=WdIZ&HUvdVVg`?cop;&lA7+R(`!LpbEfj z-|Mz*e|S7wV`^V{y1Y5vCg(YXtBsBGZ1#GyqPBCLvLz&3>>HNUT2LRI5eD%*#Q4x1 zzVWTymiYPN<}`i(`L@2s#UjEI+?s$y=xkwiU-xjFiS=~VjdaO>gaMz{?t(!uqrZ6S z>}ECSw3iXDTWcNpR)=$R()8nNn~cLMuk@h8Fxf$(`k*DY$XaD5{Nr>2t7m>)#%LsG zx1zzduLOB0Tf-_SeP)&o@3k3&n>bS2K6X1T%TAS1xjcmVf65J#9lMLJoqDRbg!&PW zn@paIUGkatd;EkhYt3N zm@@^6H@*Ff6r{Z7efAqA^UWq=vljae4iSsGtXT&l+EiQ=ne+6OHch&ZmRMq!(mxounPsJ2dAnFQJB90c6^WlKun4I=uq&9T zYg<9IT^Dh@F~5bA);1h7<;CB;c;#GAaq%P3YvUMoXHca6(A$}KQhlrX5v*~Q_Kq)4 zcjd#c{cySax`>Heq3ygE=DSQ2TbbR#6Pm@u7*@}w;i^k7`euGeMZ@Z5fxHC)Cz89~ zwwn#Er@*`neWN)KS$mOpH7lTP9uaTEb&dI$$%-ws#J=>eVn3XOw;6yt27tj@(^0&Pd#Ih~KduP1%Nwii1GHbu1|GaU))1ZlQ&PNryj+v#`;kU~{qZ{Q+fdE$gH@^D zbhzJ>TS#ecR)jtoa z9{CE4B#ES#!a2=bAAa@Bith;y)*2{J-B+{4aZ(|GzpA{_oaB z{+k0K%fC4gvT$(zzgid3mJJ6YaK8l59HU^is>q^kHDo@VjL|vuLv@h{mPG`7xq}}b zRiz08@|q0|J#mbypWdtK3tXCO{ap1|ocM8(Kfc~~{U}dYIF87y4U0wv*`k^UsRC0H zH!}}yk^uYAxH3;IN5Zg`6KdVtXw3zs0+XVygg+EOBJlXbGjyQpt9h;pb~5c)P1t|| zEQu5bqz#1|CzN^4wV6SY&?GHwHoj;L30Zn8gq3CiNCk$MP0N&hL**5JXpl9fISy@y zs_)1>Vsv|KK!JR?OL|!Y}`ullk1HU1dr!QJbb##lA7k51O%g zCKnaieU+A3Ez>H$gjLg3kAN}raw4}Zha_$Z`5m^owzw%X=D9xb2FGiv7YnwB%|m1_ z&0@ttE6ovsp>6&NGeuqc7O<)b@ z{$`i$ue@GC&@iKC80j}*ReDvQLP%X=lZ0{PpK-xrdLN*@Ru^#q1I#Fk>1*Q7{5<+K z@mb`wzT$>k^dJH3TGX`u(lT_Opj{q(6G|bBmm0`ZQ|)!4BS0SAJg-+i1uhyh2%$zc=gsn#BU1*HY|FsQktuzOkXP>jn*yCs)cDy_C_yN23B%1&C~l1T?j_f> zvGj93EPE(vq^@2u^wuS@t-SU#mR;j&$#2N)BqA7Ea_@)A6)$h9r{$C5^uossbMZVF zVgAW?K8hFNzGwl{HTPL=f@kKRn9k3(GHr*1ms{#Dy6x6)lOB&_OCFlA3-d3>hop~c zr3$}xBJkpAr&dE&>M<-1A&1SBim%fJBTGHCB08tIHTfX>+PxMm?aMxmylF@X8)cfv>)R2?ok!%Z?q zX0p>e&W`r|goPyiYQJ-Th>Tipm4$N_VWKBMz) z?=>B8xM%fcVIEr95+l)ZJyEzw10dna<(z;Z$6JdJ(e86I^`~N4ow*hZ*0lu&o50hf zM9vG6K@=8xLd%DvnFSTnP4GI#ceQe|DY7VHn8+HbTjcci_$X@=g|pzCm3Bf!(w5`% zpHhRPtVAB#h?j6$A_twP8qeROhmMYduYDxXou1>pg*L1uj!*U8!oHJag1wRI$;Yx$ z3kYs5feTRx**9vNUZ>+PxR`=P6$vF@IYQX}=?KPnKEt`*#$ChQ``on}_kP$;+;HBGHUqS2_|N4US- z2iOE#-_u~dr=j(lPy=qfpNZO3;BVN}FJ#U%ET7iuom_`eZ|Dl|3kRd8lH|Xv&+O$i zIDNsYm#6xX8<*4I{Dn18K4pDES~=ifZhL0K?R$<~3GL}Jpw@vj)swdlttxn@SlM1O zGKL*0L$`&aX{4e9OTh*0V41)uVn0hR6|TwYYuz8(7ba`$+C*QP=p zg5@vhbS(`PyMC!!6z(fkc}GR_fkc_vOQt9sQbB3(+`<(RDmJT5q4mIsM7id6k0#Jh z>a1=sR)Pd3)@Y`r2}0qluIHIo&Mx$MU;*;rerNKt-J`|R)5+(@%f9x9rIY7RDmHgX zOSRzHmC^f^w}W%H(I<1#89O#^b_?z`!L*tg^$e+1Ed;HzB)6g+3oPD~4?_r<8c>c4 zc*Gu{2veUsh$Wj6ccFvNFeM60oOi*vKD;Q0HB8j$rr+|fzQc6LGznTQ6c8VS67%Pt zFCgifq?~gV$3}=D>uwKdUrBIPJYV_kX>C8env(GBVS3xaS0ex$mA##?ek0DG0&<4x zV=_r0&{SWjXRwjeV9{tZkZo9w9alN52_I5onj1KETy*r^PhyZ%@zyPrI2e!0*Uu$7 zZ;^L^KGaUwxkaNoeUe73%iD5aveU{Nd1Gx*@Bh0+92N6aGY{!JVzlj2D7870MZ z4^ue;#)o5Y62q-I)W_kWDqIjHo+3eII=Er2v@M_8mb&~dUMQ5lkBP}#wDU|hCwVuB z#@6k1t_L(VY?Qvm2_V&8pzv-~k-FZUAxw0Q7Dqs~3LLx- z->)gk!dg|Iw8iXy(6Y#H3OCIM?(bc>g)baW` zLF}wL-P9uVpj@*;Yfu;a46~qg5|eGbh7=Sb%-i0w8eu%xJBgd>a0o{N_VcXtwc+80 zTBr#~;&rY^1Fd zEqk)M1W{vN{CzY7^z!94=QBz&(POd#O&#j&24tuxMlxGMH$(<#$=x&!;4*)d&gUuO z;|?$0LJ2Zq*rJOE%?Rvr)2e6a@-8$hnvAmEwcdT|OuaU$mJRmuB_zd$ZMG*lv|`V4gZ0Ook+TZGJ41cOXMZ%JmFA!*=0;YdS`bbrd74)Jc=4ve(c(7ai{1G$?`ZW_w zf29&O9!Iop>anP_UWFUs?f>%__w2Wc&N`}v_as#tDf;yL;~?)R&ZJrus7;N%{E)bk z@m2%RU6@VI8E7!Q1Pzo6LN1@Y3jzgR>L576X%AY0bDu=nT9TsTwX?1Zk))i9g}DW&1^tf+l#AL#;L*M*OPVD^!y0T!1`CZYSm6%Zy6+7RBi>Ei$v z-tZc@V8YL->uc3WNa6#E;`6H->^1{AP-FW8^pBJ}{6~nQTIWIK(o)H=qbX4C zQs`xbT|6wG4CoYTbBWh;rr#`zhCgz~FVIs-tkwMjZCV5fD9rUO_Y9~EVbcJ!ebtU zmK}Qpiqmu=3oj_q2+q-u53EZG7;gF+u^sm^-whgo!vqy*enHV}LuVs8DW(7=&RXk1 zQlt)77X=P7B-i!AI)#Mv-UxE@4;VsA29P|=2=fnF2B>jHs!8BC4la-aw=q{g0EjYKX`ixnhI{DQvcbh&#fThfpA>@7322i$5+c8i>1QZooN% z>zw-CeP8Kpa!L>=6fQU^3m`E_2_Fyv&ksg4L8T70qvI7EWx6hN1YF8B)=qN|7!uB5 zMCl^=<}TUvR>5YF%)Tb6A*Lj9ND@vllzTdrCZrDiT$#FQJ))KU*$CluWID1i)CW=W zkeXXLx4Bs4rG%l@4C3j26Cc@yE(fbr^{EIaq*~nWHS2m&#;Q=@@{)&AXpp{-2TDvc zDZPp$UX|MzB-7Pqs&%T+xcq0E@yhX zqKUx*YBwfMxTccA!38>0cKr~VdkI~$JF$j00?s@=YfF9C;p&v0yi{$(QZg*NlcKNcS`K{Q$|JvyqaA*hEL^aK&X1slR@BP&G(-rVXJ9HrAAdsVJ_v zq-GmHdjkuf?eW~LYSyq+xq0jqaR6~a`_SNG$?s(Vt`0)kDi=c;ggu@Rg_aj$`fpuOGh4y>(w`Pf1m7-M@si89= z{4Hz{UhOuCgNsb1B_xKrz80ZaSd}u*n-O`MDJ4VWtjJJ}?=Uns(lmK#$77_)`8GoQ z91!i2qZn>|0v_ozGxMD#*C|o?9NsFrz$ahCH#eq(?|74C{^$a9t4A!W>4i_xtYw?R z*uXV1sGi|64>PEwS4S9$)e1Q#5WcSEG}?6+?!T6_MRloDr@}?a+AWAyeFRktF1( zaFmep*cH$`VQr@iRA6D7thXI5SPKNM{^GOS7d#U` z5Qa9Am<;6MYIX1Dcia$ksX&}=k5%dBuN?191=gq`C@lHvv(*t!CS9gzIc024?38W34P5@5&{uactzz8}A$v^gHC>ax{Qe#~4A7JZ+?J>|8W zR`jxwToTt`P`XxgyEmOaJ;GH4o9yN1EDPRn)0&djkai&T_9?|?@$XZ|ox;p3-EZ1` zjQ7XU>QSQnjnt!rizcZ{!Z+ZXPrXllu+LNgO{2|d!Q+iEjU8ab1e6I8I?u0K*ATV8 zhg5T(f>#8C9O7%EaYM4XBW&B*b-JPPVvYEU+%xEQ#1{6I9vy9MFRAxi`-os1= zmrg|IO~TFLTFcRh3HEKW&S5CO-%4H4p?kwFWawlyAb56!nc3nyyG2;5L%78)dDI|Q z%`OzXJ{@mG?ec2Fq4u&5wmjf{cAc?ovI=}fY+34L*!ye)M=tL&rHjUeJDUr_-UY*V zFsEW+vq}#E*&{T<-dRw?N4VZ1la8Cw#Ka0P^ikXP@_J?147;gIx`YXQR48^_F?YEF zAekJ^z5*^hWy!|z+^F9lQ`xeB$fx$JkZH!bJcHcRcCn^>MPi?|cB!Gf6C7I-bfl;a z#2mSIbloMow>EIYis3cu$B%GdaS__jcno(O6mauv?N>k3L}~C=Oy+{w1tr-vWIJB@ z*)k9Cz|#hQ;z~YBokPh6->|Hr=(QiRd@qcwdi)}61IHillQz3-a0=lM;WR1&(_y*d zyQfqS9$6g*(c+tLsoEk#wd&?azaC52YB2QJ!iu09Jd-V09%52|bfkZzPZAKvTuA|A z@q5^N_+Mwt*{Rr`Hu*k|Y{RmH>@AsLi3GgfTdqVIwSR9C78ssr+C%!)u(0PX5$-B$ z3twWnwQqWZD#RUwNZ14pTNdUhGdq#lPriz%%HCb94)ucWS)SAb&8WDeEAy%DUD5f#87Mwup{p40EI zEPzV!9?DDCEVssXY~=ksTgYu)IvnE6MdumJ2ESMr#8pYU&(MAi$jzTefwyE$Wx~5C z?-N9&YQfG~=yWzkh8bzuRxi?(>e#0mYv5G{AxNV=O^V;&B_nRxfH^1gqkt%8$EOAP zH|Y?>*>(L^R3mM)v+}8}P4_Nuzp{b)Cw>xqrYo{22ff>LSw9>^x&N8E+2{g!!r>)j zNp;$msQ*gBM+|5I#;r@)ZC?=SuQ+_*jf42G#fNM z(`HiBwOA}Z-|M5GGH-`$$gId(%uxOC=s^a)MAhX z47q=Z{R{G(F`&|MOg;(TiJ_pXyT_LKG zDC2bq^?3h2uhGo34nBYNV=($r&pgi$RAyKcAYKxtS)cFKgnX*klIsoZ0Eom@swJGE zmGqV@>Kf%e&5gHIrV~O7 z@k#yCy7j@!#mWgWE9YJ*?S4K0826}9IngAw=ni2X$W|HW+*Nnm!hr9H5h{=95@z>^ z?72ewVwKAvGRLfb5v6JJuR8dbVv)`E~^Z`wMLqQtowp8CI%o zkjq5f@pL{L><_mhpR7BeQ`iz;WA^`ewG3OW3w8mIwH6za9G72Xnysw%%%3q2!g^Mj zkJF7h`mgxhUx}$!9#wa`s74N?Rq%2qaju?WyW#Q~I$Im!n}6>^&^hr-Q#=7TRM|_5 z`h8e>P)eI3Vf|)WF6(o&LdY@8fl2MkYESNX`QlCDm2$N$;sMyl#T2? z?SW#ujz~@vjzx2S1C!JWUMPa=i94A4HdXr4zR;|4=PD?T!+`18J0~aIi>B+*xL@I2 z_qwwUiU@$O%liEilTLcfPxU@XxvVr@(IVHoE%d+KQ zjox~uSMa`Kv?1YJRsb;~^m|{SqJ^ipckNqUdjkmXA{}=-q3no7QHk7ip?j*#UM2hN zOa+d^m>8P)*Z66|ze6ZCUd}M{zt_eeDnuf;Q&z#1z>RTMbjP4pN~-RBZC1)P=S{N) z8=58C0DO5KEbztQq=Z;~uMA|=I0Ki0Cm2;fdUr#1T>6MSv2hNME#>z3{wf8s_qGPk z@p9U6(@KOizodpcJ3_E-H%IslFPC;TQ3KxloIr^}lrTDRHk2p6i*_M7$h$EA{595S zF&_@4=N6Th>!w^!8py9#s)70{IRrONM85f4XTqRWs4RF>+;3acR{=kfer9sXJ2ow z+Dwiap>&6hr%0t;gXsk^J9f5#5LVu+h#*jewGB9MUfY6U%dp6k;tgy`lo86Y$kq}> zeDXEX+F}EzH4w*~3Ikdp8_aW^)-C+hV4C0!RC!nEQC03dh15^akWA8KRhn1 zGZQwz{ZZP{^6MI5DKbq&+yc8D+ew$ZM^SXLME+PkWA*f5bq?=@7hSY)#67o0$}Tu4 z`Bp1pHFOY-F8-Sg08ue;vV%X9&C|(}njCQ7CUJcKarEcUgY(CDhc=*EJRa@2SrwS4f6^A~BKH zeBI~U20?U96X(2s=oUE%8+anhX|>Bj$P^559exG6qk$#WTsf6*9^@FJpFvz6;%+Y<_`U!Gd2Wc)uDQyMUr!u zQdaXd z7ulRki&;+p{XG5seC1^ci7lE#Ae%Wo-?9T- zM719SkD|m~)d0%CBkT|g?b6O2WB`i5Z9V^>b&MZuj;7PAK5UMGb=W$8o1v^bl&Jkf z5AG1GK9nnuQ51DqkBS0YxWoPPko~K5IXJZyJ*}<9_k>;xne_)8U%(L#Y5Bz;X&Li! zKpe_w`omRWx5)xUEp@-^9Q?ME5unWN<}#O5CSX67mBYq3dSPirfe)=$VLaF};U2{{ zY0bp!z>-Dxv{dG8;kE{1IA6DQqcO$%dNgvYe^_x8r@C$87l8|6vzUE=VbKTNZz$}U zQPaZDu{{9Nn{d2(fYn7s^4Mx3!f~2zjxzR6V9Io8vYzes!xBo=*Si3a(5y3q0?f=q zO$`$2n|d8KY3&Lkr*~jki&fz4b7S^;(io@)Gwi#^y8Vu+`7DnUzVW8H>24l25^Iw+4@6B>i`E{{LGwc;iAWnPtiC1 ziRa|sX(8mmytHcxy7Bh4Pe5nL^P^=Fh+?^g+|-&d+@Rfw*LlTL%0!IOWqb&aFOt| z+a{wMWKeB>e)@ zk%I;;aMlT?c*bNpx$p7tTEO%Ui4jZ1<3!6DxS|ifsKw1I!$$|c#4EMpPTm3Nw^G); zbGEzF;boc4LR4XbJ3(Q-M?vy4*#q;CZ}Sbq(xFsG1wOJ$6 znj!J$XF||mX^tzDq%$=yjr~8Yy#-iZyVEa>Zk*y!oZ=KH&IXFR7I&B8?(R?=TCBJf zcZcFmf#Ob!6ew1tXz_1tdd~Uxyzl#b_dfStvItq(N!Da$lKEv8J1M#xu7meephbgS zM)Pg1!*#j*5;5B(G~Mkc8u!|B&o>saHgE%Uk@xPZA4lgKzD|yENvzt?^0`Z*HCuB=cxsG+67YCxTjN#4gd1| z_E}pnlM#t}i&x&x*Zg{BQ0bNU#|=UXk`J*21yC}8;(yPbHx)R zO^NMi>?)vZwT43s5;L*ihs08?>g%1lWSxbUV1x@SF{zf2qz6@ z`&{0r3gpq~yF%PUlzK!gQ=h(V5x#>JLw>ubqeI3vC7x_K9bxvKt6Ixham}|={^{<= zra1c86T=31$3%oS`Ch9h?Wi*&#R9xGl{4Vw;JQM`Mue5xFVCGiWx9WkY-~A9d3v>|DlA#N7Z zTYa`Jj<1-<zP-`Y`OI0nZ|Bx--)$;Y{7M{uo;6v=p^9YNNWo@lEe=nsq0s|KD| z&syt%<9+A)Lmj~)p@0?YCkjI9u0mDFxI4;QrsHPmuUml!Ws?a4aQ+4HtUCw}v(g9! z&*5_?XO(-CNR9{!aQZYC@ZHFf$~NvxzA!f1?Yl?hnOJuT)zC}ZfpxjrZfeD=%#2zB zcbwf)=y;8Lpm@1mkjl15*Fd6xV%kLy>i^1-2p5|ySV-icio9?a)6MZru0ywKG<_P^ zc1#f{Hiz;l#vvb9G9k>V|jV_xflfD(_D!Fu4=2eAEd}mS6B;f;I^j$qk{}uK_ zU9yT;epS7TKk!h`hQrsl+e~yt-Ed=YhZnR+#|ac2H0TI&)0eI5k??Bx3<}X|{(w{4 zohd{Ob+8ioWP-Av?(+38ffs5Ke7tQo%8;rd$zmW;=JnJYS|Qu{j%!fnp{Jdk?~%lK zfE^J4<_ql>7A<(BG-Mj@IOwuV77eG`UxB6KCUoiPn4|^(DW4C5TW9CNTpW=Xq2Dwc z8#A8%n(LaNTXKg9J5;}E90!v4?Iw$$5IynW@87@91Xdb`ADZ9z9(21|kPEHQ6Jm*v z;Mst*Q%cgOFKScJT%5HL60a7TD<$A{)2C0BIu~qs$utQ*OJ2VG{Ni-dbs{Nrq}_-+ zN}}B>I+TX_^_^h^tSI2Mh3uwzvz#G;ReLF zkV~heAuRL!^Z@i1G`(#4lVMli#ft1i!){f;a$Y7tx;6E*#a+Tb=G+R``FefIItG4j^d;<=MYc}9$UVp;6 zXrepf`wcyVCjg|7h=2TAd+kUWAFui|uI8v2Y&ULiJTX7R3=JgpV4 zl8T5t5-0Ucq9Ty^lVTKVT}UUMQky2mD~U)z67hFz8 z5_x^igan>cCqjnMW85VKFfTv|4c=;E;LN%c3ALVe5@fNYG#&fM$3ha$gJMfbdA@%L z$|;291ZezC&~!wa0))m8EG!u*I*MH58&Z+h?p6$sF=spusX7~^)tvWKpsBb$nrd8G zLqohVEh@mD&jxF_Oou~Pw?s)~pp zAyGpTe@ht!SEqPEq@O_NKZ4E=LB-me*To*f+8fk)Y+52&v2!*}=rIO3rKNJmVGV<; zV%mQuTaJXWq-g<*V_mE%+E2)EQOW#K0e*To7oo*#l2NAz&XmT*P^lZv)2CAScTQ?Gaz zkh#@xF@1hvbQ&8Z5nQ+rEr0G@hy)BDRurRT#&rhr-&d|*`56puX(xlKzglsJUpfbL zv0v{Vce!6MO#|WHq+(o{7spI~J}JrhPO+pUKQBkgY_4<#y1Y#1^E9YGxcP_bJxcmf z@qSYV@DrkeHKCDAs?kd15`hHpORXPj4O%`ff{O?YY|~*dcVM2yL*IeTVQirZ009HS zkKA(%6aYrM2v5`@%@;!js1~PdlFukRc0Fi0jcC@()r}w19fCu-a;{0rs#=k_q4;_C zCY9nU9UEc4$~OyZK`p`N?dJXKsl1HE2+Mq51rGABBjQG#iJ z-hngB0aW_=a=dvY79DC1E))r5=vz=etSqBI?ZHjp1wePwrfFIP)kV1PLUmfhLuLya zM87IiV>15?s9~6iHFrsDY(ZBZq@Q&fQYD=`M|#GL4y>xD9-Q%st#iE7Lm*yAfE|R zgd~W@Rs^Ml3>+PRc7+vud%Mwu6g*G9!9-iJ7WdaSe}pzdR@h2BS~H8^diy&bUoopD z3@D!$2tw@S3t}7>ApQtt>Un|GhfL1hbXR`>!?Na%rzl{V0*$z!*cArDg;SjyfCg_v zXDABI$IE05U^imHhmY~8O$|uAQ8u}ub4Z*jnEc=D-l)ekXDg5pb-l77e5hH4^D>lw{cdu zVq762C?O>Y@u#?EiuHmy7XGz)C(zBPwRv~Y;#;r|+;llR0vQX?rsCe8B8TU{vXRRr z;3ieIn#JQL#kKqse>KN;RwHCs5}FK))%n|(yQV-AS!Pc zyds6#Bu@-hMDMu}o5(_3#y0YPrs|TLhk~nTKKT}k&I|8;_fiC#oG#d}_V|^dVXW%m z&j9V4?lE-3uA>MZx^3|O?HQkJP23Y>^q^G~XO`qWo9H%@a_vaH(S{?B%vCijKUjrM zv&?LvT`16PR%$TIAUeVehvf5J_X;S$Bu>J0ABEC@(+OxlDv)dV8qdQPs?&rn8)kKD#0njtHchDPj+-eLnQ7EjkY!1H;>8rYA z4ey&-rSe!~SDdn7P1t@yx;dd5&>K$0a%g#5|1)I2U@z?1^x_q`bDC0aC4P}}#2HG} zI7NOv&D8)i!uQFdq{%7y9oyFGxLr!8Aj!`}fVd~&awC%DGrTYV-S7A0E$_1d`r2U# zER6FasAzHH-ysi4!*70gyY&Ia>F|k6ZUiIkEF-O2{Hf14s*of$Tqk}S6c5qxqR?2F z6IWtgZU)-s4?1&69=_svrS{l8S5^A}FW6b4;uWEDP%(GS9(I`k5S1!uy7rV}H&XpQ zmZIRb8E1@h@lYBxbNYLd>#M0*8>zyQ`{-!%Gf5jJ(647roSAh0~zmw5*Aap3Z- zChh8B)QUZ|b%1KQE)zK)$9_QKDF1C?diUm?gNOCWD?2awk`~#@QBBRVyVNNIW3}9% zQoA7Ld}vA_uomhJ8GusnZHKf4p!cBgUa$LT_3UA*XIEc`%+i(%7@gy*`~MRe*ex3f z&7C48qUR_;p*_x+Cb==?^ny9Swd=VHdPG!1X-?4cmx~?nZE}oZanp+z z#QJF%xRh!lBIO^^qJ-qa4&oyO`|qZiZrwZS6xr!UWWqbaZ3V6hp+OVx7m|%M_QG45 zYHC*pfdqEwKk!~y`A=**5&#VlE&-VKH%1&{5Dc7yK0|thnL^WHX^-iO6qJJXb5Mh(^#|T0F zfrNSB0neSg-RaB1)4@xaGm^t81>^ATBt{_?Lut2wMQYag(054*a(L{}-{d>|BF~*( zj2kF3_D`L|v2$f}yu$ZSxl{f+yIG?Xu|pykcg5=RMXyj23AlJ$Z3=w-C>3Gk;kYp1 zmNKb9vNjEUKXHXE(E%SF9pViSyvr_&T1^9T*}x*wrr>)=V1b_k&PuXGMq@ z>$@S58j5YTVqhpTqiQK6GRzGsDNrs-W+;5Tz-rHn7{F@XB{B-IMM~qv<`e9DJm>>1N0|ojNWBfNtaWp!#t0eg@nMz82HQi<}n0tf@eWROXS<2 zu^2C+bFLlRi8>I!^+cWedAacT1;U;X%ec!A$L+Aw_WO)LHv}EaZ2NOrhYbFTKs2~O zH}i;YEFC6CpALhi?}#rk;bdLvo3y|AWE;RdMMOO?j4+KD!%CX|w7coz#0$>MP*9*X z4`3g9x{2xp0taVEk5QQiv448MDd$83=Hqz`V7?kqHK^t>RC7i9Yz%S70#OsMlRZHT zck~w`iNlK6FGMtNx#g(rs~tRFcvY@%@_ zkP$+iH^&nABuI%p9X10K5F~+w;pVoQAT^Zu+izcv3*dIQNnJM%*#zBFJCT+S4Xu(4 zt(dxh(sb6VVR}46Oy04G1A6uDu~)X{kG%pIu}YK(g-67grxs;V{RRYy)S2?SpTXf# zR3nx^qCjy(Mv+o+I>yJkM2Ij4rU1XzI2;IhVlpHE;Uzq>#(|e7(+j;lM_=(pG5!R~ z9z=Rb?H}}&UzDUw$nLo=xGcFSG$@p#mkU1z=)eA=X%f|N8Qb_z0GJiNM>A*PRk7si+!`moxy|ooJXxNeM_oGFy zdSkuPo5N4*@E78os7|mdTwr5ONUc~IwZcZjSA-xrxG}7-#%i(W)Rl|%jV9y{7mDKK z1^hYgf{b%HdwOx@4YrKAj7sN~gO^K{UY9C;gkV{m_8UtJG~T5y8Dr`iEKT8Za&?U7 z0l0n0#_%=7nhK0XF}(wm+7-bhN@9F2Zw|}%yddfu+)P!`^|5o14MFQ<(N%e z9#|{ZAf-*k^sDP^!*%Bu$>oOh=u6s}0^bb!if%{d2GHQ*oQgwMY{h{9hUqhw`cQuD z1IH}&$^!z#4E_)GRnE(t1QFyDTo+KG#+$^n^gD zd?h~zluK4jj#vJ6?O<-JQGRop%ZZpw=QS^>Xx+N>CEK_{xS>S=(c8*>L6@wc!gd2~ zZ|G=zKP#wj=pE&&*q1yfeM8u%-|tON=$i#vb%SHMs)GQwK_z34uqGUiJI?=ZAF3#D zddPB;7|ygiUL%I=r?hk8i#p0Yj+X9OPXviFP07dbXCi? zw$tnWnKTM;X)uM?dO{}RCMuV6$6`=ujgg|j*VnfJM2YDliD5w`OD8MEu< zHGrBcCw<131`?#p&RV^m0*)OMUo_qTLPlF8B-VIe5je{{pJZjtf+cK@Z-Q@zU!qr8 zb~s0lEnFQ{EnB7+(uq z{vcA}Cq>~VGG8@JtAuOAYQk#6szGuwg%T?HC6hB2Rvc<+4Dv~ZGAacnQ>qpW9Jp!7 z@}Y$yD!C;S^^^Yuwdp|vmvUiN-&?gILa;SKoJnPys}GG^gKO6Ok07^o z;?4lA;Ef-aXo;L5oZ1zRck1S7Y?vXG4s#fD77YXEt@)e;k>ns4b2JmQ3eL(^#R_P- z;6mZ)9Los~3qlUpG+z14LIu|RRHae6*EsBvPx}*%WmpSRmF4IQaa1Ca0z-sE$k#t$ zEAUbnQT`KP*YB(+Ig3LsUntCzYxQc1YKdy*D}20}ud`N^KQdVR%{$I^f220h?Abl% zPe>Q6yErVeNW}7{4_-SNGau}ka>glcoOoVEb?%p=zvkZe+s&qY*G~Q51abcCBiz0VVBg*PGZrmqnBfIMU@c zwGDLmzYEC_83T<;JO&Vu^42Q^rmguY1?y$49!(LgJcpI%iWS0JZ5lP&!9qG( zBAR(lE6;r@x@+La?l~L}CEjl9+_xl1e(8p810fs(Bex>C`Op>U=Z*!RECFPkS{ghr zt`KGj64JpAtOh3Rv4XWZuCoj;1%3z~C^nyA-+|1m68yngSh9fyeago4HE^0Dj1wX zjwGwXYF}*vUmU-^G2755_CWIp?lneBgv_|y7uNBSQH6K?7LBSjvot1r_r-2tgchZ2%lm+t>eaL*JbIQ$M(a;*HQ+Sb%K_ zbx_Xy+b!z}cxbVz(8+nIJYl7x;&;8Dj5b+fSHNC3$+pq@JYHKnN%%2{Qx31oPTk+35 zC!5u&su6FpOIod96NGm~YfBrZXkO&t3u!Ibm9+&+Gc@h?dF!TRPVj}ZRxl!*9pXZ= z*V=psyEO}{Fg_eB2Gj(i1)M4j19VcrHIuy|EVNiso`_Ozv7#y+1BNY}&3^(^+oh*= zFtW!HZUd-I7{2W?UmKV$RI|M2%Yb3AAJXbRrwvSNyh};@E34MP*R1x0D*5~7a`=LN z!+~nCOuKnEOKYNx`B-afD24F92Lu6AG@b-X@NZcwYSJ+!ifW90uzt~5Bm{PZ=vr<} zSK*|@xCXK(BUrK~CE?~G@B+FH6y9s%a8TY17#Tps7P1G9woomA;Wm6?_JsbxI(?WE z%vG!VHx_}j!Qzrmw^kYFbVvs5G_^Jp<_rn|bt};n=7qHKoB$LB08E6UcMwqZ8)M0! zgoaLuSmxF%Y9ca);EA9FhE9lBP}EygThs#~LmN${%+ZQduEKj{6R?9CW8OO7ITe%X zGA`%FtrdBW4)XspxxkQRp0{pgABycl3q*o3icz=L)$ytV_#|?xGVIVgo+OY61{aj8PQmD ztvt7!qG90bz7sB=Qc4t~+^BrgD&_Rf4@roQ3I_`rDKtc+N8+ELj$YEZ!Ud00epJRFqB&$6Ky0Ta?YR2lQg6o^1K6z2kdTSm^b-*iDNqh%>z zD3SR?NJXCHO6LC+0LsEvxl#R}>>Y2<`TaG`=qQOWd-<=&$$eB{cmAMt$Ig2@^`>GzS! zfmyR>DTdEp1drw&o?#FA@1+B+*W9zz|3DI!3>>!q5*-&8Dl-?V zo&Me+a}TpCccu1Pvo)rVQR1eVT#bA zxK+vxl_3%vCR}UAc8DxFprSF5jId{K0=ppA-um&D{5#I+{!4G9XwKi*!-(T=`Q`sD zKM2ryL^l5cIx&SYg=j(@&=$<|MTiXX_E0B~yCH-CA1EODp5_nm0vIFZN`Y;?y?oyn zbT{Ml_J~gv{>7d@^%{gk;yemqnBQWw`k#ro*--aJTYBlwqh8MMO+0YQc6tK}|4B$Z zVC_Iq6$rtEV|5`|sNxV!2Gli~(9PGq`Vk?=|4k2)ZNLNwaXU03whMxG(zL@%TvPvv z(rA$0g-HKRBq|o@@4*KsI*xNBPk)B-fYyIxN12hytf2 z;vV6s(XWq2^}yvEBji>RJRR8mSsVrz7-TiFnPf|>B=sh|qhx7yQMFOkC}DyITj%KC zIeiXp{q65(2v5tlO}c+QU-+)k5vSL5MKmxtENR{O)4#*#C)o>w+l>+Yhr5&hSb^_X z2lua5A6ix?btg90HLE4b{O&GOUfgflliu%dMa>Jg`~18V9PUlUhrO+LPYG{)$o?@K zSEjRl8qa@wHsAiOH+%cxws!rtoXZ_hUf!ni@ zaRc!iCwBo;W~YJf;raX7Ro^@LANd#iod$bQv1M4_dL=Oo?h(IF#Vqql=8Rjgtm1d_ zZJj+u`z{%p5hCbsHg3pLb+>=z6UV!_O0MlUntyn@dU=2NVc(m~d8=|u_T}36jo(pk z#mZF*(JyZ@%dN3OOtHonFfzl8n=#VqJCog9HCQz6=5zYiXi?w_>gJSW zO}DPae+qi|6nPAL=T|B$ahc)ERp_xevx9f&iUPp4+pD}?FYz|7-oSoQ7xwOe{V@n) z%k~P`xI#bHT|4APKfd24JJ$ALio7mC_~ld8KbSXvEsgMNw5op_9lrCYa{2rSa9WP? z%ciocgB0F&Qab-G*&5PSalcXMJ+f2n@>AY~Ri6^?Z7BaE>ly)@b5qgIuNTg{Ce#Z2 z=q3-V2A9T!zJenU*-n~Ow}ae*ewQ&j&(Bdunr`H6IQ(z!Fo%g&ed-s&w%Ji+K7|7wk!-KB*mD+as!Z#E1}>zYok zZxYw9GW*Itx$G=hKOCa?&^X;kU-?Rg*A1-l2d}iBT5HuknP^LxKd|**zL;Ku?a`Nn zUs%N)@<{FMSbS(c?Z2EC?DV;9{qD$fcjEr}{O#@Chco2wPHm^6TlH7i1qHLQXi{Xs zEr#7D<97jZb6USF?rOiBW8Q8x*E4UM51X@8wOPBD3=a58%2tyNnv8D{?5C0n#@t8O zvB#Y&{-RBN(r2PPCb@C-VqSD=YtZjjN#fq{h9v!AqT|aCpQB0N^CkmhiL5Ag|9}ky z>l@LUrg&TQ6$2ds0jAFvC*^031bTv7*fU_iR==0q9XIqRoqp$z#AF>Kmmb8+Uk4Bl zPm(%34+hIE?Ci(QYkaNhSDIe1ULP#f{1nZ9xW0__^G$JG-Cl9^`@p4l6xgue_JFjLjL4l^!}PlAYrB=s5ns)ZIl+OSFS2I|CD}T~?k95FOzt}EKW^^+ z_f0W?&8Pl2$>;y==2L$h1Ngr_(U#}``b1k+Rvs{9XKx@dv$JrrL;A&{_d?ms+1}O3 z#LW5S%NODvE|MxPMlNRLTx_iWIy8_KQd(I+;Dwx-owj?-ryEvH{*&=&n^y}!^Z#822b_P5I>mx6~mplBDH^j_otfRlEhzJz0Ihl!r z6K@on2KJxIqA;hD(U`|uDqDu@wi}S_?d9oRkAM4l=k$2_>u#BS=Xmd{hYr5?>&vav zLcM}v@0jw>jU4=3D9{ZKXAEPAOi2A&_K(GCtD-=q?}77Lk%7eQr*q1V!l!{`lh z0AcQ7TBTyz;j(g$zNwB(C44QWEiQ+K-IK1?H^V~tgTWa1)bH`r`o~YTfKQ#XrvAup ze$3a0)PgD7Gtj*z#%t^DTy^|h-&0@Y%+YxP%oWCZ#*-j;*vBkr7HU{SR*7^k_a$zF;Ob9daF;Q5DDNZsJ1YbDZfj+Q|%M1 z5Et9)joBL1rDvKRM1?9#km94);df}z8UqpC>J+pgACWoXkFZ64g<~BRL8m7tulML)s> zUn0haHsy?5Mh5JfdF6->&c=wGMvx~|fDK3So^L87D1#cHl^6aWXOYhMV9RIg5V`H{r1P7vzwp!8`}4QCbgo#_77KW=U_w*@6q4L$w&M6RCjc*xx@hM`2^KRZ>tq zO^Yi`X!eRp9O#7;6Lfy1@S1g`m!45%s+7mP@=VoSPFw}yE9|qHLW|1}9C6&rEQ#`>oJVN5e4#dD|O2f zq-o!L8=+_5-3icreE^O(}p#F=w;p(3&qpIo?^zLEgAc3Qvl^*idgrJ<7;EG7FF@I5NZFu(kV;Lg6ds^%PD(adqU_(P(i5 z$E>tnPXChw)()NPCKjb8J(dpY78`WE54#V9Zeyp)|@==;W$ z&x29p@kYX+?-_dJ0nw|oC$@-~QOz)03XCF`NqiN}**W^pdo&NCnY1yF@>-@NJvI(L zJWEfPRf=R$Zl%R2`2IdZ`IJA9u76vT^^G!^VTdvhXYACigAFNBi^1;Y;=236u$jJr z9PgzQ&sRS+W*q&!6nr8=>m-yw&0({e44Wzf)Otl!5Kp^AVLIL&}JV&KB~Fb?DcRJc>1MUl)}2502_HMo&B|Fc$xefs68rBbx!wz>P5( zcSu4oVoR3vx}cBghca;|-k{|N@eJuZY2r^U(nOsYG}d(mJ*H^&%+#NZl0dLxo$&*^ zW+_s^v^^r}i{wj&p2=Iv%5$Y?-)A-WMbcX|rG@dEBe663^k?6TGVKXP_say0a3x3+ z({dZX1E-02A#y)$by=%mfa6e_oSANN<>c|d1MJFpC)vHHyO&oxpYJ(lQY!4}wYykr z*0sa&b|${0z?<-~<8zcFKfzDpJKNruYe!7?L}aABzFh`k;bh_SuiT65_4luSGT>Bi z+A)oeuYiYvgd|&)ze*;h zN!_eCw52egkB)?&tanM6&5pKLm0(y{#)HEie6apOCSB>+b@MrX7%u$bft6?9i4Pz0 z{BorRjxzE7?#qD#@(;bPbmE6&5BA<-LPc>Vgm?vC-}DGaIf-}Ip(DcEmWPXPxamHi zk{GwUvL5X?=uU^In0UDVWz_H0xj}YVvDf{wYyx9rm)Zi~rh=*zMchipk!D{EdYl2RiwKl#)-v z3DENg{JN7*rwd3I&Kavs_prWc$-ne zWnZ@7LB4AyLuXv_>WgncejEntk95u+B5&1R@UGbt3z+sE9gr6+H)CvZwAHxt3W>yD zc?188tfiH1I^Ud)@4OfNNjKqxF|%XmFQumsGKxQF*VukWwZYOTcG`DxKwD!k3`%Wn z_4lXLXLX(BCT&#Zzy2t2ZD*;Mz}y^t#imDwyrp}4I%s|>;+fAT2N#V}@?n@<9ftMj z<~#f=r_aM}ymMP8;Wyz953S*Y9uK{}wc7UxyFaVL|NEMOjpq+!|9`eoEGsJq8)WlW z2v%p~U}uADl=ok-y5=imD>D-p0JTfo8kw8%aB@OGI|Se>|DD4D$$2~q^zR&QNY3xm zcK)ix1<83lap&(c?2w$_JJ0@Ah6l)DgAnsi%V0>(mk9xD~I29Hf`iKRONjigy~YJmb$}2i7)+;9*UEM zr)!MDTpU+;U`9Yv1fgqRtzG%MRLWkC76~LKKA{$$?D3u0^B}d0(_iS`g~zWLNJOzT zp;aAFQ%sVmX_b_nKcJ}tL za7<|&2xq~QPXhM|d?TV3B$l%cWb)jKpDNW^BZ$8+XS#ax;VeG!^@U%1J7(R58&(~L z`tvf{s$Qz#%%n_#w)Xa`5sm2^Mx0ryHGi^|?oJxZ(Q>o5nZjR&wDNzA8&IzkKuz#u z`(4MoW}Mf}zf-kSw_`JIWErvHwR-lDSXnGCh#)&VBk^;7IbCD*;cRz$`N>fcH(8O! zs$@}NoPC##3hntPxsumUDrLBr#jnCSYT^!Us*xDRbzNh!D#|`mYpOM&j7NHeXG`;i zi+4q7#lrEfJUwIXr^zVduGZe>oYtyLx>k^y6rc=^UeVmee<^pgzoOxmBOH>r!0@}i_BmFR%nycp@ z4u^h7C+r<*MfS>6XZ6W_NRTSU^HebpBtZSTgz03p78%VUE$ppIlkTn5`eDdp{>LGr zxMD!sQQ`W}3p~;=#fH{EA_s+@P`|*M+i;R95fxnrW6m;RTl(+j@9oxe$TOf!e4Of<{=s&i$hf8ar#7kw{@ZMnW>R491KUh1B#V<87%ltB?N6U~KiJe@a3)?Hr z!Yr2g+Ds5(?2Rf@hO`UnunO<>49S9B!O!=7-KJcnQj1dc7qap!XiwX-)Myg-3Tr5c zL^HaPW)7Sxgtw_O8tz8TUe;@xB*gkx=2C03TxN)3x|qDCYa(|bJ4NsFs5sB1pdLH; z_&pyr?T8Cx$J#uu1&d9VyZCV|oQ_cD+wBH#gu=0Se4YbL8&QEwteA`$T+o)NT5))3 zt+WbGh}pQY^!RoMTS6knyB$4cS`%-Ax{|L!a!vwKdcyKA%qdIlQasRjY1bFjCyMG8 zgz`4@ya{@*k}|}baLdmaVskW80-3OAd!AYuY5i!Zte31Ml*!6><+(>rp&--F;reTr4-CYoFfJ zVxcGWieAiHW?FG>YVK?lofK1N z%;Rn7$IX1Y3@Gz_+>-Q`DWvJ@x-izc4T+RoSN?AoUnY9jsWb)2jnLt}{F=i`IHTp* z15kVWcT{hfkZHSkF+VRL5!6SRIdlxXm9huEJz%Jf;YkuE&+vumw0d&8#2ejw0g|5w7#v1 zG32u^)-Sx=zLY6bN_q)JBbpb5uJp&gJOJk{5oMD|mdR~ZqoXww{bs?tzPG!Tat4j@ZMI1;Z1?NnS(UxL zJyuqx{z}`uHk`Ne^{)@v8+8*1`B~@^1i#||nl1J3(kK)Z38R2WEIQOnVO z($ambbrd+QBC)mKb7&L)f~Ns$%iqj2b4R$84@vNxq^QD`H=os+R{?2^{n@cf+RFl? zdU-FM{P(BI{Z7#HbbIALZ*CCWi%zPnb}Ey$sOHYOwMR;xK9Ovy=(OT*9TMb3z@9ci zwR59=%84*|WTDd;b5BBhAYS=oxgUvVAR`OksNrsG#JEnwT0A*2YRqm)C9*^rG{}dm6Z7;jsB?GipoznB4>y3I_)M}dGJS|?z7u=_Yisueh z)+DFwhvGM!HkGU-B{u9x=Ei2<&LfA!O6l;K#WoGEpK8%8-6|`hbPs7K80hU(25^@X zmIpLs;*uB2aIoE-5$7vs8okD6MAJ*vvp+YBt=dzz`rQB8DAKqsGRomZmfL^{zW}S{ z{e4~!oyrp;XWG{D*pd8DuPD6Eq68Ng7-dhbik_AVtuPy_G4KcChS=qYAuz*|T=xML z6>-_%`!Jt;uh)ycVTq*7yGHB#11j3gC`liikZ9>Y!qhFq?-l%T-HuJr8R_BOt0i%c zS&sgORqC4DhkB0H>f;xwo_HT$@PID(`K$jSSz_O65l%txtK-&YZ~v;#Uj>hnnDSM( zQoQYt=U?sCHC@$pI=)MpY8qWt7id%)J)_j7R`_Bkj;?%l`jMwe<&vvTh+jd;wHFl`u8MJC;Qt*UQR+gv@`DKdjCExMtS$ez?UE6d8j%8C_GK49O2@2u#|ie7uH#yLbGCQ*guW^JZ8s1 z5hfDv!4^$ZZd{2tn^Q-jn5S~@Rn|isp#Z<7X)fq@S~SqcZ`q73>U;gY+Fj;{O^C-Q z`WihFd3AHu7e?c0+NKX4RbRe#)(t<5;r?u@de{8)8G+-(hu-n>hN3ZL924Qh(&2u%?FE-o7vg_gw{Qo_Q>+o>8i-}4{JIM=p5 z4c1sUtP!&9ALg*Jrn6E+g}5#*Cl&g?RLzE3Ic~=X6YyQ^OI`ULY$rTtX}YNUu-AyH5J5+Tgf#ae8lg$l0}?nlp)@!VcKJy zf?Y^<=t(o#Q|kP+9x8jpV%LM;+!k{lX8~=mX=jWr6PjsM646e}SuD1!KjU3EJbx*1 za2%64rSHVQ)a?HLnOmMJE3>y?{7qWBLZS%9wWe~A=3cTw;Jq6R~OS z{oR%It#(TX4MoeL&iD;QpWo7dA2<)c&4TZ!HzT2+ zNj$>-?v}83?*RS|Cp7xxmi#0=21(@e3W=l#J++GE#2kbgi^#N}rw*STyuL+9kBua~wpeqN&z8 zKfJ{p-U+DgR2#>{yrb$bbcST$`mPyhr9+oyt)H`8$x1&Q&9p+vnd0^J*ZID+Ly@0>zYz(vE^PQ77pbjuj(bsvh-J`-V%nu zqA4n-%#7EP0*g?SnP0>#|`yAQ)eZ7zrNpirJqla*G?F9rS z!mc^crT*%Mh8U_luebJvf`eBFN!LDzQBpdVqbp|IZj*xa3(iuou|D(Cyybv+;r= z9TqQVtL_<=_OLf+vcz`>sveZTeFKz_j)0U`bJ{`2`;-Qcf}qVfnh%u!E(R&j(Bcxu zFFPfAkr;^UJ!kK7S(Drs4k_Q@*WVhh=A7yp*{Dn<*#l);fGlw>3btdo{c!a8yRMmR zEqCGqSkXDzLO7~CL zTBURT`*IX`bqQHL{3_Pa*jc%_|KqFT1cL!L8#y~G z;0gKD5z?=tV^1=O=7*p2P#vcXRT0jfK}3!?!6Qj)yZ#amHy)wsN##bfgs(7G{=xVQ z!LiY-ulZj!8^=B(QCT0LtG)1+)Q;1K(ndtQ9MjSjxeL$AH2D86-#`c$QRoZ*V3S$neBPx zokF;ti4k=4&K8cWr3tobjv;TN6-zmr#QI1?ir@T2JIV{X?@qCLxLoz2qVOE?E6|Fpac+YPKYFOhc?dT!36ct~Tgiy_eFo&k>+TzH!GL&%^_=ir@9YN`@bIHsW zoLHyfIwCA<=9(5Yzx^mhsX5O#ua)klAxAE1q=&`Vh$n<`X+s1}z!()n)Xih2?Af4> z8M=}b-%n)~Bs0|B?Vzq-_=IhNjZj?OTIK<{NGU`(beT>qWw^>xy^loh*!sQ2O7+97 z*od*K=aFHR1Rd|&i1yL>Qo)Glb4cnx#I*)eB`<2jmWhLXyIt32wS(IUjZ&496u)+! z5YkBEa%CywPI$=%Blh93q-LH;QV&HD@)+Ca#Ly>DUSw&@Qikt`H-gaTz3t%e`d%B( zYKy-Gp;Hql+J{6oA6qRIe+WLo9TvWdtj8+FOH#8Yc^(%5_kbf6o(dg=nlcbwJjS>* zlbY*i7?!$@arHcR0M!*<#W?KyyWz5iNV=G(GEjwUvZHixp1n(zCqcZE?*AWe?*JWX zw5^NAwrwXJ+qOHl&5rG)V%xUSVaHCo!;WpUW4!9U&%Jk_d)__oj(gsFqsCur{cFvo zziL#?`Aw;-*)IZAB6wfWm@#ZA)dcANerJ$QlUdNj7YSuXf1pA%VSmMI)N%F=u}Y7o zwvrPAc_d{I4hO0KSzu2Oc<-xfjiQJJkp(GH+m)h(F&W1S!%Pubr322m4PkiZ3TmLg}%?DXN*^Z3L^%boJM{0PB@oNB)M%XKzexN3@Njsw@oxC@*X1QgPOAt*6gQK1zA(B+Nu>E&vkjRFW){si z$QlMQkI&QLFpd-^>f;}x?1Z|r6Wp3?f+!!mtD(n^d31L{od6wpGN~85@4;;uZSZAS z_IqFQ4Rj-olXvjwX*#$DDJ7kt&6FVCobW;u#4pNF2>>q>RmXWTTa}vrJbGl>>c)DF zu=%X7f*?LV4<5|^&6d`*XQSMNTZl)nvaMrw0pNVqfY?mvEz4cI^oxaA`3s zr@ym}vS3FGyP>iyHMPd&Jm|n3Qx0Td3 zx;W8L6y97;Lw{QS`Z9RX!ZecLfvq`j*a{F-7@JeLof%&pDi;E1bEtJ(P>m}Qh%P3N zCLGF=UQ(X(Bh3wOG3K31yI2^@)W(Mdu9J5USJr#=Zs;N@#gjB!z;=$_Yc=cDnP63N z2m950_tm}}_3s$1^OyVvz_PWwC07g0)pXHIP-R^M)cy77BM@A=Fa?Vw+k1lxAyIVB(|E3R?yd5neKr?_Xfn?;K3lbjki^Nv?$fv8l z;78i&nDHTk0a&s$1e>oV;%k!zFvJn{M2%{m6HjWRft^pw;g7QI;*JfS&CBl=QYR;j z{OG=9XNR@Z+$Vene?DEk%qIsvHYNl3dkS(7j$?bl+;xY<~KK*hO8WVEdKk~5S zab5oA8TVfGn68<^wCNA#=Kr}<4Mj^(icw#_(~e34%nK^}$9)pdb`>gU<(Y5vwR|*3 zo0-w3G-fh!u=&lf--Qv*ur_Uk;NOL0n*p1{G={At=1Vkf=g8^oE)k1Sf5BP;d@S@#3GdA)SXHumL@&) zfF%UNR( zzT3vrvH{;nUu!t`ixh#Mgf`PON#p5gm#!>JjVW}GUNecGz?miComXYvRPKhf^yu%H z=p~h>dxAN&90Nd;-4)D?g5XSt|QP^L_{jk|(L3I<*5ZGy8SDzi4S#lkT+D zXE&%rxKhZQ~-{LaW?!~B) zh4}mk#;`P8u~~{q#MPJAsLGPhmw%PVkRwm-0PxK&Yh%@;4D#r`XJ^$YFPZ^=uq>xC zrvWY|dWMwiVV2q;Cl`0z8vq)$1HF2r_*Z%EHE_#yzID)+7wdk{ltvfRxJLzsIO@?JDX~doZ7j$z4KqR{-_seo zRvU7q79|His#EqWYeU{42sP4|6E}r{C2a3@3?)C!`P4gmvChoL<*qEo^P|CFsQ>vKzz$%j4SmPMd7VW1EoW!#kue0c5aXu)j$;J9Gh$th0_D}mb= zat^3hXZjI|i{GJKT|bU~v8S8Qa>Ps|IF62$+5%xcGB75*CL^K(fWt*D6QJ^y3W@N6 zrm7rfbyF#CnwlH0EfrNC`ukB2c(MCy_3oa5z1zX$ze_)f$kIZbKa!H#F5v4VEyena z&cYO-d(=|fjIXQzC=Fr~NSco?KmBS~7P{KV0o4|(T+)^YISb+VoKX1Fcnb=FIA}Qp z5NuTQF*fdm7mQ5q^lREf@hh8P6Rr{h7sdJQ-z7U1P4HfZun}!IwKZV;dvF$2;Q3(& za1;E}uZ<~w^;`?VwXrGuM~R*FUj_F6GX*kGSpDy!G8^|lwg3N#s0el&dc6YDG^3P_O0Zf?V@|7b0F zSN(=!bsW(~QD~1R4R^71bv&GA=F{`wfRqKEUpmj9m1%h|-F9c)vn$V);~Xc7J6q6- zfZq_la(K7)=k!nWVKFgzt`+yYufI|)RE$vp9w{Lkq7{`I&fDdRH|5OB4|b68Cayp> zsV_fkFhAgUjcxkbM^&bj&K577d%XS85T7LiJbk|#h+ISCktp?B9opSJVNY-I`%~$W zmatCu`r{M|eLkexZ+>3rZq;d;fw4b*=Xz{M_wj1k9sV`FH~HsOI{D4hnpauADw-`k za&z4U>2jDbu>GilXQQwyB80z;&({;+vA!d?q3sssF>rw-N6?(4&GV}<2lShyi#ci^ z5hRZIBq9;=xBekfXHGU!E^`ALv$xL-uar6L*JQH~(G6Q8)o@xbbdALP;A3XGseYx? zK1?FXCc+?N1g%Jrb28>Xs0&cvw>j;6sLv&z*PNccb-~>!LDQ^ti@H~Qzo(kq34j8o zH8;~7Uw_JDXvQ@IkRHng0=64yc=!2_<%9(D_6CnP#eFMc%U|G!u(iYwnir#yAh2&6 z(kDB_(3E__`F0#H2rgMCV%K9OM{@;WBKtfneyQBpauW=BVMfU9)@UWSxU}u}Zf?>x zdY#$(U#A<-u*W)qqw-avpQq|f zaotezwWG97sboj1z%yoQP)=ZfxtIQvnQ(I*_(Io11f{P`IHd4v=4`y6{5~sgbhRa1 z$R5#wD0t^vP+fwVW8pwdPb*lvxg#Zs0~A3}nPv6HKvN6>W*#C>aP-lS76NKus&@jp zhZghh;`hOapLYI_=>csZC+=*%@z*wA zULm8Dzrdm@8%|n#z`BT^mcKh0w@X{!jY(hRDVVtp?Uv{t&vjRaB)$2&fT-+A!rPFP zb}qh7P56rZDTrQqzjY&OHkN$ze%v@r&N;FE!JVp6!C!5GCZqV~KHlJQ)a76Yu!@RD zqSQr^TFOb}ISpj|0`y-fd|7eXVB%N(d2qRG_*Coh`Ke!gp9r?C1Bz0Gm@W%0{3E(Q zHWYY6FloN$_Ky_b#Y2*uU*bXLM>#&Q<`EkDc8ym%g46|F6BfLI6}(5wzm)F!$j^4$ zS+xn_eToVpM2z%4r!e{oT~8yQEmr^D_X`COW4)1lOJBXf{|LlQjJfufR|Y}JvoV!| zm=wMN4PgQaeZz3)XsTFC_17xB=1F2RXc&*2y2jOB5$OIQ8IzChmd zGaQ>38%STM^DPui31iA}!Fe)m2>{P}N1Y2tCNAY;51*v$UHS8GkJ7L`lAPbekk7PH3UB@pvN<%rwQ2Zq0kQUMm&)fy}tyUVWhzA^X+e zMIz!*OJbgQL0Uoz1>t0prg5WR8QSupyFhElR4nEB0Do&Uj~k5JZ@p-c&CGIlP9{ODxQt@h?cBd~3$A0+hZD2C zc%q^i1tHQG2qJ_{_aqo<(}8fw7?c>Rkl;~p)^qTeM<~3eErhrflMmXOW@(mN$Ho{i zDuuc`^+PSn2Qw-m6g(HC!^5021G1_LTlpp7m}+`80`2bQEC*4a;|}&$OMZ0#{cpEmz{_CFPQlM31a>ixBTBl%-NX# z;+6kK{eQ*>00CU?zyIdI7b6?TKOxcoj1TyCkU7Uc(Aj^r>*L}0AAA6iOJM|N`DJBh zXJqC0SG2SzOTkv33nly!`!aw#J6OM=X!d&_1Rfuf+0w|2M3TCYs;sJ2=h)U2-`ufu z=OcGV>4QB!`p8wHWO3$EjB8b@+$1p5_DVIE_4D;F|MGOr*A3Ch{K=mbm^p^>8j`OE z^FMHDl32Z-+qZgx44{@X3#QU^5R{__@KXmXP{cHc3I^E2aXN!rG%Ri_@u0$-W#=m@ z!bNt9vffYz3o79Kj1F{f#-nx{cA?c4QPisF5ZfM!IiRlSGz-&K+}ey;qzdS>nw-7&4|-)(r`^wxQ9 zr-~O+Qs7DlOnd@Kn)24aJ)7>;!*l{B)@HtGpe!!Qqtnnt10|;i88TpwX(UZqxQvp- z+OloAhUA%G6{&aPwzzs%5K@??!9F2}$Xi^bUt}MbDLkR00U)NbNc|EoQU-ZCx(DL- z(NOO^CMP>V9;HXL45>y6O$FuOMq6|H18>_14>RE0qgM{(4y{4zN6h{WSIiJ z*i2K4&aNg!D-zX2p)4H)mn|pPRgkxeYDuy3%4$R_V)#)MBTBtlQB;!Dx73n@lK#Mm zsW(Q2{KjR;f+E#TZ$?2Yu*HgwIp!!?H;nhIY~~9aB3zW1?a`DS$C<8RW}y6iDZrei zXy$CD+m@XMNbdeMs=^2@@>uRqG`xBcx0f~{Tor5h$f5!R2Pqi39s__XS8_h)dm^s& z#1(ZebXJlJ!L#C5#fyZ9mz~aU>?xpds?szoF@*#2U%UGTr00!(dq^vw7Kjri=1LZ} z7+EmT2UGpo0$WmHk|n%~i7tJ^HUwKz zh#;_EqaT5lP!|PT@?(pa!}MjE}bYHi-TFB&l05O zN>~EWAdjYTJwt@}+ps{M=LJEVZcHF@stO++_;??TgM$r!uKk6cEr)AJ21VyQ zbj5yxLWOH?E{BhvR@Yb-1WeaFIUQlGl>7>szTQ>hFwt}@H3BV%+5-uK?@-7{+&k5% z=`Q(zC^~VM$t9QmnZHi2Ozn46$aD8gF6&EwhyWPvycdPdpvo->)Vl>o_u(PwqqQzA zk`oOF_ArM(BnjtHut_GD3FpXB!GoBi{>}7M^1LpAGUdq3)_b5-xtl{JY_+eb@|~>` zsF0FT=u}-M10`pDwHdC2?M26b%ZR>IcExHX%;cOU_aO>N8$oq>_u){PmAyC_22F#7 zq6QcjTVeQrjGJ0!iIgpZP3Ej6smuT_ocy!R1~_$L4+C7x0`M2-JPJ42b;eP4JKO{b z`rSfvDx;+7I8KJ~MRHg+NSUtLw2404AAQtuIzsil{%}xmxfAD}Ha}qP%KyXv*|yim zxpzyTYtS}lE!}7HP87X+w!va>36yjfJO9c1B4oX>r)MVpQdHmI`4-#n*}o&8XRD{1 zsdjBo9^rJ&D2}R3Dwo@CnjldCUyd_9&+<_FeVzeVX(*O*jXIvgFpYE+iP~LBhy^Y# zPV6Gz-{c2*lN5SH`B)u2zs6^OW>^~i8<$S|FKKvk1nvw%I#GYf&ClSsd0qiUnjbqT zy|abB%jDGxcQpCKD@;mgxR6(W3Qu6ejd2*&<+AcDT3N z!_4)oeoSvI9X7GJ@=)q}kZ+%3eseY>l2KwAvAh`JZMR>g7 zYuYfjp~UI_AS-8wzZU14+wES#OqGE*guY{;=5YV`&<$kG(O~xMfle}mj}O6OF=HGP zx>qrHASN;wMhO1snpdrU!^>|Szaz&Dh3*xY^+Sa>$>TAo5BW7QsX|{D0i=!J!yLpL z_5{IFKYZh^3bir6c>1<`WcTlN>F3B&y5^Yj<`VG^{GjY2?EJp;dy6}6nV|BUj)&|7%i{g;00#f z8~-Es#m4*>jQIbR>-ne3`M;qb|Ijx7E7!xt^S{IO=*a!$dNvK)KX>fl-21E8y~UW> ztqI2JVhf{7ss&YLb*ws%x2~qFC}Pj?x$XCoA=YpM@L~`D#QyB~9oqEnC+PR*RAFWF z(@k*YV)419HYoabNh~Q$L(Jq3noX^uLW!O#65#_OJk{6(37F(;D6>^s&%rWA)C7Vq z$U!L-@B91$_q2HGL&ix&ZgNJ9UB8DK@99S|^v4ua{ORfHnaz8D`j8il4e~vmP1Sq) zxlEy0hDjKBU;qbyO;G^So2S(4L<9HbE({z!hUp7)5O%B~_;5NNQkv)tpe!6r`exwG zC6c|=4o+HJ44H*I$GH!Txx-3)J~Z)HOVHqTQ`s&8g-jSp$1F+;JcDpVh$Op025TG) zNa=4Er2!bNpM}cZ6quy4BZG|vYRO5!-W*#8Ih=-pteh`UZbkH_x->9T)cE3oMAdMl zSp*Nm?O{{gm(DnGQ`+$Mg(QKs7NArSnlQ7Wq&FFCT0e_m?<#o}J!UBYfu#!&T8)(S zp;kpreP;CCpw@81Ph)Om@Q^!Qx-?dsw4qi5cU{t1-)yof_}Q>C+9gnkY(*fJ<+?=y zR18B};|nxd-`IaTn@3TJ^f~FZjaY=CD5&-44ZXWUB2Q4=&%>HPY+x$&=K$9(B_4rV zpC=sF$|Ql|Q(F@6&jFN0dP^QkrerGwt|)#CQO#kwLv+>y`tZhpr>IzIc(u7h2jR_M zQ?W8QhOy}&6F%YtPM;wYnGCMe3Q|_EcYi_!12!xJkr~2+QWUw0Pc3D&2*&a)#*e8v z&S`MWiYEh{Gz+a<(B}4A=g_c7tST1Vz@HQ-8-OCI_*aL@crOOdR1JbW^?(fEj*h0( znNbwx^A{pP-vi%q*7&IqIr$GezwhtH_Pzz`d%s$<5~r3eO+{Q3%|!z_&14{h)A*82VcSvD8vj5!oEe-dcZIoIR20d5zRg$-dsZ#q z|LJQzwLjn+V#s%w+MhSz8@5rD!Q>&A`23@1|C>TE00@m%9$+d2FTf^K^#^HbqpWp; zD}-WDPlsUnh|cmagVH1FME9$*19nogP{k>Qd?Z598)rz6Rtq`s3q>ZP(@qG3F0BYf ztenWO@P^JJ3xmu0Lu+x_5fz6-Ls-}x=19zo^sP`bXsCfLvLWVHXm~MV$s}(x z6zn*}RyGvaCXT40At|pS^F|FJ*!ce#M)MOMQFXS4J;SFL9WMtE2IY(;D=}{bBQQe9 zLcqYzjS7!QC&YoL=8raX|FyVZ${#q5o?~Dxl&zyhenA2OkxqD_Vu%-l z7`zG{-qacMf=t~5Xzjewsr))>GEXSfJa2(p5`A$GJYw1GCL~Lym=$wv`56V5WQJmh zsqhJaWxy5Bmw5nYTtx{E9x+W2LB1%(xp3adiwbSJ>Zu$URSDkkpW<)rr3%ojxI-4%QIVc|4l`tNf~W{ewF{Z!2HPaHFGk z#?xPkc4!IbyRk*8@T0V?ao1;V9!pO;w1Q*(xm!Ey5?5kC!;+BQWBsr4^hbH4-2&=6#6zu}?~UPmWwqN^%XuA|kFb;{wbvL3wn4 zq*@w(d*`UL_bjvwG6=spTadzXt2InAc;skvSB&V3h&OL@H#?oynr#p@1AAv-E<6r3 zxMvu0M(=)-jDSxMWTHhh>RXfoYoG!heijG7N>}N|3dux}g?Z<~CEHmaqY`#eQ$5;7 zkUr5hR4iAXz6Ig(!AVuxgL)BP!z8!?)dME5GCohpdPy(tVU%1BZ@r-jxa^}s_M{%b zKVob~vb%Lv|H%h`6Ts!Qe9GE@?H#4uAZ0E~u}aYEFK&<04F9(47I*#2PWt0vq`&!^ zz#y~>+XF>)h%J-~1N1!!^1~do2@Z8Ly`CJtQ1BC&`=<3X@cqS|XRcDqKlg-Li{pDl z&>N9H1TkZGbIqowj%Ys9cD&@mn3C6XqPou{Jq(_`wv^i&gBRJy**tW+6L|RwJ-UL$ zi`hsRK(rvRiLaH~kr>+J3LX^u`JnSwhq2{(w^d2-sw|!kqntpx%(8xc9(6G2KDd3M z{2Pft%FlGdC-?mo`(6GLhAzm*827I2e)y4+0Ow-2-zf;Y=cUk7pl+Ti_*j)(IvCiE|XT-aEc zx&H^3!@O_dPV+3>EEV!ZBI8uoXMr|%0*z8|gu*k?L=2EIRS z5hnk9FfO)MZL>lY*0Eq?jGOir zx1|?z!UZFw6r%~>e3E;x())gpXtjKC(9K`{#s+QOrR zScQdsaf2q{nIsXBGZ$0D^S-<7Er)(d9%pE;5MCThkU_+dE>TgbvCfpY=$C-3k_^}4 zm^FtBJIf62-!DDOL<`bR0d536Ds-Tkg9S^L8=g_jXyF=ovQ?TL<&2zbm_PUt|9$#c zw96M0z#5gogbB(&H_<9fBWuP{o0QG~+?KtTTlzHwBBJ z8Y9#75#j$Hv06q!lvJ@4432XzP4)ZW@wLk_;Hi=^{{uYuAmX)anCVkb zIN}R?Rv5&Od;2|Vbtm|Z-*$-D;uAg6kfdM|Ded9YWa0%dFm9PBWXcc=m5x}zR!`)O z0g$I=FC=SbrJZE2w2iC~zp3EKNfO+l=?W2i&R4Eh)Xh!DV&ku!VVskRsD1Pl!NDj& zWD|gRlE0Ucar|#d7*rZCt`AsJun>?*y;c}39Puoo@{<+7PHn}xDOdV-y0Sj=v1DA@ zn;wt>&~2(YuL=$d%pIMntAT7!(Tawl)E zG9n57F7QzWCNacW|A$do+@blqegWXr!m-PUq{!tTH%8e9z(Laf4{h)mDg)>C*fd2W zD{G86fc@RSH)Ise!+PokFh+`tU{B40OkNMIK)SngTWqV+F4oso$fzgLUz!j#l>w%5 z!3H;cA3{F-w`N*tGr?=OmYah9dTIFrb?Ps_>Z5hjdcQOn&Q}&8&OxvvbFT&?WOsd4 za3!$`k?`6!SkMl3#UdV~jc?&%uBIl|!4s3+A}=X?mQ}M1(Wij3q?!YZ#1e-Q7usg0 zbcZkkVZPAdTZ9Rt0j;>?#k0S1!a@+eZ7b z28f8a-pVq8FA|@a;v23>!jy{zZo*-^@UL|=T3Tkmf)Z%3SyRB(;S)IlQ$sweY6YGJ0rQuagzUW&2M1C;L8GyUq@W2^W++9llPJ&@FgVu1 zXcKB_=ffbv;%x9_zcx^dU_{|o=r)*;Q;)#Plo+rBuj0G_JTw}C$Ng1G@a_6=^uYiV z2P51uVadL5ZBS{FRC4%Lvpo2MfctfVj98|B7 zl0(npsLene5Jdznr+UD|kr|aLaJJ}a`sRYq_q_eg_5Q@gGmcWg60KTNC3!S93;cn{s>2k zeHf#va?1L0nOK#0j4*CrMD8aMmz=<9%P1)s{MVd$P3}uV>4h%5(JuH~ zA7K|D%9%GK%?Q8)$ECrgW24)CA_ltG%;;jzp=~iMv`09*@{!%UWeeEzdKt7$=#n|O zTtAX9ac;PSOYW42q3E5c&}vzwOSa4Y@Sd025lFMm_9g7Ku#vyqZVp|FBIpM#N- zH{_eiNlvuOotsg_z_XK*cQgkpNEzNg55)T=j)#y@-GVejFL`EimnfEPp|CySS- z_53zek@OgNo@X>Aa^)H7Z9!oAet%dbzwj8JrqOL6%lCa_5a3df8BvtT?TpEk$jTwK zTEJ;C`OR#0WQjztZU~tl<`s#cOvsRRxA=Lz#{3*n0_m`B6ON{flOy^qc)f7UO35WV z`Mf+uEP1^uQXs^LWR<>3i36U+|1qkxK2ecqmxK^urdD@MEN4lY8rf|ImlWB2CNt82 z#*2n&IVK@u6}~b#V*RXyT$HIqk?2-WW&n|7eG~UqS$39l#t-uZu9z~hQ5#iPp*Z!;nSX_ujnM|-bk@b#L5^+*~fzX(EKZ)xA%3D zYqIz9YEx)y%kOoT>3;E;jZ<=Uh99LPlornOgfRVx-k>8O$>%YjIFINqBtRbdZ11bT z(>3(t)7kCY-uuSmFIVZ$EUG>Y6wx2n!Dm$a^%kNX)?)qH;r5mx;P^%#;sKt+C`R^W zelUtI#JvsoK9BD*mp)1!sIMozov+`^n{Xm zD$?fC@e=r~z2D}Tp6*5<7p)~x-M&H-5OjuKU0i?;uMgFZJFk3@_#05a_;@|Wqv_ttAVvJ9> zhQ<#SYMk6#)Z2*5bTdgG_4(mi)AkmrFL>zNBJzaZYZfL<};(<)){NHg85l$w_qx7du+m5vE8aE<0@$q4b z)t?>_$a2|=6;I|FTUdsBbW38}pO(s4w@|e^kK-v^jHyo#;}KjZeou^kZMqX!owRL?m=|N%*~fVn`vS zu)W`zn9-hHBuYjf9UZy5dZUI7O%Eg^ZZ}#XC@CozKw1PwUKp<~$_lo;k#9%n6Z)ZF zrqxdB6``%j++Y|#@9eulKKPj3TyDcf1CP1++R3lGs)vH5PY3`v>QD)c{^eN%Sol3g zUi@~Xv(ffkgClM`fyAfZUEa%ZpRXzYp6jIL1&}U7zlF(R=V1F6V40JLl@aL9#mddb$j$n%>huj=xoCq? z)D7gRfOdQ_v}*;SDnk;8rV-OI#zvCpgj7IH7y+PpY)dKk>!RP)qZd`$#d9|dl-H^J zluydVEBf5prdc%4`CJEPz%$$61lKtBC$u;il6YzMH zY!@{tsp_M_ZP@d*pTDg3N~Fz$*mdR0ae&I>g8MsHs^9)at}K=PmH*6DDZ5T6H@G^y z$=h1>wHA><0PaC*x4q-DnEVM#3l}Z_!V7PjrU((yuBO;PHn+j2pU-3YYghf&yQ=$L z{K_=TWzx?#qBncPQxBIJ#O}|vD--Fx$KJFc>iyLDWz$c)pm9?bo>onndmP=aBv=gD zU94g{$d+$&92Y$mbus#yaFEpbx)c@|uBxmHQ$c8Rc`rFUwEoz1)<6gGucmjIjh8YK zJH+m?&}&VKd{TmU!CQl}YrBk+4#1Ut3BJGSi9*IK2%JY=WN(9StAe{bh z!?lGP*b@IO!Sm3#Kjue{v6T5<<2R_TZu!&m>orG^J1bD=6j3{a59O|u8?O(r!bVyx zR|>*}P6+}num~~AWifHyHL|upvZ+v53ibekD`cnDp!>X_tQ!w=^?@7(;&rq2C+wi( zBkJ8yW?*=orZX8mPch5VEgXV)C7mE&6>k{gXix@DnzOJNMmi^$+@DCmPN5R;Vg$N8 z&FUk`N5Gn*$T@3=>VkNCK_gio+o4t=CP)k=sEmBmI6&;E4EKt^6qjM%eA&`lfwu{Z z8VF6M<0|GkgW$cRrfB@pHF7f>ut8!E=FbqO6Fa=7(}q6TSyP#z!A!T2LH`k<&7)%6 zRL4q{zzTYU+H#qZ4rN{kLPFff+~@iAtnZLrn$VSPwXMj`jMR`;$)GuKoMvdOnziy9 zX3$R;jU&re1Uh$(2?_-1-1_X0EQiqC@6WdS>Zb-+nX&GStBk4iKOr%WA@r~&g7UJM zUEDZRLCz$amG5MEbygxJYDb1h)p9G$3+Z!NYu+UO5G*1{9?P-}nAeb#+$W(*P$?re z%&XI?>9#WP;%|eq#){c4=TOzlRzylp=eVJGF7C`ku==8OXN~~0_8iD&0cbLvUNqC} z0`21`PkGOvTlj%Cf#WsIucKL{UkdQIw_^As=1BC8TCxl@GJpK=#%w||3=sWeNWZUG z!2CqZ9OLm0%URYQ!z1cP0P-jY5)L|&okj;Lys2-F0T>5CuV&>OvdKEAWIs2*{*6lA zSChsh4SJR_QW?o>hkY}<|C`Pi1LP4Gu4Rap^cSt$b#WaSoUlAd3|Fi<>Y7Tg9(6*@ z185MVcu@O7E3|AS3v19)o)HG`qWK*CG=9(=_ZcD*v~VV03^6|4vvTJC( z+I=%}5)O>wK}-$iDd8c{^lOo^#NYN6mz*gjDw)pvuQn9cG|mX#>SMF$*i2 zMP^jF=(p2EaYuk@Q*25oKq`Dmv4{mkIVu_97`0>=W=Tr-#ni3xkd9<$Dw3zz{p`eY zw2qP-aD8wnDpUa4+qKktQiKRKg>iVB-wmaS%9L#kYCg)~ujF9CoH?0;$O`iCiRjG0 zwBUwG$V)8b+t$2n24*RdilO*NcR2F-`Z{8g2GOtCD|~Ve6{f08OW7sBKo1E8bX`v_viS`^)wGJ z;t9s(i6=M6E^s!?ACq={u4LrFQ69lm3umW_Rpd`S`{B6GKxpT2|9#IhNT>PX9W>DT zWwM(UG&$27aClMB8E7n=)g{4OZ#R4(+wx(`RxGUWgA1e#E!~e3i}ai=W6su9(kyb; z78wLUaoV;)$Ys`B(fpFpb*2&7+UnO(#`dijDor?n>x|5wm70VxQQ|jVj{&#~CcVN7 z}IeA0iq_D6A)?^`h?~92VlEeQuQ}l*tpKt(Jzt@CTqOjpoVTy z0AL=^mcXdo{lP8r-eum&JL_V<`Ev#Wta7Qv86}$ef(1wG7rHvt)JR#e*ss(DqZ`|m zcVJ|J`*8@7HbZo!48k15!g}Ggv!%spTF`|KG79k8*RF+Am#eHI5GU=lSv4pTx~kaX z$QkMJ8|u6|Q-G3q62X4ToO0qje)ul>EPx!pY< z*&Bsc{K{^s0s8AI)@FmXk#w=6D+5nRp5duMAcg2l7#6%BHo7-`FIp!cbbBJEV zep6~fj7RBC>B++~*nl}H;%J~QS`3Bw+u^B~E6euPC!gg)icfuG(H&FsY){`!J<*s! z2EdaDgfJ8{2C93J-zbMG%g4LekX^6lMK*|vid=nMQ2TuwJDqg1+ z8&`3EqXTPD5ORk20o6wtn2^HUFGF=bp$Sutkbkd&CJs_tC(#;ceOwbIvm#42b4j7X z-uNeLo$Oqeg`D48VaO_BugMZp4U-jZpskDojGVFWxIo(G4z*%FH?Ln{0%GnN)Y*%6hN%!Fs{00xP zWp%vJXML($;WVAsTfvd4))r{{z$%T9Tl9{-{<)bW0;|5$E5Kij2)CKVyTu~q+NIla zClM-BVE%6K_{DF;@#@Q*WqwzDQ&wnL2VRDB^)CwfcX&Ms0XL`kr?iu_co3M*1cw#q zhOo$}rFh~*>O3&5w$4j{(`JK!Nr9VdJjr;QGZ=O$Q+-glt0+=}s-eKmH(C4{4&=QQ ztp@#kl$|{qm(W89-YGu4O#NAMYLWycZE#Kd^6p?^9&@7Oq3W07)s*6ZUy9^Sq>rHP zOM$La@oYCFnf1^5@LgZ*1bCSn1P*J>!6rDHz6dFUEZ(wQ%}Nmvv2wykLWBnTL{6Qt zncJo836>Qw*p7`UEwMu-#D4;hQuaP8&<<8L z3b(L_A3~{E|5Mf?Q+X{jD?JG}jJPUl@Aot?N3lYlR+S$3D26`D!A~+a84p!DKMcOk z$@V&!^D6YE#_1_6VT;_8LR*7$Z&F!aL%sYLj(rAH{j8kC`XJLGBT}6?OlI>^DF~gH zduCz=&S+W(h7RdlXMWczoNtx)gi zCE3jafgAVhZ_he128Yg~J!uNTOOkocl-V^o29bwv(xh=u9K_Osht=3(LFpes+QLSv zaX!8`*=Ltb$693HzffL*6n|iLi=8(^mqtbA<#dJ@U!iGFNo?e6)y30W^FNs6hpFx2 z;bN>MH{Jy8`Mi?VBjbUaHR;xj$l0@(c-gX|6m9B4DnC`KdC6M2xzXn`w4;(r)oKJ$E`K%iOME#zxpGwEE)#5f#22edUXAXp0%Z-Q>_u5cUF zjHIUEHh`4Ku$t4`_Jj%2Wn_b@eqpO?XN4{dg^)O0IJ&08gJdseGCLZ29L6;y6CPR2Y@Go`z_0(0TMq$mg7C&#=CBmJuFq*h>H9M|J;lg4fN^_wy$rR{}2fs`y!=I|-X^aVjvJYPWqK z+sd7tAV_}IkV!TCm^GS%qP6td{AM9P5kw+SYsHCnEdt_0U7Wh&KQpK!Ap!_2+w-tv zcemDx;q}vj#3AjJ@uS&zcFkNm&;h-* z{qCExzGa?Mz5Pauy}A1M>v-#HDGSpG9T+}fH#se3q?6cO&!!O*a0MKX_Sh%e3pg1ma=PNtU|p#2gV-pmt&S%H~j84h?mJo?u`8KgW`4?zREyh z8zr_?*wLL3N%js>5TXT*e>IlxWpr^auydz%oF?Xlu-9he1thUv`5Hvzt8=91^xBgR zbT2JF<7PxWh8f9N(o8{=uV*;E`~5l7Q_oKr*Sli^V%#8bDM@8DgXbJnf<6h!z%m{K zuiBK&UvH3XV8)in@kK(#LWi_|*|dJTwC`t39J!V{`5HP(F{M`CVQHvnx<<5NTm&A~ z?PFc*cX@gAO7#qvy*Q2Sd;bv$V`KhnY4~44pnzeU|KXnb7lC49=Kd!d^}km71H%aY zD+2XDJ9e^j|BGWM8yhnt4>vG-3mYTzzjx@+*0&|#!tgU({wzojCTysxb`*hGHsC9C zqzo6N@S{_Z&BVwO+`oF%lPR9{v}kr;X6d&*I`7Eu?Ci`^VTGbjiFvx2jjqpsQRMDD9oyGrQUN-^lb7R8{$QWLA^#ivgu{%PZvf0`9A%E^6w2G@;R|gtkM8MGmML{=3yf zxr$g<5tO3&l=K-b+$k6Y#N)IEz|>;{Z-L7bPab=Z>eTv5=ycWqY@OEc)qMpUkrvG0)xo-=l|mEEr2Uo zf-6xmkC>&AG-76EW*9LuGcz+YGcz+YGt-EfHDZRqi^5puIlWr z8(F6_PiESpfZw-hY_2L(+ z%F{>A%i-veF!UIKU;-njlr}>rtfQxLAM!OU0;h4SzCsS2gKBUn9S~CgkVpiSWQ0jO zvPY`VPzp)uxSBqm`KO(4`Edflow{LXUlBc+=P*04HI^)sY;X!w;Un>rb57yu zO*N4Q9Eq>tp<5?3y7BBsc6#p#BE2Glc@q8QvyR$4ZU(sc`joqIjt zO;%?Yhe$Ben>fK}%02e{Dbt5GHY)E>UxAAJL`X)u+J>wYv}Hf ziii^p)GlePOpmIVy3Mrn^IuV3*Oj#JJi_B0*g9;Uj;P!2uR0IejHo<55qE+IjK{~P zCl)>U{WUEaNzAA7R7Xl|;>XAuW{4)|8njx8b;onhl`y{z153eqd$>flM0CzJKYTpk zps_q2hM<+Y#y+9GI?w=j{h&$2Q66>99OPjnB!QA0fUYl2tSf zgq2WI8d`-6&jxfPaBtQW=&JdXt-bd;^m=rL>EP%zch*jT{9DRi0aCEJ0P6R<5~LPV zM`@iZmnfuJ31@aBav_DmOzu-bbEN|O$F^T(AsvDuUgseQC)dnEH#c=p2Ot$R)f0mp z@0oO0V#4!jS>P+khSHmje^_PdR3N~aUD@%V&KDhmpEA5#mT0-qc=3~F#FRwRrfjS;&h0(b0DLbP^I}z zY8UJ?sDGujm#I~A-3cn^_sUPa@%OsxQQ>C2lBu3zscd`0|E4ryXR}j(yHWU6swDB? zMdG_xdvA43*gV+dnpDP+!}sWC$;|0=4We0r7EKeoxTJ%(Yast6nPlaU-MxeLm(Mv_ zr^f$iLHgst_@7*mSpKlg{xg@zKOzj7|4oD;9RmZyzp~K&wjj~{BOhC%ij?(Ns)5cg z78+kN&?bNpTfa3PgpT_KdM66qjKG}yYzt`ukR#mttEYf?Lc^Tf@+4GHCg(Rc>mUYf z*iuE9s#)^gWs$88PHUFl5_HYINV|29HLE=NefM>x326+P7A);++_i72)r?F^!eLN$ ze72`H>b9A4k=Z37l-UvTs}SPCMg}WNtfZv*!%!)C`13W&Wac{3V{*Z3fRFMo*ZL?^ zVTDg*rY4E zmF5<5vtd@#ti0Zy z$e5=;w*_u(+f7TJ>sQg0Gz9QqK;^|l8cUuSCq%gMQxE+`p3@FS(4q)jd;PJ?D~E6V zz}Yakm_bblZNOW#Vjz%@C6Yaz{ziT!KjFRTy|JH{p7=&&C zyMQ@lms`^H*0u3=Q}t}#-s;JJ%Jmb;@R92WE*&V(!ghryH#0X`^v(O76yj~`_|&wr zm2vgL<*yx{Ze|%COP0r(+uOjBTa3Lz7o>;jA54!6w%^P$qyzS1ko9HZN=u8ID1IKv zPqNT+Pn9~#OrqsJfUmQ{VhkJpj6GU6Ito~;s@t`Tuyax;v0t}T^Hq~p?T@rCxwAK` zHwqIui5hV~c-KoR95?#K*K%MIJWLunI`Q4vvt@b2?u0~2fHcfRDT%Y%eWJQIYJS4L ziW2&+TnY7rkFyQ9yJhgMY~fgwf65;1sL*4PGdYVSXVu>?Fi%O}Qi)9{Mz2e^!Oson ztZmyZ@taah>>1zmMirI?ij{)`dMf(&-yYWU(wtqS?}!|=>)fb&7u4-n;pZ)LIaM^4 zzoCOYW4S=@sKU=lJi*K5Ar;AAdr-#);svaRN)k4YEhzT+ z$95tXZ7MFba2tUlj~`WZ?Qyc|{MdRxev@514*l+*fVwMClBt-n9)anTTFTIZ78iVB zUjH5q@gnakcT(ZQJ$$6zOB(ucrxw%c`@I=%xRSS+UFAn|HH+$wjV5=ego(HRILGRq zQjVz*@S?i!-o-b-9fhL)pz;RQb-_OX5ucPz80X|I^i5h{-pXn9w++cQ@mqpuQl z+aFk6y1X00pXwmI_#2K{L zF3Po`11+zlnwRXb&9Hi$e>w>iv7i^j2_bV$^w2-R5Xi!*Yu4V=~(+F?5i3+rOTPrZpeiFqGK zNgKg+TK+g4w-W!rUF1n7{r9^6%Ps#mfB65MTb`Ty&$xfqkFU}GX!ifTl>FDec)I^K z{rTU#3H_G~&p(2^{_@=ajsDEW^nbMOC~uf!v%z@drhN9&1a9~%QmKCU!LOVfxUZ|5 z=D;nxpC6E>^Unu=yplu@-^QkjA&u13wDU+TO~(lIwWO~*r;gCFCi*AYnbQC-i~>YUG%gu`JZkAS#< zig4lu)pp}d8F|r1`dmr`gFRK&?EJhUD|yYP&*5H3&@dh<|-!dSXpsR*LPQz8(J|`)Wo>`ODFKY~%+O7a# z2=2zuz16wLmhiVtEYh{0mJQ9L0&3>Lcj}v1c_fl>4Uf0jIvMbCsxoFV1Ek1Ua(&r+ zg|G0*v(sDLQ+Lgcb+Mpq*+#Bi={c>U5%9#t?Lc1wLDkI-fw9lmDu|EG*(~Q8o|Vki z&-}}evU2s>+v~^@eE=FHAiqZ=;R`4xE8fUCC4c!P0Q2_C#w|a!U$%_mO>1BovTOX6 zEIGtUlc-wId=G1ApUKC2NmB&Cph9z2Xnj?INn0UHRM+AYp{S?OP4iG=oAjv+Y=r`ktL&Rm>1^+m zvA1h+?LY#Jpx)5Q2wuRvbEd(YEu1E>XM*72JK@M5V4cIn|+T8>nh@hE~cv1ZxL(O#7UO zeFrz5=8sKS_gFAF#ZzHa+a@WF9ujZ=2-4NDh(xl3rrVD>Hyxd-V}<5m z+y8ykxIiV5giNeEgpSo+b?T`_U9R&eAe z18hXmD8YIL_mtfhre#;duP-4=9FnpBbpWTy;Jp?SNEh4Rqz;IWCs*;p8>k8zJLKo}mt|T~1Mu24J73vU?V5zkZ z%XKpd>cICw&ji9Y)@f5V_vz=$=z6 z13mDi9;bpeC%oKN#dN5OqP)CTl^%FL52tzW6YYl=x2l+>iD2Xmv(wAhMmN0!tP)>pg+BUHagiF~6pm284-nN9(Eh8d) zQht5LDRbK)W;N%`f6C_` z8Rt67d(lf{N;l_dZnI#m33~Ker(FT<$S=@i>Z-77<*{f&WzoHndA2RGLfDDtu^8Qv zhD|16-6Kx)iopk`+|h(uRT=jCwq*;i<8Ga0=u^wIiOWzC78dn;f=E#UWFK*ne6s#>$Y{ z&TJe-^Tc&I1h29hdYA3ci3b}Yapz+f{SZT>q?j*Lyn$~|eRm$ED|M?Eo;vS6#~y52 zth#5go7>=2hsBkle}&$UP>oi;iEa>ChvDefj?C~A`wbb0En|BRojBa`d==Ipyt!#A zS!tB$VZtS+IeRcAQO$!+L;c(sG9OAoM4qFA07#|rslL&1kj;6KEjWf&u$edNDj6nm zgb+Bj6fZ^tKM%v&wo%tE>-=)*B;oM|(zqiUVlWjNZFY6mta{Jivr^#3wrb5X$JH#& ze{xA~-Z|lKl>1xV>o)&JZBcZOYIouqeag@0%Pk6_D=Qk4y$wO5Va>i9)oV*5da?KK zy<9XpOPfwNt@8%hhF>20_bTTLApI@(&;K3Vq7i1oqx-8M;1_iH8}jfuDq2wqHZ{M?Ow68KYUdTqSBFEB|nr@fn6E>tSqrnTee0ry)YkLMR}65P91_GOow z$T3@O^`|I&8>D?~pT(S3$}601E-438u{rBnK+tjy#g{4U+fRtql8amj0%rWLLQp4@ zb<|-6>6gp>2Svj7KbI5V-5{Ks%cJ`uH&c#tZKPP}kG-h}joRO*TURB!afX+R zbb*o-uBue2vHZF}G0a-@sbFV5XnH)j{NqsO6E^#|lqg$ZJVU_tW3{NL+@YaW8vOfd zK*6tpP@G>p+20B76Vb`=S=QjgF$uUQP4Gir3`@@AUR%H^I9dZr#^c{aBRrlR8g~iy znv1UjdDf1u0d9;$L1l zTV*CiV^_9fU>gfJdycB4Jw3vERhgm;z!YdT(6G6$Ga!OhH8UY=gmlsyu}_#Dza`zO+U|HBZW|SknZQ!SW$dfOvK%jhlLT$hi!|? zZ@@_j`c{SfI3~C_H~B0n=Fu$W(>v5Odpg6kX492oVu1xGBN#_wTd&vazan+(LkZIG z&2!y3j_o-~aV1hL}!zAp*>q}~vMecc5j7ZzgE z*Cf^Fj!vpje}WGFg`FzHD-;`Wlo4YEXf4dEHHm)19V_!J4=$4;vm8oO%q`e z09|OKY)$w_#A*d;q~0vLUq1ZMivornau1;eGubgal+OcEx=F508OoPASr(9Am>or0 z(MNJL;)5(=CsNbgc`fAZhGn52fba?)IaE{J55a?@d_K38uxtAw7~qB; zmpSiL@BwelF>eUJVuQ zbWj{7J&T?-AyCy-gL+=rC+PPPOOo~h0j{XvL>`o;U=PAyEc)p)h`UdK5cd=c?w&9m z-xXjv258o;1*9Q%PLdN31@mL00rn7y5TGgugyc+$5N(y5jo&Z+92L>|GDFeV0n(tX z|D^_Qmn4RX(4elEzuE*39&O~x#HkBQG;l$(p+SbbZmz$l+X1(xChee714csu21tq$ zO8@9bh_=xgJDf!JD0DZ1e#^9eAm^GG_^ufpbG$h%^iogF8gU&5Jj6inF|a%Ub4|>K zuMVCQfLKpS>FcboLpt+8XdbXHZyku=Duo3u7dVivqIJc>IWTHaY4PknCu>Xvt+?ks zxSJgwyua^MM$OzduZ`=rk2D873k2Jg76uECa+<6;k*loRobQt(0bEIa!D3>d7Z4xt z87xkBP8lo67@ZE`95duWrv;Kf(C~Z{SgRwR4&Gu`21liiB@Ad9eQHl+FSDRRjy#E8 zF6*8T1a``9LOsOLPg9gsqSy#Py`FS>-MCp>UXWD^4kzq^r%V*C;oeY&ZWh*W%Km0m z(C~O*lZj!+jCk-J?!0HObdq+M@F9uupwL4u3`kg+U`7G-s-EpK(!h_gWa&vES+{%1X&02P&4vF7Q}%@Z^;s8#-$l_ef+t`clJ z%$zATscSzA*F;}t9I*gKbVuZFOqFl)*GA|Dd;u?VGw1KE2!a8m#JG#kT%DR@^;7CN zPH}45t7P?=5Vk}pMkMl&jrSSe`m|wti;PKLpQgnHYSUmc$q%;ZKQ=V$76ZG(oY4<$ zTCvG2pjQpLywKVtwLo4;kK zAy)TDSHKgF`vlf{qf>5xe*W|aurk}$%k$jk#;KAwc$jTlHGlX~xy7sY0&WVUA3(Df zdZUZcgoOMtu{!FTR4wZ(#LI*vqUht3$t#aDAd3NChh*0$O$#4(uI4lsnoqxSqQbQb zNtto5S+opd4nM!6QHQk75=~PC%!=z6dy%YYQG6`>|_%ei7jZ^qXyHcE(8+N+_3RN#j@T~N3Jy%H-8`u zZ`q^lLrtbLH=zf44X-x9l$jFH*QqNdXdN&x7tNN}7BbHdF;v$s(2$uNP>(I~O*6hQ zI@lxDZlX{VIM*i7Kj(+JRj-->YWT+%q7;Nw_)^{vO|bx6n=tdiKZ=)fTh#mn_~MoB(G-@rr{K=jiz;m=1qD{hEm{P*cQ1O95>)O}(+Y z4}{d1MLsCzI`9JR(suzdBbg=uq_l)pVd!mrgc996ceuQXEK7i0dugM`5Ds(L6y7NO zOT3yI$`M}ai{Dl#IFlOAzLqsO7y3- z=J+t+tpZ4z$QfW!`N*>&Lq4F< z$BkrJ0^&20)kUKAXr>fl3;0U`$Qt}5Ao7=h$j6?@1&`TsA^7f1fFaXyBYlSsXh#(I z(Bo;Vbz%m(JM*#@`Bw=e%xWGFqZq^rzYhHKR=5;xg>{5hUKG$&SO*14DHp%1$?ANG z)AJ<`7YCF=o{d}@7>rf=G?}39zX+s*MYZj?m!)bU4dmYRHLnFdPU<>ir4JKU)r2)9 z>OPQCP+t!)GC(Q|^aSdB6%3DC0th;tVI9l`qGAhBiHxIrFFEvmB!h)lur?5W9y&|b zLRS@U!C09*^-MBS4$M?2aI?XXg`TV>?a2^m=tP*p6}Tk;jz8W@nqiDGAOQG$PU#nF zYE#{6j2}DH{+a#=J=l)+!t(6|U2N`v8czY8Z9@r1y*0z=DbRJ?@K2RYlo3qZh87T( zaAyC`lA@zfeS85vrX3KP32ZJH9;p7O}r=Q54jy zDFMRkflQuzbUFBGu(QBGW;3Z@%8P0y1TVc|B19zzEH4w*#;CI;y2DE)X2Q!nFvmn` zt0LWkBoIG_Xx3219lx(Kuk#39n9r@^0dY5WzuTalz~rEJCs!#nLofygwTFUraI3R4 z$x^hnbx5Kva_yd0In45hTYT1plnkC3$Q}^r-ijcN5v$K9*J}DCukMbCSbVz&e>Su* zE#;d;wu9ertSh;+pKJfUV(EDIanG}T>n(+G_z_wS1CiCbjvyfV)sGJ>>=my_`mtdP90V81dClhxC?!=Mq;!ZS(R!FWBW)I8r`>pz;pPfmFU z9kY?;V{eDR;WA_AU?9)ulZy)(1%Rdr!sq3nVtETBWhBVDI`K@@66D0@4w>)@BM?sJ zA;g61D-Df_78dcy;UECC*+Qg#^n?ZA1NlE)wQ#p@aw@8WiVU*`bOmOQ@+kr?+FQw<(4@8 zFwe~fsV3f6O27vtT^Iz+$x$QQ)=;x*v`Be0uZ_gAjgR>|=S=g-SN|KabgP<7wQMb; zaEk1P6R@@3R`_-)ns_0{>}JzbuVMKtlX0&!2Gi~_bzG+H<7o%_Cc?@AtXmq$m>QKw zGlF+SWiKXk%}LGT1T>c1R-UoU`zoBHHwdXUru6hPjOM%R9bZlegeigh;Wf6(b4kM2 z=u*K+{0i2*kR30Z{dxvLq~XQxdH?`dqu7SiMpvsZi|uHh%+dE)|E z0{2B<*O4pRU}E}IjWOWeGCaUUE{Zc0eH>1D&Uh_79d~Iq(4kXsOA$`z6_2CuidH@b zCrSI0ZIntrcX#K4-;-?wJ3e=r9>$(dEHca24%26PKFYnaE=k)6D{Gzt>iF}HU61(6 ztP)LCZ!;?Niagc}WfhZClN6^-$-7=rVGpYcs^o+eryT67W{blHoN?GPEEs8dJ zDc&ZHs>oejNYx}C|6K@ES$mQF(0O*k{`HjkJ<{mV4oc7mi+8xJFhIuSqVVNA zM`t&(AjKF!T1Z|6Mb*&1?1$~(GwxV3XVl|1cBeQRT~E%?tu${3w$XyCkpnc`;Wta7 z3TyB0Ea~F1Hcl&s54^lGl7Re<8ck67FCsVlL%H6TK*SMxCB05}LPIG%A+=bKQv}Qy zG7h#0i;6=bJ)%V!sjGTFdjtsT8#}5RsOg75gd-X^w^Rbqm9>Os%G7itPf^hPh&~Ay(>x{b4CPmj$K!1BkuT z6uCFdj<*k^BO^@5(daZ0d_g3)d`zmQ?)#m^`6KNMDR!ndIwaiPe z1o7;P?3MBB(nZuqr)*+>YTXf(n;Yaf%`s6~SGC&k0ZJb5SD>ld5@&I;X3^KKk(v_M z*KV2ru|pzxnVU2X-QqbYHrJm6OCEAGirf$6t6@m03t&^Bw03Z!KVa8AU5O(xo!FTn zCX0jjgonYV)Pa81Vi+pI@OE0D?i3--Tn&~VzY+mEsoHxI1e8rEv@@g31Bk2=iA|2l zn3!ds>D=zofBji9DwIZyuwq`~KmX_rHp7eh?^18dU;6rJppggu#a!V_nQxHXH=_5L zNB0bL?n@EcyA5ser)B4g1Wv|Ci|PNUrONq;L-Qzqvp%^$J-_K61pIv8{qTKJ$4?9& zeIDd{U7oa0^LiS7--xcJF?#GaMbHwZ(GNJ&7WtfSesr#8?X&pBoADkTu=knJ1l@~q zJ30uA{}F@tmTd;Ww@`!!6CRc;Se`JWH`;k6$W4Zh9835_ozN$g~8Rm-&%S=oEhwS>F z836x5hGqFTWLSE7w!b-Hn3$NUzl^PHY}BkQf4Bcts;ie{vmkomvVP`j139haFBUog z>!+|Wki;~{0Ke+o#MRJIj>fs5-8{;-NhP_-u^Y(hc@L>&~!~o|HKsn>@Ffp$1zHFT> zt=GfO?|P_NT9TTfSWX8DVE+PJ!3f+8K}iL4cF{BUqo&L!8N;7f$Io2ZhYzUU2?TYb z>{4NS0W%#PTF0nDF=(M8rgUTcqJjSeh*0j_ake6+y(O8Yy$1nm^(;^IhqEn>wUe(B zU7SKaj@m)1zk6+Fg0aV)VG=1h=xYiMH3<69-p! z_V-&wSXA@wcgzebmm+kKEQ>zZA|034@2}XKT`(D9rIqL(eZ*Vu$3fGd(D&W$?7E>s zVAkCpFFn1aEhA_yp00^Hcf;91&A+pySIg`>LPKqfIRi z8}IRqBtsKImzZx@p3YCcIs~zywFfdz(PQ^&qEB&*7It*v_5#V7QZdoSG&ojNtKBCu zo?KO(v0NvLyj@)B;C+9_+G*UKsOV=|9^1})U5SCSC6Hk#j>9df@3NWE(3pU3{iQ!H z6o`EC4ajPxOCNT~QwtHVQ83BRpLHol@g$6xzwbbZQUgLsY=)Uwl=P+wp37^~JMauu zA&d#{{f>C0rkeeh`ot`WbXblk5rIDGfXMz5@GFtt_Yo$D?GrWHcVk6)HBHOi`-zz#Iv!D5%HD^Nk=n55#xPu@= zr{q&-47+@W3I~CKxZBfr^OaG|K!W5056yX@oks_?j47}>#uJ5Bl3j!CBQRn|6*zT> zcwi#5wY8dcYKgSGlm?356_fv7BjkbqA>49UBEL3;Noy2|mZp|9dEB+{$i2?zXp+eY z1W!xe3_z~1f=^@WD1ovhj>+ay562g^lfv_=BS1#~=v6KRL02A(uCyzT*8+65l{#pH zS5}TZP}@t2p>s~CubB2lP$rPLj7HdYZFfMBU1s11CQHh@sB)kP0G`WaP>rQF{i&jk zY2;Ywp5hpH=`^R>23;_!!19<*xY1uw@6cQ?J?Cjr6z>piFFmJu)Iq5kv1GvofWN_0 z_tJOtnGVFv=Mc@?U=R`74bC-7rxQjT2SipkV7%x`FlzmM#M7HJp*8-QJ-B>UEkKq{Av9kg`pSq+VC)mP9vB*o;UVjCuJHa7I$6k}~NK11VcXJhP zEH+_4G5CtiQ5H4|A19aZ0;J0}U6Ub8O7q;_MVo9A|{9!=gv<&$LH`zZ|DJ;ZtF^d(mA<1lyzud56)grS<7K zAwX^W6-MkjlGohRee_w%oaam3inOiRLdPe2F6@%VLSHob^g!hpc7&BUv%uC==mNcO zypH#+%-$xf*EOwy&V_jI#qXtM@M%;hSEI<}$AaAj+)ba$FDF&n^fjs7zS%u_^>lqO z=m1`JvQs5s^+Eev)Zkk@cXMTWO=#ZOjkD@XQDbEHfy(RR#~=chpp)mE@;`hRRc6K9 z>w_Y}AkR3>d%%xErkCca0#XJnMkkf7;roVU4JU^k+@IqSmfKf)=}&VDDJU2i4}&7@ zDC2=3Vu~H~V~-px49Q~b9vlp@nL!2u1sJsKGN0xKlEtF4R3|Riue7RkFKL1;nSpRR z6_CD8uOwy$tc|Dc>J?C^xDB23=W{Hdv563rOArKKgD*&C9LAAX|I5_igrct`WfQuh zEZ+i4P4aMpBCl^=E?C*6k@LGN$XF0mNms`PP}qmWU#(S+&fjhSYHfSm=nIV!vCYdJ zDy0rUld*7_fk^y@qVSOOL0BjiEcum(Bp%s0ms%S2IVAoYinNlacU)Z22qBRGmzbD= zCSHU@L;*Os?03vMRyldb-gjfJQRe>MsT@RedIi=UjYJAovAu7z#u;z7Y1C7icc3H~ zq|zSZaF;O%AgEZc$s%ow&g6P$q^T%`h2)1zP38)_u zVKE|sC_xA(oyEz3(`TZ?374A9qfOO`Z3&WR4pUdwmQ>x|T~)>HcKR$UT^sS-Tu9$U#}a)-1iujMMFY@W_*R- z+-@(M&PLSvSftFkXXVj;yh35Fnv z!9oU&_JP<{6_icJ0EK1vNGgIlQG<%m*BU>>9u@z4hf1cf#7JL>)!cP#_p~CvFF#gMPhWaH7(@P118~~3#}^%oVR5QmC>9_XNwCd`AcvoP z=#ZL>nY`5#y^u~?Ik7J3B)5bf!O@Z)A##04kg*n)g49uyZn_iz^n&aKi>yl^w$$$> z1U1`CXZIGBD_(%Gh%>$cE_ldLM6+GtMfWsJ9HpUMSk*X^5>X^+z*B{<^eoKvM{=>+ z&Pf@vU2Oz3>ISYg;fDCiDctSGkD;uGjag}4gczr@&rxNRS1@yERMz^brmq#jC?_%ff>Wf<~e008$nGP~sZSDMt!3-{uGX4k0MJ)1d}NM$(bC#6n_AKqDG3 z@o8D7A60Q3JE}J12_Ywj%C6`wZH2l8o!dcBeJzPBaTOy@Tk*4ydUN~qa`<223-3{c zdO2{kSObm`pMat~?rO@&W%)C-4Nm)6!;g8|%Eb{=BUO8q>1`u4ZDkS|@yi8=;#^=D zN-o>_Ig9-`vcp)7v>WafK~a6&0lc`_*o_yumez@^WT~vXVDmNb8{C|Jn8-6DhenG$ zPIwr(ZC6yzkCgXAiD@bij0@5~+C~v?xw|NB+ZbN%dg}K*_1t3mF<%dqai0?UyOj<2 zHijz$P+M-GWVX_9)j<3jcx4triF2z8L9=5k@|oGQB1hB;@n!jrFl*oD1?k{>A_p;v zJ{i#9Ue*9Fi(JyK(LJCDk>^VS$5a_bPI$lm0|&`8Dhz-sx}!r8OxY&s3bBH;D71>` zXA1(0BCn4)N@L`#B%`tj3L$xFScDsHrc!vy^0gF&4W-C(Gr&1sw0~>HfArzCRj^9z_q6#Tx5se@*m%;sih9E6FT#)t6 zkD^$j^Z(R2Dp{I$#?dhJs(*U)D%D2i%iFf4%X4+V#;GJlhJ?mgQu=rNahBNT zR7ys6{|TQROI$kx@vs=o!%o)p{!U=r@)P>ri~#bd=)=S+FnaPdv*Rf~?q%yMc|iU! z0_Jsbe0IFeouG)f7f8 zWyZYw)c`$gARUAKU)2Z3Z|AHnWx&Tdb~Fovq5!t3-~4`Z%YJ?g!_Jsv z*}K@E+@84{Y<0Cdd^mbMK79Y&)t7G4>}=e6emSJ!gL(Wx{6XKqtFe4MtgO67wy-zN zvIbo(dEnt~W+)mS`F?lZ*gmyP-DytK4svH3(RIVq1%m6vnz(oWm8qG`P&qkaM`lCi zE*NlPoJ4-Dzw4XP@}+q{5YKpkxlHu3uu$B%1j;!85tRw z7HLN-^iRK)tj~>qc zxVSI({&Y_`kN$LfKSk?)*L9VuzZkaG?snTB{`3+=@#HR6eE+yFPaCRV0`OvwJb#-w z$m;i{5MgFNZ8@;nP6BRBa)$+M##S;{d&CB!9R9je=jrhdS2FMv;CSPMeSteHcolXl zy2K$>FmN+A7ms`A5xmWK?bv*a%lMD&Fxq(QMgfHgb?q*iLReN_OugR6x$A71P`%7$81ZdB|O{gG)`~jva7I@Upf|w)uZyc zY3@&w_J+!$+wX0Ucm}Jc>q?Lbf?KuBHl)7EL?x>^%lF6c6)tToT#a4xpIMo?9Ju5< zvM_P7{dGn)Hci82QIK*J+P|Dggk|l)#paa*nx;E$6pT{;8O>xcD(9JWGx8u~WH?#iFGZ~A=yp=2xk^vG zR?f)K?ZBAs{?QMXR(%{B#(M26Z`0HP zq}}4k=21QqN1jH30>v$R44+d%1GVnWjay3VRNf!(>dF-Du<>l zwLwG9c)HbnP7@vBYY+$urIM`ZgVbt0$r@=RgE?{kM6EKOQ!T9EJ8N*s`Gw?!M*Mf>AQVG(Xdd=M-9Tk8|U`)<>3S$W@CHMrB?gZulp{`z5x*0JevQCSb1HQuK|FkdrbFx(5FuqnIme31+UVzX+u9@a zxiq>>y2K=B=YR(=fBbS4M@v9xXWO%Q?E5RCnlDGZ3-9r+4}@W&Yc(Q)EmioJ3P;4= zw_E?(nE|6d=^<*OiVo90Ndj&?`nE7vvsNQPHy-z5DZXAndz?mc-wKP_ZZ;~dbLo>w zFe(TH`;7z^c;4LteN?bpxBT<4Nrobrti0CaX~yd5`_?tZ1^HZD@RI2WHen(6{*;Kc zL_H%W?CeZZ8n@zSxe_xZ{K>l_wn)YzvT;o|q;yDT#4;&Hf$kp9405+6zbN8`k>50~eAL@^#Z5-?b!lVsLllNv=P;-aXkUGb@=6C94O%+96 z%7DzY0@T(S&J+30>xkPSnoNWY!klSWVmW5U#bWNrgVap$xn$%i@Kv)kFkmjS6pIXM z#kk+|Gkh>>jnuedmYGOlW>FMTs2IHt81OMAbxQScYmS>W2+; z&0Y-aIi9dIQs?}8;$X?k9(Sj&6dQ1}tN{nX&-m&YS_E?Ym9FZyFPwPCq?lw&6BDqE zxAC~e$CbYj=2_FRqXojnJMiuY&xto%@m<@-`Wr%tXPW^8f+7h%FXGiFkJN)-J;KNq z`9nFm_6^*6A-QBT=M_iN_s~cN#@9zXRObYPonK#Q=7@P%!UCg$u*;e5*0^Z(v%OET zb!0_LzZ1xtQcCC|C{Dd-s4bKRU};jC-pdvUwsPdMY#OVWrjR*{1Jgd*)lW+$C2;#( z7YT+L zp_-J1zT}EMkynZNXiHEOxjo)BBp43g+QGbdW?n_7TI670?j%>i(*D6ld;7SD!?0}y zJ*!xyASiuJbd6_)>dFu6kk)L&3aeAd(_T&C9JDa_!w40cGm>uG)Se}HwR}i3TKKzl z6FduX6FOi~-Uhb#r;3UzvV2)^kuav4298#Zz+mUx}gkb zTv6GjX)0gLPGEAnl@dBmT58-=N^M-2o@9Wg@>mj|jY-Fh7kw_KGi%jmhBq>i>?Qu~ zjFq`bN&K_YzB{3msBi#PnH2O+(#miCZ;E|k>2&@tFT;Y9QF>Ws^r5lXGPmDxWUczH zL&S^Si8gb(*vPcbg^w&XISppwk_N?7fB2A?KY-k}tU^?wQXIJyn#`I`P8~^Z;f0YK zF47kl(?800WSk&A40Na!dgKY0U%Li?R=wKhKM*`9v#`fbG2%_Zs(WBd6PcRW#Aau7 zYaNF0KkOiaRfr_)sWF~L1eUQBTL*7ZI+5I}A*RQUF{;^l;%6TBr);B2@fx~I9r9I0 zE2bNAkSm%@m!}lh!NrOyx6x_Yq%?+!KVxC6W_7Xt&^nYp3>VrT;H=k!WTOM+^RCT1 zLsGP5Q{8rpRH^PmO6A~ALkRfxXqSaqD^a+g2PD!e6}(2Vu@mVY{t??CSSxU7S;eFe zK9Srl?nGrUDY!_+yuXyq0%llm=Q&&)X81%_umC}@ds3)ak-Vm{?Uu=*)V-PIO-Lkr zo_8~Je+e@mD_CHe8Cr<9G=4~oT!GLNzs|{rlj`?)OQ$PvmGCvs#uq2LpgsI38H{yW zXE4y`QZK`oKnkr`mC5Z*A$I%Yn$Wx=AmR73CMjnPD`~~7fpJNGjn~kx{(c2 zWpuXB$XhLS?1KsH=E5@ifM292s4UD*cBaBWQ!UF23)y7pn zvshN%Qk1yr)goob;ky@HcQYer=M8d>PoS|B5a$%&8WNDOJ>F@CzoTBK?l|Q6kh(Qw z#0G~_$|5!v>gv4Ux>y#lxguazJ`A8MpZ|SvGulm;49gKS|ntny8xIoS+mC;5H!@kM`yY-bY z!CNw5;mC_M7RBvjY5dZ0;7}XYj*-U?;AXdO&idV25jromnggTfoAAqiU}%oEpyikE zIr&#CfSIpcDSv#kjSI zLi5J&dcb9nacIg~>D^!{gD4~*{~+bx^xCVX@g}JOo?AGQ?se)4f0(E5Nz|VYE7Z`-i*D zlQ2c?EbCHZ*^htl>AOa{CQBzv>u0etvGL^#&d9#+00)}D`7B=%Rv3UjoR~Lp)R>2{ z9K4-w#$R8oWwHRp`L^milgJb(;$O*0rsi^{nkUWR1Q#s@6TU7X$5}>vEA-mzmwNe8Xs0$7 z^E|eyvaKO4FW|TTOPkNwioC9dA2~8NyV^%6$0WCJGJkPR)R~7hwi(~D|Dr>ggp7n! z0*~=yjhXtCaLr0Qolu)Rm9JFLmGgcv2CG3a`z%X4Lpo8QFRIL%6wcX>q)uO{R=aZJ z_Jk47*t7esS?kx!4vqqbVXvKBv!J^GV=T-8t5e()z`Q+#Y5A5z7oyr1^LqFu9$fk+ zQ$T^&>1SrdeqoHz)(?^eda`-J3L{QH?LucF#Ele~0jUZSs|{k|GhB@b5a^|ZSsz+f z5CK|V-tB)dvDlF59+!h&l|O~+f;R^3 z2s`Y|&mm3yud_T;Br*e%(U0X9e)oJ2b*}U?<8S8A3Z~y$Xs4@e{LCiAo^UlgYU%WD z3m;gRZY`LL&RhjGgjcp5BSFZnK-O?wOuz2J7i+MQQZ;GjHT*tyO&MZvL6I75=B}qv zMTm1jb<3B?SF&d2pSItSM_PbO-U5t{yFc?eIh$AFveon%SYab+vK(-VPLmXIjy*_Z z=q-De()aehC)j^OEy6`$zO!0$&_NG(W%MFM|& z2=cR0thSW`n>i{wT7|%B=2S}_VLm{R6O}=w((FFgilz+t^8mslR5n@nE3o4af~m7t zLAvs+7-+_FS2R1Fdj!Zqpe?J@Rky$!NmwzUo~Ykk3EY42G2{avXu%`licp}5%jqfs zV-99sb~0!6^^n)iI6#X-{AJs7N=*)NLmA>J6feo4Zl~rsMc{G;FX$$l^f{dp-L)a$A5Gs#_=l$ zAE+@i;I1Mygymc_v18oKy!&ij*VjB}-kT#JGB`2OgZKkdh@(W{s?b5Y^l9*tIhBO( zzutV3{UjOya}U6siiOc-vbA|mr_-52p$17TAV`DmT`h?&W&M-Hri>HV53nwiFpSP~ z*A67Tfzucv1~g;UfXHD$OB6x2)7H`t3fG9v(GKc4PUh}_BFwK!p`ol|Hj&ieMW44Z zQwA`7evK%b=KzHCl%qk&>_KD+V?_ruXr!7Ye?~#|3z!5{UW|z)iPJa?Y6F`KJk2&! zv#7U-1Z=>1iu_d=;Jq0jH@QVwO3qj;QazWxaoySQ5cc~B5JpZbt6%T!WbQp6rnY_i zO}df3;B{h`YIhJ}O=>96;RQ`D#kYW0yTYR5uE3pTK55Vhi6}+@xu#L=_j(Tk1UvqB zek8Ffd;rPuS`JqKIeAtFz>CDS=t%v_1sfu`C;EXlVs>Caq4m+7f)@i}xdGCNz@R6} zX@<7g{V9&gDe(cx9s=ZKh=W|-0@;we8zOK6is!StU)o4Bm+k1%#FLIO-+J*v1m3>6 z|1&L2p&wx}uNfX?Noy?Nm9FU_O- z{?quW-1udM6-OVD>^nX}UTt#^+gr@DM$WEJ-2LGlFEGm;zF`@>TZ17->gL)ZiClOi ze@rl`@o*@(*0KYXSNi?QdkJJz)={toobKYT&)+(FmP9l@p;bipS9yeFNmE7K@np(S zCD8+h;=$~u9j0AvAb5%so1#?Sf!eV(+yF28IR;=K2 zz2q5yWQ;}3VvM;Kljk|qUNbE%1iD$2vE>AB-{kS1T>Q@ORHs?Rk%XD@tE%+EMpn^7 zrsT{ch^?VY)*Vs1F8Pj*l_Nx)WWFxEwYAP#4ln)+JzD!)TaTwuNWO5WmDiES7zd`8oAl88T$?3y3TR^aL+4?#=FW&i zC{JCDugzZLR?mwbrO_$H&yngP z${0v-ICbXFi&XJQ`r~q@s&#t6(vS0H6+MFv&39r5+Er$oNa6H89E0sdhru#x18dN< zz}r3wLvma4eTx@Wm z@fh#H7-(l?lJ<6~aUKU*Ro|xaMj>uvy{OjSQ2+HSr5}17Z$&XGU77vtUARvYVkqih zq!|7(TizIkyu^(vO)7HDX=vDN;(0V^HdNry4HHV5SZwMY-5Jxgqsw*YzM+8_Y|w2B zaTZkZ&7Q39$!8(?X8qoaJlrNh@^ZqBRP$$3K_18<{4^3Ub^+;BfzK<5Jx<$L%5H46 zFh2(V^X@};X{AQ=wKD;5=yi+o9l%@XADjqr<(^i4InoDr%1K04=-3m@xzjPd?kNgr zm@#3m^ulSXAN5Zg0KC=x5MK0xM)KoPpj^((#C?H+;~Qy zQ>x46TmX}zI#3qqW;^@#0=B8chdRp-oCwE6bNj4duW#jz0Ot};FNC!3Kcg*s-9Bkn zJGEY-=rlLb;Fd_3{y(;HOi(D`%i3E5F6|E^S>idh(5@y*3pCdl|6ObZo6yesa2LTF zPD(a_xbz>>4nmqQ<-5gtLtetJYf^r8xu<$xfrr+adgU^$6@U6zIDPWc6zDYj70W8M0JP zGQ!;_GgQ)R2K$(TTPRdS<_Q<%&^qlhepmRr(wWFzoRXPn*M1Z&#YZQ(OQZ-5QS2d&Rn5O zpJQ1%7B7Vkm5A?b`bgoum(b_9BZ;1g3p9$ni-_mWq;xGiP&ahb`IWBu`EN)%Ku&o2 zWu|#ELBS?K5J>u3$Gi0dyC>j5G{h-fy*b9UdM$1TW*fItOj!Q-OHpqVrCUX6f+H#d zB+KM_(hdi6q&!PvuCSAaRLqpSVzGI#DhL>Y#y#*KKDn-HR zB>vP%YztqcoX_bIMRR0agxIk?Y$9l5Tmc87!XCiL+52PJuZ1g{<#wk6D0K?_Z?6mr zmA;&!Da3b0&Y6{BF}h@geUHNwieHBi#~vXjY6!%W%H<3Ao!;bqo7`PckZtiAJ0^a8 z=bHab0>$AQPuX|(prr`@l+r;F1_b{_6qK-_AM6l>jFB{wen30~O9%gTd7CMmSMPce{gcHv*|*&Upu$3M~mbWjQ~2BTk| zr?i)=m`Fwgbd*}~LRYqk9biP2U8jLm*phF5nN`nADE{Nq&muQg6)&NT?f6=RN$FEm zw%c3bT%xqe=9h0KG}*q#h1#OMA)@;L>Pk-W?7})KE;P0&e7L0Rd7{;y};1m|X z`Bc@Z>BbsRQZBV%^Y&M&^3TsyE5H97#C`X#4Nml}8gtHUU>sjo-nIcMS(04zFoUCD>N?0QBNMk-P4369024(3~FQ_cb zD#jinRP)vp0IL+PYZDxOo>wD{U`+w%@=iJRv!0Zm!{Qc+YjMSAm3X@Zaw5CLe8!ah zO_YSiZ5#DNg83!(Zvp;1tkJQ#uJbfcbg5aAm<^qH5=tuc!+I&v*O zVKF`ff;&@OrV3%kzXnJSYdQWxP!w-Xxhz6H6XpO`_Z;X}g(WGy{%G@!bS3v}Jrgc< zBy&+)1-#eBVnaifqv>!s=->I-pLkmnt?%#>_l8gbrkgvG%9fPX*2%PrDA2fd~EuOQ)F%fbOtWV7G!8e%ZxV(`ca1Ro`L%9 z%R1%JRc9I906l*-1qT!NQVZxjzt*L{dydp2-d#?)pV}HVIG#zY35vjqZ41;lytrX@sBHhvXKuRXARyxkOK2LlAg!*QmY4 zr|kn+_PLAI^Vemm3weMKD8G6+gO$zn1jYD|*H=t3)dch_103iC#6K)_v9 z0-j&+i*ZJdB*AS!dgfGrRlMF7^(EK4X-t z3{HC1Hf$lZ1B?*R5h9BkrTef*gd@s_2@k6+oD$-5&UtRU3Q9owFqWaUJO+;P^R0~1 zw}f`o-kze%g39eBmXqF_I%kjyImB#yDx*PoKeI2RbS8Jdr~%7*8u19yQRkKaz(`;lB{l>3^>7{!0 zmZnc7B8jjy^f1kQ2fARNVZ3Xjw2Ubf$$6;Uy}qz7asd-J(Rce%N~9$868G`pW?Jl+ zck6D@J+5y(~3iHf4WoLs}o9}t}-$7$x-)<%nZ`d2Lu&7vff~gl`ZG9Q_ zSAmZ{;eHRMFRbG2yzEvI{_feST~D`*`rc7j=->b8W1HkpApWsUHhFVyxKY3Al{io4 z(e9<**L)pB(I>Dm_R{S^a--~T%Z%-c&!etq;whU8T{_Kb0j;m7eN{97-+J zueL=7L{m@`<2L+lzg@l?dLZRZr}l2!Sbo^N)eU{6LtV6(a#r8!(RNSE_aJB2uC(ti zXz2I)LVN#SzAj4Ccj`__XCq{IyCHB`-OAIub%ZP6)Oco_ZRPq?eYu$6vElw!1Iz17Vze9K&B-)a^a_R-kNLp2U(5!#Lqg;ER68Nw$v2FZE-$%KZZU1s*M4w!< z{eAn#oAH~=vgcHJ<@sz&i#2Q;FQ@TB^MzWDBv(8xn(e6Vv^`Iw#e^SbAMb|cU48aO z9ZqnBPe*NsPsf(VGIX8`nq}Mw>1^j}VTpd|(~Z93Kf7#hSqyFe!=v63CWF)!enY{6 zm|9q;y0cKt2z*8CBYu3pR@bE}%~iU}2s7-X;|5mHd9PmVAqhD&GL9SfD^~LUF1Xl?*x$R1t?~q?3y0F*Y;<2!Dx6*Vp9s~SuxU?_e@EXGVZG=VhkD5s39 zXP6+gcgWWglj`VRy(7xA#RD$cPqgUYuK#YEAGJTMh&`TUJRXW&=szAlKAcjI>OWqL z`rS=G-2C;s&-t5SUfzCl%GLL<@Aoj-(cS*g_f((S&S>~Py3Kc$s|d+gm#=Y;q5Uxn zu5@rdDTfV-&E~n&6vxYOCK)E``5_CQH@9J4KcR#kYZRfW zOfSoz2QH6Q#tbELLj3QGSIWH-;<*~ej|MOBAhGLI*N^wE0KdX^@~=y_btjWI`uBN0 zPqb?f`%i<{f0)#N+~?=*a5!k-o)@HfSTgUnnmh~^GV|~kIPrygiaWKhh@Bd;&r^5o z;Q(+c>6lF6>>7ip^189n(>NmP%xSHif>EZP7_CC`BqitsHBgvz?vz3@%h_`G$cWGV z{^~als$&O7@Zs5zQnA@3AGHGTy20b#*VjV_ac+Miuo}lq4x7{OkmS+AV(#-W=?HyOUJ$ZWU zdxb*m#?cEm8}$!Y{yup>BM#xkd0K-lks_u?GM5G9x1^QNw0W^udaB=%F`#>cYX&*F z(2$(d`pA1wBDpAF+OlKFfW-x$VG73&JjFVr#LlHrM{O|M#vkfhs9UPQ&2x7pxyIq1H8RrVa)l8-}SsI9KWb%gF}K_HoFoAT7UIs7BUn zdHdS9p__KZDYNyxhJq;STdQL>FoxJ{oEoV8sQY)8&;9X}+a{oi<`LvWwsQ+Q{e>%p zyQ5AHuN%Xy%`g~@_jr^`U-BHfIVln!pSKFnWc``R%$(=7R#w1Lu=;8Nzy4z za=6lv53%5-DvR*{ZZl4CcC+zmv`FHna?NXq*?E;IMvgvezG~=35xRJoIq%HAuZ{h4 z325tPkFRMaP~Bp1?gwGr57ZP>nhHFXta=cV-vO17TR6@wT4WCHf)f2-5@NQDF%TAd zk+=^KIpI$mwO1c_5EpNoSoM+Y<2AqV^MBCMoV%HHtpb?cv&=j~68Nmc&lCB4o|5Pg z&~Z;}_suG_6ud-{uVbfgkU&%A%PJurS9PNr9PkIZ1YEj#JtOls73|V<9(pb^2%WpJ zpt*p|-7KidgDpzBJiDptao3(o+Yuw3GouWcZGhh|>Yi&qZZ*k~TbLzYK8~o_--Mz^ zoqsxnMQzQTX}gfdnz?7e@(cJ&E}*3mBf&Sg`3*TWStRauRLq|o{v6Jm4Ukewv>HT% z#`1TyS7_=AD=IpIJ%O?QTy`s3$$`d&4LGy-zJbP#QxpG{yR(=tCouOpvXSXQJEoP; z6?cdvvKCzbwXiTqx1&-`yNNbAN#b1JFV`qf5?iMznit-XBB(px%-}UMS3T6%s35mA z|D09;v@;g-5;PvcG3s8Wc+o6TK&tPL3q;u&(o)=Y@8SYadW$frpE-*WbH}JePD49PR)uie)amu07dlSuyhP7?-(7s3pw}H1^Y9jD+Y(^7UBGKH32NdmQm3MYaRWBm6D9-J<0kdpk2Ce zFfgvHs(_OyQ+=>v`p%v>(~Cq;G-r&ZB(MF6Q%hObxo8CyO#y#9-7J+E$Y7pSXnMr? zWdX+pXuoi@&wLIN5qw5m*=lGaLsz2aTol*iFF^JC-EI+FknXLjWzvq4gCjS-gsiLm z%n4#VuMIg5p{@}v1KlBmv*n31w>P1gW#aTrQ+BISw*k6QwR7D!)QINC05$J>C{924 z%P?$&)P7rLywAupv)^!g^^d`52^E??sujPvF|a&nZukZ$eNsg_B#8J=@Xi&6Q<9k5 z5D73xdNu^s0Ast9$g#5{3}+fF`)qtL2BEsG?qe885C7KFA(#O}zUInMCj92rjfUk- zt<@yNyLh9v2URL&qZ_T|>=Np_Q!FwMc?A_;M*0Q19PY7^nPPB`wd7?-_pk;JjyTT< zV00<(q_>_#BR)-_OTxlwnyK&3NP6e^Q%_`{RT151G@*AXllLHt=B5uE z4(HWHQvtYAW_Z&yLHKnGq&Me5-8iZldGu z2)vb8&~3cYsCPCVzGmUfME8wiFUFXMRZv)5ykG&U;sYC?vApy`rgAGGcV=by$S8*x zf7-P<`~!yPc{S&ai@?HtQ#d4)^Nf|m6s}`R?=IZ4te(}Z1H7yp)I^HPKWQ6OJ4nOU z8{G&QOrA0W8Df#TXGBDnSvdkuCqK_bGh5#GSFeI9ABpEolaD?->66yCmN)vnnuN1O zdFeWdAwQnCS|79%N67eacAmSF5tz*hJnQIn(a1 z8Fj>S4Ic6V7Dn9yD<7ETZi#rm@(A?8n2gGPwa zIvV8~&7#vc0FN*=60qg$T9^v8)Bblf!yfBQS4}bG4MUyPhkRShD#1rmWHqrj@PHJ4 z1sbn(7}f^IO4XI&{JBG)gzDN8Hyv57mFHpq05S(zXn*d`Kg{<7@BMkwU!~0?g+2}j zxGDAOTG;W`qED*Jn(v-M;Zjb^>|QntQBm_+NsUqyXOqZF?@9Xmr+Fn;@&DLv(ID|HRrN$N#C z^w*wR1QNtbWl??XImdGQ08 z12lhSBNm=^GU)qdN;$?5e}ZM!jC%eVDGD@tJ_%sx$u~*7XrXv7A4rL+X`vWuLZK!} z$w+q;dvm#8peyMw#Vk>*Fqx{=TCrU7n^|PD2F!5&|L>4*&b-J z{yR8o%iE0F9*4&`rtgy`4vasTag}UfHX5*8`74+)GqU!K3LZWI$LLd_&SZH?+s>$v zZdo99rGA2zlTl=)iKcboR1_Y&d-vil8jcVK75i*Fs8GcUuG+jnC#zYg2DQFdDFcpz zEboaKx^F~#aB|=F+%WX8!H;54`6Ut1Osy4dO9LrvhY+;x8(Zy``;8@o`FN?)45d}w za1F6K;|k8bzflr-PAO#>H%2J)E;Tn=&B_jruL?;50; zYr|m?i6LOh5u*giBOIWcD?>ieH1AqKauZy6CHBIB3;tT_&874bL&s3zSjdsqarqV~ za5$!zCq^k$R|%V=i)|H`qDj4JD>xZwcPzZtVj)AOmV1=TO>i zEKD*ghm8lS7Y*7%%VkC#RT@ioL{rKTlDYf;s+)_t16int=>z&y4@WSz!I)4)z32_r z7SvhK@xmTa$A;cAKO8K#aRQ9Wn!vZ^Rbh}ogfo|@S;6yuGB;Fkl?QCXa!+}IKN^md z&=+@i^hCvw?>Es*mT!n|0bcRMiE|2hIE+FHe&rsw5NS=S5%XN{CU#}U(4JKYw1Sy4 zR-344VH);ay^hqPsXWD|9Z|qEXssUhyPU`>&b8Lc%LkYswF`0KQ^l`8)NN4zG(LT! zCp{}PhRr?@;n|VP)RS9+W1(Kh&#Lej!G`bl6JfbK=Ftp3ODONgh=?udgAU;GBR$rj zBzmR?uBOjc&B(0plYYa7zTcYc7chS>dxYk4UTy5x`qIm?q|NRfgEZ@uvqIIgsv{O0 zR8UwNRh$Xs`$tOq1%=o^H4}0TttMykOD$1AREYwRp=Td9*NL;QLG4wphBWs#_Bj~W z=AU^4>7i5Z8%Gz}qA1YKN6Vi&R`o(1FKs|7&Og;c^ib+#!rH(Qdj{bdF-6!02!FNi z0ZY>YGDHS{htP$yj5*)etL~Ghbd0JDKZK_?dm1f(vO|<3Ik~ z^jm>RCv2ppEOS;X6gM85hn=QpQ_FkmEABba+Xc=$g>h^eKBvI3_fH@eQ?ufin!p>)Pl>4`Q-01y>j%@}7;1&|#E(V9jz(7#7qYH>z3rLo>Z$4eFiL~Ot zbBr07(}9*l-N`pf=LMjHhIBV3Iw-F}M-5gLKo5R3Wqk(O+k~!;sB`%+ z($plF71^L6aqS6E3x{*xcwyrP=3e#~K+d4IkgniQzrnNhRVf@?!C>YYVa!dZ z(d^eeGFa5PpZ_ycYhIP;dz0G+eMQsMiy((vZYPi(01|{>^u2(F#4Z_k0iwt zH*4@|5X+@$wPU>6;^`pu{=i!|7SNF4NJzc2|1v9kFNBs&yT1MXOrLMyl+R3`p1~2j zCUpseg-K#^Y4jE|XaZg%s#f!!b&672+>&hHxKRsCR)=cBUQ!t#vu^yO$FI3C!19D5 zgidi#wV-(Q^N5`FacHfy$t&aHX|n?U_}+jxi0VK}cK_8&vn+(>CVb>oIWYR3S9(y; zj+$6HBefUPZ9&mC=vWrkaTc2POV&$ibws^1VJHc(T7G`a0ZHq32UjHIl`gW6dE7#; zhRkf3@Lm?4%S;8-u`!#P&hj2hlB<+Rr8T63T$X9=ho6Kt*v<{%67oVbQ;@1!s9Vvn zTGZ8uR0dde@?oZL!j)5#deGF`HH4r1>A5EyHlR%7XS!EzoprWe_glh(G0+%dXp_Il9kQ1Rh0)v^E#7=k2SG}nBEj5N6a8|#ldmz*t z>0ykz!d4r3RdVrDT<+!37%22ynMLJeN6Bunjc9!`EBcH8@Uy!92U0Kv9LNKW!>Ubw zk*XZ#`AzS`?0KB&DOQhA-;IVAE6Kj`uE{DYA+;w!bC~m(k!W5OJ%J)BfIq9WJiH@< zS>NhT*zm^V>6CxWUl<1$I$v;*Gz8NGVjj@`vgmed)`Rk>$>@u6?r33|-Sexwkb>_p> z4twU+T;->js-nsEBzyanqV=KYatCGxF*BV(o;G_q$SKl<>IvL!?{4mYRI)(nu8S&P zS9$RAf{&Vw<#=V;jN2prm@$E^ONdG#QiVP~{L<*j;E~NY=_n0Qgqr#=d%dLEe}vjE z`a9NDod4Pgps2i&dQnvZA0~BoE-oPYPBq&L=C@_SefeMcjyYVfA5fxC#Abr*s-<7% zqn9=1t}DZhL2~CHrz;Mrv#9J{H|=eJpL-x`?GtE9>`qx4I@tX0nLM(I9(5^*I;g+p@G(OC_-RHoJgGIU9v z3IDXvB98H%6;A+skp9Y^WNqsR;l!# zB~;hPzkVVEV8VLDej9*J(v05;O&plR3bjlF#DiM`_)*}Uyx$b)p7Z~n5!#dh8oB8z z!|rn6jd`+~T(i|h02O1eOI%^#{7)sFUS0%{R@bzDe7>HL-G-^oI8k?~BZ|42mX8sx z!oP|rujK*Bn7%m~1wxXTD)uW?^Sf11QNdM|2`ca4(<~z40L+F>_OccDh&bF)L#s~n zeqN|$4EafU;?MNh%ZU)`zj75N9So4wO^N<^T5XSG9DM83Kzw{0a|v^+i`hyo;_u zB0#Psj{t{6d{p-NyEK$l;*|pkazdes5l8*+v-aE8yAm4kv&t6g$Q(auU{!=2NwZ~E zh34 zDjNY5&ClKtI+FLNG%ZNkgAr-E+T1AZ zdkH0Itvnean<27f#N{GR-I)Il)=<|Nw=`qSVXLoV)#eaDxC$8Y6`1|_i4KIs}kmrLOKKtmg?u^`B%Lo+DEWZr%LOvbebPlzJ4 zpVg?!O8Snhs-9RZ(Hk+^?&FQ3hf?s=`L_FC2Gy0-Mkr76cu27bJ^KCws+h$ExED#3 z+LZBcKErSjoD0;tiG?hWeOq3F{>(l{bL5t$2^ND7L1#h+Ton|r{=QQu0!Z!8s2#`_fc)Cg6=AON87@onA?;7J9vXTF~^-W{dt}6z~&_sO5Ycl4}ZYl#J z#*W#dF|c&4%6gyo^wDU}%ND^Gz}g7#>o24+YDVVgKO_#VycU!{1T8C( z42_I3d;?>xUTERWQGfE%U=NQ*!zsm4JA^{b>TtgHtSCa4r(fmMUq4hDkg(n1SY!8}#>}89ws(hsuUxXYG|ZaJ=r-u|9Ra`=9H^X=m}v*I z5iLyPTI3%vhUVpM%~@K|XkuR0w0j^16(Xttx++0GuLk{u?jyAp^w!7N1woN_OY7<} zDYfvAVg>kJ6!8lrkiCZ_fSF{*iMu~7VOV-@M%Iz(EA3>VVpG?d*gx?H=MiNh6OK+E3m>22oCo%8eoS!B4#kUM2)frjt#u+Zf{@UhcC;>6^O;f-B0q)DQC zxrUG<>RdY>dSo}bg2`@4M3PiU-di@e%$tw2RyQ{{e^J(XY$Ug)fs4r_K3o^1 zNEiPP?c!RF&-aZ#$KQZ#bPzKpd|enx0+qu^{SjEqsIB*uzy;IcEjFCFFF^Anhsvz0 z1Qx1Nw9i+{pw(Z61#0$Ntk>q=p={n}3b6(rSg?e62Jn!y2}3I@VA#0l~BUJ&`ujSgLnzg#NB<5F=&+LOGHt-vQayUllR z14I;5?f~qDTFcp$ilS!R#+T20%6?(rS^A<-6V70!fh1?sj_Ngj+3A61i|nVRCcWRm z6vZ?`3|z&-t2X9Xr?PuZ~y)HsYV}Y-TF7RZrzhOw>Ym!0eeP4VFs{C?fc{|RH!A(1ru@DHE{tj zT16n!Tg(j*?^1fX|9YwUqYJe%*er1bTMNyQN@3gAT!6VDaJquK=C)8V4Wr-7#IA4b zvfoPw#X`4cwC3zHb=i+DM^3;ld1em(8*Ag~3`KW({F&Va+o`)f74*I=s=5*aY$}Wc z@J$VTPhY@Ii@2KEB6nQ|u`=xk^Eg_`G<#(`zN2fg8n4A08DdumucrN;GM>_e7Ke=O=;jReQDU0j z08QH@08Zc2gldpLSTaD(w$(q;1a+UewxD44Z{1~V$)bp=Jpm`7*Qv%G5oV=9AUL)u zB+_**2vUQ+{A0MCe-5{0W?P?S5t6D;%y--be*Cw_eXP}(mcb+wXMtksu`yze{Z#vg33^)%tV8qtF87&=1^9p$?*yz)Rz> zVIO*p9|IB`J(~+@Z&AO^3;Z|0+lj`)kp7+Pr|{w76x4+@H9cf4NuJWcgCfBl;m&BK z&ja;B-JDR$52Q9Dck5VBfyYFlb)mZZ23z5NtR(>!bp71tuMo@+w~by{%0q_VCB)0Y zT2*ivYtvbiANzN4ANCj=IPe@Nlb3|ptpIzW#KdQr)VlR12T-G7m!d~EyQ zAyG-O7CSt$&StR)$xrQKUDr&X@`;Wt9d`|oA?2kXuKX8%;vNGOVN*utoRj=0H6 zok-HW*``=ffKJBpWHk8*WHi=1x6JYx#k=?0)K#>Ipp@lrJ)7HTwfeF$?wlTXGxK1i9t4kmWHDQAa3Q}f zl%IAotyDuMHG0Kjzi1HZ|KjR~_G5HG1agE0b6kAmwO(`NN|Tf7LL-tKTPD}C1lX$F zH?R2WIREC-ohZkXNzodcp^pva#HUuy;>1VGh2fs}#^uP1lPUCVg9dqvu6AjQ68YG_ z0nr8xkH&XIn?%+ZvK=QnyViCFP0`;=Hz(^wz>N_cteH@^IES*$*TH(Ce#8jNK3fmu z3{5@y((^-)AE%`>n|I%)J(Ku6@adV)i6U`r>Z#6>`eCbQhuC6(JU>j-c zsto$n5rw$Ob!r_2c}thlrqng>TN<6|ydrWcHIt5(X5V4xX?n&sp1lQjgGaVQeG0k?y>J!&0R`ZY5^d}qLJQ) zL&-A>^THIc&CU{X>ihlD9{}rGv?MWRd7%mnLBKE~)c_slx8sDYb?5S@#0Z?NQ`Zt% z0Z@OU-6s|KoH^IoPiZ&Rqm(|FyA!3PyQ4K_04_f}3%JRW)D2ciG=nY>DBtFV^UUkF zdDJL9eED^UQzKaTX7@UjXv-V|i_!m~0W_-$4~&ESb34aa)g5G2#yQ~Xi<3e&g1PJ3 z8i}5g-#z|(rMoS4>SWlRfk@)&P3JLI;0-iYwV6n+PAj3`k);%wcmCw1nJ0yH3`}3h zBhl45CWyc!t>0di!RueICY9E%GiIim8YH;*t5zf%g;_9pK`JGshz@N88>917_kgH#?e1@LbY`MNl);u!Fd_jlL#FFHLwMPFq&s3&Gg3_~- z3s8<9Z$a8omYy5v&x(~;Ua182^*rhCG35Vb| zq@__1;hToV#LqLxslKbSA|ar70F8Ta<|H@7Vo{PFpK`|N29?=?K3c?y?0?{A98Wn; zCsm+Xqv1W{JgF+NZ%=O!iH@Dd0zWu{sl5irLKl_R`+tyKW4|!Jl8yW{Pnly4- zpi&sBRrl1nd?e^%1IX;GUC$$#o8P}u`EB_-h@x48xMd65F-%Vl^MKbakyNlqWuZbF zKg^bx)EeBF&|1!kdD=q~qU+;AyB4$i9M`E*B)m9zhe0j&DI%;Z_%o$hf+1tSYvt(z zJk`kS`{04Vd$D2CbnMQR{8o`CG|2*R!8e|cR9x{(*>T^S3Yf2$7);C8)O3_VLO)MR zzV=snc#Mb)wd9tZvcV5`53xXSCo{$KW9g#)Et;}qwTLi~-BQlX9@sS{R==J$7RIeV5H&!b@iOHZo!5HWO2aE^e?RK@K&Tsq}S6d%L3W092o% zaaIO8i_a#_vLmADV6FI+NnX9jEVK2}^@ zyQ_I=GBqce`-vSI-7ifm@r622Uc69gP#`&H_qCQXDF2f zC-s`Y1;}$8o>#nB$C-OoS@2=3&k2XQOeIEn=XOOF$l~>o&M9$tf0xcF?gWD@WBY8` z1vaocvHi&4AQ?Qc5z#d|w)n$|my|ALUP?E1{k!Gck|pSQ-Tz|kEui9Rwr%02ad&qJ z!9BQJa0yOu2*KS6(zphK6SN8L?(P;OxCeI$?(mv?=bU@*8}A?EjW_--h28^m*d)-X|75zcIiWRo|4NPYO_$5S=|<|rhud7TuqtBn{@$tf8j$SSuADO zXYHYP4k+%=R0^;U1I{FePhQbfG^q!V3yGHCT{~~VnAni;H}wa-w2Pe5+Ku!wR7ECR zMd7xBa6N!UY+|^XJeiH+AKi9tR+$i<%lXk6m@We>Q}W0%=c^}F_C=EafInh$K?d6s zOfV_KNRIn8HG-QL@I|xdr;ccf(nhHPn;>%SBogcnc`y0XcB~49DQm1Iq7221J%*Xg zCk@#yxMLoKK&7v{7bQE8&2AjMMXn^B=hK=tx%jaI0(4a@mt_(m3-7b47?@F@NdhbyZwosCw$c*)RVDeh;l34o zjzD^= zW`?hL8 z5;{Tknh4LIUHVW&&NQGyO*n-{=UB@yEd`U#oA<*!FEE{%yUkdSKxEcR-6Gt>ragcV zoX&5R$j>mZ=SrgGk+kL}pZW5!B6Jld1X@4BHkVWqsm?E# zu0b9Cq^~Ru8D>I$pVjD^csnUIv#ZM{&mL(fM&yEDKou?F>we65GnxeKR2em;BJ3ZW zj?77s7?R-A&Lv*kmain*@SkT(#-JX`KUFM$HOsylscskevh1C&O ziRi&Kqg;dR{WAfP2YgKUJ%7l97xL;t+L`q!{o{Ft5YFI(5<;%EbppGZlys(5Gkq8h zF^6g%RuP(T#?kP2SL~GqeO{%GJA}5a=tBJx)!FqY8}e-f3)CNuEt-ss{Zu;Xa>}=0 zGnc3HF=8u_O}op7h~=;|62#9*N$8+A(f6FWB)oCy_lTEdpTINdEhH&%-lED*bt1bk z&iYcH5^oN_zqf4gZMs2jl=W)hvFA=-$$bJa9HX=5w0b|lR631Iev%`_jHOTHQ)ot? zu=?I((6IoB{E3r@GIc)V+UzrCuFPMD|A@J_98E;`#al~i2wxF8)-*N2eq|!&s{7{i zlieX?uS8Yo_CId8*+;sS&~zPva$rX7dJjX2VQucTvLrJTp=)FXR@1M@dxv!ezz2xd zJRjSE2CaCOsZ?^czU=GRH$Io%Ea+!GO|D4g4HJTwfAi0~-Fu{63O^w45tco`d$$Op zliNS}vNHTSy?Qjlps3z^nk9icP7oqJasnJ^CqBcJ;yvY}AIrw5pN(Hp&1itndj{|e zc}gJry|YNzYZ}NlNxN2C$17sNZ-Ixh8$9uFX`!Q-bjjK15hD@5nbTWsLoq1@j3aW? zO=jtowq~_OpQUIPxuS$e65$1GQWO}KO^W}*(l(%rOy+}?kH?F10m#RbcUFhBaxty# zfedtuMLWVp#%uJY*x2^3L0nd7Z9=2OlBC{Ws?ojsF~k^A!9Z3us)EP3o3qwF^k#D~ zQxnmj24T~%OB}66%1Jf7bD+XFhZeoMf3PeWzy-JX+!3d_#>xlq)!PsioT$)p_VN3a zO$cs~tYicOy{0QnY-Sv_%(9xSe~Kd8s6~>|_h0#e+z~o7mzH36gWLj3^1QczYwx$_ zzQWGVZsd-LKB>$zUC!~#O*l5>%CSG-?u=wg)vSV{OQdRx_`C;66_g#BM2?9&q36%H zawv@!LsQ{NMwCV1hzHF`MrbL1DHZJ_nMg{V@n(^&u%Ng zRBZjQI1fb)?G^pH@8fL5LXV~GME;@mnG96B93mmcTP9;Pu$3xhk{*W~k(rpTF7__U z#JmA1z`!RpcaF$M^V4$CJRh+TF`rIvqDQSyC>QDw z)0QH8iJ_4Nt{g7U7g{rDzEK+_D8brwMCG%^jS@{bCi7No;zX73 zdMLW6Nn;ElWg(mLxbB7AQB-6+BuprK1oBl@S8c+*SNqhJ6A0|qSN^!!02Zj?`KIQ5 zGmX|P{%b{OJ)nu>z?cbudzRsIxe81TuPGf)=krW7ay%+1WTE$D=GbMj7m5MrLr6t# z_=+`8ZFokBsUa6YPI410bpPkKKS$W9{+2v;nr3LG37~%Pt&+y&`ivFetWh_pOA+jd z+m8uN#7||XF{&4hu-5lgq6m07gU9@CX`{ZJp>l$g-TSJC&S2r$eB0|i)X!~nQ2%di z#mOaCg;IkC0I?l=U{fZZ>A5%()*9)JbQwW%8DZa!7*BIKTYT>yDauHIMV;C-Z8gRm zy((5`oZJqI=%j5OnVRl+pa<$lSw--O)+Iiy6 z;|G@+UVerKXYhE~Xyg(&Rgd}$SMslCxl#u|j6$q> z%F%hinIr;{_Y0OZQ%ddq7O>!m2Ft}6xDL^km?R)y= z^Y6Y?b5^?2q?uQ{YWlC7+qge-djs4En^lRc3mLb^xt#8_i@Q2@(?UNr&;)&cxl#=8q3)V!3|`m0sI^3dhy*f+Chc;sj> zM&>8w>%P2RSD#tqUAMHIbPD+1EwlP>14_}p-i*9IQ*`Rldw==c|I#~WPkuUi`qmrnuxi%F)X3qF)}cIeg5*oKR~IVo^J_w7TxmBoF+| z6lym{(C>2N_dHO&ktZl(!z%fjYra1h2BG1-I)Sz9=MV$NT?DIhGHeZttBvrS284;tT(lPb`?PFb%k0K`e``n{GdH5 z`~|yyv13Um?{GpHZ>nit~=8K4Co~5z-Grgj(7Qk zA^A(|`BwlYCNXy7CUJW})7>xPWMo5Fy^+we4VecLYQ0BPcB^A#3}}Z%GL!AaPzh)w zcEYJzYhn|2t6&_Od7n`2ruqnx-txK%zy5deu3|{Sdzw*vpeXU=`AOTKbA2H~z2&&7 zTdq*IdSAc~hfWiuCJRWx=Nb~Q_`QaaHr<2W19VvdP$WYI+V#cnr?E!4t&XaR0s0}V zlc3M)`pH={qC!-l_e$)}J}_+DYDWfNItx6kZIf&|hcTwKq@u!ss1MgTQ(A!Ld4)q1 zfVXIVYP%pfzv5)ymLhdyeTD)J6-4S5v0b9$O$KEX*B_B-GHg|UNQ7!;96?hemca(# z-lI<{g@g5spt06bs(gg zLO*qaB@C!<@0+MY?NmGZXjhN8_BN7NkE>8Y%|=%@jIM3BAf>*ZZy9tK2IDH#TtIx8 zNpCV|wW7iPN$yaFx$4vLP_=)CxVCk`3Lxu;-RDy3>RF3h17>#X<1T%Z!GjejCW9_; z;*mK07q2zm*4|27z=k8h!WACmA*e#d?$PC|=sSt16VG&)U?^h^5Sw@x>o9(VsuMKu2kVQP%&&4Y zwiutJ{hi`QrQj@B3^}qSr+7J%BH*_VAe~@$~$+39`^eRXQf= zsd)Wnm!dVj+I2_i^}Xg+U8j!Fq*7QhTB}kVw&QfO5(*k4CwPbyWGrnFG^yH+M+Uf{ zdoxT$5)>&8BUVW)Q6~L9r!Y#Zg=1*IG(DOsrC2O~G$9}>z@wQX)f1ZH7fCgSa`H+I zKL9bT0P;p5fC*kV=eA|>eHK$*1y=(ZD16=Qi@MT`TIl`=OuET;;X5QRRaodY6{8>c zHsu@2I^)PjX4Re%B4IWz`TS@u@_;OGzDxraQCC0xZ=37-2q`QK)t@Tx#09tUBU2z} z(kXW@WYw*HGtHclKN2}Ei!`%+my#jQ8dEo>_^RogppF%b%OU$`Rnsfck7(M|fFpxG z^6!@}9C@h#6OUAFR3wy~lqU-pY~SPoA`9eVTF~t=Hd_W;_IzBQp~)=L!qo8B_({AF zQNYCubR~QQvrc*Pk@;1uusR#2=+W30pX!BS^fG{*UdW#oo$p|Lz>c3YU&=bJK0F%$ z@`wN9aL|WmvQ8$R8+>?eB)5L5&iCd>;{tD60C#K=1exesAf<2{7vl5|YADV&k@sHc zeK`4A3bwFBTPV88g|Xb+Hu@X(69!PkV>H%oCdJIAvB2;$`A4%kOTYy}jXu<|Cx4LX zo;H7wSbHynsg8=Ma{1vt+jFTelpET142KYD^?ROgLB@!qO5JP%U!W@+bP$Z#ZRKE~ z6hGx_lz@sHU@l$hbL8ugbzF)LBxR0xwyiNKawqCayt$0W&n)iQzion&@_ap>d0yB^$H4h@)-zun?$1CUA}9)ACP)-ts~K;b0_- zL*leL?`$L#6tBdYh!BRaSE=*G!Lp-o%WgTL5o^K~KPH%5odQc>KxH3!KvBMx-$!Jp zbpdC566~DdABT#)@7`rjODdQve0^);Rj^mRmEE!e3_IHvy=h_d@~5>K++cN3f)4wY z2i~_C*@%(Z0c=UDi+i&WItMH2JTl9_OCT_0SnQi+x}RK+5be9Iyqj4k>q~zX5|$@gn!;b9)C?4i8O(|CZsl>O4mr)vMIi3oj^rYcdt(}pUQCm?npkSqy2SM*c`Jj ze}@j$Rv?)%ClbM6FRTe6hdsjyvtOLS&d5Bxo3~~?LZpP)KZv8a67`%x%XrC!o}kiN z8kiD;Y=dniAFXEwbm1YWTRw} zVP*gp1&>afkui1>o>qSOXT~2(J60>2fXId=6Q#i}Cep&%C9C>O7tAVBl*4Kd5kPsI zYgv&0${$Lr>Fzy7z!fjLZZW+fD44@*Lh^#`tCtj*i80;kYo9tU>`y6LWt@lsRr zBB9S_ckAbDSqhleFaM|7Y;}ccf_&1#BR!|G&a&7_8n#7)gEthR{3sJ&1b$ebn`)qKdS#Gx zZZU?^>9`HR0ytYqswZQq7gkGi%t0%87~gdFQh)>zai8#xKGQ6u$%83m<>Tsn!G=Ti zCwxNRMw7JV@t~qn9iTPebBAXF60{?MJ08j)q(A!dhGVl}7b^miD$w!14S)&qE;64y zPw)@CO8<2=a1IKWe-}v}pp-6ep8ZfXnk;D$uC&4mrze%&h_lQ9uLWu%ORnww4z4mF zudMO{rwE$c69;rx9`@^?b5*_fy(pX zj~$5<*qD)S1H|PpLARl7=I-0Dm$|$`2=cGOhA*99XtxK|srf@OS1PoK9lYPgNks&> zB+ADmb|C*rjE4`~FULi?#gS*>i;~*V+fFI$+yQy$Hi^T|qvHN%7*IbeTih(V?A60D zEcq@N%t#Hq9UBsM`%rSLaeVe$6z*F@%Y&1s6jJjKf|G-DiEKQ7$?jG?o_97Tg1}z#OW5s%KJSykiP7Vb6o`fOlMW|+ZL_qa4j0a zKhyx<8IlS-#6c&i2LDtR(fBV*zgRn!e)ZUtZAjPc#zJWi)#)W&!>gADQ40HB)&%s4h#Jd9 zZeKSPw^MUFMRRDjVouVaSGo@D@I#0pYYH2g1`yZslXcmKXK>j<&j8xu?`pxP{BG8m2wpP)?hkPJ!dHtuwsj+U3`W!si zpJGWM7F}mCLWv;V_6Y&_NNw$s)SyR2Jt!{6#*e&MbZnu}5w(JoEf*WET!%_*!!%uV z#-JMJ=@q2wT{cqgf?K_&b#Cs{n51dXZiFmfoSm;DOFSm%`v&wLM zyk#<|wfs_90t!K9L=0N(WN|&(VAXLZWa4*#3PFs{`vm2#@{cMoxDKNv*Bjk%^Z2ve zDmkHy&b`s}Ad-z#vzRX!qv&j%+}52O3J16TI`V6VVPIz~ zn?UI=ZDM`Ba&a^tGKtigzMf*;QdB5aX(@H$c(85} z-&@1>Mm_v~o&q3JOOyzoq5>J*+E6$1^@dnQ`5MJ2NU!8sht1KmY=IAO4O&%9867$jR**b>Tgv;4Rkr&k4LIM}+^%*7HIMDG;A?sO zv0i9Q^wbiJm;X88z9`KD)K&x}FfL&S!2V>@2u+Ru2xc1ykv#TKlu(q_x_2N{=RT~~ zG;;S0qqjVjm*~E{ZszW!;z!VCS%!NTy(jTg(L+80L{-H)ivl17NJrtS2k^E>aqxoF ze!rzn?cq9hTDBXPI#0 zJIHj#eRSbRM}=M1!Kp-$1d4<5p*cVpRkEOVSu^VVPPRaPX&&|XX06nIU=$M^nkCe>Drq3=4)KfFCDb>paVcW%B_&0be)T}t2Uwd$L@d8Q_39vr-==n#um10(hok2E~g31y%Z7GW~ zsaheVw_1zQu3%880Yq)+FVdj5T;ud4mZ+d;*?BDkCJ_`>joeEX$DQwD_1He^gj+f22m0t4Q%GUbnCbfi zK{T9Hh)Dz$K(N3C3w7(29H{;3BQz@K?eK{h><>9dxamZ$jnxoM%gXno>Xrprt0<-K zcBY2$96G1~p=mU3C1?>kx@GN7#;)v|1qh8WKee?w2@IOpDO#{Dxps;6giK5-oxF?l z9m*Ih)%H|*`osN^V$1}&En72e|%7xd46w2raiUyM`{Vv_dH~8CCP;K7SyS=?fh#cWhc( z05Oj{HXZ4hd_)SqcCfAMr9OaW%YLaacK2?H!Y!9fZj>1vHFFGKY%r5I0E>U(1r#z{ zf7E-1yKe?eeTf1Ii(crnTn^`{mR$_zQo9N-eO;!VqwWeXz zvtt}SYu*BA&M~o8q$;sgky=VaP=ze=v4eL}OkO%IH9zY!=oTq`l}EU70L|nWZ52o1 z3>@UrFbdI_U@|UP(GDDsyxsQEcjp-5rOIh?95rV8&}?mifa`KGZiP(~aO?u3&zOUQKMpSdV0#7y zz`>M-jf!%SP+RX&kSt1PbT!PM`{kOVRBTf*Bp;p}C>7d%{bP8eX4eTc$C!HrlC|%x zs%8ep;FhmhDMddql-`}qw;qY2o9axtTLZb+a?%#Ez8dPI{!DROvH3Z*r@k!2144p} z=o&6Z4l6f#Gw$!!aU+i^NBu+>JDcq2hW#|cdyHY7c%{Rn*5Z+OjL8SQtS^u@(qjAB z;0W!bUwt`Iklj+PGR5NN1a`;neY*|kx|nZU^T9^7v4|E#XzS$DWGZQa(BC;AT^_WDqvkCO#OM}zBtiIuEggp_K*gBy^I z{2zGG>LC4ZEci~l22+4rvZ824N;a6y>l5zo(6(oC9cQyX%Zf)8lkv;)z0 z1*j9a5viV)iOO^d8d}V<`3>mr;cSm4jfa&xFe|Fnt8dXbI)7wTL3Ik+VP>O zO+5O>B3F0}a#~fG_Rq6cE7=nMW$Yu2S4*;FAW~co@|k*gRw$jZ4gLklH?GqHo=_^M zTTtNeU2iGEgZ$!vL4W|tpPpSv*kpFjUxWt!CjJHsd++KGg?=5`w!_6WW`p z8EPJ%31JNq-$G1li*94j7qG@-O@YtxlMS4)4cD-c(1-QL!r9V(MRR(`#p< zh!RSXXPpDs2{2m#aUWL33G!@R6D8(tkCJz6bx0jUfY z?>@ks9Dj{~ni(c~zL3&;VvVOn1Q2s%ZxoKIf_o&mmUz(7IBN3Ch5{F%NWd7DR3eoF z7@gDL7z4~wBn0HG$Mqa0Ir|Ox*{_{1oEHUS!bLP+jgtZ!`MGbN85kxMHUw4KQXM2T zlV=2QGrmiKuN&bXiS+F#Ltg7_)p4^Rz2jEtvkLlS1HAmk(D`zEKH~RsKJxN#j=Yez z`0JqOE{0?5sH_T@NSlTHa^2DKcrNlX)${UnK5}7i=zBMQy1)Kubz$Q7^VJCJ{yOiA z^uWEdzRFchO>OA!_KaZRN8+b5!}iDX@eVS-dqeb&r#aS+)~D+)#jQHjKJ#wT=v?(* zre$a&pV{_Ni=2wi*2mS4V#$3U?#DawTQ0S%3ecm=?t2zb=iQwW>GvUv?=ROr4xfI- zSaq2Gmc74X{wj%R>=>Aau{mZn; z0Q!N*eUX+G^t}*~D7m+87BR>(^nPD9-+9$1|G6csP4HH3SMBPzDKP2hSY%f53mJB0 zSkFVjLC3)3CjQFeE}m%f0L&ZotGgWBM))Q+3tvw9~gE-X`?ENom$I>ik}H(%ZA# zOi(uKKwjRO>i{46Zu{xj=J4Tc^%H?o+4Wr^*G#g`$pq_t>6PcX>FMI-)K5kqVbZ57 zn>*`d&6@%@!Lo+SMacH&<8|cJ8DH`*ABEfxATfIUI(!{dhQ_ZLlXVWQ_xWOUM&hqa zT)zj>Mg|!k-X+eft$t3Dy}N#tY}?6h)a@Ajl^v6HFvmW3_`v{v|B@k1m_0{3 z^F0u7Ed(%AckDF8U&!zBf1N$F_BxsDa@I!E9T+}p8C;aiG%lc0y^DD7rKfcD)i*Jk zDDP>?P6fSNQc%-}@)~JVi7adKsw@+@{1sIAF|O~jjQa4MpHF?2r>7iWM}g}s$06}~ za=`~xFO7A!7?IDspWFDzf&)K2KYMIFUq8>C<7Z|E!%XtN{CK*wG2=^q@Oqn)baJP) zxtjjMJ8%#ezNV&H8ZRup5x!QC{FBZ8XTtr}RfS}g9`C+dgiL*JVrKPD-^`VZ47Tc* zY#TFSu7KZJkz4uAr#u;Z{q{a4w{r5Q(CD5>$U1$fqk^;5?SCn7$Mr3B9lQ z<81}i3*B?7nIcjzEeIzvM2g>@=8LDOYc;reD70(`Pb%{oT5g-{s@n2v zad;f74J~A0udaJt2 z?A-Q7mo}VsYJn?uxu|Vtl2&K&#L*zu_l(xqcT)ZOUiEf@J=*8Ga9=Pw1}fyaRV#CHS5=by!Q;Ow*_x~ud(_2N?b{pGIcO&k}i zr83q}W2oZmzHQmbPa@P^Q~c&f3%P1x+op!}0 zU&x{iFYff~V)|PR@XmeqJh;je_J^*;{q_CEH$#Tx=})+4UZ8Ji4~EY;#gq?vOYO@_ z{$uKkx}VV4%dW^1-?rhYW59N@-(i97n}KXC>~jX`^9$X{$e^3u#lxa^Gjzr33pddtlsN8uZv5y`!amp#;#DsIVfT zQ83e-=P_Mk_DF807pXFmp}JnhNy4N|+wX+ZI)-NC1N%r1@Y8#tm-~D`n{qMa%`3Il z8#I?X6n-)_!7aW~9_fo7;P=&H`SXo^Xk0%6F~$7d(_M?Xdn5~huOD3?dMXZD zOIYf)*QBgZ9uS^$))&&A0fC8B0?HEjr&1kVx+cmhO(qdtMjC4iPPiblt4+SHibFr> zZ?nEjN+<(bqBVnI)8RP36H-YkB+$=keDY|s)a(6xpSoGO%AcmHE=V*}a!r!2#w^K_ z`;;7X&XtvDuIBAscZ-?}M=H2xfJJ03UlB>I~;g)p{ z!D}(*H#_(9zDaOL+J3oUBY!4F@4iEZ?N1LyKd5Y#RS@MQzfqgZzLWmVPQb*&plsu{ zZ|0b)2icGnA8dt&E1Za5kbhV2f6Xg{6k&LI@W?syP0S||xKhEjRa$PO#0Y3}(j$9k zj<&s%p;=s)Wj@Gf+Qkq`)G;E#TCYro28#tR95-D=lIESq6&R7-9|I$kY9B4!umI2C zkP#Uye0eY0RDk)0ZZA>>TLdk6H0(2d;tqgf3$pn)rePkk9`%cbZLD{Dp6<1Z`mZMW z3=~Ty?x6mb-@)X2ccSuMi2}jF-*WGE_U^RFZZG1_YrE*-Y>yOeVB$a_!AfHO#RLB- z&YxuFZJHi6!;rmHFqIUp65znnQs=8&(mX&I^W$v0_mH^Hj6-v^9}A^*IL(XywT*9V zrSP|!9SafjlrNBJ-mI0RqV0mTDSbi7=h>|7!uF0d!Pt@u^0&0^8)4L*R|_3tgwwoiu0$L>dOC;iWD3 z5226!II^_OcJQ6Ekr^|E0li2Lbgb3+Do)kCnpMx~KC=@$A|4r2v}I%L3HCWJ38$M6 zg#&y~(f3Ydc^r@S=nfy!DYN>|ym8zZT0$vhn;m~<>58z{Of1rKioi;&+uAR_pg$hs zvj3kVUURTRVm<#WF!leh5wAI3gGm41N4)-Tfw%u3BVM!fa&SOS3Hf2+bAg1;rr_q_ef`|3kf_>rF0bg-`@coJ=HlYxWdE;-*W7G; zENmPU9Bk|?T>m}d^{17#Xd7AQ4C5ETF4JujAVGK-rRD0vOoK)1aatd zPDSjKB8kCzbPwaQqet*kw-%kWUEp;nZ)-Pcs8%Dhcd)}7(xy$e-{@pP5FuGcqrHJ&F%r3u8mAeTW4&M>5wLOI(z!5Q zQeRRlsHB3YtEOY7W8R5b2FMM_iO7iz%Ou7!P|pxe6HUJ_{;F=ee%BAyYDD!4-X0`{ z)XywPetw43Kwj}JI)U2VXiUP$VEuX%H=251hR+Fphv`W>)6H{H3X+TVlX2OfPdBh0 z&K7uqn$3-`) zomw^7Jqex!bC{a-%OUFqehgfUsw1>!in2%X3SI(hX-6*;etEqR zzlPWQgyW^QrwZEK9wMt_+<@qpysZ?Im^mbaD=poTOi)epG_|D=6`1x%aj zRFIVDdGpr(He8$Tp8~lCPy@Mt{e5AnaQWZD7T~0-{$a!@nr46XO$adbhuon!NPSBF zSGXScqn7eU%>H#Svs#T=&y33jW$5PggbkmTwHi17Al+EX_cQ+oxs%BKH>6FsnG~hV zVQ0JX2kBqw6UOD=#*j9eEyp>^_xnKFSOE&gI%50=o}fUie={FvWatl*2Pa!e)0G7C zfb^#DolF4ptHBC;`mGG48CQ^7d&v`B*SQF^MlP*zfZxHj8~A8s>t6>u`;3uNfB!dy zr@eI0Q0BX2a`Qxs@=>z5%y%~nDf=-(K+JY(iM!1<<^k!oH_;Z_dg&_J@ilF4)$iM; zttQ34qC4C$bpra=%%u3G`^K`Ef4d0V9d7>P(o_Zse%AQv0I?lzj^8}Il=)(~QKi3^ zk+!0|d@5)qKSu91Kp2RX32Oa4@bF6*L79q4dJLWtGOVfP16O0N#kJv~kdxtrHc~~Zt*Kx&(_nE2oKO$ku|ENw%mz&Gh3|tgsOAHzAw4>DV|rugn)aRFhWDH?p{WVB6-m9D?@gQ|Kpi4q6FzR z|8c_u;vqrGuZW+bapHZX`&ZQqkeZ7A?UbB>_8+HZUn>|UoX7_4*1nCVqgsqg6((Vm zGt5ZC^|5(~EyyL8q>0l__!A_cGUVd?W81Y;qjvaMb&JazsV%7W9S>N58yTbR-Mayy z0yg(FqV?xilB(OVKIcTpMG1bbE#}n^a?*%C>DMZjZJU2fTV=l%p~f56$PfOv*CW!W z(%OHuV3%PEGBk(-#pBRqy~;UAA+yl8T!~k3!p#L?KAA~M+0Zvakn{fq#`q*7Q%GZ! zypa0PfxZZkROs3xWIE_(;f2}7NSAQPL{|F>A`ftWHH|+NLQeWmTAGMpWc{0?L_aDa z&rv`R3-71pZ;pn>0^%e`0k2fc6TDiBtkkmh5ApIG2TZZ>2Cx1_Eo%_Vs{@V~B=h*+ z?l_iexr(vewq8^DJW`8)QQB(lJ|ycEK{6qhMeZ_NHDSfOciU67^@`R@3CgeN5;sg@ zKh!(*+;X_UvMLR)g(fS>`{TK#&QVgI-B7_R;&)F&gM4D0r=%JCe+W`nv%~C47t7`^ znz4siVE!UVre?=0gF?{%yE~-oy`E3LlDVrMW~sil z5ovocqv{$c`334n@G72{?w)OIz0@L}TO>>C5rmXeS9ghXN!K|nf;I+}x+gm7nfJx6rCfzvgq-{+`Mbcz=_1?vR8&A<*r#^^A6rJx}Ui18AdOcDz+Nigp-ShrWzfiT(%u zL+wz1jU>#k42G~r3ejJ?7O%~~fK>5Bx`X{Og(!gt<}zBeA3`1fttA%!wB#!1D(5SX z(8qzr^i z;a(M+282%4|IuvL#?~s<-_l#@LZus-^__mzmeT%d>&dni(g(Va*$6ml}_}oF~eGc25N@#(~%clEF*fb*F+R z66)j;^l&TfARKU!O+p5l77@mrzUYYSVfzVbECE@w;H6gtxWJ|Khi_k`S88SgUJ7DZX z@~SE!=*m%>JT!`!!)_ig)YfsZk#aL6inzYdSXXc^P8i`90&N{3rdN-_Mq^zPD%-GH z%E^#z2W_-a8RA!D%tw;c^S9XlUdf9NhL^-YQnpeUqJo)1b6iVDQy`~AD|nL;=OQ;b zR2G2=ne;f50-QgJ6|AKPI3tbG^A_N`{5`zl*X&26TS{JtRdWJj`^U)=HsfEu|2Ns+ zKhpiDAnm^kYU`OeI+mCO35c0(>IFC>j?wTYuj#o>{yn^6Gg|$BWk>1G4$%A~SBDzw zgvwrZ>rf*k$H!@?(M(tGRcFl8CfhpxtCH)X|EeVGzv})U*~hFF)iLV((EVY>c-j0HbZ3S>){m(xG4NPxg^~5 z*Tcc?RKM28X{3>Pvp#CcAl9N>rqrImJ?M~$nn}8xH_9QyEvQ`@LW7yXm1x~cK~A}+ zm=GpZrY=Pn=Z%ZL6zXn^#H@6%oS1wiNI4j$WujUx2uo3lAZUABLidxdll%`M`ntAz z6{7!I+o_u6LRNLY35X2X)BLlLJ=T7`EmXv?J-dHpL|<>nc~4+`_TuN@A-s3J386;F z!cijYl`CFzqNhV638z`D+h@rGq4Cm<&=(6twL;I=w+`nB?g7HOfzbmZ zWaLU@5DMG1z(^MaA_l}uQ;5AP!6L}=auO!*uM&hvE^PI`WTpPLP(kG{S*fH|ahs}7 z9Qs45MfFHA8y{-OH9N9V@L1 zk=l7lcZk&VMlfB`*k-@_7dTB`*j=ZfzxgW~x(RGB7!Va5(?lSL4u7$yfEm zl>hKeNqU6;#uCDGwH<=toz=7fw0YAow@?y zre#NnlzmmHEs*m6mZh%-qwI;6;8o_!6E=uU|3A3A@}|_{%G*LNnb))6S)yTbd`;|OSyDv)Jaso zr#nmYSbtaS9jufZRXeMSYD1~N3-+*%omKto>au;Y$tPo&)eT>7?u$vToF%=8GKx_` zrI(sY{atGkjGUC3J6|edo1j7t>2lbGo2{!>Xh97{*cFqE)xR7DyU;11MDKoStaLi> z*TIaxfp>%pg5jW&7898IASGi%4*Q;R_q|svdJMVOR*-$ z!l{{qXwZyGgAZ=zh!I#5P#2P7=;8!aj8M@r_&QfmDM-&O(wwVFDY-cvyfRnQ;ZBK^K|!Rc86ET11qTRM84R7bjRteDG`UIv<`Qq8xHV%*CRT>1t(4u2B~fW{Iel7qZXF@7ju1R7Uz1Lf z>EX*`s1;6h;X|#7{aF>bvC;Cl~mpqevD0{$YcD(jkqNZKp){*f}DgV?t_Q!9mGg43<@dJs#DYo#(RoCmB&aPDOiv)zJ(Ac+i* zydDBG1z%+kBAw4{bs@I8sGuJmukMtMh^_r>Y{H65Wh4 z2!FtyW?G^snuJ=n9*2Wa2OzTN$(pIuIY2@+SDjy0Q(8QCW!LrBsLN5(Nn;(%riIe5 zt^#}&lv-P0&L#}s5+wqGeUt36!s<0)s4HQ;Nk>g5`OR688i$4t5dx9PGVaOd*mjEZ zW?0&Pg;T?M2|f4qm? zFFn=BV7QUyr&TDU@;71=P_sds4eK65Z3gLFtLB=4XzQiUuY*m~sm#YhOur_Y-k0Z3 z$g_aE))#6vFrPaJ$qikZj)L1l3m8A(p+m#vK*eh~Gjuh$Aqwc$Vs{tU_x8aq(|QL; zA~nqK2^WLzG#e-U2JSiUJAfT=EOM`HeL2%~`_g+j2NIs9SM*5PB&Sp<8#-35OixqZ zAS9DKK}z)1?#NjCA$Y);-!Iu5o=!*KkqoSLA!|`~l%{@p>2qPJ#}EAmrI4#KV6eg& zQ*#<2E2d8od|2p^sXm}rB$d>l=-v!T+zmQdb^l^>K0sF9rIzkc{v+6u*y2EJiMZ`| zct!|r+a>6`DsbDxb7lT^w}g-@+A;a~SM#ZM2S`xunq-(k?kdN)qVG#xRyB25p+<02 z@N0=uBlPQFnLb=VCJ!_nZvE!s*Nc6hef9R0wiEq}-Cben*1?amBI;hSY*AeHd?7-x zwwrk~z_R!Dfs|?eps?4%oIaSSz!6W8kVFgtGk^tLIl6cv*aMOpp1{{ms%}OjvIBnL zY5t%@KI%!q;io0@Rym^QPp9lfRBI62Ij#aiMKdH?vFM7RWNVck2S`)x4;;671k2l& zAN54(fQQWZ0X7avl^$_OQ|&PN)*Tr2Aobv_3SGBNlS*hPB@x)$_OJ74v2jP~xO-tz z`_e3!J&5v5Qj<|lseV-bXt<9oNde2#$sm)U8W{cn~$ASJ)%h1-_k`vb-UwwSwvUj7hxWoQG+@tLK^oDt8S?^t+MmRk?m$v5sj;LjH$gPNrq#_q^jFPR*~*wJWZy`n=VW zI`1Ip5ma<#q)(gF)x($HbsY_N>Xuj5e)kguyyX`e@a*4oCFY zZ$H2`)N;&av!^e;SNOG{a5{0V`G}iT`>>S9k=$f{6Aw{Xy+)7pYM=WZ?iDa5LV>Mc7JSr5^)XkT#&!J&*{XaK9#RH zpljv`IGNL^ZhAYdVQ8U_lfu|_-@kj}L3qxH!ym*aZFjx!-yiT8 zhFnuOaWpF6oyZA+KfWi2s0-k!3e>xSO8y!bMy_heavUOWm}I1-SIw=q^=C9|&CgHp z`;SfRAo~|AxcM{aLsnP9WDB?G%*<06e%15MRH!iF!)R@2@b}kxUDc3iHKSEnNG_c3 zZI~;kMol+d@M9|^&(Bn8DUug-r=MwscmX4&(5+SnGo;{$FprohOMlP zL_^W6lrv#|`+J=b$6$57ll6|Uh(G;D`&)Sd9&^mQkJOF67e9_a5zaYU;5Q3Amp| z7N8YDy;U$tX4}&`4^#y;g*e+Dva1+aW)RlK%(d7LSohj}t_ylafa2;N?X|UoH8zHz z!hwY;UgiZP2R~jfGM)Ucc)~Qj0PNNu8wZ@B6@tzim8byTo>8NKDI!6UH?oB@Btb*# z^frWEe&Fq1k>7?EzD=@__I}xUy+ypeKif~*scBfD1U0 zpd-5i;@rpNJp2whk)u*WOq`As%W+ik^K!4?K?n4Pvh%Y=8p5_`>omx@VmMV6-k!VH z4)>CYy&op7y$sW4#J$=2V`up(zD;Y)FveZzIeT)<>e&OTTpO7BkCZ()1Gh%g0W$=K zs~61ck-CmE?SjW@t#FG>doLZ9auvu}7_LtK1MUlxd(*DcsgN%|=1PVcD-&bS?CaJk zVv+7=@BIaqZ9gcb&1TQ_0=|8Nq`IguIA25wo8he=B>r?6P$9|!+SX!!n(Bw;IO>6Q zKZi-?14%XwoO^N;0^a!K2Z?MgRyIt?t)5B-athP2J_i=feo9;d-lkF}Hp$(K1Up9) zqu~D)@Yd48Zy?xgrPu))1d8onk?3DluQ(9mBzE)ATe|PujQrn-!<(U3`3Rhq9zXDM z@3$(lOS^Erb`j+XQ0Do$KDwgMMkZID9ZMIRem>l5rRKx~_QkF$Ng`E8mMt>GFW4_Q znp;L_|J~W>*=W7(5q17+DoTC>*xi8KSG-9GcK@#GQ+TtasxTOjtv$pvsc$;QI>tt4 zhCOG1c>8E}ca0TO5`DRdPNL(lc612Se0(Gn=Dx%Yo7&h_Z;~8~e<#VVV7@VH@5M3C znai3x5>qkw?y!6E%dZ1hvJfYFq+6yLipckM&Jb)JApp@=5I4ww5wD&83X1d%!g*}xQ}ghl~*vHR5kia0xlzzp^-3o;Q&R^>27I>UkKes ztFl(9>ZL~IR~xPPP{w76NmP5AKFzq~%8io63lV#0E2hJv8>ABisM{H*_%rVj-Xog4 z#-qGFhKdTj+j+O|Id%R;R>odnRUgdaGs`HlHS_2ix-cRVF!LqXiD$|#j)}Wr&-8OC zM7(&hQ77rh3B^$WEcg)(MQ(C{xG;MF0Ip*ZP9`m%!A~cbyaJw<8d&;shiMsll|`Q zY(dLVLw%Y7L%{|vh>5G|(k5C)>*u%Qm>}Eo(Dw^mB~~0Pi(|Y2#r%Y~&HYV)$-7@c_hSpeleBhVSX=E) z$AtijVzSKo&BBSua<_%w7HkzNj#^u6_o#9To;pRJKhGiO@z&Tb%l< z!iy+`y7zDHo4%b1NCo9?CwEEP0?&!L+Q<>wE{5QBChq4Sd9ELMXWaX$k0H>7b{aTE z?%WB~24FZGksOdI#GFSU52~iQ?Ug?L-pLN)-HxES#D+o>i-p zn+D#BhyE1V3EgNOyeOat5C20JyuS7DL?F{0vd=SmRgW{~hZ-Bgr-foiIJ{ z|2ftED`x%~ei}1m8}C}<105g)r6PeV2bGxoI?w@?U?c3|nMV(Sds!2Yz#zvB40R_F z5$Xn;A$DMN&XcOUnt-=~V3Eu1DPYph}-`~rPt6uwSwLrJw z!$a4ude8^J|9II(^S?nU80^1s}BXU~WfJgSa8^I40hX7LSyX&p_R+4_y^Hm=iK=6u9tKD&YWEc)|hgPhqOO)z8*XVNvV zW(=(?j&w@wK{z^be$1(9=u!|G0}%|O+DP1L6;$N`=q(-^dUncpn;R7v5UiKGh5?)} zL**V!uOlGhK-1OEpvypc|4>gI<`O;p$p#}u1t9f*)BBIBFUB8_KaTiCG^IYXKB_)S z*<_qFWE7=N87$`kUatQ=1ViIG7#g>;qlyIjTH)M+!Q=2=9Gy?bX|88P8d!Q!zEO}= z<5Z8{8@h`O;)X-@lvGKnL3&MB;n1hd$CCP5q@Q+C#P3agGyA6hO@IBpoja3kQzTO) z?UHK@okIFzbORlu_6oDWA&K8o=L^; zWmYd%vB540L+H=o79lF0&(UiEzfs4X+5*Rf6Wrr7>oJ55DE#b5hgS&z9=@JoZ*V6- zzvy7md!!45%y*6j&i_QwqriRVf0dN0`)j>RCz1Vw{{+j$5FP)YvGQ#!IIrUfK)zb^ zZpo+p_2=Kusw#v6Z86+0+t+=n6xU| z{-B+#I{z1&_hcVO$7AO^ws^iw(wojsxB&OSin3hxUX1V*=ME$T=qbj^mB(JQHg6yT z4PrWa#yH!1pF#eg$e&Y@-W}r%ya&xwGK>KNEuQ4gkCSLFJNKV9bMy));GGD?i1eU8 zsEpz5)2;2`TXZ)WE3jxd)LBH}tjd$WAI3|vU^-Cs31=2#kGUEeX~@LwF;|x{&ibT}yJ7x%s|43zr~l2H9niD|u3u{4&^G;9i4|V@ z9vf{AAUBhmDcqD2th3Ox7LYY~7CG5h*CTN5BakutZB@8BMGdDaJS#XWsJA`*7v@m0 zF=ekw3TvpqJfIod)&ib(eSsW%jvkMfYU-T8Xt@TAz@X2c?Os+)X5ke02z3*FkzKG% zLr@*T@~YA4%C3@k$mIw8prgnKG!rx^4<22xuO68$$98aeMRFFulerBr#U>C%atK{d5D+3RuPDxta{egEE!%zu_a}CB zHvT-H#-0)-WBkJ>8b&i2&7rLia}F4J3ujJ05wk?2CcQQTgWYMT!=3QZPl0=9dVB)- z^p^$XShz^kmvM7@aq#HDp!i|D#?s&l&a7v)F}b)rOz$zYj(${rW;!F8!mrAr4^myZ zJsKP7nXCaY+s>;&*p6tBcev?jtvakE6>Dfcr%9W3fmhPhXx0z*P3p>EO-AAPMYqjA zadR7(<^Pi^mEpe$-^$863JzE3Qxt0?DmoChG4MXrB!ddB$O|jVpH%{11aZW?LzO&W z*(g&i!78we-2rZnAiA0ctdKJ<^sj1As7G!{k#*75Rl9a3ffp-6>)w>2V9qDy#!-o! zTX=uIbelB+-mQHu5P5CF^fim?63nKf5WjBR8tUtU0d6y~$#*u17~qx`uA2BG#0kHi z#lC%Apc;#PCqgwA`(A!50M!*drA*|`^EJbI5xEDdDcoB`?$&%fUomThnp#Ep7ggkg z@ACGYO_!MRM}&0}TwIz|pG90b!`Py-2^Q+N@0Qr9!N!Vra$BGEIGy2phN@J&v-3@; zFNaO2bVl;ogfmtl0XD)OR`m&I*z+$`M-EPMhHwt3zS$z?s$tDJUvqFIGK@o|(~@x$ z;4h@5gCI`D5(fXz*nE+zFQeud21lG65cxk)bHvHtbp8W1XJT+*<1n!OiJCvmI|h!3 z7nkioGzRz#HlJlpU>(9>ri+jb>|@Ph2LqdxNUVu%UV9GDA|F>@>!7yC(0iQld@P0z z8)HkFU9ZTPb4GxF`I;<@LK3wQE4K@tkQxZ7o-$pI#DS6-P=~JeHP%Euk+dEG)`wCa z;LYVk{hBuL;Kb%le#Yr@+o10U$Bi?}<&!0y&L%W8rhVJEQlw0KczpgNL3h%wI$(G^-4 z@n%BrYm#R(dHUdsf{%lql*zI}kyIwYS!fW{Ut?ts9l_u_kaZ+d(63-_M;2;zTjqJe zG3*9%VIO}-$NrwpT=Z9%L{9Dli#G-RB-<{bT$b|%ctDge-3uF z_-{I|#nFhH_5#if?EyFB&Dq7f3v9Gy!<8jyj=m?l7}O`MkKfDO32YoYqPyDwkhvHd zS*5oEl|`usflrxpctHEulq0R684^HqY0Q9=JBc}$AomIV3TV&a`g7)R1AxXC;p3d| z(D{CVaaePdEF<>@YLr@7B})U#igpTq=7=8v--4Y6-&`wO-5`Y`NIm|V=|ECKcm{H) z^u=b^Bk^u$;dGf~s}p{u;&NCcMmS;D^jl8`(0vkP+lGb%9?g&x-Ju_b_eOxGH8@Qz{oY`i` z&4AWLtnOcOQ$St>$8IwpHOx{O$aGAA=^3DL%prw25?d~H0W|))rnG|D7&$N@ccwf! zbPtdmLmKW8pydwLHIcV>_1gmPzNW2{9zU7`$$J|G0` zM=if1ru<2quL>PL%)|_6^wY{li(MSIrc$;#By1!=O1j5lnpLZUB!JjAz(WB}ea`%C zFzg}cr3abF6&jP6{Fjvcb0Ys_ScWpit@~K4_edmuNUta|kzYA|D(sroDixr>p4?;W zHm+}4+cY+&MwYCo`nNFoj(^1DM*k8f-+?f>R_Qum^;umPSH19VadU5R1BA`)7VOO3 zwQi$ulVDSHnOwxlHP3d7JrV6WUHR&6$F`CauRlrT9Jm}GsVrWXSDt-UW}3tO%-8+3 zdZgOj4fidBn-gWTUlVC0A|ZIxDwlD;|L6R|+TFza%4`G!3L!3| zVb?EjQpSgRb!mt8>l9Y_WY1?$W=&?zTpIgK3{c7ywSn16p?Q!yq_4EK>5krCzrzJ~ z?Q>7!?#Q`NS%l|&_}n%YR}#wx8tI_(dh8;Ewe{whRqXczQ|D)RoRE%)a5rgka?yc)u;<|flf z$uREXCUHeq1pB;v$A`W}&UtrRxz|Np^Jg0tycYG7hRSc;9d5cU2ij>ZI$nYq^1E~o zKGf>Z62zUfi@WB--Yp|l^x|UR&!ue)Aft$B0$ksNpEhxc3Jo3gMNL{74*%`w^5#MFx9L&y|wY9 z>*lR74ekP8M?W#jI+||V>!v->%3p_T#N0ft%X7tXINeCSl6g_4{g~(U=<^~e<*HAGD^ofqd?(kPxxir|)$-}Sx^8}9fdSWE>FU^nz{peWPO?AnHiQQ1 z=A*P2b-Jn*pOCJ`BuBv~PU;=q@cC~pGGb)5J$%ImXPUB}Fa(D;4ePvjb!@?rWP6_i zD5selZV#ppoF&}K<@)-O@mOR9y$HDY$@dS)FW@@2etmi`{w(3d+}%<~!(0fD5vxv& zPE(D|31eaI=-gtqQB9x?E9L+bw~BtQKB4w7pvoD{`P zl_w_w8gDKmqCfcW4k_+Rn}yhD1_c;h7cNwsm^@mrFg8S#ir-H!Tk zX5RpP=6-yl&4AUyi2uTTztuut1DU~Ss9JDefY?|Iv+pWsRts}eR^&FTh0*?oh1t}F zd94L{LvKU+!kGQMw^rhJE3$v;*SXmR@#qb(NsH-s9!7voW1gQv2NkKCRDw>?qsQ7>o&d+OiLrhVXQ9Bue?k0h^F%A;OVTiS zw(MlgA=WF-4Xk%CRP|>YD_FyiJ%5Y*1jWAM--J2gRlV2G-5QtQF5q;zue>JeaPrgW z1*!JN`lwXNc!Li+_?)MuT?y982FMtEQq`ND!k-t_bFdylF!tD~x;c7jJfQ&okm z4cl3&Dp*#B{{rHndjQiFY;k&?FV+@ z2brf^hc^MXKYN`Yq47_}&|IsLZ}#mwy`fwou)4+ONG#4x7-dMd7P`*t?XJCT{ESG& zTI*uU4^h@`Esm2pjDuj~3aU6!OF8gg8)-KXvinn{8u}#q%&un9=y5|xefwB{{ zjP8C)!<*Xgt|33|2wS#&6&n}2ga=gl!ucEvZtymMimJH8D_xOa=(Eb@tF z&pzr{`A%^wF`)$n;kD{yQ!((X-MWA~v^_jFp~c0e@|}ZkOMN+3!^H(`ixbYQ`t{|o z2UUQ56C-05Z=8741&_hcU$(&Pys6)UT`Inj2cF@Zx2NdS4E!&|;VocR)WBs5%u1Zz zI8IMr-9mwo)1 z;ADH@`E@KE_{}WpJ|2H=r12&jts?}$i@%K!8+X5n;I5d}VtxsSE1e*5tVYuByv>b6 zr$V$ikR%)qfsyYY<=>yr|NPAY83d<74Sc7RT96NXOLP-|^eoK+T^v?~{Paly#LPq5 z7;937+Tf%to*jmcnv-L(@wP+X^KNtqR|u|N<25C1LOr~ih{OlKD!ezlxTLd!Q;Ul()Lpk{=Hyph_wT(^uetBOFlZcJocc*umaK@G^hnJVt`O*?<& zw=By`?}WPvy~p}?yT;UGB#+0W;bL~y3ZWSP{dRRyh(?Tc<#*x>KO?3u5^Q`Q^p?kT|( z;jBXxks_RBZj5hx+UKhU+;xQ=5J7Wi4+N-JC8JHa%IGnvH#&f4Ko-7;XLjPCV8`_7 zxzW!%6#8_Eaaob2VN6=Xj0?l&rT-S(yD>)^gOJE4e#xNFk%6!$myfJhG+$*zJU;orslFsuUFLxd-I{;IGj@D`aE$;H+g%q~%!ZU2jKv^?jj6rK@lU5(TmH5lTnG~9pYlj_XjUS{ zH;9{s5spE6@5*=avmP)-!Du!nam3rB&0)^?UON-OqvS*A@|-2ey@viZxq;x8|l7vhU~hk z%e0qd*!^8BQTB_dl36UMMM;k8<*>yuPm!;=lNI&iav1DEPC>A*xl_PSH<>qDSs}E< zMfFedn#S)V811)mYzmLV2d4+>k*ovS4y~d`l!LPXI7jbf+hL&E;mx}Vm83zTn_q9enT6O8<`*{D zsJWEd1ovkljm&uDuu`zAfZHZeCq@Bf)`-ZE2nG>PpLejg2rFO))A0w*Ls^bL{{!8( z7r<$PmIT7p+Wfww%ZesYL`Fd5|C7R$eQUxeqtIU$Ji!a61C-fC8W0MpoXS#qzuNZ= zsjSfsq_PG%wgId$K^XXNsJ=rm)i*jtcmb%smlv6;Z?t94B;acBcotbweHR#E5t=&N zO1%JhFR8w#mQ>#b|GMhiw~$&K`DwAjW*|o`)|d*q zN#zN^P?D@s&@%q1yF;`aru*Itj#|$^mu>klM1Bn#Wp_Zh2`p3*YaC@dTY^*^tzj2; zz&OU7w~CiZFZyFHuabv+9u4v!JQU|mrn;ON1mi{)ru$A3vt-4`Kq_#w>sU3$qrU~} zlf>0oa2g6lyI7iT`1xtS$L^iu=k(z$Hoh7F`4(HbcH?Fy_1+4r|KnZ=idokbCBu9a zbJmmtkB3G5cl@Jz9VBxEBKSciYuc|xU1c!%pNI0IUs&KC)a8XA74@{e>^WL`S zd>4zgghpIxWHN0))LjY6AMGaMQM8swT_D#zPAo{hoN50{korot9T`7*WxB|VD`P>W(LWoPU`2DE|65_~|w(`ezj=7)0N}z_n(&ae(ilCxSAsWnG(;?2; z5AyvBvZXCb#E}>AqC`AfIFd7hGh&12o-*$Jn${!S>DqUjLY}zUq*(aCnJj}8vU!XK zDJFSBP0NqR;)}l!#Hw>Sw6-7HnfGb zg_(hfRfb1M!y~jUK63}X8?LC(+PTq1B&Q`r(Oo`PX8oIeVHrJ2mviw5p*BUU*ygmP zUIPb!Ygd@H#NBK{EgEe^sN>UpBelqziT6m9l>`|h-j7D7dq%J*bSN4L`lojbBGMQT zDc&TR@iV7IPSwL*k;x7$ovhjdXxq-@E!YOAWx@j z2}W9JgU%!#0*_d!%~ZT&cEocQ=3J9UGA64+7*}laTDW@*)JHWz2uX3v6-on#2m1J6 zB2RPADUU?ITcu02(zWG;o3)4(`=pSo(Py1+mBNjLdnVn=4UYHt#rqm7<5>3M1&@3` zw1N;C`99oZRf;{Y@Zny+El=O6A}KYs%JAI9a2SKdJl@0b^@Mg_43BL-YczQ3qJEpf zX>XDGHh65X0ED7)_Cx52Ndxy(Q8{RJ&_0o%X`v$l@NVfW)HPeYfGnAzlAM=Ha1HQD z+w_}20NxBYl(hqQnyCvFgodr&4$#@SjUGh9a|0l8H+n8_Q!dcd*oxSKKYf3 z%E6;r@fvF&(G)ke%ayI%>5__FO+g})?dZV)!fnrQnN@UYv0oP1ahzg4-Y=o|1p6e< zIEh?7*NTE)>R7jM;7=2g(Uo;epcU&l%RZ+=M}{h>MHjn$K4%1Uo>uOm5&du3i(d?h zvQ)I0j}rD=u=4p_8`~7KiF~1oXg~cz3EFghl%qIzp^C+Jy>N zb(jZl3wC2)RC*)L+<4!@jDVkD2Ijl%GuuEB07H}H-4gWCmO(JmX3GsV#kvm`OxU$ZekatE8AMT@~$>{q!DCofrFGQL!mST#dG zKJW9wGs6Fg`V;kY2~At639cINJYsfn+pcTmp*lS8n(&S(c)1SexaP$xdGL;h}FIKZ&FO__H{pn%$ z0ejI%WwBJzE}Qa_$iDTp#a>fqjEI3&!%xqp@8O`t-!1q!e%OPdX7aqiwV~~`P!qXl z;zIhKk=dh_ZRfd>{@WoXFQ*Q^zP>u2XXw7~_Yce3RO~yK3>a3fcLR?!-r?AN?1yP>zMT{HRhGWo!77&CBL5+1>8-=bx4|P_b7Xd6 z$D#J00;W1^MLHtl#623W=Ru!>T5G@iiU#=mYZm3xc2M#GYfBGZ&(8z(x36g*sK2ir z)m3ioHwY-QRWdetnC$z0(3bGA>EWR^UJv&jGQNVE0Y#w)+ju?Q{XI`^%AdCgnBva& zR(}`WInke}cvT*zzH1%VOq!|`0M%}NZV)i++P#-z-!9~lUgW)^t>EVP;UaR7y1qMK zAJz~sRI_`tw-?+P&o7*Hch#RS7)=**3nOHJETTtd3BEDaD93DYhFVX8-m)gmruTIr5g-2lK^Vd z0BYZAa1@vv{X_?-9czCwt<@?&7T0L{`sC}A*Pr9!c-q(Dr_P>`YCq;ZJqb|z$rbqa zS3FYoCDps+=1qmOb&Sp)@a9UzYscXnuTFjxNVnQ?giR5bwYl2mC_c^3h`rU@5Va34 zr469AI)d6R4)`<&9zDek*}wksy!#Z%kK?>~;EBt2m5PIsD|W2e@y6V{>r|1V8nL@2 z=E~F&6Pf%AB3F#wEADh3lJphK;76?bO$+10k(<|ik-S^>t8y6CZKTdD6VA7(%q=~JfQKBu*L3zZOjU9#*Qm1%|`=hpKFNYX>$ARxR3S=fD8`aMaS!#P( zF3co09rDoHvT`D_PMzSh>N`|ThN@FKCNk}?$zg&WjA$qrSV~DRzzA!Cn6JX_h=SKfcg}C&P=8|?(_+hg zQSLTnYrO#Ru-in}_i|a2yfVjN6%%~ku;1a|AMMprAu>O@X>egob8=P0+KvfZ|M13Ww{G6|N@M;4mRfG^Lk4K> z6!1lI?=kjc-Wr3_JM-G$Gk4N$-`u>Wt!?f000Hjj+NMED%t{LR5G^zo^U%hi_Q=g9 zUVn&dx)?9&pDhNI%}D55rEB{`FxB|XRKoP8d`^d5CHyc8XVhy;Bo(qgd#{8J(k#CAg#Nf8s+nJ2q&VwG{+lNXq znT##k;Ga1NSIc->1S;zz#j+d_OPMOR z(xL=cQM~Wob#}i4UGiZL5{cl;TK@(Y?tGD{8F9}=(ry%MaW_qAjJ%YezwCmLH)f5? z`^d!H#EAfevk^w28B0KL8$&FjZXTV!V=1rYnSk4D019tc|Fr2Dd*Ux0VZ*b#*!poV z^2Ygt8!`pW^sU7MTs7Ixn=>Md_M;tL-`yb}*4j$<7i=?#cusYmP~SADG*3-;s#Pa= zl^>uf&5GOUx3NdWw?*I4KPI8(*)krvn4gI{2#U3L?_{<{C1|8Yl~0Vk{qOQxQtbm?hs@CBNZmNzdL_*S$2=>&Ea6ArrarVSGW2TG9?M&m_nN^>e57`E~`R>Ww z<&y8k2Mdu9W*|0LWpiy@yLaPW34e|G+mD9$xn}3Bs~ta3u=PSbY~W-lZ_09wAdq6Puu&KhSPDmcflx!oAS9W+<%&}FsR8*8x+HG+O{khqSZne2(3fk ziS8ZPN-W|RpBr_KL(CiJ(j9^Fz_(S<%M-eclKs3z=7Dcx5o|*Z7?VnKfWooxvVjH+ z;a&MU>Veuij^>*t@Nb6El2NA&89A9AHKHiqMF^Zn_ge%aGtA((dPr%=4Bu$`z7fIb z(oT6{s^soT)+t8M5BR-pbQCPn;>eu7RcfkGXw^B~e1F(jTcPmmh)~#&G#~i^*TT9t zaF|u*G^g|Q;Lp&WV=mZvjKuuZ*IJ^;)0xvxoee-0154)8&iJw<2xg8Q?>K_B+tS(5 zy+Vh=xgs}+DvGT>f`or_(zfIetJA9^^EsbvejvH~Zdw#e5;zx=dDRz)%4;5$U~f#| z-c^wVCiA$kEZ-};le~`yP64<(f9f#`^p4`}wkMpkHs^a59>1GVLF!XdZRNo7k@ z&wnmUn$Sg%ySvsU6R+fk*L0Z4>Zx_hY+lO4iyWwHLj1YY{F*;Ivhef&cHXv(lSe-g z49HOeV7L$^mdX@IvV+x`q$u&{e3#NR@eqtM;SnNIWjq2hu>gau^PKrk_=7UKYvgI_rL@NzhI|S$uh3rJ&^L6n$llpMUde%Z~k{ zZ#w9U8xA(XI~1mZZm+UwgP7+bL)xk$(%eZP6@fyPlr`oWW9~RTpV7ydXL`r1D3HG@ zZQb$t(Q^=Wb0bedEHDhH5T8gsk;EeQV$+wb=u0x6nNfT7E``^9YrI%}v3k9na2}Ok zy>Vz&Aj40pQHT;f)weJyK6i531%jUEQJlLOB410+x^sMF8&4Z9>nJ%pMYqYMGkz)n zL!hIWrh=Pk5eiBJs>l!(zQpI)EDo+H-+9^`6CSd8nR+aQ%p@;+TSMdQCp3TRH|y8$ zFJGUs%jB``W68&ow#kiMe&hjXQxC>8g(ROJJ*$%;pI^R!{tuXW`Gnyo-8du?XwjiM z%K5d@H&jSr;fZNf!P#@IXLvf;l)Ez3DPI;^y=T%(I_{olJHA$ilea?I?X$o@g zOp53|C}8iX*=c8O^3UE;gM|>T#x4mnYPyWtsDVARBl=EMf=_pMiOaON8J|Cvm)Q#T z0Qr1j3ALHG@AQvpDukMPC~CNjVpYxf;58eIc}aici%IBkIHbN@9>Snw`9yn&ThRj> z6Omw)RT&hcpy-Cvxs2Mu&Dye6QcaEYJcB|X53(3mX&m3EYSb3}!Hv7u<$s1bz$d9+}wF%#5&hHIKNgrwn62; z$+KK`ltOEJoR;S+NOE0I!{Z5IaGs_7!ec3>YbJLAd`d{$Rkei2wzg&FlFuqTSmAF; zf6LUN3pth@aZ)m^UWypr!@a1aF3vUAW|3vsEB}opm}c*F;aH4J-fo`u=!bk-=qf7! zdEk}YK$bAu$SJKxhpEwqitdZy&2N?}3ab#eL%+`=&!z~#%wifN%(Ubm`sxQ)SrN*2 z69CyT=eGE=!Qm`~ld)Lhz+lQ8h@}r8;98^8?CcqoEgjuV8|{ zlSKOI@cu5W9y-9;R|D0<4oI}hv7-0O zutv`3k~?YKQ=8h&zUzP2{~_i6F^I;ZK~(QQFe&$=Pnn;hK1J=)whe3)PDG<+fBAg< z7I+GL8@IB`tG-!uMAU`)j>05W5{;22l1gV^44;`^;bn?!&%Vr1=awD3@3-#Vrs3z| zqv{!=qMca%sDC6Kf}@+lXqLN?eJi|aW>L%yp(lQbxv{AjbAG7p5U9ta&zc|Fa`+ZH zp%1k}=d-msRo%<8HGO#FcnF+w&m?HMf9#`KpbLT>MN(L0>SHYWnDbDlPcCXI-xVPt52&|0#bZ z4cv9G0n!GakCfe5-VhtaB+*#B6mq8)UhMHR8cCz?RIN|>w2L)Rzlbu<(6sEBkU=iq zK@%ff$^~0lUNFk=yY&n_V4z4_}RxH@jDDZBURlT@@a`W)7BC#T9my~aEEoth^$^cnGw_>rI=lB5j`VA`tUS~~d0s~Q@1?ouS4YNG zw$U3YxY@mB8|91J_U=s4?is1Zhe^j<5B(S2GU+qd@=5xEdUAoK(36-B6 zon_9#Y@)}7WX>0tVD94b?%kjAvm|rL#qIy&JX6ozgPn)@j)uWmj~!a#!7knV{*di+ z^KD6s!p6E*VPbP9D=x*ql;29Eci+v%(01#8&a(oWW80VK1;a3$-Lf@`-u>U?gWE8i zO)TvKS@K`x4>dW9XwU*-`Wfx^=lsaWH-NLzRzbV+p5f(ra0LVI<+1t<%(OOd!`NeI zsL?ukAI=URfljISbRmGaT7WG>23-*Ee49Ts{tbJ-%(Cqe2wiLm=&ffLhIf8JxFPgL zKJ0xG*c=t}#bgC91ZBpL;Dy;vdoS+2_`dPpu2a<`E5b}Ycwg2jVKBRMr7()Z^2k|t1XsuwftIb$5f zl|*XpQFu?0Ws-PDA8}F6?K?YIE2${PyODQe*Uqv4Ul*TZjHf39>I2+39at)#&*=-> z+QNOmVB;!BSP5WLjAf&BV%q6og!eE62Npk|r38-E+zDz>c$kauC4WZ7Lq2#vk(~FQ9$;0D!F(LO(^fpT%sKPY> zmR(%#Zn&}-$)b4?4O_#Cj#$ckGNNBjD!nKG50FzB!!=<-Zj9lYfOh~=Z7ZSXc14X{P zZD5~W+5x^F!puFVwvqqNxTRvU=w1P=&1BG}5lFnH)|s;GRX~5?c<^x80EqQsz-MUf zI=C2oKrQ!+C2ZY;n=u&cP-+A;j>3r-k$7_8mVho}@sN_`){#wPY4wG+ZX}x%f8#qp#rgO0O0rB*|`gs zFn6pBBhu$U%Sfsu6@r-$X5<0e7X1!)NVm9wFAuTpBpO2FKKzti+zH$uj`NAJmhWsz zND90fr>}NlOnPn;lMc)vkDW7(@Mc7I4rr1zVB64eJF!vqZpqYGkhbJDkC1e5qJXt) zIuLdk(26?k5z8KG0$Q&=dj9>>d?<6P2<#U855YFAP82JgU|{Y&a_ZZZBV(+1epA9h zoPOJ(FJbNu1^5-}^FA4#;#TZ)uSwAeYybYNuBh%|-9xR!v8klF8MCpC3rF0KxL2rV z8yBked&G=vwp~}YEkmTR`BZuT)MoESw7#eQQj!u?@oq;Tg31@ zmsN~)Yil;J?epMCFuKLYac6;JS3C97gU1lrJbRD^Y1X6RUvZzA^|vr8~3F;O>BuTcHXd3$Hw^~bJ{57>LxD~ma(o>3_)i3}C5-SsqR zf_C6+f8xR@Pg~a9OuCAq|9t<^O3Mqgz;ne?KDWKLcWmVzq>j$Mg6QUqr{^5^a3I-s zPMrlFFm~i)@lgIMOG_`yP(Ln;zJO+6hAaTvhR>1D#p5(io46~cq=ofJYP=Gav`mVuJ1AUrP(lYUAoo6Z3!y`49eqN3qT2f3jNP;kbPtr5|FO7q=FK07FfqtX|>ipL$YC;Ay?miWzPo z+->nk^UG2{g%yYG`dRnh3sPS5zBt^F;UxE(bZRd_z4fSpvh0`GU#EyWWGUWt1=q$S zZ{)}|(Kt3+lC=%qDN6&@o|-)&Wu5qIe2l}99B;`!Ur~_-_U3}f?n8jUDVCaER8{kM z7l(>$dRW|=6?CivI|+5TtVlT9Z>a!|4R-ug3CqjbR|z2{D75*Ox-&}dQx8u_nOl-C z>_~EjwSGs$$F>dN0dUyx5l6sX_A_aAmHQlSKJwnt2VR(y`*Y;Wg+B5-wb`8I5c$=e zp&9VgxtA+fUEibrirwI*6*aH%D4~8UPC%)_=1OB&SPQjouRB+8vGf64wh~u!vEaS! zxVqChu6G^8!@vLf%hty)e>3N*IADE!)B4EmsjrUE1=~Z4dCn@)%YOTb_%`?0M^_hu zq9HfVm-fbd>(~7|iS?4axD5V#{is;4BENyXQUAT`*|fD+R)$cmJ5&sES5)wt5K{Fn zZTtifeOu_{#-1?+aZ?Hm*?YTa@scdt~DrVc^C<+;oQ?Q0gvEmA$4 zazx?nHll9PUO{!DkJ_XrIQz@qaT8t!;-AN`=@{v}d=sDC#y+tnCGJ7@k#8rDo^@Q~ zeWx-0P1~8kx*RRZY|bR=7Ow9{O&ni##y@J?3>8%j3$mrK>vD|oT3Z*dFb&((C*~pA zxj%!^FG=?QTv-}A|I5VDiD!*d)8Ws_HgBu67J8@B7p7~gsQwGHbI<4Is6$rSw@UrC z>&(yi&$L`znCzvJ{mQDW{QTy}uJlJH+E*>iszHJNjBh@-)IUw=<`WG1Ka{<7SX58@ zKfVh~EM3yEbR&Yav{E7rEuE4}Bi#ZL%OYLUprnB4?<~IG&+~k) z?_a;`y06*un){wPbM77IdX!GwDs}OW?lbGjv2#hv~ zuPw)fcpz?8f?^Z}i8^OFHj^?Q3K0#8v#n_@pHPc~mO`|hG(p0YccmPAmZ?bjtk zzrndzkHh?l-2UQ*I6{nPQWA5K9ZxD`VJ96^QoYzYOn7kYH>qVagGM@veM%)sQ5b zhtK#dEZUm*NSfuDEZkMb3{Kssf#d0dm7sB9y;sU4xC;uboOBYi1B0h;!vLqF!Vg=i)q(%$HZ@AF9>9@I!&sU z+rpMWt7Hi1Ph!r@jZ*E@z^jxcJvk;Z0{*#3y9yq>`w0Vsj}54< z;kSw)tm6(kFO$N=MSu<>uJn(|7zDV(|AIpZ1~`!gONtu>E!Ul5BDr)7>7a!mVO4#v z%bwc&7M=4gGJu^lL1-F=E^$I-=3r~sG-3mdx-(R`(nRuoghI{*igQN60i;!nPUO~jeCCq z-Tps{Sr|+n-4f)(zWsi^@GziMzVy;V#Z^U9t7am7eVvVyQ$oV< zMw5|&hOZ#^hp4&T-IL((j0`>|&f$Jl4UHSPv1WZCJ~(&-Yy8nV35gq+8b3Cjl8e7e zau@gs=AO`m>mrk-+G(tJB*}^+%s#U5yD6mt1mS`b_cd`vnXQ?G?8Z-1Fiq3&z?2%a zcL6YSE|38QQ{oYl(Rv1KbQm|byXW9nX>IqPZk`E*Dh638$;Jdyv)aTYf4Nh{q#>J; z=&rQ$G<11A7>=(YKof3Fp9FuXAt2FopMDh6&ET4>Ifveoeqzm)F`|3t?RZ$=r}99k z>DGm~ra|K+yJs$49Xj1yqpxy3edvP^$9}ZFmNC#TVYiYm566Zcyw!32lmYxeAvTnd z%zBT)dhdx5@aODy2`pAcfJ`Xl$t#7#&%G6VOuJ$@w*k79q@UR zoSJMYWbd<0Xs`fDWfs26YZa-;IygEh+w3xiRcT=C?i7z>sb_acLd)SD&5}Hxof42q z&VLnaB%2A#3BLyn8E!R$LR6~Y5GmEFvROtjbm+)psQspnGRjyC-Ds%=M6QZ zL2JHK;!RM169e0$&BDf%}XeVz=!wa#({Lx?-|uku-p#|EU;G^Ux?wa6n~3DG7l| zBb*u^%jU#p$ErFP8ACJNuaqR3RF|0V1heWps!q(0tv6>Cr|X=>9Tg>|w&F+Ojw-o| z2G>F{tje)&vH|$OTyHE)021B-3$CTX>|U)R&4^uggxGpuzv;DLU8AL$8EEV?s;Z`R zv^HT~GZG>KiaK;^YQ-&xnO79SV+Vx3THa31sXP0w=<_#1lO`Cqa!e4bl$9Ihl6;-K{4<<|v z3@KQGb>6_v2^T=ehC)LGB~K=auX!+=Omdx>g&k}3hM@Gp36;-WL4Su8-4WC|R>%4)3_HH#s8EmKY)ThDse zi~8VqMt|;d2DIoB9EqZas7HYIZv`B@ZINn+;z4z5po!ER`iWIRq9?xn;Cu$01Vrc{ zv#&xGl=+GT<^;7;NW+t-S8&B8z?evN<$xH7+l}YT8!X<~123;VPZ)=7)9^CW{|&Nm z$Bl!tftcb8I;K#eVeq(IIq9b1w$0Colel)hB#n6@s4d?g90<9_RpOy3$+rS{4x61d ztm{DhaR>t^u6G6uMHZ@fIsNoA@nTnpiH4jD6s~wl{_Va+17rjX_^w5KcO=>v#lV@< z5DG*?;pAZpWWag?40z>bk<6D~<1fpBeIIVQiKkG~5(?2mfbVX|T4>~jX@q2817tgr zHrbWK)Tx5SddrhI?oDt76pp4Zp0)DYu|)ethZvGjCbY8 z%ZC8%QR1<)n8?YOUtf=0b%ic;scK}cuLB7eQGDd;_q3bi|5x{RoF8}&-`JvyRV8HH z8ytjZ+a;@@X;u7JU5-*eBMZ($|{R8N7 zgM-4C-XL_tgiF#QJrQJy$&ry+DS>ZUbp6>N6ws=Pz}Kx>lflJZl=%lgE{ zZ69vwDtsjKouy7ouExb8qkYUhR3Qn+`#DW zzSXLmlK)Rdf6Cfp&BsIsoRS`qZ#5VLw1JOEO7*MighrBgc_|ljqw-i9c}6Dt zb53!o&ROWFhO2jKPUi9+#P%k`FxWe|7SN+JY@uIo^fwv*e+w+wG5=G2aBVHe{y)`6 z_R8}S0nNzeZ*Z+!QJTni@%-N%?TLOtx)nX$jQ{)ug`}Kmk=wRmq!-U=Okkpoqz{>aP;5 zSpT)Z5dV+;1VYY9Zt$3N6P82+mOI3P&QK=-c6A~< zH?G{zh|oPnP#b#;)Pe`%hTF+J8xHb)C{EsWkC{4LJlvWo*o%t2qf0e}gAn5+m4xVT zhzpQerzS2C-r`U!5DUt$1s8JK}4(0q+4_`@x1v;lC;*Ta=->;q_ViMA6Z zIg4Z^0$kmp(t<_fu$7arNgU3%J>+EpYwf zk-cz(dy&25)2n37VK;|B@|a)X|EkQHt9{6#Ijem>7?}XhHg-Q!SK`^G{>S)(|2;IHHZv)p$u$Q+ zDU00qjhH9!67{sU`E$qgBI<-BsQ41m4E+wxPd5=SK=fN~BnpShu0-2zBsaAGPh6`d zBLJo(`x_(QK?j-tEfMs8g53NR>)<48QoAq}-up%m0M|GtklCfEl%atSPgFPi$u@7I zUSu7bYNh4Xf_2HtKTw(|yiixI`WIl(vv%@8^;E0SHm>Sh;p4=7wP`m6v;i9%^B7>x zngS_fGZ4Y*<^emvWtiFNeoPbV=?=L*H26PdZ_04M zYPerR<1gH>0(66eH?Y=!570@>-oVuO%nhrXS_cP#iU1v(9j7Wl{Xj*4j*WqB8>Wgg z+~0ZRmXIHUhUORI1~Pvsa(dOgUR-5DK8YyFv&sm~r>c@SP%k=UdKD;#hMo3qfbOOm zRY`zc0j@1)u-=C`;Oq`|`no67-#~L|2|#D*MiL!jKwr)Y=m5&Ufv4+$F0xmZPs7p; zpv7`d&T3#N0TAF|fMF?b;GnNNpzB$^fzY;_I2QGy%>dubMcP5 z_1gn22kz`0#OBpie=^Y0VgeP!H82Uz`gb8sg@)DU??M_7^d`C+ZQUKPOAxl|jKR8@ zTH_ke`Y{z-OK)62iB5D`oMvg$%tuanrVqN(eREUEmqu-9!$^S=C>GTV%Am zUEZvHq8WMfBope+0XPRe-f_tP&hz_&*K?5z$=(F)XQ^g60=qD4#}gMfvymN~Nu5TJ@q z<_L-#OTbJJSo7UZwESB^vSJLnd)!owrfT%^LNVvxg@qo=|J)GtYDJpqK`0>7duqVL zoyH1%6M>8VPY>Gw+))WEtgj_x-2wb);ZA%%Dr2P3yDQZT7y#}x&fj6F(XbP{j$*cl|*%T@m zVK9>F1)QksjVC)$LrnF5R5x+Gm7^ix6~HAz&w#a>)cDy1pvT?U5Vh?C0`HrZ=8O>; zpDsWIUa)uMSmzt?KLdsi&^hx_XBuchj~(<<5jUa@=qGHM#eAQv@t zY9PAX*PwmI_v|mR3^xNqTNUVtz@R&U|Ic-zBheEG+W)|PK~Jls<^MWgK~oDDGc`ax z8cE~np^I!M|DGh14b9w+_WJ0BbPn|Kp#2@G4d~T!$}&9}eK0Ub0q)L?*I-tBOtr*j zzzrWC)_Ba*OMXuhXUI}Hw&OIPc!wG z>@3D}a^!Q&ZFHp20=UIoO9+@&<%*YYfuNQH( zIt~YcK2bPRA6t*W?`SGv#-35{U(9b_fADv9aO{>XlG1pQ;f7~+(P07?Rvl%d3A3iq zqC)QIh40J2jcV9Pe92Iwm7#%F1m9ht($IQq=$tfk`m+G+gq48p_5MLJAfNZtfB;an z_?G(hU5;Prp0*PV9Up7vG66vz<%4sVs7`g&vB81d`&wVYNL}w19q$&PanyT)eS_4T zc@|1iG2Y^9>oIUvjZRm{0`91YxW2gq6jymXcHJ5de^ki&jwty>iqp2*GLbZYeTFLR zq;AT+5ZG@JR;}1GF4{BJSNLA!`O02`9N}kVF9MefqGPl0F46HW0Zs!r$?bS*wE)3? z5)Hct?SjKbH~@;dUBI9wMe))SE@=Y@elyu}JhNusJsQHhC`E#-9`mzu9YDPEdBJDm zYZMVWYt=Dwtdxayzf5lVb=_rLg9WV{?&w8HH2BnubhrA{Oq^k za$7%2>$SkSbF9|p%$PG1K=z+dTt2yFqn~$SCqC6USvB40K_zWgPga`!rsLDtD@!Tt z(7nLm7h$cu>kF4dMS*&KkqM8m9C@rKjpEoyT;F91yN$B>ybF0NAvm+FKG1@(SkbG3 z32ZyMk|zMAjGr!AlQh3lTh_&JsnA#@>GwX5H{DW8Ls7hdkP18Q=5815C0U83`9zKP#i zXbSJAp;k4@W-{crgiF{}PzN)a3)@q2HA+b$Nsa+mN%C7d6<8_(xL=SFhn;^GBT%LKov$nv@KukrHUeo>v$rcGg?zo>uCHZa(_93 zkphv#E8m1Oq6O)GT;Qc=CyUW4=p#R3v(!koOerxl2yEh4u&aV|$1>5o_Bh{=mw90D z8Q232=P#eJhk&jknlyk-eCM3+bbPq@fjfpXAYd z`}|5>-o#YKLv|qd5cK}M`9cGd0}IlqIAoLFOvZt*$R4Mc1GeWK_LBgI-E8tRiy2@O zCBME|?f|VJhYElOkOHNR8MX;9_E>=Zd*F)$^;*!ms^}@Y{6)|yc8QpQn1-G!{MNit z3I&M~SrR*XTfP|BmfvI3SID;iXaAn<3`v%cxV|VB!Mzq$)dKeF;kTC18~uQx>P`ig zDj0l_;0vDucJ-}0fxOug;N9~-m%E2g|NOizGZTP-f!4Fyo6XGcY{7oYd$9E{p&v@gWb9J;M+~~`jK{5@=R{``;pMV%ujZxrY*+n8Hb(jrcJHp6 zoU8C#(ij^^3Xt_*!SZ`~aFV%#`?NtC$pfPaR@xUu!;Zv#V#(!=xF zxn|AoLk8yty(gt(T_To?;p0wyjkjwn1v57n-}@ErwwJ&E_2c*ET*Q9H{!~xEC_=|W zxnWT<^_)SE@Rs+urOT2g@+#rF)98@C0motbr`5twztnb@qANtDH{O{qL6mGf(o6P< z>K`B3uF`y2*nB+lRItPuum6-__>`dReV`vg@6oI5KHoRfy#0uSE3b(8Z}ahS_6@K@ zoRIbQf^PvInzEIT+s!Wg1^IIqIi1g*w1i#fB>Tl*{N^i5`n@&Bb2wT0Hhj+TNvF(W ze7vuS!J=lyPKNnme|Xjvcuk5&H%E3+vw~+lelu6E_ot7nb7_3nYs~T-6w^5o_u+n1 z?06gd+I3JFCEo74mP5nLbE_9F3uE)ACMC_k0;4v+K1J}ps4IJ=@Z!Ol)eG6EQa)Ma zndpNooX>c=^_t>ln(ueAs+jPu!gm5E=Hp|1pQ4Zq0gHa+oU!wqmBVij84=mdYwa0` z?7O~9Q)lqLb0-sA3j5-i=_i1uvZYUdrEiHA}-hyCjFo6A?sza)E( zIL=Hf+OxY5Z9lHRzl@_9ZoNz@25w%7jY&<|#^(T|Y9Za|TxaG>!yeH?i8253cMVnL z)mP4g*A!>62Mmtc=glQ$_Ds9s<9YnMo zSE7*T;V~Oaz-5#aNY{kjs@SBav)m+ng5WwU$GU?EUJKWQm=~Z7qfu+Xc$^u3AdJSN~o( zWHs>!AdHaiI3S%>{@Gkv->!&oHJ$lL(_XpT$~20gIrAI;T;;-i{?aAf$`oapU~KUF zB4Adu8yVu~xZ+;K$Z?*q+l6FWKVY7*$~(B;a25Eo({1T!adA9PlWx7yzU>6x^NZ)j zpJpCFRPnVQ+AXp1p7ZaeTjReyJ4?B`{0*-T+iiLrO>2!m+&M?I#CC;R*<2fI>%Min zjY%Z1(q}uM8;RdJ*RdwkW1~qrA=#%i8(fO&ike|~%p~=+X1`=7uvK_B-DycNRodgJ z-;$>>fuGaZttzAU?)by93!2ZCT(6{i-pm~m&$=4_d~U2_$H_C-u}OV29~hr=H8S&g zBi(u9H>y-yt}dG;KIBTlIVe<~8Q;=*SY^8O zWo`znrn{B>u>o%Gq%rjsrnx5nSy9ZZbKn+-l|3BTWc7MlFwa!de%Q~`K79GaOwscA zIlmvHabuzOZk7%HOaYUJOND04mGTpQ8KmtJo=)3OUWfRN2adrN?8`M_r>}i~xgF-< zcpC^`A5_U`%y2vURETr{3X9TL^K-kkPtGfhZez^}*=Miy&FpOX9=g3s6L7JTVJfU? zn6cd!wsc-I>vC7hCT+O0OG8d)dCq5zwfrv6an9K+im*pNi9* zv$jTkzoJK;5(kve+E&DiT=hGLUgKWXd4=zMi{WXGNAzP)88!Li^9s3z_aMZ^?uh2a zT}^U|<_CV9eKU3GJ=`XpXX>@|`<~8h%%urvbKONL<+`($i`AOC>4 ztZ;m>C9d}VWttN}yv>zO_aIwJQY;GjcJ5&RW$Q$Ci_BHN?27>J>o|DJ<>j6Xlg=4& zhLntl3!&c@606_nTRhaAM;U*75X+x&lx4KK#w&Iz!`YsDe$gf(b`sd#ir=dFYjm1q zrHNs5dViS?<>4juld%>e`&5{h`J310bqS@NvMJX}XB=JP5#@xJDM{}0!8^K{l1!by zN?R9j+RV=W{1#a;*(Ywl)#*_$TO88YCVk9vD^_{@Sl9EO{;N=z={=JL;&zd94=-6C z;-<|Nahj znu&GuVG1^GH0yhnjXD+jeH!=ryJn-?~(G-s_p&Xy%{%w!n^H8`_OigLyvmSpT8LnP4=Ocw~2iq>8S4d zYt-(r=~KAzK6Ix^g301c=TrOq>7`7R^7yW0_ERvnse|;>8Si?|#&)VTQXZybznI;W zKf8VkjJa7X^|+g)GT75h+b%1Yt7W@$DvT?wWS;#it!5XW+GE#AhjQHhK$}B_p3A(J z_;|a$xgBerR4CnQhWF2@g_lgQ$;{c5@;K%2G-M^f)YEoPB%iPD@TCdhw^u`_z4{-G z9Yy4~6!)SwJa*pT{ICyp4G8OHC2-;NZX5JOAC|{tE=lh-=l$Zf7G*wr^pgzv=;!?H zYT?2q>HH!lyaE7__01jQxG5^?Eb< zWB0mV_FDL3wJE$XZZx8&Ky0u+30`l~TJz2QbeK4EeMEm^H2E^%)iCQ+FLF~|Uo3c+ z_bH==>E6s8WN-V&;T@&#&6j0#ox7cgX3|!HZr}&?&IOo~bM}WSoFM@N&2(A9DW}y} z(r?P+7uq~?5Ff|hZ{9(?C-wg`klHtbe4)+Avk&trV-C#|G@=bl|MQ^o^FZa zZyHm5xViK4{8Gia#(*ulp31ObfP2@u)$_gQFPh;g?rOZBjI=nE59gl^jfxp;@IADh zbEBuWxvy3pe3wj;sc+1*BmBo?M6v-^6ZcipD6$u&8*;m9=(^SA;zwI$6K#Kw)q+nC zUt|NL?(N$rTPBvb7{)~IsCb6pEjI<}?nV4at0`_LykpVbn7oB8&ugdn$N>1Y&SGfv zSr6s=0BQCh-Cp`Pj}+)24F!btPxJ1Jn19Ja`HFtTX8u0=9o& z${-+*&*Lgc=S7wTE1zLTY+EhS;F`|`zO0akterv}eAvYK1KimU*&XC@jbkUj)yvfy z#bN45I?f3~FnN9= zZzptOfWb18-3-9Iahs z8R4V5gC2KDQ)g6JsCv$SaU|kv3+F^~Gl1#M|#_YHbPg-QZbY?jQ7 z5o28 zLy970s}>A>$QMTRS=@*+Qopc8$dgFChuj&sZBeWDQv0MXpJ-w7P#1)-^8hSk?Dc|CbF!2%}W8CNS>1)xsx&$_ql zLGqp-dTw)#l^W?OkZ-0uRK}oZyHL#s?}DJhTCeojedx8=x6b@)tl0+SUNRQRSfvan zT=a(Bmd6zWiOM`d6eFCmcYew>Cd&nrK%lj`v@J3LIY2@KGgAwCt~P!z+P?D#MHzw9 zeRy0PNk$=7s^wRLwK2)gdqg8boT>w_O}=m&CFpEf+Hj{zY%}6`Vj!Ee6^N$z%F10D z9WfTOK8y%9-e%%Ba7b8Al_$Hk@U1}jha+ju*pZLG4|;MKSayDe%FDPZpmKAP^zq2Q`1=U2}3FnTIEz9!6d7??6Wm}=iJegVlHC%_lvZ$Xd zh^4K6c-&59lRff5!mkFhXjpMCB%v@tbEGz*P(1UaYF+R$u4v=~t=a^i_uBWqW(Z{x zxy&VR-({y>MTt$5<~6=PA4m>s_M0s9$KMk8!M=DvP^W`;>uP#-@KG@KdTPYA5y;f= zk=d1zA$yeEL5dZ8XN@~*DKJV?Eb^C%RqXo(wg@@jG6<>4bz{#5LUK##m(oepn0x&7 zo2(4xSW(h+rih*#uMeW&a-60#;pb`e|x@3fW`d4Obr{d9_54elbWzi=w&Pt#x zZQ|wkf2@}1K4E2E58*F#g~q1 zpy0b1Gfou(b=wo`k%i)5^J;vmuby^6>1BHHcG>=(u!@%fM~Ng@s`{zVgYo@mLvy;H zm+Ws_d6Zm8n9|w@jwXlQV%By{>^mxqyqHau&dta1Lu!WTEh98TBvI@Wa@aj5Cx@et zR&l2&A}-jKlR=JliE@~Go^R>Nlwi7wUAXs2jrlZfCCPJyV`RrZL>WKQ)aQ@n(Ryu0 zS+sCpGu7^64};3X{(~Bo=6IE0-2AqpP}~S|DW?~;uqVxd3AcL5kV4Pp7{5nevF7@h)Nc;EC%vH|Q$ka(Q0$3J~j|lecvcNj`>ecgJ zq&`<|wSGs}o2?JL$o`l-qvrEci?8mPXm_Awkj>jq(*lI-U*B5UxOkMODbaf{q#eAs zu-DwVRi#fayo+ftJCVYLS<-Qw7NYv}W!7+~=M>-RiaVo68G&YXP4r2z;rp!U?(O2o zQD=}|Uhk1Sxy5^c^@nx7D@{Q-!t>0~B3>*JBiE#JghJJ;_zcM{GK z$Yd2bdyfk0XWBf@-bWOb3ifYdpVesulJS~megC>N*!%m-p{-f%>N`Yz(4KIlvU#0F(bVL`Y8#Il}KAQhED@j%TInw8z{O#JK*>6z|zRr_p{lmoz z&7V^&rnSS%WaXVUt7Z1HJ~*q#wLEQ+F2f1RzB*1bXH$He{wpsIk`w(tOQ<(rHh$2_ z!CmBmQ|w;+`w!0^k_u`F-Gz2IPI)$M$~x*`jHi5Gay#Bi&-M3}0%2T~m5&pdN@=b98xUX7UoqiEhUk~YC%h|=kE&2fVs zhQ{xEbJ=R$?Kb_^{YL33^wncoi+p!#*ZlLMN|rWfgZ-ARG5 z5lsTx;E!E1`>}q|VSiEY9`MRF&sR99lb$Fhl^xkEq~@DXk_5g_6TW20;;10RCD*Ne zhnXgSre;Y*%$aKgn;@8s{{+*IUeGV+;e4)b>c8SfkQQB%4CXNig$R`Fz6On z^l-}&kkGy0i7tC+9)!oIt}ck7Qjk@QBV{}rMUjI~#jJgzyzvF2Vvl4S$RIZXkg=VKKKP|EO7wFWky9YX^ZNw~ zv*7g5`Ea~}r7ncs1gz;&mfE*Xn4P)A8)rHP5+kH8m0qrTA!TxGXB+P@8m#u!9y|a# zYJb4)R1c#321VqJ%8PQoIBP64Y^jyV;0PK0=1R*Lume)-u-B)Nnj~(Szs|O4ep1j{ z_)wPzY;YA8iEFrx;u#HSaY?bP6@Srgq-(lC7b#?@u5p6oGfyPxF1snrJe90`31DVK^a_dq<4EqoSV{{RC!zu++j z_7n5C*4DT}$0|%q zO&F0<(0C_3$w7rqJXDJ%!I}Dvq<@Pvp&R$$!AD}j2}#MEINn(mQdbRdau&%)t#FqH z&JpYPGE;JA*$rB6jQT-r0$z=(;cX@s{+MZni!LFKJG`LV%gln~CcIgFfzi zMCQB?_>R9n!l6v%YY`HFYV~b=r%=39Xn3Jmf;*WbFUFm8~g zKjN7A%{iU?@H#{hwW0lI*@6`IYkNKRO$ z#W&X&1}QzGBGIDOgzTwPvF0@LOK~xGww6KaMjBbot%KRXwT?bu;7`GVnh)RDT{*-1 z>tY*Z%QR<`5vRinn)P9DqS%Q0%dq#*Sb_N z4=I2D0lk{2te98OAFn8S;BR8GXN+N_JK(W9Q%xfl^zhSE_1yk;Mt;>#lw+B&s7!O7 z5I$+PgL2r2h{`i8(fU8-7G!F$SyPl}wOOL&w@D758w}gMbn2^2*G>ml?WRuR-@=r* z#e?n6_Y*Y@J3)AwmbdLFN|PXb*T#FlZrt&#*5Iz9CKNxRk7&U1d|#iUZ;92j5dayO zvKD5k!4!Xf4S|^%?pVfJ-swMi10>~9#U2f_xDmd{VyvniW35eRmuTt+?%t^fy}Q+Q z^$1xxt67=E50d#>F>_Cfs~q7|Gd3+Ndc>h+-FkDMTeM@03103QGayPsFqNfAvNnn( z%|X-N-5zD#kLM~LP`atiMsYV>7g6ZM%zd}`T%>&g4H6O_=_iuhQkUv&j2+GT%t3Cd z|EzZKK4r$JeW_H$#3L*G(H{u6lee5{4hQwsVdce&Qk1LODaWb{xYhj|#%FF5nnG zn_Rh~m^vsh2Q|A0_5SN1({_+L=j@KQWJ981`L;$)EJYPr_!|&kHv6|qlN^Cg$X-k6 zeX?aZ{H#2iq&!4(qnRY=$Z*w%(uQgHm@K%W-CVj4bAnc&K-{Nx#)|3by+4#+LuGA` z^q+o~soP3;I#eJ+MgsOZI?tR|$L$9f*x}@GcGkZun=`cCA1@HCrhEP{)>4dp#)jgf z^QP*PF}+VQ?IL@u>)tsT5Kh=6*Y?Y}%hsV61?-}3_B3f^SUK4re$m)J?Ci0v4?eN0 zz0F79?JLl#fRQY3hsAT<`AL$0b5rzoURB+dwg>8yNrfGOnnPb*$>62c`{yjfL-5)6 zh~79B4G!Ov0=|e9n?>v&Mty|UL`L2jhd+dd?C3D8-w9Lo3N=*ke?nIFGeAj{TPiXg zcEd|ZgVMr&Q@YU=35_^8N+EkG-RMc!m#6)kTTO>i@y%bHW|!RMDmE!rm6*V-kYxIO zHU5;tSn zTA!%Ar=+cPadA|_@CKk%ht3-usWA9aw(?l;+%GpqhTD3l$6G$tNJd1I1I@tG5e?v% z+$j-J=iXojMATZ41o$>X-l#YcL6)p{zJW~ygD70J`aP!Ckc1GA#V_ zx(Tr;eA3z#c;%RU&f=j&gLg45IjFu~5zCs#3#B)DYHlns6XIm`?1QA7n~eV5r>g^_ z#cB8F-Zv3MNeSlh7k3`CX(3YIz1{67`x(}bdCyT`GU+RQf_M#eN7>y%C0>}DwI2nK zn>7=YTzKp^nwG-ua)RdoIIt%<;y+6DG15H2H~w57 z^H%M%Dc;bhQ=5PMEtYEZXfT!Fdq+oltu1j&YP}Eri#g);%DLVDj{b%KS{S z!UyNrVoAS#Co`l?*&4XOUetc};AS~hC zJ<=gfP^2I@XN?`qmP3PK>G#%do2WchNfgZ1WpjClQPj<9o(z=tB&Lb1N$U(cDV?Ur zmELHrC5l69>lRrZIb80B^Sm$MgO)d*F!wz8y<2uM&RnDCM*b}xlSqv5m^pooF=Gy@XxQBjC zW``X4K$Tts<3F zQ+^t+6Br63ZB~`?oeU_L&Wp}8(T>ro8EgHjCm-jU(rw5c6lL zq*~Ob5ZsN=Cv~-k^c*ta4yPZ;8pDx(19}7gcRwL}iK2J&Y7H~|vOlk)R!Cs9$=VUv zFQva#$UAmE3p13YZ7npGqQlsl_gK8WhdWB!zmvKSgNI6znY>^v_GKJQWvR?@fTJbY-z-ful8H+7!=_3U} zxxNaa_`cOXAu@lw|E1K!mOwQ6;#WN8J{t}Q%!Vy&k(u7A7R#OhYaG(2t zrG<&1)SP#Sp$T8ASfa&W7`1L#yDw6AaeEU(!K?E>8iL5=$YK66hZ0(cZy)ZhQp8(i zSkld6ri_IrV$|YCg5GIq^l>vL+E}E-nsCQ906#v-{t-jRy|%0k z7F_c2VLV9JD_qm?%F4E6n>c)~Ut3@Wk~k5(H_cs-w#~VikxQ146>^)1!&+q;oQHVD z6do8+hj0*c&-*TrNjIikct7s4HPJq(^%-@C?_(}-n#&tD^F>4JH*VnEOBo%?6@&Dy zj#ezsJ8z&JBXOMOHntLAp>9+Rewq7sDD^%D>{Trc^aJA=hZHet=V>^|=-Cm8)~{U% zu9dh=V!Dv&Of2ypw}6Zwm?bCKrk*7y59lTtEIR&ALe%@eKPFTItzuCeN`QH5*PvWf zVMLBZoT;==I_o8j1K1#U?B?t-Ju-|kT3b}tMLBbyIKo(lY`m0)j zbwyQWFWM{>Z`0Mkj#2pI)l317(8tR)c^Ah#HLL`Eei5jR;VWbOpkv^Ci>yjWIwB}@ zPz#db|7u^Z{4JOaMx}BF^8SGQay-}rEFuaF&z}+GQAot@T=?KMsZGsEo_>&h`(`rm zl;NRE*9pYC%o$_o^JfS}B_9|c-@IYR60~9OfT0w*8s%M9N$5ZC+xBe8{U{a_Gd{DM zGL8^D#4$@0;}53*`%<^Oq~U!Up)A)V>oL;rEQ2Dtt3JYjaYXpzr2IveL+k9t)bJnN zan|37ALxHD)zXmmmwt&!%ooY75K6)wx7taxj4vC9t;KB5C}h|L;VBo0+@64decgK2 zxb;{{;w1KpB_+p?7kD5s{_hCEX=9yag8f(-@B?ES^1alUZ8^>R_`Zy3DufWZibmnc z>kISMUvb-F=}vx?%_3iViXJ<2zIT0t>GmNrYxVwB+N8J|$6LG2td=6Kh7ppShH!(P z6~m9q%;q0i=Ir`^owAoP!Z|^DPwc0!7IC@W{wA#=ueTp@qH;I9btbY}xMWKSDx9m| zYBI4EEqsaxKAS(9c7mMv$7F)qMn{_GZpR63GqURYk#c5=GVWII67zkpS)%*l6ZM$F zTBK!k+0Fb}APJaviA7G%qBM3xUm7A9b?@zxG*bFO)B9Kudy-#Vo7%hX1GRAtlR(p1 zgsqBxz<6z`yfs$?Mhup>gbK)aGp3DVf`R(viL(d?XxOCvq#Y;zW82BuqDpSVxf0ED zD!TO6>cw&e;O`e=+A1m7h58L9znSuS(t;<93aM0ojPhJW* z$7jZz7~>X&tFxaER3j8L4HI67nHr%V4(5hW5Y+KK)IRfJH1APk_v@_6nw-to56G16 zdcVwjCl+5M?w+ikz2J`|tx9p4H#M5nXz>YlCzl29PC+=ccWL}gQ|HYJu`XK=z4uxe z=91;Y&lU?IiI!C4o=j3x`O#lw`UJ#YXVc%~AN|(T6!_K@2~o@-bnCsk}{H zoYzl1o_!QQea4BQBy%PQLQF*WkK&8s=rKZan2|kQABx=5l7fT|gWi~X_}#h-Nw3Ge z+x~urEbCbkRPJ1^|Mi!lheiue$#c9jQ@(tz+&!DW-+g_ar8;l^Wvcm8Ub?PWD{euQ z7>-8Pru=F}uN+onp&odoIuzI7f{#w6qy9Ve^?j3JZn-h3lKx=OkC_aW*Dq4teaP6> zjeb6mV=3(|;lUXCVuR7An(T#9W!f>KJR=ue9+r-qWrxFMlSVSWkN9oA`I5jppe4a<08mdpWopy)LXFy8`QsL_qX9N2s93dRfW^f>%z2a6>PlQk?%Sr|`0p{QzTY{O!eHT(b(#)Lm z-2zwqodPE9o6izT5RgYqYwav{Wyd;S<)A`h(3V=R%KhF;9jGEC22S)LDAWSq8%Kp2 z@k9sOovKqsI3m_9Io^*&&Lz$cIOhdBvH=vTXt@BZUU1JK9B z!^4AEGunR~AfHMqH{-iBcz$!EDrIMd^F>1s!80j%aD~A3pgk`vJX73U9{O21#c7CZ39sD=oi+u2{WU zrnu8gcXLmWt>v3l@53@3Ds&=)eO3c4JK4$G&F|Vf`jTM_1leyfb|AvN(bo^F42#G=J#zh~lYC~5lvQ>57TP`1ck>$#vj>$~zwsrf91e*Lfmr{`xX9Nj^q+9#!e|*i- zjQ8f#$$@(UgYH~3?GxHxy%-X=ZV&s0@!RijA^dD7_KJblahf*!$@9J49^6N|9#W(P z-TKKu^-AhWHEkrhc>n%YJTLDumBwO3M^Dxs zd}edjCQM?MaTiy%P4M16Ti0rJ@{^a7j!{|mer~@lDdKSA8v9=%C>((eTvzV zu0QvcKQ=LF-_>7@ba%U>4w-TcyI$7hU@9a>inR72qFlXe3RQ-G9yyiq=&-3~*twSL zo1J>dB&a`-3wWh|t@6CM_sFm|-C?)r%b%#pZw#TrZzL*ZiV;+rrSdg&fJ#aikm5sGL!e}sY*+vta~mdi*j! zlRW3;+v73XxE{qJczxEi}`5Uez1!DejH-W&FU>&NXFmrWfLpn8|F#WCZ~#Cu422h)L8;SM?Y$( zasF~`kGprF85{ED!tHxow<))@Z=TZHUDT|t_lZ~1wF~Le8oVcAsXFcE?>;3V*}dLj zRtI7*jkMce4a@m4ml-Ct-{a2cGI4kP@qXUw_G}cB;Q-gxpkKCv?mc^%tc{vZ^SW=Z zN5`gkM4qGACVpWVCG+^ry*sVX28VfKJol3yS!ur)aIElSr^#G)>)15P?M2Qv!3Q6M z+>X6<<0bz-VbS_4`dr;M@q8uks?(>+l zX<1$NlVPhV4LUTh4$yZF7uC*%v7P*34=kc2X8!aESj;`BFLdOd&Y(6Wd#LKGfXHeC z1~jm~^=(Ix+)?jc%?G=DjvV_o1?=n^z5TL3GV?3z<@Dxu;ImJ3y^Wwa(^-YQC9OWG zpSiEzM0CB~Y7rtV=ssx?{!^sK?Xi?^E)V-2o!8jW@MP{8=jZPUGHPVv{gbHWi*&Y(H(%y$bKG&xTj33*WKA-U zVRu7R%{H%(+RBLr>D%1=6JxC??r)z$^{^k;uW=@K@*CGJIK!-}fe5WEI`cu=hHgTQ zeB}5ghY$`G# zDaj1w?Z@A3I(kzlZ6S}LQr-5KFu8!J%3T3bWup)8$xhulOkW(h_b~6K7sX?>rra2f z=;(L(gTstjWUHZ)poE-S ze%SnZqYA~+zDV!z77q%#ge}{SCV%^O_;UUMD_`&O9p}<%x%0?A0UeN05C!&S&%s$j+Lr%4`Ppmtzm#iXN&ubksodLA`}o z}_wSdRQedPxR)U*J>vG&rX~y7!L9dJ$93i>}ZURje*uF}pX@?h^_?dScW$JD+bjsE?ZCP+e$l_td1{=<{<$P`Ka_!_+qrOhXbaOYRp+J1?z}5jlHHu}Gv--;r##K0FG*)g6)$k`IV59L z=xBV0Ug(51pQ10{G)yfDzlAGRN)@A)9Kp$B;M0>s@a+N+YjaaQO+% zEGL78l*eGJ0sEk8M$YkL9W{M)c2BS7q?K73Y^&L7P42hLQkCy~>_pn#FeNdYa!G~n zukJnZ|7^;oP@br#C*1Ta(|WT5Q=sf&)cF1VDF?<_QFh5K2GiH~VBM`+Cgqq9xOOg6 zQ1AC1>3FsGLb>l&pY)~aL;(=WDR(Xzvn|`v&WH0n} zl%G|`Go5%%9_6^{^++O(Xp+VnGv2$N3Po}#PG zAGX?RJ$wBpK|Q=cCpg~%~(fmzw=Uv`y4NB)M-<^ z+-^A7uzc1s;r<7K%HT6mJAvrrD9>3}S12iPVDGztn4z>FlPKNJyZRcaDzmylO^GT? zA1MdPh=&siwy$*~X9^#Uw4EraVz{B!cX|A%L58EzrX`BYVRPE_-1JiPFVo-i93KDq zP_91p1}nJ}!`ay*wNzi7LoD_)GHr?Zp+>!jyvH>}(TGC5wS?yLar%7b4r6UqGlxys zZPOYtdqT>qw!5UsV2#D@?%92BnsUH=fMR0PWzC?5{W6~h+Zs0CE6UZ?Mb}Wixch1$ z+feT`x(4;=d>rfUGX-bO^vb@*e;UumL^gjK*t_XP-7&c+4?QZ!5IeJscGR6he`d8@dqCp3h#|t41E?3?XhQKLM3oXNqo%g_H1e;dqCzK^XSg~ z$EM$E)vdL3`~o%~l~L8dSNeS5vBj4*MO{@Ml^Pddv48aV)MJ6xkEvxZXvg%&U1Q#N zb9H}ju+Q?{UYTXH+v(CV$!}p|WSXyZ4xD~(dczrSDgn1Ad?=`lKn zT(aKNhY_K!Guku`lyc$nw+tIU=?yxM3xrr>H7+N)T?eGLFSpFGpVa>Pv6j{&pnu|F z>JK^NQBC2P)Xo!W>TYuG}R(I(v&Zg=h{lnHt131xHfK$-hS4YkB6qqKD&G{AmBH7 zhkSdJ(o$T_S_MuXcDXtQ4*;FFQLX@rkF;7OnhlQ+l*JtmJon z?uzYHi`V>Em)ETRN^Scpa9r2w)UvbJyz_`v;}>y><-oC03!D0(v6&gI+Xkf%`f2ne zmg+UaZB`Xl=beGm0`+59zE`)fc$V}1UU)b8PNH~uYB%t`jn_h^o`l!vvSr0stcyg$ zVt2L6a<_)-YJG9cw)ZThB_8UN3?Als5|beA3J-_PxrTY zE(fNcm}rsjZ*LDw_YyeuK(Nl8ooaNx2k|){Rrc}Z>gu>JOCUw8#+e=DzgN$nnJedN zsQo$8b3rHe;+gvtT@q^VXQ~Q5Xg_eikm13t`}0LUOZt!W=l+wrPR~=u`&N2|+4zJM zS3SPi3H}cM_+h-Y-M4(M_2but>WO!=Y8hVK#+HubRSUMX5)MX|W#u;l)yGwx9*D=e zzqlQnb~h{3dsfZPUGRd=@WquYv=SF+&Ctu^T%O5X%q8_p>=%|Sb%&+AJzFTYcgfMa z_4^@MQh%5Z8nGxS%mYWO(u=%m90!ha)O|kodo1bj%GTsLaqXAYy4%KHz2|Q?icR*n zzp@x-w4|o{_)#27(vQTUXN>3EWN7tVJeZ10!g(9ARmTJ>n$eB#Tf6d|G`ke&2Zok>&F2P^Wn;%Wztk^ACb4<=TnpvN zDGlbjzFBn+Cl&2L$k42n?u^Y7|1rUexrvV1uSOhzFoT24{T_59^CroD^&-x^{gFw} zUa?51yswX;GpvfQSaqcxS?%gesSZg|m$>*|>C1ce&?v80cVm+62sSdMU`wFMG`yddx?bdQk$u z%-za2I_p1>mJr?bt;=&ERKtu(<3{ePw)sS1|I&)h%3!6q*X)v0*Mx6zrT+5Qg|UUM z72U-YeeDyMkb|-MLDgPM)m<7cjw*`D6B?MvhN8Q3zPV#skG!KE_0$&cFgtCes7NI_ z>#Ogt*ZA|LX(Z#$!L;A{tDj={R{MQf`a``|e8Ny(C(@ky7!cGgL#3}4+r1K`r!?3* zSL{@zxU9P+iuI;vy7WdKwo9oN{%m;JkftAim5ROfJ5+0ie#CdaH{iu-uP3OLsa%N` z6vpN=qxD&{bD{f6KQr2E&rUN4B{tr9s6U)k`pe7H?L%XDq~KP4iIsMw>4*7A{VR2W zMK^9rv_1>G!XopiuC~$kPU+dnJ6)Vhw#(TKHCN zkQt2^>ubmoqiK;Ddy(z;+an`hT%{m$K7EL8hq3i#2Sb~PmuxN@^Qqwuyr^VkZhXm+Ps8l8;}zgYG=fi6 z(a^zy6(xXy2Bu(aZ3_GeD~J)`J7wnRplob^+Q!P(#@g80krl&t)*8UIwZY-CniyI- z7>kR;8oL%X+%f-Xe}6Q`cN-1*4#!5x8<+@&&D)PidhdCdx8;X9HRV}Zzs1LuuPZ|8 z$6r=Hw9?J_U2)sA|FyG+WlgqVPwTj=`-hO;<@TJu5puMysfMXK-C+M6rMYb{KDtlV z+V5E?kDQk#BU8{nO(V}1(or?&S4*>v?VL;$&+O7K`Nfrf`q>f}vqg(U7EhDKhG+)5 zd&bofE)J&Cv|?AufPdfjz2N)t*)LJ$oRm&L-UaU1(V=Cp)#=N%OG_i{V|rdo)BVgz zKYw46cXN|JqrVS#if!rOoiJL2h>?DIt6wO4+80h9?GyZ!{q$qZ%kAmRb5$BMu_ANd zAI@*uT{FP9U{4O5Ee|x-kLbC~WyGJ+7sla!if`u8 zEpYBASf;5w)}?(eql~dSy-Q@KGoVu6Yo=Run{%2bLS@PwcPyE%;ra4_$C0WpcoX#u z?)T1iiH(ns>?5Jn^+)%cM#B>^9ty2}wSF9PE1G_BP>$K3H+wA?;}A7*})S z&y$;R2RN$fmp5mLD5-xjX5P|w(Q~>pBbV34>&kr8v;Lj91Ag5MrjdD_#yiQ)UpWzJ z!y+-=^wD_tPC79c++QX25al`m_wxCjcqBR+l4 z|7_Ch(*=YL9b;Oq$=qEZp~>qi4Qj`7N=lS*{8Y>r=#SNonNLF z%pP+;FT%^MwTfc0r#-IA>r#DVATQ_i)PAuy;1wbl*r=VJ7Yy6_xS(ZN^wp;rH{re? zIqsBGeByc8(tNwjZYzDQDFvkqUgfqQJr>lKYC1c+kt@$o7bEOUDHf>?;f^PJBqU*k z{L#lzT=w!OhrUR@(Ph2QlN}FL3i#M*hS>Gw>Zb#H+wydnLLbpoH}umdjG=@?Jo5Bz zzdo?~^(nJF!zm%=)nGpl=L!kukBQ8J986Z43s(A8h7?LNFXi+#gFb^-`B47NPcS-_ zm+AyR_xyys_Q!bjLnUwTjl^Yf|IpFi=XUf*l3%6jYHJz$uHCOacl5B_`%05h*uhfa zPopGlc_-{kb1QddE}QO3_|!$z?l?4@TGnma(B}-@R=`ckBfElRMpRC z5UE-5Q>3Xk%?fPD_Y0V=&wkPEyshofs==Ucz4W)RiSOz0PKmu$QN{=UEkIVOeUPc0j2`c-SRXkL$P)z-;K>E+AqDU4ROo~ zJ-e&tK~uEJwHg0Mmddzk{h;paJQ5ycL{%fl%c!M2#WbfR*l@Zly#Dv(F7$$CkgfxU zBidpxg_q-}WA$?Pl3y`ROD1#Ktttfy+_eu5DvcQT1vEZax#lz9m>c6_-}5%++1UFC zKaFD!e7rKEk<3e_k*Wj54_cDN=Pln&ny46rG`0)yDZZu^)eH``@Ob@x*7p8$3mXrr zWcdsGt_kpTyd0IF4a0%oIv(F^zC}G$R|T-y(AbXRYkF?!ZZ#EyRYju{?ropltWurs zI5d<qO z;VbrVbkmw~ndRoo;m2KwOdyxv*Vk&Sks|XUi@V{Nq`u8zw2_mA1-;GlqY>PVZpR|i z=$T{-Cq+Z)j>eeJRVC4fX=^PW)>TUVKH>M2?mjk(PA^7Lqa&+~@vQ%m$T~gahb)RR z)~=Cm4dPO}pDzcdC5YqVk~cNOxuK6cZ1@Tj%a-P5?xe@KWi^d2yKmKQKT$XlUde89 zZe@;vVf6bxRbGA>mDD!JrTX|7hu5y`F$(OKqATij>CBeSGSgpZGTRo|aFSa^9<+P; ztMhgHjvBd@-rCdcEwy96i@$zpJCXX)icFQ0-&CgP)7$S#(lxbKON)`kvlFi6B~t|& zxN}G8Q~W#g5=DTy_gr4dct6>8vHxoV56?G0f0vw4L^j2wB-QM!TD6;>lDbkkdu@zf z=>zq&tM0lyxU)yJkyRbf5-<2@RwbUZ{#6rjzz_4;(mt*Cn_k8K9W}i?qJ_(rG4=Yh zGDS_6WZSYraVO0NtCYuBYk9Wb+S13@B_>>u*+~F@A~KSM<^S z*a?}4UEgIbBKP2|^phC#iGsAENR0+J%x)>s#`eh`s`iSBTn*=?Mg})=_pyr^Ono9P zS8Jk$*vH&HJC4QBH^?8GY}WJ1$BcaHxVBXPQ*=UbSG{L^>*yJr9FCDHuFrGJ8Yb+^ zXZ*4`*_~%D3^2|5D9uinWY{)GM$(loetkXboHobOpS#kxZ1l0_bbH88SH1=9Ye8Nz zY3zA%#S{)!RJm@3G4J#`Uy_T5_P2uW^zJsBTs5~@{I^lRH%)ERY5~c)E6x%ZMqR9) zEQP;0*wvZ25UbxcZKL11S~$iyrrv){Gj&&J<<-L<2Ja(;NpXKYk|^4(;+ z_(I*4&Mkd1Ecf)pi+D@hGfG?Ei$`|lkA0E$Y3+Jj>&oA6i00u}vicS_xd*3<4-N0k zRD>u;0XaroEORNi*I{+BDxlP3_ScwA?1%JsODXlEdJAQe=W^rB zd|X5m_i5y_P}PLf$VBckco&6rp~fk}`@}A(s8Kbyc_S^RmVzp}Fy~1bk76&x!l%-b z40I{=WKGNkmv8q~%HNo1YK0`4B$QNH!mZ~POt5XZ3ft}SQ72mR4_4;z-(r+o+s$ceO7M?iH zpMK_LokI;3dm1-CZY1KI(rmndLF>i771<3W@y^<9g&H1VPQLTY=$Xqdf}>X!sB4N{ zqOwCochqQOOE)=OEuXC2`YKDO&S5)l43|xu%WJXUccu5(fh5fT8?^lI#nm@3Kx6LtFod<=N!IeUnPm@&$)r74ThfM!yzjN<6n+` z2;-?`zAmoM#WRqi$zt*{fFe_X-Z!G-y1abIWBG$hZP(f(f?x2x{Pk6J4u_s)qZl*N z+ep*P8OR?91Vo9L_SJq4G!VE~+R?kywT0aVXN`*NsTQwD#EftbU5P7ud9nR1&&81b zSH6)#ll>E-A~=}v<7cAkQ;XfPR$IlKu(V;p?#Vg@#m>_Ih# zRM7nT+ub*zneESxw%`WF6}qzYVF6e_C|BE2qhI8JOc^Rpi4rcWxKa9m`AB{CJIlhd zsE)UzGa76t>7QBAO8Qj5vcKguN*vh!lySiv)v9qJi`R!P1G(pD?7^taI!o8UbL!2n_op?*kY0f@ zS`4ezG`r7va`qUM&txgssV~dj?)BD2`aq$VEY9fm`$Z2!*{&+C z3_mDn)J>w;0$hT1H^&6$rrpL17p+Z!^dXM6`5tN`-gwn_e%inNb>T0GE4|oX89Mo@ zm+CBX=G|;uXM5h!&^J(gV4w+XUi}RyO_sLHAvIvtzP!pWexP--V(74Gf`z+4z^eKo zuN#I_@y@y^F}GgUbScYof`XZvv^wWDeT@il?vxcQEoc?RsgYkZzKPygZOi8eWo6Y)_nXLW0jJ1)Yy5Dr_!tB4V{!KP@SnK z+)bZ;6B~GqEnu>HDxx`KobS$8Thk?(WV#D=));S19?Jpok}Af4uUGqZQbusJB z$}*ZP)Q!9RW$r`@!Aafo!kPvpDCHG>4Hk>^vZCd|eJ({?9cq9?$YVLE+wopkwpxH2 z8ybRXUi|rJnqG|e%C)=dqfScY3AattLx+-T7#UW%X<7!oCNfMe9f)wJ6bvF(R5kY2B|c@>SYrer$}fV_CLm**4+wajRy*q!;9WL%nKKGNt~UP+SjEmKCh(gGCS7T`ehFGUytdp)+Le$T%^S zQYwQr(iIPNXQvGo;<+;S{%mSaba-cAo1=U*szDBLi^f=|0iJCxJD_SqkvuCi#006U^XAL7c~kNeuu zsTg=#jV$TAFDs+z!!FTDi5{>!Hp1r+m#yn*ouH(r)V^>c;DA{(HvO!AQYfwJfu(y{ zxpSw@_*=Aj1;_5M+6piJ-oKR}U0aq>Rns{~UbH7e)X0!JUJNJq(=y924L7%y-au!i zoHBRo*<{9JPcEFMabvsxt?G(v+Pq^ywM>Qa?2)eKJhmU>3st|b%QR3cdmZpns{c9% zJih21&@MI<7kdMx)ex=4ZYzEek?N z2Km%b)tCwk49EBx4_vsZ+ErFy*4bGgPg@JoE$v^&+c2bg03Q1aGrkO33l;u5wL3gc2Y9ItKw|xF0n-OGEz}`NQ3MOJBdtZSke%2f$%*A|bR0 zT)rjyP5BsrV>j{u;tYcwfBl)T(v=FsEyr+wbG+EMr7v|#<>RR-sVH>=>8bcb`48#Y zna{Ro2gav=H4G5sP7TxDi^%--pe7odDIj?I%J?xPIL6I|JMlEP3QyhDW74*5Fnns&uPRw#&gWaiWQI;4hCV}ZH4;}Ze6j*+5blE~ zM(;A$CZ1fdiDS?LpnuPcrO?%LjSjA!KEI{!l4@9|YJNcSdkTjWq3m=yP9aQK`Y>k) zQ6s0EeYnEsQ-?hlzpsDcGZz|DhrDO$sUA;)DJCN|n7L;gjJLy1hj z!h0tSyu2D~Mut*cDBpQ_OqVq1bJfZ%>I6oo*gspb&!0X?T^BZf<;$~=ku(|~dwto> zSGM17*zs;?*0Wc7kbj$-8+U2+OyA%gwHOH|M5%pLOw7mlUL$rZ0M0v!4! zL96CBaiMn7KdJ%HyLRnFN_bGC_Ny7J0KaK2SQ@gep_T89D9iZ7kN2U?={7OjSYEnN z21}&R1`B4Ic8%=i?ibFzHttXzVrAJKKKgMRDx{h|lqW^Jqg%zS_Q(5OB_e9`3S2um zR_y!gyPCTskn{Ok2keZ$*`-a-YVcb16iMIeQqFfzGbam9y4d)3KyDyAR<-7KQ)p-H zUAsyR(24JH_NoFowdP~+EuHhsBFR}Q2I8fr7y4QzB(0qjgYO|3we!_nO{yLa=4z_j zzslxlHkHwNIX%rllgNH3J2sm!-RVXAuF?io)Aof>tzVRjjo%Z)B4=Y}m-5J=61ifk zDP1lh?DO@s29aR_c z<%d*lQa0jK_>{8yrOAfDW=j2+IxR7N_V4)WYE0``iXGfRr!Ujxo=h@I>spkxtlawjv1^d}Q=~9%Ysl*dmF&8JQ1)XY!^ib76Eswz=8j&HJ zd!1dDa_!YQBBpAP=5sl6Da^exW$ZF9Oa|Xpt(PdtC_L#lpJ~I?nj1e(#on%#SyuGz zH@Alq?^C--=cHQ{nU9-KH*?EQ*3D-k_=PbD#v`WcSuBeY?d=6V;M)MQ!B@63e1u3w}k&)S1m&J6TIv zrXHHVkuC1R_RLve@>?v5IoYLQh-ryDFcEB*4y1Dw7w{)`4xB2FxPRi3wzjEucv7OB zkITxZwy3lh@;hpgCY=(60>54JT~Kk=TAH`xXrsv}N#4ZrGP`FfTWfb50Eid)z+QFv`i#t~k-w#H}a0S}6LABNnKJl*>!} zGLwc<#1)lXr;VqXypqh5el{fge&b8f*d=;#C`?;ri#W8I-QcS`iB&MhyZd2d(nSsxef;(3Q9o3o&`DL0NrRhMa-#YU%? zMYl(B23`doYm&%OSve7W;hn@{+nb1yUfgPqn{7o?f02(hFMt1;6Xu77y5xWBSadNB zN6y)Q?#v>a(E382{#>Rl#VT2lVbd-?D-$g)9gmR0el3a7cbc?e7NblzC~(VUPZI27 zjKAM33ZqjBX=fU=6+YE@!`*G@p=&jt#NrbB!8&)v4jlvW$km@?nx&p^&$1|lN_1Ze zZD`+}%woxsocV0-3e}hqli#&x&Ca`}MIFalEa<`#8{&qhUuQOJsCS8wL6#_{-N05= zRG3ugB0f?f5OpX=T`%pT9M#X}M48(Tx^BS2)*kucOJdCCQX>|v zolSujfp%23prL!=orunmcW4T)xw`8Uw_z>brX&{@%WG_q)(%UHbkbeb)*IqmoeB{9 zGSZvgDS{I4dL`)m)WoMX1If!@ZI*4?*re0$@;ZAgL_VPNLhJW2RI_Hn;@4u9_8j;5 zUc24TyA-m!FZ-LpkXzZ#(d!~wK|6IBt}efec%mk-wDWO;(0!$57kkVKb}Prh(=Z$CRKv9`pQ195it zqDKG3P-==!)K-b^clAmM@1T6J{{=_3_N|sX(e*%UmF9VE>Fv{OrkGXh&Raz~TqB1L zVns$LP0eWodFaA+2QIcV?8>FLF}M)jIAT8cwx;&N^2iszT|BW_CO-4Ht?4Aqb7>{B zub>I1|}e%M{5D!jqx(k~)b_M_Qy)WtS+%K5ZvWWRUseW-yFb<2Kl zM&5sOUx(~2_Z|zr`26VK?^AftF93T&yxh=6 z@oy_$E|=;7$=}(qcukd<^Tqj5Og>F^5EDt8wa_u3mX3P4(4IQW?DeX7s`rRQHvf&bSCJcYp0tmuU6i9#KHfer1^lBMUC$yZpI=59f;M%M17t##{pIr4z!|B}h|V?9?ETbf+`*$Ql@&Mx z^sd;txXAKrq$486saVtTj3!_D%v2GIzb7%aeKN&HbaHVlW)A3CW8Ga=D`*`;d8693 z3({E_!QNg=vNam=;X=K(W zlJL7>!n*UD=)|My_R8dH7B838R*#fzi*Eig;3ClzenIw_dl&}0;=IlY)#7-*6H(I| zrl{q<=s1=VuO%7%PUkD_5A!okuIVu1VEwWZCugz_O-fg`SM%}2EYnw_mj+YcmAa4p z($-)WDYS9={0Lk#aEyC1r93~Hbx3gR*d$8-9dfr&UJiTS!|rr>)uEXNnLK+P?xD3!PQ1<+_G z78%dSzKmSGL67osnoaJH(Xw-G`3TSy_Iudj1TEu`QgQ_rtBlWrE$@$N# zD!^BgJ_~Gm_wzW}*g7H}JX?(izVfEvu{ezKu5xJs}LSkl{1GXN}7 z04fTr+aJcprppXQipFpXRjKFIakxU)Kv>n_uAid|7zGqecPP+2;0?r8KHdWgKAda~ zynVz_-IGdgYh5D9=vTDoP<-OR|qn)D@fr$IPDoRiDz_m5kTKDs+I$2PF zPq?6enuCFBYmr&wRkBep5n4c&j_Bo~X4++&Eo7|+4jedMP)AOdw|ecS4j@<$jXf~1 z1i{ETKR`0eAHYW1|J`8z(b%V$l9CcnK)%eyg*w{hu0A%l23Bs{ zLmz=}z<*`>EZe=QZ>&r4!qK$;qIdzEEF{Fqk_ISQNRX1nCyfQ(!o;ujIbiD%zxbq4 zz-b^!437hbBZ!g80YhR1`Tsc_M?gbjfzJ>DO$hfVh=3*p%M8dN1j`H%(1c)_0Xc+- z<-h^0l>-UV)%ZXz8WKl6TSHwF6v8pw;G_TVxo8lx?hhC34;SqZ7wr!h?GG324;SqZ z7wr!h?GG324;SqZ7wr!h?GG324;SqZ7wr!h?GG324;SqZ7wr!h?GG324;SqZ7wr!h z?GG1?O!5yG?GG324;SqZ7Y(>g@edd64;SqZ7wr!h?GG0XU;zE$qW!-k*8Sn40Y>zH z&qV{D2L{uulv$BzA&Bjz%BReyY|4s(s9oTryi^_Soh~_^u{5^glh+m$0-rjjyOw7L zK2Gd!DBuBK&@;+5h5~6|0AmcKfZ;=~d3@RbN;+^9_)s{C*Wc2SK2Q|Md1DnsfrK}F z$TbwT|BZAgP^e}Klox`m0y46@Ug61H2Mj3=+@lfH@#hLC|rm zg4lHwgXeuH0qBs8rxgn;2J%(_dL4_w4P=c%NQQTUMeYF-69O#A$LGnZ1h~$S9gXAanMvz1NU!XzVvLg8*#US}1#US}X#o$Q~a+Ckd zB_N|i@TzY=T4( zJM>x_HZFLg!9zB-1Oz-ih;^oi(A&TPkN^o!4}v%*2oZW2sZtV~K3IjU)g3sHjinQS zOg6bv#5_UiV*a5*?5>!}`(8Fu-FM;PZC_yL!ZF~vn*|z{Bs9WHb*z{4j zuhvRWqESK5=Eav1r|y5C1flpyf|Rgsp$GfoL*jdpAQWmzfF$-Fu)KlI_NqTBo%G3-q;8 zlbAuF){Yek^<}^-s2F@H|6{I#`Z9bd0xyF~0TKob>lSM504ZUkLxH-*zXXBTK_$Y* zmw@^*JSeau`A4S$SQ29b)Y{=g5qKF?ZIB=poKd0H4p{Dh?H2CKkZ@myg!(ez@1SDv zFO8qm1fc?lgiFJA3-x8JNT{j8hbHhs1c|W&?#qyHUxr+#F9W~&NB4qI4Yje<&>9XP zEo?DRUxqI=q1S-}B>@^XI=C-GuG5!+S6w4DRAX%n4fkch!}Nh*jGvgm0jz}t<0=V| zaGd}dExrN>yikC|SOK?oNT{{Lha~Vir~)KGO3-3hkyv881=YKD;3Rq<)ExqqKXDTT zs(CFW82vYtQV8x2g`koJfChDorvPx~)Ak4#0-f16c?lA<3jRZ(|dLR+-W*l6jTVt0{w?_gb z>^(%?As{7z_rOm;*ie^ncPIpPhxk$wcn@?42~xt-12vfVkObZXKLKJxDWM*fRfwp; z1O`svJ@AtxHim?!2Wl|!r6lkk_=yx7L&DQTw1WvqN#H&3lPxxeguRDo2NQrK@E-UH z85={w(?ite0#y@%_dvSYc*dbNmsN;p`w@U7@E)j-CjkG22S8T(6R~%knr>n zZGr;527&iLrn@mDya_4;2m@lAYtzz>em4&3A_jL1`;6Q>4Exnd?^WX z548A00wg>=L|d_dlmy-bIT#6$@bnP1`~W0@_drWh8$-e^zYtN&4?q%l59G5XK*G}l zwfw9?aKA1@)UN}VAn+#0mr1w;tXraf9e^b8CMYbB014?9MbxhYkObZYg@+9xQEYJ!pae!s36PNKqlh+y0Z0OG zfnZ3qL91l|LMS`r}P=^@$>1|SK%2PU#@RCb}DmLFhE;j#pN9|TsxYpM_U z_bWGqgj#+85@&??kOW)^m{7Cvz~Po3wNA@Vz@ulo^@J&0?q@>9NHKXZuwE`wEXzo2b3U*Od}M$r;J*sf)K zJ|sa7B9RY;TBqeF;6MmMB>)N1fx!(=DtzvP5I?Ci4Q~je;0<9E)baxZ2X%{o2?8%7 zk&}a3r{xE$;D3w=rk#;6aM*j+Y557b4kSauEk6qClvz>mhA;}=5Jo|bB=9|KbntF2 z3f|2{!MnLAsH0&;!96Mp-bY2j`=}_WN(cT9XAzj3ih_4AQSc5Xif9K@h#x%VKWGao z6IoG2+m8SwK@Nm?e;ZE#RKo#~aC(KeA5rl3BMRPrM8VsSD45fUf;pWic<&Ge_aZ2G z;|~RI{Gp&mf)xet+M(cGI~2^OL_sAy@ORh{Am?L6!NoHQvPs}GEFWC?qTtFGwNB+r z$Q>b76%daRxD*_H;B6)}RJO9B;hGZ-?-8Nlf)NeV|Ije~4-Hj&!0}KtL&MxXG|b&Y z!}}s=xJW`nMG`9-+SCAE!H@>LLWYHg$`jx-j0f)ppy9#*4KL)Q;jE5^SK-lcN=8E| znH3G^Q#6!MfzL1=lnjB-&=jDdOvZ|a(-0a;L%?Tf3eZpv0Y1a>L2JIiXBZET-e{PM zgN8#d8eS?zLvfQ84XxS&ukd)`h=qnD78+h*L_^^QI1ZK%iWRJA*wN9jqoZL*N5hVe zh8-Qf&Z-*doBw+UM8mNH4aW-j)&y2G94pXptU$xD0u9FsG#o3?aI8SXu>uXp3N#!m z&`_*kMZ=B`{5Cn52+^>YqG2yZ!(NJpy%Y_5DH`@t^g8PnAoPD2GVJK+b=ECFDgOf` z94pXptU$xD0u9FsG#o3?aI8SXu>uXp3N#!m&~U6k!?6Ml#|ktYE6{MPK*O;D4HK5p zu%n}4M@Pesj)5H=13Nlqo#qmpkpKOVF>tKFtkYbAbNgQ)A@{?q(_DgP@?Ri955}tz zKucQ-^;f;6Ci_3$jf2F(?uS{YQw7a-4d~wtp3_$h?H&I|TnrpVf!YwxyMpkv0^dLZ z2zc{%{Rn53zgXa?zi8mV8?g5Q>Y~5;{=aD4z&EgF|7w$9LN{>h5uAjOL>uqGRy<(> z20=DVz?gNqZqSR@s0SJ#2~c3Pz@I*XrV~;T2~fnHAs7hON(CyJ1Sn8xcv69}WGxgp zO(Z~p#)l7uzfAy7Gzn1P^x#9`m&35BkN^c1lK4=#G5<3_*w{#bB6dImniOoVBtU`F zgD(|s%xk6k%a{M>8|yIZkPg7mycUW?YhPy(gMj`7JKM$sTxanDOb~0O0@XaPid@-XHvU9YnW z0~TRxF9Cu6wU+s>mw>wo3=yYZ2tmM%g6}2TSZcT-!9WekT16lTm{CXqmhZny37G(f zcohZ#79wj04jxK^l(250wg_KJoE&Q*@#EmXN(pyX7^t(tha~hb@ah{&2{&gLs5!%j zBuGb4njry_C|V=H8hFisp)^AR6zFaEQsH#977FxP5}=3zG6Jl8*Fur#HBgs{FBL&L zf+|rGq=JnEUev-sjVc~A0rLq7Ef;JI{a2nN=58Pem`_M36_Nl6S|%$7YM1e)Bq+|H z{6_*LoG+n{8y}LuO9+zFM(1k2~xuG5$^jj#0z`~Fw(3wCh(Mv zq2Z+i477BBFD=ew*FZwKngmGD0a-E7>H|I`f%ia}ngmEVK0*r^_>edgUMnSuUIedH zVxR>Kd`JRsB4FYE>&(N8ofvol14B%_K!A~Ft+b%7HdX+<27)0bULXjVP)I1{lK=^u zKD3O2rvL&b6cVZ)NPq+r2`h$}c!2;T(%ONOm~-I891OIWgD)k4H$e-F8%qhV2Vvm# zAPlq~gbz)SdkEOL|7rp7k`e|g!|@>rya}pxNRSpbeW*3Zha~VOsB9tu5{~-N!WKRx zfj2?r(}s{(cx?;|t&QPB5_l5<8~5LIiG^2Su)7BuERHK9+cG z3;{-@wUFSUBtSx@k0oBtLJ%;ckkA4)36N0K#}Y3AA;5^VR!Y*m2@CHjV2Ozr2m)pl zd|T(nQo`F3Sa@3kOLU_Ia5n~lHxaON|J4HEoeeC}jS>JPfj2>=DGAa-rjI3Fvp^6q zqTu^iH-?1wSFq4>AfD+HFrttI?A(7HIJ`xJg~~X5NCIzy3TG0egpx8A-sQm(FAyNW zh_uG22w1xRE-h^O#H}`-NU(fk#jew@6ELKZ1Z>@ZwNJQT$F9?_6ELLUo1jUM5=zQg zcn=awOnE?n5owJDKurq?&~Vg;A{w6W6ELNa(01X*knm0@779Q3kOX}b)CZ9O32K`a z3&jY0NZg;+4xB`9f;WV)#QU)b@G5H|N%SUoKNbt`$6}#27hhU}+(f|M{a2%cw{)?P zUE@O%3e>2Qq#pazfxNI2?4mVyt7)8Sf3()uPWyf=-7+FX1{ zg4_i4lq5(AM)3Vrbpl2M64DI` zkZ^olr(Y*vHXxxj4H6*X(g0=~V2N*(KoIa7kdWF*fQC#T*tj6#dLsz<1@N;eHpB$5 zp#4bT4VVD%XNn;0K$A%dC}jQsD5zk3P=dq*O)Dv&kOKgqpo;N92~rPaBcy;r5efi> zd;oX@Y8elmfRKQMmU&1(hq-*fz7WyY9s-OyYXTr-gQS3h6U7REf?CFxl)$$LxFP@M zt^gL~3BVgr%lM$U)7DA~>WmagAzuJM!87ndaTi<*N?Nu8u>P7TnBWNPkP*8B7^c>u zgOf^v$S|n~03~(@0#*ZXqd72ye|FISUAZtZ2mmE^2LgTraQ`i-pnti;I;}hb(*d|G zkyOyX++m$&9t>0e=oGj+i&W6R;ucIDMeq~v&?5-Q55NsEB%;IoQvei{2hYd|I1m31 zZ(jjk#qqt3Re)kYq&UHf6bQMJdoNBPIK@IKUL-(p3B{!?u7S3sP@LdJiaUj(#fm#Y z3c(!$1o_U+%o}!g_lC*s_kI8W)8}{D&Axl)%&|Fp=8R~vq96w1`#FJ{)xl8pKqVcj zltLXWR`rIe2hqDlg;J=4#k!u^DgBJ8>X=yA2bAP1d$Kh=5iB!TV~rkNRmb?+UIR6& zgIw?sNMGp{nJdbJ3DoQzR_?NH&KG+O35290!3MkaU{6X7hsCsbnRImyt z)WN*gw=sjIpD|TGCKmftM__W}HfE>vpwKZ<1Le&tkQ71=%%8|@tj1J_s#vi=6k5!> z#^-n}>cOJw49wrzZH5LgqC1enyol0vBG9CsHbWtVle=COPlO44&YZO1}wA+cXU4>GF73MU6 z&Cm?SsaO(01e)SM8w)t~1VV3kwW&9?AuRTXk_j>tKREg41C_zDxt6gcZK3U9st(AU zkg&0^S2sq*atEpmVs?gRR_uYGA7;Ha^nMX7pcFU=fsbUcXVTp;NfDGtnbzsXNJ-VXrLHwp^$>)GiQ+j5 z4V@Vs8C`p!p1F+wDkQT%)IiPZU?`3dUCmTLp$_I8h0RbF;Z!V(Al^b9%sC31p)kU! zSQtT|PzQ64!e%IqaPq~5!th140ig@;5WqtQdB!w;>t;-`N`gS44(6>1HntkpgR1Hn zaumE0NH$=G3JIrTg#;-9GaDpZ<{X91P$S{wODqNEB1ggNYYdcXFVqj8@m~cL6J^d( z*bH?NPQGqa0X1usp+LgPKhdgSnN6ReBErd+ehOIJ0ZGDWD1~q;mO_wiGA|7cH4sk4 z8VJIIxFA!)>q#_sVlHB^8R{ZLw>*{MW3G9cL*|3QNAY!~3MiD4n==X2P!r))tcjrF zX80&>d1O$H@j6jgtcoB|aM>bL!tUuoRrQCP1ez#O&OkrFWl@blSIp|bNYKAe)oY2$ zee#6nc*{^W;pD4ig*oJcN`tV-Ot5k3DP{Vo0tyFXkyc#%y6CxE*v)y8Ir^izDQ5KmAL!pFdpr}BXxxB$!T=R4 z#tcb24W$xJo>fr6g1CtCgaH28RI`B=nF(f|^sH3XAD)@eK+Q^ND5!AqKT)Bb%{75q zM2##ALIlA%w-BTLotPuzgK}$v9EwAHK&jatY zl8zyYB^HDQE}QoT*bGG$PCiZr+IdcZDCG-!NtO-e6;94G6;Q~sMNWX}pMLm^c`Bgb zvPDk7&@{rSSYkn=hUpVM66lKHGXHo$>c;@ zr5FS%SY$I-4A=}s7*53^3<4D_;%RFGrJAqTO(vJj4^Jk~R%<-vt8rQEv={0@75x}b zEHhAxi85%NY83|00UJiGiHM#+ML))Kz%rJh)WWG+YGE_iE!Yed7NQ-h!faTi6_{1h zk5Mro7kP!U`6ETBP>WVI1JVO2meQDPSYrAExLwV}d7bedH_ z7yA$h)U1?-3JcM5Rs|H+)4Uad9}W9{#zX^K6;N1Dz8OK9F+*WRAh)zCps=2Nx1J2D zaYRq4s*dr}2NGD+E%2m@rgd0K^W=prA%>cZKyKL;1|fD75ISR#JP1wB^@C8=I-UmA zNMF0)d0R)IW0t-wli=>tEyQ%@JOaVl6$vh{TF12*+oOte(6Oya^%*3@IEDw5bJ z5nw}F!Ddb?*bQYAfxNg+fl{OuZ059r-B3mm$dm9YpfG*rv;seHQ_lxgXN9x^Usy?2 z!_Hz!9jIz)hD|gEpjM@HLx2BEJWvM6;N1DbCUqOp}<14p;iFp zYjc_?zMhtcud!J#TTHiAKuy7f-B4gb$IcVBLba;RTxwu96j)HhDOD^s*YX&(nbM6> zwZOt=u2!%c3M>Lu3oLBNOxTc_u$eOx{K!c?rHsicvjL?vXC~~10t?Z4TLBcA32`>M z#8X3oh3Mn00t)MC&P>=11s0;Cw+bi%M{{PvZYZ#zqem1a37H8SG7~m)`vSY6z(RBk z|1ino5N6dJlYxnVaHSctCa3g|qr)IiOqkC`XkjPcKCDxg9gxbc+z zzM;S(P_@8<8&5WTChO9S844^!TXq#nnPkX_O+Zz-@qm4+bB_ zmn#Y+Bdx%-)BvhUwSLA_b&OXlXe67KVs=A;MWAYdg&oxjT=or=8gxvxz=BIUV=nU! z@{Ae6Kh**YJE|4z-1Etx8V_|mRjsSAn==!3Lpg=$ny)bF=7I;ip^8Fu-dDjg2NQb!WKe@g;tOpBP@deN+2?{IgBm=NYVm~FUZH_9b&x?d9_o3j zxQ?>(hPn!Ic!>%q)WIS%VJNT&k%!HxRLL9520tzl$WG0Ly7xAgI zkjkthF%wIR&c1ZyHz$?Or~%F90tPPDIvM7}QlJ?H40dd4uv=sr3^fGOocVCW>B>XmeP&7G}eIq!-I7(LzS1*WeiwLoYu5 ziuN2b?tjoX)R&8v1TwD1BVYL-^v!9JWHD4~Buai!x=t>Kh?5uCjGw;JEA-82u^cv3 za3qFav9(TOt6Z{SGUQ%uqtjwVY^c-_r=)$@ev6HCegR_hn@pflueje=va_Q7AT?fN zhDOGfJQz8f#NZ11B1-gST%%qk23Ob@aU{8nYt*a6;0pU9>IY?9qh2Kf7j+6wzFSbj zW$}bw{u6`Ce6$}GgERS)agBZ~F}N&CK)4qA%Ay@#>18w!u0_hpSe=m=IYWVlNYcuD zF#55?@IlxYk!O-||AW49H6uP)ti+6E8j0eA&^Hm#%k=&SeM8zroYN@d{s(>ISs3Dj z#kUJ6y~kHpD1=`2Ljazs!`v+PV0_-Vmn&7a;ZYQw$=XD$PD9Gz$OpW!ANd*gDA2UgbRFdHJF_V-? zMF(CVGf9b5P2lx0laxsH0^T0usb`5LDpJA|)zV`sQo;-Fq{mdGglDj&$5f<*C#$8$ zRHTHbw)KxmpWMB2(j+C)M|H1{nWTippdT^{{4;<=q>3%!$#Cg06X7`p2a2$=;@$XSAiqR6Gt(ZcC4;cpSb{ zPg6+{k?swHxaUs=_MNx01460W%xre8S#u4Sxnmhu zuMCOBWkCVq@)fU)tJjvq;xaM`*Zeu#Vc55x2z9cFE&zmUPKY~<-&zwRzdY_BT>g;E zhyS2&JTM_#^H(i?3W<+$#v>O$+O*09PNLWN(KS(g;QB^;V41+lxc@=l#D)Xvd&vY& z#?`xyM9P`?#82C6&3a+{)S4(haDAiQx)!+qLEm_IMe}B%7luvliPH?o8!*(?>yxoHwq%glkR^J4_!?nM~?Gpz0iDgYcfc+k^*q4(;M!vnkQb z{TppFHuJ&s0W~qW+`m!VNw$oY_`t^EqaKUq547u;5hLUN2YusFq#x}-Hrofo9`;1Z znR)M?L*Bh^`cUM3t}I**BRigziNUg%ZpnQm0!t)QDX6iSYrQUc4cQpa^&uOJmoYA{ zk1?AgJ*JK7gO4$bs((!Sa_RMLjAPPch6RIe=H7>+yc$G$OfRP1-o|T3q{sAD-|J&c zou$V#J^2tzxKWWF)7xyXZ(}+rJ*Jl-ua7ZCNsp;W36GSe$Mgo(>)T9HBJHa7`j|;d zr0;NEA2Ugbv@_bvW1^Raer(cLG_Q{_g_9mrkP_ZZyT0_8f|Q7s9MWS7QX(37NRKH< ziRjfKJ*FTfqGU~aOhHOS6A$Sz1zRFoe&`x$Dq4G}6-bv+o2?FK8k@f@O2VY)m zSC~!FelRPc{lEal);zib;zZ3IbF_yGb%CwuCi3<7x= zNRNw3K>A-XFE(?3QGSAko>DGTYLto|qx1$4$a{=xF9(65lLrw20!1YjT>%GqT@F1Z zij(LEhAzrs=n96;H+X1&%=CqRh>{NaAw&|bC+G@>F3J+<3PYCVMQ`o2)dG8!;%tff z0Rjer;tM@p0f7kHMArr)StPsY2M8413+W1mF20n~6(Eamk#q&fqKuv<07Dncdb$E+ zQNT`DfQ+Rn_QlgJOc!6I5rtS@iB0X=6-*b;I%`*;jfm-OFp)NHBDKE(GB65(a-{ImS8DCS!Ee!jbEiaM9CRG|WjI7vUs$Bt#L?>#xBBa?4>&UmH z8-}GxmTp+;qzJLa#!NC+!hVU3nM4x|tk_klT@ealu_cn9C*un#Fs@=tr1lyR2jhy( zh&Hhqk^Tn8)ow0&@*&3;eDXyx*jLnR-(sZ7DZtY=B7OSD4ck#z(8&QRj{Cc@Kbj9DLeO5((t9K z1M;!lysEqgT!yO?JI091T$$z9Xq?cGhItl+*T7q1yBDEjeDIbQd$ss^Ir{f8VN`h^ zv;++#i-i%hiTc;D$x?U?f)6_uM%WT%v)B^FPuYoojmax|S6Uu?$eht;+$Ssu zBH|Z2;uma*BHE!Ph+nWJilSr@T!}4Fq&J9P?1*2m8HsMe%3*nCNBqKzHOb^V5WhIE zJmd9??3VC<4$=OT{#e8>Vmp%dxR88a<)%G_wUq;I-+{H218&~|w=cFIX-@$eiy{Z# zZKvH5+;G5WJFqBnaGxztjP}>MiQ%T;!?NVSy2=5!FZM7I1@PGpEQlQN*$((@2NpyQ zEQlQN*$ym-EH*E3#}Q91X&B=JktiI@E!6 zr~^TY#bzW&g`6N~695%{N}S40qreK@fdr)k9#EVzuKf)d1rI3p_t7n^ z;2rRQ4)YgXr`&nOr1jp(g%fqai8_!3aKMQ=;6xp8qGFSvANBDRL7q4tSi2(DG2-}L z?TS!Nam=lDh0UV&Lkyee0BC~6X|381Aj64@lT5W+LOI1jq1qK8AMw6{uPqp$kUX(b zkp9^Gf!QgyR#9i4IA~G>#js(U#UYH^Ef5DM>Vy*&#|+Znz=?`&huRe(M=TymB ztO@( zpj%i%IpIK@a3EsOsP;ENhV^%H>o1Q@Gi|<1861cc4#deFh>Wh0-~+m7@$N_cg_)<2 zLA_ZM9utVHjfI$rhUpqAV~vcOpgBnhRLEr@mXV@Sxb_<10YyV@x`Jh-Xnd_*5!Og_ zn%1s}c?(4LI1nCC^itOT2FO@OimkVF3(H8+##g%{+?QyVt6c%ja9@FNU!o7J_BX<} z2Eu)b_NjCW?n`th)vkbMxG&MUQ@bUkI1uhjG_#bspP;!-fctP?qVFWV5AG`vNmsGU zSG$E_V#%n|1|Lg=K(f zZbrAT3=qA;v@1Zy2eCldThR+k`x`J60XVH$HNs?uCg?p9U?^hvK&1FY( zq+J0+VUq)4lSOA9?QbAQu!f?w0^Nc&6q|LmD;A2WJ@4Iyu*tDn0f-OU8Yt!j232J6 zwOb$#22~_|=@txXAik-IJfU_A!$vqQk_Or>%r?Sl7fJ?P2&Y}hNx2YCyHGOVLOAV$ zF>xWBcEOmqcx|R1ee@Jxdt5x6mgb*D7CNqRdBTFv`~16Lk6cJ=xnPf6utzS~BNwtY zF4!X%w?{H523M?13Nm9B+o$;{hVkPg4PbnaA0N|HE2(hdgP03e(S@Mi1*_=dR#6^= z{4i!e==byrm1?(uFmW3*J(EtCvTtjVWGC5Bg5`H&*p-tm@q;rE()?b7NKSM!@C9lH84G z$&F~qjU~Aop^h6%ayLR9H$ojZLLE0k9XFQbZp0~WEXm!-<+>4MxDjNy5oEX#WVjJz zxDjMvpE;FZip9PgSyVS71UDiCHLKyZn#x9+^WS^cAmxaWnST# z-6(T)V@dADlHARGqAW)V8({BpWZ_nsq4$Y);a1&nt8TbeH{7b&XHS}gG^rbDQa2o$ z8>@OZ(xh&_s+UKcup#$8Vz@XrT%4P`I2m1g-WMLgOS+M)btAVRS^?0|;h)^dEx0W* ztt=Da0|g$WCp;FOfxX!$P~jOo$Z%LRAmE8(@94}uTN!f?Y`6!R5D#p)2R7WpZMZy1 z2|Ew(@8fPjkHz!TzR(U&;(;fzXraK9-aerVH|K#f^1vB+;EX)xFQoi*QeWN&f9B!- zOlFa^XflN;-q{V8=;1C=22EIv698qm{HRhMEaEOvMo(Cc6F@gbd;DvFFFb`~_Hf56 z6Q~hy1u8y$u(4U{4E(jnoMYjiDXdW0_62T!tU-kZ_rT?Q;PO3i`5w4@4_v+nF5d%} z?}5t~Z8T_>;PO3i`5w4@4_v+nF5hFW80H^b;)g_QYreYEZ5c{nScn`vh#WkK96X2| zL}L!36zK^MA_tGT`ij`V;BL5Rnk9^jw1^e^X1r1o;eG9JV-9<1*@D7^LH^MVIagoj5FG7A#6 zMc&m0frtk?5=Dm-8a@IM4+0Sn0uc`a5f45uco0Q+5Jh;fQ1&1M@E`;b%}(eQ_`Kjj z2;e~o;1Qn}XvYr!2tYr06yi6F2P#n|kdBH;43tn?w4+66o43KI60n z2*|>z(iI?Ectqyd;wRc?KtY`Fh;#+SiM1770dc~e(Y7QICq8%56%Z%ZR&)i( zVr@lN7_uxH3EO<{beorF{5!2LJP^w>A`r|MUVye;VOquVjILl>#qx} zEzCXRsxMTU%Z~VWXkV~|$DrM07$5f-^4w_L@Q%)e!oo2TC}v*x8oC0R626A6K&FJR zq5W)-DdB7A3S>(78oB~x;UwsaS*Dn9`a(DNGZGJ&eEWoj@rgw)ZPR1plhL&S`hqUJ z9f5*H!cEZ?ut>Nmx&r14H$_)KocYr=FIVt|Chnr-@oBX9gaxq_UXJ!QGPRS@6Sf`R z35qFX@x;AzzbP=dBdMs5} z_)dbipgCcC;2l)BUpi_OGz<4jS71$r`=u+G6XAa83g$$(U%JBH_|5?MPCDzIW>Tsx;RQiflgrl&UZ;VMHrKGU_X&p5Dc86HhQjgD z(WT-R93P#Vh$|R293P!ghFd@uc}d!o3uL&Q0Jxk0u}GogT!9S7Av#wRsc;+ta2x?} z9070~0dO3mFM8Vs$}RK(km~(Eed?1NN2ys3&^my)H+|>67f83NM^{A_A=J{GQr$f%2)||7)FkjAqWtw3L+4kgRw-D6S{@* zSr|(uEj|r`(IgK-Bf%Fe7)$gxq4Ri!zYGv73c7;vi4_H1Ve=-YV)jM180m$~KE=O~au#fW3e=<>vcXBA+J)}Yc zcXaZ2w1@RzOtF-}%(BEhK|C1E23Ijrc$C2OQ$r#mgS;H|4-!A%aH(Amt}r=}sh2c7 zF)xJErfx2Px8Ss(hW7Jg;AVMbYtndls?KFhB3gM3 zl6QfmZ6KI8i(~*Zkv_sg&Moo+Opo=ju*4sx7D1V4nI!XAW4k3RE161&2?+5-111^P zpnBYNDe)G;plIhL!x~i%#!Z0}ecp}m_z;t<`^ zZbe*SB*-j%Og`*_W(NV)Ph6H~N0r(f5mfK*f>8K;JLA z1(`t>1AV`!Gn3#QW!kk#m&w#P6hCIC*cYOpr{(o}Y<>6`E+#9F0#){4~)&*~pZr zMY@2}TBZqO6XYYTkT=mXO`1BU>v~wm{`Ydg#lpgeq3s$q5o3SjM?ZviQ?5o#CbD6o z?V9{%?T_?tW>hM@Iet8tT?F{F%o1-#fG_&4$#0hQ-Dx<+Rpbq=e2D1XCW9HYlAAb{ zVemzQ3?^wM$qpN!5*YLciv-aCPKKBCl;D||DZzu&SR|l{9CeH{TPm*w*YMKbr3yJl z(TR?v%DiiapPL>pI%a#506f@)2p_HJ=sg%B@|0*rM-;Fj5-kXc(MOK1K-3Y*i9T}L zA45zL$)O1xHN=CM;scjx0!L3F`mrNVX-A&YjyxrLr_mpSX5=aD2s+UCjC$@tJ&~tG z*D|^VZp0fN1RZvZ@&)G3ed0QDooHJ|Ob17~-=T3M=&&QpXh+atN6>+8U-ZWqH-Zj3 zf)2FmqUprA5p>uQbl8#Kvm@w0lPr1)$f9DvZpSAJG|8eXKt_fQO|s|~IEqgeXp%*@ zfQ(NTXp%*8Cb)qnS#(91Qhq8Y_l96M)6=xownTC6{8h z3yi5&h8<17NWq0>q6rvX5wk5ic*!r+#uz`2#JteL_%mVj4GgS?@fV%MWLhQPk|eTDva-K{KzZK%E6DJLl=2d@E?B6qC*$o8J++w%+y&bJ{%sJXweH{M6t>iO|;~} zf56gsf1$-nojDDksE5-;GcSrcm?@BH)!6MDJSGaC_Z)D%4me&19It5aMRRCTg}_$4 zK9Rtkw>+K?*bMKyM*x5xVMHrNh^zy8gwZX?0RjN@2%|8LxdfT057-{>L?MW9AY*_g zVe}qGo&G(1Q@2l?_$t^6p(XfqHHNqP?@kI;` z+vpa?j;~p0*haTNA>s@)Y@^i?#*R1x4cq7zxQewM8n)3ba25U?-PUN8CHxDztfp>YwI#aYN)8H{~B)6U1?aD8dY$^#O zHzDy~e!agCt{eT#XvGZP!DWhmX3`6ps>P3x9%igl8KK$j^6!FrFecPWU}m$=R6ZVz zSi#4x!U}L2uG*C66+a&HV#NE@V(pIZ zYy^)HV(l)vv&rMp5Pf=~`GWy(yW<-eG!8ig(Irl%RU42Fo~w@v?-4>ck%thS=1Al4 z(E)AZ=!&qi=%z^EkRCoIRSy(G}rJ(L9c>02!_n&ExE79!EcfNksEF zx&malQZ$dFTSCduJdUnFd{EAb&To`o1TtJHI=|5^iz(8E>eCeQkLL1xYp?bV3?qaq zMh7}dlVZO4a$A0(WGE9OVBDR{VA=%uL_I=+K%|Y)36H3UbYQt1|5YpyAptt!*+nNj znJ8__d?E^A1-j`GyxA2n;q?t3nuYW=I`YwbApaI&1+y&iFQoQeYkTq<|+evV`yktpVxy5i_URK;vm86U&&Sv)tZBPSF#TgXiKUs^uc( z#KB^kc!EKO{eUKO|6pag5$T}gA$`n%0;42BeDjlEC}}du1=u5sK)k=uoTP9uQyR}} z0y9K^34mEl+y^u;0Whct5*^~aI(gvQyvNgO7P|!C8H;2v?XP_UgF~^1xY%68qmqn) zod`O-(MX(!N9M&EGO?1vB@UKN6S;MBGKhD&i>Fq{P~LM#>@l%gLZine!J5T@EmbXH zSr7gMVIc?jE`>&!^djgWj|V0GFh_3nMxhd1Lo9R<%{J+ap9o~oY?H2t2|=?>x+17U zvrW3f=F^XU2;JbMvZocbPF^i|A2OebPF^i=yBm2gXl#_??SMFMuK#O&7dqh+UtFi z9Rw_BMo91&Hv$$kBcyM`;3$F(7rt|&lOX*KL7?D5+8^!r=wmaG;at&v zk8VM}@R8GH;TIX(ePRI8?V@=ek%=`sI^WS3a8QT!w&;9Ee~dJ@3u|Q;xBl|`~LFgxfZM^}VfbMw$!eqqA)GNBh*Fh^sqcjhDjhLk(n(a}kF7R>Qx zJj553gz$w|5 zx1dqTx1%o}-C{yR#t^x3^u?nq;0AK#Xlh5dzzx)7iKccM4!FU6l{~T9z$43lp~OV#}3<-$XYzLKUL#fipoXHo9fDmn?WpfNzXMD{C*>xyjUjz>+5b z#%}phg`p5~(a%l0VxH^|Y=TIDOXgkzJVv(SfLOC8ga%e~_a^h=113EIUI?A=U=`(o zYZ49Fh$&b_d9cX$AcgJ0D#`$vJyPFB;pWy54a=}k5u(h=dm;D1DlZgCR6@lF zx!%Y#rj1n(uV^X=6I~t4@5$k zt}rgi)EmqI&k(CnFG3kY1(z(o=rdccr(Rjt#Uh*F!6m-PmZ>-BI)6xsdd6webrDk0 z4<;58Jo7tx>Xmg}gk^*Zn_@1)=c!RWys~DC(2n4taXhq>sn=#(53j7pB0MB`aEXV9 zGQ2@+IU`kgFA^8De+gR4LrfXoptXE@l;9zcB21`i zErZ%|yP`s?NYW9i#cUb0jb~StP?_S8m*HywnXd*VGt_o^UBM6-lWYyuVzvxQ#!a6R ztzx!B#~z7R7I^DtOI5efgOm25nrDke@p@EM-9jHvLN(78W1JpURkzR!lu*sO#i}`V zsN75|@D=?;3DrDXa`7{r)T$bqq9-YB>or?KwrbJSs;XP)Yf7jVvt`gNo`F%}fT)Be zREya%=oWWNN~l7&M1NITUJbg%eVh`i&@IuURYo=F7I$_^sL(C(!OQR-IOccow2iWjrS`8s3_wp(X#yT^AuQO#- zg9GF4UIkU8nQ5oIX>Gti>FPMZV+SQvrdxi5%3?8@R)do9AVLY1>6V6Sis$&pW<9O! zZ|4U{Eq1=cu4!y(^jtOQ>un^&C*vE%8B^nk1NK zi;0CERav*NW)@A2Wm+})(4#8r7S_z7F|v$m&@CR5De)Dv#Xm#Hs0Q8Q!I=sw*4?5( zvy7^Vu#N*f(o;f(Zt(?|jB3y=9`Y%nLbuGtZM?cbPph(SVeKxOP0O?zbc=s6R-zTN z#nRU#S@f_eSV z>pb+dDl3^NpdeZqr)64YB@=aKO0=@~lS$-(rHm>onJ8LQK}8NBz??(i;Z>Ck?cNEVjZ-3;xlBDOvqTE4K+AYSWrWD6a+E0QVwF(Y`~3)&aau+-C>dX` zs-WWAtY|wgqZ%9-|1hb9irL~h1R2$!WPBB@gvvymIAH$1%L^rSv&BD|DxorA)KD#E zOS_~;RaG*yt|wHB*)ljVLoWdDDMTCc5TgCP%vXbw@fEuY2at!bai&SAazPF4x>MFI zsL(BoJOoRa>1kzutHJ?%Gq+jfAy{OmM^$xTXv0rLn{|tYczRT2-NJWwn?)Xi z#fy4WRR<=T|I z-~V}$x=zHDD@V}5o@lk0E$xyXRawbIc_^VWD<*Tm;J}pYM9>A_A-dqps0IhdrBH>h z$U}%u`ZB6P$&{-?Y{)~{EbP%~1qZn1@q9+hR7RA?2OQV7*-2@UlfZsqz8oNz#> zX5C`TCq1pox`jN1I3+=zErV_;S991<4NJ9V;Upbj3wS}DIFLbmA*jO=6$chLa9{!b0Cgz+ zr2`)|K$$wpvnGOf;?M)41*N}q_Mf2FysYC}rF`N7mUVQ{nSjTVOdME1Bw#s3$KT*@ zOoonc((;W2@E@OK>68;QC$&pH!DA^T4jZ8HU>PIM36N%t&A4yxfs~^3mwMz2c8T3X z^k&Q<4_%2C9&O4b7%YvlallyvgbE!(=#R4o=oaP>pZ;*x0Nnz0V)qbr-xkYAYWyjN z!o4C9jxZHx4bT-J<1-b`8lYQ1MtLaC8lb-3Kt^dNbq5pg;vp5i3uT$qn@PJRb4wel zPZNf4NSs%oy$5>FLm9e)&mq*0LlA`!g1TMc3dYUdzxEU)TI_43D?sMyfBGA^Oq?}9 zS1@j|ZHBG@*_<->$mK3NCS<Eljs2{M_-lrB@UMPswI8Bql{T}^* z&m#9PZoy~aj0E}{%pv@Z#Tf~FFR)KzhR-7F01_bSD4W6g26UJKq!j)}oNquwfxp4o z1aw7MM+f|kIGaFbt2U875e}c_fX~AD21E*^gRhr}I`}LHe3k<#4V)`Le}i$Oqygs& z(2y{0_$&u}mIFS^!F?9J3;qVj1<(~B!{3PG0_cz7ZyfM9Xwy%(AdT=h4)`0i*r&e% zviWl}-wo~)YvHp*n|>mb`z(3pBvTsb<}9XF$on?nJY=@Cckq2^vrn&pWrE*An|->4 zQNnMb%|1yKW(Ix>E%NCWKaS(;1m&?NaoGIIB7?tToWL-hsaL^aB*a zZaYzC=!D%yzj^v&j2(6x{pQJvV(hTF=r>Qdgv~|2dAb6w!sepiJl(PwyX0R3MKc@K zvBP$wZ#~(0NH=UZ`qtAeNH=UZdd|}=j2&CJM9+DeQ`m0wi>E8#D!1M8RBHF)r_vm@ zGZL&Uqv$!Wy%79^{daQvFTclE|LMe<1-;(M5wh8p;Wava8U}obQ?wi)cu0sjRmeMW z#J`7TpUoc4zUa`vSYgR7ter%!cbR&FxlaTtAnKVe%JAAB`9w7Qm=o(SC;XU2 zuXo;y#JBfA(z!1rp@I)XuXnn_bWyt{?6~OlE)UgUag{lVe(`izlh786e(@edeW?2M zi!Skg1TVBD(7Z*5cWm*6foSkf@PbRC!Mns9W?l90Y@`apize|DXfk=1Q63-uKpwFUM8kUu$1y^4ISKEUsK?AEtB5LM8yo;Y@JtRQ zcorY%saJ;=@evLYAb7JZv8cm0c*qjgv^a=>7IKg!9vjKy(eC;5Lc~|%Fat7B$ioIA zz6#{=mHa}Z(kn9%xm+AXKnqi|O)=KA^5v|`^dlb}h&WFiA|O+*NrX@ALac~`2#9*- zfn|83JLf^vhl2zhW0+k zDrSqv?-D9ov+4(~ii+O+4)o@yAHq+H-u&`=G*{!>dxUKh{rzQBqxV&(p8cgC5pDJ& z%;@+=E910GqDH=NU}jHbEUo2MUO}?Nc?U9O8VmH4F-|CfvABVl$Mb?RsxkUiM-}=h z&RvjEjVh&%Dy*0|yFo@Zs+2k^`%8@j<{38@((;Uv5?|Sj6RJg?lv#bBW(#>zaSnyV z0Ykqw(b!pqR^&*THaKv^=_1;Q-p>iStq<4j2n*6M+g#XfD&|4M%Ztf8fir0611dOeF0uEpZ+JdYkF~0cf7g(yH)vZT zsArs(!8A6-lStnXm}6F%Hq-YN%IRv!eH|EI2@_aItJa-EEmG@&qU1$K5}`e=}2%=gr|oK?Hk^@TVMaW?fpdi6myX*ebQtMkqMNXlOECAFx_GmN(8c4 zRECo@M-7fUIf7$Bs0=5$BQ-d#fdt2#j0`8~iW(eKJsCxNL!urNjXukR{RO&Qh4fDuYfxG#hbaz1@dJ2M3l=UdaM3(Jlt3oe-Q^Ga12&l0+PH zLU7E0NOR2=Mu~(oPci$_q(f0H{U(ykUVv4v_y%T{7Pc}=0E{u%N<_q2Ei$tVieVgP z0$^s(&Q^E6QDz}z2Bk;@WoC0Cm+i#YdXTmDhzdC2v_zXjEB1-4$FV^6Pv9!}GtK^q00_X!kp_f@Mdq5f3@ z{2TOc9p0}yMV>u-hqBgi{9YuvVRGhxlv% zs2tj>P0z6I;oW*_OlAY}5ANEgTidX%?fn~tb*3n|JDA}{!-;X4fXy1Yu{+J|1{I7{m1@I@q%`6 zqxNr3iFTDy!q)QIJ@$k{ex2^Fg^`ijJ9y*Wv`lhDmq* z=Car@ORX0hozYh#f+R!n{XFoH-_IJ23C!|{M?%h=dd>F%-}JKOa{|yJsCO&!_0qh-|(sp!dr!h`Ulna|EgQhF0DHI zw`t`Upnpc2QK9!H}C z{cDAGZ6Dsj&*l#F4+;zKRX4O}rEXoick4<<&(G~&y(>X>@1{ZewQJS6S7^C%y~2Bj zw(63q@ANj`4o$M)&+8N4z8SPBa9p;18TMa_eI7mQ&hai&v)29ot2;lvtNUuxsexGbpYmNgIOlv}jy%$Q|! zuWntl=7)7BmY&Ix;m7(lGiA!ZF;kOIv-Zp!v2f_n|D}wGXj>=dVCPkv?W^~XXm_^P zs_hT*tUNf?v-!^9n3(%_@BiK^iR%CTleS89!P>V!e{eo&l5>wjW8d9a6TPCv)~eOk zHvM|V+gStl%!thO;J1&GoV)pCYwWO*eYzbU6iX}NvX?TiZTR}tmcG$JN$NH^)+cuT&-EI-nX;oyk&lLsI+o|+`5IMgr->dL zdniSchA+R^a=w3++EufBzB_I~vZ2$ume19&YVDJ4t`2INv_i!hgZtXfO-S|V^pH+H zO0;aTeP=+Y*s1F-H16ADR`|wZ+w1>mAl&=7j;>ujFd_ z@8jMXQ@x`y>cBpqCpi~gcKp#kCyIrQJyLyp%eU(F6Wr!{j- zNYUuk`DQJT|9Rxnh1|`yb-K5G*WKL7E5yC3*Su+|qPzC{2T$+#V#LEXDHiTMFu%dh zplOfm)_yVYr{u}!O$;1XJbFmIaSz-{)})KxaBf}ikWsErs{DEz-wHBVActlTw6 z`mA^Fzv=A!cFK`})7^gGJ+|!f-Pw-Sxv=#0*>fA_Hh+*a$@Guj^x5?4o7lZ$f2;CW zrP~9)e>eF__jXV7UcBC7cto;)P84WVb>hW5In$&I`!WCg^T%@ibT;pxQ`b7q?Hg97 zTGE?EF7_U_rt5e6p45t|Ibd(EWBVtZ?Yeeb*rvVL`UeGd98~S{u(+R|r)%2a{@wF~ z`=m{Bctpxsr7OJ(y4n4}-fFvh?(KZK>4S5pTin?;Ga{nI+Q2u@7}y#wQBb=RvZ)<{qjkj8K?JOAOGdZ z^$(h-7<%S*i`&(%J$iKITJez~1CIwp_kMo0P2NJq%C2Ad+Fl^)jqBW(TQ98bHzW7f zgXJgRUmrQ-_4SB5F@M!f5^}oD_<7^rMHlRRA%E1{f9%1Ymb2TJ>o_CNk$3xte0J!; zar@>*v%ZfUoT<$C7MC|akGZ=h?b=gQTAtfpr|apiF`38x`mANoev#$R?9EngYu9Qm zX5~H`b0f{RcIomQ`DFH{fib5mEgU{^{qu1l?()?;I&yvKUbXGD|L*zMe+jA;Id)mZ z%qQnLBxbJF?EGXG4-Ec~Qty>DA^n z4|_a_7%}kKrOfsJ>eFC&)y{t%iRkv(>mS=!8-KTS>`4D1Wv0aDPIB)1{84FQOYhlQ z>0H*&ZWWtYee;FEjrQj_wfFuV*RsBkv-dl3(zUK~s&d(xc zJq)RPar@f})u;CU?&i5ZHFIysTPRCx_9W*f<&Ub`GuO2YEzW&1PIVs#XS`lx-sI`Y%WlsbIk9}qxCdF1OfNejB6s+N_FLC;oU3+1_{N_@5(+7AumiWB08Wf~ubAU#<4%cY8cr{qo)yK}(_rL{>}_yY}t3 z6^9&-=>P6rulnPkc)}_jPZqnvesTq+lR`_#_D)6&;(nEu$X%dd0Z`YFSy z0fEN`|L<1wm&tnFtuUw4qsz{9f1h)<>^)(A*?d(`HC(ZI^~zYf41EH zBzL2iC#GIJIV`AJ!-~~122EUhC0*QT{{bsprFM2*wS0WuTur*P*qiov$}2;@d|GMg z4BPmp?f?C=MX$duZ=BbEVyf7go=sN{KIppBFKUTjRLVJVO(*Ofv^ci^U(I5Mtn<{F zcl!4Vj^U0wry_Pgj(mP&f9fa0I!w=DD|vtFpDCYweE0L#4R@X2eC)#8lZ78N&6l4+ zWR_uAmu+hh63O4VZF0Rn*st-ZYsY_|7gfE@f)OwF|CsJlooe$cvjP6q zdGECr1J=iM{A-8wQe!}f8X?ak@iWRk;~KO%)Vj2|E_XzS93l7 zEhKV(&9DPAToWRyjAmRN(KS!0+%K9Z-|}_b+}IYjBO7OCtN$*r`ph0{2Cv^zAo}p+ zyoX+`d$#9P)$_@J?>2LAlm5#u6#Hvn_S>`C)|s^NT(fN@cRx%OmMZV~w0RqTl(%;J zA>rj7r`}TIRj!yOX-?%?o+nvAr6#iq?eDWN?f73Jv!wbmYF_SA_czYlTDEj_$tnX2 zy!Maz^$k?G?W_6Z#KZ;l~Z@6W6ils#9_l2k#{{6@ITcZz=TU7gq_hZ~GLxBbBD z7)MNhThyuH$&Nm4cf3u|h^J#tcO3rW_{rn7wom!3gv0+rkMkqv{&9QRo$+_ej&I#< z%A}^RqGNu`Q6ReK&Vi3##&-I5_x(fmblD5PD-d-wFPolx*HfNu^KMk9`8l?xn^f-K zS5?AxMP#2bYiZ-w?T^0te#@O@V5z(2Vp)o~};!bBSuM$h6=19eMG3N8x$xZ=O6^?2D+Q`50wwCdD0H zQ6%NdodaU}UCNa?y8DrnLDkY+8_~Y_(tp>@Kec;zn}fSoAME&cPy4LRC#LFA@?qnF z8xNmKy)0tz+c6w8>1!?HPIMUHXtQ(V_)DAjEhuq+W0TKrCBN@E z`1#X4ox9imiRFv`ayQ+-2WmE)TO{gux+dj*vJY(6a%QU%CeLI_0fwoG)!p96i-%RNXX#uaxh%>~t+#lymay z9s}N0?{{lWhqPf$Vm7u+JtDmO;FuFP()_ewTCR(w|15bdCNB8du0KDY`FrH^uw!d~ zh*+1DNvq$C!QD44i`%=P;!Jz4jK6)}%i3hi1nrwYdHG_YUP+uKDcNqwAB)+{>7Ee0By@`1qYB(FJ!Nd_HsG&A-2YPV$-Q z*pn5nYkc+X(~eIX-=4i7;=A*CcP0P+`>4%tf~IfUxNvu~n#EQ{jvVxQbVQYjOb>q^ z*K*Cnnsd4q8arUEt=0Dr-Fd?9w;X=vOzHH;nhrlxzVO5IU%d%*FQ46W)Y|VqyS4Di z{OHKY$am8ts*GiiPnjMa{9@&z$aAC5E<4o7Z+hNbabGn)+oIR`Lk|uVDSBW+%6eP3 z-90&{XXl7JUoI;Bd%9K6&%Alu@ULad?2jLhNORYQ#myr5(xOem(f0%GPd< zGRKcSIDR(OFniRsGSNrhohj9-Mf9`f-%nj$WLCOyWiGbpvoSf7j?rI)Esni4b$a&L z!;jrdM>n{1<*$+JCw$iY@$O|K%MN_#^h|jb(y(E}>Q^2P{k&7UkQooAJq{Q!_Q&!a z7nZ&-DFbs3$K!5H?(lrv)$fnino=($Bs}a)qgku`i$8w&OS6gNpDaw;Vie7)U?Z1QO)_d_T_Hp0n%9Vd)<0;Vc z`Slg|#;&Y+qEY!tv#vjzoa1k%|D*rzbM~thx#oU#FlU}yRqxKp&QLb=>|df^`?v|0 z2fP>`_g%=(CHCc?_lkRj;=OK;>Jc4gd$}sZrS0FPYp4-lzd}<@`7`~KMH7aP)&y&o zIcb;w%eP9eD{^yR;NH!7K0TB3LGz>myfYxIopD(#Q zzwGSd+AvaeV4{)i9MhYj>popv^wT2VZ-woh^5cZNYx~9~Pr8C37OzruUFl12D*QRK z?}JpM7Jq+p-`Bh8?S;q3E+6{qnAkZV?aH*bTEiUy|9^)6f1RKI{{fFpxR>X7_Q0B! z$p_sh=|m(SJWj>j12y8YOg%UgpLp1jG!3NzcFvBi(9fRr$YJ^2_{5^=n+~tKe4qF9o_`Op_@?td|NcI+jm-P|ZzK2u;_ZLmKdb-6 z^X>X8-hQk9rG`M+bbZELza^G`GV}P#=>)jUKC>!uIney&?EfW~z47$J*WZ7&u=?Bg zcj-%pj^C6`)D?v!LZJf!R5jY>39!^?YMYjLoo?Q*Lgtg%w?`gWFf{0g>?!jVy*#;Q z<2t=kHVSEWti_yPekr%M{`q3FzIZk8$ibf70@kisv%9!6vOvKGC;o1pGV|J!Me=3& zsbJy2%4Vs4hTFV63{ z{duNLnI^eI@BeUi-rEd22d-%IY)$p`nQnjf+r!7@#(aJG!qb!!Pd;1IYW>HzcYiUc z*W;qgMm}y(^^4ts57&G@v&zj*=X;;6I6LjZZRd|y>7TyUo7k9ZDX&&5`u6^nb~6J{ zR_dGY(64!t-dZu>+&Ag`ZvK(%?_aa0e7?6#mq)cn9QkK!yBDqMtywu|;j(R0JG`9G z_=j)WmWv77+%0>u5iP@q=bg5^N&nv#cG>QE*!V{Fip9Qr_H4~FSMqyxN;h9Ps>G0e z2adZQF8nKQb;tC(W_S3y_N-rC3~5q!MAo~#2Iah!BlrCWlUvVt*nM)#1wHz%thxI@ zhK-xfeRec_#LG+N-3t!9`fFsmJO>VzIXrNnr{ovsMl5%Z%ka;^M)TUInb_}J*SsG2 z>`ziW`Q!QWU-$G+J8Dz$)>CYe>1G{zJ@aK;i{GZ?T~IvJ(SL{L$U65{#tb)>baA(j z+%&3F>V<(>mVcGuNUpIVUw(1$O~qw>Z;XF*`_#%EHSgrCk@xl;&*;G3ttyYY)Tv{I zH2L$7*;2o0+}eKqLqp!=>wcn9nJ0@MUwRXlJFZflKUz->`u*PIEj4m2UOKONt9|Xa z4*0Zn_o6>(?HcQvGb|USF)PzrXSDTJsN2 zxlv?VVf(3EFA7zhQE^p{WzC8_$$VjJRMwjH?&Pfg$HRLAqEgRuh5R%4YQ=@oZJ&3} zHgZwwX)DKm)vfKcIa9W8j?DY2XS%;iZ4F(0eNEmmB`z+#zV~XgDkJA!KJrgogH@|H zu5T9b?Vm~im>p;va(Vu?iai%c#I;%e24wVE-h5;K+diqp#_I` zyU}t-$bjHXO~%ivx1>n+(F>Y2FWIE*q%_-qy^^d#rI(-9On3cw+j}#P6}lDP`qrTh z$(LuTwb(|eck*PNt(`^-MZqQqZzy9 zu6Fd1=ks|HS?u%5p!EQ-{#LY zxZ)R2^A}7utarf)bFMDDz4+hWw`LbEJL|Kt+3IfXJvPPYC6D?huQ+D^Fz@pU5>`}P2RlI*b(^_zuA*B>$jhcnA3AcyJYnFC<`Yhh9leRd5DxEityxpM_53dvG*WwQv61u_ zhJraS{*h%#kyZ0Y7uuF?#M&mIbFLQ3@Xyd6cixHGS*GmBq!%1_S{C`?)ta{*Hmv-p zbjf4mmbc7U=R)6P^VX$m9C2ybuurqTX*DA4?NWsg?&)}7WKhHWjr#3AzG3v35p%om ze|b9F*PE+mUs*eE-eh}{J-oF1X6fv;My`$?wxsL$$~`x?o|!*Q@V3*a=E*PJgZADz zGcSFS7R?7o{&4Z;{vpLOeDiCOv){g(KXUs2I*qJdFm_UXM~bKOizgX4;^R!WQlz{* z?p!O|;w8Dp?s~CwckHr|8?{nYn-m*zw%Xd8$73QE_t`e6$(VUBznt5mW$~&36KCeh z^v~0e>yOD2w7yA_mvas-JoRUM4OM%HAH`sFFwYWC7hVUtF$_RExZYgFsP ztNLzDdMH&`|A+$5!@npHp20O}(v|NzOldhdUDVZfV~QOrUo_d%Q&$VGO0lPVO)Yz( z%iz&pFKX>voP2ij@TLbUW?tW5mt*Oi>P6ye6deAyy-1!BbE9ug&6hMR`@6aoUR?M& z|El);2ba9Qd(X61zZQ>*K9#A+lIkrlZnZB?n)6(N`5m$?YCUuA*aA}>z2gcNELhgl z=~T##HXHKY&wRW=h0}gzcUP&DZTzFv?P|9zm;2L?4?Nh@?5k-3cRsq&ZOD)57yU1N z@Gspj>?sqx@x`Zmi>Dnmx95xHn+o24wK!AVjB`5YE3r9mjcc9?nVRoi`mE{rbaRT# z%QvLvm||}a*;d}FHfHalcJ)I(UJx~^gCk?z>$5wo?AWepNRP-lOYUX3IIv-^^v^o1 zFXlI9`n$kW&-y2CH^0`U?Aa!a?HaabHVc~;x!OH*A^TS+$IpEId6jSOr*ylT_kNUN`i}XjuP>gI zKDgnpXMPx#cW9u!W5l3Yb?Rrz5Inlzl8%o{zO<)mUp@4b>$^MT40bdu)ofa-A6r!Y zr)7bv4cx<9e0=S0>nsH_?Y^<-KP$R-M}6Eq|@M zJjJSue$@&u={4b}mtFd#N`Cmzze7jPuW|lVVgJByKKeF~|F*_~C5Qb`d3fam)yn1j zw(!JaF^wxtT32LU*&`d*FKLk`WxJ9;{&ZyY=`7b>L!YJG_55`;<_3CWnLNus->2VKT-f*Eg4*w%{#@+W z(;afhepc_v?i6PhyzbO!`l1?7R&{L^wJK&*ojJYpxnfFm7?a|MbGI*VTi$$g;L-V? zPPnzbMunrj_I%bn`EU6qU+?x{wmZ0U_95-&J33@L)Thbm@{Ml1jsDAdyT0G{qZ6l} z34B`X`TpZcOFy~Ppw7g(H^cXB8k-{9#mlQaDT8O*QU(XLJ=uD5qYfFKKbuhX=GrR1 zmY9{Nkbh*a;W7KJX7ukB^wpXPJ<^Bd$h^4fr0bRb+45#X=qFpQTprVVe~witPTVN6 zDmuO2zOf^(+qyiMy?*!FiMt#9n||ry3+IZ|eOl#{l?Chl7Ml6u+v0^9m8#$O+{YJ& z&aP80XSEDl(?(AId#?T03`3iBZQQ-sh=m>MC7U>B%fPAKe=Yg-+`{({rCvEH+4O~t zYF}-!qx6Q#-@h3%rQFxw42moAAXB=UL(|W#IjMKXkS`l#D7X8oDYKHbPE%(5)gu4P zGo<&#EQRW4a+mvUdw59fCvzU}YCQUFb{ePgm#9LgmtJJ$S9={axu^@A&sCd*8h$UH+@<)JxXq zVV-rvemUE1bn=@10po9vJ34kw%}MWE57V5B{Pydf!{_hl-#UMfk26N(joSA=_wA~i zZpW>wKX6>0MNwl$UYb+7MCo;|YgK~EZrEG!mqR~?^&M8^-igB7j;C}N&$?zxow;YH zY;8U4b(**>mmiK=;1_(R@rrAAO5RMnb!E!)WfldLth6gr<6>QM=Q$d(VA0%B0R;ya zD1Yzwy=8lRxBTG9e(NuVw1{dvqI;zQ`Oh|Lxi@9y88=ha4?iEaY|F4bBW^FOdt&#R zRvpG4t=KGN;`Dr(9hvg}_9FLph5B^=*}rb*)H!Bl?p!omRGkbh=avgT74t{lS)Int z3qLq+*e9tErpxy#^pjg1HdU!ttwG8yRbLDZpPMrJH`kRer4H9lwfSM21siXcxHkOJ z=0TrTKAJ2d-`H4B&ftS}LvP&cIDX_GsaNf8S0+uZnI&syn7;1sqR+0hP22O6?LEs@ zE*ZTb=E9dJPrvzWz>V{x2j>euoMv_K&nx%#YBi=<@^M+Bu6Mp&q-pmIrwhF)^>wqt z%kS39S*dH(sN8$@m)Ujr&hzlAEtc(l(RoznfnT-?J<>S;gyT;;ZrgaHaL;P#`mM_l zy#8L`>`@g@jhR2X*t@cy7azIqO5MNwX8dz6Q{(=37pza6ZcD_LBYB1w?>91TT$%3* zU$~k*cuJKj_4=osVEg#HYu9h@tn_ne#3x_Ws_=J;hc$lgTX@#cl3CYQPZqoLpO04A zuip9BKCaL3m;N!o|J(D@p#CeiR;>4Czhl^U1*calmE)_FS8^AAx#pB}%Xp7pDqTdc0)O2x! z)ms+yIMUr; zeQtKBJgI4)9doO#`|aMj^*?sb^RYAd*@(SWi|l&Ydrb1onbwv%GWfT})AJSV+2zQC z;>*5X`g!W#4n_8A++xtmO(fXg&fJu;`=GVgYCjoJH|w6Gzqed{+CKN+Og%O~d$XYX zh6_`6^;M_w=AF0Ced5fFi>pRY z^P9IQcg((bKWrTp^kas--~N?l-uhYd7Cp`!kZpa;;_1_;k880f)1={Pdt9#4D5OT4 zmB~&Q&OY_v_jmsOa`I0NJo}5?NFDoAiFPZhw<aE+(%`ZNqN2c$`_AAh=a`RG$$3GigI8%m<8IM=Xmi*c63-fx#)GJseQ{&Dl zTIESzrc+jTK<%S-uQgdQyI|iH-?ppP@Yj-CPJcGlZ$!SaM~>b8r_%A@O3f}DYCQYq zv=)`3N6c=$rbG1Ro&5&KO)1{=>xpC2MnwF%d`giE<9a0cHKOnR@aE;KwvnmMMDO_X%<0~-0}Jk~ z;p*&uRw(bc=^y=_watrNGd}vd|CK-2oak4xS*H z{i65fMRWZp>@2mUli$Fr4Mz3(tL=zNA?KoRXZYXIS8aY6a&DKca>He}+BR!8epsKq zXFV_Kep0*Mn*4pjwk$0EtiYC$#rJf5b+d4D$Nm$g{+{+})5>=*%)52{T+G71C-n=j z-Fa-sF1PFdnEu7hU89@+ANIZis;X`Kn+7EW0ck`@>F$(9>6Gpc=?-b>kWNXF?rs5T zknRp?r29L{Rq_AuUG%;C;u{Z!c=lkk&-twxYu1{xUGt78@5&Pm{z~fCxxHJkFpr^N zb~Des5{lpOl6{UyoN8@3M^uR9UK5}Ea-{Z$_#_qOuZPV5wU_*W+DjflC7+z0n(^OO zoL_dRf;F=&RAiYae~}b9^}l{l}v6OHu(2)6z42sj8Hq;Fn|oe1b3M zD*&&rMRBz|-k-nKm151`c&jS~fq(v1R|5E--wIH1&ve;ime`;z9Nntf}gU=u2lGK0Hl2TDp{&Kb9m7xC}NTizt{cn5^D=HJ$b=d(x>&4F@ z*Pm5n{&a=tZ@NN&v2Nd2=u!gySRwjfkD%7S_zbu)@ksLi42U%FjnRL;aSEs`d| zg$4g6iv05xpuQoG0LC4DUx6=z|Fzzjp6=IK?Ldh}nq#Qlrte|hNVKaKuh z4nX|+3fz?bfYC_b>Hnpq{ww_%7=E4p-}8dMts=HeCZezBg{z$`e?by{M;BZ+{rI{P z|2ewg$`*g~6<}bxp)R1J{mu)2jGg>L8t8uc=)rnD)n^UZkhmvm1mT?cS;zg|uQFIq zw(H6M<#gd+CjbCrg<5O8uAY|+`kd>Z|&JP*Wv&J_p9OdCG7Ey z%KwlDt}+Aki_y4T;Ihc;h5XB?g}+e9udcukrrUqc3S7wr+??%iZns@kb3fQ^|1Mwc zOUKPWNdBiefU8Yhe_?efZ|K8Q(|$MY|LBVLbqD;1A~d%|f5o*qhse&lUOc``F!*Kh z0EC@x))|BPbMEaA&+d-~TVHLSzc8P10byKoJ=`x19Df-ufWvPH_X@TDXqWY$MeQrO zwVN|LE&UDQQvu4`zft=#Blrh=TE<@w+k8t+{N3%K&Om$rdRl*JzWU3wzAr->2&$m(UqF!dob#9+Riu2^>^I! zKMgNm#-4zHo@?4oT}xf6s~wkbPTdDc<$(HIav|AzPnqmAZwcBN}b%nyM>@)Kmg6=b+MF|TBVE(e%?<=($eRJYKzc7Fo) zx8kONkoV2DTPm6>bo?Qb23Un(R>8oZ>F5%4p1T2c`>Rm?-~V+rTCYcXb$Z8NA){Af zhJQ4a|GKmOj#By-F1t36GTjLDg!Lydf6Je|F+mx>8_NtoM964(N_cKF`}^q-CKJM*%`=>4QzE!(DNN;TV1G)u%-BT{72z*5f@T7lP7k%GFZ|>-^L&UjU&(dF7g8w@7n-ZCt>WbL@ z5cv8X=r>Wr-#Pp8RU&ZelWU<l|29=j-u)8MW~1cyFr5r~viK-zfZ}P4ydY?ROu38tP{uT?bIbpCsh2 z4lnx!;k~KeqN4up!C#Iu`Kq#i$AiBCGf#H|Dd_%$s(-OtK>59B^m69PH>m$4kLNoB zZ|MqoUk~!?bi==Zo>!tze@u$`Y9s#+#&0(AH7TdMm%zN@Kf(B08P%Jck5`=a%V{)U z3Hfhx)~UXX-1v2kbYn3ExDQ`7(&gNpe+2Rk#Pl00lfydZUQ1;_HU4jHIyYCsS2WWP z7S+F8Gf`3gR?PUuF5eGI_y-H>Uk;V>>NvZ$>I|2HK{{yzuFX<<$FXM23U083- zxmV&(mqVn#3hTck{`6()*RO-UalYe9{ONK6);|LFX11X+jF!Z;I*Ibja{oHm8>?ZO z?`rsRP}e^N?B6ZYoQBXI_zBqGQ@}R`d&QKvoG|ze>%UG^DZgxXzfREK5!K64Y2QHp zW!bvF6Ds~|33@eDd^ry88`yt&AnLbbs5j0_UQM}Qj;#BN6cBm*=Wa9K3?)E=`JbiS zsjg0i{L^ZTFHzq=Se{=JaM%xU5b|=|9^gbKHK1k}= zz(GpDZC_mXD@R(XD6f>oTz_tr>gt3@zR%Ncm@bFw0cKZSa}@XL!@mq=`i=vzIWSy~ zU;TVu_PR5&R9ELc{^EOGG0?6&{4;cb?gG5;mq_{#pYFmfV$@<_0!*X@e6cHCf6f*V zy0}^52yo*ct|9d`VJoV?JEBFQSbu;R1qVnX6YPa5a@-M6H6q=EzdeUePjz+5&Ub6_ zC+O%kHMHme{VBES{#(#p;e|g#r%k7&rA4QquBOJI{$E17Yj>mTX{QbN($E0>`|sh* zYs*EhN2kg7`I|xe^Y?!T?Y_(c{Qp*~e3_1SQ*{4*TII_2@&BP#xwahQdb#^A)GAl( zkUyi{f1g(QVfHKyz<2~0R+lA?Vl;r53gGIp22hL|V37i@F3aQqS9G7RE@OCrJHHrY zmlmuT4ZunS{O;0#1>E`NnU^Uhz@1#k(Neqx?c zUom?B)I7U7tneq#yE={b&!2Z?+xgk^uJF*GKktee`?Kd=u~Pp0c~{o&I|F~WLa#SE z0lk}VXm!%leoYnwXnDyyU#(Djz(ao3HyajiBlJLSnz?wtAy}l~aY*(q7nP1^8x-S~ z5hwo#@8}>LFfN8*wR=I1V6K`Wf{SQirjT&sJ~SUogWZrE-#{POGLn>m?DabLFLZK zlFrne4+Tf<&ROXNcERTPMQ-6HaNQZ!Y9)YzG~& zO10;8BZTF%uiF58oW#hjw%HfVIc#6}G!R*ByH7Xm zgfPqLU5YUK)cZA;H|T>&K5v=_o)8b<+-)!(bh)FVyEDSi8o4tfs_Vl4@5X=A@-Qvd zdl{c@#2qZIjTW!!B+UB+UhEEuo}V@aRd21zcGa{XKd$nJ*LmDQm0NqX@$tT$_2xEV z0{aQxsp8jPJnm5Y<(Ik2*bL+mge_|kpI`p*B=h0yLT7~WYSHeRW;XZ8 z#?K71NC{w^f7;8u2#Sb1Eo*}#LuD=I6ji6CwHF#)#_XS#M+j$@?gF?HRTb$oMS%Gb z{&(>oxCX|PhfVi4Pu04xYmTNz2!R>|eI9HB?c-lU0%YT*WDG z^VJif!T|w64PKj$q`KNn^DhSV!}%-fzZBH9;fg==hklDvm;Uj;gi?RzVP467Q1H~?U&KD5LufqEhg zE-tEIE`p$U=MP>6)p3pFQ7zu@lwDe7&o!2|o~k+Mw5i$^Z*}S`t*i*&iOUv|#*mZ{ z#1E6Y{ztl4Q)Es?&eI*VzH)<#Qehnpc~D6<`wy@r87UzG(0zv?QO;AWXFJPB*2ySN zvPV@4lfKyJ50BSY7x(YSEOZqS6WD!NC(B3?#TpRaEkLV9n>Z8R?cvsyvE{Ja&R(9( z)E+FbD@zFxvRkvzPLl07_NlVBF*mvi*FqZ?k(Yna z%F0S6TjstrsM#9{rqOWkq&Ih!tkWM#&GRm0%M|u*<;>k~dnONSBfeDSXt)!QYM1Tl ziN!Li6Gkm!OY7Kf=oFJCF;jY8#|nDiN>ks+eDTaqt;;^`Sc3N0V5k2AoQg>Ov~p2q zPaMdqRDNo7gM1JpqVdiLP1**@zHPZ&i_!Jg=d{>xjUQH1P(f82WRjod4jBx{OG8~W z@^XU0FI!gHG}+~sjc?RtKI_y?NTAT6iJ*Cr=-as{^9jkgZYm;Xoy)W+vMYz29J0E` z9wEDd7iqVvvUb35mREG0TpqZNEn1jhrxoc!D@rsSGl;Lc=6TLeiE=u|J_4*9MZ}Sb zX@m=GF-?5!tZ$_ky$!CI5Lq!fLW{f^pIyG#os;3znI%!YGZmF?0yjKi2dkZTs)(9h zhIlZSF=3b72K5F{!>b9r_-+(DILv1F*7mx7+-S+lv#?Ge1^O7_T%#pn7SB4;bBNW& z11N?adQoUM*x{6}qw)i&jjHiclA6CW3+upzAbF4dvaUYrJr=F>qQ}t6mRVn zmSA!%g>-o+$m}qohtj2wEv%>(2LY`%NpuDtX{s|BRdz1XBnHMlZx5fSSKl009*57H zqFjYnF^Ob>?%Uny;3vs2c{@cTtLD*@$3Xk?1$g^b45-HPhr}V=wnLStw;6pfT}SFU zil-C8LHQr)dMtx6OE3Wsz24p?-NlMejlE+K6tQn2NK?o9u%c2IBeTgZDX}H1N67Ms zuE>%LLyu4@##*U&^j=W_1SN9Ly4M8pJ&PVXI|OI@0uNjm3?R^k67dCu>^Ju}nM8RPQ+@L_x@mTza1-Dn`Nkoz(I*8=FZK05(e7qm(;yd;}ZD@LSm1P(!Uys>oIMcrcqzF_{jg zFQOQEEf^sll4H8|6$~V_4MEm}UY?=bNLaZqv%BCx)+oE6y4{*$v;^*Eyfzrfhr#N7 zi~8We?4d-j&$e3UL>-Qf2O*M0C)$fLeBB4`@g+We3>c#03}#7pl8}>LQZ)47SHEeg z7TEDqYKB_>Uf8C@=4Fr^iyJC)csP zb}o&lAX=Ik<#Y!zh~+tjeW&-@0=Dm>H~X^1MWyKju$$7da;H)py=Y9Wsr1| z&h?y49NQ|N;w@nohA7EtF#;RWAOmf=fzcip&DQ28MXiN(nnn2x3PZ>_q@F8H|%)IK;lPvucc5XTMwUHK0|@3odBU^u>VFoSTL5R7WBoR=|k40EY%1v1dgm|8BkE=&d6G`K%utuVjFsku;f`PggR zvv~;AaQR#31ShsLST?}A9CckPkdCV?-1X1m=+Gs#8rk0QdJfekyuqyXj7?^ig+3M` zb8AC03b#gglC=ki9q+`uhe@Uu>*o{t>Kke%bS zguIz31G2RP)x-C~kdlz+K;uCAw;r7u6?2a1zd$@4EIa8WfK??g4(jtp7#>`!sFemSsba0e^OdHwx$8v_r4VJ4<3HPnTslAc`C!9E5CCsysIQTf;V_ zn=_A_w|xe9haCb4;{ z72vs6_AvQ?77-VXq5;R92(-Oiyt4mcrhrDj17Z<7rK9XZee!tf3|zoEL+A1R&O#3V zjigiaU9>ydfSvTHFR&xdB*uu?hCgjzrFUsOU74;hwuJ3&5pl1*5z8ui{#3l)+s^UZo3N@$epcv>_B=Wddn_ZDU&6Bho4mA;Gw8P}@xtg0Duv-CSkxFd;s za_!3a0PYj)Wfs94?g!bvYbBZ9jq$Vy-q-^L(uEd?uSxDoq)+eY-5nP!`P42 zvNi|)3W)`^@a}IR(pG>u9Fl1wEyH}^9p!1=mzBryJX5`7l>ByXV?U5rOQP%pdTM~o zpZZXHr_JAA)m=&1a)_jLKT_o!alp6iT@com7*!ceWm4E&j; z&Buu5Lndxi7X_OG*wT|PvHRWXHdUh1$L$kc3!~H1`o)`kErDJJ`4G9&oWgAp8w%v* zA7>*A+D`*Dv?sq_)d%YU@56df?OP^~As7mjnQ|<2Cl3z= zs|ye}#|%>TlO~K+n9H9gLhB%heFPH=<}_t=jK*BfUZYHSP(#Q?G77)gM~xa2C_@0T z>RRk8Q_YV?ApN$C=LyU~X>>lAo0i!F(uipBv=m)f*#z6OMcuOzr@ZBdltLUD6&tV| zw59xM@hayHiWPwl^@m-Lr~1c>hg5hI+V!z3`mz|r#(|XP53_S}U)UQ`3l@IFe+i6L zw7jee5*VR?QI~}m<;6pSMsaKSSj_U}UY54GvE_D~P#ViqC@I&+c*=<}!%{v7tVv-+ z@<-l;9drTnWMb;HIHGSu3g7B3z~k$wBExR!@5}1r-fHE_-PGdOJu!OD*sA~D6$pDK zE<=vsk^G!@y^|XMr`}Ofbz_kHG+!B7r&6D6$+w@fw1a3(#*y7@d?vt#7M?fF@sXe| z$cnh%>-zXiwfHd&wjY=6F5!u33I&926U#W(#&eU(#j@SSej-UYvNTC?V88^a6%~|h zD}>MtQeUkVWg7e>y4v}~uwe^Ci~Ml%!Ha8g)PLQKBe$I|@_{At7~_N8 zSUu^Yw!4kWo`tgOdb;aTZ!_o4$?V9hmP`|ocN>>WCbzhD)mNg$;jnyVA_LUV$Xj0o z#ZI#+n)co%NJn-b`&7FBP7fmTRTDL-sUMYwJTgVjE`e+#h;^Zgi+8*WxTkgL#J+a; zX|i(66M&pD;~e55XG`VEnu0wt&+x5jrL|s=@4d}mgD!^fWOxkvX^|`Up_LyQY?wj; zb<8LPYYvtE(;T`bbl5ljJA+K}yq@9;qrS*x^W*{^ye%`dMO{xP_5`Q=PT@ms4Rz1j z&p7+ABrQ~sKN1xU8dz?T4aX#j?(|Gg>5(Ho#Yr16mjDXKtZRNkk7koX*?lZ6zPQoz zK)(7tp5Ti)vO&hN*;C%wl@U65fSc85%<1i$^9fYlu2(siL8+@(m=ny^SEdT3+m6d5 za|i@Cl&mH0Xd^zUSiE~&M+&bkh1NPrUzZ79_DOi-a~kyf8)?07l!9H~N?6OHy?k=V z@c0=6Q8ia>ZbK+s!?vzbnJt0|Pq*g*D?yP{%edKQISNmb84-1_ILqSrf>{R&-&oGX z?r|rdIkBN_mD}x>lu5&e$Bdey*QQunbl$ zD-~g8MbH*#58W#0q=khAq|(&&HR*hr1@EP%$3dReSaDcBq@7-Cr6Lw$o%Px^@|@9+ z%ZI(6%bmVOYC*N}v=fWhLp3FJ-e$>~*jI7gr5ST?4RKE)xAZi2y7Y0j92RZVJuU;0 zc|=SQEChMevv{SA*0<>UG>2&P*_9}q&^dFm6F6uR)iTf?#2rn_=>`X+yO7ftHU?D_ zg+1o7$E@mR9;@!NPLz0MuA-(4IWbf5@>K+;?W`B!j;^N1V1BUun4>QWa#Ko$=*3kh0Fx-bJD)9YEs zs&v@d_P-U8@(R~Cp45?6VJ|-|0lRjRnQG6}_^9jk-r$Rj>dMl|<7w^{BSCz}*pJ=V z&g7D)T*UG1p93_HkXsSq7+R1i7&;Ki0Rfm-K5O;m7xVkmuXY)i=Ytmcqm0d*rdzzv zot&Llt?w_K4>r}GWt%K)n2>!84xOmP(j0UI(PhPSdYBr-58fRRiLb+dDrteTp!32O zW_&xHA%KZx_KtaXz?=6oyh;jdlk-;aIXdi(i9>}LW&5d_6AKnjldBe$aUwPaT$v+l zZKnDaUEVPZN?2@icLJv$it>FZ6pQxf8?tTlmWsGnvf72tQ|SR&S#8YlRClSA%q9{8 z1qpo*;^h6LQmw3r)3oHCe02=wc^Z}`$~f{HE5P_vdYZc*36rUYID6%*f;*>0my!7E zI@xFUhq-c{?PHbZTn=^ zT1{o?HhHy#W*d5)_TVqC)FxU^=JdW;Sj)h~Q*9pDn-A^bGu8F~H z(P0_;n3&OExNWJN)%pmd%AaFotzcR#E}4im;v-@2gquv$ttD!;vWr31b#}8YMFQNl zmUZmqLtV80K}q5j)xxqanwCZo4#KuyPS5nD~I_QCQN+9sa))tdHpB7~fw z8?b?Rvs4;Ta~;OSboyh$``cGJ^rpogG}MYeP=p%N~FSFcMU81`r#>}Wg$rBZHnzDO9L@}+f7wH3NDkUsZ>s%;e!9WHf;Zk9lA1^PpY zO0*I2L8~?^lvk(w%XtecgXb;A&D`p3#zAZA>BKV$YV;JtetMIvGTwbU_@1$bX{B7L zZQ}M=jf!w1Ju_*K{SgcA>3*8#CYx5SciVWW$x7Aeh$ZieAVNHTQU}XGydqMRsY+2r z+w25AUEvg5GzuYbXF{Px1EO`yuGU!I>-mn=w%Y)TtA+Nhl`Q|b`IRWP`z9tscSoJ0 z!l%8S$$V_n*q39|`; z(cP>OhHmCSfD3d-vOGM4(0ctY{_5Q|cty6o zY#Kl%LRgE=3__b+XkwVo>!lRq(RZ7NCr}36RonYbC|o451e7p{ApUjtNqL3@Hz@*S z?C%AgjW#IO7Trw>TSCDaM^6x?SSKVCYjm2(GC9SH)jPzBpvK2#Gw^W36pb1LWdx^yn<10eKb~Z|)>{rtq5Irs$r`s~KATeKL zJG$cm*PP6ujG7%vI`P(PLYP-%)}Mz2R(y!9G%WyAXwHlg?A6)efOaNU(NXD14JSfT z!%&@3EMo`Cq;zQVi}8TiLw6?uNo$=P3^OTLrw8v2KHJbyHR*1!VALW~+BV=Ob8!6;0 zL(Q3>WUJad{=l8dhSN2|w45aU@N_6Xqxc?Pe24QVIUwsERmn$Qm6Zr6g^V`d<=Bv` z@3H0i%?y)A_%j2D<)E86__^6ELY9vmi{j&K*K|ONH8|A9^ z0vx*;WXJNZ11xZ8LGcvK#0c!O0__&bGV#M~#Js-8HSY<$+z*UMiC!*g6s_Chz^T^f zv=RGlgYbNMKnU2XST7J|*D~B%%avJu$DAyRDm!QrY#&%p2kOZ{8g zAhJ9$>~Z*}HU=^M3ra?*T--J|)0EnxI!t#9@n?HB5nsmsTw^HP^NjRFWIs<<(+KKq&w|zJA|vIzjP))E0X(`N!ABSn z8PxllS#8ou_ddJY6r@s&vYAv6sEjYi|GOq4*6w4==GHuSP(9zC7r?(Ln9#yWgq ze}H8A=`6Q3)m@T#$k$UkekWN)VHyAKnnV{`(5+&FfM@rWnf#NuTc6ZTP$YHRp*W+l zy>Gp6mX(MxJ`7%vdJ9IdF`4VJqaeY}EiUF}@2=|P!Jj&Ks1o&t9clD<<@izPQ&e0xJ%mI{@5gKR+7?L+Hj z)@v$xNu>EBORpP6jP03N!{=n&t^kzWi6e~@O~pw}1BH_bcPg!r)ih@9S!&z_G=+p%7tr3dGhla&jb~$xd zj+RxX`IF}$heo}%0ika!jzkL0kbNvMk0rTmI z%xb(&t_Q* zQo?80MN^+tXfj04bIc4T77kACdac5p_yla1WjO6)oEs4AwN6QR!eF{G2m6#uFt>E< zkmy@U8i_J)oaR0oAas60g~d?qVD4}fRny!e7J}g+krzZ&@MR+E5&yEZXN1_y)Eo1w@DvfUgv0CSh``RIeIj~_n zrq(&fB^;=mY?1Ay^Ue7WYdN4we1f8cp%WL1`any!t@##=GpFSt;TGpY zXI`^~N`seZT!ObwR8lYl(CMLWtsft(CSb^tCet<2;@_d*#^E=)bqnrm@hR>_8!P2S#-`{DKeJfXLI)XOhW&v>)ka3)HK;5kY3{@JN6?d|C!gjESoofU&+!YR# zhqbdcSF7et?ZJX#a-k?$SgSo+qid%MZlxmAIiNl%$-Ji<)%qr5qQ44LC#)$vT}9Bz z`XO`u=0ayD*UB6sEMb1T2h{7{=p&o*V_16MtmHF$tH7zf%Cowq=Hm5;H@WY#R&Dkj z8#toR)tGu`t)C7MRtHDzZ`eC;XTy+)R!2zKR~s&5-FJ>HKAno2Zxem7hGBEM*OnR% z-N?W?&6;-mE>k*v{Hdb(R$cuY$JTcfOmqq%L0~iV!Bx4sueaBX^-G#dz;nf(MM%&D z64s1e94|lQ*fY(IGS}2h^$UQZD#tz)+u{?EM)#vW#9C6eVF^U`b5owi+jNhG)HFuj zbCy514wY45*pKlpE*IW)lRK=ILhYQX)!b^(ZLnTj8~Z3p@bsv3@g>_i-&SG>3-fs)MI!0x@sKo?9)p+eL~_XyVUlzPgXHBK&j1a( z4yl}DN$$0pw1umb)O(oqV&vesHkI=Oqr{pbG?t5cmme=qMH6lcg-_G@o?yORa(*-C z+AH6p=U;j6pgiq}ho)`BY$g9;mI?$x*{dCw$7~W-ZGE*d(R-SigK>E~xBf}~kLaseg zmsuZfN}7?oaO?$LmeR|hKBFiX@+c&tm3LbaO^Db}-Sjb$pWNGX_-f@YP*=9yWa4@S zI3NrV8hTVR%h>SKt*Y)Yw$6!{m7nrg`-q3$g~!=;S8(C1lT|SsIFyEmZVzXG=ZcpF zp?^B^NtvL~j$IiEnv!I&wj}r>T|_F#;K8r<%00%kFQ>gU00~Vw1l+)=qR2Vmf$) z!)3Fx(|C@q^r7|9F(1B3`+HH-SJ23MV=5zP@)?1+s**Gq(vRxe)RH9lbYH1q_`?t! z=#H7VtjpMUgyYS7(Qwk=u7gm@jH9$rG!dy1wR@yYUdSu=3@bxWS)8yl_xBAHQ9H_3lYoAsI$VW_ZTY9H@4s)NK3fu#smw`sz8<%-Xy>Gst(GEwI+y6M7 z*q|g;DxLzK&kQw!5}bYFiBaetLDOU)Nx9cUh*zu!wnB!{r}r-z0;dGZ(7o7RIqN-{PC+oLev1exf-4AI%?noy z1@)F0BN;pe#&`VQ9$*10dsQ*dkbyOm1v&;HOH6Q4M3r+I85+RNwpoI=$Yf&)=EomE zPZk{IMs}!@GPpkIoJY|@InXA?z%?+2@kQwZQd7YAAVr0d>6e>4QhkbC!-B*tDahv2 zu+hz$X*K`8)EKY)SuTJH!& z-_4nHc-Jd{p5}0NFoXRl#IF~FyIZp!-*Q&22B1Ws-RdgbNV+RtdWpzxE7Lr?BN$;F zx7jJxt`vTI&Sspl0_SD=EG-^CPzM2Com~Ykive5@dXV+QuzO-6>~bz6p)!b4u6R)V zLW1_6SP9E425C{5>E|^C4C^pD>c^kdLcn2B$~m5P%_(7=*)iZWufe7anR4Pp# zEl%>LTJJKNbZv8q1rLyYth)=GRB8rYvyYUbp{9LH1IC>yIKbvk*mc{F9*i2DwVAh& z18Z}u)7$yFyb-Gno{1SGmmfzVDZFKWu(cO&nF<8E6$#_h8a`5{S)5{-(D&83PIK6A^5ZRBT$OGe{c6&f$75 zx)g~-l1sgLa-Vcw`f+v)Yt@sZb}zXVVn)u=F6rV`0xI!urw7PJ&HA|xoI`Me_-g_22sB~7 zyY8ztU7=GzV?|VwOHuZFi_s2VNvWx+$$jQt^3EyjWN@xDsnoBYDnm7vs|!+#MmL1w znZCPaNR;Th=2cO=``E-uYbnVH$T0RqQ#_hep4g29+03xoHSLucQnN-yQ8g(+OrOaN zU@w+K=;DAj&&I@q>epD%oC4u!>5QY}Uk$J`e?Wa=A+*=!*OTA|xo^VaoB4uaVOKjc z$=%dHNg@gaRUM>GfP-5HC6VKX;B_#*U>E7m4SsL38~ptXK+Qx1jj7E97pNT<~W>s?!Kin zU3ekj%K3?RhF%lPYRxsAs={vQj$$Xw)12X8bjm4}(zp?0#j=w}Tw)RIE*SX4XEH~Q z#*r_#EwG<~NMbD7?VWl(@CXcM#vq9%?F@e2h+~O+PNKR)ZK<+a@wO%Kc>Y5hO^U%l zb25SRc`&*mR3UQf^nnB;q#8XX4;85?Ys`+f0EMsXGQYoyLQ+D67@49NNb-**LjQAV;^(9+u# zJqHn3UbNS6vZE(GCecmK#4K01?o@8Rpr!zEo6fft)@V~u*lQ4bMH@M>I4DL8B9_l|EL;8vT99paq@gb2GdrcBjks;Vy$RhO}Z0DyCn0i>H6Z4 zcb`aidtOg4Fk@dFL529Ur@h?4w|r}6jP)T$KbR^e*1tm2m7`M;IMUxN(Yp+{(oXUr zz%aJ<*1UMwP!hWuue6UVjID2@u~{6+o!dJ`LvELVnl>Qwxcolm?aUGfmj@5&imD0e zu@t5}rCsuEkKo}iEQOs3p_}iluvyRvQn``^?aHykHxJst0a%wcMGu`dqL@d$EkV0s8eGdF zP^FmK-`K+q0Mqk&Joa?O|M*y(mEWC~Z{#^a!il?t)x*rf^Y;jL9S_N?Ba=Doo|a~S z$U;KR+1A0ngvMJj%h4}tixS@GtFQ=mSj^T@YUD~MA@UNJn}T`z98IF1E#RG@=sifw zL0WY7*Yh%JAGZxV7I)nf?%x?Q<~~fu5M`l>sq!CrMaU4le7JE=28n+}%|}qmHGI2n zkW+lH_tmZhHY2LtvEWhwhbp}jqg$LnsHR{LmQ1%Ekl}p0bd*j=@v)wxlQh8VLCxR% zD2pvQQJ4>Da$bs}WTdoA9)RXI=Pt%{r}aQaX+5oHhA;J_OAlUw;;mSGR~oP+R0sz5 z4reYBmPv5K|+|ejq-C+|rT;%U) zFBagta5+`qJ2OsrTgL}_3ncaq>m$q3}TACZ=;rM{6mssT$Q^mOU%^LM-nRaJE1MPF_yd{DZFSe)FcNMY; zd@!0J^r@y{K1`Iw-Uym4w2|Ye<%sXq;XBAK4oy}Ii7`Pon{4uV*9X8Ie6q-vt!-VZ zg|vk!NYrW;)e@(#U-W$tFfmpyt#jwohO?f@A}5oQl0(=!kJW_ga^s?JbMDlIRA|l1 zslJ0V7GZ>_<;z<>YeZ5T8KlhOSc#J~?7Rmo3Vo1E+Bx+UXdwNF*Bo2Sy_dCFt3x7m z7=SD+F5r}?zpcp{50L(5!c z;V+o{FG4(70^^MpwX}rxVu6n~rWqu{ZYw5NrM-rmve;a6>yl)fKzZmlXZD!r?klM- zDL2@91>9WAupQ$#;6ZK(3aTgx+Ritu%t4;-40VX#@Qal>M(N^dC%Z=a&&!JCKhS%# zKfV8`ST+WWx#l(Nx|q>I^t;CR%51(8OFR{}fN(A{YUw%7r+QKm?DI$qXJ-~9G(MFi zMKiKi%S}Vn6$OH)Gl;{Kuw=7${A0tn+9{L_**${a5E2EUY??wV95+cRgxu%jIJH)-=x#z^}Fdr1m zwsP93>9UWM{L+NJ`@wUH!;I!r&u%!3H(O|?=TvkpdNr7I&1u0A#1BCJP*~^EOMiC9iAfw=ZC3hzAw9ga0Ag8 z`4yG}?!=qcKrl<+ipx<~d;!^_e{6SiGsWBZv%GK+g1kE(;C%V z8f+KbxV4rSqQx@WTJ-m%UCxaW}K)rOr`(BFd0tHQzx!}>dwbD>pn z!8LRg*e0=TnN0EyU@7iVN=BXaZ%k77j-PC9LS+sZqhVO_I`561JsD6XZ3 z`(#N(l6bZh_tK#~UMi|#<^oG#%Xt*jlN8eD78LVj5mzLGjO9y&s9F#*329}r z-nwl?Hal`%fYHYg8|=t~8FmH5AcB-=nJ;h4>IJ9Y^@9!C)YpfjibAJtrTm~NRPJUO zRj9$daO)W?eHU`ahSqRKsL5G`%$ew2FvIxw1(U-(i;B&p(Yyh}@(N}T3(eQE!@ID+ zY+qt_h1H=w7WCwdZU*mYhQ-$aed~fzELAREYh>uL|l;Vk9L3g6}2 zIO{GEoJ79$x@wU59CB;)y%Ad(x{i^uv5`2eE~K2aSsWMi8=NELyCqsOCPG9U5rM1> z6}8@ZbY2AyY@;O0{1;Yjm0=)R?D{Ka`x_%ArX+S(+#_~!jw4AWF9ye!ZoOAQ4Sw}p z7}QU~#ZVrz9i>K-jiqh8HY^kq*jelp^iUXx2CXIop@&p(fv;7F*C_d}dvHqHyvfa)gL9HJbi=GCk%gK1{)8O;J*bC`QwLmRKqXA^QiS%) zBg)htiMvLE4=r#BmgLlHowzM5(qPcmXzls~kL@@>M@=+JU{VkQEwT!lKF|Vx$QPRN znUfnQL~>B|UwZn^KlWZK7cTV-&1{ zqFIiILx{A`(AgLi-e$=}pXO7FOMI&Uvn+*dd*3II3=osdI94ZHf)Wwm?Qsbyj#xLvh_pgMTc4RYj8Pkc(ll8QJjEdd7rgc4c;mlfH;T#xJ znCLPTsC-MN{RBne!{MwAJrKqcFoJc#?RSPUeUD1Qm-8wgg3AF8PAW=xb-gJpd5@iP z(i++v>y6aB!$nVQN5QvWSWJf?k1Ru}O- z9Utlyn6ZvXOe>Wn%@SHud4+fPfeRnROKkzWKfi65T=kagmJ8$~E_p1c9gm6)`Q0QQ z_aSf4(d^*iJ@%Fd_3o zw91DJN<&?~Sg^~Dj)rLTBt>V_kBBlYFShj$dxQ|XsVLekch(8aj#tl3y>u@a%Wpxs znX+4&8#rtiHw*XhSGwV*mtCBVmCtu*<|TcJzTt z&_v*wU|x>swg|PJ>}=OC9bzDDuu<4m#jV_omG`GMB? z>108~lg_0$D`#~La0fIpiqxEBr9Hi%Fe)9Udwq}0b-09jA*ZPpBKg3xpK*!PyY{-vPk|8;r) z#he#7mI*8B4wGcaQ&Rh%8yrQ88~G*0!Fk=^wJi|?S(hT{KX}wi6g^d|ZQkXjJNL3q zDPp><{Dxp6jEnFEM3*wqiokCCb>GoP@%uvftHP^m2P#SA*DQDOsn!ufLZ!gA`3^E7 zn4!GRmpi7_@g`4(kw*h%xK7n$Gq zf*TTLHq4}LDQb}vBLVe|z%^3sg$+sL;KF=TVP&L7;wz6P72ikZkI2D__+tqcpK zx$U#Kb7U1I3}04|@?Pt1zvNn)K^q}zChQ>sk9;;bMrK?h2Ifk?m!3t-Vmw<{e{-n~xLVl^5+~BSz_|$(x^>yGdm?xTg@? zzx#yeSUTi{H*V^a^Grnj@b!j_m9#U~NlKt=M~dX}iQ%ylaf$b~m&jOQV6FJhPi!G! zKS;S&!D!HY*;YarPsO6nDLox@|72>c7`Y^52iG^zHk^c60Qpd%5quc_8PT1aS;_vG2Wp1V0OFe8wM7p1xyNY^D znyO9iR&qV&dN#kd7Jym4w1LmCSt_C@^!AV6S{>zFKj$h-VkBhW)=#TkW^0L4)mzs{ zueQKZL~%aGdp!D6YNaTv@%yqoiF#yyo2d`tCgs}_7qc4=08=_$E5n^s2;{f)6%;dE zi9lB7L^JuHOWa#S-M;(nMYDV9dxpMGm!0h5ZkWGF%Qd_DT{N>r>(bSXi=_KkY%f>q z>zfg*-e!P}y8QgSSPrqjgb4JaDAHrr;x%4<-Iw4h@WM;wiurjd;U+%?yp-!4kD6*D zl)e~RS}5bplvV`Q|FSUCZc~hY7pIiSMt-ZrTZMV^A~)($Qvi_*lLjHRAlzsraBMwK zP`SM6YlwYiDkHyUo2#+5i+EA@r_1zN$~5~|7Y(@@&ZlUa#FKmVR{!9bqtoT{t$V=1 zU4|^g9s4SF9{-3o`jV>rwsaDmw9{?ryH}mZOZxVImVHy^%fqKhns5K^BDI{{&;!5v!@1w1QU z;HI^uJu@-+YE0&p^RkpmJ+M~Vef6m>goB=I-#MMxaS(fBRc^Wl&)~TO zZaA}2ERviqK>rpL#pPLqU%1e91^*Ngz5n{^Z7TQD^W>IhW$XGR_1Zy$W4zhZZm*B2 zdA|y^$()lwhK|KYR7uWEGDrTBK*m43n|z`2?FC-a%Ch~gcRga#{%abVm79JW0#BV{ zYkh?TnukJ3HuFmI4wbuxuRl@B(ZL#R3$&;1G7$>Am6`fMZx_q?^7pJOdXTPRmY-L6 z^6gT&0`!}3?VbfXC@^1_Xb4bVZgHErA2-7uM%RAJW3{|S4T7}t#kDuKx&P|3XTF)y zL?@v*gm3psK_ZbO)B0_z)XVlB!>TQ$j1aoROKhbcTJex{=u>7}Gc=df{wlkzC0wWy*U@2y;L|TtGc`L0 zEH6g!0X$WHY{vIC%{@PGA?4>1$cuiZ9R!fSE>nc(pG;0FC{m5)-F|SRL1be1JKQ34 z^$=g(>|Ehu+WI_!T5i;IHfM}n)aW*L%2yGGWy9J<_wQ7@B(hO&s1zieUg->VcC5{~ z%QxLCKPc6QAmJBX5Amw6gm!5eKV5c*Lv7A4?aJSzmMw@pUgZ$+c2zW+Z0H6bN+a#fF`*Gk1tC_Dl}q zk>R4Oe6$?J`z5|!3#9vXy79)_P{V4t_593uUqu0Yyds~9kmv#VD>hyU=ls-rbPHNJ zie=Y^{9BY;ZTs~3Y(uK=>91*{O7rs>sHhC=q%C6J+?11SYk3733uMEU!+!Fu3MFTx zdh4gzN!x)K(+$p%M!%#TKmX;#1Yd!XeXgzBmGpBZuk|OxUk_0sR^O9WlRV@vlZZ7e zR4iz0dUr7%sx<$jlqcbPYUW{j?W*bH&EWEFm^89@w+`B0UgV!*9r+^L zVUhM>OLgq^E{pG2I9-Tx`xRqf1b^Vc&9Tgv1cJ>ZDj%4n0*j#5_peFQ(5QBhb~P?l zd@)X2qUewj*xtL~d|cEgGa4lbACKv7-1z!6@>`XXTvPSq1yY+&ZzR*zCV_wGWg6SP zCE$&3fA`ix+PJUAIp;UA0&2(Z`uWQJw8SKb2AB5&xS>Svl;!PuI&440wwEsqCPj}V zy~vAWkxZ@49`h$j3b6|fk~Ms1+lCm<7#>=pksM_awI8`2GkmO>bB#H-E_2nMyshT? z?M1%a%$-`BF_O!h=WG`8wl8msN2ivxH}`!seON!iS9;^&6+@TzUh;F1W3-cROH>^X zhH0xhId)>5)s;LsI=mHG zF;{MC#oXXw?SUT?^;qOwm86n!zqio7yS=g+e^H85>DQOo>qS>T_(w@|(+wyh#cRXo zbwXdXHzdbA3OH97%g4Os1R^Ck8y@{q@Qdo>1lRIkn>zAZXxO};(7Dx*e8?qE;S$jH`DN-ZsC)VvMe)S~&*`(lyN@hxp% z`Nxkk84AA0&3zf=m%w3t1Z9;C<5ndn@KSt}eKPRwNyVtd6g`9i(6P%~Qfp#!fB z!MUo7JA|W^%!?D23%p61wL-#sP5qPW*-curV@ygP-gA;)d{HYHQybEK5}6(JNJ*l0 zZGK-si_N}is5Z1#ChP;%1g&4DMC|ZeMVrr4?;86I9n^N{vYe?V32cN!KeUVw`WL>@ zm(&~%|rFVJ{rY>HHum0#joGkxa)g~WEurq72hCA zK$Q`iG}5}@95Es9`cOpk8z0G!`P0&$Dv!Qk$!on|cTSv33|}ee4F#io79~tfjo*v8 ziIm7yfVvbo0cwBCoMW*~nE!hst7KHnuC!ZTft}Xl-;D>GRLWG6N0`nanxnIA$+d)f{1+|#dmUV zKjh}wvML+W?JIGh2F`vYG`{%Ye=AlRT5F)%XtT9RE{k)yQZHEnHp5wQQ z@-NgIR2~^><)q|ZvcDKaU`tJV!G zGMc{HQ`%ULK>0R1#QWk~(&y_xmHtR;@0$I?GdTj z6cJsY#V(UQ&dIubyG&FZu6?upU807TA2m(3DDEW`EdR+NiCrB1EW?*=M-^dCTiv&G+r=7DftFOhrcO;@A^Ef+ETzlt(!a zZWpF{#%BHjGF%3*YW}Y?u-lrc|}2LqU~3WsQqf4 zv7IjIeM_=7g(X6z9mbs6H_Z>zWiKnr$6x|F49F)&k*4Kzezm{;NSd3~2wh4{n(b+1?-8FGz zM6M4No9RR_(1|)u#*N$^sH{PHsSlle7&2k*xS}ls*}-3ueMI_R7xEsr6aI))<>^w= z;v#c;RZ7Pq)Ed{GbB~bD-%kAnC)?NWzKVl2Cw(**2dXU;4GayB4tDk*HIQjM@c)u{ z|5ahQ{WV;oqj$Tg(iUtfzxX@RZ#7M1JxG`-cs}xJy?Md;JS;cjsa?b?N5d;8ALUji z6zx2moI=Bj*QWdzgg2STL1Ufl1zKYLdS&&}^!qG3db$2~P;ZFkl2)fa{@Ele!U>S}i$s&yqb75e0q zP+I6cZ;rdv1@B6>3pcbroDJt&9&J2onS9tt6y7UNACbD%c`YUAa}Qm!ez74Rf`hN?SI75FpfCac9=kVjRXee$ zqQkJSU)}2c?1%DuVtEfd-j8i^Bss(*2CiA&Mv)Pam6YHZocEv3>p|EEm|^GlPpQ&1 zS#CJRzmv+)`tpPb@5;306^*1TCKIprJs$1OU^NDxx4$@PudMuB)ScFN=e+%|_2`y- z=s014SF7n($4W!<`pfs7Zmz6_c_cl$bcx6ODAbcQa%TJV7sFdhQQ?^mP^4#QcY9TW z#r;L9iNkyOwG(`=clXStY%j#~l?`V^##CBA&*+QrWpLQvTxQ}5d*f^_>y9~^gACh7ZBu>U@C4+s58_I1{QfH}28(x(fxL7bZyn0&1g-ri&gVnCX z{1@Ft2OI*Aif|lh5JfQD^;on+%9KSX1lLU(>HsdAv z7GE?I$`xJ2dBJz!i6YaqCefRQ9d~L|S^6e!dIY!iLYt95o#ufM2dnJiJPkZp)W>}x zTg^A*eD6J1TmPiwlkYUphNVs+<+!k( zOAIFWeH|C?E^9V7TT4@~?(|sqZuUDGsxnZR`#h*5VX#f}d9CL^ZmjHWO|6^ONB>%tyC^x%5VE_ zWLW8t!MbcIhMO1aB?46-*Re+xu6-m^oeHU(#QXU}!qBv>(hyskDo zW#E)wnBuuW+!-<2*zWY+(JZDsmXB-rpSyEiA;DO;34Ugvtok9&B=ywBa-L*cOk_xn!qW7TX{4 zv`y`c^)AgH!sUB=KX7KTqPFdNx7uiAny6;z0uPficUU364jkVe!mGBldflI-R1pd8 zafz-$8v_d^MnrfX{@X_{l_ss9f27Oekm?mu$9KZf#QrKDB1}PBPZdbI@L_W( z`l;7<9tab*A?r@rEB9{7S(?z9%y{Kob8}d@V#h_7D&itWV?zOk zYmw&ua+e^)FqR*cGyIj(!}yHi%@#8c`}V0lL?V6PbH7O$Pcwd;o)?R>{C9`=3jJNNkH0#E^iM^2 z{^Af)pfI1{m9r{Df7Rtrr^o&`N1!79zDfwYr9W&N*K z`wwjWr)^Xf0=``ce8uprN{kS2LMtGlPpAdz!k~l!2?lNrP$fnPC>H}r=qfRQ1gss9 zFcoW1;B~Oy=OY7cFi<+HSR({Q_xyb#FVKb_^Q>Zx5Ky)R==u8#jzAlF6ime$6nefh zU4+o32hkN|KwW@>u_!@wu^6y^4GNqAex{2M;7fpXrVAVe&H%^g0+i|mB#bUVl~O>$ z=mHd$1SE_uf}k$wW2?dWfco5kgwX{!RTm|QKB5_H1M1`g(wSZ0NboxJnbhbu(7Hkx zy8v$k5=Iwcbk8$g;7IhC7+r+HYCXVr_?!B zp$pg(?f+<9zz78#6>;e>u1=`MZfg{l~U~~bB!~<=ZJwl?d!{{Om z)*k}i`mHr!JV3(eg5FzTsNZcU&@Mpv&9k2141fX7+Q2m+F?K=w8DLa&8yqOR3AAB! zL4j66V(bDq2Owc|LHh*YLT598W1@?J0;`3ieGqVrv-v=~p#IPWTsv^_SsOSXFwNQQ zpq_xMpGn|+z(RgYXrBiH=By1p-ygbwHWNP61&;Plz*J{F!TE&$&;_(0U}AKe5O7p9 zAYpU?!UT{ox}d!daG|rF=<6_c0YVn&iO~h^XJ_T4RfT{erzpX*ddsSCv@Zdnbv6p9 z%US7Opbg#g4_&}DoYj9-g#(KLq(5{)Ux(2J?GtBZRDqtL&HiV#RJ51;kFs-rcNRGG zpPt$dbUZs{8Yrp#U!E~-W_*+2^b>C7%jusj_UlRzLr!uwtC7MvY~EGP_P7m%i*z*}g0BEeF5nB4?= zqG!O^1*Fuo5Ya5J*5ppbeu7 zdN(l%1OlX--<1Kt*?~INfP~p2uuLEnlRzNQo`p#u5Fq_QF$n}vDGrb@2?P>YC?H|% z0)__^lRzLq3Ws762qa)2Ksxgm1XyekicWR`U65%1#3T?1Fj<456IxJDkp7^U1Ofpj zWKhHzQ6j*E42nr0kZ2FVBoGKNA%kKP2qZ{`P)q`WM0*G(fk2?W2a`Y`K#GH65(p&V zMu3EgBeXAJ5(p$nw@^$1fe;2~z$6ezv}a)w2n3kOK`{vg0wh={CV@Zz+X_e+yMU<_ z6q7(8(SC+WAP{ID#3T?1kZz%v1Of?!0w7`R0@nM6ViE`>+6OTS1OiM=p_l{$_}5{e zgz*<3*Z}DdT|lid2?PS9aOm#@;?HP@w$%SQXredcZ$R@;xT=Z*;s#LXY-5mU7sX^S zD71@WG8hyPMJOmHgF&K$0F%KW(LsR8V325613c_EQ~=2faNU_PP{3XS5(ZSzt_@s_ z?ukOXHYS5XqQmod1_QV@Iy}!91JD{61@@aV1XNKVz`_0ie$bg=7~n^OK>))5KMHhT z*dM?Tx+n|-{3y^xVHn^?0saU`XLdn>&;-K(KMHhM7`pB}7<8ah!T@CXy;{&IVHn^? z0g(boX8?x+p%8`vexL+8D4p2_2|6qc1NLN&0e%z+lQ0bMBS9C1{Q>-79t*<&KQIC)VfF}!VL&?DBNPbdus?tw%qwAMG_HyS zof(EMsR~#E2x3q=3mzm$xiAdy17HJ6X8?x+kOz=3b^%NRNN4_n0uT$3FuH(r48s6F z;HjX5u?y&fFbwb`L6U`GfFA{5DIlHcf&x7fh5>#gNRKcK@B>r@N*G;0kA(dJ{2=AR zFu)HGEGS{@0-!D+{hn7_a$5iW3};!oFnHeq*1!JU2Iik|42cPY`v+FFK5Iiu7=Q$A z4OXuH-3CG_97AF#&_m!D5)%f24vrx)VK6s^V@M1*OAVCHbU}gp4#$v~Fqmz_F(f7o z`X?MiVkpqh;207^fqM(bkeD!-jlwY`CIXlXkk0HP0`4swLt?^UJ_yHvX2%hjiNDSO*IEKW8K@f!hL1O5g#*mmWm`B1fBqj_( zDI7y$DD+NaNK6>ae&HAr69$1Cjv+A=m}tQNATf}L;lD}j&!CHr>;H40LPN)Y0xB4q zL(Y0=+%t9ecD4}E1bzsje+tMrIl2o-nz&h@f6=sYuy9kh@KkqlFmY7XP|_5Tb~JM` zw{f%*kTEx`P+F835};d!3PhrjwSV4RC=4xMp;s@Goly z-}z6<0uKs6xA-?^fdNk_(1iXk~pbZw;Ci{_%K!+8R|6G$vxwJrOjz z{7(1&#YBHfYyM(4(RA}qRY0@RS?9kR4}{`>Jl>!7=dZ^5)2{rj_o7+vZ}j`quKfLY ze+r$y((g~Z^7rHY?SA~eZ~TY$`+ZyaAJ_Z)Uh_YV_wS?i_g(4V4E=Xo^H)Rv3E=*{ zRe#^<{wJ;f|6-SZ-#q{4@zBZ0f70(SmX1za{$}X^B7lD1um8<>f4572 zHYGaEIUDbv-vDK0X0H9w7k%0TB@)F$pCp z$+>eRv==U(r)0Ry#K>@&p8g6OKgSgoURHW~P81ifAXG?5h>1f)To@+C52PjFAXr31 zL?q`(Xh=zEV9fN)z>|po^3Q2Kgn|&;7fTWciv@yBfrUeXb=m}Bf}`KsyAN0`CGdR098^nh61m3nlD9WC|gx zWbr2|^}g?Ha8uVHBH~NbG_;r5uX1p5aRZ-_ql87SN!^l`k(HBI(9qP<*3s3|H#4`e zw6eCbb#uSx;pye=^YGE*;E*RzL!+W!#=MGs9T%UPmY$KBm7Vjh1p)vfKF-Mt_CKMxMUbzwnpelP2fmHpq=MFFe} z8y6P`mjGNB7Pcqw!lA&$V}{~ikWeEqakdq7Aj8JSZ2iHH@h{+-IywU77`o6s!# z7PvI@%Kq8Hg8sKw_Q%5h*Sf|bBsf^W=HXC4Za@~ZQ$zR8hZFNCDwOqa-ugIx?cumX zOLsB#)Y?FX^(n*x__9ne(Z}x;IU;N}mz5Rv@A`;zaNDH^i{_}0Yw&W9$`fz!io2)| zFn^^~lg1|IObz_6US%d`{3&h=Em}9#H#eQL({d2n6}50X_NG{q!E+)ef=XP*HLend z7Y7$*ne^2?qz9f0MR8BAaK3Ui(wlDfq`yVvft>+!COdDx72jFVp>ke6W5u&?LjFfW z!s{RQN9i&&P-Ycgf3<<>%5gPM{ycj9>LN91Dj8;JN>!}07lHKbqd`4K|Hh2*FC+y! z*Q}fj&Emg`6_N*hF3t@2l5&DrUSrMl5asuonS1l&>Br^LlTT;l*muZ&rqO6!2dV@`=|;)3?Olz^r$Ko-r-pKpt4UKr{`t$@$1)*n(i%lg zrm-QX<=WN6=`aS4`FEcRuJfa+nJ#DeWQEw`kT?gG%(Wi`Q(9CN0EbdV=x}U^U8nKwy9rLAKM8l=Z zf74|^Ty%uX<#Mwduk}O>efIUYmu=SQz-CeyR zrtNA(+xZfe$f#lrh{>@bcikeRSGkLand475OoWh~#7$q*MU1n=x2B7&GdjZVrSGE# z?n*eh(ec(4u)mU&V5*rUtl#VLKGZ1K%RQIdwrI^^9_j+yWMvDu@C!z;X1GV``u0bE zSx7gJideKrXIt~@qv&`GN)0#=P!I5cm4Gj5p~L|D(Pf&WTi(4#4K=SK&OM3aFM!-- z+q`hWmB!#=TMxec@mjB`3w_(76rQm{^vHPG$61z2%gBr%BHF&RgV<;3IXKUi(x@(k zIZ35HlWXCFOX596Jkyt7e7JvUl#H33mAUUGv5XhJhT}a0y?lP@=1CO)XKxq0vT+HT zb3LM1deoOo_XWGcpD_9b>8N#X>>YkrsiaC)lC8Wp+|OY*`*Xv*ELgb7W8=!flHv^a@@An>pE@P!emEI~{W<2gU1{SPo)&jvy7ox%ZBa`b#SX$aipZ zxjTVJ8jtjehs+S>?)yj&w^K-i6kV-$j)Nx&RFqj%>wa@9PNiCWu}y}}hLsbY;myAC zH=<=dje)n)l4M*7sJid2_D?H$bZ)axq`&9L4Rj5FwQglcYt$&ZV0S)gQX-@|x#ZB~ z@9tVdP!{AHpmUA=nZvz_>OFBlnuGbU?NTYp^l*7 zT3<)=hS{$GBSM6oR>`n{gDP+u!TjB~rrdAjT|_4*JH@hK3X7wMQLeVv%8DPwJB+R; zHw^pa=g0LIn1reMn(z)gUG-|6CLMU&PLOdmd6tlmKR&|x;h^!{t@o41=hCWY0K z;D-76i_Hl&6CGwYtk$CutBtto@}6SlMHBMO*2cVMQhlEHPPFJt#+Od|W1Hp+XOMm$ ztz&I*jh2bYZqlyAM}%_s{7*bIT1;;Aw3A=19ZU)73>A4m|12a*#UD?5i!3I?nh{=7 zR;J@6C1WWcEI~m3TrKpm8p_Kkt`@=hhDsH(1GW27g9RpKp`3jA zOD~%$Eex?f|FYJiQ<2d8l-KE=z90O4av5sjYo<6!b@YyAoGUh30lXpWqpni z`(uf@wF#Df1O1f9kxsgxKp(3C%6ToJF)Bf~hib|ji7`}z6+xNRdUUcM%0G@8Kv`$& zad#eW7*^rw=FnW38Ols*6%EhDWpCo z?S!K76e3{+KZRgxN0>8q_=PL*+zBB4B8#I!6uintYgztMzG4;6Tti9x=}QZS&%k0Y z0Eq_V_sbx&Q4SbS&++lrk<&Qw`gX6<+xb&Sp_B)|ple+<)0OCAvdKC&-YX*1*rAyIk5E18RW%;>zt-6x;rmvW`Vb8BH(Y+j}%aQt5JO6;`n zuXH)FVDuhj5HWC%31+EDzW%wI0m2QLPS-=o5agiM!m@#m{=4rDa<7O>udYIHbqd zvNrQgU6ZBYMp0r+FYTdb4}Ht7o$uA%x}K0m*r;r-5i)hSW$<~N9+AL~%i?^>Nlf9^ zC5P*ZE3ew>*$twX3kH^ATMc(73J2w!6qAb_?!{zJn1M z=kLE{JU^TuFF7*e(n-G9nc4dGSR(nh--@}3UTc(vj=F`(;|?lIEX(Y{A*uZ+p5;f znIIAT*l{5r4eeDW3oE|8)=2VB2g_p!$D!82v8bn$@rdIV`8%SUrx3wCnjiB!@2a&X zJy0L+2P*;J?w4^^)_lHZMD?T0=4uEV)M&|xMLc(L=Ob55(kY}_LFtQRP74`dryGpv z+}+!3jZK$@v@NVY;XW31Sqr9m(plEAKu>SZ$WvW3Qu;HV)~e2E$^6yr*2*n<%qaobg886VSCXWyLtI+BlkNR03oa48 zFlc5kYP@wm{vDR3{r3Pyf*HH(+nWY)sE#q=dYre6Ls>KVEF(r+LfW2A<>V1ZZqF9T zsD-p2zfEyV#(5MBy9XyoN9x;djO^0fyR!Xm(%Z#Q>=yj_jKdftX_DmPH#NoVP7;k< z7J3vf-qKZEVhgXRxbJ6IR`)$K6d{i7oj0KpvFRD1s1qGR49oAma`8cLzL{4<8!EVa zX!AK)Og8&+G_DK1ck#^fb4QT^-9GuW{%5=lI>at2(<;YhJ0jA|vDeFn0~~DAV#Zugz(I2u zZ8YShO+1mrE0}w=rCr>3Xu!Yjwvsj%^Ux-6w0)Ze491xIak=$GT#LK;B+D(&R^!W5 zBPC2hXCdq@mgMtAt+jX5i#pd;DCgGXTP+(xIp2u@KmPJI08iW8xI>{NG3fl2;hj}| z%OV`x;!eCJ!4XwX78Q@XcU^QT)omAB9Iw&cHT@j$RRDE@b6KU>`o=DG!YKsnnVFh& zZEMfR82=kf_P@d;0QRf>@{`2+=+Z-g+Ppu0rx`|28gz+_Y!|j3cMrzi9C-4I`Ffi0 z;-y<-G}nLi_LmeoSq<_pR9E?Jx4EjAd?k4MZdWztF;{th36T27VQy2w|KlZ`qb;Kw z-7q$6XKpQG%&g$Ar4FFPhZDXO5zSEc!1^j~C)My-)-=iGQ@nE4XCEC;$}qP3^EAtd z?W$mJ?HGT3dEvsQ!{e)xE9%b_Ml^g58AUxQCfq28JEA1hE(A(=v@=|D3m?9Xf*Vwe z!Dyz)7Ttx7{maIFwtT;1i+y88Ybx^FiyO)TmuGuWMGROhbqWY}?Qq+6{pAT`!IH+= z!8^T&J`CDnb2~VzN_pQt*oDbNP)9F8KadgjDraT5!3}$zI|fwP9?M{PaxlG-mev~} zR(+J1S|OmDZ4vD$$<3pSeJl5Jl*;w={^m%>Bl%8e;oNeEdp0m7hblJZXAvzv0<;`d+b$-0t_K%i${^Pme4g#?_>HpLgfWTJ@t?PvL_E?%Mll{n=pzoAo-9 zb!FGDx&}or`cQG^HmdAJ?`ECD-E0~trr&~p&1WiVUL903@s*1kRFh_DC}_;Mqhh(Q z)^OYIp#0hk(fK;9r%f7ckEt4pL=94YAcpj&8nX=v`@N^#o^$n+e~=v@!18lbP)gHx zR`*Hl&Pd!JVZ23Dt&~xmXp9wosP%N$Zo=1wpAi9V4O%p$H=ps(EX%V94Y+XUMVOfB z_^cc8`p!+6WrnBenh)H?b(^y$4Nx(R`tm58qrv&N8C{#|S#&p&XDnJ%Z7<#`VXxwx zp%S4FmEU!c9DA#mKX!Zl67MO5f`i^4QJj%LxI1yR5@`&VUw(?kFKe&qoOV5J_8!ig zr>Bs#g^aG&^?8e59;Xmk2gQU%@yk0Y`&*q`|Ak} z%RfCfd;A|FtWGHMHC%HlAjQO0E;|>n=69IhI2ck^Zjn$^$XV#^9t9@EI-R3`BAQg= z_H%g9jl0`1yJjjQ%KF4&H2+EOD|vz}p4JR9`|QsT>y8o`%AW;z)A!=NuWphv6_N`xXY_-qxpv1V6xocY+Zyw>_brUVl4REMDoJhPsx zsi9miekX1!#baZH$h zZ!0JmH7o?mcWL)ub^pT9KJhh+B_m3tIvn-YF6?5gN%8gFv_f~ka*a1LIW5BW8ZIuI z{5kFwIs?jYAA1}~tiLt(52~7N>n*%mx{2GB|0E$3t~YJqNQkeJaWUwTnX)MB#w9qZ zb~1uCi)Qabve)#_w=cpURM$ADt=hK4I4!Tb*4*!FK%Q5cT3zgZKfUJR;jwkedWYvR zgE)7LfM?wM#bPlfd#MyjYWX{-5T1>FYQFsAboHNY3N*I==`3P*gJQ9 z(w&uuIG?Z6NNU(HbspX>kf6^gNS6N?x|Os^^u6Z8NU@dfiF2q}9M-aa(dgC%la@#)F7<0?jZN(u7 zZ8*=Baksj=>h-~*4h zRNWsdQ4N0o#0FJpr>~r*em1)IBS&a7%1^zY7GGUHQr9P_{_@&HG&T)9ni8=F?8vE3ChsnIq@9nQ`&qzZ>`c3-rU#74K%2jc6v z*3T^5+ovjYN^3;s`{IlnvPd{Bu}KHj7{6OMv|<|ytK;uiw2SM0R36N8KL?JT5r~tO zvnC6x9O9aAi`C{_UE6=T;G%6YSa`M4AmmN$piyWCWL#v%EKB2H_`{ow36+$m8No|> zS6>Gj-@I+&GQ#oUTYt2AQE8abdy1yMPp%J+<79~McfF;zI(mB|3+;&lC$ovFNQwuUsD_uppgIv7Jht*2Ej}&$MF25N zT~!b(r3Ng;xLNkTdvErSe1m5fbW1&==FXQ)-dwn_jIHY3dele|F~6d_8Oc|x9JLu4 z=A`t|lR@NLeEI-9>ZK=pv|7!p`Hk~Xm_77ipkO-rO@?5ijvi>l(a=Hy7(fGdZbCygF2&kHMd=5TF|Ck%1gz|)O2~kSMDrFh26DftSoHmhVXa`h%QY!t>L?lF zcLZ$1G35`lb-i-j$DFdBE2}e_(E;2Z^>Ayh_P9YUD9o{S$hl6gd1!gy*0+^`Eq*Wk z>7n}?dEU9$qc0L(KB(w!?V=vN@FnA3v<)MD)hXnaGq!K8X~F0x`zvO|2HCxY@9@QQ zCA}zRFPD`%JZ`UNI4BT9_}ouiOE6NArK2_FE+5pNFbf^J&tSrr7GTxY3B@f~#`B_T z`Ql}3bVD-Us~DN;g=O%Vp=}Sbdbt#N|Y-6-YR6GM`>t4fAY zXyT&fRI(HMk`hAw8IuW326e6xQ{kkm57{%k4>3eG7hsxjeysb+cYPcmn%&FtdbPbN z4Qu5hDUj`gtos!kxeVlIGFt{=r*C5uXNW)YfXkIvKb#13Hg&5D;C^bdqAc*m3Mo{b0VwNh>Y*%Nu?MIF5)ob{Uv zGs#Z2E2VZd?HhXPLY2A@ycaKpH$Khf-?63kdNvn4$6*-qg>gpKQChLFy)iys<(Tir zr_q(HIA6~8t3yYHBc^prVNQ9Y?M@6KV;QXO>W?A#yTa>s-B!VhHVZ-KTx|AQFMqJq zad+xM<<`WWgibe^mWXND*yW~tD2ZgNed-3gathIX`13>BfsQ5iy+Lo=PlZ~)ti5R8 zTt=8}*eHp3te!$<5~V5C?!@iP{sDK<`tl3Y68zfDd6gO+Y8jcsnagUrtX}3m$o7E2vW}2eMS9t7{scGoxovA|sEux% ze5c#n;vsvMr>xwcOC?zf-+RoVoZ5ETKVIRk8_sf~ljJos{eH3Bn}CBGYksUmHq(wV z)bQQnk)D35L_lH4D;tL-4Yt@j#=LUpXxJVfE7JeM(}~zud8n1Fsu|N!6g7Qy!Ab16 zwUS^b&xdpI=4yM*d+qJjL7U9sX&a6xz2gI;5e6(szuakG}_;f>kI2Q>|GjY!9+ksnh`Bf6ydm5pQN7oWHRQs15cvqUI>UWLQ z2Q)6^S>E3~sK6PI{N^BZ#2zuXO1`jIQCWDy#*qPAe5#T2Yo@v_Gl}uCb#G3d;FzX$ z`9Xn$hM4v~>;C(agk~RmLm7RIQ^@Vl$s-x6)mt|4>fdeN(d^mC^{(jB;Ji((d37n- zNcnPHowtLz!-Q9-Vc9ebGKGm&iuT5E8J|Dvore0}OeqdibxHV79cF2R6qVv|H{RR+ zebcgA1j^A**9%hjW(0q6ZzPB9o)=xLAk2Wiews2 zvWGKv3VKc#BxV=pHy_cf@!DW?$ON9R~H0-x{&4^U%uW60J0eSDdYnwHJP@Qw9*fQ=LfR_zrI@^@wFa* zk3IP*WGJFXN`)G8ys`Y~lrQ%G+u&?j}aqs=HW>HHU%6gsm?%1A&hkrgI+*A9wQb{e@tX&n zb%5M&pJP<(Wm)iz8k%F}{jp#u8CVg@RXe|Hr%na*fLX!JUe=l0Ux_!ceuN2jn5o^@Gi`5)e=kmc~? z{q{^)2|X<4`Xkk=@skRisjq|19?Ot9vqXdv%qmJ#S+=UBuIfKNiM|@<WQ7HuCAVu~ z6XVoIy`#c6NKvs|I;GJ*)(MK;2~5D{A9pE%{r!+Dr8p!e{Z1$a;r&?#UtZiT`Fnve zb{CZdTOves#9}tgv#iMK9uJR#JgzIWbr-QXn6D09su4fdPfHzzuvrLv1zllZHc=|BJl042tXfwnaMuLP7`xcM0z98iGTB z;O-DCxJ%Q71PJc#t_{IG1b3H)#@*ea>D>PP{Z!pk=iXQEeR?0Lrs&{cKRNt*^$A9?uK%QswR$eHdhFMDFMgrnZT!DK zK^ds4{OtA?5!mS(;tb;Jns>gB5YX)zD2PI{#}g*`Xv_*%fhCe_{{g(xYDLIsiqVe; z(f=Bi=0WyZ8BFx)u;cMgyes-Y0+5|`Ci??;3x^DY;{O0>WfKuK-G2d)561?3!UK~j zZfAXpVN4yEAfHn>9P=z6j%OUw(eC*N07AV}y*7{q^@!JBtZw}Q461H}{yk?(5VfXq zLxjFp*#C5GREmhas(W<>5njhP7{ebxkoNlNDdO$bPB<>`FB~xc0|uYlf8xjt>G%hZ z|5q>=wf`H2>(jqo-2Xcmw5vdWn+6CJ+I{~Ypm4bQ_y3%~P^dy=&Ho>vVCTnrb`g>E z4^$s2sXI0(p!bd!pskXN)jNfM3>`7A|2dw@X`Qp(uXXYwt;374h|7?qI@laC^Q_kl z;a>6*Ru|LCtWdELe9Su*`{3VR;`QZ&KAhfALT=og4~F-iJ@!@QGuCqN@BA>*ONng=j(K0Aeq@UpcpU@?;ya7Lj2s8RbZUZ!8tD zw1O0G&^PR~Y}?BDU)=q#5?}-PcakdRm>D4i)Tqp0#IX@0*(yTujV3c4yAI7AFP3$Ns>^0o=}^bf#D*7vMjD(qIRX_o%|uuaeptiH?D zGm5cxb*&CVcKOy03pUmb8@{MJGUji0l1?FtGvFGL-c$?f`AYE{y%XN~Bp{M%P@zte zqRrb@H-l0l-sSIM8i~>AqeZ(ZO*0ETzw`(_#JGTp$HtaF>5nF*xl<`j(1vs}vQ_3P zx;F;KgQoSG>e9sd#Wc|PxgX3A4Oqj|$I%ZVaZBwP*%o2X5L%W}%$gN-zDKWHW0Jb; zTKG%T7CO&RbVnYzPBeo6VW0E7wmjI6oE%5BzJ06ZrWIm8jMOh9Okx*$RT>S|xA;JW zcbo0ts^`-fYCg?w&-zi<+su1=Y5pQsR{dH;JJVWj4s6>(TJBuVUH6%Bjed~mJ|%M= zY014Zxks4i4*+Lj+2H3gU8>Mh6RO>@k-)(52;n|4ad z8(m~!!6#(*D;WJ_&tp$Du2p_CK;4qDUekM1CJ&kJup6x1R%E}FCQIrlDumJ~Lz(O` zIFq>I#7VXAYpw8h3Vo`@li1kl?H@z6yv};itNa1G;1_jggxaCb&bMm6;Eq?K1oG!@ z#I*($eDR-GIF9fV2M5;x7@#Ljqs9KWOG-|gDy{g=0-;t|@y(A_4R2hH@PidSAl1UG zJr6#kB%3=D-};s1M6Bk@mkVsxMBh=*h%~S}jDG>Fhg&qCX1PkF|2BOp57aYabeuKp zm^g8#z~(LduHIX0&^9&pPR_#c`+1!AvCisQwYeXUkY;z;J8y`~NrV+r#5H|mq5fP> z)@k?ZUZbq)+W{k)d)ELVvnIh~+Qx=3_{;~r2c5n-OZxc6lbakJ7CPbz(QEKy#~m4; zD31EMn~!^s(^Fz5d;sFgAkruP-8W8|i3F3R+tV4Zt_3)vUN?*s@x0`SOYlKkaFg}t zavu$j_r$(Fn_r9o`awJJ0m#J4C+y`u;Ma99Uj7xm8h{H(QH7lR+&s&9_qDrCC_SnH z_y97F-G6(4rBu2+Ut&sIBXgqifkL4F>B5fqvX3vuK(7ExQN%^D#!5rHg}hxzvz1{= z9M=xVJC*g#uWhKz1pn=x&m6i>kI#!zu>4I>wn`GW_bbfSFYQFAkU$0jhV}g+C5Bb0 zj0oyz@;JFIKAQ#xbi4fUbm^hr^hE zVziI=#`MyCGL`ROmT-7mc1y}fOh8C|BrzNWqj~gi7M1{LND<*VGm}`9=6i6-jVUGE>MfypyO|? zgrCJQI((PYZq|qr9GfiyW!LF?1Si60El8HCYkIGszf{xFu-^G3u7}C}>_fu2n>j0@ zDjp3(3Op-{%A!AK(p^!Z#AY5i5j1;0?gI)FAuI8+T}#CsweH`_ltrC?AnrKpfXiBo zA4X&kwN{aNL6oK|il;W^PT2}SM1&+pQfcQ&)sjAu=L%&wXEEX(-`pnH(oy^$EL+k+eh;x)0_T*P*NbZMZbx{ch3iFrR@)(-EYjc__&I` zSn`JaRTjCfd#TKn%F3lxffqYmTCn4=AbUXbi5)Jky=NCS0nz9`6O;v(r6<_OZ;igFNv^p3EB-avY0`mL3ye5Ia{ zTA1%LJS0ECa=y$fEYa#kyu3fl{%ahfagV_&@ma{{Rv+<2)Js+UxV!P4KLFXE!amR5 z5mtI!>{nG4wtCI+#S>`?A|c^TsyRE=kAu6^Gpsx+B8}1Rf{owU$$JH~vG6Go!V$?Q z)?E9h$}G>ZNAKtQB*As(p$t-AEMq>+aK*!NBEMn9P*af3e8hD3MkXtH$vD@LX@qTo zF-z=K{(|1%?Q!mx05R*%{i#gaIvknmVPuE!Tg{laVu_b~=g~g`e$Q5lbHZ^!U6vc{ z53ddU&0)+{hi6CQBu|Dti2SejF8h7AjlDx}Zeti9HFDmw?4cxmYkJC2bQcp7$M;?^ zyWQ2hk8RQjHft9>f*|~7sb1mmKnO(&f=`QeV2p^*E-9Ukb>QsL)i-+M%LLN7_02K7 zBHaI`WJek)1OsFR#UD&lxFcgtOp~7+4u|N}gh|1x*ER4>G3c+ma`*#p&MOAk# z=Cv;lVqOz$08w$@E|%(;$<1WMgaMuygNJ5Qb-}qT?XMy%wEu@dI{rBz`i4NYJ~?Wa zwHGV_TNr&QNqn(S!#V`W{8(QH_UwND=K%f#U4{pkFvlN&wliO29bzz?fL%)0&P}iu zeDvoZKsK}E<5kDH5ekB~CjaQzV|BidM&vX9F(kHCkjDjRV zhGTv|O{1nhvb(U3X?UW-1j|?)kt+S`k|KEY_u(GnEBq!{KO!Z%^Dsw5P%VCW?oU7A z(usb6ZyhI%N+}e`eK#YiT&?!9wh`Io<^KpLHX;x$O$3^lUo$q-MrW_?94mGLH`w`B zEEkwO`^`jqy|n+!CHU7wnTGuhhG>ipvzdfhNNF`_&Cpf0onMH%eMC~2=4&<8xB000 zWc#)3w?+zjcCw8I+dIv|@2_dnDpnXEM2#SuF_M|L;)NQmv-Ql^3!WfnE|7c18XQ-o z3xAUQNni&{D?ajZVQFFZ`ZXD|90=2TDik*N2Iz%~jWtQ|6l0f`19*XAXDvk2GP`cL zqFEv7cNyEoewWqNL@x-*POZ}vp=H!4W#?Nk?@oI;Q{X$?HMu{xdmAOxd=!2HQrJ6X z8(k{@uCpHLA&vbsqdI}6-})m>0L)5#QISJp77dw=MzlWsibnaa<7IcweO^hk@oFdW z-n3BQsP!J9?lCvrBV=F(0OIF4qSVHhPM7Uf>y0ho!NH;R#SK+d)~Ea_a=q$)vjnu- zn-{iI`aNIGU|QR%_WSrHIvK4@kg`r?8tM&yaK~;`E+Wsxk3MpI0~#ljgu_{JHGq|fQFzSj5Kw|{TV#4zO0Ca0X_b`OhHu;7i1hl)ViV!ZsWp6P5^}F^P zS_;+fKL7?$#eE|T4*IJ8h}oTed5XyRS9=TKJ!h-1vwxh|prH7gRQw|R$!fG?_Y#H% z`gfqlXXPrqb@-g~Hj_MjVV-=ONwMuZe*jDzqKt*O2zzjOaZtXp!9-;0V8qxZx+S}% zQMvPxc3u%D`&5dVXrx;fKf@5C!p~#*_ka0DIsRU?C_Snuo^iyUTi};ljUg|JpVkuS z9K7gvL94~j1Pbkt$Y=O`=iO@&52|n*m@SYH?e}z!5esa54=_PT+exCX5rq;_+g@8b z(s*sn5hQJL>y3PSD&RG0FA4Y^4EQ#KWpGlz&MYcHtZ1q4o0U`2)i|Rb^-i?cm?pv8 zN3A1v=Sm|P|5DFj(9tP~RxbzYV65oVeIYh6^ts9V$zEe%*^e^#apClVs#pxu8Q#ewDveXqzyJIX;RY!!d1wd3)TqvY%|~2Jz#5b;*=BVA?VcrQCNu?);xO2uynD#}j7TRz^S z%_IuNefQxgnz~R%<;}IpT{SYPkbaAhRn8@C92nFyWv!W0i_#>qg49%U@aCa+S}P*F zBazHL7$`R3%y#yn=nMfdT&TPW<+Rm%Q$uCLx~;F*M>%X-G)$9m6!-^xw{Bp}TJqS0 zS-ONQ)`h9j?@`s2D~^5P(#tCFb_B(rc;m|N>AGBu^0K7g;uC_dt#<44{{ei_x9@Xp zjnJ9}&$eGzcxu(sOeo~WNeQBhN>ob9`bNt1tt#kNNXhgfRrX!teKfHu;vOiv)0deM z;oQI}43Bj#9Jigemuo1%E~i>^ac<(I@d=a8Y}aUtpb2L{$|45O@Kf_0ACCg0l^8D0&4uJi|DHJO}^F2d|8L>cEm&g12pkGjx){u>X9OeL8)mO1}Yu+IL= z;1m0*cRkJ}ODDj9t+^m){N%1>UJ9IX+go+fqofiEq@%OGZB(OgO!8vasjDxW2c;cG z9q$yWj|*&jK#+V@-P63gqID?fxG-cy7*=TTeOy@LG%DefJ5VoMul)QEfEvGi3Cglb z9YTf)*2!zF^ka#Os};Q8@Cwx;q-yt-Z`D7ho7-0Q?0fZa`(!u%IfzcFvKb6|bwID2 zSa%rm)DxMKfuP`5;(B4jY5YPLgG_h^MpMFJyF1aJrmu>kXW_dfiGV&ooMU-Eg&W z^GARzmgZ=EB#-UBk1_|4qd~IfAdLn^Y}d5qyqK70G;0_IlY|$!3ff$4N*)dVWNj`^ zM%=_t`q76*Y8`Ic(i_L_?uxy24PO@Ddz(%!LiU)msy=)dG%vjnY@p&T*Ar%a9>xHU zX8Eg|^3V^-t9sQ?x4JV?vbdQHl)Z0w?bTjC(x4q{_}-aCsmb?IyTXRJj<`Keg<|OL zep6HfLguA=Nue6Qp;78f-y(Q#Uk~Qjnj@d;vswSuqL`5M${g7YH=-0Bs4gC9%~lIW z0o>W{#Rxs+v4PGH_82N%p}&#@kMW^!IL`r%%zn?VKIj?1a9%p0Tp#;00{ znG#`H7D`_tBn7(h4p5$3p_B|gWHr09pp6mT6isG){SDX5MO5NKe?r)(j8CGJ+~z#^ zZd8#2X_W;jU2I3c9JK1ur=vHpDZ3jkGC*zcwcZo1qja<_rL{}r#oM3wy!~zh#xp5l zhXJdZxsXLdb%%_dZV6X8^swY-Sh%cYIB=~BD+Az z3;iCH8nWr)K~^+;B}F#oC@y8skg`+^RCB?Hc5yi9U1I`22(SZ#WoS(7PotFWO7lt; z29imBmar|pJwE9{ONn_Q{~J#}dpzCqjQx2*Zg);$Uf7GjxB_Y+zS1`;^5#*z*Es0q zOi`J#B{^@1H|m9L+}vir6v;6iB+Qy)H2}Su`C@U5X}CJ_8w;bB&-n0*Zrdv4pU&Fgy(uG5~H9dEzi#`osg; zrvz%7p)Gr7XMVI+0!TZH^UM1KpsfNUanL`yc>i+KVGX_ofnT|@7_)@8%R0{$u3ZQiS@dfPlrN&|!t#dcGrIH@o`gwZa1 z(98)%s5zR5c5Bim>70u;qw%b8P$UTjf`(e;E&kCn2P1r}(VG~D=F8eKgWQ-C2Im#! zEOV1vkd|G%Bl&8ZB1*3l)G~1!5^?e!TC|6Ju|!k!_La317Aff&m!ZmIedIaX3sl7D1FvOnmrCfpD}jxKE2d*F^wd@s8i(|RUrAe!`6&>-#B*$aA{Ng zBZPbXb5a+@TkoI4=;i4CD(M(=lv||s$k){8l@2^jVJi;@cHSbLR8n)6h2)=Bo1S}Y z(li|Te$^Jyo-3{ZOtEn5Q|nsx%6>hqLyrS2tLdn z_|M5WvgJIG=A4Z#hzufJ5k39{;umwf@O!g(&Lty%(gmR@*EMBq%EA#E1Be%e~um13AKJ}W0n zp}eBJ*@!%RTEB;6dU0)>*gNMX-RutAUnbbdW5BEezd=NZcR#m8RP26GQs?o0N@nkC8ZQ0>PekV&1w2Vqm;+&cbeMReEuJbewb*DWjngwaHZ8FXJy) z0mi=6OgEfWkoMf^FA)~aTj{}dYJ2NVy=RRy^$MvJiT-(j1Q9a%l6IC?%Y{DhlOeE_ z^waYoOTS2D_9OwySu#qyZiI~Sw@ecKnmGC299L}|AFVm>=tCL_4 zh@(*Y<320=%l0He=`N7hOhM-8Eh3KADLOP zPg0t6W^B^O2$_EkTmFxAL%JbtLcF!__+PNzaO*xTZH_Q_`jd$3Eg{O`t>S3)MOBU^ zz$W4Mag?eKrMCe@16RGe;oVN%=7swG+z!(P+$<3}sigU(^amEK`fi_IctjR9B-(Mw zJKuyBXYR%+rAvIiA`5w*({Q$(pp9ejF`Q-G10qkySA!G9CD>0UL_CiGz!AocQB}gz z5)sZ@v^M;O3XO#D@pv{^R+$lM71B|??QHInw>Zp9s`8eOd+|*tlPKn{e!?eIcE@$1 zw~p}|2_M6$q)Z~HC_R>7q`UM)yY&t>9*)KP9&?UV111uLmP+~7YtHeDcrJfm?}F)d zxUg?2xG;_5)c#!(Ht1_Z;`r8xIB`}OAW%`*+tIYmtF!4V8MXfbII{a3D$WEhvrZ!J zPjI9%JGUB+C5wfKzGsr?{Jl}fkb~v{H7ra@aeI^-d5dRyK`!Hykp}jwT3n=w`@LmxA`;;ahW<^E{7aMsAPh+k^-s4CQs#powvRta^Z{#+ zYv1l>!!EqOSSI)2yga6s0@}b0KYTcFwuw*NC36wWp9&DgKe$xytXGoe71~~;bDF8@~TpA1-k!>NXd%wD|GVN1#2>G zTd|2$z$TNf;5A?l1vaHf#WKXIM<&GBC4((e>%F#RRYZ7oor7sm-H5e+GuiJ=Gf>T- zs}pDd;OKe0&P&Z5n!W=mB?boj>ZAk_5-|y(F(7^Thb;}kq5s>i!T+Q8syo&RrdCsP zy`!PTTdAZOt!z`uLXr7|SKu@TB&zXlJ%WKCbbFV&UYKPq z-E%TAG$}UhLCKYYmEi+X0Xef4euuo(7oDlD+zxt)zB^$Rb{{AFXcb#&zuwGTYAhH@ z^y#OkYdU)4zWr8_cI!ozF|ThC5j!k9*WaZVn? z1RbkXcw%*wJ2h9h(6%;r$lhyZgMH0$1~iE z^jt1n0P?lzx^Z$ZJFTXMhPqi3yYv{5rq`x}ea_K(7ZgMSAsbacQnz)!(Kfs`U=e(p z*l$(_p@DPc=d9WpYL<@v-tKrQ*WFCUoxqILh(RQ#{CjSvRoPtP=xwSM~U z)aaLtc4ZJ=jseB$Z5_D>;s*i4bw}eLH^bKIwWqI+v5GqkKL}K2R$_gR-5ou=h#eR# zq>F3i%T?UrR6}LUbrgNRY_>#JzVLtVy$Lp`B=0|J6ar?RBqTfH)upp8wfTOG zyx4BdYJ0LPhA1zSdm^y}U=5Nz{m2zAk8+DEJ-Sx0^4|%TEh*gNHb8gbhZdu4|BmB* z-62A1mG29Ys7jKK|VMY%TM!>1PO~o2cc7C+#I2}w6>hn=I z;;~Hd5{zxKj!bMts=2MPp|-`fvoRtE8(SPDwO;hQR^QO5E0pE3A{DEeOe42b ztgAgP3=oCH*!W|ttQMEtL_LOtbo0FQe_HZu_p~m))cR~+dyYEm=L$-*? zmO-A@f>Bv5JtK2*W~gCutNH^gyMcpn`sk;7f&Po1r1>qdlID(oHRu^r_uxjtVhz*qU6u$Y39Y<0xi{_8;xe zPv(^XtH;mMoSI`0jp4;3t>JNo;dPqgV#X)LVw3E*Z%79WYK{!@N`XZxC&ViC9k)ts zmP>wdM@EPb)_1hnsNGqibIS7ghS0PUloaKM7=*d2zLVBY+cw{9*XG}ym{BO8I;J-* z89a(aV-`N%eJqM@%sxrWc2vBNH5vm(692~^McdhTB>omu?XMM3i}j;7d_RA23T{FE z-yaA^9B6CpFemwKu8h}|-nv>q-geS9jFB*ih}R-qT0QOxDTt^9zO=f`b2PH7L;rac zjamG7^l4glG5xV9N{bwt?Pjg2i{Ju|CuuIrt#0bF%mfX^%LFB5#y0Vf34e`Sb*Ot$ z{R9CEd)?sEkk~Z+EyK3yap|ozlqnl(0bkGi`)Ldit*6APLOl^wP)zl(K?%LIj(7g` z8G+5rFst&wspOGF6yam7{mhHJ%}N!O%Wt|qy)z9lJ(GM>#;7YbY&@m*n3=9G)#*`L z2ez`$VTZOnxcQ@W-YG}Z^RsTbB=sHR=3qm0L~$W|0CZZdR#{#Q8b6}Aov&hOiZsu* zjbJ1~I;VcnmS7pHE)jD5F&P+N&E?eHQMpYGM=^9nMX^_*%ktFAx9Mf}$y~kZ%Z$Ez z`UZc*oi5*By?jJ{x?v8^So&?2X2`zvE_p{9(27T0?C|ZJSC=Ylgm8Nr#+VSkynns8@7nqMn>KNsw2=@VEF0Goioh%Hf5-j-bWcURI zpuW!7ye>d=p_|86^tQy;nV8eK_ittos6Ql-)DOUy%5q1CI&h|vq>^~O=D9cqD9>yn zHF)sHzFA!+J*{xb2w%a3H0OACG@@BDd?{3dOAe+YWoPMZbvUh?%k8_;@{9fe%Ek2% zN{|!8!b3JwJT&E^+D2cj-bnw431FD2$j3pTboI#`Xh&hJ{**3EWGa1;@r=edl!iPj zac$0E7783!NZ&3Dc9Vq@&CAXUlv7zr!ywp$!!$l~<8TY)_Ne|I^hT-KZI+n5Yp@!wN2FCB0 z)?j4@{p+>6J5rOEA$F0(@B#qQt{O;cxc*ymKZYb zrO~mt?e{NXO`s?U~7*a8(UL-m8^D*P`_lgrmWB($E5+DxTO2dl{F&+%~gnQjMPopz%;{AM%Z5 zyfMv!c!c5uerJP)dAFc`56RG*1-Y(6IGsHXpUOxjTC|GoQG{SL8t0CvNld#Og`P|- z&Z$t<%tqS~VkLpYpR^mKy0V_8*hN#^%x|asb)Q$={hHeRbp9*Z{!Q63V@+a&+Q-Q% zbisjB&7EG$ZvhavXE|ryhh=L8|*I^^!FKkL%|gh$G=T_2JQgWgTH_O zzN!p-?0HyjD92B?UEiAB{CY(9D)9%Yck}h{-Sgt3Y#EI7Js%yDzoZEaM!WB44UJaj zC3j(CH&0sI*WOZ$)P5rzIVM26th3v&`epM^`i$4u)NQqyF)0uip{q4=4DQbSg=$|u zpZRye63FBmNo{(N9-qGS^=OPvtFjZEf)!V;N;4*cmx>fF-q)4MUC>`0l?OM~DkXW6 zcoEt-FE@}CdgrmSme9!P68rXfDt%~iRdrJdO7gdzH7FcqHTw^vs%v3bsmuy834#+isBvmt7$r0W0>|qIw*E_2wlw1U?n- za7=y-^2XsnLNv$ClZBezYpc+86ujRy=9;3sG|%U-914Y{jWGj)0iJK+|%gUK^sH%}-qoJC=_l9*9j*_Sr2MKX+rBz+YV`6-m`8BdsGjH?yFZ1tGDizrbekdKdiirkus* z$d-<`Q_Wz?<;0hVkx64y$xVxwXZ70M9ll;BFgLzHo1>+y;1s6y96Zbp9@3Wlx$@0 zVy~q%?ucqJAF4kYgGzZt#1DEUfbasy6uI#HSf#>c4_)7hd)U-ON@`bZOg|*=TJ*4N z)Kxo+B5CJF_ZRdhcP)=9o17rwm)k8LH}Jvb;<88^dWma?W8?L_`QhZ^A|tUMS};`j zC&ITEs6u$aIafeV^QK6$gtv~$drN11@UiSSwr=%rB*CHsALgZHY3?NnilkVku8|Lk zYMw}|$ceC0neTr9CcdvK-^sDD!61>Z`jc?|!n1EdRCeMkOGn0P&PtUnr;Wyk+s=-> zhhGkY!1gDWwT+kS4utaLf?H7>uDvGE!z73pUEMGE=pv`7JrP$Nwc0vYnZS!ihq~zc z;Zl^Q`UnFkxP^(LB{vk&`u3|@_Xds~MW!HV))6$tI5{i7WqKRi@1Kwk2EMU=l90Fr z`va2?A2LU@8XW0U=6(`=U2f~+&Ng_M8MLw^35kN@n#iM92S|w8{xrjo)vL!{@56j! zsF#HnGi_?2Zdw;m>1lt_$9*_e5Vb<6Y!=KTu$cHs;OapmHJ>M}Nma%=NBV#vuNgCs z>l!ObuPh(W@zdj>=CewLRiZspQ1HhBwBm|tA>I|5i)td_>g=hCT_l>Tvc?Y6)>>4i0x4m5#9FcVYfqqSQT@U)cwq( z1D%2Z;=@v$8LFa}q*!|7Cv&T51 z6qOPsg#?8itjhY2JW>{+T69UhWZO@B!Zlo+htUeHVDHoQNX|`pA}Qo%hL;q^DqW4M z(i4$^rm9pQbUxOYhMr!kx)$ww;x{y0EGd`*Doj*vFI>mL7}n%MTp1SAlQ$RsptFAL zp_>Me%lGjl=C@m31kFdjw^h>j4Qywf4S}64yQDj%2l#1UHs)3i(Lyh}-vV^lM`M-kfIXMteXY@}bERezOeEfFFtQyklavZC zs}f)4Ra8Qj{WhZsc`RzpKg;hgJ+CE8=Hj1g2D=Ra}8hPt$}wtt-W+Q8NYu7N{@AZPRXErYlbj>5V#W z$xOD?cckDovK>XM58hTOh+3E2j6IUA>f0AP9;y$Y=3!gE?Rqem^!xG~gOY{N;R_{v z|1{fY&(UrE^jZ{uM5oMNv!x|@nCSjJw6J~LxX}GdqoqOxdu6y|!#gR_MjS@d@Wmw7 zz zgni%S^i;C#+M9f&oL;MIPv50u?-2tHZ*ht{RHPyqxY7fSnLN8a@dhXPtM?vnilg!? zMazY|=Wg?RidOgi87DN5BGCG?A zH^qA6G}Z9y=S_eNazUbAONDx&$=zb+Dr&7_6mODL^1QI&Q9N+yO^CcSt~Sxtj#2*Y zTxnQyDR8^&J%rXV;>xL`o7wj0FyDyB3Z2RUgtqREq8Uv4@~!u$#Cv6ZhF80XMqk|l zEwyP&4Uhuw0>>lbd#j={)$n3YDKIrH6kCDOXi}I*`vT~ZqE|au`Rh&28 zXx3FHF-`M0lP!8wzaHN=O!!6gwa%L7D*Z{-ai!(CznOf0vExuWf8cR(7z2Fbycbtr zQ}g}sCdzon^YSd(Zq8h?Rj8xGEw`U^aW`3STKbGuAgy$iyhl=>zu&`_wlJEc=)_k# zMR$3A?@{p~QMt`{qjc85L6e`YG|A5?12^OnqnsgW`GtFYPz&t*drvO;cP^*c=SNI< zQnBNboRLC&KJ|_F$MZbNn|94+7u^g#l=t4*X7Z-N}jS7 z-nDnB5s14e$)Vgc^N7C@mno!gvBu&*;5_Xr%E@OFmxTRfwn8z3{m=6&3LS#VuhAHf zUxSz1ECS;D6Ip~f4#X1`Su?8Hj$WuPX~lKVgtbbQ{d9mZPfCkwN2CohCoKo7swKY2 zr$)u)HBsJBT>@I?H$BWw!fAl2ykalDbi*q&eg6Qi-)O!21JGhZG>$$5KWI-;_a}|? z4&?Ka+Y%Ldr7C2+Kylsk1?jEg=^tEKYL+ihum=@hhfNk_R_cus;XSX`T;4fVkN*Zi zm^S;GYL=$51bGq*TF6qP^wp849nOLBTnqyxmnw2Ak{6}C2RfHHP0hHOwo|$wV8=71 zxY_B%`yek;sdM(%gCXHIrw*%U%1boZ**rth!~;S4xrb5L$m;lQ)|;w7UHVtD-Pz-@ zj{3ib+8+QA|dsPlv{l&D|sZ0JO zEkuWv!L41f*Kwg2#4YT5*+YgC^BDb1{X(vK$z8t6G+9G))EqZ;-cMw!OK>)-*R1;; zeAEM9__wedsL*u9OHp-(_E%U>PdPKP6_X-UiS>Daa9L@IeDUWfdWjFkv{vR#(`@9s zih=SvJc}L!vYw>;2X8+1)$#~Hr%1wI5!NoYZ2jyMj@8Kk%7b6VIc@T< zcZctn={Y`h^i_5&^Da;Xkz2t3PT41ZSU82xWFTB^$zp`!aXYf;^Id(ObFBl0urYq8p|HW7=5b9)L=n zlE=+N4hu2wumf4hdRleP!8f((jTCGbz6M$6&T{P}J0aL)C_#yu7q78GO>?8Sp0gt^ zskgIK)4cH3E$?x&>tyYeD#!=kK|Q4ETmik)gUJ~7Q8l|8x6Y_B4$UO9(4}U$i82xP zS!#}P{U$!!b+o?s5Y;(Eaq0T~QAXP`ii1lx+IB=93RKEzux$D+yTcRae=5-5ZZu~w zE+XUtgxqgY9I-q0tZB(4ei_{u=k>^~Z@k#KXwpXPHW2+u5GL)WkYLbkpEm_JRatX! z)Hhl&KHG^zknZBP=;7vgq}Lf?-g-lxF^GU?E@-5F=_QU~49rqC#W(4Dc5CUJy3wS(jEj ze|Ml-D(HXA2MZ5ePHZ+gJWzh4DALE!DK|VYLLJ2mrxSUmQq%kJ>fM+A42SaY=O70i zseCHrxb5gB5`t^jdu?(Oq~LD(nS2sHpR7fKh*DyKq+^2GiBLCIgA(%+U6$ny&ba(V z!P1Xn)b;mDiJ1dr8|gN%NE>{?QNc?7hFyck5*p%zwrC?SCPv?qetWG0%)7_Q(>$bd zCP(9`SP|L6>h2}N=zRE=gme7rE?j8MH0G{Sgu!yPt% z;Ji&PD0>@Q8|K##uuy?@UP}T(8#u?$v`(|L^}u?H+91NRxKN%r7$GPw8MECD;U(fV z#)KLvM)S^uQ0Fo!#NTc5j;kYmD6m-aXQgl@Vq7mI>OA5<;xE|sGu}PRt1qb%endrq zRh@qR16UOJb$B9^h_JneR z@{Gb5?C#0`72}>{*R|KuHYv1RUqqXUOpb(r21W33)p*+o_|cNsUGVd zvz9dr`08#xS|mB1Y{rcu`=Zin9rggM3iVr-PvY@1e3y9sJ?2VK1PPKB-OFjviOUD^ zWOiji*R+IFWvo&7zj3)2=u;MDo+`FN-mDdEw{EhG*O;ta$eVR^yY+Vb z+z7bmc9VQV*flt^Kn8!AYdXCNgwWz|z zxWd}YfDL)RfDz%%uXkaWub(4-&-x8%z0;!f<1S_-WF>~z;~B=;xr)qT`GIr&1lM_{ zOj7hmMSi)S#_5N!jQD7^L8Urh$zT8(dD9!};|TLU_^Wx*X!#KrbZv+Z+^swtPRq8) z+D%l(Gw@!|JF?mTU4}=EOfGGJ(6<>7V#a~v?I@y|)or%W(tIqw^-CY6!iuQm z)NjM1tA=bmgtKx-vvUv$k^{42TUA~3kX#h;I2Rb(9?l@W00Qm$v&hB@3jK?#KVWFY z8%Cz>nw|>}Zwj`Fx!otw7@1^TQA5a6H^u59i4Dzl{2W=FSr|7d;zq)y()PSwvcZ|f=^a}C zT~HM-yy_|YHDWDKeJ3X`s}m4LcBbUo>qxOTdV7XTvX0I)g!Ne;0I~z3asmT4Rg##& zbvPxbTRwGXPQ?-%^cYrl^Aph<4*9rEO*KIw?#QKh5Nk1(>Fd=vI!=SAk1CL}>x%Gj zQD$QZRKG;~Q*%x2iycw%ufoaHPUCrN*tdwmQuY;M!O2Rs4U^zhsbi7K?d5sc zSU=>fe_Kb4Viuw~VbY#Z_KR;gK7i2u4}hYtUh^A3BM|cg^O$>~vXa2#aOv(?LcWjv zUJE{(gV=+{5~@ng8tTbzRy6qpc=NL% zPda4}Au!*@sR~I1Hv&q+MHlyt-#3bs`mtPg;3)Cn&rL~FQ(k&BOh;^iuFG*vV9TzC z;-PN$6x}sr5=&7LbJ`D?&>G8#Ddl-RA zC-1~ApMdEU57yZOe*g-rHBURmrAy?o6q^xsTy>r2$(J!?6O=533;A1Oucm~p<_`c4Od`qPw(#qkiW&-)e7PJ2 ze}6SrI&)K@tuEd0Tt^Z|iM20DC7ld;Lv&klh6cT1XRyTHw{wNQZTQ8)L`j_Xd;K^a zCJU*PY?&W!JTh#j#?Rwd=RVkxV8O{IDW@cg;-7rYO{};A=O3W`%UEXH@&h0F%)W}2 znK!9#HVsAQBuV_=ZTL949|fMqk*3>cngtm|i?245Ho}uLqO(gdm{lb)C<{j)&{Rzk zrlctITVqO?on>J^EW(?#7pFl#EV(q>XuM3z0@RA`xHf*=9t;vOv-jg}5ZZ;(_>Z zSxeN|5{&h%?gz`Cl(5r-xMt=8ZHQa!43X8oG?0E+!Ec(kvupY0zF`$5FS9qo%S_x} zrmBj47IR(nMlfiSE;5!VC4q%!7&BKpQIA)F&Y!!WBu5*7M8bGa9%E}ZR#poOinoj-KTp>iMKHOb-7-8e;pFGf`p6B< zUkbBJQ50OI-IX`X0vx`B^X78o@mL5fvG4$?2!2>889LnF%VVhdH)%LzDIc*zw{#3WBHRBi`T3=7O-^x&*4G-v&H5 z9((+2oL)-YNYZ_~y97ay?$9xV-i`GOpWQ1N_Q^eAaK0$TF>drh9XqNj3Ex;($B}0s z9Hu8nM#EVdY_mJg)UX{`foe;&kzVn}MJ^}MYt|>X$ZQbsaVrciC3tGTVoEPrJxH@B z4?D$a!*Ad6gCWDCI^)oeJP z#AuGJa4tm1Nv9dw*#zPxwDUp!b%Fp_VJb?%m6S;*eh62&`5a-;kUy!9TOqlOWTPn6z}y_Wr{{f!xb0ck z8!V-R(CRWzrea>$)d+XmlTCKr)2(qMj_G``$t6_ta&> zI^G!;vyDj8Zkm{DR@%E$*P00%36Lk1-+utlcWMR_VCnZq1@*^XKGbTZ;gej6s2imyU93+!=@b(kJ6C3GWyGO`&Kgbt(S?sK>3!>rz4$#1sI+HiYJv&A( z^uFDW+M%g+oU-@W&fCyA2GAM{@zv8L&UX@e7npO*ukp%NjA5&5-^-PBIn9?QT1~fO zB}rxIe6Im_bC!$#AV%FQ~pfRxKw9WpZYQC5EZ13%)>yjpZ}+a-$6r|>hW zYMYN>d_WOBDr!$594# zw4+19!Wms0%0_0c0k%A-+rGcz4)&w_m&@NmTzk0!OKCu0*0+R`E$w|%FcP*Ouadhh zgr-qO1U4Y6>t>%#cG8JQ3JzJJ50rbz1Jp#{w)YV;Rh7~g7c|m`N82wPN{HYMiwxVU zHOuErU2xvh{{S>I+U4Fo!+~x+rzIaC%@)C#Ceo9P^T>{PoYJ08G0Pu7rEL}LU#i#~ zi$pQ(l^o3`P#SSs9gb?w8UiP-GoB|NL#5>Oy6l@N`~ec8l`rf(?3%l_|C9*A+IAu6rm*3T_b`D7vTNKkBXrO$G*i_XS99e1Q(zrA>ND}|SGD^pWv zvAs?IMpu)qVKcV$DZS-m5LsXg3v_Wg|E!6md`(|!xR&|&SSkQV{iZpt5*9`ZX^@-g z%@Y1_Ot;e%Dhe)%XPBScTkXu0=Qby5L&uhjEoa;+1RTKq8BVFYySO;Ut3G_=R+X4a z4=&B3kwmYpH>*57p)&Av4Kl`36SBQ4=2!{gR*o&($?oW(`;tNgLW&fw(=V316#jx| z&+|KQNs;VWX5rJr7f%;+8oHxL*u1PYhVJ-aA9~%6dbcdp7VcM?e;az$mcH%14QzJA zAnR&-r@OHhg-nMDOLk!QO#_|;j;ho#ZiURP59^p&4Si(oR`ykt`=ya2RS&yf-Ccno zrWB-zL<`T7nRN0f_v+Id^I1?h!c8tb;^@NV?vr-o=D1>EL$eHnPynCgrCeKSW#a@c zTt`NQr&F|LJbWdTwrao^)%u_x?jwu1hW3c{x2!vV{YP+H4=VrK6Y~5l?;7ayL^Cpq zd5ULLR#iSS0VlY57=^T( zi$D6=49%@P;wq0Ri&oAIl3_5vjHluQ*x317`IClh^c--Z){3G(PZ>Jw_HIhu7!Hgp zhZw@}?NxYO{rgU|OClJMou;Jeq0)b?gI#3yoTMi?w=K%n-AOmBlk4IMCI-T4PrFMRMgH;YX%0N(`PK+e-j+^a!T zajQgz4Sc+>lS`qp4$pUqgv&mZ{7(RgavsU(7Wu;%X)B-aG|iD?=bD@Q8xFVR>6W2a z3w7f-=#zrl_aBC6PTMdo`xPn95tqXf0!@Pg;` zY}TqStOaUj_GI>ml~QVz3W3#1fzY`KD8dotGKrzxvN~cP_MHBtGM^!er;{zCMBt43 zL~eC-X1#x(hBr3e(8{z5p-czq#r#z{cxdKENj7ujxy(T>_oE5p@>h7s!(ggBc zSzA>>k!b~v`hDu+0Ed8PikQr)EuJ-H6*7HdkaY@4(+}HrGZE-kw9^x*@sTu&$#oVe z#Bq^@w6yumpoi&_c>gsCi%nK@6HO9n( zdP}J7G-cr(2IPi$Rs8sSQhLByZqwB)Hqbn7PS&hiDnLqY&~c>PbV(TDeArfP>fHR^ z7dkqOG*|ovY=9mywLMQ|mFUi7G^c?#tZNN4-7&?|<@6=3Fn&je+pk8R$}LJ^8sEGJ zu?X(}0Dy^0|COz!N*Yy_nz=dMcD^o?dM={7NJ<4;kMDGOMfYuym)##xj=a9ezqB~B zSyT=c6C=*xYalwp?jcEd!(3bj-@b;X&lK0p680`!2^&XQCo%6)+SJzY_TNS z4~)d-t)T5a$f_%EX53!ol6BtMnyxd_MJfmv503!B_5#&2Tiebdrei$)Qm=9uSwk3f zwPg%D(fFn-D}ta$(>(dSab52_4Im>%VMZYL{VX>{hDEX~BNN1bR?nc|b42$F=a))U zQvzESPP9xZxv_+xV@r{UjMX22LCsSX;Y!%Yo(}TRywqAI%f#7ObESb%JmAzr)ufew zeQ%1p*CF`|=M(vBT#u^mc>DdYBvLi-0|^o~P&XU!B|>G0sfnvG3jfx~n`aOuUS-_b zb%dW4Qp|@~M zRYVobUB!Q3sGrku$Y!XTP&`tOOu5@vdV`vkP?Oe7v`kz(N3Nynrcbz ze}?n@r+nCd$cO>YbM{g)OkbwRxhYT0zR;f_B0FAv&zAO7nOfXe@a^nXgV-9oAyQ_+rC?kGGLGYgJUE6})1ZI;p^2;s0G_mD;wUq~}O{b$;tER|Lpi zYbxhE9rO23f?t4qwOM?B0Nni3KyIomz+aMDr>FPhH*U{QCy>9?w7@(C=O&yDvJa73|XA{)Hc9ei;{>VaO-H{aLOp6T}0#+)x^M`P^`8RHQj%C*CUU@n(EKP*YT zb=+?o6Lgsa%+lir4pXhd^|B?fhgr5h@-(=Ma#k+czm%_1pN3Fl;o%X=CN&^b7dhKL zdU86$;KR_Qz9#F*$}I|&XOqp_-j6iNNPgRpt>K~M;{bxHHGfhmd!5o1lsv0cvU)@f zN70zz1~Q8wnc({}y;sa*Ql5vDvhC&|J^A+A7hind9i7xwY!aZw?nirznj^%(ar}%X zJ}Yn2#?egG`j1K}=gr6Yr;cL(sRqe|fe#=S*;}bIbf)J2ww^XcOxyk+>o6RU3=D&Y zlwozb=ACO^nYA(SgdGf=+LZ`Al%%_#lS?jj8KZ*2rl=h~(b^D0a6q<@MEsc?yES47 zltk$i07qh~=f?SdT!1luuz7aSR)PP%rt%wuJ2KlqcAf6heuD6__T2kzY0**s$B<{K zSsdNC_6%%W)~tOF1NbL-yCyPQfk}1KAHYxGgUIp)7>y0aGN>Re5W)tn*RG{e=pRR6 zvW6Vm%XOh{S?DH033-kJMe+7c?vuL3OYl~F=j`QcgY=l8e-_<_D-0IAfAo8JuZ~>5 zs1Ub^Ufk#>5G;Fc2D%htXl%X({&uH@IsBk^H0md{E#xI za&AYZ=;IfEje=Oloy2`lX=RDdiOceoim8C;q?sia{G+aZcHbOzp1ug(0_a?Vc$bN9ZXIQ%K76;1o+8>>Fu z4@1u_gVwv&rWe^7;iN)%5*~gqyl?wUC>31&WroKP&fU1zh$U5%@xR5Enl&aQ_8>yu zh$C9^eheT4B~($E9$I-({raIJ=4~KCOsPDC%(wFJ9&%TsRo?ECV_mc|WNMBTjgRG@ml^?JRsuBpWzXnpC&^1b29T1L{qo12Y$e=cO#xDGkdtX6UmPJ zx~rXa(Q=u4=!l_qZ8!-^%SGz%r7thXJ z@oyaqS7}(?P5;9Y(4c5G@Yn);ISN{jStz0ZKssnY)~9EeRSXoajj?5gMohPNMCxZy zz~K-KZpVAVdn^lU*MwHHS$!NRZ)+m`CsD z?CH5K)D6SCoNxiK&#IIlu_M7F;5%!)J}hu9KgLK&S&G-xX^&%Nrc$hgfeKjJBUxD{ zEc{{SL)g*P)vz#K=I8{frMXV76YRhNvRE%S>1og*gUBbwM}Typfqs?a6n}9Xlo}hb zDg>8f0r>R~5aC~3PH+(uo`T(8V+7|HzdaT$>3$5zhjaW?HjQ(I{sV|8k*nfRX$?lk z>Dp(%bP$T?dqGdy$w*D!+@$FC{~Zka6=P{y&TFo_M8upzW}@a{U&j}Db%?uvR+}~| z6N&QiOtX1DA{9eE+P@u28|Ofg$2Dyqqrx6V((ZOV_GNfg*#_@)6^%>9tT$lqn z#8CxNwB3FVZz(4CrDgAOid4o`ANB!->N1~Rl}&;CoPF*zbp77(Us=OQX{#FJK>!c? zI74kw`8Pqo=YF(TvO^c;24aKI3Xb)SUCq^Bt;k`9hPHLIip>+rJR$1^97^_LVV?=& zGu;FQFAZYK5Rb|a*P#qR0+kgDmNTvJ{80nOjhfYv9rV&QY-g{sALU2@ zp;8>R6BAds62#uRjy(a&t~_BDs~`^?+Nm4&qreapP}?g%Si6b@)2Ma%Y10jFgp8pe zrS4TZRu!+WyRpiUy7ZW8X;nBRh{1uSv7?ika_te^U!klvPZ7^8t+5SCpo3e0nD9Xg z9sTsp0+XqV4v_7-K7Vo;Ft@cxVX9NW3KDKcL-mjGon44?D_(L_l(4#5{UH`5zM6_M zk?DWG=1V;=OQO2CsS>smY_@7eMs&e!Jy`;^7&cN0S=Z?4`P_K#WVz8y*D;lp#5h@` z{{B45#YYK6{=`Qi*A<~y`|}a7sXU7B3XkVaJ*Dp^;PGs*#O`o{Dv9=8oDQdhn(%EO z(bDDLGSvnf&jqp#(USNp`7|iKt|%`e-ma>P?#X$^j<%)lYWAJ3$nNtiv@$)@iN6~| zq4C@ByyYwa=M20G1)3*wrxDb@#lILcz+MuSj%h!Z5#5L-@$IgC6imeZ!UhkpxtJUW zJdJkQ~4rR2M%mf>F!s?ZF($kfsjNOC2@BJg>* zjpo*KH!OL-Cn)ygL;MHU_s?KhtG=f=IZ}&06N7skBGc0KCO*a+fm6-(5=xlM^{Tp* zhn*tZ79|ptO)gJD#6eQWcQ&~!-GPI-MxWpLWkvV9B5%r9HMc%!F#zY$`kWt+bPTfD znp5aazt&XD6tfT#u7j8);bqQvBke|L6(- zp8Y%(^*mrTDM0{#DX-)K$4viCZ{A;!)Q{OC(-}xX0r(CoL}cW|s%Nv|AIp>u%upVh zwo=~4#fdcqD<{p9D%TiY=CxO>|6PE%eWCQ>}Mr66=$1968gp?ML zhv?7%egH;Dz%c|JumpcgA=wDLZQSf`ayY<}nDJ|z1O)|girGEhty|H5o3aW5jsY{Q zjq;$@Kvs{`lQlo!=l}M-z@JrEV;dt!CkJDF>%UjF1{SdF%uMV=j6{Dgd3hOxZLMq_ zloCl zAb=29n-IX#{w?r7FAz{La0o~!Xc$;HV1lME08kJxFi>zX2ncX+U}|sR_W*EY2$Zi( zLXfBm`cTC7Xw3d`dC(-^>iWK77-N_ zmyncFQdUt_Q`gWmG%_|ZH8ZzxbaHlab#wO!2n-4i2@MO6Pe@EkPDxEm&o3w}DlRE4 zE3a>8Y-(<4ZENoz7#tcN866v+n_pO5T3%UQ+u7aQKR7%(J~_R)y}N&Se0qL){c9Hp z0PNpp{ikLB!!Bf?U7+CLVBk=H?E(RH1s-6?;1FM#AW?)Ap!DrgiJASO(Z0py)%C%U zuqa-m8#w%e#UN$fA-nl&+P^IOe`naw|4)|vr(yqP*BSsG3gFbQAZ& z4Z&&QL7b(6(lg!bXfs(9y^d-d-=o<3YU#mj{Mvb2r_ksEvV|5*TzVsSX2J1K9T}Tv znduqyjf999Zb3PFzd@h2_X?i=HKY(Wd`OxqS%t?I*R6Idf)ezIr4zmZyjxGWD0Hyiut`@5yW=P%ZYScajt*V)@ z`+Ms(59ubfW;OFoq+;}v%|=l zFaqXAIe3dT>&$ujBD65vKya*XW1g^c=wr{rW?rz$Q;((Sl#~?487rbFl|}ZtM24A! zEj*-ZOTt~#AUbCRoI7QIO`b#K!pKUO_7FlhSK{^!D47_k>#680lptg+YIaEGb$0