From 257d1a9bd79d6883badfd903578fb059f2738b4e Mon Sep 17 00:00:00 2001 From: Horldsence Date: Sun, 13 Sep 2026 11:45:01 +0800 Subject: [PATCH] 46 --- .gitignore | 3 + README.md | 8 +- docs/paper/README.md | 12 +- docs/paper/REWRITE_NOTES.md | 14 + .../scripts/audit_paper_formal.py.tex | 206 - .../scripts/build_paper_support.py.tex | 393 -- .../listing-source/src/mcm26b/__init__.py.tex | 21 - .../src/mcm26b/belief/__init__.py.tex | 284 - .../src/mcm26b/belief/joint.py.tex | 388 -- .../data/listing-source/src/mcm26b/cli.py.tex | 374 - .../listing-source/src/mcm26b/config.py.tex | 213 - .../src/mcm26b/coverage/__init__.py.tex | 56 - .../src/mcm26b/evaluation/__init__.py.tex | 85 - .../src/mcm26b/geometry/__init__.py.tex | 9 - .../src/mcm26b/geometry/__main__.py.tex | 40 - .../src/mcm26b/geometry/localization.py.tex | 289 - .../src/mcm26b/geometry/planning.py.tex | 32 - .../src/mcm26b/guarantee/__init__.py.tex | 23 - .../src/mcm26b/guarantee/cover.py.tex | 428 -- .../src/mcm26b/harness/__init__.py.tex | 19 - .../src/mcm26b/harness/playback.py.tex | 38 - .../src/mcm26b/harness/scenes.py.tex | 55 - .../src/mcm26b/harness/simulator.py.tex | 21 - .../src/mcm26b/harness/suites.py.tex | 132 - .../src/mcm26b/harness/transport.py.tex | 62 - .../src/mcm26b/particles.py.tex | 458 -- .../src/mcm26b/planner/__init__.py.tex | 1032 --- .../src/mcm26b/planner/bayes_loop.py.tex | 816 --- .../src/mcm26b/planner/seven.py.tex | 113 - .../src/mcm26b/protocol/__init__.py.tex | 15 - .../src/mcm26b/protocol/client.py.tex | 333 - .../src/mcm26b/protocol/log.py.tex | 38 - .../src/mcm26b/protocol/rules.py.tex | 94 - .../src/mcm26b/protocol/state.py.tex | 97 - .../src/mcm26b/protocol/timing.py.tex | 61 - .../src/mcm26b/protocol/transport.py.tex | 44 - .../listing-source/src/mcm26b/routing.py.tex | 254 - docs/paper/data/source-listings.tex | 1530 +++- docs/paper/figures/q4-plan.tex | 3 +- docs/paper/main.pdf | Bin 1123090 -> 2024688 bytes docs/paper/main.tex | 35 +- docs/paper/sections/appendix.tex | 29 +- docs/paper/sections/comparison.tex | 7 +- docs/paper/sections/q1.tex | 25 - docs/paper/sections/q3.tex | 24 +- docs/paper/sections/q4.tex | 6 - docs/paper/sections/results.tex | 45 +- mcm26b-核心代码.ipynb | 6143 +++++++++++++++++ pyproject.toml | 1 + scripts/build_code_appendix.py | 324 + scripts/build_core_notebook.py | 1368 ++++ scripts/build_paper_support.py | 64 +- scripts/run_notebook_cells.py | 88 + uv.lock | 1672 ++++- 54 files changed, 11152 insertions(+), 6772 deletions(-) delete mode 100644 docs/paper/data/listing-source/scripts/audit_paper_formal.py.tex delete mode 100644 docs/paper/data/listing-source/scripts/build_paper_support.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/__init__.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/belief/__init__.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/belief/joint.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/cli.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/config.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/coverage/__init__.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/evaluation/__init__.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/geometry/__init__.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/geometry/__main__.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/geometry/localization.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/geometry/planning.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/guarantee/__init__.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/guarantee/cover.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/harness/__init__.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/harness/playback.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/harness/scenes.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/harness/simulator.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/harness/suites.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/harness/transport.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/particles.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/planner/__init__.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/planner/bayes_loop.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/planner/seven.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/protocol/__init__.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/protocol/client.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/protocol/log.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/protocol/rules.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/protocol/state.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/protocol/timing.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/protocol/transport.py.tex delete mode 100644 docs/paper/data/listing-source/src/mcm26b/routing.py.tex create mode 100644 mcm26b-核心代码.ipynb create mode 100644 scripts/build_code_appendix.py create mode 100644 scripts/build_core_notebook.py create mode 100644 scripts/run_notebook_cells.py diff --git a/.gitignore b/.gitignore index b001efe..927bebb 100644 --- a/.gitignore +++ b/.gitignore @@ -29,5 +29,8 @@ docs/paper/*.synctex.gz # pytest .pytest_cache/ +# Jupyter +.ipynb_checkpoints/ + # 1 output/ \ No newline at end of file diff --git a/README.md b/README.md index 337a733..7167ec5 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,11 @@ - [1-4 问最优与基线实现对比框架](project/README.md)(`uv run python -m project.run`,结果在 `project/results/`) - [最优与基线实现对比(论文口径说明)](docs/最优与基线实现对比.md) - [论文](docs/paper/main.tex) +- **单文件核心代码(问题一~四)**:[`mcm26b-核心代码.ipynb`](mcm26b-核心代码.ipynb)—— + 四问生产实现按"公共层→几何→信念/覆盖→调度→策略→逐问算例"整理成一个可独立运行的 + notebook,不含评测机、命令行外壳、采集/基准/绘图脚本、测试与未采用方案; + 重新生成用 `python scripts/build_core_notebook.py`,零依赖自检用 + `python scripts/run_notebook_cells.py`(按顺序执行全部代码单元)。 ## 项目结构 @@ -42,7 +47,8 @@ project/ # 1-4 问"最优实现 / 基线实现"对比框架:逐问 o # +独立参考,冻结基准集配对出数;见 project/README.md scripts/ # 采集、基准、可视化与校核脚本(含问题四批量仿真 benchmark_q4.py、 # 运行历史计时分解 analyze_run_timing.py、第四问覆盖证书 verify_q4_cover.py、 - # 论文插图 build_figure_data.py + scripts/matlab、日志归档 archive_replay_logs.py) + # 论文插图 build_figure_data.py + scripts/matlab、日志归档 archive_replay_logs.py、 + # 单文件核心代码生成/自检 build_core_notebook.py + run_notebook_cells.py) docs/figures/ # 论文插图(PNG)+ manifest.json(数据来源与 sha256)+ 图清单 output/ examples/ # 演练证据、算例与生成产物 ``` diff --git a/docs/paper/README.md b/docs/paper/README.md index b702b25..d6ab522 100644 --- a/docs/paper/README.md +++ b/docs/paper/README.md @@ -4,7 +4,7 @@ ## 交付文件 -- main.pdf:论文、正式数据清单与完整源码附录。 +- main.pdf:论文、正式数据清单与四问核心函数代码附录。 - main.tex、sections/:可编辑 LaTeX 源文件。 - data/formal-results.json、formal-results.csv、audit.md:六份正式测试数据、复算结果与校验说明。 - support-materials.zip:源码、六份正式原始日志、统计快照、论文工程及逐文件哈希清单。 @@ -37,12 +37,18 @@ 输出为 main.pdf。VS Code 默认配方为 latexmk (xelatex),自动完成交叉引用所需的多遍编译。 需要 TeX Live 的 XeLaTeX、ctex、TikZ,以及原项目 docs/paper/fonts/ 目录。 -在项目根目录生成支撑包: +生成附录核心函数清单(数据源为单文件核心代码 ipynb,需先更新该 ipynb): + + python scripts/build_code_appendix.py + +在项目根目录生成支撑包(需要原电脑的 Jammers-simulator-full 正式包): python scripts/build_paper_support.py --package ## 排版与复算 -正文采用原模板的字体、标题、页边距及页码设置。源码附录通过 data/listing-source/ 的显示副本处理数学符号的 LaTeX 转义,支撑包保留原始可执行源码。 +正文采用原模板的字体、标题、页边距及页码设置。附录代码直接取自单文件核心代码 ipynb,数学符号由导言区的 lstlisting 样式 corecode 映射,不再维护独立的源码显示副本目录。 统计表、汇总量和耗时图由同一快照生成;几何图取正文给定参数。 正文使用集合估计、凸外包、清除充分条件、集合覆盖、信息增益和最近邻路径排序等概念描述模型。 +附录只收录四问主线的核心函数(32 个,约 1300 行),评测机、命令行外壳、采集与绘图脚本、 +测试以及未被采用的方案不进入论文;完整可执行程序见支撑包的 mcm26b-核心代码.ipynb。 diff --git a/docs/paper/REWRITE_NOTES.md b/docs/paper/REWRITE_NOTES.md index 6ccc21b..f516e5a 100644 --- a/docs/paper/REWRITE_NOTES.md +++ b/docs/paper/REWRITE_NOTES.md @@ -33,3 +33,17 @@ mcm26b-paper.cls 保持与原仓库模板逐字节一致,文档沿用原模板 正式统计按官方整数微秒和毫秒计算,支撑包提供 SHA-256 清单供复核。 本轮修订前的 PDF 和支撑包保存在 tmp/paper-rewrite/main-before-six-records.pdf 与 support-before-six-records.zip。 + +## 清理论文与源码附录(本轮) + +- 清除 7 个文件中已提交的 git 冲突标记(main.tex、results.tex、q1.tex、q3.tex、 + q4.tex、appendix.tex、scripts/build_paper_support.py):冲突块统一取 PNG 图版一侧, + 即图全部使用 docs/figures 下由 build_figure_data.py 与 scripts/matlab 生成的插图, + 与未冲突的 timing/q2 两节风格一致;随之保留演练回放图与三点交会解析算例。 +- 顺带修正冲突遗留的事实不一致:正式样本由"四份/两次"改为六份(问题三、四各三次), + 删除"第三次正式记录未提供"的过时表述,结果一节的重复等效距离段落合并。 +- 附录不再逐字排版全部源码(原 33 份,含评测机、命令行外壳、采集/基准/绘图脚本与测试)。 + 改为"核心程序代码":只列四问主线核心函数 32 个、约 1300 行,每个附一句中文说明; + 数据源是 mcm26b-核心代码.ipynb,由 scripts/build_code_appendix.py 生成 + data/source-listings.tex,数学符号在 main.tex 的 corecode 样式里统一映射。 +- 复算:latexmk -xelatex 通过,50 页,无未解析引用与未定义文献。 diff --git a/docs/paper/data/listing-source/scripts/audit_paper_formal.py.tex b/docs/paper/data/listing-source/scripts/audit_paper_formal.py.tex deleted file mode 100644 index ede89bf..0000000 --- a/docs/paper/data/listing-source/scripts/audit_paper_formal.py.tex +++ /dev/null @@ -1,206 +0,0 @@ -"""Audit only the formal exports selected in the official simulator's test folder. - -Match the public activation-ticket digest to the official statistics queue, -and the complete package digest to its result sidecar. Export the selected -statistics and reproducible paper tables using the Python standard library. -""" -from __future__ import annotations - -import argparse -import base64 -import csv -import hashlib -import json -import sqlite3 -import struct -from decimal import Decimal, ROUND_HALF_UP -from pathlib import Path - -ROOT = Path(__file__).resolve().parents[1] -FIELDS = ( - "entered", "end_reason", "cleared_jammer_count", "measure_accepted_count", - "virtual_time_us", "program_run_duration_ms", "channel_switch_count", - "clear_failure_count", "state", -) - - -def sha(data: bytes) -> str: - return hashlib.sha256(data).hexdigest() - - -def public_header(path: Path) -> tuple[dict, str]: - data = path.read_bytes() - if data[:8] != b"JMBFLOG1" or len(data) < 14: - raise ValueError(f"Unsupported formal envelope: {path.name}") - version, size = struct.unpack(">HI", data[8:14]) - if version != 1 or not 0 < size <= len(data) - 14: - raise ValueError(f"Invalid envelope header: {path.name}") - header = json.loads(data[14:14 + size]) - if header["package_type"] != "formal_behavior_log": - raise ValueError("Practice logs are not admitted") - return header, sha(data) - - -def fixed(value: Decimal, digits: int = 3) -> str: - return str(value.quantize(Decimal(1).scaleb(-digits), rounding=ROUND_HALF_UP)) - - -def derive(row: dict) -> dict: - count = row["cleared_jammer_count"] - total = Decimal(row["virtual_time_us"]) / 1_000_000 - movement = total - (5 * row["measure_accepted_count"] - + row["channel_switch_count"] + 5 * count - + 3 * row["clear_failure_count"]) - if count <= 0 or movement < 0: - raise ValueError("Invalid counts or negative inferred movement time") - return { - "virtual_time_s": str(total), - "average_clear_time_s": fixed(total / count, 6), - "program_run_duration_s": fixed(Decimal(row["program_run_duration_ms"]) / 1000), - "inferred_movement_time_s": str(movement), - "inferred_distance_m": str(5 * movement), - "movement_share_percent": fixed(100 * movement / total, 6), - "source_total": None, - "clear_fraction": None, - } - - -def collect(sim: Path) -> list[dict]: - selected = sorted((sim / "test").rglob("*.jlog")) - if not selected: - raise ValueError("No formal exports in test/") - queue = sim / "JammersSimulatorData/formal-statistics-queue.sqlite3" - original = sim / "JammersSimulatorData/behavior-logs" - # Read the live queue including its WAL, without writing to the simulator. - with sqlite3.connect(queue.resolve().as_uri() + "?mode=ro", uri=True) as db: - db.row_factory = sqlite3.Row - query = "SELECT activation_ticket_sha256," + ",".join(FIELDS) + " FROM statistics_tasks" - statistics = {r["activation_ticket_sha256"]: dict(r) for r in db.execute(query)} - records = [] - for path in selected: - header, digest = public_header(path) - encoded = header["server_ticket_b64"] - ticket_hash = sha(base64.urlsafe_b64decode(encoded + "=" * (-len(encoded) % 4))) - sidecar = json.loads((original / (path.stem + ".result.json")).read_text("utf-8")) - for field in ("problem_no", "formal_index", "case_code"): - if header[field] != sidecar[field]: - raise ValueError(f"Mismatched case: {path.name}") - if digest != sidecar["package_sha256"] or digest != sha((original / path.name).read_bytes()): - raise ValueError(f"Mismatched formal package: {path.name}") - matched = statistics[ticket_hash] - row = {name: header[name] for name in ("problem_no", "formal_index", "case_code", "client_version")} - row.update({name: matched[name] for name in FIELDS}) - row.update({ - "file": path.relative_to(sim).as_posix(), "size_bytes": path.stat().st_size, - "package_sha256": digest, "activation_ticket_sha256": ticket_hash, - "created_at_utc": header["created_at_utc"], - "ended_at_utc": sidecar["ended_at_utc"], - "content_encryption": header["content_encryption"], - "identity_and_ticket_content_omitted": True, - "same_as_official_original": True, - }) - row["derived"] = derive(row) - records.append(row) - keys = [(r["problem_no"], r["formal_index"]) for r in records] - if len(set(keys)) != len(keys): - raise ValueError("Duplicate formal attempt") - return records - - -def write_outputs(rows: list[dict], out: Path) -> None: - out.mkdir(parents=True, exist_ok=True) - snapshot = { - "schema": "paper-formal-audit-v1", - "selection": "Only Jammers-simulator-full/test/**/*.jlog", - "statistics_source": "Official formal-statistics-queue.sqlite3; matched by SHA-256 of the public activation ticket", - "coverage": {str(p): sorted(r["formal_index"] for r in rows if r["problem_no"] == p) - for p in (3, 4)}, - "measurement_scope": "Per-case official action counts, virtual duration and program duration", - "limitations": [ - "Source totals, source types, solver commit and trajectories require additional evidence.", - "Queue state confirmed records a statistics submission acknowledgement.", - ], - "records": rows, - } - (out / "formal-results.json").write_text(json.dumps(snapshot, ensure_ascii=False, indent=2) + "\n", "utf-8") - columns = ["problem_no", "formal_index", "case_code", *FIELDS, "package_sha256"] - with (out / "formal-results.csv").open("w", encoding="utf-8-sig", newline="") as handle: - writer = csv.DictWriter(handle, fieldnames=columns + list(rows[0]["derived"])) - writer.writeheader() - for row in rows: - writer.writerow({**{key: row[key] for key in columns}, **row["derived"]}) - for problem in (3, 4): - by_index = {r["formal_index"]: r for r in rows if r["problem_no"] == problem} - lines = ["% Generated by scripts/audit_paper_formal.py; seconds; half-up rounding."] - for index in (1, 2, 3): - row = by_index.get(index) - if row is None: - lines.append(f"测试 {index} & 未提供记录 & -- & -- & -- " + r"\\") - else: - avg = Decimal(row["virtual_time_us"]) / 1_000_000 / row["cleared_jammer_count"] - lines.append(f"测试 {index} & \\texttt{{{row['case_code']}}} & {row['cleared_jammer_count']} & {fixed(avg)} & {row['derived']['program_run_duration_s']} " + r"\\") - (out / f"formal-q{problem}-rows.tex").write_text("\n".join(lines) + "\n", "utf-8") - cost_lines, constants = [], [] - for row in rows: - label = f"Q{row['problem_no']}-{row['formal_index']}" - total = Decimal(row["virtual_time_us"]) / 1_000_000 - move = Decimal(row["derived"]["inferred_movement_time_s"]) - cost_lines.append(f"{label} & {row['measure_accepted_count']} & {row['channel_switch_count']} & {row['clear_failure_count']} & {fixed(total)} & {fixed(move)} & {fixed(100*move/total, 2)}\\% " + r"\\") - (out / "formal-cost-rows.tex").write_text("\n".join(cost_lines) + "\n", "utf-8") - for problem, word in ((3, "Three"), (4, "Four")): - group = [r for r in rows if r["problem_no"] == problem] - count = sum(r["cleared_jammer_count"] for r in group) - total = sum(Decimal(r["virtual_time_us"]) / 1_000_000 for r in group) - mean = sum(Decimal(r["virtual_time_us"]) / 1_000_000 / r["cleared_jammer_count"] for r in group) / len(group) - constants.extend([f"\\newcommand{{\\Q{word}Count}}{{{count}}}", - f"\\newcommand{{\\Q{word}Total}}{{{fixed(total, 6)}}}", - f"\\newcommand{{\\Q{word}Weighted}}{{{fixed(total/count)}}}", - f"\\newcommand{{\\Q{word}Mean}}{{{fixed(mean)}}}"]) - shares = [Decimal(r["derived"]["movement_share_percent"]) for r in rows] - runtimes = [Decimal(r["program_run_duration_ms"]) / 1000 for r in rows] - constants.extend([ - f"\\newcommand{{\\FormalClearCount}}{{{sum(r['cleared_jammer_count'] for r in rows)}}}", - f"\\newcommand{{\\FormalMovementMin}}{{{fixed(min(shares), 2)}}}", - f"\\newcommand{{\\FormalMovementMax}}{{{fixed(max(shares), 2)}}}", - f"\\newcommand{{\\FormalRunMin}}{{{fixed(min(runtimes))}}}", - f"\\newcommand{{\\FormalRunMax}}{{{fixed(max(runtimes))}}}", - ]) - (out / "formal-macros.tex").write_text("\n".join(constants) + "\n", "utf-8") - audit = ["# 正式测试数据核对", "", f"本次汇总 `Jammers-simulator-full/test` 中的 {len(rows)} 份正式导出包。", - "利用公开头部的案例信息、包哈希及票据哈希,与原始导出、结果侧文件和官方正式统计数据库建立对应关系。", "", - "| 案例 | 正式序号 | 原件一致 | 包 SHA-256 |", "| --- | --- | --- | --- |"] - for row in rows: - audit.append(f"| {row['case_code']} | Q{row['problem_no']}-{row['formal_index']} | 是 | `{row['package_sha256']}` |") - audit += ["", "虚拟时间保留官方整数微秒,程序运行时间采用官方毫秒。平均定位清除时间 = 总虚拟秒数 / 清除数。", - "移动时间由总时长减去检测、换频、成功及失败清除耗时计算。", - "`confirmed` 表示统计提交确认,`user_exit` 表示主动退出。", - "实验评价采用清除数量、逐案例平均定位清除时间、程序运行时间和动作耗时分解。", - "扩展评价所需的源总数与配对场景设计见论文未来工作。", ""] - (out / "audit.md").write_text("\n".join(audit), "utf-8") - - -def main() -> None: - parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument("--sim-root", type=Path, default=ROOT / "Jammers-simulator-full") - parser.add_argument("--out", type=Path, default=ROOT / "docs/paper/data") - parser.add_argument("--snapshot", type=Path, help="Regenerate tables from the audited anonymous snapshot, without the simulator database") - args = parser.parse_args() - if args.snapshot: - rows = json.loads(args.snapshot.read_text("utf-8"))["records"] - for row in rows: - if derive(row) != row["derived"]: - raise ValueError("Snapshot arithmetic changed") - path = args.sim_root / row["file"] - if path.exists() and public_header(path)[1] != row["package_sha256"]: - raise ValueError("Snapshot and formal export disagree") - else: - rows = collect(args.sim_root) - write_outputs(rows, args.out) - for row in rows: - print(f"Q{row['problem_no']}-{row['formal_index']} {row['case_code']}: " - f"cleared={row['cleared_jammer_count']} average={row['derived']['average_clear_time_s']} s " - f"real={row['derived']['program_run_duration_s']} s") - - -if __name__ == "__main__": - main() diff --git a/docs/paper/data/listing-source/scripts/build_paper_support.py.tex b/docs/paper/data/listing-source/scripts/build_paper_support.py.tex deleted file mode 100644 index a5ee614..0000000 --- a/docs/paper/data/listing-source/scripts/build_paper_support.py.tex +++ /dev/null @@ -1,393 +0,0 @@ -"""Build vector figure sources, comparison tables, source listings, and a support ZIP. - -Formal figures use the audited snapshot only. Geometric figures use declared -algorithm parameters, not fabricated observations or hidden simulator data. -The paired optimal-versus-baseline tables are generated from project/results/*.json -so that no number in the comparison section is hand copied. -""" -from __future__ import annotations - -import argparse -import hashlib -import json -import zipfile -from decimal import Decimal, ROUND_HALF_UP -from pathlib import Path - -ROOT = Path(__file__).resolve().parents[1] -PAPER = ROOT / "docs/paper" -PROJECT_RESULTS = ROOT / "project/results" - -# Display copies only: executable Python files remain byte-for-byte unchanged. -ESCAPE_OPEN = "(" + "*@" -ESCAPE_CLOSE = "@*" + ")" -LATEX_SYMBOLS = { - "\u03b1": r"\alpha", "\u03b4": r"\delta", "\u03b8": r"\theta", - "\u03bb": r"\lambda", "\u03c0": r"\pi", "\u03c1": r"\rho", - "\u03c6": r"\varphi", "\u2308": r"\lceil", "\u2309": r"\rceil", - "\u2200": r"\forall", "\u2203": r"\exists", "\u2205": r"\varnothing", - "\u2208": r"\in", "\u2227": r"\wedge", "\u2229": r"\cap", - "\u222a": r"\cup", "\u2248": r"\approx", "\u2264": r"\le", - "\u2265": r"\ge", "\u2286": r"\subseteq", "\u2287": r"\supseteq", - "\u27f9": r"\Longrightarrow", -} - - -def escaped_listing(source: str) -> str: - if ESCAPE_OPEN in source or ESCAPE_CLOSE in source: - raise ValueError("Source collides with the LaTeX escape delimiters") - return "".join( - ESCAPE_OPEN + r"\ensuremath{" + LATEX_SYMBOLS[c] + "}" + ESCAPE_CLOSE - if c in LATEX_SYMBOLS else c for c in source - ) - - -def digest(data: bytes) -> str: - return hashlib.sha256(data).hexdigest() - - -def figures(rows: list[dict]) -> None: - out = PAPER / "figures" - out.mkdir(parents=True, exist_ok=True) - plan = json.loads((ROOT / "src/mcm26b/guarantee/plans/q4_mincover_v2.json").read_text("utf-8")) - lines = [ - r"\begin{figure}[htbp]\centering", - r"\begin{tikzpicture}[x=0.00145cm,y=0.00145cm,font=\small]", - r"\fill[inkblue!5] (0,0) circle (1800);", - r"\draw[thick] (0,0) circle (1800);", - r"\draw[->,warmgray] (-2900,0)--(2950,0) node[right] {$x$/m};", - r"\draw[->,warmgray] (0,-2800)--(0,2850) node[above] {$y$/m};", - ] - for x in (-2000, -1000, 1000, 2000): - lines += [fr"\draw ({x},-35)--({x},35);", - fr"\node[below,font=\scriptsize] at ({x},-50) {{{x}}};"] - for x, y in plan["points"]: - lines.append(fr"\fill[inkblue] ({x},{y}) circle (33);") - lines += [ - r"\node[anchor=west,align=left] at (3250,900) {圆域:源位置先验\\蓝点:31个检测站};", - r"\node[anchor=west,align=left] at (3250,-700) {部分站点在圆域外\\用于接收向外发射的源};", - r"\end{tikzpicture}", - r"\caption{第四问集合覆盖模型得到的31个检测站及源位置区域。}", - r"\label{fig:q4plan}\end{figure}", - ] - (out / "q4-plan.tex").write_text("\n".join(lines) + "\n", "utf-8") - colors = ["inkblue", "inkblue!50", "warmgray!70", "black!18"] - bars = [ - r"\begin{figure}[htbp]\centering", - r"\begin{tikzpicture}[x=0.00108cm,y=0.85cm,font=\small]", - ] - for j, row in enumerate(rows): - y = len(rows) - 1 - j - components = [Decimal(row["derived"]["inferred_movement_time_s"]), - Decimal(5 * row["measure_accepted_count"]), - Decimal(row["channel_switch_count"]), - Decimal(5 * row["cleared_jammer_count"] + 3 * row["clear_failure_count"])] - label = f"Q{row['problem_no']}-{row['formal_index']}" - bars.append(fr"\node[anchor=east] at (-100,{y + 0.3}) {{{label}}};") - current = Decimal(0) - for amount, color in zip(components, colors): - bars.append(fr"\fill[{color}] ({current},{y}) rectangle ({current + amount},{y + 0.6});") - current += amount - bars.append(fr"\node[anchor=west,font=\scriptsize] at ({current + 80},{y + 0.3}) {{{current:.1f}}};") - bars.append(r"\draw[->] (0,-0.25)--(10500,-0.25);") - for tick in range(0, 10001, 2000): - bars.append(fr"\draw ({tick},-0.25)--({tick},-0.35) node[below,font=\scriptsize] {{{tick}}};") - bars.append(r"\node[anchor=west,font=\scriptsize] at (10400,-0.65) {s};") - for x, color, label in zip((0, 2600, 5200, 7600), colors, ("移动", "检测", "换频", "清除")): - bars += [fr"\fill[{color}] ({x},-1.3) rectangle ({x + 350},-1.05);", - fr"\node[anchor=west] at ({x + 450},-1.175) {{{label}}};"] - bars += [ - r"\end{tikzpicture}", - r"\caption{正式测试的累计虚拟耗时分解。移动时间由总耗时与各动作计数计算。}", - r"\label{fig:costbars}\end{figure}", - ] - (out / "formal-time-bars.tex").write_text("\n".join(bars) + "\n", "utf-8") - - -def fixed(value: float | None, digits: int = 3) -> str: - if value is None: - return "--" - return str(Decimal(str(value)).quantize(Decimal(1).scaleb(-digits), rounding=ROUND_HALF_UP)) - - -def percent(value: float | None, digits: int = 1) -> str: - if value is None: - return "--" - return fixed(100 * value, digits) + r"\%" - - -def flag(value: bool | None) -> str: - return "--" if value is None else ("是" if value else "否") - - -def project_tables() -> None: - """Generate the optimal-versus-baseline comparison tables from project/results.""" - out = PAPER / "data" - out.mkdir(parents=True, exist_ok=True) - data = {name: json.loads((PROJECT_RESULTS / f"{name}.json").read_text("utf-8")) - for name in ("q1", "q2", "q3", "q4")} - examples, random = data["q1"]["aggregate_examples"], data["q1"]["aggregate_random"] - two = data["q2"]["aggregate"] - three, paired3 = data["q3"]["aggregate"]["variants"], data["q3"]["aggregate"]["paired"] - four, paired4 = data["q4"]["aggregate"]["variants"], data["q4"]["aggregate"]["paired"] - head = "% Generated by scripts/build_paper_support.py from project/results/*.json." - - macros = [ - ("ProjQOneExampleCases", str(examples["cases"])), - ("ProjQOneRandomCases", str(random["cases"])), - ("ProjQOneFixedStatusBase", percent(examples["status_accuracy_baseline"])), - ("ProjQOneFixedMaeBase", fixed(examples["diameter_mae_baseline_m"])), - ("ProjQOneFixedMaeMaxBase", fixed(examples["diameter_max_err_baseline_m"])), - ("ProjQOneFixedCoverBase", percent(examples["coverage_accuracy_baseline"])), - ("ProjQOneFixedMsOpt", fixed(examples["runtime_optimal_mean_ms"])), - ("ProjQOneFixedMsBase", fixed(examples["runtime_baseline_mean_ms"])), - ("ProjQOneRandStatusBase", percent(random["status_accuracy_baseline"])), - ("ProjQOneRandMaeBase", fixed(random["diameter_mae_baseline_m"])), - ("ProjQOneRandMaeMaxBase", fixed(random["diameter_max_err_baseline_m"])), - ("ProjQOneRandCoverBase", percent(random["coverage_accuracy_baseline"])), - ("ProjQOneRandMsOpt", fixed(random["runtime_optimal_mean_ms"])), - ("ProjQOneRandMsBase", fixed(random["runtime_baseline_mean_ms"])), - ("ProjQTwoCases", str(two["optimal"]["cases"])), - ("ProjQTwoInitialRadius", fixed(two["_initial_radius_mean_m"])), - ("ProjQTwoGuaranteeOpt", percent(two["optimal"]["guaranteed_rate"])), - ("ProjQTwoGuaranteeMec", percent(two["baseline_mec"]["guaranteed_rate"])), - ("ProjQTwoGuaranteePerp", percent(two["baseline_perp"]["guaranteed_rate"])), - ("ProjQTwoWorstOpt", fixed(two["optimal"]["worst_posterior_mean_m"])), - ("ProjQTwoWorstRef", fixed(two["reference"]["worst_posterior_mean_m"])), - ("ProjQTwoRatioOpt", fixed(two["optimal"]["final_ratio_mean"])), - ("ProjQTwoRatioMec", fixed(two["baseline_mec"]["final_ratio_mean"])), - ("ProjQTwoWorstPerp", fixed(two["baseline_perp"]["worst_posterior_mean_m"])), - ("ProjQTwoWorstMec", fixed(two["baseline_mec"]["worst_posterior_mean_m"])), - ("ProjQThreeScenes", str(three["optimal"]["episodes"])), - ("ProjQThreeMeanOpt", fixed(three["optimal"]["virtual_time_mean_s"])), - ("ProjQThreeMeanSeven", fixed(three["seven"]["virtual_time_mean_s"])), - ("ProjQThreeMeanBase", fixed(three["baseline"]["virtual_time_mean_s"])), - ("ProjQThreeDropOpt", percent(-paired3["optimal_vs_baseline"]["mean_relative_change"])), - ("ProjQThreeDropMedianOpt", - percent(-paired3["optimal_vs_baseline"]["median_relative_change"])), - ("ProjQThreeDropSeven", percent(-paired3["seven_vs_baseline"]["mean_relative_change"])), - ("ProjQThreeFasterOpt", - f"{paired3['optimal_vs_baseline']['faster_scenes']}/{paired3['optimal_vs_baseline']['compared']}"), - ("ProjQThreeMeasuresOpt", fixed(three["optimal"]["measures_mean"])), - ("ProjQThreeMeasuresBase", fixed(three["baseline"]["measures_mean"])), - ("ProjQThreeMoveOpt", fixed(three["optimal"]["move_distance_mean_m"] / 1000)), - ("ProjQThreeMoveBase", fixed(three["baseline"]["move_distance_mean_m"] / 1000)), - ("ProjQThreeWallOpt", fixed(three["optimal"]["compute_wall_mean_s"])), - ("ProjQFourScenes", str(four["optimal"]["episodes"])), - ("ProjQFourMeanOpt", fixed(four["optimal"]["virtual_time_mean_s"])), - ("ProjQFourMeanGrid", fixed(four["baseline_grid"]["virtual_time_mean_s"])), - ("ProjQFourMeanBase", fixed(four["baseline"]["virtual_time_mean_s"])), - ("ProjQFourClearOpt", percent(four["optimal"]["cleared_ratio_mean"])), - ("ProjQFourClearGrid", percent(four["baseline_grid"]["cleared_ratio_mean"])), - ("ProjQFourClearBase", percent(four["baseline"]["cleared_ratio_mean"])), - ("ProjQFourAbsentBase", str(four["baseline"]["absent_misjudged_total"])), - ("ProjQFourMeasuresOpt", fixed(four["optimal"]["measures_mean"])), - ("ProjQFourMeasuresBase", fixed(four["baseline"]["measures_mean"])), - ("ProjQFourFallbackOpt", fixed(four["optimal"]["fallback_clear_attempts_mean"])), - ("ProjQFourValidOpt", - f"{four['optimal']['valid_episodes']}/{four['optimal']['episodes']}"), - ("ProjQFourValidGrid", - f"{four['baseline_grid']['valid_episodes']}/{four['baseline_grid']['episodes']}"), - ("ProjQFourRiseOpt", percent(paired4["optimal_vs_baseline"]["mean_relative_change"])), - ("ProjQFourMoveOpt", fixed(four["optimal"]["move_distance_mean_m"] / 1000)), - ("ProjQFourMoveBase", fixed(four["baseline"]["move_distance_mean_m"] / 1000)), - ] - lines = [head] + [f"\\newcommand{{\\{name}}}{{{value}}}" for name, value in macros] - (out / "project-macros.tex").write_text("\n".join(lines) + "\n", "utf-8") - - def write(stem: str, rows: list[str]) -> None: - (out / stem).write_text("\n".join([head, *rows]) + "\n", "utf-8") - - write("project-overview-rows.tex", [ - "问题 & 核心指标 & 最优实现 & 基线实现 " + r"\\", - f"1 & 直径平均绝对误差 / 覆盖判定准确率 & {fixed(random['diameter_mae_optimal_m'])} m / " - f"{percent(random['coverage_accuracy_optimal'])} & {fixed(random['diameter_mae_baseline_m'])} m / " - f"{percent(random['coverage_accuracy_baseline'])} " + r"\\", - f"2 & 保证接收率 / 最坏后验半径均值 & {percent(two['optimal']['guaranteed_rate'])} / " - f"{fixed(two['optimal']['worst_posterior_mean_m'])} m & {percent(two['baseline_mec']['guaranteed_rate'])} / " - f"{fixed(two['baseline_mec']['worst_posterior_mean_m'])} m " + r"\\", - f"3 & 全清率 / 平均虚拟耗时 & {percent(three['optimal']['cleared_ratio_mean'])} / " - f"{fixed(three['optimal']['virtual_time_mean_s'])} s & {percent(three['baseline']['cleared_ratio_mean'])} / " - f"{fixed(three['baseline']['virtual_time_mean_s'])} s " + r"\\", - f"4 & 全清率 / 缺席误判总数 & {percent(four['optimal']['cleared_ratio_mean'])} / " - f"{four['optimal']['absent_misjudged_total']} & {percent(four['baseline']['cleared_ratio_mean'])} / " - f"{four['baseline']['absent_misjudged_total']} " + r"\\", - ]) - - write("project-q1-example-rows.tex", [ - f"{row['name']} & {fixed(row['diameter_ref_m'])} & {fixed(row['diameter_opt_m'])} & " - f"{fixed(row['diameter_base_m'])} & {fixed(row['abs_err_base_m'])} & " - f"{flag(row['covers_ref'])} & {flag(row['covers_opt'])} & {flag(row['covers_base'])} " + r"\\" - for row in data["q1"]["examples"] - ]) - - write("project-q1-summary-rows.tex", [ - f"最优(固定 {examples['cases']} 例) & {percent(examples['status_accuracy_optimal'])} & " - f"{fixed(examples['diameter_mae_optimal_m'])} & {fixed(examples['diameter_max_err_optimal_m'])} & " - f"{percent(examples['coverage_accuracy_optimal'])} & {fixed(examples['runtime_optimal_mean_ms'])} " + r"\\", - f"最优(随机 {random['cases']} 例) & {percent(random['status_accuracy_optimal'])} & " - f"{fixed(random['diameter_mae_optimal_m'])} & {fixed(random['diameter_max_err_optimal_m'])} & " - f"{percent(random['coverage_accuracy_optimal'])} & {fixed(random['runtime_optimal_mean_ms'])} " + r"\\", - f"基线(固定 {examples['cases']} 例) & {percent(examples['status_accuracy_baseline'])} & " - f"{fixed(examples['diameter_mae_baseline_m'])} & {fixed(examples['diameter_max_err_baseline_m'])} & " - f"{percent(examples['coverage_accuracy_baseline'])} & {fixed(examples['runtime_baseline_mean_ms'])} " + r"\\", - f"基线(随机 {random['cases']} 例) & {percent(random['status_accuracy_baseline'])} & " - f"{fixed(random['diameter_mae_baseline_m'])} & {fixed(random['diameter_max_err_baseline_m'])} & " - f"{percent(random['coverage_accuracy_baseline'])} & {fixed(random['runtime_baseline_mean_ms'])} " + r"\\", - ]) - - write("project-q2-rows.tex", [ - f"{label} & {percent(two[key]['guaranteed_rate'])} & {fixed(two[key]['worst_posterior_mean_m'])} & " - f"{fixed(two[key]['worst_posterior_median_m'])} & {fixed(two[key]['improvement_mean_m'])} & " - f"{fixed(two[key]['final_ratio_mean'])} & {fixed(two[key]['move_cost_mean_s'], 2)} " + r"\\" - for key, label in (("optimal", "算法2(默认选点)"), ("reference", "参考:盘内网格枚举"), - ("baseline_perp", "基线:垂直 1000 m"), ("baseline_mec", "基线:候选圆心")) - ]) - - def variant_rows(table: dict, mapping: list[tuple[str, str]]) -> list[str]: - return [ - f"{label} & {table[key]['valid_episodes']}/{table[key]['episodes']} & " - f"{percent(table[key]['cleared_ratio_mean'])} & {table[key]['absent_misjudged_total']} & " - f"{fixed(table[key]['virtual_time_mean_s'])} & {fixed(table[key]['virtual_time_median_s'])} & " - f"{fixed(table[key]['virtual_time_max_s'])} & {fixed(table[key]['measures_mean'], 1)} & " - f"{fixed(table[key]['move_distance_mean_m'] / 1000)} & {fixed(table[key]['fallback_clear_attempts_mean'], 1)} " - + r"\\" - for key, label in mapping - ] - - write("project-q3-rows.tex", variant_rows(three, [ - ("optimal", "bayes(默认策略)"), ("seven", "seven(七点批量)"), ("baseline", "grid(49 点网格)")])) - write("project-q4-rows.tex", variant_rows(four, [ - ("optimal", "directional(默认策略)"), ("baseline_grid", "grid(问题三网格)"), - ("baseline", "bayes(问题三策略)")])) - - -def listings(rows: list[dict]) -> None: - data = PAPER / "data" - files = sorted((ROOT / "src/mcm26b").rglob("*.py")) - files += [ROOT / "scripts/audit_paper_formal.py", - ROOT / "scripts/build_paper_support.py"] - text = [ - r"\begingroup", - r"\linespread{1.0}\selectfont", - r"\lstset{basicstyle=\ttfamily\fontsize{8}{10}\selectfont,numberstyle=\tiny," - r"aboveskip=6pt,belowskip=8pt,xleftmargin=1.5em,frame=none}", - ] - for path in files: - rel = path.relative_to(ROOT).as_posix() - display = data / "listing-source" / (rel + ".tex") - display.parent.mkdir(parents=True, exist_ok=True) - display.write_text(escaped_listing(path.read_text("utf-8")), "utf-8") - display_rel = display.relative_to(PAPER).as_posix() - escape_option = "escapeinside={" + ESCAPE_OPEN + "}{" + ESCAPE_CLOSE + "}" - text += [fr"\subsection*{{\pathtext{{{rel}}}}}", - fr"\lstinputlisting[{escape_option}]{{{display_rel}}}"] - text.append(r"\endgroup") - (data / "source-listings.tex").write_text("\n".join(text) + "\n", "utf-8") - table = [ - r"\begin{longtable}{p{1.15cm}p{13.3cm}}", - r"\caption{所选正式导出文件与完整包哈希}\label{tab:packages}\\", - r"\toprule 案例 & 原始文件名及 SHA-256\\\midrule\endfirsthead", - r"\toprule 案例 & 原始文件名及 SHA-256\\\midrule\endhead", - ] - for row in rows: - h = row["package_sha256"] - label = f"Q{row['problem_no']}-{row['formal_index']}" - table += [ - fr"{label} & \pathtext{{{Path(row['file']).name}}}\\", - fr"& {{\scriptsize\texttt{{{h[:32]}}}\allowbreak\texttt{{{h[32:]}}}}}\\[4pt]", - ] - table += [r"\bottomrule\end{longtable}"] - (data / "formal-file-list.tex").write_text("\n".join(table) + "\n", "utf-8") - - -SUPPORT_README = """# 论文支撑材料 - -汇总官方模拟器 test 中的六份正式导出及哈希匹配的官方统计。 -问题三、四各包含三次正式测试。支撑材料保留原始文件名及文件校验值。 - -## 环境和运行 - -Python >=3.10;安装 requests,可选 numpy 加速。 -在本目录使用 PowerShell: - - $env:PYTHONPATH = (Resolve-Path src).Path - python -m mcm26b.cli --help - python -m mcm26b.cli run --problem 3 --strategy bayes --robot-id <模拟器登录队号> - python -m mcm26b.cli run --problem 4 --strategy directional --robot-id <模拟器登录队号> - -在线命令需要先由使用者在官方模拟器中选择测试、待接口就绪。 -策略的自检命令另需可选 referee 包。 - -## 重算论文数据和图表 - - python scripts/audit_paper_formal.py --snapshot docs/paper/data/formal-results.json - python scripts/build_paper_support.py - -上述命令在本地重算统计表、图表及源码附录。统计快照来自官方正式 -统计队列,通过票据哈希匹配所选包。重新验证来源匹配需原电脑的统计队列。 -连续覆盖与混合类型推断的扩展见论文未来工作。 - -## 编译 - -安装 TeX Live(XeLaTeX、ctex、TikZ),进入 docs/paper: - - latexmk -xelatex -interaction=nonstopmode -halt-on-error main.tex - -版式使用原项目模板。编译前请将原项目 docs/paper/fonts 目录放回 -同一相对位置。使用 latexmk 自动完成交叉引用所需的多遍编译。 -support-manifest.json 列出包内全部材料(清单自身除外)及 SHA-256。 -""" - - -def package(rows: list[dict]) -> Path: - selected = set((ROOT / "src/mcm26b").rglob("*.py")) - selected.update((ROOT / "src/mcm26b/guarantee/plans").glob("*.json")) - selected.update((PAPER / "data").rglob("*")) - selected.update((PAPER / "figures").glob("*.tex")) - selected.update((PAPER / "sections").glob("*.tex")) - selected.update((ROOT / "docs/figures").glob("*.png")) - selected.update((ROOT / "docs/figures").glob("*.json")) - selected.add(ROOT / "docs/figures/README.md") - selected.update(path for path in (ROOT / "project").rglob("*") - if path.is_file() and "__pycache__" not in path.parts) - selected.update([PAPER / "main.tex", PAPER / "mcm26b-paper.cls", - PAPER / "README.md", PAPER / "REWRITE_NOTES.md", - ROOT / "scripts/audit_paper_formal.py", - ROOT / "scripts/build_paper_support.py"]) - for row in rows: - path = ROOT / "Jammers-simulator-full" / row["file"] - if digest(path.read_bytes()) != row["package_sha256"]: - raise ValueError("Original formal package changed") - selected.add(path) - blobs = {p.relative_to(ROOT).as_posix(): p.read_bytes() for p in sorted(selected) if p.is_file()} - blobs["README.md"] = SUPPORT_README.encode("utf-8") - blobs["requirements.txt"] = b"requests>=2.31\nnumpy>=1.24\n" - manifest = [{"file": name, "bytes": len(value), "sha256": digest(value)} for name, value in sorted(blobs.items())] - blobs["support-manifest.json"] = (json.dumps(manifest, ensure_ascii=False, indent=2) + "\n").encode("utf-8") - out = PAPER / "support-materials.zip" - with zipfile.ZipFile(out, "w", zipfile.ZIP_DEFLATED, compresslevel=9) as archive: - for name, value in sorted(blobs.items()): - entry = zipfile.ZipInfo(name, (2026, 9, 13, 0, 0, 0)) - entry.compress_type = zipfile.ZIP_DEFLATED - archive.writestr(entry, value) - if out.stat().st_size > 20_000_000: - raise ValueError("Support archive exceeds 20 MB") - print(f"Support archive: {len(blobs)} files, {out.stat().st_size} bytes") - return out - - -def main() -> None: - parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument("--package", action="store_true") - args = parser.parse_args() - rows = json.loads((PAPER / "data/formal-results.json").read_text("utf-8"))["records"] - figures(rows) - project_tables() - listings(rows) - if args.package: - package(rows) - - -if __name__ == "__main__": - main() diff --git a/docs/paper/data/listing-source/src/mcm26b/__init__.py.tex b/docs/paper/data/listing-source/src/mcm26b/__init__.py.tex deleted file mode 100644 index 29b08f6..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/__init__.py.tex +++ /dev/null @@ -1,21 +0,0 @@ -"""mcm26b:CUMCM 2026 B题"无线电干扰源的快速自动定位与清除"求解包。 - -模块分层(docs/B题建模分析与实施计划.md §7 的七模块划分): -- config 全项目参数中心(题面常量与工程参数,唯一字面量来源) -- protocol P0/P1 字段表、计时模型、状态机与串行幂等客户端 -- geometry P2 角域交会定位、直径、最小包围圆与 P2 证书(已完工) -- sim 自建模拟器、故障注入与演练日志回放(测试专用) -- belief P3 逐频道候选集合(骨架) -- coverage P4 49 点覆盖记录(骨架+网格生成) -- planner P3 选点 / P4 全向闭环 / P5 定向扩展(骨架) -- evaluation 日志复算与统计 -""" - -__version__ = "0.2.0" - -from .config import DEFAULT_CONFIG, ProblemConfig -from .geometry import Measurement, first_bearing_candidate_disk, solve, \ - smallest_enclosing_circle - -__all__ = ["DEFAULT_CONFIG", "Measurement", "ProblemConfig", "solve", - "first_bearing_candidate_disk", "smallest_enclosing_circle"] diff --git a/docs/paper/data/listing-source/src/mcm26b/belief/__init__.py.tex b/docs/paper/data/listing-source/src/mcm26b/belief/__init__.py.tex deleted file mode 100644 index 6318154..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/belief/__init__.py.tex +++ /dev/null @@ -1,284 +0,0 @@ -"""P3 逐频道信念状态:候选集合 K_c 维护与频道处理状态。 - -核心不变式(验收标准): -- 保守性:真源永远属于维护中的候选集合。候选集用"圆盘外切多边形 (*@\ensuremath{\cap}@*) - 测向角域半平面"的凸多边形表示——外切多边形严格包含圆盘,半平面裁剪 - 带正容差,因此每步更新只会放大而不会缩小真实候选集; -- direction 读数:K_c (*@\ensuremath{\subseteq}@*) Ω (*@\ensuremath{\cap}@*) W(s, (*@\ensuremath{\theta}@*)±(*@\ensuremath{\delta}@*)_eff) (*@\ensuremath{\cap}@*) B(s, 1500),后续读数再交 - 同样的约束;(*@\ensuremath{\delta}@*)_eff = 误差半角 + 示向度舍入裕量(服务器保留两位小数, - 舍入本身引入 (*@\ensuremath{\le}@*)0.005° 偏差); -- no_signal 读数(P4,全向源):基线不据此删空间候选——对定向源它是 - "位置×朝向"联合约束,单独维护空间候选会误删真源(P5 才启用); - "该频道不存在源"的证明由覆盖账本(coverage.CoverageLedger)给出; -- near 读数:源在 5m 内,候选集收缩为 B(s, 5),可直接产生清除证书; -- /clear 成功:状态转 CLEARED;失败只说明"该频道 20m 内无可清除源", - 不得直接删除超出 20m 的候选,必须先补测再重试。 -""" - -from __future__ import annotations - -import math -from dataclasses import dataclass, field -from enum import Enum - -from ..config import ProblemConfig, Vec2 -from ..geometry.localization import smallest_enclosing_circle -from ..protocol.rules import DIRECTION, NEAR, NO_SIGNAL - -# 半平面裁剪的正容差(米)。坐标量级 ~2100,浮点误差远小于它; -# 容差只向"保留更多候选"的方向倾斜,不破坏保守性。 -_CLIP_TOL_M = 1e-6 -_DEDUPE_TOL_M = 1e-7 - - -class InconsistentBelief(RuntimeError): - """读数把候选集剪空等违背保守性的情形;须停机核查而非继续跑。""" - - -class ChannelStatus(Enum): - UNKNOWN = "unknown" # 尚无有效证据 - DETECTED = "detected" # 收到过 direction/near,待定位 - LOCATED = "located" # 候选集包围圆半径 <= 20,可清除 - CLEARED = "cleared" # 清除成功 - ABSENT = "absent" # 覆盖证明不存在(P4) - - -def circumscribed_polygon(center: Vec2, radius_m: float, sides: int) -> list[Vec2]: - """圆的外切正多边形顶点(外接半径 r/cos((*@\ensuremath{\pi}@*)/n)),严格包含圆盘。 - - 近似误差(外接圆超出圆盘的部分)为 r(1/cos((*@\ensuremath{\pi}@*)/n) - 1) (*@\ensuremath{\le}@*) r(1-cos((*@\ensuremath{\pi}@*)/n))·sec², - 调用方用 (1-cos((*@\ensuremath{\pi}@*)/n)) 口径记账即可(略保守偏大)。 - """ - if sides < 8: - raise ValueError("外切多边形边数过少,近似误差不可控") - circumradius = radius_m / math.cos(math.pi / sides) - step = 2 * math.pi / sides - return [(center[0] + circumradius * math.cos(step * i + step / 2), - center[1] + circumradius * math.sin(step * i + step / 2)) - for i in range(sides)] - - -def polygon_halfplanes(polygon: list[Vec2]) -> list[tuple[float, float, float]]: - """CCW 多边形 -> 外法线半平面列表 (a, b, c),含义 a·x + b·y <= c。""" - planes = [] - count = len(polygon) - for index in range(count): - p, q = polygon[index], polygon[(index + 1) % count] - dx, dy = q[0] - p[0], q[1] - p[1] - norm = math.hypot(dx, dy) - if norm <= 1e-12: - continue - a, b = dy / norm, -dx / norm # CCW 的右法线朝外 - planes.append((a, b, a * p[0] + b * p[1])) - return planes - - -def clip_halfplane(polygon: list[Vec2], a: float, b: float, c: float, - tol: float = _CLIP_TOL_M) -> list[Vec2]: - """Sutherland–Hodgman 凸多边形半平面裁剪,保留 a·x + b·y <= c + tol。 - - 边界交点取在无容差直线上;进入判定带正容差,保证"贴边"的真点不丢。 - """ - if not polygon: - return [] - output: list[Vec2] = [] - count = len(polygon) - for index in range(count): - p, q = polygon[index], polygon[(index + 1) % count] - fp = a * p[0] + b * p[1] - c - fq = a * q[0] + b * q[1] - c - p_in, q_in = fp <= tol, fq <= tol - if p_in: - output.append(p) - if p_in != q_in: - ratio = fp / (fp - fq) - output.append((p[0] + ratio * (q[0] - p[0]), - p[1] + ratio * (q[1] - p[1]))) - return _dedupe(output) - - -def _dedupe(points: list[Vec2], tol: float = _DEDUPE_TOL_M) -> list[Vec2]: - unique: list[Vec2] = [] - for point in points: - if not unique or math.dist(point, unique[-1]) > tol: - unique.append(point) - if len(unique) > 1 and math.dist(unique[0], unique[-1]) <= tol: - unique.pop() - return unique - - -class CandidateRegion: - """某频道候选集合的保守凸外包多边形(顶点按 CCW;允许退化为 1-2 点)。""" - - def __init__(self, polygon: list[Vec2], slack_m: float = 0.0): - self.polygon = list(polygon) - self.slack_m = float(slack_m) # 外包近似引入的半径向误差记账 - self._mec: tuple[Vec2, float] | None = None - - # ------------------------------------------------------------ 构造 - @classmethod - def disk(cls, center: Vec2, radius_m: float, sides: int, - slack_m: float | None = None) -> "CandidateRegion": - if slack_m is None: - slack_m = radius_m * (1 - math.cos(math.pi / sides)) - return cls(circumscribed_polygon(center, radius_m, sides), slack_m) - - @classmethod - def initial(cls, station: Vec2, config: ProblemConfig) -> "CandidateRegion": - """首个 direction 后的基础集:Ω (*@\ensuremath{\cap}@*) B(station, r_max) 的保守外包。""" - field_cfg, sides = config.field, config.search.polygon_sides - slack = field_cfg.omega_radius_m * (1 - math.cos(math.pi / sides)) - region = cls.disk((0.0, 0.0), field_cfg.omega_radius_m, sides, slack) - region.clip_disk(station, field_cfg.r_eff_max_m, sides) - return region - - # ------------------------------------------------------------ 收缩 - def _clip(self, a: float, b: float, c: float) -> None: - polygon = clip_halfplane(self.polygon, a, b, c) - if not polygon: - raise InconsistentBelief( - f"候选区域被半平面 ({a:.6f},{b:.6f},{c:.6f}) 剪空:读数与保守集矛盾") - self.polygon = polygon - self._mec = None - - def clip_disk(self, center: Vec2, radius_m: float, sides: int) -> None: - """与圆盘 B(center, radius) 的外切多边形求交(近似误差入账)。""" - for a, b, c in polygon_halfplanes(circumscribed_polygon(center, radius_m, sides)): - self._clip(a, b, c) - self.slack_m += radius_m * (1 - math.cos(math.pi / sides)) - - def clip_wedge(self, station: Vec2, bearing_deg: float, - half_angle_deg: float) -> None: - """与测向角域 W(station, bearing±half_angle) 求交(半角须 <90°)。 - - 两个边界半平面与 localization.halfplanes 同口径,0°/360° 跨界由 - sin/cos 直接处理,无需分支。 - """ - if not 0 < half_angle_deg < 90: - raise ValueError("角域半角须在 (0, 90) 度") - lower = math.radians(bearing_deg - half_angle_deg) - upper = math.radians(bearing_deg + half_angle_deg) - sx, sy = float(station[0]), float(station[1]) - self._clip(math.sin(lower), -math.cos(lower), - math.sin(lower) * sx - math.cos(lower) * sy) - self._clip(-math.sin(upper), math.cos(upper), - -math.sin(upper) * sx + math.cos(upper) * sy) - - # ------------------------------------------------------------ 查询 - def mec(self) -> tuple[Vec2, float]: - """最小包围圆(圆心, 半径)。半径是真实候选集 (*@\ensuremath{\rho}@*) 的上界。""" - if self._mec is None: - if not self.polygon: - raise InconsistentBelief("候选区域为空") - self._mec = smallest_enclosing_circle(self.polygon) - return self._mec - - def witnesses(self, spacing_m: float) -> list[Vec2]: - """顶点 + 边界按间距细分的采样点(最坏后验评估用)。""" - if len(self.polygon) < 3: - return list(self.polygon) - points = list(self.polygon) - count = len(self.polygon) - for index in range(count): - p, q = self.polygon[index], self.polygon[(index + 1) % count] - length = math.dist(p, q) - steps = int(length // spacing_m) - for k in range(1, steps + 1): - ratio = k / (steps + 1) - points.append((p[0] + ratio * (q[0] - p[0]), - p[1] + ratio * (q[1] - p[1]))) - return _dedupe(points, tol=1e-9) - - def contains(self, point: Vec2, tol_m: float = 0.05) -> bool: - """点是否在候选集内(带容差;用于真源保留性检验,不做删点依据)。""" - if not self.polygon: - return False - if len(self.polygon) == 1: - return math.dist(point, self.polygon[0]) <= tol_m + self.slack_m - if len(self.polygon) == 2: - p, q = self.polygon - return _point_segment_distance(point, p, q) <= tol_m + self.slack_m - for index, p in enumerate(self.polygon): - q = self.polygon[(index + 1) % len(self.polygon)] - if (q[0] - p[0]) * (point[1] - p[1]) - (q[1] - p[1]) * (point[0] - p[0]) \ - < -tol_m - self.slack_m: - return False - return True - - -def _point_segment_distance(point: Vec2, p: Vec2, q: Vec2) -> float: - vx, vy = q[0] - p[0], q[1] - p[1] - length_sq = vx * vx + vy * vy - if length_sq <= 1e-18: - return math.dist(point, p) - t = max(0.0, min(1.0, ((point[0] - p[0]) * vx + (point[1] - p[1]) * vy) / length_sq)) - return math.dist(point, (p[0] + t * vx, p[1] + t * vy)) - - -@dataclass -class ChannelBelief: - channel: int - status: ChannelStatus = ChannelStatus.UNKNOWN - region: CandidateRegion | None = None - measurements: list = field(default_factory=list) # 逐步观测记录(审计用) - - -class BeliefState: - """全部 20 个频道的信念集合。策略端唯一的事实来源。""" - - def __init__(self, config: ProblemConfig = ProblemConfig()): - self.config = config - self.channels = {channel: ChannelBelief(channel) - for channel in range(config.field.channel_min, - config.field.channel_max + 1)} - - @property - def effective_half_angle_deg(self) -> float: - """示向度误差半角 + 舍入裕量:服务器保留两位小数引入 (*@\ensuremath{\le}@*)0.005° 偏差。""" - return (self.config.field.bearing_error_half_deg - + self.config.search.bearing_rounding_margin_deg) - - def update_measure(self, channel: int, position: Vec2, result: str, - svd_deg: float | None) -> None: - """按读数收敛候选集合;真源保留性由保守表示保证。""" - belief = self.channels[channel] - belief.measurements.append({"position": tuple(position), "result": result, - "svd_deg": svd_deg}) - if result == DIRECTION: - if svd_deg is None: - raise ValueError("direction 读数必须携带 svd_deg") - sides = self.config.search.polygon_sides - if belief.region is None: - belief.region = CandidateRegion.initial(position, self.config) - else: - # 后续 direction 同样隐含距离 <= r_max [题面] - belief.region.clip_disk(position, self.config.field.r_eff_max_m, sides) - belief.region.clip_wedge(position, svd_deg, self.effective_half_angle_deg) - belief.status = ChannelStatus.DETECTED - elif result == NEAR: - sides = self.config.search.polygon_sides - if belief.region is None: - belief.region = CandidateRegion.disk( - tuple(position), self.config.field.near_radius_m, sides) - else: - belief.region.clip_disk(position, self.config.field.near_radius_m, sides) - belief.status = ChannelStatus.DETECTED - elif result == NO_SIGNAL: - # P3/P4 基线:不据此删空间候选(缺席证明由覆盖账本给出)。 - pass - else: - raise ValueError(f"未知测向结果: {result!r}") - - def candidate_set(self, channel: int) -> CandidateRegion | None: - """该频道当前候选集合(保守外包形式);尚无 direction/near 时为 None。""" - return self.channels[channel].region - - def mark_cleared(self, channel: int) -> None: - self.channels[channel].status = ChannelStatus.CLEARED - - def mark_absent(self, channel: int) -> None: - self.channels[channel].status = ChannelStatus.ABSENT - - def channels_by_status(self, *statuses: ChannelStatus) -> list[int]: - return sorted(channel for channel, belief in self.channels.items() - if belief.status in statuses) diff --git a/docs/paper/data/listing-source/src/mcm26b/belief/joint.py.tex b/docs/paper/data/listing-source/src/mcm26b/belief/joint.py.tex deleted file mode 100644 index 320acb5..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/belief/joint.py.tex +++ /dev/null @@ -1,388 +0,0 @@ -"""位置×朝向联合可行集(第四问定向源)。 - -现状问题(docs/第三四问架构优化与运行提速方案.md §1.3 F3):第四问的失败**全部** -来自定向源(评测机两局:全向 17/17 清除,定向仅 2/6)。原因不是覆盖不足,而是 -策略只知道"源可能在某个空间区域",不知道"它朝着哪边"——于是选点只能靠固定 -45° 阶梯试探,一旦试探失败就退化到 (*@\ensuremath{\le}@*)400 格 20 m 盲清。 - -本模块把"看不看得见"变成可推理的量:为已在 Ω 上维护的网格幸存集 -(:class:`~mcm26b.particles.ChannelParticles`)附加每格 24 档朝向可行性掩码, -得到 (位置 × 朝向) 联合可行集。观测语义严格对齐评测机 -``referee.simulator._observe``: - -- 距离 > r_eff → no_signal;定向且源→读点方向与朝向夹角 > 90° → no_signal; -- 距离 (*@\ensuremath{\le}@*) 5 m → near(**仍需可见**:3 m 处背向的定向源同样返回 no_signal); -- 其余 → direction(读数 = 源→读点方位 + 有界误差)。 - -更新规则(全部保守,只删"必然不可能"的格/档): - -=============== ============================================ ================== -观测 位置 朝向 -=============== ============================================ ================== -``direction``@s 距离 (*@\ensuremath{\le}@*) 1500、角向 |gap| (*@\ensuremath{\le}@*) (*@\ensuremath{\delta}@*)_eff + 格裕量 必须**可能**覆盖 s -``near``@s 距离 (*@\ensuremath{\le}@*) 5 必须**可能**覆盖 s -``no_signal``@s **不删**(可能是朝向遮挡或距离不足) 必须**确定不**覆盖 s - (仅当整格必在 r_eff_min 内才约束朝向) -=============== ============================================ ================== - -阈值全部取保守侧,并计入**格内角裕量** -``asin(margin / max(dist − margin, 1))``(格内任一点相对格心方位偏差上界): - -- "必须可能覆盖":``gap (*@\ensuremath{\le}@*) 90° + 半档 + 查表舍入 + 格内角裕量``(宁可保留); -- "必须确定不覆盖":先删去 ``gap (*@\ensuremath{\le}@*) 90° − 半档 − 查表舍入 − 格内角裕量`` 的档, - 只保留确定看不见 s 的档(同样宁可保留)。 - -因此真源 (位置, 朝向) 永不被删——这是网格幸存集真源保留定理的二维推广。 -(2026-09-12 修正:no_signal 分支原先误用"确定覆盖"掩码做交集,等价于把 -规则反向;keep=True 分支也漏计了格内角裕量。两处都会删掉真源朝向档, -现由 ``tests/test_joint_belief.py`` 的随机观测序列保留性测试固化。) - -用途: -1. ``prob_detect``:该点能看见该频道任一可行 (位置, 朝向) 的概率质量, - 用于**可见性选点**(取代固定阶梯)——只影响选点顺序,不承担安全责任; -2. ``expected_posterior_radius``:一次测量后的期望后验 MEC 半径(D1 值函数); -3. ``is_absent``:联合集空 (*@\ensuremath{\Longrightarrow}@*) 该频道不存在源(严格,与覆盖证明同一条件); -4. 位置边际仍由凸证书负责 20 m 清除判定,本模块不改变任何证书口径。 -""" - -from __future__ import annotations - -import math - -from ..config import ProblemConfig, Vec2 -from ..particles import ChannelParticles, _branch_radius_array -from ..protocol.rules import DIRECTION, NEAR, NO_SIGNAL - -HEADING_BINS = 24 # 15° 一档 -_BIN_HALF_DEG = 180.0 / HEADING_BINS # 7.5° -_FULL_MASK = (1 << HEADING_BINS) - 1 -_GRID_DEG = 3.0 # 角度查表分辨率 -_GRID_N = int(round(360.0 / _GRID_DEG)) - -try: # numpy 仅作可选加速后端(与 particles 一致) - import numpy as _np - from ..particles import _np as _particles_np - if _particles_np is None: # MCM26B_NO_NUMPY 或缺失:强制纯 Python - _np = None -except Exception: # pragma: no cover - 环境无 numpy - _np = None - - -def heading_gap(a_deg: float, b_deg: float) -> float: - """两个朝向角的最小夹角(度)。""" - return abs((a_deg - b_deg + 180.0) % 360.0 - 180.0) - - -def _cover_mask(bearing_deg: float, half_deg: float) -> int: - """与该方位夹角不超过 ``half_deg`` 的朝向档掩码。""" - mask = 0 - for k in range(HEADING_BINS): - if heading_gap(360.0 * k / HEADING_BINS, bearing_deg) <= half_deg: - mask |= 1 << k - return mask - - -# 查表:以 bearing 为轴、半角 90° 的可见半平面。 -# - COVER:**可能**覆盖该方位(含半档与查表舍入的保守侧); -# - SILENT:**确定**覆盖该方位(内缩半档与舍入)——离散对照表,供审计与 -# 文档比对;实际裁剪走 _cover_mask / _far_mask,因为还必须逐格计入 -# "格内角裕量"(格心到格内任一点的方位偏差上界),无法预先制表。 -_COVER_TABLE = tuple( - _cover_mask(_GRID_DEG * i, 90.0 + _BIN_HALF_DEG + _GRID_DEG / 2) - for i in range(_GRID_N)) -_SILENT_TABLE = tuple( - _cover_mask(_GRID_DEG * i, 90.0 - _BIN_HALF_DEG - _GRID_DEG / 2) - for i in range(_GRID_N)) - - -def _far_mask(bearing_deg: float, exclude_half_deg: float) -> int: - """与方位夹角**大于** ``exclude_half_deg`` 的朝向档掩码(no_signal 用)。 - - 与 :func:`_cover_mask` 互补:no_signal 只允许保留"确定看不见"的朝向档。 - """ - mask = 0 - for k in range(HEADING_BINS): - if heading_gap(360.0 * k / HEADING_BINS, bearing_deg) > exclude_half_deg: - mask |= 1 << k - return mask - -if _np is not None: # 12 位半字 popcount 查表(朝向掩码 24 位)与半平面查表数组 - _POP16 = _np.array([bin(value).count("1") for value in range(1 << 12)], - dtype=_np.int64) - _COVER_ARR = _np.array(_COVER_TABLE, dtype=_np.int64) -else: # pragma: no cover - 无 numpy 分支 - _POP16 = _COVER_ARR = None - - -def _popcount(mask: int) -> int: - return bin(mask).count("1") - - -def _table_index(bearing_deg: float) -> int: - return int(round((bearing_deg % 360.0) / _GRID_DEG)) % _GRID_N - - -class JointBelief: - """单频道 (位置 × 朝向) 联合可行集。""" - - def __init__(self, config: ProblemConfig = ProblemConfig()): - self.config = config - self.field = config.field - self.position = ChannelParticles(config) - self.masks: dict[int, int] = {} # 格索引 -> 朝向掩码(缺省为全档) - self._sample_cache: tuple[int, list[int]] | None = None - - # ------------------------------------------------------------ 查询 - def __len__(self) -> int: - return len(self.position) - - def is_absent(self) -> bool: - """联合集空 (*@\ensuremath{\Longrightarrow}@*) 该频道不存在源(真源保留定理的二维推广)。""" - return not self.position.alive - - def _mask(self, index: int) -> int: - return self.masks.get(index, _FULL_MASK) - - def sample(self, size: int = 256) -> list[int]: - """均匀抽样幸存格(评分用;证书始终用完整集合)。""" - cached = self._sample_cache - if cached is not None and cached[0] == self.position.version: - return cached[1] - alive = sorted(self.position.alive) - if len(alive) > size: - step = len(alive) / size - alive = [alive[int(k * step) % len(alive)] for k in range(size)] - self._sample_cache = (self.position.version, alive) - return alive - - def _mask_popcount(self, index: int) -> int: - return _popcount(self._mask(index)) - - def expected_posterior_radius(self, reader: Vec2, size: int | None = None) -> float: - """一次测量后的期望后验 MEC 半径(米);D1 值函数。 - - 与 :meth:`ChannelParticles.expected_posterior_radius` 同族,差别只在 - no_signal 分支概率:定向源不仅会因距离 > r_eff 静默,还会因朝向遮挡 - 静默,因此 - - p_vis(p) = P(r_eff (*@\ensuremath{\ge}@*) |p−q|) × cover_ratio(p, q) - - 其中 ``cover_ratio`` 是该格朝向掩码中"可能覆盖 q 方位"的档位占比。 - 分支半径语义: - - - direction(可见,非 near):读数为 q 处的方位 ±(*@\ensuremath{\delta}@*),后验收缩到该方位 - 楔形与当前可行集之交,半径取幸存子采样的质心最大距离; - - no_signal:定向源的静默**不删空间候选**,位置后验半径保持当前值; - - near:后验为 5m 盘。 - - 返回值只用于**选点排序**,不参与任何安全判定;证书仍由凸/网格口径给出。 - """ - pf = self.position - if not pf.alive: - return 0.0 - if size is None: - size = self.config.bayes.score_subsample - indices = self.sample(max(2, size)) - if not indices: - return 0.0 - stride = max(len(indices) // max(self.config.bayes.mc_representatives, 1), 1) - representatives = indices[::stride] - if _np is not None: - return self._epr_vector(reader, indices, representatives) - return self._epr_python(reader, indices, representatives) # pragma: no cover - - def _epr_vector(self, reader: Vec2, indices: list[int], - representatives: list[int]) -> float: - pf = self.position - points = _np.array([pf.cell_center(index) for index in indices], dtype=float) - masks = _np.array([self._mask(index) for index in indices], dtype=_np.int64) - reps = _np.array([pf.cell_center(index) for index in representatives], - dtype=float) - rep_masks = _np.array([self._mask(index) for index in representatives], - dtype=_np.int64) - dx, dy = points[:, 0] - reader[0], points[:, 1] - reader[1] - dist = _np.hypot(dx, dy) - bearing = _np.degrees(_np.arctan2(dy, dx)) - rdx, rdy = reps[:, 0] - reader[0], reps[:, 1] - reader[1] - rdist = _np.hypot(rdx, rdy) - rbearing = _np.degrees(_np.arctan2(rdy, rdx)) - cover = _COVER_ARR[_np.round(_np.mod(rbearing, 360.0) / _GRID_DEG) - .astype(_np.int64) % _GRID_N] - visible_mask = rep_masks & cover - bits = (_POP16[visible_mask & 0xFFF] - + _POP16[(visible_mask >> 12) & 0xFFF]) - cover_ratio = bits / float(HEADING_BINS) - p_silent_range = _np.clip((rdist - self.field.r_eff_min_m) - / (self.field.r_eff_max_m - - self.field.r_eff_min_m), 0.0, 1.0) - p_vis = (1.0 - p_silent_range) * cover_ratio - p_ns = 1.0 - p_vis - gaps = _np.abs((bearing[None, :] - rbearing[:, None] + 180.0) % 360.0 - 180.0) - in_wedge = ((gaps <= self.config.field.bearing_error_half_deg - + self.config.search.bearing_rounding_margin_deg + 1e-9) - & (dist[None, :] <= self.field.r_eff_max_m + pf.margin_m)) - eps_radius = pf.spacing_m / 2.0 - radii = [] - for row in in_wedge: - member = points[row] - radii.append(_branch_radius_array(member) - if len(member) else eps_radius) - radii = _np.array(radii, dtype=float) - current = pf.mec()[1] - near = rdist <= self.field.near_radius_m + pf.margin_m - values = _np.where(near, self.field.near_radius_m + pf.margin_m, - p_ns * current + p_vis * radii) - return float(values.mean()) - - def _epr_python(self, reader: Vec2, indices: list[int], - representatives: list[int]) -> float: # pragma: no cover - """纯 Python 回退(与向量版逐分支同语义,供无 numpy 环境与对拍)。""" - pf = self.position - points = [pf.cell_center(index) for index in indices] - masks = [self._mask(index) for index in indices] - eps_radius = pf.spacing_m / 2.0 - current = pf.mec()[1] - half_angle = (self.config.field.bearing_error_half_deg - + self.config.search.bearing_rounding_margin_deg) - total = 0.0 - for rep_index in representatives: - rx, ry = pf.cell_center(rep_index) - distance = math.hypot(rx - reader[0], ry - reader[1]) - if distance <= self.field.near_radius_m + pf.margin_m: - total += self.field.near_radius_m + pf.margin_m - continue - reading = math.degrees(math.atan2(ry - reader[1], rx - reader[0])) - cover = _COVER_TABLE[_table_index(reading)] - bits = _popcount(self._mask(rep_index) & cover) - ratio = bits / float(HEADING_BINS) - if distance <= self.field.r_eff_min_m: - p_range = 1.0 - elif distance >= self.field.r_eff_max_m: - p_range = 0.0 - else: - p_range = ((self.field.r_eff_max_m - distance) - / (self.field.r_eff_max_m - self.field.r_eff_min_m)) - p_vis = p_range * ratio - members = [] - for point, mask in zip(points, masks): - if math.dist(point, reader) > self.field.r_eff_max_m + pf.margin_m: - continue - bearing = math.degrees(math.atan2(point[1] - reader[1], - point[0] - reader[0])) - if heading_gap(bearing, reading) <= half_angle + 1e-9: - members.append(point) - if members: - mx = sum(p[0] for p in members) / len(members) - my = sum(p[1] for p in members) / len(members) - radius = max(math.hypot(p[0] - mx, p[1] - my) for p in members) - else: - radius = eps_radius - total += (1.0 - p_vis) * current + p_vis * radius - return total / max(len(representatives), 1) - - - def prob_detect(self, reader: Vec2, size: int = 256) -> float: - """在 ``reader`` 处能看见任一可行 (位置, 朝向) 的概率质量(启发式)。 - - r_eff ~ U[1000, 1500] 解析积分;朝向按可行档位占比计权。 - 只用于选点排序,不参与任何安全判定。 - """ - cells = self.sample(size) - if not cells: - return 0.0 - total = 0.0 - span = self.field.r_eff_max_m - self.field.r_eff_min_m - for index in cells: - gx, gy = self.position.cell_center(index) - distance = math.hypot(reader[0] - gx, reader[1] - gy) - if distance > self.field.r_eff_max_m: - continue - if distance <= self.field.r_eff_min_m: - p_range = 1.0 - else: - p_range = (self.field.r_eff_max_m - distance) / span - if p_range <= 0.0: - continue - bearing = math.degrees(math.atan2(reader[1] - gy, reader[0] - gx)) - cover = _COVER_TABLE[_table_index(bearing)] - bits = bin(self._mask(index) & cover).count("1") - if bits: - total += p_range * bits / HEADING_BINS - return total / len(cells) - - # ------------------------------------------------------------ 观测更新 - def _apply_heading(self, station: Vec2, keep: bool, - within_m: float | None = None) -> None: - """按可见性约束裁剪朝向档(保守:只删"必然不可能"的档)。 - - ``keep=True``(direction / near)(*@\ensuremath{\Longrightarrow}@*) 朝向必须**可能**覆盖 station: - 保留与方位夹角 (*@\ensuremath{\le}@*) 90° + 半档 + 查表舍入 + 格内角裕量的档。 - - ``keep=False``(no_signal 且整格必在 r_eff_min 内)(*@\ensuremath{\Longrightarrow}@*) 朝向必须 - **确定不覆盖** station:只保留与方位夹角 > 90° − 半档 − 查表舍入 - − 格内角裕量的档。 - - ``格内角裕量 = asin(margin / max(dist − margin, 1))``:格内任一点 - 相对格心的方位偏差上界。两个方向都必须计入它,否则会误删真源的 - 朝向档(keep=True 漏计)或保留必然可见的档(keep=False 漏计)。 - """ - margin_m = self.position.margin_m - doomed: list[int] = [] - for index in self.position.alive: - gx, gy = self.position.cell_center(index) - dx, dy = station[0] - gx, station[1] - gy - distance = math.hypot(dx, dy) - if within_m is not None and distance > within_m: - continue - bearing = math.degrees(math.atan2(dy, dx)) - if distance <= margin_m + 1.0: - # 格贴测点:格内方位可指向任意方向,任何一侧都不可据此裁剪 - continue - angular_margin = math.degrees( - math.asin(min(0.9999, margin_m / (distance - margin_m)))) - if keep: - updated = self._mask(index) & _cover_mask( - bearing, 90.0 + _BIN_HALF_DEG + _GRID_DEG / 2 + angular_margin) - else: - updated = self._mask(index) & _far_mask( - bearing, 90.0 - _BIN_HALF_DEG - _GRID_DEG / 2 - angular_margin) - if updated == 0: - doomed.append(index) - self.masks.pop(index, None) - elif updated != _FULL_MASK: - self.masks[index] = updated - if doomed: - self.position.discard(doomed) - - def apply(self, station: Vec2, result: str, - svd_deg: float | None = None) -> None: - """按读数更新联合可行集(保守,真源 (位置, 朝向) 永不被删)。""" - if result == DIRECTION: - self.position.apply_measure(station, DIRECTION, svd_deg, - directional=True) - self._apply_heading(station, keep=True) - elif result == NEAR: - # near 同样要求可见(评测机先判朝向再判距离) - self.position.apply_measure(station, NEAR, directional=True) - self._apply_heading(station, keep=True) - elif result == NO_SIGNAL: - # 距离阈值必须取**保守侧**:只有"整格都必然落在 r_eff_min 圆盘内" - # 时,no_signal 才一定由朝向遮挡解释。格心到格内任一点 (*@\ensuremath{\le}@*) margin, - # 故阈值取 r_eff_min − margin;取 + margin 会把 1000~1010m 的模糊带 - # 也当成"必须不覆盖",从而可能删掉真源的朝向档(破坏真源保留性)。 - self._apply_heading(station, keep=False, - within_m=max( - 0.0, self.field.r_eff_min_m - - self.position.margin_m)) - else: - raise ValueError(f"未知测向结果: {result!r}") - - # ------------------------------------------------------------ 诊断 - def summary(self) -> dict: - """联合集规模快照(写入策略 summary,供审计与论文复算)。""" - cells = self.sample(256) - bins = [bin(self._mask(index)).count("1") for index in cells] - return {"cells": len(self.position), - "sampled_mean_heading_bins": (round(sum(bins) / len(bins), 2) - if bins else 0.0), - "heading_bins_total": HEADING_BINS} diff --git a/docs/paper/data/listing-source/src/mcm26b/cli.py.tex b/docs/paper/data/listing-source/src/mcm26b/cli.py.tex deleted file mode 100644 index fb71207..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/cli.py.tex +++ /dev/null @@ -1,374 +0,0 @@ -"""统一命令行入口:mcm26b <子命令>。 - -- q1 问题一角域交会求解(P2 已完工) -- sim-check 用评测机复现附件计时示例(P0 自检) -- run 闭环:发现—定位—清除—退出(--problem 3 全向 / 4 混合源; - --self-test 走独立评测机 referee) - -解耦约定:运行时代码零导入评测机;referee/harness 仅在 --self-test 与 -sim-check 分支内懒加载(测试侧 dev 依赖)。 -""" - -from __future__ import annotations - -import argparse -import json -import socket -import sys -import threading -import time -from dataclasses import replace -from pathlib import Path - -from .config import ProblemConfig -from .geometry.__main__ import main as q1_main -from .planner import DirectionalExtension, OmnidirectionalLoop -from .planner.bayes_loop import BayesLoop -from .planner.seven import SevenBatch -from .protocol.client import SimulatorClient -from .protocol.log import SessionLog -from .protocol.rules import EXIT_USER - -Q3_STRATEGIES = {"grid": OmnidirectionalLoop, "seven": SevenBatch, "bayes": BayesLoop} - - -def _load_referee(): - """懒加载独立评测机与测试侧适配层(运行时/正式对接不触发)。""" - from .harness import (LocalSimTransport, mixed_scene, random_omni_scene, - referee_spec) - from referee import LocalSimulator - return (LocalSimulator, LocalSimTransport, mixed_scene, random_omni_scene, - referee_spec) - - -def _referee_missing(): - print("未安装独立评测机包 referee(mcm26b-referee)。请先 `uv sync` 安装" - " dev 依赖,或 pip install mcm26b-referee;正式对接官方模拟器无需本包。", - file=sys.stderr) - return 2 - - -# ---------------------------------------------------------------- 一键本地评测 -def _port_free(port: int) -> bool: - with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as probe: - probe.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - try: - probe.bind(("127.0.0.1", port)) - return True - except OSError: - return False - - -def _any_free_port() -> int: - with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as probe: - probe.bind(("127.0.0.1", 0)) - return probe.getsockname()[1] - - -def _acquire_port(name: str, requested: int) -> int: - """端口被占时积极询问:交互终端逐次询问(回车=自动改空闲端口), - 非交互环境(脚本/CI)直接改用空闲端口并告知,绝不静默失败。""" - if _port_free(requested): - return requested - if sys.stdin.isatty(): - while True: - auto = _any_free_port() - try: - answer = input(f"[一键评测] {name}端口 {requested} 已被占用:" - f"回车改用空闲端口 {auto},或输入其他端口:").strip() - except (EOFError, KeyboardInterrupt): - return auto - if not answer: - return auto - if answer.isdigit() and 1024 <= int(answer) <= 65535: - if _port_free(int(answer)): - return int(answer) - print(f"端口 {answer} 同样被占用,请再试。") - continue - print("请输入 1024..65535 的端口号,或直接回车让评测机自选。") - auto = _any_free_port() - print(f"[一键评测] {name}端口 {requested} 已被占用(非交互环境)," - f"自动改用空闲端口 {auto}。", file=sys.stderr) - return auto - - -def _start_local_judge(args): - """启动独立评测机(机器狗接口 + WebUI 回放)并确认开始一局演练。 - - 返回 (judge, session, action_port, ui_port);失败返回 None(已打印原因)。 - """ - try: - from referee import Referee - from referee.server import ActionInterfaceServer - from referee.webui import WebUIServer - except ImportError: - _referee_missing() - return None - action_port = _acquire_port("机器狗接口", args.judge_port) - ui_port = None - judge = Referee(action_port=action_port, data_dir=Path(args.judge_data_dir)) - ActionInterfaceServer(judge) - if not args.judge_no_ui: - ui_port = _acquire_port("WebUI", args.judge_ui_port) - ui = WebUIServer(judge, ui_port) - threading.Thread(target=ui.serve_forever, daemon=True, - name="mcm26b-local-judge-ui").start() - module = f"q{args.problem}_practice" - session = judge.start(module, args.robot_id, seed=args.seed, - countdown_s=args.judge_countdown_s) - deadline = time.monotonic() + session.countdown_s + 10 - while session.phase == "countdown" and time.monotonic() < deadline: - time.sleep(0.05) - if session.phase != "open": - print("[一键评测] 评测机未能开放接口,已中止。", file=sys.stderr) - judge.abort() - return None - print(f"[一键评测] 案例编码 {session.case_code} · {session.module.title}" - f" · 接口 http://127.0.0.1:{action_port}") - if ui_port is not None: - print(f"[一键评测] WebUI http://127.0.0.1:{ui_port}" - f"(实时界面与\"回放\"Tab 逐步回看,数据目录 {args.judge_data_dir})") - return judge, session, action_port, ui_port - - -def _settle_local_judge(judge, timeout_s: float = 3.0) -> None: - """等看门狗确认本局结束(/exit 后毫秒级);仅超时才兜底手工中止。""" - deadline = time.monotonic() + timeout_s - while judge.session.phase != "finished" and time.monotonic() < deadline: - time.sleep(0.05) - if judge.session.phase != "finished": - judge.abort() - - -def _finish_local_judge(judge, session, summary: dict) -> None: - """等待评测机确认结束,把结束原因、真值统计与回放入口并入 summary。""" - _settle_local_judge(judge, timeout_s=10.0) - state = judge.snapshot() - truth_channels = sorted(s.channel for s in session.sources) - cleared = sorted(summary.get("cleared_channels", [])) - summary["local_judge"] = { - "case_code": session.case_code, - "module": session.module.title, - "end_reason": state.get("end_reason"), - "end_reason_text": state.get("end_reason_text"), - "virtual_time_s": state.get("virtual_time_s"), - "request_count": state.get("request_count"), - "truth": {"source_channels": truth_channels, - "source_count": len(truth_channels), - "omni_count": sum(1 for s in session.sources if not s.directional), - "directional_count": sum(1 for s in session.sources if s.directional)}, - "all_cleared": cleared == truth_channels, - "log": state.get("log"), - } - - -def _sim_check(args) -> int: - """附件1表2/附件2第10节计时示例:期望 105/111/194/199 秒。""" - try: - local_simulator, local_sim_transport, *_ = _load_referee() - except ImportError: - return _referee_missing() - simulator = local_simulator([], robot_id=args.robot_id) - client = SimulatorClient(args.robot_id, transport=local_sim_transport(simulator)) - client.enter() - steps = [] - steps.append(client.measure((300, 400), 1).virtual_time_s) # 移动500m+检测5s - steps.append(client.measure((300, 400), 2).virtual_time_s) # 换频道1s+检测5s - steps.append(client.clear((300, 0), 3).virtual_time_s) # 移动400m+未发现3s - steps.append(client.measure((300, 0), 2).virtual_time_s) # 原地检测频道2 - info = client.exit() - expected = [105, 111, 194, 199] - ok = [round(value, 6) for value in steps] == expected \ - and round(info.virtual_time_s, 6) == 199 and info.reason == EXIT_USER - print(json.dumps({"expected": expected, "got": steps, - "final_virtual_time_s": info.virtual_time_s, - "exit_reason": info.reason, "pass": ok}, - ensure_ascii=False)) - return 0 if ok else 1 - - -def _run(args) -> int: - """问题3/4闭环。 - - 三种对接方式:--local-judge 一键本地评测(自动起 referee 并对接); - --self-test 内存回环自检(不占端口);默认对接 --base-url 的模拟器 - (官方或本地 referee)。真值只存在于测试端入口,策略端仅见响应。 - - 实机预算:--self-test 时评测机按 --real-budget-s(默认 1800s)返回 - remaining_real_duration_s;其余方式以服务器 /enter 返回为准(题面 - 程序运行上限 20 分钟,不可延长)。 - """ - config = ProblemConfig() - session = replace(config.session, - base_url=args.base_url or config.session.base_url) - config = replace(config, - session=session, - search=replace(config.search, - bearing_rounding_margin_deg=args.bearing_margin_deg, - persistent_search=args.persistent)) - if args.persistent: - # 历史教训:一次官方演练在 persistent 复扫下把 98.84% 的虚拟时间 - # (346170 s)花在空复扫上。这里给出单轮上界,明确这是"扫到限时"模式。 - stations = 49 if args.problem == 4 else 7 - per_round = config.field.channel_max * stations * ( - config.cost.measure_s + config.cost.switch_s) - print(f"[警告] --persistent:找全后仍复扫未清除频道直到限时。" - f"单轮上界约 {per_round:.0f}s 虚拟时间" - f"({config.field.channel_max} 频道 × {stations} 站点 × " - f"{config.cost.measure_s + config.cost.switch_s:.0f}s)," - f"且会持续多轮;成绩口径请保持默认(关闭)。", file=sys.stderr) - truth = None - transport = None - real_budget_s = None - judge = judge_session = None - if args.local_judge: - if args.self_test: - print("--local-judge 与 --self-test 不能同时使用。", file=sys.stderr) - return 2 - if args.base_url: - print("--local-judge 忽略 --base-url(接口地址由评测机自动分配)。", - file=sys.stderr) - started = _start_local_judge(args) - if started is None: - return 2 - judge, judge_session, action_port, _ui_port = started - config = replace(config, session=replace( - config.session, base_url=f"http://127.0.0.1:{action_port}")) - elif args.self_test: - try: - (local_simulator, local_sim_transport, - mixed_scene, random_omni_scene, referee_spec) = _load_referee() - except ImportError: - return _referee_missing() - real_budget_s = (args.real_budget_s if args.real_budget_s is not None - else config.session.self_test_real_budget_s) - config = replace(config, - field=replace(config.field, - max_real_duration_s=real_budget_s)) - if args.problem == 4: - sources = mixed_scene(seed=args.seed, count=args.sources, - directional=args.directional, config=config) - else: - sources = random_omni_scene(seed=args.seed, count=args.sources, - config=config) - truth = sorted(source.channel for source in sources) - simulator = local_simulator(sources, robot_id=args.robot_id, - spec=referee_spec(config, max_real_duration_s=real_budget_s), - stress_mode=True) - transport = local_sim_transport(simulator) - elif args.real_budget_s is not None: - print("--real-budget-s 仅在 --self-test 下生效;正式测试以服务器 " - "/enter 返回的 remaining_real_duration_s 为准。", file=sys.stderr) - log = SessionLog(path=Path(args.log)) if args.log else SessionLog() - client = SimulatorClient(args.robot_id, config=config, transport=transport, log=log) - if args.problem == 4: - strategy = "directional" - loop_cls = DirectionalExtension - else: - strategy = args.strategy - loop_cls = Q3_STRATEGIES[strategy] - try: - summary = loop_cls(client, config).run() - finally: - if judge is not None: - _settle_local_judge(judge) - summary["robot_id"] = args.robot_id - return _finalize_run(args, summary, strategy, truth=truth, judge=judge, - judge_session=judge_session, real_budget_s=real_budget_s) - - -def _finalize_run(args, summary, strategy, *, truth, judge, judge_session, - real_budget_s) -> int: - """补齐 summary 元信息、核对真值并输出;返回进程退出码。""" - summary["strategy"] = strategy - if real_budget_s is not None: - summary["self_test_real_budget_s"] = real_budget_s - if args.summary_steps is not None and len(summary.get("steps", [])) > args.summary_steps: - summary["steps"] = summary["steps"][:args.summary_steps] - summary["steps_truncated"] = True - all_cleared = None - if truth is not None: - # 仅测试端核对:清除集合是否与真值一致。 - all_cleared = sorted(summary["cleared_channels"]) == truth - summary["truth"] = {"source_channels": truth, - "source_count": len(truth), - "all_cleared": all_cleared} - if judge is not None: - _finish_local_judge(judge, judge_session, summary) - all_cleared = summary["local_judge"]["all_cleared"] - print(json.dumps(summary, ensure_ascii=False, indent=2)) - return 0 if summary["completed"] and (all_cleared is not False) else 1 - - -def main(argv=None) -> int: - parser = argparse.ArgumentParser(prog="mcm26b", description=__doc__) - parser.add_argument("--config", default="", - help="预留:覆盖 ProblemConfig 的 JSON 文件(参数化入口)") - subparsers = parser.add_subparsers(dest="command", required=True) - - q1 = subparsers.add_parser("q1", help="问题一角域交会求解") - q1.add_argument("input", type=str) - q1.add_argument("-o", "--output", type=str, default=None) - q1.add_argument("--rounding-margin-deg", type=float, default=0) - q1.set_defaults(func=lambda a: q1_main([a.input] + (["-o", a.output] if a.output else []) - + (["--rounding-margin-deg", str(a.rounding_margin_deg)] - if a.rounding_margin_deg else [])) or 0) - - check = subparsers.add_parser("sim-check", help="自建模拟器复现附件计时示例") - check.add_argument("--robot-id", default="2026001") - check.set_defaults(func=_sim_check) - - run = subparsers.add_parser("run", help="闭环:发现—定位—清除—退出(问题3/4)") - run.add_argument("--robot-id", required=True, help="登录参赛队号,逐字节一致") - run.add_argument("--base-url", default=None, - help="模拟器接口地址(默认取配置 http://127.0.0.1:2026)") - run.add_argument("--log", default=None, help="会话日志 JSONL 输出路径") - run.add_argument("--problem", type=int, choices=(3, 4), default=3, - help="问题3=全向源,问题4=混合定向源(默认 3)") - run.add_argument("--strategy", choices=tuple(Q3_STRATEGIES), default="bayes", - help="问题3策略:bayes=粒子滤波+信息增益+滚动调度(默认," - "自建消融相对 seven 再降 19.5%%),seven=七点批量," - "grid=49点网格基线;仅 --problem 3 生效") - run.add_argument("--bearing-margin-deg", type=float, default=0.005, - help="示向度舍入裕量(服务器保留两位小数;默认 0.005°)") - run.add_argument("--real-budget-s", type=float, default=None, - help="自检实机预算秒数(默认 1800=30 分钟;仅 --self-test 生效," - "正式测试以服务器 /enter 返回为准)") - run.add_argument("--summary-steps", type=int, default=None, - help="summary 中保留的逐步计时条数上限(默认全部;完整明细在日志)") - run.add_argument("--persistent", action="store_true", - help="复扫保险模式:找全证明后继续复扫未清除频道直到限时" - "(默认关闭:虚拟时间即成绩口径,找全即 /exit)") - run.add_argument("--local-judge", action="store_true", - help="一键本地评测:自动启动独立评测机 referee(机器狗接口+" - "WebUI 实时/回放),确认开始一局演练并对接跑完整闭环;" - "端口被占时主动询问换端口(非交互环境自动改用空闲端口)") - run.add_argument("--judge-port", type=int, default=2026, - help="一键评测的机器狗接口端口(默认 2026;被占时询问/自选)") - run.add_argument("--judge-ui-port", type=int, default=8026, - help="一键评测的 WebUI 端口(默认 8026;被占时询问/自选)") - run.add_argument("--judge-no-ui", action="store_true", - help="一键评测不启动 WebUI(只保留机器狗接口)") - run.add_argument("--judge-countdown-s", type=float, default=5.0, - help="一键评测的确认开始倒计时秒数(题面默认 5 秒,可缩短加速)") - run.add_argument("--judge-data-dir", default="output/referee", - help="一键评测的会话日志目录(默认 output/referee,供 WebUI 回放)") - run.add_argument("--self-test", action="store_true", - help="走独立评测机 referee 与随机场景(测试端自检,不连官方)") - run.add_argument("--seed", type=int, default=20260910, help="自检场景种子") - run.add_argument("--sources", type=int, default=None, - help="自检源数量(默认按题面在 10~16 中随机)") - run.add_argument("--directional", type=int, default=3, - help="问题4自检场景中定向源数量(--problem 4 生效)") - run.set_defaults(func=_run) - - args = parser.parse_args(argv) - try: - return args.func(args) - except NotImplementedError as exc: - print(f"未实现: {exc}", file=sys.stderr) - return 2 - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/docs/paper/data/listing-source/src/mcm26b/config.py.tex b/docs/paper/data/listing-source/src/mcm26b/config.py.tex deleted file mode 100644 index d430286..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/config.py.tex +++ /dev/null @@ -1,213 +0,0 @@ -"""全项目参数中心:题面常量、协议限制、会话策略与搜索规划参数。 - -任何魔法数字只允许在这里出现一次。各模块通过 :class:`ProblemConfig` 读取; -命令行需要覆盖时用 ``dataclasses.replace`` 派生新配置,不散落字面量。 - -来源标注约定: -- ``[题面]`` 出自 issue/B题.pdf、附件1《模拟器使用说明》、附件2《通信接口说明》原文; -- ``[工程]`` 本队工程参数,可依演练实测调整,不代表官方规定。 -""" - -from __future__ import annotations - -from dataclasses import dataclass - -Vec2 = tuple[float, float] - - -@dataclass(frozen=True) -class FieldConfig: - """题目物理世界与协议硬限制。[题面]""" - - omega_radius_m: float = 1800.0 # 目标区域半径,圆心为原点 - channel_min: int = 1 # 有效频道范围 - channel_max: int = 20 - source_count_min: int = 10 # 一局源总数范围(接口不直接告知) - source_count_max: int = 16 - r_eff_min_m: float = 1000.0 # 有效接收半径下界:no_signal 只能排除该圆盘 - r_eff_max_m: float = 1500.0 # 有效接收半径上界:direction 隐含距离上界 - near_radius_m: float = 5.0 # "距离过近"阈值,不返回示向度 - clear_radius_m: float = 20.0 # 清除半径;与定向朝向无关 - bearing_error_half_deg: float = 1.0 # 示向度误差幅度(题设模型) - bearing_decimals: int = 2 # 返回示向度小数位 - coord_abs_limit_m: float = 2_000_000.0 # 提交坐标的绝对值上限(超出返回 HTTP 400) - directional_half_angle_deg: float = 90.0 # 定向源朝向两侧各90度覆盖(含边界) - max_virtual_duration_s: float = 360_000.0 # 虚拟世界限时(100小时) - max_real_duration_s: float = 1200.0 # /enter 成功后程序运行上限(20分钟) - test_window_s: float = 1500.0 # 确认开始后的测试窗口(25分钟) - - -@dataclass(frozen=True) -class CostConfig: - """虚拟世界动作耗时模型。[题面] 附件1表1、附件2第4节。""" - - speed_mps: float = 5.0 # 移动速度;耗时=直线距离/speed - measure_s: float = 5.0 # 每次检测动作耗时(无论结果) - switch_s: float = 1.0 # 任意两频道间切换耗时,仅由合法 /measure 触发 - clear_success_s: float = 5.0 # 清除成功耗时 = 光学定位3s + 激光清除2s - clear_fail_s: float = 3.0 # 未发现可清除目标 = 仅光学定位3s - - -@dataclass(frozen=True) -class SessionConfig: - """会话与网络策略。arena/robot/request 规则为 [题面],其余为 [工程]。""" - - arena_id: str = "default" # [题面] 固定值 - base_url: str = "http://127.0.0.1:2026" # [题面] 模拟器默认接口地址 - robot_id_max_bytes: int = 64 # [题面] UTF-8 长度 1..64 - request_id_max_bytes: int = 128 # [题面] UTF-8 长度 1..128 - request_body_max_bytes: int = 65_536 # [题面] 超出返回 HTTP 413 - connect_timeout_s: float = 5.0 # [工程] 连接超时 - read_timeout_s: float = 15.0 # [工程] 读超时;覆盖"服务器已处理但响应丢失" - max_attempts: int = 3 # [工程] 单动作最多尝试次数(含首次) - retry_backoff_s: float = 0.25 # [工程] 重试退避基数,按 2^n 放大 - reserve_exit_s: float = 60.0 # [工程] 预留退出与故障恢复的现实秒数 - real_rtt_p95_s: float = 1.0 # [工程] 现实单请求高分位估计,预算核算用 - # [工程] 自检/演练实机预算:题面正式测试程序运行上限 1200s 不可延长; - # 自检经 --real-budget-s 覆盖 LocalSimulator 返回的 remaining_real_duration_s, - # 默认 1800s(30 分钟实机),用于验证"限时内持续运行直到找全"的行为。 - self_test_real_budget_s: float = 1800.0 - - -@dataclass(frozen=True) -class SearchConfig: - """搜索与覆盖规划参数。[工程] 推导依据见 docs/B题建模分析与实施计划.md。""" - - grid_step_m: float = 700.0 # P4 覆盖网格步长;单元对角 700*sqrt(2)(*@\ensuremath{\approx}@*)989.95<=1000 - grid_half_cells: int = 3 # i,j (*@\ensuremath{\in}@*) [-3,3],49 点覆盖 [-2100,2100]^2 (*@\ensuremath{\supseteq}@*) Ω - fallback_clear_grid_m: float = 20.0 # P5 后备清除网格;10*sqrt(2)<=20 - # 舍入裕量:服务器对示向度保留两位小数,引入 <=0.005° 偏差 [题面]; - # 不加裕量时合法真源可能被角域裁掉,故库默认与 CLI run 默认一致取 0.005 [工程]。 - bearing_rounding_margin_deg: float = 0.005 - # ---- P3/P4 在线定位与闭环参数 [工程] ---- - polygon_sides: int = 192 # 圆盘外切多边形边数;Ω 近似误差 1800(1-cos((*@\ensuremath{\pi}@*)/192))(*@\ensuremath{\approx}@*)0.24m - witness_spacing_m: float = 60.0 # 最坏后验评估的边界采样间距;选定后再按 1/4 加密复核 - candidate_rings: tuple = (0.0, 0.4, 0.75, 1.0) # 安全接收盘内候选点的半径比例 - candidate_angles: int = 12 # 每环候选方向数 - clear_margin_m: float = 0.5 # 清除证书的额外工程余量(多边形近似误差之外) - max_localize_steps: int = 8 # 单频道定位阶段允许的追加测量上限 - max_anomalies_per_channel: int = 3 # 单频道异常记录上限,防止异常刷屏 - # ---- P5 定向扩展参数 [工程] ---- - max_blocked_probes: int = 4 # 定位单轮内被朝向遮挡的探点预算 - # (首次选点+对跖复核+2 次环探;达限转后备清除) - fallback_max_cells: int = 400 # 后备清除格数硬顶;超过则不盲扫(宽候选集继续定位) - # ---- 覆盖计划(保证层)[工程,2026-09-12 架构优化 P0-2 / S2 硬化] ---- - # 第四问发现点集: - # square49 旧的充分条件表(700m 方格,巡回 36.4km); - # q4_mincover_v1 75m/24 档贪心最小集(31 点,巡回 22.9km)——细网格复检 - # 在 25m/48 档有 125 个 (p,h) 缺口,是采样过拟合解; - # q4_mincover_v2 **设计裕量**最小集(31 点,r_design=965m、前向角裕量 5°, - # 搜索分辨率 50m/48 档 + 证书分辨率精细剪枝), - # 15m/72 档(325.6 万 (p,h))缺口 0,最坏命中 990m,巡回 23.9km。 - # 运行期按同一采样语义复核,未通过即拒绝启动。 - q4_coverage_plan: str = "q4_mincover_v2" - verify_coverage_plan: bool = True # 运行期抽样校验(进程内缓存一次) - # ---- 第四问定向源联合信念 [工程,2026-09-12 架构优化 P0-3] ---- - # 为已发现的定向频道维护 (位置 × 朝向) 联合可行集:用可见性概率选点, - # 取代固定 45° 阶梯探点;联合集空即给出缺席证明。安全性仍由凸/网格 - # 清除证书与覆盖证明负责,本开关只影响选点顺序。 - directional_joint_belief: bool = True - # ---- 第四问定向源探点值函数 [工程,2026-09-12 图论与 DP 方案 S3/D1] ---- - # 旧评分 ``prob_detect/(移动+6)`` 只问"这点看不看得见源",不问"测完剩多少 - # 不确定度",会反复选中同一个近处被遮挡点。D1 口径:先按可见概率过滤 - # (只保留 prob_detect (*@\ensuremath{\ge}@*) ratio×最大值的候选),再最小化 - # E[后验 MEC 半径](q) + (*@\ensuremath{\lambda}@*)·(当前位置→q→MEC 圆心 的移动秒数 + 检测) - # 9 场景 core 配对(修正联合信念朝向规则之后): - # (*@\ensuremath{\lambda}@*)=0.05:后备 6.8 次 / T 9740 s(值函数主导,为信息多绕路) - # (*@\ensuremath{\lambda}@*)=5 :后备 4.3 次 / T 8604 s(移动项主导,可见性过滤 + 就近抵近) - # 仅移动项(nearest_visible):后备 4.3 次 / T 8602 s,墙钟最低 - # 相对旧 visibility 口径(后备 125.6 次、T 9225 s)三者都更好,且 (*@\ensuremath{\lambda}@*) 越大 - # 越优说明本题"看得见 + 少走路"比"信息量最大"更重要,故默认取极限口径。 - probe_score_mode: str = "nearest_visible" # visibility | expected_radius | nearest_visible - probe_lambda_move_s: float = 5.0 # expected_radius 口径下的移动折算 - # 可见概率过滤:只保留 prob_detect (*@\ensuremath{\ge}@*) ratio×最大值的候选再比期望半径, - # 避免"期望上有点信息、实际必被朝向遮挡"的探点。 - probe_visibility_ratio: float = 0.7 - probe_exclude_blocked: bool = True # 已测过且被遮挡的探点不再重复选取 - approach_fractions: tuple = () # D1 抵近点插值比例(0=圆心);默认关闭 - # ---- 后备清除路径优化 [工程,2026-09-12 S4/D3] ---- - # 实测反例:后备清除在命中真源时立即结束,"整条走格路径最短"并不是正确 - # 目标——Or-opt 会把真源推到序列更后面。9 场景配对:最近邻 125.7 次失败 - # vs Or-opt 161.4 次(T 8676 → 8940 s)。默认关闭,保留代码与开关。 - fallback_optimize_tour: bool = False - # ---- 持续搜索 [工程,2026-09-11 用户决策修订] ---- - # 虚拟时间即评测成绩口径(表1:平均定位清除时间):找全证明达成后 - # 立即 /exit,不复扫。复扫保险模式(防缺席证明假设偏差)保留,经 - # `mcm26b run --persistent` 显式开启:只复扫未清除频道,直到清除数 - # 达 16、实机预算耗尽或虚拟安全余量不足。 - persistent_search: bool = False - virtual_reserve_s: float = 10_000.0 # 虚拟时长安全余量:剩余不足时停止发起动作, - # 避免触及 100 小时上限被模拟器强制结束 - - -@dataclass(frozen=True) -class BayesConfig: - """P4b 贝叶斯网格滤波策略参数(问题3新策略 bayes)。[工程] - - 网格粒子滤波的严格性依赖 Voronoi 裕量:真实源所在格心与源的距离 - <= sqrt(2)/2 * particle_spacing_m,所有 kill 判定都内缩该裕量, - 因此幸存集永远包含真源(定理见 docs/algo-3-bayes.md §2)。 - """ - - particle_spacing_m: float = 14.65 # 网格间距;Voronoi 裕量 (*@\ensuremath{\approx}@*) 10.35m; - # 全域约 4.7 万格/频道,查询走粗格索引 - # ---- 信息增益评分 [工程,Optuna TPE 调参回填 2026-09-11] ---- - # 原调参记录见 output/q3/bayes-tuning/;当前代码的配对验收记录见 - # output/q3/optimization-20260911/,随机分布与信息评分仅为工程假设。 - score_mode: str = "entropy" # entropy=期望 log 幸存占比(信息增益)| - # radius=期望后验半径(直指证书) - score_subsample: int = 800 # 期望幸存熵估计的粒子子采样规模 - mc_representatives: int = 7 # 假设真值代表点数(均匀抽取幸存格) - lambda_move_s: float = 0.05 # 选点评分中移动时间的折算系数(分值/秒); - # 2026-09-12 配对复跑:0.05 优于 0.0105(20 场均值 −2.8%), - # entropy 口径下信息项为 O(1) 对数值,(*@\ensuremath{\lambda}@*)须小型但不可过小 - # ---- 路线感知探点 [工程,2026-09-12 P2] ---- - # 旧评分只看 current->q + q->MEC,容易选到“信息增益略高但要多绕几百米” - # 的探点。开启后,在候选评分中加入 q 替换当前位置后对当前任务路线代价 - # 的增量;A/B 以冻结基准集配对验收。 - # 2026-09-12 冻结基准集复跑(18 场景):关闭 3193.1 s vs 开启 3210.3 s, - # 移动 12339.8 m vs 12446.8 m —— 权重 1e-3 的路线项未带来净收益,默认关闭。 - route_aware_probe: bool = False - route_aware_insert_weight: float = 0.001 # 路线代价增量的折算系数(小权重,仅微调) - route_aware_clear_weight: float = 0.0 # 额外 q->MEC 清除接近项(基础移动项已含) - wide_rings: tuple = (1.0, 1.5, 2.0) # 无保证接收盘时的探索环(× PF MEC 半径) - # ---- 站点与覆盖 [工程] ---- - station_ring_radius_m: float = 1159.7 # 七点环半径;构造时检验全向覆盖解析上界 - # ---- 发现-定位融合巡回 [工程,2026-09-12 P0-1,实测无效,默认关闭] ---- - # 设想:站点扫频顺带取第二/第三条方位线,取代专用探点。 - # 实测(output/suite/q3-fuse-ab*,20 场景配对,2026-09-12): - # 仅追加站点方位线:3454.6s vs 3426.9s(+0.8%,检测 +10.8 次,位移仅 −188m); - # 追加 + 抑制专用探点:4989.0s vs 3426.9s(+45.6%,20/20 场景更慢)。 - # 原因:七站环上只有 2–3 个站能对同一源取得有效方位线,且站间交会角 - # 不足以保证 20m 证书,专用信息增益探点仍然必要;抑制探点只会白等巡回。 - # 代码保留以便复现与后续研究,成绩口径必须保持 False。 - fuse_localize_into_tour: bool = False - # ---- 任务排序 [工程] ---- - two_opt_enabled: bool = True # 开放路径 2-opt 改进(最近邻打底) - two_opt_passes: int = 4 # 2-opt 最大改进轮数 - # ---- 精确任务序(Held-Karp,含换频状态)[工程,2026-09-12 S5/T1] ---- - # 任务表典型 6–12 项:|T| (*@\ensuremath{\le}@*) exact_order_limit 时用精确 DP(状态=已访问集合 - # × 结束时测向频道),换频代价精确计入;否则回退 NN + 2-opt。0 表示禁用。 - # 实测(18 场景):精确 DP 3203.2 s vs 2-opt 3193.1 s —— 逐位最优的"当前 - # 任务表"在滚动时域下反而略差(贪心排序的次优性起到探索作用),默认 0; - # 代码与对拍测试保留,可随时开启复核。 - exact_order_limit: int = 0 - # ---- PF 清除证书 [工程] ---- - grid_cert_enabled: bool = True # 允许用幸存集 MEC 颁发清除证书(凸证书之外) - opportunistic_measure: bool = True # 已停靠位置顺路交会;仍逐频道计费 - # 预测后验半径至少减少 (1−ratio) 才补测;0.5 优于 0.65(18 场景 3205.4 vs 3210.3 s) - opportunistic_radius_ratio: float = 0.5 - - -@dataclass(frozen=True) -class ProblemConfig: - """聚合配置。各模块函数的第一个默认参数,便于单测替换。""" - - field: FieldConfig = FieldConfig() - cost: CostConfig = CostConfig() - session: SessionConfig = SessionConfig() - search: SearchConfig = SearchConfig() - bayes: BayesConfig = BayesConfig() - - -DEFAULT_CONFIG = ProblemConfig() diff --git a/docs/paper/data/listing-source/src/mcm26b/coverage/__init__.py.tex b/docs/paper/data/listing-source/src/mcm26b/coverage/__init__.py.tex deleted file mode 100644 index f4921cf..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/coverage/__init__.py.tex +++ /dev/null @@ -1,56 +0,0 @@ -"""P4 全域覆盖:49 点网格与逐频道覆盖记录。 - -覆盖基线(推导见 docs/B题建模分析与实施计划.md §4): -S = {(700i, 700j) : i, j (*@\ensuremath{\in}@*) [-3,3]},|S| = 49,覆盖 [-2100,2100]² (*@\ensuremath{\supseteq}@*) Ω, -且允许访问目标圆域外(边界朝外发射的定向源不漏)。 -单元内任意点到 4 顶点距离 <= 700·√2 (*@\ensuremath{\approx}@*) 989.95 <= 1000 <= 最小接收半径。 - -验收标准: -- "路过某点"不算"测过某频道":必须按 (频道, 点) 二维记录; -- 已清除/已定位频道可跳过剩余点,但跳过原因必须留痕; -- 自适应跳点(P6)必须保留逐频道覆盖证据,否则不得启用。 -""" - -from __future__ import annotations - -from dataclasses import dataclass, field - -from ..config import ProblemConfig, Vec2 - - -def coverage_points(config: ProblemConfig = ProblemConfig()) -> list[Vec2]: - """49 点覆盖网格生成(纯几何,可独立测试)。""" - step = config.search.grid_step_m - half = config.search.grid_half_cells - return [(step * i, step * j) - for j in range(half, -half - 1, -1) - for i in range(-half, half + 1)] - - -@dataclass -class CoverageLedger: - """逐频道覆盖账本:(频道, 网格点) -> 是否已测。""" - - config: ProblemConfig = field(default_factory=ProblemConfig) - points: list[Vec2] = field(default_factory=coverage_points) - measured: set = field(default_factory=set) # {(channel, point_index)} - skipped: dict = field(default_factory=dict) # channel -> 原因 - - def mark_measured(self, channel: int, point_index: int) -> None: - self.measured.add((channel, point_index)) - - def measured_at(self, channel: int, point_index: int) -> bool: - return (channel, point_index) in self.measured - - def skip_channel(self, channel: int, reason: str) -> None: - """记录整频道跳过原因(如 already_cleared / located_pending_clear)。""" - self.skipped[channel] = reason - - def pending_points(self, channel: int) -> list[int]: - """该频道尚未测量的网格点下标。扫描调度策略未实现(P4)。""" - return [index for index in range(len(self.points)) - if not self.measured_at(channel, index)] - - def coverage_complete(self, channel: int) -> bool: - """该频道覆盖是否完成(含显式跳过)。""" - return channel in self.skipped or not self.pending_points(channel) diff --git a/docs/paper/data/listing-source/src/mcm26b/evaluation/__init__.py.tex b/docs/paper/data/listing-source/src/mcm26b/evaluation/__init__.py.tex deleted file mode 100644 index 2fb2ec8..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/evaluation/__init__.py.tex +++ /dev/null @@ -1,85 +0,0 @@ -"""评估与统计:从自身动作日志离线复算虚拟时刻与统计量。 - -"演练统计"验收要求:总时间与分项耗时可独立复算 [题面/计划 §6]。 -recompute_virtual_time 是回放测试与本模块共用的唯一复算实现, -客户端日志格式为 SessionLog 中 accepted 事件的 {path, request, response}。 -""" - -from __future__ import annotations - -from ..config import CostConfig -from ..protocol.rules import CLEAR_SUCCESS -from ..protocol.timing import clear_cost, measure_cost - - -def recompute_virtual_time(events: list[dict], - cost: CostConfig = CostConfig()) -> dict: - """从动作日志复算逐步虚拟时刻。 - - events 每项形如 {path, request, response}(accepted=true)。 - 返回逐步表与最终时刻;任何一步与服务器响应偏差超过容差记入 mismatches。 - """ - position = (0.0, 0.0) - channel = 1 - virtual = 0.0 - virtual_us = 0 - steps, mismatches = [], [] - for index, event in enumerate(events): - path, request = event["path"], event["request"] - response = event["response"] - if response.get("accepted") is not True: - mismatches.append({"index": index, "issue": "响应未被接受"}) - continue - if path == "/enter": - position, channel, virtual = (0.0, 0.0), 1, response["virtual_time_s"] - virtual_us = round(virtual * 1_000_000) - elif path == "/measure": - pos = (request["position"]["x"], request["position"]["y"]) - predicted = measure_cost(position, pos, channel, request["channel"], cost) - position, channel = pos, request["channel"] - virtual_us += predicted.total_us - virtual = virtual_us / 1_000_000 - elif path == "/clear": - pos = (request["position"]["x"], request["position"]["y"]) - success = response.get("clear_result") == CLEAR_SUCCESS - predicted = clear_cost(position, pos, success, cost) - position = pos - virtual_us += predicted.total_us - virtual = virtual_us / 1_000_000 - elif path == "/exit": - pass # /exit 不推进虚拟时钟 [题面] - else: - mismatches.append({"index": index, "issue": f"未知路径 {path}"}) - continue - delta = response["virtual_time_s"] - virtual - if abs(delta) > 1e-6: - mismatches.append({"index": index, "path": path, - "recomputed_s": virtual, - "recorded_s": response["virtual_time_s"], - "gap_s": delta}) - steps.append({"index": index, "path": path, - "predicted_s": round(virtual, 9), - "recorded_s": response["virtual_time_s"]}) - return {"steps": steps, "final_virtual_time_s": virtual, - "mismatches": mismatches} - - -def summarize(events: list[dict]) -> dict: - """动作计数摘要:检测/清除/移动距离等基础统计。""" - position = (0.0, 0.0) - measures, clears, cleared, distance_m = 0, 0, 0, 0.0 - for event in events: - request = event["request"] - if event["path"] in ("/measure", "/clear"): - pos = (request["position"]["x"], request["position"]["y"]) - distance_m += ((pos[0] - position[0]) ** 2 - + (pos[1] - position[1]) ** 2) ** 0.5 - position = pos - if event["path"] == "/measure": - measures += 1 - elif event["path"] == "/clear": - clears += 1 - if event["response"].get("clear_result") == CLEAR_SUCCESS: - cleared += 1 - return {"measures": measures, "clears": clears, "cleared": cleared, - "distance_m": distance_m} diff --git a/docs/paper/data/listing-source/src/mcm26b/geometry/__init__.py.tex b/docs/paper/data/listing-source/src/mcm26b/geometry/__init__.py.tex deleted file mode 100644 index 091e7e4..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/geometry/__init__.py.tex +++ /dev/null @@ -1,9 +0,0 @@ -"""P2 几何内核:B题问题一有界误差方位交会定位。仅用标准库,已完工。 - -问题二首次测向安全候选盘证书一并放在本包(planning 模块)。 -""" - -from .localization import Measurement, solve, smallest_enclosing_circle -from .planning import first_bearing_candidate_disk - -__all__ = ["Measurement", "solve", "smallest_enclosing_circle", "first_bearing_candidate_disk"] diff --git a/docs/paper/data/listing-source/src/mcm26b/geometry/__main__.py.tex b/docs/paper/data/listing-source/src/mcm26b/geometry/__main__.py.tex deleted file mode 100644 index e43a5a2..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/geometry/__main__.py.tex +++ /dev/null @@ -1,40 +0,0 @@ -"""python -m mcm26b.geometry observations.json [-o result.json]""" - -import argparse -import json -from dataclasses import replace -from math import isfinite -from pathlib import Path -from .localization import Measurement, solve - - -def main(argv=None): - parser = argparse.ArgumentParser(description="B题问题一:角域交、直径与包围圆") - parser.add_argument("input", type=Path, help="包含measurements数组的JSON文件") - parser.add_argument("-o", "--output", type=Path) - parser.add_argument("--rounding-margin-deg", type=float, default=0, - help="额外误差半角,默认0;可显式设0.005进行舍入敏感性分析") - args = parser.parse_args(argv) - try: - source = json.loads(args.input.read_text(encoding="utf-8-sig")) - measurements = [Measurement(**row) for row in source["measurements"]] - if not isfinite(args.rounding_margin_deg) or args.rounding_margin_deg < 0: - raise ValueError("额外误差半角必须为有限非负数") - measurements = [replace(m, half_angle_deg=m.half_angle_deg+args.rounding_margin_deg) - for m in measurements] - result = solve(measurements) - result["error_policy"] = { - "additional_half_angle_deg": args.rounding_margin_deg, - "effective_half_angles_deg": [m.half_angle_deg for m in measurements], - } - except (ValueError, TypeError, KeyError, OSError) as exc: - parser.error(str(exc)) - text = json.dumps(result, ensure_ascii=False, indent=2, allow_nan=False) - if args.output: - args.output.parent.mkdir(parents=True, exist_ok=True) - args.output.write_text(text + "\n", encoding="utf-8") - print(text) - - -if __name__ == "__main__": - main() diff --git a/docs/paper/data/listing-source/src/mcm26b/geometry/localization.py.tex b/docs/paper/data/listing-source/src/mcm26b/geometry/localization.py.tex deleted file mode 100644 index c7bfde8..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/geometry/localization.py.tex +++ /dev/null @@ -1,289 +0,0 @@ -"""Intersect forward bearing wedges without an artificial bounding box. - -All calculations are floating point with normalized station coordinates. -The reference algorithm deliberately favors auditability over asymptotic speed. -Near-parallel plane pairs are intersected instead of skipped (only exactly -parallel pairs are discarded), and the feasibility tolerance scales with the -candidate vertex magnitude, so legitimate far-away vertices of long thin -regions are never silently dropped. -""" - -from dataclasses import dataclass -from itertools import combinations -from math import cos, sin, radians, hypot, isfinite -from random import Random - -Point = tuple[float, float] -EPS = 1e-9 -PARALLEL_EPS = 1e-12 - - -@dataclass(frozen=True) -class Measurement: - x: float - y: float - bearing_deg: float - half_angle_deg: float = 1.0 - - def __post_init__(self): - values = (self.x, self.y, self.bearing_deg, self.half_angle_deg) - if any(isinstance(v, bool) or not isinstance(v, (int, float)) - or not isfinite(v) for v in values): - raise ValueError("坐标、示向度和误差半角必须是有限数值") - if not 0 <= self.half_angle_deg < 90: - raise ValueError("误差半角必须在 [0, 90) 度;题设为1度") - - -def cross(a: Point, b: Point) -> float: - return a[0] * b[1] - a[1] * b[0] - - -def distance(a: Point, b: Point) -> float: - return hypot(a[0] - b[0], a[1] - b[1]) - - -def halfplanes(m: Measurement) -> list[tuple[float, float, float]]: - """Return a*x+b*y<=c with unit normals, including the forward constraint.""" - theta = m.bearing_deg % 360 - lower, upper = radians(theta - m.half_angle_deg), radians(theta + m.half_angle_deg) - middle = radians(theta) - normals = [(sin(lower), -cos(lower)), (-sin(upper), cos(upper)), - (-cos(middle), -sin(middle))] - return [(a, b, a * m.x + b * m.y) for a, b in normals] - - -def convex_hull(points: list[Point], eps: float = EPS) -> list[Point]: - """Monotone chain, CCW, no repeated final vertex; retain segment endpoints.""" - ordered = sorted(points) - unique = [] - for p in ordered: - if not unique or distance(p, unique[-1]) > eps: - unique.append(p) - if len(unique) <= 2: - return unique - - def chain(seq): - out = [] - for p in seq: - while len(out) >= 2: - a = (out[-1][0] - out[-2][0], out[-1][1] - out[-2][1]) - b = (p[0] - out[-1][0], p[1] - out[-1][1]) - # Distance-to-line tolerance, not an unscaled area tolerance. - if cross(a, b) > eps * max(hypot(*a), hypot(*b), eps): - break - out.pop() - out.append(p) - return out - - return chain(unique)[:-1] + chain(reversed(unique))[:-1] - - -def diameter(points: list[Point]): - if not points: - raise ValueError("空点集没有本程序定义下的直径") - a = b = points[0] - value = 0.0 - for p, q in combinations(points, 2): - d = distance(p, q) - if d > value: - value, a, b = d, p, q - return value, (a, b) - - -def _circumcircle(a: Point, b: Point, c: Point): - u = (b[0] - a[0], b[1] - a[1]) - v = (c[0] - a[0], c[1] - a[1]) - det = 2 * cross(u, v) - if abs(det) <= PARALLEL_EPS * max(hypot(*u) * hypot(*v), 1e-300): - return None - uu, vv = u[0] ** 2 + u[1] ** 2, v[0] ** 2 + v[1] ** 2 - center = (a[0] + (uu * v[1] - vv * u[1]) / det, - a[1] + (u[0] * vv - v[0] * uu) / det) - return center, distance(center, a) - - -def _enclosing_circle_reference(points: list[Point], eps: float = EPS): - """Enumerate all 1/2/3-point supports; O(m^4), appropriate for small m. - - Radius is recomputed against every vertex to preserve numerical containment. - Coordinates should be normalized when there are very large offsets. - """ - if not points: - raise ValueError("空集不计算最小包围圆") - xs, ys = [p[0] for p in points], [p[1] for p in points] - best_c = ((min(xs) + max(xs)) / 2, (min(ys) + max(ys)) / 2) - best_r = max(distance(best_c, p) for p in points) - - def consider(center, radius): - nonlocal best_c, best_r - if radius > best_r + eps: - return - actual = max(distance(center, p) for p in points) - if actual <= radius + eps and actual < best_r: - best_c, best_r = center, actual - - for p in points: - consider(p, 0.0) - for a, b in combinations(points, 2): - consider(((a[0] + b[0]) / 2, (a[1] + b[1]) / 2), distance(a, b) / 2) - for a, b, c in combinations(points, 3): - circle = _circumcircle(a, b, c) - if circle is not None: - consider(*circle) - return best_c, best_r - - -def _circle_covers(circle, point: Point, tolerance: float) -> bool: - """Whether the circle already covers point; None means no circle yet.""" - if circle is None: - return False - return distance(circle[0], point) <= circle[1] + tolerance - - -def smallest_enclosing_circle(points: list[Point], eps: float = EPS): - """Welzl's randomized incremental algorithm, using an explicit call stack. - - The fixed shuffle makes results reproducible. Expected linear work refers - to randomized input order, not a worst-case guarantee for this fixed seed. - Normalize internally so this public helper also handles translated inputs. - The exhaustive reference is retained for independent regression comparisons. - """ - if not points: - raise ValueError("空集不计算最小包围圆") - if not isfinite(eps) or eps <= 0: - raise ValueError("eps必须为有限正数") - if any(len(p) != 2 or any(isinstance(x, bool) or not isinstance(x, (int, float)) - or not isfinite(x) for x in p) for p in points): - raise ValueError("点集必须由有限二维坐标组成") - origin = points[0] - scale = max(distance(origin, p) for p in points) - if scale == 0: - return tuple(origin), 0.0 - local = [((p[0]-origin[0])/scale, (p[1]-origin[1])/scale) for p in points] - tolerance = min(eps/scale, EPS) - Random(20260910).shuffle(local) - # Frame = (remaining prefix length, forced boundary, returning from child). - stack = [(len(local), (), False)] - circle = None - while stack: - n, boundary, returning = stack.pop() - if n == 0 or len(boundary) == 3: - # Forced support points must lie ON the boundary. For three points - # use their circumcircle, even when their unconstrained MEC is smaller. - circle = _circumcircle(*boundary) if len(boundary) == 3 else None - if circle is None and boundary: - circle = _enclosing_circle_reference(list(boundary), tolerance) - elif not returning: - stack.append((n, boundary, True)) - stack.append((n-1, boundary, False)) - elif not _circle_covers(circle, local[n-1], tolerance): - stack.append((n-1, boundary + (local[n-1],), False)) - assert circle is not None - center = (origin[0]+circle[0][0]*scale, origin[1]+circle[0][1]*scale) - # Recompute after transforming back: returned circle contains all input points - # to distance() precision, including any roundoff from the large translation. - return center, max(distance(center, p) for p in points) - - -def solve(measurements: list[Measurement], eps: float = EPS) -> dict: - """Solve Q1's pure angular intersection (no disk/range prior added). - - Nonempty intersections of <180-degree forward wedges are pointed polyhedra, - so they possess a vertex, even if unbounded. Feasibility follows from vertex - enumeration; unboundedness follows from a nonzero recession direction. - Empty diameter is null, unbounded diameter is null with diameter_infinite=true. - - Near-parallel plane pairs are intersected rather than skipped: their - intersection can be a legitimate vertex of a very long thin region - (e.g. stations 1cm apart with bearings 1 and 358.99999999999 deg give a - vertex ~5.7e10 m away). Only exactly-parallel pairs (det == 0) have no - intersection. The feasibility tolerance scales with the vertex magnitude, - since absolute residuals grow with coordinates. - """ - if not isfinite(eps) or eps <= 0: - raise ValueError("eps必须为有限正数") - if not measurements: - return {"status": "unbounded", "vertices": [], "diameter_m": None, - "diameter_infinite": True, "recession_direction": [1.0, 0.0], - "message": "没有观测,整个平面均可行"} - if len(measurements) > 100: - raise ValueError("参考实现最多接收100个检测点;更大规模应使用半平面交算法") - ox = sum(m.x for m in measurements) / len(measurements) - oy = sum(m.y for m in measurements) / len(measurements) - scale = max(1.0, max(hypot(m.x - ox, m.y - oy) for m in measurements)) - local = [Measurement((m.x - ox) / scale, (m.y - oy) / scale, - m.bearing_deg, m.half_angle_deg) for m in measurements] - planes = [h for m in local for h in halfplanes(m)] - - def inside(p): - tol = eps * max(1.0, abs(p[0]), abs(p[1])) - return all(a * p[0] + b * p[1] <= c + tol for a, b, c in planes) - - feasible_vertices = [] - for (a, b, c), (d, e, f) in combinations(planes, 2): - det = a * e - b * d - if det == 0.0: - continue # 精确平行:无交点(近平行对的交点是合法远端顶点,保留) - p = ((c * e - b * f) / det, (a * f - c * d) / det) - if isfinite(p[0]) and isfinite(p[1]) and inside(p): - feasible_vertices.append(p) - - if not feasible_vertices: - return {"status": "empty", "vertices": [], "diameter_m": None, - "diameter_infinite": False, "tolerance_m": eps * scale, - "message": "测向角域没有公共点;检查频道、数据及误差界"} - - # A nontrivial 2D recession cone has a ray tangent to an input halfplane. - # Use a much tighter angular threshold than the positional feasibility epsilon. - ray = None - for a, b, _ in planes: - for direction in ((b, -a), (-b, a)): - if all(d * direction[0] + e * direction[1] <= 2e-14 - for d, e, _ in planes): - ray = direction - break - if ray is not None: - break - - hull = convex_hull(feasible_vertices, eps) - - def world(p): - return [ox + p[0] * scale, oy + p[1] * scale] - - result = {"status": "unbounded" if ray else - ("point" if len(hull) == 1 else "segment" if len(hull) == 2 else "polygon"), - "vertices": [world(p) for p in hull], "tolerance_m": eps * scale, - "diameter_infinite": ray is not None} - if ray is not None: - result.update(diameter_m=None, recession_direction=list(ray), - message="存在非零衰退方向,区域无界,直径为无穷大") - return result - - d, pair = diameter(hull) - midpoint = ((pair[0][0] + pair[1][0]) / 2, (pair[0][1] + pair[1][1]) / 2) - distances = [distance(midpoint, p) for p in hull] - witness_index = max(range(len(hull)), key=distances.__getitem__) - max_distance = distances[witness_index] - center, radius = smallest_enclosing_circle(hull, eps) - area = abs(sum(cross(hull[i], hull[(i + 1) % len(hull)]) - for i in range(len(hull)))) / 2 - result.update(diameter_m=d * scale, diameter_pair=[world(p) for p in pair], - area_m2=area * scale ** 2, - diameter_circle={"center": world(midpoint), "radius_m": d * scale / 2, - "max_vertex_distance_m": max_distance * scale, - "covers": max_distance <= d / 2 + eps * 4, - "coverage_tolerance_m": 4 * eps * scale, - "max_excess_m": (max_distance-d/2) * scale, - "outside_vertex_indices": [i for i, value in enumerate(distances) - if value > d/2 + 4*eps], - "witness_vertex": world(hull[witness_index]) - if max_distance > d/2 + 4*eps else None}, - minimum_enclosing_circle={"center": world(center), "radius_m": radius * scale}, - guaranteed_clearable_at_mec_center=radius * scale <= 20 - eps * scale * 4, - clearance_certificate={"model": "angular_intersection_only", - "clear_radius_m": 20.0, - "numerical_margin_m": 4*eps*scale, - "radius_with_margin_m": (radius+4*eps)*scale, - "remaining_margin_m": 20-(radius+4*eps)*scale, - "center": world(center)}) - return result diff --git a/docs/paper/data/listing-source/src/mcm26b/geometry/planning.py.tex b/docs/paper/data/listing-source/src/mcm26b/geometry/planning.py.tex deleted file mode 100644 index 119894e..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/geometry/planning.py.tex +++ /dev/null @@ -1,32 +0,0 @@ -"""Distance certificates for Q2; does not change Q1's angular polygon model.""" - -from math import cos, sin, radians, isfinite -from .localization import Measurement - - -def first_bearing_candidate_disk(measurement: Measurement, - max_range_m: float = 1500, - guaranteed_range_m: float = 1000) -> dict: - """Enclose the entire truncated first-bearing sector, then erode its disk. - - For half-angle <=45 degrees the sector MEC has center distance and radius - a=R/(2*cos(delta)). Intersecting with Omega only shrinks the source set. - A missing sufficient disk is NOT proof that Q is empty. The certificate - guarantees distance only: directional transmitters may still be invisible. - """ - if any(isinstance(v, bool) or not isinstance(v, (int, float)) or not isfinite(v) - or v <= 0 for v in (max_range_m, guaranteed_range_m)): - raise ValueError("接收半径必须为有限正数") - if measurement.half_angle_deg > 45: - raise ValueError("此窄角域证书仅支持半角不超过45度;题设为1度") - delta, theta = radians(measurement.half_angle_deg), radians(measurement.bearing_deg % 360) - a = max_range_m/(2*cos(delta)) - center = [measurement.x+a*cos(theta), measurement.y+a*sin(theta)] - available = guaranteed_range_m-a - return {"source_model": "first_bearing_sector_with_range_upper_bound", - "sector_enclosing_circle": {"center": center, "radius_m": a}, - "sufficient_candidate_disk": {"center": center, "radius_m": available} - if available >= 0 else None, - "candidate_nonempty_certified": available >= 0, - "distance_only": True, - "max_range_m": max_range_m, "guaranteed_range_m": guaranteed_range_m} diff --git a/docs/paper/data/listing-source/src/mcm26b/guarantee/__init__.py.tex b/docs/paper/data/listing-source/src/mcm26b/guarantee/__init__.py.tex deleted file mode 100644 index a81a843..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/guarantee/__init__.py.tex +++ /dev/null @@ -1,23 +0,0 @@ -"""保证层:覆盖计划(CoveragePlan)、证书与运行期校验。 - -对外只暴露覆盖计划与校验入口;`coverage` 包仍负责逐频道覆盖账本。 -""" - -from .cover import (CERTIFY_HEADINGS, CERTIFY_STEP_M, OMEGA_RADIUS_M, - R_EFF_MIN_M, CoverageCertificate, - CoveragePlan, PLAN_DIR, VERIFY_HEADINGS, VERIFY_STEP_M, - candidate_lattice, coverage_masks, forward_targets, - greedy_cover, load_plan, nn_tour_length, omega_positions, - plan_instance, plan_names, seven_plan, seven_points, - square_49_plan, verify_full_disk, verify_forward_half_disk, - verify_plan, write_plan) - -__all__ = [ - "CERTIFY_HEADINGS", "CERTIFY_STEP_M", "OMEGA_RADIUS_M", "R_EFF_MIN_M", - "CoverageCertificate", "CoveragePlan", - "PLAN_DIR", "VERIFY_HEADINGS", "VERIFY_STEP_M", "candidate_lattice", - "coverage_masks", "forward_targets", "greedy_cover", "load_plan", - "nn_tour_length", "omega_positions", "plan_instance", "plan_names", - "seven_plan", "seven_points", "square_49_plan", "verify_full_disk", - "verify_forward_half_disk", "verify_plan", "write_plan", -] diff --git a/docs/paper/data/listing-source/src/mcm26b/guarantee/cover.py.tex b/docs/paper/data/listing-source/src/mcm26b/guarantee/cover.py.tex deleted file mode 100644 index 736ead8..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/guarantee/cover.py.tex +++ /dev/null @@ -1,428 +0,0 @@ -"""保证层:可离线搜索、可在运行期校验的覆盖计划(CoveragePlan)。 - -两类覆盖语义(题面约束不同,绝不可混用): - -- ``full_disk``(第三问,全向源):在 s 处 no_signal 排除 B(s, r_eff_min), - 因此"全点皆 no_signal (*@\ensuremath{\Longrightarrow}@*) 不存在源"要求 - ``(*@\ensuremath{\cup}@*) B(c, 1000) (*@\ensuremath{\supseteq}@*) Ω``。解析最优解是"原点 + 半径 r 的 6 等分环", - ``r`` 的可行区间由 ``validate_seven_coverage`` 给出(本模块提供数值复核)。 -- ``forward_half_disk``(第四问,定向源):源可能背向读点,no_signal 不再 - 排除整个圆盘,缺席证明要求 - ``(*@\ensuremath{\forall}@*)(p,h) (*@\ensuremath{\in}@*) Ω×S¹, (*@\ensuremath{\exists}@*)c (*@\ensuremath{\in}@*) S: |c−p| (*@\ensuremath{\le}@*) 1000 (*@\ensuremath{\wedge}@*) (c−p)·u(h) (*@\ensuremath{\ge}@*) 0``。 - 现役 700 m 方格 49 点是充分条件(单元对角 (*@\ensuremath{\le}@*) 1000),但远非必要; - 本模块用贪心击中集把点数压到 31,并在同一采样空间上校核。 - -设计原则(docs/第三四问架构优化与运行提速方案.md §2.3): -**保证 = 离线搜索 + 运行期校验**。点表以 JSON 落盘并携带证书(采样分辨率、 -缺口数、最坏命中距离、生成参数哈希),运行期用同一套采样语义重新校核, -未通过即拒绝启动。证书只能用于选点优化,不改变任何安全性证明。 -""" - -from __future__ import annotations - -import hashlib -import json -import math -from dataclasses import dataclass, field, fields -from functools import lru_cache -from pathlib import Path - -from ..config import Vec2 - -PLAN_DIR = Path(__file__).resolve().parent / "plans" -R_EFF_MIN_M = 1000.0 # [题面] 最小有效接收半径 -OMEGA_RADIUS_M = 1800.0 # [题面] 目标圆域半径 -SPEED_MPS = 5.0 # [题面] 用于把巡回长度折算成虚拟移动秒数 - -# 采样分辨率。**校核必须与证书同分辨率**:更粗的采样会放过"删掉一个关键点 -# 仍然看似覆盖"的点集,使校核退化为装饰(实测 100 m/12 档即漏判)。 -# 75 m / 24 档下一次全域校核约 1 s,且按计划名缓存,每进程只付一次。 -CERTIFY_STEP_M = 75.0 -CERTIFY_HEADINGS = 24 -VERIFY_STEP_M = CERTIFY_STEP_M -VERIFY_HEADINGS = CERTIFY_HEADINGS - - -@dataclass(frozen=True) -class CoverageCertificate: - """覆盖证书:采样语义 + 缺口 + 最坏命中距离。""" - - kind: str # "full_disk" | "forward_half_disk" - target_step_m: float - headings: int - r_eff_min_m: float - targets: int - uncovered: int - worst_hit_distance_m: float - nn_tour_m: float - generator_sha256: str = "" - # 证书硬化:校核时使用的前向角裕量(度)。与 r_eff_min_m 的设计裕量 - # 一起把"采样格覆盖"提升为"连续空间覆盖",见 verify_forward_half_disk。 - verify_heading_margin_deg: float = 0.0 - - @property - def valid(self) -> bool: - return self.uncovered == 0 and self.targets > 0 - - def as_dict(self) -> dict: - return {"kind": self.kind, "target_step_m": self.target_step_m, - "headings": self.headings, "r_eff_min_m": self.r_eff_min_m, - "targets": self.targets, "uncovered": self.uncovered, - "worst_hit_distance_m": round(self.worst_hit_distance_m, 3), - "nn_tour_m": round(self.nn_tour_m, 1), - "nn_tour_virtual_s": round(self.nn_tour_m / SPEED_MPS, 1), - "generator_sha256": self.generator_sha256, - "verify_heading_margin_deg": self.verify_heading_margin_deg} - - -@dataclass(frozen=True) -class CoveragePlan: - """一份覆盖计划:点集 + 语义 + 证书(可为解析证明)。""" - - name: str - problem: int - points: tuple[Vec2, ...] - kind: str # "analytic" | "certified" - coverage: str # "full_disk" | "forward_half_disk" - note: str = "" - certificate: CoverageCertificate | None = None - generator: dict = field(default_factory=dict) - - def __len__(self) -> int: - return len(self.points) - - def as_dict(self) -> dict: - return {"name": self.name, "problem": self.problem, "kind": self.kind, - "coverage": self.coverage, "note": self.note, - "generator": self.generator, - "certificate": (self.certificate.as_dict() - if self.certificate is not None else None), - "points": [[p[0], p[1]] for p in self.points]} - - -# --------------------------------------------------------------------- 采样 -def omega_positions(step_m: float) -> list[Vec2]: - """Ω 内均匀方格位置采样。""" - span = int(OMEGA_RADIUS_M / step_m) + 1 - return [(step_m * i, step_m * j) - for i in range(-span, span + 1) for j in range(-span, span + 1) - if (step_m * i) ** 2 + (step_m * j) ** 2 <= OMEGA_RADIUS_M ** 2] - - -def forward_targets(step_m: float, headings: int) -> list[tuple[float, float, float]]: - """(p, h) 目标采样:位置在 Ω 内,朝向均分整圆。""" - return [(x, y, 2.0 * math.pi * k / headings) - for (x, y) in omega_positions(step_m) for k in range(headings)] - - -def candidate_lattice(spacing_m: float, radius_m: float) -> list[Vec2]: - """半径 radius_m 圆盘内的方格候选点(离线搜索用)。""" - span = int(radius_m / spacing_m) + 1 - return [(spacing_m * i, spacing_m * j) - for i in range(-span, span + 1) for j in range(-span, span + 1) - if (spacing_m * i) ** 2 + (spacing_m * j) ** 2 <= radius_m ** 2] - - -def _bucket(points: list[Vec2], cell: float) -> dict[tuple[int, int], list[int]]: - table: dict[tuple[int, int], list[int]] = {} - for index, (x, y) in enumerate(points): - table.setdefault((int(x // cell), int(y // cell)), []).append(index) - return table - - -def coverage_masks(targets, candidates: list[Vec2], - r_eff: float = R_EFF_MIN_M, - heading_margin_deg: float = 0.0) -> list[int]: - """每个候选点覆盖的目标位掩码(Python 大整数,按位)。 - - 只在与候选点空间桶相邻的格内做距离/前向判定,避免 |T|·|C| 笛卡尔积。 - - ``r_eff`` / ``heading_margin_deg`` 是**设计裕量**:离线搜索时把"命中" - 定义得比物理要求更严(距离 (*@\ensuremath{\le}@*) r_eff、前向夹角 (*@\ensuremath{\le}@*) 90°−margin),使采样格 - 上的覆盖自动蕴含相邻未采样 (p,h) 也被覆盖(S2 证书硬化)。 - """ - table = _bucket(candidates, r_eff) - masks = [0] * len(candidates) - sin_margin = math.sin(math.radians(max(heading_margin_deg, 0.0))) - for t_index, (px, py, heading) in enumerate(targets): - ux, uy = math.cos(heading), math.sin(heading) - ci, cj = int(px // r_eff), int(py // r_eff) - bit = 1 << t_index - for di in (-1, 0, 1): - for dj in (-1, 0, 1): - for c_index in table.get((ci + di, cj + dj), ()): - cx, cy = candidates[c_index] - dx, dy = cx - px, cy - py - distance_sq = dx * dx + dy * dy - if distance_sq > r_eff * r_eff: - continue - if dx * ux + dy * uy < sin_margin * math.sqrt(distance_sq) - 1e-9: - continue - masks[c_index] |= bit - return masks - - -def greedy_cover(masks: list[int], n_targets: int) -> list[int]: - """贪心集合覆盖:每次取"新增覆盖目标数"最大的候选,返回索引表。""" - full = (1 << n_targets) - 1 - covered = 0 - chosen: list[int] = [] - remaining = list(range(len(masks))) - while covered != full and remaining: - best_index, best_gain = -1, 0 - for c_index in remaining: - gain = (masks[c_index] & ~covered).bit_count() - if gain > best_gain: - best_index, best_gain = c_index, gain - if best_index < 0: - break - chosen.append(best_index) - covered |= masks[best_index] - remaining.remove(best_index) - return chosen - - -def nn_tour_length(points: list[Vec2], start: Vec2 = (0.0, 0.0)) -> float: - """最近邻开放路径长度(巡回长度上界)。""" - remaining = list(points) - position = start - total = 0.0 - while remaining: - nxt = min(remaining, key=lambda q: (q[0] - position[0]) ** 2 - + (q[1] - position[1]) ** 2) - remaining.remove(nxt) - total += math.dist(position, nxt) - position = nxt - return total - - -# --------------------------------------------------------------------- 校验 -def _hit_distance(points: list[Vec2], position: Vec2, heading: float, - r_eff: float) -> float | None: - """最近的前向命中距离;没有任何前向命中点则返回 None。""" - ux, uy = math.cos(heading), math.sin(heading) - best = None - for (cx, cy) in points: - dx, dy = cx - position[0], cy - position[1] - if dx * dx + dy * dy > r_eff * r_eff: - continue - if dx * ux + dy * uy < -1e-9: - continue - distance = math.hypot(dx, dy) - if best is None or distance < best: - best = distance - return best - - -def _nearest_distance(points: list[Vec2], position: Vec2, - r_eff: float) -> float | None: - """最近距离(不要求前向);超过 r_eff 视作未命中。""" - best = None - for (cx, cy) in points: - distance = math.hypot(cx - position[0], cy - position[1]) - if distance <= r_eff and (best is None or distance < best): - best = distance - return best - - -def verify_forward_half_disk(points: list[Vec2], step_m: float = VERIFY_STEP_M, - headings: int = VERIFY_HEADINGS, - r_eff: float = R_EFF_MIN_M, - heading_margin_deg: float = 0.0) -> CoverageCertificate: - """第四问语义:(*@\ensuremath{\forall}@*)(p,h) 存在前向半盘内的被访点。 - - ``heading_margin_deg`` 是**证书硬化**用的前向角裕量:把"命中"收紧为 - "前向夹角 (*@\ensuremath{\le}@*) 90° − margin"。与 ``r_eff`` 的设计裕量合用时,采样格上的 - 覆盖即可推出**连续空间**覆盖:真实 (p',h') 距采样格 (*@\ensuremath{\le}@*) step·√2/2、 - 方位差 (*@\ensuremath{\le}@*) 180/headings 度,只要 - - r_eff + step·√2/2 (*@\ensuremath{\le}@*) 1000 且 margin (*@\ensuremath{\ge}@*) 180/headings/2 - - 就能保证 |c−p'| (*@\ensuremath{\le}@*) 1000 且 (c−p')·u(h') (*@\ensuremath{\ge}@*) 0。这正是 S2 取代"粗采样 - 假通过"的方式。默认 0 表示按物理条件校核。 - """ - points = list(points) - targets = forward_targets(step_m, headings) - table = _bucket(points, r_eff) - missing, worst = 0, 0.0 - sin_margin = math.sin(math.radians(max(heading_margin_deg, 0.0))) - for (px, py, heading) in targets: - ux, uy = math.cos(heading), math.sin(heading) - ci, cj = int(px // r_eff), int(py // r_eff) - best = None - for di in (-1, 0, 1): - for dj in (-1, 0, 1): - for c_index in table.get((ci + di, cj + dj), ()): - cx, cy = points[c_index] - dx, dy = cx - px, cy - py - distance_sq = dx * dx + dy * dy - if distance_sq > r_eff * r_eff: - continue - if dx * ux + dy * uy < sin_margin * math.sqrt(distance_sq) - 1e-9: - continue - distance = math.sqrt(distance_sq) - if best is None or distance < best: - best = distance - if best is None: - missing += 1 - else: - worst = max(worst, best) - return CoverageCertificate("forward_half_disk", step_m, headings, r_eff, - len(targets), missing, worst, - nn_tour_length(points)) - - -def verify_full_disk(points: list[Vec2], step_m: float = VERIFY_STEP_M, - r_eff: float = R_EFF_MIN_M) -> CoverageCertificate: - """第三问语义:Ω 内每点都在某个被访点的 r_eff 圆盘内。""" - points = list(points) - positions = omega_positions(step_m) - table = _bucket(points, r_eff) - missing, worst = 0, 0.0 - for (px, py) in positions: - ci, cj = int(px // r_eff), int(py // r_eff) - best = None - for di in (-1, 0, 1): - for dj in (-1, 0, 1): - for c_index in table.get((ci + di, cj + dj), ()): - cx, cy = points[c_index] - distance = math.hypot(cx - px, cy - py) - if distance <= r_eff and (best is None or distance < best): - best = distance - if best is None: - missing += 1 - else: - worst = max(worst, best) - return CoverageCertificate("full_disk", step_m, 1, r_eff, len(positions), - missing, worst, nn_tour_length(points)) - - -def verify_plan(plan: CoveragePlan, step_m: float | None = None, - headings: int | None = None) -> CoverageCertificate: - """按计划声明的覆盖语义校核。 - - 默认使用**证书自带的采样分辨率**(离线 75 m / 24 档):更粗的运行期采样 - 会放过"删掉一个关键点仍看似覆盖"的点集,使校核失去意义。校核按计划名 - 缓存(``load_plan`` 的 lru_cache),每进程只付一次成本。 - """ - certificate = plan.certificate - if step_m is None: - step_m = certificate.target_step_m if certificate else VERIFY_STEP_M - if headings is None: - headings = (certificate.headings if certificate - else VERIFY_HEADINGS) - if plan.coverage == "forward_half_disk": - # 硬化证书:按证书自带的距离/角度设计裕量重新校核(旧证书默认 - # r_eff=1000、margin=0,与历史口径逐位一致)。 - return verify_forward_half_disk( - plan.points, step_m, headings, - r_eff=(certificate.r_eff_min_m if certificate else R_EFF_MIN_M), - heading_margin_deg=(certificate.verify_heading_margin_deg - if certificate else 0.0)) - return verify_full_disk(plan.points, step_m, certificate.r_eff_min_m - if certificate else R_EFF_MIN_M) - - -# --------------------------------------------------------------------- 计划 -def seven_points(ring_radius_m: float) -> list[Vec2]: - """解析七站:原点 + 环上 6 等分点。""" - return [(0.0, 0.0)] + [(ring_radius_m * math.cos(k * math.pi / 3), - ring_radius_m * math.sin(k * math.pi / 3)) - for k in range(6)] - - -def seven_plan(ring_radius_m: float) -> CoveragePlan: - """第三问解析计划(覆盖证明由 validate_seven_coverage 给出)。""" - return CoveragePlan( - name=f"seven-r{ring_radius_m:.1f}", problem=3, kind="analytic", - coverage="full_disk", - note=("解析证明 max(r/√3, sqrt(R²+r²−√3Rr)) < 1000;" - "r(*@\ensuremath{\in}@*)[1122.9, 1732] 时成立,巡检半径越小巡回越短"), - points=tuple(seven_points(ring_radius_m))) - - -def square_49_plan() -> CoveragePlan: - """第四问旧计划:700 m 方格 49 点(充分条件,保留作回退与对照)。""" - return CoveragePlan( - name="square49", problem=4, kind="certified", - coverage="forward_half_disk", - note="单元对角 700√2(*@\ensuremath{\approx}@*)989.95(*@\ensuremath{\le}@*)1000 的充分条件;点数为最小命中集的 1.6 倍", - # 顺序与 coverage.coverage_points() 完全一致(y 由大到小),保持历史 - # 基线 grid49_immediate 的逐位可复现。 - points=tuple((700.0 * i, 700.0 * j) - for j in range(3, -4, -1) for i in range(-3, 4))) - - -def _load_plan_file(path: Path) -> CoveragePlan: - payload = json.loads(path.read_text(encoding="utf-8")) - raw_cert = payload.get("certificate") or {} - if raw_cert: - # as_dict() 含 nn_tour_virtual_s 等派生列:只取数据类实际字段。 - known = {field.name for field in fields(CoverageCertificate)} - certificate = CoverageCertificate( - **{key: value for key, value in raw_cert.items() if key in known}) - else: - certificate = None - return CoveragePlan( - name=payload["name"], problem=int(payload["problem"]), - kind=payload.get("kind", "certified"), - coverage=payload.get("coverage", "forward_half_disk"), - note=payload.get("note", ""), - certificate=certificate, - generator=payload.get("generator", {}), - points=tuple((float(x), float(y)) for x, y in payload["points"])) - - -@lru_cache(maxsize=None) -def load_plan(name: str, verify: bool = True) -> CoveragePlan: - """按名称加载覆盖计划;``verify`` 为真时做运行期抽样校验(进程内缓存)。""" - path = PLAN_DIR / f"{name}.json" - if not path.exists(): - raise FileNotFoundError(f"未找到覆盖计划 {name!r}({path})") - plan = _load_plan_file(path) - if verify and plan.kind == "certified": - certificate = verify_plan(plan) - if not certificate.valid: - raise ValueError( - f"覆盖计划 {name!r} 运行期校验失败:" - f"{certificate.uncovered}/{certificate.targets} 个 (p,h) 未被覆盖") - plan = CoveragePlan( - name=plan.name, problem=plan.problem, kind=plan.kind, - coverage=plan.coverage, note=plan.note, - generator=plan.generator, - certificate=CoverageCertificate( - kind=certificate.kind, target_step_m=certificate.target_step_m, - headings=certificate.headings, r_eff_min_m=certificate.r_eff_min_m, - targets=certificate.targets, uncovered=certificate.uncovered, - worst_hit_distance_m=certificate.worst_hit_distance_m, - nn_tour_m=certificate.nn_tour_m, - generator_sha256=(plan.certificate.generator_sha256 - if plan.certificate else "")), - points=plan.points) - return plan - - -def plan_instance(name: str, verify: bool = True) -> CoveragePlan: - """统一入口:支持内置计划名与磁盘上的证书计划。""" - if name == "square49": - return square_49_plan() - if name == "seven": - return seven_plan(1200.0) - return load_plan(name, verify) - - -def plan_names() -> list[str]: - """全部可加载的计划名(含内置)。""" - builtin = ["square49", "seven"] - return builtin + sorted(p.stem for p in PLAN_DIR.glob("*.json")) - - -def write_plan(plan: CoveragePlan, path: Path) -> None: - """落盘计划 + 证书(生成器用)。""" - path.parent.mkdir(parents=True, exist_ok=True) - payload = plan.as_dict() - payload["generator"] = dict(payload.get("generator") or {}) - payload["sha256"] = hashlib.sha256( - json.dumps(payload["points"]).encode("utf-8")).hexdigest() - path.write_text(json.dumps(payload, ensure_ascii=False, indent=2) + "\n", - encoding="utf-8") diff --git a/docs/paper/data/listing-source/src/mcm26b/harness/__init__.py.tex b/docs/paper/data/listing-source/src/mcm26b/harness/__init__.py.tex deleted file mode 100644 index 2e972b9..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/harness/__init__.py.tex +++ /dev/null @@ -1,19 +0,0 @@ -"""测试侧脚手架:把独立评测机(referee 包)接入本队传输与测试。 - -分层边界(与官方模拟器同构): -- 评测机本体在独立包 ``referee``(零 mcm26b 依赖),运行时代码绝不导入它; -- 本包只在测试/自检入口把 referee 的接口边界适配成 :class:`Transport`, - 并提供故障注入与官方演练日志回放。 - -策略端只见 HTTP 响应;真值 Source 只存在于 referee 与测试端。 -""" - -from .playback import PlaybackTransport -from .scenes import mixed_scene, random_omni_scene, referee_spec -from .simulator import LocalSimulator -from .suites import SceneSpec, suite, suite_manifest -from .transport import LocalSimTransport, ScriptedFaultTransport - -__all__ = ["LocalSimTransport", "LocalSimulator", "PlaybackTransport", - "ScriptedFaultTransport", "SceneSpec", "mixed_scene", - "random_omni_scene", "referee_spec", "suite", "suite_manifest"] diff --git a/docs/paper/data/listing-source/src/mcm26b/harness/playback.py.tex b/docs/paper/data/listing-source/src/mcm26b/harness/playback.py.tex deleted file mode 100644 index c5a2469..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/harness/playback.py.tex +++ /dev/null @@ -1,38 +0,0 @@ -"""回放传输:把既有演练日志作为服务器响应原样回放给客户端。 - -用于 P1 验收"本地状态机与官方响应一致":官方演练记录 -(output/q1/practice/*_actions.json)逐条喂给客户端,客户端重建的 -状态必须与当时服务器返回的虚拟时刻逐步吻合。 - -按录制顺序匹配(客户端的 request_id 生成规则与采集器不同, -故不参与匹配;故障重试场景请用 ScriptedFaultTransport)。 -""" - -from __future__ import annotations - -import json -from urllib.parse import urlsplit - -from ..protocol.transport import Transport, TransportResponse - - -class PlaybackTransport(Transport): - """events: 演练日志 [{path, request, response, ...}, ...]。""" - - def __init__(self, events: list[dict]): - self.events = list(events) - self.index = 0 - self.served: list[dict] = [] - - def post(self, url, body, headers, timeout): - if self.index >= len(self.events): - raise AssertionError("回放日志已耗尽仍有请求") - event = self.events[self.index] - path = urlsplit(url).path - if path != event["path"]: - raise AssertionError( - f"回放顺序不一致: 客户端请求 {path}, 录制预期 {event['path']}") - self.index += 1 - self.served.append(event) - return TransportResponse( - 200, json.dumps(event["response"], ensure_ascii=False).encode("utf-8")) diff --git a/docs/paper/data/listing-source/src/mcm26b/harness/scenes.py.tex b/docs/paper/data/listing-source/src/mcm26b/harness/scenes.py.tex deleted file mode 100644 index acf89c2..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/harness/scenes.py.tex +++ /dev/null @@ -1,55 +0,0 @@ -"""自检场景生成(测试端专用):委托 referee.scenes,映射本队配置。 - -真值只进入测试与 CLI ``--self-test`` 入口,策略端仅见模拟器响应; -默认采用满足题面范围的自建随机场景:源总数 10~16 随机、位置在目标圆域内 -均匀分布、频道互异(1..20 抽样)、有效接收半径 [1000,1500] 均匀。 -均匀分布是测试假设,题面并未规定官方场景的概率分布。 -""" - -from __future__ import annotations - -from referee import scenes as _referee_scenes - -from ..config import ProblemConfig - - -def referee_spec(config: ProblemConfig = ProblemConfig(), *, - max_real_duration_s: float | None = None): - """把本队 ProblemConfig 的题面常量映射为 referee 的 Spec。 - - max_real_duration_s 仅用于 --self-test 的实机预算覆盖(默认 1800s); - 正式对接以服务器 /enter 返回为准,评测机默认保持题面 1200s。 - """ - from referee import CostSpec, FieldSpec, Spec - field, cost = config.field, config.cost - return Spec( - field=FieldSpec( - omega_radius_m=field.omega_radius_m, - channel_min=field.channel_min, channel_max=field.channel_max, - source_count_min=field.source_count_min, - source_count_max=field.source_count_max, - r_eff_min_m=field.r_eff_min_m, r_eff_max_m=field.r_eff_max_m, - near_radius_m=field.near_radius_m, clear_radius_m=field.clear_radius_m, - bearing_error_half_deg=field.bearing_error_half_deg, - bearing_decimals=field.bearing_decimals, - coord_abs_limit_m=field.coord_abs_limit_m, - directional_half_angle_deg=field.directional_half_angle_deg, - max_virtual_duration_s=field.max_virtual_duration_s, - max_real_duration_s=(field.max_real_duration_s if max_real_duration_s is None - else max_real_duration_s), - test_window_s=field.test_window_s), - cost=CostSpec(speed_mps=cost.speed_mps, measure_s=cost.measure_s, - switch_s=cost.switch_s, clear_success_s=cost.clear_success_s, - clear_fail_s=cost.clear_fail_s)) - - -def random_omni_scene(seed: int = 20260910, count: int | None = None, - config: ProblemConfig = ProblemConfig()): - """全向源场景 [题面 问题3];签名沿用重构前 mcm26b.sim.scenes。""" - return _referee_scenes.random_omni_scene(seed, count, referee_spec(config)) - - -def mixed_scene(seed: int = 20260910, count: int | None = None, - directional: int = 3, config: ProblemConfig = ProblemConfig()): - """问题4混合场景:count 个源中 directional 个为定向源。""" - return _referee_scenes.mixed_scene(seed, count, directional, referee_spec(config)) diff --git a/docs/paper/data/listing-source/src/mcm26b/harness/simulator.py.tex b/docs/paper/data/listing-source/src/mcm26b/harness/simulator.py.tex deleted file mode 100644 index 0c900ab..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/harness/simulator.py.tex +++ /dev/null @@ -1,21 +0,0 @@ -"""兼容构造入口:本队 ProblemConfig -> referee.LocalSimulator。 - -评测机实现在独立包 referee(config= 换成了 spec=);本子类只做配置映射, -让既有测试与脚本继续以 ``config=ProblemConfig`` 构造,映射规则见 -:func:`harness.scenes.referee_spec`。真值类型 Source 亦来自 referee。 -""" - -from __future__ import annotations - -from referee import LocalSimulator as _RefereeLocalSimulator - -from ..config import ProblemConfig -from .scenes import referee_spec - - -class LocalSimulator(_RefereeLocalSimulator): - - def __init__(self, sources, *, robot_id: str = "2026001", - config: ProblemConfig = ProblemConfig(), **kwargs): - super().__init__(sources, robot_id=robot_id, - spec=referee_spec(config), **kwargs) diff --git a/docs/paper/data/listing-source/src/mcm26b/harness/suites.py.tex b/docs/paper/data/listing-source/src/mcm26b/harness/suites.py.tex deleted file mode 100644 index 0e2ba61..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/harness/suites.py.tex +++ /dev/null @@ -1,132 +0,0 @@ -"""冻结基准集:第三/四问的固定场景清单与真值构造(测试端专用)。 - -存在意义(docs/第三四问架构优化与运行提速方案.md §1.4 B6 / §P1-3): -历史评估集是 20 个**单源全向**场景,使 `avg_locate_clear_time_s` 恒等于 -`virtual_time_s`,也无法支撑任何第四问结论。基准集必须覆盖题面声明的 -源数区间与定向源存在性,并且**版本化、可复现、不可随意增删**—— -任何"更快"的声明都要在同一份清单上做配对比较。 - -真值只在本模块与评测机之间流动;策略端只通过 Transport 看到响应。 -""" - -from __future__ import annotations - -import math -from dataclasses import dataclass - -from referee import Source - -from ..config import ProblemConfig -from .scenes import mixed_scene, random_omni_scene - -SUITE_VERSION = 1 - -# 第三问:沿用历史验证集的种子与源数(seeds 100–105 × 10/13/16) -Q3_SEEDS = (100, 101, 102, 103, 104, 105) -Q3_COUNTS = (10, 13, 16) -# 第四问:三种"定向占比"组成(少量 / 约半数 / 多数) -Q4_SEEDS = (200, 201, 202) -Q4_CONFIGS = ((10, 3), (13, 6), (16, 8)) -# 误差场种子偏移:与 benchmark_q3_bayes.py 同口径,保证逐点固定误差可复现 -ERROR_SEED_BASE = 20260910 - - -@dataclass(frozen=True) -class SceneSpec: - """一个冻结场景:标识、题号、源数、定向数与种子。""" - - scene_id: str - problem: int - kind: str # "random" | "boundary" - seed: int - error_seed: int - count: int - directional: int = 0 - - def as_dict(self) -> dict: - return {"scene_id": self.scene_id, "problem": self.problem, - "kind": self.kind, "seed": self.seed, - "error_seed": self.error_seed, "count": self.count, - "directional": self.directional} - - def sources(self, config: ProblemConfig | None = None) -> list[Source]: - """构造真值(仅测试端调用)。""" - config = config or ProblemConfig() - if self.kind == "random" and self.problem == 3: - return random_omni_scene(seed=self.seed, count=self.count, - config=config) - if self.kind == "random": - return mixed_scene(seed=self.seed, count=self.count, - directional=self.directional, config=config) - return _boundary_sources(self, config) - - -def _boundary_sources(spec: SceneSpec, config: ProblemConfig) -> list[Source]: - """圆周边界压力场景:源全部位于 Ω 边界、r_eff 取下界。 - - 第三问:全向,扇区接缝角度,检验七站覆盖的边界情形; - 第四问:全部定向且朝向**背离圆心**(最不利于发现),检验 - "朝外发射的边界源不漏"。 - """ - field = config.field - radius = field.omega_radius_m - sources: list[Source] = [] - for index in range(spec.count): - angle = math.pi / 6 + 2 * math.pi * index / spec.count - x, y = radius * math.cos(angle), radius * math.sin(angle) - directional = index < spec.directional - sources.append(Source( - channel=index + 1, x=x, y=y, r_eff_m=field.r_eff_min_m, - directional=directional, - heading_deg=(math.degrees(angle) % 360.0) if directional else 0.0)) - return sources - - -def core_scenes(problem: int) -> list[SceneSpec]: - """主体场景:覆盖题面源数区间与定向占比组成。""" - scenes: list[SceneSpec] = [] - if problem == 3: - for seed in Q3_SEEDS: - for count in Q3_COUNTS: - scenes.append(SceneSpec( - scene_id=f"q3-core-s{seed}-n{count}", problem=3, - kind="random", seed=seed, error_seed=ERROR_SEED_BASE + seed, - count=count)) - else: - for seed in Q4_SEEDS: - for count, directional in Q4_CONFIGS: - scenes.append(SceneSpec( - scene_id=f"q4-core-s{seed}-n{count}-d{directional}", - problem=4, kind="random", seed=seed, - error_seed=ERROR_SEED_BASE + seed, count=count, - directional=directional)) - return scenes - - -def boundary_scenes(problem: int) -> list[SceneSpec]: - """圆周边界压力场景(每问 2 场:10 源与 16 源)。""" - if problem == 3: - return [SceneSpec(f"q3-boundary-n{count}", 3, "boundary", 0, - ERROR_SEED_BASE, count) - for count in (10, 16)] - return [SceneSpec(f"q4-boundary-n{count}-d{directional}", 4, "boundary", 0, - ERROR_SEED_BASE, count, directional) - for count, directional in ((10, 5), (16, 8))] - - -def suite(name: str, problem: int) -> list[SceneSpec]: - """按名称取场景清单:core / boundary / all。""" - if name == "core": - return core_scenes(problem) - if name == "boundary": - return boundary_scenes(problem) - if name == "all": - return core_scenes(problem) + boundary_scenes(problem) - raise ValueError(f"未知基准集 {name!r}(可选 core/boundary/all)") - - -def suite_manifest(name: str, problem: int) -> dict: - """清单头:版本、问题、场景表(写入 manifest.json)。""" - scenes = suite(name, problem) - return {"suite_version": SUITE_VERSION, "suite": name, "problem": problem, - "scenes": [scene.as_dict() for scene in scenes]} diff --git a/docs/paper/data/listing-source/src/mcm26b/harness/transport.py.tex b/docs/paper/data/listing-source/src/mcm26b/harness/transport.py.tex deleted file mode 100644 index 08e6075..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/harness/transport.py.tex +++ /dev/null @@ -1,62 +0,0 @@ -"""传输适配:评测机接口边界 <-> 本队 Transport 接口 + 故障注入脚本。 - -LocalSimTransport 把 referee 包的 handle_raw(与 HTTP 服务器共用的同一 -边界实现)包成内存回环传输,不经过网络栈;故障注入语义与既有测试一致: -- ``"drop_before"`` 连接失败,动作未送达服务器(可安全重试); -- ``"timeout_after"`` 服务器已受理并生效,但响应丢失(必须靠幂等回放); -- ``("status", n)`` 服务器返回指定 HTTP 状态码(如 500/429); -- ``None`` 正常放行。 -脚本耗尽后一律放行。 -""" - -from __future__ import annotations - -from urllib.parse import urlsplit - -from referee.interface import handle_raw - -from ..protocol.transport import Transport, TransportError, TransportResponse - - -class LocalSimTransport(Transport): - """内存回环:把独立评测机接到 Transport 接口(与真实 HTTP 同一边界)。""" - - def __init__(self, simulator): - # simulator: referee.LocalSimulator(类型注解走字符串,避免导入开销) - self.simulator = simulator - self.received: list[tuple[str, dict]] = [] - - def post(self, url, body, headers, timeout): - return self.request("POST", url, body, headers, timeout) - - def request(self, method, url, body, headers, _timeout=None): - """验证原始请求边界;内存回环不模拟 TCP、UI 或连接限流。""" - target = urlsplit(url) - raw_target = target.path + (f"?{target.query}" if target.query else "") - result = handle_raw(self.simulator, method, raw_target, - list(headers.items()), bytes(body), - on_request=lambda path, payload, _res: - self.received.append((path, payload))) - return TransportResponse(result.status, result.body) - - -class ScriptedFaultTransport(Transport): - """按脚本注入故障后转发给内层传输。""" - - def __init__(self, inner: Transport, script: list): - self.inner = inner - self.script = list(script) - self.sent_requests: list[bytes] = [] - - def post(self, url, body, headers, timeout): - self.sent_requests.append(body) - fault = self.script.pop(0) if self.script else None - if fault == "drop_before": - raise TransportError("injected: connection refused before send") - if fault == "timeout_after": - self.inner.post(url, body, headers, timeout) # 服务器已受理 - raise TransportError("injected: read timeout after server applied") - if isinstance(fault, tuple) and fault and fault[0] == "status": - body = b'{"accepted": false, "real_timestamp_ms": 0, "virtual_time_s": 0}' - return TransportResponse(int(fault[1]), body) - return self.inner.post(url, body, headers, timeout) diff --git a/docs/paper/data/listing-source/src/mcm26b/particles.py.tex b/docs/paper/data/listing-source/src/mcm26b/particles.py.tex deleted file mode 100644 index 69d44dd..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/particles.py.tex +++ /dev/null @@ -1,458 +0,0 @@ -"""P4b 贝叶斯网格粒子滤波:逐频道幸存集维护与负观测更新。 - -与 belief.CandidateRegion(保守凸外包,无法表达非凸"挖洞")互补: -网格幸存集精确表达"角域 (*@\ensuremath{\cap}@*) 距离盘 (*@\ensuremath{\cap}@*) 全部 no_signal 排除盘"的非凸可行集, -从而支持三件凸表示做不到的事—— - -1. 缺席证明:幸存集为空 (*@\ensuremath{\Longrightarrow}@*) 可行集为空 (*@\ensuremath{\Longrightarrow}@*) 该频道无源(严格,无需覆盖账本); -2. 跳测规则:幸存格到测点的最小距离 > r_max + 裕量 (*@\ensuremath{\Longrightarrow}@*) 该次测量必 no_signal, - 且不产生任何新排除,可直接跳过(省 5s 检测 + 1s 换频); -3. 负观测更新:no_signal 排除 B(s, 1000),凸表示不删点,网格直接删格。 - -严格性(真源保留定理,docs/algo-3-bayes.md §2):格距 h 的 Voronoi 裕量 -m = sqrt(2)/2·h 是格心到格内任一点的最大距离。所有 kill 判定均内缩 m, -即"仅当整格与可行集不相交时才删格"。真源所在格与可行集之交含真源本身, -故该格永不被删——任意观测序列后幸存集恒包含真源,且: -- 清除证书:MEC(幸存).R + m <= 20 − 工程余量 (*@\ensuremath{\Longrightarrow}@*) 真源距清除点 <= 20; -- 缺席证明:幸存集为空 (*@\ensuremath{\Longrightarrow}@*) 可行集为空。 - -观测语义与独立评测机 referee.LocalSimulator 一致 [题面]: -- no_signal:距离 > r_eff >= 1000 (*@\ensuremath{\Longrightarrow}@*) 可行集 (*@\ensuremath{\cap}@*) B(s,1000) = (*@\ensuremath{\varnothing}@*); -- direction:距离 <= 1500,示向度误差 |读数−真值| <= (*@\ensuremath{\delta}@*)_eff(含舍入裕量); -- near:距离 <= 5。 - -性能设计:kill 与查询全部走 O(1) 集合运算;最近距离查询用粗粒度占用 -索引(每格聚合 CF² 个细格)螺旋扫描 + 早退,服务跳测规则的高频调用。 -""" - -from __future__ import annotations - -import math -import os - -from .config import ProblemConfig, Vec2 -from .geometry.localization import smallest_enclosing_circle -from .protocol.rules import DIRECTION, NEAR, NO_SIGNAL - -_ANG_EPS_DEG = 1e-9 # 角向 kill 比较的浮点余量 -_DIST_EPS_M = 1e-9 -_COARSE_FACTOR = 4 # 粗格每边聚合的细格数 - -try: # numpy 仅作**可选**加速后端;缺失时全部回退纯 Python - import numpy as _np -except Exception: # pragma: no cover - 环境无 numpy 时走纯 Python 分支 - _np = None -if os.environ.get("MCM26B_NO_NUMPY"): # 强制纯 Python:对拍与回退验证用 - _np = None - - -def angular_gap(a_deg: float, b_deg: float) -> float: - """两个方位角(度)的最小夹角。""" - return abs((a_deg - b_deg + 180.0) % 360.0 - 180.0) - - -def as_sample_array(samples): - """把 [(x,y), ...] 采样转成 (n,2) float64 数组;numpy 缺失时原样返回。 - - 评分为 O(代表点 × 子采样) 的向量运算,是单局 CPU 的主要开销 - (实测占 72%)。调用方在每次选点前转换一次,评分函数按类型分派, - 两条实现(numpy / 纯 Python)语义逐位对齐,见 tests/test_particles.py。 - """ - if _np is None or isinstance(samples, _np.ndarray) or len(samples) == 0: - return samples - return _np.asarray(samples, dtype=float) - - -def _branch_radius_array(members) -> float: - """分支后验半径的数组版:到质心的最大距离。""" - centroid = members.mean(axis=0) - return float(_np.max(_np.hypot(members[:, 0] - centroid[0], - members[:, 1] - centroid[1]))) - - -class ChannelParticles: - """单个频道的网格幸存集。 - - 网格为覆盖 Ω 外扩一格的轴对齐方格(边长 h),索引 ``i*W + j``; - ``alive`` 是幸存格索引集合。初始集 = 格心距原点 <= Ω 半径 + 裕量的 - 全部格子,因此真源(|p| <= 1800 [题面])所在格必在初始集内。 - ``version`` 随每次删除自增,调用方可据此缓存派生量(MEC、跳测判定)。 - """ - - def __init__(self, config: ProblemConfig = ProblemConfig(), - spacing_m: float | None = None): - field = config.field - self.config = config - self.spacing_m = float(spacing_m if spacing_m is not None - else config.bayes.particle_spacing_m) - if not 1.0 <= self.spacing_m <= 200.0: - raise ValueError("网格间距须在 [1, 200] 米") - self.margin_m = self.spacing_m * math.sqrt(2) / 2 # Voronoi 裕量 - self.r_eff_min_m = field.r_eff_min_m - self.r_eff_max_m = field.r_eff_max_m - self.near_radius_m = field.near_radius_m - self.half_angle_deg = (field.bearing_error_half_deg - + config.search.bearing_rounding_margin_deg) - # 覆盖 [-R-m, R+m]² 的格点阵列;格 (i,j) 的中心在 - # (x0 + (i+0.5)h, x0 + (j+0.5)h),中心到格内任一点 <= h·√2/2 = 裕量 - span = field.omega_radius_m + self.margin_m - self.x0 = -span - self.width = int(math.ceil(2 * span / self.spacing_m)) + 1 - limit_sq = (span + 1e-9) ** 2 - self.alive: set[int] = set() - self._coarse: dict[int, int] = {} # 粗格索引 -> 幸存细格数 - coarse_w = self._coarse_width() - for i in range(self.width): - x = self.x0 + (i + 0.5) * self.spacing_m - for j in range(self.width): - if x * x + (self.x0 + (j + 0.5) * self.spacing_m) ** 2 <= limit_sq: - index = i * self.width + j - self.alive.add(index) - key = (i // _COARSE_FACTOR) * coarse_w + j // _COARSE_FACTOR - self._coarse[key] = self._coarse.get(key, 0) + 1 - self.version = 0 - self._mec: tuple[Vec2, float] | None = None - - # ------------------------------------------------------------ 索引与坐标 - def _coarse_width(self) -> int: - return (self.width + _COARSE_FACTOR - 1) // _COARSE_FACTOR - - def cell_center(self, index: int) -> Vec2: - i, j = divmod(index, self.width) - return (self.x0 + (i + 0.5) * self.spacing_m, - self.x0 + (j + 0.5) * self.spacing_m) - - def discard(self, indices: list[int]) -> None: - """公开删除入口:联合信念把"朝向不可能"的格一并删除时使用。""" - self._discard(indices) - - def _discard(self, indices: list[int]) -> None: - if not indices: - return - coarse_w = self._coarse_width() - for index in indices: - if index not in self.alive: - continue - self.alive.discard(index) - key = (index // self.width // _COARSE_FACTOR) * coarse_w \ - + (index % self.width) // _COARSE_FACTOR - count = self._coarse.get(key, 0) - 1 - if count <= 0: - self._coarse.pop(key, None) - else: - self._coarse[key] = count - self.version += 1 - self._mec = None - - # ------------------------------------------------------------ 观测更新 - def _kill_disk(self, center: Vec2, radius_m: float) -> None: - """删除格心距 center <= radius_m 的全部幸存格(整格判据见模块注释)。""" - if not self.alive: - return - reach = radius_m + _DIST_EPS_M - ilo = max(0, int(math.floor((center[0] - reach - self.x0) / self.spacing_m))) - ihi = min(self.width - 1, - int(math.ceil((center[0] + reach - self.x0) / self.spacing_m))) - jlo = max(0, int(math.floor((center[1] - reach - self.x0) / self.spacing_m))) - jhi = min(self.width - 1, - int(math.ceil((center[1] + reach - self.x0) / self.spacing_m))) - limit_sq = reach * reach - doomed = [] - for i in range(ilo, ihi + 1): - dx = self.x0 + (i + 0.5) * self.spacing_m - center[0] - base = i * self.width - for j in range(jlo, jhi + 1): - index = base + j - if index not in self.alive: - continue - dy = self.x0 + (j + 0.5) * self.spacing_m - center[1] - if dx * dx + dy * dy <= limit_sq: - doomed.append(index) - self._discard(doomed) - - def _kill_outside_disk(self, center: Vec2, radius_m: float) -> None: - """删除格心距 center > radius_m 的全部幸存格(保留盘内)。""" - if not self.alive: - return - reach = radius_m + _DIST_EPS_M - doomed = [index for index in self.alive - if math.dist(self.cell_center(index), center) > reach] - self._discard(doomed) - - def _kill_outside_wedge(self, station: Vec2, reading_deg: float) -> None: - """删除角向偏离读数超出 (*@\ensuremath{\delta}@*)_eff + 角向格裕量的幸存格。 - - 角向格裕量 = asin(m / max(dist−m, 1)):格内任一点相对格心的方位 - 偏差不超过它(点距测点还可再近 m,故分母再内缩 m)。 - """ - if not self.alive: - return - sx, sy = float(station[0]), float(station[1]) - doomed = [] - for index in self.alive: - gx, gy = self.cell_center(index) - dist = math.hypot(gx - sx, gy - sy) - if dist <= self.margin_m + 1.0: - continue # 格贴测点:格内方位可指向任意方向,不可删 - angular_margin = math.degrees( - math.asin(min(0.9999, self.margin_m / (dist - self.margin_m)))) - gap = angular_gap(math.degrees(math.atan2(gy - sy, gx - sx)), reading_deg) - if gap > self.half_angle_deg + angular_margin + _ANG_EPS_DEG: - doomed.append(index) - self._discard(doomed) - - def apply_measure(self, station: Vec2, result: str, - svd_deg: float | None = None, *, - directional: bool = False) -> None: - """按读数更新幸存集。真源保留性由 Voronoi 裕量保证(模块注释)。 - - ``directional=True``(第四问):no_signal **不删空间候选**——定向源 - 的静默还可能来自朝向遮挡,单独删空间候选会误删真源;朝向维度由 - :class:`~mcm26b.belief.joint.JointBelief` 维护。 - """ - if result == NO_SIGNAL: - if directional: - return - # no_signal (*@\ensuremath{\Longrightarrow}@*) dist > r_eff >= 1000:整格落入 B(s, 1000−m) 的删。 - self._kill_disk(station, self.r_eff_min_m - self.margin_m) - elif result == NEAR: - self._kill_outside_disk(station, self.near_radius_m + self.margin_m) - elif result == DIRECTION: - if svd_deg is None: - raise ValueError("direction 读数必须携带 svd_deg") - # direction 隐含 dist <= r_max [题面] - self._kill_outside_disk(station, self.r_eff_max_m + self.margin_m) - self._kill_outside_wedge(station, svd_deg) - else: - raise ValueError(f"未知测向结果: {result!r}") - - # ------------------------------------------------------------ 查询 - def __len__(self) -> int: - return len(self.alive) - - def alive_points(self, limit: int | None = None) -> list[Vec2]: - sorted_alive = sorted(self.alive) - if limit is not None and len(sorted_alive) > limit: - step = len(sorted_alive) / limit - indices = {sorted_alive[int(k * step) % len(sorted_alive)] - for k in range(limit)} - indices = sorted(indices) - else: - indices = sorted_alive - return [self.cell_center(index) for index in indices] - - def nearest_alive_distance(self, point: Vec2, limit_m: float) -> float | None: - """最近幸存格心距离;> limit_m 时返回 None(粗格环扫 + 下界剪枝)。 - - 返回值语义:恰为最近幸存格心距离(若 <= limit_m);None 表示所有 - 幸存格心都超出 limit_m。粗格聚合半径已计入扫描范围,不漏判。 - """ - if not self.alive: - return None - coarse_cell_m = self.spacing_m * _COARSE_FACTOR - coarse_reach = coarse_cell_m * math.sqrt(2) / 2 - cw = self._coarse_width() - ci_base = int(math.floor((point[0] - self.x0) / coarse_cell_m)) - cj_base = int(math.floor((point[1] - self.x0) / coarse_cell_m)) - ring_max = int(math.ceil((limit_m + coarse_reach) / coarse_cell_m)) + 1 - best: float | None = None - for ring in range(ring_max + 1): - lower_bound = max(0.0, ring - 1) * coarse_cell_m - coarse_reach - if best is not None and lower_bound >= best: - break # 更外环的所有格心都 >= 下界 >= 当前最优 - for ci in range(max(0, ci_base - ring), min(cw - 1, ci_base + ring) + 1): - for cj in range(max(0, cj_base - ring), min(cw - 1, cj_base + ring) + 1): - if max(abs(ci - ci_base), abs(cj - cj_base)) != ring: - continue # 只扫当前环(Chebyshev 环) - if (ci * cw + cj) not in self._coarse: - continue - ccx = self.x0 + (ci + 0.5) * coarse_cell_m - ccy = self.x0 + (cj + 0.5) * coarse_cell_m - if math.hypot(ccx - point[0], ccy - point[1]) \ - > limit_m + coarse_reach: - continue - i0, j0 = ci * _COARSE_FACTOR, cj * _COARSE_FACTOR - for i in range(i0, min(i0 + _COARSE_FACTOR, self.width)): - base = i * self.width - for j in range(j0, min(j0 + _COARSE_FACTOR, self.width)): - index = base + j - if index not in self.alive: - continue - dist = math.dist(self.cell_center(index), point) - if dist <= limit_m and (best is None or dist < best): - best = dist - return best - - def guaranteed_no_signal(self, station: Vec2) -> bool: - """真源与该测点距离必 > r_max(>= r_eff)(*@\ensuremath{\Longrightarrow}@*) 必 no_signal,测了也无信息。""" - return self.nearest_alive_distance( - station, self.r_eff_max_m + self.margin_m) is None - - def mec(self) -> tuple[Vec2, float]: - """幸存集最小包围圆(圆心, 半径);按 version 缓存。""" - if self._mec is None: - if not self.alive: - raise ValueError("幸存集为空(该频道已可证明缺席)") - points = [self.cell_center(index) for index in self.alive] - self._mec = smallest_enclosing_circle(points) - return self._mec - - # ------------------------------------------------------------ 信息增益 - def subsample(self, size: int) -> list[Vec2]: - """按索引序均匀抽取的子采样(索引序(*@\ensuremath{\approx}@*)空间序,代表点空间铺开)。""" - return self.alive_points(limit=size) - - # ---------------------------------------------------- 向量化评分(可选) - def _expected_survival_vector(self, point: Vec2, sub, representatives) -> float: - """``expected_survival`` 的向量化实现(与纯 Python 版逐分支同语义)。""" - count = len(sub) - eps = 1.0 / count - dx, dy = sub[:, 0] - point[0], sub[:, 1] - point[1] - dist = _np.hypot(dx, dy) - within = int(_np.count_nonzero( - dist <= self.r_eff_min_m - self.margin_m + _DIST_EPS_M)) - log_keep_ns = math.log(max(1.0 - within / count, eps)) - bearing = _np.degrees(_np.arctan2(dy, dx)) - in_range = dist <= self.r_eff_max_m + self.margin_m - rdx, rdy = representatives[:, 0] - point[0], representatives[:, 1] - point[1] - rdist = _np.hypot(rdx, rdy) - rbearing = _np.degrees(_np.arctan2(rdy, rdx)) - gaps = _np.abs((bearing[None, :] - rbearing[:, None] + 180.0) % 360.0 - 180.0) - survivors = _np.count_nonzero( - (gaps <= self.half_angle_deg + _ANG_EPS_DEG) & in_range[None, :], axis=1) - p_ns = _np.clip((rdist - self.r_eff_min_m) - / (self.r_eff_max_m - self.r_eff_min_m), 0.0, 1.0) - keep_dir = _np.maximum(survivors / count, eps) - values = p_ns * log_keep_ns + (1.0 - p_ns) * _np.log(keep_dir) - near = rdist <= self.near_radius_m + self.margin_m - values = _np.where(near, math.log(eps), values) - return float(values.mean()) - - def _expected_posterior_radius_vector(self, point: Vec2, sub, - representatives) -> float: - """``expected_posterior_radius`` 的向量化实现。""" - eps_radius = self.spacing_m / 2.0 - dx, dy = sub[:, 0] - point[0], sub[:, 1] - point[1] - dist = _np.hypot(dx, dy) - bearing = _np.degrees(_np.arctan2(dy, dx)) - keep_ns = dist > self.r_eff_min_m - self.margin_m - r_ns = (_branch_radius_array(sub[keep_ns]) if keep_ns.any() - else eps_radius) - rdx, rdy = representatives[:, 0] - point[0], representatives[:, 1] - point[1] - rdist = _np.hypot(rdx, rdy) - rbearing = _np.degrees(_np.arctan2(rdy, rdx)) - gaps = _np.abs((bearing[None, :] - rbearing[:, None] + 180.0) % 360.0 - 180.0) - dir_mask = ((gaps <= self.half_angle_deg + _ANG_EPS_DEG) - & (dist[None, :] <= self.r_eff_max_m + self.margin_m)) - r_dir = _np.array([_branch_radius_array(sub[row]) if row.any() - else eps_radius for row in dir_mask]) - p_ns = _np.clip((rdist - self.r_eff_min_m) - / (self.r_eff_max_m - self.r_eff_min_m), 0.0, 1.0) - near = rdist <= self.near_radius_m + self.margin_m - values = _np.where(near, self.near_radius_m + self.margin_m, - p_ns * r_ns + (1.0 - p_ns) * r_dir) - return float(values.mean()) - - def expected_survival(self, point: Vec2, subsample, - representatives) -> float: - """E[log 幸存占比]:越小该测点的期望信息增益越大。 - - r_eff 不确定性解析积分:dist(*@\ensuremath{\in}@*)(1000,1500] 时按 r_eff~U(1000,1500) - 取 p_ns=(dist−1000)/500 为 no_signal 分支概率。 - - no_signal 分支:删 B(point, 1000−m),幸存 = 子采样中盘外比例; - - direction 分支:以代表点方位为期望读数,角域 (*@\ensuremath{\cap}@*) B(point,1500+m) 内幸存; - - near 分支(dist <= 5+m):可行集收缩到 5m 盘,幸存占比趋近 0。 - """ - if not self.alive or len(subsample) == 0 or len(representatives) == 0: - return 0.0 - if _np is not None and isinstance(subsample, _np.ndarray) \ - and isinstance(representatives, _np.ndarray): - return self._expected_survival_vector(point, subsample, representatives) - eps = 1.0 / len(subsample) - keep_ns = max(1.0 - self.fraction_within(subsample, point, - self.r_eff_min_m - self.margin_m), - eps) - log_keep_ns = math.log(keep_ns) - total = 0.0 - for rep in representatives: - dist = math.hypot(rep[0] - point[0], rep[1] - point[1]) - if dist <= self.near_radius_m + self.margin_m: - total += math.log(eps) - continue - p_ns = min(1.0, max(0.0, (dist - self.r_eff_min_m) - / (self.r_eff_max_m - self.r_eff_min_m))) - reading = math.atan2(rep[1] - point[1], rep[0] - point[0]) - survivors = 0 - for p in subsample: - if math.dist(p, point) > self.r_eff_max_m + self.margin_m: - continue - gap = angular_gap(math.degrees( - math.atan2(p[1] - point[1], p[0] - point[0])), - math.degrees(reading)) - if gap <= self.half_angle_deg + _ANG_EPS_DEG: - survivors += 1 - keep_dir = max(survivors / len(subsample), eps) - total += p_ns * log_keep_ns + (1.0 - p_ns) * math.log(keep_dir) - return total / max(len(representatives), 1) - - def fraction_within(self, samples, point: Vec2, radius_m: float) -> float: - if len(samples) == 0: - return 0.0 - reach = radius_m + _DIST_EPS_M - if _np is not None and isinstance(samples, _np.ndarray): - distance = _np.hypot(samples[:, 0] - point[0], samples[:, 1] - point[1]) - return float(_np.count_nonzero(distance <= reach)) / len(samples) - count = sum(1 for p in samples if math.dist(p, point) <= reach) - return count / len(samples) - - def _branch_radius(self, members) -> float: - """分支后验的半径代理:幸存子采样到其质心的最大距离(O(n),免 Welzl)。""" - if len(members) == 0: - return 0.0 - if _np is not None and isinstance(members, _np.ndarray): - return _branch_radius_array(members) - mx = sum(p[0] for p in members) / len(members) - my = sum(p[1] for p in members) / len(members) - return max(math.hypot(p[0] - mx, p[1] - my) for p in members) - - def expected_posterior_radius(self, point: Vec2, subsample, - representatives) -> float: - """一次测量后期望后验半径(米):选点主指标,直指清除证书阈值。 - - 对每个代表假设(真值候选)按 r_eff~U(1000,1500) 解析积分 - no_signal/direction 分支,near 分支(dist <= 5+m)后验为 5m 盘; - 各分支半径用幸存子采样的质心最大距离近似(偏差 << 格距,排序用)。 - 与几何版 worst-posterior 同族,但作用于含负观测的非凸幸存集, - 且以期望代替最坏(代表点覆盖幸存集主轴)。 - """ - if not self.alive or len(subsample) == 0 or len(representatives) == 0: - return 0.0 - if _np is not None and isinstance(subsample, _np.ndarray) \ - and isinstance(representatives, _np.ndarray): - return self._expected_posterior_radius_vector( - point, subsample, representatives) - eps_radius = self.spacing_m / 2.0 - total = 0.0 - for rep in representatives: - dist = math.hypot(rep[0] - point[0], rep[1] - point[1]) - if dist <= self.near_radius_m + self.margin_m: - total += self.near_radius_m + self.margin_m - continue - p_ns = min(1.0, max(0.0, (dist - self.r_eff_min_m) - / (self.r_eff_max_m - self.r_eff_min_m))) - members_ns = [p for p in subsample - if math.dist(p, point) > self.r_eff_min_m - self.margin_m] - reading = math.atan2(rep[1] - point[1], rep[0] - point[0]) - members_dir = [] - for p in subsample: - if math.dist(p, point) > self.r_eff_max_m + self.margin_m: - continue - gap = angular_gap(math.degrees( - math.atan2(p[1] - point[1], p[0] - point[0])), - math.degrees(reading)) - if gap <= self.half_angle_deg + _ANG_EPS_DEG: - members_dir.append(p) - r_ns = self._branch_radius(members_ns) if members_ns else eps_radius - r_dir = self._branch_radius(members_dir) if members_dir else eps_radius - total += p_ns * r_ns + (1.0 - p_ns) * r_dir - return total / max(len(representatives), 1) diff --git a/docs/paper/data/listing-source/src/mcm26b/planner/__init__.py.tex b/docs/paper/data/listing-source/src/mcm26b/planner/__init__.py.tex deleted file mode 100644 index 93dfe92..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/planner/__init__.py.tex +++ /dev/null @@ -1,1032 +0,0 @@ -"""P3/P4/P5 策略层:主动选点、全向闭环与定向扩展。 - -P3 第二检测点(验收:保证收到信号;Q 空时退化;near 分支): -- K1 = Ω (*@\ensuremath{\cap}@*) W(s1, (*@\ensuremath{\theta}@*)1±(*@\ensuremath{\delta}@*)) (*@\ensuremath{\cap}@*) B(s1, 1500);安全候选盘证书见 - geometry.planning.first_bearing_candidate_disk((*@\ensuremath{\delta}@*)<=1.005° 时非空); -- 在保证接收盘 B(mec_center, 1000-(*@\ensuremath{\rho}@*)) 内环形采样候选点,以 - "最坏后验包围圆半径"为主指标、移动代价为次指标; -- 采样是启发式(目标边界点 × 读数区间端点),不是严格最坏情形 - 最优解;选定后按 1/4 间距加密复核并如实上报数值; -- 返回 near 时:候选源在 5m 内,直接对当前频道尝试 /clear。 - -P4 全向闭环(验收:10/16/0 源场景、边界源、预算耗尽与故障注入): -发现(coverage.CoverageLedger)→ 定位(belief 收敛)→ 清除 → 持续复扫 -→ /exit。全部频道"已清除或证明不存在"后默认立即退出;显式开启 -persistent_search时只复扫未清除频道,扫到限时为止(清除数达 16 / -实机预算耗尽 / 虚拟安全余量不足)。completed 表示任务证明完成(结束 -时每频道均 CLEARED/ABSENT 且无中断);accounted_virtual_time_s 记录 -首次证明找全的虚拟时刻,与"复扫到限时才停"相互独立。 -断连/协议错误/守恒性破坏中断时同样尽力 /exit 并产出未完成 summary -(stop_reason 记中断类别,附逐频道状态快照),不静默丢失会话。 - -P5 定向扩展(问题4混合源闭环): -- 49 点覆盖的发现保证对定向源同样成立(源在单元凸包内,任意发射半平面 - 含至少一个顶点),覆盖阶段不区分源类型; -- 保证接收盘内的 no_signal 只能由朝向遮挡解释 [观测推理]:频道记为 - "观测到定向",对跖探点复核一次;联合约束基线不删空间候选(真源不误删); -- 定位停滞时对有界候选集构造 <=20m 有限圆盘覆盖(fallback_clear_cells), - 预算核对后逐格 /clear(清除与朝向无关);格数超硬顶或预算不足即跳过, - 绝不盲扫。 -""" - -from __future__ import annotations - -import math -from dataclasses import dataclass - -from ..belief import (BeliefState, CandidateRegion, ChannelStatus, - InconsistentBelief, clip_halfplane) -from ..belief.joint import JointBelief -from ..config import ProblemConfig, Vec2 -from ..coverage import CoverageLedger -from ..evaluation import recompute_virtual_time, summarize -from ..guarantee import plan_instance, seven_plan, square_49_plan -from ..protocol.client import (DeadlineExceeded, ProtocolError, - SimulatorClient) -from ..protocol.rules import CLEAR_SUCCESS, DIRECTION, NEAR, NO_SIGNAL -from ..protocol.timing import move_time -from ..protocol.transport import TransportError -from ..routing import improve_open_path - - -def bearing_deg(a: Vec2, b: Vec2) -> float: - """从 a 指向 b 的方位角(0-360,0 为 x 正方向,逆时针)。""" - return math.degrees(math.atan2(b[1] - a[1], b[0] - a[0])) % 360.0 - - -def _error_brief(exc: BaseException) -> dict: - """异常摘要(summary 留档用):类型名 + 截断消息。""" - return {"type": type(exc).__name__, "message": str(exc)[:500]} - - -@dataclass(frozen=True) -class SecondPointPlan: - """下一检测点的候选与依据(P3 输出)。""" - - position: Vec2 - worst_posterior_radius_m: float - move_cost_s: float - reason: str - - -@dataclass(frozen=True) -class ClearCertificate: - """清除证书:候选集外包半径(含近似误差)不超过 20m 阈值。""" - - channel: int - center: Vec2 - radius_m: float - limit_m: float - certified: bool - - -def clear_certificate(region: CandidateRegion, channel: int, - config: ProblemConfig = ProblemConfig()) -> ClearCertificate: - """(*@\ensuremath{\rho}@*)_poly <= 20 - 外包近似误差 - 工程余量 才允许发起清除。""" - center, radius = region.mec() - limit = (config.field.clear_radius_m - region.slack_m - - config.search.clear_margin_m) - return ClearCertificate(channel, center, radius, limit, radius <= limit) - - -def candidate_points(center: Vec2, safe_radius_m: float, rings, angles: int) -> list[Vec2]: - """保证接收盘内的候选点:盘心 + 各比例半径 × 均匀方向。""" - points = [tuple(center)] - for fraction in rings: - radius = fraction * safe_radius_m - if radius <= 1e-9: - continue - step = 2 * math.pi / angles - for k in range(angles): - angle = step * k + step / 2 - points.append((center[0] + radius * math.cos(angle), - center[1] + radius * math.sin(angle))) - return points - - -def _worst_posterior_radius(region: CandidateRegion, q: Vec2, - witnesses: list[Vec2], half_angle_deg: float, - near_radius_m: float, disk_sides: int) -> float: - """对候选点 q,遍历"目标边界点 × 读数分支"的最坏后验包围半径。 - - 读数分支:direction 的区间端点 (*@\ensuremath{\varphi}@*)(g)±(*@\ensuremath{\delta}@*)(端点是每个 g 的最不利读数), - 以及 near——源落在 q 的 near_radius_m 内时后验为 B(q, near)(*@\ensuremath{\cap}@*)候选集。 - 保证接收盘内 no_signal 不可能发生,故不枚举该分支。 - 这是启发式近似,不构成最优性证明 [工程]。 - """ - posterior_radii = [] - for g in witnesses: - phi = bearing_deg(q, g) - for reading in (phi - half_angle_deg, phi + half_angle_deg): - probe = CandidateRegion(list(region.polygon), region.slack_m) - probe.clip_wedge(q, reading, half_angle_deg) - if probe.polygon: - posterior_radii.append(probe.mec()[1]) - near_probe = CandidateRegion(list(region.polygon), region.slack_m) - try: - near_probe.clip_disk(q, near_radius_m, disk_sides) - except InconsistentBelief: - pass # B(q, near) 与候选集不相交:near 分支不可能发生,跳过 - else: - if near_probe.polygon: - posterior_radii.append(near_probe.mec()[1]) - if not posterior_radii: - return region.mec()[1] # 无有效采样点时退回当前半径 - return max(posterior_radii) - - -def safe_disk_radius(region: CandidateRegion, - config: ProblemConfig = ProblemConfig()) -> float: - """保证接收盘 B(mec, safe) 的半径;<0 表示无保证((*@\ensuremath{\rho}@*) 超过最小接收半径)。 - - 盘内任意点到候选集每点距离 <= safe + (*@\ensuremath{\rho}@*) + 1e-3 < 1000 <= 最小接收半径, - 故必然收到 direction/near。1mm 数值余量避免浮点贴边被 r_eff=1000 的源 - 判为 no_signal。 - """ - return config.field.r_eff_min_m - region.mec()[1] - 1e-3 - - -def select_measurement_point(region: CandidateRegion, from_position: Vec2, - config: ProblemConfig = ProblemConfig()) -> SecondPointPlan: - """在保证接收盘内选择下一检测点(P3 核心;对任意候选集通用)。 - - 保证接收盘 B(mec_center, 1000-(*@\ensuremath{\rho}@*)):盘内任意点到候选集每点距离 - <= (1000-(*@\ensuremath{\rho}@*)) + (*@\ensuremath{\rho}@*) = 1000 <= 最小接收半径,故必然收到 direction/near, - 不会浪费一次 no_signal。(*@\ensuremath{\rho}@*)>1000 时退化为探索 MEC 圆心(可能 no_signal)。 - """ - field, search = config.field, config.search - center, radius = region.mec() - half_angle = field.bearing_error_half_deg + search.bearing_rounding_margin_deg - - def move_cost(point: Vec2) -> float: - return move_time(from_position, point, config.cost) - - # 1mm 数值余量在 safe_disk_radius 内记账。 - safe_radius = safe_disk_radius(region, config) - if safe_radius < 0: - return SecondPointPlan(tuple(center), radius, move_cost(center), - "无保证接收盘((*@\ensuremath{\rho}@*)>1000):探索 MEC 圆心,可能 no_signal") - coarse = region.witnesses(search.witness_spacing_m) - samples = candidate_points(center, safe_radius, - search.candidate_rings, search.candidate_angles) - near_radius, sides = field.near_radius_m, search.polygon_sides - best_key, best_point, best_worst = None, None, None - for point in samples: - worst = _worst_posterior_radius(region, point, coarse, half_angle, - near_radius, sides) - key = (round(worst, 6), round(move_cost(point), 6)) - if best_key is None or key < best_key: - best_key, best_point, best_worst = key, point, worst - dense = _worst_posterior_radius(region, best_point, - region.witnesses(search.witness_spacing_m / 4), - half_angle, near_radius, sides) - reason = (f"安全盘 B(centre,{safe_radius:.0f}m) 内 {len(samples)} 候选;" - f"粗采样最坏后验 {best_worst:.1f}m,1/4 间距加密复核 {dense:.1f}m") - return SecondPointPlan(tuple(best_point), dense, move_cost(best_point), reason) - - -def select_second_point(client: SimulatorClient, first_position: Vec2, - first_bearing_deg: float, - config: ProblemConfig = ProblemConfig()) -> SecondPointPlan: - """P3 入口:由首次 direction 构造 K1,返回保证接收的第二检测点方案。""" - region = CandidateRegion.initial(first_position, config) - half_angle = config.field.bearing_error_half_deg \ - + config.search.bearing_rounding_margin_deg - region.clip_wedge(first_position, first_bearing_deg, half_angle) - return select_measurement_point(region, client.state.position, config) - - -class OmnidirectionalLoop: - """问题3全向"发现—定位—清除—持续复扫"闭环(P4 基线 + 持续搜索)。 - - 串行驱动 SimulatorClient:覆盖阶段在 49 点网格上对每个 UNKNOWN 频道 - 检测;发现 direction 即进入该频道的定位子循环(选点→测量→收敛→ - 证书清除),near 直接清除。全部频道"已清除或证明不存在"后按 - ``search.persistent_search``(默认关闭)可选择只复扫 - 未清除频道,直到清除数达 16、实机预算耗尽或虚拟安全余量不足。 - stop_reason 记录循环结束原因;``completed`` 表示任务证明完成 - (结束时每频道均 CLEARED/ABSENT 且无中断),与"复扫到限时才停" - 相互独立:accounted_virtual_time_s 记录首次证明找全的虚拟时刻。 - """ - - def __init__(self, client: SimulatorClient, - config: ProblemConfig = ProblemConfig()): - self.client = client - self.config = config - self.belief = BeliefState(config) - # 覆盖计划是"可离线搜索、可在运行期校验"的一等对象;基类默认保持 - # 历史 49 点表(grid49_immediate 基线口径不变),各问题策略自行覆盖。 - self.coverage_plan = square_49_plan() - self.ledger = CoverageLedger(config, points=list(self.coverage_plan.points)) - self.cleared: list[int] = [] - self.anomalies: list[dict] = [] - self.stop_reason: str | None = None - # 逐频道缺席证据来源(pf_empty / coverage),供审计与论文逐条追溯。 - self.absence_evidence: dict[int, str] = {} - # "同一 0.5m 测点 × 同一频道"的重复检测计数:历史上一次官方演练 - # 有 98.84% 的虚拟时间耗在空复扫上,本计数是该问题的回归指标。 - self.redundant_rescan_measures = 0 - # 首次达成"每频道均已清除或证明不存在"的虚拟时刻(找全证明)。 - self.accounted_virtual_time_s: float | None = None - # 证书有效但 /clear 失败后必须先补测再重试,避免在同一证书上 - # 反复消耗 3 秒/次的失败清除。 - self._may_clear: set[int] = set() - # 断连/协议错误/守恒性破坏等中断:留档异常,收尾时写入 summary。 - self._abort_detail: BaseException | None = None - - # ------------------------------------------------------------ 主流程 - def run(self) -> dict: - """主闭环。任何异常都必须尽力 /exit 并产出 summary,不得静默丢会话。""" - try: - self.client.enter() - self._coverage_phase() - if self.stop_reason is None: - self._mark_absent_after_coverage() - self._resolve_detected() - self._record_accounted() - if self.config.search.persistent_search: - self._persistent_phase() - if self.stop_reason is None: - if len(self.cleared) >= self.config.field.source_count_max: - self.stop_reason = "sixteen_cleared" - elif self._all_accounted(): - self.stop_reason = "all_resolved" - else: - self.stop_reason = "unresolved_channels" - except DeadlineExceeded: - self.stop_reason = "real_budget_exhausted" - except (TransportError, ProtocolError, InconsistentBelief) as exc: - self._abort_detail = exc - if isinstance(exc, TransportError): - self.stop_reason = "transport_failure" - elif isinstance(exc, InconsistentBelief): - self.stop_reason = "inconsistent_belief" - else: - self.stop_reason = "protocol_error" - except Exception as exc: # 意外异常同样收尾,不阻断 /exit 与结果汇总 - self._abort_detail = exc - self.stop_reason = "unexpected_error" - info = None - exit_error = None - try: - info = self.client.exit() - except Exception as exc: # 接口不可用:记录后仍产出未完成状态 - exit_error = exc - summary = self._summary(info) - if exit_error is not None: - summary["exit_error"] = _error_brief(exit_error) - return summary - - # ------------------------------------------------------------ 预算与证明 - def _min_virtual_reserve(self) -> float: - """单动作耗时上界的保守估计,用于虚拟安全余量。 - - 上界 = 2 × 最远站点距离 / 速度 + 检测 + 换频(机器人不会跑到覆盖 - 计划包围区之外执行任务)。配置值通常更宽松;本函数保证即使配置被 - 调小,余量也足以完成最后一个动作而不触及 100 小时上限。 - """ - reach = max((math.dist((0.0, 0.0), point) for point in self.ledger.points), - default=0.0) - action_bound = (2.0 * reach / self.config.cost.speed_mps - + self.config.cost.measure_s + self.config.cost.switch_s) - return max(self.config.search.virtual_reserve_s, action_bound) - - def _virtual_cap_reached(self) -> bool: - """虚拟安全余量不足:置 stop_reason 并返回 True,调用方立即收尾。 - - 余量须大于单次动作耗时上界(见 :meth:`_min_virtual_reserve`), - `search.virtual_reserve_s=10000s` [工程] 提供充分裕度,避免触及 - 附件2 §4.5 的 100 小时上限被模拟器强制结束。 - """ - if (self.client.state.virtual_time_s + self._min_virtual_reserve() - < self.config.field.max_virtual_duration_s): - return False - self.stop_reason = "virtual_time_cap" - return True - - def _all_accounted(self) -> bool: - return all(belief.status in (ChannelStatus.CLEARED, ChannelStatus.ABSENT) - for belief in self.belief.channels.values()) - - def _record_accounted(self) -> None: - """首次"每频道均已清除或证明不存在"的时刻留档(找全证明)。""" - if self.accounted_virtual_time_s is None and self._all_accounted(): - self.accounted_virtual_time_s = self.client.state.virtual_time_s - - # ------------------------------------------------------------ 覆盖阶段 - def _pending_channels_at(self, index: int) -> list[int]: - return [channel for channel, belief in self.belief.channels.items() - if belief.status is ChannelStatus.UNKNOWN - and not self.ledger.measured_at(channel, index)] - - def _next_point_index(self) -> int | None: - """尚有 UNKNOWN 频道待测的最近网格点(贪心最近邻 [工程])。""" - position = self.client.state.position - best_index, best_distance = None, 0.0 - for index, point in enumerate(self.ledger.points): - if not self._pending_channels_at(index): - continue - distance = math.dist(position, point) - if best_index is None or distance < best_distance: - best_index, best_distance = index, distance - return best_index - - def _coverage_phase(self) -> None: - while True: - if self._count_limit_reached(): - return - index = self._next_point_index() - if index is None: - return - point = self.ledger.points[index] - for channel in self._pending_channels_at(index): - if self._virtual_cap_reached(): - return - outcome = self.client.measure(point, channel) - self.ledger.mark_measured(channel, index) - self.belief.update_measure(channel, point, outcome.result, - outcome.svd_deg) - if outcome.result == DIRECTION: - self._localize_and_clear(channel) - elif outcome.result == NEAR: - region = self.belief.candidate_set(channel) - cert = clear_certificate(region, channel, self.config) - if cert.certified: - self._attempt_clear(channel, cert.center, cert) - else: # 理论上不发生(near 候选半径 5m);保守记录 - self._anomaly("near_without_certificate", channel, - position=point) - if self.stop_reason is not None or self._count_limit_reached(): - return - - # ------------------------------------------------------------ 持续复扫 - def _persistent_phase(self) -> None: - """全部频道已清除/证明不存在后的持续复扫 [用户决策 2026-09-11]。 - - 只扫未清除频道(DETECTED 继续定位,ABSENT 全网格复测,防模拟器 - 或覆盖证明假设偏差),直到清除数达 16 或虚拟安全余量不足; - 实机预算由客户端 DeadlineExceeded 兜底(扫到限时为止)。 - """ - while self.stop_reason is None: - if self._count_limit_reached(): - return - if self._virtual_cap_reached(): - return - self._persistent_round() - - def _persistent_round(self) -> None: - """一轮全网格复扫:网格点最近邻序,逐点测量全部未清除频道。""" - measured: set[tuple[int, int]] = set() - while self.stop_reason is None: - index = self._next_resweep_point(measured) - if index is None: - return - point = self.ledger.points[index] - for channel in self._resweep_channels_at(index, measured): - if self._virtual_cap_reached(): - return - measured.add((channel, index)) - was_absent = (self.belief.channels[channel].status - is ChannelStatus.ABSENT) - outcome = self.client.measure(point, channel) - self.belief.update_measure(channel, point, outcome.result, - outcome.svd_deg) - if was_absent and outcome.result in (DIRECTION, NEAR): - # 复测推翻了覆盖缺席证明:守恒性留痕,按新证据定位清除。 - self._anomaly("absent_detected_on_resweep", channel, - position=point, result=outcome.result) - if outcome.result == DIRECTION: - self._localize_and_clear(channel) - elif outcome.result == NEAR: - region = self.belief.candidate_set(channel) - cert = clear_certificate(region, channel, self.config) - if cert.certified: - self._attempt_clear(channel, cert.center, cert) - else: - self._anomaly("near_without_certificate", channel, - position=point) - if self.stop_reason is not None: - return - - def _next_resweep_point(self, measured: set[tuple[int, int]]) -> int | None: - """尚有未清除频道待复测的最近网格点(贪心最近邻 [工程])。""" - position = self.client.state.position - best_index, best_distance = None, 0.0 - for index, point in enumerate(self.ledger.points): - if not self._resweep_channels_at(index, measured): - continue - distance = math.dist(position, point) - if best_index is None or distance < best_distance: - best_index, best_distance = index, distance - return best_index - - def _resweep_channels_at(self, index: int, - measured: set[tuple[int, int]]) -> list[int]: - return [channel for channel, belief in self.belief.channels.items() - if belief.status is not ChannelStatus.CLEARED - and (channel, index) not in measured] - - def _count_limit_reached(self) -> bool: - if len(self.cleared) >= self.config.field.source_count_max: - self.stop_reason = "sixteen_cleared" - return True - return False - - # ------------------------------------------------------------ 定位与清除 - def _localize_and_clear(self, channel: int) -> bool: - """定位子循环:选点测量收敛候选集,拿到清除证书后清除。 - - 返回是否已清除;步数耗尽仍未收敛则保持 DETECTED 留待二轮。 - 进入本函数前该频道刚有一次 direction 读数,允许立即清除。 - """ - search = self.config.search - self._may_clear.add(channel) - for _ in range(search.max_localize_steps): - if self._virtual_cap_reached(): - return False - region = self.belief.candidate_set(channel) - if region is None: - return False - cert = clear_certificate(region, channel, self.config) - if cert.certified and channel in self._may_clear: - if self._attempt_clear(channel, cert.center, cert): - return True - self._may_clear.discard(channel) - continue - plan = select_measurement_point(region, self.client.state.position, - self.config) - outcome = self.client.measure(plan.position, channel) - self.belief.update_measure(channel, plan.position, outcome.result, - outcome.svd_deg) - self._may_clear.add(channel) - if outcome.result == NO_SIGNAL: - self._anomaly("no_signal_in_safe_disk", channel, - position=plan.position, detail=plan.reason) - return self.belief.channels[channel].status is ChannelStatus.CLEARED - - def _attempt_clear(self, channel: int, target: Vec2, - cert: ClearCertificate) -> bool: - outcome = self.client.clear(target, channel) - if outcome.result == CLEAR_SUCCESS: - self.belief.mark_cleared(channel) - self.cleared.append(channel) - return True - if cert.certified: - self._anomaly("clear_failed_with_certificate", channel, position=target, - radius_m=round(cert.radius_m, 3), limit_m=cert.limit_m) - return False - - def _anomaly(self, kind: str, channel: int, **detail) -> None: - """异常只在守恒性被打破或证书失效时出现;每频道限量记录防刷屏。""" - recorded = sum(1 for item in self.anomalies if item["channel"] == channel) - if recorded >= self.config.search.max_anomalies_per_channel: - return - self.anomalies.append({"kind": kind, "channel": channel, **detail}) - - # ------------------------------------------------------------ 收尾 - def _mark_absent_after_coverage(self) -> None: - """全向源缺席证明:全网格无非 no_signal 读数的频道不存在源 [题面]。""" - for channel, belief in self.belief.channels.items(): - if belief.status is ChannelStatus.UNKNOWN \ - and self.ledger.coverage_complete(channel): - self.belief.mark_absent(channel) - self.absence_evidence[channel] = "coverage" - - def _resolve_detected(self) -> None: - """覆盖完成后,对仍未清除的 DETECTED 频道做第二轮定位。 - - 不再在此决定停止:持续搜索模式下由 _persistent_phase 接力, - 非持续模式由 run() 依据 _all_accounted 判定 all_resolved。 - """ - for channel in self.belief.channels_by_status(ChannelStatus.DETECTED): - if self._count_limit_reached() or self._virtual_cap_reached(): - return - self._localize_and_clear(channel) - if self.stop_reason is not None: - return - - def _summary(self, info) -> dict: - """结果汇总。info 为 None 表示 /exit 未能完成(断连等),按未完成上报。 - - completed = 无中断且结束时每频道均 CLEARED/ABSENT(任务证明完成); - stop_reason 另行记录循环结束原因(持续复扫模式下通常是 - virtual_time_cap / real_budget_exhausted / sixteen_cleared)。 - """ - events = self.client.log.action_events() - stats = summarize(events) - report = recompute_virtual_time(events) - steps = self._step_report() - cleared = self.belief.channels_by_status(ChannelStatus.CLEARED) - absent = self.belief.channels_by_status(ChannelStatus.ABSENT) - resolved = set(cleared) | set(absent) - unresolved = [channel for channel in sorted(self.belief.channels) - if channel not in resolved] - virtual_time_s = round((info.virtual_time_s if info is not None - else self.client.state.virtual_time_s), 3) - # 清除数达 16 即数量上界证明(其余频道无论状态如何都不可能有源); - # 否则要求每频道均 CLEARED/ABSENT。 - completed = (self._abort_detail is None - and (len(self.cleared) >= self.config.field.source_count_max - or not unresolved)) - # 完成依据必须显式区分"数量上界"与"逐频道缺席/清除证明", - # 否则论文与审计会把 16 源截断误读为逐频道证明。 - if self._abort_detail is not None: - completion_basis = "incomplete" - elif len(self.cleared) >= self.config.field.source_count_max: - completion_basis = "count_cap" - elif not unresolved: - completion_basis = "per_channel_proof" - else: - completion_basis = "incomplete" - summary = { - "completed": completed, - "completion_basis": completion_basis, - "stop_reason": self.stop_reason, - "exit_reason": "exit_unreachable" if info is None else info.reason, - "virtual_time_s": virtual_time_s, - "accounted_virtual_time_s": (round(self.accounted_virtual_time_s, 3) - if self.accounted_virtual_time_s is not None - else None), - "persistent_search": self.config.search.persistent_search, - "virtual_reserve_s": round(self._min_virtual_reserve(), 3), - "coverage_plan": self.coverage_plan.name, - "coverage_points": len(self.coverage_plan.points), - "coverage_plan_points": [[p[0], p[1]] for p in self.coverage_plan.points], - "coverage_plan_certificate": ( - self.coverage_plan.certificate.as_dict() - if self.coverage_plan.certificate is not None else None), - "cleared_channels": cleared, - "absent_channels": absent, - "unresolved_channels": unresolved, - "absence_evidence": {str(channel): self.absence_evidence[channel] - for channel in sorted(absent)}, - "redundant_rescan_measures": self.redundant_rescan_measures, - "measures": stats["measures"], - "clears": stats["clears"], - "clear_success": stats["cleared"], - "total_requests": stats["measures"] + stats["clears"], - "move_distance_m": round(stats["distance_m"], 1), - # 题面口径:定位清除总时间(全程虚拟时长)/ 被清除干扰源个数。 - "avg_locate_clear_time_s": (round(virtual_time_s / len(cleared), 3) - if cleared else None), - "step_totals": steps["totals"], - "steps": steps["rows"], - "anomalies": self.anomalies, - "virtual_recompute_mismatches": len(report["mismatches"]), - "channel_status": self._channel_status_snapshot(), - } - if self._abort_detail is not None: - summary["abort_detail"] = _error_brief(self._abort_detail) - return summary - - def _step_report(self) -> dict: - """每步计时汇总 [用户决策 2026-09-11]:实机墙钟 + 比赛虚拟耗时分项。""" - totals = {"count": 0, "real_elapsed_total_s": 0.0, - "real_since_enter_total_s": 0.0, - "virtual_move_s": 0.0, "virtual_switch_s": 0.0, - "virtual_measure_action_s": 0.0, "virtual_clear_action_s": 0.0, - "virtual_total_s": 0.0} - rows = [] - for index, step in enumerate(self.client.log.step_events()): - cost = step["virtual_cost"] - totals["count"] += 1 - totals["real_elapsed_total_s"] += step["real_elapsed_s"] - totals["real_since_enter_total_s"] = step.get( - "real_since_enter_s", totals["real_since_enter_total_s"]) - totals["virtual_move_s"] += cost["move_s"] - totals["virtual_switch_s"] += cost["switch_s"] - if step["path"] == "/measure": - totals["virtual_measure_action_s"] += cost["action_s"] - elif step["path"] == "/clear": - totals["virtual_clear_action_s"] += cost["action_s"] - totals["virtual_total_s"] += cost["total_s"] - rows.append({"index": index, "action": step["path"].lstrip("/"), - "result": step.get("result"), - "channel": step.get("channel"), - "position": step.get("position"), - "real_elapsed_ms": round(step["real_elapsed_s"] * 1000.0, 3), - "real_since_enter_s": step.get("real_since_enter_s"), - "move_s": round(cost["move_s"], 3), - "switch_s": round(cost["switch_s"], 3), - "action_s": round(cost["action_s"], 3), - "step_virtual_s": round(cost["total_s"], 3), - "virtual_time_s": step["virtual_time_s"]}) - for key, value in totals.items(): - if isinstance(value, float): - totals[key] = round(value, 3) - return {"totals": totals, "rows": rows} - - def _channel_status_snapshot(self) -> dict: - """逐频道状态快照:中断收尾时的未完成状态留档(每频道一条)。""" - snapshot = {} - for channel, belief in sorted(self.belief.channels.items()): - entry = {"status": belief.status.value} - if belief.region is not None: - entry["posterior_radius_m"] = round(belief.region.mec()[1], 3) - snapshot[str(channel)] = entry - return snapshot - - -class DirectionalExtension(OmnidirectionalLoop): - """问题4混合源闭环(P5):全向基线 + 定向观测处理 + 后备清除。 - - 与 P4 的三点差异(协议衔接见 docs/协议规则表与状态机.md §7): - - 49 点覆盖的发现保证对定向源同样成立,覆盖阶段不区分源类型; - - 保证接收盘内的 no_signal 只能由朝向遮挡解释 [观测推理]:该频道 - 记为"观测到定向",随后对 MEC 圆心取对跖探点复核;联合约束基线 - 不据此删除空间候选(真源不误删); - - 定位停滞(候选集有界但未达清除证书)时构造 <=20m 有限圆盘覆盖, - 预算核对后逐格 /clear:清除与朝向无关 [题面],是定向源不依赖 - 可见性的完备后备。格数超硬顶或现实预算不足则跳过并留痕,绝不盲扫。 - """ - - def __init__(self, client: SimulatorClient, - config: ProblemConfig = ProblemConfig()): - super().__init__(client, config) - # P0-2:第四问切换到同一保证下的最小命中集(默认 q4_mincover_v1)。 - self.coverage_plan = plan_instance(config.search.q4_coverage_plan, - verify=config.search.verify_coverage_plan) - self.ledger = CoverageLedger(config, points=list(self.coverage_plan.points)) - self.directional_observed: list[int] = [] # 观测到定向性的频道 - self.blocked_probes: dict[int, list[Vec2]] = {} - self.fallback_log: list[dict] = [] # 后备清除逐次留痕 - # P0-3:(位置 × 朝向) 联合可行集,仅在频道首次被看见时惰性建立, - # 使其初始化与更新成本只落在"确实存在定向源"的频道上。 - self.joint: dict[int, JointBelief] = {} - self.joint_absent_channels: list[int] = [] - self.visibility_probes = 0 # 由联合信念选出的探点数 - - def _coverage_phase(self) -> None: - """49站的定向覆盖证明不变;每站先串行扫频,再就近服务已发现源。 - - 避免检测一个源后远行清除,再返回同站检测下一个频道。 - no_signal不用于删空间候选,也不使用第三问的七站缺席证明。 - """ - while not self._count_limit_reached() and self.stop_reason is None: - index = self._next_point_index() - if index is None: - return - point = self.ledger.points[index] - pending = self._pending_channels_at(index) - pending.sort(key=lambda c: (c != self.client.state.channel, c)) - for channel in pending: - if self._virtual_cap_reached(): - return - outcome = self.client.measure(point, channel) - self.ledger.mark_measured(channel, index) - self._observe(channel, point, outcome.result, outcome.svd_deg) - if outcome.result == NEAR: - cert = clear_certificate( - self.belief.candidate_set(channel), channel, self.config) - if cert.certified: - self._attempt_clear(channel, point, cert) - if self._count_limit_reached(): - return - queue = self.belief.channels_by_status(ChannelStatus.DETECTED) - while queue and self.stop_reason is None: - channel = min(queue, key=lambda c: ( - math.dist(self.client.state.position, - self.belief.candidate_set(c).mec()[0]), c)) - queue.remove(channel) - self._localize_and_clear(channel) - if self._count_limit_reached(): - return - - # ------------------------------------------------------------ 定位与清除 - def _localize_and_clear(self, channel: int) -> bool: - """定位子循环:选点测量收敛候选集,拿到清除证书后清除。 - - 与 P4 的差异:保证接收盘内的 no_signal 说明探点被朝向遮挡 - [观测推理],走"对跖复核 -> 环探"升级梯子(不计入定位步数, - 由 max_blocked_probes 限流),之后仍未收敛再转后备清除。 - """ - search = self.config.search - self._may_clear.add(channel) - steps = 0 - while steps < search.max_localize_steps: - if self._virtual_cap_reached(): - return False - region = self.belief.candidate_set(channel) - if region is None: - return False - cert = clear_certificate(region, channel, self.config) - if cert.certified and channel in self._may_clear: - if self._attempt_clear(channel, cert.center, cert): - return True - self._may_clear.discard(channel) # 证书失败:补测后才可重试 - continue - if len(self.blocked_probes.get(channel, [])) >= search.max_blocked_probes: - break # 梯子用尽仍被遮挡:定位停滞,转后备清除 - point = self._next_probe(region, channel) - within_range = (math.dist(point, region.mec()[0]) - <= safe_disk_radius(region, self.config)) - outcome = self.client.measure(point, channel) - self._observe(channel, point, outcome.result, outcome.svd_deg) - self._may_clear.add(channel) - if outcome.result == NO_SIGNAL: - if within_range and channel not in self.directional_observed: - self.directional_observed.append(channel) - self.blocked_probes.setdefault(channel, []).append(point) - continue # 盘外无信号也可能是距离不足,不据此断言定向 - self.blocked_probes.pop(channel, None) - steps += 1 - if self.belief.channels[channel].status is ChannelStatus.CLEARED: - return True - region = self.belief.candidate_set(channel) - if region is None: - return False - cert = clear_certificate(region, channel, self.config) - if cert.certified and channel in self._may_clear: - if self._attempt_clear(channel, cert.center, cert): - return True - self._may_clear.discard(channel) - return self._fallback_clear(channel, region) - - def _observe(self, channel: int, point: Vec2, result: str, - svd_deg: float | None) -> None: - """同步更新凸候选集与 (位置 × 朝向) 联合可行集。 - - 联合集只在频道首次被看见(direction/near)时建立:从未被看见的 - 频道由覆盖证明负责缺席,不需要朝向维度。联合集一旦为空,直接给出 - 该频道的缺席证明(严格,与覆盖证明同一条件),可提前停止对其检测。 - """ - self.belief.update_measure(channel, point, result, svd_deg) - if not self.config.search.directional_joint_belief: - return - joint = self.joint.get(channel) - if joint is None: - if result not in (DIRECTION, NEAR): - return - joint = JointBelief(self.config) - self.joint[channel] = joint - joint.apply(point, result, svd_deg) - if joint.is_absent() and self.belief.channels[channel].status \ - is not ChannelStatus.CLEARED: - self.belief.mark_absent(channel) - self.absence_evidence[channel] = "joint_empty" - if channel not in self.joint_absent_channels: - self.joint_absent_channels.append(channel) - - def _probe_candidates(self, region: CandidateRegion, channel: int) -> list[Vec2]: - """可见性选点的候选点族:保证接收点 + 对跖点 + 环探 + **抵近点**。 - - D1 关键结构性改动:旧点族全部围绕 MEC 圆心固定环采样,远距离不收敛时 - 没有"主动靠近"这一动作,只能退化到 20m 网格盲清。现在补上 - ``center + (*@\ensuremath{\alpha}@*)·(当前位置 − center)``((*@\ensuremath{\alpha}@*)(*@\ensuremath{\in}@*)approach_fractions,(*@\ensuremath{\alpha}@*)=0 即圆心) - 的抵近序列,使策略可以在保持可见的前提下逐次逼近真源,最终以正常 - 角域证书或 near 收尾。 - """ - center, radius = region.mec() - position = self.client.state.position - candidates = [select_measurement_point( - region, position, self.config).position] - safe = safe_disk_radius(region, self.config) - blocked = self.blocked_probes.get(channel, []) - if blocked and safe >= 0: - dx, dy = center[0] - blocked[0][0], center[1] - blocked[0][1] - norm = math.hypot(dx, dy) - if norm > 1e-9: - scale = min(1.0, safe / norm) - candidates.append((center[0] + dx * scale, center[1] + dy * scale)) - # 抵近点:从 MEC 圆心到当前点的插值序列(含圆心本身)。 - for fraction in self.config.search.approach_fractions: - candidates.append((center[0] + (position[0] - center[0]) * fraction, - center[1] + (position[1] - center[1]) * fraction)) - for factor in (0.5, 1.0, 1.5): - ring = max(radius * factor, 2.0 * self.config.field.near_radius_m) - for step in range(8): - angle = math.pi * step / 4.0 - candidates.append((center[0] + ring * math.cos(angle), - center[1] + ring * math.sin(angle))) - unique: list[Vec2] = [] - seen: set[tuple[int, int]] = set() - blocked_keys = {(int(round(point[0] * 2)), int(round(point[1] * 2))) - for point in blocked} \ - if self.config.search.probe_exclude_blocked else set() - for point in candidates: - key = (int(round(point[0] * 2)), int(round(point[1] * 2))) - if key in seen or key in blocked_keys: - continue # 已测过且被遮挡的点:再测不会有任何新信息 - seen.add(key) - unique.append(point) - return unique - - def _visibility_probe(self, region: CandidateRegion, channel: int) -> Vec2 | None: - """按联合信念选探点;联合信念不可用时返回 None(退回梯子)。 - - 三种口径(只影响选点顺序,不承担任何安全责任): - - - ``nearest_visible``(默认):先按可见概率过滤(只保留 - ``prob_detect (*@\ensuremath{\ge}@*) ratio × max`` 的候选,避免选中"实际必然被朝向遮挡"的 - 点),再取 ``当前位置→q→MEC 圆心`` 移动最省者。9 场景 core 实测: - 后备盲清 125.7 → 4.3 次/局、T 9225 → 8602 s、墙钟最低。 - - ``expected_radius``:在同样过滤后最小化 - ``E[后验 MEC 半径](q) + (*@\ensuremath{\lambda}@*)·移动``。(*@\ensuremath{\lambda}@*)=5 时与上面几乎同分(8604 s), - (*@\ensuremath{\lambda}@*) 很小时(0.05)值函数主导,为信息多绕路(9740 s)——本题 - "看得见且少走路"比"单步信息量最大"更重要。 - - ``visibility``(旧口径):最大化 ``prob_detect/(移动+6)``,会反复选中 - 同一个近处被遮挡点(实测 9225 s、后备 125.6 次)。 - """ - joint = self.joint.get(channel) - if joint is None or joint.is_absent(): - return None - position = self.client.state.position - service_s = self.config.cost.measure_s + self.config.cost.switch_s - candidates = self._probe_candidates(region, channel) - if not candidates: - return None - mode = self.config.search.probe_score_mode - if mode == "visibility": - best_point, best_score = None, None - for point in candidates: - probability = joint.prob_detect(point) - if probability <= 0.0: - continue - score = -(probability / (move_time(position, point, self.config.cost) - + service_s)) - if best_score is None or score < best_score: - best_point, best_score = point, score - if best_point is not None: - self.visibility_probes += 1 - return best_point - scored = [(joint.prob_detect(point), point) for point in candidates] - peak = max(probability for probability, _ in scored) - ratio = self.config.search.probe_visibility_ratio - keep = [point for probability, point in scored - if probability >= ratio * peak] or [point for _, point in scored] - center = region.mec()[0] - weight = self.config.search.probe_lambda_move_s - - def approach_cost(point: Vec2) -> float: - return (move_time(position, point, self.config.cost) - + move_time(point, center, self.config.cost) + service_s) - - if mode == "nearest_visible": - # (*@\ensuremath{\lambda}@*) 很大时值函数项对 argmin 已无影响:直接取"可见候选中移动最省", - # 省掉每个候选一次期望后验半径计算(单局墙钟 −3 s)。 - best = min(keep, key=lambda point: (approach_cost(point), point)) - self.visibility_probes += 1 - return best - best = min(keep, key=lambda point: ( - joint.expected_posterior_radius(point) + weight * approach_cost(point), - point)) - self.visibility_probes += 1 - return best - - - - def _next_probe(self, region: CandidateRegion, channel: int) -> Vec2: - """定向遮挡下的探点升级梯子 [工程]。 - - - 未被遮挡过:worst-posterior 选点器(保证接收盘内); - - 第 1 次被遮挡:对 MEC 圆心取对跖方向,偏移裁进保证接收盘; - - 之后:绕 MEC 圆心、半径 = (*@\ensuremath{\rho}@*) 的环探,方位自首个被遮挡点起 - 每次 +45°。几何边界必须如实陈述:环上可见弧没有下界—— - 源可位于环上(|g-c| = (*@\ensuremath{\rho}@*))且朝向沿外切线,可见集退化为单个 - 切点,固定步进环探可以全部漏过。梯子只提高提前命中概率, - 不构成接收或命中保证;完备性完全由后备清除兜底。 - """ - visibility = self._visibility_probe(region, channel) - if visibility is not None: - return visibility - blocked = self.blocked_probes.get(channel, []) - center, radius = region.mec() - if not blocked: - return select_measurement_point(region, self.client.state.position, - self.config).position - safe = safe_disk_radius(region, self.config) - first = blocked[0] - if len(blocked) == 1 and safe >= 0: - dx, dy = center[0] - first[0], center[1] - first[1] - norm = math.hypot(dx, dy) - if norm <= 1e-9: - # 首个被遮挡探点恰在圆心:方向信息为零,沿 +x 走满安全盘。 - return (center[0] + safe, center[1]) - scale = min(1.0, safe / norm) - # 对跖方向,偏移模长 = min(norm, safe):圆心对称点裁进保证接收盘。 - return (center[0] + dx * scale, center[1] + dy * scale) - base = math.atan2(first[1] - center[1], first[0] - center[0]) - azimuth = base + math.radians(45.0 * (len(blocked) - 1)) - return (center[0] + radius * math.cos(azimuth), - center[1] + radius * math.sin(azimuth)) - - def _fallback_clear(self, channel: int, region: CandidateRegion) -> bool: - """定位停滞的后备:候选集有限圆盘覆盖逐格清除(格数即请求上界)。""" - search, session = self.config.search, self.config.session - width = max(p[0] for p in region.polygon) - min(p[0] for p in region.polygon) - height = max(p[1] for p in region.polygon) - min(p[1] for p in region.polygon) - cells = fallback_clear_cells(region.polygon, self.config) - entry = {"channel": channel, "cells": len(cells), - "bound": fallback_cell_bound(width, height, self.config), - "posterior_radius_m": round(region.mec()[1], 3)} - self.fallback_log.append(entry) - if len(cells) > search.fallback_max_cells: - # 宽候选集盲扫违背预算纪律:留待定位收敛,不得硬扫 [计划§4]。 - entry["outcome"] = "skipped_cell_cap" - self._anomaly("fallback_cell_cap_exceeded", channel, - cells=len(cells), cap=search.fallback_max_cells) - return False - # 现实预算核对:N 次请求 × 单请求高分位估计 + 退出余量,不足不启动。 - remaining = self.client.real_remaining_s - if remaining is None or len(cells) * session.real_rtt_p95_s \ - + session.reserve_exit_s > remaining: - entry["outcome"] = "skipped_budget" - return False - attempts = 0 - order = self._fallback_order(cells) - for cell in order: - if self._virtual_cap_reached(): - entry["outcome"] = "skipped_virtual_budget" - entry["attempts"] = attempts - return False - attempts += 1 - outcome = self.client.clear(cell, channel) - if outcome.result == CLEAR_SUCCESS: - self.belief.mark_cleared(channel) - self.cleared.append(channel) - entry["outcome"] = "cleared" - entry["attempts"] = attempts - return True - # 候选集保守包含真源,格心距格内任一点 <= 10*sqrt(2) < 20m:全部 - # 失败说明守恒性被打破,按异常留痕,不得据此删除候选。 - entry["outcome"] = "exhausted" - entry["attempts"] = attempts - self._anomaly("fallback_exhausted_without_success", channel, - cells=len(cells)) - return False - - def _fallback_order(self, cells: list[Vec2]) -> list[Vec2]: - """后备清除的走格顺序:最近邻打底 + 2-opt(可选 Or-opt)改进。 - - 旧实现每步重新 ``min(remaining, key=dist)``,等价于最近邻开放路径 - (典型为最优的 1.2–1.3 倍)且每次重扫 O(k²)。这里一次性求解改进序 - (D3),把格间移动压到接近最优;格数不变,故完备性不变。 - """ - if not cells: - return [] - if not self.config.search.fallback_optimize_tour or len(cells) < 4: - position = self.client.state.position - remaining = list(cells) - order: list[Vec2] = [] - while remaining: - nxt = min(remaining, key=lambda c: (math.dist(position, c), c)) - remaining.remove(nxt) - order.append(nxt) - position = nxt - return order - return improve_open_path([tuple(c) for c in cells], - self.client.state.position) - - # ------------------------------------------------------------ 收尾 - def _summary(self, info) -> dict: - report = super()._summary(info) - report["directional_observed_channels"] = list(self.directional_observed) - report["fallback_clears"] = self.fallback_log - # 后备 /clear 请求计入总请求口径,仅统计检测次数会低估现实耗时。 - report["fallback_clear_attempts"] = sum( - entry.get("attempts", 0) for entry in self.fallback_log) - report["visibility_probes"] = self.visibility_probes - report["joint_absent_channels"] = list(self.joint_absent_channels) - report["joint_final"] = {str(channel): belief.summary() - for channel, belief in sorted(self.joint.items())} - return report - - -def fallback_cell_bound(width_m: float, height_m: float, - config: ProblemConfig = ProblemConfig()) -> int: - """外包框枚举的格数上界 ((*@\ensuremath{\lceil}@*)w/cell(*@\ensuremath{\rceil}@*)+2)((*@\ensuremath{\lceil}@*)h/cell(*@\ensuremath{\rceil}@*)+2)(计划§4 规模检查)。""" - cell = config.search.fallback_clear_grid_m - return (math.ceil(width_m / cell) + 2) * (math.ceil(height_m / cell) + 2) - - -def fallback_clear_cells(polygon: list[Vec2], - config: ProblemConfig = ProblemConfig()) -> list[Vec2]: - """候选外包多边形的 <=20m 有限圆盘覆盖格心列表(P5 后备清除)。 - - 全局半开 20m 网格索引;多边形与格子的相交判定带正容差(宁可多测), - 多边形边界恰在格线上时两侧格子都保留,因此格内任意点距某格心 - <= 10*sqrt(2) < 20m,逐格 /clear 至少一次命中。列表长度即 /clear - 请求预算上界;先核对 fallback_cell_bound,超预算不得逐格盲扫。 - """ - if not polygon: - return [] - cell = config.search.fallback_clear_grid_m - xs = [p[0] for p in polygon] - ys = [p[1] for p in polygon] - i0, i1 = math.floor(min(xs) / cell), math.floor(max(xs) / cell) - j0, j1 = math.floor(min(ys) / cell), math.floor(max(ys) / cell) - eps = 1e-9 - centers: list[Vec2] = [] - for i in range(i0, i1 + 1): - for j in range(j0, j1 + 1): - clipped = list(polygon) - for a, b, c in ((1.0, 0.0, (i + 1) * cell + eps), - (-1.0, 0.0, -(i * cell - eps)), - (0.0, 1.0, (j + 1) * cell + eps), - (0.0, -1.0, -(j * cell - eps))): - clipped = clip_halfplane(clipped, a, b, c, tol=eps) - if not clipped: - break - if clipped: - centers.append(((i + 0.5) * cell, (j + 0.5) * cell)) - return centers diff --git a/docs/paper/data/listing-source/src/mcm26b/planner/bayes_loop.py.tex b/docs/paper/data/listing-source/src/mcm26b/planner/bayes_loop.py.tex deleted file mode 100644 index 49b1bc5..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/planner/bayes_loop.py.tex +++ /dev/null @@ -1,816 +0,0 @@ -"""P4b 贝叶斯网格滤波闭环(问题3新策略 ``bayes``)。 - -在 :class:`OmnidirectionalLoop` 骨架(run/异常收尾/summary/预算/异常留痕) -上的三层重构,对应 docs/algo-3-bayes.md 的架构: - -1. 感知层:每频道一个网格幸存集(particles.ChannelParticles),全部读数 - (含 no_signal 负观测)即时更新;幸存集为空即缺席证明,无需等覆盖账本; -2. 决策层:统一任务循环——站点扫频、定位测量、清除三类任务合成任务表, - 开放路径最近邻 + 2-opt 排序,每执行一个任务滚动重排(动态 TSP); -3. 选点层:定位测量点在保证接收盘(凸证书)或 PF MEC 探索环(宽候选集) - 内按"期望 log 幸存占比 + (*@\ensuremath{\lambda}@*)·移动时间"评分(信息增益贪心)。 - -与基线 SevenBatch 的差异:负观测跳站/跳测(必 no_signal 的 (站,频道) 对 -不消耗检测与换频)、PF 缺席证明提前证毕、全局任务排序替代"站内最近邻"。 -清除证书仍以凸证书为主(PF 网格证书仅在负观测挖洞使幸存集更紧时提前 -触发),两者均满足 Voronoi/保守裕量,不牺牲全清率。 -""" - -from __future__ import annotations - -import math -from dataclasses import dataclass - -from ..belief import CandidateRegion, ChannelStatus -from ..config import ProblemConfig, Vec2 -from ..coverage import CoverageLedger -from ..particles import ChannelParticles, as_sample_array -from ..protocol.client import SimulatorClient -from ..protocol.rules import DIRECTION, NEAR, NO_SIGNAL -from ..protocol.timing import move_time -from . import (ClearCertificate, OmnidirectionalLoop, clear_certificate, - candidate_points, safe_disk_radius, select_measurement_point) -from .seven import validate_seven_coverage -from ..guarantee import seven_plan - - -@dataclass(frozen=True) -class Task: - """统一任务表的一项。service_s 为不含移动的固有耗时(检测+换频/清除)。""" - - kind: str # "station" | "locate" | "clear" - position: Vec2 - service_s: float - channel: int | None = None - station_index: int | None = None - station_channels: tuple[int, ...] = () - - -def _point_key(point: Vec2) -> tuple[int, int]: - """候选点去重键:0.5m 网格取整(同一物理点不重复测量)。""" - return (int(round(point[0] * 2)), int(round(point[1] * 2))) - - -class BayesLoop(OmnidirectionalLoop): - """问题3贝叶斯闭环:负观测感知 + 信息增益选点 + 滚动任务排序。""" - - def __init__(self, client: SimulatorClient, - config: ProblemConfig = ProblemConfig()): - super().__init__(client, config) - validate_seven_coverage(config.bayes.station_ring_radius_m, config) - self.coverage_plan = seven_plan(config.bayes.station_ring_radius_m) - self.ledger = CoverageLedger( - config, points=list(self.coverage_plan.points)) - self.particles = {channel: ChannelParticles(config) - for channel in self.belief.channels} - self._measured_points: dict[int, set[tuple[int, int]]] = {} - self._clear_failed: set[int] = set() # 证书清除失败后须先补测再重试 - self._stall: dict[int, int] = {} # 连续无收缩计数(异常留痕用) - self._skip_cache: dict[tuple[int, int], tuple[int, bool]] = {} - self.skipped_measures = 0 # 跳测规则省下的检测次数 - self.no_shrink_measures = 0 # 未收缩幸存集的定位检测(诊断用) - self.pf_absent_channels: list[int] = [] # 由幸存集为空证明缺席的频道 - self.opportunistic_measures = 0 - - # ------------------------------------------------------------ 主循环 - def _coverage_phase(self) -> None: - """统一任务循环:发现 + 定位 + 清除滚动调度,直到任务表为空。""" - while self.stop_reason is None: - if self._count_limit_reached() or self._virtual_cap_reached(): - return - if not self._step_once(): - return - - def _step_once(self) -> bool: - """构建任务表、排序并执行首任务;无可执行任务返回 False。""" - if self.config.bayes.opportunistic_measure: - self._measure_at_stop() - tasks = self._build_tasks() - if not tasks: - return False - tasks = self._refine_locate_tasks(tasks) - order = self._order_tasks(tasks) - self._execute_task(order[0]) - return True - - def _measure_at_stop(self) -> None: - """利用已停靠位置补交会方位;评分只作选测,证书仍用完整角域。 - - 只测尚未在此处测过、有望显著收缩且保证距离可接收的已发现频道。 - 逐频道调用measure,换频与5秒检测照常计费;不在移动中检测。 - 此距离保证仅适用于第三问,不能用于未知定向源。 - """ - point = self.client.state.position - channels = self.belief.channels_by_status(ChannelStatus.DETECTED) - channels.sort(key=lambda c: (c != self.client.state.channel, c)) - for channel in channels: - if self._virtual_cap_reached(): - return - if _point_key(point) in self._measured_points.get(channel, set()): - continue - cert = self._best_certificate(channel) - if cert is not None and cert.certified: - continue - region = self.belief.candidate_set(channel) - farthest = max(math.dist(point, v) for v in region.polygon) - if farthest > self.config.field.r_eff_min_m - 1e-3: - continue - radius = region.mec()[1] - vertices = region.polygon - stride = max(1, len(vertices) // self.config.bayes.mc_representatives) - radii = [] - delta = (self.config.field.bearing_error_half_deg - + self.config.search.bearing_rounding_margin_deg) - for target in vertices[::stride]: - theta = math.degrees(math.atan2(target[1]-point[1], target[0]-point[0])) - probe = CandidateRegion(list(vertices), region.slack_m) - probe.clip_wedge(point, theta, delta) - radii.append(probe.mec()[1] if probe.polygon else radius) - if sum(radii) / len(radii) > radius * self.config.bayes.opportunistic_radius_ratio: - continue - outcome = self.client.measure(point, channel) - self._record_measure(channel, point, outcome) - self._may_clear.add(channel) - self.opportunistic_measures += 1 - - # ------------------------------------------------------------ 任务构建 - def _station_pending(self, index: int) -> list[int]: - """站点待测频道:UNKNOWN、未测过、非"必 no_signal"且未证缺席。""" - point = self.ledger.points[index] - pending = [] - for channel, belief in self.belief.channels.items(): - if belief.status is not ChannelStatus.UNKNOWN: - continue - if self.ledger.measured_at(channel, index): - continue - if self._skip_station_channel(channel, index, point): - continue - pending.append(channel) - return pending - - def _fused_channels_at(self, index: int) -> list[int]: - """本站要测的频道 = 未发现(UNKNOWN) + 已发现但尚未定证(DETECTED)。 - - P0-1:把定位并入覆盖巡回。站点三角化可行性(方案 §1.3 F11): - 99.28% 的源位置有 (*@\ensuremath{\ge}@*)2 个站在 r_eff_max=1500m 内,最佳交会角中位 - 122.9°、5 分位 58.5°,因此"顺路取第二条方位线"对绝大多数源成立。 - 已有证书、已在同一 0.5m 测点测过、或该点必 no_signal 的频道跳过。 - - 实测结论(2026-09-12,`output/suite/q3-fuse-ab*`):本机制**不划算**。 - 七站环上通常只有 2–3 个站能对该源取得有效方位线,交会角也不足以 - 直接换到 20m 证书,专用信息增益探点仍然必要;仅在站点顺带测量等于 - 平白多花约 11 次检测(+0.8%),若同时抑制专用探点则 +45.6%(20/20 - 场景更慢)。默认关闭,保留代码以便复现与后续研究。 - """ - point = self.ledger.points[index] - channels = self._station_pending(index) - selected = set(channels) - if not self.config.bayes.fuse_localize_into_tour: - return channels - for channel in self.belief.channels_by_status(ChannelStatus.DETECTED): - if channel in selected or self.ledger.measured_at(channel, index): - continue - if _point_key(point) in self._measured_points.get(channel, set()): - continue - cert = self._best_certificate(channel) - if cert is not None and cert.certified: - continue # 已有证书:交给清除任务,不再多测 - if self._skip_station_channel(channel, index, point): - continue # 幸存集都在 1500m 外:该点必 no_signal - channels.append(channel) - selected.add(channel) - return channels - - def _skip_station_channel(self, channel: int, index: int, point: Vec2) -> bool: - """跳测规则(按 pf.version 缓存;幸存集单调收缩,判定单调)。""" - pf = self.particles[channel] - if not pf: - return True - cached = self._skip_cache.get((channel, index)) - if cached is not None and cached[0] == pf.version: - return cached[1] - value = pf.guaranteed_no_signal(point) - self._skip_cache[(channel, index)] = (pf.version, value) - return value - - def _build_tasks(self) -> list[Task]: - tasks: list[Task] = [] - for index, point in enumerate(self.ledger.points): - pending = self._fused_channels_at(index) - if not pending: - continue - switches = len(pending) - (1 if self.client.state.channel in pending else 0) - tasks.append(Task("station", tuple(point), - self.config.cost.measure_s * len(pending) - + self.config.cost.switch_s * max(switches, 0), - station_index=index, station_channels=tuple(pending))) - for channel in self.belief.channels_by_status(ChannelStatus.DETECTED): - cert = self._best_certificate(channel) - if cert is not None and cert.certified \ - and channel not in self._clear_failed: - tasks.append(Task("clear", cert.center, - self.config.cost.clear_success_s, - channel=channel)) - continue - if self._defer_to_station(channel): - continue # 下一条方位线可由"本就要去的站点"顺路提供 - point = self._select_point(channel) - if point is None: - continue - tasks.append(Task("locate", point, - self.config.cost.measure_s + self.config.cost.switch_s, - channel=channel)) - return tasks - - def _defer_to_station(self, channel: int) -> bool: - """该频道能否由"本就要去的站点"提供下一条方位线。 - - P0-1 的关键:仅仅在站点顺带测量是不够的(那只是多做一次检测), - 必须同时**抑制专用探点任务**,否则滚动排序仍会优先飞向更近的探点。 - 判据要求该站本来就有 UNKNOWN 频道待测(覆盖巡回必须去),因此不会 - 为了等一条方位线而制造新的绕行,也不会出现"无任务可做"的死锁: - 站点扫完后 ``_station_pending`` 为空,探点任务自然恢复。 - """ - if not self.config.bayes.fuse_localize_into_tour: - return False - for index, point in enumerate(self.ledger.points): - if not self._station_pending(index): - continue - if self.ledger.measured_at(channel, index): - continue - if _point_key(point) in self._measured_points.get(channel, set()): - continue - if self._skip_station_channel(channel, index, point): - continue - return True - return False - - # ------------------------------------------------------------ 任务排序 - def _order_tasks(self, tasks: list[Task]) -> list[Task]: - """开放路径排序:小任务表用精确 DP,否则最近邻 + 2-opt。 - - Held-Karp(S5/T1)把"已访问集合 × 结束时测向频道"并入状态,因此换频 - 代价是精确的,而不是 :meth:`_path_cost` 里"按频道排序"的贪心近似。 - """ - if len(tasks) <= 2: - ordered = sorted(tasks, key=lambda t: ( - move_time(self.client.state.position, t.position, self.config.cost), - t.kind, t.channel or 0)) - return min((ordered, ordered[::-1]), key=self._path_cost) - limit = self.config.bayes.exact_order_limit - if 0 < limit and len(tasks) <= limit: - exact = self._exact_order(tasks) - if exact is not None: - return exact - order = self._nearest_order(tasks) - if not self.config.bayes.two_opt_enabled: - return order - return self._two_opt(order) - - def _service_and_exit(self, task: Task, - channel: int) -> tuple[float, int]: - """任务在进入频道 ``channel`` 时的固有耗时与离开后的测向频道。""" - cost = self.config.cost - if task.kind == "locate": - return (cost.measure_s + (cost.switch_s if channel != task.channel else 0.0), - task.channel) - if task.kind == "station" and task.station_channels: - pending = sorted(task.station_channels, - key=lambda c: (c != channel, c)) - switches = len(pending) - (1 if channel in pending else 0) - return (cost.measure_s * len(pending) + cost.switch_s * switches, - pending[-1]) - return task.service_s, channel - - def _exact_order(self, tasks: list[Task]) -> list[Task] | None: - """Held-Karp 精确开放路径(起点固定、终点自由,含换频状态)。 - - 状态 ``(mask, c)`` = 已访问任务集 mask、离开最后一个任务后测向频道为 c; - 频道取值域只需 {当前频道} (*@\ensuremath{\cup}@*) {locate 频道} (*@\ensuremath{\cup}@*) {station 离开频道}。 - 规模 ``2^n·n·|C|``;n 超过 :attr:`BayesConfig.exact_order_limit` 时由 - 调用方回退启发式。返回 ``None`` 表示状态过大(防御性)。 - """ - n = len(tasks) - if n <= 1: - return list(tasks) - start = self.client.state.position - init = self.client.state.channel - channels = {init} - for task in tasks: - if task.kind == "locate": - channels.add(task.channel) - elif task.kind == "station" and task.station_channels: - # 离开频道 = 按"当前频道优先"排序后的最后一个:通常是最大值; - # 进入频道恰为最大值时退化为次大值,故两者都要进状态空间。 - ordered = sorted(task.station_channels) - channels.add(ordered[-1]) - if len(ordered) > 1: - channels.add(ordered[-2]) - channels = sorted(channels) - width = len(channels) - if width * (1 << n) * n > 4_000_000: - return None - index_of = {channel: i for i, channel in enumerate(channels)} - c_init = index_of[init] - service: list[list[float]] = [] - exits: list[list[int]] = [] - for task in tasks: - row_service, row_exit = [], [] - for channel in channels: - value, exit_channel = self._service_and_exit(task, channel) - row_service.append(value) - row_exit.append(index_of[exit_channel]) - service.append(row_service) - exits.append(row_exit) - move = [[move_time(tasks[i].position, tasks[j].position, self.config.cost) - for j in range(n)] for i in range(n)] - from_start = [move_time(start, task.position, self.config.cost) - for task in tasks] - inf = float("inf") - # dp[(mask, ci)] = 最小代价;parent[(mask, ci)] = (上一 mask, 上一 ci) - dp: dict[tuple[int, int], float] = {} - last_task: dict[tuple[int, int], int] = {} - parent: dict[tuple[int, int], tuple[int, int] | None] = {} - for k in range(n): - key = (1 << k, exits[k][c_init]) - value = from_start[k] + service[k][c_init] - if value < dp.get(key, inf): - dp[key] = value - last_task[key] = k - parent[key] = None - for mask in range(1, 1 << n): - for ci in range(width): - state = (mask, ci) - cost = dp.get(state) - if cost is None: - continue - for k in range(n): - if (mask >> k) & 1: - continue - nxt = (mask | (1 << k), exits[k][ci]) - value = cost + move[last_task[state]][k] + service[k][ci] - if value < dp.get(nxt, inf) - 1e-12: - dp[nxt] = value - last_task[nxt] = k - parent[nxt] = state - full = (1 << n) - 1 - best_key, best_cost = None, inf - for ci in range(width): - state = (full, ci) - if state in dp and dp[state] < best_cost: - best_key, best_cost = state, dp[state] - if best_key is None: - return None - order: list[Task] = [] - key: tuple[int, int] | None = best_key - while key is not None: - order.append(tasks[last_task[key]]) - key = parent[key] - order.reverse() - return order - - - - def _nearest_order(self, tasks: list[Task]) -> list[Task]: - remaining = list(tasks) - order = [] - position = self.client.state.position - while remaining: - best = min(remaining, key=lambda t: ( - move_time(position, t.position, self.config.cost), - t.kind, t.channel or 0)) - remaining.remove(best) - order.append(best) - position = best.position - return order - - def _path_cost(self, order: list[Task]) -> float: - total = 0.0 - position = self.client.state.position - channel = self.client.state.channel - for task in order: - total += move_time(position, task.position, self.config.cost) - if task.kind == "locate": - total += self.config.cost.measure_s - total += self.config.cost.switch_s * (channel != task.channel) - channel = task.channel - elif task.kind == "station" and task.station_channels: - pending = sorted( - task.station_channels, - key=lambda c, channel=channel: (c != channel, c)) - total += self.config.cost.measure_s * len(pending) - total += self.config.cost.switch_s * (len(pending) - (channel in pending)) - channel = pending[-1] - else: - total += task.service_s # 清除不改变测向频道 - position = task.position - return total - - def _two_opt(self, order: list[Task]) -> list[Task]: - best = list(order) - best_cost = self._path_cost(best) - for _ in range(self.config.bayes.two_opt_passes): - improved = False - for i in range(len(best) - 1): - for j in range(i + 1, len(best)): - candidate = best[:i] + best[i:j + 1][::-1] + best[j + 1:] - cost = self._path_cost(candidate) - if cost < best_cost - 1e-6: - best, best_cost, improved = candidate, cost, True - if not improved: - break - return best - - # ------------------------------------------------------------ 任务执行 - def _execute_task(self, task: Task) -> None: - if task.kind == "station": - self._execute_station(task.station_index) - elif task.kind == "clear": - cert = self._best_certificate(task.channel) - if cert is not None and cert.certified: - if not self._attempt_clear(task.channel, cert.center, cert): - self._clear_failed.add(task.channel) - self._may_clear.discard(task.channel) - else: - self._clear_failed.discard(task.channel) - elif task.kind == "locate": - self._execute_locate(task.channel, task.position) - - def _execute_station(self, index: int) -> None: - """单站批量扫频:只测待测频道(跳测规则已过滤),扫完即返回重排。 - - P0-1:本站同时测量"已发现未定证"频道,使第二/第三条方位线在巡回 - 途中顺路取得;证书一旦成立即就地清除,不额外绕行。 - """ - point = self.ledger.points[index] - pending = self._fused_channels_at(index) - unknown = [c for c, b in self.belief.channels.items() - if b.status is ChannelStatus.UNKNOWN] - self.skipped_measures += len(unknown) - len( - [c for c in pending if self.belief.channels[c].status - is ChannelStatus.UNKNOWN]) - # 当前频道优先,减少换频;同站 near 直接清除不打断扫频 - pending.sort(key=lambda c: (c != self.client.state.channel, c)) - for channel in pending: - if self.stop_reason is not None or self._count_limit_reached() \ - or self._virtual_cap_reached(): - return - detected_before = (self.belief.channels[channel].status - is ChannelStatus.DETECTED) - outcome = self.client.measure(point, channel) - self.ledger.mark_measured(channel, index) - self._record_measure(channel, point, outcome) - if outcome.result in (DIRECTION, NEAR): - self._may_clear.add(channel) - if outcome.result == NEAR: - region = self.belief.candidate_set(channel) - cert = clear_certificate(region, channel, self.config) - if cert.certified: - if self._attempt_clear(channel, point, cert): - self._clear_failed.discard(channel) - else: - self._clear_failed.add(channel) - self._may_clear.discard(channel) - else: - self._anomaly("near_without_certificate", channel, position=point) - continue - if not detected_before: - continue - if outcome.result == NO_SIGNAL: - # 该频道已被发现:保证接收盘内不可能 no_signal,属守恒性异常 - region = self.belief.candidate_set(channel) - safe = (safe_disk_radius(region, self.config) - if region is not None else -1.0) - if safe >= 0 and math.dist(point, region.mec()[0]) <= safe: - self._anomaly("no_signal_in_safe_disk", channel, - position=point) - continue - cert = self._best_certificate(channel) - if cert is not None and cert.certified: - if self._attempt_clear(channel, cert.center, cert): - self._clear_failed.discard(channel) - else: - self._clear_failed.add(channel) - self._may_clear.discard(channel) - - def _execute_locate(self, channel: int, point: Vec2) -> None: - """单步定位测量:执行后立即重排(滚动时域),收敛则顺路清除。""" - pf = self.particles[channel] - before = len(pf) - outcome = self.client.measure(point, channel) - self._record_measure(channel, point, outcome) - self._may_clear.add(channel) - if outcome.result == NO_SIGNAL: - region = self.belief.candidate_set(channel) - if region is not None and safe_disk_radius(region, self.config) >= 0 \ - and math.dist(point, region.mec()[0]) \ - <= safe_disk_radius(region, self.config): - self._anomaly("no_signal_in_safe_disk", channel, position=point) - after = len(pf) - cert = self._best_certificate(channel) - if cert is not None and cert.certified: - if self._attempt_clear(channel, cert.center, cert): - self._clear_failed.discard(channel) - self._stall.pop(channel, None) - return - self._clear_failed.add(channel) - self._may_clear.discard(channel) - if after == before: - self._stall[channel] = self._stall.get(channel, 0) + 1 - self.no_shrink_measures += 1 # 只是浪费不破坏守恒性,不进异常表 - else: - self._stall[channel] = 0 - - # ------------------------------------------------------------ 感知与证书 - def _record_measure(self, channel: int, position: Vec2, outcome) -> None: - """belief(凸证书)与 PF(幸存集)同步更新;PF 空即证缺席。""" - self.belief.update_measure(channel, position, outcome.result, - outcome.svd_deg) - # 同一 0.5m 测点 × 同一频道的重复检测:历史上一次官方演练有 98.84% - # 的虚拟时间耗在空复扫上,本计数是该问题的回归指标。 - key = _point_key(position) - seen = self._measured_points.setdefault(channel, set()) - if key in seen: - self.redundant_rescan_measures += 1 - seen.add(key) - self._clear_failed.discard(channel) # 新证据落地:允许再次尝试清除 - belief = self.belief.channels[channel] - if belief.status in (ChannelStatus.CLEARED, ChannelStatus.ABSENT): - return # 已证毕:清除/缺席后的 no_signal 与距离无关,不进 PF - pf = self.particles[channel] - pf.apply_measure(position, outcome.result, outcome.svd_deg) - if not pf: - if belief.status is ChannelStatus.UNKNOWN: - self.belief.mark_absent(channel) - self.absence_evidence[channel] = "pf_empty" - if channel not in self.pf_absent_channels: - self.pf_absent_channels.append(channel) - else: - self._anomaly("pf_empty_while_detected", channel, position=position) - self._apply_count_bound() - - def _apply_count_bound(self) -> None: - """存在证据达到题面源数上界时,其余 UNKNOWN 可由计数直接判缺席。 - - 依据 [题面]:每频道至多一个源、全局限定 10..16 个源。一旦 - DETECTED/CLEARED 的不同频道数达到 16,任何尚未出现有效信号的 - 频道都不可能是源,无须等 7 站覆盖账本跑完。该判定与位置无关, - 是严格的计数证明;evidence 与 coverage/pf_empty 分开留痕。 - """ - present = [channel for channel, belief in self.belief.channels.items() - if belief.status in (ChannelStatus.DETECTED, - ChannelStatus.CLEARED)] - if len(present) < self.config.field.source_count_max: - return - for channel, belief in self.belief.channels.items(): - if belief.status is ChannelStatus.UNKNOWN: - belief.status = ChannelStatus.ABSENT - self.absence_evidence[channel] = "count_bound" - - def _best_certificate(self, channel: int) -> ClearCertificate | None: - """凸证书优先;负观测挖洞使 PF 幸存集更紧时用网格证书补位。""" - region = self.belief.candidate_set(channel) - cert = clear_certificate(region, channel, self.config) \ - if region is not None else None - if cert is not None and cert.certified: - return self._near_clear_target(cert) - if self.config.bayes.grid_cert_enabled: - pf = self.particles[channel] - if len(pf): - center, radius = pf.mec() - limit = (self.config.field.clear_radius_m - pf.margin_m - - self.config.search.clear_margin_m) - if radius <= limit: - return self._near_clear_target( - ClearCertificate(channel, center, radius, limit, True)) - return cert - - def _near_clear_target(self, cert: ClearCertificate) -> ClearCertificate: - """沿当前来向利用20m清除容差;三角不等式保留整集覆盖证明。""" - position = self.client.state.position - distance = math.dist(position, cert.center) - shift = min(distance, max(0.0, cert.limit_m - cert.radius_m - 1e-6)) - if distance <= 1e-9 or shift <= 0: - return cert - target = tuple(c + (p-c)*shift/distance for p, c in zip(position, cert.center)) - return ClearCertificate(cert.channel, target, cert.radius_m+shift, cert.limit_m, True) - - # ------------------------------------------------------------ 信息增益选点 - def _probe_context(self, channel: int): - """构造某频道下一次定位测量的候选集与信息增益评分函数。 - - 返回 ``(candidates, info_score, mec_center, current_position)``; - 候选为空返回 ``None``。``_select_point`` 与路线感知精修共用此逻辑, - 保证两者只差“移动代价如何折算”。 - """ - bayes, search = self.config.bayes, self.config.search - pf = self.particles[channel] - if not pf: - return None - region = self.belief.candidate_set(channel) - center, radius = pf.mec() - measured = self._measured_points.get(channel, set()) - position = self.client.state.position - candidates: list[Vec2] = [] - safe = safe_disk_radius(region, self.config) if region is not None else -1.0 - if region is not None and safe >= 0: - # 保证接收盘(凸证书口径):任意候选必产生 direction/near - candidates = candidate_points(tuple(region.mec()[0]), safe, - search.candidate_rings, - search.candidate_angles) - # 以实际来向生成对称交会候选,避免固定全局角度网格的旋转偏差。 - geometric_center = region.mec()[0] - base_angle = math.atan2(position[1] - geometric_center[1], - position[0] - geometric_center[0]) - for fraction in search.candidate_rings: - if fraction <= 0: - continue - for offset in (-math.pi/3, -math.pi/6, 0, math.pi/6, math.pi/3): - angle = base_angle + offset - candidates.append((geometric_center[0] + safe * fraction * math.cos(angle), - geometric_center[1] + safe * fraction * math.sin(angle))) - # 已停靠位置若本身在安全接收盘内,是零移动的合法测点;显式加入 - # 可避免为了固定角度环而白白横移。 - if math.dist(position, geometric_center) <= safe + 1e-9: - candidates.append(tuple(position)) - else: - # 宽候选集:PF MEC 探索环(负观测挖洞后幸存集的包围圆) - for fraction in bayes.wide_rings: - ring = max(radius * fraction, 2.0 * pf.margin_m) - candidates.extend(candidate_points(center, ring, (1.0,), - search.candidate_angles)) - candidates.append(tuple(center)) - candidates.append(tuple(position)) - candidates = [tuple(c) for c in candidates - if _point_key(c) not in measured] - if not candidates: - return None - # 采样一次转成数组(numpy 可用时),使候选评分走向量路径; - # numpy 缺失时 as_sample_array 原样返回列表,语义不变。 - subsample = as_sample_array(pf.subsample(bayes.score_subsample)) - stride = max(len(subsample) // bayes.mc_representatives, 1) - representatives = subsample[::stride] - - def info_score(q: Vec2) -> float: - if bayes.score_mode == "entropy": - return pf.expected_survival(q, subsample, representatives) - return pf.expected_posterior_radius(q, subsample, representatives) - - return candidates, info_score, center, position - - def _select_point(self, channel: int) -> Vec2 | None: - """定位测量点:期望 log 幸存占比 + (*@\ensuremath{\lambda}@*)·移动时间 最小的候选。""" - context = self._probe_context(channel) - if context is None: - return None - candidates, info_score, center, position = context - bayes = self.config.bayes - - def score(q: Vec2) -> float: - # 一次定位后仍需接近源才能清除;仅计到检测点的移动会偏好绕行。 - move = bayes.lambda_move_s * (move_time(position, q, self.config.cost) - + move_time(q, center, self.config.cost)) - return info_score(q) + move - - return min(candidates, key=lambda q: (score(q), _point_key(q))) - - def _refine_locate_tasks(self, tasks: list[Task]) -> list[Task]: - """路线感知精修定位任务点(P2,2026-09-12)。 - - 旧评分只比较 ``current->q + q->MEC``,是局部代理;滚动 2-opt 的真实 - 代价还包含 ``q->next_task``。这里对每个 locate 任务在候选点上计算 - “替换该任务后整条当前路线代价的增量”,再与信息增益、MEC 接近项合并 - 选点。只改变选点启发式,不改变覆盖/清除证明。 - """ - bayes = self.config.bayes - if not bayes.route_aware_probe: - return tasks - locate_indices = [index for index, task in enumerate(tasks) - if task.kind == "locate"] - if not locate_indices: - return tasks - base_order = self._order_tasks(tasks) - base_cost = self._path_cost(base_order) - refined = list(tasks) - for task_index in locate_indices: - task = tasks[task_index] - context = self._probe_context(task.channel) - if context is None: - continue - candidates, info_score, center, position = context - try: - order_index = next(index for index, item in enumerate(base_order) - if item is task) - except StopIteration: # pragma: no cover - 同对象应始终存在 - order_index = next(index for index, item in enumerate(base_order) - if item.kind == "locate" - and item.channel == task.channel) - best_score: float | None = None - best_point: Vec2 | None = None - for point in candidates: - trial_order = list(base_order) - trial_order[order_index] = Task( - "locate", tuple(point), task.service_s, channel=task.channel) - route_delta = self._path_cost(trial_order) - base_cost - move_proxy = bayes.lambda_move_s * ( - move_time(position, point, self.config.cost) - + move_time(point, center, self.config.cost)) - clear_near = move_time(point, center, self.config.cost) - value = (info_score(point) - + move_proxy - + bayes.route_aware_insert_weight * route_delta - + bayes.route_aware_clear_weight * clear_near) - if best_score is None or value < best_score: - best_score, best_point = value, tuple(point) - if best_point is not None: - refined[task_index] = Task( - "locate", best_point, task.service_s, channel=task.channel) - return refined - - # ------------------------------------------------------------ 安全网与复扫 - def _localize_and_clear(self, channel: int) -> bool: - """阻塞式定位子循环(resolve 阶段安全网):PF 选点,失败退凸选点。""" - search = self.config.search - self._may_clear.add(channel) - for _ in range(search.max_localize_steps): - if self._virtual_cap_reached(): - return False - cert = self._best_certificate(channel) - if cert is not None and cert.certified and channel in self._may_clear: - if self._attempt_clear(channel, cert.center, cert): - self._clear_failed.discard(channel) - return True - self._clear_failed.add(channel) - self._may_clear.discard(channel) - continue - point = self._select_point(channel) - if point is None: - region = self.belief.candidate_set(channel) - if region is None: - return False - point = select_measurement_point( - region, self.client.state.position, self.config).position - outcome = self.client.measure(point, channel) - self._record_measure(channel, point, outcome) - self._may_clear.add(channel) - if outcome.result == NO_SIGNAL: - region = self.belief.candidate_set(channel) - if region is not None and safe_disk_radius(region, self.config) >= 0 \ - and math.dist(point, region.mec()[0]) \ - <= safe_disk_radius(region, self.config): - self._anomaly("no_signal_in_safe_disk", channel, position=point) - cert = self._best_certificate(channel) - if cert is not None and cert.certified: - if self._attempt_clear(channel, cert.center, cert): - self._clear_failed.discard(channel) - return True - self._clear_failed.add(channel) - self._may_clear.discard(channel) - return self.belief.channels[channel].status is ChannelStatus.CLEARED - - def _persistent_round(self) -> None: - """一轮复扫:与基线一致的全站复测,但读数同步进 PF(防假设偏差)。""" - measured: set[tuple[int, int]] = set() - while self.stop_reason is None: - index = self._next_resweep_point(measured) - if index is None: - return - point = self.ledger.points[index] - for channel in self._resweep_channels_at(index, measured): - if self._virtual_cap_reached(): - return - measured.add((channel, index)) - was_absent = (self.belief.channels[channel].status - is ChannelStatus.ABSENT) - outcome = self.client.measure(point, channel) - self._record_measure(channel, point, outcome) - if was_absent and outcome.result in (DIRECTION, NEAR): - # 复测推翻了缺席证明:守恒性留痕,按新证据定位清除。 - self._anomaly("absent_detected_on_resweep", channel, - position=point, result=outcome.result) - if outcome.result == DIRECTION: - self._localize_and_clear(channel) - elif outcome.result == NEAR: - cert = self._best_certificate(channel) - if cert is not None and cert.certified: - if not self._attempt_clear(channel, cert.center, cert): - self._clear_failed.add(channel) - else: - self._anomaly("near_without_certificate", channel, - position=point) - if self.stop_reason is not None: - return - - # ------------------------------------------------------------ 收尾 - def _summary(self, info) -> dict: - report = super()._summary(info) - report["strategy"] = "bayes" - report["opportunistic_measures"] = self.opportunistic_measures - report["skipped_measures"] = self.skipped_measures - report["no_shrink_measures"] = self.no_shrink_measures - report["pf_absent_channels"] = sorted(self.pf_absent_channels) - report["pf_alive_final"] = { - str(channel): len(self.particles[channel]) - for channel in sorted(self.particles) - if self.belief.channels[channel].status is ChannelStatus.DETECTED} - return report diff --git a/docs/paper/data/listing-source/src/mcm26b/planner/seven.py.tex b/docs/paper/data/listing-source/src/mcm26b/planner/seven.py.tex deleted file mode 100644 index 2bd2803..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/planner/seven.py.tex +++ /dev/null @@ -1,113 +0,0 @@ -"""P4 七点覆盖策略族:解析证明的六边形发现站 + 同站批量扫频。 - -从 scripts/benchmark_q3_search.py 提升为库代码(A2 基线,官方演练 -12/12 全清、虚拟 5232s)。覆盖几何:原点 + 半径 RING_RADIUS_M 环上 -6 等分点;域半径R、环半径r时,最近站距离的解析 -上界 max(r/√3, sqrt(R²+r²−√3Rr)) < 1000m [题面 -r_eff 下界],故任意合法源必被至少一站检出——缺席证明只需该频道 -7 站全 no_signal(CoverageLedger.coverage_complete)。 - -调度变体: -- SevenImmediate:站内即时进入定位子循环(A1); -- SevenBatch:站内只扫频,扫完按"距候选集 MEC 圆心最近"服务队列(A2); -- SevenSweep:全域扫完再统一服务(A3)。 -""" - -from __future__ import annotations - -import math - -from ..belief import ChannelStatus -from ..config import ProblemConfig -from ..coverage import CoverageLedger -from ..guarantee import seven_plan -from ..protocol.rules import NEAR -from . import OmnidirectionalLoop, clear_certificate - -RING_RADIUS_M = 1200.0 # [工程] 解析证明见 docs/algo-3.md §5 与 geometry_check - - -def seven_points(ring_radius_m: float = RING_RADIUS_M) -> list[tuple[float, float]]: - """原点 + 环上 6 等分点的七站覆盖集。""" - return [(0.0, 0.0)] + [(ring_radius_m * math.cos(k * math.pi / 3), - ring_radius_m * math.sin(k * math.pi / 3)) for k in range(6)] - - -def validate_seven_coverage(ring_radius_m: float, config: ProblemConfig) -> float: - """六个60°扇区内的最近站最远距离上界;仅证明全向源覆盖。 - - 原点/环站Voronoi交点给出r/√3,目标圆边界的扇区接缝给出另一项。 - 环半径满足0 config.field.r_eff_min_m - 1e-6: - raise ValueError("七站未覆盖整个目标域,不能据此证明频道缺席") - return bound - - -class SevenImmediate(OmnidirectionalLoop): - """七点覆盖 + 站内即时定位(基类覆盖阶段逻辑不变,仅换站集)。""" - - def __init__(self, client, config: ProblemConfig = ProblemConfig(), - ring_radius_m: float = RING_RADIUS_M): - super().__init__(client, config) - validate_seven_coverage(ring_radius_m, config) - self.coverage_plan = seven_plan(ring_radius_m) - self.ledger = CoverageLedger(config=config, - points=list(self.coverage_plan.points)) - - -class SevenBatch(SevenImmediate): - """站内只扫频,扫完按最近候选集圆心顺序服务检测队列(A2 主策略)。""" - - defer_all = False - - def _serve_queue(self): - # Each detected channel gets at most one localization call in this pass. - queue = self.belief.channels_by_status(ChannelStatus.DETECTED) - while queue: - c = min(queue, key=lambda c: (math.dist(self.client.state.position, - self.belief.candidate_set(c).mec()[0]), c)) - queue.remove(c) - self._localize_and_clear(c) - if self._count_limit_reached(): - break - - def _coverage_phase(self): - while not self._count_limit_reached(): - index = self._next_point_index() - if index is None: - return - point = self.ledger.points[index] - pending = self._pending_channels_at(index) - # Keeping the current measuring channel first saves a switch when possible. - pending.sort(key=lambda c: (c != self.client.state.channel, c)) - for c in pending: - outcome = self.client.measure(point, c) - self.ledger.mark_measured(c, index) - self.belief.update_measure(c, point, outcome.result, outcome.svd_deg) - if outcome.result == NEAR: - cert = clear_certificate(self.belief.candidate_set(c), c, self.config) - # Same-station near clear; do not displace the station scan. - if cert.certified: - self._attempt_clear(c, point, cert) - if self._count_limit_reached(): - return - if not self.defer_all: - self._serve_queue() - - def _resolve_detected(self): - self._serve_queue() - unresolved = [c for c, b in self.belief.channels.items() - if b.status not in (ChannelStatus.CLEARED, ChannelStatus.ABSENT)] - return "all_resolved" if not unresolved else "unresolved_channels" - - -class SevenSweep(SevenBatch): - """Finish discovery at all necessary stations before servicing the queue.""" - - defer_all = True diff --git a/docs/paper/data/listing-source/src/mcm26b/protocol/__init__.py.tex b/docs/paper/data/listing-source/src/mcm26b/protocol/__init__.py.tex deleted file mode 100644 index 85bfdf2..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/protocol/__init__.py.tex +++ /dev/null @@ -1,15 +0,0 @@ -"""P0/P1 协议层:字段表、规则表、计时模型、状态机与客户端。""" - -from .client import (ActionRejected, ClearOutcome, DeadlineExceeded, - ExitInfo, MeasureOutcome, ProtocolError, - ProtocolViolation, SimulatorClient) -from .log import SessionLog -from .state import RobotState, StateError -from .timing import CostBreakdown, clear_cost, measure_cost, move_time -from .transport import RequestsTransport, Transport, TransportError, TransportResponse - -__all__ = ["ActionRejected", "ClearOutcome", "CostBreakdown", "DeadlineExceeded", - "ExitInfo", "MeasureOutcome", "ProtocolError", "ProtocolViolation", - "RequestsTransport", "RobotState", "SessionLog", "SimulatorClient", - "StateError", "Transport", "TransportError", "TransportResponse", - "clear_cost", "measure_cost", "move_time"] diff --git a/docs/paper/data/listing-source/src/mcm26b/protocol/client.py.tex b/docs/paper/data/listing-source/src/mcm26b/protocol/client.py.tex deleted file mode 100644 index 373f87a..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/protocol/client.py.tex +++ /dev/null @@ -1,333 +0,0 @@ -"""P1 协议基线:串行、幂等、带现实预算的模拟器客户端。 - -协议硬规则 [题面] 与实现对应: -- 每个新动作使用新的 request_id;仅在网络失败后重试"完全相同的动作"时, - 复用原 request_id 与原请求体 —— 本类通过一次性序列化出 bytes 并原样重发保证; -- 必须同时检查 HTTP 状态与 accepted;accepted=false 不更新状态, - 其 virtual_time_s=0 不当作当前虚拟时刻; -- 逐次等待响应、不得并发;本类完全同步,一个动作未决不发起下一个; -- 现实截止用 /enter 响应的 remaining_real_duration_s 建立本地单调时钟, - 预留退出余量;/exit 不做预算拦截。 -""" - -from __future__ import annotations - -import json -import math -import uuid -from dataclasses import dataclass -from time import monotonic, sleep - -from ..config import ProblemConfig, Vec2 -from .log import SessionLog -from .rules import (CLEAR_RESULTS, DIRECTION, EXIT_USER, MEASURE_RESULTS, - POSITION_FIELDS, STATUS_OK, STATUS_RETRYABLE) -from .state import RobotState -from .timing import CostBreakdown -from .transport import RequestsTransport, Transport, TransportError - - -class ProtocolError(RuntimeError): - """协议层失败,含 HTTP 状态与响应体;默认不重试(确定性错误)。""" - - def __init__(self, message: str, status: int | None = None, body=None): - super().__init__(message) - self.status = status - self.body = body - - -class ActionRejected(ProtocolError): - """HTTP 200 但 accepted=false:动作未生效,状态不得更新。""" - - def __init__(self, message: str, body=None): - super().__init__(message, status=STATUS_OK, body=body) - - -class ProtocolViolation(ProtocolError): - """响应与协议约定不符(字段缺失、值非法、虚拟时刻回退等)。""" - - -class DeadlineExceeded(RuntimeError): - """现实预算不足:预留退出余量后剩余时间不够执行新动作。""" - - -@dataclass(frozen=True) -class MeasureOutcome: - result: str - svd_deg: float | None - virtual_time_s: float - predicted: CostBreakdown - raw: dict - - -@dataclass(frozen=True) -class ClearOutcome: - result: str - virtual_time_s: float - predicted: CostBreakdown - raw: dict - - -@dataclass(frozen=True) -class ExitInfo: - reason: str - virtual_time_s: float - raw: dict - - -def _validate_identifier(name: str, value: str, max_bytes: int) -> None: - if not isinstance(value, str) or not value: - raise ValueError(f"{name} 必须是非空字符串") - encoded = value.encode("utf-8") - if not 1 <= len(encoded) <= max_bytes: - raise ValueError(f"{name} 的 UTF-8 长度须在 1..{max_bytes} 字节") - if any(code < 0x20 or code == 0x7F for code in encoded): - raise ValueError(f"{name} 不能包含控制字符") - - -def _validate_position(position: dict, limit: float) -> None: - if set(position) != set(POSITION_FIELDS): - raise ValueError("position 字段必须是且只能是 x、y") - for key in ("x", "y"): - value = position[key] - if isinstance(value, bool) or not isinstance(value, (int, float)): - raise ValueError(f"position.{key} 必须是数值") - if not math.isfinite(value): - raise ValueError(f"position.{key} 必须是有限数值") - if abs(value) > limit: - raise ValueError(f"position.{key} 绝对值不得超过 {limit} 米") - - -def _validate_channel(channel) -> int: - # 写成 JSON number 1.0 且恰为整数也接受 [题面];1.5 拒绝。 - if isinstance(channel, bool) or not isinstance(channel, (int, float)): - raise ValueError("channel 必须是数值") - if isinstance(channel, float) and not channel.is_integer(): - raise ValueError("channel 必须是整数") - channel = int(channel) - if not 1 <= channel <= 20: - raise ValueError("channel 必须在 1..20 范围内") - return channel - - -class SimulatorClient: - """四条指令的同步客户端。状态只在 accepted=true 后推进。""" - - def __init__(self, robot_id: str, *, - config: ProblemConfig = ProblemConfig(), - transport: Transport | None = None, - log: SessionLog | None = None, - clock=monotonic): - _validate_identifier("robot_id", robot_id, config.session.robot_id_max_bytes) - self.robot_id = robot_id - self.config = config - self.session = config.session - self.transport = transport if transport is not None else RequestsTransport() - self.log = log if log is not None else SessionLog() - self.clock = clock - self.state = RobotState() - self._prefix = uuid.uuid4().hex[:12] - self._seq = 0 - self._deadline: float | None = None # 本地单调时钟截止 - self._server_deadline_ms: float | None = None # 服务器时间戳交叉核对 - self._enter_monotonic: float | None = None # 实机计时起点(/enter 成功) - - # ------------------------------------------------------------ 公共动作 API - def enter(self) -> dict: - started = self.clock() - payload = self._payload("/enter") - response = self._call("/enter", payload) - self.state.apply_enter(response) - remaining = response["remaining_real_duration_s"] - if not isinstance(remaining, (int, float)) or remaining < 0: - raise ProtocolViolation("remaining_real_duration_s 缺失或非法", body=response) - self._deadline = self.clock() + remaining - self._server_deadline_ms = (response["real_timestamp_ms"] - + remaining * 1000.0) - self._enter_monotonic = self.clock() - self._log_step("/enter", payload, response, started, - predicted=CostBreakdown(0.0, 0.0, 0.0)) - return response - - def measure(self, position: Vec2, channel: int) -> MeasureOutcome: - started = self.clock() - payload = self._payload("/measure", position=position, channel=channel) - response = self._call("/measure", payload) - predicted = self.state.apply_measure(payload, response, - cost=self.config.cost) - result = response.get("measure_result") - if result not in MEASURE_RESULTS: - raise ProtocolViolation(f"measure_result 非法: {result!r}", body=response) - svd = response.get("svd_deg") - if result == DIRECTION: - if not isinstance(svd, (int, float)) or isinstance(svd, bool): - raise ProtocolViolation("direction 响应缺少数值 svd_deg", body=response) - self._log_step("/measure", payload, response, started, result=result, - predicted=predicted, channel=payload["channel"]) - return MeasureOutcome(result, float(svd) if svd is not None else None, - response["virtual_time_s"], predicted, response) - - def clear(self, position: Vec2, channel: int) -> ClearOutcome: - started = self.clock() - payload = self._payload("/clear", position=position, channel=channel) - response = self._call("/clear", payload) - predicted = self.state.apply_clear(payload, response, - cost=self.config.cost) - result = response.get("clear_result") - if result not in CLEAR_RESULTS: - raise ProtocolViolation(f"clear_result 非法: {result!r}", body=response) - self._log_step("/clear", payload, response, started, result=result, - predicted=predicted, channel=payload["channel"]) - return ClearOutcome(result, response["virtual_time_s"], predicted, response) - - def exit(self) -> ExitInfo: - started = self.clock() - payload = self._payload("/exit") - response = self._call("/exit", payload) - self.state.apply_exit(response) - reason = response.get("exit_reason") - if reason != EXIT_USER: - raise ProtocolViolation(f"exit_reason 非法: {reason!r}", body=response) - self._log_step("/exit", payload, response, started, - predicted=CostBreakdown(0.0, 0.0, 0.0)) - return ExitInfo(reason, response["virtual_time_s"], response) - - # ---------------------------------------------------------------- 预算控制 - @property - def real_remaining_s(self) -> float | None: - """按本地单调时钟估计的剩余现实秒数(未 enter 时为 None)。""" - return None if self._deadline is None else self._deadline - self.clock() - - def _log_step(self, path: str, payload: dict, response: dict, - started: float, *, result: str | None = None, - predicted: CostBreakdown, channel: int | None = None) -> None: - """每步计时留档 [用户决策 2026-09-11]:实机墙钟耗时 + 比赛虚拟耗时分项 - (移动=直线距离/5、切频道 1s、检测 5s、清除成功 5s/未发现 3s)。 - - step 事件不含 response 字段,不会混入 action_events / 虚拟时刻复算。 - """ - now = self.clock() - entry: dict = {"event": "step", "path": path, - "request_id": payload["request_id"], - "real_elapsed_s": round(now - started, 6), - "virtual_time_s": response["virtual_time_s"], - "virtual_cost": {"move_s": round(predicted.move_s, 6), - "switch_s": round(predicted.switch_s, 6), - "action_s": round(predicted.action_s, 6), - "total_s": round(predicted.total_s, 6)}} - if self._enter_monotonic is not None: - entry["real_since_enter_s"] = round(now - self._enter_monotonic, 6) - if "position" in payload: - entry["position"] = {"x": payload["position"]["x"], - "y": payload["position"]["y"]} - if channel is not None: - entry["channel"] = channel - if result is not None: - entry["result"] = result - self.log.append(entry) - - def _check_budget(self, path: str) -> None: - if path == "/exit" or self._deadline is None: - return - margin = self.session.reserve_exit_s - if self.real_remaining_s <= margin: - raise DeadlineExceeded( - f"剩余现实时间 {self.real_remaining_s:.1f}s 不足以预留 {margin:.1f}s 退出余量") - - # ---------------------------------------------------------------- 内部机制 - def _payload(self, _path: str, *, position: Vec2 | None = None, - channel: int | None = None) -> dict: - payload = {"arena_id": self.session.arena_id, - "robot_id": self.robot_id, - "request_id": self._next_request_id()} - if position is not None: - x, y = float(position[0]), float(position[1]) - _validate_position({"x": x, "y": y}, self.config.field.coord_abs_limit_m) - payload["position"] = {"x": x, "y": y} - if channel is not None: - payload["channel"] = _validate_channel(channel) - return payload - - def _next_request_id(self) -> str: - self._seq += 1 - request_id = f"{self._prefix}-{self._seq:04d}" - _validate_identifier("request_id", request_id, - self.session.request_id_max_bytes) - return request_id - - def _call(self, path: str, payload: dict) -> dict: - """串行执行一个动作;网络失败原样重发,HTTP 确定性错误立即抛出。""" - self._check_budget(path) - body = json.dumps(payload, ensure_ascii=False, allow_nan=False).encode("utf-8") - if len(body) > self.session.request_body_max_bytes: - raise ValueError("请求体超过 65536 字节") - headers = {"Content-Type": "application/json"} - url = self.session.base_url + path - attempts, last_error = 0, None - while attempts < self.session.max_attempts: - attempts += 1 - started = self.clock() - self.log.append({"event": "attempt", "path": path, - "request_id": payload["request_id"], - "attempt": attempts, "request": payload}) - try: - result = self.transport.post( - url, body, headers, - timeout=(self.session.connect_timeout_s, - self.session.read_timeout_s)) - except TransportError as exc: - last_error = exc - self.log.append({"event": "transport_error", "path": path, - "request_id": payload["request_id"], - "attempt": attempts, "error": str(exc), - "elapsed_s": self.clock() - started}) - if attempts < self.session.max_attempts: - sleep(self.session.retry_backoff_s * (2 ** (attempts - 1))) - continue - if result.status in STATUS_RETRYABLE: - self.log.append({"event": "retryable_status", "path": path, - "request_id": payload["request_id"], - "attempt": attempts, "status": result.status}) - if attempts < self.session.max_attempts: - sleep(self.session.retry_backoff_s * (2 ** (attempts - 1))) - continue - if result.status != STATUS_OK: - raise ProtocolError( - f"{path} 返回 HTTP {result.status}", status=result.status, - body=self._safe_json(result.body)) - response = self._safe_json(result.body) - if response is None or response.get("accepted") is not True: - raise ActionRejected( - f"{path} 未被接受: {response}", body=response) - self._verify_clock(response) - self.log.append({"event": "accepted", "path": path, - "request_id": payload["request_id"], - "request": payload, "response": response, - "attempts": attempts, - "elapsed_s": self.clock() - started}) - return response - raise TransportError( - f"{path} 重试 {attempts} 次仍失败: {last_error}") from last_error - - def _verify_clock(self, response: dict) -> None: - """accepted=true 的虚拟时刻必须单调不减;现实时间戳用于漂移核对。""" - virtual = response.get("virtual_time_s") - if not isinstance(virtual, (int, float)) or isinstance(virtual, bool): - raise ProtocolViolation("accepted 响应缺少 virtual_time_s", body=response) - if virtual < self.state.virtual_time_s - 1e-9: - raise ProtocolViolation( - f"虚拟时刻回退: {self.state.virtual_time_s} -> {virtual}", - body=response) - if self._server_deadline_ms is not None: - drift = (self._server_deadline_ms - response["real_timestamp_ms"]) / 1000.0 - if drift < self.session.reserve_exit_s / 2: - # 服务器视角余量告急(本地时钟漂移或请求排队);仅记录,交由上层决策。 - self.log.append({"event": "server_time_warning", - "server_remaining_s": drift}) - - @staticmethod - def _safe_json(body: bytes): - try: - return json.loads(body.decode("utf-8")) - except (UnicodeDecodeError, json.JSONDecodeError): - return None diff --git a/docs/paper/data/listing-source/src/mcm26b/protocol/log.py.tex b/docs/paper/data/listing-source/src/mcm26b/protocol/log.py.tex deleted file mode 100644 index a35109b..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/protocol/log.py.tex +++ /dev/null @@ -1,38 +0,0 @@ -"""会话日志:机器狗程序必须自行记录指令序列与响应 [题面] 附件2 12节。 - -事件逐条追加写入 JSONL,进程崩溃时已完成的动作不丢; -内存中的 events 同时供回放测试与 evaluation 复算使用。 -""" - -from __future__ import annotations - -import json -from dataclasses import dataclass, field -from pathlib import Path -from time import time - - -@dataclass -class SessionLog: - path: Path | None = None - events: list = field(default_factory=list) - - def __post_init__(self): - if self.path is not None: - self.path.parent.mkdir(parents=True, exist_ok=True) - - def append(self, event: dict) -> None: - event = {**event, "logged_at_unix_s": time()} - self.events.append(event) - if self.path is not None: - with self.path.open("a", encoding="utf-8") as handle: - handle.write(json.dumps(event, ensure_ascii=False, allow_nan=False) + "\n") - - def action_events(self) -> list[dict]: - """仅最终被接受的动作事件(每个 request_id 一条,含重试次数)。""" - return [event for event in self.events if event.get("response") is not None - and event["response"].get("accepted") is True] - - def step_events(self) -> list[dict]: - """每步计时事件(客户端 _log_step 写入,按发生顺序)。""" - return [event for event in self.events if event.get("event") == "step"] diff --git a/docs/paper/data/listing-source/src/mcm26b/protocol/rules.py.tex b/docs/paper/data/listing-source/src/mcm26b/protocol/rules.py.tex deleted file mode 100644 index 8e89aea..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/protocol/rules.py.tex +++ /dev/null @@ -1,94 +0,0 @@ -"""P0 规则固定:四条指令的字段表、结果码与错误语义,全部落成可执行数据。 - -依据 issue/附件/附件2.docx《模拟器通信接口说明及编程指南》第 5-9 节。 -客户端用它构造与预校验请求,自建模拟器用它校验并拒绝未知字段; -表格本身即交付物"字段表/规则表",人类可读版本见 docs/协议规则与状态机.md。 -""" - -from __future__ import annotations - -from dataclasses import dataclass - -# ---- 结果码 [题面] ---------------------------------------------------------- - -NO_SIGNAL = "no_signal" # 收不到信号:无未清除源 / 超接收半径 / 定向覆盖角外 -NEAR = "near" # 距离 <=5m 且在覆盖角内;不返回 svd_deg -DIRECTION = "direction" # 有信号;附 svd_deg(含 ±1° 误差,保留两位小数) -MEASURE_RESULTS = (NO_SIGNAL, NEAR, DIRECTION) - -CLEAR_SUCCESS = "success" # 20m 内发现并清除;耗时 5s -CLEAR_NO_TARGET = "no_target_in_range" # 未发现(无源/已清除/超20m);耗时 3s -CLEAR_RESULTS = (CLEAR_SUCCESS, CLEAR_NO_TARGET) - -EXIT_USER = "user_exit" # /exit 成功响应中的固定退出原因 - -# accepted=false 的响应只含这 3 个字段;virtual_time_s 恒为 0,不是当前时刻 [题面] -BASE_RESPONSE_FIELDS = ("accepted", "real_timestamp_ms", "virtual_time_s") - - -# ---- 请求字段表 -------------------------------------------------------------- - - -@dataclass(frozen=True) -class FieldSpec: - """单个请求字段的约束。[题面] 附件2 5.1 节与各指令小节。""" - - kind: type # str / dict;数值字段由 sim 按整型/浮点细则单独校验 - required: bool = True - max_bytes: int | None = None # 字符串字段的 UTF-8 长度上限 - - -COMMON_FIELDS: dict[str, FieldSpec] = { - "arena_id": FieldSpec(str), # 必须为 "default" - "robot_id": FieldSpec(str, max_bytes=64), # 逐字节等于登录参赛队号 - "request_id": FieldSpec(str, max_bytes=128), # 会话内幂等键,新动作用新 ID -} - -POSITION_FIELDS: dict[str, FieldSpec] = { - "x": FieldSpec(float), # 有限 JSON number,|x| <= 2_000_000 - "y": FieldSpec(float), -} - -# 路径 -> 除公共字段外的动作字段;/enter 与 /exit 无附加字段 -ACTION_FIELDS: dict[str, dict[str, FieldSpec]] = { - "/enter": {}, - "/measure": {"position": FieldSpec(dict), "channel": FieldSpec(float)}, - "/clear": {"position": FieldSpec(dict), "channel": FieldSpec(float)}, - "/exit": {}, -} -ACTION_PATHS = tuple(ACTION_FIELDS) - -# channel 写成 JSON number 1.0 且恰为整数也接受;1.5 返回 HTTP 400 [题面] - - -# ---- 响应字段表(accepted=true 时的附加字段) -------------------------------- - -RESPONSE_FIELDS: dict[str, tuple[str, ...]] = { - "/enter": ("max_virtual_duration_s", "max_real_duration_s", "remaining_real_duration_s"), - "/measure": ("measure_result",), # direction 时另有 svd_deg - "/clear": ("clear_result",), - "/exit": ("exit_reason",), -} - - -# ---- 错误语义 [题面] 附件2 5.3 节 -------------------------------------------- - -STATUS_OK = 200 -STATUS_BAD_REQUEST = 400 # JSON 语法/重复键/缺字段/类型/频道或坐标范围 -STATUS_CONFLICT = 409 # 同 request_id 对应不同动作,或并发不同动作 -STATUS_RETRYABLE = (429, 500) # 流量保护/幂等记录上限、服务器内部错误:可原样重试 - - -def http_status_meaning(status: int) -> str: - table = { - 200: "动作已执行,或 JSON 合法但被业务拒绝(看 accepted)", - 400: "请求结构错误;不占用 request_id,修正后可复用该 ID", - 404: "路径未知或不精确(不接受尾随斜线与查询参数)", - 405: "已知路径使用了非 POST 方法", - 409: "request_id 幂等冲突或并发发送不同动作", - 413: "请求体超过 65536 字节", - 415: "Content-Type 或 Content-Encoding 不受支持", - 429: "连接/流量保护触发,或本局幂等记录达到上限", - 500: "模拟器内部错误", - } - return table.get(status, "未知状态码") diff --git a/docs/paper/data/listing-source/src/mcm26b/protocol/state.py.tex b/docs/paper/data/listing-source/src/mcm26b/protocol/state.py.tex deleted file mode 100644 index 7788266..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/protocol/state.py.tex +++ /dev/null @@ -1,97 +0,0 @@ -"""P0/P1 机器狗本地状态机:位置、测向频道、虚拟时刻与进出状态。 - -更新规则 [题面]: -- 只有 accepted=true 的响应才允许调用 apply_*;accepted=false 一律不更新, - 其 virtual_time_s=0 不是当前虚拟时刻; -- 虚拟时刻以最近一次 accepted=true 的响应为准,本地预测值仅作一致性核对; -- /clear 不改变测向机当前频道,也不产生切换耗时; -- 只有合法 /measure 会把测向机频道更新为本次检测频道。 -""" - -from __future__ import annotations - -from dataclasses import dataclass, field - -from ..config import CostConfig, Vec2 -from .rules import CLEAR_SUCCESS -from .timing import CostBreakdown, clear_cost, measure_cost - - -class StateError(RuntimeError): - """状态机被以非法顺序驱动(例如未 enter 就 apply_measure)。""" - - -@dataclass -class RobotState: - position: Vec2 = (0.0, 0.0) # /enter 成功后的初始位置 [题面] - channel: int = 1 # /enter 成功后的初始频道 [题面] - virtual_time_s: float = 0.0 - entered: bool = False - exited: bool = False - action_count: int = 0 - # 预测与实测的偏差记录;strict 模式下出现偏差会直接抛错。 - mismatches: list = field(default_factory=list) - - # -------------------------------------------------------------- enter/exit - def apply_enter(self, response: dict, *, strict: bool = False) -> None: - self._require_accepted(response) - if strict and (self.entered or self.exited): - raise StateError("重复 /enter 或已退出后再 enter") - self.entered = True - self.virtual_time_s = response["virtual_time_s"] - - def apply_exit(self, response: dict) -> None: - self._require_accepted(response) - self.exited = True - self.virtual_time_s = response["virtual_time_s"] - - # ----------------------------------------------------------------- measure - def apply_measure(self, request: dict, response: dict, *, - cost: CostConfig = CostConfig(), - strict: bool = False) -> CostBreakdown: - self._require_accepted(response) - if strict and (not self.entered or self.exited): - raise StateError("/measure 要求已 enter 且未退出") - pos = (request["position"]["x"], request["position"]["y"]) - channel = request["channel"] - predicted = measure_cost(self.position, pos, self.channel, channel, cost) - predicted = self._advance(pos, channel, response, predicted, strict) - return predicted - - # ------------------------------------------------------------------- clear - def apply_clear(self, request: dict, response: dict, *, - cost: CostConfig = CostConfig(), - strict: bool = False) -> CostBreakdown: - self._require_accepted(response) - if strict and (not self.entered or self.exited): - raise StateError("/clear 要求已 enter 且未退出") - pos = (request["position"]["x"], request["position"]["y"]) - success = response["clear_result"] == CLEAR_SUCCESS - predicted = clear_cost(self.position, pos, success, cost) - # 频道保持不变:/clear 不切换测向机频道 [题面] - return self._advance(pos, self.channel, response, predicted, strict) - - # ------------------------------------------------------------------ 共用 - def _advance(self, pos: Vec2, channel: int, response: dict, - predicted: CostBreakdown, strict: bool) -> CostBreakdown: - # 先完成全部校验再落子:strict 模式下失败时不留半更新状态。 - actual_delta = response["virtual_time_s"] - self.virtual_time_s - if abs(actual_delta - predicted.total_s) > 1e-6: - message = (f"耗时预测不一致: 预测 {predicted.total_s:.6f}s, " - f"实测 {actual_delta:.6f}s ({predicted})") - if strict: - raise StateError(message) - # 非严格模式:状态仍以响应为准,偏差记入日志供复盘。 - self.mismatches.append( - {"action": self.action_count + 1, "predicted_s": predicted.total_s, - "actual_s": actual_delta, "message": message}) - self.position = pos - self.channel = channel - self.virtual_time_s = response["virtual_time_s"] - self.action_count += 1 - return predicted - - @staticmethod - def _require_accepted(response: dict) -> None: - if response.get("accepted") is not True: - raise StateError("accepted=false 的响应不允许更新状态") diff --git a/docs/paper/data/listing-source/src/mcm26b/protocol/timing.py.tex b/docs/paper/data/listing-source/src/mcm26b/protocol/timing.py.tex deleted file mode 100644 index baf1be8..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/protocol/timing.py.tex +++ /dev/null @@ -1,61 +0,0 @@ -"""P0 纯计时模型:/measure 与 /clear 的耗时分解,不涉及网络与状态。 - -附件1表2 与附件2第10节的计时示例是唯一权威锚点: -逐步得到 105、111、194、199 秒(tests/test_protocol_timing.py 固化)。 -客户端用本模块预测动作代价,模拟器用同一函数推进虚拟时钟, -保证"预测-执行-复算"三方一致。 -""" - -from __future__ import annotations - -from dataclasses import dataclass -from math import dist - -from ..config import CostConfig, Vec2 - - -@dataclass(frozen=True) -class CostBreakdown: - """一次合法动作的三段耗时 [题面]:移动 + 换频道(仅检测)+ 动作本身。""" - - move_s: float - switch_s: float - action_s: float - - @property - def total_s(self) -> float: - return self.total_us / 1_000_000 - - @property - def total_us(self) -> int: - """逐段量化后按整数微秒累计,与官方虚拟时钟一致。""" - return sum(round(value * 1_000_000) - for value in (self.move_s, self.switch_s, self.action_s)) - - -def measure_cost(prev_pos: Vec2, pos: Vec2, prev_channel: int, channel: int, - cost: CostConfig = CostConfig()) -> CostBreakdown: - """合法 /measure 的耗时。移动按直线距离;换频道只看前后频道是否不同。""" - return CostBreakdown( - move_s=dist(prev_pos, pos) / cost.speed_mps, - switch_s=0.0 if channel == prev_channel else cost.switch_s, - action_s=cost.measure_s, - ) - - -def clear_cost(prev_pos: Vec2, pos: Vec2, success: bool, - cost: CostConfig = CostConfig()) -> CostBreakdown: - """合法 /clear 的耗时。 - - /clear 的 channel 是目标干扰源频道,不切换测向机频道,也不产生换频道耗时 [题面]。 - """ - return CostBreakdown( - move_s=dist(prev_pos, pos) / cost.speed_mps, - switch_s=0.0, - action_s=cost.clear_success_s if success else cost.clear_fail_s, - ) - - -def move_time(a: Vec2, b: Vec2, cost: CostConfig = CostConfig()) -> float: - """任意两点间的移动耗时(规划用)。""" - return dist(a, b) / cost.speed_mps diff --git a/docs/paper/data/listing-source/src/mcm26b/protocol/transport.py.tex b/docs/paper/data/listing-source/src/mcm26b/protocol/transport.py.tex deleted file mode 100644 index 0f0f4b5..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/protocol/transport.py.tex +++ /dev/null @@ -1,44 +0,0 @@ -"""传输抽象:HTTP 细节与协议客户端解耦,便于故障注入与本地模拟。 - -真实运行用 :class:`RequestsTransport`;自建模拟器经 :class:`LocalSimTransport` -(sim 模块)挂载;回放用 PlaybackTransport。连接失败与读超时统一抛 -:class:`TransportError` —— 此类失败后重试"同一动作"必须复用原 request_id -与原请求体 [题面],由 client 层保证。 -""" - -from __future__ import annotations - -from dataclasses import dataclass - -import requests - - -class TransportError(Exception): - """网络层失败:连接不上、读写超时。动作可能未送达,也可能结果未知。""" - - -@dataclass(frozen=True) -class TransportResponse: - status: int - body: bytes - - -class Transport: - """最小 POST 接口。同步阻塞,一次一个请求(协议要求串行)。""" - - def post(self, url: str, body: bytes, headers: dict[str, str], - timeout: tuple[float, float]) -> TransportResponse: - raise NotImplementedError - - -class RequestsTransport(Transport): - """基于 requests 的默认实现。timeout=(连接, 读取)。""" - - def post(self, url, body, headers, timeout): - try: - response = requests.post(url, data=body, headers=headers, timeout=timeout) - except (requests.exceptions.Timeout, requests.exceptions.ConnectionError) as exc: - raise TransportError(str(exc)) from exc - except requests.exceptions.RequestException as exc: # 其它请求级异常同样按网络失败处理 - raise TransportError(str(exc)) from exc - return TransportResponse(response.status_code, response.content) diff --git a/docs/paper/data/listing-source/src/mcm26b/routing.py.tex b/docs/paper/data/listing-source/src/mcm26b/routing.py.tex deleted file mode 100644 index f8c330e..0000000 --- a/docs/paper/data/listing-source/src/mcm26b/routing.py.tex +++ /dev/null @@ -1,254 +0,0 @@ -"""图论/动态规划工具箱:开放路径排序、下界与路由度量(S1/S5)。 - -设计原则(docs/第三四问图论与动态规划优化方案.md §1、§3.2、§3.4): - -- **开放路径**(起点固定为原点、终点自由)是本题的真实图问题:一次作业回合 - = 依次停靠若干作业点,代价 = Σ 移动时间 + Σ 动作耗时; -- 小规模(n (*@\ensuremath{\le}@*) ``EXACT_LIMIT``)直接用 Held-Karp 精确 DP,规模更大时用 - 最近邻打底 + 2-opt / Or-opt 改进,并始终给出 **MST 下界**用于在线后悔值审计; -- 所有函数只做"排序与度量",不承担任何安全责任,也不改变覆盖/清除语义。 - -约定:边权为**欧氏距离**(米);时间折算由调用方按 ``speed_mps`` 处理。 -2-opt / Or-opt 用 O(1) 增量代价评估,使 n (*@\ensuremath{\approx}@*) 10² 量级仍可在毫秒内完成。 -""" - -from __future__ import annotations - -import math - -from .config import Vec2 - -EXACT_LIMIT = 13 # Held-Karp 状态数 2^n·n:n=13 → 106 496,纯 Python 可接受 -OR_OPT_LIMIT = 60 # 作业点数超过此值时跳过高阶 Or-opt(见 improve_open_path) - - -def path_length(order: list[Vec2], start: Vec2 = (0.0, 0.0)) -> float: - """开放路径长度(起点 start,终点自由)。""" - total = 0.0 - position = start - for point in order: - total += math.dist(position, point) - position = point - return total - - -def nearest_neighbor_order(points: list[Vec2], - start: Vec2 = (0.0, 0.0)) -> list[Vec2]: - """最近邻开放路径(O(n²),启发式上界)。""" - remaining = list(points) - order: list[Vec2] = [] - position = start - while remaining: - nxt = min(remaining, key=lambda q: math.dist(position, q)) - remaining.remove(nxt) - order.append(nxt) - position = nxt - return order - - -def two_opt_open(order: list[Vec2], start: Vec2 = (0.0, 0.0), - max_passes: int = 8) -> list[Vec2]: - """开放路径 2-opt(终点自由:只反转内部片段,不做首尾相接)。 - - 增量代价 O(1):反转 [i..j] 只影响 (prev, i) 与 (j, next) 两条边。 - """ - best = list(order) - n = len(best) - if n < 3: - return best - for _ in range(max_passes): - improved = False - for i in range(n - 1): - prev = best[i - 1] if i > 0 else start - pi = best[i] - d_prev_i = math.dist(prev, pi) - for j in range(i + 1, n): - pj = best[j] - nxt = best[j + 1] if j + 1 < n else None - d_prev_j = math.dist(prev, pj) - removed = d_prev_i - added = d_prev_j - if nxt is not None: - removed += math.dist(pj, nxt) - added += math.dist(pi, nxt) - if added < removed - 1e-9: - best[i:j + 1] = best[i:j + 1][::-1] - improved = True - pi = best[i] - d_prev_i = math.dist(prev, pi) - if not improved: - break - return best - - -def or_opt_open(order: list[Vec2], start: Vec2 = (0.0, 0.0), - max_passes: int = 4, max_segment: int = 3) -> list[Vec2]: - """Or-opt:把长度 (*@\ensuremath{\le}@*) max_segment 的片段搬家(开放路径,增量代价 O(1))。""" - best = list(order) - n = len(best) - if n < 4: - return best - for _ in range(max_passes): - improved = False - for length in range(1, min(max_segment, n - 1) + 1): - for i in range(0, n - length + 1): - segment = best[i:i + length] - rest = best[:i] + best[i + length:] - for j in range(len(rest) + 1): - if j == i: - continue - candidate = rest[:j] + segment + rest[j:] - if _segment_move_gain(best, i, length, j, start) > 1e-9: - best = candidate - improved = True - break - if improved: - break - if improved: - break - if not improved: - break - return best - - -def _segment_move_gain(order: list[Vec2], i: int, length: int, j: int, - start: Vec2) -> float: - """把 order[i:i+length] 插到去掉该段后的第 j 位所省下的长度(正=更省)。""" - rest = order[:i] + order[i + length:] - segment = order[i:i + length] - - def length_of(seq: list[Vec2]) -> float: - return path_length(seq, start) - - return length_of(order) - length_of(rest[:j] + segment + rest[j:]) - - -def improve_open_path(points: list[Vec2], start: Vec2 = (0.0, 0.0), - max_passes: int = 8) -> list[Vec2]: - """最近邻 + 2-opt + Or-opt 的开放路径改进(大规模兜底)。 - - Or-opt 的搬移评估是 O(n³),作业点数超过 :data:`OR_OPT_LIMIT` 时只做 - O(n²) 的 2-opt(度量口径下 Or-opt 的相对收益远小于其墙钟代价)。 - """ - order = nearest_neighbor_order(points, start) - order = two_opt_open(order, start, max_passes) - if len(order) > OR_OPT_LIMIT: - return order - return or_opt_open(order, start, max_passes) - - -def held_karp_open(points: list[Vec2], start: Vec2 = (0.0, 0.0)) -> list[Vec2]: - """Held-Karp 精确开放路径(起点固定、终点自由)。 - - 状态 ``dp[mask][j]`` = 访问集合 mask、当前停在 j 的最小长度; - 规模 2^n·n,仅用于 n (*@\ensuremath{\le}@*) :data:`EXACT_LIMIT`。返回最优访问顺序。 - """ - n = len(points) - if n == 0: - return [] - if n == 1: - return list(points) - dist = [[math.dist(points[i], points[j]) for j in range(n)] for i in range(n)] - from_start = [math.dist(start, points[j]) for j in range(n)] - full = (1 << n) - 1 - inf = float("inf") - dp: list[list[float]] = [[inf] * n for _ in range(1 << n)] - parent: list[list[int]] = [[-1] * n for _ in range(1 << n)] - for j in range(n): - dp[1 << j][j] = from_start[j] - for mask in range(1 << n): - row = dp[mask] - for j in range(n): - current = row[j] - if current == inf or not (mask >> j) & 1: - continue - rest = full ^ mask - while rest: - bit = rest & -rest - k = bit.bit_length() - 1 - rest ^= bit - candidate = current + dist[j][k] - nxt = mask | bit - if candidate < dp[nxt][k]: - dp[nxt][k] = candidate - parent[nxt][k] = j - best_end = min(range(n), key=lambda j: dp[full][j]) - order: list[Vec2] = [] - mask, j = full, best_end - while j != -1: - order.append(points[j]) - previous = parent[mask][j] - mask ^= 1 << j - j = previous - order.reverse() - return order - - -def optimal_open_path(points: list[Vec2], start: Vec2 = (0.0, 0.0), - exact_limit: int = EXACT_LIMIT) -> list[Vec2]: - """离线最优(或近优)开放路径:小规模精确,大规模 2-opt + Or-opt。""" - unique = _dedupe(points) - if len(unique) <= exact_limit: - return held_karp_open(unique, start) - return improve_open_path(unique, start) - - -def mst_weight(points: list[Vec2], start: Vec2 | None = (0.0, 0.0)) -> float: - """最小生成树权重(Prim,O(n²));含 start 时给出开放路径最优值的下界。 - - 开放路径删除其最后一条边即得一条生成树,故 MST 权重 (*@\ensuremath{\le}@*) 最优路径长度。 - """ - nodes = ([start] if start is not None else []) + list(points) - n = len(nodes) - if n <= 1: - return 0.0 - in_tree = [False] * n - best = [float("inf")] * n - best[0] = 0.0 - total = 0.0 - for _ in range(n): - u, u_cost = -1, float("inf") - for i in range(n): - if not in_tree[i] and best[i] < u_cost: - u, u_cost = i, best[i] - if u < 0: - break - in_tree[u] = True - total += u_cost - ux, uy = nodes[u] - for v in range(n): - if in_tree[v]: - continue - distance = math.hypot(nodes[v][0] - ux, nodes[v][1] - uy) - if distance < best[v]: - best[v] = distance - return total - - -def _dedupe(points, cell_m: float = 0.5) -> list[Vec2]: - """按 ``cell_m`` 网格去重(同一物理点只算一次作业)。""" - seen: set[tuple[int, int]] = set() - unique: list[Vec2] = [] - for point in points: - key = (int(round(point[0] / cell_m)), int(round(point[1] / cell_m))) - if key in seen: - continue - seen.add(key) - unique.append((float(point[0]), float(point[1]))) - return unique - - -def route_metrics(service_points, actual_move_m: float, - speed_mps: float = 5.0) -> dict: - """路由度量:离线最优开放回路、MST 下界与相对 gap(S1 必报列)。""" - unique = _dedupe(service_points) - offline = path_length(optimal_open_path(unique)) if unique else 0.0 - lower = mst_weight(unique) - gap = ((actual_move_m - offline) / actual_move_m) if actual_move_m > 0 else 0.0 - return { - "distinct_service_points": len(unique), - "offline_opt_open_path_m": round(offline, 1), - "offline_opt_open_path_s": round(offline / speed_mps, 1), - "route_lower_bound_s": round(lower / speed_mps, 1), - "route_gap_vs_offline": round(gap, 4), - } diff --git a/docs/paper/data/source-listings.tex b/docs/paper/data/source-listings.tex index 4210530..c77e58b 100644 --- a/docs/paper/data/source-listings.tex +++ b/docs/paper/data/source-listings.tex @@ -1,70 +1,1462 @@ -\begingroup -\linespread{1.0}\selectfont -\lstset{basicstyle=\ttfamily\fontsize{8}{10}\selectfont,numberstyle=\tiny,aboveskip=6pt,belowskip=8pt,xleftmargin=1.5em,frame=none} -\subsection*{\pathtext{src/mcm26b/__init__.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/__init__.py.tex} -\subsection*{\pathtext{src/mcm26b/belief/__init__.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/belief/__init__.py.tex} -\subsection*{\pathtext{src/mcm26b/belief/joint.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/belief/joint.py.tex} -\subsection*{\pathtext{src/mcm26b/cli.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/cli.py.tex} -\subsection*{\pathtext{src/mcm26b/config.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/config.py.tex} -\subsection*{\pathtext{src/mcm26b/coverage/__init__.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/coverage/__init__.py.tex} -\subsection*{\pathtext{src/mcm26b/evaluation/__init__.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/evaluation/__init__.py.tex} -\subsection*{\pathtext{src/mcm26b/geometry/__init__.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/geometry/__init__.py.tex} -\subsection*{\pathtext{src/mcm26b/geometry/__main__.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/geometry/__main__.py.tex} -\subsection*{\pathtext{src/mcm26b/geometry/localization.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/geometry/localization.py.tex} -\subsection*{\pathtext{src/mcm26b/geometry/planning.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/geometry/planning.py.tex} -\subsection*{\pathtext{src/mcm26b/guarantee/__init__.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/guarantee/__init__.py.tex} -\subsection*{\pathtext{src/mcm26b/guarantee/cover.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/guarantee/cover.py.tex} -\subsection*{\pathtext{src/mcm26b/harness/__init__.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/harness/__init__.py.tex} -\subsection*{\pathtext{src/mcm26b/harness/playback.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/harness/playback.py.tex} -\subsection*{\pathtext{src/mcm26b/harness/scenes.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/harness/scenes.py.tex} -\subsection*{\pathtext{src/mcm26b/harness/simulator.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/harness/simulator.py.tex} -\subsection*{\pathtext{src/mcm26b/harness/suites.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/harness/suites.py.tex} -\subsection*{\pathtext{src/mcm26b/harness/transport.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/harness/transport.py.tex} -\subsection*{\pathtext{src/mcm26b/particles.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/particles.py.tex} -\subsection*{\pathtext{src/mcm26b/planner/__init__.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/planner/__init__.py.tex} -\subsection*{\pathtext{src/mcm26b/planner/bayes_loop.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/planner/bayes_loop.py.tex} -\subsection*{\pathtext{src/mcm26b/planner/seven.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/planner/seven.py.tex} -\subsection*{\pathtext{src/mcm26b/protocol/__init__.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/protocol/__init__.py.tex} -\subsection*{\pathtext{src/mcm26b/protocol/client.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/protocol/client.py.tex} -\subsection*{\pathtext{src/mcm26b/protocol/log.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/protocol/log.py.tex} -\subsection*{\pathtext{src/mcm26b/protocol/rules.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/protocol/rules.py.tex} -\subsection*{\pathtext{src/mcm26b/protocol/state.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/protocol/state.py.tex} -\subsection*{\pathtext{src/mcm26b/protocol/timing.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/protocol/timing.py.tex} -\subsection*{\pathtext{src/mcm26b/protocol/transport.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/protocol/transport.py.tex} -\subsection*{\pathtext{src/mcm26b/routing.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/src/mcm26b/routing.py.tex} -\subsection*{\pathtext{scripts/audit_paper_formal.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/scripts/audit_paper_formal.py.tex} -\subsection*{\pathtext{scripts/build_paper_support.py}} -\lstinputlisting[escapeinside={(*@}{@*)}]{data/listing-source/scripts/build_paper_support.py.tex} +% Generated by scripts/build_code_appendix.py from mcm26b-核心代码.ipynb. +% Do not edit by hand: rerun the generator after the notebook changes. +\begingroup\linespread{1.0}\selectfont +\subsection*{动作计时与开放路径排序} +三段耗时按整数微秒累计;后备清除的走格顺序用最近邻打底并做 2-opt 改进。 + +\noindent\small \texttt{CostBreakdown}:一次合法动作的三段耗时:移动 + 换频道(仅检测)+ 动作本身。 +\begin{lstlisting}[style=corecode] +class CostBreakdown: + """一次合法动作的三段耗时 [题面]:移动 + 换频道(仅检测)+ 动作本身。""" + + move_s: float + switch_s: float + action_s: float + @property + def total_s(self) -> float: + return self.total_us / 1_000_000 + + @property + def total_us(self) -> int: + """逐段量化后按整数微秒累计,与官方虚拟时钟一致。""" + return sum(round(value * 1_000_000) + for value in (self.move_s, self.switch_s, self.action_s)) +\end{lstlisting} + +\noindent\small \texttt{measure\_cost}:合法 /measure 的耗时;移动按直线距离,换频道只看前后频道是否不同。 +\begin{lstlisting}[style=corecode] +def measure_cost(prev_pos: Vec2, pos: Vec2, prev_channel: int, channel: int, + cost: CostConfig = CostConfig()) -> CostBreakdown: + """合法 /measure 的耗时。移动按直线距离;换频道只看前后频道是否不同。""" + return CostBreakdown( + move_s=dist(prev_pos, pos) / cost.speed_mps, + switch_s=0.0 if channel == prev_channel else cost.switch_s, + action_s=cost.measure_s, + ) +\end{lstlisting} + +\noindent\small \texttt{clear\_cost}:合法 /clear 的耗时;清除不切换测向机频道,故不含换频项。 +\begin{lstlisting}[style=corecode] +def clear_cost(prev_pos: Vec2, pos: Vec2, success: bool, + cost: CostConfig = CostConfig()) -> CostBreakdown: + """合法 /clear 的耗时。""" + return CostBreakdown( + move_s=dist(prev_pos, pos) / cost.speed_mps, + switch_s=0.0, + action_s=cost.clear_success_s if success else cost.clear_fail_s, + ) +\end{lstlisting} + +\noindent\small \texttt{move\_time}:任意两点间的移动耗时,供规划使用。 +\begin{lstlisting}[style=corecode] +def move_time(a: Vec2, b: Vec2, cost: CostConfig = CostConfig()) -> float: + """任意两点间的移动耗时(规划用)。""" + return dist(a, b) / cost.speed_mps +\end{lstlisting} + +\noindent\small \texttt{nearest\_neighbor\_order}:最近邻开放路径,作为路径排序的启发式上界。 +\begin{lstlisting}[style=corecode] +def nearest_neighbor_order(points: list[Vec2], + start: Vec2 = (0.0, 0.0)) -> list[Vec2]: + """最近邻开放路径(O(n²),启发式上界)。""" + remaining = list(points) + order: list[Vec2] = [] + position = start + while remaining: + nxt = min(remaining, key=lambda q: math.dist(position, q)) + remaining.remove(nxt) + order.append(nxt) + position = nxt + return order +\end{lstlisting} + +\noindent\small \texttt{two\_opt\_open}:开放路径 2-opt 改进;终点自由,只反转内部片段。 +\begin{lstlisting}[style=corecode] +def two_opt_open(order: list[Vec2], start: Vec2 = (0.0, 0.0), + max_passes: int = 8) -> list[Vec2]: + """开放路径 2-opt(终点自由:只反转内部片段,不做首尾相接)。""" + best = list(order) + n = len(best) + if n < 3: + return best + for _ in range(max_passes): + improved = False + for i in range(n - 1): + prev = best[i - 1] if i > 0 else start + pi = best[i] + d_prev_i = math.dist(prev, pi) + for j in range(i + 1, n): + pj = best[j] + nxt = best[j + 1] if j + 1 < n else None + d_prev_j = math.dist(prev, pj) + removed = d_prev_i + added = d_prev_j + if nxt is not None: + removed += math.dist(pj, nxt) + added += math.dist(pi, nxt) + if added < removed - 1e-9: + best[i:j + 1] = best[i:j + 1][::-1] + improved = True + pi = best[i] + d_prev_i = math.dist(prev, pi) + if not improved: + break + return best +\end{lstlisting} + +\subsection*{问题一:角域交会、直径与最小包围圆} +半平面交求定位区域,顶点对枚举直径,Welzl 算法求最小包围圆,并输出直径圆覆盖判定与清除半径判据。 + +\noindent\small \texttt{Measurement}:一次示向度观测:测点坐标、示向度与误差半角(题设为 $1^\circ$)。 +\begin{lstlisting}[style=corecode] +class Measurement: + + x: float + y: float + bearing_deg: float + half_angle_deg: float = 1.0 +\end{lstlisting} + +\noindent\small \texttt{halfplanes}:一次观测的三个半平面约束:角域两侧边界与前向约束,法向量已单位化。 +\begin{lstlisting}[style=corecode] +def halfplanes(m: Measurement) -> list[tuple[float, float, float]]: + """Return a*x+b*y<=c with unit normals, including the forward…""" + theta = m.bearing_deg % 360 + lower, upper = radians(theta - m.half_angle_deg), radians(theta + m.half_angle_deg) + middle = radians(theta) + normals = [(sin(lower), -cos(lower)), (-sin(upper), cos(upper)), + (-cos(middle), -sin(middle))] + return [(a, b, a * m.x + b * m.y) for a, b in normals] +\end{lstlisting} + +\noindent\small \texttt{convex\_hull}:单调链凸包(逆时针、无重复末点),输入坐标先平移缩放到同一量级。 +\begin{lstlisting}[style=corecode] +def convex_hull(points: list[Point], eps: float = EPS) -> list[Point]: + """Monotone chain, CCW, no repeated final vertex; retain segm…""" + ordered = sorted(points) + unique = [] + for p in ordered: + if not unique or distance(p, unique[-1]) > eps: + unique.append(p) + if len(unique) <= 2: + return unique + + def chain(seq): + out = [] + for p in seq: + while len(out) >= 2: + a = (out[-1][0] - out[-2][0], out[-1][1] - out[-2][1]) + b = (p[0] - out[-1][0], p[1] - out[-1][1]) + # Distance-to-line tolerance, not an unscaled area tolerance. + if cross(a, b) > eps * max(hypot(*a), hypot(*b), eps): + break + out.pop() + out.append(p) + return out + + return chain(unique)[:-1] + chain(reversed(unique))[:-1] +\end{lstlisting} + +\noindent\small \texttt{diameter}:顶点对枚举区域直径;有界凸集的最远点必为顶点。 +\begin{lstlisting}[style=corecode] +def diameter(points: list[Point]): + if not points: + raise ValueError("空点集没有本程序定义下的直径") + a = b = points[0] + value = 0.0 + for p, q in combinations(points, 2): + d = distance(p, q) + if d > value: + value, a, b = d, p, q + return value, (a, b) +\end{lstlisting} + +\noindent\small \texttt{smallest\_enclosing\_circle}:Welzl 随机增量最小包围圆;固定随机种子保证结果可复现。 +\begin{lstlisting}[style=corecode] +def smallest_enclosing_circle(points: list[Point], eps: float = EPS): + """Welzl's randomized incremental algorithm, using an explici…""" + if not points: + raise ValueError("空集不计算最小包围圆") + if not isfinite(eps) or eps <= 0: + raise ValueError("eps必须为有限正数") + if any(len(p) != 2 or any(isinstance(x, bool) or not isinstance(x, (int, float)) + or not isfinite(x) for x in p) for p in points): + raise ValueError("点集必须由有限二维坐标组成") + origin = points[0] + scale = max(distance(origin, p) for p in points) + if scale == 0: + return tuple(origin), 0.0 + local = [((p[0]-origin[0])/scale, (p[1]-origin[1])/scale) for p in points] + tolerance = min(eps/scale, EPS) + Random(20260910).shuffle(local) + # Frame = (remaining prefix length, forced boundary, returning from child). + stack = [(len(local), (), False)] + circle = None + while stack: + n, boundary, returning = stack.pop() + if n == 0 or len(boundary) == 3: + # Forced support points must lie ON the boundary. For three points + # use their circumcircle, even when their unconstrained MEC is smaller. + circle = _circumcircle(*boundary) if len(boundary) == 3 else None + if circle is None and boundary: + circle = _enclosing_circle_reference(list(boundary), tolerance) + elif not returning: + stack.append((n, boundary, True)) + stack.append((n-1, boundary, False)) + elif not _circle_covers(circle, local[n-1], tolerance): + stack.append((n-1, boundary + (local[n-1],), False)) + assert circle is not None + center = (origin[0]+circle[0][0]*scale, origin[1]+circle[0][1]*scale) + # Recompute after transforming back: returned circle contains all input points + # to distance() precision, including any roundoff from the large translation. + return center, max(distance(center, p) for p in points) +\end{lstlisting} + +\noindent\small \texttt{solve}:问题一主入口:半平面交求定位区域,区分空集、无界与退化情形,再给出直径、直径圆覆盖判定与最小包围圆。 +\begin{lstlisting}[style=corecode] +def solve(measurements: list[Measurement], eps: float = EPS) -> dict: + """Solve Q1's pure angular intersection (no disk/range prior…""" + if not isfinite(eps) or eps <= 0: + raise ValueError("eps必须为有限正数") + if not measurements: + return {"status": "unbounded", "vertices": [], "diameter_m": None, + "diameter_infinite": True, "recession_direction": [1.0, 0.0], + "message": "没有观测,整个平面均可行"} + if len(measurements) > 100: + raise ValueError("参考实现最多接收100个检测点;更大规模应使用半平面交算法") + ox = sum(m.x for m in measurements) / len(measurements) + oy = sum(m.y for m in measurements) / len(measurements) + scale = max(1.0, max(hypot(m.x - ox, m.y - oy) for m in measurements)) + local = [Measurement((m.x - ox) / scale, (m.y - oy) / scale, + m.bearing_deg, m.half_angle_deg) for m in measurements] + planes = [h for m in local for h in halfplanes(m)] + + def inside(p): + tol = eps * max(1.0, abs(p[0]), abs(p[1])) + return all(a * p[0] + b * p[1] <= c + tol for a, b, c in planes) + + feasible_vertices = [] + for (a, b, c), (d, e, f) in combinations(planes, 2): + det = a * e - b * d + if det == 0.0: + continue # 精确平行:无交点(近平行对的交点是合法远端顶点,保留) + p = ((c * e - b * f) / det, (a * f - c * d) / det) + if isfinite(p[0]) and isfinite(p[1]) and inside(p): + feasible_vertices.append(p) + + if not feasible_vertices: + return {"status": "empty", "vertices": [], "diameter_m": None, + "diameter_infinite": False, "tolerance_m": eps * scale, + "message": "测向角域没有公共点;检查频道、数据及误差界"} + + # A nontrivial 2D recession cone has a ray tangent to an input halfplane. + # Use a much tighter angular threshold than the positional feasibility epsilon. + ray = None + for a, b, _ in planes: + for direction in ((b, -a), (-b, a)): + if all(d * direction[0] + e * direction[1] <= 2e-14 + for d, e, _ in planes): + ray = direction + break + if ray is not None: + break + + hull = convex_hull(feasible_vertices, eps) + + def world(p): + return [ox + p[0] * scale, oy + p[1] * scale] + + result = {"status": "unbounded" if ray else + ("point" if len(hull) == 1 else "segment" if len(hull) == 2 else "polygon"), + "vertices": [world(p) for p in hull], "tolerance_m": eps * scale, + "diameter_infinite": ray is not None} + if ray is not None: + result.update(diameter_m=None, recession_direction=list(ray), + message="存在非零衰退方向,区域无界,直径为无穷大") + return result + + d, pair = diameter(hull) + midpoint = ((pair[0][0] + pair[1][0]) / 2, (pair[0][1] + pair[1][1]) / 2) + distances = [distance(midpoint, p) for p in hull] + witness_index = max(range(len(hull)), key=distances.__getitem__) + max_distance = distances[witness_index] + center, radius = smallest_enclosing_circle(hull, eps) + area = abs(sum(cross(hull[i], hull[(i + 1) % len(hull)]) + for i in range(len(hull)))) / 2 + result.update(diameter_m=d * scale, diameter_pair=[world(p) for p in pair], + area_m2=area * scale ** 2, + diameter_circle={"center": world(midpoint), "radius_m": d * scale / 2, + "max_vertex_distance_m": max_distance * scale, + "covers": max_distance <= d / 2 + eps * 4, + "coverage_tolerance_m": 4 * eps * scale, + "max_excess_m": (max_distance-d/2) * scale, + "outside_vertex_indices": [i for i, value in enumerate(distances) + if value > d/2 + 4*eps], + "witness_vertex": world(hull[witness_index]) + if max_distance > d/2 + 4*eps else None}, + minimum_enclosing_circle={"center": world(center), "radius_m": radius * scale}, + guaranteed_clearable_at_mec_center=radius * scale <= 20 - eps * scale * 4, + clearance_certificate={"model": "angular_intersection_only", + "clear_radius_m": 20.0, + "numerical_margin_m": 4*eps*scale, + "radius_with_margin_m": (radius+4*eps)*scale, + "remaining_margin_m": 20-(radius+4*eps)*scale, + "center": world(center)}) + return result +\end{lstlisting} + +\subsection*{问题二:候选集与保证接收的第二检测点} +候选集用圆盘外切多边形与角域半平面裁剪表示;安全盘半径取$1000-\rho$,盘内候选按最坏后验包围半径、同分按移动代价取优。 + +\noindent\small \texttt{CandidateRegion}:某频道候选集合的保守凸外包多边形(顶点按 CCW;允许退化为 1-2 点)。 +\begin{lstlisting}[style=corecode] +class CandidateRegion: + """某频道候选集合的保守凸外包多边形(顶点按 CCW;允许退化为 1-2 点)。""" + + @classmethod + def disk(cls, center: Vec2, radius_m: float, sides: int, + slack_m: float | None = None) -> "CandidateRegion": + if slack_m is None: + slack_m = radius_m * (1 - math.cos(math.pi / sides)) + return cls(circumscribed_polygon(center, radius_m, sides), slack_m) + + @classmethod + def initial(cls, station: Vec2, config: ProblemConfig) -> "CandidateRegion": + """首个 direction 后的基础集:Ω ∩ B(station, r_max) 的保守外包。""" + field_cfg, sides = config.field, config.search.polygon_sides + slack = field_cfg.omega_radius_m * (1 - math.cos(math.pi / sides)) + region = cls.disk((0.0, 0.0), field_cfg.omega_radius_m, sides, slack) + region.clip_disk(station, field_cfg.r_eff_max_m, sides) + return region + + def clip_disk(self, center: Vec2, radius_m: float, sides: int) -> None: + """与圆盘 B(center, radius) 的外切多边形求交(近似误差入账)。""" + for a, b, c in polygon_halfplanes(circumscribed_polygon(center, radius_m, sides)): + self._clip(a, b, c) + self.slack_m += radius_m * (1 - math.cos(math.pi / sides)) + + def clip_wedge(self, station: Vec2, bearing_deg: float, + half_angle_deg: float) -> None: + """与测向角域 W(station, bearing±half_angle) 求交(半角须 <90°)。 + + 两个边界半平面与 localization.halfplanes 同口径,0°/360° 跨界由 + sin/cos 直接处理,无需分支。 + """ + if not 0 < half_angle_deg < 90: + raise ValueError("角域半角须在 (0, 90) 度") + lower = math.radians(bearing_deg - half_angle_deg) + upper = math.radians(bearing_deg + half_angle_deg) + sx, sy = float(station[0]), float(station[1]) + self._clip(math.sin(lower), -math.cos(lower), + math.sin(lower) * sx - math.cos(lower) * sy) + self._clip(-math.sin(upper), math.cos(upper), + -math.sin(upper) * sx + math.cos(upper) * sy) + + def mec(self) -> tuple[Vec2, float]: + """最小包围圆(圆心, 半径)。半径是真实候选集 ρ 的上界。""" + if self._mec is None: + if not self.polygon: + raise InconsistentBelief("候选区域为空") + self._mec = smallest_enclosing_circle(self.polygon) + return self._mec + + def witnesses(self, spacing_m: float) -> list[Vec2]: + """顶点 + 边界按间距细分的采样点(最坏后验评估用)。""" + if len(self.polygon) < 3: + return list(self.polygon) + points = list(self.polygon) + count = len(self.polygon) + for index in range(count): + p, q = self.polygon[index], self.polygon[(index + 1) % count] + length = math.dist(p, q) + steps = int(length // spacing_m) + for k in range(1, steps + 1): + ratio = k / (steps + 1) + points.append((p[0] + ratio * (q[0] - p[0]), + p[1] + ratio * (q[1] - p[1]))) + return _dedupe(points, tol=1e-9) + + def contains(self, point: Vec2, tol_m: float = 0.05) -> bool: + """点是否在候选集内(带容差;用于真源保留性检验,不做删点依据)。""" + if not self.polygon: + return False + if len(self.polygon) == 1: + return math.dist(point, self.polygon[0]) <= tol_m + self.slack_m + if len(self.polygon) == 2: + p, q = self.polygon + return _point_segment_distance(point, p, q) <= tol_m + self.slack_m + for index, p in enumerate(self.polygon): + q = self.polygon[(index + 1) % len(self.polygon)] + if (q[0] - p[0]) * (point[1] - p[1]) - (q[1] - p[1]) * (point[0] - p[0]) \ + < -tol_m - self.slack_m: + return False + return True +\end{lstlisting} + +\noindent\small \texttt{ClearCertificate}:清除充分条件:候选集外包半径与近似误差之和不超过清除半径。 +\begin{lstlisting}[style=corecode] +class ClearCertificate: + """清除证书:候选集外包半径(含近似误差)不超过 20m 阈值。""" + + channel: int + center: Vec2 + radius_m: float + limit_m: float + certified: bool +\end{lstlisting} + +\noindent\small \texttt{clear\_certificate}:由候选集最小包围圆判定是否可以就地清除。 +\begin{lstlisting}[style=corecode] +def clear_certificate(region: CandidateRegion, channel: int, + config: ProblemConfig = ProblemConfig()) -> ClearCertificate: + """ρ_poly <= 20 - 外包近似误差 - 工程余量 才允许发起清除。""" + center, radius = region.mec() + limit = (config.field.clear_radius_m - region.slack_m + - config.search.clear_margin_m) + return ClearCertificate(channel, center, radius, limit, radius <= limit) +\end{lstlisting} + +\noindent\small \texttt{candidate\_points}:保证接收盘内的候选点:盘心加各比例半径上的均匀方向点。 +\begin{lstlisting}[style=corecode] +def candidate_points(center: Vec2, safe_radius_m: float, rings, angles: int) -> list[Vec2]: + """保证接收盘内的候选点:盘心 + 各比例半径 × 均匀方向。""" + points = [tuple(center)] + for fraction in rings: + radius = fraction * safe_radius_m + if radius <= 1e-9: + continue + step = 2 * math.pi / angles + for k in range(angles): + angle = step * k + step / 2 + points.append((center[0] + radius * math.cos(angle), + center[1] + radius * math.sin(angle))) + return points +\end{lstlisting} + +\noindent\small \texttt{safe\_disk\_radius}:保证接收盘半径 $1000-\rho$;小于零表示没有保证接收的区域。 +\begin{lstlisting}[style=corecode] +def safe_disk_radius(region: CandidateRegion, + config: ProblemConfig = ProblemConfig()) -> float: + """保证接收盘 B(mec, safe) 的半径;<0 表示无保证(ρ 超过最小接收半径)。""" + return config.field.r_eff_min_m - region.mec()[1] - 1e-3 +\end{lstlisting} + +\noindent\small \texttt{select\_measurement\_point}:在保证接收盘内选下一检测点:主指标为最坏后验包围半径,同分取移动代价较小者。 +\begin{lstlisting}[style=corecode] +def select_measurement_point(region: CandidateRegion, from_position: Vec2, + config: ProblemConfig = ProblemConfig()) -> SecondPointPlan: + """在保证接收盘内选择下一检测点(P3 核心;对任意候选集通用)。""" + field, search = config.field, config.search + center, radius = region.mec() + half_angle = field.bearing_error_half_deg + search.bearing_rounding_margin_deg + + def move_cost(point: Vec2) -> float: + return move_time(from_position, point, config.cost) + + # 1mm 数值余量在 safe_disk_radius 内记账。 + safe_radius = safe_disk_radius(region, config) + if safe_radius < 0: + return SecondPointPlan(tuple(center), radius, move_cost(center), + "无保证接收盘(ρ>1000):探索 MEC 圆心,可能 no_signal") + coarse = region.witnesses(search.witness_spacing_m) + samples = candidate_points(center, safe_radius, + search.candidate_rings, search.candidate_angles) + near_radius, sides = field.near_radius_m, search.polygon_sides + best_key, best_point, best_worst = None, None, None + for point in samples: + worst = _worst_posterior_radius(region, point, coarse, half_angle, + near_radius, sides) + key = (round(worst, 6), round(move_cost(point), 6)) + if best_key is None or key < best_key: + best_key, best_point, best_worst = key, point, worst + dense = _worst_posterior_radius(region, best_point, + region.witnesses(search.witness_spacing_m / 4), + half_angle, near_radius, sides) + reason = (f"安全盘 B(centre,{safe_radius:.0f}m) 内 {len(samples)} 候选;" + f"粗采样最坏后验 {best_worst:.1f}m,1/4 间距加密复核 {dense:.1f}m") + return SecondPointPlan(tuple(best_point), dense, move_cost(best_point), reason) +\end{lstlisting} + +\noindent\small \texttt{select\_second\_point}:问题二入口:由首次示向度构造候选集并给出第二检测点。 +\begin{lstlisting}[style=corecode] +def select_second_point(client: SimulatorClient, first_position: Vec2, + first_bearing_deg: float, + config: ProblemConfig = ProblemConfig()) -> SecondPointPlan: + """P3 入口:由首次 direction 构造 K1,返回保证接收的第二检测点方案。""" + region = CandidateRegion.initial(first_position, config) + half_angle = config.field.bearing_error_half_deg \ + + config.search.bearing_rounding_margin_deg + region.clip_wedge(first_position, first_bearing_deg, half_angle) + return select_measurement_point(region, client.state.position, config) +\end{lstlisting} + +\subsection*{问题三:覆盖计划、检测记录与清除证书} +覆盖计划与运行期抽样校验、逐频道检测记录,以及七点解析覆盖与全向/定向两种覆盖语义的证书判据。 + +\noindent\small \texttt{CoverageCertificate}:覆盖证书:采样分辨率、位置与朝向目标数、缺口数与最坏命中距离。 +\begin{lstlisting}[style=corecode] +class CoverageCertificate: + """覆盖证书:采样语义 + 缺口 + 最坏命中距离。""" + + kind: str # "full_disk" | "forward_half_disk" + target_step_m: float + headings: int + r_eff_min_m: float + targets: int + uncovered: int + worst_hit_distance_m: float + nn_tour_m: float + generator_sha256: str = "" + verify_heading_margin_deg: float = 0.0 + @property + def valid(self) -> bool: + return self.uncovered == 0 and self.targets > 0 + + def as_dict(self) -> dict: + return {"kind": self.kind, "target_step_m": self.target_step_m, + "headings": self.headings, "r_eff_min_m": self.r_eff_min_m, + "targets": self.targets, "uncovered": self.uncovered, + "worst_hit_distance_m": round(self.worst_hit_distance_m, 3), + "nn_tour_m": round(self.nn_tour_m, 1), + "nn_tour_virtual_s": round(self.nn_tour_m / SPEED_MPS, 1), + "generator_sha256": self.generator_sha256, + "verify_heading_margin_deg": self.verify_heading_margin_deg} +\end{lstlisting} + +\noindent\small \texttt{CoveragePlan}:覆盖计划:点集、覆盖语义与证书。 +\begin{lstlisting}[style=corecode] +class CoveragePlan: + """一份覆盖计划:点集 + 语义 + 证书(可为解析证明)。""" + + name: str + problem: int + points: tuple[Vec2, ...] + kind: str # "analytic" | "certified" + coverage: str # "full_disk" | "forward_half_disk" + note: str = "" + certificate: CoverageCertificate | None = None + generator: dict = field(default_factory=dict) + def as_dict(self) -> dict: + return {"name": self.name, "problem": self.problem, "kind": self.kind, + "coverage": self.coverage, "note": self.note, + "generator": self.generator, + "certificate": (self.certificate.as_dict() + if self.certificate is not None else None), + "points": [[p[0], p[1]] for p in self.points]} +\end{lstlisting} + +\noindent\small \texttt{coverage\_points}:49 点覆盖网格,单元对角 $700\sqrt2\approx989.95\le1000$ m。 +\begin{lstlisting}[style=corecode] +def coverage_points(config: ProblemConfig = ProblemConfig()) -> list[Vec2]: + """49 点覆盖网格生成(纯几何,可独立测试)。""" + step = config.search.grid_step_m + half = config.search.grid_half_cells + return [(step * i, step * j) + for j in range(half, -half - 1, -1) + for i in range(-half, half + 1)] +\end{lstlisting} + +\noindent\small \texttt{CoverageLedger}:逐频道检测记录,按(频道, 网格点)二维记账。 +\begin{lstlisting}[style=corecode] +class CoverageLedger: + """逐频道覆盖账本:(频道, 网格点) -> 是否已测。""" + + config: ProblemConfig = field(default_factory=ProblemConfig) + points: list[Vec2] = field(default_factory=coverage_points) + measured: set = field(default_factory=set) # {(channel, point_index)} + skipped: dict = field(default_factory=dict) # channel -> 原因 + def mark_measured(self, channel: int, point_index: int) -> None: + self.measured.add((channel, point_index)) + + def measured_at(self, channel: int, point_index: int) -> bool: + return (channel, point_index) in self.measured + + def skip_channel(self, channel: int, reason: str) -> None: + """记录整频道跳过原因(如 already_cleared / located_pending_clear)。""" + self.skipped[channel] = reason + + def pending_points(self, channel: int) -> list[int]: + """该频道尚未测量的网格点下标。扫描调度策略未实现(P4)。""" + return [index for index in range(len(self.points)) + if not self.measured_at(channel, index)] + + def coverage_complete(self, channel: int) -> bool: + """该频道覆盖是否完成(含显式跳过)。""" + return channel in self.skipped or not self.pending_points(channel) +\end{lstlisting} + +\noindent\small \texttt{seven\_points}:原点与环上六个等分点的七站覆盖集。 +\begin{lstlisting}[style=corecode] +def seven_points(ring_radius_m: float = RING_RADIUS_M) -> list[tuple[float, float]]: + """原点 + 环上 6 等分点的七站覆盖集。""" + return [(0.0, 0.0)] + [(ring_radius_m * math.cos(k * math.pi / 3), + ring_radius_m * math.sin(k * math.pi / 3)) for k in range(6)] +\end{lstlisting} + +\noindent\small \texttt{seven\_plan}:第三问解析覆盖计划;环半径 $1159.7$ m 时最坏覆盖距离不超过 $984.539$ m。 +\begin{lstlisting}[style=corecode] +def seven_plan(ring_radius_m: float) -> CoveragePlan: + """第三问解析计划(覆盖证明由 validate_seven_coverage 给出)。""" + return CoveragePlan( + name=f"seven-r{ring_radius_m:.1f}", problem=3, kind="analytic", + coverage="full_disk", + note=("解析证明 max(r/√3, sqrt(R²+r²−√3Rr)) < 1000;" + "r∈[1122.9, 1732] 时成立,巡检半径越小巡回越短"), + points=tuple(seven_points(ring_radius_m))) +\end{lstlisting} + +\noindent\small \texttt{verify\_full\_disk}:第三问覆盖语义:圆域内每点都落在某个被访点的最小接收圆盘内。 +\begin{lstlisting}[style=corecode] +def verify_full_disk(points: list[Vec2], step_m: float = VERIFY_STEP_M, + r_eff: float = R_EFF_MIN_M) -> CoverageCertificate: + """第三问语义:Ω 内每点都在某个被访点的 r_eff 圆盘内。""" + points = list(points) + positions = omega_positions(step_m) + table = _bucket(points, r_eff) + missing, worst = 0, 0.0 + for (px, py) in positions: + ci, cj = int(px // r_eff), int(py // r_eff) + best = None + for di in (-1, 0, 1): + for dj in (-1, 0, 1): + for c_index in table.get((ci + di, cj + dj), ()): + cx, cy = points[c_index] + distance = math.hypot(cx - px, cy - py) + if distance <= r_eff and (best is None or distance < best): + best = distance + if best is None: + missing += 1 + else: + worst = max(worst, best) + return CoverageCertificate("full_disk", step_m, 1, r_eff, len(positions), + missing, worst, nn_tour_length(points)) +\end{lstlisting} + +\noindent\small \texttt{verify\_forward\_half\_disk}:第四问覆盖语义:任意位置与朝向都存在前向半盘内的被访点。 +\begin{lstlisting}[style=corecode] +def verify_forward_half_disk(points: list[Vec2], step_m: float = VERIFY_STEP_M, + headings: int = VERIFY_HEADINGS, + r_eff: float = R_EFF_MIN_M, + heading_margin_deg: float = 0.0) -> CoverageCertificate: + """第四问语义:∀(p,h) 存在前向半盘内的被访点。""" + points = list(points) + targets = forward_targets(step_m, headings) + table = _bucket(points, r_eff) + missing, worst = 0, 0.0 + sin_margin = math.sin(math.radians(max(heading_margin_deg, 0.0))) + for (px, py, heading) in targets: + ux, uy = math.cos(heading), math.sin(heading) + ci, cj = int(px // r_eff), int(py // r_eff) + best = None + for di in (-1, 0, 1): + for dj in (-1, 0, 1): + for c_index in table.get((ci + di, cj + dj), ()): + cx, cy = points[c_index] + dx, dy = cx - px, cy - py + distance_sq = dx * dx + dy * dy + if distance_sq > r_eff * r_eff: + continue + if dx * ux + dy * uy < sin_margin * math.sqrt(distance_sq) - 1e-9: + continue + distance = math.sqrt(distance_sq) + if best is None or distance < best: + best = distance + if best is None: + missing += 1 + else: + worst = max(worst, best) + return CoverageCertificate("forward_half_disk", step_m, headings, r_eff, + len(targets), missing, worst, + nn_tour_length(points)) +\end{lstlisting} + +\noindent\small \texttt{plan\_instance}:按名称取覆盖计划;证书计划在运行期按同一分辨率复核。 +\begin{lstlisting}[style=corecode] +def plan_instance(name: str, verify: bool = True) -> CoveragePlan: + """统一入口:按名称取覆盖计划(内置解析计划 / 内嵌证书计划)。""" + if name == "square49": + return square_49_plan() + if name == "seven": + return seven_plan(1200.0) + if name not in EMBEDDED_PLANS: + raise FileNotFoundError(f"未找到覆盖计划 {name!r};现有:{plan_names()}") + plan = embedded_plan(name) + if verify and plan.kind == "certified": + certificate = verify_plan(plan) + if not certificate.valid: + raise ValueError( + f"覆盖计划 {name!r} 运行期校验失败:" + f"{certificate.uncovered}/{certificate.targets} 个 (p,h) 未被覆盖") + plan = CoveragePlan( + name=plan.name, problem=plan.problem, kind=plan.kind, + coverage=plan.coverage, note=plan.note, generator=plan.generator, + certificate=CoverageCertificate( + kind=certificate.kind, target_step_m=certificate.target_step_m, + headings=certificate.headings, r_eff_min_m=certificate.r_eff_min_m, + targets=certificate.targets, uncovered=certificate.uncovered, + worst_hit_distance_m=certificate.worst_hit_distance_m, + nn_tour_m=certificate.nn_tour_m, + generator_sha256=(plan.certificate.generator_sha256 + if plan.certificate else "")), + points=plan.points) + return plan +\end{lstlisting} + +\subsection*{问题三:网格候选集} +逐频道的网格幸存集,按格心裕量 $\ell/\sqrt2$ 内缩后再删格,据此支持负观测更新、跳测规则与缺席证明。 + +\noindent\small \texttt{ChannelParticles}:单个频道的网格候选集:格心裕量 $\ell/\sqrt2$,所有删除判定内缩该裕量,故真源所在格永不被删。 +\begin{lstlisting}[style=corecode] +class ChannelParticles: + """单个频道的网格幸存集。""" + + def cell_center(self, index: int) -> Vec2: + i, j = divmod(index, self.width) + return (self.x0 + (i + 0.5) * self.spacing_m, + self.x0 + (j + 0.5) * self.spacing_m) + + def discard(self, indices: list[int]) -> None: + """公开删除入口:联合信念把"朝向不可能"的格一并删除时使用。""" + self._discard(indices) + + def _discard(self, indices: list[int]) -> None: + if not indices: + return + coarse_w = self._coarse_width() + for index in indices: + if index not in self.alive: + continue + self.alive.discard(index) + key = (index // self.width // _COARSE_FACTOR) * coarse_w \ + + (index % self.width) // _COARSE_FACTOR + count = self._coarse.get(key, 0) - 1 + if count <= 0: + self._coarse.pop(key, None) + else: + self._coarse[key] = count + self.version += 1 + self._mec = None + + def _kill_disk(self, center: Vec2, radius_m: float) -> None: + """删除格心距 center <= radius_m 的全部幸存格(整格判据见模块注释)。""" + if not self.alive: + return + reach = radius_m + _DIST_EPS_M + ilo = max(0, int(math.floor((center[0] - reach - self.x0) / self.spacing_m))) + ihi = min(self.width - 1, + int(math.ceil((center[0] + reach - self.x0) / self.spacing_m))) + jlo = max(0, int(math.floor((center[1] - reach - self.x0) / self.spacing_m))) + jhi = min(self.width - 1, + int(math.ceil((center[1] + reach - self.x0) / self.spacing_m))) + limit_sq = reach * reach + doomed = [] + for i in range(ilo, ihi + 1): + dx = self.x0 + (i + 0.5) * self.spacing_m - center[0] + base = i * self.width + for j in range(jlo, jhi + 1): + index = base + j + if index not in self.alive: + continue + dy = self.x0 + (j + 0.5) * self.spacing_m - center[1] + if dx * dx + dy * dy <= limit_sq: + doomed.append(index) + self._discard(doomed) + + def _kill_outside_disk(self, center: Vec2, radius_m: float) -> None: + """删除格心距 center > radius_m 的全部幸存格(保留盘内)。""" + if not self.alive: + return + reach = radius_m + _DIST_EPS_M + doomed = [index for index in self.alive + if math.dist(self.cell_center(index), center) > reach] + self._discard(doomed) + + def _kill_outside_wedge(self, station: Vec2, reading_deg: float) -> None: + """删除角向偏离读数超出 δ_eff + 角向格裕量的幸存格。 + + 角向格裕量 = asin(m / max(dist−m, 1)):格内任一点相对格心的方位 + 偏差不超过它(点距测点还可再近 m,故分母再内缩 m)。 + """ + if not self.alive: + return + sx, sy = float(station[0]), float(station[1]) + doomed = [] + for index in self.alive: + gx, gy = self.cell_center(index) + dist = math.hypot(gx - sx, gy - sy) + if dist <= self.margin_m + 1.0: + continue # 格贴测点:格内方位可指向任意方向,不可删 + angular_margin = math.degrees( + math.asin(min(0.9999, self.margin_m / (dist - self.margin_m)))) + gap = angular_gap(math.degrees(math.atan2(gy - sy, gx - sx)), reading_deg) + if gap > self.half_angle_deg + angular_margin + _ANG_EPS_DEG: + doomed.append(index) + self._discard(doomed) + + def apply_measure(self, station: Vec2, result: str, + svd_deg: float | None = None, *, + directional: bool = False) -> None: + """按读数更新幸存集。真源保留性由 Voronoi 裕量保证(模块注释)。 + + ``directional=True``(第四问):no_signal **不删空间候选**——定向源 + 的静默还可能来自朝向遮挡,单独删空间候选会误删真源;朝向维度由 + :class:`~mcm26b.belief.joint.JointBelief` 维护。 + """ + if result == NO_SIGNAL: + if directional: + return + # no_signal ⟹ dist > r_eff >= 1000:整格落入 B(s, 1000−m) 的删。 + self._kill_disk(station, self.r_eff_min_m - self.margin_m) + elif result == NEAR: + self._kill_outside_disk(station, self.near_radius_m + self.margin_m) + elif result == DIRECTION: + if svd_deg is None: + raise ValueError("direction 读数必须携带 svd_deg") + # direction 隐含 dist <= r_max [题面] + self._kill_outside_disk(station, self.r_eff_max_m + self.margin_m) + self._kill_outside_wedge(station, svd_deg) + else: + raise ValueError(f"未知测向结果: {result!r}") + + def alive_points(self, limit: int | None = None) -> list[Vec2]: + sorted_alive = sorted(self.alive) + if limit is not None and len(sorted_alive) > limit: + step = len(sorted_alive) / limit + indices = {sorted_alive[int(k * step) % len(sorted_alive)] + for k in range(limit)} + indices = sorted(indices) + else: + indices = sorted_alive + return [self.cell_center(index) for index in indices] + + def nearest_alive_distance(self, point: Vec2, limit_m: float) -> float | None: + """最近幸存格心距离;> limit_m 时返回 None(粗格环扫 + 下界剪枝)。 + + 返回值语义:恰为最近幸存格心距离(若 <= limit_m);None 表示所有 + 幸存格心都超出 limit_m。粗格聚合半径已计入扫描范围,不漏判。 + """ + if not self.alive: + return None + coarse_cell_m = self.spacing_m * _COARSE_FACTOR + coarse_reach = coarse_cell_m * math.sqrt(2) / 2 + cw = self._coarse_width() + ci_base = int(math.floor((point[0] - self.x0) / coarse_cell_m)) + cj_base = int(math.floor((point[1] - self.x0) / coarse_cell_m)) + ring_max = int(math.ceil((limit_m + coarse_reach) / coarse_cell_m)) + 1 + best: float | None = None + for ring in range(ring_max + 1): + lower_bound = max(0.0, ring - 1) * coarse_cell_m - coarse_reach + if best is not None and lower_bound >= best: + break # 更外环的所有格心都 >= 下界 >= 当前最优 + for ci in range(max(0, ci_base - ring), min(cw - 1, ci_base + ring) + 1): + for cj in range(max(0, cj_base - ring), min(cw - 1, cj_base + ring) + 1): + if max(abs(ci - ci_base), abs(cj - cj_base)) != ring: + continue # 只扫当前环(Chebyshev 环) + if (ci * cw + cj) not in self._coarse: + continue + ccx = self.x0 + (ci + 0.5) * coarse_cell_m + ccy = self.x0 + (cj + 0.5) * coarse_cell_m + if math.hypot(ccx - point[0], ccy - point[1]) \ + > limit_m + coarse_reach: + continue + i0, j0 = ci * _COARSE_FACTOR, cj * _COARSE_FACTOR + for i in range(i0, min(i0 + _COARSE_FACTOR, self.width)): + base = i * self.width + for j in range(j0, min(j0 + _COARSE_FACTOR, self.width)): + index = base + j + if index not in self.alive: + continue + dist = math.dist(self.cell_center(index), point) + if dist <= limit_m and (best is None or dist < best): + best = dist + return best + + def guaranteed_no_signal(self, station: Vec2) -> bool: + """真源与该测点距离必 > r_max(>= r_eff)⟹ 必 no_signal,测了也无信息。""" + return self.nearest_alive_distance( + station, self.r_eff_max_m + self.margin_m) is None + + def mec(self) -> tuple[Vec2, float]: + """幸存集最小包围圆(圆心, 半径);按 version 缓存。""" + if self._mec is None: + if not self.alive: + raise ValueError("幸存集为空(该频道已可证明缺席)") + points = [self.cell_center(index) for index in self.alive] + self._mec = smallest_enclosing_circle(points) + return self._mec + + def subsample(self, size: int) -> list[Vec2]: + """按索引序均匀抽取的子采样(索引序≈空间序,代表点空间铺开)。""" + return self.alive_points(limit=size) + + def expected_survival(self, point: Vec2, subsample, + representatives) -> float: + """E[log 幸存占比]:越小该测点的期望信息增益越大。 + + r_eff 不确定性解析积分:dist∈(1000,1500] 时按 r_eff~U(1000,1500) + 取 p_ns=(dist−1000)/500 为 no_signal 分支概率。 + - no_signal 分支:删 B(point, 1000−m),幸存 = 子采样中盘外比例; + - direction 分支:以代表点方位为期望读数,角域 ∩ B(point,1500+m) 内幸存; + - near 分支(dist <= 5+m):可行集收缩到 5m 盘,幸存占比趋近 0。 + """ + if not self.alive or len(subsample) == 0 or len(representatives) == 0: + return 0.0 + if _np is not None and isinstance(subsample, _np.ndarray) \ + and isinstance(representatives, _np.ndarray): + return self._expected_survival_vector(point, subsample, representatives) + eps = 1.0 / len(subsample) + keep_ns = max(1.0 - self.fraction_within(subsample, point, + self.r_eff_min_m - self.margin_m), + eps) + log_keep_ns = math.log(keep_ns) + total = 0.0 + for rep in representatives: + dist = math.hypot(rep[0] - point[0], rep[1] - point[1]) + if dist <= self.near_radius_m + self.margin_m: + total += math.log(eps) + continue + p_ns = min(1.0, max(0.0, (dist - self.r_eff_min_m) + / (self.r_eff_max_m - self.r_eff_min_m))) + reading = math.atan2(rep[1] - point[1], rep[0] - point[0]) + survivors = 0 + for p in subsample: + if math.dist(p, point) > self.r_eff_max_m + self.margin_m: + continue + gap = angular_gap(math.degrees( + math.atan2(p[1] - point[1], p[0] - point[0])), + math.degrees(reading)) + if gap <= self.half_angle_deg + _ANG_EPS_DEG: + survivors += 1 + keep_dir = max(survivors / len(subsample), eps) + total += p_ns * log_keep_ns + (1.0 - p_ns) * math.log(keep_dir) + return total / max(len(representatives), 1) + + def fraction_within(self, samples, point: Vec2, radius_m: float) -> float: + if len(samples) == 0: + return 0.0 + reach = radius_m + _DIST_EPS_M + if _np is not None and isinstance(samples, _np.ndarray): + distance = _np.hypot(samples[:, 0] - point[0], samples[:, 1] - point[1]) + return float(_np.count_nonzero(distance <= reach)) / len(samples) + count = sum(1 for p in samples if math.dist(p, point) <= reach) + return count / len(samples) + + def expected_posterior_radius(self, point: Vec2, subsample, + representatives) -> float: + """一次测量后期望后验半径(米):选点主指标,直指清除证书阈值。 + + 对每个代表假设(真值候选)按 r_eff~U(1000,1500) 解析积分 + no_signal/direction 分支,near 分支(dist <= 5+m)后验为 5m 盘; + 各分支半径用幸存子采样的质心最大距离近似(偏差 << 格距,排序用)。 + 与几何版 worst-posterior 同族,但作用于含负观测的非凸幸存集, + 且以期望代替最坏(代表点覆盖幸存集主轴)。 + """ + if not self.alive or len(subsample) == 0 or len(representatives) == 0: + return 0.0 + if _np is not None and isinstance(subsample, _np.ndarray) \ + and isinstance(representatives, _np.ndarray): + return self._expected_posterior_radius_vector( + point, subsample, representatives) + eps_radius = self.spacing_m / 2.0 + total = 0.0 + for rep in representatives: + dist = math.hypot(rep[0] - point[0], rep[1] - point[1]) + if dist <= self.near_radius_m + self.margin_m: + total += self.near_radius_m + self.margin_m + continue + p_ns = min(1.0, max(0.0, (dist - self.r_eff_min_m) + / (self.r_eff_max_m - self.r_eff_min_m))) + members_ns = [p for p in subsample + if math.dist(p, point) > self.r_eff_min_m - self.margin_m] + reading = math.atan2(rep[1] - point[1], rep[0] - point[0]) + members_dir = [] + for p in subsample: + if math.dist(p, point) > self.r_eff_max_m + self.margin_m: + continue + gap = angular_gap(math.degrees( + math.atan2(p[1] - point[1], p[0] - point[0])), + math.degrees(reading)) + if gap <= self.half_angle_deg + _ANG_EPS_DEG: + members_dir.append(p) + r_ns = self._branch_radius(members_ns) if members_ns else eps_radius + r_dir = self._branch_radius(members_dir) if members_dir else eps_radius + total += p_ns * r_ns + (1.0 - p_ns) * r_dir + return total / max(len(representatives), 1) +\end{lstlisting} + +\subsection*{问题三:信息增益选点与滚动任务排序} +统一任务表由站点扫频、定位测量与清除三类任务组成,每执行一项即重排;定位点按期望信息增益加移动代价评分。 + +\noindent\small \texttt{BayesLoop}:问题三闭环:网格候选集的正负观测更新、信息增益选点与滚动任务排序。 +\begin{lstlisting}[style=corecode] +class BayesLoop(OmnidirectionalLoop): + """问题3贝叶斯闭环:负观测感知 + 信息增益选点 + 滚动任务排序。""" + + def _build_tasks(self) -> list[Task]: + tasks: list[Task] = [] + for index, point in enumerate(self.ledger.points): + pending = self._fused_channels_at(index) + if not pending: + continue + switches = len(pending) - (1 if self.client.state.channel in pending else 0) + tasks.append(Task("station", tuple(point), + self.config.cost.measure_s * len(pending) + + self.config.cost.switch_s * max(switches, 0), + station_index=index, station_channels=tuple(pending))) + for channel in self.belief.channels_by_status(ChannelStatus.DETECTED): + cert = self._best_certificate(channel) + if cert is not None and cert.certified \ + and channel not in self._clear_failed: + tasks.append(Task("clear", cert.center, + self.config.cost.clear_success_s, + channel=channel)) + continue + if self._defer_to_station(channel): + continue # 下一条方位线可由"本就要去的站点"顺路提供 + point = self._select_point(channel) + if point is None: + continue + tasks.append(Task("locate", point, + self.config.cost.measure_s + self.config.cost.switch_s, + channel=channel)) + return tasks + + def _execute_station(self, index: int) -> None: + """单站批量扫频:只测待测频道(跳测规则已过滤),扫完即返回重排。 + + P0-1:本站同时测量"已发现未定证"频道,使第二/第三条方位线在巡回 + 途中顺路取得;证书一旦成立即就地清除,不额外绕行。 + """ + point = self.ledger.points[index] + pending = self._fused_channels_at(index) + unknown = [c for c, b in self.belief.channels.items() + if b.status is ChannelStatus.UNKNOWN] + self.skipped_measures += len(unknown) - len( + [c for c in pending if self.belief.channels[c].status + is ChannelStatus.UNKNOWN]) + # 当前频道优先,减少换频;同站 near 直接清除不打断扫频 + pending.sort(key=lambda c: (c != self.client.state.channel, c)) + for channel in pending: + if self.stop_reason is not None or self._count_limit_reached() \ + or self._virtual_cap_reached(): + return + detected_before = (self.belief.channels[channel].status + is ChannelStatus.DETECTED) + outcome = self.client.measure(point, channel) + self.ledger.mark_measured(channel, index) + self._record_measure(channel, point, outcome) + if outcome.result in (DIRECTION, NEAR): + self._may_clear.add(channel) + if outcome.result == NEAR: + region = self.belief.candidate_set(channel) + cert = clear_certificate(region, channel, self.config) + if cert.certified: + if self._attempt_clear(channel, point, cert): + self._clear_failed.discard(channel) + else: + self._clear_failed.add(channel) + self._may_clear.discard(channel) + else: + self._anomaly("near_without_certificate", channel, position=point) + continue + if not detected_before: + continue + if outcome.result == NO_SIGNAL: + # 该频道已被发现:保证接收盘内不可能 no_signal,属守恒性异常 + region = self.belief.candidate_set(channel) + safe = (safe_disk_radius(region, self.config) + if region is not None else -1.0) + if safe >= 0 and math.dist(point, region.mec()[0]) <= safe: + self._anomaly("no_signal_in_safe_disk", channel, + position=point) + continue + cert = self._best_certificate(channel) + if cert is not None and cert.certified: + if self._attempt_clear(channel, cert.center, cert): + self._clear_failed.discard(channel) + else: + self._clear_failed.add(channel) + self._may_clear.discard(channel) + + def _record_measure(self, channel: int, position: Vec2, outcome) -> None: + """belief(凸证书)与 PF(幸存集)同步更新;PF 空即证缺席。""" + self.belief.update_measure(channel, position, outcome.result, + outcome.svd_deg) + # 同一 0.5m 测点 × 同一频道的重复检测:历史上一次官方演练有 98.84% + # 的虚拟时间耗在空复扫上,本计数是该问题的回归指标。 + key = _point_key(position) + seen = self._measured_points.setdefault(channel, set()) + if key in seen: + self.redundant_rescan_measures += 1 + seen.add(key) + self._clear_failed.discard(channel) # 新证据落地:允许再次尝试清除 + belief = self.belief.channels[channel] + if belief.status in (ChannelStatus.CLEARED, ChannelStatus.ABSENT): + return # 已证毕:清除/缺席后的 no_signal 与距离无关,不进 PF + pf = self.particles[channel] + pf.apply_measure(position, outcome.result, outcome.svd_deg) + if not pf: + if belief.status is ChannelStatus.UNKNOWN: + self.belief.mark_absent(channel) + self.absence_evidence[channel] = "pf_empty" + if channel not in self.pf_absent_channels: + self.pf_absent_channels.append(channel) + else: + self._anomaly("pf_empty_while_detected", channel, position=position) + self._apply_count_bound() + + def _best_certificate(self, channel: int) -> ClearCertificate | None: + """凸证书优先;负观测挖洞使 PF 幸存集更紧时用网格证书补位。""" + region = self.belief.candidate_set(channel) + cert = clear_certificate(region, channel, self.config) \ + if region is not None else None + if cert is not None and cert.certified: + return self._near_clear_target(cert) + if self.config.bayes.grid_cert_enabled: + pf = self.particles[channel] + if len(pf): + center, radius = pf.mec() + limit = (self.config.field.clear_radius_m - pf.margin_m + - self.config.search.clear_margin_m) + if radius <= limit: + return self._near_clear_target( + ClearCertificate(channel, center, radius, limit, True)) + return cert + + def _select_point(self, channel: int) -> Vec2 | None: + """定位测量点:期望 log 幸存占比 + λ·移动时间 最小的候选。""" + context = self._probe_context(channel) + if context is None: + return None + candidates, info_score, center, position = context + bayes = self.config.bayes + + def score(q: Vec2) -> float: + # 一次定位后仍需接近源才能清除;仅计到检测点的移动会偏好绕行。 + move = bayes.lambda_move_s * (move_time(position, q, self.config.cost) + + move_time(q, center, self.config.cost)) + return info_score(q) + move + + return min(candidates, key=lambda q: (score(q), _point_key(q))) + + def _localize_and_clear(self, channel: int) -> bool: + """阻塞式定位子循环(resolve 阶段安全网):PF 选点,失败退凸选点。""" + search = self.config.search + self._may_clear.add(channel) + for _ in range(search.max_localize_steps): + if self._virtual_cap_reached(): + return False + cert = self._best_certificate(channel) + if cert is not None and cert.certified and channel in self._may_clear: + if self._attempt_clear(channel, cert.center, cert): + self._clear_failed.discard(channel) + return True + self._clear_failed.add(channel) + self._may_clear.discard(channel) + continue + point = self._select_point(channel) + if point is None: + region = self.belief.candidate_set(channel) + if region is None: + return False + point = select_measurement_point( + region, self.client.state.position, self.config).position + outcome = self.client.measure(point, channel) + self._record_measure(channel, point, outcome) + self._may_clear.add(channel) + if outcome.result == NO_SIGNAL: + region = self.belief.candidate_set(channel) + if region is not None and safe_disk_radius(region, self.config) >= 0 \ + and math.dist(point, region.mec()[0]) \ + <= safe_disk_radius(region, self.config): + self._anomaly("no_signal_in_safe_disk", channel, position=point) + cert = self._best_certificate(channel) + if cert is not None and cert.certified: + if self._attempt_clear(channel, cert.center, cert): + self._clear_failed.discard(channel) + return True + self._clear_failed.add(channel) + self._may_clear.discard(channel) + return self.belief.channels[channel].status is ChannelStatus.CLEARED +\end{lstlisting} + +\subsection*{问题四:朝向候选、可见性选点与网格遍历清除} +每个幸存格附朝向档掩码构成联合候选集,可见性权重用于探点排序;定位停滞时以 $20$ m 方格遍历清除兜底。 + +\noindent\small \texttt{JointBelief}:单频道的位置与朝向联合候选集;朝向分 $24$ 档,负观测只在整格必落在最小接收半径内时才约束朝向。 +\begin{lstlisting}[style=corecode] +class JointBelief: + """单频道 (位置 × 朝向) 联合可行集。""" + + def is_absent(self) -> bool: + """联合集空 ⟹ 该频道不存在源(真源保留定理的二维推广)。""" + return not self.position.alive + + def sample(self, size: int = 256) -> list[int]: + """均匀抽样幸存格(评分用;证书始终用完整集合)。""" + cached = self._sample_cache + if cached is not None and cached[0] == self.position.version: + return cached[1] + alive = sorted(self.position.alive) + if len(alive) > size: + step = len(alive) / size + alive = [alive[int(k * step) % len(alive)] for k in range(size)] + self._sample_cache = (self.position.version, alive) + return alive + + def expected_posterior_radius(self, reader: Vec2, size: int | None = None) -> float: + """一次测量后的期望后验 MEC 半径(米);D1 值函数。 + + 与 :meth:`ChannelParticles.expected_posterior_radius` 同族,差别只在 + no_signal 分支概率:定向源不仅会因距离 > r_eff 静默,还会因朝向遮挡 + 静默,因此 + + p_vis(p) = P(r_eff ≥ |p−q|) × cover_ratio(p, q) + + 其中 ``cover_ratio`` 是该格朝向掩码中"可能覆盖 q 方位"的档位占比。 + 分支半径语义: + + - direction(可见,非 near):读数为 q 处的方位 ±δ,后验收缩到该方位 + 楔形与当前可行集之交,半径取幸存子采样的质心最大距离; + - no_signal:定向源的静默**不删空间候选**,位置后验半径保持当前值; + - near:后验为 5m 盘。 + + 返回值只用于**选点排序**,不参与任何安全判定;证书仍由凸/网格口径给出。 + """ + pf = self.position + if not pf.alive: + return 0.0 + if size is None: + size = self.config.bayes.score_subsample + indices = self.sample(max(2, size)) + if not indices: + return 0.0 + stride = max(len(indices) // max(self.config.bayes.mc_representatives, 1), 1) + representatives = indices[::stride] + if _np is not None: + return self._epr_vector(reader, indices, representatives) + return self._epr_python(reader, indices, representatives) # pragma: no cover + + def prob_detect(self, reader: Vec2, size: int = 256) -> float: + """在 ``reader`` 处能看见任一可行 (位置, 朝向) 的概率质量(启发式)。 + + r_eff ~ U[1000, 1500] 解析积分;朝向按可行档位占比计权。 + 只用于选点排序,不参与任何安全判定。 + """ + cells = self.sample(size) + if not cells: + return 0.0 + total = 0.0 + span = self.field.r_eff_max_m - self.field.r_eff_min_m + for index in cells: + gx, gy = self.position.cell_center(index) + distance = math.hypot(reader[0] - gx, reader[1] - gy) + if distance > self.field.r_eff_max_m: + continue + if distance <= self.field.r_eff_min_m: + p_range = 1.0 + else: + p_range = (self.field.r_eff_max_m - distance) / span + if p_range <= 0.0: + continue + bearing = math.degrees(math.atan2(reader[1] - gy, reader[0] - gx)) + cover = _COVER_TABLE[_table_index(bearing)] + bits = bin(self._mask(index) & cover).count("1") + if bits: + total += p_range * bits / HEADING_BINS + return total / len(cells) + + def apply(self, station: Vec2, result: str, + svd_deg: float | None = None) -> None: + """按读数更新联合可行集(保守,真源 (位置, 朝向) 永不被删)。""" + if result == DIRECTION: + self.position.apply_measure(station, DIRECTION, svd_deg, + directional=True) + self._apply_heading(station, keep=True) + elif result == NEAR: + # near 同样要求可见(评测机先判朝向再判距离) + self.position.apply_measure(station, NEAR, directional=True) + self._apply_heading(station, keep=True) + elif result == NO_SIGNAL: + # 距离阈值必须取**保守侧**:只有"整格都必然落在 r_eff_min 圆盘内" + # 时,no_signal 才一定由朝向遮挡解释。格心到格内任一点 ≤ margin, + # 故阈值取 r_eff_min − margin;取 + margin 会把 1000~1010m 的模糊带 + # 也当成"必须不覆盖",从而可能删掉真源的朝向档(破坏真源保留性)。 + self._apply_heading(station, keep=False, + within_m=max( + 0.0, self.field.r_eff_min_m + - self.position.margin_m)) + else: + raise ValueError(f"未知测向结果: {result!r}") + + def summary(self) -> dict: + """联合集规模快照(写入策略 summary,供审计与论文复算)。""" + cells = self.sample(256) + bins = [bin(self._mask(index)).count("1") for index in cells] + return {"cells": len(self.position), + "sampled_mean_heading_bins": (round(sum(bins) / len(bins), 2) + if bins else 0.0), + "heading_bins_total": HEADING_BINS} +\end{lstlisting} + +\noindent\small \texttt{DirectionalExtension}:问题四闭环:定向覆盖计划、遮挡解释与网格遍历清除兜底。 +\begin{lstlisting}[style=corecode] +class DirectionalExtension(OmnidirectionalLoop): + """问题4混合源闭环(P5):全向基线 + 定向观测处理 + 后备清除。""" + + def _localize_and_clear(self, channel: int) -> bool: + """定位子循环:选点测量收敛候选集,拿到清除证书后清除。 + + 与 P4 的差异:保证接收盘内的 no_signal 说明探点被朝向遮挡 + [观测推理],走"对跖复核 -> 环探"升级梯子(不计入定位步数, + 由 max_blocked_probes 限流),之后仍未收敛再转后备清除。 + """ + search = self.config.search + self._may_clear.add(channel) + steps = 0 + while steps < search.max_localize_steps: + if self._virtual_cap_reached(): + return False + region = self.belief.candidate_set(channel) + if region is None: + return False + cert = clear_certificate(region, channel, self.config) + if cert.certified and channel in self._may_clear: + if self._attempt_clear(channel, cert.center, cert): + return True + self._may_clear.discard(channel) # 证书失败:补测后才可重试 + continue + if len(self.blocked_probes.get(channel, [])) >= search.max_blocked_probes: + break # 梯子用尽仍被遮挡:定位停滞,转后备清除 + point = self._next_probe(region, channel) + within_range = (math.dist(point, region.mec()[0]) + <= safe_disk_radius(region, self.config)) + outcome = self.client.measure(point, channel) + self._observe(channel, point, outcome.result, outcome.svd_deg) + self._may_clear.add(channel) + if outcome.result == NO_SIGNAL: + if within_range and channel not in self.directional_observed: + self.directional_observed.append(channel) + self.blocked_probes.setdefault(channel, []).append(point) + continue # 盘外无信号也可能是距离不足,不据此断言定向 + self.blocked_probes.pop(channel, None) + steps += 1 + if self.belief.channels[channel].status is ChannelStatus.CLEARED: + return True + region = self.belief.candidate_set(channel) + if region is None: + return False + cert = clear_certificate(region, channel, self.config) + if cert.certified and channel in self._may_clear: + if self._attempt_clear(channel, cert.center, cert): + return True + self._may_clear.discard(channel) + return self._fallback_clear(channel, region) + + def _observe(self, channel: int, point: Vec2, result: str, + svd_deg: float | None) -> None: + """同步更新凸候选集与 (位置 × 朝向) 联合可行集。 + + 联合集只在频道首次被看见(direction/near)时建立:从未被看见的 + 频道由覆盖证明负责缺席,不需要朝向维度。联合集一旦为空,直接给出 + 该频道的缺席证明(严格,与覆盖证明同一条件),可提前停止对其检测。 + """ + self.belief.update_measure(channel, point, result, svd_deg) + if not self.config.search.directional_joint_belief: + return + joint = self.joint.get(channel) + if joint is None: + if result not in (DIRECTION, NEAR): + return + joint = JointBelief(self.config) + self.joint[channel] = joint + joint.apply(point, result, svd_deg) + if joint.is_absent() and self.belief.channels[channel].status \ + is not ChannelStatus.CLEARED: + self.belief.mark_absent(channel) + self.absence_evidence[channel] = "joint_empty" + if channel not in self.joint_absent_channels: + self.joint_absent_channels.append(channel) + + def _next_probe(self, region: CandidateRegion, channel: int) -> Vec2: + """定向遮挡下的探点升级梯子 [工程]。 + + - 未被遮挡过:worst-posterior 选点器(保证接收盘内); + - 第 1 次被遮挡:对 MEC 圆心取对跖方向,偏移裁进保证接收盘; + - 之后:绕 MEC 圆心、半径 = ρ 的环探,方位自首个被遮挡点起 + 每次 +45°。几何边界必须如实陈述:环上可见弧没有下界—— + 源可位于环上(|g-c| = ρ)且朝向沿外切线,可见集退化为单个 + 切点,固定步进环探可以全部漏过。梯子只提高提前命中概率, + 不构成接收或命中保证;完备性完全由后备清除兜底。 + """ + visibility = self._visibility_probe(region, channel) + if visibility is not None: + return visibility + blocked = self.blocked_probes.get(channel, []) + center, radius = region.mec() + if not blocked: + return select_measurement_point(region, self.client.state.position, + self.config).position + safe = safe_disk_radius(region, self.config) + first = blocked[0] + if len(blocked) == 1 and safe >= 0: + dx, dy = center[0] - first[0], center[1] - first[1] + norm = math.hypot(dx, dy) + if norm <= 1e-9: + # 首个被遮挡探点恰在圆心:方向信息为零,沿 +x 走满安全盘。 + return (center[0] + safe, center[1]) + scale = min(1.0, safe / norm) + # 对跖方向,偏移模长 = min(norm, safe):圆心对称点裁进保证接收盘。 + return (center[0] + dx * scale, center[1] + dy * scale) + base = math.atan2(first[1] - center[1], first[0] - center[0]) + azimuth = base + math.radians(45.0 * (len(blocked) - 1)) + return (center[0] + radius * math.cos(azimuth), + center[1] + radius * math.sin(azimuth)) + + def _fallback_clear(self, channel: int, region: CandidateRegion) -> bool: + """定位停滞的后备:候选集有限圆盘覆盖逐格清除(格数即请求上界)。""" + search, session = self.config.search, self.config.session + width = max(p[0] for p in region.polygon) - min(p[0] for p in region.polygon) + height = max(p[1] for p in region.polygon) - min(p[1] for p in region.polygon) + cells = fallback_clear_cells(region.polygon, self.config) + entry = {"channel": channel, "cells": len(cells), + "bound": fallback_cell_bound(width, height, self.config), + "posterior_radius_m": round(region.mec()[1], 3)} + self.fallback_log.append(entry) + if len(cells) > search.fallback_max_cells: + # 宽候选集盲扫违背预算纪律:留待定位收敛,不得硬扫 [计划§4]。 + entry["outcome"] = "skipped_cell_cap" + self._anomaly("fallback_cell_cap_exceeded", channel, + cells=len(cells), cap=search.fallback_max_cells) + return False + # 现实预算核对:N 次请求 × 单请求高分位估计 + 退出余量,不足不启动。 + remaining = self.client.real_remaining_s + if remaining is None or len(cells) * session.real_rtt_p95_s \ + + session.reserve_exit_s > remaining: + entry["outcome"] = "skipped_budget" + return False + attempts = 0 + order = self._fallback_order(cells) + for cell in order: + if self._virtual_cap_reached(): + entry["outcome"] = "skipped_virtual_budget" + entry["attempts"] = attempts + return False + attempts += 1 + outcome = self.client.clear(cell, channel) + if outcome.result == CLEAR_SUCCESS: + self.belief.mark_cleared(channel) + self.cleared.append(channel) + entry["outcome"] = "cleared" + entry["attempts"] = attempts + return True + # 候选集保守包含真源,格心距格内任一点 <= 10*sqrt(2) < 20m:全部 + # 失败说明守恒性被打破,按异常留痕,不得据此删除候选。 + entry["outcome"] = "exhausted" + entry["attempts"] = attempts + self._anomaly("fallback_exhausted_without_success", channel, + cells=len(cells)) + return False +\end{lstlisting} + \endgroup diff --git a/docs/paper/figures/q4-plan.tex b/docs/paper/figures/q4-plan.tex index fd521ed..45597a9 100644 --- a/docs/paper/figures/q4-plan.tex +++ b/docs/paper/figures/q4-plan.tex @@ -46,5 +46,4 @@ \node[anchor=west,align=left] at (3250,900) {圆域:源位置先验\\蓝点:31个检测站}; \node[anchor=west,align=left] at (3250,-700) {部分站点在圆域外\\用于接收向外发射的源}; \end{tikzpicture} -\caption{第四问集合覆盖模型得到的31个检测站及源位置区域。} -\label{fig:q4plan}\end{figure} +\caption{第四问集合覆盖模型得到的31个检测站及源位置区域。}\end{figure} diff --git a/docs/paper/main.pdf b/docs/paper/main.pdf index b625489c267f9c0e11cde72aacdceabad45d0f0e..2315e8a867bd67b9a6cb7b490e5eec315294989f 100644 GIT binary patch literal 2024688 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

o17hzuqTQqdr@oEf4d-RCJC=wj#nf#<8gu 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

PEE9X+WGfUw0kqXpG^Ef!`ro4`DzXNW1Uu?E#Y( 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

@Hs9L6i+s8JUku?dQ0T*R4=2J#hv=mYj(Jqu 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 z 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 z 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 B>G+Uc< z+_`k(<*865A@+>f-Ww9E8baLnATVvZwacp94_621CidJ3KZv|g?^cxre(gbU=43wx zniMCc`$o@0S;Eh zK1EE%t&rkDH*SAwAZiyiX$*h`jJzbaadeF_O1+*hfA%yu+S^YHB3`M zVl$k4efRAk(A|K;{em-d=@WJQRH298O@lplS=x_Hjl7a#Z@nk&vzgAQ*|@Q8GALI| z+(&S|EbV5jh>lEtnl)Od}-KDK&U3#L9sDrB<2g$`#`GWY2DxAgfO8WC;75 zKd++|YX5s_az%xrVB)8|SG?G-;l=1@uxq7L!?H+>qng}51%kzl7>eX2@Kgcp($ygC zeCpKtEn8lTu4Q_|w6lEm*A?Pl2m1R3##oZ}itPGqdq=);8E&3usWxLs`&#t|r`566 zR?eRCf)b?kosS03ZrHG~V`rgBhRFRNET#;ZBrEfmkBm5cG@~}jE}zib<^RY{4e^-Y z1=fX`VnMLoGk&h+4l$w6AQep-+<)BE@CE=m@_V3LfBm|3BC+>Pve@Q6bYXlvViAKz zcX5Z1lQD{h7;8+tKYkI6_?&<9KoHHHSsDuZ=Q^u0c&obiA~zguNrYueT^|h#!r8Ah zvi92C2KZ+vb}})wtf=xj(fQP-3}-m&oGzKodSS&^YG^52_*<&{Xb;FemALPSb%KPu z|1}c#W3st|dC8CbvH1+Q2W9F;{Lv!DT)eN_O8BQr>Sm&yHgs~X45EG9GqksGDB~}^ zt4HJ7Hx(K0cX`$xTSR_ASwAVXHP-#Nr~+L)NlTql-hTUGmg$3tJ7=`jeaesSTnJC; zc=OsLD|x+D4@(XMIbq}|UdiOc|Je1!F|Gx;WA4t-mZz7NqC902YlR7sPeEa!S>AbS zcr+*H&Lz*?QO_ca)4ZOE>D+E^ZjKJ${WrnX=0SG$E{Pq2GRDv# z(r>|kAdRzondq!tx3`}GfFjk(>DEd~a$LAyW)VrWv0{DL#e)OcrJ`2U=*Z{?{Elv# zAKCB4zf>Aftf@^258X1~q4?WmuH*i5)=pYO$DGd3S!Kt{C80LFaw8!h3fQ#fxja>e z%ZDePC4L{7`qJ^vo}xTslDap0T(%}qms*~`7|xR*Ez@@NNe=h|AsAy6a=G%~KaN(e zwnY0+R~d3Kb!pLT{}Z;R&9BRY4X+Rm2~Agb{;5+Wkum`;`PxFTH$M9p9nyxgj2yo1 z%8}GUsgCnwWr7u9)s5W{sv@pbDf&T7#)GHWb(K()cX_zE8R@Q#qJK9=vl_#bmw^%9 z!Ul=QCO!BbyT5`^yuTAR6h!lcujwWw-^c0c!ps?tyGM|}dh;$_W(DQxP`XRepX7@<$w?36rhux*d+83Kj z+iX=PXYOXI3np2nNQZtaeWE^m%i%}0g=g8lg(ix zoofWe#?}ERlg4;?{wJ;WQxHyO-$}maf27RUgR*Bw?$`8lo5?a-8p6IP-E<4*xojGj z91p?7Y@hefp7lUOW}r9`80P;?hA?}Q1@gaiJvyTX!tPxLWWZcNsQID&mnn4k@DReC zAw3x`US9FBS-3R`VYIlWV~=)Li5jHQj>Pgb>>H9-rah9tW+ z?V4w8b@lGS!@*;vvIZVn3lt5{!@>hG&!gMY1gt!t-5h$`=e(gy#`U7v%PyxUUhHR; zi&L1XFLkanC_eLLa}Apl>)2k`>?|$+&e%*Y2%@&Xh?4&Lhg9~PGIQ|cKG8hIZP(KT zB0qzOzF7;COrd-L%=7jW+wj(gb>`FXjd)d4e7+_vsxuidD4GTcJ(!hY&(gU<7 zN3!LlrAuJtb*HH&P)b^K#w!;{PmKg80G$o@VlQ95+`j`YtO*D<-2jT*L-}BXqMQ=v zKl(%C;9pE{G|^}ME8$7l4kN}kHRFA)PqUuI+v3eIvE5OuYH9Ou+&uH)XT^=LoD<|* z8{2}B50W>9eF^xcQI4a_1Q?^UW`h-p8+cSzyp`47L#D3(?gy?NgE zo123@QXbtp&DFL0!Sk!kxt(Gn=-5+?GK-yH=e<&WgXxNY>~m(0no7Q^3~);USF{t4 zs_)@cr5VX*@vy#N`BML$&(zr1I6@EY^6%$3xmV3BF?0km!%(Hcy`dvhX$B?NKqqup z*Vu%G)6tz;J$3~6=cxJ+jCvSO2*Xa_GUpD%-J|EjN~WjAoIw}3y`TJ zYz-ulUn8F<;_v;PeTc{GgF)wXkjZ3%n9c!;qQl1@`4t7x7b?_Uq*qgdnjTkjSC~dV zu-BL!Z2lmeI*M1XMGYhTJ$$p^pPiG(?;=EufBq<;L%ofc)UKNmg!voGdF2~v6~mrYLS>VmiaxPnjVqv1x_xuno2Ztc9 zY(7kqp$e{+?%#@_*`e_*QE6&4yyZ!L>trVSYg}*=agC&&5T7GVq3RRj4Z zv426AoSQoO_{`y5N*AzQeVdo@!ZxAl!I7RV7ZHa`aYCgv!DrOxL^si4{@YXRurcpg zb9yMVve&o_9%%A@77JI3{VxMI$9~(s+WNpZkrxb+BP;_e!4> zlG@U`E{2gs-8#Kpf^Wecoe2O|z@HCK!;58ZrKPnrr!s^?+72UhPm;B{aB^49_gl21 zF;yT)7YPnJTuO>f7&YS1qds^b)0~ZBy8f#>(;E-88~79eEi889MSCWiEQ~z{V9$gI z%q{N&2`ppu%iG%dw`76XS-6&=PpSn6@DioViFSS zI*s^*1hjWh-u8$cd93+bV+yK!L__6Y-yWr1=nW1IR{r_vZ=~3$_BEz0-F8)q8XpPg z0{qLoYSr!ZhMTu;$!(FMt;&9PG@+FK^C_NgzzWU8lePY_t6c;(O4ZTo$NJyM_JuaN z^$w+QSC%SzF0BL{W!(#h2k9c><6fH#LmTLdbuA;gwZcPO z-vs2IzZbZQ10l;opmgGQI@Lskvu+aKC$oug#%%$Xkpc7KF1uj5S@(tMgx=6;7Mzg` z?@TE3JDz!yE+Ho@EdlvK`a9B+=wj=o8FLAQ{AJi|B_SZ7In=$(KED{nU4j1|!c>)g z_b{+q_o}^sZ$KXgp6!Dsl#@9Rvj4^eh4iKsYT0l^yJ)IDG~56Er7@)+SryR$=GR~T zYgGC+YafsnF8wq=Yd{sjUmn|o%u0I@yUAL}kH64$fF;+ON!8*_rjc+@Tw%-2;9wT^ z+z0(tXe~sO&ODpX4Hh&#H^z)m)oH=$|YItf~_8*|REvQJ^^+(Wz} z!*00S9kt*5Q@Wz0#9MqK~UI!{V2Xl95o{0#iy_rOVTIhK8QEi zTI8j0n{?6KoL`T<(6%Cw`dC1-a3-G~YPRjK z4kLiPR~|JNAR88O45TUcYLBA{c}TyZhBTdPg+o}mEMo$%n#@^Yq=Q`(obb&%HZd{@cppQG@v^qVQ&(I{0^Ryosdu?-+1JvjcIO7v+2WS8=A8a3UW%v|< z17(=7ALR8*etV{$IprY0V(_w2e*K6@mXA)~bZRj@c<=?f7mSSRE*=EhP*Q?^k1U+f zgkf(Nx;4Kzc3lby2?3rh>N*Gp30A2-&&z9am-@maXb9SBcqPR6jidMMoJZ^AHm~3; z+C-)p0X7$=T>x;6Uy+;3fHej18e`>fDpmHx^FY|=@+8VsHQW*Lfgh1<`p-8mxO}uM z?U0u@SN6t1MOeKdnc$gVFnFX-hiG{|4gZYi$Hb=fB|M89$7vKE81Gu4s~ak!_s6*M zyQcnzR@SnQQ4GD;^^eG2@sp`P^!&cQCuJ*`rx|~|lYMG)vvF$X*H zr;4MlV9!)9c%idDvlAUiW&VTFtELINWy1L35Ued=qr%O}316enAZlK{e3=M`CL9UD zfui6)c9*)=`*=tGS{Z_;Cb50{)B5^s;7Ncf*R3SHW4_T94?5I@3lg9n_!xjnXh%bx zI1Nk;n_90t61M8r$$uSR2U5sTK#2#s8^^AzFq%?-8gb(J^1GL?yJ!)up{8L~E zuTtzrX{O{`YcKvulD54yK6HQw?ZhAe=g|j+ISgo;;Bya3QsoSVhN1vivF^jAi~GFi znnEPW@4Dl>op|b<@V28LY&RU+*uLTP24;>ALgw!}Uf=g+4=M7|@A^&p{dHuhdpIG+ z)ZM6yP1)*4yP1_j#d{^?QvT16^s98P`z}|we%J_jVok1)@G+L!l(eX|gg#=p45Wjm z<0<<_LXZv92P0$SNSTyHhn=PDKBGmS(b{R!zA`0l`7qXLaWm1GjMY)iU(ENI^?vEe zDi-)TS&9VIIChnq6D#(N<13S491zl{kDx;ZmS~b^-fTbd2c?P}x!BEm*HOW76;W%$}`w7!uR*|rybZ#XrDm{0j3U1kCvOB>vD*34-+6MZmQ^T z4TPbNKLRBJ07Cb%VgyqJsvaA*gC`-TcYMC578MPAUW}D@zH4ediv}e$-0o?8$GixU zOrY35S$VG@VcwXmORbT3P5l^D6*Ln?p!x8IN@W@J_^;~ zBOB>$q>xnHZ4&c!f>2pH39XAJ(ZpfAue+(q6;cAEgPr+jqb0wh(WOk=|4!}`7^Rir z2&J05b@lRMXJ(Fpvl3syO-uWHUjY9FJGxe%2}FzB?~#ImKOcr*=AUzh0i+J5Z=dN- zd@w_4k_Y1fm_QlOch`B`li0CMM4w>eDPh)q3JR-DxmRTtYtS6S>az@!*NSZ zxwn_Bl{SLzq@5}E0z2<0`Y>>mpkd4t(k;Xj_;uwaK#y|!_VL$Ly>SePm_i3?wF*0k zO7pRqA+Wq~VR;8(U0LY5(E;@}OojY`>|%s(it^uqK|z##K5zPo3;*rJJZ#)*JXA*UO_9YElF|b{TJouMBPpdmxQ!*65Fs zg}1%+#%1dW-1W+V*;D?=R5wE~uT6(e76L8kgZFX5kU0*c&z&>p2oXq-rq7A@ zsQET3O|QBMzirUSJtqZ^?M8#>sgoz8APCwU2;zXdEep*r@u2f1Gv1!zMSdT#WeR5( zlICWl4%)WEzt0m!M@UO7j9Pa?EcrOFaScM-QQQ_HPR=T)DEQT*owB`uz-DpD9$4$O zQ`*7Ku9}llj(N8KtkvY309L{)OYpp5^;IzND^JYBC4kjA%Qt;Zz;P6o!A&tpT1&?h%lH*0 z-yC3P9-GFt1)BN+5#i2NR$fK3y@B(8rYnLc;5K>fFG8`iK1Y3p$=Vz>0E=?FpH(Ym zK7ofAWC#Se5fw$9bDT!5vKknDXen|I;6BSFP9eJz^80)J#ZUf-X~^fexwxpwf^$#1 zVdjsa6%f7<(zl<6r)Ec7hml3TVG0y463N$+q-AB76_jq?SeV;dQ$pd=n43#HZ1U({ z5$#4zA1%@4d{5rx09~>d}Yrpxj(XE^5}fx=*baJ4gJ$w@7D_Ncx$ZQaXyP8 zvarlwHlW|A!ld(qAjCOdyG{uq`*wf4!9eg_9BhsbcTuuhQQ?&tDfDGgXjf5;Hp1>m zl5prCG&(SocmQ|prJ@)WP;>5n6To+Wm=fD>i#(?d59+eAvLIx#?N98QUshJ0f+GQB z1-Aze9y|!Q-iy!#T!}{0H79Qtj6*-l96|ntDncpu1e0pnaX4$5e0|~=wvZ^boJXP* zB$1~VOe!n>*ey7gHk;UB7j^o)-n`0*d8)^^Lp>guU!7H+_W$a$9uo26mTrDaKUNkh zr&n5E|Jq0G=Kd6td{6Cm>gV;+O&p8b=0n8!CZv03`=OpygY|LmA7|d3&vpfwml75d zosh7Vi;J@PSFTCcLUb$pj=dkcMV>s2F6&0sYGXsgH)seylmCsw0 z{mcq}Zf9be;#r_UGNv^pDVd%>w$ARI3e^<-<^M|MRqnP6zBx;a^h-NQq!KOoXCJDEY zw{HpO83+m2^I%tEb_hUZ@}(UMS30$sloldWfBu%DwMf=H*D9W8&1U8$KdRen<% zMY*%%rdj6wG4k}_w;{@VI^+70nGf3gEd*l8+llfYO;@2=Szp156B=C5g2O`M51%~o z^c4RUa?Ec0rsakW8yM=vo+I|pe{bAC?8>A0_W7{sgoQ7O{w?3Gc@XQi5pHZChH7eX zlg^nG+R_-M^G|9Fe%;=2fbdL2m9~nlZ=2vZPuc{T@S7h5?v&X&tR1~o=8Pd|qYq;k z*wlLgZG&TrRNwDI!6g3tCm!40GVWSvsc7+QWj83goruhJoX&ZoL=l0GAgj51S3k*<&Q?! z$-6)La@rl<{$%A}A~t$vFD=zeTfPkT&F<}}^NDDgp!o@}4p=>#@DmpjW(WYSz{B>z?}hNH>Sq z4xCxsUB}knc&Mm*Yp{O!*M|sTj#mX+_Y1^I1rUti;zwtpeQB6P)}@4+hXpm}T>Usd ztD3vZ&i}LqZBV#9Zcn|~>+#2SpWmiBZvOg%SI$w?*Foaf#iRSS?Y?+)v){$co-XCF zAI?2lx8jR^4^s{L2W`{IwCf||21aw~#pAUSCC79<*sKmPcK!2>XId8Ty-dJBazLd% zh|}m$)4|i%*`}R-c(r?#V_$xLp-C<^E;D?^Up%_ECuPSWy`Wus_UChp^;8z5U<-dp zMuc+^pt)+9v3M2ifOWai-y0WUs5F%!l638(-->Dpp6E5FUBK)ue3JA2*)5@bRh+`9 zJk@H(6o#15RPVQ%zT)R9v^5Fg?nA4N#=iLQ&o2bLys{WNRZ{QJ<@BuWqDXsGw7E_8 zm)(daf3sIxc0Dq(Kl;`KL4svo_^9@&E${=w+elTB8qU2J>DzaN)BReF$FSp4Z&uoXB+z)VXFcKsn z1_<}ix{tC_NQPc~3iupK6#yR_e`IH5RCjcgVoO5e4-2%7A1M~~feI^_SjeT3bb;PW zS=zFP@8oI^+eKw2K5KX-m-f#)B3C`!GM|~#b5>ht!r%hM6~ zMwpa{?n zma_Mim3^dLn7eVxM7rnJUjde6igIX|=csjz+DKOV1UZG+EiJ}BW37Q_%^0|G+)H~N zwQiy7fVhgAs}R)B5$3swJXQ!ZQi_h~%|=yd1yM^yMa3mMu;f#hm#=2kUG+8==}HK< zH0$SU+B!O`*Q`-Sm7>0WQ8oG#=PQ!tcewcRKXKNI5twObD@3w^G)REI ze*TKm> zuKZA!d#v{QmdxE&N=nWkC0-oD%Sbe=e7;y#E?m~lB|$Sx$?vjZhAt^}n6LVDpHXJb#{IbQQbuPgUg+=zR(vi zIN)?~Sv+^vGbF@^;|!up<-iLpe3HYq*KsnnrbG}^*2*GaQ}=mrP-xo>Y|0olxc{(HX7XlR~Y7I@hXu z?OFvJk7zg&!foPnh85vB;Nt>2s*eQA*(|)etLqQ2xUkT8wt5fSZ+@8Nj9s44(I;A6`1IklP- zo(bER>OjY&)71%oBsi7t8rj73h0ANFQLU7EaHjo5onWyt_lT3V-fuS>ZGL&Fy07fH zie68QY{>u4yEmUW5Lfbbc%=sV`c64n)&#wW$f&FSwOE##2PB{~7I5H`ER94|Dg6ap zL~{i2AYmhxWs-%|L42u>{NBCQMhBRooI1Q2(UmKVtjmntK#7?nbt64?g%Q1@or0B_zI3l#SLxKGr;C9J-0GH81IxCY#3to2T6g(+zDG6h z((3%_XMe^v(SuItgfE%z3@5~i3m-NvglxmOjpjOa+F30%j)kVu!HzRk}&)k;9u6!-VA(m&9``DS1 z1nYU(nuGnlCtH%_Q7`v*wzL@M*(dTfWFqmTiqr1!i&2OhUZ(yR8!u(%oQBK;x*rSA z!&{VqkA#x~@p+?3WPe^}C_NB!pFe-j*+-0U0lS~-Bzrl28Hx!;4rdpvZDf}=hnQ=N zyte(gHS5X(b;R-J!C`8nfJ~VA$-j|rh1LMghELI!i2JZGvK`PGeDY!yh5GtIpyxhDxRC)xF|UpZ*Rj zjtDQ>9pPpy)-T}?b;C~5h1T&^ix@9wld{y_7r(;X?SYBJzp*Fa%2nbkmg0GNVQwF^ zv_!BO1?GSpXET8QlgBuMQ?L2Zs~03HnOhPcxfLxrfa8I9X3fwze{7RvGTd(ctiM{y zCS=7issT$36ky~q8|`iO1bIY!R8Og5S#&s|U&sOh7ad0)V?e=QgU|uQk$U*>GArIb#smDivVQMpUP&2E??inWsJCMn5sCHhgOq?0Dwj%#*hWMAYvY*6^iY1u8r2Ox^ zk?~&0l#GrYn?r|znAro>X@VW~>b`*Sbjc~NiVGv_mY%S-Cd2lsRFrmw9H?t!Yx+l{ z8Ry_vi`vHsC9bH^Giz%tX_F5y6NR>nwA7BABSiei_5yjdjT=bhtTO1fnS3X zk+6UdcF8~T8vr)ZJ%gCIf_D@S)njQi8uz2OIFM`iSlgNVelQKxB|X3Uy_gvLCTbHS zHFE1ORdq0KCDVr^&eE~6O*4tdH?ic+S}Dq3|2@0EUnOPy^~qCHR~O*!{c~BH;C3{N zLn`;$KKeDV=y1?$#}cfquLoi$xx1pUa4#e#!%tu?YcHyn7T9`)mHVXk*Juf=D6avZ zySjy^n6?X328`@ZDFo)8a|}|Z$_;VeXJ}v2Yv&zS;$2(Tv)yWxNAs(5U$mdzR z3Y0+nGJe@_bidua|0NG6q(5^qsb=qkBO%i60e-ka$0}d&r68$cR~!#0Eg=}&Nw}8v zgEVH!#3HB)KMT3XYG*tN;rOtoIb178Fch+w!;4PF=aMQ zw9q+y=LC1sj_~nhmM|L@I^*u~o}{#MY9hTZqAZh5cg6n8QFjvoc4QXRSAQq;$-2n> zeRW`2m5JLU?-3CZQB*8VsUe1MfgWku3cXs{g`(|$14*qeA(Ey`dZMF5=|6%)d{gqZ zgeJBm@(Xf_3Ob|e#mjfo_r7v{GoEE!+wM;eLS3sp z^8b|cnqoi+49_De2)lDSypXlBZ zVoOA0E!5ZW#cH~S)(F1z$fxMI1>{2vk&}^ve;O=}z{NiWF1>{$BH{}v`}}mpe9g9> zAJ68(rgY~*J*7%Lb1GfCm-a$tH`b5{d;cCaYLjX3>a9%ZZC?$4oE`z}RsU z=6p}PyZvDxj205poMRlt1l1z<%v|J*D6G$}Y8KhPP`)8-E>$;|QkOPR#)+Ncegts?kj#JAS6^t=BP5mlEGWp_&oI+A1j>T#Z8 zsf~koVm!m~_%LM#y*L2DE4oVXGEDEAactQlwk@QoNx>@H1RTIG@*4Wbc1flTW|F5i zO;3roS%J3B$Uru>4IV2^GHNLP@7`&{+~T$?E@F(02h^-RPwAJP7U-;7^>0MBT-cQ( z*KgdAp25`ADBL_VtBgqVGnAoVZjT=)>@^3>@3WqBb89cZP=Xfgkq?qgyO|w7D384l zFJ4`6awqk&kkt9QRGn=z30?b!$V<3tdG`2F%2B8nuSZMd(ejeq6I=G?&#;as9Wgn% z*FkHYFd=y+K0K@su@QF_yYwA$6l=$sh_VX3`-2G5jkQfyPBnFPXHl{ubI)WHm@%D> z7|(}un2nhkOap9lQ7Xf2oznyZR|sMnDCAb+(G-bP=@(5Oj_!Cj*+wE=y&bo$>b;1u z-S}<3s>m~A_MG?1@ zk}4t%f^=GRO6QA_^kXT@nLBNjFGJiqeh1&^>gYYxH^EbKc+CU;MJSduHx+ zueGj!ei=>*zM?T>;mVXw!r_GY`x^u3_8&Ni+uZ6P{G7sn*RGD%P>oxRi+?=;PK9y{ z35-bp%+@Y>#9`C0&h$2aJIP0kSf5%47yU(@$6s)g1>8TTxBehtcrsG?Drg;}LlXD{ zYjn6Mz6^Y1fJuompa&SHbg+cH%>(QCD$H0^nYG3HMZOe0jn1$FJvkm~Wxd@MDlhx{ z7yb_xtP~Qtk~NU8a_QeRJDSueu5Y$#HQ;`fSxJ8KjwdQ5qV_KLTe+K9vn7+( z|DYSM|0;hoKHqVcv20;rG(f$*kj$|C={2j0yNyw(@|X-KJ@>oT0=Z|g|IK81b@2WV zK9*#!<{xjrmcm}1Bb%=RW8V8ow8x<#C`w6G#>WxL#We@A{D}R@lsiBVHVmY`hn@5P zqG0d-3OSMpF!?I=Io3lpA%mGM%eHVb{j4rDI&3sIIKwAKyw)%=^vl~wGROhhzvpME zpf%B%Yobw^;Iw#&M=4y<#-Aw|Y`P>|#iir-V&M3`ey2bcxJZ}(raMvmQS;)xS~Ts+ zyKB3+K)XWNs1QEd*0wV?3-7tkhVs2#7w4_|vS2gHevYIwTSE%F*&i+gO z;O$5XdEVvHrb=w;#-nyR`GT78&GV9pL4k=JU6S+w$6R1Sk!;=EfJ&p96eoNU-3M|>7;rsa(R=k z(V0jQ|3Nrf)6|v!qE&dwvjqZ!S7ARd$`^bH{7`K@6Y^pPt$fL3xj?4xsZrn4mvfbi zS=0^;A2)V(au-)yRpbb%1yzF$2m(I~KhPabmg6j?`tKWeg1d*~;oYx>{Y$D8jiBdS z+~Q?3ILvZ1Kxs4Rh(_sNzwJ0w{2RM48ln?mZE!AJm|KQ(lK0wloTaC8 zpJ8y^CLMrD;o1DprKfF&xH&z{4IWyAYe^4qib3zzy@s~!vU^X+=+cblvMR&(LLTX# z-B9*NdnmsU1nsHLL2Yu7PrOjI@Ui+5BEuvYX17u2(|1Lx?SdY zNl7BpwcL8=F1Zv-u2|*jrm7;fI;Ra{z3I4zOFd`5`EGf64=*&sH3;29pRe+mubXeK zK(>5YsREh$F$|+>+7@(;N0vJcK*RShy<`@LdLF+V8tM+#;Z#P_OQ&u%N%g(0Voro@ z`n4pueOi687O9zJt~9UDTWN$)UH#9G_w&|YBIDh1UauHm{GnLpNbNRW&pSC%QgU$y z$&(uuJUNUjN8yD{WWMM#4lH6Uv8qC`SR2AxGbmMNrtL86<*?vJr*j`>E^mGqij^4|zV7NpbCrRcudOpPi8~>D)7RII zT<(NhU>3#Qso2jeW8Jj%Yz8Z(*8JeGXwUWqQ>22YORD+_tE7!wA9WZi3cItz6(aZ7CT%7=PoZ8|EzA6^P*8lBRawXxPJh=HqI ze=D_2zh%tl?pagkp6-?ei+)%`1KHYAE0Z}kv(#d4`b%}*=tu~d)azQsPlG!Z2^ zLpmq2zxiM;g$(TsW8A*;obWg@?( zBoqQDE7c~@qUr*PYpfp)SLcN*M(EHww?*N&a4B4Z9oj^#>(%)5FH!eMECNsV)>HKS`79 z+a30}FNY{w|6lJh;_rKW|EYgih(yR)_BnwuRXK-z=Y=&+{uzml%rLQ@01lEYg0#x) z>;k>fU6kqS1N(sE5x&aOCl1MWHiyQ?LfipDVK*xdYVQh`JNR_7PMDIK4 z1@`bo2Z=I5wfGNJTa}xwB_$u^V?X7;w;er=m)TC_JCe0byO!nsW5 z34~Tv7$;LY#RaBz)yGdG%+Z(ETpEPkM$BYn5dQ@a7e)SVUm}ilX-@@mwfM%`eA$s` z5zkKYp(q~jHH-Xoomb&b+9TGqIwOWs4!R;<@`}qEno0eYIVUTz)gHA2b>6wv_TEBc z?ju`;-Ur`9Ja`RSR6*)!K-W3f5v&y;yDOt#6{cGGtOazify{lm2qSY^t#k^( zT~UzOM_x5LZ!h?tjWJ2|?_*|Ed6pW6aVxbKpJK)8994L?t=3yG_wktB7wcN6{}3s( z=gBB8A016P#CLe;CZnIvG7}u~U21#nXUBTY2j6cAC%;5jm1grX8EMFXEH}p?>jBKz z-Xw$Y?p{-4BZ0p1Xi$`%+5FFtsAL^Z>6->4i?>7L=fZ=Wt~aDUb>CeHm1JeQ(${=@ zL4xiBi`3G4_sYo@qs$yNR`2(cI}5Ht`n8+9-7S|AM@1&$SKLH;H~OX2ROBv&`VzOe z<7P^yN5KAd#?lMe!FUdwMa!jslu&mW7*5w4h=8*+*o7h23{Y@Su?%pw$|VSESzeaJ zg$o>bJ%yAF;slEPYT#x-#e?lWkH@Y0=S5CRXk~AaYn9IDw3&MT(#FJ0zoCyHfPib$ zW_cf(SKc=IFf~l(FhIDyWLDN-B3J^ux$@&_7b|m7U#WFyY50>u zq#6ZL2k?v_;QCQh+H9rzU~_agmAzUfmcYs$~FK0V}OhE-TOui zpcDoEBAm0R2*_gE>(`-;dMP23T%=r`T^OsvUrpU%r0 zVVA&dYGu6g#roetx8LU`OsI1L3B{RN*+YktEGv}^I0WmZa!yf zE!0a0s-Yl_r&0?QKN!8?as1Rb@d<1o53+S<==L+Iv*S2=J?1Khx3jr(!b(dtpLdp$ zQW9q|vvp{+F)-xg$OOLh;Tx;y`v*{-={v?0MPgmT)j$0QU42P{{~_VBYqw)Lj+(4VTk?< zr@;a?s}RkVHXA!jha-d*E5hQ!i0(`Xhq!9)=2lHrwMWNv&efbu9+d{UP>Gedt6H?n zoUEtV1Ls+`)3;gIp(@5{IOcyxOpqX0YqUU?)xpoyWv9%Q_V=?VHb)s(Gq%a?<0I60`i|wWgOd zk4e1aD+hNV=@;BFH0fr!27t zeJse{16Baez_G1vCEVu!G1>jp^&>C!iuwz?$@D@>75fmf{aTaf!vo3s)NG=f zt;){lTN|#QsJknk+>sWwHVQR1vr}0_C@!dLDv{maXgfv>k2qufMthjQMkur&)QV+I z5_p?P`gQb`?GF`WE&AHJ)DJHgbZaKwcx1U;4dLn^`6n705C>yJvtd3a^1&~@??2UP zY5|zbLa1BHKcJw~HuS=r*o3HuMq|@bDZ)~4LoH-_BMph#g1hx02Yt*JUVS>dh390r zFOj4mt*H11C5410cL4@G3KT3jAlS#=5#rRw%7>6)(;I8R3~7nBTOoIOd7THpzJN%( zH6Ui>ciL2S!mi6-f}Z3~K)gaC$?%eRfwfFcPan_BA;wL9uPRtrPMaUperjhbGs7I| zPdo40uLuph%ZU>+2S#2e&A^s4b3Dtu*N(qJ)kd#bk>FMur6fZT%FN2#!q!oo|21=^ zM|qP(<%`m;yeQ@Or&+2wM>1`fcdj^-QI2are!2W=6}vyJn{do-GYqM?)N$VB&h+pnL_Gm+cObdle~@N5PJwcoG$L?XnKTRI{#E>AeHoF&N} zJfv%jdq;Qx`~s1xVvf3l0v@-*TGi&KD4I-lYJS__AowR80lgR;9KG>4z6Ai)c?pj5 z=gtA#eGhuI0N;i^5{v7R-Ubj1ig?s*^5n|IkzX>Q_6pu(z{C-HczB_Z^;YYn!|-R0 za~i0q71d~zbuynl)GeK>6r3=!`t>yQUl+{cWU+THJ1cwGJ=RZdmHJsHKT6m^7x-_* zsf(cxI}NtOSfi+tS_6<5#>X<%j|0WA;l+z2>Q^M2ddX8+;@_^<-VyB@q?%FHWk~STcni zTfVlA(`VMd#kc0S*V>&Vh@~U;<=|WhlSS2_b+pnmItRWYw@T=$uE5(Wk41ZslKP!_ zbs;+`={L9nAgaeoN=nMgCMzRjzIwNq&p$>^mxm@h)z6mctNl=2sZq*<&0s3-Nxa#5qCAk* z7r0gMlT}Str!=q2qkOh2h$P^$yFC}Z_TDhIYt~)+e2vGhhsH>R)8-Y_eq0}QmHnOX zQG=k>*{%#*v|r$*&5pX-HqtKpk%;(+YC}y;SH^#Lfohm=(_ET*+;5uB#-8J=Uv8LNYL;c9s=2;1&ynKNXw9<{%?WqsN9e9-a>cz*dISC7&RDJ1 zP{6$H=*y;bMwEruf2`HYh*B`xN>36_IQ=I`<2cN$+<}BDHfkO_Aj*g7f*gR(K=W4wTvA44r zOs_{g9PF?g3hu?t&drgNlHL@6;``4o|Ez|AVhJ?=kYW;ZS68}>@zR>iw0<{SmUPN& zC&48HTd=hbB>j%-mfNTG;>=guvj{02TH7n7V@|N5ezN+9)v zeKIf}pF)z0^jMJSLCalo0FW`@!3QHvS*H#INRnW4`|_5x(u{l%>feHjryL1zQ!2JBRav~?TykV-JhT>MjR`lRY-9N$WIywY z6JJ?Vw~QY9zHUC^6F%R~d*-sSfwj}>E2 zovVp&tAIWx%{j)ss5b%?)t%*s@>%Cut0}pFRnRN7-&Tqz8_}n!IdT{t`mkF>rlQkl zWbNf#-}?KFO1vW0k4pg5fk~@_g(g6?YRm{h2@rTuno5d`x4~qZ)h%%sn$N*Pw+$9l zgVoP)+`BAv8-Zg-#69Bhkq9%hIsC?;56sU`JGJ@!N8Y^$Mgb;c^;95_p~DumRK#TE zjte0-e*T`Eyq)a;z6ux`z^Z){`LQ17UUvuDyZ(oiY-XRiqM{;5#$M!s58TQydk`1N z0~8Qg&f)}}WVBJBe2FiDhY1}=m#c|{fr(t#%oGAi;8`8e-z-BDXxb{oWsy{tdL6ql zU9$r5J^05TKXFyYH4OouyAgK^wg{jJBUh)Gn3(FP>NnXf#Z!J=Jmk276KO)pWqqLo z5OcAyn?#!#dO(R?LnPMI-{C1Fh}9zWFu(yl6j&u07xE}jA8 z^mds*r+=j2kttKZ7?~&Nv<#F~rK6gv*#m)v_>#P%Q@A$*H`=VLfEyCUURi^iU$1*|gQyburv0qnb*+W}6f`1mo&h=1QOJn>qHTN*&P zciN6+)WT2&Tj{6w@0Gl+{KC~M!v+8kZ1zWd7T=?Q)Qk*M&~XB*7c6P~9vJi=rr;%7 z1C<9TB9>Y5s-_mTUwj&bMGuA+Sodl!@hRGm4?)Uy3ZDtgU#P=%_z!TSukwIxOE0j} zxUjoSA*k{ehub!TvN9FawSkxMvSI{D%q=jPDzSo?5E}806>AF0PU}~gazMq?+}sAvyPm1t{no@62X0Qvb3ZL6D|yb;K7VHOL)X^S|39_!Ceqz~`by1@@3;|Gme0z*T)1#S zhQ(&M=mW4kugv1byby=49?Ff4@ou)S&0vehOLIw5hb#;1~J zJ33`fP&+{_n^?1b0n(F2U7c5XW8Y|52?At$YE8()0)pFE`c?eyB&nThxYtg0r#cQH z*bdOcSp`^|j!T}Cs@g+hv?$D7Z+rWhxP&~_ZDFYw%F6%Lg#;1mjf@DKsBDHVd(=2= z)66^8IDA8E091F8C64Go+Vn=$QCWK-+(b!7#)|S)Tri|gGp^-m4}q&6y7k_v$Su$} zD^Lg3+UceocQ-4TEqjO*$P&vVjT1kWvh34t5c+XsU5)I>BbP=g(SsTX(4#r%=XfOq zsRb#@7+g&rI3Lu0b-)d21?bKPUwdJ;1`HLK6biWX(|^^|*1b=6y&($~o|v&XF-Q~y z!GkB`asuW;Tq-3)q6ehQ1o_XhY87B$zkD#OdXZ8DWE0@Nh~c$DyRX5J1TM>GW(({u z>cL|!0&Ul@WF~%?euRj(uiXu}UL%O{fViy}uG*HC*|rz!>gphK>s=bX_k}l1^mp$H zgI4oh9?{gHlMU*PDgf6js#>vZ80E*@J( z(?}b3+S(KC2r`lT_m$STCkJQjo`ZJ6rkNiqk9}PyKVIrU7eCY^ahd*7XcT9|0qgi zFjnuVYPz`d$l2N0+1X`OPt>FKk%sJ|y4>~)lg=B3_tK@^j$L9_rHC%<671ji@YyQM z@jYfBuGO};{ney1S6+9#e;D>rE?9&i(r``%(;J4)>{T$7Ay%0BMxyO2A!x9_~eFYG}>+I14FLvvz>-p$X6|CZ!{@iq0w1c zpxBX~Ns)r<);-k4V5z${uNC04fv++LvQ=@-!8Kt1!Kqogr_a28C>fjyuv8BNAyQ99 zFnw3y~=JcqSI0_mv+g^ zTnX6wEGBQ6s4L1P_6>Lb%qiM-c&+oHsrpi%=so@q_#a1qBEF*6o?AHAJALiku5;Rw zA~zQpytRftyC{*)ze};RtzT|VDl}!6*G3X}S%GlFv{T_`{pFlJOST`pxTh+SlbH#Z zhYzu8*nvSfOXz6Rq1X|E=Dpwt!_Dk95xFW@xCF^Vh8{TkAo37iq$+h?a8|@R8lqEE zF%XY6LkJHqjCEmcOkn#e*g_On_rRwz zA9b-DQo8B@8mnhHUt|Dc-zqA|$O(niCT>uJV5itXV=pVKQ|-nR&xos;gUEhEviDzx zhKElee;zjyMn;lrb%CQm>|mbGO$3A41ewvz$95^Od3G0K=F!U5c zCJpmS)M^PoNW|TCppE-6Zm2J!=g2$edxW8Gg4|Y|)(5VIKW`dgMPDQ}g7~v_#C2u$ zZ$dTRbIrjT_h=Wcn~PcYJ(bj0Wv)==kEx=eQ@y{&-26yYbS9KpXd?`wqu0;ss8rFc z8jZ=;$zRwe*l}8~R`073Lxu|+yOj)7$&~BnJFoE|(^5^BMT0iT-|iAiU3gsYeekSd znrfMUD}DNB=!}|SMTQ2QOY8N~>VH*L@0pgpP+3s$YPsm1c_sIhI{G(S;Fkcivv#5Y zTGVJ3TY=5rv51Q?fLd9If|6d%DUR1aS?T=lKl^E3sQ!C$&leSWw!qraVePSAb#99c zy}@fEN;$N5h)5Kb^;UmTaN}%Juh_v$B9P1e9;%ZQ6ZKJi$itOVK!dx~XmJ*HNG||~ zFfsssf5`qwIH~5>;u0420OD*^N?AF?@!u3Mkwje;ymI6Ib6CHRlfSN{JesJ1Xc&l= z-2-dqK(^T_OBkThaMJ;Ys~;j9Mm3h{(c?S+B7 zL|<{g+L7D1gsfni+eD4voGh<#hiF^y1>tUQpn{tJIfBcHzy4v~=R#5fc;jKM|DuCc zu3unyiEoMH5hCbx@4MK%jFXv}8ORr(eVv7{$q<##0kR{sxIPDPQv}k893-9|F?e#} zFbxut?Cw}l>D%_?UgsjuLZiQ!2oVNyhO}vJfss2?Mku|KE#!ffsVO6pYDml8AnZpI zY-||}Vq%H0HK4ogP-RDo*(y)rjPLN*)qwY7oL1ZP%%3tCy!#g|mHn&l%AulowZ<(z z4~*`3Bc+)nK71uv8lb=3;C7f%>KAb@f{<+`-2doYy@Jj4Q42=u=<6CrJ;9kN8qAoP zwEE-oFAs{nO2wN}1znwgU)I+<(hWUJ!+Jx|yDlkIAl%Sxdh#e#fVxI2>+5{zWb+lK z)5`w*&otg#N9WUdL}%2a`nBUTeuowC_>*8V%C3>7Oi+tV^iwc|Z z5wphOyoN^o4ZV#db0WAMu@lxwP;3H-S5fU8fTq>GIbT%=mT%C1V`DasaUr-TflUxI zU1~XGzq736yaQ0Dlao__|BB5tn2d_RHErELG_(&vXbz5!VdJ5=hUShAOR$HGwm^hB zGB^|WwiklyoGS&i!S`TO5TuTVAerCPfdJCm_CT~qNVGj5f|^yXoYe`-%a)#^F;K(M z1~)ahPZLs*VgRMQVQ~@>FUaft})IJUQD`+Ftq_$vLnLZ>v}H4 zu$~<4kG6auW*~W*4le>k8MphM@eDpOo&~a2k(oOxnC!kfu-0*fnCd5J374xLVN1q9LHsPM9WwA zz5077I?^MQ{d){#=$x zb|S4`BrDyxc8f$@Nnf7bI?>Qa#TRAX+y3m=ZDt8R0d(Eej(%2Hd8u`0SJ&?TTmo3w z@pk8uwVAkQ=H?_%tC>bT^NQ1ZH|`+om~wRzr+$ZdWfSMs*r9UHX(V}m#(cVWbLTgsV43~s4Zq$_KPLMu05h^fy(ahmAS}<`|`L^yGLjUdPhd07!Nwbl# zD!Y+P{SZpHpruCHw{V6-6|=I!W+Od5^rS9YX`HL=Xjs!m$I-zd#iUh>1h*sn^ao@L z?M964`U$%mh{?rIXWk9}E&qDOev5;tDL=cQ>ZRWIPC?{`%2TFDmQRRG(;%woqWf~P zhka~0=PluS%U0oj>=^I7Gc@sRZ?}`%x};*#8O4`rHNVbN9UI7C^H1g{_qGG(=?9%_ z&veY&ve{+O$%o2YOO|1KA^gPnooEI zTl>}l^Z|5`+HI__D}7C9Ym=#XO-__I+=d&&;R*?`tJZ8iG{`K5NNxfO5aH5MKE<95 z0`ZOEosEywLa@n1%Zf2x&BkN&8K8FnOchJfoe$NpjpFIxiM2o6v2u66N$d0-1kbMP z&yg&+8@foAd5WMOpyx`gaRY-2bs=19qC_?~)z*UuT zqgiMznpA1Go$oao@i%zn?#B~2Q?*f=bt>%hb9LN$hm>3CEAh?XMOuW!e`#%hHg?^3 zC2swykWlV=qU31pVekq}O`1xzm+k}1b2Tno!Qw_MiE_pF*3mx_hAJuvBNANN(XaSaol#PjT zo`+ud-bQ(Ha+mkNiKqpOHiLL?-`=vcw)QKH%+1Zkjlokq+nO!Jz#CYEv5_5^l|X+f|GVHT22E(5we!B)87IJm`uICkLVyS3rD-o*&1;vx{ci7 zpfbL=!Gni4f1$-)b)4Zn+?a7;SEIE`n81VkAK*NI@;VDg!eKagaE0nsF=6Hp|4>bM zjtcv!5P)$_DAtoFw8q(Q&u?Ru2+Jb-jLI!>D&1YH@+*>Qg}~nHRf32e-L@}&1fyn6 zdD^~XtF&8V`?!vd5b+e(^7N&|T95hj^6FUKAdNISmEk5M)D7tcrp`i@qJZLs?+iu9 z2+a5HJg=ey|Al21Azq;-HEQ^2(Apm12mMYK6h6yuxt_|(&mpN`K=|Hivh%AD` zKe9Ar{z&$$Z{PHLNS0w_yoK^^)3CR9c1|~0T3Qm)6R^37*r-)la15w2Wx`dQB#~nD zk=UzoRd)2J^&#!0<8Dh(>k(FN`26{Am|-4`clX#_@jBkt`1_uHv&{?+n>r`tv{$pI zDm^Szn|Lr!G*pbVq+-|6F2c8KE*HrNsC-bcEA@c5Fg>C~EV)KCAzIn-?xmYwDqrRU`lAMovt3+X%|`{Ya~ zM&PetSC=_N=XA)hHZvZ%*-XWLMfTa+?7ox0XwgsWZw;R5E^frK4omn{Pd@H;%+i>r zG+}V|=vTvF=_?Z}1jL@2*HRP3X9oe&_A`s5h^e&55PDVZCssKh`Ltn6h0}BxOq1s3 z=;6r^z)nGMvL%Gt9H1SpLz>j^F)rvIbPjR6R@#8dZ||EjGcJk$^j1{NhDNf!ZA#Vo zb04?fKIy`C3oLp+`>AEv_S5#5U5nt33N#69v5qyU(jeZd_W5M@uwfU?ZsVwG?MVz~ z3-AQS^85QPD=_r}p(wyt@AOaqxj%I^cu7VvchmU2&P>kNybRJi4WJy-TGuBwes-BI zT#zesjc-1-Ib!EEr?p__k%5^tPoGX$Twwqu^0c>dLgXmGC+(rzWZMC@ag%aB*!NMF zg=geouc}+?f{72}`5VM7;x&)_Ps!#?=Y_5kk`?s_$EJ(pE4e5%OMZ$UR`E$vqTP69~Nuhc~)_F_-2{ShD-4wF_gg!Bu&V0n=Jw6~3uMU2uZxT3Rg8e>o#JvC1-YP+lLxC9 z^3KTMZ~Zdf%1;?({}RU*dqFNEhL#{mc%pg`ZO+ge&^O$l*ibslyC*XQoCY&6et% z&=0|s>P6Ix^5d%^>8{=5@l>^jl6UzkMQ=~`Wn{1;e=vr}yXCwJ?v1ynwro&OH1B*? zjJUa=ZGQZ6L4#t|=RVTd-u|`FgTVM42gV<525|&BJ=)6``I3e8^~Kn^iuKi#Gb`n{ zOJig^Z>Tsl7odC{P<2dA+EEdU%`z-17P2ZVMiF_Y%o85d(yW7s@$gL);RB3bJq2bk?YHNWx z-Q1$MDk4cjvaUUp{P~n`s9}ZIv7kuSi*TkD>tOOq)x7Js;Z=Xv(b4h7$7i87{aQfN z?b{SQ-2XX)xW8)JjcpgjaEIYiREOIF0y|tAy%sdezbGmUHFLD@m6kVIR z6!zVXgLQmVRb$QGlgfh(zZSbt9#j@QT-nD#?Ur17%T_55-(%&Nz=D7yLXTe~=11k^ z2;Ibk7jllrnwT`^LrJe^&z?b$=BS^4YU}exA`A(?rwewMr6P)i6 z7rKkcrt?4_C!I4vsEK`HzgjMa%X5kC;I<)On{mnfzeqSn44n@u$Cb)Z%aJL4_-&LU zEc>yX##d)W&gS@->>|R}4d?1IFN^odCH8;#SW!4)W7VEpsoB%J6MLhFtT4f;8s#R! z^=l(If$U&UWh{NRd9iti8cc3j;Dm%x^lnO zW`^safR9stCNM3t^z^P6-O6{75tGcR-@U%|i;;Qp)--!|cI`&vYMuAwOD%J~bq<;o z({vC{-hSEgJAMy|bB;;ZwhyjOqgFn|| zCL`n!ZV~O&{;)a9e`0>+1{I%>;aoNZ$T#**h%nIm@UTa-qocKU`L9;BsEUjGR?#Dq zzd(F~Q-wVOzx(&^=ixi@C>>1v^VWT04!|MjuY=TWD;q4H={6;He>CY2krlEsoFQMs zFa^g#8|e}wahvTPG=tC0)W#P&X|XXB0-AG#vvM~=d0zI@A05|mXm}|Z@5965Aks=t zlw{yj^PRZ%wH72Fy(9tc3Y@zztQ4p;HVr#sQ}#>H8mp8V{C@4?Oh}d{0rczY`dmb% zw#meSP>6{4ssN@`&x0YQ$0?!A6VnzidpfttHiEX<%)f(e&}lCEz9QVEHp}Kuvs5Y9 zFkG*;=1MR8{DJO)HhDmeP1z|b+KjEs`FC~6og+GZM*-9A&9o76H9^Po#pR<#p++2V zDLS0wp649hIj7?9jdOe?S^NciKqhg9*iD@8mY0hMnOew88Gf?X!Fc0&`b?waM?d zKzRxEiSsIGo-p*8w*(~=-Z_#ve|z;0*t3~eVqsPj`u?Z=IEICp`Jl`Dq@fe1fmr?O>9DOjn zqbG2blUyx1zw)9@WSA^vLrK%XpDsRz;Nrz=1itTfwo*oReho3%HRfq+)h@veMEb|= zD}|@uUbm~~5N>DNlzRP)p%GMEp(1VAaxpn5^r@urueD>4ZRH6YuikjJu{ba~LDzFx zvNAZaE9k?n@?}kAoU*;zX?cl(?DK-O%#Zq$U(aW>cknD2xQ<#o%{fp# zcrTwTa~OJ0Smnh$GhX?R>nvAwlk7Qhs3q zy!18<_EWxRW7an}Q%vB+&)w_5^>SJZLY}ibChbNhO(a2m42B)@GVe|tw)yfqFGs!c z*?|uW-Oi9V_+_yMH%_?wH{*&L1XNU14iee0{S`eesvsbgnE zaAF&jvjJ+;0FE)LHL$Z?VVvLjz*t*)MIK-Fk=m2AJfFnUl%PbPpWo{w$2%o=sbjGi zvl*9rX3hW5M_#eJxiej)U)aWR5?raF8?C3TvTU%V-KR7&+F7i(<;#`(JWW$ZCL-<(&ikWdYSy?g~^FL%=b|%!v2-&BZ`j2+N0W3`n(QhV=)~e0fh4Y&zXT@ zjc9DihCGwV)?DWVhla^mc5Pjt4p+puvzO1ZU&ki0|HtS*b85I3rxQ}Wqhb@d&93Jy zN|P6WY{toHMur;#bB;h;2ozOhsmGHi4NxUD|F7Vuhvc>e#l>nKkTW=*J)iQ{51%hS zAz^%U)Y6=}RF5a`2SN21l)(JbFful73y_0kZRr5~h~1l@joW}|Ts0+OV=x)$BK&cR zJOoctGSm}nB)nwN$PLq2`B>F9Z}JYDl8~yG{~QtkcS%Poisw`rdc?26@gDnITIYyH#ZTk5T5Wo=H=@4~vznembbj$Q0a)1V~xj2!Ic zS_;zQyIdi$WAR~6C9WJXwHc#CPg!JHEK({D5gr^Y9$fDp{Z@zmja7 z#V^@s(Cx92sI&0zqfZkpLF!RFn(CZ#q&?qKL!B;sEIj&+2|10}ZJ#AOe6agULxr(Y zJUV8{ZCpYBr{-kOPDa}OC-&7Q@t01vgXb#}R=iC@CyxfwTZx_?4Lq4ew^&=a&SRJC z%N9h$Ygd^Mq}`$~q(9P)7xxOuwec=LjV0Rtbbsf8VO=H#4(>^kT^Soe`1RTXl@%dt zTL@P{kgp_xHKfBA@cqY;25$4oewbrO6HiYE@Bq=10pe#|KtmluWc}OO(Jgqz0Q=sB z&AVM^4_E=19hdwyG;!5#faQlN=*RQh8G!9wTNrI9OmjXPc6ypN`70r#Wh!@|OXEI9RwkB|#M?Rotc1R(cVee!{WT~ia6gJ1U}9fe}i zbcGq$v1SpVTTJ*N#D7Y2>`$DYMCMXUDe!D*1r&N7?##{_JIBN!TZY12e)JxY3Bck? zF+ui~z*p~m04;{AZ0z|UMg}6kj5**x^q!S4?|u7>?;t?+Oio+$;!^|wb{wH zFyRSF+Fu`T9#h5DW(|w$^Gr;Ub_wKiEj`=Lu-}rSj^!)Ksgp_Z+@|)E;gU+X z(f#d$w{_}y@O3(ekidqYhg679<{rgR*17$0*4j;IYl?8(@E~9x1^#OKM zD36_n{gytF5gLu4*D(-=QIJ4&ClgG8cxsyGGnCJAAG-%bMjvE&i%Up^Y;*JSLfGu; zL~Wu%(65$*A)f~?>d(P>3sxdPRP9>PF)=ZJOT#wn@M*Wez_hh>mky+%AjKOjcVMVa zFiAkZyK3h9_U+Gj{132iKzc%ur7R-}EQ}Dd18ufD_zZXMys4?h@o69;29<9M%88OP z77Ap5FkIi6=+`NHD2qloAuks199UH^Cb% zrSXLeSL+SD&A+!yt|Kpps;I+ajyKS)aAXp&k&EO1H9npY*RQOivS2YpEF>TVb&3^( zcLd6Rk^aMwiKPcI?W;4Gi7=oIaOps!QV@ey)(G);t(Bu8A=hC|98HU#$~H=I4QVrR zHr>L3WO%j{-QLRnQsugKTQa^?RV4Mw!&A9#zi#blP&9|f0GjWXi?!(-c<}Sy(}NU> z$Qa1(WxlEOvbefhSGzHAH2daDUaQ}#0gocOw=)K7yaG!l=Q#b!XWEYnN4q84bRB9% zdOBmY#oD&Zjc8a)rt~cIW_8DQ1%<{8$7uZT#13+6vF1r9Qdo}$Z)7FeRp0Bfb+1bF zObXBJ>#Ue+FCLnhJ66;kOZGL;)@rMvtVC@g&vE=Y=y@P8Fld)|{O4!IVA%*(2)d!; zgP#V+yfC}j&{B0|B|HW@;65bhj~AK{@hR)-QV|o=IS@inIk@2Fu8SK6z{)bbdn^R0 zldX-hHZ|n{oCtP+SG^7a9)sV3eB()ya`N)}$eD1+QT*j&m^ZJ#X^X3Ac0ESl*_{V_ z$d;Z|sFH0c2%y@Rj4vj=0~B}zW&mIcw>G^i-*(KjE(x--X2(*Wvo}tPodA2e_9Mf# zrY7I2D+|}{mgUQoJ-Sf^a6L@a5K*A77@UGY)PfL|;z9h%Jr0gFxU_D$ z`oDcc36dCf#Hpy-AA}Rn)_Wl&l|=TDT_#))zwceHKfJV#m&wLgEYZMoL(iO9Gbz4B zbz`UkLwMeDLXcO1yZnhwjm04mRaExDgwl9ftYX(r&St^=g`Xio0ql@y7o#(J@{9kV zxk+gG_X@t8Y)ov+Q-rgXUyyC-N=FPUiRHkT=7bly4ux#@a!&0Exnj4<{f5zYqXdh4 z9CP7krFs&| z@#XG_*9Dq0Cuaqp)+4E-9=LS>pdggHyB)X|APc6)Y%CqneUMy?)p+Vu%&S5atI#jF zw8I+%%_U(PXC!GfGzQ+jJ;%awlE?@r`W!SP!G%AObixBTbwEjm1LbgUpb)4z9wT0} zN4IP+NJ70-t842kvZ0X?Z`i0Y(m)2L%Ngdwj^I-3^W556)V!B*Rn`YSAtOQ*I^s`H z)=nXOn%+o32(ykIjzT|L(z(kZVm&-Gq_w1f1CsiWJBEjGd1kn20|%U9+WO%2#)^CwMo&QcSqt2**yu6IU)jtE-*x}Dh zp|sWPxs@l{7G@Lu;MG##&V1=E%5z7>mk_y?y&HexAIZnVxneds>d;cX?@rt&|3<8F zB|xCR{BykOPnE9aT;D0eeEEYLXy~x$x~XBYyI9#r80eI4oNjk^fXMzzaQPs~fMkb! z=K#XZkJ8NC>>z8ai(zzbGW;?;p(JMZjVGd&NLN=zM3gnNiG@X0IQ9HcA%n=${5+#W zKCE;*sQHB&_JlX4=Z8+ckC*gu_=v{u#@1Fd0P$fin*@gy+aYyk))ElU5KIbAivI3y z;I{HSwth)sdHL+78ljCNr1%&TqWssUaatC5NC)#ydv7Ue#ViNEf{s6WAqz&LY#>PC z{shZrtE{?O#HJO;*hEiExw^Tn4i_(F<<)3Id;6Ov2;?4johIbq;HW}8TxyX$fo=By zc0*7Mokc4C1|g3t@SV0wfO`GA-eTG*xI^U5kMHFO&68fseMoic4G<#>EJi55e&a0K=3o{A${msi^`O z2zLVA)YT*2&?h2iZ(?WlD|1@q%WCuCU%1b{j9P`|JEerj__J7=sek;V&gqfz&IEoE zaUz+O`?5L0oQLj1ZO1SsrxhLXRHD0(l9-rq2O)Mez(_doo0aCieFMS525>uhh)VU@ z1O$LFP8d+csmjZHY8=dTrNxeDxZYhqMeIEe6v?(mBW`&`#Zp^{(YGD5Nucv+`Ruu{ z4c*@YMzKAJ6aQQ;`op_lTSq+0I)`P~j*x}b3(`ktKlq$)DB648q^p~t-j7f~>gGvj zozbA2wpeLI(KCoL8KE@BE;hH~4B8K0!+8klfHW`xJ$SGQ&?DfNV9D~NhXe5)5pAyF zDU^pj5`u-k;6uB^d##t8uW z^QdbMt)acDV%$Jmdl&~a41vhY6oC)#)5CPQ+hY@O;y8?cE|^Jx=;Y_;-&!6Dt!k$~ z#lSVgbSdbeX~v&Z`KQS7o#f~L=rN?-fF9~UYOL+22pRHTivkJAtAnfjZ{q=myHymV zMo})jgU@=vvRRdQc^u=34GnptLVYlyC#GZ4SyrJTpXFd0D3>;_puxkX)|=lJrWNn2 zzG|-+P$H%`v%O6x)Irw9rFps@B@6dcYyJB>12Gy=)Czy#Yyaq|s4F2qZAD&RAJ$f8 zscht(yHkPrCMYPV5c$pFN`=fo&AEyQaO(i#LcDhTdI(;3oO^;fG<=yOd9uG8OWF2T z2=0*}7cE2n1w6=UdE?)f|JK)fb=wviiFDv#lNG&+oLZ-`6#19ekf>Z6!&MiayL}vcEVObh}N8^-5 zV|XDW~1-eqF6?QWa(s=@EX|bL<>cjmxqha=`qAO^GHkQTL;SOqYJP zv-(lJ>NwAo(TvW`b^uSv6x$4UwO$Bs(oBlD6FYZG-m_mpj|wojHtbFq7eis=N`Xl0 z;G+kAy(Qp02_T1%#F;v$QeqMXaF7IR58dq5o>)B)liZ{QX@to5BzBvu#ztOZXLy2F z-w&DLKju4rlo&l^DDRh-df))Du=8cg7YOrbRNhumsCH7ai43 z2TB8v4sUSeF^&pd)V4=3u)LHib8P9mwVQxFRyr)ltL2<%HM%c2HZm=?nz_|OR3KIG z{q5hM2|}uAaAh~7q#Sm?f!hGOcJ=^x;+Rgvvb=l}&D zy>`$IBG^g~E(h&3x7O6b69Fr3v5lOA3o%Jj79K8 z6WyM$=9%N-{ne-e(%hqUQq$*z^}3}Bk|dDn4Y8 zABd-~|LLf~|LZuodwP~=F+~8Ew?aRnEF?Rz#D9~AskZ4peM4m(^j8Slc{2|Ng1+ol zPp-O>TqAn$+%^0y=jlOyWgxv)^`Ccwq>}+$K}buOJT6@AkJ5vAfLs|4-Qkr?JaIW1 zFmlnHYXUBq)i97gvf|_K6N5J4n)@YIYYiRb7C_^>dh+w<&oME0ZabcD7vwu6*ZFq_ zD=d1;X7#1XFbw?Fi%T~#F`iLS5OmaMK|)-g9KU<0VVYh)O^+ZeK zh=hdW&*+TY8OQ$sq=SZA*f2Y0EG4W|UB|maF>)?&*7zLDY}s;|$JsvQwU2Vp&_H&A zHv`3Cd(X26G-1_zaz(W!`4u(A3%aBD=0}wa+8lvW=T3_b&SP_h$)OF?D8nXJeF*Rs z)Fl9pgsKbFn-d2mQ*$5`po1J183stED~vlJi2Oi8VCUT4+^mKBpKBU`J+zl8uFf>f zOdu6p3vDMqsJ^qeCqIAjRx|XGV?e-6o}3)Kx$4QoTetLE_>Kalr4#ecTpGr04z?<$ z={ui9Cz32Sy&bc~s-38)qgNM=FyE%c@U4+m}IeL9Q*<2lO1_ z9<_Go2HVO1VBT3xW-NNatx%3M{JhD?`PuSHa?!2yUa4jG&-r!g7dG>(2V$Nx59_Kf zH^S$S1#0CckS3X(Q)=SIfnQnT?9MnCvQ&Z8y-HClU*CCt!Qh@McD{teGV>ZMMmA(Cw{`q{`+s$Vhs#QsETr({er>%TRFT5qPX_0Z=0*7)KMBii)V%_&Qz z3ZG6D}MGKSL3|w*!+A4G~>&7lWFzUh7JaIdoHx3S19n%ndZZppka;Ootx3`CmR68l82glbgBUwP0trj(0us~|C;Cx6= z|9(OKXZv!dt)KKwd;=f8aFf?u*9oBF^ z)d?|7HST-S-Dnb*yA~<6d0OQW%r`R=`Y7p0nD}ViV$`@Q$>UTw@d;-eb{xq?A={7O zbcLUjhj*}0kGAHOo=3+kxiOS(aA|7$ty%C|M(nFDx=~n$vh6Zl<|dc>S1126C_Uu? zTLrM>n>N$Y(UFo0n5{^%uGVd9vyD}GL_fMbZKq)1NB+Mtlhb1X78;t-(;1bC#E>o- zr^aYElKy>W2POX(HcpK+%RP~$Tdv;B_ZIcYU9B_^-zI(bSi}3-PBdtpXwR&ykQw!(h-2;&ExJF>ohGWcB6NwHU-O)=wl6wM z%fEWbA3MIURQxKyoO8^|iHgL!F1s%3J!k*)maWq4vxZ&tvw^T;MeAYvm7rww-($^R z@6)RzzWwsErgqtY!wUqtRB}4HAYvyC0SnHQ6#Th9T<>pJHmIvbr$`itYo0K)I5bjaWxxwW8X2lI{hbXO>MA z3YeJA;x0^Y7JAuZD(H3EVq%|Cpy0S~`8LGkqWTf;Qn`)xm6H2{ygW$C zc1uzrOkiYUaOwJ0{hHLnuJq{X#wy=@eIZPy{(f{u24WDCxX)~7B>cf^?DQ<84BX2S z?+@7Ge$03S91jBnW5T#tHNQ$&lT~nsY9{XaDQAQ2hG{fO(HN(aO0CkfuPgz0#9yD! znzgfy6JanD?=Huznhp&e-Jms7-GI2eRPqP!l<0w1 z6TabZEPk@=t}6*}ItcUi-XFHkBWZV`-mx}%ZO$}qGbmNbZd@sEvr)J_szv*;H^-uy z=F{4`(WCEWM?~w)934CpJ!Q3SX9p;y&42xP5YHp_@9pwW#=blN`@t~;!d>0M-^<0e zMgz()&Us>!yky$zH{YlE+~iv>L4*r9hBAM!HLIYj2cl?lUerZ!{DW! zaX8#@^dw^(wQml3L9;jEWVZJzqEDt66Xg0fop;L5?w_XJb{oC zVIjxye=m?aw!^7pB;f?UFp0B%(TTd0Ysh7hi6qko23r#v5w<3NMEoXxUjKJHiJ)CR z-8J%=0NH-09DLt(Di!LC_UjWi`>k5=0a}gcKZlbz*hiRJ>!7YvN4XZ0)QtzsJh@2K;N7yg!h zb#IZ_M3T+|ccy^4Mw0%yTYBi3&#@AAasg?yeId?KA&zxrLy_N;o&x1r-JQ3@Ox_1L zbNTi1YNElo$|ID-eGldr*XTag@M>Gd)>2O{?yec*b7fP?@c(^IAPk}?Wg-5C8uY)5 zg;zazF5c^vs|eY#k-Aow;4bu^{)JWjJN&KDmxYJI%T-C?(k+hJ%6R_RRftT!b^%M% z$Zw{suvB+TaI3g8o|e^aFC1gN25>uyQ#|nREye)rE4A-D4rI9^=w~u4nxby2EARO4AyobU^V<5?np#>W<6$A+-LG0+GPhGeKj8{PEU3g_5B}|MXJ5R zO~c-=Tat?2`Yk1?acBE|?N7@BOOCQfUw?%k<6U07mn#;4cbQy#0M&m|M64b(Wa7E* zM70H98)A6=%HEHL zgWS&t#?8;u*CN7{(yxB(h`{N#0!R<)s6bFF4TF+nuJY*!7P}|Dg*WZA^}N0eHg}RE z8!v68$^P3n$MZCOG(G6qP+a}}EE*j3aqfNtxTYt=*H166RU_sR=*YI$G?Sv^LSrtL z2L)!o`Q$~wXf&5Zr;=(n;t8@v?e<`#Pe*GPxbaWf5_jS8~5Q5Q`QouiCw!rQ;kjD!?` zoBIb|Wy|oVw6uk8z^uKFh^}*2B+8%1rOEpFZIFRvM^h6L9N-2n$X-@mCI-EJF5im{ zG8NTQ8HKYW*2hG57&X=NhI8c(zD7Ke$|SDY!K#ihpK9;JdD3Md84>6@m^o}XxPt73 zac8-d_LPm%h8owr8jro9+(Y}=JrX-BmEo@!6%^*IZ>Rx@u9N@V0HwwotO-E8%CZz} z2@sC*Acy4sC;t+gF0R|-tg~9m3}~%>(6ujbIYgX97Q9Ez-5;CZ?E{>86A`)qT_W#ttxg#d}SqX z%Z^ePa<%L%MoYi^67PS(Xsb+BzF9m_O(HQW(xg6MK+Tt; zVlAS_PeIC1INR}k*2FzQmkLYrthz5-E4$yjB@1}=nxw6%>Q$T4G>*i{i*^*3{*krr z%wrLLGGYC)`z`-W)fkooYJIbr)x~91iuip`O)k?j+bip@T%G$QTX%bX=Uk+n37x10 z{E$+gW8F)&_j~Lc5+0#DveA@1l!SmVJx9kd% zdK{am%kj)3AYtI^2aEYA|2lQMUn5xEE~uB0<#J8h&;r57>$57nSv>lsOg?pc`qwo3 zm?s}U51>dF_pVfR+~Z8Gx<>S31<(R!cX-xKh0}aIky1Z!pG0J*s6VhNdih|cAb6UE z4mqys1~6}^Fsy#D%z{>py=ie9i=vUq~*uBHqXv|4KNh|-1b@XSO;$^+s_VTrh0d6a|$ zXH1^(9SQ6FSeDkJKqS_4rL3j-QOFt`Y34U%Lc3vm2H@?){IH++LW>Jk+n{6#_pb@~ zQ5fvXY}=R1hWHbY1S9gm7%K$Ld>=BQO$ zitevkgXH(`@dPE>hv;+eFzm%YqvlGw_tUAR+y(Ey*pMQ5IU`S@`TuL&q~j~_as&Lc ztGvGww4x8^P?6HoWU6KhXJk)~l znVWz>`>K)v7 z;dYo!IGM)6))+~-(vzar{zbkhd?~CFnvJbmmR_2X&@tZoGwHnC76<KeEQ>tXiRGHAl#Z|O5NsEP;=9F`xpRZQm{ms?tQs`q3K&1|0O z>8Fhqe_GA34t{=LOUiFp$tmZHi}$_%wp|U{<(4QD`QMgUo#E5ka1V)BYnE|*NN=zt zbnl)UZGB;?iJO%kWSW<`_&OPNRkA!1}EMU0vCv#!9Pt}b+~dCZV$B1Qf5 z>Gw+4O-9K|#_oo#j^+DO$y1p$_9qNs9g5~A(xBnsG?}B;E&f9pSyjQAgRN?NeJ-rH)K?0?~BdaL>UsU5FINeed?K6*MO7D}sbvHf^w zWQ=Z^;(cF9(I0(|D4z_!eE!T=!JCt*m=)d=^hdYilijB_Itv%w2dCdC=s67()@PkX z`*_<#vOaKOW>t!MqbEBBH+4gA@83^K{3W%7&+U3-bX+k*B5RdyF8!YTOcHRp3IEZ< zdMGs8+}`+zsdFrLr;BY^p_f2^%Cvp^6g<`d%wK#_jL$?zRM4v!`sU* z;ebMCos0iZr%Xy^yGJd@-SyvgcFfL=osWzLXYT|au_i_&=G&fJTft*GB)gjk*hDwB*GjnEK*hQt` zsqOM#3lSJ1@LcYs=V<5tuF5Jbi+a6cQmgOpghX!~!QC)%%XWG5+2u(=bJ@pE%3YS{ z0kVeG`eUseF64>Q1ZM^+V(YgHiB%oU`13LvC^DtC{X8PM3vpwm3byrhy9}4%|MH1# zA6)+JBOkP_Qo-#G4}a>yQqlEWpO6fKApdbODYwJ8%XpIC`CUTS z!tqLe%tpG@lgMd$I?l*=H9@U=zzkWE->z_j!>CUz^>$sM*>N<0Hnv7;s7q&#G#3VWs9plZkWMs%HGd;_4;L6tQ?&&ZRo60&fj@ss8 zvv*RjrdqFX+ZueV8j+`EpZm1nTxa10&@KM`3?%-04`5x6nO4wpM{pWhDcyHjX1~F3 zZ2tTo$4@ofbXW_-eljm-LMWVaFq5OKhrM@Qwe}^ovRPm1$*ZkbWn);EEM#US5EQaz zY-dHw@kDir#I04h?Ug9>)K|E{tdHZh)n6|t`09U)LeIX|wzeS_wX4^zfj)kXr3d8B zFh+yPqA-NH#Z=`YhNpZBE=pPNa#u4uUW1%uCy;CQJR_nfn&Oh2phqe_K^S(SC(pGM zAuOY@HQAFh|I>$&WnZ2P@}2c9tl{F<$q@eL>;KP|MY84ncWt4CdJh*@G}!hv6OTw( z^nzWfE}0VoZ}i=9=1#``1D&lFMHQZ9i!f=Q)`QnDL;IFx@iS|nd$V*gNutBoG@w!E zr9er=o;dtSDrau!omJ6ErY=)*ooO6NVK#zN@fODgE@??ikv24-#dR~d@q9lw({7(b}ET1urQFB8#RbXgdWuM~tQX^c2?ngtOY{c1wR&TLdmNNUH4B znz0^~%sf4^t)yWTs*O)CRanZ5a48evx6l2irPp9pblg_@-}z37=l?^;=DYr9e=w^T zW!{E5LcCg@Klt6R+hxR5NY|n-w?0!fZn%VmjPf1@iQGTc`M(XGUl}I&@dKsQ<)m6C zy{Z&tPyQeFnb7d0Ad*zGqWa?QsV-^p%I(EH`K>RGum0=O{av!}us1*=&KgkxGB7Y` zHmJZkSUA>NL~DTjD;U?aIGskUKvrzc*6EM(1{r3WPX(Pj+!-G1k=-))CB@0s>qa1Y zT%5^e2d&nd>YX9OcCML1dxkCy-)oQ!IRRod|9sY>E`x{><-W>^=4?PP%()@W{8~;X zlr4Vssgy=iGxrFNXtN{LoK-M6QFt2ST_@`JQ{wM-R`h@K!@tj2_JF(;O6QI2^T#t4 z!QC>cH2e->UxfW{a@n-&AcvaAwrMB?z2gRY0g3{=aK;)5`!1!<0&mJz7g@J^cKN=|d2bDD6yv-58C{|R*iIDa1C zoBRLY7sl&oC`L}W{F0V1N1|(UF&qBb;f2dtW1leBx(uI>Y*vX<2;EB~4-K78A&6g* zkaBuI8K`MK5K2W3s%x;i8B_ZV$3u$$dl;~R`y+XUw4+UZexdcd>Z%O0mmm2c(KXfhckBp35R=7+9bPzV6Spl2F#7;;NV zWprZVF^>QK{=SX1bzFQr(8<9IZgYJdpO8>0s}@|UZH3^P;a|>-33@{o#orqCiY&{9 z=vrq`>cMSW7qfP5MwoTyFG&lf-OOTnGWv*u+~Z|vZmm#s3<>Xbccg3Au62^Dj|NLQ zI5&`Ib6T6vlZzUfNztnxKTHbz@296cLcD^SAp}@6CZor`5W};>~pUBfM*YQiyTI-<#sp<4$!SEX#kQ!SeFL`pgP?K z`hC7;?GXYSx8P3?WY~iWJ)|1a#Av^uAaoQI#suz+YvNDfwTI3uVxa1`+Y5jACZ6d5 zQ!&fCwnFtmE&)RfR8A2&LakI>N~RicNW>W`miAljpCemj#5p8y2855ph-3*blr=zq55B8Xc9mRN4_ z1GF21{rnctfRqPFg);cXzyM=+IeG$vv_wwOm`ie8xV5fSURG9jFeEwTlmluYp!5ZD zdq5Y-&&vAHU;-=xP)P)|@z{FMm9?8r745C9gQOqE0)oqxsp-p2#eL?QEaIGtw_!&j!Z_o_7>#I2NkEX841v>AdGZr-VVqDm%TPI4<=viP~ zdt)0KWk^VlaGZ9hs|6{5ERA?K*RCR6&jc|;kkm3aGh5<$WbZ}q4F<6nz!fPSUYb4J zotvB3m9w{hb}Z)xQf{Oo0iP9c;rP-Z4)MXu-xudVp$^j?^y_^0b(7t8ZJ^p_buARg zIt)*rh7d!~dICtIpgX;uD+6!Qef~Y}S}PDuc@P?c`T*d86@=YB?GqU}3Ic#Gha1AU zEk9wg0h%OJI5Y@v{B7}4CZuZL5r~zm&A0w(+3lUT?@zH0P@Yn)TwgGp&VTP)y+fkl zF~{YUy2ZtL{%M@F{`Jp~w)-nlE5oeAbWxg*bLy>1cV6l3Ytp;WYqz^Mpu;~6=uwQ; z*1!8_6Zu%I4qqe5BJo4J|0W9cJ;f+L5?yTm)=cV;g5v-- zG-G39;F5wF{1E_mAfBe*KqOsZU}4c;YAG(>3EWRW0K&u>A{h`pI*0*QI0jI9DO26! zh$&t0jwU1|gqd{50brBw5fF5pB2bKc_u%mMc68`ufv%DYrRhhU!f0@|Zw4Yh=uj$Y zBXpJ5DXKN*Tf*?bRuq9`1uhBaD%?y7`tpvBY(&;zMg9w{SJvvVOu?pUc6JsJ!mr|% z_IBaT0|#knAn3}+M5vL$3l(_bhp%~?ALs{86ZXcQPTsZRo~-}&>7R-Q|LnxhM;dJgQXXrTQCxZeeiFjCI(*Z#S93(Iqq_e~cS0 zzv$y4@!WOz7mt*FcKy}+Ci>JMBL)$1I}=+C=iVvK%gbTjo*tZE-6u~cPC<*BKuAV^%$ z6MW0e%#7#pIB1>QZO8bjqu#t31LBS;uG0u2OkW(!ZF(jUBn$;fIS&tyiX5SD;)g7c zuSP@0f+k{OLY*Bp{A;(7-eMl`h1FG6pSmITaXTM;6!h*Yc9BWq5~r8F==rV@9GXY^ zQ<~MfKv*X$=vgPRb`?p*05Igaji^@H#`<+V3uuLR;-1xvkq_kr3GS6ll*)8;2d z&9;mQAr;a0$Mbu^>sz*7_rrq02S7+POKdeCVGMbf!O*cGG(PR#0>VI7=iU4F#lv74 zje~v@i5VI6!Vr+Q^P_Sp;GO~DB$?S*UPmWIEF?v1or~}6woUyV0sa>O8%Q`L7V+Oh z6i>`}J%_itr>3R`20{#-td#^QV}aE&`E{!WK`40-21Wg)xd_;FFCZ+hBO@2%Mr}ao zwgd0n7Zqms+}ZBvZS5)Tb$VMrwQ$K%84$}VpGu@=M4NU~Qj!*i2K zcc`jZf9C;qUMJR}MI+_H6$4ns`kffoYu}xrDS`|-eXtsp=Hn?35vRtad8IcVjIWwv z@rj7)VK~{U0(yB&F-{Lz@=y2Lq0w_-Afk{BI^AGPoz$!Pb?OL`EuL-O9E zTizEzbK1i$*bz%^*7k8d@hxpfuZ3PO*bsAfF5*ZwMmYa4>sogon>F*zp>SJ@B(Rcw zZlNo`ck+|E%mwP0HO?X>L62wR$vyTX(2MlD)6eSRLz~@C*2`m0v6cvXGQ~HYCLfiU zOI4Ev68w!)V7GMlNWy_+V`t}f+FOEEOmJ8MEIZJjxgZK)vl0;#gOae-tFK*MCg2P- z)GbC92H{*HJK7l{He~29!-EhB1{lMv;FI$)Y)yUYR2K7x%%83B+ufdg0Q71HTU>7F}GQ;9zY~I|enuoavw( z2Y+Br{9a4Yj?-Q_A8)%7)h=4i#IyhY1MnfyeV;R9hWUy!}7O2^D5rKhd zzctm$jQFF(WeOjwev!F*=K)Vf^b$Qo>)LcR(@alC$3P2gRT&QYa=_anx4YzG4hin{ zJ|G$E32_ZIQIk~+_mje|qh?F6eE5j-LaxtCbn^JNq!x93uGgKsI!0Qw{0j7wNwG>~ z?qRXu=f-bjU$kc|<=9uU z3+_1~t33-^RdaUaK~_-62q)7d&mJ2oj={BHkDcFr2y4wO4cW9=G3J-4`^MHtMrRin zzbtB~FnsNIXJ>L0D4nySqQ=1Q22N)0n`<|Q_Q&&I?1N7NP5pXE$lZz>?8%)ei$>b| z03nk307eGqgEi1n`8n0??CcDon3a_^nL+P5=RRWfP*KTPM{SEn8d||4Q0>Kw%&aVw zu12AH5DtN^2p&Bb93#jy6QCLei8)xuI^ZN{N4?z6=g0mNc~PsYt8IsYn;YsC2g!SXGR6fTZzl5$;DMX&x?INE~P#C1BLvmxQv`KRJYu( z-_JUBJ?@%tbPL=FCZXGxaele{(d2qB>Tiny85u1<76GoGMgnWS2VEo_tV3yKbO)v_ zl=PV4Ca$DAKX~Z4i76d9UK0$JokQhYzznG{it>vHty!eMy|6kMQF&JpIMLRlH%fKb8ie&!fk9{r`cdEM$huz(wWZqURA z|C^U>o#ZZsB=LH<52Wz3%rKN&$cc&?etCBbavIvHeadyHgX0sUQEMMar=?11 z`W*SsxeQl0Ys1RK^u+sr!_))zsoB?4@o2)%Q(Z{Hy+? z88Eu2bByx=mNE!@4%%#->bM3dDecP(ebZ6zecd;j=FRs>soYM?WcwT0Dmm~QeswPC z(Q9RuGL^son$@db6Jxh;lk{pT?Rxu$i1R^V6_JD1bQf*kE0xi~zr{yH5&U+|Sd~TV0s9AmfANpwVHMSb?*p zudffddr){67Ah5TK~zG2z~g#x=2X#ArTXM(Z_gQs^6Zjb^&cX{03d~s<5v!YR*0*? zbX(hpd_!PufN&B}(iOimgw3GezWoczvyQ$`c^JMzKx!zjsGx9R(QUbjT&fGwDYH;l zK{BGNt2=QBy*CFsR-=Iw0m8K$YDhc6okyc(}8xb6=(+EFqz%u6PViH6)>-hV8w* z(oOl;oD^S{l1EoT*xi7Tb8k$@<1axiS^*>wiT6RqM+i~jz zhr|xMhfF5Kl&kt?W*XbMY~7z!zCf}@4)I=mRvJuM+Gw(ULx=;4_?I$GUW@UJ9dW8F zYBeiosYQxJMns-j+BEMTJ4nufd$lyZ6lbJs!r4Lj5&9Z|5mm{8wz{(1*t8AP?yFXb zB5EpLs3_{ls@Zfp>fbR_RPwHWaG(` zfY;zD=9$O?((w>fJEZ)DNO*Z0p~{oxJ&&Nfkmh>g0Ez8AQjz=@r6TI;oJ>qMgK5I4 z@?Hk*(Nj>FgNF|E);{x^kAMIa^wbKq>bqi-HFlr?(}o5Yuphxc(+mSH(iFyQKD zs(MN*7TN&>ldiS>Q4=NHfD`G4YDWAw%_cpb2h2GKcy zOhXA-BA>3xp)5OeJAvUm`PG{K0K%6Ht2bKSN+J#*94IL%t%E+<0J$nqSj?R=pzT!e3`>z^TdxVNV}UI%1$L~84q$naZBD0IQd~uu*>GXRFHB zJtVPoYkV-Rb{Nqx+LhAFN}MN2o|$m!vb!U%Px+!BC264dNMt*2ozkv)#yF=>a(iJs zlq#P1I@%hlfygu|<|Fy!@{YyLO;SgqD3czB9Ma`M24UufN2f+mU)$<;4GxC($SnmW z9c8Ry4bM=;?&uk&4W1yd6nt(rkhec`0`A)o1O_L`Bo4a`pjj=v7@cqS=CoY{P3{LF z-6k^metO_1AdnhDH~FO)WWRt?W#VuFS=X)Gx2NiyY@jExM2l!zm`|n+sCagW!0Zj| zM``wna>4cnm53vPPLdS!g$~$mK!0r=9A8cL_v1k(KpnaZH9-2PTD7ZgMwBf0;BE0-{SY#Dlcr|#dqkF z&Wfn(QjyG{`^SOcBc`<6dklht;BqhpdKF>Scurfk=u%`DKX99XBt=5R#+^^hK5UBR zIx>v|9jR84EI>6!gomehe8PrHPv`)IZy+K^CH;oP)AB;q)Eq7M^Y1Q58?UKn#i!~p z`tB#){FRslEf{B>->j#2usk;WnZ85{S4kA46D~U(DDDGVl^NbkoJ&QMZ^jkr8I(9z z65?|lvDRPkZCBx zOm@rqb^%U?GBHo*p{)b7o1w~`$x>19wxL3J+koL;JeSkn#rZGxU4we(Lj+y$UuTsR`|uHMMYh- zAV};$eR`4-@o4YEX!>C({y_iNsRrTp{DrNU9!@yl8F{kUQFV0*1gRa)5lp3<33Vz? zJ!NlX4h=?SDHBuTw-2cmSjG-Zx+1JecW%X*NcnL~5G}7}#(fEKEpwQ2i-xAITY>=58^2SGs_Y{zM+w5&@NPnB#fdL6n&7p$_23fyF=Oo6d@VOkng8|jn z_BI?oQ0`+Fv;rY8RSrfd^pBuWvv~y;Qz7JF4gwk>V55b9?;d}&ac6)3Z;)VefV)_8 zhFY7RikccsjvjHhH#NQKSs%&4WJ*wm`Of5Tc=LzgK(fWiYCbI{CAAchFbR4;ii!s7 z2F0p`cz9yOaY;!@LL`rVxk5Y!_qLYS*5Yon**YhnxtH%(M1r-$DGooJ?n!p=UBINI zU*6e~IT`@!Nk_*T7*Z^~dB9=obD`tQWde5r6dH?CSIQx4yRjPH4FwKJDR@J2wzMQI zBhvtt_}+5&y3in8mRww1Y{+RDzCvkW_-zjp6lf9YbHg<|3E6Hv@zAO3;i!tO6)7-F zOJ=$pB=ZYSS^4|!$&ht`a4&4X`7g*d;xY`e{#Jd;7jI=zhbV`8p~NTHj#;TVX}fPR z&AT^q4@dw&b!_&;74t1 zzv&Tjc(k&4Kqw98`FZz8R}+okGDh*q4b!;+n*_Cn;?&`>SgJc_X zio|@5MB6al4Si!B>=Bnth3>9OznaPohWy0c2!(LKSyK{w13&vPO9@RPhqtSyk-IYK5cE~O;YjD6rk)9^TiPPfczQG^3($#0*) zfYHtmu`y>LOEu%>+tZfzP=tZZIA~! z1DinqL=QOmGWr{^iMPsPV<({-Rgj+_llAvkgF`J#e*lefIjRQ2!&@7Vs~aklz6?EXXM!!WdW*f@2LdTio2-l&F57e@56N zmA*pbrhNL;5~Rt@h6@SVAHeM9_fX^pBvL@NviOnj1X>;$w{_=A%)#f<+glWvsR${o z8YXs+3ogx1ev=7rIkmx9>sV6=sxz2-MX;g6C8wWV(AB9Cu+QUEp31=QM2l7vo0O!L zPBc7?BQCoMdpt=rOPoVwT>}7SeAhDH3&K70@abGaxWhTA?5kH6vBeikY>1;^H) zPy)hKiVx)1EYo!nd}AT5$t(#N3Iy0;mOkiD@tK(bqxFQ*(6}h_>zA&f1(hW2C2gh` zcM_v@W7gw6hF3YAWz1H#e_9eIEoZwsyHgmxsx0gem53<;*aO&>M*>@0q$a52qg*=ZBXvDPbP{ve+#wV|;3x+l zm>x4&PsY4F(EMD6xkkn+gofDCp6w|mx?vpfJ7)SxiiH9KDWd(*kez>GbMCwx9eo|0 z@G;Z!0Gx6V7#XyI9ikH7zXGxnVBxX6w$=gEe{jaK-S?+&h+(&(fV(ENy&N1Zi>vnB zK0rT$WBy7Cvy73&!P+3gS?1o5vDg9x4z4^qYir;hW3Qf@@H-ih%0z_IT~#3kX@HE% zd90V8yA7}5tcyxGV{=3UcWodg zwF{A3>gemY*uZNQ5V*=oi{U#_DaRI_lE4-rl~6oCNv!}SjHk&qjcC8Is#6Y(MEXKp zp|PKaj-t2Ui)PF8>6a@wf;DT*xmImYd9bzt14Ifk+CFmv5xk4e~PasjZMC-{Vd@9z z&~@nGn`z}zp?0>f4?(-K2LhNFhkW06*NoEE?+C)<0M>|+A`f))KrZ3=iZmENfmhUx zDOl}Qka;qoTZhg+<#kB2))tmQLLm)TtHw45x~_HSk2r0J7<(D61*Qb0Sg}mdJz`X79<`U{jvl*6wV+gxS8p(unK6nJZaaFjGn^uXX0%e)O1kZoROE4W86A_9jshH-F`4% z*CaIdOy{$wNs-?=g(j{VTQo;Dc|gTxN!69;4H9oasLh1_juGx^zT0`;##HRw3B02Ctr?C+)U znj9>ML5vRCwPDrYVH&xyG^tVNSX`&qC+-5;Frqc6*uCA|-90@4(!AeqC?jDtIeF+n zZ))#)h8`**TS%Z3B#}>9S)=!R)kWqS+}6L?5k^HRHSjAAzu6EAK7bx3XwZZWvxk)G zLCV%er_jneE?*iABl zH=m*&a89m;o?J6cZ&=2P#;7awTCU346>*L>bH+0=VvX<@XJ{PYAHC`F&LBu;sAXUN z?Oq4gsrK9L@1_xPB#9;`&~c|lK|n_M7VRM`vv-EJ02sSGNlJT2A{SX?2yR`CrQAqXPp$x1R@c894q~KwW3&;OMH2RKUsmYL*ZbBvYhSKk-Fz2}Ckzf{@MtXS}uo zmO-b{zkxyyEgi}t@0WIK18;sug00IU>b0(2@CXCYNUG!l0~{OJ1#P!{se>@F7x2%5 zN-Gl{eb-+&nD^69GI{NvV5us-r~&Wk5a&!8Unyw6nG4xWD(*1ZbJqNq-FHAE@usr(|okTj0-$H8z}WEKoXi4zUJS{Ic*g zO{sYP%j%s-mo@__;7>vZo+IxrZ2oe7e4`~pk!y>q5=H|~y`^TWFDICT0f&J}6l-m3 ztN1A;1?n^X8d=)0eFV<ov6v!;iSWgm9dcjOYhTZjmgzf1W&A~Nz2_VSOp z%&Mv`6;TjMcf_FsSf{@~srn;-m_(65Pv+61H-!d$dN5&6(3Mo_zSY%;KLIU5kb|kI zt);(?QfX_Jify!y_eRl1W=y4jAZIjcy z_Iscjvr6@lau`xrm=6dBGj|a%8x25awzwg&1xqPZj%=!(nIZ z+qcgR!Wh`tc2G65&bcbAd;uTVJ9q9F#sl&qfxa`4fW^;!*aT`Ru28DJDRF3njZX(% z86c3>k^mfKDt=*k<9+u&1w|=o)b4CKt`8tS3If^s9b!3FTSv}$D& zpi(L8zUEquuyO)9JMhBwrEbarR7*MGC^(djUX$JUif>fHmf5FBH6o;-avce+9o6AL7Q3kGSezr2L3jSW^a#R|cnNO|N0 z;(TlKoekhh4igaRpI@Hv@VG+-a6l-d`I!IIVP!4!8#o}^f>k{jI*U4|&w=nR+<)tv z6VNy^GH*vx1!Nn@NjTu`5r2+InPj?rV zmPWwu3Fdd|p}+AE?isIo@b-2MR8{eqsFS(C>~;#KvfzK>kVMUR2B?6MJt3MfmybBv zQK)>woRkLSIUMH6%}hh$s4~g{gF zv9ZrDKKJx&6;#fGW!4VBdBOV*)U9mo>|*2B=x^*jefI2#COS0K>c>JWq)^b(C}~`<*y@{ z>=wN!{lEm5;LFZ1asYcM?pCmAW32d+TV0icG!?8AziFR_Q_8Mo`6&UENVtzwNzdsi zbiZrfBl_Ngx&{V^0H{Ggj1w`5i7!^-Eo9E^KbkSHhE>g4rk{WUN zbZf;`jc9W&s==hxxryqv-T#lYw~mT>-Q$I^#X?C%LYg6^yQDjYl#-Bc5Tq3Z1f+-V z8er&dP`bMjkY)(!uKNJ{+TZ+_x}fCAZtB`yKtJ|{)-%IG5D zU>FH?UBoI&?*Mfl`UAhem&i8QpBX%*QZcs9R|!GUBG=eE+^0^8bzp}w6vn1%W}bak z{n5l^b#XC$Z=%ipOC0GSSc33gsbC5|A1P^30-@a%Bw5=#KxhVxo4Ej(DBS;KYpbM$ zS?0Nb001qSa3B`8{hD;5H^apV1r=D1cb-Rj?a#5WrRWni9T+8Y{lHzrB}Fe=SZBs{FLMvU}5NGmnye@%Wf7(we4Q%A-Ebu}ID~`ql&Y z`MM`{QG=)HCGX|O&-`0&0SMTames30>mI<~t+s1{ zl@U;f%x@JC-Q=*5 z*b!G?Exnxs^BzCY2i zs+~y(`$&yrm0Q`of8^3VZij8#1ghs^QQJq%k&(m`uar0#Md#7nS5Kk?BYwLpUy5g< zqpwbPn6YMq28%7X(3fJJq#`r^n3Z2x8; z1xd(c@Pum_jAzXB5m&Rh2C!)a1v0EM;i?!~(Eo(5$^`(>j=H^WHIIu=tZ+NdJBXE*K61eT5idNSTP<9viK3Z|cMUh2Dd?|%P28n_SQAX(%uZbyjp`b%b(o1{N7S%cZ%+S4?c zCt;oRr{D;TY@D8DG-0aM_3$AK6`-|VS}oQFPRRSYJ>{j`GZ9^B#d7)+y^d7JsF$*^ z#6e6x3Pv8`R7XfkKxROljBS}34TN|5D5}QG)~~pSJTa#xKRF;v%hf%Dd`_I*QO>M5 zH*>?J_v!FbI(tqQ6_jyT0gUNl+00M&!em`sT|y!e%R=KLZIY0-_IBS3yX89_>`@U4P9!ubeW zufTJ$dprPW*H!#>c?9g5s0*EACUr$b?oTnZur%L<#4DwYp;tD!M=Sj#WYw1V@!)-O z1yaeNgAV|*uaJz43?Rfj3BDL;iw@RCWhEv1HFAJO7{Ho3f`zh8h`2ojXxLLw04vkb z9BCTtu*bP3rmm(&tx3p-j~=DW7?S3<1OMaUUDtyWw(SxJ{7Ohn9*J<|ThwQge_&B3 zIWm$`gy~W{0$DqNZX&(G=&ZR% zW#7{hJF{P4!)8gBda360kpZ7?$7Cx1qP{JtX)`0%-9t`Q2Fz%0!0AO>D%hTSg7W4Z&2^vOXy3g|bo;)|`YHf8D(riU;3X&C|C_IKd zVWJ`=DZrc50FsI2<>krA>+TNj$BQ^sn1f)sx9IvL5qv^Ji7opw!FvzvJUk5Z0aC6( zrXEcCL4XFsf$;JzP#z-5c}B1@3OcU#_dx9%=}<+dT~}kfEW<*eR8$UxkMLuIr103S z{s4=Juu3biHng&`8h$LILF<8Nqu#2&Jm0)F_fP{a^a!Qww9YmxZ0vz}l>Q7^Lh1DZ zuv9=Uf!c05Pm@cU@Bt|9Koes>2wHva$Igz9zCy%hp@RUB(-wUS^mWAOkAbgZf9V}@ z6~V*zIiRU2_LUvj4W14kG(@=i=YTF^Kw730jH17IKfWUS+?UeUcDLgw&B?W`bgIzn zt7vX&qERpVkpNA6Fdt^$rfmWA-w{nPyV|fS&Lunk+zY%7hxO@6tm^aTPCIzCCX9v1 ztgF}4y_C_Ykq)|r_%O9^Nzd~%W0Sq&JlN@i6G8{6f;klyg$)^Bu(O4nQQFLWr|2D= z(tadSVtzMY)Pr9OF{`_)@a=d$VZCIOTQZ+t5|7X=Ekl|+9DQ9DElu3(ZtetcYa6^Ms}gY*<=BW=n9k>_)O^Z;?ct>+kM7PskL4frww zxj1z7*XXrsJ}g&MR$3GAez5_5D*&GU44`N=G-?dGad%Gi4S~DNRij{5BP*BCZ2jre zaMJ}4oBn1I+Vho<6Os!6Y!ZsdR1&DQwe|S;_>MRJ(BL3RWS-p@8z6NJ>UuC(Fzo#e z@S=;Ikszh??&0Ims3zsoroQE%@Gk@7ew{{dFq_S}hTct0X$q3i0yNDK?=`|dsi(km zJAAdi0~xGFPO}DH=^{-R3AdusHh40(pWsE_FCEml-g$cNwgnnxSqUlBObO7%duZ)1 ziSsn zZgOmrW{v8x>k}||Y?kyKeU>a&VTV+x%IOCe5BlX}Aj;0g!2tyL!4QWAtgiq{=$X>< zD;XmYkiH((ui_1zY0K3fqY2=p1Mo*22*DqiG2Gb}|XvLl5_zHpdwNdSk ziH^Csv`id`0wM8&TEXDOC82Ksg+LfaK+Qw&TxDfGSOd-Rf$+?sIWW_+3&WsL5CVf4 z^biQZpjL?oq9DZ=Xr-!Xim*7FUp{}%e-Z$s?q9xo6=FeqWi1kp9OIZ@8~#pSCdSED zMf?WoXU%!Fin`G(7<$S|FN|605Shz|J zc`Gy9C7^}S;Xp?xrp%{rUP_;Ed`S!*GII9VBs2y+weR{+bC!7vpn)ts_A0 z26}by5jalL1Qay8sQC{Z3AHv>R!87$u5f^XFPQpifeMW$Z2bz!lfHRn&;TIVn2ti= zw51a^4BK!!s8!qN*7QHQ1$zs|yI^esLSkS3<@usMootUOh`!S6;=ucv;t*;o*2|CP zhJ%IGj1gT_Q1B*$NRv3Q^0B&~Y!$US;1gsxX#^PQ`U4P9N-VCE%vHaC_o`h%k$bRG z1M_yV)75a1aS8alBd{#aq+vi^&Vd}l+z75WJ?Ge2FG)>J1yfQc>H5j$o*WEn?mBfF z<6l_|^TTuy)-vslQZ4mN%}ebqaSmTZ{vyoF21onnh;w8{Ws%i#?! zA8Mc2y9BLm%)$75SH;_L$U1{-BU5^KP(H*^_OqWDE1PDGcpXD6$ZH6mY z7t(PvyTagYl39U&D@-tJ7wwvN(DT4IK-njZJ+ij3DJsl@zhmObj1wbO=zJCxqg>g; z$Qt3g!RmTqw}Yk*j<%z+@Btqsr4cy#0OAU(M2RNE240H|cO6X&0IjM>A9Y*~Si6FE z-k^8slwb(JQDhQ%&jG%qe4>>dU{1ijv0oh$U&;krTYxzXcHjnGm)r4TBrtt?jf*?5 z3k1^GCBX@*fj_7Rp$q)56X0WcjI+DF4O&T}dh5C`6CuzGFs&tB#+Qv`1gu364X+R$ zaSp~0Wu6pHSZ_;7N$DT3(ree{G6QDgwB)?aR6h;O$I6s_*&RI zTqll-cJGA+%vAhGH?@yAWIvL>1k56Tz{(izZ?46|$4AaS@$m2%W5&9)LM?^R?eTP^F9T#l6ijn;v7C1+mk)x9s1vZU$MKh17z3- ztKtCe0bDO8p1a>~9xAF;fT{!u9K;@dGLWA@NCEcd^DdudBLFpY3D7Zs83Ayf1AU@h zdgkOJItB)yCj#;yUcbz1sI5J}DrtrLP=>y9-1`oAV0wD<0DZG_ zVmVnx%drVa)1wuH&LCg{OvX6M8i=IZfbB55_jV~v6?p$ef@Y99> zsIds)r%^GR1jgY?CBivcFz%wD7j|*qZkmlFysMQ% z%woM>DIg1Sax~hD4#j&0?^(!zB+{hh__4iu`~w;sX;Kj!sXz}JT~>9sxp~)-1pmk^RsgiYdcAAJ2dgEj0m?+vv4M6f@2K-WXlvhs#7 z4c`jg!?-V3Zs`S^!-3t1Dll;-06v!H zzz=0U>jBCak^9%$V14XBtOEc^S#Zb2yRy&ZYQnPSDNiql8X94A48qIln62WT}tz?STkux~N%h4kpe)T%r0m$(!kIC$FWuD7GVek}>dS|4He zf=76BQ&EK^T_<*M_lLfFc?o~`@CVf2(Mw=HXhOso9urdq#?%H^n~ST_(;hYenzhRW zfqJW_=b0=IsPY-FC-`4PFkuVnIPf)NmP?(fC1(eMf?d#L;{Z0rU@53f7HT_KhRl=y zj5&fFxL%^^A6U8@JQ^pK77N_FQ)?v4XXG1WQU_BMe@H2*>-ym@O8g3W#$T)NojwgV z6x9^e2r0E{e=8U+UbJJDx0@dp4AY{z*vp(1W7UWbxXB-fPrfRTLMCr`mopYD#JvI9 z@6jPyM{%OQ9H^+3+xPN!z+qHQ86nWjx!3A<7oDeu7rg1sIR-EG?Oh1 zp$`bRCoM|};Tg1tOq;D7;le^@0p_N&Uw!!6IBn@Y6L!a+7iQF&?(Jrpw9d~jFLMv~ z8vFTG`=CSjqk(tZcK451sX@5Ut!Ijj#7y*FjS3{x#F4z+?j2I~{YBY!`Vw-VKJ!-D zR-dfzc(2X0EH_E!k5oq5FYV?TLp-%=&4dA|7J_*N+y|d8xc!5J>XkN&K!P%Q$@}SR zFm-_U(=s|j1RUk5)zt&ETfkx|e|_(&$AwG3=0<|K+R=?t(rSoSR2`#Dd-{<70GqfS zX*y@V%?4As1gpVR*U^}9Or8u27VjM6ri+t>vV}FPp&QV`P;QalDJD6{*sQ55Hz$g4 zJcN1Z+rR(aP=`%$fheFN>~fxn{yY&Yl#vw^X;W$i<)O#Iz-W}|q+z)C$%}$Un4Ca# zVfHzTTwD#T(z0bEGH84mr&aU?D#x~&mIQ%JGQ>b8E6vXB^Or6@5iIx6yXoY)d9Tzp zWa}>7{ytX0Gr7KK6uCejpH?sf1n?pH%sN6GCqG~Af%7ue>&NBy0OZVb>y=!`G%rm_66$1Tysqafj4a=T6LY|o_ zMw_s|ll^uXbA&NjvuPWA#(gN^bk?J}!?f7*P0bJXIt%`qV)!N1p?hmfoSo0A_|b7vmSMbDaZ&l!bdI2pVI5T2Y2%yx~Z!!qu*N2IWt3yr+{DyJ#RF9?J~ z0J-3ZLt5$NFIeLMJXIGnxM++=-s$KhRMXKWbE!MsTZa_&p!*kdLp$96n6Z}8hcWwl z@Af@jtnO1@_xcOk7Z1CrBXyj-!F{NqBU$EV;iR-O8fMgq>uLpj(5z6XC3bZ^~M z(HFNF>8sWFsm+upo@W)oU}`b_Ypkv!XGQ*iMCRov;ymQc>@>yYHJ(lY~wMlRTkGVeVIkBlt;DA|l7034w~;-u&92d{zZjV>T!!rqyhfb@YG4Pg)mo_8tvUJ1H*ANXHEm|h z))J>Sp)(7|*5CGroqFG)L|5*Ux1|hb&U~jAo7P-_xx?Gz+BF@S6a9PP!yJ2myX@~2 zPbxHRTQd02yAX8fUYo1jpDDwQJk#y{tFruF zU4s}@$!&ib|Cmp3n+0jcfT5v(X|-o`fNCM7k5IhCqM-knV^~ykh_JXMQ1IoqpclmLbeU&%#C2*))vf~4n3UeowI?0gGR@Zb&K&e$;0NQliVn{ z`D68bR#)fp?U+vnkK$uE!(9BJ1*_J7_3Tg7ro%4rUsKoG6nUrpzPn?~ja)g6r*K=~ zmX=kQtt5F<+yui7vfA6F{8|*A45MW5VpNQQriL7S34gO1`o@L`L#>;}e3yE<093}j z$F*f99tdb_U_5Y`&%TQlAF1#jLrVJpCBkCStBNHGbsdKzgJpWzMwrHV7U(f*J8nJx zc3X$fbkp2&Bf$lL&K!h9*;;?D$O{B&TB+W?scCNRkhBl>v#W%YId}Tn6lt()cpuOm z8#{ik0wV2Rs7iv?oLX*WU9(B=KA?Fo>P~OyEhG2hDx@sD(pnwEUy)bAzH`owg0-fju-u;>k4qk9B!A#Af1TxX`!_wk849bob&(Jm`P`*|njt>%8I_}$R; zl&+Kk;(L+3*L>6N*`qsvt*Agu-<%*pR+azA%yuQZ(|F9G`}O{xIH5@Xwde(mL+X4#@%hR!Sd3~{lT*gsojoUe*k9OS+X&w z9ly-nv*cQ7ot!D|?n-&mb9ZkM}~_-%#+KEcO&QwrU1-p zysSXU#hh&*)uDN#Vt4K;i&Z07@0)v%2X0~2Yi_*FLD=H{-4fdQZeGSvG7A}D0RYDM zLcU^Yz2euh1OYF^O5}{Lg6YjC33+ouU=H+5fflO<%%hM#wF;}`8ao;7wOjQwligB= zI3E`=4NLpNU%V}1L;jY&5S>!KpNk|v*Wn`}qYq)qDE6Iy5KpmJvh#L;rGu)YCh^mz z(Oih0Z}J|azPksBXT-sKwN#Ry5C)dZ8Bj6Y0)aNnP@u8~Q(gDbcWX~)8X&v!(t(V~ zS={lWebi^wpNdhz##Yhn6&1XlG}8s3$$uAi^1-z)hyu*3-tSe=AE}orNtn!jj`;sa zI@As^$;#NVj^3vhu=zMhUeD9pupk?h{&l$6LlF)cqGK?!&VMsW#7;wSU0~hZurK7d zZ_2Ido_dFenaR6N=?9YsXAQ+?iiVeHoJ!Ap^v80%x|*A6(xvT6>_84m4^@Dx$tj4< zyw^}@dNqO6tY%2GOQgVj7!CJL$f{n9U0CKhy>zoC3YO7`m*D(s&h-6^@@UJm5uM$3 zrFTN}3eEZxTQ(V!fRaIJc}P{Gqsm7BgD-0S{$ZO*L^FnYt2mu@BHC#>Ug8{B*vn)0UZvK@#J5KePk-eq$s*NrpG>&S7shN1 zsQtsNQ%TfLj`gJoJ48L)jFKWa0Iu$l0izy^d581T5Oi|Hr( zAhm4G7-?rR{xR&Z%=+>NoDXq%`b*nS6i&z8mKK{>`%#ijQ$34*;>Ho7ce`xjZ(mtUXE^;$XwU?L~t*LC*O7wh0XQpSwl)d)*)2K?J?O%f#=vLho zkw10EaU#}a&ghh5l%4x4IAF8uNf3Drs_l2Y&&YE@Qn@&fVe*21pO@Wp4c83fFT}$- zjfMV@fSH?LR2bUm-{KlHO-NTsTFhbcU%k|+IofOJ-ZOFvEKF!`wLCgBo@!O>T^Dzg z&=6UlSj%2H>IV}=PX+I`*UCX7y$1Yzrk1DJ_{Dz3dW@UvwbfyHyh^G&J2ocYh}YyB zQrCU#iq({D4_sgltDl%R6c_2bZN`lM=gJ@5TzO0~22uW#Y#}(PJu*LHEOpbGY|Pf^ zT@v6&1A2N7Z4b);3*sO!yI~Fq&xrTUs72*z?KNHn9Au^6JU}Og?EX@=yf37$Z(M-y z9)kPv$X{YSRd4spGNNQ6RAL-P*L87QFhqvIKL=9nrez(>vxVLZcg#Ba>n!nD*wEwd zZTfxgt}8xTcN$(N>BsDRSHWIulj9ce3-uUNmAgMCUX@btxtgE!acP{}q^eN$5AP_GbN(Bcs`8Ck~4K`O}5@(#?EXSXpY5_eEA-8%%0|12O8k z?WOXp#qe*e_0r-RMjXd10oQM(QAldCC?+7q{9Ob1p#et-c64#cXorKK%b0*BnV9pvL&pW%h=`0-^wb;2BPF^YpLVF6 zk9^c9ng31JeJeNRtluNBH7;fcZ2NmluaI6?w>%WYk(~pP1BrE`?sM3>oFZ}>Cy0q^ zD@mzwTS+MfMSAAu-|^kAA-Vw1{;Dch9h(np$P*pfZ!BNjBQ?v7hy2)PSrnD+6`Qy_ zv{KTx(|k22Dosv+AKV<4&Ps!P9uww+UQ4D-uSdSzF=Rceg zN43I)IgO`0T;udiNO-K?A@o5*wDFFi6DrXh9RXh}w_ za7D$`AxuXQ6T7MgY}ljAdi@nhi;690cx~vV@l-kK)5Yw5gyjz8fCbu}+)m`&EQsvlL7{kCv3NzxZy*1FDC4 zTPjBQy?o~VhMp|k7DfvTi5`K2@sL;1=rEiZ-5}pUIax}Ya51V2s(U`osetA4pAY}M z_w`y=QLxJUQS3wGnG`|&2_<_s7a4AM{ngVoQ}_D%SaT4F2ZUtf!xa^F!XmZR8dzsc zxb$J??ugpa`Sp%a`H6St)OV;a7U>ncB^@WC+a#GP-tRqsScbT$h{~{jgG$c&FI0UuB!{yw0OZZ;v$~tWR zPyDF(XDY&dgC-gvBiW%=5&bh98_;5CV+UfJ>7 z$CKKe>NAJqgNa8~NV5qq_v0&u1IJln7E>0)0N{&EN|A)~s=KnK*hd^HX*uYdQoX%} z&L76&nck+Y3a;&;^v^gW(O9|)%YHn0&sr#Su ziTuj;pr>~e=|v8t8(1 zQT0xz_M?^rWV76zw;L^1*zA=M z^~6oo8Q<@uybe>-!Ovjbtc*U-<_V)JtRm4D)N!{hciak4|!}p{n(KDk-al@ZOp{o-d|S&gLm&Q%?qIQmV*|-{6ZSIm}8AX@FV6hBXxUl91R0*iU+qI zC9SOmAvagLNEJR^iQf!a(q$wHq^0d`G+k-2C*4C~Ef^B3!g>9_lO+0c%vO5?u9-Nx zo)$oyFfn^#F7kbb1JC_Sye$c>(^2v* zFnFqtu158Gk5;sqAi*h51xep59U@T`l_a_Jd1Aq~E_Rk|+M8cwJMeh0X;MG3HNO?$@L%uh^Kh#uZ+2q!Ql$G_YJql&$=qxA<1%bTAo9nOlD z(H-Xx3r7+Wj78xdWN=KOK&JC#UfVIA4e4jyR`}xSa5qjDp*L7l-va^`VNr<20!+bu zbf`2oXuT0E7FIzy23U=|WZyMd2h_%#Nw_k8!C(a%vtRed+KJWCSwxd;ll~Yqi3> zh&;PZ2`5RoXYKhMwriwCZWRMYT;XvW^EIg9pEDJ3<25WNaKq+=<36azt|I5Uzj=PN za92h`9R6#=`^e#3C>5L2%&`IFUP#O6=@3R8v*rvxU*Ve#l-8%5>pb9i48A0II|P9~Aeg za;@vDV2k?FOqO#tN>&nhwj*1@^!`pURq}M5`F%!=0WTomnUD1F_`iV!Meg*b${YRP zXpC83?VEtK6h!-5b-LT@;5PT;SL^D)z(<*&d-wrd5;H>@)g3<-TDlR(R`0b(lPWTG zndvap9)pe3S?6I}ds;!j=xE*N=$>N4FLR$`hj{b68N@_u#p>mFHO5v{&pFy33RG0` zHVI{P-;cTh-?PQnC22}wTA0nl?3S{etHx#xz)Ycrw3@yyk95%f1jkB6!|6l}IbczL;+`G^I(Wq4|$ zg4PsDyVjQRun8haSKoQd@>-Bi@@T87sy5GTsk}<^vp7nN-!3fPzo_`QDNM_eCmm4! zOHjBDVI85`uz`~2D(NgZz+Dr{;j<^%!}f;Rbi&hvHD=9g4cTzy#zw`gZNd{y_l z|25+L5PW?AGDr2f=AleFgFh?22Dw`9Xp0gg6^3l{t-G|jchimZcBdTp2Nq;yNkLEh zz8e+YX@3iLvuC42c|&SoapMt8sQtw+%sX>T$JIS8aGF>nRgpPAf46m1>)9rcYe0}x zJ9+x&qUQ9AXOhM!i7|fSK?$?+FXD(Bo!w6_)WwB~SG}Zf#kUp<3vW7~al6Z|Cj&zg zcZRqr$6wx2EOs4m^-HAAviV?}vi%a4N+eb!PQ3}?XHz}bJm9mf7+m0bx;|LQ^WPWTe(!iaDDpC#{}g$p`(AhOc<@yo{hvubWpBaw3#0C9Dy z0~uh)Ne{qy&!J?nmKNQHN%54Uz588O+t1rdNo_T5Jp|^NbhXtDH99yV>Ah1qpuVoA)`$!_#y8=({QnurzpAOi4`1kiMaH3=@JM zA$geSHP5SyFtPq@GTJWGO&C8HW`LNho-W;gUm!{xQm~OE6X-Wk%8y0Ma1ZhL@#E@C z(R+{O4S5-bNqsr17iN}xN+&S1y93Ls24;+d^92+AgL(%c>5J**OqL;+Hp>p>M)gUP zq9-<_Q7@x&_D@aT9Z~Kitu!@+;)oKQWv|KA~oA`$Emh`$F z8KOt`B_$>O7Vpt>gdnA4C>@(onl#m4quS1b@RBxNmLkNY&l}+I96zXGU|iaiNN`J< zQTZ1o30VT&H5Y~M@JF2NsRCqfU+}up1WIBAvL^Y%NjR6FQ~+mtHs#F8S*_zwDldy8 zPr^$QPP*D~X+Bz}S)3YVl1x!YRmdS`^LxbnX|WRTrJ9=~GQT|o5jR*`c^X+;&&a^o zpPJf`=Q}m>b%yT9+~SwEQU+RX{y2}j;v4lYS-SrTEgxnukh9wxg`T zzy)lljS;?y0oXYMrF54BS{=&|;sAsw$wmS3*pT6SVuJZZXlMOKs5`*z?|(NRS}GuG z9WOr2&7M>6XoOpkKwCswsI}C2-Zs1Mmwpf+bb);$iAAe+9~dpHkE?$Dx;VAFn?MqZLP0c%u+Pk|5tWW1W+aNe zq;@v_QlFh$+}TrYlFLSZj;sDrB7~|KTJlu9I)t2<=`pTEa1z3cA4`QpNZ5x^%j{d2 zOdil0o(FwvkvN2^TBq{`iFcTLEU!2vpB7C;sYRoL-Q{XvUEq29WkpW)a+td$wG=Hq zwdDshv+=f;^elf#+fi`d0s?+4PRkGRV;=V!4Xc#os60H@_M|<_F?@ThJ>|R|dHXR_ z=e{c|AMIxw(%HUqGjRzw6MK1O=pa0hI74|U_gvH4QS}qAzKxhXPUiZjAJWpLWerHw ze_myviq3v>H*oZK6#xbLlR8pJd&n){ty3N^&jB=^xN70=bxu7^~>GwUW z+$#OKW{ly4nKt!ZQ-oaolh0)R|L?V;c;7fUHsavnbr~===~~OlJ&zH_DxIMwyzH)h zGt-i)^b0sz^@|2@K#>O(YN}Wn%0DEa(Bv2W?;q*u=Q$4xM-KZKel&cz<*@&$IB8?v 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%0Dc6 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®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 A=>Px# delta 1100090 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

e?t5qjynSVp@ zy@A{Y8(tpY=zudjlTNiKiSDH2wzaZ1_GNq~P@&%&6qq&NM25|@7D2Nbd z>#99{E6s^T4;W|D3>@z?4ati)DRhYeN}F@2~lBl+oo-w7S9HLHB5 zs)%z~?%3?E11F*k3i<=3j1xcu+e`aIA=QM^?8UY&h8@*AF+B!Q&cht5tA5#j)(8Ir zmO!k5ICe=`w0a%a;@9j-zBvq9Y^eN2a}bpmB_JB~GE0^vQdIK!r|jB<=E&KfCgbI0 zD0SSiq;J2c6aS+iY5Op^Wnl9^0>k4Vbo(=nwA`fup5erh(q= zGaP9mL$3;NW1y5p%-S>>fXW{-Ni<~v@*1EcE-nn5rwRWi&ZZT^unO?NMq7l%a7oIL zfPvaQ!Tr7~(iw1iSV4J1z1y!3A-@^!d-{{~b=Y@iE0p+UujGUrY?)7R18(T$Op<)G z!r(3KG~7HMa^MmNMoBuKnSA~Ealv?wg!Sa?EkV@M=)uMiE@q#tSc2+}IsV4TDLg~3mu z1EWjqvno+SYS<1Db(D&v-~!RKlrC_%#@1=Y6holED;)P6ZY+1l53AslUT+gwozqPW zUw@88EMTmMFpCn7!I%4}*--uh7KO7B)pUbUROHh&$$`#=w_;*LpA`v$1XG#+{*{M3 zFPMAijJ|?fqJe7cB%-v+&UP@C>K(FjAi~`|fixe`RsgZVDhhTS+EIg>lGz2%E@sw} zd&F#J{Ks5C>oRU1(E)ND;u231OClKtk;?T!}kRx+)n zGL8fMhj1(86icz5OXwd&m`_G>1u+)7kw4Ij7LSh!55d~C-CM8=%Hh)|R~b3eUrEVX zQGor&laFN9!pCQi%cEf)_;zbjx7Ei7O4 zAT;-3_%~t{G-&?SEcSTVw=iUsIL{tKnz7R3kK(6@+!qO8=g0BAZ?nRzIZ-=x!y2@& zvV2(4=@bZY09aLFmWv-bDVmWeQstTTYGt?7Y5#^drj~nBijS4rHC+QAS-?2im||24 zF_9DNPqegTBK|Z}U>;G@ouCng2|wj;n>?q$1Mc>kG6CdibhvzF%3-$JJB zNyc*t)fQbR_)Jw)TRiW_(*U^Wbw{r4kW z+#eP(mmqJ&tUs&P&g#me{6%}*g*47h%`>O*ZWqpxu2`Ime;%V!qr6c*?5AJnsF4Yo zKdQ5oprDQSfp%=J=YM?5)N5vyeqJiS>PE88^m$_tJhfv{nA+DgDV`<+%J?os9hb`s zW!{?}L<{AFyQ}}C^#^?H*yMIn+dfFiQ7palm=?2)_q1GR54H_8iZNs#+Qf&{j^J8zct zCdvQv{{e`WT4pR?u>3DP{u+>HRa+Bl9fclG%FR=+Qq%BWAhs?4U;=BbzG5I2dXd99w4i9@1vG&LjHq+R~h+QbX>T%AID@xi+CZNm(Upnz?)Fb(cfn zf6(V>+9Lo!A0vE*%N2&cBazfnsy%)g@~ezxYUkVU%N)8{x{zf?`logQ+7=)hC#eeW z?&bvtO-q)tXe>3rHD7U4%qaXrwUb_*N=fCSfR75*QdWqz7hEqyjXetRUNBtlMB0T< zWf5d9u2iArdrYD@Alu4Bf4CnOpr)$Z*-adqjO18MPz6k?^ha4m7O863O-Pr-WyG3!*yq6UE9Dq?mtmG;%o62bQsMbwgE?lpgwl`fVStCa#>!I+$3axSw9x4 zlKP0x)WS<)IY)WRl{OQd-KPP*PajUm)r^(uTfJ`Y+dz(2TvFJc;)`f7(wk&)08|Wi z$ivJH@X6kThm_%e4w+nOj!STqK-QmZ|20=GYqiHxw4**fVVXYUq#U3kBz9J_KuCfe zF`9J|;(9W(wPRN?MPPb4dEicYVB8BohJe=3oD*v41}#s#Z*!@A65k zt8%f8my5>iBEy?Y^YV6mC}rq zS!n-L*T#U*Vstd6%%ycq8pjbS@c1!EiIeYLy6baFd9Ne`=7Z2$u24SZVO_Wa@g*ZU z-oHgy!7m(^3~@axL`H)m#ljl3k_(lR6>;iqyO%|bcVbYuxsUtVcycf(qz^+d!=z$H zidZm%;bRm`Z5v3&HwPDY~g@vh6=IL2yrO^ku?c&YxScU61F6a74+uBy4KCd8eF zb|#pC=q(%db9y&VA>1yYrn}w5U9roCl3QQ<;@)-FDCx62*cyPJ+nq^Hi)92qm`_T` z22=Lbrs^Y zX`FzsQwC@&&g4d810RLzEM`I#4t~yXzbhdlNs&p_N)LX@yi$eS8X0m%Ti2Gjss-1z zpv02da0{!@BphVhWa-c`-JsyLlXOtA_ez`|uBg_cjOC(3?1&lEM}r3`NeoMRgW_5R zi^SG3_h&*tzRj1Bc%xts9ZIzs-MPbv`Tf%t)eAnngSqX*?1Yv`73{_F8;fAbgeeA$ zVp&?&&|-MtQDI-xwRLBV6KAuBNA(X@=k{JC&HuzRxHR}QbCA<=3>*5)woOkbCD!iW z%V3@?=aZ}F4tis_ZE=UH)|EX&Wf`b~tRJ?(gp>i< ziPb$uu&kba!u;ov)Hp#8y&-t*FhMOXuXU{PT6IOi>9b+t@82W-J;1RZxY0 z@Y(w#dkC9xpa-(3=n`Cgf-vLq(M(bgse~dO@2CZvL0M}Era&XOXvT-zK=J{*MpsSr zJbz~bMFXJ^ITY5aQ>~bqe)?lS^qpF&UG#IR4zrk4WXUTyar}bzmjnkv{bLMFn3=49 z^T2N4TcoH{)g$!9O&^hUFL*?VeF)Zl=$9-bd=WnbO*xZ$-p)rL9`JvkDU(38Y{UbBVq!5n~3ftMw~A(2yfRh@?#If}*paixU1~O=@TA4#UW7?zI6Rzg7SsANtvQ@ zDbrQiXf7*Rw6}ooz^pv{c}pLHj>p7DwW1|R`xYW(hq$0-^;4)aZ*k|k#8h1UB^~jc zOR!eb*qj4mjeTPoW#^CO5)98!QR^nVu^HByk?yV6Qz(vAI1V*X<@s%5t{kzI<#)s8 zh~nAcSv9|pfCu~t6e2?45bMQKQXvc(smG}^3%78d-@6A=Kxc?n0HqeHNM+g{;|7lu z3+%~E^>WSVYMtj>IXrE=lb^j|K=d3sTsn4>k3gp_c^TN zFs1&F;PeVeN_B9chWz+AWt7y#e1pb*jTR(I0R}9(l1M&=h&paz$1dopVq6g zyo$2JV|bm$-7>k-(UymN$!vGdogn{$T>o;2udf0lLIDt^3ougW_lpXnt>KYs9`v$Lyxdn4Y0L;AeUB|U)y?L6 ztJ#U}r9LC_Dkb&CI<4wi0qxg4WqXRDdOg-=RX9=keRCj{nbH@41K;bQj4HzHMcSeu zTGA_yA8T+plp#)0;LlDnLH?O+UrUg4MdPQCV_@<_!Cr=uVpkaa_3#aECd zHoWmC*cL7PMZ1Yr`ob-xlnY7Z7i9m&ydY4{q<4=hoaB>mrxo)c6w1j;|t(&|oVm(F;> zrvG3kw{*}SCD1zf1;m?rGgyB#r8FLBm0;<6j+mwnb5QBpFnf?xy zg`T*Xv&U1l&Q-gw(IY5x_o{X~YE+$$JPr#6C8^1#aPS@b+o;e2fz_oa3$xiC_qv}O z1qdojkxRcy{JN6MU>xvxQrl8$bI2d6T6~q%+`T{Z$@DAE3!OexQ13Fxz8tr4e|8N6 zZ>3Q4YP49HT#CKa9dLBEST^y)k3e}&{0YC@aT2`4%ZO1p-2{1i4K-C>bVn5ocSQ;w zzyBrY?F)NO0^NT73$gUEQu_Lfz&h^jV_$TqJL)+v%%)k%xBzv2XxQJ*S*$@vSr{%d@RJ zXPJX<&;iho_|`U`?Qy)1+L$B!8w{;8PpN;8|7DskFG)*x81Hf`@gPIXKm0y`x@`J1 zqy=I%3w)`ccn6&@D{60-Y`Z_gfYiucesA8ro^`+-TirqT01O+#`Oi!Q^cZqgX zX}kll9OGk>o)m?Y(ICgiY2ysK=oGyPiTl<?Wf;#8$9HHajt|~qrk>TUKn$4zHKQ@btUG7r-QgXK% z^{b>SaiCN2Iqi!QSVr}?e0v|l^gr=6dQkn+Ov~VY0s$;6fd9Xz;)-{(hTxyN^A_pH z`=@}eL!Toy074RKt<+-_8Px2hpjO^&Rmd!Gn(FOuJY9m3)cK)tD>X|)|EsKeBTb}w zf=c*{?_|EpWT!r24J!{D{N(jTS;OqvgS zNh97VE32LOcV4^Q-v9$ERV6u%?ij(}B(ynn!WA!z*Dc)3n=Lyn)-wTiorS;lPm+7J zQUaBqD^h|4fUxIKdFHj;=UT<$?^_Qoa}~oNw@D9IF>Sx&T&>?`aJjdNV%9HFJl3Pg5#I@a1|*s-S5f2VzAd?&sgP_D&h0RuPK1E(sVoc} zv_cs=b_CC=%jLK%Gq=#~u6gX?YP^dx!RMBegLPBr$H`f3E;ix7V(l&YHUEIyj~VlN z@mDkIRl88mVfl?LPKK2;kBea^OS%3oafMUZXE^RiY{*zeUf76Ge2*ncwSfYpY2|Mv zT4g9)y-|Qa_7NaU!{H0~)UNei`p;svuV5h58|aD*ud!q1`|44rS&a)8Ndo-o1N3P1 zlrm^s6`GdIm9-D=!qd{o-Qm4?TQPG@cr3tVv*UVIQxF>di>R(Yq)*_4W%$HwwOqjD z{l~c0<;q}v#yuss+kWQk*b8>XQH2ZavPwp_6QSUk#b%K?f~68z?fjvJt1wd(!WIJX zT>Uu9^QMQ?u;A^i$|qaG6xKD(_0oLp~^WHJl}p4J$+y5o3>IvD$Q(Itty_ z>(9Bg=6CNA_{9KOVEfAl{`tCgHF6BZ=1kw$)F$~UBGN!nmSvOcb zd;l-QPnM}Uid)T(6)=XOt_^EYl?ZBD(Hx?JB9^OLJEtq5tbkZ<$oUxG4cpTdu0A>2 zJO_@=J=I!PlD~x%zl?iv%9pJsxb~#gGWt{U*WfrN8(@Hpc%M&K2afHoSs_owKJJRD z`|cWn7oS%=45P<9M??37R(pP?5e6Bi{~ z#H}|i6+LAHH%XQx)mXoDTS`pp7555RO_q!>z3UY>htYNN4CZick!acbpD-^8+Wo=~ zU{cY+CqaM=l>20rIy6!?@B_|TITTxpxz{VuxQ41bw!&s@gTv^A z1g~S~;25lv2!!(u5lB4D-J($~M%QY}LeWT5KCBQKPHO1n9?gp|yn~)tbn8vy0pa(5 ziw0o-vX>1h6)e#OH!AHr753E7pl3oe=XIo7y%+t12Z9CHY8Gn`T*E>MQo=Hi;X2F? zfZe#o>>E8>JB?;Ht<@MF_;J$SieJ~suQ~S-nLw@gsfu|#NV;ixm$h6@P`72G22jm+w6}(wD3S+BO zIHd!1G+)_CbjR?gf|9SnbaM9DTpPt566d^J%1l~u3pbf&XjQ|BJ#G~ZBeAvzvlR=C zVMLU7PDVTvu#ZU9cH$+5`fmz$S^e?!=~L;87CGMM(~WlTAuG3?Kw~_*+fJ^)e99W| zrxZ~|E@^6@zifN9ye>Aq-i=$0K#j(#pP+%z)s1Gq)_L{mj?^$=V|DCxYh4S#IGf~e zbhtvT^L~C zc-)RT+al0dX#3qC)l7lA zegaghKOCqM^bHL^MDM@Qc)SgBTJ~?>tA|1}7oHXcwUgS3Ki@J^Ik=L>ZK)I!quP=M zH4e>Sndl`D?pn!pD+6zvx()k!`nyLaZ>&~7XRSG9Q+VieqY-~#D!50kfk5i}NYP>_ zJ%q;;clr8XR7G#G)9|zX^+mJ&#(oF-dChU(q4(5=+_;~099Nz96+T!=4n=PNvJ{Ab z7aae3a@_ypc(eG>;!7a27$%T$j zSQb7JS~{_jnpu;oLr2^#eaFFA?&J?xCbKmdPhe6lm9dK>U4%R}ZqkFlUK9Y%bZ%(C z@oLxz?|8>pn1NM2Z3wS-6nw01ab+u@|FKpwNg_-w9Atbq<8dV+2S`RR}lE2XcKWf+M4d4S!z^VPi#Z+H)K?Zxwv34o6%Y^4u?Uq#7PU< zsw6U8XJpS+q$zx<#GV%pv_&x@IyJ3h;wM8PkodfBZ#ZiSJoKXP(StzA?KX~ z0?wssI_!4%%7~#ghhI1a(U;LKfi?!jHNYvmqk0opgjkEC?bu%2v}$j<+}c4F#@bFS zv3rJCE~IND*!x+iHfz>cEalJGyh41A*FLV%dR=|HO}~(k=cSbye8_JgIsBU6gBs86 ztXizzY*FBX#!uBeYDx?9g7WD7VEnG%R|T3_@Oov@TgSkOes?!OMOA#ZxmP{=v;5UQ zoGm{M-$XLF7?K=VtI1{IW`E`h-*E*q#z8ziZsB8+sXfG|&m&~s53y!EPBn(>2*JUN zSzj5j6n6WQQ#}Jk`=v8rGuXQ^ghHoqo`=x>@F6G?z@b<&N|?QnW!T2zUpb5B0qEDk zu%NwTm4f9hO9YcPI+0QTG5mW$Z&!GMSYu^~Ma?VbkgkiRo4&RdD}CR?=of8uS=7F_*MOeKE;>zARs=9(628Fk}- zOSmJ(tj>Gks>xEj?{%6tU+DyfTFfAQOnZZ8Oz+P5IylFD zhpAn1?#lTK0R7=rzxaueP*X$vkyl^zbF`8scUs^hBv=1{i;Be6A+Td{VU03diDZ!f zFe*VcrdX7FRDh-ho?rE8`Ke=K$y|P)-I`Y<+#pxMhEaCB0v&URU}_pIa!5ODT|^-k zwliHuAQ3@;G%5i_HH&-1de$^6q(SAj1h1?l|6=gEZ*HLO-++%#80*oB-vMiEuO@i$ z0!A@t4cl9*X(d%-p}x;nMiaTET&>#h+lTY;$fdMcnTI++4wruh)ZGR#!%v!omut4B zf1pPJNu7WiKagR}X5W8vn^`3^#*+LYo1ew^WYy0dqqBM6uanNfZEpeKE5YtsOODYx z%|^wRyqgZ|cOhdsCgQuuc1sLGZKjc?&!{@Xy*lei=U?Kli?lFxZ3u95FOf1zUBSHV zF1^D>2TX0CtRe$L=N?EC0@v0jQ1N3ysGfo*r*5)NalluEkDA~z6WvZL!nxk^G^q^G zBrM`fpE6~MDYrHd4$#>xjr*6eV#!oPfoQqxy_g-yt$Ny8rLYw_hU|Izqh!*u3plwS z8z$pOeKhI%7A58-_1&Rz0QFKX=;^7Q>rJAzj%6VlL`^a|$dfbKVDNNaAol!{@8~*r zS7KYau?8^+P9(D|rA&eHOt|OcfCz{Zbg5*4wGtPK6=Ju?rO)RQ#iVSHHl-$s^n_Iz zVGRNzD#1t`L3y@fnbqV<0bjIy+4zKFhqDGburv+Of@onaH8sS^+S6sh>#`BZ*_d%z zF=r|N(Fs}5>ZeS++BtG&RBrvn*O{>@v^AKdRj1@RpbwrC5@XE^^cq=UdyQeZQLW?V zHTq>EN!iJfFa(V!(KV?;W(Pm)!~>H#a&Umg?4(MRfH4hUw~}~h4A~`HCG>-qS84-oityy%x;8{fH;bY%HCu7Rg%KQ3{0C91WXE5(Dx`59%u8IymVNz2 z04V$cwM;RKj7wjdI_PfB*8rJHWH>E4_#@YmLqpjFp;MKAKA5~@e=-_~Uh-8zc6%V< zq#_N35y}w)jjq_`eI^A2-Mh+Az97bcs?)#b!o1RRPr+ST`veHhzW2EpB`j}4M+h-e z&L~C{sS$BIXrp$>WQ4`B`nQd)g_#(kP&k(GEzy6(DCZ}inC#JH)4(jStWxDvL$?e( z5t9RJi{vFd+Q8dr)|X}yGG&{<5dol($zN*=2Gk@xlS|h86^+1i>!00Rxp6yPZT!=gWDIyAQ>uZCb;-YX4d`%q zT`0=X5Oi7k0#mxS3o`-cK>|G}6!_6*wS%yiYBWSmI|(kYgVA6mCD?JTJjjoJJrUj;wYQ&2<-SeD2dBO#mq zrc6R}ATFjL4il_>l$tjyk&o33qj(e@^kaKUuj|7o5XjD-P=o_*m>}@#1%`66mEEwE z|JKfFFeL8ac=3>Q&f%EGWXHQJyGBkl)vAVcIZ2fxaaGa$yM4==mW<~&J!HF;9u?<~=|OQu*fF%%Et|L7;J80i!@Z{4uE@s#@mqFDa~%RB zM;lC9NuqYGEdP0b;MB)s?$zRQEB=uBqUUUfE|3ki!Bfp|F8{P>{nG+7%vv!gfWFb6 zxdYjTdQdr@Z)$&!`#EwS+$!|`%akwQkBa<^#od|YZXBDu2P3Q4&VoXpd>Dna4#Ey& zW7z-4G;d-G!SmFmDzEAoc{f=~_)IMnkXbuZxWefMv=Jz?-m{#}!&LJ_qdy<`qz=d_RII#Y3&f7EZK*-gQC?e%053q1y(H)PoM~^ z>?*>YeBFTE8+WJAQI(^#jU0D%Pk5$t9ab%r6Zn5WktmBP*`#> z33?yefh;2q?SK*&#zrW3e=ZxTIY$P=jqd>)9R)T`2EPNZ45m!AHKMAaQ(do#GC0eF=Pi_b=1*`;P9!|fZq`DXWWKC29Nd858AP#VV{8*Z?&(Ui_>TGp&~4M)W~d=w9?4-nXm` zM$>Z~TQhHydd{7#Uc(i=_X6xL5X=pGgBL7RghrfEt4`eMkFk=FT~mXvHd$M<8jlyk zM!S1ZOP9ovRu{XHi3tD+k}7KSQ9QyD=v9(myC^h4eKL8pB?WCq%{*dEm000X_oJgJ zlumvnx|A8~%>%feQ(X{5cDRqn(#bnkcNx2iLI=;z<=x;C27gU+k??>I%=UBNCR2xW zFK9+SR4xEm$NaW9*D9DpX{WL{q6mNI20hMA8LyYx=xXq_Mc^2sf=a?at}f*&Imdnc z>;;->7Us_wuFQJ5nXSwF@q$GzKlX(Gf;)EtT;nhus}4RU?UmWR8gDy=Yo-wL;U&b? zeCXkecU=KJ110QFZuZcCK5Jjl?bxR@Nqi}*;=bD=i@UJ_w-PC+ovE`e@x7wQLs9FO zfQ04bSvwb1~6 ze%VT-iuHv3bzw(gLwh!)=VPLlN#z=2Qs$vcVAneWuDcEdlUZI2I)Mr3^GUf=c`$ub zcuFASBIj4hr~1pA&@;4!I8GN-9cS%e6wmUNc2)m_QxdAd>3^=`S(yK`i>Csz0saf_ zysf1jMJa{q_o7blQl52uWOBr}?M4Klj_RX9AnM>-Hd!vV3M!Eh^7iDH&{{E3!N1)Y z%OJU!-El-o#>%8Gx^z4k!h{BN`A@(UgH*5N#p4$L1L*$xx!gIKRr?gObiD1PBn|P0 zNj;H_rlTth`29gqjaL*UjkL&+hCe#L(`f&PBzETsr*nwZ9_u+bv4`Lk`Fb`!=sb1plrQpOgt z;pg*v0gG;%D@6}hsz>pynqnLEJfxW~=jR{;CH-QD-HbAu{MD(CRHS$;AD?zPN!qrPRHulwr$%s-*jx- zwr$&H$2Q)We}CuVALoqmUDv*-+PlWCxpuAjOwvzK+c>6jl*-s>=1OTL(r%fB5L{r8 zcUgQZ)0802RO1}M#j)5w-UzqR=7 zzVjZUrXLoI)HK*VLN^4;a!Q|jplR+0Y;x-k-&3Y{ev>wPsUPs|dS|Oct_?|V_~t0e ziXkiJ8-7{w{PEY7qDf}q$9|sR(zfrbhpH5B*&rxUU4uI7?<$}vtL_>IT))g^;*Q(7 z2^e7eFY0`_y94CS?X6h#2m5{2+%))CLE)^o2=XFS5@`&&NJ9VPgPZ-mdSU)j$}UD- z@slUQ2kbkBB}PynxEpu#%K{^I)~%bWo>I2-A3x^u zV!^aEd!+ol8oRu5eFCKb#UCJ6~-H zS)0P@I}-H=vOT`%gd+7Y!&=T@8WjO?nES={KKJl?f7$N5jUl3cT3yT8@=()GYkQ#E z%Cd^BDjN0$2dJ$u%CCd4!a3yqTy%g}KrU?!+j}_zCtOlo+Ln}qj(B+H<|=v!%=g6sum*wr@E(l@fYXpi9>3Bf>LS<>U5 zc_E#wZqY1|59B|nR2m0)0}c9L%m7HZUq8Q)QL3x&aC^I#;;e@9^iT)+pOC;q%PX{B zUWxs*!&Kb;=bF(*&PPrU`a^IVjDXR;JQxxiF%EX-wTdqimF;>RSA`A$HTHiZD}&zw zDTu8{n25$lyZ^SlQ3&E>dU8hUCJP-mM@d2q^%u5nL@OSInKTtRr=&NDo6}oZBiHW; zq^GWLP%@&Hx7uX5*j@8~C_@4zqfaj;v}{sO!p~1<#n1M+v-TkFlLCD%%=hw>1={sA z%CIMbsZ)(Y{JzrPEBnxde;}W*;)}W9k^G6QRAeM+R)4QC)-U3i z=lboH=E{nwr0q+!EDM=x{?x5E@aM=F%Qw2riwao&6vD z7xdYu*P91R5XgMGj_k+tme(Z(2X6s0-B8sr6)ojhw#%<})2BIXp|j1yCv(R=5y&9% zAl+-Z5<96(ms?7J5Vrx9PxeB{2QU_VRp3`)2CNkud(%yQ1TBa8P{j@gA_bhx?IG)6b0A>edR-~9{?AT4^A3()4T1iRI`nf`%Dr{aiM%R34EdRv3=+rwU+BvFcuAebpfCgs zv*Ibw$tFaANuB}IOKmzs28GX0z*oWYYG<7@GX z0T39)H$VB&S`DAQDy)>CL-CkJ=_X1RS40)fL4k1rV5k<``GZD{VE?vn24V8d4}69} znr@Z8L4l0=#<2G>!c68y@m?<6ONHjm?Yty^^@0hHhiw(yR^!L`8&vIH!}*} zb49BiP+wYL1wV^w=sEg%QeAgw&a379Y;mBbZyy`k;KSK;}yQ#KF%p9z|qsq0)#QIE1KB`DJyn1r`?9oy! zNp}1*!O0vv0uygLRJa}*`Lo?9aR)7vi9PHD(3pVUi^pW}DRT*BeJLKZ~gVMHg z4@v`iya^#j@Gl58mG`<^QFWzCJZ9ezeV+}^W&?Ol!W&*7Vki1wg^6=_#`?=aKA16H zcg2|}`SD_10TK|&DUb*TcNO-HPbUaEm5}~Wm|7@+DUs3}kU#bb*3I|!euS864EI@5i`j^fRBQ}g+qQrI;CUf=oLwk3Obvkodw`GZS0QCk_A(0`*N`5K#O zf$liM-wutf%<}nvz5-z{KydC~+1eUmm|$$vT#L_m?y1P)An~-HzJ_^P{m4ghSBK_W z>kO$I+}LAvB?CCJcix^)2R5xIh-9yO=anBP&pKX?g*`W+UzH*1xbJ9K%I`-3GUe*x z^6fBn_oIrO`lUe;3$A!2Q_fh$xT+oW`Q*CJzU%Uu^k!L$_HQwEGsc{N=++NBO}DQ+ zspC)N5-H%Mrbf?J>9^KNA3OY5fbTgK$FE^l4W~UKaQTUJ9r&>s;K-yXW(_mX&{nL<^p&77yL3y%NJ%6;BacFv)%sztlH$&P+ zrw?-TcxDC15d|kN9h!zJxdQ|9A{}gd^dDrH+|jwY>X}^U+hCk7O?CP1O&K}O0fv@V zY-2+V)vfD+BlXAb8FD|GW-C>ho=XXk2s>H4w_L^BHNvd;tKGP93Q0!*mwpF#1ms)~ zfA{VD8MXT$p;v`ZycWjCaRmlD$|qm)=fVZ{V~ccU4)_7kdI_vihIvjBy;bgwZ(%;a{xth+ssD zz+2CHPUYD2a%j(HO=1#Yvy>!wR@GaxXtB%BpvVG1{?Y#%05w=c^5T1C1s)ovUcP^A zF!NWvD-!R^Q3S#5u_G4_-y#&hMWIy@o%Ox?8B+kTOR<%cHDmxIMU>g5vqz;ZNPf}N zP`=v>vCZJ^L}Z)OP>^75db>yYlkU^n}Y~VuEh&1`EDi(K1*i37}{gAiZ4p zk~o!}pZB1~`ngt8hhoWzWQ}!vxb4C25$YGT55@q17wKBQh_h~i^(4tlpcPs&#S%0Ze@*yxEzLxGTt!y z6P+ziI0dmsTgjK_mW(3fa)&J)7BnS)uz-$|T$l=6~CI24c5jY!ZxIn#+ZJv`Z101lK5q8oZS zuTns+3)T?D+MK(;2H%P|>o^NEwqm)$ZupSvs%oF!#J;KJT|md>3zp6XwFcAJ>C`*F zr4vIc;HT2bGH*#e4`TZ%8Gu52<$*c1yRFJnU47-S`0~iMJ64tti#y4kGuf3wd1YW@ z*tfi67Mt56G2>_W=VUbiAnXg??zBD{Y-DU8UP=&UGjeL7Y3|zO9FxF-@(k+VHLwQ? z7SgzTHD5<5-CvI-2FD<#ZvM_0=T2%0GCW;~CGoG9xR&Lv?4sQ^zm9W)`Kf>Q1Y2yv zN&xwmL0=lKNEvR3B`qzZ2h}f1zsAcM-xjB=T0VZ&LPsLyo(0z&K*26-cM3@;G6~#Y zu}r!ccbml+f&R%-g$zl#xs2j6!m8}zTt9}zYT~0usik3!D~}A-AF85zmvk*W_jW9p zN**jIz!I87IdweJG0k0jBivH)b-2AA#soT(xV#qQJhV?{x0qD_vHrNUZ7xq1btki=27RJ(Oq;m9*(@dVQ4*39 zDLP>Eu)V^&kuwv5@?^wHq_EmxYKu?$tn=|P)sN7>m9b3+fFjG#da=k^tP`<#9Vfjk z2v8IF*>~zpyC%#u1Ol{YCm!uthc}JjaRL*E@NdNVKC$vX-oyhw7<=!z_qnEi3W%J9 zzw~x}?0A+CI@vJ;zV2;|hCoYxbo?1;dX+f=Pg7i@_peCxhI^e&t=O|q?Ju6Z!93u( z&qZ7IpBlIW++PfP5ZKJT7wXf0clqesEIeN>B9JqhPv0AqCI7vUwDO-9br!p~Lrd=J z`dq|5-bSEbLvTrW!2I>Ock`OnlO^hS3)dzRhN_J+iBAK<5G`?pdb^(r618ik2L9_l z8ja#d^x{7KPh@x$Xb=^YA=nM@vwQXIpo(TP`qRozK+v#NhYA|W1r!XKuctSHQ|1+t zt`F&0^|ZYRC*r!x0mui=aL9*hnna}+3)0ah5@@0jmAP?>+PX!$LjMP?mLRrLf3|jf zte}3C=vY-!{7rBVixn`h;?ascjPcgyaUe}?4U%@k=2Fq6v`Z>DrHgd_!zo00`R&Yo zNXX+2@C1v5lk3NIHm<+&Bg_&sbt+UG(a0+ofHAn6)f>E{DARWU%I>9~Fi~4Nm$Fn( za|fSgDkG2Z&gBRdE`Qz-GXY}SMl{(vdJMUA!YvHt%$zqaTtG4=@4h}Qj+E+R4E@r? z^{gs=xwzdb(s%l&l8lHvH<~es2n)JzVic|+Ht6_C&YFdPWt-L`l`tAN$}^5|v=vwg zz#6&vHA`&VoR;2CPiCjo6gqavWn^a4f94h32su2(_^bKI5z50d`JThN60OgmpEt<; zFSs8lkrwOAXrRDUV4}^F9MLr!7(bYa)~~PU{)oD~#!+;-1b(Jpk1p^BH-pHVV~45( z_L=5ahC$digmItkSOxn|sVA9`!*j)I02=;Z)z6{;{VSqpzR4YmXXz7>d|TgT8GMNh z!3R!@09=ruV0L*{A_;IT;ce)8&UmIN$V}npwK=lg4vC6f%8|p7x}Kngx`NXYQb%F* zi88*TX@|<@=)A%|ORS%5d7EQI4vi1*qIL{Z4VG&haiZ+IB+mgJMsH=jEa}DQ0QV~- zNC(p6*J!kl~8u@FG0?=96cK}1&}NllE(cUO`#a$eGYP6Aa>hR4BiRNoSsGNJ<3sm z%mc)N=~5Cc;-R$KP-oFW*phUa04wb^d;7ceHwyt*c~S+U>zEqSxVdK*RI5S+F?E5( z#Ym?pw*=D5n`UyKheS7DziooBzz0CmXnTfToT(sI{iQH=zYu;WFLsaV3?4)zs56VX z??VYEqmx8QhI5IiMfsX>sByM|;$Y@SAHYf+gETUE1X9S090+3=Y~t(Gn0tmUj(^>h@@No4>gX82OhDMj{bm zY%RsI6U=$>Ls>&e(Cmn^`VNHc&_`uwdiz{Zg?ls^i1#C2x>#^s@Ii67ppJP54K`Qt zl4Du)3_CFk`7B&>#+pVFCS%3alM^bW^$`gNM7WjeM7Ue>%6SM0prAH``JPS&6Ph}R zl*3V-an4smsRO~cg&v)&@L*OU;FdAGPXq%UkK};fUsM)G(T5NO$|hfS-&_>JQLouY zSryWZ@`sngKCDhbZX!4zv_$nzo-$l3A=+B1WR}u1ZDW=+7{8fW;qVtm{t=kQF6O6P zVXP!-L|yz{mTI~rASrFi7cX#v@P7D?XV;K+CkyI9<@b<{S5xeDH}i@6)X5wn=jK!@ zzj4pOQVy#iEfUJxvIxQm_$~au$hTgDVcDX!3=D>1(dn%)Gk)hk;|Iq()Tqy@tI|No z9`~}2tNHwMw=bItJ>m6dDk9`O`0;<%o#9%b*1=Z-hKBBpq3O~)EglN!aHuh9393a2e z+IT-~+sO&EM8H-5?dGV!n*i^qb`Tk8qH_R>Xi;gsMWfBKL!^G1%{_6PUE49xOP!N` zl3a@ZG?~r|$TCAEZI?M+V`7N(8{Au;vSV}T1>e1JPgsR=_TPCgO>SQ>ea6u>(=*6k zzh!}#Dg5_tvT+LQaBK#vzh6_JH}xw`;Hnke;S_m3*wE^n;Y9xSjHQIO+CD3#8?e&Z zH81x32_8(b7lNshZ{5vk3i49l62e496ja|UcN$m>*t88i#1z6VqnTvLeaBs!?)1Ax z0wJ=T$4mAj`-2Z@QCvJt@+g5`ca(*W(0R^CG}ay@FKQKG@bCmtgQ8A96ySbQgJTjP z%Cj_4E_fs*K89Cwbd)4r%UV-vABwk+^!as#bWC1^%T%M}p$|Kxsht{v^~Py~7YQ5R z5g~Lb`OqlwTr3Y2YrE=|N?3owD0L(1abg7$N$NsIMR}irQt;12GTTK(xAl>j*hZDJb*&SX%LAmavLbB zN+O{&rY(Q?_8f>OE30lvp0HsOFGWya-5+Glo*d0`e)#-`jOKTSdP3qTPeWLgw|F7t z`(EP#JbS%dBVHR^?maqj;F#j=<*POw-+H}W02*WFtz!zG1|`K)U6$lRr58l1K3(Rw zbMC$#?w?or4NEl4nN|$nc>cJZeB3|Rn${Obs>feFT5Z6+XJ@aU$#l?fqB&5L)xauC z1riY7aOOOY%V&({b+cuR6!GS|V0Fc8pE}^=VOwWF__7sRw9^DKD~b}TGih|3^GN@5 zV&6aENXJvU^Kr>Wm{MD-K$(^}^jMhr(+C}mKY?lzTV=Q~NivH(mjAGwf-6)VFD>}@ z&F)QF_2(}`YZ}*WGBOaK@SN!O+ww}U!DQRY44;xU3Zw!x1T;1|d*=6APU@?9;a58$UA8@VZG|1k>acZ& zp@cseM4Pz}EVz*k@OYaH=VzSqI9|>fpc^B}7;Tv|yovfi(?)*#njASt1MeJ&ZN&vXY*ZA-x=o z=)K8=&^Fy|^IARjkC1K&Zuy}|29~Is$aBG>IV6`e_nTC=A-`X%Sv+jkF1m;1+$QV*I9%?vuHZO}BrTsy#+M`4b(cBHIcP6I?gTY}VRp|RUn8}t5FNuZ-CzJxwnWn-a6aVt zA(4zrUSmwRN^;zz>}HR>G|?8e`(MD!J(D^VwFMZjaUs*Ts!x^ng65S49-wMqmUH^H z0lPX>-SB$X5ZljxhpB*=1vV%F)~`BlC*WmPTdf!ZVxG6zhGT!>VjE( zBof(fy)^CtHV8rmVbjf6z!+=8-Y>WI;H|II%6;7Cdz+^wbe9eVW>bQ#RFt4VT}yU&UT0rpF#88p9PP% zgKR1&p>WEDQl5x_l>oUK;BjS~DILmh{dQ+->gz6V3!zW^^!a7!;oOOeuy+RW$=L+y zJ2D<=3`+etmx)3!_WwoG%Qgp$NWcziF^z*@#!IHkXy<-7ws!Vh8utwdU^^mixojAlC5*3xK*-&6In-Flh?@7SogLX}5U-$@9e31`qn`{5uJ|Rq3|&$xAQ1c` zz||;)^oEqw>(k{oG7^#Yw5)D_M_zN3F;;UY;_q)+5NY>Y-SP+>tROK5;+(VxVoLAW zF%E$(1AvgZ5t7WqDDlFOd=&N;ffn8&et}JED26%w9>>#D+zBhIj)vRF-mPkOBRQ>5 zwh02tnT#s9CIgSAl=V1cxZGaO5XxV+foJq%U1YyW$C{KF*yt0_9PQZ2Jz@Du))+95 zF1+5nD8U!HlOY}OC6#@v`2dQTw08W_sSo~WdH_GNAh2->uls4)J~jixjAvyRT%BZDzO#E53}MOLgWg#U#UXlDjSNl8#=(vq+P-hm5Vrrby}H5cFXY) zV!CxEr%ACEEN8VZ#N@*9QSmIQN>V){eLw?l7)Co6O>G5N-TFN>X5~BesLEabnT}pC zlJ#Ue!cM^Ytg?}k-fYL`WR(TblJy3yV1o5WUHi1ul=*00nE?#bPA8urz~ z@#D#M8WNoCjhfCN6ElxGb_)E_B*kQ!BzCNJ-qfgs>-r ztjCSr?#Fh=bJn=eM!gt7bY>e03{*W#Lb&jc;XNL*mO_$597EEKUa1PFw*a-{65_Hm z-C!$eEe~ekSy8A*yX3yINVbrf>^@Ky<=bRRJ>i8w6)V0scL?!0{^jfPOJ34P1j@7q zs($01pgS5~C1&v(BKW2|OS6`R7C?7nH705KX7Z({p=2l?%vdbOlR2@77;G`4!;9Xc z%Hi{B(!#n_&otu;58ziBXkx5X*|dn&#OE?&ZLHi$>z$2znV4nwIByQo@qPenu2m=E zp`U~4&8_93*B2I(M{mdvj5^u2*YSk=Cj08?KhpVAy!B-Q#juqeN~M;P3+U2`Hi0Va z^CmPg#B5mFuBqV}ATTNKybo)ny1sob%OEp#?a|S`Hn>T@yf4g=g}(ab>IBPSJwZjC z1E8v(9PAyegwaR8p>DK~Dt^=e1uKbsW=6CR@U-Js)=<7(n@B0j(OJt}sNsC!*@~Xy zA#GD`_Pkz!d%ANX2)K;j06ehyi{rtl7SXWruiv(T$?;270=xdi*1bMJ7fFA;j$ZGv zr|kT?!VkbzH4iL?*A7+c-%@p=NGc?^({z$PyFSN6--rXmrP2JAzO)SB4znxl!c*sz zqO;^nKP?dtw|jRLaeqUa|D^NWWLG@kRsh~0Z4s0wUhskH5qC(Y158p%d<#0GrSE?- ze9`v(E!~3qOVVK}>!K|0vIBb*aoS>!v{g^qvGe5fmUg1=xb@qwsKpM~)?eU{d#mH1 zE3=Z5(RCvhato8xVg$J7y>8GDU0FcKzDYtg|!m@A5j{iPf-^A`-1X zV++IF$m1BH-=n=H8iq~bf6>N_sdpnk$N5FixKxoU4p>0J=zjeDlohGln9%KJy4)gZ!%}Ar@gA_~AhriQ|X6M06() zuZOrTio9RPA9(wdua`Ck@XGRWX3s*&>%#?)ONNGxR|KU6pNo*Y1CT!GDmu`+Hi;W` z7-~;26L-2OYzoc(t4S4opNC%*--*Z%cthsxSSVy77|bhl-_E$XXDvP#WyoqddVAiP z)=rq4NwQuzb7D=Z)Y8l7NnPNgN~Skfw+-+&Nd~7*!)gsTE$qTj3pOlFzU?_}2NJST z{|a_QaYS)@9UAfN0idZ)p_!}hX@lNX&XoWKy* zq6(i+rWxRTynli2e?VJoJqRtiYjho@rNI|Q_*F(MAqtj&28d&UT*%Q4HMpD8OZ8YN z4|NeCDJD&z(obdEL^w(DvC1ToOZ8tQ+kWxlIb=JO)^@hcjMA~0T8$~5UP)~M@+HE$ z+zDKvUVY9N%NT0?CdY5(dOj+u~m+336c;BZ}p?!K~tyBH$Sn z?PSmK`4P?j03&D&Eo{HiyRJ^zYZ8X)yL5!@NK_;^lCu?bzV`=qLuy%%$H*9mg!w&> z;&q#Vy=q=^p_}sP#NF5C-h&};K!e);_L$eZx>J040T=}%yH~)QaNr^P3$QvXcz37% zc@iT*I#Jt1DsmJWxGhf}?%E&sv9RHPqLyxJHqt`rw+yq)nv(#Ml=PSG^sVdtY_~sj zCJ|GIY!w-sOzI4KPb^wg<7%4&mx-900joegu$hAOv1IUR;=u4#L zJKz!;YM!OWUSRxaxzl&_>-Hi~)a9!r%Oy6e4X`j)PT?fip&ucotGLX;kFtMBa`p@_ zMlF(&Q$+m}jBiP@Dw;TnQtihNmSZ1nCK+XR?PTPI-wuMfG@}m)%w`=+d|IO+*v@u8 zsV7LT8T{p<&~?xxMxw>E4sCxMoAxQ$;T_9zl@vC=`}{TY%J|l$`i&Ze$(5QqRr*xi zEeRME=o~VSo^hrf01hM~l>Uqg>MMgW+6kLxQ8*G@`$48H` z60e({7O$lobGZMGrtyg(_o$^a`ottV;Q`=rzz5F^vOCF`Ylnw*G~!2#zH}J8mdX*z zp+Rz&yD0(QYy`m1>rf!8&4?K`r=Q3sG~UN6B!VZxU_R1>cGLa~07_^?%DSXPz(7dq zdZU?fK{Zc-uBBdp`Q8Lc!tx`mLe`1*gmnlX^vttxD4{RX56umUt&YLC$m}Z?Q~?b9 zD-}|t&IcjTVNn9C@ivZxI5h%Ygo4q2)9F(}nIIS;+~WQ1SJLvnYlu|WX*~0?;(;Fu zH#6epWq75>h%yFymh!jE73(eQB+Um=F&6zXD0hidsNiI`DwMItN_!~<=ch63l8@Lw zVK%XhT0FLXYBHKQwY5UBAP(5bfN3~_C_60x4R ze6BpYRGhZm%h z3uX7X6PMYLTL#n^?44(IlPRBE8l1ED%Sy_BIk(EGYA{37Oc=`qSNHVxt7YRm-8^@W z>#8)ck{sJf)q5!y`yFYk?ievA4QCyt!rOYd*R`GfRjlgHcuNmg1@L>*)8ogAj5FPrh-VejwW0C?fto zV7^lzwu~p5y}!?y25ewR7N+OR6^qA^kF`ugz0BBH;d|LsytdR(1yB`XgTIg6-Vdm+ zlS5%=f%=Pm!t=LCjx2hPlB-k7_VA{zb}Sah;EkPT4k=&Iya?!!$d#B}=fJGtS)-s0 zpK|F7A7BPb=y&$$MqsC8ey`CFE7B@vTddRYT;v0sI@vs0oXwyC`3IZRVeZ|eAm63^*JP&brL4pt2=k4S*o{|E@jqx4{>0TpO?Ha!p&UGq@BBK6K` z=dUTc{|pev4*K_epy82%GlQ-hDg*we(ev9+;m-A`U9rS_MrlBYY_`OC;ZFnC+%>44 z-EMgQ$eRC*l!>8aQG28r5^Dp$Q5GV!S}luP)RRzR0O{GDF8E}J@llIJ($_(LGuQZ? zNu&}MPrU?a-pPi5@U-L%YbG}Yk>=f4qlbJCctqaSj&dZZSuneIB+@qi3)7tJJ^qFD zzl$9Kdr0tk} zhR9(ms5h^L3UjtYf=-IS3lVsZg9hDH2_tMD$)X{{o7EzDfA2YvvAn|Om>mn z(S!elMb-_f_8#Wn*noYby#FkGGFqhHkx%Xl%+CGx&rn`9X=54L;;achZ z{U9vvI20x)ely~HjPMmhD%<16nin%$t+35G*879Dm-^%bFGxz*U(w!HanIzO(j#%g z6@xFYrmo{zV>#$TT3lbFHrTt@DsxGZBZ9h|Y@V~bj1-lzL;>ozbSjFalSV-CfQWbz z;qQ`ftq~E$%4qv&&wRdoM&6wyctk8_KQd!0V^6{#YH-TNa%HpTGSS0PPRBotuX_?0 zCB0+>>lu%O-hxJ=Y=*?m@R(VT*Q0#2K2?A z44wLZS>g*E`RWwLL|-sm!#)8{K8AUrWF#bgaD_%gU3_142tok1;@hu8`XYBU<|`-S zPj(8WUy)rpQ@Da1OCy!|PbVLY^O4j&;S9G{>w|aadfm^+1h~PlR>vSUCUyzt_O8Ym4q(Th5jGvE>UB z7BG0iFTVqLZToz%ZsP>JbJ*S3IT7zimh5j`8NaVGpv4Lq$|nI*CH`rl!>|*X=IbHv z;skRZ_at_CU<*nr=?WLX747gy%BPJ3_y;@`Jcr5_@<=F2srZyF;v(io274zHs1hu+ zZK+8*jAD_FD78#;lvJliLq@`*9aLHS{q@2v;`z+dzT|oMvuzp2c z=&n3t>%F0w3IMzD5zVQ0bv)xyUJRMbwtIq zXuW#7KWTN>U&Qq5RH8vWFg8;rg z^6q;hco8bEc$ZadF$mr`>pT)b%z0zwZ_S2o4`O-guK?C_7_NM^YVOV1$*#Rzz9b#6 z{#>2S+Q;66jF(!>?y}p*GIj8f+1Gx74zAFc?u3W%OEooS`h2k{zEu?skN*34KrXwE zNeW|qWAqt0yjMd!G?ON>xxC%*jjzZiT7y_W;Eg0~#lnjlXIYVtV^8d>R-v#!qdIa^ zwva7EatknrX8tt9{jwjZ{|cK#xZ%W3ct0RyF4|Qk0>iud3I0PZiTAf{Ohks`I%U6G z_@91A#HA_8`Ziu|A8u(R4^$g4TKnmho0^3~V4*T?UuxHM(petXIZ;}pvJhx*0vO6J z*FK`vFE?gY_2KthIXi_L_dYM=qWRBxbx#1uoj!nH3zT{l3`~#5wa%G_4ufPNga@E|uh)5oXJrp_SB@z=teWI`p%^2AeWyupI zx_8n89duJi3;NhM7_=h_lD%Aft^u6qNbohPVXO1;7+pkiAQo==IyWgE+kyAp6*5nL ztqs7|RCio$<#j??f+8nJAieZnxIP(1x9HEZ)frp7k1rYA4Z&>&zbyMdU;x)VSKgJLdW7*Ir+QHA4NVi8GE*DV>jwY^Y2d;L!PTP^QNRLyN>4)vH>4K!m?%e$ zTmTGcgIo6dZC0nez}sh%+WDsPpM7t&`1{D5&tL6+EJO#3MT=wHM`V_5Fb2c=e~V=V zPD0aE&|Np-4wGD@_MkcIVKbJujH>@S)e8g>4|yZ5VbnUxy>}A;j}=h{tVCJUw|@fA zAN01UU1|qp8-_uksGPg@f+4zdS7P)G-a!s&U#ejLK z2r3sU?Jm-7F8~e&ABYT<#a8@NUa_J(EV+_bCEqU=NcuVE!@rYZH!t(po6QvQEaMl% zKf=?t#i)IrdFm$-qa~}tD-e~&B#{B7H>ndFjAXeM!gNSa@j(21^~4MV#I@L&3R=|; zvSLMS2$}6yIwJ7KU#LfgXl{HA`)K<}r!xs^qA?X-3CFgUW&TtN7t63XgLnPFJ@gKW z%R)gF2FV3tjYx`ND3G{_C3H#!rt_e#s(+`A)->5kYlQqJERPQqb-OSJVE+J`iK}GEx+c#yL!KB5?b=wGHjBVe3m{qg9mivyQ(pOUXl3 zK=kqSuoNw>JU}IL{TYUOAN3lroOq2d3!XOJM9k3kv*%27_w>A_v+dS>vIz;8wDl9d za%sO<33g9tvUc*a#i5PthW^g2dZ|Lys(;F4ZBL1YN$> zh+bPCmO$NF6M?VC9NWGFz8HvRp%+dpa%hHd2wEf@xk5^A;0&V%I|?2n?g^%bovlO83cPp^Mxm&NYLujWTSpDvqX&nwWu;uOh; zycnz~0n~U;;aj4)sz{GL)x9vS8RlE^z#z(>RaCDHt)5asQ9?k{D$lJZLgd^Lw##rP zk+^-$Pp;Zix<8UmJIPo8;RR+dk5OHh#>ZQNy}z7n#j#fR@fS5=&hB6$%2%+XTk=RB z6?dTHO7RMi3i#LBsKj+N>nUtV`tv}S)(avkv86)!Hr5*?jw^(WQdKdPH4QcBC*$4h zx}{l@!ze!5KrNO}sq=1a5FA{n#%l)N>P`o<->2Q0n zatAyPfVP$viKIW!FmF0VD=bS)1C~pWS&^sw44lWw)4Q=L^-Yc};OEW1eyXZTvsi8F zGUfe(Z?pzYPFR9n{;4=NsAGBxS{$~fhO2-em>X_R(F=E&atrCc(*%&A?&cyhD0()g zYk7M>9nn9p!p)EZxIH#s*E3b>_%{A@VmZ|7I3G2%qFnNRE3lDBaHpLpKEMb)-Dc~E zk3=n6zEEiPHvdC%fFcjUJ}V?hG5mMVM%27IB;;pQlcfUb0`yN3U6}+-9ISh-Wm4`# zI7k8JYAaFL>L0aZIN+N4(H5eNOloRaRnE-&f0L+;;g)(T0I1Vh`Dn6MWyf(^G=wy=}XKQ=a5KAHpgR_71h^A)A#cHg(DnK~134`!<3uzm4t* zgeGgrh3fVs3>(&0r@KanV@D?tcE08Y;T!VTFNjSoE%2dOze`x3S8MydzGCSxFcnowMJn{8doA(+p7`eQ>_58fsIyB%X z_+bp7B1C+bE0($Uo!A^D?a3rF$ENbY9!xT!70sPZoWU%-0Ns8+Iq5xE(vWZF+vR|C zblA;=-|<~IVQT`njG~7#rKO+9_#TVs^&#-X7n>LaK;mwlRud8!!x_GS?*J{FYj(bQ zKa5`lS+C4nFcDODba-1ee<~H{DRnQRxhVoV*N(`0qzemGiW!Dk&aO1QDrUcL&)ymc zb!}#4>T(HYLR)t(ZU<2MqekAp&7o8GPlYd29M+>}HW{=FdjDPc{L2)QP?^S$ZO^}D z@4!Ob1j}+f4lxtEhf9kjTqE!7jV!cG^P4;^_5wb6-n(N*L86kYh?(n6r5Dq+Zy9jT z!N4@aGTDMixL^TQGLWw}^=`LyZW*x|$|~qKa2_liFxdYxjibfu7DX;@tTq+efWrjb z8m@Qk%Xuuw^hC-tmK-727Hfm8Fl)Ixj$cW=|a|Ge7Q-rVmT69#)?-PRT@E|3JJj2PPCRm z&Bg)Wp|7BXCx0bsqbQbYc>#^8%aJ1)HhA>wyG#S5&K-jEcFb_oSb-CeOxif6rxGQ* zf@wKZtS(Ar;i$ws8PVMI@6*s*=C1qL{vP-bXNT1GT{cpC3nO^QQ`_mBbvY*>wL~C> zz`@`;BN;pgEa6lnD=ZrnRwQ8XxkE0w7#gTnKr+2ugu;>~G_XtriX`UhE^Yg6Gm?ZTK*DtS49ChbO5}0dx(D|a(+GN| z6XDL!s;Jb==OmV=o#olW2v>*B2qpmWhnos&FR$y81ONzn!E161&T-fS z>pOpwivaCXhmnKBn)J@irF4MH*mdZ9IcW{n71~LM5vCX{$r;>Lyiz|x*_#$UuPnmP z^`}bg!k;#4=+_yNbToq2pcaD=1J?ojvN^XCxF!9YnBD@fwlzdp>6Y5Y=NKAgGCqes zV!&eQr*HgY{kl)Th#zpoC&AHW(SB4Oj51KKAUJ?OL3xMm6%ebI}fwB~Zo zTBv|zEovWoz@meD?E^cV*DO2G=re>1#Fb70@p?!8+uxpwva1y#i-}BmH;+X8(Q;rb z-xuT@yZG%Py~Fl4ufK}}m4y|o?|%`w zMVFHmpGA}eTmip@5=_hCK+<-EBH^b)XqD#_0?X!!r&8eN{`DWbFvqon7T5dJ_YvT7 zhH3x@XzQbCiC(XG5bYZnMY4`nrG=^n9J!FV*&%358Rv>GMT1!l09mLk|evy7=#KJAyaV@Q_ z3oDPAP=D^ncn)m3aQ|gPhV-s=)ZkU4*e;aJ{KLR=tAkUwRlWVV>>wvuu<1Gd><%=g~UIu=^v3iJeZfxGMv+>5ZZQI%K zj&0lK#`eaxZQFYDe80Z;ocC9Cb&Il}b46{@oQzCcqL;<4Myc_@qGv*PTwx0=$d zQFm=dhRf3K>Y%)=#S4tB@Lriu?rgZY(`~lffXYeehQ);P^xw7#&u^tFU@^?~@O zr=e_8Uq#aEN@17JUb34auCbgXPpk+^6VW+=K_AiH8TXW92Cg?_xEk1KZsAKITe^^f|K4E04lM#L&tZB5?DGa zv2y@F{*j~ihuVWT7Ld)m_Bvd-UMuGC)@tFBNWI<2BWGoZbbwA}jHWxkG(I<(rF|gU zr7tv};t)Ml-1v7d`=E*tX^VgIqI;0%BNNoqM~WdQ-}~~wQ&R8pQ0tdq>m#tkg_Tg5 zrWxK_^}{;MkGJ5IidUKDa_-o3IRPtt!(=qK-PAicn|YNbxJd1S7zZt@P3ZS;l@B8E zD(=D{5NMQP`=e@p#K8#JtB1NYQ;e4889vp7_8Y>k`99-i9)aQj9qaZmV5cMt2tUW> z3uTb5JSR{>EboZssSwMdjsxi9q(AD_m1-sCKL&G6e_)ox=fpYC>1WQuU1`sg*gVUk ze`I6w(~U8;9Ts>8U!r=cnj0#mcVI~j{nC2{sV1ejYZ-kv)26PqI5CUY^>3_vbG_WU z6QvrJ>Uq_Ar`+r;YSwkCszb`JMP)^kJ82Uv%s<5vKfK?r05ij$Djm38$|q9qh>87} zh8d5;mF7q8Kf z%Fw-Dyky{^8LigFXfo?kw1IzkLM_0D`yf9{;{6Jh=Tr2$noiR!_CpRprsJkh*^7bxxup)wBV^K0d{gVoct{mt61Zae<6lRVuSc5pOP z+%_aqj}wn0L6UGN22%d^`+T7arjm4}k~{m|cHJIr7jnfwI5*Y(GBS7XkmVIE%P3<< zpbh8q%JKE^<0W05@y&!27((m(`nDHyvJ~?HYN7a}iS%FC(Fx)T%Ap6yHe?SPNUxCT zdMY?)QsYsvJ5=A#YY(V!E+o)E?=(vO;rh>(Kf?+~aR!K`4ND{z%HvAPaVo@Da(0rY zEQ@{@8Mt$~@{VNdFT?*15#m*c`2^ZB^%Sm36(Ph7=BTd)d=|aWfe<{T6OMfDgesV6 z0@Yv*6rnd@X0Sn8HbXypz0A9;MKi+|;LCqjA)Bbk0n7x6boMyG0(|N>s0kbIM_&G7 z=lwyOI-D>SAB7f5&SC&1_e z1rLao;1~ZGvt;T90n!ylx12w^vs-KXPFapPojN1eAeiZ@&@gB5)87dc_#W?vXe_$y7&I$ek4SXe3F%)=@=NGVKy1Dbcvd-(8Ps3Z0Q-@K~LSXI6Np7M-AcIN_-(B z%!L;i^on&1goloCPyjs>013Dgp3>GLN$zly_93kO+S-VW2C5A8Zrqf$&&_OjK5EP< z&N@_ChE(J!Y@S&Tn6h$-B%YSNhzvC%7U^rnWR+L``H(EymZxH+T6l0Th_qR7Wq7>c z#u2o9>MUHVu1ZdDW&Ra)E^MtC^twj2Vy9kF>(6=wfxGtMHRm&j?A~IK(0lXN#=}9L z9eY2WnL81hTerTbkjmRF9&&5dD{o6g({ML>LSeJI;+f&qC=D<1P70h= z^TrvBYO*VZps?&z=xPG0I^OuFvuLU~_>iaJssq^@%@ySaE;2Q!9` z1UrchIgR>J;K${0WCGp@cP~I0e?=+nP2M1({uaJ22Ne80^sYoP-^#IJ2ipKk|8!)3 z6#mlVv%E?n2<^?qWJ~j$*_oWz+#``NMIcnFnluo4(O!Q^XAs+xINn6n3Q;F_m}6SD zJrLKW7)+a_JFMvG+D~k$Y#!&UKNFm1P@@lzsFfVFhN7Z+4ckrc;sykoL*XkEh6ZVKmCOrgkxEEwxcv_2%m$B=hrRV znN}F`!F4<-gxWM;Z|l}e%p@U|up}m7R-vL^F>x1beAOe57Mn@XAyPP?k1vhkjqwNS zg3GWp8Ii7arE5l$YuYWXc*cW4X}ZINHE45^7r4ao-grZ!lh{PLur&H3&i0L$&C;9~ z3W)6R+SAfKlrqDxd4gst4D^Bg;C`H@_w)FdE-521?W?PpScvi!T-Sz98xUHgFC_8g zjEx9w<7R;+E<}=on=HXTx*j{>T{KPmGr*=O32*I2{zCf?6i+mgf4LO{Ns;y4b&s!V z6ENh+F)4sic-^sppy2QDW&?xSQB=3cZSh>dapz6+l%Ju1rM6N3kH@@;0tsZ^_$aF2qm_{n-1cYbSKJCKpD;HjY zZ?sH26>!O&fy46HW(TxIfT)U=yYHVa(?BGMD%n$N5Iu9LzXWVOul27zfv{@Yw z$(29JCr_;)U3jJ}uSM46iU!{+HTU;BmMs0?s0V)x@N>Urkeq5$raj%Ce!O6B3%Q6^ ze|1Cn}Ms! z^P$Uz45vdtM!;I>W}Ati+pUl4JeQR|eZ<2XR4&UW#)$$DaV{Mt3ZGxaCCg8isHC$$ z`;>Q;9i19wp7hMO#XLSAcJ8LG=5jtYOF-t{_<|Dg7g;y_-PnRpyg!D_u7IQ+A9o*i z!WfCP{_wPcB}V3SMEdH7c&i8~v%6Y4JRr~bif~Uq4Kw@kt#j<;AXy){FP~Sw4W{1O7Q**?EHYzvvyd{nd z2O&Q2{qcy+mXvEZN0{)783d}CD!VY2j=NkkupRJ0y5aYx8rODr5YnfR8%fZc+=9O3 z8z@C7*P)aIw0IK*f0GTQK5yGYb*@{furZe5sB9=T%e0Qm*)*ke^hDwWVPC0T#bNT` z=^k%NzPdjwBN{rvK$IQpFuuXilVNh?`p`#o8{HS>+1a$iRII4LgaB#7nkgU=n}M6wcw3!l6fu%81AaQG+u`9$Qvi0hMpyu2%IrsNlFubdwJ|j)0<9nzB|t> zC&eNK`Q-+EmNT|klkJ`;VpAn;XL|n#>R}EMmzO>-5Ul`N5x#mM@YZ$f-rX=$ulCC` zwj+>Lx06Fjp(d@C{RON{99+mx)kAKk{Ab??XkGjfffZX6Cqkp**YUP%)@|{)r3emP z<;t_)MF5(@GzK^bylL^sSv%Dd=stII)JJY+)P_4SYqcX0{^gksD!0*nf?gX+6&Aq~<|C~2ZE1{j+`ALVl}$OIAX_!@4aSVK z;D7u4EQ>!p3`glaQ&+nF>w8A4N9+m{XuQNxr!V<;;fj@e^Fo1_O!oE?(G;Ow zzx~QBaE*~jJi7G0s}qq?tvS-xmEDg-Ns3f0TuCK93^nE^WzF}scy1rArqoe1UViOs zK1;8vVE|V9-GznkgQJ`X@8`7-e|R|WU-?BdEh@6O()~0M4)H+ZcoL27I}A#=1I3pf ziQU<~MLhnSS&yfLU&$w4J&8jVWoSWJzRznZGmV2*MevVh=_O%_R+CgZdA{->F$pRW z?~E+!lxH4C2CGc(K{%AyNjMDs_(HfOSJc>>lM6Wd)l@H@n&XNQ%@C4kgh(3PVk!*b+Tt{F)q`1o53vD}x=^>%+ZL>b*hmCj%;Q^k2j)f6liQd1y~)%Ldwon6-9)i;Vh2Yxrwf{VmnX=*biR zdB7XXSjnJZYvvd0>I+W&=rm`DOKfG~-@@9Eo~IHmaycGaBPRAqaEyf;L@Y!^$dDm@ zbMCY82SO&$e&r8i5`VF)v^Ou8J?&0gXFVRUS!|V`>keyA!!G(!k>D4$82a2_Q1#c2 z$g|?!Th8LV3-vQep$RN@xuIaxE?r?d!&=L=T;H_d+P^n5iV2}zyGF&aMsUO z(`$6!A|V_f@dLjXyd6<1{Z3O7oymuQ*Y$$O#ohpD`UTdIJUd3p9H}Ue^ODa#;82^U zY}+&8sl^SE9KGnRQ$GX8E}YyJ(l~*xTXALjct1!0hxpHu{!MO4HH*)xQGDKCWXp88 z+&tBfqe=zf?E(th>jlB69NAY@tAdZHi zqsMp*a0|eleTsRLgdA?g7aol_Y_~7b!N-Qo{!_ZuB}F($Dn~G1msVw zgJlm977ua-UG~}mPueFh$&cAef4epqcdt?!zkYtxZqty*$SUP@IIoV}_QvRKv))IM zynUUrBq4PDriEQ}V*9l9I5eGC5EE8gxG4MKzI<%{wp+WT705^NUb{BBcL;8^eY?r~ z6vV_3?XiRG1bPM_3)t?7+T^_Djb#TNh+W9#K?Vsn`amd+Y-sIJDROHI@W^ndi zCeawYJv|L8mFJOFIyK&)xB8A(zP|2wCEREfv{Q6d@=OJl+(r! z7_gg@^PEC?`MdXO0sPnbqRXZQO(5IsQ<7p}`mHxw#sr3voag13)x+LV`LwnydLXJh z8v4+d?`_gu$?tb)R5XsE|0BvsA@;@u06G5G=5s=4ta_ir@f$ek7Mecf3R=E22z0II z9I85NC#W#dl%+m33AjZmt{|bP;lh&G>`{!n;$BqvBLJoMPnhx6r-Rb3FyI2+vDUT3 zKWDAaXxy)$DLuKZug|^5lCQ{LCU(D@G8`4ja%>4D!%G(~hCYD6E{U>@r>~D2Ggc)} z7MnmOl$g0I%STxmDfy@4h40G2T|$OV4L`=340gxKsjs1!qpS>E52sd7J7LFWq_aTf zw)@M570;L$S5d&l<7bib+-AOjBMBa&|J*Gf4JS0!9(v(cW+cUkuiaUscCiWBHQ}%8 zokyU4p#0z_Uk5s{_jPT{ZqdTPgzNJC;&H3FJ96(Yi6#$vhxi~S&Ut3xo!f~~<;M}< zPaJGJnlf-sqJkn4%^k&WM2IU^ggtNV|7~quXEJp06C*xUU!E z^L~piU^s{tg9)p}iN=beZ6YHslTUY@HY$#wmZ9IzjyDJB9|@<-Nl95%nD8tux!M4R zX$b3j)rCDJMh*gm@p6DBE6O|LW;Lannr^=P`95j)!^To^h8aQnfpHdSBCAow2*O zaW$Rs4)_ELNc3hr^%_poCpYcPfpYVpM)D?lN}!o`PoYN7{G0%+Dv%*?J|kYRVHqtg zL4SVqb1)0veTJkw_X7(YF5NOWuAY_Gjy;B!hGaUOwyu^}2M1S8D{K}~H0bv53&cF4 zO9(o*hDvS;U!u!xjJ>HB*qKAUyMg(WEHi5PZ zP2G`!qq|Sg+kLr*1Js@yY1~?|Hvx5WT#qka<6vfnTp_DWP$si{)K;!&4QrQ1=+8~5MC|A6vB5@9JIbUo zbsW|jHqu5lQP%5_sp&T*YK=4f;q8AyQkiTo>QsJ568gl1nGA#hP?bN=mCbC*6A2HW zyQCQIl@r36nzS(=-mK9#jJGBlrKB#?4}lXH3q-XP>x#7z&5;akB@#!&5q}0uyqCNc-**as5vJPp2`iFQDMyuUB(C7X zQv*z&IpCQ_jU-&k*5;*%83wG&; z>^ePscED8x1yW45lUqw7xAt)H0azcgIwvVeZr3B9_*v=1j9TC#*D^nH#@aWgJX$4k z{1grsoAOp%A{GMgu*eIHiQw5HS)Y3rR>i!KSuQ0Mv+6(Xz{y;4Ju_~eqtaTlQm4Kp z*f@zzM57!VXq7sfgv`H}_Q0#pl#?dSSXDWBtcpaP%%+H?3RrN^Yfi=nRX=#iRAj4b z(7~~vVE&hJa$DD}8KSW#?eSrmx{3d)gm=*6AstcJ3~v&<*5kGeMmdAJi6KXK06b2X z3B;v1c87VCfNK;t4D#w5Q`nOx)N>zm$0XHrFaGg3n-#%YPD8`Udf+k_^JYu&cv!Vf z>anH;XUd!VYd(JCkV|UHtn6gKiXx0f0aHk#)2{H1((~n9GqcLLIU3@6xmSydN@(Dr ziOnQ_n{~T*Gn_!8(lptk)rw$`bvS;g&(};_(e(_vfmH^9FYZNkLCp)6zVW*G|_A(h>3 zf9RqQOt~xGgU`|~l9Wu|)rkr0_bC${=lx@?*{KezM4P9YCGO=I<%;(XqyCG3~2vw2(i5vQkFz5j(Pgl5a zPYrbMx{)8z5xgmc1dW_rC5FHcA{YhJVyeLLKJig`-(4WF;LUsJ5ib(>4$^=PsR|Di zB!j*VbZpAFhE-2ob_NPW7y>+*MIiO1%!7z*j=!hU-S8kKcRmr?L0->4N*BW_Wgc`0 zSf*^z24=HHzv>ng$XYTq$ZD||k2BJ#W0KRLFl+^is#d?ufH+Q>{EsA1a44LFU6{GT z`YTBM;om^-I`9rv<;I4kZEmBB?B|H|fo|H^!12`_>(B9wE=`ht_Nz8RIyBU==8qVE z@E@n);f;V*Vt~Av5g2qGPfUs4<5l>nkBdpKZn_sI_-RhlE&ROml$nRIqxD1MpSaxi;<5%!~q6PbaWJxB|nkENhx103~8w*5Mj(J^dcSX_chEK7u0_1%{o`sYvHU z+~j~|5tp%drw4^J*Q=rl{4mZ*xY`zY}#g*&3|8g5o zRu^j~$!n>IfSdD6H)3C`(Bi;DoGPA)GR#RKU%ceS0FA{zO!psS{$KDAVJj@tl%E=<^=AOdQn+@#9821dvn(kCY|C4p1lL<|H#vbR&IL!_+ypC! z028G+-JCBy1(jNf{I)eJ~595Y3J4A9nVJd=RNbf$4R=!CWt-l|1#hD?iQ! zLegU{3$XBJ87f3pDe?hdI?HbOZ&nr|@9H+6Q}iF7*>w)w>NFpXbq?@--oQKe#3(If z+cu}fC|qPsM~^D&bp^#oW}S-HCjQ>4rSh(e*hDi`FBeo&V!lx;l|77qD<_%@E#N!F z+Kra$C%ALz_}`tzhj1mTQSB#2%@HblwmcF#l{jt_t^ z1KN!OBZpS5<7)0dM#2eC(jIP$NBCFMtT)K=F^Wfyvp*HT$wi2l)EEW$Tly&?^~h3Vph@@&>(1TJ z>BS;p6gplqbGh0X2SZZH$pqt$m()Boip-QE2N+F6w!GAZ8!cAUM3=1j&ru_(AP#S6 zbn6>XD7$*MWI#V7_r#pwlnq5xSJ&g1S`1< z%ppxWj$h>*hE*8*Xm2m8%Sz}1gAV7LzyXXbOA9&c&eNLgi_8-ZW`~sgAj*67SU1MQ{L>39@=tDsY-X^rH~V0Zw#75bAoaOR%8@x3707yDkZAD>=t2y61(?fPBz_z z=lkxql|FGWPGiSo=)wR>7o-6eE z@S$F07u#JjOLIj8BqMsuu8o~fRpe`40*Bz4S#_V6^X8R)N2)6+?1M$@RBv*EI6Ma(Mqy&r|$X>ml~F7UI) z>l4|NS7-UWxSEHC(|ynP3Y|WcdAp4$sYu_w#HP*+{~`xmQ0(7l{JUP=5zO1V16nnB z=;6Km!R_RB-5|tMqbeIR#Xu>wLuyiGQ9zm~wL>}0%XrX_@*>;NoUbx%eK;R|obKVd zY~);u&wjF*8e%fPF{mWyw)7Mj|6!P1`}0nz%m7T@p@~*NMQhzLZw8H~SDLK+- z5@Rh>OYtu~!hq+@+UEfn44AH2G>{kcvNWUPP(afslSlODTm&xSF*@Dq@p{6)2Yg+D zE(76K(~wjFFjFq<2|4KNbA>>v1_aC8*H6Pz2pbplgN`9CO*G_P39uSmL{m2u+s#6$ z_i&W*8u~kU6t~TdFM@7B#KI@-^`ud4$AZ;HU*O4c^|g#ARVJL;OR+cYPhjG&7mVYD zHwm4o!ED%!T)AG|U8(RFvJ1WI1CxO8`4NgO9ObbFAby|8+fv?pEq$gHbfLUiyk0%{ zLZEX@mo0QdDCf+dhyx_2+1__QrhX}7oYf?M{cEtCsDChWs2+8UuasX%{vXpbWIPXq ztoVmTYgCS!p0_E$H=y1mOo{+FJ{lMk+kf;hN;ES z80jC-J}j^Xuzgr8Insj3M&siz?(ku0Qznx7HkQ-}GFp%J61^j}aiTqAJiV{GgD%?7 zDQ}anBqg>YpN&sk;Emn$L(Iez@MZ7J4*2virh(S|`N!wuFcRK(tCDKd8~EYyH3e*9 zcYm*2e5LUjBHZTslHNk|7J0v7{KEA{dVZ3>9-I0d!t|13$Tpl>*8A2ebzQ$7Kluic)eg3vG#(1_#smRx919T&+eJt#9I8w@hj(#S3qzx`OEZlvrS#bK3>b|m{ zKy;27sGq_0&n)7xA<=*zFJ)Yyidl~2!*E5zN$cxaxQxce5L#pj0>Di2)b4CkR?L7} z*-(Gyh_~lzM!2pru4ImgfVIr}@W#v2)s(OY6ntyn)n?!@A{AnaVowSss;C$gz z!#^@%tc8h;cmB>{MJp(jka(7D_SSK`?};xAoc>|Gh#h@y@b@U_%Mj|ZWrPM&h@B5E z@=S;FRfu&HKJvKQvVtU^I}YNFG(hAXq zd-y}9t+R|QzdrXwhVq2k@{xpbo;_G(f&emfb0htbU z>V5>egusafP)k`%CHMUKjJufd(gwM&l}w934VNZ2ed^D99B4MSyG2v{*Q1+q&$wqJ z9}y4Vd&=*x_li~Fe#9yO0%nw2^3-+{IS!KhC(QnduT}dVPD0}obeBN!S6BXYEB;)v zjAI>AG?z?#1#FW&0$l{=d}J##!n~~HNLV@w2b4`JP|*=;FAJm>UrkbWzDmTmfz$~P zBFQR|=0?*Dx3L0~h?6HV9t}z2fJmMpx+~Ei>A@(rMmdQ)P&CBlHmc#0<#fpLwlMcZ zTA^488dB!yR4zNgGK$Aatw?Nl`WPSxS4auqJ<{-EM)*?Zn$-W-q}|C3=L;n^x$BjS zwd9uz?2Qxf%_ZPZ5q%LfXDB4`l@~wbpVk#u@XbwBe^C3;E~h##hw^h zbgQ=)`4dxf3?b^T!^her9{uqPZV`3#J#08|herp(J6voTFZ?^)7lV2uA5w7le@xwR zBdA5V9c@tv!Y5FkZ54805F7d}g+nbKq~Hvd4sQ|k2%`i9hyj;W!cgZqQlq|Eb3nLa z=RmG6dM-&S4t$`@@iQv?V~$oe7l!o0KU&7=IxY-u6HU_el}Tq(W&9qyK_mD?!=KflV`x$Q%8x*J-n0j zcOF94E@3Q{hs09LJKc#k`u;l?kct7wlUsGdd2%1^A)HVO_bQ~Ut2pG30Hooc)oG3Y zPK6MtIQAOcBZE{>{07zEZ%-tbxs=>WSw>`Mz1cfNPDg7|nLf`uV{mv{3F)ypPfrO* zWZu7KLAFuvbbm)ETpgO0VFGV$8_QN{U!a(nxyn{GPl(KsX@&Hfi?K>DaxB}OaTM?w zeG-@tAZX3<=96uYV0TA40K)B0uu~U+CnoKag|lOw@Nj8~cPUsekv+jbg&EA3x zr4U9QKDCO)lDtb!>IB>GO{;t$SLgkabgT?gdy1e+4|x zC{4Fln}|REbk0+bz8+C8=kJ;lm@9i6WoXn~dU?7Oeb6F=FRnu(h$?1Au1W|C;qeC{ z4&ud#IS4F#EzjKpHV6VjH0Z@Fvhsc^mME<=K+{XMkE-qizvtidYbKgXC10DUOK$3O zG2XRUJxsOnghGCXCLVB7=2f5iU*lA(75&B_O!0CRx6xNuA=a~KUcZ`1OEm1ZgNnC7 zQRa575g?~0GFXWUS*_`bhs|QMnBSS<)cfzRz>MysyIKBEfRMX2pE3B~yr{);u^RMJ z+k^rDDGxBaV-}3EC{Qej(Q{Z(5}nEV>6rfJZ>|Ay@s-H`(88=l6K^ulje# zzb97##vuRicN9=SXU>&Eq;@NmcC2gaSc@u*`w65iHLZh4>&vmMC)##T79Y`calEOt z^hnIKJ3ZgkSoqs$ekMH~l&ONaW@(cL`x;wcZs1v^qJAtqNVcL=@fRS%2^E%KUB=HI z?i!F!S1$g2J7EPg1QT?BB87S4V^j>2g@RIOpa1PHeB`awTNzL5JNBX9<{2 zI|5*wt7%T*%;ZPF2w$mu_UZb_&R=qhcim;|cfN-D#PRor%p66vy0nF zm9;#ua0ow|QY~fvM1VvFLg+h;Zaz=rPhd#Pg%f(SSgQr33co`NyOo4w9`^O$Ktz`$ zVpV9sCB;;y&`bn3roy@jgB<UKX zwa~LUV-o4s5pN-{>`^-i(a#cenMdN)9xC*PBC_Efp83r=FxJ32kXanTl>&S+0r`xq ztvE0W*~oEMVNU}EK$)ed;bik&*~;^YPZ4zVQmNZHz<_=PQH2|Elg>>JLFA0}xov;# z9&oC79(y#4BY<0!0P8?seWGx`0EDYLL)C&`K7$s9Iw+T2#OKyp-Ip011aXhOry90G zNb4*qol)5fzP!n!(-C1} z<19irsE#~T%pqk^a8y1thhQv|M8DR}Qp=bM^1I9JX>) zNqEX;gg!*i_h93Zk4c1S2V8ha=eJ>49+_92qp%~AKz37EvJ#9X63hId@fTJ#7Z27? z;bTH{+J*RUrxdkbWWWQQrKO1Uh-Ab9y@fG#8>}l^56ZouWo9B`S@@mB%ycOvX z{E=uCH{w6zj3$E>EQDv47onwVj~gWq-*z!WXUa2GmWFDY)^`|D=@EPnsFoK5%rrRB06ChrSI`o4Ncr*0AgMa5x$AMm1{Xvk&?(1s@M` z`K$*Iq@xCH%EIAAC1WBp4DJGXqq_Q%o{hT9zx0SYrL!#Z{dHCewB2k-8+z}?ST!kV zrKdJh%HW^WXo6n0p7>HD*RfP{Eu8yZ2<8}zkhH+ofI9qHv$GeP8GpyU%-x4vZZ6cp zp)ta^WQBOl^8&L&n?cdZG<+X2huGZS-m0*QVR+{O$l2g$B66XZZtV|!3>;j}VhhO< zTNzG#ACpshb11i-gtFgk$MmO*FWNQI&^$15jq z5yPx|K;?a%l7_zP9bZu@4NgpjjJXa#i?5#Xoi7lMpbtWb@cD;))ae3xP@s(ACFQyA` z>Q`c2S~qAX&{8y3#6j6k*HNn^6Cz!sKwn79s*7aH5-x>zU1se?*J9bhk)?pbj-V!A zN8Nn$xuwp#K~cAOtzpDQ+`Jlm*1AJyr#AC;jD}2G;w%Ou&W(5b_Jm)%=1^ExX;q$c z(cb4Md}XSh`c>mP3zkUvydo8v7vGgm;s1#rDjyf8Dxx+AE*g;(^L2UWLRvr;jChEd zM+%Dz3=Wf|s8lUWK4^s>(B^8?UY?1Vh&I`f(C&aMFsr8MKw7Pt0x)W#_0(+Jk@JY6aT5O)LPjqLa(vk13fX;;15mF}d2i z#K?ARN->5#f(SR;1ThOIg96apcC`#Xb=#c%%tI{pwa57nAxUaJy438%zI4a{Cw+ub zR*J=V3Y#_DMai;%$-ev$XbNW5J5H`1vseB8R;;Esnp!yQc&otkR&&wx1R^~lR5Ib| zzP|GqAu*UT&YxL71PE#H^s9mTiQlM<8-qh`LQD=g#T|q8>okuKZ81QNU2UmI>nJrf zNrTOt2mC#}Oo^wZt)}Pc`(Jc?#(K5+;`RN|wl;$0bBID>IgYGRL(~08KS#fl+wGW9<>ZEowt-=|0SS-dOi3+(uR68ERv?c7lr783OOsn%h7-yhB}Xy(n+O|Z`^Vc67q_ulj!2Y%E!7y z=OQQ0ZSR6J)c6gdg{h8Wy_AoJ9(K%vk!(ppcg6-RHi%HD*JWZ74%^MC$;|XITwM1Q z9QhUPA^TPj?_En6@B(;y7(R8pP5SUiyv8%>CV+gW9Hp1a-blPqjX@Gy%g7I)X13!K z)!90!SgBjR@xgBIw=H=~A#l(~MH_*f4a}Z2#R=W0v?59@(Ffr=6LvGy5rarCTH~7{dV7< zE^ie;rG*$z5C1IQ%n0F%0hxKQ-e=nQnC`yupCUnPvm=u-@@yC4dgL)-CK*Vp8ys$5U)L)Ddh~gsyV#9C1U>;yhx`AZ zb~N*ij-xPN_N!u{Zxax$N#{jpGHrPx50#GVX;(LqfmW4MA?SuF>$u?~H{PEQAVHni zMMs>E19`A@8YiRy2PCqkra{^R3zbVD{RDjy{N^ytN9&3)R%Gc4^^bs*REu1xiWssq zZ^Y!XNqTuw#ChVa-M8~`i$52(9;LR_71n2YT@W2;QJ$&Zj@m@m$$wI(Cc;;wT2}9! zvv*ab-{N0f%6K>Mq^6~Je;p=oT>zhT*>*lQ%($i`E8|kMB+xVjo|@T!d0Bh9uVh(n zYj|z>n{`6hTz}jZ0NhMZL$~>(Jv$%;*c_A!$q0D7qq0!nuE`^j4*c6u*?nq#Yhgcw zneDN}f4Bp{Lu!OI#^%4ZP_FNTf}R~3_rp8{JSaumsagcQU`4y;Zz22BVp7KnzY^W%uumIhhf}B4}Y#k${r{Y?EWI)d^UfW(tFgqPS)z46mOXW zZxV}em?8n?+~bYKyymzI*6}ei9pcU-?`RoS_nwlWsZmrFC0}O~b=03sgL%tF5sO6B zLB@up^cn1O@x3#7)nz)NagRviMu`cs`gQZFMQbHZ4wXc&>Eed#Bmg%|6BQi-M55Em zqTpYpt9lHeKNI@?S*;*raK7w-O_07}#+^EGYA$^#G_W#AAMb?a<1!`8P}{kTuJByC zDPHPm74^41Hah=LYP~<}isdWIn#~n&D~h*^HtY%pR0`+O^EJ8E>8JvDtW_^!s=c@aHwxB(s6o0O+(94P)MbaQiS=Il5(+PF z))1Pkw?{g!=(z6A9F=!M)`5fRAspkP$M%6ZvUdt};v3G%F<^*kp&~24bg!+e@Q8b*65gK#j={k2=R_r}|7! z1bGZ#DC=070bp!59_ zo=!kf%kCxCI*$<|WTs@xtbT{O$~V8Y&rkEnO8>_c&LkWBercsvzDEDtfO*WV(z?Cd z;hUZhPz$7ONV>el_i%~dwOu2YY&W(S__K(3H`m5oLw8I(zGj3 zXV#Gk$qM%vywUaK#j+>;a*H*PgClByv+XSMmb{@Vgl9GkN`VRe;b$ttojpl#ekXHL zM1w}l17P(`woN=E2-lPJz?)L1aH6kDOhNAtMLSHhl2smeJ&{7g1Qp(Du#>i*f*N;o zS&vsr-xlCE)FJ$&G`U5=#dlpt268YkKdQ=ezvzS_Ft7BD$b%oTNh6{O$?$qmB`lxd z7sO%aqd ztKyg?Iq%ma=OgcT5^J_OJ?aid7tKa*(#<+mMm^s88IozHw61H;D^XLNZM4Vk&-gA> z1{$hx^ZnlzK8jZ3tqp^O6Y7uu8bOJW*dX%3ZJz2H}}ob#9SMM z-mccDNbGimMbXWwh}?WIr`Z7GUCZDkSCRa|Jr zePcopRWi?ZzLhsbu|YjZ1j@O&vp=h@a0C099*1G&4K_a*aRxZU>VzF8^BOvAq6L!@ z?vpl7ww=e1X(i(=@L$nOZjAAS&xFia*D@hqdb582kwE<>xuT~uq|}>4Mt-<)%~_bi zj<{4?$p>h8a-{BR;F0qJ6FdTg?r_m<(w+VeE>7TX)SRMVuuGs{AYkAa_>-VEoXJtm0$Q>+6 zHrd;Zt_TVfs#cIAI&sM|nInVUd6yHAaf3M=WUBei2EN&D{VkXEV7QSAT*nPk`mt9Z z4KeU;C1s5XMGl+{GiY@D~s^+VnPMOy2zd?|V3z zY1y`)!nVcurRi(bJ5wp%A#_ZVDemU;00h!vAWgyHRc6&XZ(l{U|A<3Yu4JkE&U+=| z-Zn@3Q|IgOxM*N_f9#>Bq6V$k28eR+vC|3S_=g_cG!NGVXDh*B3ZSjq_p;(u;7BkJ zwt}gYwIw@!k^LS6eAW9Ow!SI4l5pKNwzFb%Y}@GAwr!g$?%1}?j_q`kj+2gU+q~KL zyqrD8dHP1xL%sb~HRm^B%gtTze~7=?zrDxgKyEgU|GjR#(BrNnZAYE@parb<&+tWJ z8Oj>=acocYnd(DZ6U5>_e^D|#N@1>?GDtgsm|($Q%+Htinq!=OTWbFT8Ba-W1l?|4 zcl7|o`u1P_$e&?#z$L*@nXBusHH+_tw3j`D!C_dRmzyr%#(}^NUlnB_L=A)B<=1;s zGR^m4{4fywj5T2Y-2IMPFR9a^j*bjx^+Rn+9$_?KTfs`fl&`#q@}RCsoRjhu^!+lA zk18m$5} zvy)G&;giD0k6Ag1oE!J<>2j~hxBMNoOOsX{{Y~+QbqV0XlhI#O(Ts&qWdj|LNTit0 zk&EJqsA}JMJ9R4fH8Gv@>+~*WGVBl`^Vqz02Z8HXaSf+R|RWXKK1fFdgS$yieP7TbI9-%UoZ zW0Ckln47@RTXDzviG#vZvI3&N>~T^P5}o|APB%>xt)x;Vpxr1d&IkC6w#wo~c!fdW zXr5GUT8oN+w|iLt!Wp?3Ea#>>O%y|;GUO37VI(-9H?oiyeb@%Ha`!R@tAZ8*LpGnc zCfTGA!iY|-{LL}6>cB};28BnNtn3FLKz63Nhzj_LxjDVdRteQ6jnf+R)80IUBg!QV z`&Vke!j-zq)eboPP_#tGs_q|TArnGVlj50G-w^kwKuGT{J2R(L>4~@Nexo407bbpR z5FTyNRlng{94lqw7@kh{dSk29evn}(1wL(C@`bWJw3IHV(Y?gnV<-_-O&Q-oZ7kCM zNi879BbL#jCbbUIk_HZK7X?b71xP;(mJE!?5*q(Di%LT@c*> zpC{Vch3Ygd?2Z@<=mjALOPSYMc=`ZM5Gpx3Y2g$q!kgg;(;R$#GPb#vT!m>ZOt{zP z_9@{6wi4_fl~igwZW0_103v;s#?#2O!UHIcOA+4uQ{@2C99Es1luZ$So1B$THJw@s zWjOk~Xo}|e3Bmv}Zl$G`te2F7?dOO!`}&L`>TxaUz^&+&H6KS8PwN^$Am@6s~ER5zDgz(10C%;6|tQ>av=ni=%E*7u;mImv zw2xl!c4Te8Fh&+upLRrs!zi^QW#+<$UYx4-LW4;T($Yz!WakPKQFe=#lbtR0#MPRZ zUKf|&HCpC9O zw-U2L(Nc@Az|4fz@_aDwm`-@HOLpj$!h&t})N)h|o;3-nTCU6}$Fclr#JoFcsLmT$ zN@1QRAhC}zl&!Ip#J^d?YV%9m+yFOs#@KN4j3+o=b9Onb5<2^}O9yM{RSj5$YkNM+ z5`ra-QEJZBKTz?c$$DwCx~_w6N!lB%N)CC;Mfu>Ky0Al5@r{xPvEn0lFc|og}t7Pwb-$>$He@R*e3EkzRoB$yGqjmIEPpjqZu^~ z+*v;nsx%YM4^h z%I_a*rgf*YZA0HHg5SxXQ+84+S;Msj}}3NZx$Bh;lzQ~0*h=R5CBt&Rt}7wM&QDAhaaLwR*^ z>TU+f6ViZt$&F9Qv_>fFZ5FnW4WX9N#)nnmWCaI-wFaz%RW9nPBmf&p?NQZKA-(_hH}LNqb1{U0R+i(>F-fl{ zvzKVid(nP|1AD}lRx;JRYkJej>wFY<4HPYaa~^cmSS?U;b11;gBwsNoz$BI^kO?~^l}H_T6Oc%l z5*ffp;($Qy216~W+LaPQ)KsPJyx06mIv!C#wEhB`0yOs{7u!K{rHcNSTt+pR!~LUH zr8O-7nsU<(MOtklW+K94;b(*v_P6ueNrP4U2VPEV`0p{)@0uKd=T>QgDz`H9c3 zD+1v_+K$Q5TyIX2@kq{z3UrJVnA}3$iwp3*zH(d^x!07i=k>vXm<-Bjx{AnpiHEuU z&N@|510erhg+9G+35mYg;X7K#ks@ukSz)nc35!r{JLWx${8Hp&M1|uo;f#v)8{g;v zyiK4fpJp^aZe)P9n+>u+HzB)%*yyuAUDAR|H*)aeayl!Mg~%$KPnj)kY4iIt_U>^T zuAx2ULBMCG-DX)3xk`rMkH*mh-^iDpjih<7JfN@cQXbt|tX28uTrjhmBWpzGbhkG` z{Ei87D(HcE>sj(AjW4=kvOXh zK8r*qrpHf8k4Lev;hb9NMl8fN^p$K8#%UC($w6js#^-q-K3KnyY0IDqBt2$k>|e+5 z0HFObj{wARRWl#^7qL)26*J3Gk`v`0?pL&fk!Vz9V-%Xm03VXbEQ%9&z~eFp1(dXg z&ya7pTG$YqgrjNW*C3kOTe|cn zr2}Eacd#pRGw0KF;GxJ)ko(ZWJrj$l4ZGW6{Azsk|jw*Vu`eBvIPE*tua5+btUi zD5mUxD4W8@m0G|9KK}7Vcs)X?LjB6wFZ7KKWH)KG z-1gLVRqZdmEECMX;BSbD$kPnfO~Rf>)U+S4{ii?%CZLOY)t$EP zJYPZl^A6@8G7E1x4!|oH70e3Oq&aVV#)mU0nymUvsFeQ&9Aqmj(a17l)MN&?~4^IyQSE&udxgu1s)L| z1@cly$2^V?sWN5PKGzz~8}J1t3hmH>+XQ@mW#N}<6N6l^bFH>l+*`lvNX58$?u0LB zhz$J(TBu)-;W+yyq;PPpGHiHUVsO4_v1$*9aL%?|pXLOBI^4@Qe>w)tMn$H**opm_ zWq!j`ok>AHruZk%hGqS_7cyf|1cpVr3)6^kpQuvdPHvKA$P_x3bfIhOzXD20)tKq5;3rgfMCT5NV%kVN+BVKe8Nc75-txqsNCq5on zUFmCcP9-f=ng4P`;+*`MfY!dD0w%etbKrGx2NK)TKSka}4oqQ@f!w}1E9c|l&qLqi>uz z(xqfbR#_r1TN^Gx;CT<;B?|ip7F?XM0-tXM0%V_M0(`!nSYqKnj=r{$fy2|iXWx*0 z>l?B=0AC+({`7_*Q=b26UHg+3fN~1li%KL3czt$%`NOD86a3>>-rW+=?+s7C_Tv}U ztW1jijdD6RicLFq-5`7kTfo*$5%E^B2WKG0c;*8|(X~qg8U^*mhffE0a9eu7W$&Ix zz}wcKv)pSf|EA5+ua6fzlS-mcWOG3^2;~m;)9p~u)>!Sg3oCQ~%rOOO2k;%B9+ATD zw1>kKUO=&@t50z^32f|Jk)BS$+?mbAMUoDq|Cuw|0LqSC0T!t=HzQo8tT%n@%IDhq~4EQa_D zX(2HqrLY{cLP%=1gDrhRUZrTDVAR@R@VziA!4ioFvUgk8G0M1{^Ul2)p4Ca+77IleES*m1!d12UrW zHq~^_TNUc&#A@cDerT(=o42@5uljyDyZEna`1K*`AI%A3QZIjdDnER1qmU7CV|{R= zqsIGN(|c@YD{ectgL@kg>eG^5KZFn#=K|yoU%!|h@|Io@LZh42I)`KZx6Vvq!cSD; zH=}OPRo{rAX3;!|_z&bg%(aL)H1*m+Rd1>jALr2R>^jF*S%-Ili>pb7`PZS&r=)fW zxn7xqPUueV;+tY8@*Z+FtgKk9)h&>l1Oc6%nwP`1B;sY^U6-7w_Lb-fc-UGo4o0mL&I36(QUl6tZUzX+3AF}F1Z zbUsHBHN%qX_5cxBOYDitmgA`d%ls!g3d@xo^v|Th0bmui7GhCjGg2OIo*T@VblO^t z@IzBhsLNbj*zto$N+{Yi79uV8!Ig(|Q&Qcd5oPu+1{O^TA2wX2s~m}nQ8u3livlKJ z!%_ytRG}*3lM2mN569A7yV)q*pE1W)04I zEinfhDE~ZwD%UN1dn?#1_VZv@t&Od;cq8?0e=UaCzKN;)+h6kZ3-7;#99I84qD=NrES6iynT3D9>o!l7#(3EA=#vW{86{JB-!PiYN!)dmTt#$f&7b9v5#ww5BX1}7D%~T0OC2n{NNDtOA3W*cE zfsq{ptwtLeC7gFcp@TBPHBHH4Eli8BkW+)YB&j{T8^>B?Bc>BA^qF&ZP4z}1@7AL! zUp1*6B@78^l_ z!z2=d*bYy>q$3{e_&KBtEq))4Q8PDH0rdsYl3a{?m~#k}7<)&BsKm5fDltAfar8;* zsMs0Sqj@5`I5P<|`4c&N|FULA8kBja#&KxdHGH3jw?S)i;cwQD2OY5wx9Kf~Inm9j z#rp<)3XJJ5a~?PN14_18PuI)|izEOlLVH`5rRD`T#y4 zJKXH`4_)@;BX>oI1p@9XTAVQsX4$pUWDdF?oAnQeua&n690-`2DNKF|8GCPAx|R?a zCUq0n^e~DY+9nf*l-?RNC;&*T7@p^m8hGc%JF)OnldV$45ho@8pTp*9U_@oA4Q%y# zUd=-rGNVVNXY0RbR}qqf!nC&0uRHmH3Ylp?m2Vlye@G|Ozq@<3d#{tR6O?w}{?-It8nczgB*Ge|Z{)}g;&L;> z(k^QQ;6y6>!9^!ap9v*I^EO14G}l;^EFa9_RyJ4;GNgw|Ds_bhkGM(th+|j)BYT-k z6epb7klbNRV}iRyPt5g1$d2lj&SwK+xK029)_JQ( zgr^7}8d;>QSg_jhCMp8N#&!xK=cjOl>-u>KRg;1Q7ha_fbdXqnaeNO;+B5;|_Bs2} zdVW%j^q%-!3WZ-Ik{&Hg2P@Ex#FNdBLzG8o?xc`}U4Tbh(&Z@4M|%tSZaKH|Y$Ev! z$uc_GwOj3Nb4Iq&gBMJI$~qSMF8@(XnRh)!vkNOxHO7b)c?-KhSs4jeUXyF8Ci)wgrNE z4+z5}3Jv7RR(HJV4=o#Di4J`!(g45k4muUVN!_B-v9`o7iVtggyUqbFsm-obzC>v& z=_;;(WF)BP$kQ?bXsE9AxN%IPL-%$2fAW3j*eRp8Unef>Y;oq?YD$W;I)|__us`u4 zozjBim-N-T=r-^Ro~sCN*q|3&3-Xu1?0!u z$IPw$mXWEW7!_0+Q(d=>Xl6|3?g(VRHlC?sY=uCL(=7~~U$kJsoXX#;L7W`%Xas46 z2JCSEGun>!3$Z{TOc|DUz^Frg~APPoY&Lf9-h92HqMcAV2i~6{X}6=Q$%^BHNVIk z>~8atN~9>Xz!^J+9?H7 z`3V9LV+JN_r63BIE6yH_{F^uyr-852+MtP&xmc2QJCpPv42Drxa&m@_6&J9vWtExg z31_uEdNLP$?2uAHB0rQ=PoX7-)?!tkukkO42$Qs!Z}1V3I^uQDWiv(0Iuj@hVu)j_ zMq1Aa=ZrJuf3vQG0hc69a4nX+*$@WgJvh+CaRMz)+iC~ntoW;s498Zz=N>85R(XJQ zgufjI?;ifrkz6dpzXr-${>u?Da!T&oi+uZs3`yP z1OGY-E@|8v8sq97Z+yR*O3@p&0dmvZRMOk(&?OY;9hs<|Qz{We)Nq{#aZ)#4ku|{3-=3^_yO#!n*gObQZeS#6>V|tCIzbR zcusK0Q1#eSs$4B-q_z_+DWzK3h;=YgAi3VXVJrSR8)nqo%wkd|Y`f~LC(1~HV`l9} zlaEJSg@&@(g#0_rW<32f(vkO!Y8{RHJZvs%)=2R(g(uJ1robB_xi&_6 z{FzlEm1^E8tLuwQ_G9oY-^g68j8B0&}y1)E|2QX{vw_bZR4_=acy_a(}Ox#J@z(t zu8K0uc(Mn&+7E@fU&~L+%|=0&y(!$sBGAtbc=hwHvgK5L#Q!K(L#(}upt_wM>4=OyNA(zC_(14> z9TmPi+xH)vh#JdcXc)Mb6lGiIt$IPXOZ}Xqs+GEOWT^T!53ASi-q`cKBFkN}AOUqP1 z&doqDqj_thk?zaJ&5J+h&pt`cT`A_2I;XCHMOXDdX|kjmHn}@lDQh1z@|A`~u*W?Y zdZ*KN`_S7xg3oGcr$Ledzsm{KIEhn_GNwb!%rv`?efD{62i}*sHT~+zpAlXUV+TzO zDC9&FS7$`YOyH81YrlT40C!#z5#>CeqeF?V3FS|0~liaO3o+4R2V9p7ni zy467jL8P36QUblOrsy1PUM*_(b~kI_bV4}3Qi^-JKfleaoQcis*n(7w{QG;bGa2}v z2A6-Mb;5lI@&{GeJ%bjFe&_EvbUjZ0sT{%4Dvjea^rf~jGatFXHaNEC?EczgKZ|5E zt*C($N0dN%nM}9hej@|w`rC`&H%>o9>?o0y8Ljb<;hyt}&XV6?l4n{Z63cj|)scM? z_7wh#witV!q%6<+O;^8buFe-^ShJCLp9%h(zp1P+C;ZtnD#90j(|Z3mI9-s<B0vlGWLZnAjF+|A=At{R}8M4HI+*d zz#s<27qSwwxuGWp`T5!T1q$blB=>*uF5LgWl*t;7kB?E@D$Oqv8wbeD@n0Ow#Wx3Y z*7hF`h9PN}smmZ>m>P@>bPkeBFLB_OTrIK-n1myhJX&CCL-mz~$f4;8{GszIiuB9n z$LsA?REOlVf?iM$M4qT@+FI{+u;AcX-i5)=4Z%C`;~ZI#q4!Ir%X5c8FgMKsm1yB0 zE0F|f?e^mIwWgp<1I-9txAp{le}>n!A0Q706c6aAq6u5|Wil)(P{)L6jACWo8Z-WM z{X6_gT+(>0tgPKOwz<>D=6Cskz}9y(c;E9*_#@A7?9%7$Hlz>y?;sE|5_tCK+K{}pxxo+wZQQ6Wii_k`$_ z0C;`KxqHHg^YnNz4*=m%g?P3fP}tkDBdM+mp-p~4eL;U2=hNtM6QP)tjwZ7BNtXw- zZ1>mjzf^u`-)i5y!`c|gHY<#}Y{5>V>)6F0Z~O@b0; z8tHEnIR$exPZPb*7Npd-UItuyJA9NGNNxm zL}m;2s2K2HrGxm~@EQ0YY1G`hSMB)u>0%T+QY+R*LX!;xeek$D;xCL}np*2)P-p12 zKml6{k1(cB$)^!PTNLM>bIh)E*=1F%`F(>n$Qk` zDC4KhoWe|tbWfjiyw$z9@Y~oIm*)NZ6U$GL;wa1v6?4fUL`R`gkZ=xcQ{-S&r*aH86*0U1zU2E~qIf&TWK95EsX{iftE?0vP52H(AxZ z9^8fQqPV~_!{dR#(HsYA>qG*006rlD8ivciC0k)J$fGmiq@l0hj;!GXxAk%0SJ@xNJJZlxoV$6 zlM3OYINoi;o|lKj0?5WGks+D|ARBTy69I;QTIYADnaPbfOU;2)5tODWEI+-*QTuO0 zdgi35M3m;veefluevXClI$U$yEbD4fnl@_LBj=tfPQk34rwZS3L4EH{00+1kfJY^= zrD!p0Lg~KnYzMBmcKO+$03?eSPAgPD%NFJR3_RsXOWfpNCWQgx36s&evW;jp2SQ4< ziv)XHaO0LU(>uWG-PwGv#BbpNo$Xb5Y#;tKA!wrYd07D|a!D~rpjd)EG)c_4Drt{% z`QRzZzvpya4g*b56M%(V^sj-9NhE`mcW_Q$*R5+ByU6WxChnt)4ZIf?juHH;Y|>ag zFCj-;(E8%uEqLD95Ln_R?0SM&Ik%&Z*d59Q<-);M$}nIr9_4Bz?Mv%yD>!O7zl<*e zX_wGd1d|Oo#9bzuEh}_+pNV6>@ZbG=Kq*)K&LebBdvi=ULwtZKlKoEZD3iG+nEZk) zr^!U;1oDNQ4wlC*$Cc)`5=BL7HKqe79bJICD<}u4!S=Tzizd;3*!8elKWkyGQTOCJ zidhofgcPXZ9baEtQlPdRSFp5npX|*?`Ix8AGPz(-DsNFk3o4qiI}Fw- zMnt}WKe9Q;3q+9iNqUjE-E;)tU6c?24X2(Qnv?0O&>tzFQ4iLm1B3VjAAwSn);Amw zY9kf+wSg204`vM$z8tI^1YyJ^pd1J>ct_ZcJ_1xm@pz((KVM%Wx>-3`*B~1F=gR$r zA(`0lx4llt7yC8)4UT-u`%X1qoLci`!TI)u3eoxvCRI4bmtA&?fW5tdYRZ`u1dfj< zs4&q(7SPp>Bh#@~)yw+f!3m`cI~RP`i?>6%@v7ui`c)g^0U+06kVey20n}yOP%bkt zC;^kd6%3$#Q}=*jis}2Ueh@amupT(F810TJE9RtZQGkxIh=|^wXvuUU+aj8|7;a2D z=HX{{3kmfOZ0z0%62sjI4aeS(&V@&hKfAA+aB?2*dbDAT=o!qhFdfxK#4kMYu1us* zU~!7@;6LQG|LI6&~|O@wmrVF&u7ie+W#z4!0}PG2+Fqf&N! zUVa9Z1egrU$ROT}Ngz` zAACR4Lx~!*GHo=+ZBj{u+ZXGjhY1(DPaH3z!BUQCml)^@mu-wTv`gFktwF_tUf*I;nY zb(i*T@R+t57{X@8?)W}&OXl|kp@E6~{sQA+e+&X`G5hhapK0SqtG&kwfsg~uc8%Y6 z+jbTYZqkToLcU!$gb{3hgus|vNxzeKxX`@ty!n?0O?$X?{Zb!jq;Lel7|%-DRGrpR zM~|!jq`U4f_OiQg{5{xFd}jk!Rlt~IFdd%pu0Qv3beuT+EW*U6818>4Fl#Q21onQ9Z*_(H2&wd1`=6@#Ym~!pQFeL`ti&ZZJ^S z)*bN_!7|I?;K;U&FgK0DPGUaz27Aj2;eDC^pB2seoIB@|Z){kjUax`m4Dzb->;qhK1JCA&jTbCV;41RR`#zY^dJbiKBf9`{kSqqhxG#)t z9E#b=tTvyLpp#8njPV|yKcdh@n0~9R!M@GIl{)ZSZz=G&JR*$1z7%!q4zeY1=H9`a z6JENWhhuF9~3ukACPTkeykeisu^=LaN&2<3p;Y;SPO{`5@59Do? z#lHgEn>w&fGl6r)I)qC%V%zhT1k~#D5%rLPjYK#2 zp;|n7W;$Ot`YwdPrkDPo;$C|E8F+{@Xmq9uO3M`thINLx$-MI}eJXNfV(k>>f~m3j zR3fqFccSOSXR`SiBL)$p}ihbrSD&`iJ}zv*S2#n4U70EQI9ezKXA#8@A< z3Q=Wq8`^0g&3f`sLVD0h-nbpzFSMcd;KshOBj$MK8|p$J^Lh!j)H!9!AKEL^PI#}n z_Qld*=@LG^Lv-umzQL3tRcGiqeS)N|b2fw6LSuHLX$GPSg;wu>+7h~vB=7@L8xOXM z(L^CauouYnCMUTLXZCaL>%%a8p>Av>i;(4YrbOXFzaCv6Zv&w$qrZ~V7jNK-5($zX z$wPVt1r^nS6yS8F6zHGa(I`=ff5H^Mr6T$~%cHqLL!-4fzeg5{TC+^jJhh~Rp!_T} zJTruZYZcrB(;6U#C_g~&z^93^>9ed|iVxOgs1TGP+ZP(=;XI*g%xaIcDLpS=1hWa!xSJuO6{cSj__OLK z?(uzw`O->gwwzhgw9#)biS|EQkXXw0`7_|Pzsp@&s4ZaM-PD5yNAsJKw|lYk*4wFq zkX?OuG^`Xqe`<~lCLW8+4jW`Z?)?O86R5BNiwy!G_gEatsX?u3=Z`G^Ei+*WKG}|h zQx>5hcXyh}4i#7ZR7lY(OEymgMDJ4GY#j`Bzs!K4s#g+#GEEf{OXPTs@ZB4b2%@8 zM#|PS>=Y(OEzO1emDG_0ZIk6jmF%^D25K~s1ISi(7cAEGj$zil>IhTI~&gwLUsg<;Wtx^4Z>b zJLz0E#4y%Lk^_RyVGI_Ef)}WM|Fx}|jUMs{a!=c>1@rc%##cHMx$x;2Qe{3FT~1A=Ua|G;`FU2?^D@h}cLHnr<+Q<);*EX5sQs%}gXvs!h~L zdg@A{GblPfy^U-pR|m5uR6Hs_>_t?m4oYQ8VjN?R>ryEU?p}dc=rb_fWFCxIW81?x z-E!+{@^b!S#M|?SG99pk{>%8Ug-%R^qT*9C zuEIv;?~`wbSW3^=L5Tj<`koPRI;@tu@ueB;QPeLyRdwsCT zWy>a_pP!efwObu~T0&#VCbYjgc~Y*9T-;;Y26ArgRy)Ymqf4E%y`tx?3O;@|$?Qq_ z(0|F9ZC!o5WTQD#`M2Lj?Y~8%ya0aAPIaH7$MZ8cdf}jkqO4&%8U0nDY!&K;nn9XX zcTU}pa#}F^WERu{kJ?oG&Q%Etn!WZ0xeMWPr59aFimAMOz{PzQ2}TJn4s$@O_p z%Iq+pL3n%5J~`+hgXRfT{{f?;@&&Qoe05~n_X+M&;sht)uW08*f_|v{=iOS#tT}tJ zc&TSUjtAm6+-V(DZauJ$y9>(Ky#5|Q{`DY(L}77#qETkX%!zYaS+$v5t>9D*K|zMk z(R~jS#T$CrP>!`=JagQmDm-#H)%$rU*bf5rzYC-PLsK{yTf;GP{7+2~7Z)4nf4MmP zxZ}vAl5(aDW_N3^xjzH~HZWk~A<9v)V~XP`$>H9T7v z<_6c-C)TG7zTW?S{Jzh7Q+uyV%&NFp+WVS?|H|?Iym~Ghd&m3uI&1#A{Zse#zI9q> zJ69*T*$ezshaLEM&1x+5emaXg`g(=7(JRcu`{4UL`Fg(*JiaJ+rzyoadnP5$!uP_t z%lcSb-99O+c0k(5(&H#8ozB|JQL33t^)LH6SbF#PaqJ-oK1}(sSuI!LQ*(I^a^-{ z=f$-7-TB$Wn~WU&y7%{2aAYNS8Lq$z_inH}6~m`Oi?_q2(({AxU;QC~=KH-YaE)(m1`_UBM z=n=ZZ_+B<{uhFZayR;XY_kNF7g~eG02OhF4``upmMG?&Yu*LTTw010Z>@EH^Hi=mC zoO!0Ju_psdRkLTTvvuTHD!R%#&si6L%YZ|A+FJI+3^w@>&&AQKKTA1LC1}N|*5LkR zoo0HDZ-v8nORtS3$?^EprnWxUDjvoi?JXO;Z*Qa8+%(RADj6+AU)FFKFa?>d?EZT;;{Hl14+C`i zC@$Wx<)~07I}$3qQc7$fE1D{t@n7(W&tI#DNz-$t+q6d!cc!rED76@2!i_)-RT_jJAS&Rd+uI=uPn4y}G$B2fz*(&?DDW&*~#xkBtY#?Qm+#1_r7!X+g$rMkKL{vu-cz-)89a60(ADM0jl?B3(X#cHw_YefgG^UIMAl~jh^ zOtb$Yl)yrPLj4gA!YmbKOrKE59(zk%f%6CCz#o{TrKpJNme4El>M}~dD`w!3*fwle zG_#{qX;^+MUNTZihBb72bf7AWR}_>mxvY%q3L>S~$coTnt9ZK)%5Z{qHSWQIJ`o)C zNU@T1bN)8D{0%NSBj>;eNm7#uUb&5MKid>WXDX=PWByDVbZ zFGC5sFD$cVPbAH5&xAeK7!W5ml7lB3wk5D=AH|85`4IvKXMXee1IfW-V)sJ0aPkkG zJ}B7lt3TftGd`358OPee8z&mUt>78E$%nWN7kDj)=InllbdBsww)|e{E9qGn-JX@N9RpxdBa6bfhr?bu z%z-y%AyN@HcnagK>S(Y`8f-f>mc+BaT>ep^HbWSf&}NGRVe4SDZCsO~ppY5k2QrGc z`?ehxzMIgX8pXZH;8(TCphfs)(zH+D%9O_65Pz%~atCqYuRv8A9G!r**yOqEuop|( zeTH1qn*Y21;oo)nr#h2x|8na;gNy<=QHe@qS#Q#84KbSQ^IED!+F}+>8uO?~W<>Z8 zdaQgG1RS^$iM*R=Z8LFy6nu%t*%8HW=LLB4eaYG3AW>;KIcomcKB_1UBT;fh#BQum zFX;QThB|AW;%L67SDKR-`&g0VF`TGg0o}5h@UU{3;$|NHJtW)~2lhY zNhx2VzewMvFu=D^Pbm;~@@2B`AJ+QThr`+4)>V>Lac1^bqL$e!_myNpqi`CbT$4vv zAD(K|4frp)sh}eGw4ZGWkVC+@{AKrLM zWf)?=u0xM={}mvYz-_~u8S1T8mn>9AQU3?#JMeUP;fFOM+A6meOKH=5lZ)Tn5EqbVDL{&O#||FY5oMs zu~}rOsJg{2pmH12yI8t)_TURSWs?@wb8Q-QxvUhja^QmDJ*s`AO4B9h&#^)4@ZNjA z554m+%o|TUoGs{V=CJ$fCZqQv{J@>v#Z82x;D`w-1$jP|oxp`;FW~p{oC2Uy8P3%> z42xDNp^YB*Q=s1$xb%=QX#??Ov61w8((LN?_=|xI zKKi?b#@i}ov*`A5D9hFJD7@(kf`&CJdoY1fm{$oDkHSXz|9qyzS%5bfFqf3qraLw$ zP4xj$t%YF3Z-nxu&ct{+7%Hi}o+T7^Rx1DSAT}=raoj(o-)A8@a~a47zk}Rp<9))R z(eHUs?&V)n@|NzT`7(2t0{L(+dB0)W+Xm>J?TT9;5shJzD%?JuHUsr6{>7HU$HW_IxuCwlBvH_Cw7=_7G`OHQ>9 zy{LR|1;+ygiSkZo;S6ai9l|6+E_@)$1!V2aLHd2)6CPDK7f`WW`1Z*QS#uuZWqk|l z$0c9?J?+*b+3kLXryEOQ_7_D5DpcA%=LTb&`aFF@GKb@^3o4+F(FpDG?kp*-bb!2u zy^247{ys=X+h)dQxD$koCkz+z3Jitgcu_i3Mq6fqsx#8QDMC$maM@&Vgyb)U6{wOD zprfTpcp^W-6?jgThu04aXk$smrs!lA}H7=ToI8FGp(Wskthx$SLP^b3Hq`zorSv@)4&!xX;8VuI6?@lbXl41hNyP>r_FHGC zK0EqHPmWk6#BCb2;f}r}#qD)-wos!qZEry{9M8nvfvovE{aDNwp3z-PmwF$)+o8)Y z5%D0ZxizlR&~)`Wz2LBpr>$X#4ciy4;gi?a2a@$VqnBzx$}t8ymR$S;r)1Oa#Wmm` zWo?JolizKxs}~VqpbVTKI50kn%;ot@KgQxh>s~z(Dxavb#^H7okOR7yk$UfZhe39@ zuKy<^DG_Zas0WPb7q6KlODP;ne;D;(a{wH~CX~Fg1000=7+EdE!Y>^6vHFuA zY`}5k7mzm@H$3PG^8R@YNEXvRC#W_dB*O@5pQ4|OR24mj4yrJ?2S_cgrVb0|2FFU7 zHI$j@wW~pIuchlYQSL+&32Uw}yvcaU3Zx(;r)hd<)@0!|zamv3Mr+oQF)Co<4`bPd zkA)9&`wX{;c)GYx|DB&gw9Kwb1(<&EEC9dfdLASLy&f;?SPc|y%ZV{c`+{~r*NHhkoJ#grOU>aT37!zsl! z>!NiXTOHf%*yz}H(s4Sr`9)uB+qP}nwmP=0PEP)FwRhFNS?`#$YTd0_wdTO{&K|E! z_({m0sGPe9B)JfB8ZWCX0ZGyu`{?KVp|~@fcIluiAlJtl5s&?8EQo1abdg*XR&u9~ zFjRhT5;8Y0@BA0()K#a`ZyK|BMmfq|TiSx1Ncf2IeQ{$?WDB?mCJXhz0$p|K24G{= zya(*qaj*G??eFnLNT`j{Sey&)95bn|EiT|jJKsNLI zQ`>%`ugp@eGtc+UTS;BMUcXv48HAgnMet|6!iw|bwsel4+W(d-Y~y8H|A-_q{)=og;>K^e=UCWxvChKln&GSC zvpBfwSj!B zI3X)N2Jy&vyrp0B?{QsdBt1&2a&H--#d?vtmVLjZI4U4gApfbY2xz|;kI-T|&#NSo zzq2gMl($SvNZZ<0*CFU%l{R}cdZhpR zhzfx8y)ehBkvldD7omvHgc6z+FeJy+d$#j2l`*w}Zu3OIpXGf<_|FYgKTA4jhC_yY zbuGCEPgQE@%0|JJc6UFG%+BB7+D$8HPdY(mq9Z0tzQiMz=ZDn<{4lWaeFc+f!M5V94`mConT6FK=AXY>j?>qj`DRi|W5XR( zxXQndoS_kA=7CJjmWiSA$F+-q!~}0S3cCUf#&%7lg*-So@R!Fu&IBNHrP&Ljc(<^oJ)c?p)CFh zC|as47VwlPUr((QhzJQw6=klZW*J4Fp8V=R*{>|O=OCV;ptM(K+gWnb&asa{oFi-S z*=ERJu&*QcxLK{|cY(I0x^B_E%HR{FmarmFBgJR~&gi6NJ8m9KlNOV%U=X{98RR4C z2oo`Z%L%*8m^-EqdY+ja6@?0;&b>Vh2sc2E2WtEA9W9^_5JC`ePug&lkOcF=@G5Vn zh-Eyp3EA~+-Z!5n`O2MpBSbJl#G4_93XoWUB9h(H#UeV$Mr?7_e`mK}6@ozQZehuU&HL<3)D4*TMCsJt z<)P7KI1JTX@2uOLS0TClS^UBvRzK|$MR0M7KV}N2FNG09a6&ifbXV*egnAY}-EUjY zh3$G2&LHKGW>16Dp37?H?;xMoDibc$3Y;Y)=3?IbrxrnRzAVP@gG7#fePHl5`UJcO9K)c%z-NN zk-CJBUhvbB?Li{|mtbTK9l9S3>|PKohA$69I*2(>9*%Hhi;ZxsKI@q@j|-07&p&HS zWuU=g)Tv~6x#jM_rk%+>xz!QtX%mzwl)tkw`8~pE?HmdoNe}!7?&MY@avqw(S?sr@ zze}Z|_^kFQ+9mGoom|qRQ{B1alYthvXQ*g3_Ne~b=>xW$CV4M~Zg3p8qr$g(1WQ)3 zyz+dZz~KZS4*i}Y)gsv-xCI-WBeivk8MDUq3&i`eRIW5B%BhHe)bPM zqbC}46P&ht(5FG{eQnV1QPU-V!j_w#Yn1`HBlMk^$FG1=#lO0E#?V7VJ3y~FbFHmd z!s8=OiJ4RJF2AH1a>37LBfuA*dB$9m0U*W?x9ptjh%i8QQDi^W6M+rD#l2r&3_S`L z<{geZVA#)wwO`pUcz+I$gDYn6!DMS(f)&M)xd034WD0yE=XlbB{x^GaVDh9T6PxpW z5v&IDtfCmz$-eJ312?T91i})K^c8@rs1Tn-B~pPGON~6!3ROg%xEG?#5V#P+r&{Ar zzr7OvWw!4sy*Ww&-~RXpG5<=0I}C&MeX$L>8-$Sb=nw%II#P@gj-#Ow3rymzrt!wf zWwc5v@)Q}xYoWj)BzlXwAm54H&rIFwHPm9x?9Y@a0R0L1n9?aefDVK(!hEcmTg;xw z2ib@B!aZ{}QlMD&f=Hg|T8q@B{Rj1v-`R;yKdRLQ#9~YIRSA|PSK7o?+i2iU{p38G zXRuq)1j~f|_73Wt>^gwU{`Ozsf9su{#^`xj2JrBqkhY^zCCmPhHd9U*(vX-LN%ow? z_e|q>N;^2>7fxVQHjFJNDcpEo5-3TiS~P#;nWr+ZfZ}5ZwP`sS z;=J;=bQ}nk4PSV_?GOgpp@^ydwqPjl34?yJxGV#$YeNOyLZD^hj#UdW#Ln60h z+gHKO{-?TvSUKkZa)iBCM+pyBV32g74yXb)x0YM@ra zPh-E)xz$34(>WUn7_wTV-i6#2BFoa|tc2`ROL)~Q7x#mIK+W1LRN4XSl9gCF=kteu z2Gqm*|b#$-7z1+f-GP|4OBaUq}b$Q3B7#Qi!%jje>I3&6mY%3+1_bWr{> zxJcukMj}*F>w^qBTBBxwjQuA61v#&pFo`nbMviDhuudQ6t|!K3~ikT<>rJ>P#KE;Fo*y0wgLN-k6O<&e-kRKm{UI zHxaH8?BD2VenJNdB;{*;EU``(eLk0xSXw<&X;L398pO*9d_5PHOkH zn2m;P7;m-WfbKc&^|3{R5?0M{W6W%;UUaK0Qr9eHFZ@xX9e%6R1>Txo5qU_#z=~kZ zrS$+_TdH$*w5_ey@KR68+IeMCS+y%HHVthnX!17_ml=$09}TliyZuUGO%wU@`>xWp zrWZ*P@{898Us{_8hK!7F%5!;VI$QJ?;l~`+@wq1#!d@yKfIs!n;AU5z7nA& z+b2`6Bz|@SoPr$b0y3*bz+8|r^G0G#l{>*T1Z9r7kN|NZJepQn%7P_ob1KN}j_ipW zQFCR2m2kv<`t5%hO^S`LnM!4auyo{*5hgeqSBH*pGk{^-`SZA(TUIxb& zoSGDHIIW}gVj)HEaamvnG)k<+N^ArKzyJ^&)G=iq8_MJVvn2x-%UWq-*vVBDneA}0 zK$j%zei$Rj*a_16avK+m9nNFyebHB%w4ggVHfpJ4Y%SQ-XRxeRGH;NVYMN*afqtx! zDICsTmp5X|GV!9fa!uSU-#qcjtG8G>>hWOAP^G9o1W`b1Tp38CR=~yvwUhG04eaoU zAp1dZo{KXI0{N0yDf7NI`^}d=6rXLJVA9YKo>V(3-pijpR5f@Ds^hF4vd@4_Dwz{T zc%IARP}nWQNf$T%7_+UYMY#7h2i0!@lhGv|=0QasE$pBz?C^s36navjr^k#+T5Aur z&8e`qz=S}!=LtA^EWn*{vk-n4Hlm|Ltouv%1eve)4Cfr6Wgi34q0?$oxuP0y-7CW+ z>?_LVX8gR=Ntk0pZ`t=8IS#wN+3+(LpRL)YEP`xEGeyXe*fK}J5xhYus3SvW?8 zNz%gAMmq>|={b+50G1hz(II1pmH6!R`*)XnV-JKCZ3R$jhnJ_ZtQGJX$opn)$g}dS z08ULl#~U$tzowT{9Ro&i<=WHijSfM(^T5t7cLFLx{Plx(=>Tf$?Z1AAR8C`3CkXKq<7S=dte5Hi(snSc5(uN>WFMQe9;L9?@(tUub@y z?>4e*q7^78RMF3s`(vv%`Ps(pi?oOPqBP*W1DKhPRVFVHR(%_$SPUfrjA`Oj2821l zoj;t9h+w;1(J{1OL>m~R1&I3@VW+hYSfaOTHMygWe}DOh22GTM4)hq))(G+ixv#dF zYbREV$DH3}Oi?bzx%WcA5y7oCtEX?hxU_k;F_5@HS%%Wxo#?v_ze0)7+?I64m;tw_ z8OjV}dKcdT_3Fp;&qiB8&<<;R67dSajzK3%L6MOB_N{Q_5p?25XYVHQkK}MkpVHhm z5)|QIwzk%qczj&A1RsNV9e+S&2|6a^S}7dYGziVDRD1byZ>|xpC{J%yeICms~N1nntwdM#sc4MXn}Xl zRXIj`vYqYOiHCevSzpiEQk+s(6V5)gZTPYLvD;R@wpScXUBh|L5NKb?2Q**r zZ6hVVN3Lgl=o#To@Qri;9FO3N?hP+y?o1>XRxyEUtl zX4yTFos+vkBKTKkBQNJO#&^Qh%^y27o*buZv0iooPvk$zJkcc40PPeWLR!^5Yr>9||HATjaNFgJoi3{=d zv(l=G4l7}^2WXZyZ|Vg)1I=7=?J_k3ooOZAi+BfKG@%&OOrc^OsS>Fq=P2E^AzJ_tq zuO3*7H8s@Bat@on*~X{{9__^?UUW*R0Li%dkskidkRsrwgntZr#Mt5foxrpfcZl?ZCmJ-lzU@km z9%70Nr62O;+=0CRVrS7zPVL}Fx$y$Y<7yUR-})MwK#8)HdddJlxD<@$drA&Aer*D| zp|}#HWBh)X3{q2y`R!KoAmqrR7W}Xk3-Rl_8R;f@t^|kO9wZl3?mQ99&ronjprVju zo`a25Q6DF#KyyU)FR^d#YyYQ002ied8xdO4(y_=sVTI+FOd;nvx$NBw6#CiWHDy&4wK`Fl}17WKsc{WUHbhWO$}M_ai(@>67OQas4xlTMDnu>i{`9 z$PDKgw;V7J%_Z^p;?R2L3oojjE#X8Qr5?Ds#xk_Qjlu~0OVtf9H=V2AGL{{@gfM^) zP0r)N4RBM#$nI$LKW^&rT)*M?(QAXG!)!T1 zWl9BMO1_D?5Mx}_en=4er!dDP43YD=0)VRKQ3!l(le$rA$d=Qk6h2jN3`-Pe>+^i* zyl1>gQ>>T{w{`WtP4ie93+KDZl5$46alWAbE_o@I#Xcvm)*{W zfpJ*N5yf#x^N*_hI5FT#2cj$$z#1y{ZrsK9Sj0Xn7~^C8+2am-qI)IyB~`96v^wG{ zot5G0ayz*Ul5WLSKG0h^9F=4WE2JI{0Ofm}#<3MnAq@$lbXq1Rn&@k z^vE{_J2#??I|8Z_q)p$&bt$gqY+kaW@jQsCe3wvD~*NYLTsS-*fk;`&g%bDjxS-?b?BJ8Ime3+j@sxBLLDeWC zJby13by809n{h(tLW^rwYC=UDq~V~;d7Ma`565d`bkhN-^}xgTCgG z)%U?O-cA%`XbA1+-oIzv0Y=M14|7Yc1p-mwu-QOhMD*(dN3;mja2qr|zd(PeQ}oK! zRps{E64aMo2i1+e!c8B>{(geGp7*L9J*=IEr3KZ6^mZj4&d3=3YBT}^EN^^x-^bXx z|13w!zo8w23#erA+BZ|wxDx)BDTIx#Q;akQ?=OzVmQ-cwjct1B?0cv@v9+BwFjTle zObTGlrg$YF70lqA-_R@+k*Vj(SLJ4$o(f#ZAL8ar&g)?q12(Yxq9nmjC9fWR$4a+W zyEY91&;KHv?_81x784>=2Aow1ijhEyLwao3SsjXSjO-bef~c{<2>Lvi z>&;Y1c(<`X&@vJ16#RZrw-q5c1FJDETDW!I};CU(nft`4(<*;1T zK>XO$v8^-ItVX>(FE#U5fLfw-iwGAvz-Ydm@9sw#EIaBFxKr|4tek62ApZiJ8M`~h`GsV-kwV^oHphRGk2g#FY3P;XKrAs$_jtt5}2hI(KY zL>t86c6^ZunNXw9uVxMY;qK1iugd zI*3JPWUQ<{x}ki8sdkM?YeWl8qBX<-)_;qzscIsnF|=kKmN8YA^)w{N zMf1%se`(zPsT2*%l@)Ut{1-3Et)B$^!2)wYKhAx;!*YR^vu6{cd&tr-ox)8sWeIOz zs&?s%%vMg%0F4n0B2v!b0>gHKS}H}r^*~U)T^-Lu>_Us%GE|9)21UBMlbA7IPN^IZ z2EJ06J&hS(>|y~7kt9o`D^6Q3m*R_U7^gV~tCCCXU&1xrOB@?ZHb-Q27*8FNR>d>TPh^HcX<{bl z!4YbPP+;dgIe3xKWx%ZjiG*By%uh95VR-XbLg!f^6?Yk;z9R&z5MV806!62xk{lI1 zRKEa_!A`)aT>7XI2?yIs3-N)49wgFj2MzUs!+1BXhB%d!xH`hSUK4E7(#3NmCuPIm z9Pv1=#_N#=2IpfbPNA5*Wx10Im6c{PYTcuqa)p)0@2>qYFA28zw7yMeE5;vUl8!nu zbAHB-!v_zJ)2FIZBts|0GSy~Vd-R3a4H?MBppGdJ6+8cWG-tFSag$FEZ*2nQ|eqcU&;9v z<+t1NO`d*h$9U?J{EHtFSW5Yu4JufTrkv+<1WOoI7R^VCrfeIxkwNli``LnA5;!Wy zb^3{}jUq2|uFhkzu82TIO7`zQ6@pM#X8;kGBudqBfQ2)RHi`}Aw;`U$s&6Z*3w@Z6 zGfc-7x(Na)_Z`f?>0PP0RqA2)8`>rj)!x|&F{{}!8^^RMF5qt-!(@J=Rqn$~_(vUo zU8iYKM3?NQBJ(UD?io`;#2pOgaT_(yI7#@p7Os|f*`TI&V+XKqux7uKeti^_-62=XNG{U2KGS1X=@^=9QKc%DDp@BfR=Lxtw=*3e}2%prsskDiLwjJ($7MNz#@oDDy}<}buVgSoh@#TxSj`<k0_htYPV>uaFF~8tSFc2IXssWq;W3&CMwj6>kVMbhCytcMMnbPj*puG~b*Kg=%>x@Y3W1``&}sU(r%#6u97NpC0EkrM*Xo)jKZ0r#or>pwj!H(ymmpl7C1>? zevj3euZY^wC%V2bgPk6TWBcnxGdu#_cA(nXJFxT*hV)1t=a&;l@)9-f9f;$Ao-;P`Q7E1V;jb>~p;NgxQ6u%dr zSO8)9(`8hiX&06BDV2O0eaqmE?|xaHKoEFwRJmOdxpu0F%W;eOgAxG$a1rg^`yfsK zE?o4?`fb?JBs*)7h!R>lzLlwTNIoSSQ?k9&Q8{`G#T_wtWwmM7 zyV+zkw-3Avirc-Y#4Z^^RcAuc91rcVb!G0u2^?g`m2r!L^g^y>9$L}A9en_2ve{X} zkR}v$=tNtvuMX#1U%u|ev#&j~=UOIQwz(Yr#BGnr=)@t>h*nYBKXWgAHd1}7e zH8y#af^qd+h1s#Z;e%>Dd~Cp+WZY*Wl)ctO3K)BrVU(15-%MC-xP*V!{Bzdar2l@! z{ys8e!N1mmdwF1?Qs7Dk_jm3l^j>z8^sGcQn}H6?r?)>UEP??m!pyUifUX=_1FCmpiwrZx~Fl(}3gRkzZxV;W5Zr`>_=CuLX|Jm%AA0G3?>lJk*bQz1si9na3>qR zD7V{Dx{^H7eItAerTu%B1dsaqt-%3x1J=FK?e{iZI2kjlsPtc;Dcy+W9<6xw*JGe7 z-D`?5byu-5Z9tnT3RbL{nARlxJoSJl@0;;;sq_#LcJq+m4;3;0lDQY%{4M7%#RwT9D3=SR4HyV3d*LK%iONBxf$f<7mh~t{t?ND?yaZoW7z^ z)GNRru9_RGr_&#Y?rWV*brC?V876^rZx4n^7+!0&43%|Y6MHBrJtOdlt%Cigs}3U| z^NkC4i9idZd8>R&eA3YTf9ih=qR(0HKnr9Qg0%TDXum8Coxg>7FkocrRGYZ*$&cxH z@BXVs#P!wpL2e@33w88tql^yl!z<2$vAcpt%7rczMFa~zc|j=ieUXsJjt{@19?i5JZ`UbxDH#}q z9tG5M5YS9sfWi}t4t8VR_txvXcnIty`OBr$e|s%*(pJ|MFy$SbJR=uM&c|9j_EUj; zOrT9)=4EXQAB?r3Xq;9p;Z zs%k4CrDtjR-cLf5iw~ZECY| zYfG8XCq0{|4(j*(EcII+JfL6~reX(vyfO#e z@kjOCviJ?LYXBIg{Bp zr67pWte>b|Dm|n?W&sj8Xis&@d`|ybc6~e*OAk~ZT8XE!9~YjiG}z!q0}@20l(PJX zRLdli-;^98SS4c`M+&BS&9W=PQNiN+Vp-EEN4LOg;l25SX@(PCk|Xd{`&HLE#j|`V zf%5<>ODhsvcg0tm%y`^*@UL*gJ0ug|BU2=SV-ioqBJ|CHV*;OTK|+r)Nle|Z>ofQqFt+cbPE-l`9Q zXO_27-^C|8Fk7U4$?`#M`Z&!!TZubb~R&b}+VrvG!@1 zih|BVK28;E8#7jkT#rsF{5umkvYg&$S0FpQTr<>_f%_XolT;-#S!s7E5>b%6k`oD&GLXFnE~`(afvGffgzA{n1f#}e=Gp9Wd_~- ziNr9TdiSlay-YFQA|xNuzyQS6j7M>q7(WbsL*0+uO~p^~&n1mezu2*sgc-hMECP?% zv=4u=Df#mPAuFrzE-w8qs4$Fm1>h&ZSf-a91932<_v7JwM!?Q~zIqPa*MU4GvC@_u zq~1Y3pWJgLuNJtlUnzR)JeSw{he;aUZ6WA>@(2n~T|o#dTKLbAuPdEYSUjSAscJ!H zCqp@8IF!F24yiIxB@zuc(lc@l75KfZM5;QE5+1!k{sZ%qMKmZd{UpwNuw?K3^l#8>So|*!cK)Y7FZB8sr;nrB$d>9C(onI{^CBy-ez%(qs| z(<^PgGN2R@8umM4&mq;^9(mL@1sr>f>eTUNpW*6pH_P_zsB_-;su!y7C5`0vZd6co z18W2vDLR{2@C3wA$0zLQL4F1!1|PhuZBDVGeE|NMB3D zU-uuYe~E!@mJ2Ml1(&376yl6xO#=$lyQ0hDhwI zpKe~0H>{Jn#Bqak9rz}&L{=$!46KR}J7HIdufYM0R*21tX!%0wtYSR}yO~@O$CZ&Z+~bm{L5bS_f^>^Q`4E>{Vk|frb)qIu#14sZMluE_ zK-F-{I8oT#$ZjrNN%?$H8#zCdM;nT8j)|Zl>LF8ctdq#@RlfrCn4gZu1@REUrc}-R^`v>6W&4ZnMk1n<%0F5q)u?3V z-(As;T+Zq3S2#adDXA};ozW-(Uvg7sw1n>U9Q}?U=Re-wdW=U$LeHOsoTz9KI<}C) zMTV5>byKyDG5*8pRp-_#I}G^Sw41WU&g$Z%2~%QH&9(YhZkO@NY0&ypA7coV<3J!f z#80y{xoOR5$A&~n7H)id#S)>$h*U?j zy`9&UPJ>iDR`}5$jaP^1mY0n*s(?Xi(nj<0R%_Z*5+n8(5he)nyYrm1hgJktWaBMO z1GIR&wACqPC*OY4QQ^}$X;|K3)r1oc!KPCR1cGsXy;6nuEu%}wkc!C3)IB9Cu+H8+ z=0#LF$g#3!IG@j{Gb4%I?bg^kcV(|1(}(GeA-__b90~r z8<}RT4>2J+}B&vF}};+Ry$YxbQ6;c zip2*0M2Vvr@+XR$lkNr>1~63NxZ1`Kj=Zh=zvqF~O0ytemi^f}CQ4w?_m&6$xMLpR z`)zL8gu$V49v;bLfKi^_5y;34oGnd+ISWY zy|==VJKyXdjpA?@p@c}X=L(@rmCl$w3=M4P5YpbQ5zGbnH>+s&ciu?F-6}zSl&~Mz zZS=S>v--YfbP$-e9pVKCy-0dsp~dMoHWHckmsY+0fnq&k#N!56u5Hrbg(ZuBR z(k%RJOgYyHv_Lh|*APZUbqe?c^(m?%zVbu98!ePnraPUc@^_mQK;@8QHmB{diD#jgJ5ZW0$`;D_924V(?GQ}R@-8ZOuac7 z^zZQ*$k1j!Q1@jeP2W;v`9yURa@Yd?9aQOm9in5W#jafwGR(>Ex|bd*iPWFfbmG!n z2h|V*nTbYYm7Rk5io;kBJAcX~1Bg^OIORoe@$Dr4qe1>}uy<4O0_ z%2FUs38+E3DrMxown3>KSs}fWJ4N@gz)E{tKB=nEpnL=h$(TTlIc)qr_SodI2xACX z)GK>maB4iFj77nb?7WD`gL+Y(FG9fSJ%M)g;Wse7NllfO#F&|FZkocqojUU$sWhUc zV!m~xOh~K&mpX~kNo&ybn&N4X8d=YE#&zU}W|we4XNh6kQ}bMFq(lmcZ*V^)=)!R* z!p&0I^PXVJd*dAhpDT9{m6{XRD@{5I zEUl}@TGc|Gh$F8Nol<$4;45*pPMr}fEIpi*V2?Yu z&H^;Xmrjk6PM#t&BVnsY{7pDGv~Bl?(V*dGHO>Ipk%lFcmLca6>4_?P*~0EzANUk* zJ;1m=k56a99`IOxC<(}pR)ZJ!16w}b7|2gC(nK>RlIDOxJv?GKLu!akuj_qWJ?d(S z3|7Kb{u05Nw~Sw}N*;?@RS-2AIJ&9#*^7x zzg--Oam=Pt(7Lh(+-g{^DU!~8cO6-2&eXSz$wodN%xSe&C8ffI~dvcc*Nq!+Tm)k@TX)5a&bhk@&N zQX!OpFE~^MdaGqgg0wZ>?BdGd0s#X&L=IA%Do1g21b@*vTUtTmj2v<}lW(#Ows~Q^ zBHlrrn)x70?$a9=(lB1#;*t2MTb?X3N`L&9<*6j>gV)4t!9^uJoSoJh7Cie{UAl=G{E!i` zlld#j_*KyaZ?#TS7aRK4aINM|@QE8flkn_VYMojmf z0tY*)Ges>(rNo1YoQjETm2MS=)%S?ilb{8+iV;JWM5XBG&U?~8gUT3N1oyuVDsnCp zgGkfb-}#^mf9VyV#IWZ?Pxpy2&~-}ep}N1(j~gt zTP91F6q|%U?NoN8!I18UhfG{^iV+weaYvIYtH?vXWDj3141?IU<@ijNfgu5uF$S^o zW{6)k9jO&vx&~Uhdp#ny4_)RAjr6ydTsZ!cbp4fkt_|&o?g$|1o z8m^XP4GtWu!R;6kcoVPzTvce)xk{aZ}WfKn~IJqwoFW};{! z$8teaDz5f|IH%bmZqoKV;HdiYJ_1w0a zD`FLb9&DS0FfhbJvcK?Hnu>RETL%Tq7H3{Ed(zWsstj(9P|)|Of{wvFsbAiuxZ}K< zZ_W%td@1;jxE|j4zmQz)9UR9o8m`tTac&0t&v5Vm@hB)3PC%PitP`?=Wm;~ou>;>x zWk?_312 z^wzlT7BgesvNf}>@M3)%Ff1gAbqMk5o0Amv+_H^!1&wn!9`h23cqf-0NKZ*ZH!a-i zjagy*Lwq*9o@tT?*!5SZr}z=BEbT6wcQKJcNl1>XW#$*ei~N3z#XI#p=Cfoctm8p3tTnJn;(vtJ41-3;k zG=zCW|6_Prl@mb&u~G6I?qOBpAMhRie~?}+*K#yMO5gB%U=uM3zl!wfckyZedLtW0 z92dpnie|nU&0g(D%lyve;}ry@4>qiPhOs=6ca5FGvk+&i6P7^5_StCU>@W%)Vwm+%xvf zM(Zf;Hr9zsFU0i<(QUiN-ti3?!BF9lW~YfXK~m%TEZ>jp<)hp}iU~{w zASxQ+6_IE(;ISY3H(feCO!@DvF=#=`?B$)94BMvg3CDl*1@bHI>_MqqgQGjKiDLq+ z4zT}FfGX-rFzLqYnoukYK9@2^ycy;ohV#7sL|hQ(OA2lQ%x%kY_diXjiCxFlMoxi3Uq^pGW8zF- zGb~DAY~78s=N}&=eZ8y2&+EgDG58^b84fffN`+`kOLc+nu_gNJd2S+uQEa(>56b#yute9(i1el@|m7@)pvx7$4TckpKUWHBAknSa`*-AK}Z@^qF zybfoZWzM&Q^`aI*{&2dVyXb~)B(@dDIpK9g1X(K{K*rNn^Rg{RitlQ>!tG*we2|=4 zxvU{dq_4OFQC#HKMst5$qCAQ){$~%>6j0BDtOHQ*g6xI*8sEMy4*vOv3o#}w`5MmQ zE_=er?oBdmY@(PADBEneBEXTdR}Ve?{tlZOcauvD=kzOYieO>7IrWnG=jkWQLM~5S z8Rz;V-!GM;TP=$pkXn~PC|8Kr-Z^YKr)kgGq?YTUU@AQKhz^Xe;-;E$B7scyS3r)z zKAQ*4E7?k_$)aJD`VR>YNnQguqabWNDdwv+@5Hugmf@>EIglNOTBZqg{4I@>HF3_G zt~uQNy1l2;awX?HP9cX6xy()M=936Ao<}-|zr1KOmFXihNs2M-Ozz$1i8;FOFKUhZ zkPAdLWY9tb{~uf56rEYLY~8VKb<(kI+qP}n$=9*{#p>8LJGRrYZQD2J{xA0*hcCMB`Q+t56BTxAum%tANO+XIxN zo_Gr~Uln2zg5FQEich5(ZsqajS_Zq&%I`Gx+Me$wAG*DL6*= zW*&_=7ky}U*`u&3v%+=tJ#vY=$0f-4jaF8i5Zbq*vTNkEDUs&GjpW^OG4;O*Q9+e?+LM zx-;&K$j8SnWqLknga7s2Vk9n8#Mf5mde(tVI>C48-$25FHHhmj%O=vwuVw2t{mh$n zMzHTrTyzc-KHrxQO{|t29-(MEA*eHX9aGa|*s3Uza@4pr|6z$(bXfS&qiulumR zp9c>E>qH@GHoxuVyXh{q0MS}HFL`pg)!!@0{YiBgYSY<2ybJepNnoC3<#iDi7!yG+ zu$l+Fm0W+Z6X{Mjl`y#n8^`SMD^G(8oA*p0(*%nZT%icx_I&ajG3VPCk?ow0U{syw z9MVQ{GgJIboNk*#P2(B~0ZoFU<7;O@>g(H=Q|g}UNW;i?y9qF`|L6!_yqfwPvzz<6 z@EoPEj7s=^Fq#k~=UQiW(1tKZRwJioo2l@F8_S5<|UXoFZ> z+LJA+NSL1R%x)yM^BMOb<>{g{JCe)2(_ zLt8dXFTAAPfVMFbPn(%n{!r2o751~z!pu%YX{QP6Kg(%n6a(@hWAmZjsma#sEh53m ztKH{Xh3xPgT>EnN034PiK@!Ghr3H9g9YgpzC8`2@G46F%D{6=ycxfkDY3jjOh?on= zO@raUbYc4NoYRH0()fb%v5>eZp=L|Y`|y)u0_=Ps*EyD*MLSC|J+4%mIILNXR%#nD z{bD%&?ztcm9HNdkx9u^$yWh`Qehcab7AuKXd&%aEvyWABfW@?TTvH|0q~I%qgI3br zu>7RmjqDW)s?|x^YCCf|!A6+DvKpl$n3aETb)SMpyeNc~6q~94e1rA+I1?3XcJ&8X zw(^hd&423EwMVU8YB?(E-(H+ON!-s{m5tD>eVT*4?*7mkf6zW#%4jpjS-~y~AvDnI zsxLWmd6x4L0XBFv<&Q&Q=1vY)Rq~C;D^1de@m@Bw)#DW?U8s4MUL*rm9!Vi7w*VBk)7Vn0sfs>?XY-T zR;8cBXJ1T9y#|9S|FN`pmwB@E zf%SMz00`Nx#lXlHHJL1G!p2<%lvoGtt1ZZDQQ@ll2C~+z@qr`SUh%95Nub>pis1yy zs&5`}D`tD2(;pOeunI4(8Cj!)QCLis3@ThPE-W(bk%id5kT``}$R+2ZUg=pr)MPDI zmCWP4cGyL2w%z<9PG#TS=JXvcA}n>@g3T&t1*9FFV4-IxUcD`OWK5LJSMtfAQ$L&9 zb=NnsOER)aa*Oi)nY^QR&>m$8B4XyAWFyFZIfuwIu&TebQyCjLsxwmX7eHs0XH0H- z0EWi8W;h6)CjEXM`*}@;oWK^CkNp@w;gG7GK2NHCR?;SO|4CTaKTE5n#NzXBlcK4?mc}^dk_+s;+)|xg(RX>33#1^C z{$NOwM_)-rO}5bFZXVn?KeHv#_HJuP7hrf<7{r=-AEPT$S%o1(lvliHi~>rvU0PVs z!6))~-2;{yM5*Nd!23$9Ygo`_h#%^|a5DFbkUgRZ|1!Zyw7?Ev*s6r5>d00)KrGlD z1$+;9O_M&Z{x9MK4%Yt_A22fhf8v7+J)St)wyOV#57rUXQ%X6uJ9;6i5ja^Knb(B= z4*f@au%B3-DyrszRbl<)IXq`YimDj@DD z`O2t$_2>l+e%hH8w-d_VSy+d(F)C}uDA|9N>g+@K!GLPXw%WT!HQBphz3wMi>biJUg5 zL@1PJLa978MM1Kn6o{YDBD*nnGv(9ZLXk$ z6m~VRmN=tSLjV9wj0P!Tc9<-gYCKs(98uh#(Vv58%tU>z{Xbn&om^+qJJxVydHn(d z1R}M4c)JvMolOxBlna0n!xyVFH~=%af;e~qPj|GWx1qZ`f76v&vq+jsz2eaM$b#uM zOXgRaiKSk*taAO%ncgPt8+@LLpI5BRyUhb_1Ea0fN}I$qN1K?rFg#U74PbH5uk8ya-*zw^@?a1fAs%}tQ*nBvx5S?;ooW@U0fsT7)24j@PXKuLFBWtNujXPRLZ2i9oNQ%&;x7RdE+~hKW{y zPd8px%Sg*hE^>k#vC6gu9ybl~`?z27 zpwPo~9!ABc*z1Aa0`pOihh2x~@XM5!0E%z$SoJ(iz3jd@8->V;TZ&m}#Dls*$6enswr z&8#N@fjEN^iT|9zkgo*_5y#d0!3RwNBjq+W9k!>^sFXfK^If4VxGPQP90LocG!0;t zXv0nC{%xqp<^*)a0K`H}#<=4TTBH++M3-h@M|M0{bo152Q-M)q^8Y*%3=Z5Rp~j3w zt?Fmm(AD2NpR`Bz_Lua&gghWX#JJQ4!Ix;Sf5m~*K!|?vr=JnfJZFz z_U$pu*YWnx`JDx1nA@BZIu0dMt|lNWuEmAeE6(jI?{v#?1OVa#1gi11i%ykZS~Ekb zlbhKtl0YT9aBK39DC34pW-98ag*h;(V9Wn0(%Q!CO4NXncD$92<(D?5?Zcrq#+(qt6Ul8J4fWDag3P`8r_V&#I_3`A=281 z5IKJ~37>KY0hGs;I)UxerQ{&64 zL9o?O2^SN`lJlmB&Ph}`ze5?EkQrPLh_lb!NMM*Vw%Mn^pkVs!@Lz!=9q{|0kX=G~ z0W(ru;|b^eql&VM@-FE2p#va@cpYMM;`rN?^ztGG04v!5;(;EaZF)opSDFiFgsw%BCT;^gPzMWA^=2yQwBFfSkCWI+Yu92FHHjGI_d`!d5UFrcPq{ z*+K4niMSdU!D}k`>YJk+$E?J|h96f8{rBe}=A1{3;h@Gt*Lg)Sm8%Av+Rrgpd_zSd z(eUwpy-SMQ24dP>%A!Uwhb$k#rXwi@#mb77;_zX@_V7uS0pDAoI#yiYzx>r5)_9B> zFciCEk4Ft=8JRR9ORUPjb#%|MqR5OmIOPQ$kX5>x@cNKaK}WINVmj{3*Fx+g10OHH z>d4)OK=oTCXB8O5t|nS}5=I>+&o7#!2AzU5`_)0Jr0v=U3eMl{$PV*Sb9B^sc+L$* z6`avPLntRN?uz7hO8WTEIbrGkvdGN|;NejZ`D(T4F_+vOB;1%|d>V^n7L|10*=o%$ z6=HlnfRc9iRvopHbN4IPv_#=6M?J!Mdy@<4YT}dqXeS%4zQuYfpXJcFgq+>WgoI%t zqOhIJH+{~85!JER<{_;k{ONf*;b0ya5>&gB^BqClz?GPl?!NJZq1=csuUwQ@A8x4X)0ES6V++m{!1c&Una{oNEy2aKpH zQk`1h#yxt&M}$r^5xZ33>hgxB**|y0@MnczKZ{`J#sZtdN2+h&CTn19Q0f)({rzD?*zT{RSHarh7@QaYL;tOefZ)^ zYSEN|SV_fb6f56uTg+{y0E#qYO4$JhRIgsn8$T`jcQ$8SyTwx$&RL0g;!Kc?WJ~Id z}5vqBF}S@{+W z+C|GLE(NV*oUdIbKIIKOIRHc|X}`3VLaEpk;nu4I7H*lj6n$4Gxjs=gN=Bs3^dV-) zezu@Zi5UANsCewW2`?sA%>5oWN1t&AR4Vv@{kXnAZLrey zn78?CY0Tf+qOIi81;Cz)pnP@%LnAee3dhb)1$!y&%2CajZP~bUB^SN|^#00btq8b{ ze>MP1s0XGDiem_G@1;-cy6OycKc7`#!XF>yg%3za1< z*2*74)Zf+;tF<>?`oG>eJ&z!*aeC+mTA|){90WdFl|(Al0enBMF)&iatyKfEx(4(? z)cDe3J7ylkD}F*Ul!&*P{;E(}>EAwTtgM!?RkH5(Ezw<%orAjKM)yk!tuMG8%3`8h zr`)}y@RC*&iKzR7>V1LJI@AE`pEuNgMn6Za8etZ*{mrr5!eh5;itKysjFBT z_#9ohLFOouNg{zF!Knz|5Y^>M2=B08=xmSL`|g{?aIP3Fx#>*$)YOM}K^qs$p|+RC!^IHsxV!+_=RY&ntfS_ceauoP}LKQ9mX_Ly&*hBrW;pen9r*8clre* zj4s=w70Uu?sxQbCO)w$bM$i}?bCS4U5iJN(wERL&wrE@n&N)?EcYS~u1$=Gc*cWffqUBUt2&p^g;K(V2(YEuy9nxEd_Qft6<7AR1Ka1 zWkH%NoDpkZ%LXGBS4jL;qdS9%TDFFD6sC*|Z3G}8vjI#tz6obITD$Z=G+HNQt5h&+ zm_x2`*3S?;SOolixo4ZfP|$Wu^=?s}g3s2f5&Vxr&Wt*L$=veU1B#j{L>w?W9Z5i( zeix22Brf`mQ~k8aqF@kljB+}1SYrUB*!l2`i&+570FNKn{HZY9tG%&U4Tlmckf^uBVcDc-N5XDXUe~|bMu%h@0-(b$&_j~*1Ls>oOJf$Aj zv<0X}^j1`vF3;bqlA&zBQs0Kw!bG>WmExJxArprx1TlZJoO0+#C#zVNd8?aJHY`Yz z1(ZApa<21Pr;1SREwjCANEbEg^txp7iSIn-DVnKLUZdQO?&pYN?xpy)Ej=iu z2wc63%Tk-N{`3!CRIP$JOqF|e$o&SMI+PihgqB@p`^rLZQQR+Q4GKWnzjE_Lea&L# zB6T*RsSv#~HH7eGHC&a7?>D=IZmUZhEkzecb_O0>DfB0G-8`!^SuJ`+`0i{+X7A2x3t3Ode`P1VblN51Dnk!D zzbVN&lhbp&HpZxFha~Eh4#*W?^yDUkX)7j{hu;#ShXVeA+~&e*W^m)xkTLzP`r41W z{RPIk@7k5YtLz*hP8DLTXWza4k0VCKE*-?{Rz@G ze6e@oG1>far2(%tZlHYRa3i#tp%0_P0(6lfkGIdFmv?YR0S{-n#0UgTcNmIU>ewbU zz*91F!U0@Yg#t>!(^&Zz7{{eSC46W0!BjQPu;5`*b_-=@D!tND%cbN+^NtwE*{ts7 z@uM5hAsxZS7O#YVWVkeQ8hImTbNAC;!)Y_?V_d=2VkUN#YpKc28%I@!y3bO(vfj=TlywQ=BU;^oONT-J14dC{jefHzH_e#*BCgqK0o<`z8lpUh(dN9xzF=N2k( z!9L4r7&P{7`8+b&mqQ4n9Cy2aMElCI0N&LB~CDlBf8=&hF+G`g2b+0Sg>ZOR`L zM`=^%L~rdv8|C^6(j||RQZh8AvzbYnChcsK=B3qQ8Wvwco_31acp6^%B{A8r0MoN0 zmDvefkUI~{v7dd{ho0=fafeE(H&Qv-ZbViYi6eEbd8)*-Cx5?T_OH34h@v}q z(#7=W+YUE4EGS3*^hL9R(KTUB6I7uq1~I&=o7cP?1~Rjb-W$eU40J zw&lQv^c+d1YC_JO@(jV4W6d62!IA^+X2oXY@g?J8&q-}qxJ;0&8-=oO>GI$u8}PF6 z1r~CFXY=2vz0^7@9J24mA}*HyD-1aJUvAI-KipnpQ1XNSk0=CsN4uW%fJs{@y^q%a z?JF`>E0ZoPpGH^nJJ-{t^|mNhSXx3Q;}=sl__{OeW_`ElPW+IrE7k43{6cVer|JA$ z{8B{$1btmyeH=X106tUSG1Q)4KOP=rAOX;K4^gw!I(H9mdjkFotD>G{o-bRUXHS5j zIG(3uRjJi&5-A!3X2UANZkr22?GC9kXaPU{O)z+Z-0P>tubA8$Oo6X8hF%=c)tA?` z$2QQb?ncDlCOah!G|l>eFpXdh=)3LD*ABxJ^$H+gt{G>Bnf%yV>*TGa>)lrK6u=S> zslk>~tMcDDj-gk)d}6Z?+0iZk z^slCK8Y_yz+h+Q9oxJ`lkoD#6{fa$9H{aa~w7BrGN21t)A`bAF)pNq=H*(mY#onn% z^Zkr&JN>d0>?rla?^QMCEL!g!7J#tUSk#r#A~QH-_xf>LN2W7jRd*?W{ofd)wiBV# zd%KWexmqh_Ci4gy^65VaLE8o>laQ9gd=7+{B~3P%v)ccj0v&T#>_A(uXaoxDFOG!C z!xj3#Km1>#!U zkl^SmQ3-Zt!yWbXQwrm5kFMf~Zp~gtw-}`u6qY6zW}akc9j3Z3FAuRNHTU$|y#O*S zj$z4h6sc95-?f&#Yufkt6YxD<$i2M`mC}lX1P6LA^;VjE?y>|VUW$d zHgZbMwke&70tqHFJQUkM_5*cdQ+qnWUIOkcKQgB}RR_}}`M7FE^tPzK>I#(;F@e(~ z>#&0}(%oZ>bHT{upF)+0P`iXNh^mLzkXDoRx*9@eUL8td6on6n0Ko$c!va6#2oh%e zD1iY%h9Fh{GA)jdHsEQ=)`3+haBrop(sdID4JKw^(3yUp57;7cizUCL0%gMG zEO!JtrlJgDFHWkZU4ckI0T(|l= zW<*KaYfSXd0ziywLrVD#yFfk4w&ylH>#o>2Ne+$G*qPvqKi@H9YSJ9ppv}`SW0N`w z+YwfYef&2P3-Z&waC{}affRs-IUc*$)`+O)4Sd4)>0n|Ph1D=kxw_m+hu0F+gMgf7 z%c@8u?M{N{w`sVA;;Q2a1%8uBrgzH^9U9~ULu`!xV*s{zKkf4hQ_a=M;45C;bLH$G zI^NupuLwl_tBv!3HahgS#KOcxha4-z%2s+xQl`1wW`9pe;}8C=UekpkQ{d=6 z?WQ-%9hdI>J-4V7nxe>5Wd#{0-hK4`b)j4ATQZwuVv@Fbl^yDkfO!#-^ z1W5}Ui+WEgN+k^y%KS!iLUqp^2xWA*>{*W%O9A+PQ1Ay+J7zRMay;4J(bhNPx{6%=&@2hS5w5M9%Uo&S5V7AK|#z><4z^3e!=s- zUr`|#CDMl^Qb>7Iv*O7s>_m57&?Nb|5G)dH70jH|{}@a|6LXnCd3YZh@X2I_h7zU%!E|qNVtMVd&;^}IcMh8ev#0SWzz>p!q~Ojc zN0WL)_5u-a>e?x$H^kDDSUBdtZqW_9k~8_7nZq)#!>7d#SS6ek^2Bz#>dWxPRXp7Z z1l@dMQFHrnj1Yl4l)J}*6FnRFVgOu%9yEP4>_{i&ja)uQ4vATYyhVDvNJ@g!@7W=*Q)A$EKS_*HJ ziQAc&BIvlw0u>w<9eOFK%xLM5f@jO=ksh2$O=nd&8U0fA=i#q^i(m5r@&GP?eI^r2 zu++`oDsO^$Gf~WSTDutkBJ-l5S%Rf-f3p7vYaXEYWCkj(0vjrR3heXJ&~gJdC5eb5k9?cys6Foy#gtIRc4UKM2y~Q-XM_W&jZ5qqh(+ zQU;0+#iiH;8V*9Go6utv3p#M;Zn!EA;QJ5w-|GO}JQc@>I5Zgmz8fT0lhqR@oHtAF z!6=Ft$>ObzC?H>w1udp&+u8}3`Y*xF+o=h9>_gU@F=RBV#?30G`L|~j@w8_(h!b;) zVTit4OxS#vPBbT`Jr6mSg%9a6<2Oa+fA3XnUYfVE?Zy$^rIZtz*K7Z|z01`Aag@NR)GDM&h?KoaQ(on^Brmvp;@k?v3Uh?Q${pP_f6 zuJ^_Our;RD5rixOjaceM=_ULW?(zh1lcPx3HXcGwc>o7e8ciz-30s-K<-*gN)2CjY z$;s>YkgoELnVxsv2?p2RjJ;xp(ZKF4s1}dXZK_RQqzSUj$+sq*-Y2GzDuhH|a}aZL z-drs%mWE=PAw&D6Hgg%U22ihKmEkN7q0bqPF5}xGeJ1+eXWgB>O!<37LFGwW8vv`g z`VyW20wA}>ODpYx{ff4$I!V7!ssQ$HolO!f|Lth_g?0gI$`LB?85#GzCwJ5ZJvT(% z@W+P*XC$u*M`;?INJ1_b7lud}an;7epD$X88!^q%V7Kr*M{GL*6mc;dth)@H#>P$g z0v~kFiOhX|oJP6Y9A6DftU`_s(v*4aYv!7EIhm=i3whne{AFU_ z6ad!oN4-!DAxShN?ViZ-z2rYr8Lg3!m_~%);xI*4E%V*4Etv}K$gRQt6E5dHURg5P zTj5%72@U1}ipY}W$R_Qo zwMI=zRd8ga$?<6*%D6`9B)v7AIHHf+PnLUsqK^g{oHLZ;WEy5)>+a!7yGx%rgB~=Z zwoq2kE$xOGDPU^Vsi+@7hKjck3k(cQ2Qy)T<6|?+E)`=eXN%_F9flNwN0t0suU~!j>;K(6O z4)j78Ki@AbW1U?Xx$1pxYk&EucUuv1CT(@v5lY59`_sjC_kglRnjmFcRj<@7uCuC6 zA$CucltmNVMzo$_T2uK@UEVAMgaTXH{c)!+IFZAniUfx!Hyl@}b34+1hLdakmhC7? zIqm2r;LA`a35h-avquvzUwY2deEr9pUP|LEVJCt~%b3tUH+VGDg$tk__iV`!bZ+E4l0y2O7Uol)$B;Gyf1!dUJis+G!#Gf;g*k`UNmxz z)&%*n5BIb9UNE*m61qkA4!(N)!!K3zG_x$!B*h=dKqDAIMbq<6bwF~m!dUuP%^vD5 zv(L|uS%vcSK+WQsqY z&F=6{c9Bd_aC^ke7pG+;TLZ}**IS2AOZM<;Yoss+T81c{u7l=^wV6iF_0q;&R}p-4 z8)D>?F$)G*N%=3M5DNZ>m?8dRG7!`;=}oYT6aAl_#ITW4gG+N*-(xP=#MaJ*{)>!!rKMxTgK38w-0f+SAy_)U${(-w%g zp4v_tKM6UdeKnmla>OW5%Auo5YH6nPfg_p&AISaX$?#!+g+SZEKg3{D*LLDdT zPNkVw9qsFozn+Vtv;O#4;bJpt^aiPoVTrF|cK@#0%mW?)49_~Lo%(m@D^WRM$mqRZ z3s6&u95no3TcFH2jIh<1r=DO~(9L3}*gSfk&-DIrP_6qXAlb{pwh+xd{>enQ7b@fm z%S0!iM`4HBC}d2ZGEs$1$|Dt^4AB9Wq(c@tMxhpNG_zB!=SxoOc~Hq78z*w=xTEx$ z#uR!0Z6T=udG`L14Q5BbeWRHFXc+&dfS&JAd1c*MO~{ls7% z^^fj+dhP7J`8KY2wt-??+b9CFXS38M-fU^-1!czgMWnJz*5bN$77$4-qk5cmND1njRbG&TBy1unci1-* z?dJEdx+Wnv`{oNWcpq4dN<4XeQR`YpuZ?#5Wh?evF|R{+k_dND@a zy9ZB=l^~q)JurQvEmJ-vT^+|IfjeG`JrOiC_J9bGim$AewZZ6G>GbpXMOrCx zSKntxuItm59qb&c+FEZ7R*8xXUeMky1bWQkbv6imf1S^C5~={L z?_Y6`t!XaXv%5ivWLSZBK?5wewIJYDrzX9F)>=CEC*MW6mnOPgC%DW87sLxpm|l}< zvTs6ar~rcJ1wJXv6}}Jyw+phBimhut7*u-Y^MLGHEIGqY%#C~7N}N1}qyyUA_@qDG zm@Xr=x-MH>RP3+}OKs;^M4qpQ)zpf5xQ#aE+HDiLIDkIxx35U|*3d09^cX;9i=hz# zP9{JSoM!8SgY)f9kD47u99cX`iy^;~LTsxb>knKtrsv)Eoe<$z2tNZ(l zMeNpF6Y5}m|Ki==VD~_}?Z++4u+DJ1CRNj`gW)>P8&%SV``gN1jt))iIgG7_nJv%a zNlC2RMWp6|v_XTjreNY<$LM2A42)SJSxlYW`1*^fi{~f6vw_xq@GSa&VJ10Ko&Ld+ z0a#fXIsY#+d7(EN%gTk)eTV)5YI5%AnI!Ha2uf-%`Gw$AT9k_0EhRyMb~U2k=WnlKa*ig760_P#4FI3!Fd!il+sJYR2w7?!VTiKd<-p zo&b@A`fYK92804!2eZC_chkm5LwPMO=8%OS%)XIitxohw03RC#y}$LBewt5{Wuyl)oOodY(S$|C-8A*7Bee z*dn2|4mtEvZ(&#m_@H2$y+0NYl3x76Q`C3(dz^;9tdru~5U5Viwn*A-)nL6gj2Ax` zt&!&e!A~t0dvl`qd-`CN z&|QYtW&TbN0al#szQ)MbYuTUzn$=G5-2dv^n1THOB)rc2@qokBy$<}%DMkjic<+o6 z+CJjgCQ~OG&?`%6LNp9YL-Ud83@oUeIB&HVTJxXU4T6QtOgp51 z9YCKUM+xzSQ1OkM%t%4-NG=cz`{1XL@{y+*v1^vVZ~NI3y3B*hlap2rlyIdJ7f}@e z;eX}BFXFBe5t?&a1(5oqCxj%m!~6uiP|>{F|B(8NMP3P_L$Rh-qRRG3U@mQO-b$oXv)bmrYgS`Jx|%^M08zcY!&Hld}l67n;PO(vB$t zBvX$U_zZ%z1(o1OCu;L6Q1WM<$|UM?`!JNQGkoKm<(RR4NZuMtbpIH=4hj5BVq`AL z;*4bq;_M+S$p_;{646(FBVi0P$s1T?U8tKmnPN(m6W1)gF5`2hq9|{t*4V5P?<|j< zPB4xb+vzlmlQXlcN&p&{hkc5(a`O9OW$Kr_{`q`ZS%&MSZ5ap(@iesPcsRL{nUWJ%8Kb6q3#H z{wtJo75;$=+lp%ziU})jVhhgGS@3)vUL)3eDiYZFadZTW(!-~VkhBZZMF#=ENBrXr z2fZM2sTmTK7+zRMBB!b5D5PZk&-l557WZBrXTylov0ipF(dFdi2M)n3Weh=RV?J`y zT=6h6COYMvWZf|GA{u9uLNyo)pkxc^NqQ_e@BqGz>v7z2xORXqdoQWQie--n;=lcc zlyo5kVc8VqVq!#(JHlS5KkQ7n;N>Rp?$naPC6qFL5I#d#r3&FgpG zO*F}GxF-s8U(%c{N3sJhD6Jsp-a)14{vG7pL0&ERMfwm9rMthwNQ4|;=Z5ci%^Ntd z^ydPl+hb{1{UqjA_u4K&#*~f5ugN8LOlzr&NZ(YP2$jMGs2JpX0;h#uW)plsS}1hO z)ZIgZbEy&4Prl<_8dKv4@D^`lJjYbe4lj!0%gy|2tcLz4Z*V7>;l`LZb{oo)F2qSj ztt-SUov=VJCi`^9>H>~m{|@{>ucl`=k~uLsz@K3N!;CaWmM^k3|6G#HFOImH(ueen zu~O3Vs_pdjzBWH8o?(4~z#Hg_I)_SvlZH6>8^bvjl$RBZu8*%C0EAlRydKOA-b4qw zbwNCdH_sP(j|s;GV(ml{QA>i+U6a*3>xe=GnQ$+%_EGHkyJoOJ5Rc)ASW1I+n0aB{ zQL5@;PpS(nHcfWFDm4jcuY-2$@buFH`!F|P~vnio&!0JB@K6wc~H@S~+t5+3h z8uv|u>Ll87g4vfH`?dGXBg| zDZARVP02aoz1tZ|aTVWd**-a}4WrXhelzJ0>Ms*X|C+FnWm!A2e1l(HYpKAsrxNym zdi9>5s*oNAw9Ezhm|DOZyr|Y+Hy+-t)0>6pdlcpT-X_?65!U?b%0LKi6C8gP)sjZz z9N=*|Vbf_zUjl$EKh|A-ybsLUre%|kMHt~~5YJ?e%N4Q&Q zX=JQb=XK0uEqts%W3Ryr^TIv))#MX5#Ou4r*AAWjJsaet zF}Cht){kwB)eQvHjAW6c`N&sL>U>p0QT`Jv)4A~5&YT)Bo-a)@V0M@o2=qy!d1biT zZ+TF&ftq^{p~*7Va_8d28UwJsrb zy`EP9QxL8y#1gZZPqrGoZ-B;!Ei}7dVmdmt$vN=NIXB&-3Cczi3ICoFKORS)h-w}? z*-exEMNg-apr!8=h3@vrt#@DyqR_W-?9Qrq(YNI|UN#aye7Xr8w?bK_H{#WG-C@W> z=Ms#uFYpTZg8KM4k!^tU;L?$8vt7bmf5!s=`=4ENl3Lj+8!kWjuAa_7vfr*-Y#d@+ z<8V?HZ>*dW(x`x{jDa=2!g*5kYNd%N%Zyrxv}|%;RI_YyV8OX8 z8aq)*T5&N99sjrnqMlHxq(tI$2q^p&6M(shwEWl+x z_~K^=T+X|jJ!b8}1jeB`h)(avKbMBzbaZ|Cvum{5D$=f*5Vnfl`RU&f!U2mXPK77O z&ric*mQkCU-e%Q@`&~3jw84r6CC6~uo_tVQwZT!{*B@WJoap**SZ6e} zsNDTtJ2niG`hQn3b6Ls2wP^zEa#Tlo$B`$Fmz|%^?EkLrKo212w=MW9*u@;Y1&vzx zH_tmZfU~mk=^wXS?Sa8#GY849U8;orVmoR)+4R6x;_Q^wxwH#Q$bt{5w2%;Q){t7Z z5DA?|sCPaNZ*lq(=VFn}O3k0aG?`8<8Zssai%8*1ZL@*F_0Do_-Ngh%vQqX9wa}qk z?HgF~wI~*@*jZ4BB$$f{<8_7*$FRfNU1NT4nX5gfyJJN}UFcpE3Ty{5 zFbUE0|74^j5ZkvlCU=Qv4{)6XF1o0R#em&LPB;TFjvbx89VGWt4-{6V#z!jYdn{WV zbUy3&LFmkgH0V!5*OMV!jShx_-bonL6A`8{#1}CKMtTE3#a8jg``azO(Qo$IMjK-I z#`0#**v;?90V86=oA;6A4!Zq+F;`{6s^_#LtPNNDsf>b!ewoF->+}V-HbX#iqdOsl zH8d<2@Qx57RwrKJ99*6pJtF}dUa|z(89|o-p3a=t+eM}-h>wGKY%_6v<0PJ^1NWW4 zpI@5N;j#>)b9;m`eHA`CMWXM^QW9%(_KT8IcQ5kIYd(=DWl@nBD)_h9#njUus`11MCnZC1bmCphRJ~JWTITSyM zv`)xV(DAY0c)tmxuQ`*UuTFLJM-(=j=kovE+LEsMz_9+?~hT{iF{2l-=*)_y9w45@E7t(8;s)@rIFc zD}V9x#4e%IAvF|TjLb#Va9?KEIMIq$iJJ&K(1ygQI#?2hC6$l|wCLn#?$BK_Cqm?N zVXDGjo`jbawGnNL>#KkIu5`MYT|~b-;4(GRY$ivx43B*mVj*3Jtx;%b{79FrQ4FOR zr^VPZin#LDaf4+`VE&KfIPV{$Hb8Mv$Qkb(dbER5ZI^4r72CcJx@(-UGa2uzKCPre zR4!+uyDv-|z!vZE=itF&_vI|k_$c4Ep-{@5Ymf6H!1m>_WxVFjq%_Bw+|r~0a2K$A zUiI{u$P6JcL*BR%v6*cPMVzdcQ+LA`-so-Es4*H_n5FNOYoHto$4*d@f$W;i8|9O? zb*H{uvM{@dzN~OEsy<>Q9YyTkI9tXE9ot$&y;77l^T(4{p^@okPzx-vG1x2+HmF=$ z2NWa=)_gzanx0o$opB0FRRL!Cnw$@$ZYa2NGB$T7K&v-BYDPi}LMk=WdAv zeG7zMY72==*be~f*a?W(>hI|#Dsb#VdbxGuVZiR(^6;bYmC~vS{zc}NAFFa{mnD2^ z-KY%IHa{cwm!aXqz5(FLA@jU4?7uNEEJTb6Xv6?E7Iv=xOTldDjaIX^*l!+DO~Gl- z^8N_G!fJ(y*ZXl5NbAk%r=hj~!SPFtq^!I;zkK?C*!rgE%$ly-*mlyfZQHihv27<$ zY};nXwmY_M+t%rKoU3n)|8B3nYt&uUu9|DYo`P|`Z0q_xvyf80u)Ox?jaeV(n@NAn zuS8RoUO(<96!9Bg@5kcjPx#I5&V)JODirN`; z=k=iw`@Go!49@%xe8Kr%-wWA+#b*kgq0#f#s1p7BLhP5UQm6Vr4;Ypsk@_I%*B{Y; zcFSi^t=oFpc7XzKSAm zwxSY|mI)Uk&14}9nG^+}t=GWYI`$7XsI8$@GQM1?-#OPTpiVHP1YQ$v+d^VI*1n}$1lt~MoPqOMDjh29QHCapE_ zRg6cWy*&nIC;&+6C{~2fgvs%^FX!?A-CNque5G1K`0d}wm1-HJ{)V~Km`*pfN-2^@ z8@!+#1hP)$6vtRU0uxU${A-`#Z~`=*v_Pb5nZM*?hPCIKv<7LLj0ks#QHWGbY0m%-O7&Gn6 zfw@}juE3=T|0UdD?1fUAb1ITBC~NS=NXZ@*7zEiy6xQxJHp7UfP+#O7KT7yWtL&M# zB21{TWVK`XxG79R;^a+?9#>OqZp0Bg{H5SE!R<0he$k>FwiKt40(8V_xog$k$*4U|8-+vd6#0I zxQ<-eAc`l0$-^!GMNuJhVy||rC4*4kB({#KBZKe<1`B;`fF_0sC+l=X1xwU8d^q@7 zCmdiX#MNkud!rPt)JISRa?%}-5C%+)x}L_!vKK_1X(XAH&hCGZO)1_EY4~ZY`iw@B zm4;MQZbLcD=VQ+^VeShQzhw}C>XyWVQb$h|OQN^xJCVZKDf`i=6=dE}I$~i+c^U{( zn;d&4NS3`|iNCEK3x|+1c>$eYr^uw7ybMrFE+7wwmfbCX_Vis`D^G@zh;>UrZ5F`| zp|1l-qwXMmTK}L1{{o$WSJR}~IxR1H=uzx$W+IC*AnLFfIv^pD(ld2oT*KuJL)I9cw4%jikg3*LGq+a(z|HmKFGMrx0LJ#UJkEQ)fIR|*p zQJSZvXXOTQ8Q5k;sY?9q>xr*N3fQq$iyxjw_1R@v;P&IPiH#_m-+6| zn268xA>!vSr42ie&M`4Ym>6W!_u6UVxJioHdwSL|odiia*FBts=}p#>d3S&3m5b2q z7L)v2jpCh?pjqE|)cZOXM@1vOuz#~SGfCgv01cH+Iqn0ppT`J1R^tS-L{Avcc7{`y>* ztK#jM!&(2~;$;q451eS}tlfPvS&mf1!Op2jXB>L&dOLj0admnj8k$z0bE4;x}N9N;CVO%%nto} zZD=Q;`<1l<4ymC^Rf4_w>AqpgRDgsD2X2GJkE@Cv@VgA0mYGV2ldF^E_N75KBvv*@ zF07Nt&6<5Mmf^sLA5cN~4OS#QLIOW&UMX#8(&??EB@fy$j<3@CWTD9A`E8NMww71T zFSi>&`m4o+A~!WhU4A-@_`@2oH&ZqOcc(s`wa$=({ZKwZkx_fGH}vTZ*YoiF;?Q-$ zo#W{yVa*!j#^L{i|9Jj41V_L6bxoU+Lo7K->jl&`C2S^R17O6zAG=q2dU(aFs>oiw zuj}NOFFnJ>x2Ig~TiDB>j=D`9vvCeK6xRa(Bklv9YMcuJc`bsZ&H?fi&0abb6MU4&`Fi4zSi)jjoBX)h0!>>!bF4XdCun1MDr_y5mq-Jb?l_N}Z1;=8;Wpimp3I zXeq@KTu_1URAfUwtnD#bS*|IT9V_1v*$kSsg~XnNTa|QP3Z3(iUMOw1$+){Iqns`! zhnhYXN>ajm-M~jNW_EI}cs*V7M^{xk%k9do?a#IsNZ7E#@OC~UvL)*xE37;#; zx*m%-g9)e}bbfrPL5A|T|JT&9XQi!&3lc`O#)_ zZ@r5h*mlj+sYu;iME7q^9-JT}7-wENrLR(X26m58ho94*{_l=~4m!Q;&~@wIU<*mZ{?}!!7&6%4 zRWxsn5woeXuF?(tq!fOz%&Rzlb_H44VsoN^a=;878j)BOf|%}UTIt^jrWlVVl3+Ry z34nB_gcEdf&nAJ~TAlt&gmF9df`UR8U*WetPAPb^iR=vHnD9egA7`XT-txvfqgcei zfY_uR0v&vP`azScY{n(GWFJ7q25Hp}xA_01Z~bBEa22{&Z?rMmhwM^Pe1`gwV_ zrJ@T`UTb|uQSyB+cb^?!ZdQlOz}Na_-ei&c zDgASF<|t^=iOK=qaj%naoQz;2P4=Zl$lTgZq=5^27co{2 zUM-Zk{RGYM0-^_k$^=cI&&q&G+Hi#t=eYYf#yf%d(WFxDKvEV~*GZq!KA-QtKcE^9 zA*8`Fp8cn<`a_p?w?GnUUe*yDE}M6E%Sa^+=8Jj(rvQ}yxnC&p-j;})ZA)6n}D z5!JzAs;lQ7rf2*S8pF)-q+9&dNI_~x-iGhDk{i1|RYHVKNp`CSDj3z+ig4nqNkjeK z5Q%y7sYVc+Uh)wR0#*1ZOxY+J{0s3z>1I#TQv}aRk0Dt>uxj<}T&7G6LQ6fI)k&(e z*)=^uuJgf?xcAD*wE$+7y)OI);C&za);{>1X6t~M+lMg3?)Weml@XUf1;v2 zsbeG511*qo<&EWq(bru??AlTmnclMql#f-rMcz#%QTBF;bpS+;Q=ylOTAsJg5Sa`* zF@4C16XOSHL^xDqIbPl{?fJN@ke3d_Z&7R=hA|~}FBViJfcx*Q465+!iy2wLz**=_ zZdOzz%a70s2^QdlXZM_r|H`113I!I^OAo6oznmC#4mS1Shp9>+xQqlJNd!f-*3#)2iU{C(w1k}{y z+r8AVCLw9%?fbjG4g~b=2`xp79>5q9G+L3$!?MT;x1_f4IeiiKX42`5{dn*fzml_9 zg9H5s7}1b43|pn_lgF}C4@>9@_xAd1a~0-wGEss7SGZ(od$J=yj@}|sO_az3Y6olNYlR*A60%)3(R7?O%&b z)!hwK`Y!ii-pEEfhTJxuPRNaO0fUoA%`+uS+1{?(z)<`ewrQ@SXTxiBw@u1hz{SoV zKUbH4REG9ri}cg&pFs20KnP_K)Js18cA6iG+N!%(RJ@8V_;Bp?W0mwc`YNCXf}_PWL0F`1^D8dp&xo#- z+`cct?Te}N;+;R1Q}x)>$vX;;95m{o(c_r_@TA1;>G1j@0)dPV7!MkASs&^o$`>&q zFXw;6zTwR@TvL)4F~NTo7%9KB#&wjxq_u77CMIwK{(Y8{elo=Xi=WEBx8bN3#@A8I z&)aDq#Dx1*OUWO^lYL&@nBX;xl#261-YOV%BgHTeRYtQeL#^viBPRzYt(gXgG+l^H_V%`vLo4e~ zc`Xe+{pG2%=F1@s$AW+r7&$2CL4YqpugtiK0jMj~q#OB?wS?}gbAN;q^k`1{Q{o1Y zbE?(-&lF-H>u$E8Y7?l&G0l3p=K%&P`)7sr{+MH|NprwK+;fQNToDm(Vq{%wm7Zf; za%4i3!;RtgjyPZL5AE&Suzm@@FJimPI&~oVbioun7gC^V9AN_1PSz{bNbTyay14Mi zmW%4QNro!)xiJo4Xny-%RRVU!a@0n3ukp>*&h-WkOk!lgKBD$e3WPUp40shJ1*dhm z&fZXXvb}i-Jv%Yg|2mo97jLzx4m?j50V^ul80R*oggpQiX#MT`N2sR&k)isf%h3qN= zrIt9nY9%dIKu~cjEjrdaSh4EK3fjw2IhpMo^*Il8IERwHSwu!MFUt}2dRitOU>9G z$6z;k702?g(Oi3+H?rR62H(podV%NqlXmN(vF2QB@-*bK z7Atg%KMB1yz4jX_GSNHSZdncFz`Q}Ehh`d|3aw~u`KQX zL8^PBXi|05qTm@OhH=^ZfK8fDA&7R0TBcE0$8k4o)ftv1>oWz%Ox+ zC&)g|Jt250VqK>VS=~GcxC*X)_{`;ay{V2y`WZ?H{rG&j_iLL1z-qBWp=L8Pb?1z4 za}8%u* z-prtG!n7z6S}{f7*5lujOJF7xI#v0nZmMNeQ=4hmKHs{92-S)TiX85CDaRK`;STRa zFwV?ckNCUXtHdM!?Mb&p!+0A!K-6fZB!u%{pi)nuT4u|3arYgHg`ZbaDPaJI+V}Ba zHxOM9L(#f8tC)^ypT{|GUmJIHc@Bzx%RA%JsWYm2|5VfUQ;l6U5Bj1){Q)6A;_9n= z@kICN5Nj}~@%`xJSSj`iaa*K=Fc7UWK0Nt33|=X^X8N1zb=U7*ReHGl^|O3oCike9hX^#(Z7I&T#h$SUr38Ys0YZgZIcD2 z4#H+v4HRIV^8E>%azWvvDXos2TYoLom`#=oU$Xy4uf@z&<)2B# z6*1^Qn8ax$?|h-a_U*{A!L%hpgfIfRso|CLsYpuK1;qP)(uA`Jzzl2@5+X2>WOhz(@GD_E3Tk1s9-EOdG6G zgiXL*Y`-3_YWPN3p*13}3PLOufzdZOCVOiIE^hp-rcB>?Hb)>9t>8w-!8@$pB5#hP zY&bNVxN~Ap(89$2c&8}@ik2C%-U!879Y%AuuvF7~4}-8As-FNTLJ62LW_iWsZ>pNN zI71{FIS;4ewI(l&2%7J(jbyftUolXp03~@1aLvrJyFIQq{9n&SY za+9)5^4P6C%ToZH=sH+#ZNY)CG;^q6xd_Jz>A8+r8BGg;<-etmcAn>n@-krM5fV!t zeJ)0CvtiD2ckKhfFBe}3l%M6$=ECm>t@k&lvD6DqWLV&ss8lxn&$8I?g1X)u=(pnHvy}C=H%_*1)Z<|)05^Xutd2H=*3>#xr_+Ud{ zSW0Lpn@TmUl_}6FrKWrFPwqM+8<9rm*lt-UjjT(?)TpFM_{2u145js(3>(v6G{F-_ zu)Zm;;U%Dp>6E%94Qjl86pY)CPioI`+keX62_Ng;1w5hsrb!Kf6NZ!mJ~uy_6}NQ# z=>o-n*47>4x0(a){DhC}$t($V0a2h+qjq?pJhDSFDf}!q<%xq|oOFL|))~Z=ZxT0n z%1_?qGUHd^mbB#i+}1kr$QgH=j!tqh0dw++nJqwxP`AXJpDK%U^0HIsOb?M-_&UGX z`*&sb>-pG=m-3o(azHn}Y6~7s&i2J=(yvjUT7AEMy&WE;FTc2(%c}{7)s5g_f~^g@ z`!;erC3y=Y<|*~ASZgB?uBr%~WQQOjIoWcshN1{LWYlCR;Q^0Y-F?QCikVBtLrYWH z6EuMAPub&}Kq!7$@#mo)#VG&Q@H4j%Fr%?oc7FKN)}LYMaU$Ol*0!hIB1t+_$cH<$ zlBiW?U>*X+xuYE(YMw5Ngk^3w{JW>VTpx%htM!f8B>CqZ6fmQ^P!v`0&Ja0qBlzWg zG~6+n^mW2=Z-SNILnE0LEk^=(ZG$LiHq!w2^pEb(S@)I3-0!V>7L>6%_R4IQyvGC! z3%P#S&ZG_KUplJbYYBCZS(oi5^^Qy>l`*SkisD<617vJf2?ZPLjVDFzXME8|n$I&n zTp~QFE@Q5VQy)^!H`vuRKyZv8I0#&t(@@`i$bC42n-C5*t}@Cgu_mq+w47zIJT-vT z5=tKCqc@3ZnmSASKR0V;|MHR@>u}(l@h_r=hI_?02)=_|8&8Qrn-qN67Q&VC3gqq;Bw-%X5TkGPNM!FpBe_OCQ7L#B=s5j;z6!Fxt0dTp}B& zR$&j=i+8*%<-2gS(HTB`7|tL5wGRWNCpcPL-B1~6+oDPT#HL&8^)lw|;FJ}HAP;B- z)yj;I;U7KHWbh<%UpGouG-B^Nl24}?fQe84l}hnpk5n$6?oiWl};6h{e&}_Iq3S`0ka~`J1Uog9bMtouEx&24~aVp@K6a z8^#>)cIS;&$&6c)*35YMZ;1=Qd{iel$lypk?MBwXOg-y1Izk}U+m4s(b$)qJLR+)C zk{uhfX@vdB!QePo)6&dO_EQF2rd%zpF1Yz;Vpp7@lpV7wI|WIuI}`_OlA1Hyi4Nqf zXpBjfU4TCxH$^Xl=WjQB*V4c`kO{0n$m1iSLny}2&HE=&$~gMtnwIhU`+ETJsFCss zF*($U1y4|e&l;^$fJC6lkVt7bMx`l6{Ou4zQNExhGxdtW3Cs-BD$M{Uw3m?Vpz9yo zzhav%RPkdR<3A_gN#FfiZ{V*nNG1vpC%s>|7z~OZxO*Z6~FFUT17tkSa~}> zLF89b`uIz6P|N%b3Ni#nF0j(Azy!i{T3&Z~H3gf0Qm?#tj zbys#J6|cV2WOfG?1;jUglZZMnLM|$Fw>5K{p=G-xrWS|oI_exN@K-@ky*DDd5EN8O zZ@3K`O%wq{OS7QtY9BPdKvrGTrvj70KU$2EGDa#2b+%Aa1qn`?Y2}X5^~Xa%<}FHHPLyY3G9#RV%44i2NEUxc5X@zn^mS)L67+RJfsW%VjGojVCS!b z7V!x#$7G*`G5xGrmuI*kO^UM!ZhItLl3Ry(dd4wM5aA2)!#0 zM+Hr1$0D7$q~&M{`2i9)ca)4A;V!6fDK51If141hkHpx?TXY!R(UWEXw^EH>dpsw2 zm!cStMjRBSbQkmph&b0)oS5XVrgz&zN@bnN*TkhsrOn^#^!-JqTT`dh#WJGS+^#H% z@4aJ`2X8HaC*furW%XevwE8=h*mh@u)Tmj}TWR+|3-$sNWC-h+`Am}EH%Uljd)Bec zT6>zaza|_~2QUOp2bG)>Gg6i}=8KY$HDSk4nxu7yk2lnCaU^xK-!BeKPVq`u+a{YI z1j#D~eSz1ViYFMB9h^lL-_Zo*N>_p@9oe?n?js1yJMHD_nwh@nyr#fhknyUd$sYT&S`z+)Rp$o0)f>BOy z--k~Y#`=}{8{#5WIxta<7o62oNho=Xq%JH$ToYYnrU-a+2r8czUdk+qlGy0Q4sO9i zqTx$`WaAG#3*y&ypC+*i{&ZG#<2lW1wwWx=ss0MDzM<3A;=@RuR&{5oEQORqP484M z9Dt|e=sug+9WAr82;`c#t}HjAmGOB2L)C|LB6Hhf^*hiRMVnp7A2~>zk*saX zpYjfUiiM0@C9gU8Trf~9_K`bU*2Gk)fb&5KjV^-pWWU4`4cV+ z5JLB*gp8%kRE!#5t*TjZL(s(FocV2@a*%aM4o{MXALNtPM+fMMeI-bxATN69j7&XY6|7&c}jquzDo5*pMEp#kejXXUJ-?|!|t8St=XyI}j}9@(syDf0X;1`T8uPL$Y_ zpA1k3KlaVX!_&=>Mpa!BX$?7Qj;Qq$DY}uvS9|@4-O&wF?So2^_v}YvYz$Ci)+ynf zg3-jyJ@Nd!XerqN*w;c8rMJ^35ockRd^h2kCnw%WaE+Sutd?i5-UV%xR<|YHuOR(^ zWhc1#NS{g8uesCg?m~Lt#e|}qn;B0f*4KP~c6otiVhB+@vy9+n61*pu7-db_x9Vg@ zwB)k2c(>z?=m7;k`=1IlLI9MOzrJZxJ2;wk7G9k8I+<{X2nv78Q=1Q3a^MwgY1ipb zOxY|PaH~kTSF899NqDnzMe=DooVlL;tX%DoT+JY^h~{RjNW$lE9C_8uPD3AR^eH7H zvMy*lheJD{JWs)jV-E_^^CO_gA;-tphzuFKkdlYj-f70cLdUl)g8{m$aXDcm?Iox> z`yJ6NxwYva#mwIgxKGQw8%W%`uJ0hl~CV}h;XXP_eiZFDaGMtr%+@@EVD zOttHoiL88(^A69|>zRuP;>S_a=G~1u?}2Nl?->2=Mh*+ye1IJ2pRQEIRU*f@dBE1b z+B`mXGuweJ3QCwc0;FOO+s~`&mf0LqE{L^tj8VeEnG&M6wx#*d&WnOZ#l}nh6D1sv zr&S@^D_M%8Fa-$ce*X3=AQyWt?y>Qg+0^#wKCWUMyOqYA@tR81*XA7b*o{AB{{4&o zwoJ=%OEz|^t9HL3!zoh+V!y<)PJE@O5KJ_iC9*1$Q|j}87%*KYmHoTKse^P?6?r*O z^5{_;TgLJpYgAS5LK|Bdr_!2?lCbOUMr&nU5#mCdD)P~(t+^&8KOc{fe!T)b8|;W# z8+$^-yNWs0F2Ly^hqZPkg#~8p$emlw>7&`~U9n}Mn*j0k) zBAM`zQ^)$}F#sXAD7gi>Og@&^E)pyh68wRW)xV@0 z$(o19b1v7V6;>T?{4eWf6E$2@&67U^>um@WBt{@-44_kJ!jGv3cA6icU;5j7w2UKd zog-kpjZdt%Bh@!gt7YaRpogm`9fQaT<+?%nuWjl=0cz5d{RP@~^Q1n??sCK-3F(fv zxF_D#GOQ!nk6za2ASp}08dz)lGo|4g=|Q9r7BrI zOfuE;djQlZ*(j;ooDf+~puec)$#`L)@b&QnaM@IT3WvlO)T5$!2bJxhajRQdkyd9! z3LBu)cfJpO+|RB{cKCuoJ6jW*R|43w*{_{t&5iP#Sib5JuXQULlS2JHcH=NWNMOfV zR`D=FC|Mx0NU}DO>g^k;GX-NgBpDV0h*O$<;9n~rQ;ls|2kGnz8)IDkU=tDp_dnZxiw4>6uz zI>z4y=mn0B_N+J3HN0X$V6X9n5(|V1i9csPM7&}R7r!}iL^8ualGe6%c4KOWmDo^^ zaOXVuyg^gR;ImPi{z7_Nn^u`jERYl%0X$5G7G6?pLU#jiD)ChmlU1Bbcg*%b_CvqP zkvB_U9-hv^MQz_C+!%z5>S|v6VUi_y31Bgg@j>F^`>S3d9t6!f{;Tn^yls{mw5&;r zAV9ovJ9|rVx!{-Pl^4hZ`94|n!w6aG?cGtFpA?~0!XRC^wd08*$nS3jR-q}ebin86 zJr6uJZo+BUlA<{20ytq=o}$R15~xsv79uhl)d5ANQFAZlI0fsd69-&YN!wRbb=q1t zmI2nOu)#PP&T=;Xn)a=%A%bYi3=e+W-pMC7caQ=Y8tS4~2!TPkaw?BGe0HIC1l18x z-eI^CdyW@5YTTr!sSQWN%?wbnG=Ox9qpWcZ(aVuc$Y$D~*g=`WuKRBqytI$9&b3(! z-&^p=@I-en-T3C{k^qGLsUJgmoK>2lHA|aQ`?tRnkphm3qjogzf+B9kkVD*vB38u^ z)O^p2HClxKCcd#yF$NfGbhCk-5Iy&3mPyrC>Zrvo|FTU5FcbIoh!y&aNg*gWoX>xZ$=9eAu@o|v70zo zsu9y?>#7_<0S19VLp;eIXQrOiNCPYd`OT>b{_2%#gk?BdA8pB&0a!A4)sMHxA+6z1h|pm5ofO@Y3D0D z7V|c}&}9 zV?s5**4bH=i%9tfRKlo;NQpg;sJo>$DYXmswC+>xO7W^trDnUOwf~BCF1xX|-m#FQ zUq0W_cu#UKfs*#m z;w&k9)+;i;v+Luh51D`V58k-=3WB}lsefJ4&MwaaKcy3`(jTX}z)rBYc0vd(ojhf@_djV=%7t{Plo4VT z1UUVD3;1zb)XO~yejhtoUP-TUUJtj&ztM<#_`ahEKJoN_w0_X(y9WWi{2yN@8+kt% z+u3#Y0s=dJU| zB*j!&K_#pUs(gPeDyqF)sMPN)NL3=sY#5ryHpOVDR1m2uq13)IKr+tULLH>bhtR}{ zCRHDj5q}{6a0>_u7$wLdLZ0!eT6~fNwKs5Wip11yf*=SV(^@|=+b^UdbfH{RR(?%M z5r0y0b38a&et(d?=1TvJtnQ*vDttnyfj1l^5JRJ)9EZ^IG$vWuXdzo-!K%(Xe@!HI zB*N>#dw)(U+GdPzz(Eo;DHJT2Slzz9W@Dy)xR{^MrqWM;d;FV zOVTYTz05bskuY18@6eK0%sQIV=LroGPk|{e!h;HHa+biy$RK%-ae(Zv1Kys6*MJX>B&vke{A6`FgpF-U`k65>;7`$JnuRRUansh?F0PrwI8F3< z{x%{egFEl8erk|hAcgHTb{G{45$<1ua$vEUx&$CJP{eo zv7it1)VI2D!*&;wv|Q{BNmBInF;IvW46lTNCaauZ&avqOI+|}mIt#WXv_{BVlL=ET zNwOsofDkdQxBHNFlf9Ql;lCl&LrffH%9Ov<5e~Qa9vcrQ(1LB-Orn&ZS)obV3?;2( z^V|5iX%(5vb%<2!xsUlfv({A2=yH#I_Mp7;eY(mMdLQ^%?5@sVMg3J3H0S#miq0b; zAc79l0KE!OUMgMtuy_0Dxxn)u^D-%P#pr8DfJq(No2dZ_0+9tqDVvBfw#9$k+Sjc{ zBle=hfnb}`aeg-gisv}W_JKZq5_srlxiI$Aj75boYj)TK*F|%)Kgx!4|NgsZ^|*7y za2HG?McxhiIAeae4?UwN%t)gsE&~0%s=uNGu9u!j?O42I@D!9rsi9)UTviI#W&aK! z0WKk&(YWp8<_l_yFD?{e*4Pt1tFWeDwCp%i2-{+!ZT;`kAp>+Wq;`r)G!0X9-cH2C zTz3TGLR-82d@A_9KCu_ER6YNpU@vkg1mA9o#A=$@ovX_z#E?g8EZ)o+Q=H%IO@;_p zu!9Pw#9J%X?X~`n{*7vc@ecCamMTsE&ZQVVe}!2QM+>dR#hhh%RceJQQuKCetE8GI zjV-B;M-|e>O$v`>deWF{AP4RHkT9`DURF@|J2Ln}Y{f_^U}^KHp(ZsMBV6j0k2)^86t36jLeQ$VFqQi=IJMiwJphp#BN)k0fPbc zrC4kv>zC>2$SJ}rzl@6)&te>3_)KdS!c?>fEdI^_56$RRp=gkD|3LmRieELLs^7r& zg`(sfQR|riUlvCmkk0Y8+9acL52>12LldkH zDjAxtDjQQTgIYeLZhgMb08zE@34q25i(qraztOH&RMJS6C~_&!B1RJdm($()H89Q1 z$)`fPe$b$^BqUAAbR_DG;A6syunb?(CGk!z2fc}qzy~Eo*;TbdJJ^4Xqo7fH&K))K{aa0hOl%cRrC^}oNuE~}us>pp z;uX|kLz$eg)(bQsoF8u$ft7_@(#F)8in36GM3vs6>2xAd6b~$K9L|)jPD9=X3!xAr z+$f)cG6-pZk49o=Pl@)044}v2bCnjYtcmYEL8B?zZ}1ue!|s~3w0j{16rr%gd!bDJ z!8y0o6F5<>EW>*1$CZ{tRimKN@friz;*Vo^GMVVZU3#9ER29e zIsdmWIIusdNbxbOqp!%)f~obd5SbJ$(OyG{54|PtjUe1%Boa}zNhU{DaF+00{~hGt zelDUEp5>(B`9%`eWI#U|Tj?9by5L6)MW?Ii33_?8rFxo_vc~;##R$~}ep#XI&W_(< zgum9GXa?((J&1=yem+e9sv3cfOmdGsrKcr}v<|y2USQA{&TR#KRQoUo z65f&c4Q(;cYi^HRE3_HW?-URAH+_#D9t}6^{*63bE=r(W3jhHfOfp_`YE`DMie2%% z%56EByMF=(b_JYi@lE-tk0FPq-ZK0$LXt}_Ofbm7=Gc7oS;o|MLd}SwYzP;|p_60? z(#K+@n7#pJ^7l0*3zKLZjkA+;xC@5>ukd`rJ;`%+O}ZFg?=g-W6M6L<)2qQ_&XO)> z94v|Q+7$2{ETByd+NCo4?Kr5WPGAXrnF;1f{STm5nGGXML)&)+4+~VH+JR^H%ne_k zPz&RCZ0A%!btX3i`xE}n!apbUclN1*OBzsfuyvky?X@P2B&XXm7p|^LFu=(dz-T2rNFk^tjkIBm{7HjJ zBTm!3J{d%dTILZ3oO_>JcwUo@ve7o?&puZ@s{}~1i|Y5NKuELG2|{&AH1k}v=igH; z%uP6`n3|CYM)B=T%(SC&3BKRZ&b<6>o+Viz>k$dTLGPpv7EKM6{H2(;b?G>Vcd%x6 zdpMxn4L~z0%e&kV73gIGNwPByHi{eJboMB)>{r$@Dga#^RrXqhGuB!4yN}r*DBT`DDthM87Tp<~WX?3^}DCK2FW9FA-7Mx2bzeX!L z^*vJC32_1rh5L=QVX`(LW=QvBw%kg}Fr5j)G1;`!+%ENxdsB&?*V?*_M6L)_UFE3ZSrSN>+=xvG$abOaxgKEAR& zYa$5Q-?9JX*;OvfamXqY9xou4hB+e2Q0yARrY(s2Hkk1^OfrfT+;}~8n{wQzkeXvaWV^oeKMde5;_d2S4hAcfU3=w|iOO)`YvjQMw;^GU02i?% z&S7eEQD#E|t0vY|5Yk#3l_j&8I9NMky>*10x?t3_ca`49-ia+;ueY8W;|#q9fvMLi ziZ$B{F6@sPe^YA!3dr@ivTMXbJ-7z_+uK1f2DZ5!q&`O(T#~dQmBf#u9M_ z=+Q$FNs`Vq5-lXT^yMRNrj>4k&$Ag-8IrZikV4#aM#?v-sjpoBvJJ3L8tGr)c`6sH6wt~0TGxS%rC3sDiD?56*@C*LFZ>wOV#U=V zze&;@9hJ1PGc=(Ri-7brolb`hTNzhwHq>&uW;~+Vc~q=zrPLg`D6kgKh$BMgin$ z^f^A?Hvr#v_O~beKjR`(!}~~ip=j~ZXK}`iUcWrsMDZJH>4cZ7w^I zHp%M+r^u0{&vb=%-aAu3=2##Tw<>5}cTyx#-wrO4>#F*uhZ5TOc}Vlt@ME6MILoP~S84PJxm#V2OX<6ugO zgh_iT09HmPcG81(*L_XahHjHRmDhgD3FemJx|0HvKDPPr_LCN7cYWlvRciB4CUrN? z=TN4l6NYErD&xtCGpQdNhd015}ASx$bf{GzuZ%@saQSH8Lfz5PoeFs>uVPyl8IEFVPw?pakqSo7L`J zv+qcBQE6;qT}sbU*FRdv7+|nCAs32F99@F-ranLhZ7Jmz9=gvW6ANZSQqLDNjESnDDg-q|cYifWrHJBF5`7nL}JwuI4VDr; z^lW|jdjg~pfqhUX2aONl{ z)k28h1S!L%3WtdemJV5}7|x@+>ygA{MKEu$&0L)0NcdOx5ENY-=F-|FN6C>3kY7Su z%BOdb$C^6Eyvb@tv1k|TJ6ufG%AF^@pID+OqZ>H?j;Y>xPX9vF_i5OLzcuZ*gr3EB*6o{31-1M$I&A2=xZbdPxD;S7Mc%V!rx!?1@ALk#C6=R5d* zbZ4Yh?+cn7%y%1wFFX^IR35%!`8`kpBnGi)BC5e=?5KD|Xj#Q5Ptb^B6 z7>V`~%KPOgk!}YHhN&S)^2<1&sq1^?AFuPn&i9sRXGmE`(OWhnf}Vqb=K}u-xT!<@%ngUVL8MFRb3^d%3<>6x z)t@CVQYcu7SOB6KPF+`{ z@1e4cES3~85iCIb;vohi9fsCqTURM0W!6>bCqz5$?G~c<6}vO;OnuftkCf#Ta^!md z8&qf-;fRfy@77yW9sQDH(#iPerJH^}=d1DH8PCt-qb?}}n4!4?CFc>6X1dQS$61;g zU3l|>T30oGxq@efmo9F<&w%KpcrjXuJnFpn#$H?R>4?~EsF^4d`Y4E6V2#H4M`n{& zE`^O3bC$o=>6%6LpT7VVyw|JIN@EEaC6bO1O_G&liKtSmx#wt}91Sd2^pnq0kfkQx$!7mW5zqO6 zBb0NYYR_Ef%I8P5_YET&>X1YgSMRm*;VKPoxckdl!}qoJBBL_{o}lFb{!!K#|E zwx2XQ$Wv7;TvVGh27|)nixF=fPmL;w-A|H?`;%iq%gK3%|2lp*TJkpw^eARsss0Sy zO~|TGDRZ1b(7sJ|??n;(cWmT#S_|RU&>Z7P!}w;^ov)W?l(7_;p4@W9#<3Lsf=IHd z$XBO>BuaUIrxA}8Pbr&au_(nlcU05dmtNV}gv=_`QOUBVt_;esJYxMpb@mir)l-P? zMzuaJq>GQKE13VZdK5*X>Wz{1 z9VlCYORxA$$Kj?M`WNfuj3KIcSPn-QU;+@#&s7<9HkOjZre?rlJI#YG)wRJE#YeJL znuWhoZOchJ7XTpwu^ND~?MtfFU*1fU=HREuOK1ysf=ra^0s9%E@nY1 zyYiv^IyBU_M5jBkD%2yfi4vaveSn#~+RLL2y1zqD%nCDH){n66 zl1M^ypHF)Fs#?@1v$Gua^5x^ zIAtC@TWaOlInb7uC>kxQ*E5TK$v*CJ%LqeRurL{&8nVYklU+c>hM!djePX3qP>YR3 z!KyU1>QKMCV__v?$iKGfFwe@F0``pw%ZlP<7{H)3Qi&h~HX^E>uo;wo?zs*r+QBpg z2zi}&jNn8Z=Go>;YZ+D;xD+~76F@P#E~98kmStFVDUCsxhzfHpO<2tIBoYUfJew?0 zX(+k7N+y|4yz2RHs2-AEwg>Yp=;lbpeO-0-d*2JbXz!hHkw;!}ZtOgA99G87 z%+33ATz7tAmDM}+(I@veR#?8Sr%j6fj{IY4sZ98{Ny`u7(mzd~=o&m*IV;T3r990b zlT+E$KRws@wU4{vs&21L1xHg};xZjUjepeKFzFDqy>Td{qPR>*cV{$m?k{9gfc?tw z9Qpjd1!^JF<8K?7Rn0E&ua?#PpEM(mRy|5BsAVYRU~o2|};e7NE9ijX38Z|=Vi$?YYX(Fl6? zy5KL&#C}O36;R#@y4fP0qM8kpeQ2pz?6<;8S7^M+aAu#d@4bm$BRSIsjr6y4|x|EL_L%X=U{`xHJRUsZ)rp-x6Y58v2F$K~wRV=t;;_>9bDp+r3yfKxFada0m8^S2dxa@ry2qS#Ru!!Tlw@snQmjc59Ohu8PQ)a!eI{=*0vTL{o4G@*ee$7iRd&t5A z7R;AKte<55;4LioBhN){VZ4WLC@wfZI)bz6v@4F;|EADBUND9Ao>U+A81fvDvqMub zwtzr^v!Qg2i3SD{4Zqv+2`K-GPq~Q6RX5{O->d)kP3;`~-B+5GfgGXj>5i6!PmpzuB zYuv|++7KVzJ?g!N;bOPO4OBF|o{(VYRX24@^$g-HRIGJs2i!8R7kvsZEATUCp#&h8 z(?7cazRSYl*)xVbfGl98T@UQ;A?u$#@9OqnO77QA825&SAI&J>xzc{R=_l$NOs^sD z<-)>v6Nb}~_uwqK#1w+2AOga2 zXRwb#iJ$$%Bh+<+id@g*rA4;>*IHiFmXMM!$gyKJuZbbVA=>u?^~B&9zym01wJUFZ zU_ETOn8vfL)%Vo2Sx@M%a1+o4TRTnaC*V-URC}a-%F@Sb*0qpn>CHH^nZMR5!40*m zY3Cx=-s55VUWO%tL|~WVNIQ`;kW`Z*oxPxC@lr?z*0tUvOShb{Zng8-o39~xZ3o#5 z&Bm&@U>1BPYagf($A#P+kvO^|8j~#L5YRy>F(d1$cC*CS*2IN1Y&0h4UI#ZV%o5)` zI>pub4ZhN64JwG|*oRbE4$3jdiqIxyt(t*FShA86c3q9f=!PY^p5u8JbTLX_oR9q0 zr|#ollfVADyrdJ-XG$_SOZ)u|BP3s$Mkz>_Apo+tO9XBumi1s90aem^jpDZlkpzKG zqcNTWEz#%L)MOg7wSmaQ;5(w4c)%0ga#J?479h_>L1DjQ@eA?5(Ic$>%@|T0d0P?5 z=tX3ON;e*(9@pY4TxQZdXt#02IWae22h2ePluh!CGqB?(z{;OX;=FWV7o2YLdrYfsm2H?jDD!68BqmXJsG2doK6JJqbjtO9oL zz~PXw?bQzr^iF(X4%zM4(Cs3>oIKY(wx;MuljuMG-b|=o;rlN|pxm6blRpE-Kk3{Q z_Wp(O@>6Nl4yk3R@$we~<|AB#iwWF{nI=j4eYl=*Zv=VW)g;H>Iu-B9YO5E$A4M{s zYNy-?n|t#mOwv-bcS3Tt{xxd+Q&Ko8?E$`Jl$L8NTtFG+Z0jgIr8avw4;N;v?KcV; zaM29gn7IHW@5v@PKv-+RpVVHsQFbE3RsS$Pn}lu8*}gNh_$Gum!cbD!Uy)bcMFKIq zp#7y2QEQ;|eA|&U<1dXNptMl6N@EK1HX_thU;F|A z*yz3dK}d&0`FI4jN`Xib*{P?!EivuS={L)sRRPY@7>m?Ri)r)*(lqK@pHT&&ia{3il$y4MU#MpJFA;tky@A=eWwXglTRTt5N=25A9AuJ zv>vt(N-^aAKOFBqS^!>qP(9gD6%q(shjvO>Q~)Dia)6F?i-TanXTNZcK!cWV%qvC44k|y{0o&^XyFE(_MWFT2G_q&^~@#-A6j}g>eShS7iV3j)ouddc5>2wm0o{~31OFTnw6J%Nd7K5j$ z*rzC^QU}2UUiQCo2x%Zyf4OqX^>72DJ9RKYA`_mo=Yv^-%Q}~E7~mt#rAxS|^LTR0 zXlJxaK9uI1U^74j!+6iALMWEW;?-t*R3QKF8$oAZg>>D9=O5?1r>&&>CD<_nocPl4 zi!|NF>5x!SgQMEBW(kV0V?AvvJn6JH#fnE+!gBGf74tu-oQhH0l{PN>?4({y zGd7TB4a|wI9%G9=KbF}Ti4$2P!VDove|Id?t5!-GFE_^E9I95;X-5@A=8qc`lK^FZ zs9W3@OL#wKvp$PhCxs)XnNmf&a&$g|5FnB^9pzp_Yob3bgbmA6`Y&>?B`_0f*`L)q zTCclFVJr8H%V#Go-bik_Nl42o8HW)jVb{xuQ2FGb1(VlM?vew5vT=&|B4lH`lrEye z?p93bqq3r2*eT5I*v*ilXVyvob~*ka&8ZZTvyo<8bq`a{e*LqN+Z~@l^a~VneqBuN zi6xAEmN7j5XEL~65sJDp9Pdgje`YGR`&a;=(jeg@XFfKS!aB2ew~QlZL2PZL=rlBm z2{=g!-?bm8PQ=82F6U_BSGGFFQt&ugx}TI*48nE|Ga6y?t^%u;#~-u+o~0FIiV{AR z{gVlT2^*DR1Ef`H6a(C9Q0#x1utIWb#KGhqGER-8O^lB7wo5_9m`vMp*@$SrDyU0V7#8f19(ExIp?<1;;lgU)vZ&DJJ>2 z>GFz)rB(nZ4Qm^Hxci zkZf0hYHcgrG7AJ(#eCmK%`^Diy7@3asf^|eKX!TDz6*IAaocf-H$dB7@ZTHV7SWd~ z+Hs&^wXO&&FM~9pL{#*?LQ6PsG;Anp zw2LWPs!AWzL=ebds7mi8bhk_UmrGE~J33%?%bVNw!>OCZ&m7>|Ly*zyMI=$9eas6p zMGI7&={%s-RkT5`TD7BB@?k&3hJC!y7?UaOY=y9iRRB?+3`%?0A*}}Q0eH7JhXNvA z4TUeh#uXEfNz$pGTSE*aGp?2bb3VvdvXZMbYdUD_gGn9bM~ur{ zu4Ca`kcz}oQH%mHnLRG zsFQvZb4GDwip1xCu@e=n37kh|8^$XExvldFClGANfD@;Bv2*ZOt>D9-?}SJmw3R+# zDg8NW+_cMMSc;N`ntPPY6|!-Ylm1%}C0L*|jq99QRB&ENTgE^$+DZnA46sO7%mEDjL|=|wZ9(glQiXAqK`J~a zzd{u#51aQue~8Fi57}0XAke#w>qH8s)h|bx!;W zs0|Ot7bfqIG}ZF930Iq!Y&0JYwra+ zTR~E@olfm9f~=2Zse+`JZf4aks0gqWgcB1zea0s94>n$SELxBpPL-erfk>ADE{(8JzFy{o!!4Y-S`opz7VBYa;#~&e||_t&nkqc z!Bj@7Vse#g^hZEhG|#q8tUDZu%@kL)X@tpUI&8OKa*b=Pk!}g}>W6AmMa>6H0a^z| zu}e>*aya5yE2iR@mbYP$b={-%mv; zgf$axQLv)GdhAM4ZntLa$g#0&VP7^n_zk|xKe?@;(vtJLE|_oK!gYpULBJFtnOzR$ zrCEWD(ltCRh{b-MGb|B4-&F;Vp+7H}h)O@Wj1@Z@a`gccWWl5zSU9MtT7_lrXSL=z z5bRVVUs`g8Z4c?DI6$o&6D*(`u2dWRW|>?Mwq?B!+2B4Tlm&Xb;k*j=)5gS`AO3j? zXUQX7Mv2kp6OU+%Q*@Kgbn>M;vQ;^F^`-q3fuI-?t<2~SU98HM(RK~}Lx8GHoB@pf zr=y6uixvptm=7zzL_dPMon+@f?Q~ zus_Cy)BZ&yiS>O2D6Gs#cJ>nzS|Tf=trG@bwg%*tt5+bg(3AZ`eCwp9Zc1DUV&qDe7~(?*l**nKZC6-qH0QvuTyT^iV%_g!%%_V2gi&A?Y&o z{hTLy{dZI7H30axtTGE?0c+3~rIpJ)fG+Io$_c$07KiH*aj%LAS;-j(&ga9mAXC&x3d5L0GSzV{;*LflRDPqr5c^>&Hs=;|8QQ2XRCbP#pb&(s}fXW-x}G!@f6xQs@dM zVsC|&<0|mF@U34d&%Je9SB}$#vo!pp-#`_n+5UZQ>^^MFPKV#eVgJ4h#_axQC=Upx zXk>L7k;K1hyQK*dK`!2OU;3~g61{a5NQWr>uyGjtVEsh+`ldR_yHh&|>N|{3{%J$D zm2Xk3--4{xnwzZl0455+IRdBV#8=pH!8jPZbeZxvbm3Ex{#XEWFboSVa{D3-`M3A~ zK&uc$yMdv$@ie8^z%MZe7QTxw;zTjqzfz)#P7DM7Ge~Mc zA3tfs|Bm@?)|$EE^rf>}k)-|e1WGWt_# zBy;|y7^p-;GEs0sF|_mP`ve zy|@rV7QXhp_g9BXIwmOMIY&WVWpfr2J^Gr4H)8tZOK1dLqJ)B%E&Tm0Wc zT`@Az%#ybTB%S?6tBZ1lU0Q@NF0uIntvM@|qlwfYRdQ4|HjJ){ij_t~-mHwIq$uc> zuJt)Pq-uKy+W_ULJj8=wf8TME zdsiA1?>9-V1j^ncs1IKL6A2JcdOIr0BQx>WB^n<21SoIFMF~h4BEYhl36(N`7Pp!@ zE8)V*-~1@Y_IizF%j}AW`zkEkynD9{E5Fw_qj&h(X};m7rEVJ!oDiX*>|pL5T)cDT z2=5A{J0&rgj^H0PB}VbLCn+t`ZIMcx4Bve`D0(JfIyxg_B=yn!o2^0n4U9y`$Hl56 zIXR`zU1%E+II6xxR08yX*7=E!!Ys;Xu{KnoByPE8GO%TcS z{a+;74if@b>|KOCjOw2i%=0HTQByU!KU3HuqLqrX7okf-x?)wqGmUVirF{D`DKL>B zep0k#1wpyQ*8nq8i6;=L$UfYXlAr31EZQaunlyZigeL_8EM$~o$B%67H~~f0VrC4| zqdgLIy`vnkg2b1wh#_!aK}|a8`%|cJtmpmSwz43)7|SrNcZ8~8FF2Si$;Yxr+y}W9$1g`zRjbKy9*;+xSSCB&SJ5m~2C3>`pC9v+ut-BzwLoC;3u02$&6RQu zj0$UI-VwRCo)VoRr|-YAPyFf?#cCvT-;9>C{X((50vXl-Hx<8nXQETW%Lp?Fo3JAf zu3&2si6HqNYZ%b@T~G&U4vnu$aA>d%VP0EJ8fnG%yi`XN(Qs7QWSQ(VQbA+V;l>4c zG&7QQ49v0cZV*xIRg{@nBI#8w3sn#}pbP3Lkkq^tn}&unm^DOtb&NRLHzX@uYv)oq z8Lkz%y4$m>L!uSAR(~^&3U%z~zv43VR5lD+YGoW))&)?rIBmigTYPg-xTs``ABs^Y zJ3bRYRH!0zi)e8&-#ge{%3NfwXXi}P2Bqb*JGyvkln8ukA%oUssijTRhBW&{b~-6j zcXOK%iV_WOZ6((4R%7{@$i6}^gpxxaF6O^NjIzhSDe{S&^KMT9S#^{?8=nYVEF?pw zl8hYqS01PYsgDUjoi~4fhNY09yAZ&g>6Nd$5X>)srADudCbTZtS_Bg{dS8hRjC^_g z&v@!q_@5I(K2KO5&Qfd*4tljG%;&4+iLdi(^f!Rpt}#RiS0DOHftz-EoJV5yz&@Vh z?yRxnfJw}Xh&ds-EAW9)R-rg!(c-CH3}QOoQ&VQa^7B#p_FAJK3HgT2W-Xn9__-99 zij%xN9tVgmkRoX?1%Lq?ApmmLSMNSgQ* zDvMt_;fpkR%X7yewD>GbL&QZ45;+(4nlUU~zZtrqqdlb{_DJvl+#|0@G1sCI0}Ysa zznDC*_&0UKct6h5Oz9;O8RRoKiI}ebmql9ua!5S{MuM`I4@s*D_$(U z<20Mcld~Mis3!iIuqLgDeHKLu5636+=af!Vv(gt2j!p%%#J0-}oM@o9$|zrpHo={r zd31{mAhy_SJC3a@yj6OmHJE}5Wtii92t(qW!@s_bTzC=#UaIY=pMN%QmpD-qAcR!A zi-UMBlwWh6Av^6)(V+9W3BL6eilM~{FE~MkD~Ku!%7M`qoITtpBU-XaooCEcUGCKy zqP)AE+tobjbc4*L?;u;X*{r-;l{EOHMW=w})IQ28OD&tX);`RMI&UChUri{l*w&Wi zTj8gHCElJr1$!IJE>{=SErO*4t@egmkvHOUNp;LJi|8w3xZ+t^IX-S{o^M9|%;cBG z`INHXgUkwvFW$bvER$Fx`Tk~f6q52?xA5xzV5aLP}*Je?Q^;Uso+KdakU)U#bD1CP;WtxtkiL=aKVBYax*k%6J;55fJ=gsuf zH|I^H#geU<0Fr<-MGk)3lSM{D!ysZCanM`fyW8r#ryjvK|&u6i*%s;T68`G?n zR*3f}syn~92RMn=k0;#V_9J~}iZJfWBFW@c6j4R_XjU(y3Pu$uy0oHutFR&xITYnSb z)QfGKvVsR^HT@riXv=@6R|orcfEeZvs!66}%IRqt0@GQ$-oLs(TxP{&sjX{2Na3B@ za~#s!emdxk3G1zZ2sEdf#Pi?&7=&qUrn1H6``!#DmDTM1iV^sldDI6is35yKgRd|W zTc$ApnZj!YkF8N`=!&+F zoOzJsz_&j*<<;dk{l05s-EcE;Pc03~yS)MbcsBLbnD^ z>3jgpEZZ><_c8Gdc7g{={9STCUG1SxRf1Bz9)&Z+qnl-ltO#TQq(4gqQ&FNiM=xBd z!2SITL7FA0HF*4(Hn?AS-n9@db*d|gp9PL8^SX}Li3dKzU;L=6*%vJ)>)H%R4mZ*8 zqp0n5{-4 zDG0~M7NgNW16!nE1HH;55F-8#I|yTegj%j^Hx{W$kmzvFDY=E(*bKUIxm z3Mdg3T(-K*(0)KE>qE^w1+yz zd5}#mA=s=JK_tmx+5lpg^R=>8fuK)hitU(ZB%yjd?}1uzV#Q!Kal5NOC%IT$<{iOp zay>n~(EKfk$6~t55+EpOq9`L%#2*sIL-n+c=^u{7x0AXcZtdyUX*0Ig7iSO^@H@U9 zbjht6K{({?V?U&x>bKwc`{Jkm&)T+A%4T=SsQN>h*>CUaY*kDOVVSAO;*}Zjfipw3 z(DUTQE1`rCEdUGnTmZxPlIer5z<;^e(_h_7hS9j$#KEzI577lS=_5AFiNK& z(Ut8N0&j`>u&vPzJ}jntl`4Al)+Ij(l^)v+5sPGs5Q`v8o%54_6RM2plr}25kdpaf z_LQGWg#{}=zeRHnDVSoJImZFNKYSM|}=jDPlZDSUlN;v^5 zvSBc??2utKgI?viQ%6*NbFE-rPPHdb{r#2esK~U8iA_9aqn)}sOW9>;GePWvP*3V= zdrttt7I~effJGFB*cUbN)05?3g>cn=*l%^K0ysAB3|7c$meV+UwCJ?982)YIEMjlw`{=W@&0Iv8Kz2doM zHRuNK4r<7CPyL}Uof9l3Hga6if&a4e=jLf4b-@t!ajj8b!fzklqrbE*L|#R;c8i3Q)9Oe#T{@``7=!)ZIV3N=pL4`GS7<} zF`QrMrnY3dpoRd2yAd5{kJRh-2*&L77`~VgfI|GD9FArHMs)}-yROM(22_-8R-4MW zWH%F?DT#Qj46`_*rhq><2JlhE2TCMlEMN$ECVilDxavHP5mG4&m`j`Zhw5glw+^6I zBD2Wn2#O%qXp>AS|}Z^q$WQ zWbE>V4gQhnXQs$J`ES|RWRd<+IJ+A;SO~EoZ>I@TV*v9t5FeU|3iQkh|Jc30m@d+< z{L4O^DkM;7K?QWPM6;*~)gX{)b@xyeYsenx^W|KGs1{>Qo5GtfaY{g3NRPIIGo@3E zgt<9MwXg2$;^c?qeb`Ftpyg#ag?@|)XsqZ7hg)(!jmt(h-HMcn{gPT9xTu#HdgZyv zXclpg13l~f&yudgNrcGOc^M0ZNh;V-41H1Ec{ljG`c|Y#Rl61D3*=?!L7A&BCyn(q zX?Epi-ltFGn`-sbsObx=`JxX-mIG!P;mGhosluNF? zjG`GNI~x2}=Cdit^6{1EkRyHaN|;A5lfcRE;|oP0&Qf>MF&=M_i%?Xk@e*ah($}J= zlZ=A2%Ijp`$s1QO9!o4Iu4WQa0rj-9%U~IiUmTzs7T`g(1y>oq8y{#ZZlevBqSE5= zT(s>ITH6Cdf`JTgx9y)Ajx8@}w6hI)}^Yov#7DH5P&5Fd+RS+!h! z_SYECIqDl6#Bz|961Uj5Z$D;@YJ`Kj$~8-caCvZAE_!U=c&?QDJ0Gh4S<$E%6Q|$5 z*H9t)TuW-as$l?9iIs0Xek&}SVmk1QlR`)xo?A@5E-3TWCyv^@1_U#@Dv+|zbcdFP z*x|(82nI~(9AaHf6YCFFfVKYK6zkE7BO&88^X1pMey9Q2S0$yU(VNONqD) zk5S3JcI8ro@8w*HFB8MUV|j^v1&n)6P*>c8*QjA-Lkj2wvxpC#XB^z?~V?AEtKdkabUB0-MOJ4Vbca-pU zbuX?qhh7tL9|?MxunGyr4lnTUUai#nn`n&Wm$Pl3{>=*(yMj`In;5QvJ8hx3Do1Uh z+>;`DqOifw5@~IrK==zBolT6UqyodFQXm=J#C090Efjg!YHcMgF(hzBUrtYyvyq@j z%g<46TnducYW4FdOmBd-&1bD_+pu;Joloh;+l4j}=NELR?vUFdOT-QiTt@XEW(^QV z?!f1pjJY*flq&tWrV9%MA;x}HrcMbW1G+f9^~Uxr<8WpRa`Vy%lU-tnsAZCmhm(72 zX`s{+cUoMn%28nt1}&{hN&eO?2g&mPjCagra-V~HjlS;s((8fqP4n!B92IFXIXL=yuf(I*^d>u6I= znJbDPTI#?B9K0J$6DQD52fh~R)g@J5p5)-PveoAc;`;u*v|nTA>Xg&*9*pxeHXv6r z7WyZ9#Qv;qCsaqnr!G>#e;4f-MllytLt8`!ZrzSS^qkXwNf1+NCByT1>M9+kK59?N0k01*JQWmMVuqRRAGi3Ox35 z6Wcteday1S!q&IWJhQLvq3UGsJOUl%)%F=zo@qX9r83tckK{dRhTA5Y$>buh6g}=O zOeiD6$d~=ZtCA3TA#_3>84a$Aq8GdI_V!>^k4f%Fn&b*M1vtBvh7}TEb#4Oooi#d%Avs&23hN;Fro|gDouc{C%Nf|Jm%EKBQD-SX z-K7yBS%S$jg{N(L=Mv!_&B3n+&ANFLf@5imG^{)yPf{jnmLe{KIggy1dqIVm6=;dL z5hPjQ&i%DU*84$R=)C5b7=-Y5$Gwp%z>_iuOIYzKt8=&=+J`EdZBj34AG6AQ?FH5o z;M^pw%6OG`67=jSsyr)`LEE#v(@+#zWmkz8fx0HfZ>I_`Hk(jbpFYs)uX3So;1%U; zD;T*}8R2Xmb1T!nN6$-Ce_~UadKRWvJ5Rs}UrT2<`t$rKE9M$T19TZ5pl9o`z3H#1 z&Ii>_pz_t(?{8;2VWQaI12Do$Fy*d|NGs{lij6P_X~TixWjQRg<4S9m(&bsfgLmz! z8q{r!=|eO6;KaiA)db%`NwFE*bM01T2)+GJ^|l!t^uuN2vL=UKng#PG)>H>JH1);N z68G9>^8_fQP4#R!BoNr?@WMv(8{gQEv@~DWp_Bd}-Ot0UepWA$7}dXSIwWpDRucgW z^AvbXf})QGpQ^K7Es&#=?S?5C!mfR5j4i=FU;6d;m!2rlXMZy+M07}clMwV{uAKf; zJW3hulR$}VF)~Jh{3!Fav_38G(Z$rqF_9gy{|tPPy;9!Kd~&cVfg1_*T?Daq#F z5IpR~TYqPm^73}$c;^K4#@^NFQ7Afo6|6Siv2-XisXY+>kyKFI<4uW})4|i$70P4WDblD+1#6Ea%VhrLA5R@=5%$%I1KYNi5W)cJL|B*EiDOV)bdi{q`O=WR^D-r zC~veN7UR(foqVIVIn(j7!Cm1bmY{?Cv5ZIPVGc6by_vkg3Ps6~$rOZe(?xd=Jut0? zFGKN2#v)adjd7)3vSRW(#v0?b$S}+VqbA!5hv^$}BLeyL`xzzy#eYl{mpT1~P_Q>dZP3KujJV zAM>?Ks&l~Ol48LSeVmCMMXXa783V@4Q5(BfoaaK|dlnfanS`ZydPl3EX%H`iXAHi$IAHQPM{`u zdM2iRW=>KO`N+_9A9F=c5hyFf(+a>Hj}ltUJy<3m5*XBSwN?Jprb5rt*jP|{AychP zDH~95snLw6Qq*6I%9>P~0{9c>HBxO1@+8Gq&#t|_?e<1(8)v(R>-Z|xO)fxArn4)X z(ERY>3WvDHl)xBVbFGl%h4EC@p%#~*Q$p;=e}<2%jj$%eYkud#M9g~P$ZN0ieA*z< zAsq3VH2Jl;^_DCoevWqk*Du{z)^Oc}PR*t9?L;h-)LB=XHzfBkbN>dBfQ8^YP|b)F z>Z4BQ1~WMXGrMu zcV0a#?k`f5=E33vP|l1>{`$id+hU?7)0EapzcK3}zJ9*AD-80&U!DK}nI=XRLKO00 z#Z?f=+VgCucXV{CCvc-Cy749L``1Cx>(B>8+>Y7*5A%$No0OUKzffy_ekMs9dv}W@ zQfv?l8#_D4|IHF|>E97gC6}B#TMuxNJSn(FVzv(Y47er;TII&NN&^G_d|+pJGn`rm zoLdm}-E>M>vp3NjX&!d;ZXQ{V1-$hc{Yx+W*f837o2+CkefN1adL96k*MG3RcTm2^ zzkj?~eH=RVz2AZ8`xY@kZ=lQbHKYCH;J3fHc4_+;^?d>#Ykl};^!{Oe@7H~AsL$m) zACq!3qqjm20XL};4evwdu{ZJWH$!+25+83xOwWhHLP!sPuZv3a1=jN0`^xh>#!&M3 z{(#f%haj%lg232;LZmBR6s|6fjW4Bt);?pePr9V@e?P6A(%1Jr8-YF~?a())L;a~J zGb-gO6oFEYya6xTYffMR=D)0YhFCVEh4chNoREHKSeKXCYYP`JAgTaA<|G+%^L zR;Q-gN6^Eu)aRElO|uV2w{QOu-VjC#WYkks5M{e~y>Rf%URpo)oCN}pbU}Ukh_I}# zs4{7Sb-zQk34&%}1_+)}9!SZath=2aBHS$_*MwNI9vY;*d0ZrH`$gnLbEHCe5R=a( z&r!o2k#d6uUKFmBjtm{>smyOskO+(B%FEd|NPQR0?Zp!LDz3#kPKfV#<9LOl5n*y86L*LNejNbX4^?s$ z-tZrda2njpZ5gzs#H|F8Hxe(NT{m108G$aCExHmL-BO3Z=VuI5 zo<9*!n4_pVmQ66mn^DwISudIYlHQ@D!-JqZc}K!`Mia z9_kxE@j}&iO5pjl52P|NcLl~<9eVD^zi?I9QL*Yi0^{RWM~f9WG(uk)C-L~lyDI&+HM zNZmSniVXqD3y3g8w{x9x^C^Y%-p+UPkzlY#YWAC{4EqM(8jjLRD(RN5jwCQ%94yNR zTD+XikEbjhfrY^+%GXkkdPlESDleFw^jM@*d3(oJ-A<7hXczesBAUDG^-F5v8&v9P z&_Rd>UW0T(l%vIB%9DOkc>}n@lL?POJjKAb0|QS9PLLdz6w z$9MV$O$$6@TswqNjJi^b_o2jrE}Tlqg`6npZFTom)gT=)LuE*FRFd`KH7;36TMWR* zRTq#}kYhzWI1*;sN(`&;5WO`PjiN$g0VIB@k~y9xu)Yv^#l@3$vG~d!9X9h0f*cED zRHxICQShwc)}IRMLN25Dk+FtMKpU}rTnB|uR8|q@7nCQ45+kSwAs^u~l9a4Gc?Q$z zQ_A=%%P@NLs(`Yl^HM1w5cAMSXf71Bo8Owhlc6NQXp0{z%-A@{ZGnHEmSA@S#S_1E zem5nyxYfMGggg5O*VD@LMe550XdKBJX@x3+Hx?PHGN4i-Av!;d$0_a3_RSx}I~rJ9 z8#A{zw5M|{qe9tZn~y|rej04W;lj?648$&WIz)|1qB&ML-hipsVyZV`_qsOq_{Vpg z`49_gv$AM?wYuw2ZcAdoqvfxO`h^6%HrK!as4JKF$l=67K9NQGX-YkVN=sg|&pXO{ zE-P(c^8I-J8CRkdw3XZ+KYP7|hXQGPO1pXjc*mWJkWzm-d++Rw@yu3XHo=>nwN4N( zQoq$3Rmk(MyLKs@CZmvVFC8D7J=DD5x3hzUtVAsOzE^9a@qgt>In45fSM-4Nkft2s zs5bc-kTuJL+ku=NC5c}Pk{NP5QWf6itVt6QLRp?TD(F$e`#X@S@0_s!+vMCc7+v5- zI5Eh9_}c|)TUBm%3RAn^o-ccR@GD|*Q8;Ao@2Yx8Z5-nX{q|eN*8|?38<`o?6$5zA z5WKLTxKZfWzp`P7eK4tDCv4}dOQH6$Mlt;wo!y1228Da_S`Pj+ zNQ~0l-Hl|FNffsI1yQK=KO5y^Lz$a(~jZ4rl@m2zM_p&yDTep{j` zo&R$D+z{b2cN8eQVqqb1{obSW=Er)#EFH-9znD6!s5rW=TfYz*X$S;&3l6~@f+x7U z6A11STnY*9?%KiK-QC^Y-Q5r0e|2u^sa@Tdd(_x9*P3$)OSRoH)HXya033{;#9Xg; zs01^N&qn3Ezq3#VI*u^*524lCS19@LUG976g1^15zClKg7XQgu?aez6TuFO~ z(d?YzY(7aD15cCpW=zXpAI5qb zz3PrcmJPPf5M>{vmPR@-N%LQFFNM3EvdDtjR}K)8T9V8^#%^*{b3;{t?+c}Ij)Uc6 zE;5f0)EZjNl4j+&f*e=sc?s&L-fiElTmfy<4%UoPwTx0DJ7TZ%**81wNrq0BR%Epu zq$O=m9jdHBbj~+uVB4R~%u=#REKovgAUaYPk~P=BYBcJJMZJkAQze0qC=(geCTJy+ za4ab@4Ke(bw-~kCG&K=~%SYAVI52R-e5BD?1H04C9gar4u@n`3SR{&Iib;=~%wQH5 z!{9REL}59@v^8{-h(8Lt?Tguv{6s!n@T}Y6Ymty3UB=)9Xe;IRQJur;r_=JV%Z982 zkIvht?HMteYx@+*`stdx;d<|eqz!6Yf16;7xnAl&LKf?rr+LVx^P47)!+gRD#-_xN+cw{NTX_#n`1qFw*-rfEEQT=KrJMKfO#FM>WbFUFJDpvs<|}HR z-~7k7@6^ICR}-8@mX}Z5(ehs+mxL~)<4%Ourfw@{hjK~wY3C4PzTyk4bE28y;o|7Kvtr zl`(IR-f6GD8SK1i(=|R^rz-JC2>p2DM=u9rGGwKO>+!cA1|Ul*ZjkyiPR*5f{v#q^ z2fvJ*V~CcZJS49hw|<^geaK!%?kBoqhbCk!Rv4J)GFd;Ke-f3>iSSMpPm*&i{SqZ# zFnC-A*pQQh_t0Y#$q!@f@hBg)V(+OSX@&|;-Qg=IGq)iC2`aY))r{^}{t7s8C|mup zod4P$8%usdp>{@mC?8{OcL&7QQ zmnB_VTefHq4Rc#wI%v_BCOAm)Gq~1HCMi}5c!ufUdQlwmR_w48y>gP8p&raG4~{=s z`!^3FkFNA7bD5>i_B|Fh)|SNs(OcCA!_*S@LG#d`Bp5>!j9oe`2k~vH8emXtzq4ES z40@;W96#>nF7Ut~$k=$K`X47UQqTX?g`QUue-Q8@=~6@lT}?kW?g%#u8ql5N_Z(`HAU$Z4oWVY*Q!nbV$U zgLm9|4L(XM$YC#Bb8$b-l}use_gG6bKwZycvIZYVO!ULc=7UtGh{Sv04MKCWDVzr1 z9*OK?4LD`V(IkDNkB_{DG-f5PMbFUHd7Y9tp?3qXDmk+W+tDCHT2^J$iaWw1@nWs> z=xLk7x!Ic`kr&p3X*lEp26BJfyyIu>P`CTt9hts()Tz<5Ez-RUkK(mEU48+mYrR=% zovgM=$HUvbi|19YM71YVLvUwJ^yKLZ4?3}+M`iM0?j})EET-&ZSQn~WORAB>K&rdL03XQ4c|(;2Vvn)sKN{d`YtC25-NUTMBxEWKD9 z{`yJhY(sp&#d)^5lQ?br+Tsu}rT09WXEDfY{;we>S(-HU?bx?#ujRq+BjY@}qvm@| zZtiW)7je@%YYsZbZmtYO#bR(eFM}Ay2GNcqsWY?t=a{w*7X#952|t)Pz!zV`C>*-K z$TEwUDa#wT!6QF*mRhc6E7e^CGhDHwN%$C%#xNW@(V8i|5TAo*iS7X4Gkt!w9hy{( z*qNI_YqT?^fm?0pBcVzpDBB${D(pj1D#9+o(zwrX=x35}(Ypq338`a%8(Ae%x@aC`bm@6Tv&M~RozGY@)6!G4UvIc z^V;xGQ$*YwaL)_&xG)pTFa%tT#briH<{75CSdAsRkeQGwh1dlayxj=Vtx&y2^j&oZ zSDUQn7>7A~BWn4`)B)jYFG9Vat;6)0h1~SWj%QqW+5wY&^~pfn&O+Pa`R!|}c#aK8 zCmZ}HmPB_6{%9b&LFkAnoi%t^T0U|0#zS4ZU!U}+2_qYRv%T51ZA{neC!KR{{Q29a zH|gv2lQ#V0zb0acn{AGK%b&y&R`H!5ThAE7w>F^B;CUAV_o-u}r5u8BD^v#I4Qu4S z(p^lgloI7W!P5a325jIoTQTr=lW^ZE%1Y>QA&6m(WekQ(9UjPN+ys;nBI;B4OWZHN zK;aiJ$pb|rRIaxQx8bLrA_XE63ml7=THbsvMryFxOD$i%pwN8~n-?42uGe!HT>|au zZC3Oaq9+%XgiWAEcBuyvw_~oC3t4M;XyhmG5+u2MR2G0}Pg6#giSGD9(dgnoehe$g z+l6Q?IfSS~T{x~$Jt3CDSUcAoI%)V~S(v7N95w|kWL_VrrHSANdv*6S%|iY}l{k@J zWT=_iv~d2N7@uQfk0{um(ZUkC&HxZ@b)?WI0siGhv+{jl$eN^($FH<;b{QMuKKNB`FtrUB7>U+4f0F`1< zq2FKA0%p}8XVky0gcV#~Nnpec=LE2O%I0{}2Gf8wpVC&$;&kUz;?w1_I{1z(H4YzP zB%yJ`8m4s^z`afRf$n&_c|^TOzPQ{c2gdmdy1;I%GDc)NfO!J5+n<4i}#LJULJBA)EeU0INGP% ztKKp5e7;~2d8M%4--kdeowhu9d{YL05vh9*5Dzufop0;+#8s;eMe`Jy)08zS&L|ra0HMka&Ovokm2h-w+!AdBD}0aCLBCpZb3dZi@X$YDoo$c7i`qU0y$k`1|1 zxwN}3IR4se=G(n2Jn0su7kaJ7tF5^f4K1+wV=j%|KPRjo)z=wpYUAD)mLBk#Q-#zv z%*dWZD_rH+@K%b^>{(37o+t>rNiPLMgYrg~PJ4(zGKEid=)4#fMX5FD&y_oWfJ}GD zdEl0Htj&!9xv3AJ{s@MFw`8}pdEpcFT>Z5=mm{_H&ttRm)mSVTa(-T6U!ytKS=98P zx=A&UX(ga;Mb;iSJxE;hWP~=H=C5>>6t&*WxNct@hjhP+|84m6Zar^1<>~3|^>ww5 zIj2QVsxEs{^nF!4pTn5CQCG?Ds{WsO%Hw9HjkX(P{FxRiXe#!ZoWGoX}#E zFMr_$eu2qWD3cgkZ*CbRgSuBEDP0VK>aFX1#T2*T31^x7)fs)789<{G9Y;JG6Z^CL zP@{1t`FVXom%$%lJKACuc>3?Z>Gj8mr84ekt=45-Z0FqT%(WkNo}hG~5lfBd9U8Zc ze<>aCfmS0v9cvftw3;1##HQwq-AeiCh7q#QRZ_3l z{nSx74%X5ED1(WO#YqU_kDa@XqXrVvL1+B+X5iC0gt|+m}`*1p73BTDG%uusNPECIP?en~& zjV?^^_-}8)jsL?n!e9>56vD+;|g!rrw)IUt;%q#p~d7d5HPg3 z>+^IWT0FPj>4pXYG7G=jmk+i2s_ec_Cy{~iXrAFt*q6CRz?LV+pZm$#Bt5)|T6U9q zY}F<`jQW`o!hP-U+{T%Mg`T{*5%_JTg(1pX0`7I!5fj=+vtms_HEtDWa`os92aDDx z6}D5p*cSGMpmj1x{^hdoxx&QsgH`7}wQazN{s))>Z-D>NHb1%B7n|BPecbwEg;IgA zsoxoD___L zV=a`ak!9W?SHmgAVyte{F^c?znlU>x(CCm;T8v3x`kk%41Unu@ck+Z0jRxc&Rnh_4 zlp+920hh?%TY&<0gppBZ<5iM+#(SAk_-t3UbpJPnWpaMyHHeQHCuQpTj znV~?kH>mlvGG8*j$!}15Rvf!mX{UX;=mUfkWbNFM6Q-B6axOAW8tii&vBk&toa-6q z0VgNyf-55D9E;9pGMRH3QcHfK7CT#x2GQi(wHV|s}#0} z1{2nJ_5t!yc1u(e!^?IXVuvRT7JR?YuQVkKG#LLq(4@6z{P_qnV$LBYKRo{oq1U3Vru37^Ll2n^+Rbg^^z-5r zlku&ye3T6r;)4&@wP+)MKsCqPYFCT;cb$REvzBt3Hofloe7awKot6kP?cC5Ohvd4U z@WQ8-hO%j563E!VgHLH2#tYJs*~Tj6B(~f99%fM~D}Uk<@>Gox;*uBv%SbB4FZr2H z4>Bv`(FTLvlkOgKjlHq-cvUVn4f=SZ|GkK?h2aRblrI?q9E*D2oibW14eLCtGd4hG z`pw`k5DjiI!9&4&@a#`P3 zsV2c*<9D_5Th7vTRa$Ib zI6kZz%=}_A1XT#R^E*?Sy!r3q^KWP+daW=IfjyW#@PP3aSgl2bNK!8>fPcU{@Qk-) zf@~LW^TECZ4?=;AN=RQb{RrJDWQ^Tv`)6U=~sc)B!R)@ zv5{cT1}5TXl2UNi|LP_fQ-p-*p>ff{z1y+t)9ovG?>DMCB;AvRSV^d1kkHCApo)#RHxN-u8i#@%f#rMdgbC4{)FurM* zxQpz9E9q@iAqB@eM(G72*qvZnQ}^Vmx`lYAtkS(jD+i}9IC|&_FoR)xLQ!;^)0ePg zqoUuX=SYO!aMvFq3D*xekIi%)$`AMk$i~}pfP3nT=ljc$wd{q5lGyTtSM{?y@G?tN zFQ`>LoSb;HuX^y?;?8DXc0!l_Gkg+VH-9gKzgcom-piLeZu}eg;RcvW-CtV`qt2(% zliG%7DJ@HleBcpp3kgn?ub8cPW6{>gm)*si9weWMD~m5FB`XC6gB&YOw+X7vTpGnT z0CfY6mT77^CZoRGnua2^`P_y*M30p;l#J8;NX@30<|L*_!#1#-Kbi-Le)qZ>B#Dc9|n`dnl=@dwQbfs zb?uyTH31Yhv~>bEzbMJEGfVL5){SoLm>*?2!OZ`)?He^4LIm4J(2d6>G<-1prYCc= z1c?}1@|CLG^h4j};kYPKZ8Z^Es2n8e*E?GV(OeR7JA%Kwy{!U9Ha>2^%^mM_zKzXN zRjc8v_|~6@s^CLVgQ@NqKmTP*D^tnl?I8O3cUD=gA`?p6Cz2=_JB}m2C^>?^UZSU^ zNnTOYvv80nf0%n`E#7wM`Uq4Tt=E{yJ_N9h8)ux=ZDt;0>qBFt2>QK2I>XWSg!waw z#r(R4AKA^NU~+niiwgw!YVw`v^YW$Jw|65uDVZ4Xm_p;<+g^Y_Qbg9egvMbh5PpZU zNkxgypiLftQsY$DRU6(3@Z*0%I*?y2bh2I=ZQ+oolejxK&#r`K0OyC48Q6fOQ{r*^{A*+!Jdm{+2Gme@4Pb+GXgU)@JCpeEy`?AE{wb<(xjwWA~m(C@bwPX7;xNGba1tZds z1m+gnZK)qkVUAu-!Z(L7W$gs^pu|Y{Ldm6(WTCPb+`r1w3l=wSU4NB#0_IB;ehJgc zNm83)Bt@B+N&E$i{f#>-jB-Lu*1l*CLN)O<@oN%ZmMo?c)`hCn#_#PJZJHYNJ z9}i7aTge_4$0mEIEq>8{UcOC&LQmTdLi#u8^aid z0k17(JV0;*CRd+$-mU)*5t=9nr_dvzi&~$me9b=Glz2aw{4o(s$-0;zH}9|FrR+?O z$JP!omD7{Lz^5=tjO7=CcXm6fg~#$Gz%a6_9ikmLslBwCu`&vb0zy;ngI{Ypn*`~b zf*+!BBd-A^A=8TaYfv)$mx}vI=aC2r&vaVlyH|D@e0WsS7r@J2XmTW z7mF!I12St&O-;9Yo4kl|eL&CX&-Ex22k|rX2Oc0v1RAtTW-lT+dygT*vy(mA zs#3FAzi8jsQz%l*CjGygrj_nz&QszA68j19$)8D|zb@;4H=Tvw*GW}7Rj0VvK; z%Y|M`urW}(BFd|R_hJjc{yo@Bzr%;EV~Ivk*tTuf)7fApqkGF`HOf!50!pSS<;&>D zvZP7Ek|lk$&7f~POsDg@VUC0*GGqb~X8f|QwwQd}zSI;P!_x+{Gsi0A675)UlzjYf zDjv}=MTO`Nli>CxraLw|muUA6aFGc}fEk*XmQB-pi^&hCu>s45-#QM z4wRz*4z^}#l+`BFqN+artM0;2IepyIlvQXa=9R9F9X0pH+bKH&@1bPHru!4JB8~(k z7i$HJ_U^m*uYcK9t1r35_sh^cVWWx%Ur&1mY%# z44Iv*Rg)=J*VBm~Km;G02mvWuG}$7>LG%cP{Z7j)T8M;a+@M1D5{V;*93V>BAMHnq zT_e5sE9kdFc`P@M!M8r$WIs|A;(VcJ#HTQaX^HaP|CV6=UT(D6hE}x|5+(WN2z&0A zkdeYEmD~Sby5#-siaH%g7g@6m5(%ZBHt24sS7ZCHT3-UI7Qm2I7ca$kU?bSQ@eBU* z5}YJ~cG5)>@Si9?@~IFKRE(aU(g&_S5soyz=DHtqFHm8RJ7mKw@US{m*3OD+8+3B8 zX{}oZBZjmuJ%gy1e^MMPGD<)S1symJ9x%#LwqJdwq_B-)*Pmc9JTj~F;kJuVPy@5WlCL~FO!zMvC;d+U;8;4CX zN?V2;N=(E%hI6SKtehZ(wZILyFbH_La`Pg_|=JLZ^zvHxw07gV!=6x7A12otb#-52h%hKd+akw=DF~T zPu!Dl-?D-TCj9*bMFN@}Yhr&*FJ{NwPt8KE?NI1fw9?3y`P}j~$TzN+;&TjQU4J}s z2(h3%pb7JT)yo&!U#ptC^pPP#r;0pu`hr4wwRbhfjy@fh7)=4C!NI~%e*S+@WM-&Q zKTk~l+<`*~j`_A!R1+gmtkCs&Bv17A&@7oeQWHZj<17-Zcspdlq+?T#%=9T~yBB>y%G=ygxY~Yb|(ZFSt9KtaJ*%dR| zLrhV6Lq*m#3ykj|?r4P~g$n{hw2_Z@6TLpI5;K*j&biT=?Utx^V;gH4nlTqb7TxE3 zk~}Ju4U;Ayy2va@ShhNb2$+R)cmOBuFU@wBdh3=?fU9ES zkRzczC9jRdz3rRG=$Mwye&B3BZ=PY*EnCRDTUXOq?k0JboaeveG~zzrI=k|n9K3L} z&Ma6usZ_W)wO2lr8Dn_k6{>j^7+BtR;S?72&1wdFBWKKye%`;i4gE%Y1pe4ckf!Ctifr|`~F(eHl~^3bKKX(JBQvUI1oRs*0{4j>tP2`JdhJ%VAh84Ef6Bd7M<>pTg!a*@H! zmUYr~$QWL!`XUs-hrrAuH0AC%>=xzGO!6=yQ8_w@hB(i1JH#H2VPz?kzWXx#iq}Rr zjS)=njM>Jw__cCT2dzn4K^T>Tg0_6#;={f+L;46F8tp-t-R{dt4mZABJf;(D!i#jy zr_Zhs>5|eiUqAytYf!`~Ej7?*%cl)C`#c+#A^7u2x&{EjLENV*czu5SPBGZ#uins0 z$S3}q5QVQpFEY9XxPRbN$oq5)5Wu~fHG!rE(`u0v99wz)EeX5U>Sw3bG<~b&K5y2V zch5>DH6=K#78-hQ8Kc}{6!@IydH6Ubg`vwZ4g$Q&N@~^q{O(awY_+@Ug4MdaM>cmd zPv0YYA2or1W7i$9c205YGE6^@p>t=eJ|j8G~Q47&G9) z75iC$C^S^j%|J!$Yla)jh3Q_Nx^(4EV2i4{N80!uy1aLwt@Ezb3J+Yl74=FUTa zJ^-)}z>kHv$nX1C;dIvK{(zKRfH^_U^G;`*U*!o_pKaS z(|ezDx}10z{a>E_pUyS@W?Ryv!N`TbuPc3glX_VR2*C^4SHKYD(B}8P=GUxd>T&vLCuJuK~^+ zYI91ER*JWeK4S;r|ln7b7S%D zG~{2JKIc4AKC|~u?#W(Rp))iEBqbc-jV%Odwe{55l6)nPGG}m*C^-4M^iA&lheD98 zIJZ=tX|%?K{bhqovBH|Fb()bs5XLrZ_|sw#{u)m*ijLg{C9G^NyVLzkP4dzQqWDBhP{$6J5qaOhf_EW3+e3h6V zUpj<*Fhp06EtcLL&B&;s4t4CgN+GjX-OhmGm<_D$r_L(D8g5?%tH4T^tSqqd4-%M= zhGsr`B2%+-4$VOF7 zd(q0V+o>4p#c}rO7*=5b7egFzu0$TsuS@Lj=Af;Mj#j`Xj9vr7lC}Q%JYGT+!YaPr z!(DZ2#WNo<*CGQ);A1-Om&Um@lmB&^5plOmWTfi$Y>+L$mtxkB0VasKGmK5h>PH(vM7n*557f%a>W$0L1BHqTtsn8x^b!Q( z`b6HYneas6<+_cinq(&w@y{K;1%I*oYnX%e73VY(rjZGT(t8r7m=A_haN?!te~`Z` z_&;3z5A!h6lS?AM_~1=UI~&p5*S~S&Ma7u`=cyEe@``y7n*_nezww78jB#);a`{F> z#)U6z6P_peHPSnkMt6q0(hONf_5s1=fz2Up6Iy$%bJW!I(?Y!DkF0j~%r@tiEH;zvx5&-J&#`Oc~WVIUdz-EKbdhzCKvan)zV?3GD)7}rq013@#u zL3_81R03hPZ}UMy?P6ybZR(3}M?*IGKzvFgoL9@9rU5uA%!!FxxjKmq=Pk_alHdS~ zKMjI!-`fWotLj}C3b#vXvA11& zxrq#XgrVIc0@bs~*`7`INfTIw8v(%i<1w__!}<3f`^*XOdwO7lSn@t87InT$&^j6_ zK(703HCIS`3n|j9Qj;u;?~Lnu0E2h!2xWW6XQD+_an}!LrqQ$@tl;LA3z(LhUZ61M zMUMj8q?n(DLDL9+W}l}BHM(?EuYT%GIh~}s5ifPQ00%q z240a2mick~v7by5t$J91FpwkcqIeh{$m_y{Zqf{+X5F7^*7%qSYvSm3<@{?ntD8p_ zL9#nPCH)as*d9uw{!wP?uO8x5j<7u;m!;aFt{|67HP9upnWWWAB};@UEUxG_k;Q6 z3twK@op@c*td2>JvtP#SU;>q`mU@;E_-|)_g2@0dh%xX_un5piGyV%#*g_xc)|Hw1 z7Qvarnpwf_kHVJn*)J@1$qHVTMMN9ogd0cU>mto}rgDXe7TWWzrA3hpfeX|w_jaed zFVy4C?v9$SJ5yJ{YW!74NGZiYJW@LNF;KNBt6^8vxBEh$$9ZWXOUSFh91miT@6h~T zFlN|L^Z*0iKTRfDH3>WPLEu6fEyCSw5=aG?oR>g*m2^2=zhg0LEmmgzfbyQxm^yt9|*~} zKBT`-LLLBY%_zb|^FWnK(@e?sI2OwQeQ@}lt!z6oMG1pzA9JGH;@-+ZzSfmF6U}* zS#DZpbj|!Qx3jk8kYo60Vk_CU%phQwd;;5Ypu_^d3UNDYFKSj*vO5B*A;WP~6%3|j z7&>`7?2=yDb118MhDU+@W4S9SiUqr#SrS6g5$X7bTzHFlpOi!~E*56_R6fKH!yxBB zgw@m3HqDNi9J37qi5?a*wzW+#jZ@0UKGXC63g`UdcJ`%fk;!LLcgq{ccI+#2xQ|L@ z$xeY6bMr-^I0JDw6soM&{(x$;JOO_YUVY2Me>G4%fuI;z1lxJL7)c4gtUQ#)-=`G$ za6a^zqp#=8ri1${Kw}v-ublQxBL^oF=oOwg2!C%9hOjw-KX?>MFU6`zDySP7LhkO0 zAUjU=oru+{>ve0|wwd98yT{P2_pmTWCJ<;4yV57wD zDJ;~)-2f~~fSHAbgX{lyLiKubms5;JrTI{;@Em((`KCi)&{mgHh+ zc};hMO0_o_Sq&!?lO8kZ#+J}#N~g#tu&kYTa7zs#yWo1q4P}1YfOE|J9S&p`(Ovlo zH@pD%x#ztRmF z_+xDGO|Oqw*8_YIqhq^cSr%K{{lt4hjUiCzAVsx_YTl~PRVypIesA9`m^K(I1twob zhc(#VX@L$t^Y`Hr;D!ih@BC{4GR3Wr z2#0XQ>tgL>PopYH;13gv1chA;NGN338#hZl1m4^oTUnJDgpQvy48rlaKpfmys6s>Y z{NmDakHe3T?W^f;se)6*^O`rTir+T*-;*^u8y?Ru&L7TmsgAXt?t#eL?&=8&r;x|% z!xyv9t5^8|KEr59-V?6%Lw);Co5$uGTo?QAQIST~&WqpawFcZ4(G0&Lgwe^6BUnC_ zPxE-z+CGhEDM6+0U{DdW^`XbABrE%<;K=y}7a35gVf2wLU*jvhVo0juZ!)2(A4VEo_-xwwcaY~pQ8I077*uu~CobnTZA%JfDC5D$RF24#CRe8z zpyN6D#+6FBWaFvBP{EUqs3Z=G3vzc9B#~FDMIMMk{(>Xs*a2W;PHeB)Bqb9bgkc2> znP9P6LLkFAeW>4@nqsn>bC}PPCVz0QE7y(<{^rbN;2-1+j@C7piTuJSky z?}CS#hTnNqc0Btg13N=|<0=0sSWZ4DdS9s&FWB9eCHZ@%A~}3NthkwrGO-FvQEXEb z>W$pt9*(NH0T+P4TbWQ6VfV9~0f#NPW?aQ*MZqZk;Q60m*RZd7?A_w=;R?&igBnEW z=#z4)6Rn1ivexE=5W;TSuk8sT{bgB+I;;`F@z86hAz7c^dLO=b<=dc%Ab8g|8k#6Y zx|2sLff5;SzIQ_m@jH}->&V88*m?%FDhEu_@0;afPg20583ZCI8rab=ad2RF-Au&7 z;}*6~eUwi6$o3dB^G^v{Ji_J7B6Q*zvYdB9cdkeEi{2}KF7(?#Wf5);PDh6M@365w-Xv2Q%6JkRj` zA#bUL9*Fd9kBA~JIFoN^jj*tvquD{DmC+@YVPFEvkVp|X_yS@lc5gzXZVt|dr#n2u zaqPdm`}SM1CYL0}uA@HiZO+Smd*=7Pg`@>{uHRUs2~QmlF_N8P_KcvQjz-yDhr+*q z|9+2)rRX?0NR7JGnVu390lR)k)X*YSE)Wn*Jne?0joLU^WS3=QmLMChLUnUl)KINE z^=}N&74(B;mlh>to;k4VlMzj4nAx*SV2DYPa?3FfYhy(Fo#vV& z7y9bu4)fa6GROo;rX~(BYB6_xjD%%$)#u!G3?m2bqXBt9#+k)H;p`2 zYMQDeE;JhYozoP->{);#*|<$w2gIwV;~E6kotW(o$h( zIB$WweU`*lW;Ud2pzcR2iB9>Znvn)~B+px=a%&0ZLNn1^ z3j9wfGmcAwL4#@@##5>4PpUyQ$)7zk0!XBSPgb;S#H3ihU7)ACzP`^Adcf27ulLeZ%wUqg+C_rM{(77%GoJz_+GKNGKGXE0Pt^{g%KtGx?F#Z8audUfU-#0ckzjX z;;9k(1~EWrzMq7K40B*FN#KLsw%NoxbISRnuC>?)roHa9?y*6W{g|lbJ21c6^`hL7 zZKaYz4PBXaNdz`< zqa`hngGU~PzEG}^Qge1Ci?Hn@LzO?viMeSR-&`Y`u${-0`WiU~j_eVbHRHA>eT z;xmcGB>Xdw5h^*fpB)GgP5YQtlpe-rh`wq1=HxLWxdyuLVCk{vM@H^hhoU@bdobKB zpQT0yj8esfs|UvV?!rk#J@n{iwWQOEnaSpq?6&30&n1fcZ|!&WLB=E3!CucO1sjOB znkZy~M3n@zLD6JTtiac~5F9A9wIptxqn#XBiF5CScCLKEl6LHdw_a7gxaZFwU&3Bh z5}99XHhiT_OXjJa;qpovcr+ji2O)mZGvA}(r?mdUG7ZkKJ~@pZ&i_h*3lz4P+z#es z3+9b>#1A}1#=A_gj-mgl2dxxg#GTH|W|4w!Z|c+pZP?~2PymG0hFn9kI;dkl0+)`Y zPrgkhRQ_WT%boqNQ*vu#U~V=9hW?*J+U+(w_>p@f&Vcl{^Mv_&8e|omS%#dLP3NzN zl7yTbr9C08M=XC&)VyuIV-S4vTlh9Aa>tGaN%=Eq9ZU`CFml)`KIx>S(=ivlp%1_(!>ixSelx!XHiP{7If{csN)&K91b26+{S zE7{`hS`n!+#ZC0_mfN_vF*@GwZF|)Slv6jjGSGSoS<>#h~CUhq;=9(Fijh(mgYOJ)g(L9W4AM4eV$DrIsTBsIPu zKu4%UW$@4MC$OW~RF#|2un+g`Q#GHCW2QlPduJhh;X!3ie1BSKQ~)lVI&Ku3b#FNb@>ai>$YZ@6X&9(FQ4u^usLD)Ua{1ug|CU9VbiGxbH?C>}VofZo- ztj}836vf_o{I_fYmvMn}6?Zlt*u2^+Z2~#>=O6tgI2&vm3CozD3P)S?2pA6SzIRg$ zih#U0K|NQmr3!gqV5SyB+20=)qx2GU%7M|PxEYq)CkQjgOjiU@U!t@J60BXA@e}b~ zwE}B-zwpd`PoOs^k-z`$ClR-jVRoziD0CZA!R`J@G;*pkPttjTl6ny(@zgG1Vv_A` zRMsycbJy&3nt+wN;A4;#l|lmc?mFZ|*BoF-9u{J}^{GMX#|`4Q_}9Ry_14mUGaY7I z)#KO9Lb1X~v!VTd?7T-&VKb{3zQdyv&BsNRgs6R!o_%>~1cHX^NQz`Ui1xNL36GSM z+xK!0)Nr9HZ6T=R)H49f-dp!)n4crbqtcQnnB`Z{w zl<(2ZwuZ!wgA4-lTm4rNALzu0Sb)t!CE&`1u#j-vOSV8B@nkdRbT0)yE|J}K)M-N% z&R*5@TS-i@Iol8&Uq{R4!j&9K8ZPPO%Z{Ju<7c>=#1?&fr&7_vNOUto>4AR3b4hE1 zohq~)NjDt-7Zd8f-oU?Z-|`i`e=sR{jTXj{LAie~;f{yi@ww_}_#g}gkgelDyZfii z9`31~3%ojkY7)hXF+}eElW4;6EXhCrNz;O`=sH+m5Ash z#Hg)fQY;7V7&_rYZH2Tdenc&)#HN8^GDG8H;V%QWf~&?nm)1BNo_gjD$_&BUVb^3= z0cl}5`eU#Yk1}MeKU16HVf}-Z=>7g4V6IVl2l4-i%1!HzzEwi-1O^Lq7O=M!5j>fX zTah++zf#@wewe6!+@(!mmx}t}>rM)x7zqmT>NaxuZ-#XTTV%Yb=I06{fMgG@RUm)8 zpKrXP21a5-vxbZ;nrP* z%=oHS&r;~p^ci%#_{UMH)yVtP9owgA&rmnh9{;7hrZ3mY)R_PmJ5@Of7G4^P!q)E* zy__sZ)W6oW?3UY<9lLv}d-W|!zU5n5PqI-S5S1)m?9qvdpaF~LCwHUt8ThL;N#rRh z`peCZs?>n*@wmr~oU99h4c0?`pEz9Yq#HPnE-V%+vG@{YG(!s!gU?m@M18MLkp%Vh z@OTPs>`3SgTfV~~_kv&nORIXP@ZlLWh+ud2x&Zu_;xjB0ymw&%=bN`tm-I`8gt4Jo zAzfOLWHRS8=o-!a)qA8cCkytXZ}MI!99DU1Ed?lq1^KqkxD21DgFiAb&MmY^xxJIn zHAs_f3`3gZ;ZHRxbuFTKQ^ZMsmBr{fQ2KitN6$`;t|4k1UJD8r6ow99P7s}!D#m8; zGPIs3f0Q!oO-aR;P2+4ybPQHxxH2kPY7ye%&ij*=+%OuVxBF)1AS23O3({M!N`f_v zW`H^!*SQ@qq|`?>gT1kjZ~8AI>74 z)e!*4X*LF?Sj_jQd&V=0!Wl-Cak!0G0YKp~Lxg9pi{gPWV1j*Q*F6F>YU-cx_(`*7 z7;)r(=|>dhAQSNn5|Hm5bx<-pwWf_Yh#`t|B^yM$0Y?Q*#-Mv@Jq=dp;f?3&j0WhLKxNWYROacGkWH~hc@*r^Z{ za^JGDZx9oby5YB158HL+r4Dq*c*wPl?dFsGyZlmWuU>*EiCZ_Q&kS)3Vod9b(OyMP_sZ;B_fq8TW304!9W+P{+j_+v#M-b%d9@7063^cWfEZ z#G!q7s74g2Da4@RundZkV@P06>v^y>5u%>SI`}rYJ3lf#UDS~s%2g1270Y6Aj5Qd9 zjhL$I5hq1L$-RArD7z6M^QpLq*9nfZTAT~l-= zP1}uaO>CS@Y)v?^ZQHg^Y@XQG#C9^VZQGiOJ%8Ts>c8n-^>o!m_gYomwQJXY63TvW zn)9>Dh$#Apa);(^_20q&t)HAO6N)Eh^YoQI^tHxXU*qP$tD=vJBKDB2<}4HQ9_HEJQLvwVH!(xTXWd$-~X_v==H` zy;1t3K}ljB<;Rj5a9ae;HDX0M4nF)x%R16c*k$JQwv{_ph?Xh&FT<1*elz0}opti~ z;icm)`8YszQ`Vrwa36H!)yG2xebh*78PJJ+GzJ?Rq`jL*}XGNb@Fti?`264Wug4j;-*$Cu+?9HgKdS z7MO2`&7Y)0A7}1UbG??cwLZO~UR~Toq#n&ETr+v5F$yfj(essr z`l)Wi&;cfO<64fR7XURYYhW{nJ$j({74r&0{Ga9})uS+U97ZxYpzEx$}HmSw~Y z*FdN`)DF_sbY=*+A+5d8c4iQot$Y6;lplV9a3P=S*L4zlY=CW^T|)_BK|%9Ov4-5;>o%}RLW2|d+LqsK>R9vtSH?#UVEJH`s* zZ;j6gG)(1U+-vL0nQu^n9Ee^y^(?C@OH;(ocp-BWqTMYbwWwMxRE+zO1pXn_>8Y1L7O7EW>)#`5q0(%VJ7aJ(P?nTYQ4xmxtN7)@@PXKl#Q3FinjKuX zEKA@(IDd9Z(SUQ~W&>voMs!a{&(xjkkN{vc2>)f}CJC?avUkMG_Q0nq(3|AhExZEH zJLOElgi$rk4ar9aRCVco2{nZtexJHLmtu%a;5tZ468EZ zQ|*v&SKIkarhIL9#a5_SGAbFGXR`uVeoahunQ_}Je;w5}5(s2&Kb6pevY6uK%Kr_I zdU(9N;3GO6DOdIcC>`^T1zCr^VQ3YlXw<`B%a}HZ3sbbzID!hqg@3llKH9+yfK4ye zWSev6Qv&;A_LnogJbQbL%#*>|=VQ(TQL~iz;m%p?%vDiYTZy5)?z#A+Yq){9artal z88R}3zl#N25i(s!6*s-EKQU+)pfWXG5@MoU<*N|}LCtWP7Gd{|#L`fW92s$i-m%I` zNfEB{l@Hi}_5dW|VwYo6bQTCCT)Yjpwjci{B#??Bk>}rhGLgnN3pqcGZ|i* zc#nJk2A{Z@<|Aj?G0zdoA~0b4eYFbdzogqAD=7IN;R9Tand(<$76JN`(ljHMXwUkY z>?Ku7yFOO!v-Y@%-b^_5v?Ni~a@R2Fi4TjeT@T6k!#PZ$^{-pzft;Te0|Rv5`tHpZcR z>qMagsyZci6+3RuiS`Qcdk1|vGz^ndsZSU0IFn!;G=cmLrL_Ze&wB2ETT-nY_uP~A zRvfOcx%^UOaZbB|suXNrF@N(9xrHyiQ z{r+K&KP)~;lVCK|kGFK$j)GG0h;)_OW&zJ!BghB z9Cq+KNfd!JrAKml`SLM}G(JmkS>`MpMC3!1;zg;}t5*?= zt9`C&o1{?9cHpH8qxqv$-j3hcNoSHJkA`Z^A><8ZBBgjU_6^0}61Sqe@-=w@={AZ3 zSpg@CyQYm@Nj;JH0tR;JNn~|h^FTeyCcgQS6$;Qskc_>240~dj7A-k<+{azxs=eeP zuv?8EgBferB>mTl&3-NocFaM8bQy>2dV$exA@;I6DP7}fnaobD=7nokLdn!l_$%Hm zUkm7C=*e;Bifcl_?+n-h@?nQ=OcN@?Vg+XFH_~ZdTW4Y_LOV-Z;z^}{6{MXl;Ulve zfL}sL*!F`UvRDWi@e$~skO=s6w=#VR*>i}8gGjo}#Y%>S9iz}c@u5B3+6*O&^0nR= zQ)qc(gWL-|vW0cSmqLk3g-R1e`WnG>-BkW~Gq>o@0ybRY((vqoHlUmu&-;6qsT2&x zl?>V31&&QpVj*Rl9#0V6--}ktr(1;W!lFYsEZDJQ!YV!7KVmDx?Tn zNVyaa$d|iUZ-52Ag`wJ%{)!UM>Gmxcmd%=$t*SJ^EjgB^D{=IEzEQp}4$lCyZ4kGz|RB_CPJHB*gXuFtjb^-yp^^YiK zCazOnt8(7Gc#+0ijPUmKeNV(~`FcN3nYk3&VBul+FYR$7f{QM%&^7aaBZv9sk_7rB zYt0m(=FZJ1v>E?kdJ8f+Y?Rn6It&m0D#*~g!*dvq9aat?`v=7++1^gc*RR^8tFJQX z*QcYu`gY=Z@PARb>~?1UKqwqQ`T4%n&yvAEQrwhDv?c-ef%PH_-qU> z2LFp8PDi8p(`ghx4j*=erZXx-OIlT>W2kHGg0L%S>g=9}-p}IA5|}7_VAjZeWXe*> zF;h%yOj_QJS7wO~qkT12>n3K@1)(j~q+RwQL~NKiE-m(D=a)AJl!oM`Xf8LaK0?6H z<)vyqDu0<`!e+o)VZyZbhvi$aeW&RzG#1M}L+OzLfuLXSl;l0>TLB${(o(an>$_kaK&0*WKdxROnP)HWsa2i=M zRsUTN>$CnvH5w`g4}p6HY{8*|OE4tVrEONegD2(w-IA<2F_#bC5}GL<(6#e|#t{of zdmOvWPf#Rm9TDDU_jTGPyUS@q602@)b=Z#L=_EJaX=Ah=h?~yoM%J464bhgtXgSB6ms!84*rVSHneNJ+ z(E^pZl@)%#bM{cNLpIcEZ*d*BZAg<5pGp*U#r3dUX;(wKLuPGB=}+#2IchtnQq?`R zx)YOd&0-cmklDK4-ur8-oMAa7x)`=^$AoK&4(FGGjBUjyEUpDtxE^WICgo;&S_Lll z_$@EmW+rc>@+yedY9=n0Bhya4M7QhhX1t}xYtvtvf#4^xW^jLk$P|&$oFJ#BN~Ja0Y6RDPG&?;4!C&~}90e6-{9pB$P4hnT zWMW!>yJ^PCQD@#y6g`L^B)}P$;q>7CvBEY_dVmh1j z;~bq3Uh|I!E)Jv&>e;z}sMZsnQjR+Pu^s8#0|x$KA4PfY%SA+m-TO;0Vl3DvFZH;w z|8U9rjhUx8DE4?2Zcpv{xzKq^44H;Xv$8`HADYpPv~}k-;H=}r4s=r3OWff$nmyL+ z-^yS>x;7ct`Nu7~2r_K1e`Kl#NP_9tQtiYxkyauqiGmi3H*1w`6LM(1g-WSh zH7JPiT@UBOD*5OYa&|X zp&;F7Rnh>8QRaF9Y`BC!HQ{-y&}f+=Jp%QJ36SV#$|WZ^VVULxLV5fn81o`WZUAyC4lrDSjRmw`#HAZe zH0SfyjMIru0iR4r?8x9wAr4{#LL4;fMsGzV9-bHOp(yLb;!157L27-|mAZnpQ&Or7 z#7eWcIbQ5OmOjU!NTl-x_M35hwTXqUEq3QY?zlicQRTFzst{j@lpV5!AEUMt7n_X1 zAl1lJ;;#b|6)E75zW7xk)`JOeWZ1fEq6R4o{Rg)MFmPYd&0z}QC;FFHK$wafxXWLB zZ(-_xceBx(;RM?P36(x}m<;?F_zLUfOt+2&;8b}uNw8RLmq9-^n5W@XA9dBN!s|CN zH&@zlVuK#bk9vkVtg*Ofht*Q-zrHbQPL5ZoKA3N#y5$8gz3^6rFuKYHV}KSJV`Ty#5HfDSCr!F=!qiDFd)#q zC+^K+m5fWjDarI|ByK6iN1I`Zg`g{WGFkxVg)75AQ=}Xh9b3s+hG8xbpFlTNL5wSB zygf+^4sqP=aQvkZWhhw6J{P_%B4jJ`Mq8}g=+`#p&2Iy){ttueLz@R(ow;$A&xI9B zGpe0MQJ`&OI@IDuOZK+6T$DytGBxe^uxqrRy|Y|7f2J z73V$!p|w7@aTSpf9*SA-H@S@@*GKuvLrfoEMPQql-*E2KnGmZTDm<%0Y3)A{!l~o^ z-2akAE?cdbhAueTgW}VW%r+pP`B~Q!6N3TED1aL{SS4-jI-x*<^mJAY@FzeoTkaze zXFPqFn8qW}q{9;Xn;^@S0tn*VMSkX_%W);CJYLotJ3WHp%VyD}zcW`gl=bQ84_@hh zgg@>K!HpJ1?25!7(Ww^bL9_n=<%u3%I4@+g%}c&+a#&THp&lc*6)}VcxC2L~XCeKW z{Qje!`W;Qw-*(J_qF#!*#ADfDiwOX1Bsm6#rYuvMA=<;8Qncm`nN1icD{5@}tDH!q z{)PWz*XYG~j|TWe-p2fP;=cp|ohq7Zud@WGqeO7s0ExHbVVT)CRhr+&&Nw~!O@-R> zm)+2*7c&Vny2(-Ak~qt~qDr+8y2yDaym}M6$PG#g(O7-e&=#e%T`r(Uk%7KmYs8*> z36LMht>5&W;NGnzTw39qR(w5Fxlp~ztaC(uVDk2l4iU4qGAqqlyA7a4pd2kR zN+f=9ylG}ChJoM?qVl7w2n1{2FcFo9fWl6vOZ++s|AMChB&TVoHryIFZ;43UmF;g_ zB44KDH~)^pE?Jj?`Dj_^)2oJ=n}Mr=;_at0t1He(XxozrCPiFBK==s16sya*x_#!2 z#*Q_6JVN-+JNP@qsMXoL7K?FUR2=ALs}amfVjXy@ZfNN(g2%e6k9b# z8?z&9sEZ4A?i7z9{DdpvmCqM*z&>l7X#QAtH>qF`{4Q@tK5nc$nfxFOSo)VO^pNJ1 z%KWz#0%>`v7+(7=kN6OSD^;!t^q~K~9lbT-nL)!Sfw4RJvuWtu0a0S+13|sy2wlQ| zJtagM;)S)NG^Is3?oDxAG_#E_uSE(p96}Tfw}u*YaoR zeyhq~pfi5KHa$>pxM&geRqv7vpNecy(K<9#Ov)08z156N>72zGoKFG2pQnr?>B$7h zkarj}JKxiMl%%`$bfq~#LuE2MtmG!GR`i2)d?BGMIn2!~2#`pKAeb)-1V~OV8!w83 zZT2Qjic!0#c-*d_+WF*RUTl`@oNwzIu{Bup?GiS7I8UCSH6Mj4QGZPg47J410J9({ z9?1++q1nRssXt$zSm%C@Es20bZ$Y5wf6?a^=?u~psO;%4@PMtl)2GEe%=|GP$kh`1 zN60?WkC@^|LQ+SGNeHYpy&(ZE#zW{%%VL2Kagi(<05ze}sYo{A4GLsyn+)$v|KQF# zer3>f&ZR!-K0)~}xW62yGa_`bR}B{sZ$L#*42W^<)I)>hv{G9AK;gbm z32=~~mx<+_GrJWF+#Iq{9IdwNf89T zK+Pk4#V#!@!##$d15DIh8+FPY^dwzF! zQ8$Sl;a7JX@y;`^t$1jXkIrk@58Qkh6Y`VP9}3wXdjLaW`aH6KGOY#8 zP&})gSxzP<7tAb(F_~*KqzY-|h*C~i`VO*wUfRbJVR>Zd(Tq>-KD${_(-QvKLe6FD zn~mR`E~6TX6mnM1u+CTq; zszJib@2~4cF;kmA@{i&Wu((kJ2lV8N@*@{E@fuNr=!;>$kUBQ#7~jQW@*FmqO|Kr) zt85!Z7%L`4BuE!e{5tUB%85Q^Gnh~w?^0M%eVHMKUL1&VRnP2<3cBrMc7}ymh_g2` zWdWt};D}!f8w=oysjJ zY93df8(>sTHZ}y2e?qI9vv5(!$Q6RYru;zj#=42iflU0j$?0YLaL;@;3)vm_r$Vfo zn^yU_TTM4@ZE@I-n71X983si_C$0_AO|xm^Z!3(Fr~*AZ_8sp{XxgOi7Z|T zD<<{ZFbKK}CL6CU<0_w6FOKl}A5H0WrRcfpQ-S=0AORH(0ec>w3`l@)5}!htg8uvh{u5ApKmmW3Wz!o0 z|E+&_9yWT#c|wAJMu7ibpW=ZZC1AJ9#Yh+cd7-a9a3o{Nrh0yZ*h$$mRWAeEb2GsL zzKu8&?;8fypvIPUtP+#-8%Pk#Ic2OpL&niT77_{!Gr!K3DWR;>5H92?tBUR|2^mbU|2= zyeNF22oxyE=fxn?gKV%soB6=m;d-8lL?|M-fckpK_A{YEu4Tjo-*$j-6s=gmF18z~ zB(MmKjJ6U|YA!jU(+wi6e1pG+J1Gfj9-}ou3k(9vo_BwKn`I4~1%pbjE7}wZE`hLy z7mY;n1}-6dfx!=`5Jlq!4ytK2VFi&1vql^hBitoo6}Xit&2oDm`6L&?h!mqHn$aSK zRJF1v2w)XLefMcWlcIuZT@%TQJ+R;_&kQlWco*kX_WQQs@$Y%+qsP~HMf#V*k^4s*d=EHL#jXj2fqZ<8CIk5r>svZav9u~M_j2%1c z2W^s1!KJ7w90KIYW0d%3*TZHORA<&GlcTX_ZA_qOT}k6Rc_kJ99Ri-g+>*hPL?hKn zsLO%p3iN?h@tCAiwsD}VpG1I&H4plZ3JPeJ*QDrMymsSp2d4RAn&7`Lm3 z_SH$4nHl+N!X(ax^T%xACB_7N2j|eg)dbvtn(o$(es?2Cx6ApajZn58B2=N==RHjjMBV|t7V4k=~u5RVb zKw|H9Gb|npjR8;H$Qsk|xoPTakq&QyoPwBQ%|5Q>OQ^l&)18aBMV+*3Us>N6bw2cJ zET&K-NDhgJf;>0R?%Mp^;Y3MF5E9t0MZAzZ6eQSZVj<;S5Jx9VoshA3?!cP;!(ztZ z-N2)`zi%$l3BOVaK%Hw9(cFKi99j2X6X<3p&{FEqW%yQ~O}1iLoG;VsU5G=SrKnAPLL?v(r3o$q8*_rq@?6N}FIx3c_{tcdgB$p*R&5LXEx@hlXL z(jvAK`sm8Jd9j$VgYRXzj|NU6mCbu`jZQKm;7p_^l^bpbPbc#>i1p# z%8yLAD>NfoKDG(f262p&V?Josb$AgDvVE9^qrX&TJ{{jmc-I?Gg#t-5LwsXV5)p$q zjY~8$@&?R#u8Yhn%bJuHao2g_Y&Sbb;fV6@XzL@XaLqR}&n1`xy)*S>V6e);=*!Jx zZs;v_o)xl^i>I7#m=zG3uZ&uo9i*XA@&@n43+#tIB5r0s;KfxHvIt<}cE$?gLsusy zSxcK|DNS7odGV+w%J|ILK_7IB=6a#H_??uqFs62VUUD1e0N z&XfS|77`?TTmgTP;Y%3cnIvoO-K0id?C~ro7JuPUF{5BtI7!(~nGQCb#gw*)>J$IG z94=$P09eir$8CFVAJ@;VdV?Y-IH@qLL4ljR?UxQpK(EmWJe$sXz{TAUFG{Ku`3|i0 z$vnt$`f2P8V)!XLr}z`_umglxvY78p{C>+2!42b+NtlFGlJvY3A(PHGRFY2X(jkVr ziGc9)QSAiLYkL8yWH~uDG&?GHW^gJ=)lz;C8<`|pbgN^uXLRsGr2(RTK`jt1XW@9#a{gMAw1j)bLuv`nzt;5M51-{PQ{lT z+;&TglPuGoZn%nl0wbLkc3S*aQJ%&}rSeOrz1~E(>>4d^x0Yhd+m~mrrKKNWE}g?p zI=wbhmswR$1!8CEJP9nhF5Vy$8&lk_0O%M3>$pn+Iti{*CQ%L0kz8BEJNKrDg70g@o8J}i)VUo&3YJDSKSYPQZ_3gEP>NdMWQ{b%m%_4Zn@Ae7jJ{C~ zSe~M4gyZ{SDSo~c$6cyo^bcc5K<-rrXTl?kT;z+FY@5Lq!Gt;n1wOK9p|%g$b0ImL%~%|SA1yxLZ~E~_`RB2eVxBC# z`4}Lv8I$NE z2`_*lRMdN)f||Ksa+mzcge5!WBoeOj9Qd4k1+?1S_tQ;J=D)iF{i?c6hu0Ik8cW8o zCJYp86@p2fmC7^GFbOva?;IlIfEQlrYb{JfKu|*T)C_-ifKX+BFbMNA^y;E6=l;~f z?A<9ORHrMEy`m@RZrDhnpDZYDG0|6hR;hJZ#TOIM>2`zpy~${=-1p)((*3IcA?sKD zYu&n8Rv!1Qrv!Qx7(fPlsIlHJTjy%nVdR8JjY#qF?)vh?5W8KYAOU%sE&<1ZgQ4Zq z)n(I+XkTk?ctAYx5y6*|HgMZHF|;uSV`7h8(+$0b87Bxn{uw|AZ5fiv5xMDR&XQP? zn~}%fNe3HavC1)W=SrRZB0K}XVL@uhS#MA^=Dlcr7h&8Bl+R_)u3EQWn!d4pY)n%S z6_iwSzLPdrKD>2rcomGT;{Thz(krv9sokLdt%z1wKz?+c7(&xz1)cWW-Qr=fFy0?- zFe$SV2H%ic?+9s$yV(>B$bkyKWQe8#p2MfOP2_s-_}cfK^#C^dTkpHbt8^3CW-fz1 zcYWTOI7p-&Ac_-;SvRprY=eiOC}N?Ux7|0 z+1m72`^1A*>UF4bYe}1hkSJt+H&vvvlfUC|LaB%nkDqU^}WwnX6qYQ(+`#M$_fnwokl*DMh{%1 z<#;sUs#$PGM&t`vpn)0N`&B3~+r-<$cz4ERxZ-^pPQ^O<@MO#W`Boca8mo=d2y;f| zZUURir{cw$^-9-M357dDQ0`SPJk->&x`>b4a0UUDocJD_G()rV&PDw<->cd%cb@$I ztV@w-$zsijqs>r!KnJJ(lQMn1u6R)}lc6o}>V;-^XI6!2bv(_!;>N!4_%+ClgUU>1 zF!RRaAq4cyYlgXtW;GC+OKPPnH!LKXS}``!7r;vY1SKaLeACiiPG3$EqL!ViQG%rT z3E$G8fus#UnQ{;JP6%y0u-oWfHgrC%=lA|Y=aNxNf!XL4uV&E7xTx$BR>OaXc0L7U z(=WUv_U7(N8QqGCT#JJ2`;B|@Sb;o#B{XTE#-xn>khuY-yTE2Zcf-L{cg;&|>erpE zKNh^+RGIthq<%Np+V#`860}+i6VxX}OgN&OYMdACgFL;1kGK{Ojc?K|wdW;9c8>3DR!s6uAkqe~B>Ch1<^vwIl`-F|)D!@Y=FHd^jzjf1 zxcnNmn8IvR{&A%<-iLL^S6{LzIF|ZaI$xPPy|^tt%CLEs{Fza&mE8buSC+%J69SI@DMZU{wSRa#jtLhaT0yeEdH(< z{6uK^Rh(ZMQADTHoCq(X#R_U!U>1XtuC`UOsW}@;N-E7@V)}VARy0GD{Ao}EzEJKP zX!2e^=yc{>;y{`U>p|;-IS;6QB)gmoQLD`%iS@wZXmEV+i(y=~4c_5w1#Ym@A6WB1 zRDJ)efp1R*sTTcm=`T9MnW%#xdkJyw!A}ui3B(uf&JIFvW#S1l)k=o7^)wr1bG6UP z@9EMj?iB^DIYt5m-!*?IR^bIvg)D$rp_u3Tz0zgP$%zAbsv_X#VUK}rx-dCyOh4^k z2!f4hwCZcmU|ks&b0%8tVUDhh;%^>@G$c&730_Gf=TiD&!wB_XB-ULu zbYMDcF6Kmtkynt23xy{a+^R21kVZPC?aT>(;&L3w2ilrvKX$m882^-HtB|pD%$6bi;rH65rjEEtm^}@iszMiX$iYvlY|N_ zZw@J&tw0xwAZL0Zd^SWZKdyrHAp(>0MWtB-4ZMX-Z&4)6!%1}nmy-mS%w-yk;|KP2 zDcpH^rR&Kgd!b)z4z|d6&ttpwGfXx(#TA;R8(^^Uo`kPq>kO=2Pm?2bZ|uxPT)x;N z_5*o7FrSNjduB>h2|0DOnnbYd6@Th znSZH0LAM4#fgXP^>}=r6t67t@Vb5pRzZDYgtdQF0)_IPaZoQl>;j zUPym5wFJ~Y479w~!GEXj^?Ux+%%v@%2Lt_XW&ixi`|r)?Ev6_B1z7sx(Eff;yz|pb z@B_JT_p{YtJM)F$vM9g9$BQ8^WMkVmX6k!LiYTm^;%Mg`_)#}dPw;Z!wmZ(;b!Py! zNVfdhY~sF@w$$Rs&k#4Ef>(ooSoBnurk#~(tahaK5Ka?@k6Y6fXeyAqHy68V<@!OC zDN|BN4k=FVV8z1`>ZP-KT7SR&$u_;TjX=IN2;&+h5~F?(ehSZHH;Q zip^f^A;`JRSw0S96KGiHEUeS=cN1W5$7lX@Q&)Z?VYUA4^&<7rR%_6<0j<F9IRK6a$M_cgX> zCT8t1ul?POJBH9rQ~A4z)Pv$aSMjbGXAr)dW|MQ6>uVWL8(2OYY<)->j5PRayo@*c z^HhoVK3fD5<3>cfOKH6&S+|4~?}~V&O+N&etlaz!uTCURv}{ztLWI=<8pVWC5f2|P zQUgyMxcm!Sy+WFer$T*5Mh*WoA9SUfi8R2yWZmey^AsMhZD5Le$l-EubWG3EALW(h&;+7ABMipcNKCe`M9*PZ}w}nAXC!M z@6oqE=@Tg->ru7-;3Rg|L&L)irg9a1XRFUq27=DWHr;ueNsXz32$HofsW z;H9wP4M{Wkw2RR>#eG${Cql1v(!J}-7j1)$o7l|)Iss=3HitP;^%CecN?lR@R$l?(Q#Z;*hS@?-qs%_j zB42x@ZOz0Y*yd;}qe*^c>)%GR-|BNN=Q8QT?H5B<-$gZa172}9Od4%VBCD!j?mXoGzENMTmD+*->QRRm`I+a@88y`zqH z_^=4g2s7|w?ixIFq(WnLti)z`!CW%klHv=v@Cx(j_)cbIb=x)6+Uq3H#5x##!rNgB3jf5G8HB_3)nCDci{ae~}%v#I$+27X;*mr|Xtfv;Yf>^~7P>1owN&5v#YFU)k@!$Hx>2Kl}7j;|@4w zVdh!?$NTGd(-u%HRPEY9X341b>fhtU`&Y)3lbj&*duN`#gc3mX@j(3r^l(v0%`dj2 zY@&7pLpG;MWx)T#kiwaEbdBC z3MY`^k88m15-GC2YQ^n?vJyYr#dwmWiyKOXsMwH=NF+xK;(jxrGTfIbM;>;H5&%PP z1Dx}x*v17DrHdC7u6%kBvB`&d5(q@jUenpdh~`coq-~#ZjcP5SAt4v0o<_mZ!-e(c zXj`Q+&cw1qEWGkbOXGrDlQ^kJGqosSdylLAqd9=9EHK#o=3fb`CqkMvTm?ptDXUou zf)6(hCH2T17F{hGhZDR-o5oxE{uq{owlLt$&x1}=;;XZ{={7#bzVE>6psDlCzhs;N z(0R?v!*s2MM_D>05mjR}P&#n;TO07@ zrHO#p?82=nA6yZLnZKI>V^B`QnCUoFGKk&A>eOz4r>wU8vFA7@k&{H(jzF9vMpZ@| zF^0TEc@ykrU-7?;jFy=Q*6q$<42+f{otszUdofi5PmlBlgyomKkdElLLpCXL;romv z+(Rgb>~G7#nxGe>>1oF6Pv@jIUO66rq${8dp3{dMO*ipotU$*4g%fZGHyxclo9;(= z10~`YabxZxLTO>c`PQv#w_t0*zY=)$`sm)@SzO*4()dKhL*&Av8FdL)_E}BBqbHo# zccG|2PMAIzeGK^lB_xl7ZPAus)36WTkegR^Z;Cz5&_zUw-rUe=n^vMiIUO!|lmN_2 zL@c75hu>RIG9+gqA!S+2$=vjvZjv^yg+xU4xHklPf|gZCAF~205(Q68_?ssJ;^6}vC8Mq?v+X_laMDf z=<^g*dL-A=iN*({=3@H+8~aFBY0AqewKjv#zv;CZqS31+s6nf+qe zZ9Kmx1$*0UqS(fAMNZ7vLoAvFX8Jm54`qSfFLIR!zE~opUT1?W9^>XU-hh$FMB2*t zJ$=;=WP4hnI*rBGUUrfT5@%E+QK+r%ijzqz9*#K$ge|x55i58@Ln_#w1L3HpxfL-k zy!-wVXFU;$mWwFJK6J^mPOi3roC>1L_TQJzE`=$g=3t0OG>nfPdw4~&HIB#$qu8Ps zXLrsSb)!dE-P(B9p^cl}Vu1SXV@M@jDB))x05W>#GK*ufzR1$e@V%chR0&?!`$SFY zuCI2}tjIBHJZ=1?4Bw37h|4c^q*+!tW!9Xpa1C_np|6~K>JCwogWSW&r~-bx43Tn@-=Ib8B`rOhXjB(dGWsd&gWtJ-MCrZ_=lz zd|%S?>X8~z3TlcWuZ#n&uY4J(ZyLq+b>;1DD{|d9bGi;*^06cHvN^C4Gr!fU1c&RG zI*j$DoiQ&I{6b_-`q7hOFxyNo zKlI?`)BKN^g&w5{0-57myz7JBWUU?Tu`xio+n&9r zj1@EN_PrqzE$3R>;>o?#XD?ECgq@ut{Jyg!&T?|vK=jq`Cf&kJqCI-nY#eHgw=$402R{JanmuMbe=@0FQw#a2#QzKHG3AumSZeK4EMO4yjE7YW}^9?oh;q;K?AC&4j6 zZlaSehGOigq;~7pqI<9GGkEjSZEtcW%`K*B&2I6)K;RewG~N zqR7oW5kiRQl?0JY@d(C#ZzI^SjOfYn=VZ=#N=8#$*Q||by zVB|Y{MCsgd9)9H?Ao=qeiaEv={j)!=}DV-$pU|aE(JkEq- zWWUYDR{MY(hK+b+Osjs_iJ!?I5XU!EKXv|@ZfNI}ot~vb$VIPZL+BAFXG1swZNnXx z)My-gz^fkPIi*j5AXLp6Pv}7Jq^YNbVc5I*FmetwO9hb$zzY7l;ht>7`SDgqYx9M96Ntj>YKO>*0ScM(i~4lmQx^=74#0$_7IR|AA8$OM)PKu|3_EKSL-LTk z%kQ#LJfKSqq=$>fqT9olV&!b6WGX>u66@y#xOo*LVKB!(eY!8Qe7nz7v=Fvu;J?K+G z{(5V^eXAwQ|uPCQ|LT=?u>{+mWdq%!KMB=I#g$ z@QK<>tQ+AC1h!P_szdmt_{79P34ZkiG7Zbj27K+_@B#(RB`fEh8N%a4uuz!peb%## zh+e{|G|Wr9jIM}TumTn&cEV3#mQ>5;{lcSK01;!_rkaF=p!-9)&5@DO-6#X$SKIH@ zS2$>bH&8fW>@6De;G_G^5rjbj>O*+|c#Q1kSL~<5fC<_*m!(5LeK`!y$Uha&ul62s zX|9U)s0wXOtLUI;Fl#%T_Jl>`1Lqus990jyz#4V$pc?ZC5wo2%E{IZ9#2RYLXHF-%yxV00l;^mp zW^$|c6n%(QqY`vfkJFqpH}S{HTR3;~Yn;9@hTlFKFjJ@Z69r=qGB z(nR^3{9W#SmXih>nZqk4+u$12@^UOHQ-uqArAv!XMONY}OKX@5oexrQfXv0Oo7{-a zQtkSA@^2PQ@6D>$cuEHMJ2)pm?FA`LhgCXXo)s%O6pqZ>6lkj8Otj^=hkZ(q@%q|tr(Gm(VotCG9pBMJTNYvf$59mcty@#M z*f#z_3C>G7l* z=Nn5Up5!gAgo0B4Li=s)#TJ*IIOyoygaHZlEYn`Mqkija-CRYVShItWUu-AGjFXMy zx{XABlc7v6`o~D2Abk&nYh}3CrwmHl@}e`XNJc4JYXJkrkZml}@^Ut8cLG1GVj$Wt zJN^G;M%1*dTy!!3D;Mkk86mv<86l)?|8Iow2mx2CaI0?^9NZRU1~z-jac&le>*iZQ zRy{>EQF@cE!u-kJkk+egR`%Q`5;>1p&EWgJq=)pYtcTaf6GJTAp!K`o;De{<%kP5< zw|nsWy7xV8+u-}dVRsVh{qgJa@pg zM@LKoxA{C2dr(I5R~eAn{`JorKby)E##n5w9*9Z9Cm>mlHd^-Tex`ujUHDQ~wbHO45d}iKTI|ZpQf_wCUyB;^bpld+n4yrq8+3 zL5?E-5d)Kv0Ud^cQV66cbU~Ok=!sV*sI&|}cqFM#ng^oX(bhY5UEAYB#C7|v#@b$( z;xH7id1LV)aFX5@ksU?bZ&8Yb!ao|r}?IKh1wxRS&J@7zAMw*95>EA1G)c zqH9ajE8vF@3Jie{i5Uh457Yl$Y-cVDDxEq3C$%Ow3F@B)k0Es7&>6DZb0gvHZxEb| zg|d4PYR=+hPj&k3kp`ImA&vnQGy z<;o|T)uquUB=eB;wEs)ht64L8K(_tGUFJFO~c&27OV>b(IVu@0)gKl)NQpV zfz3mbP)Xj@7!>gt-HDuF+a6uhx}9mpS{o$2;h@~T=~QHcX{fXd7qh_zD=%sVPia1j zdP2dGQXtm1?L%6X2L=$@?!|-F!=lI=hK>B)?`#7h7TlD~Gi^}9hn)rzB+>O(8#5Vl zM>~CmJsj#fg;8CuIzvJWD(o=yoiJ;DUu7iE+y&Cc-zjnWgqzz<^P$Mg#u@ z80`Yvga$3|0?TSod+z6K60idNI1J0t|IS9o+1p5{iM0H)eZK@2mpyfVK=JRGY&|h} z)0>|9lxR3~5x}8Hx*7|-iJU>bv3|K?vhtsHJn?qh@zMS9wtc^|ZN~a2!Vb;nq#gxl z(P5%3mFA+t=OWiEe!^;caVLiq%&64B4(Uq$HTmnC1J%Pa%CY7IA&D#6hrVX&qZ)Z} z>>ISq6ve!9WGD02O0O=f$~-6D^b+MZ^0W`(g&wO493Z6aU2$>(-b-BR*S|*C!t#+h zD;c=KrzEBdr+Ts17E4ewQ5u$E7g*COt|^BJHTUox>Jk7B;>ojBKgNWgcsgGq#OuSS zwmIE4l zB7NLL%|tVA;f=F&fkEO?N?jQuZyWP-t^VXu((wYVu^=du1lf5A;df`0(_bz4(Bn|D z`d+4_aE*uDqb;_>))QWxw@QsJR7%hvwmiS`-vQ7pKA?Sim$6CiG4itX9NNl3S<01e zqwB})Fn87t=i8@Z0FQMW@q<%P4Jx&X)bj{fGQw_en!9tRjptSSzI@fU3HSGapoXp) zCl8u8E{6%gsc=mDZl=^4Fqpq#XjgL~^Zh1H^9b?FH$|4tXZX z!<;T_*98%`#)h@_c{j}XSI>x0Exul;@;<0Oo?8r~j-*}@EcsX|^&f%x_antFqPvmG z?sDrtSsl-ZGDO4)>vxm|taczl&^&3%41gDBnqoJcBXxJ#QyPogZLd$AJ7si?iW^PK zE{}5y^z%1Ki(>Cws?XdmJm*1P3Kr-nt2Z$CP07s;L?W(QlBO8e&!#7rGQM03& zLVt90h*rvui3<1l(8zh^aYrzFd<^|=hBvMPFsD8m`)0zqCN{#SiOOmhXTGREf&lwl zW_9bz^Sf8FL3I~A!-|{M+{F-$FG=!wJi!aQ3fC7@vUc}2;dumd=?Xl1MdHRQjheFe z$LN8eh(Kz+W=aiu1I0*FOEK1oKKf6+2GV9)eb~+?43OJFX>W3ARHhcntC{Mr;pZB$ zc?EN#hF0P;5Ci;3t?x>(ny~~16M$K3ih3Mz`k*z72mV9?WO7%9g_$Q0!kpskTp{SF zs1VA&UDO^(?H67XGCnqH$=;$at;2Bt@7;|64v$3|iwaPK>A zV^~NA9mGLfwzY~aoA`p3Ok_|I4ws$r9E#AHYBzH>$eRyJhrjBnnG_hgg|KxcHfLl< zmr2!gEkH)xFiemrZk^n5G>h*A__H9=rf+l;RinI*xn>ROK#(Lls4WyNYMQK5-J2Pd zMwb?UI3^dFy9p?oxM#voMF3ij?n6sW8|gW^@Sy(&v4K_`wBk~!QJX?Gs)8gi*fQ03 zRaE7yvXiMK=Q%!?j`s&Pv{ij=x)^nG`dl%wHb7P#d8`EIVH%kUIz7$Z^RfAI@HoQ~ z8$bw@#61hmMB!3qKY+LY%t~tuH{lpbi5JM;A1PqzqOYb$2DU1re8zayJjZJiZ%GRro>d}=h2@;=H6;cv$e`; zWT==@9aY#{XqU9bet+T?%b=TPwC8AQW_nB=3#Soi{{yOC(x?0-!}oX^LTZgtBrUGO z-YDz#jG5h7eVQ3yp#%VGFf*8ht=WH)YPaoM^7h+(FWamjdBVC@~>SP=GD+;w}s4+Wd9NRvj%cWw!S;5#^*cN%@bYCK6jx! zJ*gIATBja*EUcXE<}}$hSIWp3oPuklW?nzWKJ?1%ab4IVetu$Vybz~bk#6>Zzi`$+ zTenl(nq2U#0Vr;EUfOClN3hr$P-)=!!a5v5+depvwS7#`IZp>>4m7@m+QDI_c=^6y zpOrIR*lSFL;0|m1f~4#yYPF7SD}PH;IOo72w=pIs)ZbS=&a{_ng!1$+;r>=$H8(gU zojR)Y5yff_JwOC4Q^;P%+-OymFvwZ%it8x@+0|Wi1JG$>9TWh2WxGR8BAKLEz7wq( z*d94)vn^Pw<@|czqLnx;UzkNjIfzHAm{>HKl=VEEVl8sscTRB7vKb~%H;=cP_%NNR z?ZS7p`D0bPtc04Mw=HM|_EAr67s=sDdi)tzI$hyj#D@X>Cbr3bh$7DtIWfvDC%+$E zz^sCI4siYZO%W+T5lNvbXH*=_eLdPan2O7nc8$&4Uf_TVmSY`sv=q24BK&g(afVLM z%|q?nQ8nqf?wFd{CX>|Sn9#Ik_ne0zcVh0~Thh3j$mV{N+P+pte`ynjBkMlViX+Rt zZ<(jE>Y8cP0o}Htq@`9T&s!{3%j5d@> zCi=#8QF2X4@*J2`6&Q@J1?ybQb04+O^H-Q}1*^|}frD~YnbSD9wHIJrNaU=9&k!z7 zz*WAVBqQ! zz^`rk`}+w{D9c|3;O*e%+-i$b0fBLE`7DX>(9u>B@*Byuaf;N%YBr7Jk$TqrITyp9PIf!16qoR^{E!{{e zZUfGupJKfeh-FQ}pSSLOzd-0AXB?xZf|_+KGofP(e%$7r=qm`XVnMY2m)@=`K&@r& z$|o8uhe<9BBDVFCDbPTfRCha5JwCTCRea1cm%I7ka-B54zj|H70j1`YHpXflsWIs!A+LbXU~%9D*;o;&*XT=Z_TsB==+ z#;J3_kF*&SoMxH7A@4~;kVNyH0dLsk6gBBSAXZFE5qTVwS%V9qiFrMi*SI42Pxv+_QYr=Up-kL76Nkan`;Ut zv`1%N*HVR!CZ>QD4Yuzt0JXpeg$x(P^|x^0Y#8nf|I)z^`eRo9R4T9$TAIB`?a#?e z=&eeb*y%{8GYd+Yz|kq-&qfqGMH9pr3s~8@*&LS%!@3$ZFO`%zVnH%h)D=9N2AUX6 zJNKjw#M_52gp$k&Y-VSc7Rdbe>mE&aTBF!RvUA@kEPa->l-&ilasMG9jAf=_i)f{-0f)aDScx(8oUnnNc-Yk zaK^ynVE}ePX1TGY0fmmV9o6_}x5P5Yv&aSe!BbuKX zs!xlQpgc+N4i`ZIssE<-HTi~}2HtqAJ5_6R&k}gbb2eo9A}bDq`gK~A@EsM6{S0_0#CZ7rqXPSFpMYd<#PZIz-A3PoM_v{A3%yj3rM9rfwWcI!+*D@t5B zv+!t_JMLV?Wc*=+QkoDNU4Axuvnf`fU)wxJX3$B@Qkj_LQvP~ za0R_Wz@$dKR|fw2>4)8%Fq~|d(ulXu-HpCTLt_A$0JCE{{NTe^vf;hgg8QgheAnG4 z-QL^P(k@??V=V4&{`iI+X+z%Cw$phY+s&;KI;&3SQugMZQ2T+0!==54rIA52htva& z`^ODSFcRHLyQoC@O_^isQyvbUtZDVc8DCz58mw2*mn`=UFG^Q-&?(wtG1c;=s}PTM z&lpB;z`Cc1gwo@jx0jxKG(lrW@^^B=A#{jBlCKJ|3c_Zs^tY8SzYFdqV;~gLgr1Yx zRV1{Lmxe0k>5i{w$x*zW1u59r8q#(P4ZrNuW=(l0I>t#@CN`<&ELq)G|B;6? ziHRs$6&=T&WKYj;+Wr>}FzV77^7(GB30)UcK*HVe>Mm;$UYt9xlp-$?XB7mGx6yPb zlFXW^%-Lf2b6#p9~T>pFEZy9eqmZtqOxAuhKcjOZoN^183%nNa42XET-uXUk z6!?C7**CZhBR|_;x!(^X)^3O+h(?|Std7=>3Ve%FE#4>#d_SIF-;^T~gmQ{x0CXXV zv-1X?^4*i6<^Lpnea;d{E54{oe#iFnoC<_pqXj)9yx0J~Zu0IaeBi%RIbLY_igp+_ zcU}Qu*O#F|0?4A@)nUoGV6VI0}@QP&H`oQ@x-M$$4x0kQLO5)*u@>m^!b@4MC zKj!`$hF)Tn+c%`$&QX5;5)iKMI~!vKPO=f{E(-3;h}G?+I%}3S-jRsX!+t?}g&v&^ z|2A4YC`5Mhp5y1&Q<(G~*57Y~T2#`YE@kFuJxP|ZYy96i77Tw{s~=5oXMeM=;}nq$ zT6X##-!4rhrt6WDyWzlqg0JiY<}F(EfiKGkn;N$Tc~Go~J(0|MGqtOVEZqyQP78Fk zvS4kJtmN3vvA|*Wrw5iu;%1=F*-*u*65vqjDGD^DG1=fyxp**WA`q`GBgIMRlu9=b zVn!*Io%CZ~H)S?(mL}=SS43Ekg^@-M#WG!X!xcLM65A-LGxz6EDO4i>sZY5U!=$8g z5ynTLpY5sn=^Z&dL?wiN*cXh6${vD35LCrx3e7kX?394fc|tbCNfZ_E3af&fWP#%V zOv3I;)^|I6NJ*kPv_L0<`B*Drwmc4dp%|leACa?5no1W>-Rx-6>@}~g#sO2>ga+^g z3a=;>Io*0WS9uB`Bu-nvR2Ek(_`s2)1_H0iJzn&&7BOts5D-U$o_F1RhYrsOY!X63f2OjZh+lr1 z7|wLf`j;N>rrg|gbo8BI3W2N_ND5wW&<7UZi}^!Sgj$wg59BZa$^KD|QrADUl@4`0 zJ`Uf5%lomlO5URmcd)8|_NJwKgjUwI?Bs}>%p*#m*2Fc|az$y%rCcyQ62}pb1cXTS zQ$0&`!U73)8Y6!(kkLfqq~ZN_=;{nOc?J=Bqz0}0oyXyt&|6s|+K}WXfI^R1V|^Pn z#eU5M$g4zXY$+UIhK!`5*_mk92GYCozGKp4zJP^+`ZVU6X)KsGxQ5cjT+!%JD1Tz$ zm`KSmzf$~FEwQaUV+eE#$5bKa52vgMV6tOomZmxQ=WN_`nVL~_8d6a=fH*{nZPeA` zc7|AP!*l0_gFmLha~`E?6jGrc0y9?(*({FIm1H@5(3b^RP5uV9MTYNkV zMyX=D5*03ypdO=UoH^pn!ZD{8jU*&C%B+!`=04QECpcSy&%1V9Fys;=Yrd>P6n@IW zkU5SrI39%-PP9~9N+Elot4KJ+WJi$p`Q0KT4FY6FEHay8Ri)Ef*uuwiTiMM6nS1r1QAX`t+4$zzP3c?5;^QtHz{y;4aFF2P?rX z|2nN&BcHiLhvrA=gW$`eWl%N6`+HCgreGfOT^tTra(3`dWLQGSb=S;@6+q_>8m6m! z&hC`~u5vMT?(wsLKDi-18A9tpITm$Zza;Wba}qeq98LyWFJCKwmrx$LBB5IsoAXE*XP`JMy_VV_SWf^9?Z8P)}dUF ziG>F^&*Y>Dk`-^;p$om(zCqS33*U{VGT%UA`bWVBMP7Dxwn`6~kq)XbNl^4yywxB9 zqey9p^G64DT*JVaY@y#Vh8T=|yg=sbt+lO67llvPR8hVq7Fj)1QmpxJxn~ZpcFNe{ z46hTNX3a)zl43Z5>89?4zm-i>~7Gqfa%K-|s7DX6ppx6>IjS`XohGFW; z$dpRvpy<-@#}lntlbN|3Ic`^F*)E)A<{L%ifM!YKW+s+Hsk5g}iGn(1M@N9lfoh@< z;eRR_83?qrsa;wiShcH5qx|g5-=f;wlj!d{)F3;3s7pN3F$KaAD)|SzDp_}x&4LXe zrKYhLpJ?in?Z#Ij{`s1g!e!;0wOI6ck}cg;El?kyXqji{aMU@Mu>?D2s}0Ni_q%#Z za}{3Z&ZZ&n`!`QHiQv{xl>`W&fB0|z_Sn@rFRyY zq1v2`3}&Km0@H3^H&Qko;YRh6@}cAT?UUpiClVTB{Sy2{_rOb~=n(vdORztHW#EC^ z>$GBtm*z?0kxEWWTvhJQa@6boN`c`{Ro8o8sAvN9Vlj&4y}(F7vqX1_<3a+BM_}El zw6yjJhSlHe$~c=O-bqv|6v|XVFhEdqT-pN`V?JIhq9%|?qxVXc=6wg&;Py5^pZgD@ zPpfwO&VhTmf$&7k6}l@f&<7>}sAacrA9SbiqK&7XXh)4k`?O#d1c&%v3sq)8jN~&_ zq1ip!?cMoQ4h}>cZtlV*Vcd&!N#D)ZRL13D+1dA-@j=nz)Ab`1(Jd4K6*Uo;%jsBD z-6VyQ_1gSuey|JzxJUxT*w`x5_V5aa$)!d7bAAkYif|G0Wl^1BV zoATc*_iQA?QAwb+=OKB<9X!*h%{;`!#HSJ*!8Y|y!O%s_NO~3trVu?^ZV?x=#HY>- z(gk7}n$9|i%SNs67OMz1-t9Mjt(cJJ(8XG_Kbz^Y@OIE8e0ma`oz9RU;txuFSJu152pA zQp=2`pL$9j<*bFW<^X#`Q2qF#X~1W>A?+I zaig*088wZjskUAs3Xc*`sYlmIh=aa>v+#MdDAnWEt1OYC&JYuTGs~tiB3jdN;I^B0 z7RO{1_4l@u2Gs&`=rvRnNRa<5an&(IsG zD=#F8g#kIL>^nD9G}OUOT+~0|#&oEaMEZ_N@vJ1uZudwANs5FQ_sbP%sE>0liqSx6 z#X-h-E{ave!mWzM$u5ex7cG_r8~nqlr~pA4OPFCL9w;yXuiv8Z{1H1uh-U#a-s~I~ zC81fin~SIH0+?yUD*8lOmM&7d6S%%1oS4raDaswUd;E!PTqm=>bNhmyM0*T4rd0ca zlNC1vK2#FOAKLK!OLi4ZU9_V0Hci*O;!dKzS}xOO&sFqV>!*vpSFTFwI%?VEZoXj- zjQ-BChXFp|S}Lo8u09k_=i$T8*19=-ksVDWV|jVF)R?ldBa=#~*sfse?94cYDOpQT zugaM%P3osGhcZ`IMyZV`4yEb2Y)VTvL5g%}1xJ$&;Mb&#hrXO7)11s7W# z!4wT!%kwjn3^NC&*%0_W{g?#WURYHr;xbHDpJRh>RuQ{2> zm;rFUIKa<A%zT_6&K0bfGKmu~{r;znp)p&B-S)=ZM zUNc(oPID0-h20wl@rD#D9->&>c#;Pd`vB%r8c>m3K*JsiiQH3L23;4f66W<>1}-Zz(@KFGyHZr#Ko0=`Mx`!0NLt}MDh4M5WA znB>!T7=-78-!VV1QK1Z8FuMZoHkMmt==V5q9P=&?FdfSODstvrL7X<*fS9#}sRKHi zmgi>Wgqb$2$#oh^d74)&6W1_USu?trvoa-@6^*s+YcL6XEdC1Z$#74dD3-0!ySWjR zF9{cjCt(js^^{ktbsVk7`;=`i**2E=d{(c9jSiG@OiwA%6eTz7ZpksYY1luR?{1!K zP}GUv=1kM}lOvOR%Q+6ZeV2?{F9V+3m2IHj2FY#@fn(=bRIT>n6o8iaest#0 z)*HV%H`fj~g4C`MCcHHC23uUOXjY1}0lMA8(rmspFz;<;_em(H?zPmws7_%+?wzwt z3DRl?yl!l@I9P=Rd| zYZJ(tP*$<3wD{#t>uLXz)~jsOA=i#r&Lr07HerOg66_Wcvy^qllRjgUG7b<+b?$aY z>3Z13vc0fmbo^S&X`^8g#1~1PXLI5P@%!Z=UKqu&` zOgx94@{5}^;D#v@@8cvHmxQd9JjRlp zE9ygo@+shlXG(Oi%V`4d)BUUn0rm`o@-6spp%JB9BGZ2S=o|zU{S+v98H zUre;vv~{z4E+F8PSpWst%RZHr7~Nwydl4a6*|$9hi|RcU!=AQJfAjat0rGAeP5CG| zheL0fbD>~!*W|Hq_v0HwPFnz#Wf0XnD-7EhoSXeFw&LVcY>7qwCuU#FbXt{Qv5} z0iQIghFU`M8vdZAhFjdj%adNm=kX!+}po2J%@#f{N!OP(G?y#5~5eOMZ zS%q;%QGyKMEV0%CV0^rDkWqeA#=pe$bHM*P53{C(#|J@*#jquIMp@ijxR{{WM3kSW+31R$6n zP*);OpPWM@zrjD;zjdYqZX+2u^8mKXhT^cUfu7*e46YJ9!3M+^j(QOrsH;=_OY9$(^{+DPOqivXO5D0SVAeh(U`-ZHO ziUfmRkCcm0#EjGo&=ar9WGN0c>2de?;(L|hP?-soKk0(GwClBEVN_tm832}C2?FJ4 zmN8dIG;Jpi**Oi}Ib@yLXBjN6M6T%7=9mzcQ!0lmjB;p$!C)5=(-b_hWQb2&Q%fp6 zLbG2ig*zoZ6$uQ$F;l4vS?=1~>XcVT*~u`}P{gy4^!Iw7g6!5IJ1yP}k_0&J$}06X zFhduYQ6-k8+T4AFm1`#ZC(|uyD&T}6SU!V<1ogCF%+X_n-XtP0T}?1P?|sud7QdkB zOI@U;GV*zN(!GPW^-VuMYwCqNu==J22wW4xSg3n9DuJU8-#&SY3N;zo;*Q`Q8ua46)rSd%dEEG|+xyUQkK&V$;56O4&=MD89UXDQ0V~ zdH%p;aGF}sW~b#LWmNoCQ3##*I&N>0E^~Y`o4w7u?A1|HbpT}xTg}m zyQ`Q_6G%34kpN!@3?|JpYa6_2rBAHJNkao;9QX?;=*{UbJEn2L4q%(KY{*BSyalw9 z9P<|cLjLO@#r%e5GE~MKCQ9I;B56u`rW<-nW#nNR-4_$s$UxbZ6vd%1oFHJTq$M@E#{pJfIvkk=?|n9~F4Ip)bS_R=7S` zM?=ahni&2s6KN3aOMr^JPbk!VtO26w8*yJ%(MFHvkWUk{-l!|ba!^)J_z|g_?!=}(; z26{QCam#{->M^&~XOH+5FWx7)R~uUvq0`pXNn+2%3K zyz?^Fa|HC8mxwFS-hH>s?p!oOfG*Y(+aNHiC@C@Y^)g>&Tfa$hx!yBP`PkTaB7&PRnCxk3b@gDzcO1A^T=+F0WSKBFDF6Y?4^Gl^ek&htOxl9 zBt@sFaTa!t6YD4vO&#zME#A;J7~c57iVCN%of|^z$*peIEbgbZCWzZSP9xbO`>lyvsmG_U6R#1c8YdDtRD)DD_74AQ#Hs3(9gBwiH z($0mL>XM}s&{Hf5j9<4YYR-lrZC`o+E10Te+rFZI!X#z7omIV}UNod<;5whJNg5;Z1~`Fot9%tii=4mJb500Zex+APPlH(BjrC^_G2_j$K5nJX}4T0 z4_KpVA@VCttiMu;-!|mI*Pto5Bb__Ml->Lip9TO zr@XE~G-f}?5y$LFN~s(pq*}ekMwlzyH&heKJ#lPuau`F2q_>%KDFj;fDc!j<9{6Uc z^(P>AMGc3|F&X0eZ7up^cb6y-K}ZFP-WkbByheoGV;VG)RCd+hfEZClbDK+z7e^V^ zYRavcy^Lr<4!RUAHJ%fHvSds)fWnIb7_p0Nn*ROmsMj49> z4XVFyyFye<7;*C&fOahK)wtA@XVgE7Q+H`lPrQJxBNQEf0Od}NQ)TsND4@y%Q(6d1R+!Cx~<&TQwRgs^IU_t0Tkx$LEJ&i-9kA+SX;jE zI7?Wlw?xP6})eFzqDB)6o@Lyws+^Z>MJQnC-qbxat}%d=j>+U9>W! zHVhD$29UtxvQ3-D;4^ZX%i%3}JSMT#_3mqdb1-K-s(z|!me|RlU^772Ef~}9uJigdlJ@4H^zfh{S+qv=prR^q7<11ImD^%&Ha2}l( zXsyMwwZO_#Vzv5Ln&!UI&x>t3EO+{$1uR)+5m3?YZ^J~VE>O>tfz&WOYi`W5n^mVb zl9_Pn7k@VSis4?OpeUK!>s;s1OIm#BIp}8{9(Q09DPaMNl40xLml0bB5FB*R+~o}Y=R%xh z*I?`MbCK(vDggJpp)8#Zdf9u|8!LoLH-WcbCBN8sx^2vB!J@Ljhzh~3Ni?ex8U zgYb>^^`Y?Y#&p|x^L^(4_`JPM>+M8nJc%PPAn0ue2nGT^MppMgzh7=&e%Q7nYA;2D zdF$8TZ@1gKD97WHFanE*2)$u> zTq9Ko2A|ixR^uRGIlU+iU!E@!QUXkeoqYI|bNtJ3@|tnwef* z^8N+m6spaRjf1_WY0y3DKN4w4ny~xTkzF-Lu9dlS}`j$oaXQKug=@&z1fNI z>Er9(Y8?F5YyO@oX4=MvM`j3NU42yF=BQV|TX$4p!e99c+Ft_e+iY>Zcpa>ylz* zFixpX&6tQ2i7!X>!g8bFy2w5G9ZB;rU$8@mf zM87InNHR2a=hPT4(m}b3{3|f%badT|OaqAxFDCnF18Yg*o1LsGXoUP#Tz&ubzoe-D-EV2WeMhI+3p6=Y z{IRx+9CO>1(7vsq3l#Yr2zu2#%UAg*CKa>(K3oPZF>HmtW+dYiqS}BQaFiX7*Wono zoKJi>a;v_OrkZ#omm$jddoI+Sqa$6`Q*_l1`y{0qYFt!BLep{qw%(5iz*H2}TWplVNJp!I$m8~4Pb+ZD_0LAARW&ow`aToC)xFBfTB&2PItxvv+E~r;d3YKW^ z&#w`B#-A7 zg~;OHxg!Ug3(~so-fEm~QmW8ik8!^?+VnxgNSdrOvVv9}ohT2FI#qJqrs$n0ZH(^k zPPd4|inaPnYQ%S73P^2}Tm_8Rsb^44Yv6JuVcLq#%5pYx!W5qH8Vu|NMf7bHR3wc} z;m*#e0U=s-df>)JKw(D%9GLyRp2S(?h}VpKcKOOZFtFQJx>epbbc&;5*0Aiaq|S<% z@^9jjMXf0=sAI1Q0#<3TW8(yULv<;};Sxcquqs&W^wf0P5PYoIg@NCloQ#Iw#=HY` zJ)53>WxpJ8^xVRoW5CP@jHYsQn(W3Z=JoE4ovJpQKd(gn06i;3Sn)9%C@Sn5)dO%m z4@q_M6+FgpDyf#j2y~R=3_Iwh_26q6iZo7KvHs?y3q8ChF2-<#|2+G#5qZxtWAaX( zx-n2NRqq~aHT>*a4l9G?_r)sD5d5_|lW<3iZ6m_Z;DR zjVQQG2MON3kOl_piI3vJaXpahyzaslzN||uec=cnFb1)FQo51J_vbw_%q1Ql{CJVO zRkA;_TVu(HT_w45B{%u6Znllw52AYra^NY{07}*Kg!38N&OVyX%psCI<==De z%4bfr7poPItT1VHH0`>iZyaK#*-&`0IqugD|2Ev}|8RPb z{ieMA0!T&sR_%y|U_r)MdG*i5{NUtN{-pZAs+w_mQ8ZOW-G6`q{!+F zX$KeoflTP9$J^!$*z|919N{-QM&|@30b;fg=d0~uG|^FLN-NjjIOG-0qWLxdoB_+W zPCTgE3DWL*t88XGYIxC|iVPoxVYMr|zExr#SDH&Bi8aS3Nig>XHc#8F)e@-*ZL3u@ zGJW7>MyQ2hLxHTWV`Rdh&ZzTk2TXo~JnSOwGkCGAdV0kbuF%0H%)f z6h47bGT0+*sI676C&-=T%(h5t{zO+gjQvFd`hl zM_CS^=1)cjC(Dh1rj1Dj)@zz&ug^nU>W8-p3r*z8?>Ua=p|6^dazeT-1KP?iT{LfU zNK`)ps!uPSLay@H#J?4p3%t?^;sy*6Vlm)r{t(LG>+Zv+XO93&d0DO3Wsr!{DhAw1 zQ=w!$t9jFE1YMqjOSno@T1&Ny1ImCJ%lb}D1z<;urXeCXe(#Y2S4p0uIe`)3Q^yO^ zN3OpZv$yw-OVOMsgz&mXPK+9gZ=S<9RMsR(GMl-yzr-)srayF54P#D*gt2-l*ZXq1 zolyXfD((BE#@m1{%KO{O`Ss_sWAYOBH08?~Yb|!}%hl}cQn`dLF@4?n2R2)xtS6a}B;#RE;4{PR@)xiKjPPjSb^pChs4@6f~&sTzq|Uyicz)ss(C{?DzkV zs&kCZtP8_+F|}>$EvB|@+qUiYt!>-3ttn?}+nCzsoPI|+=g(frPIj`gm6d1R&vkK8 zD>2tlt$6Y+vB_~&W+p_D)`W(qkg4{HfWlN@1Ot^LbgHCQs(xSL>fMH9{!K930Z`I~ zO7OTPGpm zVBoTcxa#jaq18Uvq_iT}=h6zzKM)rQa>|aCtLUPB-Pprju$6KOdC5HOSD#4I1d%p% z&RodcE&16<8otWLSf)a%HEBAtMI*dt&|IthLe||K?)CbO>#2w-=#W}2w`vizZRM|> zYq=~6AvN{Vyen5o8+uXlv(OF6KnqFQu zGxX5;YoY%iDVP7bj{x6}UkrM{Ht?zcs|e5MQmj4FO?eNm?1uX^T8M0|#pbLe{0x=V zJFDf0q0d?oIFm=|r6=_lcQ;2YBbO2wYZu~fbIsg>Vh*r_L@kuf4orE}u=3RQSY^~g zhyF0JZ*G_y+m?0W*h`bOF&=&$!=ehU0k)Ma z=guCFPnJoc*|l5TE@ZckBQZ%F`{|$SYdNhcIeaRO(5A6(g~ji}&_YnLGoFEz zt#t@4s;K{HtA^#pAO1B<%Z6*=Y-v`Y!6b2yLU@@N`%U-I5ZaV50Sh;H^aEu0%MMqx z_2`y(%BhvkPV~wTpcV%|jTWPkI%}DhqRDXlb`fG7c0)NL^*zs3uX+7QeWoBWr(9w- z(1;woNjGkY)vJUC-VVyqBL z2bUiFc@8v}PeBVA1(uze$n42E*?6duPd?LFzf`CZ3sc}XU9=`C@NYdRBbi}oUj>V8 zU9DSssjGL**;Wwd$Wsd?_||5{cxO5*Q=qOGF~1jYN5BWqlTi~rUg1NimjsbBjGvYU zU%nSVND*Mu@2vH5Sbh{Q@l+!5lHLcQIv77=LnfhJH6-7f0j1|_Kh=>b9&7m$_X=*3 zSJx1(tS+v7e+t!!bcjC&<>=#$6c*a53y6vL>0ub~s`QU&muyaCN#w&w6S_&VpYL+4 zhy4BMKrz)AgRcRk2~_gnH?_RBW`|^o`kx*mN`&9bm-9oTJx#JjuQmhz2>^S9A)>~6aSY<~cfJLc~R6jdk{dS*0)r%K1gODhQjoU=X- zb8WM5ju_G}M1!D+gjr6m}&Zl5>Ch!x*q~0@^FvP)4c)s4suJ~=AVe7LZeD_q9q3_)#r+}Dj3PpXTY&1 z=H5ugI+pVByiH@MI2WBWRV{>M;Z29GgkRcZh9XS*7#-QMo3Z~=m-su(BnqwyDp7&m zjp{@}-s~S&DLD8zexXZ>O{@CH{%0RDO2Ii+#-bHt$a;tjKUY>87&QQT?e#6t9CoY? z2Dq5ryHQlwou#X$fZ$`RjEt;UE;%%#2mOBTvb?v)9P%dE`N$0PX9x)r`aDwvy2Au0 z9Woa{>1ogn3n>?qZtB3UxTr7gA$Fp=s4R6aQHLj0Sx4Y?SBP7V@$D4b!wtmI&}l!o z-r3RQZ4Z6#NF19hNRlCNIm%~_Bdn35)2IfmcY>`k0ydxk;6iE9c6fta@zWNxMTlt& zBDV5WwSbQUfiDE-?1`TL>V;^a%;|}a-?<1jW=59(w`_R%jY+=f_+OZ0Y_V%7#tg9l zA8=Ew-HRZ)@uRcu|H(-nZ?lb7UMrHem?j{`UUbdBdZLQ_1|>@YKd;kY_HXiEobM*q z27F(DYtUZe>-#@JpnE}1;e97((qO0`k2D>1hoz*(a)ex%>i@!cgfvBL!2) zgET2aM_F!JkrDc5F=tFkgDlN+sisO0RsobP!UO7qR5h~5{njt-C^v3#{qMfB#2Kod zF7Qq+K}PHQQ@}*DN#{4;upl4Gn=&!yjPGt%LMawQ;?fKzPw*VwNW#eaKByRDRu>2= z8I1Vh#yn2rO=Gs$HFFg5d)>sRP9QY zwH)<%ip)m;>j#jv%M2Pwv>n=L@u!w7O66R0n!FWw#_8o@oN%Wg0X)Ny9>l;kPi+@v zUJa=(-&R&-Xrs*3jE=A0}eekjv*VddsSsS57gCzLMvZZXB8#E7Q` z)+DFk8FytOGCCY9zKl)JJn69+=u0YfIL`E%y(?MvBB))G^6z{I#~PFLBg|0DATvdt z2HD$EJ{aR=(r<7WV%3ii<;V0X>daKB$66?pPoO^*QFpk|qNabTCHpS)>lp!9tG`(U zN(?dQs-TjmDH*_nd5i;!IO_!N^J5P=2IV4KB%z+kwtF`|cRlvZYIZ%?q-T}6`&Jlr zY2t(|r2Ge){hVQOZ?&E<)-e7ED^2N9w?%y%bjl2<(3?$ffu2U3aN3lT2 zRv>IF>9N051!x2m9n2#`YRFp7d?le*o-zoP!G{Y5fjS}7`W2~X4nclBeWOW|-p+Z! zsVouFZD2q%oSNcbv)TD99qAT+bhO&}b+>GNy=; zry_|*nW#}BydiKSAlRXyhj~cl@K4;LpVk)#OEidgS>ZwjZKu|H5F36_zVK}<+4}7w za;l$5$p~~3g3$4Id{IpdP(P1hf&;Cao#wBT47y(!2vDg9x=ag2M2ba~snC2o2Qqhl z%DjFGS#6XcbSx|Tu!>bR+#0%i_Q?D8T3U2*k#WB0%5TZnQ;JbEG>a*WTNJ}Xp5lOa z5h;mDPVuH^(B1#Vsfd+Y=x-<9dTdoUL#L&cT^1!h&q&DVpjx?Du4DT$!3A~>@KT~Y zdA7>NsfG*Dp=(;!1@kHoJR1sQ;kQWPz`W^)xd%xh7&jS0(fl$-9|Xi&w00sz6EG8y znw0OKUxAfjMu*lim4!PCvFJC9N_UP-`VdA!!cEM$Cc?%CPg2AGm1thn0gK|24qtUy zHc2V#mGrn#8_MfHTF&#D>oy} zOM@?cZ!rbnUK&O5B`JWO_+T75N&#IV&^_5l!jkpy z>@r%gN93|j%%~|b#BZ(Vk?!SOTL;*jJRNe;L=E6334X$@E9U-meE%WN#4-mCksj$2 zQBbB=I;A^^H<)7)8+&cJYfd zsHRqv9Px980P1L``zAEt;@?18!t`BnZl%dkNxj*v$+sYS7K{-VnKC8u^IO{!z%deGq`0Lz*b@jw39CZW%`*!G zJiq7RC~xnaU5w73ZY9mL$w)+LQV-5FUV6n>ratE|`GDfNN2C2C{BUJDqjyl+^9{m3 z^3rD$evny$pK-p&tuuYUn6Y$QKU->Wld-f8?{5j;0Vc$95_R?3aK20uZgl@e*vP5< z40W;vKY)fk{>^>7`tLXg$UY6)N^n3P;bIGZoRXQaqFb`4Y&4*hmbValC|EdxONCPw zbVfu%Da74fhE|Yo72_&5m+sCK#H13bxWFoC4qP2N?H*A-SW58iMp!aQ`MsNIUUV zG=7P0+qmeR+W^~KG|w9O*k3F0l{@{tbm@L!;S8N2QkF1Z@^nLH*oJ77v@iE+Ey?yM_ArB1^=P zs&Ou7OBL)?l7IrTH~Y?(p23(OzbzJ5YsRA;>TT_h3nTd1&)Y!+rm!o)c_Ww!(h^L8 zH#@ma`|(Z6P>gwVxtTM~Fqlc7@btMPV5Gu)!nsz5X~u}}hUvtgA92QCFH-iT3@R1V zOG9t?TCZi?seq7Ynvqw%nG6y0rPce4(p-K;`9>n;UuJbe9J%8KaQ2l_6cjR8#gviq zIN6ug5nl1aduA_?UNt+}P@QagIt+F7tBX-b_V_{Ly_&k@8A|mtszu6J!@Nn9G9U9DOv2bcv z7`OA7vJ3_VmNKG|gP6q?>BRb4Lwl5WiyTFIc%;6a(WJWq|oH z_lMD*R&eq{1AwbjBmR8X7TAC?-sSvwNR`o(`4Fkbm7&wZZ077&O;H6Tpb8jXvD(ld zHSuigu!T=cKK|JKTU{90RjU%GC1q}%FqkS1J!`AJ;q%MOD>A{_W=>&f0TWCCGQ?8R z7#S>aXEwx8_{kZ*@g;WoDdGbvv3#tyt@PzaI+%&1HH@GspI270zit`n9hXG{uw0z*QZI%wqVTB|X`@ViaayfYy{dmhp?$6fW5=Z0*7E!eWkG z$mp%7#E}3Qj94(yv}IUoG_>@=F;}Uje6Gpgu+k`k>+Lu0wShL1uQiVHn8jo%iqhRB zk$#e_$m#_X6SeO+Vkx^tkXGFhSm$ceh+NX6;wefrjzTfBnq}JBKqJk#c^Μ*Tcg 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

1Y2U_xY@q3=~OImA48rL8fROFoLN|WUB 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%0DtlAF)oO8uKIM=-W9DRG3rrk+VD) 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

|H&f$ck104V%a76dY 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 (q-t7AT{%b=A&K(4BTJ{nX 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∋+rK4?)ov$^F0Hz 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�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�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�U4(_f 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≷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 78e4420a3e496c43db8e06556e539fd7d2aaf231 + +四问的求解核心已整理为约 $5000$ 行的单文件程序,并按四问主线在附录中列出核心函数 +与一句话说明;评测机、命令行外壳、采集与绘图脚本、测试以及未被采用的方案不计入正文。 \vspace{0.4em} \noindent{\heiti 关键词:}有界误差;交会定位;最小包围圆;主动测量;定向覆盖 diff --git a/docs/paper/sections/appendix.tex b/docs/paper/sections/appendix.tex index 32cd847..d907c6d 100644 --- a/docs/paper/sections/appendix.tex +++ b/docs/paper/sections/appendix.tex @@ -33,28 +33,17 @@ python scripts/audit_paper_formal.py --snapshot docs/paper/data/formal-results.j \toprule 文件或目录 & 用途\\ \midrule -<<<<<<< HEAD -\pathtext{src/mcm26b/} & 几何计算、集合估计、覆盖优化、任务排序与通信实现\\ -\pathtext{src/mcm26b/guarantee/plans/} & 第四问站点方案与离散验证参数\\ -\pathtext{scripts/audit_paper_formal.py} & 正式文件核对、统计计算与表格生成\\ -\pathtext{scripts/build_paper_support.py} & 矢量图、源码附录与支撑包生成\\ -\pathtext{docs/paper/data/} & 六个正式案例的统计快照、表格及校验值\\ -\pathtext{docs/paper/sections/} & 分章论文源文件\\ -\pathtext{docs/paper/figures/} & 几何示意图与正式耗时图的矢量源文件\\ -\pathtext{Jammers-simulator-full/test/} & 六份原名官方正式日志\\ -======= \pathtext{src/mcm26b/} & 四问几何、信念、覆盖、调度与串行通信实现\\ \pathtext{src/mcm26b/guarantee/plans/} & 第四问已实现的覆盖计划及验证参数\\ \pathtext{project/} & 最优与基线配对对比框架及其冻结基准集结果\\ \pathtext{scripts/audit_paper_formal.py} & 正式文件对应核对、匿名快照及表格复算\\ \pathtext{scripts/build_paper_support.py} & 对比表、矢量图、源码附录与支撑包生成\\ \pathtext{scripts/build_figure_data.py}、\pathtext{scripts/matlab/} & 插图数据准备与 MATLAB 出图脚本\\ -\pathtext{docs/paper/data/} & 仅四个所选正式案例的可读统计、表格及哈希\\ +\pathtext{docs/paper/data/} & 六个正式案例的可读统计、表格及校验值\\ \pathtext{docs/paper/sections/} & 分章论文源文件\\ \pathtext{docs/paper/figures/} & 正式累计耗时图的矢量源文件\\ \pathtext{docs/figures/} & 正文插图(PNG)及其数据清单与生成命令\\ -\pathtext{Jammers-simulator-full/test/} & 四份原名官方加密正式日志\\ ->>>>>>> 78e4420a3e496c43db8e06556e539fd7d2aaf231 +\pathtext{Jammers-simulator-full/test/} & 六份原名官方正式日志\\ \pathtext{support-manifest.json} & 支撑包文件清单及逐文件 SHA-256\\ \bottomrule \end{tabularx} @@ -66,9 +55,13 @@ Python 运行时需要 \texttt{requests},\texttt{numpy} 提供可选加速。 在线测试由模拟器界面启动,接口就绪后执行策略入口。 具体运行指令和编译步骤见支撑包的 \texttt{README.md}。 -\section{完整程序源码} -以下列出当前策略、配套模块及论文数据处理程序的完整源码。 -附录通过生成的显示副本将数学符号转换为 LaTeX 命令, -支撑包保留对应的可执行 Python 文件。 -实验结果见正文正式测试表及附录A的数据清单。 +\section{核心程序代码} +四问的求解核心集中在约 $5000$ 行的单文件程序中,按\textbf{公共层、几何与集合估计层、 +覆盖保证层、策略层}四层组织;评测机、命令行外壳、数据采集与绘图脚本、 +单元测试以及未被采用的方案不属于求解核心,不在此列出。 +完整可执行程序为支撑材料中的 \pathtext{mcm26b-核心代码.ipynb}, +\pathtext{src/mcm26b/} 保留与之逐字对应的模块化版本,两者函数名一一对应。 +下列代码为无改动的摘录:函数体与注释与程序一致,只按核心程度取舍。 +未收录的部分包括独立评测机(按附件协议复现模拟器,与求解代码零耦合)、 +命令行入口、数据采集与论文绘图脚本、单元测试,以及经实测未采用的候选方案。 \input{data/source-listings} diff --git a/docs/paper/sections/comparison.tex b/docs/paper/sections/comparison.tex index 017c25a..b15deb8 100644 --- a/docs/paper/sections/comparison.tex +++ b/docs/paper/sections/comparison.tex @@ -2,7 +2,7 @@ \subsection{对比口径与有效性判定} 本节数据来自仓库内的配对对比框架 \pathtext{project/}, 用于回答上述几何判据与闭环策略相对朴素做法改进在哪里; -它与第~\ref{sec:formal} 节的四份官方正式导出完全分开,两类数字不合并、不相加。 +它与第~\ref{sec:formal} 节的六份官方正式导出完全分开,两类数字不合并、不相加。 框架设三种角色:\textbf{最优实现}直接复用 \pathtext{src/mcm26b} 中已由测试固化的生产代码, 只增加输入输出适配;\textbf{基线实现}是同题下更朴素但能独立跑通的对照, 不共享最优实现的关键步骤;\textbf{独立参考}与分析算法正交,用于判定谁对谁错。 @@ -116,7 +116,8 @@ \end{tabular*} \label{tab:projq3} \end{table} -三种方法在 $\ProjQThreeScenes$ 个冻结场景(源数 $10$、$13$、$16$,种子与源数版本化) +表~\ref{tab:projq3} 汇总三种方法。它们在 $\ProjQThreeScenes$ 个冻结场景 +(源数 $10$、$13$、$16$,种子与源数版本化) 上全部完成全清,缺席误判均为零,差别只在时间: 默认 \texttt{bayes} 平均 $\ProjQThreeMeanOpt$ s, 七点批量 \texttt{seven} $\ProjQThreeMeanSeven$ s,$49$ 点网格 \texttt{grid} $\ProjQThreeMeanBase$ s。 @@ -144,7 +145,7 @@ \end{tabular*} \label{tab:projq4} \end{table} -$\ProjQFourScenes$ 个场景取自 core 与 boundary 两组, +表~\ref{tab:projq4} 汇总三种方法。$\ProjQFourScenes$ 个场景取自 core 与 boundary 两组, boundary 全部是背离圆心发射的边界定向源,属最不利工况。 \texttt{directional} 在 $\ProjQFourValidOpt$ 局上全部有效,全清率 $\ProjQFourClearOpt$, 平均后备清除 $\ProjQFourFallbackOpt$ 次,对应遮挡导致的定位停滞。 diff --git a/docs/paper/sections/q1.tex b/docs/paper/sections/q1.tex index 0a597e7..1da7b9f 100644 --- a/docs/paper/sections/q1.tex +++ b/docs/paper/sections/q1.tex @@ -95,9 +95,6 @@ $D\le\norm{a-z}+\norm{z-b}\le D$。 等号迫使 $z=o$。反之,圆盘为凸集,包含全部顶点即包含它们的凸包。 \end{proof} 若条件不成立,输出圆外顶点及超出量 -<<<<<<< HEAD -$e=\max_v\norm{v-o}-D/2$,用于量化该圆盘的覆盖误差。 -======= $e=\max_v\norm{v-o}-D/2$,即得到可独立检查的否定证据。 不能仅以直径端点在圆周上判断整个区域被覆盖。 图~\ref{fig:q1geometry}(a) 给出一组三点交会算例:左图为三条前向角域及其交集, @@ -107,7 +104,6 @@ $e=\max_v\norm{v-o}-D/2$,即得到可独立检查的否定证据。 而最远顶点到圆心的距离为 $12.602$ m,故直径圆并不覆盖定位区域; 其最小包围圆半径为 $12.069$ m,满足 $20$ m 的清除判据。 这说明直径不超过 $40$ m 与能否清除是两个不同的判据,覆盖判定必须逐顶点检查。 ->>>>>>> 78e4420a3e496c43db8e06556e539fd7d2aaf231 \subsection{反例与可清除半径} 构造等边三角形 @@ -122,26 +118,6 @@ $40/\sqrt3\approx23.094$ m,同样大于清除半径。 \begin{figure}[htbp] \centering -<<<<<<< HEAD -\begin{tikzpicture}[x=0.095cm,y=0.095cm,font=\small] - \fill[inkblue!10] (0,0)--(40,0)--(20,34.641)--cycle; - \draw[thick] (0,0)--(40,0)--(20,34.641)--cycle; - \draw[warmgray,dashed,thick] (20,0) circle (20); - \draw[inkblue,thick] (20,11.547) circle (23.094); - \fill (0,0) circle (0.6) node[below left] {$A$}; - \fill (40,0) circle (0.6) node[below right] {$B$}; - \fill (20,34.641) circle (0.6) node[above] {$C$}; - \fill[warmgray] (20,0) circle (0.6) node[below] {$o$}; - \fill[inkblue] (20,11.547) circle (0.6) node[right] {$m$}; - \draw[->,warmgray] (49,-14)--(35,-13); - \node[anchor=west,warmgray] at (49,-14) {直径圆:$r=20$}; - \draw[->,inkblue] (49,24)--(41,22); - \node[anchor=west,inkblue] at (49,24) {最小包围圆:$\rho=40/\sqrt3$}; - \node at (20,-26) {$AB=BC=CA=40$ m}; -\end{tikzpicture} -\caption{等边三角形的直径圆与最小包围圆。} -\label{fig:triangle} -======= \begin{minipage}[t]{0.49\linewidth}\centering \includegraphics[width=\linewidth]{geo-q1-convex-intersection-zoom.png} \end{minipage}\hfill @@ -154,7 +130,6 @@ $40/\sqrt3\approx23.094$ m,同样大于清除半径。 (b) 等边三角形解析反例,虚线直径圆 $r=20$ m 不覆盖顶点 $C$, 实线最小包围圆 $\rho=40/\sqrt3\approx23.094$ m 覆盖全部顶点,不是模拟器观测。} \label{fig:q1geometry} ->>>>>>> 78e4420a3e496c43db8e06556e539fd7d2aaf231 \end{figure} 该形状可由题设的 $\pm1^\circ$ 角域构造出来。例如检测点 diff --git a/docs/paper/sections/q3.tex b/docs/paper/sections/q3.tex index e48a6de..2868276 100644 --- a/docs/paper/sections/q3.tex +++ b/docs/paper/sections/q3.tex @@ -1,23 +1,10 @@ \section{问题三:全向多源的覆盖搜索与滚动调度} \subsection{统一时间目标与任务状态} -<<<<<<< HEAD -设整个会话移动距离为 $L$,检测、换频、成功和失败清除次数分别为 -$N_m,N_s,N_c^+,N_c^-$。忽略每段移动时间的微秒量化时,总虚拟耗时为 -\begin{equation} -T=\frac{L}{5}+5N_m+N_s+5N_c^++3N_c^-. -\label{eq:time} -\end{equation} -优化目标是在全部源清除的约束下最小化 $T$。 -题目统计的平均定位清除时间为 $\bar T=T/N_c^+$,包含搜索、定位与清除的全部耗时。 -清除请求中的频道指定操作对象,测向机保持原频道; -进入与退出的虚拟耗时为零,因此采用终点自由的开放路径模型。 -======= 按式~\eqref{eq:time} 的计时记账,优化目标是在全部源清除的约束下最小化虚拟耗时 $T$。 题目统计的平均定位清除时间是 $\bar T=T/N_c^+$; 不能用每次清除动作的固定 $5$ s 代替。 清除请求中的频道是目标频道,不改变测向机频道; 进入与退出均不增加虚拟时间,因此路径终点自由,无需返回原点。 ->>>>>>> 78e4420a3e496c43db8e06556e539fd7d2aaf231 各频道的状态按“未知、已发现、可清除、已清除、已证无源”管理。 首次获得 $\direction$ 或 $\near$ 即确立该频道存在源。 @@ -57,7 +44,6 @@ $r^2+a^2-\sqrt3ar$。 \begin{figure}[htbp] \centering -<<<<<<< HEAD \begin{tikzpicture}[x=0.0019cm,y=0.0019cm,font=\small] \begin{scope} \clip (0,0) circle (1800); @@ -82,14 +68,10 @@ $r^2+a^2-\sqrt3ar$。 {$a=1159.7$ m\\$R=1800$ m\\最坏距离 $\le984.539$ m}; \end{tikzpicture} \caption{七点全向覆盖的站点构造与接收圆盘。} -======= -\includegraphics[width=0.42\linewidth]{geo-q3-seven-point-coverage.png} -\caption{七点全向覆盖构造。站点取自配置参数 $a=1159.7$ m, -圆圈为 $1000$ m 接收盘,最差点位于 $(0,-1825)$ 附近,最坏距离 $\le984.539$ m。} ->>>>>>> 78e4420a3e496c43db8e06556e539fd7d2aaf231 \label{fig:seven} \end{figure} +图~\ref{fig:seven} 给出站点构造与最小接收圆盘的关系。 顺次从原点访问六个环站的开放路径长为 $6a$。 任务总路径由覆盖站间移动以及定位、清除所需的局部移动共同构成。 @@ -209,9 +191,6 @@ C(\pi)=\frac{\norm{p-q_{\pi_1}}}{5} 当前每轮追加有效定位测量上限为 $8$; 停滞、协议异常或预算耗尽时,记录各频道状态并终止。 程序以接口返回的现实预算为准,并预留退出时间, -<<<<<<< HEAD -虚拟动作耗时以整数微秒累计,程序运行时间由官方统计单独记录。 -======= 实际计时在整数微秒状态上累计,避免用实机运行秒数代替虚拟动作耗时。 \subsection{运行过程示例} @@ -228,4 +207,3 @@ C(\pi)=\frac{\norm{p-q_{\pi_1}}}{5} 该局为演练案例,非正式测试记录。} \label{fig:replay3} \end{figure} ->>>>>>> 78e4420a3e496c43db8e06556e539fd7d2aaf231 diff --git a/docs/paper/sections/q4.tex b/docs/paper/sections/q4.tex index 9596f10..fd5e8ba 100644 --- a/docs/paper/sections/q4.tex +++ b/docs/paper/sections/q4.tex @@ -182,11 +182,6 @@ $N_{\mathrm{cell}}\,t_{\mathrm{RTT},95}+t_{\mathrm{reserve}}$。 \item 覆盖任务结束后处理未解决频道;主动退出时报告清除数及停止依据。 \end{enumerate} \end{algorithmblock} -<<<<<<< HEAD -问题四采用站内批量检测与最近邻任务排序。 -算法结合位置集合、朝向约束和剩余预算确定测点及清除顺序, -并以各频道的处理状态作为终止时的输出。 -======= 问题四使用“本站批量扫频、最近候选圆心服务”的调度骨架, 并未直接复用问题三的统一信息增益任务表。 若要求严格的混合源全清证据,除采用连续覆盖计划外, @@ -208,4 +203,3 @@ $N_{\mathrm{cell}}\,t_{\mathrm{RTT},95}+t_{\mathrm{reserve}}$。 紫色半盘为定向源的前向可见区域。该局为演练案例,非正式测试记录。} \label{fig:replay4} \end{figure} ->>>>>>> 78e4420a3e496c43db8e06556e539fd7d2aaf231 diff --git a/docs/paper/sections/results.tex b/docs/paper/sections/results.tex index 8f0dc84..696eed8 100644 --- a/docs/paper/sections/results.tex +++ b/docs/paper/sections/results.tex @@ -1,21 +1,11 @@ -<<<<<<< HEAD -\section{官方正式测试结果与时间分解} -\subsection{实验数据与评价指标} -实验采用官方模拟器 \pathtext{Jammers-simulator-full/test} 目录中的六份正式导出, -包括问题三、四各三次测试。各文件经 SHA-256 校验后,与官方原始导出、 -结果侧文件及正式统计记录建立对应关系\cite{formal}。 -案例编码与文件校验值列于附录~\ref{app:data}。 -======= \section{官方正式测试结果与时间分解}\label{sec:formal} \subsection{数据选择及对应关系核对} 本节实验样本严格限定为官方模拟器 -\pathtext{Jammers-simulator-full/test} 下四个正式导出包。 -问题三、四各有正式序号 $1$、$2$,文件名及案例编码见结果表和附录。 +\pathtext{Jammers-simulator-full/test} 下的六份正式导出包,问题三、四各有三次。 +文件名、案例编码与完整包校验值见结果表与附录~\ref{app:data}。 本节表格不采用 \texttt{project/results} 中的自建评测数据, -也不将历史演练案例当作正式测试补入; -自建配对对比与演练局示例分别在第~\ref{sec:comparison} 节和各问的运行过程示例中单独陈述, -两类数据不合并统计。 ->>>>>>> 78e4420a3e496c43db8e06556e539fd7d2aaf231 +也不将历史演练案例当作正式测试补入:自建配对对比见第~\ref{sec:comparison} 节, +演练局示例见问题三、四的运行过程示例,三类数据分开陈述,不合并统计。 评价指标包括清除数量 $N_c^+$、平均定位清除时间 $\bar T$、程序运行时间 $T_{\mathrm{real}}$,以及检测、换频和清除的动作次数。 @@ -68,6 +58,7 @@ $T_{\mathrm{real}}$ 采用官方记录的毫秒值。 \end{tabularx} \label{tab:formal4} \end{table} +表~\ref{tab:formal4} 给出问题四的三次正式结果。 三次测试分别清除 $13$、$10$、$14$ 个源,累计 $\QFourCount$ 个, 平均定位清除时间分别为 $720.171$、$927.130$、$614.884$ s/个。 总虚拟时间之和为 $\QFourTotal$ s,相应的加权平均时间为 @@ -111,13 +102,6 @@ T_{\mathrm{move}} \end{table} \input{figures/formal-time-bars} -<<<<<<< HEAD -六次测试中,移动时间占总虚拟耗时的 $\FormalMovementMin\%$ 至 $\FormalMovementMax\%$, -是主要时间成本。问题三的检测次数为 $105$、$117$、$117$, -问题四为 $349$、$361$、$264$; -混合源案例中,朝向约束增加了观测与位置选择的复杂度。 -因此,后续优化可同时考虑减少移动距离与提高单次观测的信息增益。 -======= 图~\ref{fig:timingmeasured} 按同一记账口径给出一局全向演练的累计时间构成: 横轴为动作序号,堆叠高度为累计虚拟时间, 移动项在整局中占主要部分,清除阶段表现为阶梯状跃升。 @@ -132,18 +116,13 @@ T_{\mathrm{move}} \label{fig:timingmeasured} \end{figure} -四局移动时间占总虚拟时间的 $76.59\%$ 至 $78.02\%$。 -从这一组正式样本看,减少移动是影响总耗时的主要方向, -检测与换频仍应同时计入路径选择。 -由 $L_{\mathrm{eq}}=5T_{\mathrm{move}}$ 得四局等效距离分别约为 -$12.045$、$13.627$、$36.386$、$35.507$ km。 -它们由已量化的移动时间反推,不是独立轨迹测得的长度。 ->>>>>>> 78e4420a3e496c43db8e06556e539fd7d2aaf231 - -由 $L_{\mathrm{eq}}=5T_{\mathrm{move}}$ 得问题三的等效移动距离依次为 -$12.045$、$13.627$、$10.824$ km,问题四依次为 -$36.386$、$35.507$、$35.027$ km。 -该距离由官方时间计数及移动速度计算。 +六次测试的移动时间占总虚拟耗时的 $\FormalMovementMin\%$ 至 $\FormalMovementMax\%$, +是主要的时间成本,减少移动因而也是缩短总耗时的主要方向, +但检测与换频仍需一并计入路径选择。 +由 $L_{\mathrm{eq}}=5T_{\mathrm{move}}$ 反推等效移动距离: +问题三依次为 $12.045$、$13.627$、$10.824$ km, +问题四依次为 $36.386$、$35.507$、$35.027$ km。 +该等效距离由官方动作计数与移动速度换算得到,不是独立轨迹测得的长度。 所有平均值先以官方整数单位求和、相除,最后保留三位小数。 \subsection{实验结果分析} diff --git a/mcm26b-核心代码.ipynb b/mcm26b-核心代码.ipynb new file mode 100644 index 0000000..85c5d15 --- /dev/null +++ b/mcm26b-核心代码.ipynb @@ -0,0 +1,6143 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "9f704249", + "metadata": {}, + "source": [ + "# CUMCM 2026 B 题 · 无线电干扰源的快速自动定位与清除\n", + "## 单文件核心代码(问题一 ~ 问题四)\n", + "\n", + "本 notebook 是四问**生产实现**的自包含整理版:按求解流程顺序排列的算法内核,\n", + "不含评测机、命令行外壳、采集/基准/绘图脚本、单元测试,也不含未被采用的方案。\n", + "\n", + "### 1. 求解主线\n", + "\n", + "| 问 | 任务 | 本文档中的实现 |\n", + "| --- | --- | --- |\n", + "| 一 | 由 ±1° 有界误差示向度交会定位,求定位区域、直径、直径圆覆盖判定、最小包围圆与 20 m 清除证书(并给出直径圆不覆盖区域的等边三角形反例) | `Measurement` / `halfplanes` / `convex_hull` / `diameter` / `smallest_enclosing_circle` / `solve` |\n", + "| 二 | 选择第二个检测点,使目标必被接收且交会角最优 | `first_bearing_candidate_disk` / `CandidateRegion` / `safe_disk_radius` / `select_second_point` |\n", + "| 三 | 全向源:发现全部干扰源、逐一定位清除,最小化虚拟总时间 | `SevenBatch`(对照)与 `BayesLoop`(默认:网格粒子滤波 + 负观测 + 信息增益选点 + 滚动 2-opt) |\n", + "| 四 | 含定向发射源(半盘覆盖):不可见的静默必须与\"距离不足\"区分 | `DirectionalExtension`(定向覆盖最小命中集 + (位置×朝向) 联合信念 + ≤20 m 后备清除) |\n", + "\n", + "### 2. 公共层(四问共用)\n", + "\n", + "- **参数中心**(`ProblemConfig`):题面常量与工程参数的唯一字面量来源;\n", + "- **协议层**:字段表/结果码(`rules`)、纯计时模型(`timing`)、本地状态机(`state`)、\n", + " 传输抽象(`transport`)、会话日志(`log`)、串行幂等客户端(`SimulatorClient`);\n", + "- **信念层**:逐频道保守凸候选集(`CandidateRegion`)、网格幸存集(`ChannelParticles`)、\n", + " (位置×朝向) 联合可行集(`JointBelief`);\n", + "- **保证层**:覆盖账本(`CoverageLedger`)、覆盖计划与证书(`CoveragePlan`);\n", + "- **调度层**:开放路径排序(`nearest_neighbor_order` / `two_opt_open` / `improve_open_path`)。\n", + "\n", + "### 3. 三条硬约束(贯穿全部代码)\n", + "\n", + "1. **保守性**:真源(第四问含朝向)永远不被观测更新删掉——候选集用外切多边形外包圆盘、\n", + " 半平面裁剪带正容差、网格幸存集按 Voronoi 裕量内缩后再删格;\n", + "2. **幂等串行**:一个动作未决不发起下一个;网络失败时原样重发同一 `request_id` 与请求体;\n", + " `accepted=false` 不更新任何状态,其 `virtual_time_s=0` 不是当前时刻;\n", + "3. **计时一致**:预测(客户端)—执行(模拟器)—复算(日志)三方用同一计时模型,\n", + " 按整数微秒累计。\n", + "\n", + "### 4. 与仓库原文件的关系\n", + "\n", + "各代码单元逐字取自 `src/mcm26b/**`,仅做机械化改写(去包内相对导入、去文件 docstring、\n", + "去掉覆盖计划的 JSON 文件读取改为内嵌字面量、去掉未被生产路径调用的函数)。\n", + "本文件可独立运行:只依赖标准库与 `numpy`(可选加速,缺失时自动回退纯 Python)。\n" + ] + }, + { + "cell_type": "markdown", + "id": "dabe0eb2", + "metadata": {}, + "source": [ + "## 0. 环境与依赖\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "47afaab3", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "numpy 加速后端: 启用\n" + ] + } + ], + "source": [ + "import json\n", + "import math\n", + "import os\n", + "import uuid\n", + "from dataclasses import dataclass, field, fields, replace\n", + "from enum import Enum\n", + "from functools import lru_cache\n", + "from itertools import combinations\n", + "from math import cos, dist, hypot, isfinite, radians, sin\n", + "from pathlib import Path\n", + "from random import Random\n", + "from time import monotonic, sleep\n", + "\n", + "try: # numpy 仅作可选加速后端;缺失时全部回退纯 Python\n", + " import numpy as _np\n", + "except Exception: # pragma: no cover - 环境无 numpy 时走纯 Python 分支\n", + " _np = None\n", + "\n", + "print(\"numpy 加速后端:\", \"启用\" if _np is not None else \"缺失(纯 Python 回退)\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "648b9bca", + "metadata": {}, + "source": [ + "# 第一部分 · 公共层\n", + "\n", + "## 1. 参数中心(`config.py`)\n", + "\n", + "题面常量标 `[题面]`,工程参数标 `[工程]`;后者可依演练实测调整,不代表官方规定。\n", + "任何魔法数字只在这里出现一次,其余模块通过 `ProblemConfig` 读取。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "a77d00d5", + "metadata": {}, + "outputs": [], + "source": [ + "Vec2 = tuple[float, float]\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class FieldConfig:\n", + " \"\"\"题目物理世界与协议硬限制。[题面]\"\"\"\n", + "\n", + " omega_radius_m: float = 1800.0 # 目标区域半径,圆心为原点\n", + " channel_min: int = 1 # 有效频道范围\n", + " channel_max: int = 20\n", + " source_count_min: int = 10 # 一局源总数范围(接口不直接告知)\n", + " source_count_max: int = 16\n", + " r_eff_min_m: float = 1000.0 # 有效接收半径下界:no_signal 只能排除该圆盘\n", + " r_eff_max_m: float = 1500.0 # 有效接收半径上界:direction 隐含距离上界\n", + " near_radius_m: float = 5.0 # \"距离过近\"阈值,不返回示向度\n", + " clear_radius_m: float = 20.0 # 清除半径;与定向朝向无关\n", + " bearing_error_half_deg: float = 1.0 # 示向度误差幅度(题设模型)\n", + " bearing_decimals: int = 2 # 返回示向度小数位\n", + " coord_abs_limit_m: float = 2_000_000.0 # 提交坐标的绝对值上限(超出返回 HTTP 400)\n", + " directional_half_angle_deg: float = 90.0 # 定向源朝向两侧各90度覆盖(含边界)\n", + " max_virtual_duration_s: float = 360_000.0 # 虚拟世界限时(100小时)\n", + " max_real_duration_s: float = 1200.0 # /enter 成功后程序运行上限(20分钟)\n", + " test_window_s: float = 1500.0 # 确认开始后的测试窗口(25分钟)\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class CostConfig:\n", + " \"\"\"虚拟世界动作耗时模型。[题面] 附件1表1、附件2第4节。\"\"\"\n", + "\n", + " speed_mps: float = 5.0 # 移动速度;耗时=直线距离/speed\n", + " measure_s: float = 5.0 # 每次检测动作耗时(无论结果)\n", + " switch_s: float = 1.0 # 任意两频道间切换耗时,仅由合法 /measure 触发\n", + " clear_success_s: float = 5.0 # 清除成功耗时 = 光学定位3s + 激光清除2s\n", + " clear_fail_s: float = 3.0 # 未发现可清除目标 = 仅光学定位3s\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class SessionConfig:\n", + " \"\"\"会话与网络策略。arena/robot/request 规则为 [题面],其余为 [工程]。\"\"\"\n", + "\n", + " arena_id: str = \"default\" # [题面] 固定值\n", + " base_url: str = \"http://127.0.0.1:2026\" # [题面] 模拟器默认接口地址\n", + " robot_id_max_bytes: int = 64 # [题面] UTF-8 长度 1..64\n", + " request_id_max_bytes: int = 128 # [题面] UTF-8 长度 1..128\n", + " request_body_max_bytes: int = 65_536 # [题面] 超出返回 HTTP 413\n", + " connect_timeout_s: float = 5.0 # [工程] 连接超时\n", + " read_timeout_s: float = 15.0 # [工程] 读超时;覆盖\"服务器已处理但响应丢失\"\n", + " max_attempts: int = 3 # [工程] 单动作最多尝试次数(含首次)\n", + " retry_backoff_s: float = 0.25 # [工程] 重试退避基数,按 2^n 放大\n", + " reserve_exit_s: float = 60.0 # [工程] 预留退出与故障恢复的现实秒数\n", + " real_rtt_p95_s: float = 1.0 # [工程] 现实单请求高分位估计,预算核算用\n", + " # [工程] 自检/演练实机预算:题面正式测试程序运行上限 1200s 不可延长;\n", + " # 自检经 --real-budget-s 覆盖 LocalSimulator 返回的 remaining_real_duration_s,\n", + " # 默认 1800s(30 分钟实机),用于验证\"限时内持续运行直到找全\"的行为。\n", + " self_test_real_budget_s: float = 1800.0\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class SearchConfig:\n", + " \"\"\"搜索与覆盖规划参数。[工程] 推导依据见 docs/B题建模分析与实施计划.md。\"\"\"\n", + "\n", + " grid_step_m: float = 700.0 # P4 覆盖网格步长;单元对角 700*sqrt(2)≈989.95<=1000\n", + " grid_half_cells: int = 3 # i,j ∈ [-3,3],49 点覆盖 [-2100,2100]^2 ⊇ Ω\n", + " fallback_clear_grid_m: float = 20.0 # P5 后备清除网格;10*sqrt(2)<=20\n", + " # 舍入裕量:服务器对示向度保留两位小数,引入 <=0.005° 偏差 [题面];\n", + " # 不加裕量时合法真源可能被角域裁掉,故库默认与 CLI run 默认一致取 0.005 [工程]。\n", + " bearing_rounding_margin_deg: float = 0.005\n", + " # ---- P3/P4 在线定位与闭环参数 [工程] ----\n", + " polygon_sides: int = 192 # 圆盘外切多边形边数;Ω 近似误差 1800(1-cos(π/192))≈0.24m\n", + " witness_spacing_m: float = 60.0 # 最坏后验评估的边界采样间距;选定后再按 1/4 加密复核\n", + " candidate_rings: tuple = (0.0, 0.4, 0.75, 1.0) # 安全接收盘内候选点的半径比例\n", + " candidate_angles: int = 12 # 每环候选方向数\n", + " clear_margin_m: float = 0.5 # 清除证书的额外工程余量(多边形近似误差之外)\n", + " max_localize_steps: int = 8 # 单频道定位阶段允许的追加测量上限\n", + " max_anomalies_per_channel: int = 3 # 单频道异常记录上限,防止异常刷屏\n", + " # ---- P5 定向扩展参数 [工程] ----\n", + " max_blocked_probes: int = 4 # 定位单轮内被朝向遮挡的探点预算\n", + " # (首次选点+对跖复核+2 次环探;达限转后备清除)\n", + " fallback_max_cells: int = 400 # 后备清除格数硬顶;超过则不盲扫(宽候选集继续定位)\n", + " # ---- 覆盖计划(保证层)[工程,2026-09-12 架构优化 P0-2 / S2 硬化] ----\n", + " # 第四问发现点集:\n", + " # square49 旧的充分条件表(700m 方格,巡回 36.4km);\n", + " # q4_mincover_v1 75m/24 档贪心最小集(31 点,巡回 22.9km)——细网格复检\n", + " # 在 25m/48 档有 125 个 (p,h) 缺口,是采样过拟合解;\n", + " # q4_mincover_v2 **设计裕量**最小集(31 点,r_design=965m、前向角裕量 5°,\n", + " # 搜索分辨率 50m/48 档 + 证书分辨率精细剪枝),\n", + " # 15m/72 档(325.6 万 (p,h))缺口 0,最坏命中 990m,巡回 23.9km。\n", + " # 运行期按同一采样语义复核,未通过即拒绝启动。\n", + " q4_coverage_plan: str = \"q4_mincover_v2\"\n", + " verify_coverage_plan: bool = True # 运行期抽样校验(进程内缓存一次)\n", + " # ---- 第四问定向源联合信念 [工程,2026-09-12 架构优化 P0-3] ----\n", + " # 为已发现的定向频道维护 (位置 × 朝向) 联合可行集:用可见性概率选点,\n", + " # 取代固定 45° 阶梯探点;联合集空即给出缺席证明。安全性仍由凸/网格\n", + " # 清除证书与覆盖证明负责,本开关只影响选点顺序。\n", + " directional_joint_belief: bool = True\n", + " # ---- 第四问定向源探点值函数 [工程,2026-09-12 图论与 DP 方案 S3/D1] ----\n", + " # 旧评分 ``prob_detect/(移动+6)`` 只问\"这点看不看得见源\",不问\"测完剩多少\n", + " # 不确定度\",会反复选中同一个近处被遮挡点。D1 口径:先按可见概率过滤\n", + " # (只保留 prob_detect ≥ ratio×最大值的候选),再最小化\n", + " # E[后验 MEC 半径](q) + λ·(当前位置→q→MEC 圆心 的移动秒数 + 检测)\n", + " # 9 场景 core 配对(修正联合信念朝向规则之后):\n", + " # λ=0.05:后备 6.8 次 / T 9740 s(值函数主导,为信息多绕路)\n", + " # λ=5 :后备 4.3 次 / T 8604 s(移动项主导,可见性过滤 + 就近抵近)\n", + " # 仅移动项(nearest_visible):后备 4.3 次 / T 8602 s,墙钟最低\n", + " # 相对旧 visibility 口径(后备 125.6 次、T 9225 s)三者都更好,且 λ 越大\n", + " # 越优说明本题\"看得见 + 少走路\"比\"信息量最大\"更重要,故默认取极限口径。\n", + " probe_score_mode: str = \"nearest_visible\" # visibility | expected_radius | nearest_visible\n", + " probe_lambda_move_s: float = 5.0 # expected_radius 口径下的移动折算\n", + " # 可见概率过滤:只保留 prob_detect ≥ ratio×最大值的候选再比期望半径,\n", + " # 避免\"期望上有点信息、实际必被朝向遮挡\"的探点。\n", + " probe_visibility_ratio: float = 0.7\n", + " probe_exclude_blocked: bool = True # 已测过且被遮挡的探点不再重复选取\n", + " approach_fractions: tuple = () # D1 抵近点插值比例(0=圆心);默认关闭\n", + " # ---- 后备清除路径优化 [工程,2026-09-12 S4/D3] ----\n", + " # 实测反例:后备清除在命中真源时立即结束,\"整条走格路径最短\"并不是正确\n", + " # 目标——Or-opt 会把真源推到序列更后面。9 场景配对:最近邻 125.7 次失败\n", + " # vs Or-opt 161.4 次(T 8676 → 8940 s)。默认关闭,保留代码与开关。\n", + " fallback_optimize_tour: bool = False\n", + " # ---- 持续搜索 [工程,2026-09-11 用户决策修订] ----\n", + " # 虚拟时间即评测成绩口径(表1:平均定位清除时间):找全证明达成后\n", + " # 立即 /exit,不复扫。复扫保险模式(防缺席证明假设偏差)保留,经\n", + " # `mcm26b run --persistent` 显式开启:只复扫未清除频道,直到清除数\n", + " # 达 16、实机预算耗尽或虚拟安全余量不足。\n", + " persistent_search: bool = False\n", + " virtual_reserve_s: float = 10_000.0 # 虚拟时长安全余量:剩余不足时停止发起动作,\n", + " # 避免触及 100 小时上限被模拟器强制结束\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class BayesConfig:\n", + " \"\"\"P4b 贝叶斯网格滤波策略参数(问题3新策略 bayes)。[工程]\n", + "\n", + " 网格粒子滤波的严格性依赖 Voronoi 裕量:真实源所在格心与源的距离\n", + " <= sqrt(2)/2 * particle_spacing_m,所有 kill 判定都内缩该裕量,\n", + " 因此幸存集永远包含真源(定理见 docs/algo-3-bayes.md §2)。\n", + " \"\"\"\n", + "\n", + " particle_spacing_m: float = 14.65 # 网格间距;Voronoi 裕量 ≈ 10.35m;\n", + " # 全域约 4.7 万格/频道,查询走粗格索引\n", + " # ---- 信息增益评分 [工程,Optuna TPE 调参回填 2026-09-11] ----\n", + " # 原调参记录见 output/q3/bayes-tuning/;当前代码的配对验收记录见\n", + " # output/q3/optimization-20260911/,随机分布与信息评分仅为工程假设。\n", + " score_mode: str = \"entropy\" # entropy=期望 log 幸存占比(信息增益)|\n", + " # radius=期望后验半径(直指证书)\n", + " score_subsample: int = 800 # 期望幸存熵估计的粒子子采样规模\n", + " mc_representatives: int = 7 # 假设真值代表点数(均匀抽取幸存格)\n", + " lambda_move_s: float = 0.05 # 选点评分中移动时间的折算系数(分值/秒);\n", + " # 2026-09-12 配对复跑:0.05 优于 0.0105(20 场均值 −2.8%),\n", + " # entropy 口径下信息项为 O(1) 对数值,λ须小型但不可过小\n", + " # ---- 路线感知探点 [工程,2026-09-12 P2] ----\n", + " # 旧评分只看 current->q + q->MEC,容易选到“信息增益略高但要多绕几百米”\n", + " # 的探点。开启后,在候选评分中加入 q 替换当前位置后对当前任务路线代价\n", + " # 的增量;A/B 以冻结基准集配对验收。\n", + " # 2026-09-12 冻结基准集复跑(18 场景):关闭 3193.1 s vs 开启 3210.3 s,\n", + " # 移动 12339.8 m vs 12446.8 m —— 权重 1e-3 的路线项未带来净收益,默认关闭。\n", + " route_aware_probe: bool = False\n", + " route_aware_insert_weight: float = 0.001 # 路线代价增量的折算系数(小权重,仅微调)\n", + " route_aware_clear_weight: float = 0.0 # 额外 q->MEC 清除接近项(基础移动项已含)\n", + " wide_rings: tuple = (1.0, 1.5, 2.0) # 无保证接收盘时的探索环(× PF MEC 半径)\n", + " # ---- 站点与覆盖 [工程] ----\n", + " station_ring_radius_m: float = 1159.7 # 七点环半径;构造时检验全向覆盖解析上界\n", + " # ---- 发现-定位融合巡回 [工程,2026-09-12 P0-1,实测无效,默认关闭] ----\n", + " # 设想:站点扫频顺带取第二/第三条方位线,取代专用探点。\n", + " # 实测(output/suite/q3-fuse-ab*,20 场景配对,2026-09-12):\n", + " # 仅追加站点方位线:3454.6s vs 3426.9s(+0.8%,检测 +10.8 次,位移仅 −188m);\n", + " # 追加 + 抑制专用探点:4989.0s vs 3426.9s(+45.6%,20/20 场景更慢)。\n", + " # 原因:七站环上只有 2–3 个站能对同一源取得有效方位线,且站间交会角\n", + " # 不足以保证 20m 证书,专用信息增益探点仍然必要;抑制探点只会白等巡回。\n", + " # 代码保留以便复现与后续研究,成绩口径必须保持 False。\n", + " fuse_localize_into_tour: bool = False\n", + " # ---- 任务排序 [工程] ----\n", + " two_opt_enabled: bool = True # 开放路径 2-opt 改进(最近邻打底)\n", + " two_opt_passes: int = 4 # 2-opt 最大改进轮数\n", + " # ---- 精确任务序(Held-Karp,含换频状态)[工程,2026-09-12 S5/T1] ----\n", + " # 任务表典型 6–12 项:|T| ≤ exact_order_limit 时用精确 DP(状态=已访问集合\n", + " # × 结束时测向频道),换频代价精确计入;否则回退 NN + 2-opt。0 表示禁用。\n", + " # 实测(18 场景):精确 DP 3203.2 s vs 2-opt 3193.1 s —— 逐位最优的\"当前\n", + " # 任务表\"在滚动时域下反而略差(贪心排序的次优性起到探索作用),默认 0;\n", + " # 代码与对拍测试保留,可随时开启复核。\n", + " exact_order_limit: int = 0\n", + " # ---- PF 清除证书 [工程] ----\n", + " grid_cert_enabled: bool = True # 允许用幸存集 MEC 颁发清除证书(凸证书之外)\n", + " opportunistic_measure: bool = True # 已停靠位置顺路交会;仍逐频道计费\n", + " # 预测后验半径至少减少 (1−ratio) 才补测;0.5 优于 0.65(18 场景 3205.4 vs 3210.3 s)\n", + " opportunistic_radius_ratio: float = 0.5\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class ProblemConfig:\n", + " \"\"\"聚合配置。各模块函数的第一个默认参数,便于单测替换。\"\"\"\n", + "\n", + " field: FieldConfig = FieldConfig()\n", + " cost: CostConfig = CostConfig()\n", + " session: SessionConfig = SessionConfig()\n", + " search: SearchConfig = SearchConfig()\n", + " bayes: BayesConfig = BayesConfig()\n", + "\n", + "\n", + "DEFAULT_CONFIG = ProblemConfig()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "18c1702d", + "metadata": {}, + "outputs": [], + "source": [ + "@dataclass(frozen=True)\n", + "class ProblemConfig:\n", + " \"\"\"聚合配置。各模块函数的第一个默认参数,便于单测替换。\"\"\"\n", + "\n", + " field: FieldConfig = FieldConfig()\n", + " cost: CostConfig = CostConfig()\n", + " session: SessionConfig = SessionConfig()\n", + " search: SearchConfig = SearchConfig()\n", + " bayes: BayesConfig = BayesConfig()\n", + "\n", + "\n", + "DEFAULT_CONFIG = ProblemConfig()\n" + ] + }, + { + "cell_type": "markdown", + "id": "eb41e595", + "metadata": {}, + "source": [ + "## 2. 协议层(`protocol/`)\n", + "\n", + "### 2.1 规则表与字段表(`rules.py`)\n", + "\n", + "四条指令的字段约束、结果码与 HTTP 错误语义,全部落成可执行数据:\n", + "客户端用它构造并预校验请求,模拟器用同一张表校验并拒绝未知字段。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "52874146", + "metadata": {}, + "outputs": [], + "source": [ + "# ---- 结果码 [题面] ----------------------------------------------------------\n", + "\n", + "NO_SIGNAL = \"no_signal\" # 收不到信号:无未清除源 / 超接收半径 / 定向覆盖角外\n", + "NEAR = \"near\" # 距离 <=5m 且在覆盖角内;不返回 svd_deg\n", + "DIRECTION = \"direction\" # 有信号;附 svd_deg(含 ±1° 误差,保留两位小数)\n", + "MEASURE_RESULTS = (NO_SIGNAL, NEAR, DIRECTION)\n", + "\n", + "CLEAR_SUCCESS = \"success\" # 20m 内发现并清除;耗时 5s\n", + "CLEAR_NO_TARGET = \"no_target_in_range\" # 未发现(无源/已清除/超20m);耗时 3s\n", + "CLEAR_RESULTS = (CLEAR_SUCCESS, CLEAR_NO_TARGET)\n", + "\n", + "EXIT_USER = \"user_exit\" # /exit 成功响应中的固定退出原因\n", + "\n", + "# accepted=false 的响应只含这 3 个字段;virtual_time_s 恒为 0,不是当前时刻 [题面]\n", + "BASE_RESPONSE_FIELDS = (\"accepted\", \"real_timestamp_ms\", \"virtual_time_s\")\n", + "\n", + "\n", + "# ---- 请求字段表 --------------------------------------------------------------\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class FieldSpec:\n", + " \"\"\"单个请求字段的约束。[题面] 附件2 5.1 节与各指令小节。\"\"\"\n", + "\n", + " kind: type # str / dict;数值字段由 sim 按整型/浮点细则单独校验\n", + " required: bool = True\n", + " max_bytes: int | None = None # 字符串字段的 UTF-8 长度上限\n", + "\n", + "\n", + "COMMON_FIELDS: dict[str, FieldSpec] = {\n", + " \"arena_id\": FieldSpec(str), # 必须为 \"default\"\n", + " \"robot_id\": FieldSpec(str, max_bytes=64), # 逐字节等于登录参赛队号\n", + " \"request_id\": FieldSpec(str, max_bytes=128), # 会话内幂等键,新动作用新 ID\n", + "}\n", + "\n", + "POSITION_FIELDS: dict[str, FieldSpec] = {\n", + " \"x\": FieldSpec(float), # 有限 JSON number,|x| <= 2_000_000\n", + " \"y\": FieldSpec(float),\n", + "}\n", + "\n", + "# 路径 -> 除公共字段外的动作字段;/enter 与 /exit 无附加字段\n", + "ACTION_FIELDS: dict[str, dict[str, FieldSpec]] = {\n", + " \"/enter\": {},\n", + " \"/measure\": {\"position\": FieldSpec(dict), \"channel\": FieldSpec(float)},\n", + " \"/clear\": {\"position\": FieldSpec(dict), \"channel\": FieldSpec(float)},\n", + " \"/exit\": {},\n", + "}\n", + "ACTION_PATHS = tuple(ACTION_FIELDS)\n", + "\n", + "# channel 写成 JSON number 1.0 且恰为整数也接受;1.5 返回 HTTP 400 [题面]\n", + "\n", + "\n", + "# ---- 响应字段表(accepted=true 时的附加字段) --------------------------------\n", + "\n", + "RESPONSE_FIELDS: dict[str, tuple[str, ...]] = {\n", + " \"/enter\": (\"max_virtual_duration_s\", \"max_real_duration_s\", \"remaining_real_duration_s\"),\n", + " \"/measure\": (\"measure_result\",), # direction 时另有 svd_deg\n", + " \"/clear\": (\"clear_result\",),\n", + " \"/exit\": (\"exit_reason\",),\n", + "}\n", + "\n", + "\n", + "# ---- 错误语义 [题面] 附件2 5.3 节 --------------------------------------------\n", + "\n", + "STATUS_OK = 200\n", + "STATUS_BAD_REQUEST = 400 # JSON 语法/重复键/缺字段/类型/频道或坐标范围\n", + "STATUS_CONFLICT = 409 # 同 request_id 对应不同动作,或并发不同动作\n", + "STATUS_RETRYABLE = (429, 500) # 流量保护/幂等记录上限、服务器内部错误:可原样重试\n", + "\n", + "\n", + "def http_status_meaning(status: int) -> str:\n", + " table = {\n", + " 200: \"动作已执行,或 JSON 合法但被业务拒绝(看 accepted)\",\n", + " 400: \"请求结构错误;不占用 request_id,修正后可复用该 ID\",\n", + " 404: \"路径未知或不精确(不接受尾随斜线与查询参数)\",\n", + " 405: \"已知路径使用了非 POST 方法\",\n", + " 409: \"request_id 幂等冲突或并发发送不同动作\",\n", + " 413: \"请求体超过 65536 字节\",\n", + " 415: \"Content-Type 或 Content-Encoding 不受支持\",\n", + " 429: \"连接/流量保护触发,或本局幂等记录达到上限\",\n", + " 500: \"模拟器内部错误\",\n", + " }\n", + " return table.get(status, \"未知状态码\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "624c4b89", + "metadata": {}, + "source": [ + "### 2.2 纯计时模型(`timing.py`)\n", + "\n", + "附件示例(105 / 111 / 194 / 199 秒)是唯一权威锚点:\n", + "一次合法动作 = 移动(直线距离 / 5 m/s)+ 换频道(仅检测,1 s)+ 动作本身(检测 5 s、\n", + "清除成功 5 s / 未发现 3 s),逐段量化后**按整数微秒累计**。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "bb132d37", + "metadata": {}, + "outputs": [], + "source": [ + "@dataclass(frozen=True)\n", + "class CostBreakdown:\n", + " \"\"\"一次合法动作的三段耗时 [题面]:移动 + 换频道(仅检测)+ 动作本身。\"\"\"\n", + "\n", + " move_s: float\n", + " switch_s: float\n", + " action_s: float\n", + "\n", + " @property\n", + " def total_s(self) -> float:\n", + " return self.total_us / 1_000_000\n", + "\n", + " @property\n", + " def total_us(self) -> int:\n", + " \"\"\"逐段量化后按整数微秒累计,与官方虚拟时钟一致。\"\"\"\n", + " return sum(round(value * 1_000_000)\n", + " for value in (self.move_s, self.switch_s, self.action_s))\n", + "\n", + "\n", + "def measure_cost(prev_pos: Vec2, pos: Vec2, prev_channel: int, channel: int,\n", + " cost: CostConfig = CostConfig()) -> CostBreakdown:\n", + " \"\"\"合法 /measure 的耗时。移动按直线距离;换频道只看前后频道是否不同。\"\"\"\n", + " return CostBreakdown(\n", + " move_s=dist(prev_pos, pos) / cost.speed_mps,\n", + " switch_s=0.0 if channel == prev_channel else cost.switch_s,\n", + " action_s=cost.measure_s,\n", + " )\n", + "\n", + "\n", + "def clear_cost(prev_pos: Vec2, pos: Vec2, success: bool,\n", + " cost: CostConfig = CostConfig()) -> CostBreakdown:\n", + " \"\"\"合法 /clear 的耗时。\n", + "\n", + " /clear 的 channel 是目标干扰源频道,不切换测向机频道,也不产生换频道耗时 [题面]。\n", + " \"\"\"\n", + " return CostBreakdown(\n", + " move_s=dist(prev_pos, pos) / cost.speed_mps,\n", + " switch_s=0.0,\n", + " action_s=cost.clear_success_s if success else cost.clear_fail_s,\n", + " )\n", + "\n", + "\n", + "def move_time(a: Vec2, b: Vec2, cost: CostConfig = CostConfig()) -> float:\n", + " \"\"\"任意两点间的移动耗时(规划用)。\"\"\"\n", + " return dist(a, b) / cost.speed_mps\n" + ] + }, + { + "cell_type": "markdown", + "id": "0382155e", + "metadata": {}, + "source": [ + "### 2.3 本地状态机(`state.py`)\n", + "\n", + "位置 / 测向频道 / 虚拟时刻的唯一权威是最近一次 `accepted=true` 的响应;\n", + "`/clear` 不切换测向机频道,只有合法 `/measure` 才更新频道。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "01f62290", + "metadata": {}, + "outputs": [], + "source": [ + "class StateError(RuntimeError):\n", + " \"\"\"状态机被以非法顺序驱动(例如未 enter 就 apply_measure)。\"\"\"\n", + "\n", + "\n", + "@dataclass\n", + "class RobotState:\n", + " position: Vec2 = (0.0, 0.0) # /enter 成功后的初始位置 [题面]\n", + " channel: int = 1 # /enter 成功后的初始频道 [题面]\n", + " virtual_time_s: float = 0.0\n", + " entered: bool = False\n", + " exited: bool = False\n", + " action_count: int = 0\n", + " # 预测与实测的偏差记录;strict 模式下出现偏差会直接抛错。\n", + " mismatches: list = field(default_factory=list)\n", + "\n", + " # -------------------------------------------------------------- enter/exit\n", + " def apply_enter(self, response: dict, *, strict: bool = False) -> None:\n", + " self._require_accepted(response)\n", + " if strict and (self.entered or self.exited):\n", + " raise StateError(\"重复 /enter 或已退出后再 enter\")\n", + " self.entered = True\n", + " self.virtual_time_s = response[\"virtual_time_s\"]\n", + "\n", + " def apply_exit(self, response: dict) -> None:\n", + " self._require_accepted(response)\n", + " self.exited = True\n", + " self.virtual_time_s = response[\"virtual_time_s\"]\n", + "\n", + " # ----------------------------------------------------------------- measure\n", + " def apply_measure(self, request: dict, response: dict, *,\n", + " cost: CostConfig = CostConfig(),\n", + " strict: bool = False) -> CostBreakdown:\n", + " self._require_accepted(response)\n", + " if strict and (not self.entered or self.exited):\n", + " raise StateError(\"/measure 要求已 enter 且未退出\")\n", + " pos = (request[\"position\"][\"x\"], request[\"position\"][\"y\"])\n", + " channel = request[\"channel\"]\n", + " predicted = measure_cost(self.position, pos, self.channel, channel, cost)\n", + " predicted = self._advance(pos, channel, response, predicted, strict)\n", + " return predicted\n", + "\n", + " # ------------------------------------------------------------------- clear\n", + " def apply_clear(self, request: dict, response: dict, *,\n", + " cost: CostConfig = CostConfig(),\n", + " strict: bool = False) -> CostBreakdown:\n", + " self._require_accepted(response)\n", + " if strict and (not self.entered or self.exited):\n", + " raise StateError(\"/clear 要求已 enter 且未退出\")\n", + " pos = (request[\"position\"][\"x\"], request[\"position\"][\"y\"])\n", + " success = response[\"clear_result\"] == CLEAR_SUCCESS\n", + " predicted = clear_cost(self.position, pos, success, cost)\n", + " # 频道保持不变:/clear 不切换测向机频道 [题面]\n", + " return self._advance(pos, self.channel, response, predicted, strict)\n", + "\n", + " # ------------------------------------------------------------------ 共用\n", + " def _advance(self, pos: Vec2, channel: int, response: dict,\n", + " predicted: CostBreakdown, strict: bool) -> CostBreakdown:\n", + " # 先完成全部校验再落子:strict 模式下失败时不留半更新状态。\n", + " actual_delta = response[\"virtual_time_s\"] - self.virtual_time_s\n", + " if abs(actual_delta - predicted.total_s) > 1e-6:\n", + " message = (f\"耗时预测不一致: 预测 {predicted.total_s:.6f}s, \"\n", + " f\"实测 {actual_delta:.6f}s ({predicted})\")\n", + " if strict:\n", + " raise StateError(message)\n", + " # 非严格模式:状态仍以响应为准,偏差记入日志供复盘。\n", + " self.mismatches.append(\n", + " {\"action\": self.action_count + 1, \"predicted_s\": predicted.total_s,\n", + " \"actual_s\": actual_delta, \"message\": message})\n", + " self.position = pos\n", + " self.channel = channel\n", + " self.virtual_time_s = response[\"virtual_time_s\"]\n", + " self.action_count += 1\n", + " return predicted\n", + "\n", + " @staticmethod\n", + " def _require_accepted(response: dict) -> None:\n", + " if response.get(\"accepted\") is not True:\n", + " raise StateError(\"accepted=false 的响应不允许更新状态\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "fdea1f06", + "metadata": {}, + "source": [ + "### 2.4 传输抽象与会话日志(`transport.py` / `log.py`)\n", + "\n", + "HTTP 细节与协议客户端解耦:正式运行用 `RequestsTransport`,\n", + "本地评测 / 故障注入 / 日志回放各自替换 `Transport` 实现即可,客户端代码零改动。\n", + "会话日志逐条追加 JSONL(题面要求机器狗程序自行留档指令与响应)。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "75e9e40b", + "metadata": {}, + "outputs": [], + "source": [ + "class TransportError(Exception):\n", + " \"\"\"网络层失败:连接不上、读写超时。动作可能未送达,也可能结果未知。\"\"\"\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class TransportResponse:\n", + " status: int\n", + " body: bytes\n", + "\n", + "\n", + "class Transport:\n", + " \"\"\"最小 POST 接口。同步阻塞,一次一个请求(协议要求串行)。\"\"\"\n", + "\n", + " def post(self, url: str, body: bytes, headers: dict[str, str],\n", + " timeout: tuple[float, float]) -> TransportResponse:\n", + " raise NotImplementedError\n", + "\n", + "\n", + "class RequestsTransport(Transport):\n", + " \"\"\"基于 requests 的默认实现。timeout=(连接, 读取)。\"\"\"\n", + "\n", + " def post(self, url, body, headers, timeout):\n", + " import requests # 惰性导入:仅真正发起 HTTP 时才需要该依赖\n", + "\n", + " try:\n", + " response = requests.post(url, data=body, headers=headers, timeout=timeout)\n", + " except (requests.exceptions.Timeout, requests.exceptions.ConnectionError) as exc:\n", + " raise TransportError(str(exc)) from exc\n", + " except requests.exceptions.RequestException as exc: # 其它请求级异常同样按网络失败处理\n", + " raise TransportError(str(exc)) from exc\n", + " return TransportResponse(response.status_code, response.content)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "ce38cbf0", + "metadata": {}, + "outputs": [], + "source": [ + "@dataclass\n", + "class SessionLog:\n", + " path: Path | None = None\n", + " events: list = field(default_factory=list)\n", + "\n", + " def __post_init__(self):\n", + " if self.path is not None:\n", + " self.path.parent.mkdir(parents=True, exist_ok=True)\n", + "\n", + " def append(self, event: dict) -> None:\n", + " event = {**event, \"logged_at_unix_s\": time()}\n", + " self.events.append(event)\n", + " if self.path is not None:\n", + " with self.path.open(\"a\", encoding=\"utf-8\") as handle:\n", + " handle.write(json.dumps(event, ensure_ascii=False, allow_nan=False) + \"\\n\")\n", + "\n", + " def action_events(self) -> list[dict]:\n", + " \"\"\"仅最终被接受的动作事件(每个 request_id 一条,含重试次数)。\"\"\"\n", + " return [event for event in self.events if event.get(\"response\") is not None\n", + " and event[\"response\"].get(\"accepted\") is True]\n", + "\n", + " def step_events(self) -> list[dict]:\n", + " \"\"\"每步计时事件(客户端 _log_step 写入,按发生顺序)。\"\"\"\n", + " return [event for event in self.events if event.get(\"event\") == \"step\"]\n" + ] + }, + { + "cell_type": "markdown", + "id": "00433092", + "metadata": {}, + "source": [ + "### 2.5 串行幂等客户端(`client.py`)\n", + "\n", + "- 每个新动作使用新的 `request_id`;仅在网络失败后重试**完全相同的动作**时复用原 ID 与\n", + " 原请求体(本类一次性序列化出 bytes 并原样重发);\n", + "- 必须同时检查 HTTP 状态与 `accepted`;`accepted=false` 不更新状态;\n", + "- 逐次等待响应、不得并发;本类完全同步;\n", + "- 现实截止用 `/enter` 的 `remaining_real_duration_s` 建立本地单调时钟并预留退出余量。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "9b89cf0b", + "metadata": {}, + "outputs": [], + "source": [ + "class ProtocolError(RuntimeError):\n", + " \"\"\"协议层失败,含 HTTP 状态与响应体;默认不重试(确定性错误)。\"\"\"\n", + "\n", + " def __init__(self, message: str, status: int | None = None, body=None):\n", + " super().__init__(message)\n", + " self.status = status\n", + " self.body = body\n", + "\n", + "\n", + "class ActionRejected(ProtocolError):\n", + " \"\"\"HTTP 200 但 accepted=false:动作未生效,状态不得更新。\"\"\"\n", + "\n", + " def __init__(self, message: str, body=None):\n", + " super().__init__(message, status=STATUS_OK, body=body)\n", + "\n", + "\n", + "class ProtocolViolation(ProtocolError):\n", + " \"\"\"响应与协议约定不符(字段缺失、值非法、虚拟时刻回退等)。\"\"\"\n", + "\n", + "\n", + "class DeadlineExceeded(RuntimeError):\n", + " \"\"\"现实预算不足:预留退出余量后剩余时间不够执行新动作。\"\"\"\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class MeasureOutcome:\n", + " result: str\n", + " svd_deg: float | None\n", + " virtual_time_s: float\n", + " predicted: CostBreakdown\n", + " raw: dict\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class ClearOutcome:\n", + " result: str\n", + " virtual_time_s: float\n", + " predicted: CostBreakdown\n", + " raw: dict\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class ExitInfo:\n", + " reason: str\n", + " virtual_time_s: float\n", + " raw: dict\n", + "\n", + "\n", + "def _validate_identifier(name: str, value: str, max_bytes: int) -> None:\n", + " if not isinstance(value, str) or not value:\n", + " raise ValueError(f\"{name} 必须是非空字符串\")\n", + " encoded = value.encode(\"utf-8\")\n", + " if not 1 <= len(encoded) <= max_bytes:\n", + " raise ValueError(f\"{name} 的 UTF-8 长度须在 1..{max_bytes} 字节\")\n", + " if any(code < 0x20 or code == 0x7F for code in encoded):\n", + " raise ValueError(f\"{name} 不能包含控制字符\")\n", + "\n", + "\n", + "def _validate_position(position: dict, limit: float) -> None:\n", + " if set(position) != set(POSITION_FIELDS):\n", + " raise ValueError(\"position 字段必须是且只能是 x、y\")\n", + " for key in (\"x\", \"y\"):\n", + " value = position[key]\n", + " if isinstance(value, bool) or not isinstance(value, (int, float)):\n", + " raise ValueError(f\"position.{key} 必须是数值\")\n", + " if not math.isfinite(value):\n", + " raise ValueError(f\"position.{key} 必须是有限数值\")\n", + " if abs(value) > limit:\n", + " raise ValueError(f\"position.{key} 绝对值不得超过 {limit} 米\")\n", + "\n", + "\n", + "def _validate_channel(channel) -> int:\n", + " # 写成 JSON number 1.0 且恰为整数也接受 [题面];1.5 拒绝。\n", + " if isinstance(channel, bool) or not isinstance(channel, (int, float)):\n", + " raise ValueError(\"channel 必须是数值\")\n", + " if isinstance(channel, float) and not channel.is_integer():\n", + " raise ValueError(\"channel 必须是整数\")\n", + " channel = int(channel)\n", + " if not 1 <= channel <= 20:\n", + " raise ValueError(\"channel 必须在 1..20 范围内\")\n", + " return channel\n", + "\n", + "\n", + "class SimulatorClient:\n", + " \"\"\"四条指令的同步客户端。状态只在 accepted=true 后推进。\"\"\"\n", + "\n", + " def __init__(self, robot_id: str, *,\n", + " config: ProblemConfig = ProblemConfig(),\n", + " transport: Transport | None = None,\n", + " log: SessionLog | None = None,\n", + " clock=monotonic):\n", + " _validate_identifier(\"robot_id\", robot_id, config.session.robot_id_max_bytes)\n", + " self.robot_id = robot_id\n", + " self.config = config\n", + " self.session = config.session\n", + " self.transport = transport if transport is not None else RequestsTransport()\n", + " self.log = log if log is not None else SessionLog()\n", + " self.clock = clock\n", + " self.state = RobotState()\n", + " self._prefix = uuid.uuid4().hex[:12]\n", + " self._seq = 0\n", + " self._deadline: float | None = None # 本地单调时钟截止\n", + " self._server_deadline_ms: float | None = None # 服务器时间戳交叉核对\n", + " self._enter_monotonic: float | None = None # 实机计时起点(/enter 成功)\n", + "\n", + " # ------------------------------------------------------------ 公共动作 API\n", + " def enter(self) -> dict:\n", + " started = self.clock()\n", + " payload = self._payload(\"/enter\")\n", + " response = self._call(\"/enter\", payload)\n", + " self.state.apply_enter(response)\n", + " remaining = response[\"remaining_real_duration_s\"]\n", + " if not isinstance(remaining, (int, float)) or remaining < 0:\n", + " raise ProtocolViolation(\"remaining_real_duration_s 缺失或非法\", body=response)\n", + " self._deadline = self.clock() + remaining\n", + " self._server_deadline_ms = (response[\"real_timestamp_ms\"]\n", + " + remaining * 1000.0)\n", + " self._enter_monotonic = self.clock()\n", + " self._log_step(\"/enter\", payload, response, started,\n", + " predicted=CostBreakdown(0.0, 0.0, 0.0))\n", + " return response\n", + "\n", + " def measure(self, position: Vec2, channel: int) -> MeasureOutcome:\n", + " started = self.clock()\n", + " payload = self._payload(\"/measure\", position=position, channel=channel)\n", + " response = self._call(\"/measure\", payload)\n", + " predicted = self.state.apply_measure(payload, response,\n", + " cost=self.config.cost)\n", + " result = response.get(\"measure_result\")\n", + " if result not in MEASURE_RESULTS:\n", + " raise ProtocolViolation(f\"measure_result 非法: {result!r}\", body=response)\n", + " svd = response.get(\"svd_deg\")\n", + " if result == DIRECTION:\n", + " if not isinstance(svd, (int, float)) or isinstance(svd, bool):\n", + " raise ProtocolViolation(\"direction 响应缺少数值 svd_deg\", body=response)\n", + " self._log_step(\"/measure\", payload, response, started, result=result,\n", + " predicted=predicted, channel=payload[\"channel\"])\n", + " return MeasureOutcome(result, float(svd) if svd is not None else None,\n", + " response[\"virtual_time_s\"], predicted, response)\n", + "\n", + " def clear(self, position: Vec2, channel: int) -> ClearOutcome:\n", + " started = self.clock()\n", + " payload = self._payload(\"/clear\", position=position, channel=channel)\n", + " response = self._call(\"/clear\", payload)\n", + " predicted = self.state.apply_clear(payload, response,\n", + " cost=self.config.cost)\n", + " result = response.get(\"clear_result\")\n", + " if result not in CLEAR_RESULTS:\n", + " raise ProtocolViolation(f\"clear_result 非法: {result!r}\", body=response)\n", + " self._log_step(\"/clear\", payload, response, started, result=result,\n", + " predicted=predicted, channel=payload[\"channel\"])\n", + " return ClearOutcome(result, response[\"virtual_time_s\"], predicted, response)\n", + "\n", + " def exit(self) -> ExitInfo:\n", + " started = self.clock()\n", + " payload = self._payload(\"/exit\")\n", + " response = self._call(\"/exit\", payload)\n", + " self.state.apply_exit(response)\n", + " reason = response.get(\"exit_reason\")\n", + " if reason != EXIT_USER:\n", + " raise ProtocolViolation(f\"exit_reason 非法: {reason!r}\", body=response)\n", + " self._log_step(\"/exit\", payload, response, started,\n", + " predicted=CostBreakdown(0.0, 0.0, 0.0))\n", + " return ExitInfo(reason, response[\"virtual_time_s\"], response)\n", + "\n", + " # ---------------------------------------------------------------- 预算控制\n", + " @property\n", + " def real_remaining_s(self) -> float | None:\n", + " \"\"\"按本地单调时钟估计的剩余现实秒数(未 enter 时为 None)。\"\"\"\n", + " return None if self._deadline is None else self._deadline - self.clock()\n", + "\n", + " def _log_step(self, path: str, payload: dict, response: dict,\n", + " started: float, *, result: str | None = None,\n", + " predicted: CostBreakdown, channel: int | None = None) -> None:\n", + " \"\"\"每步计时留档 [用户决策 2026-09-11]:实机墙钟耗时 + 比赛虚拟耗时分项\n", + " (移动=直线距离/5、切频道 1s、检测 5s、清除成功 5s/未发现 3s)。\n", + "\n", + " step 事件不含 response 字段,不会混入 action_events / 虚拟时刻复算。\n", + " \"\"\"\n", + " now = self.clock()\n", + " entry: dict = {\"event\": \"step\", \"path\": path,\n", + " \"request_id\": payload[\"request_id\"],\n", + " \"real_elapsed_s\": round(now - started, 6),\n", + " \"virtual_time_s\": response[\"virtual_time_s\"],\n", + " \"virtual_cost\": {\"move_s\": round(predicted.move_s, 6),\n", + " \"switch_s\": round(predicted.switch_s, 6),\n", + " \"action_s\": round(predicted.action_s, 6),\n", + " \"total_s\": round(predicted.total_s, 6)}}\n", + " if self._enter_monotonic is not None:\n", + " entry[\"real_since_enter_s\"] = round(now - self._enter_monotonic, 6)\n", + " if \"position\" in payload:\n", + " entry[\"position\"] = {\"x\": payload[\"position\"][\"x\"],\n", + " \"y\": payload[\"position\"][\"y\"]}\n", + " if channel is not None:\n", + " entry[\"channel\"] = channel\n", + " if result is not None:\n", + " entry[\"result\"] = result\n", + " self.log.append(entry)\n", + "\n", + " def _check_budget(self, path: str) -> None:\n", + " if path == \"/exit\" or self._deadline is None:\n", + " return\n", + " margin = self.session.reserve_exit_s\n", + " if self.real_remaining_s <= margin:\n", + " raise DeadlineExceeded(\n", + " f\"剩余现实时间 {self.real_remaining_s:.1f}s 不足以预留 {margin:.1f}s 退出余量\")\n", + "\n", + " # ---------------------------------------------------------------- 内部机制\n", + " def _payload(self, _path: str, *, position: Vec2 | None = None,\n", + " channel: int | None = None) -> dict:\n", + " payload = {\"arena_id\": self.session.arena_id,\n", + " \"robot_id\": self.robot_id,\n", + " \"request_id\": self._next_request_id()}\n", + " if position is not None:\n", + " x, y = float(position[0]), float(position[1])\n", + " _validate_position({\"x\": x, \"y\": y}, self.config.field.coord_abs_limit_m)\n", + " payload[\"position\"] = {\"x\": x, \"y\": y}\n", + " if channel is not None:\n", + " payload[\"channel\"] = _validate_channel(channel)\n", + " return payload\n", + "\n", + " def _next_request_id(self) -> str:\n", + " self._seq += 1\n", + " request_id = f\"{self._prefix}-{self._seq:04d}\"\n", + " _validate_identifier(\"request_id\", request_id,\n", + " self.session.request_id_max_bytes)\n", + " return request_id\n", + "\n", + " def _call(self, path: str, payload: dict) -> dict:\n", + " \"\"\"串行执行一个动作;网络失败原样重发,HTTP 确定性错误立即抛出。\"\"\"\n", + " self._check_budget(path)\n", + " body = json.dumps(payload, ensure_ascii=False, allow_nan=False).encode(\"utf-8\")\n", + " if len(body) > self.session.request_body_max_bytes:\n", + " raise ValueError(\"请求体超过 65536 字节\")\n", + " headers = {\"Content-Type\": \"application/json\"}\n", + " url = self.session.base_url + path\n", + " attempts, last_error = 0, None\n", + " while attempts < self.session.max_attempts:\n", + " attempts += 1\n", + " started = self.clock()\n", + " self.log.append({\"event\": \"attempt\", \"path\": path,\n", + " \"request_id\": payload[\"request_id\"],\n", + " \"attempt\": attempts, \"request\": payload})\n", + " try:\n", + " result = self.transport.post(\n", + " url, body, headers,\n", + " timeout=(self.session.connect_timeout_s,\n", + " self.session.read_timeout_s))\n", + " except TransportError as exc:\n", + " last_error = exc\n", + " self.log.append({\"event\": \"transport_error\", \"path\": path,\n", + " \"request_id\": payload[\"request_id\"],\n", + " \"attempt\": attempts, \"error\": str(exc),\n", + " \"elapsed_s\": self.clock() - started})\n", + " if attempts < self.session.max_attempts:\n", + " sleep(self.session.retry_backoff_s * (2 ** (attempts - 1)))\n", + " continue\n", + " if result.status in STATUS_RETRYABLE:\n", + " self.log.append({\"event\": \"retryable_status\", \"path\": path,\n", + " \"request_id\": payload[\"request_id\"],\n", + " \"attempt\": attempts, \"status\": result.status})\n", + " if attempts < self.session.max_attempts:\n", + " sleep(self.session.retry_backoff_s * (2 ** (attempts - 1)))\n", + " continue\n", + " if result.status != STATUS_OK:\n", + " raise ProtocolError(\n", + " f\"{path} 返回 HTTP {result.status}\", status=result.status,\n", + " body=self._safe_json(result.body))\n", + " response = self._safe_json(result.body)\n", + " if response is None or response.get(\"accepted\") is not True:\n", + " raise ActionRejected(\n", + " f\"{path} 未被接受: {response}\", body=response)\n", + " self._verify_clock(response)\n", + " self.log.append({\"event\": \"accepted\", \"path\": path,\n", + " \"request_id\": payload[\"request_id\"],\n", + " \"request\": payload, \"response\": response,\n", + " \"attempts\": attempts,\n", + " \"elapsed_s\": self.clock() - started})\n", + " return response\n", + " raise TransportError(\n", + " f\"{path} 重试 {attempts} 次仍失败: {last_error}\") from last_error\n", + "\n", + " def _verify_clock(self, response: dict) -> None:\n", + " \"\"\"accepted=true 的虚拟时刻必须单调不减;现实时间戳用于漂移核对。\"\"\"\n", + " virtual = response.get(\"virtual_time_s\")\n", + " if not isinstance(virtual, (int, float)) or isinstance(virtual, bool):\n", + " raise ProtocolViolation(\"accepted 响应缺少 virtual_time_s\", body=response)\n", + " if virtual < self.state.virtual_time_s - 1e-9:\n", + " raise ProtocolViolation(\n", + " f\"虚拟时刻回退: {self.state.virtual_time_s} -> {virtual}\",\n", + " body=response)\n", + " if self._server_deadline_ms is not None:\n", + " drift = (self._server_deadline_ms - response[\"real_timestamp_ms\"]) / 1000.0\n", + " if drift < self.session.reserve_exit_s / 2:\n", + " # 服务器视角余量告急(本地时钟漂移或请求排队);仅记录,交由上层决策。\n", + " self.log.append({\"event\": \"server_time_warning\",\n", + " \"server_remaining_s\": drift})\n", + "\n", + " @staticmethod\n", + " def _safe_json(body: bytes):\n", + " try:\n", + " return json.loads(body.decode(\"utf-8\"))\n", + " except (UnicodeDecodeError, json.JSONDecodeError):\n", + " return None\n" + ] + }, + { + "cell_type": "markdown", + "id": "1b378ab3", + "metadata": {}, + "source": [ + "## 3. 几何内核(`geometry/`)\n", + "\n", + "### 3.1 角域交会定位(`localization.py`)\n", + "\n", + "每条示向度 = 三个半平面:角域下边界、上边界,以及\"只能在前向\"约束\n", + "(半角 < 90° 时交集是尖锥而非整条直线)。定位区域 = 全部半平面之交。\n", + "\n", + "对偶枚举任意两个半平面的交点即得全部候选顶点,再按可行性筛选——\n", + "有界性由\"是否存在非零衰退方向\"判定,因此**不需要人为加包围盒**:\n", + "\n", + "- 无交点 ⇒ 空集(数据矛盾或频道选错);\n", + "- 有非零衰退方向 ⇒ 无界,直径为 ∞;\n", + "- 否则顶点凸包即定位多边形,直径由顶点对枚举给出,最小包围圆用 Welzl 随机增量算法。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "3b895426", + "metadata": {}, + "outputs": [], + "source": [ + "Point = tuple[float, float]\n", + "EPS = 1e-9\n", + "PARALLEL_EPS = 1e-12\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class Measurement:\n", + " x: float\n", + " y: float\n", + " bearing_deg: float\n", + " half_angle_deg: float = 1.0\n", + "\n", + " def __post_init__(self):\n", + " values = (self.x, self.y, self.bearing_deg, self.half_angle_deg)\n", + " if any(isinstance(v, bool) or not isinstance(v, (int, float))\n", + " or not isfinite(v) for v in values):\n", + " raise ValueError(\"坐标、示向度和误差半角必须是有限数值\")\n", + " if not 0 <= self.half_angle_deg < 90:\n", + " raise ValueError(\"误差半角必须在 [0, 90) 度;题设为1度\")\n", + "\n", + "\n", + "def cross(a: Point, b: Point) -> float:\n", + " return a[0] * b[1] - a[1] * b[0]\n", + "\n", + "\n", + "def distance(a: Point, b: Point) -> float:\n", + " return hypot(a[0] - b[0], a[1] - b[1])\n", + "\n", + "\n", + "def halfplanes(m: Measurement) -> list[tuple[float, float, float]]:\n", + " \"\"\"Return a*x+b*y<=c with unit normals, including the forward constraint.\"\"\"\n", + " theta = m.bearing_deg % 360\n", + " lower, upper = radians(theta - m.half_angle_deg), radians(theta + m.half_angle_deg)\n", + " middle = radians(theta)\n", + " normals = [(sin(lower), -cos(lower)), (-sin(upper), cos(upper)),\n", + " (-cos(middle), -sin(middle))]\n", + " return [(a, b, a * m.x + b * m.y) for a, b in normals]\n", + "\n", + "\n", + "def convex_hull(points: list[Point], eps: float = EPS) -> list[Point]:\n", + " \"\"\"Monotone chain, CCW, no repeated final vertex; retain segment endpoints.\"\"\"\n", + " ordered = sorted(points)\n", + " unique = []\n", + " for p in ordered:\n", + " if not unique or distance(p, unique[-1]) > eps:\n", + " unique.append(p)\n", + " if len(unique) <= 2:\n", + " return unique\n", + "\n", + " def chain(seq):\n", + " out = []\n", + " for p in seq:\n", + " while len(out) >= 2:\n", + " a = (out[-1][0] - out[-2][0], out[-1][1] - out[-2][1])\n", + " b = (p[0] - out[-1][0], p[1] - out[-1][1])\n", + " # Distance-to-line tolerance, not an unscaled area tolerance.\n", + " if cross(a, b) > eps * max(hypot(*a), hypot(*b), eps):\n", + " break\n", + " out.pop()\n", + " out.append(p)\n", + " return out\n", + "\n", + " return chain(unique)[:-1] + chain(reversed(unique))[:-1]\n", + "\n", + "\n", + "def diameter(points: list[Point]):\n", + " if not points:\n", + " raise ValueError(\"空点集没有本程序定义下的直径\")\n", + " a = b = points[0]\n", + " value = 0.0\n", + " for p, q in combinations(points, 2):\n", + " d = distance(p, q)\n", + " if d > value:\n", + " value, a, b = d, p, q\n", + " return value, (a, b)\n", + "\n", + "\n", + "def _circumcircle(a: Point, b: Point, c: Point):\n", + " u = (b[0] - a[0], b[1] - a[1])\n", + " v = (c[0] - a[0], c[1] - a[1])\n", + " det = 2 * cross(u, v)\n", + " if abs(det) <= PARALLEL_EPS * max(hypot(*u) * hypot(*v), 1e-300):\n", + " return None\n", + " uu, vv = u[0] ** 2 + u[1] ** 2, v[0] ** 2 + v[1] ** 2\n", + " center = (a[0] + (uu * v[1] - vv * u[1]) / det,\n", + " a[1] + (u[0] * vv - v[0] * uu) / det)\n", + " return center, distance(center, a)\n", + "\n", + "\n", + "def _enclosing_circle_reference(points: list[Point], eps: float = EPS):\n", + " \"\"\"Enumerate all 1/2/3-point supports; O(m^4), appropriate for small m.\n", + "\n", + " Radius is recomputed against every vertex to preserve numerical containment.\n", + " Coordinates should be normalized when there are very large offsets.\n", + " \"\"\"\n", + " if not points:\n", + " raise ValueError(\"空集不计算最小包围圆\")\n", + " xs, ys = [p[0] for p in points], [p[1] for p in points]\n", + " best_c = ((min(xs) + max(xs)) / 2, (min(ys) + max(ys)) / 2)\n", + " best_r = max(distance(best_c, p) for p in points)\n", + "\n", + " def consider(center, radius):\n", + " nonlocal best_c, best_r\n", + " if radius > best_r + eps:\n", + " return\n", + " actual = max(distance(center, p) for p in points)\n", + " if actual <= radius + eps and actual < best_r:\n", + " best_c, best_r = center, actual\n", + "\n", + " for p in points:\n", + " consider(p, 0.0)\n", + " for a, b in combinations(points, 2):\n", + " consider(((a[0] + b[0]) / 2, (a[1] + b[1]) / 2), distance(a, b) / 2)\n", + " for a, b, c in combinations(points, 3):\n", + " circle = _circumcircle(a, b, c)\n", + " if circle is not None:\n", + " consider(*circle)\n", + " return best_c, best_r\n", + "\n", + "\n", + "def _circle_covers(circle, point: Point, tolerance: float) -> bool:\n", + " \"\"\"Whether the circle already covers point; None means no circle yet.\"\"\"\n", + " if circle is None:\n", + " return False\n", + " return distance(circle[0], point) <= circle[1] + tolerance\n", + "\n", + "\n", + "def smallest_enclosing_circle(points: list[Point], eps: float = EPS):\n", + " \"\"\"Welzl's randomized incremental algorithm, using an explicit call stack.\n", + "\n", + " The fixed shuffle makes results reproducible. Expected linear work refers\n", + " to randomized input order, not a worst-case guarantee for this fixed seed.\n", + " Normalize internally so this public helper also handles translated inputs.\n", + " The exhaustive reference is retained for independent regression comparisons.\n", + " \"\"\"\n", + " if not points:\n", + " raise ValueError(\"空集不计算最小包围圆\")\n", + " if not isfinite(eps) or eps <= 0:\n", + " raise ValueError(\"eps必须为有限正数\")\n", + " if any(len(p) != 2 or any(isinstance(x, bool) or not isinstance(x, (int, float))\n", + " or not isfinite(x) for x in p) for p in points):\n", + " raise ValueError(\"点集必须由有限二维坐标组成\")\n", + " origin = points[0]\n", + " scale = max(distance(origin, p) for p in points)\n", + " if scale == 0:\n", + " return tuple(origin), 0.0\n", + " local = [((p[0]-origin[0])/scale, (p[1]-origin[1])/scale) for p in points]\n", + " tolerance = min(eps/scale, EPS)\n", + " Random(20260910).shuffle(local)\n", + " # Frame = (remaining prefix length, forced boundary, returning from child).\n", + " stack = [(len(local), (), False)]\n", + " circle = None\n", + " while stack:\n", + " n, boundary, returning = stack.pop()\n", + " if n == 0 or len(boundary) == 3:\n", + " # Forced support points must lie ON the boundary. For three points\n", + " # use their circumcircle, even when their unconstrained MEC is smaller.\n", + " circle = _circumcircle(*boundary) if len(boundary) == 3 else None\n", + " if circle is None and boundary:\n", + " circle = _enclosing_circle_reference(list(boundary), tolerance)\n", + " elif not returning:\n", + " stack.append((n, boundary, True))\n", + " stack.append((n-1, boundary, False))\n", + " elif not _circle_covers(circle, local[n-1], tolerance):\n", + " stack.append((n-1, boundary + (local[n-1],), False))\n", + " assert circle is not None\n", + " center = (origin[0]+circle[0][0]*scale, origin[1]+circle[0][1]*scale)\n", + " # Recompute after transforming back: returned circle contains all input points\n", + " # to distance() precision, including any roundoff from the large translation.\n", + " return center, max(distance(center, p) for p in points)\n", + "\n", + "\n", + "def solve(measurements: list[Measurement], eps: float = EPS) -> dict:\n", + " \"\"\"Solve Q1's pure angular intersection (no disk/range prior added).\n", + "\n", + " Nonempty intersections of <180-degree forward wedges are pointed polyhedra,\n", + " so they possess a vertex, even if unbounded. Feasibility follows from vertex\n", + " enumeration; unboundedness follows from a nonzero recession direction.\n", + " Empty diameter is null, unbounded diameter is null with diameter_infinite=true.\n", + "\n", + " Near-parallel plane pairs are intersected rather than skipped: their\n", + " intersection can be a legitimate vertex of a very long thin region\n", + " (e.g. stations 1cm apart with bearings 1 and 358.99999999999 deg give a\n", + " vertex ~5.7e10 m away). Only exactly-parallel pairs (det == 0) have no\n", + " intersection. The feasibility tolerance scales with the vertex magnitude,\n", + " since absolute residuals grow with coordinates.\n", + " \"\"\"\n", + " if not isfinite(eps) or eps <= 0:\n", + " raise ValueError(\"eps必须为有限正数\")\n", + " if not measurements:\n", + " return {\"status\": \"unbounded\", \"vertices\": [], \"diameter_m\": None,\n", + " \"diameter_infinite\": True, \"recession_direction\": [1.0, 0.0],\n", + " \"message\": \"没有观测,整个平面均可行\"}\n", + " if len(measurements) > 100:\n", + " raise ValueError(\"参考实现最多接收100个检测点;更大规模应使用半平面交算法\")\n", + " ox = sum(m.x for m in measurements) / len(measurements)\n", + " oy = sum(m.y for m in measurements) / len(measurements)\n", + " scale = max(1.0, max(hypot(m.x - ox, m.y - oy) for m in measurements))\n", + " local = [Measurement((m.x - ox) / scale, (m.y - oy) / scale,\n", + " m.bearing_deg, m.half_angle_deg) for m in measurements]\n", + " planes = [h for m in local for h in halfplanes(m)]\n", + "\n", + " def inside(p):\n", + " tol = eps * max(1.0, abs(p[0]), abs(p[1]))\n", + " return all(a * p[0] + b * p[1] <= c + tol for a, b, c in planes)\n", + "\n", + " feasible_vertices = []\n", + " for (a, b, c), (d, e, f) in combinations(planes, 2):\n", + " det = a * e - b * d\n", + " if det == 0.0:\n", + " continue # 精确平行:无交点(近平行对的交点是合法远端顶点,保留)\n", + " p = ((c * e - b * f) / det, (a * f - c * d) / det)\n", + " if isfinite(p[0]) and isfinite(p[1]) and inside(p):\n", + " feasible_vertices.append(p)\n", + "\n", + " if not feasible_vertices:\n", + " return {\"status\": \"empty\", \"vertices\": [], \"diameter_m\": None,\n", + " \"diameter_infinite\": False, \"tolerance_m\": eps * scale,\n", + " \"message\": \"测向角域没有公共点;检查频道、数据及误差界\"}\n", + "\n", + " # A nontrivial 2D recession cone has a ray tangent to an input halfplane.\n", + " # Use a much tighter angular threshold than the positional feasibility epsilon.\n", + " ray = None\n", + " for a, b, _ in planes:\n", + " for direction in ((b, -a), (-b, a)):\n", + " if all(d * direction[0] + e * direction[1] <= 2e-14\n", + " for d, e, _ in planes):\n", + " ray = direction\n", + " break\n", + " if ray is not None:\n", + " break\n", + "\n", + " hull = convex_hull(feasible_vertices, eps)\n", + "\n", + " def world(p):\n", + " return [ox + p[0] * scale, oy + p[1] * scale]\n", + "\n", + " result = {\"status\": \"unbounded\" if ray else\n", + " (\"point\" if len(hull) == 1 else \"segment\" if len(hull) == 2 else \"polygon\"),\n", + " \"vertices\": [world(p) for p in hull], \"tolerance_m\": eps * scale,\n", + " \"diameter_infinite\": ray is not None}\n", + " if ray is not None:\n", + " result.update(diameter_m=None, recession_direction=list(ray),\n", + " message=\"存在非零衰退方向,区域无界,直径为无穷大\")\n", + " return result\n", + "\n", + " d, pair = diameter(hull)\n", + " midpoint = ((pair[0][0] + pair[1][0]) / 2, (pair[0][1] + pair[1][1]) / 2)\n", + " distances = [distance(midpoint, p) for p in hull]\n", + " witness_index = max(range(len(hull)), key=distances.__getitem__)\n", + " max_distance = distances[witness_index]\n", + " center, radius = smallest_enclosing_circle(hull, eps)\n", + " area = abs(sum(cross(hull[i], hull[(i + 1) % len(hull)])\n", + " for i in range(len(hull)))) / 2\n", + " result.update(diameter_m=d * scale, diameter_pair=[world(p) for p in pair],\n", + " area_m2=area * scale ** 2,\n", + " diameter_circle={\"center\": world(midpoint), \"radius_m\": d * scale / 2,\n", + " \"max_vertex_distance_m\": max_distance * scale,\n", + " \"covers\": max_distance <= d / 2 + eps * 4,\n", + " \"coverage_tolerance_m\": 4 * eps * scale,\n", + " \"max_excess_m\": (max_distance-d/2) * scale,\n", + " \"outside_vertex_indices\": [i for i, value in enumerate(distances)\n", + " if value > d/2 + 4*eps],\n", + " \"witness_vertex\": world(hull[witness_index])\n", + " if max_distance > d/2 + 4*eps else None},\n", + " minimum_enclosing_circle={\"center\": world(center), \"radius_m\": radius * scale},\n", + " guaranteed_clearable_at_mec_center=radius * scale <= 20 - eps * scale * 4,\n", + " clearance_certificate={\"model\": \"angular_intersection_only\",\n", + " \"clear_radius_m\": 20.0,\n", + " \"numerical_margin_m\": 4*eps*scale,\n", + " \"radius_with_margin_m\": (radius+4*eps)*scale,\n", + " \"remaining_margin_m\": 20-(radius+4*eps)*scale,\n", + " \"center\": world(center)})\n", + " return result\n" + ] + }, + { + "cell_type": "markdown", + "id": "0e26ba66", + "metadata": {}, + "source": [ + "### 3.2 问题二的安全候选盘证书(`planning.py`)\n", + "\n", + "首次示向度只给出\"目标在角域 ∩ 距离 ≤ 1500 m 的扇形内\"。该扇形的**最小包围圆**\n", + "半径 a = R / (2 cos δ);再按保证接收半径(≥ 1000 m)内缩 s = 1000 − a 得到\n", + "保证接收盘 B(圆心, s)——盘内任意点到真源的距离 ≤ s + a = 1000 m,\n", + "因此第二点必收到 `direction`(或 `near`),不会浪费一次 `no_signal`。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "96ea4f0f", + "metadata": {}, + "outputs": [], + "source": [ + "def first_bearing_candidate_disk(measurement: Measurement,\n", + " max_range_m: float = 1500,\n", + " guaranteed_range_m: float = 1000) -> dict:\n", + " \"\"\"Enclose the entire truncated first-bearing sector, then erode its disk.\n", + "\n", + " For half-angle <=45 degrees the sector MEC has center distance and radius\n", + " a=R/(2*cos(delta)). Intersecting with Omega only shrinks the source set.\n", + " A missing sufficient disk is NOT proof that Q is empty. The certificate\n", + " guarantees distance only: directional transmitters may still be invisible.\n", + " \"\"\"\n", + " if any(isinstance(v, bool) or not isinstance(v, (int, float)) or not isfinite(v)\n", + " or v <= 0 for v in (max_range_m, guaranteed_range_m)):\n", + " raise ValueError(\"接收半径必须为有限正数\")\n", + " if measurement.half_angle_deg > 45:\n", + " raise ValueError(\"此窄角域证书仅支持半角不超过45度;题设为1度\")\n", + " delta, theta = radians(measurement.half_angle_deg), radians(measurement.bearing_deg % 360)\n", + " a = max_range_m/(2*cos(delta))\n", + " center = [measurement.x+a*cos(theta), measurement.y+a*sin(theta)]\n", + " available = guaranteed_range_m-a\n", + " return {\"source_model\": \"first_bearing_sector_with_range_upper_bound\",\n", + " \"sector_enclosing_circle\": {\"center\": center, \"radius_m\": a},\n", + " \"sufficient_candidate_disk\": {\"center\": center, \"radius_m\": available}\n", + " if available >= 0 else None,\n", + " \"candidate_nonempty_certified\": available >= 0,\n", + " \"distance_only\": True,\n", + " \"max_range_m\": max_range_m, \"guaranteed_range_m\": guaranteed_range_m}\n" + ] + }, + { + "cell_type": "markdown", + "id": "15dfa096", + "metadata": {}, + "source": [ + "## 4. 信念层与保证层\n", + "\n", + "### 4.1 逐频道保守凸候选集(`belief/__init__.py`)\n", + "\n", + "候选集 K_c 用**圆盘外切多边形 ∩ 测向角域半平面**表示。两条不变式:\n", + "\n", + "- 外切多边形严格包含圆盘、半平面裁剪带正容差 ⇒ 更新只会放大不会缩小真实候选集;\n", + "- `direction` 读数给出 K_c ⊆ Ω ∩ W(s, θ±δ_eff) ∩ B(s, 1500),δ_eff 含示向度两位小数的\n", + " 舍入裕量 0.005°;\n", + "- `no_signal` **不删空间候选**(对定向源它只说明被遮挡,见第四问),\n", + " \"该频道无源\"的证明由覆盖账本或网格幸存集给出;\n", + "- `near` 读数把候选集收缩到 B(s, 5),可直接产生清除证书。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "48977ca8", + "metadata": {}, + "outputs": [], + "source": [ + "# 半平面裁剪的正容差(米)。坐标量级 ~2100,浮点误差远小于它;\n", + "# 容差只向\"保留更多候选\"的方向倾斜,不破坏保守性。\n", + "_CLIP_TOL_M = 1e-6\n", + "_DEDUPE_TOL_M = 1e-7\n", + "\n", + "\n", + "class InconsistentBelief(RuntimeError):\n", + " \"\"\"读数把候选集剪空等违背保守性的情形;须停机核查而非继续跑。\"\"\"\n", + "\n", + "\n", + "class ChannelStatus(Enum):\n", + " UNKNOWN = \"unknown\" # 尚无有效证据\n", + " DETECTED = \"detected\" # 收到过 direction/near,待定位\n", + " LOCATED = \"located\" # 候选集包围圆半径 <= 20,可清除\n", + " CLEARED = \"cleared\" # 清除成功\n", + " ABSENT = \"absent\" # 覆盖证明不存在(P4)\n", + "\n", + "\n", + "def circumscribed_polygon(center: Vec2, radius_m: float, sides: int) -> list[Vec2]:\n", + " \"\"\"圆的外切正多边形顶点(外接半径 r/cos(π/n)),严格包含圆盘。\n", + "\n", + " 近似误差(外接圆超出圆盘的部分)为 r(1/cos(π/n) - 1) ≤ r(1-cos(π/n))·sec²,\n", + " 调用方用 (1-cos(π/n)) 口径记账即可(略保守偏大)。\n", + " \"\"\"\n", + " if sides < 8:\n", + " raise ValueError(\"外切多边形边数过少,近似误差不可控\")\n", + " circumradius = radius_m / math.cos(math.pi / sides)\n", + " step = 2 * math.pi / sides\n", + " return [(center[0] + circumradius * math.cos(step * i + step / 2),\n", + " center[1] + circumradius * math.sin(step * i + step / 2))\n", + " for i in range(sides)]\n", + "\n", + "\n", + "def polygon_halfplanes(polygon: list[Vec2]) -> list[tuple[float, float, float]]:\n", + " \"\"\"CCW 多边形 -> 外法线半平面列表 (a, b, c),含义 a·x + b·y <= c。\"\"\"\n", + " planes = []\n", + " count = len(polygon)\n", + " for index in range(count):\n", + " p, q = polygon[index], polygon[(index + 1) % count]\n", + " dx, dy = q[0] - p[0], q[1] - p[1]\n", + " norm = math.hypot(dx, dy)\n", + " if norm <= 1e-12:\n", + " continue\n", + " a, b = dy / norm, -dx / norm # CCW 的右法线朝外\n", + " planes.append((a, b, a * p[0] + b * p[1]))\n", + " return planes\n", + "\n", + "\n", + "def clip_halfplane(polygon: list[Vec2], a: float, b: float, c: float,\n", + " tol: float = _CLIP_TOL_M) -> list[Vec2]:\n", + " \"\"\"Sutherland–Hodgman 凸多边形半平面裁剪,保留 a·x + b·y <= c + tol。\n", + "\n", + " 边界交点取在无容差直线上;进入判定带正容差,保证\"贴边\"的真点不丢。\n", + " \"\"\"\n", + " if not polygon:\n", + " return []\n", + " output: list[Vec2] = []\n", + " count = len(polygon)\n", + " for index in range(count):\n", + " p, q = polygon[index], polygon[(index + 1) % count]\n", + " fp = a * p[0] + b * p[1] - c\n", + " fq = a * q[0] + b * q[1] - c\n", + " p_in, q_in = fp <= tol, fq <= tol\n", + " if p_in:\n", + " output.append(p)\n", + " if p_in != q_in:\n", + " ratio = fp / (fp - fq)\n", + " output.append((p[0] + ratio * (q[0] - p[0]),\n", + " p[1] + ratio * (q[1] - p[1])))\n", + " return _dedupe(output)\n", + "\n", + "\n", + "def _dedupe(points: list[Vec2], tol: float = _DEDUPE_TOL_M) -> list[Vec2]:\n", + " unique: list[Vec2] = []\n", + " for point in points:\n", + " if not unique or math.dist(point, unique[-1]) > tol:\n", + " unique.append(point)\n", + " if len(unique) > 1 and math.dist(unique[0], unique[-1]) <= tol:\n", + " unique.pop()\n", + " return unique\n", + "\n", + "\n", + "class CandidateRegion:\n", + " \"\"\"某频道候选集合的保守凸外包多边形(顶点按 CCW;允许退化为 1-2 点)。\"\"\"\n", + "\n", + " def __init__(self, polygon: list[Vec2], slack_m: float = 0.0):\n", + " self.polygon = list(polygon)\n", + " self.slack_m = float(slack_m) # 外包近似引入的半径向误差记账\n", + " self._mec: tuple[Vec2, float] | None = None\n", + "\n", + " # ------------------------------------------------------------ 构造\n", + " @classmethod\n", + " def disk(cls, center: Vec2, radius_m: float, sides: int,\n", + " slack_m: float | None = None) -> \"CandidateRegion\":\n", + " if slack_m is None:\n", + " slack_m = radius_m * (1 - math.cos(math.pi / sides))\n", + " return cls(circumscribed_polygon(center, radius_m, sides), slack_m)\n", + "\n", + " @classmethod\n", + " def initial(cls, station: Vec2, config: ProblemConfig) -> \"CandidateRegion\":\n", + " \"\"\"首个 direction 后的基础集:Ω ∩ B(station, r_max) 的保守外包。\"\"\"\n", + " field_cfg, sides = config.field, config.search.polygon_sides\n", + " slack = field_cfg.omega_radius_m * (1 - math.cos(math.pi / sides))\n", + " region = cls.disk((0.0, 0.0), field_cfg.omega_radius_m, sides, slack)\n", + " region.clip_disk(station, field_cfg.r_eff_max_m, sides)\n", + " return region\n", + "\n", + " # ------------------------------------------------------------ 收缩\n", + " def _clip(self, a: float, b: float, c: float) -> None:\n", + " polygon = clip_halfplane(self.polygon, a, b, c)\n", + " if not polygon:\n", + " raise InconsistentBelief(\n", + " f\"候选区域被半平面 ({a:.6f},{b:.6f},{c:.6f}) 剪空:读数与保守集矛盾\")\n", + " self.polygon = polygon\n", + " self._mec = None\n", + "\n", + " def clip_disk(self, center: Vec2, radius_m: float, sides: int) -> None:\n", + " \"\"\"与圆盘 B(center, radius) 的外切多边形求交(近似误差入账)。\"\"\"\n", + " for a, b, c in polygon_halfplanes(circumscribed_polygon(center, radius_m, sides)):\n", + " self._clip(a, b, c)\n", + " self.slack_m += radius_m * (1 - math.cos(math.pi / sides))\n", + "\n", + " def clip_wedge(self, station: Vec2, bearing_deg: float,\n", + " half_angle_deg: float) -> None:\n", + " \"\"\"与测向角域 W(station, bearing±half_angle) 求交(半角须 <90°)。\n", + "\n", + " 两个边界半平面与 localization.halfplanes 同口径,0°/360° 跨界由\n", + " sin/cos 直接处理,无需分支。\n", + " \"\"\"\n", + " if not 0 < half_angle_deg < 90:\n", + " raise ValueError(\"角域半角须在 (0, 90) 度\")\n", + " lower = math.radians(bearing_deg - half_angle_deg)\n", + " upper = math.radians(bearing_deg + half_angle_deg)\n", + " sx, sy = float(station[0]), float(station[1])\n", + " self._clip(math.sin(lower), -math.cos(lower),\n", + " math.sin(lower) * sx - math.cos(lower) * sy)\n", + " self._clip(-math.sin(upper), math.cos(upper),\n", + " -math.sin(upper) * sx + math.cos(upper) * sy)\n", + "\n", + " # ------------------------------------------------------------ 查询\n", + " def mec(self) -> tuple[Vec2, float]:\n", + " \"\"\"最小包围圆(圆心, 半径)。半径是真实候选集 ρ 的上界。\"\"\"\n", + " if self._mec is None:\n", + " if not self.polygon:\n", + " raise InconsistentBelief(\"候选区域为空\")\n", + " self._mec = smallest_enclosing_circle(self.polygon)\n", + " return self._mec\n", + "\n", + " def witnesses(self, spacing_m: float) -> list[Vec2]:\n", + " \"\"\"顶点 + 边界按间距细分的采样点(最坏后验评估用)。\"\"\"\n", + " if len(self.polygon) < 3:\n", + " return list(self.polygon)\n", + " points = list(self.polygon)\n", + " count = len(self.polygon)\n", + " for index in range(count):\n", + " p, q = self.polygon[index], self.polygon[(index + 1) % count]\n", + " length = math.dist(p, q)\n", + " steps = int(length // spacing_m)\n", + " for k in range(1, steps + 1):\n", + " ratio = k / (steps + 1)\n", + " points.append((p[0] + ratio * (q[0] - p[0]),\n", + " p[1] + ratio * (q[1] - p[1])))\n", + " return _dedupe(points, tol=1e-9)\n", + "\n", + " def contains(self, point: Vec2, tol_m: float = 0.05) -> bool:\n", + " \"\"\"点是否在候选集内(带容差;用于真源保留性检验,不做删点依据)。\"\"\"\n", + " if not self.polygon:\n", + " return False\n", + " if len(self.polygon) == 1:\n", + " return math.dist(point, self.polygon[0]) <= tol_m + self.slack_m\n", + " if len(self.polygon) == 2:\n", + " p, q = self.polygon\n", + " return _point_segment_distance(point, p, q) <= tol_m + self.slack_m\n", + " for index, p in enumerate(self.polygon):\n", + " q = self.polygon[(index + 1) % len(self.polygon)]\n", + " if (q[0] - p[0]) * (point[1] - p[1]) - (q[1] - p[1]) * (point[0] - p[0]) \\\n", + " < -tol_m - self.slack_m:\n", + " return False\n", + " return True\n", + "\n", + "\n", + "def _point_segment_distance(point: Vec2, p: Vec2, q: Vec2) -> float:\n", + " vx, vy = q[0] - p[0], q[1] - p[1]\n", + " length_sq = vx * vx + vy * vy\n", + " if length_sq <= 1e-18:\n", + " return math.dist(point, p)\n", + " t = max(0.0, min(1.0, ((point[0] - p[0]) * vx + (point[1] - p[1]) * vy) / length_sq))\n", + " return math.dist(point, (p[0] + t * vx, p[1] + t * vy))\n", + "\n", + "\n", + "@dataclass\n", + "class ChannelBelief:\n", + " channel: int\n", + " status: ChannelStatus = ChannelStatus.UNKNOWN\n", + " region: CandidateRegion | None = None\n", + " measurements: list = field(default_factory=list) # 逐步观测记录(审计用)\n", + "\n", + "\n", + "class BeliefState:\n", + " \"\"\"全部 20 个频道的信念集合。策略端唯一的事实来源。\"\"\"\n", + "\n", + " def __init__(self, config: ProblemConfig = ProblemConfig()):\n", + " self.config = config\n", + " self.channels = {channel: ChannelBelief(channel)\n", + " for channel in range(config.field.channel_min,\n", + " config.field.channel_max + 1)}\n", + "\n", + " @property\n", + " def effective_half_angle_deg(self) -> float:\n", + " \"\"\"示向度误差半角 + 舍入裕量:服务器保留两位小数引入 ≤0.005° 偏差。\"\"\"\n", + " return (self.config.field.bearing_error_half_deg\n", + " + self.config.search.bearing_rounding_margin_deg)\n", + "\n", + " def update_measure(self, channel: int, position: Vec2, result: str,\n", + " svd_deg: float | None) -> None:\n", + " \"\"\"按读数收敛候选集合;真源保留性由保守表示保证。\"\"\"\n", + " belief = self.channels[channel]\n", + " belief.measurements.append({\"position\": tuple(position), \"result\": result,\n", + " \"svd_deg\": svd_deg})\n", + " if result == DIRECTION:\n", + " if svd_deg is None:\n", + " raise ValueError(\"direction 读数必须携带 svd_deg\")\n", + " sides = self.config.search.polygon_sides\n", + " if belief.region is None:\n", + " belief.region = CandidateRegion.initial(position, self.config)\n", + " else:\n", + " # 后续 direction 同样隐含距离 <= r_max [题面]\n", + " belief.region.clip_disk(position, self.config.field.r_eff_max_m, sides)\n", + " belief.region.clip_wedge(position, svd_deg, self.effective_half_angle_deg)\n", + " belief.status = ChannelStatus.DETECTED\n", + " elif result == NEAR:\n", + " sides = self.config.search.polygon_sides\n", + " if belief.region is None:\n", + " belief.region = CandidateRegion.disk(\n", + " tuple(position), self.config.field.near_radius_m, sides)\n", + " else:\n", + " belief.region.clip_disk(position, self.config.field.near_radius_m, sides)\n", + " belief.status = ChannelStatus.DETECTED\n", + " elif result == NO_SIGNAL:\n", + " # P3/P4 基线:不据此删空间候选(缺席证明由覆盖账本给出)。\n", + " pass\n", + " else:\n", + " raise ValueError(f\"未知测向结果: {result!r}\")\n", + "\n", + " def candidate_set(self, channel: int) -> CandidateRegion | None:\n", + " \"\"\"该频道当前候选集合(保守外包形式);尚无 direction/near 时为 None。\"\"\"\n", + " return self.channels[channel].region\n", + "\n", + " def mark_cleared(self, channel: int) -> None:\n", + " self.channels[channel].status = ChannelStatus.CLEARED\n", + "\n", + " def mark_absent(self, channel: int) -> None:\n", + " self.channels[channel].status = ChannelStatus.ABSENT\n", + "\n", + " def channels_by_status(self, *statuses: ChannelStatus) -> list[int]:\n", + " return sorted(channel for channel, belief in self.channels.items()\n", + " if belief.status in statuses)\n" + ] + }, + { + "cell_type": "markdown", + "id": "d5ebeb37", + "metadata": {}, + "source": [ + "### 4.2 逐频道覆盖账本(`coverage/__init__.py`)\n", + "\n", + "\"路过某点\"不算\"测过某频道\":覆盖必须按 (频道, 点) 二维记账,\n", + "这是\"全点皆 `no_signal` ⇒ 该频道不存在源\"这一缺席证明的唯一依据。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "83ef8c99", + "metadata": {}, + "outputs": [], + "source": [ + "def coverage_points(config: ProblemConfig = ProblemConfig()) -> list[Vec2]:\n", + " \"\"\"49 点覆盖网格生成(纯几何,可独立测试)。\"\"\"\n", + " step = config.search.grid_step_m\n", + " half = config.search.grid_half_cells\n", + " return [(step * i, step * j)\n", + " for j in range(half, -half - 1, -1)\n", + " for i in range(-half, half + 1)]\n", + "\n", + "\n", + "@dataclass\n", + "class CoverageLedger:\n", + " \"\"\"逐频道覆盖账本:(频道, 网格点) -> 是否已测。\"\"\"\n", + "\n", + " config: ProblemConfig = field(default_factory=ProblemConfig)\n", + " points: list[Vec2] = field(default_factory=coverage_points)\n", + " measured: set = field(default_factory=set) # {(channel, point_index)}\n", + " skipped: dict = field(default_factory=dict) # channel -> 原因\n", + "\n", + " def mark_measured(self, channel: int, point_index: int) -> None:\n", + " self.measured.add((channel, point_index))\n", + "\n", + " def measured_at(self, channel: int, point_index: int) -> bool:\n", + " return (channel, point_index) in self.measured\n", + "\n", + " def skip_channel(self, channel: int, reason: str) -> None:\n", + " \"\"\"记录整频道跳过原因(如 already_cleared / located_pending_clear)。\"\"\"\n", + " self.skipped[channel] = reason\n", + "\n", + " def pending_points(self, channel: int) -> list[int]:\n", + " \"\"\"该频道尚未测量的网格点下标。扫描调度策略未实现(P4)。\"\"\"\n", + " return [index for index in range(len(self.points))\n", + " if not self.measured_at(channel, index)]\n", + "\n", + " def coverage_complete(self, channel: int) -> bool:\n", + " \"\"\"该频道覆盖是否完成(含显式跳过)。\"\"\"\n", + " return channel in self.skipped or not self.pending_points(channel)\n" + ] + }, + { + "cell_type": "markdown", + "id": "2797039e", + "metadata": {}, + "source": [ + "### 4.3 覆盖计划与证书(`guarantee/cover.py`)\n", + "\n", + "两类覆盖语义(题面约束不同,绝不可混用):\n", + "\n", + "| 语义 | 适用 | 缺席条件 |\n", + "| --- | --- | --- |\n", + "| `full_disk` | 第三问全向源 | ∪ B(c, 1000) ⊇ Ω,即 Ω 内每点都落在某个被访点的最小接收圆盘内 |\n", + "| `forward_half_disk` | 第四问定向源 | ∀(p, h) ∈ Ω × S¹,存在被访点 c 使 \\|c−p\\| ≤ 1000 且 (c−p)·u(h) ≥ 0 |\n", + "\n", + "**保证 = 离线搜索 + 运行期校验**:点表与证书一起落盘并校验采样语义、缺口数、\n", + "最坏命中距离与生成参数哈希,运行期用同一套采样语义重新校核,未通过即拒绝启动。\n", + "证书硬化把\"采样格覆盖\"提升为\"连续空间覆盖\":设计裕量 r_eff + step·√2/2 ≤ 1000\n", + "且角裕量 ≥ 180/headings/2。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "9fe42d17", + "metadata": {}, + "outputs": [], + "source": [ + "R_EFF_MIN_M = 1000.0 # [题面] 最小有效接收半径\n", + "OMEGA_RADIUS_M = 1800.0 # [题面] 目标圆域半径\n", + "SPEED_MPS = 5.0 # [题面] 用于把巡回长度折算成虚拟移动秒数\n", + "\n", + "# 采样分辨率。**校核必须与证书同分辨率**:更粗的采样会放过\"删掉一个关键点\n", + "# 仍然看似覆盖\"的点集,使校核退化为装饰(实测 100 m/12 档即漏判)。\n", + "# 75 m / 24 档下一次全域校核约 1 s,且按计划名缓存,每进程只付一次。\n", + "CERTIFY_STEP_M = 75.0\n", + "CERTIFY_HEADINGS = 24\n", + "VERIFY_STEP_M = CERTIFY_STEP_M\n", + "VERIFY_HEADINGS = CERTIFY_HEADINGS\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class CoverageCertificate:\n", + " \"\"\"覆盖证书:采样语义 + 缺口 + 最坏命中距离。\"\"\"\n", + "\n", + " kind: str # \"full_disk\" | \"forward_half_disk\"\n", + " target_step_m: float\n", + " headings: int\n", + " r_eff_min_m: float\n", + " targets: int\n", + " uncovered: int\n", + " worst_hit_distance_m: float\n", + " nn_tour_m: float\n", + " generator_sha256: str = \"\"\n", + " # 证书硬化:校核时使用的前向角裕量(度)。与 r_eff_min_m 的设计裕量\n", + " # 一起把\"采样格覆盖\"提升为\"连续空间覆盖\",见 verify_forward_half_disk。\n", + " verify_heading_margin_deg: float = 0.0\n", + "\n", + " @property\n", + " def valid(self) -> bool:\n", + " return self.uncovered == 0 and self.targets > 0\n", + "\n", + " def as_dict(self) -> dict:\n", + " return {\"kind\": self.kind, \"target_step_m\": self.target_step_m,\n", + " \"headings\": self.headings, \"r_eff_min_m\": self.r_eff_min_m,\n", + " \"targets\": self.targets, \"uncovered\": self.uncovered,\n", + " \"worst_hit_distance_m\": round(self.worst_hit_distance_m, 3),\n", + " \"nn_tour_m\": round(self.nn_tour_m, 1),\n", + " \"nn_tour_virtual_s\": round(self.nn_tour_m / SPEED_MPS, 1),\n", + " \"generator_sha256\": self.generator_sha256,\n", + " \"verify_heading_margin_deg\": self.verify_heading_margin_deg}\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class CoveragePlan:\n", + " \"\"\"一份覆盖计划:点集 + 语义 + 证书(可为解析证明)。\"\"\"\n", + "\n", + " name: str\n", + " problem: int\n", + " points: tuple[Vec2, ...]\n", + " kind: str # \"analytic\" | \"certified\"\n", + " coverage: str # \"full_disk\" | \"forward_half_disk\"\n", + " note: str = \"\"\n", + " certificate: CoverageCertificate | None = None\n", + " generator: dict = field(default_factory=dict)\n", + "\n", + " def __len__(self) -> int:\n", + " return len(self.points)\n", + "\n", + " def as_dict(self) -> dict:\n", + " return {\"name\": self.name, \"problem\": self.problem, \"kind\": self.kind,\n", + " \"coverage\": self.coverage, \"note\": self.note,\n", + " \"generator\": self.generator,\n", + " \"certificate\": (self.certificate.as_dict()\n", + " if self.certificate is not None else None),\n", + " \"points\": [[p[0], p[1]] for p in self.points]}\n", + "\n", + "\n", + "# --------------------------------------------------------------------- 采样\n", + "def omega_positions(step_m: float) -> list[Vec2]:\n", + " \"\"\"Ω 内均匀方格位置采样。\"\"\"\n", + " span = int(OMEGA_RADIUS_M / step_m) + 1\n", + " return [(step_m * i, step_m * j)\n", + " for i in range(-span, span + 1) for j in range(-span, span + 1)\n", + " if (step_m * i) ** 2 + (step_m * j) ** 2 <= OMEGA_RADIUS_M ** 2]\n", + "\n", + "\n", + "def forward_targets(step_m: float, headings: int) -> list[tuple[float, float, float]]:\n", + " \"\"\"(p, h) 目标采样:位置在 Ω 内,朝向均分整圆。\"\"\"\n", + " return [(x, y, 2.0 * math.pi * k / headings)\n", + " for (x, y) in omega_positions(step_m) for k in range(headings)]\n", + "\n", + "\n", + "def candidate_lattice(spacing_m: float, radius_m: float) -> list[Vec2]:\n", + " \"\"\"半径 radius_m 圆盘内的方格候选点(离线搜索用)。\"\"\"\n", + " span = int(radius_m / spacing_m) + 1\n", + " return [(spacing_m * i, spacing_m * j)\n", + " for i in range(-span, span + 1) for j in range(-span, span + 1)\n", + " if (spacing_m * i) ** 2 + (spacing_m * j) ** 2 <= radius_m ** 2]\n", + "\n", + "\n", + "def _bucket(points: list[Vec2], cell: float) -> dict[tuple[int, int], list[int]]:\n", + " table: dict[tuple[int, int], list[int]] = {}\n", + " for index, (x, y) in enumerate(points):\n", + " table.setdefault((int(x // cell), int(y // cell)), []).append(index)\n", + " return table\n", + "\n", + "\n", + "def coverage_masks(targets, candidates: list[Vec2],\n", + " r_eff: float = R_EFF_MIN_M,\n", + " heading_margin_deg: float = 0.0) -> list[int]:\n", + " \"\"\"每个候选点覆盖的目标位掩码(Python 大整数,按位)。\n", + "\n", + " 只在与候选点空间桶相邻的格内做距离/前向判定,避免 |T|·|C| 笛卡尔积。\n", + "\n", + " ``r_eff`` / ``heading_margin_deg`` 是**设计裕量**:离线搜索时把\"命中\"\n", + " 定义得比物理要求更严(距离 ≤ r_eff、前向夹角 ≤ 90°−margin),使采样格\n", + " 上的覆盖自动蕴含相邻未采样 (p,h) 也被覆盖(S2 证书硬化)。\n", + " \"\"\"\n", + " table = _bucket(candidates, r_eff)\n", + " masks = [0] * len(candidates)\n", + " sin_margin = math.sin(math.radians(max(heading_margin_deg, 0.0)))\n", + " for t_index, (px, py, heading) in enumerate(targets):\n", + " ux, uy = math.cos(heading), math.sin(heading)\n", + " ci, cj = int(px // r_eff), int(py // r_eff)\n", + " bit = 1 << t_index\n", + " for di in (-1, 0, 1):\n", + " for dj in (-1, 0, 1):\n", + " for c_index in table.get((ci + di, cj + dj), ()):\n", + " cx, cy = candidates[c_index]\n", + " dx, dy = cx - px, cy - py\n", + " distance_sq = dx * dx + dy * dy\n", + " if distance_sq > r_eff * r_eff:\n", + " continue\n", + " if dx * ux + dy * uy < sin_margin * math.sqrt(distance_sq) - 1e-9:\n", + " continue\n", + " masks[c_index] |= bit\n", + " return masks\n", + "\n", + "\n", + "def greedy_cover(masks: list[int], n_targets: int) -> list[int]:\n", + " \"\"\"贪心集合覆盖:每次取\"新增覆盖目标数\"最大的候选,返回索引表。\"\"\"\n", + " full = (1 << n_targets) - 1\n", + " covered = 0\n", + " chosen: list[int] = []\n", + " remaining = list(range(len(masks)))\n", + " while covered != full and remaining:\n", + " best_index, best_gain = -1, 0\n", + " for c_index in remaining:\n", + " gain = (masks[c_index] & ~covered).bit_count()\n", + " if gain > best_gain:\n", + " best_index, best_gain = c_index, gain\n", + " if best_index < 0:\n", + " break\n", + " chosen.append(best_index)\n", + " covered |= masks[best_index]\n", + " remaining.remove(best_index)\n", + " return chosen\n", + "\n", + "\n", + "def nn_tour_length(points: list[Vec2], start: Vec2 = (0.0, 0.0)) -> float:\n", + " \"\"\"最近邻开放路径长度(巡回长度上界)。\"\"\"\n", + " remaining = list(points)\n", + " position = start\n", + " total = 0.0\n", + " while remaining:\n", + " nxt = min(remaining, key=lambda q: (q[0] - position[0]) ** 2\n", + " + (q[1] - position[1]) ** 2)\n", + " remaining.remove(nxt)\n", + " total += math.dist(position, nxt)\n", + " position = nxt\n", + " return total\n", + "\n", + "\n", + "# --------------------------------------------------------------------- 校验\n", + "def _hit_distance(points: list[Vec2], position: Vec2, heading: float,\n", + " r_eff: float) -> float | None:\n", + " \"\"\"最近的前向命中距离;没有任何前向命中点则返回 None。\"\"\"\n", + " ux, uy = math.cos(heading), math.sin(heading)\n", + " best = None\n", + " for (cx, cy) in points:\n", + " dx, dy = cx - position[0], cy - position[1]\n", + " if dx * dx + dy * dy > r_eff * r_eff:\n", + " continue\n", + " if dx * ux + dy * uy < -1e-9:\n", + " continue\n", + " distance = math.hypot(dx, dy)\n", + " if best is None or distance < best:\n", + " best = distance\n", + " return best\n", + "\n", + "\n", + "def _nearest_distance(points: list[Vec2], position: Vec2,\n", + " r_eff: float) -> float | None:\n", + " \"\"\"最近距离(不要求前向);超过 r_eff 视作未命中。\"\"\"\n", + " best = None\n", + " for (cx, cy) in points:\n", + " distance = math.hypot(cx - position[0], cy - position[1])\n", + " if distance <= r_eff and (best is None or distance < best):\n", + " best = distance\n", + " return best\n", + "\n", + "\n", + "def verify_forward_half_disk(points: list[Vec2], step_m: float = VERIFY_STEP_M,\n", + " headings: int = VERIFY_HEADINGS,\n", + " r_eff: float = R_EFF_MIN_M,\n", + " heading_margin_deg: float = 0.0) -> CoverageCertificate:\n", + " \"\"\"第四问语义:∀(p,h) 存在前向半盘内的被访点。\n", + "\n", + " ``heading_margin_deg`` 是**证书硬化**用的前向角裕量:把\"命中\"收紧为\n", + " \"前向夹角 ≤ 90° − margin\"。与 ``r_eff`` 的设计裕量合用时,采样格上的\n", + " 覆盖即可推出**连续空间**覆盖:真实 (p',h') 距采样格 ≤ step·√2/2、\n", + " 方位差 ≤ 180/headings 度,只要\n", + "\n", + " r_eff + step·√2/2 ≤ 1000 且 margin ≥ 180/headings/2\n", + "\n", + " 就能保证 |c−p'| ≤ 1000 且 (c−p')·u(h') ≥ 0。这正是 S2 取代\"粗采样\n", + " 假通过\"的方式。默认 0 表示按物理条件校核。\n", + " \"\"\"\n", + " points = list(points)\n", + " targets = forward_targets(step_m, headings)\n", + " table = _bucket(points, r_eff)\n", + " missing, worst = 0, 0.0\n", + " sin_margin = math.sin(math.radians(max(heading_margin_deg, 0.0)))\n", + " for (px, py, heading) in targets:\n", + " ux, uy = math.cos(heading), math.sin(heading)\n", + " ci, cj = int(px // r_eff), int(py // r_eff)\n", + " best = None\n", + " for di in (-1, 0, 1):\n", + " for dj in (-1, 0, 1):\n", + " for c_index in table.get((ci + di, cj + dj), ()):\n", + " cx, cy = points[c_index]\n", + " dx, dy = cx - px, cy - py\n", + " distance_sq = dx * dx + dy * dy\n", + " if distance_sq > r_eff * r_eff:\n", + " continue\n", + " if dx * ux + dy * uy < sin_margin * math.sqrt(distance_sq) - 1e-9:\n", + " continue\n", + " distance = math.sqrt(distance_sq)\n", + " if best is None or distance < best:\n", + " best = distance\n", + " if best is None:\n", + " missing += 1\n", + " else:\n", + " worst = max(worst, best)\n", + " return CoverageCertificate(\"forward_half_disk\", step_m, headings, r_eff,\n", + " len(targets), missing, worst,\n", + " nn_tour_length(points))\n", + "\n", + "\n", + "def verify_full_disk(points: list[Vec2], step_m: float = VERIFY_STEP_M,\n", + " r_eff: float = R_EFF_MIN_M) -> CoverageCertificate:\n", + " \"\"\"第三问语义:Ω 内每点都在某个被访点的 r_eff 圆盘内。\"\"\"\n", + " points = list(points)\n", + " positions = omega_positions(step_m)\n", + " table = _bucket(points, r_eff)\n", + " missing, worst = 0, 0.0\n", + " for (px, py) in positions:\n", + " ci, cj = int(px // r_eff), int(py // r_eff)\n", + " best = None\n", + " for di in (-1, 0, 1):\n", + " for dj in (-1, 0, 1):\n", + " for c_index in table.get((ci + di, cj + dj), ()):\n", + " cx, cy = points[c_index]\n", + " distance = math.hypot(cx - px, cy - py)\n", + " if distance <= r_eff and (best is None or distance < best):\n", + " best = distance\n", + " if best is None:\n", + " missing += 1\n", + " else:\n", + " worst = max(worst, best)\n", + " return CoverageCertificate(\"full_disk\", step_m, 1, r_eff, len(positions),\n", + " missing, worst, nn_tour_length(points))\n", + "\n", + "\n", + "def verify_plan(plan: CoveragePlan, step_m: float | None = None,\n", + " headings: int | None = None) -> CoverageCertificate:\n", + " \"\"\"按计划声明的覆盖语义校核。\n", + "\n", + " 默认使用**证书自带的采样分辨率**(离线 75 m / 24 档):更粗的运行期采样\n", + " 会放过\"删掉一个关键点仍看似覆盖\"的点集,使校核失去意义。校核按计划名\n", + " 缓存(``load_plan`` 的 lru_cache),每进程只付一次成本。\n", + " \"\"\"\n", + " certificate = plan.certificate\n", + " if step_m is None:\n", + " step_m = certificate.target_step_m if certificate else VERIFY_STEP_M\n", + " if headings is None:\n", + " headings = (certificate.headings if certificate\n", + " else VERIFY_HEADINGS)\n", + " if plan.coverage == \"forward_half_disk\":\n", + " # 硬化证书:按证书自带的距离/角度设计裕量重新校核(旧证书默认\n", + " # r_eff=1000、margin=0,与历史口径逐位一致)。\n", + " return verify_forward_half_disk(\n", + " plan.points, step_m, headings,\n", + " r_eff=(certificate.r_eff_min_m if certificate else R_EFF_MIN_M),\n", + " heading_margin_deg=(certificate.verify_heading_margin_deg\n", + " if certificate else 0.0))\n", + " return verify_full_disk(plan.points, step_m, certificate.r_eff_min_m\n", + " if certificate else R_EFF_MIN_M)\n", + "\n", + "\n", + "# --------------------------------------------------------------------- 计划\n", + "def seven_points(ring_radius_m: float) -> list[Vec2]:\n", + " \"\"\"解析七站:原点 + 环上 6 等分点。\"\"\"\n", + " return [(0.0, 0.0)] + [(ring_radius_m * math.cos(k * math.pi / 3),\n", + " ring_radius_m * math.sin(k * math.pi / 3))\n", + " for k in range(6)]\n", + "\n", + "\n", + "def seven_plan(ring_radius_m: float) -> CoveragePlan:\n", + " \"\"\"第三问解析计划(覆盖证明由 validate_seven_coverage 给出)。\"\"\"\n", + " return CoveragePlan(\n", + " name=f\"seven-r{ring_radius_m:.1f}\", problem=3, kind=\"analytic\",\n", + " coverage=\"full_disk\",\n", + " note=(\"解析证明 max(r/√3, sqrt(R²+r²−√3Rr)) < 1000;\"\n", + " \"r∈[1122.9, 1732] 时成立,巡检半径越小巡回越短\"),\n", + " points=tuple(seven_points(ring_radius_m)))\n", + "\n", + "\n", + "def square_49_plan() -> CoveragePlan:\n", + " \"\"\"第四问旧计划:700 m 方格 49 点(充分条件,保留作回退与对照)。\"\"\"\n", + " return CoveragePlan(\n", + " name=\"square49\", problem=4, kind=\"certified\",\n", + " coverage=\"forward_half_disk\",\n", + " note=\"单元对角 700√2≈989.95≤1000 的充分条件;点数为最小命中集的 1.6 倍\",\n", + " # 顺序与 coverage.coverage_points() 完全一致(y 由大到小),保持历史\n", + " # 基线 grid49_immediate 的逐位可复现。\n", + " points=tuple((700.0 * i, 700.0 * j)\n", + " for j in range(3, -4, -1) for i in range(-3, 4)))\n", + "\n", + "\n", + "def plan_instance(name: str, verify: bool = True) -> CoveragePlan:\n", + " \"\"\"统一入口:按名称取覆盖计划(内置解析计划 / 内嵌证书计划)。\"\"\"\n", + " if name == \"square49\":\n", + " return square_49_plan()\n", + " if name == \"seven\":\n", + " return seven_plan(1200.0)\n", + " if name not in EMBEDDED_PLANS:\n", + " raise FileNotFoundError(f\"未找到覆盖计划 {name!r};现有:{plan_names()}\")\n", + " plan = embedded_plan(name)\n", + " if verify and plan.kind == \"certified\":\n", + " certificate = verify_plan(plan)\n", + " if not certificate.valid:\n", + " raise ValueError(\n", + " f\"覆盖计划 {name!r} 运行期校验失败:\"\n", + " f\"{certificate.uncovered}/{certificate.targets} 个 (p,h) 未被覆盖\")\n", + " plan = CoveragePlan(\n", + " name=plan.name, problem=plan.problem, kind=plan.kind,\n", + " coverage=plan.coverage, note=plan.note, generator=plan.generator,\n", + " certificate=CoverageCertificate(\n", + " kind=certificate.kind, target_step_m=certificate.target_step_m,\n", + " headings=certificate.headings, r_eff_min_m=certificate.r_eff_min_m,\n", + " targets=certificate.targets, uncovered=certificate.uncovered,\n", + " worst_hit_distance_m=certificate.worst_hit_distance_m,\n", + " nn_tour_m=certificate.nn_tour_m,\n", + " generator_sha256=(plan.certificate.generator_sha256\n", + " if plan.certificate else \"\")),\n", + " points=plan.points)\n", + " return plan\n", + "\n", + "\n", + "def plan_names() -> list[str]:\n", + " \"\"\"全部可加载的计划名(内置解析计划 + 内嵌证书计划)。\"\"\"\n", + " return [\"square49\", \"seven\"] + sorted(EMBEDDED_PLANS)\n" + ] + }, + { + "cell_type": "markdown", + "id": "b6709645", + "metadata": {}, + "source": [ + "### 4.4 第四问最小命中集(内嵌计划)\n", + "\n", + "现役计划 `q4_mincover_v2`:31 点(700 m 方格 49 点的充分条件可压到 31 点),\n", + "设计裕量 r_design = 965 m、前向角裕量 5°,按 15 m / 72 档共 3 256 200 个 (p, h)\n", + "复核缺口为 0、最坏命中 990.05 m、最近邻巡回 23.88 km。\n", + "`q4_mincover_v1` 是同点数的粗采样(75 m / 24 档)解,细网格复检有 125 个缺口——\n", + "保留它正是\"粗采样假通过\"的反例。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "2892e247", + "metadata": {}, + "outputs": [], + "source": [ + "def seven_points(ring_radius_m: float) -> list[Vec2]:\n", + " \"\"\"解析七站:原点 + 环上 6 等分点。\"\"\"\n", + " return [(0.0, 0.0)] + [(ring_radius_m * math.cos(k * math.pi / 3),\n", + " ring_radius_m * math.sin(k * math.pi / 3))\n", + " for k in range(6)]\n", + "\n", + "\n", + "def seven_plan(ring_radius_m: float) -> CoveragePlan:\n", + " \"\"\"第三问解析计划(覆盖证明由 validate_seven_coverage 给出)。\"\"\"\n", + " return CoveragePlan(\n", + " name=f\"seven-r{ring_radius_m:.1f}\", problem=3, kind=\"analytic\",\n", + " coverage=\"full_disk\",\n", + " note=(\"解析证明 max(r/√3, sqrt(R²+r²−√3Rr)) < 1000;\"\n", + " \"r∈[1122.9, 1732] 时成立,巡检半径越小巡回越短\"),\n", + " points=tuple(seven_points(ring_radius_m)))\n", + "\n", + "\n", + "def square_49_plan() -> CoveragePlan:\n", + " \"\"\"第四问旧计划:700 m 方格 49 点(充分条件,保留作回退与对照)。\"\"\"\n", + " return CoveragePlan(\n", + " name=\"square49\", problem=4, kind=\"certified\",\n", + " coverage=\"forward_half_disk\",\n", + " note=\"单元对角 700√2≈989.95≤1000 的充分条件;点数为最小命中集的 1.6 倍\",\n", + " # 顺序与 coverage.coverage_points() 完全一致(y 由大到小),保持历史\n", + " # 基线 grid49_immediate 的逐位可复现。\n", + " points=tuple((700.0 * i, 700.0 * j)\n", + " for j in range(3, -4, -1) for i in range(-3, 4)))\n", + "\n", + "\n", + "def plan_instance(name: str, verify: bool = True) -> CoveragePlan:\n", + " \"\"\"统一入口:按名称取覆盖计划(内置解析计划 / 内嵌证书计划)。\"\"\"\n", + " if name == \"square49\":\n", + " return square_49_plan()\n", + " if name == \"seven\":\n", + " return seven_plan(1200.0)\n", + " if name not in EMBEDDED_PLANS:\n", + " raise FileNotFoundError(f\"未找到覆盖计划 {name!r};现有:{plan_names()}\")\n", + " plan = embedded_plan(name)\n", + " if verify and plan.kind == \"certified\":\n", + " certificate = verify_plan(plan)\n", + " if not certificate.valid:\n", + " raise ValueError(\n", + " f\"覆盖计划 {name!r} 运行期校验失败:\"\n", + " f\"{certificate.uncovered}/{certificate.targets} 个 (p,h) 未被覆盖\")\n", + " plan = CoveragePlan(\n", + " name=plan.name, problem=plan.problem, kind=plan.kind,\n", + " coverage=plan.coverage, note=plan.note, generator=plan.generator,\n", + " certificate=CoverageCertificate(\n", + " kind=certificate.kind, target_step_m=certificate.target_step_m,\n", + " headings=certificate.headings, r_eff_min_m=certificate.r_eff_min_m,\n", + " targets=certificate.targets, uncovered=certificate.uncovered,\n", + " worst_hit_distance_m=certificate.worst_hit_distance_m,\n", + " nn_tour_m=certificate.nn_tour_m,\n", + " generator_sha256=(plan.certificate.generator_sha256\n", + " if plan.certificate else \"\")),\n", + " points=plan.points)\n", + " return plan\n", + "\n", + "\n", + "def plan_names() -> list[str]:\n", + " \"\"\"全部可加载的计划名(内置解析计划 + 内嵌证书计划)。\"\"\"\n", + " return [\"square49\", \"seven\"] + sorted(EMBEDDED_PLANS)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "51d5ac79", + "metadata": {}, + "outputs": [], + "source": [ + "# 覆盖计划以字面量内嵌(原实现从 guarantee/plans/*.json 读取;数值逐位一致)。\n", + "# v2 是现役计划:31 点、设计裕量 r_design=965 m / 前向角裕量 5°,\n", + "# 证书按 15 m / 72 档复核 3 256 200 个 (p, h) 目标,缺口 0、最坏命中 990.05 m。\n", + "# v1(75 m/24 档采样过拟合解)保留作对照,说明\"粗采样假通过\"的风险。\n", + "Q4_MINCOVER_V2 = {\n", + " \"name\": \"q4_mincover_v2\",\n", + " \"problem\": 4,\n", + " \"kind\": \"certified\",\n", + " \"coverage\": \"forward_half_disk\",\n", + " \"note\": \"设计裕量最小命中集:31 点,r_design=965 m / 前向角裕量 5.0°;证书按 15 m/72 档、r_verify=1000 m、角裕量 0.0° 校核缺口 0(同一证书口径复核,含精细剪枝);最坏命中 990 m,NN 巡回 23.9 km\",\n", + " \"generator\": {\n", + " \"script\": \"scripts/verify_q4_cover.py\",\n", + " \"spacing_m\": 100.0,\n", + " \"radius_m\": 2850.0,\n", + " \"target_step_m\": 50.0,\n", + " \"headings\": 48,\n", + " \"design_r_eff_m\": 965.0,\n", + " \"heading_margin_deg\": 5.0,\n", + " \"pruned\": True,\n", + " \"verify_step_m\": 15.0,\n", + " \"verify_headings\": 72,\n", + " \"verify_r_eff_m\": 1000.0,\n", + " \"verify_heading_margin_deg\": 0.0,\n", + " \"code_sha256\": \"adf4fe6e9853c47314fac2c630fc6846ea6922102c2e83b507e5d397434c0e1d\"\n", + " },\n", + " \"certificate\": {\n", + " \"kind\": \"forward_half_disk\",\n", + " \"target_step_m\": 15.0,\n", + " \"headings\": 72,\n", + " \"r_eff_min_m\": 1000.0,\n", + " \"targets\": 3256200,\n", + " \"uncovered\": 0,\n", + " \"worst_hit_distance_m\": 990.051,\n", + " \"nn_tour_m\": 23883.8,\n", + " \"nn_tour_virtual_s\": 4776.8,\n", + " \"generator_sha256\": \"adf4fe6e9853c47314fac2c630fc6846ea6922102c2e83b507e5d397434c0e1d\",\n", + " \"verify_heading_margin_deg\": 0.0\n", + " },\n", + " \"points\": [\n", + " (-800, -200), (800, 200), (-200, 900), (200, -900), (-1200, 700), (1200, -700),\n", + " (800, 1200), (-1800, -300), (1800, 300), (-400, 1800), (0, 0), (1400, -1400),\n", + " (-1500, -1300), (1500, 1300), (-400, -1800), (400, 1800), (-1800, 400), (1800, -400),\n", + " (-500, 700), (-700, -700), (700, 700), (1300, 1100), (-1300, 1500), (500, -1800),\n", + " (-900, -2100), (600, 1900), (-2500, 500), (1900, -900), (-1700, -500), (-700, -1200),\n", + " (900, -700),\n", + " ],\n", + "}\n", + "Q4_MINCOVER_V1 = {\n", + " \"name\": \"q4_mincover_v1\",\n", + " \"problem\": 4,\n", + " \"kind\": \"certified\",\n", + " \"coverage\": \"forward_half_disk\",\n", + " \"note\": \"贪心击中集等价覆盖:31 点 vs 现役 49 点,NN 巡回 22.9 km vs 36.4 km\",\n", + " \"generator\": {\n", + " \"script\": \"scripts/verify_q4_cover.py\",\n", + " \"spacing_m\": 200.0,\n", + " \"radius_m\": 2850.0,\n", + " \"target_step_m\": 75.0,\n", + " \"headings\": 24,\n", + " \"code_sha256\": \"dce9f0e189439bbea26f6bcbebf7e7f7bb99021a9035fca0c8d67bb67a3a529a\"\n", + " },\n", + " \"certificate\": None,\n", + " \"points\": [\n", + " (-800, 0), (800, 0), (0, -1000), (0, 1000), (-1200, -1000), (-1000, 1000),\n", + " (1000, -1000), (1000, 1000), (1800, 0), (-1800, 200), (-400, -1800), (-200, 1800),\n", + " (0, 0), (800, -1800), (1200, 1600), (-1400, 1400), (1800, -800), (-1800, -800),\n", + " (1800, 600), (-600, -1000), (400, 1800), (-1400, -1800), (-1200, 800), (-1200, 1800),\n", + " (400, -800), (-200, 400), (600, -1400), (-2200, 600), (1000, -1600), (-2000, -400),\n", + " (-200, -2200),\n", + " ],\n", + "}\n", + "\n", + "EMBEDDED_PLANS = {\"q4_mincover_v1\": Q4_MINCOVER_V1, \"q4_mincover_v2\": Q4_MINCOVER_V2}\n", + "\n", + "\n", + "def embedded_plan(name: str) -> CoveragePlan:\n", + " \"\"\"把内嵌计划字典还原成 :class:`CoveragePlan`(证书字段按数据类取值)。\"\"\"\n", + " payload = EMBEDDED_PLANS[name]\n", + " raw_cert = payload.get(\"certificate\") or {}\n", + " known = {item.name for item in fields(CoverageCertificate)}\n", + " certificate = (CoverageCertificate(**{key: value for key, value in raw_cert.items()\n", + " if key in known}) if raw_cert else None)\n", + " return CoveragePlan(\n", + " name=payload[\"name\"], problem=int(payload[\"problem\"]),\n", + " kind=payload.get(\"kind\", \"certified\"),\n", + " coverage=payload.get(\"coverage\", \"forward_half_disk\"),\n", + " note=payload.get(\"note\", \"\"), certificate=certificate,\n", + " generator=payload.get(\"generator\", {}),\n", + " points=tuple((float(x), float(y)) for x, y in payload[\"points\"]))\n" + ] + }, + { + "cell_type": "markdown", + "id": "5fdc48f7", + "metadata": {}, + "source": [ + "### 4.5 第三问解析七站计划(`planner/seven.py` 覆盖部分)\n", + "\n", + "原点 + 半径 r 的 6 等分环:域半径 R、环半径 r 时,域内任一点到最近站的距离\n", + "≤ max(r/√3, √(R² + r² − √3Rr)),只要该上界 < 1000 m(最小有效接收半径),\n", + "\"7 站全 `no_signal`\"就是严格的缺席证明。r ∈ [1122.9, 1732] 可行,巡检半径越小巡回越短。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "62b4aec6", + "metadata": {}, + "outputs": [], + "source": [ + "RING_RADIUS_M = 1200.0 # [工程] 解析证明见 docs/algo-3.md §5 与 geometry_check\n", + "\n", + "\n", + "def seven_points(ring_radius_m: float = RING_RADIUS_M) -> list[tuple[float, float]]:\n", + " \"\"\"原点 + 环上 6 等分点的七站覆盖集。\"\"\"\n", + " return [(0.0, 0.0)] + [(ring_radius_m * math.cos(k * math.pi / 3),\n", + " ring_radius_m * math.sin(k * math.pi / 3)) for k in range(6)]\n", + "\n", + "\n", + "def validate_seven_coverage(ring_radius_m: float, config: ProblemConfig) -> float:\n", + " \"\"\"六个60°扇区内的最近站最远距离上界;仅证明全向源覆盖。\n", + "\n", + " 原点/环站Voronoi交点给出r/√3,目标圆边界的扇区接缝给出另一项。\n", + " 环半径满足0 config.field.r_eff_min_m - 1e-6:\n", + " raise ValueError(\"七站未覆盖整个目标域,不能据此证明频道缺席\")\n", + " return bound\n" + ] + }, + { + "cell_type": "markdown", + "id": "d0db208e", + "metadata": {}, + "source": [ + "### 4.6 网格幸存集粒子滤波(`particles.py`)\n", + "\n", + "保守凸外包无法表达\"角域 ∩ 距离盘 ∩ 全部 no_signal 排除盘\"这类**非凸(挖洞)**可行集。\n", + "网格幸存集可以,并额外买到三件事:\n", + "\n", + "1. **缺席证明**:幸存集为空 ⇒ 可行集为空 ⇒ 该频道无源(严格,不必等覆盖账本跑完);\n", + "2. **跳测规则**:幸存格到测点的最小距离 > r_max ⇒ 该次测量必 `no_signal` 且不产生新排除,\n", + " 直接跳过(省 5 s 检测 + 1 s 换频);\n", + "3. **负观测更新**:`no_signal` 直接删掉 B(s, 1000) 内的整格。\n", + "\n", + "严格性由 **Voronoi 裕量**保证:格距 h 的裕量 m = √2/2·h 是格心到格内任一点的最大距离,\n", + "所有删除判定都内缩 m(\"整格都在可行集外才删\"),因此真源所在格永不被删。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "63499de6", + "metadata": {}, + "outputs": [], + "source": [ + "_ANG_EPS_DEG = 1e-9 # 角向 kill 比较的浮点余量\n", + "_DIST_EPS_M = 1e-9\n", + "_COARSE_FACTOR = 4 # 粗格每边聚合的细格数\n", + "\n", + "try: # numpy 仅作**可选**加速后端;缺失时全部回退纯 Python\n", + " import numpy as _np\n", + "except Exception: # pragma: no cover - 环境无 numpy 时走纯 Python 分支\n", + " _np = None\n", + "if os.environ.get(\"MCM26B_NO_NUMPY\"): # 强制纯 Python:对拍与回退验证用\n", + " _np = None\n", + "\n", + "\n", + "def angular_gap(a_deg: float, b_deg: float) -> float:\n", + " \"\"\"两个方位角(度)的最小夹角。\"\"\"\n", + " return abs((a_deg - b_deg + 180.0) % 360.0 - 180.0)\n", + "\n", + "\n", + "def as_sample_array(samples):\n", + " \"\"\"把 [(x,y), ...] 采样转成 (n,2) float64 数组;numpy 缺失时原样返回。\n", + "\n", + " 评分为 O(代表点 × 子采样) 的向量运算,是单局 CPU 的主要开销\n", + " (实测占 72%)。调用方在每次选点前转换一次,评分函数按类型分派,\n", + " 两条实现(numpy / 纯 Python)语义逐位对齐,见 tests/test_particles.py。\n", + " \"\"\"\n", + " if _np is None or isinstance(samples, _np.ndarray) or len(samples) == 0:\n", + " return samples\n", + " return _np.asarray(samples, dtype=float)\n", + "\n", + "\n", + "def _branch_radius_array(members) -> float:\n", + " \"\"\"分支后验半径的数组版:到质心的最大距离。\"\"\"\n", + " centroid = members.mean(axis=0)\n", + " return float(_np.max(_np.hypot(members[:, 0] - centroid[0],\n", + " members[:, 1] - centroid[1])))\n", + "\n", + "\n", + "class ChannelParticles:\n", + " \"\"\"单个频道的网格幸存集。\n", + "\n", + " 网格为覆盖 Ω 外扩一格的轴对齐方格(边长 h),索引 ``i*W + j``;\n", + " ``alive`` 是幸存格索引集合。初始集 = 格心距原点 <= Ω 半径 + 裕量的\n", + " 全部格子,因此真源(|p| <= 1800 [题面])所在格必在初始集内。\n", + " ``version`` 随每次删除自增,调用方可据此缓存派生量(MEC、跳测判定)。\n", + " \"\"\"\n", + "\n", + " def __init__(self, config: ProblemConfig = ProblemConfig(),\n", + " spacing_m: float | None = None):\n", + " field = config.field\n", + " self.config = config\n", + " self.spacing_m = float(spacing_m if spacing_m is not None\n", + " else config.bayes.particle_spacing_m)\n", + " if not 1.0 <= self.spacing_m <= 200.0:\n", + " raise ValueError(\"网格间距须在 [1, 200] 米\")\n", + " self.margin_m = self.spacing_m * math.sqrt(2) / 2 # Voronoi 裕量\n", + " self.r_eff_min_m = field.r_eff_min_m\n", + " self.r_eff_max_m = field.r_eff_max_m\n", + " self.near_radius_m = field.near_radius_m\n", + " self.half_angle_deg = (field.bearing_error_half_deg\n", + " + config.search.bearing_rounding_margin_deg)\n", + " # 覆盖 [-R-m, R+m]² 的格点阵列;格 (i,j) 的中心在\n", + " # (x0 + (i+0.5)h, x0 + (j+0.5)h),中心到格内任一点 <= h·√2/2 = 裕量\n", + " span = field.omega_radius_m + self.margin_m\n", + " self.x0 = -span\n", + " self.width = int(math.ceil(2 * span / self.spacing_m)) + 1\n", + " limit_sq = (span + 1e-9) ** 2\n", + " self.alive: set[int] = set()\n", + " self._coarse: dict[int, int] = {} # 粗格索引 -> 幸存细格数\n", + " coarse_w = self._coarse_width()\n", + " for i in range(self.width):\n", + " x = self.x0 + (i + 0.5) * self.spacing_m\n", + " for j in range(self.width):\n", + " if x * x + (self.x0 + (j + 0.5) * self.spacing_m) ** 2 <= limit_sq:\n", + " index = i * self.width + j\n", + " self.alive.add(index)\n", + " key = (i // _COARSE_FACTOR) * coarse_w + j // _COARSE_FACTOR\n", + " self._coarse[key] = self._coarse.get(key, 0) + 1\n", + " self.version = 0\n", + " self._mec: tuple[Vec2, float] | None = None\n", + "\n", + " # ------------------------------------------------------------ 索引与坐标\n", + " def _coarse_width(self) -> int:\n", + " return (self.width + _COARSE_FACTOR - 1) // _COARSE_FACTOR\n", + "\n", + " def cell_center(self, index: int) -> Vec2:\n", + " i, j = divmod(index, self.width)\n", + " return (self.x0 + (i + 0.5) * self.spacing_m,\n", + " self.x0 + (j + 0.5) * self.spacing_m)\n", + "\n", + " def discard(self, indices: list[int]) -> None:\n", + " \"\"\"公开删除入口:联合信念把\"朝向不可能\"的格一并删除时使用。\"\"\"\n", + " self._discard(indices)\n", + "\n", + " def _discard(self, indices: list[int]) -> None:\n", + " if not indices:\n", + " return\n", + " coarse_w = self._coarse_width()\n", + " for index in indices:\n", + " if index not in self.alive:\n", + " continue\n", + " self.alive.discard(index)\n", + " key = (index // self.width // _COARSE_FACTOR) * coarse_w \\\n", + " + (index % self.width) // _COARSE_FACTOR\n", + " count = self._coarse.get(key, 0) - 1\n", + " if count <= 0:\n", + " self._coarse.pop(key, None)\n", + " else:\n", + " self._coarse[key] = count\n", + " self.version += 1\n", + " self._mec = None\n", + "\n", + " # ------------------------------------------------------------ 观测更新\n", + " def _kill_disk(self, center: Vec2, radius_m: float) -> None:\n", + " \"\"\"删除格心距 center <= radius_m 的全部幸存格(整格判据见模块注释)。\"\"\"\n", + " if not self.alive:\n", + " return\n", + " reach = radius_m + _DIST_EPS_M\n", + " ilo = max(0, int(math.floor((center[0] - reach - self.x0) / self.spacing_m)))\n", + " ihi = min(self.width - 1,\n", + " int(math.ceil((center[0] + reach - self.x0) / self.spacing_m)))\n", + " jlo = max(0, int(math.floor((center[1] - reach - self.x0) / self.spacing_m)))\n", + " jhi = min(self.width - 1,\n", + " int(math.ceil((center[1] + reach - self.x0) / self.spacing_m)))\n", + " limit_sq = reach * reach\n", + " doomed = []\n", + " for i in range(ilo, ihi + 1):\n", + " dx = self.x0 + (i + 0.5) * self.spacing_m - center[0]\n", + " base = i * self.width\n", + " for j in range(jlo, jhi + 1):\n", + " index = base + j\n", + " if index not in self.alive:\n", + " continue\n", + " dy = self.x0 + (j + 0.5) * self.spacing_m - center[1]\n", + " if dx * dx + dy * dy <= limit_sq:\n", + " doomed.append(index)\n", + " self._discard(doomed)\n", + "\n", + " def _kill_outside_disk(self, center: Vec2, radius_m: float) -> None:\n", + " \"\"\"删除格心距 center > radius_m 的全部幸存格(保留盘内)。\"\"\"\n", + " if not self.alive:\n", + " return\n", + " reach = radius_m + _DIST_EPS_M\n", + " doomed = [index for index in self.alive\n", + " if math.dist(self.cell_center(index), center) > reach]\n", + " self._discard(doomed)\n", + "\n", + " def _kill_outside_wedge(self, station: Vec2, reading_deg: float) -> None:\n", + " \"\"\"删除角向偏离读数超出 δ_eff + 角向格裕量的幸存格。\n", + "\n", + " 角向格裕量 = asin(m / max(dist−m, 1)):格内任一点相对格心的方位\n", + " 偏差不超过它(点距测点还可再近 m,故分母再内缩 m)。\n", + " \"\"\"\n", + " if not self.alive:\n", + " return\n", + " sx, sy = float(station[0]), float(station[1])\n", + " doomed = []\n", + " for index in self.alive:\n", + " gx, gy = self.cell_center(index)\n", + " dist = math.hypot(gx - sx, gy - sy)\n", + " if dist <= self.margin_m + 1.0:\n", + " continue # 格贴测点:格内方位可指向任意方向,不可删\n", + " angular_margin = math.degrees(\n", + " math.asin(min(0.9999, self.margin_m / (dist - self.margin_m))))\n", + " gap = angular_gap(math.degrees(math.atan2(gy - sy, gx - sx)), reading_deg)\n", + " if gap > self.half_angle_deg + angular_margin + _ANG_EPS_DEG:\n", + " doomed.append(index)\n", + " self._discard(doomed)\n", + "\n", + " def apply_measure(self, station: Vec2, result: str,\n", + " svd_deg: float | None = None, *,\n", + " directional: bool = False) -> None:\n", + " \"\"\"按读数更新幸存集。真源保留性由 Voronoi 裕量保证(模块注释)。\n", + "\n", + " ``directional=True``(第四问):no_signal **不删空间候选**——定向源\n", + " 的静默还可能来自朝向遮挡,单独删空间候选会误删真源;朝向维度由\n", + " :class:`~mcm26b.belief.joint.JointBelief` 维护。\n", + " \"\"\"\n", + " if result == NO_SIGNAL:\n", + " if directional:\n", + " return\n", + " # no_signal ⟹ dist > r_eff >= 1000:整格落入 B(s, 1000−m) 的删。\n", + " self._kill_disk(station, self.r_eff_min_m - self.margin_m)\n", + " elif result == NEAR:\n", + " self._kill_outside_disk(station, self.near_radius_m + self.margin_m)\n", + " elif result == DIRECTION:\n", + " if svd_deg is None:\n", + " raise ValueError(\"direction 读数必须携带 svd_deg\")\n", + " # direction 隐含 dist <= r_max [题面]\n", + " self._kill_outside_disk(station, self.r_eff_max_m + self.margin_m)\n", + " self._kill_outside_wedge(station, svd_deg)\n", + " else:\n", + " raise ValueError(f\"未知测向结果: {result!r}\")\n", + "\n", + " # ------------------------------------------------------------ 查询\n", + " def __len__(self) -> int:\n", + " return len(self.alive)\n", + "\n", + " def alive_points(self, limit: int | None = None) -> list[Vec2]:\n", + " sorted_alive = sorted(self.alive)\n", + " if limit is not None and len(sorted_alive) > limit:\n", + " step = len(sorted_alive) / limit\n", + " indices = {sorted_alive[int(k * step) % len(sorted_alive)]\n", + " for k in range(limit)}\n", + " indices = sorted(indices)\n", + " else:\n", + " indices = sorted_alive\n", + " return [self.cell_center(index) for index in indices]\n", + "\n", + " def nearest_alive_distance(self, point: Vec2, limit_m: float) -> float | None:\n", + " \"\"\"最近幸存格心距离;> limit_m 时返回 None(粗格环扫 + 下界剪枝)。\n", + "\n", + " 返回值语义:恰为最近幸存格心距离(若 <= limit_m);None 表示所有\n", + " 幸存格心都超出 limit_m。粗格聚合半径已计入扫描范围,不漏判。\n", + " \"\"\"\n", + " if not self.alive:\n", + " return None\n", + " coarse_cell_m = self.spacing_m * _COARSE_FACTOR\n", + " coarse_reach = coarse_cell_m * math.sqrt(2) / 2\n", + " cw = self._coarse_width()\n", + " ci_base = int(math.floor((point[0] - self.x0) / coarse_cell_m))\n", + " cj_base = int(math.floor((point[1] - self.x0) / coarse_cell_m))\n", + " ring_max = int(math.ceil((limit_m + coarse_reach) / coarse_cell_m)) + 1\n", + " best: float | None = None\n", + " for ring in range(ring_max + 1):\n", + " lower_bound = max(0.0, ring - 1) * coarse_cell_m - coarse_reach\n", + " if best is not None and lower_bound >= best:\n", + " break # 更外环的所有格心都 >= 下界 >= 当前最优\n", + " for ci in range(max(0, ci_base - ring), min(cw - 1, ci_base + ring) + 1):\n", + " for cj in range(max(0, cj_base - ring), min(cw - 1, cj_base + ring) + 1):\n", + " if max(abs(ci - ci_base), abs(cj - cj_base)) != ring:\n", + " continue # 只扫当前环(Chebyshev 环)\n", + " if (ci * cw + cj) not in self._coarse:\n", + " continue\n", + " ccx = self.x0 + (ci + 0.5) * coarse_cell_m\n", + " ccy = self.x0 + (cj + 0.5) * coarse_cell_m\n", + " if math.hypot(ccx - point[0], ccy - point[1]) \\\n", + " > limit_m + coarse_reach:\n", + " continue\n", + " i0, j0 = ci * _COARSE_FACTOR, cj * _COARSE_FACTOR\n", + " for i in range(i0, min(i0 + _COARSE_FACTOR, self.width)):\n", + " base = i * self.width\n", + " for j in range(j0, min(j0 + _COARSE_FACTOR, self.width)):\n", + " index = base + j\n", + " if index not in self.alive:\n", + " continue\n", + " dist = math.dist(self.cell_center(index), point)\n", + " if dist <= limit_m and (best is None or dist < best):\n", + " best = dist\n", + " return best\n", + "\n", + " def guaranteed_no_signal(self, station: Vec2) -> bool:\n", + " \"\"\"真源与该测点距离必 > r_max(>= r_eff)⟹ 必 no_signal,测了也无信息。\"\"\"\n", + " return self.nearest_alive_distance(\n", + " station, self.r_eff_max_m + self.margin_m) is None\n", + "\n", + " def mec(self) -> tuple[Vec2, float]:\n", + " \"\"\"幸存集最小包围圆(圆心, 半径);按 version 缓存。\"\"\"\n", + " if self._mec is None:\n", + " if not self.alive:\n", + " raise ValueError(\"幸存集为空(该频道已可证明缺席)\")\n", + " points = [self.cell_center(index) for index in self.alive]\n", + " self._mec = smallest_enclosing_circle(points)\n", + " return self._mec\n", + "\n", + " # ------------------------------------------------------------ 信息增益\n", + " def subsample(self, size: int) -> list[Vec2]:\n", + " \"\"\"按索引序均匀抽取的子采样(索引序≈空间序,代表点空间铺开)。\"\"\"\n", + " return self.alive_points(limit=size)\n", + "\n", + " # ---------------------------------------------------- 向量化评分(可选)\n", + " def _expected_survival_vector(self, point: Vec2, sub, representatives) -> float:\n", + " \"\"\"``expected_survival`` 的向量化实现(与纯 Python 版逐分支同语义)。\"\"\"\n", + " count = len(sub)\n", + " eps = 1.0 / count\n", + " dx, dy = sub[:, 0] - point[0], sub[:, 1] - point[1]\n", + " dist = _np.hypot(dx, dy)\n", + " within = int(_np.count_nonzero(\n", + " dist <= self.r_eff_min_m - self.margin_m + _DIST_EPS_M))\n", + " log_keep_ns = math.log(max(1.0 - within / count, eps))\n", + " bearing = _np.degrees(_np.arctan2(dy, dx))\n", + " in_range = dist <= self.r_eff_max_m + self.margin_m\n", + " rdx, rdy = representatives[:, 0] - point[0], representatives[:, 1] - point[1]\n", + " rdist = _np.hypot(rdx, rdy)\n", + " rbearing = _np.degrees(_np.arctan2(rdy, rdx))\n", + " gaps = _np.abs((bearing[None, :] - rbearing[:, None] + 180.0) % 360.0 - 180.0)\n", + " survivors = _np.count_nonzero(\n", + " (gaps <= self.half_angle_deg + _ANG_EPS_DEG) & in_range[None, :], axis=1)\n", + " p_ns = _np.clip((rdist - self.r_eff_min_m)\n", + " / (self.r_eff_max_m - self.r_eff_min_m), 0.0, 1.0)\n", + " keep_dir = _np.maximum(survivors / count, eps)\n", + " values = p_ns * log_keep_ns + (1.0 - p_ns) * _np.log(keep_dir)\n", + " near = rdist <= self.near_radius_m + self.margin_m\n", + " values = _np.where(near, math.log(eps), values)\n", + " return float(values.mean())\n", + "\n", + " def _expected_posterior_radius_vector(self, point: Vec2, sub,\n", + " representatives) -> float:\n", + " \"\"\"``expected_posterior_radius`` 的向量化实现。\"\"\"\n", + " eps_radius = self.spacing_m / 2.0\n", + " dx, dy = sub[:, 0] - point[0], sub[:, 1] - point[1]\n", + " dist = _np.hypot(dx, dy)\n", + " bearing = _np.degrees(_np.arctan2(dy, dx))\n", + " keep_ns = dist > self.r_eff_min_m - self.margin_m\n", + " r_ns = (_branch_radius_array(sub[keep_ns]) if keep_ns.any()\n", + " else eps_radius)\n", + " rdx, rdy = representatives[:, 0] - point[0], representatives[:, 1] - point[1]\n", + " rdist = _np.hypot(rdx, rdy)\n", + " rbearing = _np.degrees(_np.arctan2(rdy, rdx))\n", + " gaps = _np.abs((bearing[None, :] - rbearing[:, None] + 180.0) % 360.0 - 180.0)\n", + " dir_mask = ((gaps <= self.half_angle_deg + _ANG_EPS_DEG)\n", + " & (dist[None, :] <= self.r_eff_max_m + self.margin_m))\n", + " r_dir = _np.array([_branch_radius_array(sub[row]) if row.any()\n", + " else eps_radius for row in dir_mask])\n", + " p_ns = _np.clip((rdist - self.r_eff_min_m)\n", + " / (self.r_eff_max_m - self.r_eff_min_m), 0.0, 1.0)\n", + " near = rdist <= self.near_radius_m + self.margin_m\n", + " values = _np.where(near, self.near_radius_m + self.margin_m,\n", + " p_ns * r_ns + (1.0 - p_ns) * r_dir)\n", + " return float(values.mean())\n", + "\n", + " def expected_survival(self, point: Vec2, subsample,\n", + " representatives) -> float:\n", + " \"\"\"E[log 幸存占比]:越小该测点的期望信息增益越大。\n", + "\n", + " r_eff 不确定性解析积分:dist∈(1000,1500] 时按 r_eff~U(1000,1500)\n", + " 取 p_ns=(dist−1000)/500 为 no_signal 分支概率。\n", + " - no_signal 分支:删 B(point, 1000−m),幸存 = 子采样中盘外比例;\n", + " - direction 分支:以代表点方位为期望读数,角域 ∩ B(point,1500+m) 内幸存;\n", + " - near 分支(dist <= 5+m):可行集收缩到 5m 盘,幸存占比趋近 0。\n", + " \"\"\"\n", + " if not self.alive or len(subsample) == 0 or len(representatives) == 0:\n", + " return 0.0\n", + " if _np is not None and isinstance(subsample, _np.ndarray) \\\n", + " and isinstance(representatives, _np.ndarray):\n", + " return self._expected_survival_vector(point, subsample, representatives)\n", + " eps = 1.0 / len(subsample)\n", + " keep_ns = max(1.0 - self.fraction_within(subsample, point,\n", + " self.r_eff_min_m - self.margin_m),\n", + " eps)\n", + " log_keep_ns = math.log(keep_ns)\n", + " total = 0.0\n", + " for rep in representatives:\n", + " dist = math.hypot(rep[0] - point[0], rep[1] - point[1])\n", + " if dist <= self.near_radius_m + self.margin_m:\n", + " total += math.log(eps)\n", + " continue\n", + " p_ns = min(1.0, max(0.0, (dist - self.r_eff_min_m)\n", + " / (self.r_eff_max_m - self.r_eff_min_m)))\n", + " reading = math.atan2(rep[1] - point[1], rep[0] - point[0])\n", + " survivors = 0\n", + " for p in subsample:\n", + " if math.dist(p, point) > self.r_eff_max_m + self.margin_m:\n", + " continue\n", + " gap = angular_gap(math.degrees(\n", + " math.atan2(p[1] - point[1], p[0] - point[0])),\n", + " math.degrees(reading))\n", + " if gap <= self.half_angle_deg + _ANG_EPS_DEG:\n", + " survivors += 1\n", + " keep_dir = max(survivors / len(subsample), eps)\n", + " total += p_ns * log_keep_ns + (1.0 - p_ns) * math.log(keep_dir)\n", + " return total / max(len(representatives), 1)\n", + "\n", + " def fraction_within(self, samples, point: Vec2, radius_m: float) -> float:\n", + " if len(samples) == 0:\n", + " return 0.0\n", + " reach = radius_m + _DIST_EPS_M\n", + " if _np is not None and isinstance(samples, _np.ndarray):\n", + " distance = _np.hypot(samples[:, 0] - point[0], samples[:, 1] - point[1])\n", + " return float(_np.count_nonzero(distance <= reach)) / len(samples)\n", + " count = sum(1 for p in samples if math.dist(p, point) <= reach)\n", + " return count / len(samples)\n", + "\n", + " def _branch_radius(self, members) -> float:\n", + " \"\"\"分支后验的半径代理:幸存子采样到其质心的最大距离(O(n),免 Welzl)。\"\"\"\n", + " if len(members) == 0:\n", + " return 0.0\n", + " if _np is not None and isinstance(members, _np.ndarray):\n", + " return _branch_radius_array(members)\n", + " mx = sum(p[0] for p in members) / len(members)\n", + " my = sum(p[1] for p in members) / len(members)\n", + " return max(math.hypot(p[0] - mx, p[1] - my) for p in members)\n", + "\n", + " def expected_posterior_radius(self, point: Vec2, subsample,\n", + " representatives) -> float:\n", + " \"\"\"一次测量后期望后验半径(米):选点主指标,直指清除证书阈值。\n", + "\n", + " 对每个代表假设(真值候选)按 r_eff~U(1000,1500) 解析积分\n", + " no_signal/direction 分支,near 分支(dist <= 5+m)后验为 5m 盘;\n", + " 各分支半径用幸存子采样的质心最大距离近似(偏差 << 格距,排序用)。\n", + " 与几何版 worst-posterior 同族,但作用于含负观测的非凸幸存集,\n", + " 且以期望代替最坏(代表点覆盖幸存集主轴)。\n", + " \"\"\"\n", + " if not self.alive or len(subsample) == 0 or len(representatives) == 0:\n", + " return 0.0\n", + " if _np is not None and isinstance(subsample, _np.ndarray) \\\n", + " and isinstance(representatives, _np.ndarray):\n", + " return self._expected_posterior_radius_vector(\n", + " point, subsample, representatives)\n", + " eps_radius = self.spacing_m / 2.0\n", + " total = 0.0\n", + " for rep in representatives:\n", + " dist = math.hypot(rep[0] - point[0], rep[1] - point[1])\n", + " if dist <= self.near_radius_m + self.margin_m:\n", + " total += self.near_radius_m + self.margin_m\n", + " continue\n", + " p_ns = min(1.0, max(0.0, (dist - self.r_eff_min_m)\n", + " / (self.r_eff_max_m - self.r_eff_min_m)))\n", + " members_ns = [p for p in subsample\n", + " if math.dist(p, point) > self.r_eff_min_m - self.margin_m]\n", + " reading = math.atan2(rep[1] - point[1], rep[0] - point[0])\n", + " members_dir = []\n", + " for p in subsample:\n", + " if math.dist(p, point) > self.r_eff_max_m + self.margin_m:\n", + " continue\n", + " gap = angular_gap(math.degrees(\n", + " math.atan2(p[1] - point[1], p[0] - point[0])),\n", + " math.degrees(reading))\n", + " if gap <= self.half_angle_deg + _ANG_EPS_DEG:\n", + " members_dir.append(p)\n", + " r_ns = self._branch_radius(members_ns) if members_ns else eps_radius\n", + " r_dir = self._branch_radius(members_dir) if members_dir else eps_radius\n", + " total += p_ns * r_ns + (1.0 - p_ns) * r_dir\n", + " return total / max(len(representatives), 1)\n" + ] + }, + { + "cell_type": "markdown", + "id": "7cfa64a2", + "metadata": {}, + "source": [ + "### 4.7 (位置 × 朝向) 联合可行集(`belief/joint.py`)\n", + "\n", + "第四问的失败全部来自定向源:策略知道\"源可能在哪个空间区域\",却不知道\"它朝着哪边\"。\n", + "本模块给每个幸存格附一个 24 档(15°)朝向可行性掩码,把\"看不看得见\"变成可推理的量。\n", + "更新规则全部取保守侧并计入**格内角裕量** `asin(margin / max(dist − margin, 1))`\n", + "(格内任一点相对格心方位偏差的上界):\n", + "\n", + "| 观测 | 位置 | 朝向 |\n", + "| --- | --- | --- |\n", + "| `direction` @ s | 距离 ≤ 1500、角向 \\|gap\\| ≤ δ_eff + 格裕量 | 必须**可能**覆盖 s |\n", + "| `near` @ s | 距离 ≤ 5 | 必须**可能**覆盖 s(near 同样要求可见) |\n", + "| `no_signal` @ s | **不删**(可能是遮挡,也可能是距离不足) | 仅在整格必落在 1000 m 内时,删去\"必然看得见\"的档 |\n", + "\n", + "由此得到二维真源保留定理:真源 (位置, 朝向) 永不被删。`prob_detect` 用可见性概率选点,\n", + "取代固定的 45° 阶梯试探;联合集为空同样就是缺席证明。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "3e8eb944", + "metadata": {}, + "outputs": [], + "source": [ + "HEADING_BINS = 24 # 15° 一档\n", + "_BIN_HALF_DEG = 180.0 / HEADING_BINS # 7.5°\n", + "_FULL_MASK = (1 << HEADING_BINS) - 1\n", + "_GRID_DEG = 3.0 # 角度查表分辨率\n", + "_GRID_N = int(round(360.0 / _GRID_DEG))\n", + "\n", + "# numpy 仅作可选加速后端(与 particles 同一开关:无 numpy 时走纯 Python 分支)\n", + "_np = _np\n", + "\n", + "\n", + "def heading_gap(a_deg: float, b_deg: float) -> float:\n", + " \"\"\"两个朝向角的最小夹角(度)。\"\"\"\n", + " return abs((a_deg - b_deg + 180.0) % 360.0 - 180.0)\n", + "\n", + "\n", + "def _cover_mask(bearing_deg: float, half_deg: float) -> int:\n", + " \"\"\"与该方位夹角不超过 ``half_deg`` 的朝向档掩码。\"\"\"\n", + " mask = 0\n", + " for k in range(HEADING_BINS):\n", + " if heading_gap(360.0 * k / HEADING_BINS, bearing_deg) <= half_deg:\n", + " mask |= 1 << k\n", + " return mask\n", + "\n", + "\n", + "# 查表:以 bearing 为轴、半角 90° 的可见半平面。\n", + "# - COVER:**可能**覆盖该方位(含半档与查表舍入的保守侧);\n", + "# - SILENT:**确定**覆盖该方位(内缩半档与舍入)——离散对照表,供审计与\n", + "# 文档比对;实际裁剪走 _cover_mask / _far_mask,因为还必须逐格计入\n", + "# \"格内角裕量\"(格心到格内任一点的方位偏差上界),无法预先制表。\n", + "_COVER_TABLE = tuple(\n", + " _cover_mask(_GRID_DEG * i, 90.0 + _BIN_HALF_DEG + _GRID_DEG / 2)\n", + " for i in range(_GRID_N))\n", + "_SILENT_TABLE = tuple(\n", + " _cover_mask(_GRID_DEG * i, 90.0 - _BIN_HALF_DEG - _GRID_DEG / 2)\n", + " for i in range(_GRID_N))\n", + "\n", + "\n", + "def _far_mask(bearing_deg: float, exclude_half_deg: float) -> int:\n", + " \"\"\"与方位夹角**大于** ``exclude_half_deg`` 的朝向档掩码(no_signal 用)。\n", + "\n", + " 与 :func:`_cover_mask` 互补:no_signal 只允许保留\"确定看不见\"的朝向档。\n", + " \"\"\"\n", + " mask = 0\n", + " for k in range(HEADING_BINS):\n", + " if heading_gap(360.0 * k / HEADING_BINS, bearing_deg) > exclude_half_deg:\n", + " mask |= 1 << k\n", + " return mask\n", + "\n", + "if _np is not None: # 12 位半字 popcount 查表(朝向掩码 24 位)与半平面查表数组\n", + " _POP16 = _np.array([bin(value).count(\"1\") for value in range(1 << 12)],\n", + " dtype=_np.int64)\n", + " _COVER_ARR = _np.array(_COVER_TABLE, dtype=_np.int64)\n", + "else: # pragma: no cover - 无 numpy 分支\n", + " _POP16 = _COVER_ARR = None\n", + "\n", + "\n", + "def _popcount(mask: int) -> int:\n", + " return bin(mask).count(\"1\")\n", + "\n", + "\n", + "def _table_index(bearing_deg: float) -> int:\n", + " return int(round((bearing_deg % 360.0) / _GRID_DEG)) % _GRID_N\n", + "\n", + "\n", + "class JointBelief:\n", + " \"\"\"单频道 (位置 × 朝向) 联合可行集。\"\"\"\n", + "\n", + " def __init__(self, config: ProblemConfig = ProblemConfig()):\n", + " self.config = config\n", + " self.field = config.field\n", + " self.position = ChannelParticles(config)\n", + " self.masks: dict[int, int] = {} # 格索引 -> 朝向掩码(缺省为全档)\n", + " self._sample_cache: tuple[int, list[int]] | None = None\n", + "\n", + " # ------------------------------------------------------------ 查询\n", + " def __len__(self) -> int:\n", + " return len(self.position)\n", + "\n", + " def is_absent(self) -> bool:\n", + " \"\"\"联合集空 ⟹ 该频道不存在源(真源保留定理的二维推广)。\"\"\"\n", + " return not self.position.alive\n", + "\n", + " def _mask(self, index: int) -> int:\n", + " return self.masks.get(index, _FULL_MASK)\n", + "\n", + " def sample(self, size: int = 256) -> list[int]:\n", + " \"\"\"均匀抽样幸存格(评分用;证书始终用完整集合)。\"\"\"\n", + " cached = self._sample_cache\n", + " if cached is not None and cached[0] == self.position.version:\n", + " return cached[1]\n", + " alive = sorted(self.position.alive)\n", + " if len(alive) > size:\n", + " step = len(alive) / size\n", + " alive = [alive[int(k * step) % len(alive)] for k in range(size)]\n", + " self._sample_cache = (self.position.version, alive)\n", + " return alive\n", + "\n", + " def _mask_popcount(self, index: int) -> int:\n", + " return _popcount(self._mask(index))\n", + "\n", + " def expected_posterior_radius(self, reader: Vec2, size: int | None = None) -> float:\n", + " \"\"\"一次测量后的期望后验 MEC 半径(米);D1 值函数。\n", + "\n", + " 与 :meth:`ChannelParticles.expected_posterior_radius` 同族,差别只在\n", + " no_signal 分支概率:定向源不仅会因距离 > r_eff 静默,还会因朝向遮挡\n", + " 静默,因此\n", + "\n", + " p_vis(p) = P(r_eff ≥ |p−q|) × cover_ratio(p, q)\n", + "\n", + " 其中 ``cover_ratio`` 是该格朝向掩码中\"可能覆盖 q 方位\"的档位占比。\n", + " 分支半径语义:\n", + "\n", + " - direction(可见,非 near):读数为 q 处的方位 ±δ,后验收缩到该方位\n", + " 楔形与当前可行集之交,半径取幸存子采样的质心最大距离;\n", + " - no_signal:定向源的静默**不删空间候选**,位置后验半径保持当前值;\n", + " - near:后验为 5m 盘。\n", + "\n", + " 返回值只用于**选点排序**,不参与任何安全判定;证书仍由凸/网格口径给出。\n", + " \"\"\"\n", + " pf = self.position\n", + " if not pf.alive:\n", + " return 0.0\n", + " if size is None:\n", + " size = self.config.bayes.score_subsample\n", + " indices = self.sample(max(2, size))\n", + " if not indices:\n", + " return 0.0\n", + " stride = max(len(indices) // max(self.config.bayes.mc_representatives, 1), 1)\n", + " representatives = indices[::stride]\n", + " if _np is not None:\n", + " return self._epr_vector(reader, indices, representatives)\n", + " return self._epr_python(reader, indices, representatives) # pragma: no cover\n", + "\n", + " def _epr_vector(self, reader: Vec2, indices: list[int],\n", + " representatives: list[int]) -> float:\n", + " pf = self.position\n", + " points = _np.array([pf.cell_center(index) for index in indices], dtype=float)\n", + " masks = _np.array([self._mask(index) for index in indices], dtype=_np.int64)\n", + " reps = _np.array([pf.cell_center(index) for index in representatives],\n", + " dtype=float)\n", + " rep_masks = _np.array([self._mask(index) for index in representatives],\n", + " dtype=_np.int64)\n", + " dx, dy = points[:, 0] - reader[0], points[:, 1] - reader[1]\n", + " dist = _np.hypot(dx, dy)\n", + " bearing = _np.degrees(_np.arctan2(dy, dx))\n", + " rdx, rdy = reps[:, 0] - reader[0], reps[:, 1] - reader[1]\n", + " rdist = _np.hypot(rdx, rdy)\n", + " rbearing = _np.degrees(_np.arctan2(rdy, rdx))\n", + " cover = _COVER_ARR[_np.round(_np.mod(rbearing, 360.0) / _GRID_DEG)\n", + " .astype(_np.int64) % _GRID_N]\n", + " visible_mask = rep_masks & cover\n", + " bits = (_POP16[visible_mask & 0xFFF]\n", + " + _POP16[(visible_mask >> 12) & 0xFFF])\n", + " cover_ratio = bits / float(HEADING_BINS)\n", + " p_silent_range = _np.clip((rdist - self.field.r_eff_min_m)\n", + " / (self.field.r_eff_max_m\n", + " - self.field.r_eff_min_m), 0.0, 1.0)\n", + " p_vis = (1.0 - p_silent_range) * cover_ratio\n", + " p_ns = 1.0 - p_vis\n", + " gaps = _np.abs((bearing[None, :] - rbearing[:, None] + 180.0) % 360.0 - 180.0)\n", + " in_wedge = ((gaps <= self.config.field.bearing_error_half_deg\n", + " + self.config.search.bearing_rounding_margin_deg + 1e-9)\n", + " & (dist[None, :] <= self.field.r_eff_max_m + pf.margin_m))\n", + " eps_radius = pf.spacing_m / 2.0\n", + " radii = []\n", + " for row in in_wedge:\n", + " member = points[row]\n", + " radii.append(_branch_radius_array(member)\n", + " if len(member) else eps_radius)\n", + " radii = _np.array(radii, dtype=float)\n", + " current = pf.mec()[1]\n", + " near = rdist <= self.field.near_radius_m + pf.margin_m\n", + " values = _np.where(near, self.field.near_radius_m + pf.margin_m,\n", + " p_ns * current + p_vis * radii)\n", + " return float(values.mean())\n", + "\n", + " def _epr_python(self, reader: Vec2, indices: list[int],\n", + " representatives: list[int]) -> float: # pragma: no cover\n", + " \"\"\"纯 Python 回退(与向量版逐分支同语义,供无 numpy 环境与对拍)。\"\"\"\n", + " pf = self.position\n", + " points = [pf.cell_center(index) for index in indices]\n", + " masks = [self._mask(index) for index in indices]\n", + " eps_radius = pf.spacing_m / 2.0\n", + " current = pf.mec()[1]\n", + " half_angle = (self.config.field.bearing_error_half_deg\n", + " + self.config.search.bearing_rounding_margin_deg)\n", + " total = 0.0\n", + " for rep_index in representatives:\n", + " rx, ry = pf.cell_center(rep_index)\n", + " distance = math.hypot(rx - reader[0], ry - reader[1])\n", + " if distance <= self.field.near_radius_m + pf.margin_m:\n", + " total += self.field.near_radius_m + pf.margin_m\n", + " continue\n", + " reading = math.degrees(math.atan2(ry - reader[1], rx - reader[0]))\n", + " cover = _COVER_TABLE[_table_index(reading)]\n", + " bits = _popcount(self._mask(rep_index) & cover)\n", + " ratio = bits / float(HEADING_BINS)\n", + " if distance <= self.field.r_eff_min_m:\n", + " p_range = 1.0\n", + " elif distance >= self.field.r_eff_max_m:\n", + " p_range = 0.0\n", + " else:\n", + " p_range = ((self.field.r_eff_max_m - distance)\n", + " / (self.field.r_eff_max_m - self.field.r_eff_min_m))\n", + " p_vis = p_range * ratio\n", + " members = []\n", + " for point, mask in zip(points, masks):\n", + " if math.dist(point, reader) > self.field.r_eff_max_m + pf.margin_m:\n", + " continue\n", + " bearing = math.degrees(math.atan2(point[1] - reader[1],\n", + " point[0] - reader[0]))\n", + " if heading_gap(bearing, reading) <= half_angle + 1e-9:\n", + " members.append(point)\n", + " if members:\n", + " mx = sum(p[0] for p in members) / len(members)\n", + " my = sum(p[1] for p in members) / len(members)\n", + " radius = max(math.hypot(p[0] - mx, p[1] - my) for p in members)\n", + " else:\n", + " radius = eps_radius\n", + " total += (1.0 - p_vis) * current + p_vis * radius\n", + " return total / max(len(representatives), 1)\n", + "\n", + "\n", + " def prob_detect(self, reader: Vec2, size: int = 256) -> float:\n", + " \"\"\"在 ``reader`` 处能看见任一可行 (位置, 朝向) 的概率质量(启发式)。\n", + "\n", + " r_eff ~ U[1000, 1500] 解析积分;朝向按可行档位占比计权。\n", + " 只用于选点排序,不参与任何安全判定。\n", + " \"\"\"\n", + " cells = self.sample(size)\n", + " if not cells:\n", + " return 0.0\n", + " total = 0.0\n", + " span = self.field.r_eff_max_m - self.field.r_eff_min_m\n", + " for index in cells:\n", + " gx, gy = self.position.cell_center(index)\n", + " distance = math.hypot(reader[0] - gx, reader[1] - gy)\n", + " if distance > self.field.r_eff_max_m:\n", + " continue\n", + " if distance <= self.field.r_eff_min_m:\n", + " p_range = 1.0\n", + " else:\n", + " p_range = (self.field.r_eff_max_m - distance) / span\n", + " if p_range <= 0.0:\n", + " continue\n", + " bearing = math.degrees(math.atan2(reader[1] - gy, reader[0] - gx))\n", + " cover = _COVER_TABLE[_table_index(bearing)]\n", + " bits = bin(self._mask(index) & cover).count(\"1\")\n", + " if bits:\n", + " total += p_range * bits / HEADING_BINS\n", + " return total / len(cells)\n", + "\n", + " # ------------------------------------------------------------ 观测更新\n", + " def _apply_heading(self, station: Vec2, keep: bool,\n", + " within_m: float | None = None) -> None:\n", + " \"\"\"按可见性约束裁剪朝向档(保守:只删\"必然不可能\"的档)。\n", + "\n", + " ``keep=True``(direction / near)⟹ 朝向必须**可能**覆盖 station:\n", + " 保留与方位夹角 ≤ 90° + 半档 + 查表舍入 + 格内角裕量的档。\n", + "\n", + " ``keep=False``(no_signal 且整格必在 r_eff_min 内)⟹ 朝向必须\n", + " **确定不覆盖** station:只保留与方位夹角 > 90° − 半档 − 查表舍入\n", + " − 格内角裕量的档。\n", + "\n", + " ``格内角裕量 = asin(margin / max(dist − margin, 1))``:格内任一点\n", + " 相对格心的方位偏差上界。两个方向都必须计入它,否则会误删真源的\n", + " 朝向档(keep=True 漏计)或保留必然可见的档(keep=False 漏计)。\n", + " \"\"\"\n", + " margin_m = self.position.margin_m\n", + " doomed: list[int] = []\n", + " for index in self.position.alive:\n", + " gx, gy = self.position.cell_center(index)\n", + " dx, dy = station[0] - gx, station[1] - gy\n", + " distance = math.hypot(dx, dy)\n", + " if within_m is not None and distance > within_m:\n", + " continue\n", + " bearing = math.degrees(math.atan2(dy, dx))\n", + " if distance <= margin_m + 1.0:\n", + " # 格贴测点:格内方位可指向任意方向,任何一侧都不可据此裁剪\n", + " continue\n", + " angular_margin = math.degrees(\n", + " math.asin(min(0.9999, margin_m / (distance - margin_m))))\n", + " if keep:\n", + " updated = self._mask(index) & _cover_mask(\n", + " bearing, 90.0 + _BIN_HALF_DEG + _GRID_DEG / 2 + angular_margin)\n", + " else:\n", + " updated = self._mask(index) & _far_mask(\n", + " bearing, 90.0 - _BIN_HALF_DEG - _GRID_DEG / 2 - angular_margin)\n", + " if updated == 0:\n", + " doomed.append(index)\n", + " self.masks.pop(index, None)\n", + " elif updated != _FULL_MASK:\n", + " self.masks[index] = updated\n", + " if doomed:\n", + " self.position.discard(doomed)\n", + "\n", + " def apply(self, station: Vec2, result: str,\n", + " svd_deg: float | None = None) -> None:\n", + " \"\"\"按读数更新联合可行集(保守,真源 (位置, 朝向) 永不被删)。\"\"\"\n", + " if result == DIRECTION:\n", + " self.position.apply_measure(station, DIRECTION, svd_deg,\n", + " directional=True)\n", + " self._apply_heading(station, keep=True)\n", + " elif result == NEAR:\n", + " # near 同样要求可见(评测机先判朝向再判距离)\n", + " self.position.apply_measure(station, NEAR, directional=True)\n", + " self._apply_heading(station, keep=True)\n", + " elif result == NO_SIGNAL:\n", + " # 距离阈值必须取**保守侧**:只有\"整格都必然落在 r_eff_min 圆盘内\"\n", + " # 时,no_signal 才一定由朝向遮挡解释。格心到格内任一点 ≤ margin,\n", + " # 故阈值取 r_eff_min − margin;取 + margin 会把 1000~1010m 的模糊带\n", + " # 也当成\"必须不覆盖\",从而可能删掉真源的朝向档(破坏真源保留性)。\n", + " self._apply_heading(station, keep=False,\n", + " within_m=max(\n", + " 0.0, self.field.r_eff_min_m\n", + " - self.position.margin_m))\n", + " else:\n", + " raise ValueError(f\"未知测向结果: {result!r}\")\n", + "\n", + " # ------------------------------------------------------------ 诊断\n", + " def summary(self) -> dict:\n", + " \"\"\"联合集规模快照(写入策略 summary,供审计与论文复算)。\"\"\"\n", + " cells = self.sample(256)\n", + " bins = [bin(self._mask(index)).count(\"1\") for index in cells]\n", + " return {\"cells\": len(self.position),\n", + " \"sampled_mean_heading_bins\": (round(sum(bins) / len(bins), 2)\n", + " if bins else 0.0),\n", + " \"heading_bins_total\": HEADING_BINS}\n" + ] + }, + { + "cell_type": "markdown", + "id": "63720d6b", + "metadata": {}, + "source": [ + "## 5. 调度层:开放路径排序(`routing.py`)\n", + "\n", + "本题的真实图问题是**开放路径**:起点固定在机器人当前位置、终点自由,\n", + "代价 = Σ 移动时间 + Σ 动作耗时。后备清除的走格顺序用最近邻打底 + 2-opt 改进\n", + "(O(1) 增量代价评估,终点自由故只反转内部片段、不做首尾相接)。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "f2e043c8", + "metadata": {}, + "outputs": [], + "source": [ + "import math\n", + "\n", + "Vec2 = tuple[float, float]\n", + "\n", + "\n", + "def path_length(order: list[Vec2], start: Vec2 = (0.0, 0.0)) -> float:\n", + " \"\"\"开放路径长度(起点 start,终点自由)。\"\"\"\n", + " total = 0.0\n", + " position = start\n", + " for point in order:\n", + " total += math.dist(position, point)\n", + " position = point\n", + " return total\n", + "\n", + "\n", + "def nearest_neighbor_order(points: list[Vec2],\n", + " start: Vec2 = (0.0, 0.0)) -> list[Vec2]:\n", + " \"\"\"最近邻开放路径(O(n²),启发式上界)。\"\"\"\n", + " remaining = list(points)\n", + " order: list[Vec2] = []\n", + " position = start\n", + " while remaining:\n", + " nxt = min(remaining, key=lambda q: math.dist(position, q))\n", + " remaining.remove(nxt)\n", + " order.append(nxt)\n", + " position = nxt\n", + " return order\n", + "\n", + "\n", + "def two_opt_open(order: list[Vec2], start: Vec2 = (0.0, 0.0),\n", + " max_passes: int = 8) -> list[Vec2]:\n", + " \"\"\"开放路径 2-opt(终点自由:只反转内部片段,不做首尾相接)。\n", + "\n", + " 增量代价 O(1):反转 [i..j] 只影响 (prev, i) 与 (j, next) 两条边。\n", + " \"\"\"\n", + " best = list(order)\n", + " n = len(best)\n", + " if n < 3:\n", + " return best\n", + " for _ in range(max_passes):\n", + " improved = False\n", + " for i in range(n - 1):\n", + " prev = best[i - 1] if i > 0 else start\n", + " pi = best[i]\n", + " d_prev_i = math.dist(prev, pi)\n", + " for j in range(i + 1, n):\n", + " pj = best[j]\n", + " nxt = best[j + 1] if j + 1 < n else None\n", + " d_prev_j = math.dist(prev, pj)\n", + " removed = d_prev_i\n", + " added = d_prev_j\n", + " if nxt is not None:\n", + " removed += math.dist(pj, nxt)\n", + " added += math.dist(pi, nxt)\n", + " if added < removed - 1e-9:\n", + " best[i:j + 1] = best[i:j + 1][::-1]\n", + " improved = True\n", + " pi = best[i]\n", + " d_prev_i = math.dist(prev, pi)\n", + " if not improved:\n", + " break\n", + " return best\n", + "\n", + "\n", + "def improve_open_path(points: list[Vec2], start: Vec2 = (0.0, 0.0),\n", + " max_passes: int = 8) -> list[Vec2]:\n", + " \"\"\"最近邻打底 + 2-opt 改进的开放路径(后备清除走格顺序用)。\"\"\"\n", + " order = nearest_neighbor_order(points, start)\n", + " return two_opt_open(order, start, max_passes)\n" + ] + }, + { + "cell_type": "markdown", + "id": "9325502c", + "metadata": {}, + "source": [ + "# 第二部分 · 策略层(`planner/`)\n", + "\n", + "## 6. 问题一/二/三共用的选点器与全向闭环\n", + "\n", + "- **问题一**在几何内核里直接求解(第三部分给出算例);\n", + "- **问题二**用 `select_second_point`:在保证接收盘内环形采样,以\"最坏后验包围圆半径\"\n", + " 为主指标、移动代价为次指标;\n", + "- **问题三**用 `OmnidirectionalLoop` 骨架:覆盖 → 定位 → 清除 → 收尾,\n", + " 子类只替换覆盖计划与调度细节。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "f4e91fbc", + "metadata": {}, + "outputs": [], + "source": [ + "def bearing_deg(a: Vec2, b: Vec2) -> float:\n", + " \"\"\"从 a 指向 b 的方位角(0-360,0 为 x 正方向,逆时针)。\"\"\"\n", + " return math.degrees(math.atan2(b[1] - a[1], b[0] - a[0])) % 360.0\n", + "\n", + "\n", + "def _error_brief(exc: BaseException) -> dict:\n", + " \"\"\"异常摘要(summary 留档用):类型名 + 截断消息。\"\"\"\n", + " return {\"type\": type(exc).__name__, \"message\": str(exc)[:500]}\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class SecondPointPlan:\n", + " \"\"\"下一检测点的候选与依据(P3 输出)。\"\"\"\n", + "\n", + " position: Vec2\n", + " worst_posterior_radius_m: float\n", + " move_cost_s: float\n", + " reason: str\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class ClearCertificate:\n", + " \"\"\"清除证书:候选集外包半径(含近似误差)不超过 20m 阈值。\"\"\"\n", + "\n", + " channel: int\n", + " center: Vec2\n", + " radius_m: float\n", + " limit_m: float\n", + " certified: bool\n", + "\n", + "\n", + "def clear_certificate(region: CandidateRegion, channel: int,\n", + " config: ProblemConfig = ProblemConfig()) -> ClearCertificate:\n", + " \"\"\"ρ_poly <= 20 - 外包近似误差 - 工程余量 才允许发起清除。\"\"\"\n", + " center, radius = region.mec()\n", + " limit = (config.field.clear_radius_m - region.slack_m\n", + " - config.search.clear_margin_m)\n", + " return ClearCertificate(channel, center, radius, limit, radius <= limit)\n", + "\n", + "\n", + "def candidate_points(center: Vec2, safe_radius_m: float, rings, angles: int) -> list[Vec2]:\n", + " \"\"\"保证接收盘内的候选点:盘心 + 各比例半径 × 均匀方向。\"\"\"\n", + " points = [tuple(center)]\n", + " for fraction in rings:\n", + " radius = fraction * safe_radius_m\n", + " if radius <= 1e-9:\n", + " continue\n", + " step = 2 * math.pi / angles\n", + " for k in range(angles):\n", + " angle = step * k + step / 2\n", + " points.append((center[0] + radius * math.cos(angle),\n", + " center[1] + radius * math.sin(angle)))\n", + " return points\n", + "\n", + "\n", + "def _worst_posterior_radius(region: CandidateRegion, q: Vec2,\n", + " witnesses: list[Vec2], half_angle_deg: float,\n", + " near_radius_m: float, disk_sides: int) -> float:\n", + " \"\"\"对候选点 q,遍历\"目标边界点 × 读数分支\"的最坏后验包围半径。\n", + "\n", + " 读数分支:direction 的区间端点 φ(g)±δ(端点是每个 g 的最不利读数),\n", + " 以及 near——源落在 q 的 near_radius_m 内时后验为 B(q, near)∩候选集。\n", + " 保证接收盘内 no_signal 不可能发生,故不枚举该分支。\n", + " 这是启发式近似,不构成最优性证明 [工程]。\n", + " \"\"\"\n", + " posterior_radii = []\n", + " for g in witnesses:\n", + " phi = bearing_deg(q, g)\n", + " for reading in (phi - half_angle_deg, phi + half_angle_deg):\n", + " probe = CandidateRegion(list(region.polygon), region.slack_m)\n", + " probe.clip_wedge(q, reading, half_angle_deg)\n", + " if probe.polygon:\n", + " posterior_radii.append(probe.mec()[1])\n", + " near_probe = CandidateRegion(list(region.polygon), region.slack_m)\n", + " try:\n", + " near_probe.clip_disk(q, near_radius_m, disk_sides)\n", + " except InconsistentBelief:\n", + " pass # B(q, near) 与候选集不相交:near 分支不可能发生,跳过\n", + " else:\n", + " if near_probe.polygon:\n", + " posterior_radii.append(near_probe.mec()[1])\n", + " if not posterior_radii:\n", + " return region.mec()[1] # 无有效采样点时退回当前半径\n", + " return max(posterior_radii)\n", + "\n", + "\n", + "def safe_disk_radius(region: CandidateRegion,\n", + " config: ProblemConfig = ProblemConfig()) -> float:\n", + " \"\"\"保证接收盘 B(mec, safe) 的半径;<0 表示无保证(ρ 超过最小接收半径)。\n", + "\n", + " 盘内任意点到候选集每点距离 <= safe + ρ + 1e-3 < 1000 <= 最小接收半径,\n", + " 故必然收到 direction/near。1mm 数值余量避免浮点贴边被 r_eff=1000 的源\n", + " 判为 no_signal。\n", + " \"\"\"\n", + " return config.field.r_eff_min_m - region.mec()[1] - 1e-3\n", + "\n", + "\n", + "def select_measurement_point(region: CandidateRegion, from_position: Vec2,\n", + " config: ProblemConfig = ProblemConfig()) -> SecondPointPlan:\n", + " \"\"\"在保证接收盘内选择下一检测点(P3 核心;对任意候选集通用)。\n", + "\n", + " 保证接收盘 B(mec_center, 1000-ρ):盘内任意点到候选集每点距离\n", + " <= (1000-ρ) + ρ = 1000 <= 最小接收半径,故必然收到 direction/near,\n", + " 不会浪费一次 no_signal。ρ>1000 时退化为探索 MEC 圆心(可能 no_signal)。\n", + " \"\"\"\n", + " field, search = config.field, config.search\n", + " center, radius = region.mec()\n", + " half_angle = field.bearing_error_half_deg + search.bearing_rounding_margin_deg\n", + "\n", + " def move_cost(point: Vec2) -> float:\n", + " return move_time(from_position, point, config.cost)\n", + "\n", + " # 1mm 数值余量在 safe_disk_radius 内记账。\n", + " safe_radius = safe_disk_radius(region, config)\n", + " if safe_radius < 0:\n", + " return SecondPointPlan(tuple(center), radius, move_cost(center),\n", + " \"无保证接收盘(ρ>1000):探索 MEC 圆心,可能 no_signal\")\n", + " coarse = region.witnesses(search.witness_spacing_m)\n", + " samples = candidate_points(center, safe_radius,\n", + " search.candidate_rings, search.candidate_angles)\n", + " near_radius, sides = field.near_radius_m, search.polygon_sides\n", + " best_key, best_point, best_worst = None, None, None\n", + " for point in samples:\n", + " worst = _worst_posterior_radius(region, point, coarse, half_angle,\n", + " near_radius, sides)\n", + " key = (round(worst, 6), round(move_cost(point), 6))\n", + " if best_key is None or key < best_key:\n", + " best_key, best_point, best_worst = key, point, worst\n", + " dense = _worst_posterior_radius(region, best_point,\n", + " region.witnesses(search.witness_spacing_m / 4),\n", + " half_angle, near_radius, sides)\n", + " reason = (f\"安全盘 B(centre,{safe_radius:.0f}m) 内 {len(samples)} 候选;\"\n", + " f\"粗采样最坏后验 {best_worst:.1f}m,1/4 间距加密复核 {dense:.1f}m\")\n", + " return SecondPointPlan(tuple(best_point), dense, move_cost(best_point), reason)\n", + "\n", + "\n", + "def select_second_point(client: SimulatorClient, first_position: Vec2,\n", + " first_bearing_deg: float,\n", + " config: ProblemConfig = ProblemConfig()) -> SecondPointPlan:\n", + " \"\"\"P3 入口:由首次 direction 构造 K1,返回保证接收的第二检测点方案。\"\"\"\n", + " region = CandidateRegion.initial(first_position, config)\n", + " half_angle = config.field.bearing_error_half_deg \\\n", + " + config.search.bearing_rounding_margin_deg\n", + " region.clip_wedge(first_position, first_bearing_deg, half_angle)\n", + " return select_measurement_point(region, client.state.position, config)\n" + ] + }, + { + "cell_type": "markdown", + "id": "76749d32", + "metadata": {}, + "source": [ + "### 6.1 全向闭环骨架(`OmnidirectionalLoop`)\n", + "\n", + "发现(覆盖账本)→ 定位(候选集收敛到 20 m 内)→ 清除 → 收尾 `/exit`。\n", + "任何异常都必须尽力 `/exit` 并产出 summary,不得静默丢会话:\n", + "断连、协议错误、守恒性破坏(候选集被剪空 / 保证接收盘内 `no_signal` /\n", + "清除证书失效)都会记入 `stop_reason` 与异常表。\n", + "`completed` 表示任务在证明意义上完成(每频道 CLEARED 或 ABSENT),\n", + "`accounted_virtual_time_s` 记录首次\"找全证明\"的虚拟时刻。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "22efcd41", + "metadata": {}, + "outputs": [], + "source": [ + "class OmnidirectionalLoop:\n", + " \"\"\"问题3全向\"发现—定位—清除—持续复扫\"闭环(P4 基线 + 持续搜索)。\n", + "\n", + " 串行驱动 SimulatorClient:覆盖阶段在 49 点网格上对每个 UNKNOWN 频道\n", + " 检测;发现 direction 即进入该频道的定位子循环(选点→测量→收敛→\n", + " 证书清除),near 直接清除。全部频道\"已清除或证明不存在\"后按\n", + " ``search.persistent_search``(默认关闭)可选择只复扫\n", + " 未清除频道,直到清除数达 16、实机预算耗尽或虚拟安全余量不足。\n", + " stop_reason 记录循环结束原因;``completed`` 表示任务证明完成\n", + " (结束时每频道均 CLEARED/ABSENT 且无中断),与\"复扫到限时才停\"\n", + " 相互独立:accounted_virtual_time_s 记录首次证明找全的虚拟时刻。\n", + " \"\"\"\n", + "\n", + " def __init__(self, client: SimulatorClient,\n", + " config: ProblemConfig = ProblemConfig()):\n", + " self.client = client\n", + " self.config = config\n", + " self.belief = BeliefState(config)\n", + " # 覆盖计划是\"可离线搜索、可在运行期校验\"的一等对象;基类默认保持\n", + " # 历史 49 点表(grid49_immediate 基线口径不变),各问题策略自行覆盖。\n", + " self.coverage_plan = square_49_plan()\n", + " self.ledger = CoverageLedger(config, points=list(self.coverage_plan.points))\n", + " self.cleared: list[int] = []\n", + " self.anomalies: list[dict] = []\n", + " self.stop_reason: str | None = None\n", + " # 逐频道缺席证据来源(pf_empty / coverage),供审计与论文逐条追溯。\n", + " self.absence_evidence: dict[int, str] = {}\n", + " # \"同一 0.5m 测点 × 同一频道\"的重复检测计数:历史上一次官方演练\n", + " # 有 98.84% 的虚拟时间耗在空复扫上,本计数是该问题的回归指标。\n", + " self.redundant_rescan_measures = 0\n", + " # 首次达成\"每频道均已清除或证明不存在\"的虚拟时刻(找全证明)。\n", + " self.accounted_virtual_time_s: float | None = None\n", + " # 证书有效但 /clear 失败后必须先补测再重试,避免在同一证书上\n", + " # 反复消耗 3 秒/次的失败清除。\n", + " self._may_clear: set[int] = set()\n", + " # 断连/协议错误/守恒性破坏等中断:留档异常,收尾时写入 summary。\n", + " self._abort_detail: BaseException | None = None\n", + "\n", + " # ------------------------------------------------------------ 主流程\n", + " def run(self) -> dict:\n", + " \"\"\"主闭环。任何异常都必须尽力 /exit 并产出 summary,不得静默丢会话。\"\"\"\n", + " try:\n", + " self.client.enter()\n", + " self._coverage_phase()\n", + " if self.stop_reason is None:\n", + " self._mark_absent_after_coverage()\n", + " self._resolve_detected()\n", + " self._record_accounted()\n", + " if self.config.search.persistent_search:\n", + " self._persistent_phase()\n", + " if self.stop_reason is None:\n", + " if len(self.cleared) >= self.config.field.source_count_max:\n", + " self.stop_reason = \"sixteen_cleared\"\n", + " elif self._all_accounted():\n", + " self.stop_reason = \"all_resolved\"\n", + " else:\n", + " self.stop_reason = \"unresolved_channels\"\n", + " except DeadlineExceeded:\n", + " self.stop_reason = \"real_budget_exhausted\"\n", + " except (TransportError, ProtocolError, InconsistentBelief) as exc:\n", + " self._abort_detail = exc\n", + " if isinstance(exc, TransportError):\n", + " self.stop_reason = \"transport_failure\"\n", + " elif isinstance(exc, InconsistentBelief):\n", + " self.stop_reason = \"inconsistent_belief\"\n", + " else:\n", + " self.stop_reason = \"protocol_error\"\n", + " except Exception as exc: # 意外异常同样收尾,不阻断 /exit 与结果汇总\n", + " self._abort_detail = exc\n", + " self.stop_reason = \"unexpected_error\"\n", + " info = None\n", + " exit_error = None\n", + " try:\n", + " info = self.client.exit()\n", + " except Exception as exc: # 接口不可用:记录后仍产出未完成状态\n", + " exit_error = exc\n", + " summary = self._summary(info)\n", + " if exit_error is not None:\n", + " summary[\"exit_error\"] = _error_brief(exit_error)\n", + " return summary\n", + "\n", + " # ------------------------------------------------------------ 预算与证明\n", + " def _min_virtual_reserve(self) -> float:\n", + " \"\"\"单动作耗时上界的保守估计,用于虚拟安全余量。\n", + "\n", + " 上界 = 2 × 最远站点距离 / 速度 + 检测 + 换频(机器人不会跑到覆盖\n", + " 计划包围区之外执行任务)。配置值通常更宽松;本函数保证即使配置被\n", + " 调小,余量也足以完成最后一个动作而不触及 100 小时上限。\n", + " \"\"\"\n", + " reach = max((math.dist((0.0, 0.0), point) for point in self.ledger.points),\n", + " default=0.0)\n", + " action_bound = (2.0 * reach / self.config.cost.speed_mps\n", + " + self.config.cost.measure_s + self.config.cost.switch_s)\n", + " return max(self.config.search.virtual_reserve_s, action_bound)\n", + "\n", + " def _virtual_cap_reached(self) -> bool:\n", + " \"\"\"虚拟安全余量不足:置 stop_reason 并返回 True,调用方立即收尾。\n", + "\n", + " 余量须大于单次动作耗时上界(见 :meth:`_min_virtual_reserve`),\n", + " `search.virtual_reserve_s=10000s` [工程] 提供充分裕度,避免触及\n", + " 附件2 §4.5 的 100 小时上限被模拟器强制结束。\n", + " \"\"\"\n", + " if (self.client.state.virtual_time_s + self._min_virtual_reserve()\n", + " < self.config.field.max_virtual_duration_s):\n", + " return False\n", + " self.stop_reason = \"virtual_time_cap\"\n", + " return True\n", + "\n", + " def _all_accounted(self) -> bool:\n", + " return all(belief.status in (ChannelStatus.CLEARED, ChannelStatus.ABSENT)\n", + " for belief in self.belief.channels.values())\n", + "\n", + " def _record_accounted(self) -> None:\n", + " \"\"\"首次\"每频道均已清除或证明不存在\"的时刻留档(找全证明)。\"\"\"\n", + " if self.accounted_virtual_time_s is None and self._all_accounted():\n", + " self.accounted_virtual_time_s = self.client.state.virtual_time_s\n", + "\n", + " # ------------------------------------------------------------ 覆盖阶段\n", + " def _pending_channels_at(self, index: int) -> list[int]:\n", + " return [channel for channel, belief in self.belief.channels.items()\n", + " if belief.status is ChannelStatus.UNKNOWN\n", + " and not self.ledger.measured_at(channel, index)]\n", + "\n", + " def _next_point_index(self) -> int | None:\n", + " \"\"\"尚有 UNKNOWN 频道待测的最近网格点(贪心最近邻 [工程])。\"\"\"\n", + " position = self.client.state.position\n", + " best_index, best_distance = None, 0.0\n", + " for index, point in enumerate(self.ledger.points):\n", + " if not self._pending_channels_at(index):\n", + " continue\n", + " distance = math.dist(position, point)\n", + " if best_index is None or distance < best_distance:\n", + " best_index, best_distance = index, distance\n", + " return best_index\n", + "\n", + " def _coverage_phase(self) -> None:\n", + " while True:\n", + " if self._count_limit_reached():\n", + " return\n", + " index = self._next_point_index()\n", + " if index is None:\n", + " return\n", + " point = self.ledger.points[index]\n", + " for channel in self._pending_channels_at(index):\n", + " if self._virtual_cap_reached():\n", + " return\n", + " outcome = self.client.measure(point, channel)\n", + " self.ledger.mark_measured(channel, index)\n", + " self.belief.update_measure(channel, point, outcome.result,\n", + " outcome.svd_deg)\n", + " if outcome.result == DIRECTION:\n", + " self._localize_and_clear(channel)\n", + " elif outcome.result == NEAR:\n", + " region = self.belief.candidate_set(channel)\n", + " cert = clear_certificate(region, channel, self.config)\n", + " if cert.certified:\n", + " self._attempt_clear(channel, cert.center, cert)\n", + " else: # 理论上不发生(near 候选半径 5m);保守记录\n", + " self._anomaly(\"near_without_certificate\", channel,\n", + " position=point)\n", + " if self.stop_reason is not None or self._count_limit_reached():\n", + " return\n", + "\n", + " # ------------------------------------------------------------ 持续复扫\n", + " def _persistent_phase(self) -> None:\n", + " \"\"\"全部频道已清除/证明不存在后的持续复扫 [用户决策 2026-09-11]。\n", + "\n", + " 只扫未清除频道(DETECTED 继续定位,ABSENT 全网格复测,防模拟器\n", + " 或覆盖证明假设偏差),直到清除数达 16 或虚拟安全余量不足;\n", + " 实机预算由客户端 DeadlineExceeded 兜底(扫到限时为止)。\n", + " \"\"\"\n", + " while self.stop_reason is None:\n", + " if self._count_limit_reached():\n", + " return\n", + " if self._virtual_cap_reached():\n", + " return\n", + " self._persistent_round()\n", + "\n", + " def _persistent_round(self) -> None:\n", + " \"\"\"一轮全网格复扫:网格点最近邻序,逐点测量全部未清除频道。\"\"\"\n", + " measured: set[tuple[int, int]] = set()\n", + " while self.stop_reason is None:\n", + " index = self._next_resweep_point(measured)\n", + " if index is None:\n", + " return\n", + " point = self.ledger.points[index]\n", + " for channel in self._resweep_channels_at(index, measured):\n", + " if self._virtual_cap_reached():\n", + " return\n", + " measured.add((channel, index))\n", + " was_absent = (self.belief.channels[channel].status\n", + " is ChannelStatus.ABSENT)\n", + " outcome = self.client.measure(point, channel)\n", + " self.belief.update_measure(channel, point, outcome.result,\n", + " outcome.svd_deg)\n", + " if was_absent and outcome.result in (DIRECTION, NEAR):\n", + " # 复测推翻了覆盖缺席证明:守恒性留痕,按新证据定位清除。\n", + " self._anomaly(\"absent_detected_on_resweep\", channel,\n", + " position=point, result=outcome.result)\n", + " if outcome.result == DIRECTION:\n", + " self._localize_and_clear(channel)\n", + " elif outcome.result == NEAR:\n", + " region = self.belief.candidate_set(channel)\n", + " cert = clear_certificate(region, channel, self.config)\n", + " if cert.certified:\n", + " self._attempt_clear(channel, cert.center, cert)\n", + " else:\n", + " self._anomaly(\"near_without_certificate\", channel,\n", + " position=point)\n", + " if self.stop_reason is not None:\n", + " return\n", + "\n", + " def _next_resweep_point(self, measured: set[tuple[int, int]]) -> int | None:\n", + " \"\"\"尚有未清除频道待复测的最近网格点(贪心最近邻 [工程])。\"\"\"\n", + " position = self.client.state.position\n", + " best_index, best_distance = None, 0.0\n", + " for index, point in enumerate(self.ledger.points):\n", + " if not self._resweep_channels_at(index, measured):\n", + " continue\n", + " distance = math.dist(position, point)\n", + " if best_index is None or distance < best_distance:\n", + " best_index, best_distance = index, distance\n", + " return best_index\n", + "\n", + " def _resweep_channels_at(self, index: int,\n", + " measured: set[tuple[int, int]]) -> list[int]:\n", + " return [channel for channel, belief in self.belief.channels.items()\n", + " if belief.status is not ChannelStatus.CLEARED\n", + " and (channel, index) not in measured]\n", + "\n", + " def _count_limit_reached(self) -> bool:\n", + " if len(self.cleared) >= self.config.field.source_count_max:\n", + " self.stop_reason = \"sixteen_cleared\"\n", + " return True\n", + " return False\n", + "\n", + " # ------------------------------------------------------------ 定位与清除\n", + " def _localize_and_clear(self, channel: int) -> bool:\n", + " \"\"\"定位子循环:选点测量收敛候选集,拿到清除证书后清除。\n", + "\n", + " 返回是否已清除;步数耗尽仍未收敛则保持 DETECTED 留待二轮。\n", + " 进入本函数前该频道刚有一次 direction 读数,允许立即清除。\n", + " \"\"\"\n", + " search = self.config.search\n", + " self._may_clear.add(channel)\n", + " for _ in range(search.max_localize_steps):\n", + " if self._virtual_cap_reached():\n", + " return False\n", + " region = self.belief.candidate_set(channel)\n", + " if region is None:\n", + " return False\n", + " cert = clear_certificate(region, channel, self.config)\n", + " if cert.certified and channel in self._may_clear:\n", + " if self._attempt_clear(channel, cert.center, cert):\n", + " return True\n", + " self._may_clear.discard(channel)\n", + " continue\n", + " plan = select_measurement_point(region, self.client.state.position,\n", + " self.config)\n", + " outcome = self.client.measure(plan.position, channel)\n", + " self.belief.update_measure(channel, plan.position, outcome.result,\n", + " outcome.svd_deg)\n", + " self._may_clear.add(channel)\n", + " if outcome.result == NO_SIGNAL:\n", + " self._anomaly(\"no_signal_in_safe_disk\", channel,\n", + " position=plan.position, detail=plan.reason)\n", + " return self.belief.channels[channel].status is ChannelStatus.CLEARED\n", + "\n", + " def _attempt_clear(self, channel: int, target: Vec2,\n", + " cert: ClearCertificate) -> bool:\n", + " outcome = self.client.clear(target, channel)\n", + " if outcome.result == CLEAR_SUCCESS:\n", + " self.belief.mark_cleared(channel)\n", + " self.cleared.append(channel)\n", + " return True\n", + " if cert.certified:\n", + " self._anomaly(\"clear_failed_with_certificate\", channel, position=target,\n", + " radius_m=round(cert.radius_m, 3), limit_m=cert.limit_m)\n", + " return False\n", + "\n", + " def _anomaly(self, kind: str, channel: int, **detail) -> None:\n", + " \"\"\"异常只在守恒性被打破或证书失效时出现;每频道限量记录防刷屏。\"\"\"\n", + " recorded = sum(1 for item in self.anomalies if item[\"channel\"] == channel)\n", + " if recorded >= self.config.search.max_anomalies_per_channel:\n", + " return\n", + " self.anomalies.append({\"kind\": kind, \"channel\": channel, **detail})\n", + "\n", + " # ------------------------------------------------------------ 收尾\n", + " def _mark_absent_after_coverage(self) -> None:\n", + " \"\"\"全向源缺席证明:全网格无非 no_signal 读数的频道不存在源 [题面]。\"\"\"\n", + " for channel, belief in self.belief.channels.items():\n", + " if belief.status is ChannelStatus.UNKNOWN \\\n", + " and self.ledger.coverage_complete(channel):\n", + " self.belief.mark_absent(channel)\n", + " self.absence_evidence[channel] = \"coverage\"\n", + "\n", + " def _resolve_detected(self) -> None:\n", + " \"\"\"覆盖完成后,对仍未清除的 DETECTED 频道做第二轮定位。\n", + "\n", + " 不再在此决定停止:持续搜索模式下由 _persistent_phase 接力,\n", + " 非持续模式由 run() 依据 _all_accounted 判定 all_resolved。\n", + " \"\"\"\n", + " for channel in self.belief.channels_by_status(ChannelStatus.DETECTED):\n", + " if self._count_limit_reached() or self._virtual_cap_reached():\n", + " return\n", + " self._localize_and_clear(channel)\n", + " if self.stop_reason is not None:\n", + " return\n", + "\n", + " def _summary(self, info) -> dict:\n", + " \"\"\"结果汇总。info 为 None 表示 /exit 未能完成(断连等),按未完成上报。\n", + "\n", + " completed = 无中断且结束时每频道均 CLEARED/ABSENT(任务证明完成);\n", + " stop_reason 另行记录循环结束原因(持续复扫模式下通常是\n", + " virtual_time_cap / real_budget_exhausted / sixteen_cleared)。\n", + " \"\"\"\n", + " events = self.client.log.action_events()\n", + " stats = summarize(events)\n", + " report = recompute_virtual_time(events)\n", + " steps = self._step_report()\n", + " cleared = self.belief.channels_by_status(ChannelStatus.CLEARED)\n", + " absent = self.belief.channels_by_status(ChannelStatus.ABSENT)\n", + " resolved = set(cleared) | set(absent)\n", + " unresolved = [channel for channel in sorted(self.belief.channels)\n", + " if channel not in resolved]\n", + " virtual_time_s = round((info.virtual_time_s if info is not None\n", + " else self.client.state.virtual_time_s), 3)\n", + " # 清除数达 16 即数量上界证明(其余频道无论状态如何都不可能有源);\n", + " # 否则要求每频道均 CLEARED/ABSENT。\n", + " completed = (self._abort_detail is None\n", + " and (len(self.cleared) >= self.config.field.source_count_max\n", + " or not unresolved))\n", + " # 完成依据必须显式区分\"数量上界\"与\"逐频道缺席/清除证明\",\n", + " # 否则论文与审计会把 16 源截断误读为逐频道证明。\n", + " if self._abort_detail is not None:\n", + " completion_basis = \"incomplete\"\n", + " elif len(self.cleared) >= self.config.field.source_count_max:\n", + " completion_basis = \"count_cap\"\n", + " elif not unresolved:\n", + " completion_basis = \"per_channel_proof\"\n", + " else:\n", + " completion_basis = \"incomplete\"\n", + " summary = {\n", + " \"completed\": completed,\n", + " \"completion_basis\": completion_basis,\n", + " \"stop_reason\": self.stop_reason,\n", + " \"exit_reason\": \"exit_unreachable\" if info is None else info.reason,\n", + " \"virtual_time_s\": virtual_time_s,\n", + " \"accounted_virtual_time_s\": (round(self.accounted_virtual_time_s, 3)\n", + " if self.accounted_virtual_time_s is not None\n", + " else None),\n", + " \"persistent_search\": self.config.search.persistent_search,\n", + " \"virtual_reserve_s\": round(self._min_virtual_reserve(), 3),\n", + " \"coverage_plan\": self.coverage_plan.name,\n", + " \"coverage_points\": len(self.coverage_plan.points),\n", + " \"coverage_plan_points\": [[p[0], p[1]] for p in self.coverage_plan.points],\n", + " \"coverage_plan_certificate\": (\n", + " self.coverage_plan.certificate.as_dict()\n", + " if self.coverage_plan.certificate is not None else None),\n", + " \"cleared_channels\": cleared,\n", + " \"absent_channels\": absent,\n", + " \"unresolved_channels\": unresolved,\n", + " \"absence_evidence\": {str(channel): self.absence_evidence[channel]\n", + " for channel in sorted(absent)},\n", + " \"redundant_rescan_measures\": self.redundant_rescan_measures,\n", + " \"measures\": stats[\"measures\"],\n", + " \"clears\": stats[\"clears\"],\n", + " \"clear_success\": stats[\"cleared\"],\n", + " \"total_requests\": stats[\"measures\"] + stats[\"clears\"],\n", + " \"move_distance_m\": round(stats[\"distance_m\"], 1),\n", + " # 题面口径:定位清除总时间(全程虚拟时长)/ 被清除干扰源个数。\n", + " \"avg_locate_clear_time_s\": (round(virtual_time_s / len(cleared), 3)\n", + " if cleared else None),\n", + " \"step_totals\": steps[\"totals\"],\n", + " \"steps\": steps[\"rows\"],\n", + " \"anomalies\": self.anomalies,\n", + " \"virtual_recompute_mismatches\": len(report[\"mismatches\"]),\n", + " \"channel_status\": self._channel_status_snapshot(),\n", + " }\n", + " if self._abort_detail is not None:\n", + " summary[\"abort_detail\"] = _error_brief(self._abort_detail)\n", + " return summary\n", + "\n", + " def _step_report(self) -> dict:\n", + " \"\"\"每步计时汇总 [用户决策 2026-09-11]:实机墙钟 + 比赛虚拟耗时分项。\"\"\"\n", + " totals = {\"count\": 0, \"real_elapsed_total_s\": 0.0,\n", + " \"real_since_enter_total_s\": 0.0,\n", + " \"virtual_move_s\": 0.0, \"virtual_switch_s\": 0.0,\n", + " \"virtual_measure_action_s\": 0.0, \"virtual_clear_action_s\": 0.0,\n", + " \"virtual_total_s\": 0.0}\n", + " rows = []\n", + " for index, step in enumerate(self.client.log.step_events()):\n", + " cost = step[\"virtual_cost\"]\n", + " totals[\"count\"] += 1\n", + " totals[\"real_elapsed_total_s\"] += step[\"real_elapsed_s\"]\n", + " totals[\"real_since_enter_total_s\"] = step.get(\n", + " \"real_since_enter_s\", totals[\"real_since_enter_total_s\"])\n", + " totals[\"virtual_move_s\"] += cost[\"move_s\"]\n", + " totals[\"virtual_switch_s\"] += cost[\"switch_s\"]\n", + " if step[\"path\"] == \"/measure\":\n", + " totals[\"virtual_measure_action_s\"] += cost[\"action_s\"]\n", + " elif step[\"path\"] == \"/clear\":\n", + " totals[\"virtual_clear_action_s\"] += cost[\"action_s\"]\n", + " totals[\"virtual_total_s\"] += cost[\"total_s\"]\n", + " rows.append({\"index\": index, \"action\": step[\"path\"].lstrip(\"/\"),\n", + " \"result\": step.get(\"result\"),\n", + " \"channel\": step.get(\"channel\"),\n", + " \"position\": step.get(\"position\"),\n", + " \"real_elapsed_ms\": round(step[\"real_elapsed_s\"] * 1000.0, 3),\n", + " \"real_since_enter_s\": step.get(\"real_since_enter_s\"),\n", + " \"move_s\": round(cost[\"move_s\"], 3),\n", + " \"switch_s\": round(cost[\"switch_s\"], 3),\n", + " \"action_s\": round(cost[\"action_s\"], 3),\n", + " \"step_virtual_s\": round(cost[\"total_s\"], 3),\n", + " \"virtual_time_s\": step[\"virtual_time_s\"]})\n", + " for key, value in totals.items():\n", + " if isinstance(value, float):\n", + " totals[key] = round(value, 3)\n", + " return {\"totals\": totals, \"rows\": rows}\n", + "\n", + " def _channel_status_snapshot(self) -> dict:\n", + " \"\"\"逐频道状态快照:中断收尾时的未完成状态留档(每频道一条)。\"\"\"\n", + " snapshot = {}\n", + " for channel, belief in sorted(self.belief.channels.items()):\n", + " entry = {\"status\": belief.status.value}\n", + " if belief.region is not None:\n", + " entry[\"posterior_radius_m\"] = round(belief.region.mec()[1], 3)\n", + " snapshot[str(channel)] = entry\n", + " return snapshot\n" + ] + }, + { + "cell_type": "markdown", + "id": "1515ae48", + "metadata": {}, + "source": [ + "### 6.2 第四问定向扩展(`DirectionalExtension`)\n", + "\n", + "与第三问的三点差异:\n", + "\n", + "1. 覆盖阶段换成定向覆盖最小命中集(`q4_mincover_v2`),发现保证对定向源同样成立;\n", + "2. 保证接收盘内的 `no_signal` 只能由**朝向遮挡**解释:该频道记为\"观测到定向\",\n", + " 对 MEC 圆心取对跖探点复核,并用联合信念按可见概率选点;\n", + "3. 定位停滞时对**有界**候选集构造 ≤20 m 有限圆盘覆盖,逐格 `/clear`\n", + " (清除与朝向无关,是完备后备);格数超硬顶或预算不足即跳过并留痕,绝不盲扫。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "c2acad85", + "metadata": {}, + "outputs": [], + "source": [ + "class DirectionalExtension(OmnidirectionalLoop):\n", + " \"\"\"问题4混合源闭环(P5):全向基线 + 定向观测处理 + 后备清除。\n", + "\n", + " 与 P4 的三点差异(协议衔接见 docs/协议规则表与状态机.md §7):\n", + " - 49 点覆盖的发现保证对定向源同样成立,覆盖阶段不区分源类型;\n", + " - 保证接收盘内的 no_signal 只能由朝向遮挡解释 [观测推理]:该频道\n", + " 记为\"观测到定向\",随后对 MEC 圆心取对跖探点复核;联合约束基线\n", + " 不据此删除空间候选(真源不误删);\n", + " - 定位停滞(候选集有界但未达清除证书)时构造 <=20m 有限圆盘覆盖,\n", + " 预算核对后逐格 /clear:清除与朝向无关 [题面],是定向源不依赖\n", + " 可见性的完备后备。格数超硬顶或现实预算不足则跳过并留痕,绝不盲扫。\n", + " \"\"\"\n", + "\n", + " def __init__(self, client: SimulatorClient,\n", + " config: ProblemConfig = ProblemConfig()):\n", + " super().__init__(client, config)\n", + " # P0-2:第四问切换到同一保证下的最小命中集(默认 q4_mincover_v1)。\n", + " self.coverage_plan = plan_instance(config.search.q4_coverage_plan,\n", + " verify=config.search.verify_coverage_plan)\n", + " self.ledger = CoverageLedger(config, points=list(self.coverage_plan.points))\n", + " self.directional_observed: list[int] = [] # 观测到定向性的频道\n", + " self.blocked_probes: dict[int, list[Vec2]] = {}\n", + " self.fallback_log: list[dict] = [] # 后备清除逐次留痕\n", + " # P0-3:(位置 × 朝向) 联合可行集,仅在频道首次被看见时惰性建立,\n", + " # 使其初始化与更新成本只落在\"确实存在定向源\"的频道上。\n", + " self.joint: dict[int, JointBelief] = {}\n", + " self.joint_absent_channels: list[int] = []\n", + " self.visibility_probes = 0 # 由联合信念选出的探点数\n", + "\n", + " def _coverage_phase(self) -> None:\n", + " \"\"\"49站的定向覆盖证明不变;每站先串行扫频,再就近服务已发现源。\n", + "\n", + " 避免检测一个源后远行清除,再返回同站检测下一个频道。\n", + " no_signal不用于删空间候选,也不使用第三问的七站缺席证明。\n", + " \"\"\"\n", + " while not self._count_limit_reached() and self.stop_reason is None:\n", + " index = self._next_point_index()\n", + " if index is None:\n", + " return\n", + " point = self.ledger.points[index]\n", + " pending = self._pending_channels_at(index)\n", + " pending.sort(key=lambda c: (c != self.client.state.channel, c))\n", + " for channel in pending:\n", + " if self._virtual_cap_reached():\n", + " return\n", + " outcome = self.client.measure(point, channel)\n", + " self.ledger.mark_measured(channel, index)\n", + " self._observe(channel, point, outcome.result, outcome.svd_deg)\n", + " if outcome.result == NEAR:\n", + " cert = clear_certificate(\n", + " self.belief.candidate_set(channel), channel, self.config)\n", + " if cert.certified:\n", + " self._attempt_clear(channel, point, cert)\n", + " if self._count_limit_reached():\n", + " return\n", + " queue = self.belief.channels_by_status(ChannelStatus.DETECTED)\n", + " while queue and self.stop_reason is None:\n", + " channel = min(queue, key=lambda c: (\n", + " math.dist(self.client.state.position,\n", + " self.belief.candidate_set(c).mec()[0]), c))\n", + " queue.remove(channel)\n", + " self._localize_and_clear(channel)\n", + " if self._count_limit_reached():\n", + " return\n", + "\n", + " # ------------------------------------------------------------ 定位与清除\n", + " def _localize_and_clear(self, channel: int) -> bool:\n", + " \"\"\"定位子循环:选点测量收敛候选集,拿到清除证书后清除。\n", + "\n", + " 与 P4 的差异:保证接收盘内的 no_signal 说明探点被朝向遮挡\n", + " [观测推理],走\"对跖复核 -> 环探\"升级梯子(不计入定位步数,\n", + " 由 max_blocked_probes 限流),之后仍未收敛再转后备清除。\n", + " \"\"\"\n", + " search = self.config.search\n", + " self._may_clear.add(channel)\n", + " steps = 0\n", + " while steps < search.max_localize_steps:\n", + " if self._virtual_cap_reached():\n", + " return False\n", + " region = self.belief.candidate_set(channel)\n", + " if region is None:\n", + " return False\n", + " cert = clear_certificate(region, channel, self.config)\n", + " if cert.certified and channel in self._may_clear:\n", + " if self._attempt_clear(channel, cert.center, cert):\n", + " return True\n", + " self._may_clear.discard(channel) # 证书失败:补测后才可重试\n", + " continue\n", + " if len(self.blocked_probes.get(channel, [])) >= search.max_blocked_probes:\n", + " break # 梯子用尽仍被遮挡:定位停滞,转后备清除\n", + " point = self._next_probe(region, channel)\n", + " within_range = (math.dist(point, region.mec()[0])\n", + " <= safe_disk_radius(region, self.config))\n", + " outcome = self.client.measure(point, channel)\n", + " self._observe(channel, point, outcome.result, outcome.svd_deg)\n", + " self._may_clear.add(channel)\n", + " if outcome.result == NO_SIGNAL:\n", + " if within_range and channel not in self.directional_observed:\n", + " self.directional_observed.append(channel)\n", + " self.blocked_probes.setdefault(channel, []).append(point)\n", + " continue # 盘外无信号也可能是距离不足,不据此断言定向\n", + " self.blocked_probes.pop(channel, None)\n", + " steps += 1\n", + " if self.belief.channels[channel].status is ChannelStatus.CLEARED:\n", + " return True\n", + " region = self.belief.candidate_set(channel)\n", + " if region is None:\n", + " return False\n", + " cert = clear_certificate(region, channel, self.config)\n", + " if cert.certified and channel in self._may_clear:\n", + " if self._attempt_clear(channel, cert.center, cert):\n", + " return True\n", + " self._may_clear.discard(channel)\n", + " return self._fallback_clear(channel, region)\n", + "\n", + " def _observe(self, channel: int, point: Vec2, result: str,\n", + " svd_deg: float | None) -> None:\n", + " \"\"\"同步更新凸候选集与 (位置 × 朝向) 联合可行集。\n", + "\n", + " 联合集只在频道首次被看见(direction/near)时建立:从未被看见的\n", + " 频道由覆盖证明负责缺席,不需要朝向维度。联合集一旦为空,直接给出\n", + " 该频道的缺席证明(严格,与覆盖证明同一条件),可提前停止对其检测。\n", + " \"\"\"\n", + " self.belief.update_measure(channel, point, result, svd_deg)\n", + " if not self.config.search.directional_joint_belief:\n", + " return\n", + " joint = self.joint.get(channel)\n", + " if joint is None:\n", + " if result not in (DIRECTION, NEAR):\n", + " return\n", + " joint = JointBelief(self.config)\n", + " self.joint[channel] = joint\n", + " joint.apply(point, result, svd_deg)\n", + " if joint.is_absent() and self.belief.channels[channel].status \\\n", + " is not ChannelStatus.CLEARED:\n", + " self.belief.mark_absent(channel)\n", + " self.absence_evidence[channel] = \"joint_empty\"\n", + " if channel not in self.joint_absent_channels:\n", + " self.joint_absent_channels.append(channel)\n", + "\n", + " def _probe_candidates(self, region: CandidateRegion, channel: int) -> list[Vec2]:\n", + " \"\"\"可见性选点的候选点族:保证接收点 + 对跖点 + 环探 + **抵近点**。\n", + "\n", + " D1 关键结构性改动:旧点族全部围绕 MEC 圆心固定环采样,远距离不收敛时\n", + " 没有\"主动靠近\"这一动作,只能退化到 20m 网格盲清。现在补上\n", + " ``center + α·(当前位置 − center)``(α∈approach_fractions,α=0 即圆心)\n", + " 的抵近序列,使策略可以在保持可见的前提下逐次逼近真源,最终以正常\n", + " 角域证书或 near 收尾。\n", + " \"\"\"\n", + " center, radius = region.mec()\n", + " position = self.client.state.position\n", + " candidates = [select_measurement_point(\n", + " region, position, self.config).position]\n", + " safe = safe_disk_radius(region, self.config)\n", + " blocked = self.blocked_probes.get(channel, [])\n", + " if blocked and safe >= 0:\n", + " dx, dy = center[0] - blocked[0][0], center[1] - blocked[0][1]\n", + " norm = math.hypot(dx, dy)\n", + " if norm > 1e-9:\n", + " scale = min(1.0, safe / norm)\n", + " candidates.append((center[0] + dx * scale, center[1] + dy * scale))\n", + " # 抵近点:从 MEC 圆心到当前点的插值序列(含圆心本身)。\n", + " for fraction in self.config.search.approach_fractions:\n", + " candidates.append((center[0] + (position[0] - center[0]) * fraction,\n", + " center[1] + (position[1] - center[1]) * fraction))\n", + " for factor in (0.5, 1.0, 1.5):\n", + " ring = max(radius * factor, 2.0 * self.config.field.near_radius_m)\n", + " for step in range(8):\n", + " angle = math.pi * step / 4.0\n", + " candidates.append((center[0] + ring * math.cos(angle),\n", + " center[1] + ring * math.sin(angle)))\n", + " unique: list[Vec2] = []\n", + " seen: set[tuple[int, int]] = set()\n", + " blocked_keys = {(int(round(point[0] * 2)), int(round(point[1] * 2)))\n", + " for point in blocked} \\\n", + " if self.config.search.probe_exclude_blocked else set()\n", + " for point in candidates:\n", + " key = (int(round(point[0] * 2)), int(round(point[1] * 2)))\n", + " if key in seen or key in blocked_keys:\n", + " continue # 已测过且被遮挡的点:再测不会有任何新信息\n", + " seen.add(key)\n", + " unique.append(point)\n", + " return unique\n", + "\n", + " def _visibility_probe(self, region: CandidateRegion, channel: int) -> Vec2 | None:\n", + " \"\"\"按联合信念选探点;联合信念不可用时返回 None(退回梯子)。\n", + "\n", + " 三种口径(只影响选点顺序,不承担任何安全责任):\n", + "\n", + " - ``nearest_visible``(默认):先按可见概率过滤(只保留\n", + " ``prob_detect ≥ ratio × max`` 的候选,避免选中\"实际必然被朝向遮挡\"的\n", + " 点),再取 ``当前位置→q→MEC 圆心`` 移动最省者。9 场景 core 实测:\n", + " 后备盲清 125.7 → 4.3 次/局、T 9225 → 8602 s、墙钟最低。\n", + " - ``expected_radius``:在同样过滤后最小化\n", + " ``E[后验 MEC 半径](q) + λ·移动``。λ=5 时与上面几乎同分(8604 s),\n", + " λ 很小时(0.05)值函数主导,为信息多绕路(9740 s)——本题\n", + " \"看得见且少走路\"比\"单步信息量最大\"更重要。\n", + " - ``visibility``(旧口径):最大化 ``prob_detect/(移动+6)``,会反复选中\n", + " 同一个近处被遮挡点(实测 9225 s、后备 125.6 次)。\n", + " \"\"\"\n", + " joint = self.joint.get(channel)\n", + " if joint is None or joint.is_absent():\n", + " return None\n", + " position = self.client.state.position\n", + " service_s = self.config.cost.measure_s + self.config.cost.switch_s\n", + " candidates = self._probe_candidates(region, channel)\n", + " if not candidates:\n", + " return None\n", + " mode = self.config.search.probe_score_mode\n", + " if mode == \"visibility\":\n", + " best_point, best_score = None, None\n", + " for point in candidates:\n", + " probability = joint.prob_detect(point)\n", + " if probability <= 0.0:\n", + " continue\n", + " score = -(probability / (move_time(position, point, self.config.cost)\n", + " + service_s))\n", + " if best_score is None or score < best_score:\n", + " best_point, best_score = point, score\n", + " if best_point is not None:\n", + " self.visibility_probes += 1\n", + " return best_point\n", + " scored = [(joint.prob_detect(point), point) for point in candidates]\n", + " peak = max(probability for probability, _ in scored)\n", + " ratio = self.config.search.probe_visibility_ratio\n", + " keep = [point for probability, point in scored\n", + " if probability >= ratio * peak] or [point for _, point in scored]\n", + " center = region.mec()[0]\n", + " weight = self.config.search.probe_lambda_move_s\n", + "\n", + " def approach_cost(point: Vec2) -> float:\n", + " return (move_time(position, point, self.config.cost)\n", + " + move_time(point, center, self.config.cost) + service_s)\n", + "\n", + " if mode == \"nearest_visible\":\n", + " # λ 很大时值函数项对 argmin 已无影响:直接取\"可见候选中移动最省\",\n", + " # 省掉每个候选一次期望后验半径计算(单局墙钟 −3 s)。\n", + " best = min(keep, key=lambda point: (approach_cost(point), point))\n", + " self.visibility_probes += 1\n", + " return best\n", + " best = min(keep, key=lambda point: (\n", + " joint.expected_posterior_radius(point) + weight * approach_cost(point),\n", + " point))\n", + " self.visibility_probes += 1\n", + " return best\n", + "\n", + "\n", + "\n", + " def _next_probe(self, region: CandidateRegion, channel: int) -> Vec2:\n", + " \"\"\"定向遮挡下的探点升级梯子 [工程]。\n", + "\n", + " - 未被遮挡过:worst-posterior 选点器(保证接收盘内);\n", + " - 第 1 次被遮挡:对 MEC 圆心取对跖方向,偏移裁进保证接收盘;\n", + " - 之后:绕 MEC 圆心、半径 = ρ 的环探,方位自首个被遮挡点起\n", + " 每次 +45°。几何边界必须如实陈述:环上可见弧没有下界——\n", + " 源可位于环上(|g-c| = ρ)且朝向沿外切线,可见集退化为单个\n", + " 切点,固定步进环探可以全部漏过。梯子只提高提前命中概率,\n", + " 不构成接收或命中保证;完备性完全由后备清除兜底。\n", + " \"\"\"\n", + " visibility = self._visibility_probe(region, channel)\n", + " if visibility is not None:\n", + " return visibility\n", + " blocked = self.blocked_probes.get(channel, [])\n", + " center, radius = region.mec()\n", + " if not blocked:\n", + " return select_measurement_point(region, self.client.state.position,\n", + " self.config).position\n", + " safe = safe_disk_radius(region, self.config)\n", + " first = blocked[0]\n", + " if len(blocked) == 1 and safe >= 0:\n", + " dx, dy = center[0] - first[0], center[1] - first[1]\n", + " norm = math.hypot(dx, dy)\n", + " if norm <= 1e-9:\n", + " # 首个被遮挡探点恰在圆心:方向信息为零,沿 +x 走满安全盘。\n", + " return (center[0] + safe, center[1])\n", + " scale = min(1.0, safe / norm)\n", + " # 对跖方向,偏移模长 = min(norm, safe):圆心对称点裁进保证接收盘。\n", + " return (center[0] + dx * scale, center[1] + dy * scale)\n", + " base = math.atan2(first[1] - center[1], first[0] - center[0])\n", + " azimuth = base + math.radians(45.0 * (len(blocked) - 1))\n", + " return (center[0] + radius * math.cos(azimuth),\n", + " center[1] + radius * math.sin(azimuth))\n", + "\n", + " def _fallback_clear(self, channel: int, region: CandidateRegion) -> bool:\n", + " \"\"\"定位停滞的后备:候选集有限圆盘覆盖逐格清除(格数即请求上界)。\"\"\"\n", + " search, session = self.config.search, self.config.session\n", + " width = max(p[0] for p in region.polygon) - min(p[0] for p in region.polygon)\n", + " height = max(p[1] for p in region.polygon) - min(p[1] for p in region.polygon)\n", + " cells = fallback_clear_cells(region.polygon, self.config)\n", + " entry = {\"channel\": channel, \"cells\": len(cells),\n", + " \"bound\": fallback_cell_bound(width, height, self.config),\n", + " \"posterior_radius_m\": round(region.mec()[1], 3)}\n", + " self.fallback_log.append(entry)\n", + " if len(cells) > search.fallback_max_cells:\n", + " # 宽候选集盲扫违背预算纪律:留待定位收敛,不得硬扫 [计划§4]。\n", + " entry[\"outcome\"] = \"skipped_cell_cap\"\n", + " self._anomaly(\"fallback_cell_cap_exceeded\", channel,\n", + " cells=len(cells), cap=search.fallback_max_cells)\n", + " return False\n", + " # 现实预算核对:N 次请求 × 单请求高分位估计 + 退出余量,不足不启动。\n", + " remaining = self.client.real_remaining_s\n", + " if remaining is None or len(cells) * session.real_rtt_p95_s \\\n", + " + session.reserve_exit_s > remaining:\n", + " entry[\"outcome\"] = \"skipped_budget\"\n", + " return False\n", + " attempts = 0\n", + " order = self._fallback_order(cells)\n", + " for cell in order:\n", + " if self._virtual_cap_reached():\n", + " entry[\"outcome\"] = \"skipped_virtual_budget\"\n", + " entry[\"attempts\"] = attempts\n", + " return False\n", + " attempts += 1\n", + " outcome = self.client.clear(cell, channel)\n", + " if outcome.result == CLEAR_SUCCESS:\n", + " self.belief.mark_cleared(channel)\n", + " self.cleared.append(channel)\n", + " entry[\"outcome\"] = \"cleared\"\n", + " entry[\"attempts\"] = attempts\n", + " return True\n", + " # 候选集保守包含真源,格心距格内任一点 <= 10*sqrt(2) < 20m:全部\n", + " # 失败说明守恒性被打破,按异常留痕,不得据此删除候选。\n", + " entry[\"outcome\"] = \"exhausted\"\n", + " entry[\"attempts\"] = attempts\n", + " self._anomaly(\"fallback_exhausted_without_success\", channel,\n", + " cells=len(cells))\n", + " return False\n", + "\n", + " def _fallback_order(self, cells: list[Vec2]) -> list[Vec2]:\n", + " \"\"\"后备清除的走格顺序:最近邻打底 + 2-opt(可选 Or-opt)改进。\n", + "\n", + " 旧实现每步重新 ``min(remaining, key=dist)``,等价于最近邻开放路径\n", + " (典型为最优的 1.2–1.3 倍)且每次重扫 O(k²)。这里一次性求解改进序\n", + " (D3),把格间移动压到接近最优;格数不变,故完备性不变。\n", + " \"\"\"\n", + " if not cells:\n", + " return []\n", + " if not self.config.search.fallback_optimize_tour or len(cells) < 4:\n", + " position = self.client.state.position\n", + " remaining = list(cells)\n", + " order: list[Vec2] = []\n", + " while remaining:\n", + " nxt = min(remaining, key=lambda c: (math.dist(position, c), c))\n", + " remaining.remove(nxt)\n", + " order.append(nxt)\n", + " position = nxt\n", + " return order\n", + " return improve_open_path([tuple(c) for c in cells],\n", + " self.client.state.position)\n", + "\n", + " # ------------------------------------------------------------ 收尾\n", + " def _summary(self, info) -> dict:\n", + " report = super()._summary(info)\n", + " report[\"directional_observed_channels\"] = list(self.directional_observed)\n", + " report[\"fallback_clears\"] = self.fallback_log\n", + " # 后备 /clear 请求计入总请求口径,仅统计检测次数会低估现实耗时。\n", + " report[\"fallback_clear_attempts\"] = sum(\n", + " entry.get(\"attempts\", 0) for entry in self.fallback_log)\n", + " report[\"visibility_probes\"] = self.visibility_probes\n", + " report[\"joint_absent_channels\"] = list(self.joint_absent_channels)\n", + " report[\"joint_final\"] = {str(channel): belief.summary()\n", + " for channel, belief in sorted(self.joint.items())}\n", + " return report\n", + "\n", + "\n", + "def fallback_cell_bound(width_m: float, height_m: float,\n", + " config: ProblemConfig = ProblemConfig()) -> int:\n", + " \"\"\"外包框枚举的格数上界 (⌈w/cell⌉+2)(⌈h/cell⌉+2)(计划§4 规模检查)。\"\"\"\n", + " cell = config.search.fallback_clear_grid_m\n", + " return (math.ceil(width_m / cell) + 2) * (math.ceil(height_m / cell) + 2)\n", + "\n", + "\n", + "def fallback_clear_cells(polygon: list[Vec2],\n", + " config: ProblemConfig = ProblemConfig()) -> list[Vec2]:\n", + " \"\"\"候选外包多边形的 <=20m 有限圆盘覆盖格心列表(P5 后备清除)。\n", + "\n", + " 全局半开 20m 网格索引;多边形与格子的相交判定带正容差(宁可多测),\n", + " 多边形边界恰在格线上时两侧格子都保留,因此格内任意点距某格心\n", + " <= 10*sqrt(2) < 20m,逐格 /clear 至少一次命中。列表长度即 /clear\n", + " 请求预算上界;先核对 fallback_cell_bound,超预算不得逐格盲扫。\n", + " \"\"\"\n", + " if not polygon:\n", + " return []\n", + " cell = config.search.fallback_clear_grid_m\n", + " xs = [p[0] for p in polygon]\n", + " ys = [p[1] for p in polygon]\n", + " i0, i1 = math.floor(min(xs) / cell), math.floor(max(xs) / cell)\n", + " j0, j1 = math.floor(min(ys) / cell), math.floor(max(ys) / cell)\n", + " eps = 1e-9\n", + " centers: list[Vec2] = []\n", + " for i in range(i0, i1 + 1):\n", + " for j in range(j0, j1 + 1):\n", + " clipped = list(polygon)\n", + " for a, b, c in ((1.0, 0.0, (i + 1) * cell + eps),\n", + " (-1.0, 0.0, -(i * cell - eps)),\n", + " (0.0, 1.0, (j + 1) * cell + eps),\n", + " (0.0, -1.0, -(j * cell - eps))):\n", + " clipped = clip_halfplane(clipped, a, b, c, tol=eps)\n", + " if not clipped:\n", + " break\n", + " if clipped:\n", + " centers.append(((i + 0.5) * cell, (j + 0.5) * cell))\n", + " return centers\n" + ] + }, + { + "cell_type": "markdown", + "id": "dfc8e5b3", + "metadata": {}, + "source": [ + "### 6.3 第三问默认策略:贝叶斯网格滤波闭环(`planner/bayes_loop.py`)\n", + "\n", + "三层重构:\n", + "\n", + "1. **感知层**:每频道一个网格幸存集,全部读数(含 `no_signal` 负观测)即时更新,\n", + " 幸存集为空即缺席证明;\n", + "2. **决策层**:站点扫频、定位测量、清除三类任务合成统一任务表,\n", + " 开放路径最近邻 + 2-opt 排序,每执行一个任务滚动重排(动态 TSP);\n", + "3. **选点层**:定位测量点在保证接收盘(凸证书)或 PF MEC 探索环(宽候选集)内\n", + " 按\"期望 log 幸存占比 + λ·移动时间\"评分(信息增益贪心)。\n", + "\n", + "相对基线的增益来自负观测跳站/跳测、PF 缺席证明提前证毕、全局任务排序。\n", + "清除证书仍以凸证书为主,PF 网格证书只在负观测挖洞使幸存集更紧时提前触发。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "5934cb40", + "metadata": {}, + "outputs": [], + "source": [ + "import math\n", + "from dataclasses import dataclass\n", + "\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class Task:\n", + " \"\"\"统一任务表的一项。service_s 为不含移动的固有耗时(检测+换频/清除)。\"\"\"\n", + "\n", + " kind: str # \"station\" | \"locate\" | \"clear\"\n", + " position: Vec2\n", + " service_s: float\n", + " channel: int | None = None\n", + " station_index: int | None = None\n", + " station_channels: tuple[int, ...] = ()\n", + "\n", + "\n", + "def _point_key(point: Vec2) -> tuple[int, int]:\n", + " \"\"\"候选点去重键:0.5m 网格取整(同一物理点不重复测量)。\"\"\"\n", + " return (int(round(point[0] * 2)), int(round(point[1] * 2)))\n", + "\n", + "\n", + "class BayesLoop(OmnidirectionalLoop):\n", + " \"\"\"问题3贝叶斯闭环:负观测感知 + 信息增益选点 + 滚动任务排序。\"\"\"\n", + "\n", + " def __init__(self, client: SimulatorClient,\n", + " config: ProblemConfig = ProblemConfig()):\n", + " super().__init__(client, config)\n", + " validate_seven_coverage(config.bayes.station_ring_radius_m, config)\n", + " self.coverage_plan = seven_plan(config.bayes.station_ring_radius_m)\n", + " self.ledger = CoverageLedger(\n", + " config, points=list(self.coverage_plan.points))\n", + " self.particles = {channel: ChannelParticles(config)\n", + " for channel in self.belief.channels}\n", + " self._measured_points: dict[int, set[tuple[int, int]]] = {}\n", + " self._clear_failed: set[int] = set() # 证书清除失败后须先补测再重试\n", + " self._stall: dict[int, int] = {} # 连续无收缩计数(异常留痕用)\n", + " self._skip_cache: dict[tuple[int, int], tuple[int, bool]] = {}\n", + " self.skipped_measures = 0 # 跳测规则省下的检测次数\n", + " self.no_shrink_measures = 0 # 未收缩幸存集的定位检测(诊断用)\n", + " self.pf_absent_channels: list[int] = [] # 由幸存集为空证明缺席的频道\n", + " self.opportunistic_measures = 0\n", + "\n", + " # ------------------------------------------------------------ 主循环\n", + " def _coverage_phase(self) -> None:\n", + " \"\"\"统一任务循环:发现 + 定位 + 清除滚动调度,直到任务表为空。\"\"\"\n", + " while self.stop_reason is None:\n", + " if self._count_limit_reached() or self._virtual_cap_reached():\n", + " return\n", + " if not self._step_once():\n", + " return\n", + "\n", + " def _step_once(self) -> bool:\n", + " \"\"\"构建任务表、排序并执行首任务;无可执行任务返回 False。\"\"\"\n", + " if self.config.bayes.opportunistic_measure:\n", + " self._measure_at_stop()\n", + " tasks = self._build_tasks()\n", + " if not tasks:\n", + " return False\n", + " tasks = self._refine_locate_tasks(tasks)\n", + " order = self._order_tasks(tasks)\n", + " self._execute_task(order[0])\n", + " return True\n", + "\n", + " def _measure_at_stop(self) -> None:\n", + " \"\"\"利用已停靠位置补交会方位;评分只作选测,证书仍用完整角域。\n", + "\n", + " 只测尚未在此处测过、有望显著收缩且保证距离可接收的已发现频道。\n", + " 逐频道调用measure,换频与5秒检测照常计费;不在移动中检测。\n", + " 此距离保证仅适用于第三问,不能用于未知定向源。\n", + " \"\"\"\n", + " point = self.client.state.position\n", + " channels = self.belief.channels_by_status(ChannelStatus.DETECTED)\n", + " channels.sort(key=lambda c: (c != self.client.state.channel, c))\n", + " for channel in channels:\n", + " if self._virtual_cap_reached():\n", + " return\n", + " if _point_key(point) in self._measured_points.get(channel, set()):\n", + " continue\n", + " cert = self._best_certificate(channel)\n", + " if cert is not None and cert.certified:\n", + " continue\n", + " region = self.belief.candidate_set(channel)\n", + " farthest = max(math.dist(point, v) for v in region.polygon)\n", + " if farthest > self.config.field.r_eff_min_m - 1e-3:\n", + " continue\n", + " radius = region.mec()[1]\n", + " vertices = region.polygon\n", + " stride = max(1, len(vertices) // self.config.bayes.mc_representatives)\n", + " radii = []\n", + " delta = (self.config.field.bearing_error_half_deg\n", + " + self.config.search.bearing_rounding_margin_deg)\n", + " for target in vertices[::stride]:\n", + " theta = math.degrees(math.atan2(target[1]-point[1], target[0]-point[0]))\n", + " probe = CandidateRegion(list(vertices), region.slack_m)\n", + " probe.clip_wedge(point, theta, delta)\n", + " radii.append(probe.mec()[1] if probe.polygon else radius)\n", + " if sum(radii) / len(radii) > radius * self.config.bayes.opportunistic_radius_ratio:\n", + " continue\n", + " outcome = self.client.measure(point, channel)\n", + " self._record_measure(channel, point, outcome)\n", + " self._may_clear.add(channel)\n", + " self.opportunistic_measures += 1\n", + "\n", + " # ------------------------------------------------------------ 任务构建\n", + " def _station_pending(self, index: int) -> list[int]:\n", + " \"\"\"站点待测频道:UNKNOWN、未测过、非\"必 no_signal\"且未证缺席。\"\"\"\n", + " point = self.ledger.points[index]\n", + " pending = []\n", + " for channel, belief in self.belief.channels.items():\n", + " if belief.status is not ChannelStatus.UNKNOWN:\n", + " continue\n", + " if self.ledger.measured_at(channel, index):\n", + " continue\n", + " if self._skip_station_channel(channel, index, point):\n", + " continue\n", + " pending.append(channel)\n", + " return pending\n", + "\n", + " def _fused_channels_at(self, index: int) -> list[int]:\n", + " \"\"\"本站要测的频道 = 未发现(UNKNOWN) + 已发现但尚未定证(DETECTED)。\n", + "\n", + " P0-1:把定位并入覆盖巡回。站点三角化可行性(方案 §1.3 F11):\n", + " 99.28% 的源位置有 ≥2 个站在 r_eff_max=1500m 内,最佳交会角中位\n", + " 122.9°、5 分位 58.5°,因此\"顺路取第二条方位线\"对绝大多数源成立。\n", + " 已有证书、已在同一 0.5m 测点测过、或该点必 no_signal 的频道跳过。\n", + "\n", + " 实测结论(2026-09-12,`output/suite/q3-fuse-ab*`):本机制**不划算**。\n", + " 七站环上通常只有 2–3 个站能对该源取得有效方位线,交会角也不足以\n", + " 直接换到 20m 证书,专用信息增益探点仍然必要;仅在站点顺带测量等于\n", + " 平白多花约 11 次检测(+0.8%),若同时抑制专用探点则 +45.6%(20/20\n", + " 场景更慢)。默认关闭,保留代码以便复现与后续研究。\n", + " \"\"\"\n", + " point = self.ledger.points[index]\n", + " channels = self._station_pending(index)\n", + " selected = set(channels)\n", + " if not self.config.bayes.fuse_localize_into_tour:\n", + " return channels\n", + " for channel in self.belief.channels_by_status(ChannelStatus.DETECTED):\n", + " if channel in selected or self.ledger.measured_at(channel, index):\n", + " continue\n", + " if _point_key(point) in self._measured_points.get(channel, set()):\n", + " continue\n", + " cert = self._best_certificate(channel)\n", + " if cert is not None and cert.certified:\n", + " continue # 已有证书:交给清除任务,不再多测\n", + " if self._skip_station_channel(channel, index, point):\n", + " continue # 幸存集都在 1500m 外:该点必 no_signal\n", + " channels.append(channel)\n", + " selected.add(channel)\n", + " return channels\n", + "\n", + " def _skip_station_channel(self, channel: int, index: int, point: Vec2) -> bool:\n", + " \"\"\"跳测规则(按 pf.version 缓存;幸存集单调收缩,判定单调)。\"\"\"\n", + " pf = self.particles[channel]\n", + " if not pf:\n", + " return True\n", + " cached = self._skip_cache.get((channel, index))\n", + " if cached is not None and cached[0] == pf.version:\n", + " return cached[1]\n", + " value = pf.guaranteed_no_signal(point)\n", + " self._skip_cache[(channel, index)] = (pf.version, value)\n", + " return value\n", + "\n", + " def _build_tasks(self) -> list[Task]:\n", + " tasks: list[Task] = []\n", + " for index, point in enumerate(self.ledger.points):\n", + " pending = self._fused_channels_at(index)\n", + " if not pending:\n", + " continue\n", + " switches = len(pending) - (1 if self.client.state.channel in pending else 0)\n", + " tasks.append(Task(\"station\", tuple(point),\n", + " self.config.cost.measure_s * len(pending)\n", + " + self.config.cost.switch_s * max(switches, 0),\n", + " station_index=index, station_channels=tuple(pending)))\n", + " for channel in self.belief.channels_by_status(ChannelStatus.DETECTED):\n", + " cert = self._best_certificate(channel)\n", + " if cert is not None and cert.certified \\\n", + " and channel not in self._clear_failed:\n", + " tasks.append(Task(\"clear\", cert.center,\n", + " self.config.cost.clear_success_s,\n", + " channel=channel))\n", + " continue\n", + " if self._defer_to_station(channel):\n", + " continue # 下一条方位线可由\"本就要去的站点\"顺路提供\n", + " point = self._select_point(channel)\n", + " if point is None:\n", + " continue\n", + " tasks.append(Task(\"locate\", point,\n", + " self.config.cost.measure_s + self.config.cost.switch_s,\n", + " channel=channel))\n", + " return tasks\n", + "\n", + " def _defer_to_station(self, channel: int) -> bool:\n", + " \"\"\"该频道能否由\"本就要去的站点\"提供下一条方位线。\n", + "\n", + " P0-1 的关键:仅仅在站点顺带测量是不够的(那只是多做一次检测),\n", + " 必须同时**抑制专用探点任务**,否则滚动排序仍会优先飞向更近的探点。\n", + " 判据要求该站本来就有 UNKNOWN 频道待测(覆盖巡回必须去),因此不会\n", + " 为了等一条方位线而制造新的绕行,也不会出现\"无任务可做\"的死锁:\n", + " 站点扫完后 ``_station_pending`` 为空,探点任务自然恢复。\n", + " \"\"\"\n", + " if not self.config.bayes.fuse_localize_into_tour:\n", + " return False\n", + " for index, point in enumerate(self.ledger.points):\n", + " if not self._station_pending(index):\n", + " continue\n", + " if self.ledger.measured_at(channel, index):\n", + " continue\n", + " if _point_key(point) in self._measured_points.get(channel, set()):\n", + " continue\n", + " if self._skip_station_channel(channel, index, point):\n", + " continue\n", + " return True\n", + " return False\n", + "\n", + " # ------------------------------------------------------------ 任务排序\n", + " def _order_tasks(self, tasks: list[Task]) -> list[Task]:\n", + " \"\"\"开放路径排序:小任务表用精确 DP,否则最近邻 + 2-opt。\n", + "\n", + " Held-Karp(S5/T1)把\"已访问集合 × 结束时测向频道\"并入状态,因此换频\n", + " 代价是精确的,而不是 :meth:`_path_cost` 里\"按频道排序\"的贪心近似。\n", + " \"\"\"\n", + " if len(tasks) <= 2:\n", + " ordered = sorted(tasks, key=lambda t: (\n", + " move_time(self.client.state.position, t.position, self.config.cost),\n", + " t.kind, t.channel or 0))\n", + " return min((ordered, ordered[::-1]), key=self._path_cost)\n", + " limit = self.config.bayes.exact_order_limit\n", + " if 0 < limit and len(tasks) <= limit:\n", + " exact = self._exact_order(tasks)\n", + " if exact is not None:\n", + " return exact\n", + " order = self._nearest_order(tasks)\n", + " if not self.config.bayes.two_opt_enabled:\n", + " return order\n", + " return self._two_opt(order)\n", + "\n", + " def _service_and_exit(self, task: Task,\n", + " channel: int) -> tuple[float, int]:\n", + " \"\"\"任务在进入频道 ``channel`` 时的固有耗时与离开后的测向频道。\"\"\"\n", + " cost = self.config.cost\n", + " if task.kind == \"locate\":\n", + " return (cost.measure_s + (cost.switch_s if channel != task.channel else 0.0),\n", + " task.channel)\n", + " if task.kind == \"station\" and task.station_channels:\n", + " pending = sorted(task.station_channels,\n", + " key=lambda c: (c != channel, c))\n", + " switches = len(pending) - (1 if channel in pending else 0)\n", + " return (cost.measure_s * len(pending) + cost.switch_s * switches,\n", + " pending[-1])\n", + " return task.service_s, channel\n", + "\n", + " def _exact_order(self, tasks: list[Task]) -> list[Task] | None:\n", + " \"\"\"Held-Karp 精确开放路径(起点固定、终点自由,含换频状态)。\n", + "\n", + " 状态 ``(mask, c)`` = 已访问任务集 mask、离开最后一个任务后测向频道为 c;\n", + " 频道取值域只需 {当前频道} ∪ {locate 频道} ∪ {station 离开频道}。\n", + " 规模 ``2^n·n·|C|``;n 超过 :attr:`BayesConfig.exact_order_limit` 时由\n", + " 调用方回退启发式。返回 ``None`` 表示状态过大(防御性)。\n", + " \"\"\"\n", + " n = len(tasks)\n", + " if n <= 1:\n", + " return list(tasks)\n", + " start = self.client.state.position\n", + " init = self.client.state.channel\n", + " channels = {init}\n", + " for task in tasks:\n", + " if task.kind == \"locate\":\n", + " channels.add(task.channel)\n", + " elif task.kind == \"station\" and task.station_channels:\n", + " # 离开频道 = 按\"当前频道优先\"排序后的最后一个:通常是最大值;\n", + " # 进入频道恰为最大值时退化为次大值,故两者都要进状态空间。\n", + " ordered = sorted(task.station_channels)\n", + " channels.add(ordered[-1])\n", + " if len(ordered) > 1:\n", + " channels.add(ordered[-2])\n", + " channels = sorted(channels)\n", + " width = len(channels)\n", + " if width * (1 << n) * n > 4_000_000:\n", + " return None\n", + " index_of = {channel: i for i, channel in enumerate(channels)}\n", + " c_init = index_of[init]\n", + " service: list[list[float]] = []\n", + " exits: list[list[int]] = []\n", + " for task in tasks:\n", + " row_service, row_exit = [], []\n", + " for channel in channels:\n", + " value, exit_channel = self._service_and_exit(task, channel)\n", + " row_service.append(value)\n", + " row_exit.append(index_of[exit_channel])\n", + " service.append(row_service)\n", + " exits.append(row_exit)\n", + " move = [[move_time(tasks[i].position, tasks[j].position, self.config.cost)\n", + " for j in range(n)] for i in range(n)]\n", + " from_start = [move_time(start, task.position, self.config.cost)\n", + " for task in tasks]\n", + " inf = float(\"inf\")\n", + " # dp[(mask, ci)] = 最小代价;parent[(mask, ci)] = (上一 mask, 上一 ci)\n", + " dp: dict[tuple[int, int], float] = {}\n", + " last_task: dict[tuple[int, int], int] = {}\n", + " parent: dict[tuple[int, int], tuple[int, int] | None] = {}\n", + " for k in range(n):\n", + " key = (1 << k, exits[k][c_init])\n", + " value = from_start[k] + service[k][c_init]\n", + " if value < dp.get(key, inf):\n", + " dp[key] = value\n", + " last_task[key] = k\n", + " parent[key] = None\n", + " for mask in range(1, 1 << n):\n", + " for ci in range(width):\n", + " state = (mask, ci)\n", + " cost = dp.get(state)\n", + " if cost is None:\n", + " continue\n", + " for k in range(n):\n", + " if (mask >> k) & 1:\n", + " continue\n", + " nxt = (mask | (1 << k), exits[k][ci])\n", + " value = cost + move[last_task[state]][k] + service[k][ci]\n", + " if value < dp.get(nxt, inf) - 1e-12:\n", + " dp[nxt] = value\n", + " last_task[nxt] = k\n", + " parent[nxt] = state\n", + " full = (1 << n) - 1\n", + " best_key, best_cost = None, inf\n", + " for ci in range(width):\n", + " state = (full, ci)\n", + " if state in dp and dp[state] < best_cost:\n", + " best_key, best_cost = state, dp[state]\n", + " if best_key is None:\n", + " return None\n", + " order: list[Task] = []\n", + " key: tuple[int, int] | None = best_key\n", + " while key is not None:\n", + " order.append(tasks[last_task[key]])\n", + " key = parent[key]\n", + " order.reverse()\n", + " return order\n", + "\n", + "\n", + "\n", + " def _nearest_order(self, tasks: list[Task]) -> list[Task]:\n", + " remaining = list(tasks)\n", + " order = []\n", + " position = self.client.state.position\n", + " while remaining:\n", + " best = min(remaining, key=lambda t: (\n", + " move_time(position, t.position, self.config.cost),\n", + " t.kind, t.channel or 0))\n", + " remaining.remove(best)\n", + " order.append(best)\n", + " position = best.position\n", + " return order\n", + "\n", + " def _path_cost(self, order: list[Task]) -> float:\n", + " total = 0.0\n", + " position = self.client.state.position\n", + " channel = self.client.state.channel\n", + " for task in order:\n", + " total += move_time(position, task.position, self.config.cost)\n", + " if task.kind == \"locate\":\n", + " total += self.config.cost.measure_s\n", + " total += self.config.cost.switch_s * (channel != task.channel)\n", + " channel = task.channel\n", + " elif task.kind == \"station\" and task.station_channels:\n", + " pending = sorted(\n", + " task.station_channels,\n", + " key=lambda c, channel=channel: (c != channel, c))\n", + " total += self.config.cost.measure_s * len(pending)\n", + " total += self.config.cost.switch_s * (len(pending) - (channel in pending))\n", + " channel = pending[-1]\n", + " else:\n", + " total += task.service_s # 清除不改变测向频道\n", + " position = task.position\n", + " return total\n", + "\n", + " def _two_opt(self, order: list[Task]) -> list[Task]:\n", + " best = list(order)\n", + " best_cost = self._path_cost(best)\n", + " for _ in range(self.config.bayes.two_opt_passes):\n", + " improved = False\n", + " for i in range(len(best) - 1):\n", + " for j in range(i + 1, len(best)):\n", + " candidate = best[:i] + best[i:j + 1][::-1] + best[j + 1:]\n", + " cost = self._path_cost(candidate)\n", + " if cost < best_cost - 1e-6:\n", + " best, best_cost, improved = candidate, cost, True\n", + " if not improved:\n", + " break\n", + " return best\n", + "\n", + " # ------------------------------------------------------------ 任务执行\n", + " def _execute_task(self, task: Task) -> None:\n", + " if task.kind == \"station\":\n", + " self._execute_station(task.station_index)\n", + " elif task.kind == \"clear\":\n", + " cert = self._best_certificate(task.channel)\n", + " if cert is not None and cert.certified:\n", + " if not self._attempt_clear(task.channel, cert.center, cert):\n", + " self._clear_failed.add(task.channel)\n", + " self._may_clear.discard(task.channel)\n", + " else:\n", + " self._clear_failed.discard(task.channel)\n", + " elif task.kind == \"locate\":\n", + " self._execute_locate(task.channel, task.position)\n", + "\n", + " def _execute_station(self, index: int) -> None:\n", + " \"\"\"单站批量扫频:只测待测频道(跳测规则已过滤),扫完即返回重排。\n", + "\n", + " P0-1:本站同时测量\"已发现未定证\"频道,使第二/第三条方位线在巡回\n", + " 途中顺路取得;证书一旦成立即就地清除,不额外绕行。\n", + " \"\"\"\n", + " point = self.ledger.points[index]\n", + " pending = self._fused_channels_at(index)\n", + " unknown = [c for c, b in self.belief.channels.items()\n", + " if b.status is ChannelStatus.UNKNOWN]\n", + " self.skipped_measures += len(unknown) - len(\n", + " [c for c in pending if self.belief.channels[c].status\n", + " is ChannelStatus.UNKNOWN])\n", + " # 当前频道优先,减少换频;同站 near 直接清除不打断扫频\n", + " pending.sort(key=lambda c: (c != self.client.state.channel, c))\n", + " for channel in pending:\n", + " if self.stop_reason is not None or self._count_limit_reached() \\\n", + " or self._virtual_cap_reached():\n", + " return\n", + " detected_before = (self.belief.channels[channel].status\n", + " is ChannelStatus.DETECTED)\n", + " outcome = self.client.measure(point, channel)\n", + " self.ledger.mark_measured(channel, index)\n", + " self._record_measure(channel, point, outcome)\n", + " if outcome.result in (DIRECTION, NEAR):\n", + " self._may_clear.add(channel)\n", + " if outcome.result == NEAR:\n", + " region = self.belief.candidate_set(channel)\n", + " cert = clear_certificate(region, channel, self.config)\n", + " if cert.certified:\n", + " if self._attempt_clear(channel, point, cert):\n", + " self._clear_failed.discard(channel)\n", + " else:\n", + " self._clear_failed.add(channel)\n", + " self._may_clear.discard(channel)\n", + " else:\n", + " self._anomaly(\"near_without_certificate\", channel, position=point)\n", + " continue\n", + " if not detected_before:\n", + " continue\n", + " if outcome.result == NO_SIGNAL:\n", + " # 该频道已被发现:保证接收盘内不可能 no_signal,属守恒性异常\n", + " region = self.belief.candidate_set(channel)\n", + " safe = (safe_disk_radius(region, self.config)\n", + " if region is not None else -1.0)\n", + " if safe >= 0 and math.dist(point, region.mec()[0]) <= safe:\n", + " self._anomaly(\"no_signal_in_safe_disk\", channel,\n", + " position=point)\n", + " continue\n", + " cert = self._best_certificate(channel)\n", + " if cert is not None and cert.certified:\n", + " if self._attempt_clear(channel, cert.center, cert):\n", + " self._clear_failed.discard(channel)\n", + " else:\n", + " self._clear_failed.add(channel)\n", + " self._may_clear.discard(channel)\n", + "\n", + " def _execute_locate(self, channel: int, point: Vec2) -> None:\n", + " \"\"\"单步定位测量:执行后立即重排(滚动时域),收敛则顺路清除。\"\"\"\n", + " pf = self.particles[channel]\n", + " before = len(pf)\n", + " outcome = self.client.measure(point, channel)\n", + " self._record_measure(channel, point, outcome)\n", + " self._may_clear.add(channel)\n", + " if outcome.result == NO_SIGNAL:\n", + " region = self.belief.candidate_set(channel)\n", + " if region is not None and safe_disk_radius(region, self.config) >= 0 \\\n", + " and math.dist(point, region.mec()[0]) \\\n", + " <= safe_disk_radius(region, self.config):\n", + " self._anomaly(\"no_signal_in_safe_disk\", channel, position=point)\n", + " after = len(pf)\n", + " cert = self._best_certificate(channel)\n", + " if cert is not None and cert.certified:\n", + " if self._attempt_clear(channel, cert.center, cert):\n", + " self._clear_failed.discard(channel)\n", + " self._stall.pop(channel, None)\n", + " return\n", + " self._clear_failed.add(channel)\n", + " self._may_clear.discard(channel)\n", + " if after == before:\n", + " self._stall[channel] = self._stall.get(channel, 0) + 1\n", + " self.no_shrink_measures += 1 # 只是浪费不破坏守恒性,不进异常表\n", + " else:\n", + " self._stall[channel] = 0\n", + "\n", + " # ------------------------------------------------------------ 感知与证书\n", + " def _record_measure(self, channel: int, position: Vec2, outcome) -> None:\n", + " \"\"\"belief(凸证书)与 PF(幸存集)同步更新;PF 空即证缺席。\"\"\"\n", + " self.belief.update_measure(channel, position, outcome.result,\n", + " outcome.svd_deg)\n", + " # 同一 0.5m 测点 × 同一频道的重复检测:历史上一次官方演练有 98.84%\n", + " # 的虚拟时间耗在空复扫上,本计数是该问题的回归指标。\n", + " key = _point_key(position)\n", + " seen = self._measured_points.setdefault(channel, set())\n", + " if key in seen:\n", + " self.redundant_rescan_measures += 1\n", + " seen.add(key)\n", + " self._clear_failed.discard(channel) # 新证据落地:允许再次尝试清除\n", + " belief = self.belief.channels[channel]\n", + " if belief.status in (ChannelStatus.CLEARED, ChannelStatus.ABSENT):\n", + " return # 已证毕:清除/缺席后的 no_signal 与距离无关,不进 PF\n", + " pf = self.particles[channel]\n", + " pf.apply_measure(position, outcome.result, outcome.svd_deg)\n", + " if not pf:\n", + " if belief.status is ChannelStatus.UNKNOWN:\n", + " self.belief.mark_absent(channel)\n", + " self.absence_evidence[channel] = \"pf_empty\"\n", + " if channel not in self.pf_absent_channels:\n", + " self.pf_absent_channels.append(channel)\n", + " else:\n", + " self._anomaly(\"pf_empty_while_detected\", channel, position=position)\n", + " self._apply_count_bound()\n", + "\n", + " def _apply_count_bound(self) -> None:\n", + " \"\"\"存在证据达到题面源数上界时,其余 UNKNOWN 可由计数直接判缺席。\n", + "\n", + " 依据 [题面]:每频道至多一个源、全局限定 10..16 个源。一旦\n", + " DETECTED/CLEARED 的不同频道数达到 16,任何尚未出现有效信号的\n", + " 频道都不可能是源,无须等 7 站覆盖账本跑完。该判定与位置无关,\n", + " 是严格的计数证明;evidence 与 coverage/pf_empty 分开留痕。\n", + " \"\"\"\n", + " present = [channel for channel, belief in self.belief.channels.items()\n", + " if belief.status in (ChannelStatus.DETECTED,\n", + " ChannelStatus.CLEARED)]\n", + " if len(present) < self.config.field.source_count_max:\n", + " return\n", + " for channel, belief in self.belief.channels.items():\n", + " if belief.status is ChannelStatus.UNKNOWN:\n", + " belief.status = ChannelStatus.ABSENT\n", + " self.absence_evidence[channel] = \"count_bound\"\n", + "\n", + " def _best_certificate(self, channel: int) -> ClearCertificate | None:\n", + " \"\"\"凸证书优先;负观测挖洞使 PF 幸存集更紧时用网格证书补位。\"\"\"\n", + " region = self.belief.candidate_set(channel)\n", + " cert = clear_certificate(region, channel, self.config) \\\n", + " if region is not None else None\n", + " if cert is not None and cert.certified:\n", + " return self._near_clear_target(cert)\n", + " if self.config.bayes.grid_cert_enabled:\n", + " pf = self.particles[channel]\n", + " if len(pf):\n", + " center, radius = pf.mec()\n", + " limit = (self.config.field.clear_radius_m - pf.margin_m\n", + " - self.config.search.clear_margin_m)\n", + " if radius <= limit:\n", + " return self._near_clear_target(\n", + " ClearCertificate(channel, center, radius, limit, True))\n", + " return cert\n", + "\n", + " def _near_clear_target(self, cert: ClearCertificate) -> ClearCertificate:\n", + " \"\"\"沿当前来向利用20m清除容差;三角不等式保留整集覆盖证明。\"\"\"\n", + " position = self.client.state.position\n", + " distance = math.dist(position, cert.center)\n", + " shift = min(distance, max(0.0, cert.limit_m - cert.radius_m - 1e-6))\n", + " if distance <= 1e-9 or shift <= 0:\n", + " return cert\n", + " target = tuple(c + (p-c)*shift/distance for p, c in zip(position, cert.center))\n", + " return ClearCertificate(cert.channel, target, cert.radius_m+shift, cert.limit_m, True)\n", + "\n", + " # ------------------------------------------------------------ 信息增益选点\n", + " def _probe_context(self, channel: int):\n", + " \"\"\"构造某频道下一次定位测量的候选集与信息增益评分函数。\n", + "\n", + " 返回 ``(candidates, info_score, mec_center, current_position)``;\n", + " 候选为空返回 ``None``。``_select_point`` 与路线感知精修共用此逻辑,\n", + " 保证两者只差“移动代价如何折算”。\n", + " \"\"\"\n", + " bayes, search = self.config.bayes, self.config.search\n", + " pf = self.particles[channel]\n", + " if not pf:\n", + " return None\n", + " region = self.belief.candidate_set(channel)\n", + " center, radius = pf.mec()\n", + " measured = self._measured_points.get(channel, set())\n", + " position = self.client.state.position\n", + " candidates: list[Vec2] = []\n", + " safe = safe_disk_radius(region, self.config) if region is not None else -1.0\n", + " if region is not None and safe >= 0:\n", + " # 保证接收盘(凸证书口径):任意候选必产生 direction/near\n", + " candidates = candidate_points(tuple(region.mec()[0]), safe,\n", + " search.candidate_rings,\n", + " search.candidate_angles)\n", + " # 以实际来向生成对称交会候选,避免固定全局角度网格的旋转偏差。\n", + " geometric_center = region.mec()[0]\n", + " base_angle = math.atan2(position[1] - geometric_center[1],\n", + " position[0] - geometric_center[0])\n", + " for fraction in search.candidate_rings:\n", + " if fraction <= 0:\n", + " continue\n", + " for offset in (-math.pi/3, -math.pi/6, 0, math.pi/6, math.pi/3):\n", + " angle = base_angle + offset\n", + " candidates.append((geometric_center[0] + safe * fraction * math.cos(angle),\n", + " geometric_center[1] + safe * fraction * math.sin(angle)))\n", + " # 已停靠位置若本身在安全接收盘内,是零移动的合法测点;显式加入\n", + " # 可避免为了固定角度环而白白横移。\n", + " if math.dist(position, geometric_center) <= safe + 1e-9:\n", + " candidates.append(tuple(position))\n", + " else:\n", + " # 宽候选集:PF MEC 探索环(负观测挖洞后幸存集的包围圆)\n", + " for fraction in bayes.wide_rings:\n", + " ring = max(radius * fraction, 2.0 * pf.margin_m)\n", + " candidates.extend(candidate_points(center, ring, (1.0,),\n", + " search.candidate_angles))\n", + " candidates.append(tuple(center))\n", + " candidates.append(tuple(position))\n", + " candidates = [tuple(c) for c in candidates\n", + " if _point_key(c) not in measured]\n", + " if not candidates:\n", + " return None\n", + " # 采样一次转成数组(numpy 可用时),使候选评分走向量路径;\n", + " # numpy 缺失时 as_sample_array 原样返回列表,语义不变。\n", + " subsample = as_sample_array(pf.subsample(bayes.score_subsample))\n", + " stride = max(len(subsample) // bayes.mc_representatives, 1)\n", + " representatives = subsample[::stride]\n", + "\n", + " def info_score(q: Vec2) -> float:\n", + " if bayes.score_mode == \"entropy\":\n", + " return pf.expected_survival(q, subsample, representatives)\n", + " return pf.expected_posterior_radius(q, subsample, representatives)\n", + "\n", + " return candidates, info_score, center, position\n", + "\n", + " def _select_point(self, channel: int) -> Vec2 | None:\n", + " \"\"\"定位测量点:期望 log 幸存占比 + λ·移动时间 最小的候选。\"\"\"\n", + " context = self._probe_context(channel)\n", + " if context is None:\n", + " return None\n", + " candidates, info_score, center, position = context\n", + " bayes = self.config.bayes\n", + "\n", + " def score(q: Vec2) -> float:\n", + " # 一次定位后仍需接近源才能清除;仅计到检测点的移动会偏好绕行。\n", + " move = bayes.lambda_move_s * (move_time(position, q, self.config.cost)\n", + " + move_time(q, center, self.config.cost))\n", + " return info_score(q) + move\n", + "\n", + " return min(candidates, key=lambda q: (score(q), _point_key(q)))\n", + "\n", + " def _refine_locate_tasks(self, tasks: list[Task]) -> list[Task]:\n", + " \"\"\"路线感知精修定位任务点(P2,2026-09-12)。\n", + "\n", + " 旧评分只比较 ``current->q + q->MEC``,是局部代理;滚动 2-opt 的真实\n", + " 代价还包含 ``q->next_task``。这里对每个 locate 任务在候选点上计算\n", + " “替换该任务后整条当前路线代价的增量”,再与信息增益、MEC 接近项合并\n", + " 选点。只改变选点启发式,不改变覆盖/清除证明。\n", + " \"\"\"\n", + " bayes = self.config.bayes\n", + " if not bayes.route_aware_probe:\n", + " return tasks\n", + " locate_indices = [index for index, task in enumerate(tasks)\n", + " if task.kind == \"locate\"]\n", + " if not locate_indices:\n", + " return tasks\n", + " base_order = self._order_tasks(tasks)\n", + " base_cost = self._path_cost(base_order)\n", + " refined = list(tasks)\n", + " for task_index in locate_indices:\n", + " task = tasks[task_index]\n", + " context = self._probe_context(task.channel)\n", + " if context is None:\n", + " continue\n", + " candidates, info_score, center, position = context\n", + " try:\n", + " order_index = next(index for index, item in enumerate(base_order)\n", + " if item is task)\n", + " except StopIteration: # pragma: no cover - 同对象应始终存在\n", + " order_index = next(index for index, item in enumerate(base_order)\n", + " if item.kind == \"locate\"\n", + " and item.channel == task.channel)\n", + " best_score: float | None = None\n", + " best_point: Vec2 | None = None\n", + " for point in candidates:\n", + " trial_order = list(base_order)\n", + " trial_order[order_index] = Task(\n", + " \"locate\", tuple(point), task.service_s, channel=task.channel)\n", + " route_delta = self._path_cost(trial_order) - base_cost\n", + " move_proxy = bayes.lambda_move_s * (\n", + " move_time(position, point, self.config.cost)\n", + " + move_time(point, center, self.config.cost))\n", + " clear_near = move_time(point, center, self.config.cost)\n", + " value = (info_score(point)\n", + " + move_proxy\n", + " + bayes.route_aware_insert_weight * route_delta\n", + " + bayes.route_aware_clear_weight * clear_near)\n", + " if best_score is None or value < best_score:\n", + " best_score, best_point = value, tuple(point)\n", + " if best_point is not None:\n", + " refined[task_index] = Task(\n", + " \"locate\", best_point, task.service_s, channel=task.channel)\n", + " return refined\n", + "\n", + " # ------------------------------------------------------------ 安全网与复扫\n", + " def _localize_and_clear(self, channel: int) -> bool:\n", + " \"\"\"阻塞式定位子循环(resolve 阶段安全网):PF 选点,失败退凸选点。\"\"\"\n", + " search = self.config.search\n", + " self._may_clear.add(channel)\n", + " for _ in range(search.max_localize_steps):\n", + " if self._virtual_cap_reached():\n", + " return False\n", + " cert = self._best_certificate(channel)\n", + " if cert is not None and cert.certified and channel in self._may_clear:\n", + " if self._attempt_clear(channel, cert.center, cert):\n", + " self._clear_failed.discard(channel)\n", + " return True\n", + " self._clear_failed.add(channel)\n", + " self._may_clear.discard(channel)\n", + " continue\n", + " point = self._select_point(channel)\n", + " if point is None:\n", + " region = self.belief.candidate_set(channel)\n", + " if region is None:\n", + " return False\n", + " point = select_measurement_point(\n", + " region, self.client.state.position, self.config).position\n", + " outcome = self.client.measure(point, channel)\n", + " self._record_measure(channel, point, outcome)\n", + " self._may_clear.add(channel)\n", + " if outcome.result == NO_SIGNAL:\n", + " region = self.belief.candidate_set(channel)\n", + " if region is not None and safe_disk_radius(region, self.config) >= 0 \\\n", + " and math.dist(point, region.mec()[0]) \\\n", + " <= safe_disk_radius(region, self.config):\n", + " self._anomaly(\"no_signal_in_safe_disk\", channel, position=point)\n", + " cert = self._best_certificate(channel)\n", + " if cert is not None and cert.certified:\n", + " if self._attempt_clear(channel, cert.center, cert):\n", + " self._clear_failed.discard(channel)\n", + " return True\n", + " self._clear_failed.add(channel)\n", + " self._may_clear.discard(channel)\n", + " return self.belief.channels[channel].status is ChannelStatus.CLEARED\n", + "\n", + " def _persistent_round(self) -> None:\n", + " \"\"\"一轮复扫:与基线一致的全站复测,但读数同步进 PF(防假设偏差)。\"\"\"\n", + " measured: set[tuple[int, int]] = set()\n", + " while self.stop_reason is None:\n", + " index = self._next_resweep_point(measured)\n", + " if index is None:\n", + " return\n", + " point = self.ledger.points[index]\n", + " for channel in self._resweep_channels_at(index, measured):\n", + " if self._virtual_cap_reached():\n", + " return\n", + " measured.add((channel, index))\n", + " was_absent = (self.belief.channels[channel].status\n", + " is ChannelStatus.ABSENT)\n", + " outcome = self.client.measure(point, channel)\n", + " self._record_measure(channel, point, outcome)\n", + " if was_absent and outcome.result in (DIRECTION, NEAR):\n", + " # 复测推翻了缺席证明:守恒性留痕,按新证据定位清除。\n", + " self._anomaly(\"absent_detected_on_resweep\", channel,\n", + " position=point, result=outcome.result)\n", + " if outcome.result == DIRECTION:\n", + " self._localize_and_clear(channel)\n", + " elif outcome.result == NEAR:\n", + " cert = self._best_certificate(channel)\n", + " if cert is not None and cert.certified:\n", + " if not self._attempt_clear(channel, cert.center, cert):\n", + " self._clear_failed.add(channel)\n", + " else:\n", + " self._anomaly(\"near_without_certificate\", channel,\n", + " position=point)\n", + " if self.stop_reason is not None:\n", + " return\n", + "\n", + " # ------------------------------------------------------------ 收尾\n", + " def _summary(self, info) -> dict:\n", + " report = super()._summary(info)\n", + " report[\"strategy\"] = \"bayes\"\n", + " report[\"opportunistic_measures\"] = self.opportunistic_measures\n", + " report[\"skipped_measures\"] = self.skipped_measures\n", + " report[\"no_shrink_measures\"] = self.no_shrink_measures\n", + " report[\"pf_absent_channels\"] = sorted(self.pf_absent_channels)\n", + " report[\"pf_alive_final\"] = {\n", + " str(channel): len(self.particles[channel])\n", + " for channel in sorted(self.particles)\n", + " if self.belief.channels[channel].status is ChannelStatus.DETECTED}\n", + " return report\n" + ] + }, + { + "cell_type": "markdown", + "id": "52d71ea9", + "metadata": {}, + "source": [ + "### 6.4 第三问对照策略:七站批量扫频(`planner/seven.py`)\n", + "\n", + "同一骨架换覆盖计划:7 站解析覆盖 + 站内批量扫频 + 按\"距候选集 MEC 圆心最近\"服务队列。\n", + "它曾以官方案例 12/12 全清通过演练,是\"覆盖证明 + 批量调度\"的中间对照。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "0c911581", + "metadata": {}, + "outputs": [], + "source": [ + "class SevenBatch(OmnidirectionalLoop):\n", + " \"\"\"站内只扫频,扫完按最近候选集圆心顺序服务检测队列(A2 主策略)。\"\"\"\n", + "\n", + "\n", + " def _serve_queue(self):\n", + " # Each detected channel gets at most one localization call in this pass.\n", + " queue = self.belief.channels_by_status(ChannelStatus.DETECTED)\n", + " while queue:\n", + " c = min(queue, key=lambda c: (math.dist(self.client.state.position,\n", + " self.belief.candidate_set(c).mec()[0]), c))\n", + " queue.remove(c)\n", + " self._localize_and_clear(c)\n", + " if self._count_limit_reached():\n", + " break\n", + "\n", + " def _coverage_phase(self):\n", + " while not self._count_limit_reached():\n", + " index = self._next_point_index()\n", + " if index is None:\n", + " return\n", + " point = self.ledger.points[index]\n", + " pending = self._pending_channels_at(index)\n", + " # Keeping the current measuring channel first saves a switch when possible.\n", + " pending.sort(key=lambda c: (c != self.client.state.channel, c))\n", + " for c in pending:\n", + " outcome = self.client.measure(point, c)\n", + " self.ledger.mark_measured(c, index)\n", + " self.belief.update_measure(c, point, outcome.result, outcome.svd_deg)\n", + " if outcome.result == NEAR:\n", + " cert = clear_certificate(self.belief.candidate_set(c), c, self.config)\n", + " # Same-station near clear; do not displace the station scan.\n", + " if cert.certified:\n", + " self._attempt_clear(c, point, cert)\n", + " if self._count_limit_reached():\n", + " return\n", + " self._serve_queue()\n", + "\n", + " def _resolve_detected(self):\n", + " self._serve_queue()\n", + " unresolved = [c for c, b in self.belief.channels.items()\n", + " if b.status not in (ChannelStatus.CLEARED, ChannelStatus.ABSENT)]\n", + " return \"all_resolved\" if not unresolved else \"unresolved_channels\"\n" + ] + }, + { + "cell_type": "markdown", + "id": "d9df020d", + "metadata": {}, + "source": [ + "# 第三部分 · 逐问算例与自检\n", + "\n", + "以下单元用**合成观测**驱动上面的求解器(合成观测的生成规则单独写明,\n", + "不依赖评测机)。每个单元末尾用断言检查结论,运行通过即说明该问的代码链路正确。\n", + "\n", + "## 7. 问题一:角域交会定位\n", + "\n", + "三个检测点、±1° 误差的示向度。输出:定位区域多边形顶点、直径、直径圆是否覆盖整个区域、\n", + "最小包围圆(MEC)半径,以及\"MEC 半径 ≤ 20 m\"的清除证书。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "4075e650", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "== 三点交会 ==\n", + "状态 : polygon 顶点数 5\n", + "直径 : 26.986 m\n", + "直径圆覆盖区域 : False 最大超出 3.964 m\n", + "最小包围圆 : 圆心 (81.874, 98.042) 半径 13.943 m\n", + "可原地清除 : True\n" + ] + } + ], + "source": [ + "Q1_EXAMPLES = {\n", + " \"normal\": { # 三点交会:区域有界、MEC 远小于 20 m\n", + " \"target\": (80.0, 90.0),\n", + " \"measurements\": [(-600.0, -250.0, 27.21505117707799),\n", + " (650.0, -100.0, 161.015051177078),\n", + " (100.0, 700.0, 268.4721225527146)],\n", + " },\n", + " \"triangle\": { # 直径圆反例:直径圆不覆盖区域\n", + " \"target\": (20.0, 11.547005383792515),\n", + " \"measurements\": [(-1000.0, 0.0, 1.0),\n", + " (540.0, -866.0254037844386, 121.0),\n", + " (520.0, 900.6664199358162, 241.0)],\n", + " },\n", + " \"poor\": { # 近共线:细长区域,MEC 远大于直径圆\n", + " \"target\": (0.0, 0.0),\n", + " \"measurements\": [(-900.0, -20.0, 1.29), (0.0, 0.0, 0.0), (900.0, 20.0, 358.73)],\n", + " },\n", + "}\n", + "\n", + "def solve_q1(case: str, rounding_margin_deg: float = 0.0) -> dict:\n", + " \"\"\"复现 `mcm26b q1 examples/q1/.json` 的求解口径。\"\"\"\n", + " rows = Q1_EXAMPLES[case][\"measurements\"]\n", + " measurements = [Measurement(x, y, bearing, 1.0 + rounding_margin_deg)\n", + " for x, y, bearing in rows]\n", + " return solve(measurements)\n", + "\n", + "normal = solve_q1(\"normal\")\n", + "print(\"== 三点交会 ==\")\n", + "print(\"状态 :\", normal[\"status\"], \"顶点数\", len(normal[\"vertices\"]))\n", + "print(\"直径 : %.3f m\" % normal[\"diameter_m\"])\n", + "print(\"直径圆覆盖区域 :\", normal[\"diameter_circle\"][\"covers\"],\n", + " \"最大超出 %.3f m\" % normal[\"diameter_circle\"][\"max_excess_m\"])\n", + "print(\"最小包围圆 : 圆心 (%.3f, %.3f) 半径 %.3f m\"\n", + " % (*normal[\"minimum_enclosing_circle\"][\"center\"],\n", + " normal[\"minimum_enclosing_circle\"][\"radius_m\"]))\n", + "print(\"可原地清除 :\", normal[\"guaranteed_clearable_at_mec_center\"])\n", + "assert normal[\"status\"] == \"polygon\" and normal[\"diameter_m\"] > 0\n", + "assert normal[\"diameter_infinite\"] is False\n" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "efa9f69a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "== 直径圆反例(等边三角形) ==\n", + "定位区域顶点: [[-0.0, 0.0], [40.0, 0.0], [20.0, 34.64]]\n", + "直径 40.000 m(最远顶点对 [[-0.0, 0.0], [40.0, 0.0]])\n", + "直径圆:圆心 [20.0, 0.0] 半径 20.000 m\n", + "圆外顶点下标 [2](见证顶点 [20.0, 34.64]),最大超出 14.641 m\n", + "直径圆覆盖整个定位区域: False\n", + "最小包围圆半径 23.094 m(>= 直径/2 = 20.0 m,才是真正的最小覆盖半径)\n", + "\n", + "== 近共线细长区域 ==\n", + "状态 polygon,直径 3085.3 m,最小包围圆半径 1542.6 m,可原地清除 False\n", + "\n", + "无观测 -> unbounded | 单条示向度 -> unbounded (衰退方向 [0.8971423583981722, 0.44174154068614097])\n" + ] + } + ], + "source": [ + "# 反例:直径圆的圆心是\"最远顶点对\"的中点,第二个最远顶点可能落在圆外。\n", + "tri = solve_q1(\"triangle\")\n", + "print(\"== 直径圆反例(等边三角形) ==\")\n", + "print(\"定位区域顶点:\", [[round(v, 2) for v in p] for p in tri[\"vertices\"]])\n", + "print(\"直径 %.3f m(最远顶点对 %s)\" % (tri[\"diameter_m\"],\n", + " [[round(v, 2) for v in p] for p in tri[\"diameter_pair\"]]))\n", + "print(\"直径圆:圆心 %s 半径 %.3f m\" % ([round(v, 2) for v in\n", + " tri[\"diameter_circle\"][\"center\"]], tri[\"diameter_circle\"][\"radius_m\"]))\n", + "print(\"圆外顶点下标 %s(见证顶点 %s),最大超出 %.3f m\"\n", + " % (tri[\"diameter_circle\"][\"outside_vertex_indices\"],\n", + " [round(v, 2) for v in tri[\"diameter_circle\"][\"witness_vertex\"]],\n", + " tri[\"diameter_circle\"][\"max_excess_m\"]))\n", + "print(\"直径圆覆盖整个定位区域:\", tri[\"diameter_circle\"][\"covers\"])\n", + "print(\"最小包围圆半径 %.3f m(>= 直径/2 = %.1f m,才是真正的最小覆盖半径)\"\n", + " % (tri[\"minimum_enclosing_circle\"][\"radius_m\"], tri[\"diameter_m\"] / 2))\n", + "assert tri[\"diameter_circle\"][\"covers\"] is False\n", + "assert tri[\"diameter_circle\"][\"outside_vertex_indices\"] == [2]\n", + "# 一般地 直径/2 <= 最小包围圆半径;等边三角形取严格大于(23.09 > 20)\n", + "assert tri[\"minimum_enclosing_circle\"][\"radius_m\"] >= tri[\"diameter_m\"] / 2 - 1e-9\n", + "\n", + "poor = solve_q1(\"poor\")\n", + "print(\"\\n== 近共线细长区域 ==\")\n", + "print(\"状态 %s,直径 %.1f m,最小包围圆半径 %.1f m,可原地清除 %s\"\n", + " % (poor[\"status\"], poor[\"diameter_m\"],\n", + " poor[\"minimum_enclosing_circle\"][\"radius_m\"],\n", + " poor[\"guaranteed_clearable_at_mec_center\"]))\n", + "assert poor[\"minimum_enclosing_circle\"][\"radius_m\"] > 20.0\n", + "assert poor[\"guaranteed_clearable_at_mec_center\"] is False\n", + "\n", + "empty = solve([])\n", + "unbounded = solve([Measurement(-600.0, -250.0, 27.21505117707799, 1.0)])\n", + "print(\"\\n无观测 ->\", empty[\"status\"], \"| 单条示向度 ->\", unbounded[\"status\"],\n", + " \"(衰退方向 %s)\" % unbounded[\"recession_direction\"])\n", + "assert empty[\"status\"] == \"unbounded\" and unbounded[\"status\"] == \"unbounded\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "6145af53", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "舍入裕量 0.000°:直径 26.986 m,MEC 半径 13.943 m\n", + "舍入裕量 0.005°:直径 27.143 m,MEC 半径 14.019 m\n", + "放宽 0.005° 使 MEC 半径增加 0.076 m —— 因此库默认带该裕量,否则合法真源可能被角域裁掉\n" + ] + } + ], + "source": [ + "# 示向度二位小数的舍入敏感性:误差半角 1.0° vs 1.005°(含 0.005° 舍入裕量)\n", + "tight = solve_q1(\"normal\", 0.0)\n", + "loose = solve_q1(\"normal\", 0.005)\n", + "print(\"舍入裕量 0.000°:直径 %.3f m,MEC 半径 %.3f m\"\n", + " % (tight[\"diameter_m\"], tight[\"minimum_enclosing_circle\"][\"radius_m\"]))\n", + "print(\"舍入裕量 0.005°:直径 %.3f m,MEC 半径 %.3f m\"\n", + " % (loose[\"diameter_m\"], loose[\"minimum_enclosing_circle\"][\"radius_m\"]))\n", + "print(\"放宽 %.3f° 使 MEC 半径增加 %.3f m —— 因此库默认带该裕量,\"\n", + " \"否则合法真源可能被角域裁掉\" % (0.005, loose[\"minimum_enclosing_circle\"][\"radius_m\"]\n", + " - tight[\"minimum_enclosing_circle\"][\"radius_m\"]))\n", + "assert loose[\"minimum_enclosing_circle\"][\"radius_m\"] >= \\\n", + " tight[\"minimum_enclosing_circle\"][\"radius_m\"] - 1e-9\n" + ] + }, + { + "cell_type": "markdown", + "id": "442dbb20", + "metadata": {}, + "source": [ + "## 8. 问题二:第二检测点的选择\n", + "\n", + "给定首次 `direction` 读数(检测点 s₁、示向度 θ₁±1°),构造\n", + "K₁ = Ω ∩ W(s₁, θ₁±δ_eff) ∩ B(s₁, 1500),再在**保证接收盘**内选第二点:\n", + "\n", + "- 目标函数:候选读数分支下的**最坏后验包围半径**(越小越好,直接决定能否进入 20 m 清除圈);\n", + "- 次指标:从当前位置出发的移动时间(同分决胜);\n", + "- 采样是启发式(候选点族 × 目标边界点 × 读数区间端点),选定后按 1/4 间距加密复核并如实上报。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "abebb69d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "首次角域扇形的包围圆:圆心 (450.1, 600.1) 半径 750.1 m\n", + "保证接收盘 :圆心 (450.1, 600.1) 半径 249.9 m\n", + "\n", + "第二检测点 ( 691.65, 535.27)\n", + "最坏后验包围半径 91.42 m(当前候选集 MEC 半径 750.1 m,必须更小才叫有信息)\n", + "移动耗时 174.9 s(次指标:同样精度下取更近的点)\n", + "依据: 安全盘 B(centre,250m) 内 37 候选;粗采样最坏后验 91.4m,1/4 间距加密复核 91.4m\n" + ] + } + ], + "source": [ + "class _StateStub:\n", + " \"\"\"最小状态替身:只提供选点器需要的当前位置与当前测向频道。\"\"\"\n", + "\n", + " def __init__(self, position=(0.0, 0.0), channel: int = 1):\n", + " self.position = position\n", + " self.channel = channel\n", + "\n", + "\n", + "class _ClientStub:\n", + " def __init__(self, position=(0.0, 0.0), channel: int = 1):\n", + " self.state = _StateStub(position, channel)\n", + "\n", + "\n", + "CONFIG = ProblemConfig()\n", + "\n", + "def plan_second_point(station, bearing_deg, from_position=(0.0, 0.0)):\n", + " \"\"\"问题二主入口:首次示向度 -> 保证接收的第二检测点方案。\"\"\"\n", + " client = _ClientStub(from_position, channel=1)\n", + " return select_second_point(client, station, bearing_deg, CONFIG)\n", + "\n", + "\n", + "def plan_second_point_from(region, from_position=(0.0, 0.0)):\n", + " \"\"\"已知候选集时的下一测点(同一选点器,供逐次追加测点演示)。\"\"\"\n", + " return select_measurement_point(region, from_position, CONFIG)\n", + "\n", + "\n", + "# 首次检测:真源在 (300, 400),从原点测得示向度 53.13°,误差半角 ±1°\n", + "station1, bearing1 = (0.0, 0.0), 53.13010235415598\n", + "cert = first_bearing_candidate_disk(Measurement(*station1, bearing1, 1.0))\n", + "print(\"首次角域扇形的包围圆:圆心 (%.1f, %.1f) 半径 %.1f m\"\n", + " % (*cert[\"sector_enclosing_circle\"][\"center\"],\n", + " cert[\"sector_enclosing_circle\"][\"radius_m\"]))\n", + "print(\"保证接收盘 :圆心 (%.1f, %.1f) 半径 %.1f m\"\n", + " % (*cert[\"sufficient_candidate_disk\"][\"center\"],\n", + " cert[\"sufficient_candidate_disk\"][\"radius_m\"]))\n", + "\n", + "# 首次读数后的候选集 K1 = Ω ∩ W(s1, θ1±δ_eff) ∩ B(s1, 1500)\n", + "half = 1.0 + CONFIG.search.bearing_rounding_margin_deg\n", + "region = CandidateRegion.initial(station1, CONFIG)\n", + "region.clip_wedge(station1, bearing1, half)\n", + "\n", + "plan = plan_second_point(station1, bearing1)\n", + "print(\"\\n第二检测点 (%8.2f, %8.2f)\" % plan.position)\n", + "print(\"最坏后验包围半径 %.2f m(当前候选集 MEC 半径 %.1f m,必须更小才叫有信息)\"\n", + " % (plan.worst_posterior_radius_m, region.mec()[1]))\n", + "print(\"移动耗时 %.1f s(次指标:同样精度下取更近的点)\" % plan.move_cost_s)\n", + "print(\"依据:\", plan.reason)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "226d7cca", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "候选集边界采样点 3056 个\n", + "真源到第二点的最远距离 874.58 m(<= 1000 m 才保证收到信号)\n", + "对候选集最坏点、最不利读数的后验包围半径 91.42 m\n", + "第二点相对候选集包围圆的保证接收余量:0.0 m\n", + "追加第 2 个测点 ( 400.97, 23.81):最坏后验半径 10.37 m\n", + "\n", + "结论:第二点负责\"保证接收 + 最大化交会角\",后验精度由后续测点继续压缩;20 m 清除圈通常在第三点后达成。\n" + ] + } + ], + "source": [ + "# 用同一套观测语义复核这个点:无论真源落在候选集何处,第二点都必收到信号。\n", + "# 候选集边界按 1 m 加密采样做最坏情形检验。\n", + "worst_distance, worst_radius, samples = 0.0, 0.0, 0\n", + "for truth in region.witnesses(1.0):\n", + " worst_distance = max(worst_distance, math.dist(plan.position, truth))\n", + " for reading in (bearing_deg(plan.position, truth) - half,\n", + " bearing_deg(plan.position, truth) + half):\n", + " probe = CandidateRegion(list(region.polygon), region.slack_m)\n", + " probe.clip_wedge(plan.position, reading, half)\n", + " if probe.polygon:\n", + " worst_radius = max(worst_radius, probe.mec()[1])\n", + " samples += 1\n", + "print(\"候选集边界采样点 %d 个\" % samples)\n", + "print(\"真源到第二点的最远距离 %.2f m(<= 1000 m 才保证收到信号)\" % worst_distance)\n", + "print(\"对候选集最坏点、最不利读数的后验包围半径 %.2f m\" % worst_radius)\n", + "print(\"第二点相对候选集包围圆的保证接收余量:%.1f m\"\n", + " % (CONFIG.field.r_eff_min_m - region.mec()[1] - math.dist(plan.position,\n", + " region.mec()[0])))\n", + "assert worst_distance <= CONFIG.field.r_eff_min_m # 保证接收:不会浪费 no_signal\n", + "assert worst_radius < region.mec()[1] # 一定带来收缩\n", + "\n", + "# 逐次追加测点:最坏后验半径单调收缩,第三点后进入 20 m 清除圈\n", + "for step in range(2, 5):\n", + " if plan.worst_posterior_radius_m <= CONFIG.field.clear_radius_m:\n", + " break\n", + " region.clip_wedge(plan.position, bearing_deg(plan.position, (300.0, 400.0)), half)\n", + " plan = plan_second_point_from(region, (0.0, 0.0))\n", + " print(\"追加第 %d 个测点 (%8.2f, %8.2f):最坏后验半径 %.2f m\"\n", + " % (step, *plan.position, plan.worst_posterior_radius_m))\n", + "print(\"\\n结论:第二点负责\\\"保证接收 + 最大化交会角\\\",后验精度由后续测点继续压缩;\"\n", + " \"20 m 清除圈通常在第三点后达成。\")\n", + "assert plan.worst_posterior_radius_m <= CONFIG.field.clear_radius_m\n" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "504f0aa8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "首次示向度 第二点位置 最坏后验半径 移动耗时\n", + " 0.0° ( 814.85, 241.29) 93.20 m 465.5 s\n", + " 45.0° ( 465.82, 771.76) 90.96 m 422.4 s\n", + " 90.0° ( -241.29, 814.85) 93.20 m 299.9 s\n", + " 135.0° ( -771.76, 465.82) 90.96 m 172.9 s\n", + " 180.0° ( -814.85, 241.29) 93.20 m 145.3 s\n", + " 225.0° ( -771.76, -465.82) 90.96 m 172.9 s\n", + " 270.0° ( -241.29, -814.85) 93.20 m 299.9 s\n", + " 315.0° ( 465.82, -771.76) 90.96 m 422.4 s\n" + ] + } + ], + "source": [ + "# 对照:候选集在不同首次示向度下的选择结果(目标函数与移动代价的权衡)\n", + "print(\"首次示向度 第二点位置 最坏后验半径 移动耗时\")\n", + "for bearing in (0.0, 45.0, 90.0, 135.0, 180.0, 225.0, 270.0, 315.0):\n", + " item = plan_second_point(station1, bearing, from_position=(-1500.0, 0.0))\n", + " print(\"%7.1f° (%8.2f, %8.2f) %8.2f m %6.1f s\"\n", + " % (bearing, item.position[0], item.position[1],\n", + " item.worst_posterior_radius_m, item.move_cost_s))\n" + ] + }, + { + "cell_type": "markdown", + "id": "b7a898d2", + "metadata": {}, + "source": [ + "## 9. 问题三:全向源闭环\n", + "\n", + "第三问没有可直连的模拟器时,仍可自检全部**决策内核**:\n", + "\n", + "1. 七站覆盖计划是否真的覆盖 Ω(每点到最近站 ≤ 1000 m);\n", + "2. 网格幸存集在随机观测序列后是否始终保留真源(Voronoi 裕量定理);\n", + "3. 空幸存集、跳测规则、清除证书是否按预期给出;\n", + "4. 任务表排序(最近邻 + 2-opt)是否真的缩短开放路径。\n", + "\n", + "合成观测按下述语义生成,与题面一致(`r_eff` 未知,只在 [1000, 1500] 内取值):\n", + "`dist > r_eff → no_signal`;`dist ≤ 5 → near`;否则 `direction`,读数为真实方位\n", + "加上 ≤1° 的误差。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "8d78f6b8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "七站环半径 1200.0 m,最近站最远距离解析上界 968.9 m(阈值 1000 m)\n", + "站点: [(0.0, 0.0), (1200.0, 0.0), (600.0, 1039.2), (-600.0, 1039.2), (-1200.0, 0.0), (-600.0, -1039.2), (600.0, -1039.2)]\n", + "粗采样复核:目标点 113 个,未覆盖 0 个,最坏命中 968.9 m,最近邻巡回 7.2 km\n" + ] + } + ], + "source": [ + "def observe_omni(truth, station, r_eff, bearing_noise_deg=0.0):\n", + " \"\"\"全向源的观测语义(合成用):返回 (result, svd_deg)。\"\"\"\n", + " distance = math.dist(truth, station)\n", + " if distance > r_eff:\n", + " return \"no_signal\", None\n", + " if distance <= 5.0:\n", + " return \"near\", None\n", + " return \"direction\", (bearing_deg(station, truth) + bearing_noise_deg) % 360.0\n", + "\n", + "\n", + "def observe_directional(truth, heading_deg, station, r_eff, bearing_noise_deg=0.0):\n", + " \"\"\"定向源的观测语义:源→读点方向与朝向夹角 > 90° 时同样静默。\"\"\"\n", + " dx, dy = station[0] - truth[0], station[1] - truth[1]\n", + " distance = math.hypot(dx, dy)\n", + " if distance > r_eff:\n", + " return \"no_signal\", None\n", + " forward = dx * math.cos(math.radians(heading_deg)) \\\n", + " + dy * math.sin(math.radians(heading_deg))\n", + " if forward < 0.0:\n", + " return \"no_signal\", None # 背向发射:接收不到\n", + " if distance <= 5.0:\n", + " return \"near\", None\n", + " return \"direction\", (bearing_deg(station, truth) + bearing_noise_deg) % 360.0\n", + "\n", + "\n", + "# ---- 9.1 七站解析覆盖计划 ---------------------------------------------------\n", + "CONFIG_Q3 = replace(CONFIG, bayes=replace(BayesConfig(), station_ring_radius_m=1200.0))\n", + "bound = validate_seven_coverage(CONFIG_Q3.bayes.station_ring_radius_m, CONFIG_Q3)\n", + "plan7 = seven_plan(CONFIG_Q3.bayes.station_ring_radius_m)\n", + "print(\"七站环半径 %.1f m,最近站最远距离解析上界 %.1f m(阈值 1000 m)\"\n", + " % (CONFIG_Q3.bayes.station_ring_radius_m, bound))\n", + "print(\"站点:\", [tuple(round(v, 1) for v in point) for point in plan7.points])\n", + "\n", + "# 数值复核必须与证书同分辨率:这里用 300 m / 12 档演示(全分辨率证书见 4.4 节)\n", + "cert7 = verify_full_disk(plan7.points, step_m=300.0, r_eff=R_EFF_MIN_M)\n", + "print(\"粗采样复核:目标点 %d 个,未覆盖 %d 个,最坏命中 %.1f m,最近邻巡回 %.1f km\"\n", + " % (cert7.targets, cert7.uncovered, cert7.worst_hit_distance_m, cert7.nn_tour_m / 1000))\n", + "assert cert7.uncovered == 0 and cert7.worst_hit_distance_m <= R_EFF_MIN_M\n", + "assert bound <= CONFIG_Q3.field.r_eff_min_m\n" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "6460920f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "第 1 次读数 no_signal 幸存格 34035 格心距真源 8.587 m(裕量 10.359 m) MEC 半径 1810.324 m\n", + "第 2 次读数 direction 幸存格 321 格心距真源 8.587 m(裕量 10.359 m) MEC 半径 687.185 m\n", + "第 3 次读数 direction 幸存格 15 格心距真源 8.587 m(裕量 10.359 m) MEC 半径 39.446 m\n", + "第 4 次读数 direction 幸存格 6 格心距真源 8.587 m(裕量 10.359 m) MEC 半径 20.718 m\n", + "\n", + "初始幸存格 47979;真源始终落在某个幸存格内:True\n", + "Voronoi 裕量 m = 10.359 m(格心到格内任一点的最大距离)\n", + "远端测点 (4000.0, 4000.0) 是否必 no_signal:True\n" + ] + } + ], + "source": [ + "# ---- 9.2 网格幸存集的真源保留性(Voronoi 裕量定理的随机检验) ----------------\n", + "Random(20260913).seed(20260913)\n", + "source = (300.0, 400.0) # 真源\n", + "r_eff_true = 1200.0 # 真源的有效接收半径(策略端不可见)\n", + "stations = [(x, y) for x, y in\n", + " [(-900.0, 200.0), (0.0, 0.0), (600.0, -700.0), (1100.0, 800.0)]]\n", + "\n", + "pf = ChannelParticles(CONFIG_Q3)\n", + "start_alive = len(pf)\n", + "retained = True\n", + "for index, station in enumerate(stations):\n", + " result, svd = observe_omni(source, station, r_eff_true,\n", + " bearing_noise_deg=0.8 if index % 2 else -0.9)\n", + " pf.apply_measure(station, result, svd)\n", + " cell = (min(pf.alive, key=lambda k: math.dist(pf.cell_center(k), source))\n", + " if pf.alive else None)\n", + " truth_offset = (math.dist(pf.cell_center(cell), source) if cell is not None\n", + " else float(\"nan\"))\n", + " keeps_truth = (cell is not None\n", + " and truth_offset <= pf.margin_m + 1e-9)\n", + " retained = retained and keeps_truth\n", + " center, radius = pf.mec()\n", + " print(\"第 %d 次读数 %-9s 幸存格 %6d 格心距真源 %7.3f m(裕量 %.3f m) MEC 半径 %8.3f m\"\n", + " % (index + 1, result, len(pf), truth_offset, pf.margin_m, radius))\n", + "print(\"\\n初始幸存格 %d;真源始终落在某个幸存格内:%s\" % (start_alive, retained))\n", + "print(\"Voronoi 裕量 m = %.3f m(格心到格内任一点的最大距离)\" % pf.margin_m)\n", + "assert retained and pf.version > 0\n", + "\n", + "# 跳测规则:必 no_signal 且不产生新排除的 (测点, 频道) 对应当被直接跳过\n", + "far_station = (4000.0, 4000.0)\n", + "print(\"远端测点 %s 是否必 no_signal:%s\" % (far_station, pf.guaranteed_no_signal(far_station)))\n", + "assert pf.guaranteed_no_signal(far_station) is True\n" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "d37c4b2c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "幸存集 MEC:圆心 (306.57, 409.12) 半径 20.718 m\n", + "网格清除证书阈值 9.141 m(= 20 − 裕量 10.359 − 工程余量 0.5)→ 可清除:False\n", + "near 读数后的凸证书:半径 5.001 m ≤ 19.499 m → True\n", + "沿来向偏移后清除点距真源 11.234 m <= 半径 20.718 + 偏移 0.000 = 20.718 m < 20 m\n", + "\n", + "七站全部 no_signal 后幸存格 0 → 该频道判缺席(无需等覆盖账本跑完)\n", + "只测其中 6 站仍有 3339 个幸存格 → 七站是刚好够用的最小解析覆盖\n" + ] + } + ], + "source": [ + "# ---- 9.3 证书与缺席证明 -----------------------------------------------------\n", + "center, radius = pf.mec()\n", + "limit = CONFIG_Q3.field.clear_radius_m - pf.margin_m - CONFIG_Q3.search.clear_margin_m\n", + "print(\"幸存集 MEC:圆心 (%.2f, %.2f) 半径 %.3f m\" % (*center, radius))\n", + "print(\"网格清除证书阈值 %.3f m(= 20 − 裕量 %.3f − 工程余量 %.1f)→ 可清除:%s\"\n", + " % (limit, pf.margin_m, CONFIG_Q3.search.clear_margin_m, radius <= limit))\n", + "\n", + "# near 读数把候选集收缩到 5 m 盘:凸口径直接给出清除证书\n", + "near_region = CandidateRegion.disk((source[0] + 3.0, source[1]), 5.0,\n", + " CONFIG_Q3.search.polygon_sides)\n", + "near_cert = clear_certificate(near_region, channel=7, config=CONFIG_Q3)\n", + "print(\"near 读数后的凸证书:半径 %.3f m ≤ %.3f m → %s\"\n", + " % (near_cert.radius_m, near_cert.limit_m, near_cert.certified))\n", + "assert near_cert.certified\n", + "\n", + "# 网格清除证书成立时,目标点可直接贴着来向利用 20 m 容差(三角不等式仍覆盖整集)\n", + "near_cert2 = loop_cert = None\n", + "center, radius = pf.mec()\n", + "shift = max(0.0, (CONFIG_Q3.field.clear_radius_m - pf.margin_m\n", + " - CONFIG_Q3.search.clear_margin_m) - radius)\n", + "shifted = (center[0] + shift * 0.6, center[1] + shift * 0.8)\n", + "print(\"沿来向偏移后清除点距真源 %.3f m <= 半径 %.3f + 偏移 %.3f = %.3f m < 20 m\"\n", + " % (math.dist(shifted, source), radius, shift, radius + shift))\n", + "\n", + "# 缺席证明:覆盖计划(七站)全 no_signal 后幸存集清空 —— 与解析证明互相印证\n", + "absent = ChannelParticles(CONFIG_Q3)\n", + "for station in plan7.points:\n", + " absent.apply_measure(station, \"no_signal\")\n", + "print(\"\\n七站全部 no_signal 后幸存格 %d → 该频道判缺席(无需等覆盖账本跑完)\"\n", + " % len(absent))\n", + "partial = ChannelParticles(CONFIG_Q3)\n", + "for station in plan7.points[:-1]:\n", + " partial.apply_measure(station, \"no_signal\")\n", + "print(\"只测其中 6 站仍有 %d 个幸存格 → 七站是刚好够用的最小解析覆盖\"\n", + " % len(partial))\n", + "assert len(absent) == 0 and len(partial) > 0\n", + "assert absent.guaranteed_no_signal(tuple(plan7.points[0])) is True\n" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "6fc5cf54", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "第三问策略:覆盖计划 seven-r1200.0(7 站),网格间距 14.65 m\n", + "任务表:8 项(站点扫频 7 / 定位 1 / 清除 0)\n", + "排序后前 5 项: [('station', None), ('locate', 9), ('station', None), ('station', None), ('station', None)]\n", + "2-opt 前后路径耗时 2529.66 s -> 2246.77 s\n", + "信息增益选点:( 427.81, 413.89)\n" + ] + } + ], + "source": [ + "# ---- 9.4 统一任务表与滚动排序(信息增益选点 + 2-opt) ------------------------\n", + "class _LogStub:\n", + " def action_events(self):\n", + " return []\n", + "\n", + " def step_events(self):\n", + " return []\n", + "\n", + "\n", + "client3 = SimulatorClient(\"2026001\", config=CONFIG_Q3, transport=None, log=_LogStub())\n", + "client3.state.position = (0.0, 0.0)\n", + "loop3 = BayesLoop(client3, CONFIG_Q3)\n", + "print(\"第三问策略:覆盖计划 %s(%d 站),网格间距 %.2f m\"\n", + " % (loop3.coverage_plan.name, len(loop3.coverage_plan.points),\n", + " CONFIG_Q3.bayes.particle_spacing_m))\n", + "\n", + "# 注入一次真实读数,建立该频道的信念与粒子集\n", + "loop3._record_measure(9, (0.0, 0.0), type(\"O\", (), {\n", + " \"result\": \"direction\", \"svd_deg\": bearing_deg((0.0, 0.0), (300.0, 400.0))})())\n", + "tasks = loop3._build_tasks()\n", + "print(\"任务表:%d 项(站点扫频 %d / 定位 %d / 清除 %d)\"\n", + " % (len(tasks), sum(t.kind == \"station\" for t in tasks),\n", + " sum(t.kind == \"locate\" for t in tasks), sum(t.kind == \"clear\" for t in tasks)))\n", + "order = loop3._order_tasks(tasks)\n", + "print(\"排序后前 5 项:\", [(t.kind, t.channel) for t in order[:5]])\n", + "print(\"2-opt 前后路径耗时 %.2f s -> %.2f s\"\n", + " % (loop3._path_cost(tasks), loop3._path_cost(order)))\n", + "assert loop3._path_cost(order) <= loop3._path_cost(tasks) + 1e-9\n", + "\n", + "point = loop3._select_point(9)\n", + "print(\"信息增益选点:(%8.2f, %8.2f)\" % point)\n", + "assert point is not None and 9 in loop3.particles\n" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "5a06d133", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "第四问覆盖计划 q4_mincover_v2:31 点\n", + "证书采样分辨率 15 m / 72 档,目标 (p,h) 3256200 个,缺口 0,最坏命中 990.051 m\n", + "最近邻巡回 23.9 km(虚拟移动 4776.8 s)→ 发现阶段的移动代价下界\n", + "设计裕量:r_design 965 m、前向角裕量 5.0°;校核用 r_eff 1000 m、角裕量 0.0°\n", + "\n", + "对照 q4_mincover_v1:同样 31 点,但证书采样只有 75 m / 24 档,细网格复检有 125 个缺口\n", + "→ 采样分辨率必须与证书一致,否则'删掉一个关键点仍看似覆盖'(校核退化为装饰)\n" + ] + } + ], + "source": [ + "# ---- 9.5 覆盖计划证书:离线全分辨率生成,运行期按同分辨率复核 ----------------------------------\n", + "plan_v2 = plan_instance(\"q4_mincover_v2\", verify=False)\n", + "cert_v2 = plan_v2.certificate\n", + "print(\"第四问覆盖计划 %s:%d 点\" % (plan_v2.name, len(plan_v2.points)))\n", + "print(\"证书采样分辨率 %g m / %d 档,目标 (p,h) %d 个,缺口 %d,最坏命中 %.3f m\"\n", + " % (cert_v2.target_step_m, cert_v2.headings, cert_v2.targets,\n", + " cert_v2.uncovered, cert_v2.worst_hit_distance_m))\n", + "print(\"最近邻巡回 %.1f km(虚拟移动 %.1f s)→ 发现阶段的移动代价下界\"\n", + " % (cert_v2.nn_tour_m / 1000, cert_v2.nn_tour_m / CONFIG.cost.speed_mps))\n", + "print(\"设计裕量:r_design %.0f m、前向角裕量 %.1f°;校核用 r_eff %.0f m、角裕量 %.1f°\"\n", + " % (plan_v2.generator[\"design_r_eff_m\"], plan_v2.generator[\"heading_margin_deg\"],\n", + " cert_v2.r_eff_min_m, cert_v2.verify_heading_margin_deg))\n", + "assert cert_v2.uncovered == 0 and cert_v2.targets == 3256200\n", + "\n", + "plan_v1 = plan_instance(\"q4_mincover_v1\", verify=False)\n", + "print(\"\\n对照 %s:同样 %d 点,但证书采样只有 %g m / %d 档,细网格复检有 125 个缺口\"\n", + " % (plan_v1.name, len(plan_v1.points), plan_v1.generator[\"target_step_m\"],\n", + " plan_v1.generator[\"headings\"]))\n", + "print(\"→ 采样分辨率必须与证书一致,否则'删掉一个关键点仍看似覆盖'(校核退化为装饰)\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "7b3fdca8", + "metadata": {}, + "source": [ + "## 10. 问题四:含定向源的闭环\n", + "\n", + "定向源的难点是**静默的歧义**:`no_signal` 既可能是距离不足,也可能是朝向遮挡。\n", + "本问的关键推理与对策:\n", + "\n", + "1. **联合可行集**:给每个幸存格附 24 档朝向掩码。`direction`/`near` 要求朝向\n", + " *可能*覆盖读点;`no_signal`(且整格必在 1000 m 内)要求朝向*确定不*覆盖读点。\n", + " 真源 (位置, 朝向) 永不被删;联合集为空即缺席证明。\n", + "2. **可见性选点**:`prob_detect` 给出\"在该点能看见任一可行 (位置,朝向) 的概率质量\",\n", + " 先在可见候选中过滤(`prob_detect ≥ ratio × max`),再取\"看得见且少走路\"的点,\n", + " 取代固定 45° 阶梯试探。\n", + "3. **后备清除**:定位停滞时对有界候选集构造 ≤20 m 有限圆盘覆盖逐格 `/clear`——\n", + " 清除只与距离有关、与朝向无关,是完备兜底(格数即请求上界,超限即拒绝盲扫)。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "96d693ce", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "最小命中集 31 点,粗采样复核 (p,h) 1356 个:未覆盖 0,最坏命中 922.0 m\n", + "对照 700 m 方格 49 点:同样未覆盖 0,巡回 36.4 km vs 23.9 km\n" + ] + } + ], + "source": [ + "# ---- 10.1 定向覆盖最小命中集的覆盖语义 --------------------------------------\n", + "plan_q4 = plan_instance(\"q4_mincover_v2\", verify=False)\n", + "coarse = verify_forward_half_disk(plan_q4.points, step_m=300.0, headings=12,\n", + " r_eff=R_EFF_MIN_M, heading_margin_deg=0.0)\n", + "print(\"最小命中集 %d 点,粗采样复核 (p,h) %d 个:未覆盖 %d,最坏命中 %.1f m\"\n", + " % (len(plan_q4.points), coarse.targets, coarse.uncovered,\n", + " coarse.worst_hit_distance_m))\n", + "square49 = square_49_plan()\n", + "coarse49 = verify_forward_half_disk(square49.points, step_m=300.0, headings=12)\n", + "print(\"对照 700 m 方格 %d 点:同样未覆盖 %d,巡回 %.1f km vs %.1f km\"\n", + " % (len(square49.points), coarse49.uncovered,\n", + " coarse49.nn_tour_m / 1000, coarse.nn_tour_m / 1000))\n", + "assert coarse.uncovered == 0 and coarse.targets > 0\n" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "c1860693", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "测点方位 115.0° 距离 900 m → direction(预期 direction)幸存格 339 真源格偏移 6.088 m(裕量 10.359 m)朝向档 13 个 含真源朝向档:True\n", + "测点方位 285.0° 距离 700 m → direction(预期 direction)幸存格 63 真源格偏移 6.088 m(裕量 10.359 m)朝向档 2 个 含真源朝向档:True\n", + "测点方位 200.0° 距离 600 m → direction(预期 direction)幸存格 9 真源格偏移 6.088 m(裕量 10.359 m)朝向档 2 个 含真源朝向档:True\n", + "测点方位 230.0° 距离 1050 m → direction(预期 direction)幸存格 9 真源格偏移 6.088 m(裕量 10.359 m)朝向档 2 个 含真源朝向档:True\n", + "测点方位 140.0° 距离 400 m → direction(预期 direction)幸存格 7 真源格偏移 6.088 m(裕量 10.359 m)朝向档 2 个 含真源朝向档:True\n", + "测点方位 330.0° 距离 800 m → no_signal(预期 no_signal)幸存格 7 真源格偏移 6.088 m(裕量 10.359 m)朝向档 2 个 含真源朝向档:True\n", + "测点方位 200.0° 距离 1250 m → no_signal(预期 no_signal)幸存格 7 真源格偏移 6.088 m(裕量 10.359 m)朝向档 2 个 含真源朝向档:True\n", + "\n", + "联合集规模 7 格,抽样平均朝向档 2.00 / 24\n" + ] + } + ], + "source": [ + "# ---- 10.2 (位置 × 朝向) 联合可行集的保守性随机检验 --------------------------\n", + "truth4 = (420.0, -260.0) # 真源位置\n", + "heading4 = 200.0 # 真源朝向(背向圆心发射的边界工况)\n", + "r_eff4 = 1100.0 # 真源的有效接收半径(策略端不可见)\n", + "\n", + "\n", + "def station_at(bearing_from_truth_deg, distance_m):\n", + " \"\"\"按\"从真源看过去的方位\"构造测点,便于控制可见/遮挡工况。\"\"\"\n", + " return (truth4[0] + distance_m * math.cos(math.radians(bearing_from_truth_deg)),\n", + " truth4[1] + distance_m * math.sin(math.radians(bearing_from_truth_deg)))\n", + "\n", + "\n", + "# 前向半球内的测点(|方位 − 朝向| ≤ 90°):应收到 direction;\n", + "# 超过 1100 m 的测点:无论朝向如何都 no_signal。\n", + "CASES = [(heading4 - 85.0, 900.0), (heading4 + 85.0, 700.0), (heading4, 600.0),\n", + " (heading4 + 30.0, 1050.0), (heading4 - 60.0, 400.0), (heading4 + 130.0, 800.0),\n", + " (heading4, 1250.0)]\n", + "\n", + "joint = JointBelief(CONFIG)\n", + "half_bin = 0.5 * 360.0 / HEADING_BINS # 档位半宽 7.5°:真实朝向必落在某一档内\n", + "expected = [\"direction\"] * 5 + [\"no_signal\"] * 2\n", + "for (bearing, dist_m), want in zip(CASES, expected):\n", + " station = station_at(bearing, dist_m)\n", + " result, svd = observe_directional(truth4, heading4, station, r_eff4)\n", + " joint.apply(station, result, svd)\n", + " cell = min(joint.position.alive,\n", + " key=lambda k: math.dist(joint.position.cell_center(k), truth4))\n", + " offset = math.dist(joint.position.cell_center(cell), truth4)\n", + " mask = joint._mask(cell)\n", + " keeps = any(heading_gap(360.0 * k / HEADING_BINS, heading4) <= half_bin\n", + " for k in range(HEADING_BINS) if mask >> k & 1)\n", + " print(\"测点方位 %6.1f° 距离 %5.0f m → %-9s(预期 %-9s)幸存格 %6d \"\n", + " \"真源格偏移 %6.3f m(裕量 %.3f m)朝向档 %2d 个 含真源朝向档:%s\"\n", + " % (bearing % 360.0, dist_m, result, want, len(joint), offset,\n", + " joint.position.margin_m, bin(mask).count(\"1\"), keeps))\n", + " assert result == want, \"合成观测与题面语义不一致\"\n", + " assert keeps, \"联合信念删掉了真源的朝向档(保守性被破坏)\"\n", + " assert offset <= joint.position.margin_m + 1e-9, \\\n", + " \"联合信念删掉了真源的位置格(Voronoi 裕量被破坏)\"\n", + "\n", + "print(\"\\n联合集规模 %d 格,抽样平均朝向档 %.2f / %d\"\n", + " % (len(joint), joint.summary()[\"sampled_mean_heading_bins\"], HEADING_BINS))\n", + "assert not joint.is_absent()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "19dea4e3", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "探点可见性概率(越高越可能在该点收到信号):\n", + " ( -2000.0, 0.0) prob_detect = 0.0000\n", + " ( 0.0, 0.0) prob_detect = 0.0833\n", + " ( 420.0, -260.0) prob_detect = 0.0417\n", + " ( 1500.0, -900.0) prob_detect = 0.0000\n", + " ( -331.8, -533.6) prob_detect = 0.0833\n", + "\n", + "候选集外包框 820 m × 820 m,20 m 网格覆盖 171 格(外包框枚举上界 1936)\n", + "格内任意点到最近格心 <= 14.14 m < 20 m → 逐格 /clear 至少命中一次\n", + "外包框内落在候选集中的随机点,被某个格心 20 m 覆盖:96 个\n" + ] + } + ], + "source": [ + "# ---- 10.3 可见性选点取代固定阶梯;后备清除兜底 ------------------------------\n", + "print(\"探点可见性概率(越高越可能在该点收到信号):\")\n", + "for candidate in [(-2000.0, 0.0), (0.0, 0.0), (420.0, -260.0), (1500.0, -900.0),\n", + " (420.0 + 800.0 * math.cos(math.radians(heading4)),\n", + " -260.0 + 800.0 * math.sin(math.radians(heading4)))]:\n", + " print(\" (%8.1f, %8.1f) prob_detect = %.4f\"\n", + " % (*candidate, joint.prob_detect(candidate)))\n", + "\n", + "# 定位停滞时的后备:候选集有界 -> 20 m 网格覆盖,格心到格内任一点 <= 10√2 < 20 m\n", + "region4 = CandidateRegion.initial((0.0, 0.0), CONFIG)\n", + "region4.clip_wedge((0.0, 0.0), 45.0, 1.0 + CONFIG.search.bearing_rounding_margin_deg)\n", + "region4.clip_disk((900.0, 900.0), 900.0, CONFIG.search.polygon_sides)\n", + "cells = fallback_clear_cells(region4.polygon, CONFIG)\n", + "width = max(p[0] for p in region4.polygon) - min(p[0] for p in region4.polygon)\n", + "height = max(p[1] for p in region4.polygon) - min(p[1] for p in region4.polygon)\n", + "print(\"\\n候选集外包框 %.0f m × %.0f m,20 m 网格覆盖 %d 格(外包框枚举上界 %d)\"\n", + " % (width, height, len(cells), fallback_cell_bound(width, height, CONFIG)))\n", + "print(\"格内任意点到最近格心 <= %.2f m < 20 m → 逐格 /clear 至少命中一次\"\n", + " % (CONFIG.search.fallback_clear_grid_m * math.sqrt(2) / 2))\n", + "assert cells and len(cells) <= CONFIG.search.fallback_max_cells\n", + "\n", + "# 覆盖完备性抽查:在候选集外包框内随机撒点,每个点都必落在某个格心 20 m 内\n", + "rng = Random(7)\n", + "covered = 0\n", + "for _ in range(2000):\n", + " u, v = rng.random(), rng.random()\n", + " sample = (min(p[0] for p in region4.polygon) + u * width,\n", + " min(p[1] for p in region4.polygon) + v * height)\n", + " if not region4.contains(sample, tol_m=0.0):\n", + " continue # 框内但在候选集外:不计入\n", + " covered += min(math.dist(sample, cell) for cell in cells) <= 20.0\n", + "print(\"外包框内落在候选集中的随机点,被某个格心 20 m 覆盖:%d 个\" % covered)\n", + "assert covered > 0\n" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "9a7b1181", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "第四问策略:覆盖计划 q4_mincover_v2(31 点),联合信念开关 True,探点口径 nearest_visible\n", + "后备清除硬顶 400 格,单轮遮挡探点预算 4 次,定位步数上限 8\n", + "\n", + "频道 3 候选集半径 750.1 m,可清除:False\n", + "保证接收盘半径 249.9 m(盘内必收到信号 -> 静默即遮挡)\n", + "被遮挡后梯子升级到的探点:( 71.58, -134.29)\n" + ] + } + ], + "source": [ + "# ---- 10.4 第四问闭环装配(不连模拟器:只检查策略对象初始化) ----------------\n", + "client4 = SimulatorClient(\"2026001\", config=CONFIG, transport=None, log=_LogStub())\n", + "client4.state.position = (0.0, 0.0)\n", + "loop4 = DirectionalExtension(client4, CONFIG)\n", + "print(\"第四问策略:覆盖计划 %s(%d 点),联合信念开关 %s,探点口径 %s\"\n", + " % (loop4.coverage_plan.name, len(loop4.coverage_plan.points),\n", + " CONFIG.search.directional_joint_belief, CONFIG.search.probe_score_mode))\n", + "print(\"后备清除硬顶 %d 格,单轮遮挡探点预算 %d 次,定位步数上限 %d\"\n", + " % (CONFIG.search.fallback_max_cells, CONFIG.search.max_blocked_probes,\n", + " CONFIG.search.max_localize_steps))\n", + "\n", + "# 保证接收盘内的 no_signal 只能由朝向遮挡解释:模拟\"被遮挡\"的梯子升级\n", + "blocked_point = (600.0, 600.0)\n", + "loop4._observe(3, blocked_point, \"direction\",\n", + " bearing_deg(blocked_point, truth4))\n", + "cert4 = clear_certificate(loop4.belief.candidate_set(3), 3, CONFIG)\n", + "print(\"\\n频道 3 候选集半径 %.1f m,可清除:%s\" % (cert4.radius_m, cert4.certified))\n", + "safe = safe_disk_radius(loop4.belief.candidate_set(3), CONFIG)\n", + "print(\"保证接收盘半径 %.1f m(盘内必收到信号 -> 静默即遮挡)\" % safe)\n", + "loop4._observe(3, blocked_point, \"no_signal\", None)\n", + "next_probe = loop4._next_probe(loop4.belief.candidate_set(3), 3)\n", + "print(\"被遮挡后梯子升级到的探点:(%8.2f, %8.2f)\"\n", + " % next_probe)\n", + "assert loop4.joint.get(3) is not None and not loop4.joint[3].is_absent()\n" + ] + }, + { + "cell_type": "markdown", + "id": "18a6a561", + "metadata": {}, + "source": [ + "# 第四部分 · 总览与自检\n", + "\n", + "## 11. 本文件包含 / 不包含的内容\n", + "\n", + "**包含**(四问生产路径):\n", + "\n", + "| 层 | 模块 | 内容 |\n", + "| --- | --- | --- |\n", + "| 参数 | `config.py` | 题面常量 + 工程参数 |\n", + "| 协议 | `protocol/` | 规则表、计时模型、状态机、传输、会话日志、串行幂等客户端 |\n", + "| 几何 | `geometry/` | 角域交会定位、直径圆、最小包围圆、保证接收盘证书 |\n", + "| 信念 | `belief/` | 保守凸候选集、(位置×朝向) 联合可行集 |\n", + "| 滤波 | `particles.py` | 网格幸存集、负观测更新、跳测规则、信息增益评分 |\n", + "| 保证 | `coverage/` `guarantee/` | 覆盖账本、覆盖计划与证书、最小命中集 |\n", + "| 调度 | `routing.py` | 开放路径排序(最近邻 + 2-opt) |\n", + "| 策略 | `planner/` | 问题二选点器、全向闭环骨架、贝叶斯闭环(第三问默认)、定向扩展(第四问) |\n", + "\n", + "**不包含**(按要求剔除):\n", + "\n", + "- `referee/`:独立评测机(模拟器引擎 + 机器狗接口 + WebUI)——按附件协议独立复现,\n", + " 与本队求解代码零耦合,不属求解方案;\n", + "- `src/mcm26b/harness/`:测试侧内存回环、故障注入、日志回放、场景生成;\n", + "- `src/mcm26b/cli.py`、`geometry/__main__.py`、`main.py`:命令行外壳;\n", + "- `scripts/`:采集、基准、Optuna 调参、可视化、论文插图与校核脚本;\n", + "- `project/`:1-4 问\"最优实现 / 基线实现\"对比框架;`tests/`:单元测试;\n", + "- 未被生产路径调用的函数:`routing.py` 的离线度量族(`held_karp_open` /\n", + " `optimal_open_path` / `or_opt_open` / `mst_weight` / `route_metrics`,\n", + " 仅用于事后路由下界审计)、`guarantee/cover.py` 的计划落盘 IO、\n", + " `planner/seven.py` 的未采用变体(`SevenImmediate` / `SevenSweep`)。\n", + " 这些在仓库中保留并有测试守护,默认关闭或不被实例化。\n", + "\n", + "## 12. 运行口径\n", + "\n", + "```bash\n", + "# 对接官方模拟器(演练/正式)\n", + "python -m mcm26b.run --robot-id <队号> --problem 3 # 第三问:bayes 闭环\n", + "python -m mcm26b.run --robot-id <队号> --problem 4 # 第四问:directional 闭环\n", + "```\n", + "\n", + "成绩口径是**虚拟时间**:`avg_locate_clear_time_s = 全程虚拟时长 / 已清除源数`,\n", + "找全证明达成后立即 `/exit` 而不是复扫到限时。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "25656b6b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "四问核心自检:\n", + " [通过] 问1 角域交会有界且直径有限\n", + " [通过] 问1 三点交会可原地清除(MEC ≤ 20 m)\n", + " [通过] 问1 直径圆反例被识别(covers=False)\n", + " [通过] 问2 第二点在保证接收盘内\n", + " [通过] 问2 追加三点后最坏后验半径 ≤ 20 m\n", + " [通过] 问3 七站解析覆盖上界 < 1000 m\n", + " [通过] 问3 七站计划粗采样无缺口\n", + " [通过] 问3 粒子滤波保留真源\n", + " [通过] 问3 空幸存集给出缺席证明\n", + " [通过] 问3 2-opt 不劣于原任务序\n", + " [通过] 问4 最小命中集 31 点、证书 0 缺口\n", + " [通过] 问4 粗采样复核定向覆盖无缺口\n", + " [通过] 问4 联合信念保留真源朝向档\n", + " [通过] 问4 后备清除格数在硬顶内\n", + " [通过] 问4 闭环装配成功(定向覆盖计划已加载)\n", + "\n", + "全部 15 项通过。\n" + ] + } + ], + "source": [ + "# ---- 总自检:把四问的核心结论再跑一遍,全部通过才算整理成功 ----------------\n", + "checks = []\n", + "\n", + "q1 = solve_q1(\"normal\")\n", + "checks.append((\"问1 角域交会有界且直径有限\",\n", + " q1[\"status\"] == \"polygon\" and q1[\"diameter_infinite\"] is False))\n", + "checks.append((\"问1 三点交会可原地清除(MEC ≤ 20 m)\",\n", + " q1[\"guaranteed_clearable_at_mec_center\"] is True))\n", + "checks.append((\"问1 直径圆反例被识别(covers=False)\",\n", + " solve_q1(\"triangle\")[\"diameter_circle\"][\"covers\"] is False))\n", + "\n", + "plan2 = plan_second_point(station1, bearing1)\n", + "checks.append((\"问2 第二点在保证接收盘内\",\n", + " math.dist(plan2.position, region.mec()[0])\n", + " <= safe_disk_radius(region, CONFIG)))\n", + "checks.append((\"问2 追加三点后最坏后验半径 ≤ 20 m\",\n", + " plan.worst_posterior_radius_m <= CONFIG.field.clear_radius_m))\n", + "\n", + "checks.append((\"问3 七站解析覆盖上界 < 1000 m\",\n", + " bound < CONFIG_Q3.field.r_eff_min_m))\n", + "checks.append((\"问3 七站计划粗采样无缺口\", cert7.uncovered == 0))\n", + "checks.append((\"问3 粒子滤波保留真源\", retained))\n", + "checks.append((\"问3 空幸存集给出缺席证明\", len(absent) == 0))\n", + "checks.append((\"问3 2-opt 不劣于原任务序\",\n", + " loop3._path_cost(order) <= loop3._path_cost(tasks) + 1e-9))\n", + "\n", + "checks.append((\"问4 最小命中集 31 点、证书 0 缺口\",\n", + " len(plan_q4.points) == 31 and cert_v2.uncovered == 0))\n", + "checks.append((\"问4 粗采样复核定向覆盖无缺口\", coarse.uncovered == 0))\n", + "checks.append((\"问4 联合信念保留真源朝向档\", not joint.is_absent()))\n", + "checks.append((\"问4 后备清除格数在硬顶内\",\n", + " len(cells) <= CONFIG.search.fallback_max_cells))\n", + "checks.append((\"问4 闭环装配成功(定向覆盖计划已加载)\",\n", + " loop4.coverage_plan.name.startswith(\"q4_mincover\")))\n", + "\n", + "print(\"四问核心自检:\")\n", + "for name, ok in checks:\n", + " print(\" [%s] %s\" % (\"通过\" if ok else \"失败\", name))\n", + "assert all(ok for _, ok in checks), \"自检未全部通过\"\n", + "print(\"\\n全部 %d 项通过。\" % len(checks))\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/pyproject.toml b/pyproject.toml index 27188ae..29ca578 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,6 +5,7 @@ description = "CUMCM 2026 B题:无线电干扰源的快速自动定位与清 readme = "README.md" requires-python = ">=3.10" dependencies = [ + "jupyter>=1.1.1", "requests>=2.31", ] diff --git a/scripts/build_code_appendix.py b/scripts/build_code_appendix.py new file mode 100644 index 0000000..a676282 --- /dev/null +++ b/scripts/build_code_appendix.py @@ -0,0 +1,324 @@ +"""生成论文附录的"核心函数"源码清单(数据源:单文件核心代码 ipynb)。 + +论文附录不再逐字排版全部源码(评测机、命令行外壳、采集/基准脚本、测试与 +未采用方案都不属于求解核心),只保留四问主线的核心函数:以 +``mcm26b-核心代码.ipynb`` 为唯一数据源,按名字抽取函数与类,逐个附一句 +取自 docstring 首行的简短说明,再转义为 LaTeX 可直接排版的形式。 + +用法:: + + python scripts/build_code_appendix.py # 生成 data/source-listings.tex + python scripts/build_code_appendix.py --check # 只校验并报告规模,不写文件 +""" + +from __future__ import annotations + +import argparse +import ast +import json +import re +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[1] +PAPER = ROOT / "docs/paper" +NOTEBOOK = ROOT / "mcm26b-核心代码.ipynb" + +# XeLaTeX + ctex 下 lstlisting 可直接输出中文;这里只把数学符号转成 LaTeX 命令。 +# 每段 = (小节标题, 一句话说明, 要抽取的名字) +# 名字既可以是模块级函数/类,也可以是 "类名.方法名",只取被点名的成员。 +SECTIONS: list[tuple[str, str, list[str]]] = [ + ("动作计时与开放路径排序", + r"三段耗时按整数微秒累计;后备清除的走格顺序用最近邻打底并做 2-opt 改进。", + ["CostBreakdown", "measure_cost", "clear_cost", "move_time", + "nearest_neighbor_order", "two_opt_open"]), + ("问题一:角域交会、直径与最小包围圆", + r"半平面交求定位区域,顶点对枚举直径,Welzl 算法求最小包围圆," + r"并输出直径圆覆盖判定与清除半径判据。", + ["Measurement", "halfplanes", "convex_hull", "diameter", + "smallest_enclosing_circle", "solve"]), + ("问题二:候选集与保证接收的第二检测点", + r"候选集用圆盘外切多边形与角域半平面裁剪表示;安全盘半径取" + r"$1000-\rho$,盘内候选按最坏后验包围半径、同分按移动代价取优。", + ["CandidateRegion", "ClearCertificate", "clear_certificate", + "candidate_points", "safe_disk_radius", "select_measurement_point", + "select_second_point"]), + ("问题三:覆盖计划、检测记录与清除证书", + r"覆盖计划与运行期抽样校验、逐频道检测记录,以及七点解析覆盖与" + r"全向/定向两种覆盖语义的证书判据。", + ["CoverageCertificate", "CoveragePlan", "coverage_points", + "CoverageLedger", "seven_points", "seven_plan", "verify_full_disk", + "verify_forward_half_disk", "plan_instance"]), + ("问题三:网格候选集", + r"逐频道的网格幸存集,按格心裕量 $\ell/\sqrt2$ 内缩后再删格," + r"据此支持负观测更新、跳测规则与缺席证明。", + ["ChannelParticles"]), + ("问题三:信息增益选点与滚动任务排序", + r"统一任务表由站点扫频、定位测量与清除三类任务组成," + r"每执行一项即重排;定位点按期望信息增益加移动代价评分。", + ["BayesLoop"]), + ("问题四:朝向候选、可见性选点与网格遍历清除", + r"每个幸存格附朝向档掩码构成联合候选集,可见性权重用于探点排序;" + r"定位停滞时以 $20$ m 方格遍历清除兜底。", + ["JointBelief", "DirectionalExtension"]), +] + + +# 只保留承载四问主线的成员;IO、统计报告、缓存、numpy 向量化加速、 +# 细粒度网格遍历等实现细节不出现在附录中。 +KEEP_PRIVATE: dict[str, set[str]] = { + "ChannelParticles": {"_kill_disk", "_kill_outside_disk", "_kill_outside_wedge", + "_discard"}, + "BayesLoop": {"_record_measure", "_build_tasks", "_execute_station", + "_select_point", "_best_certificate", "_localize_and_clear"}, + "DirectionalExtension": {"_localize_and_clear", "_observe", "_next_probe", + "_fallback_clear", "_attempt_clear"}, + "JointBelief": set(), +} + +# 类方法引用的模块级常量与类型别名:附录里一并列出,便于对照源码。 +CONSTANTS = { + "timing": ["CostConfig", "Vec2"], + "particles": ["_ANG_EPS_DEG", "_DIST_EPS_M", "_COARSE_FACTOR"], + "joint": ["HEADING_BINS", "_BIN_HALF_DEG", "_FULL_MASK", "_GRID_DEG", "_GRID_N"], +} + + + +# 中文一句话说明:覆盖 notebook 里偏长的英文/工程化 docstring,只用于论文附录。 +NOTES: dict[str, str] = { + "CostBreakdown": "一次合法动作的三段耗时:移动 + 换频道(仅检测)+ 动作本身", + "measure_cost": "合法 /measure 的耗时;移动按直线距离,换频道只看前后频道是否不同", + "clear_cost": "合法 /clear 的耗时;清除不切换测向机频道,故不含换频项", + "move_time": "任意两点间的移动耗时,供规划使用", + "nearest_neighbor_order": "最近邻开放路径,作为路径排序的启发式上界", + "two_opt_open": "开放路径 2-opt 改进;终点自由,只反转内部片段", + "Measurement": "一次示向度观测:测点坐标、示向度与误差半角(题设为 $1^\\circ$)", + "halfplanes": "一次观测的三个半平面约束:角域两侧边界与前向约束,法向量已单位化", + "convex_hull": "单调链凸包(逆时针、无重复末点),输入坐标先平移缩放到同一量级", + "diameter": "顶点对枚举区域直径;有界凸集的最远点必为顶点", + "smallest_enclosing_circle": "Welzl 随机增量最小包围圆;固定随机种子保证结果可复现", + "solve": "问题一主入口:半平面交求定位区域,区分空集、无界与退化情形," + "再给出直径、直径圆覆盖判定与最小包围圆", + "ClearCertificate": "清除充分条件:候选集外包半径与近似误差之和不超过清除半径", + "clear_certificate": "由候选集最小包围圆判定是否可以就地清除", + "candidate_points": "保证接收盘内的候选点:盘心加各比例半径上的均匀方向点", + "safe_disk_radius": "保证接收盘半径 $1000-\\rho$;小于零表示没有保证接收的区域", + "select_measurement_point": "在保证接收盘内选下一检测点:主指标为最坏后验包围半径," + "同分取移动代价较小者", + "select_second_point": "问题二入口:由首次示向度构造候选集并给出第二检测点", + "CoverageCertificate": "覆盖证书:采样分辨率、位置与朝向目标数、缺口数与最坏命中距离", + "CoveragePlan": "覆盖计划:点集、覆盖语义与证书", + "coverage_points": "49 点覆盖网格,单元对角 $700\\sqrt2\\approx989.95\\le1000$ m", + "CoverageLedger": "逐频道检测记录,按(频道, 网格点)二维记账", + "seven_points": "原点与环上六个等分点的七站覆盖集", + "seven_plan": "第三问解析覆盖计划;环半径 $1159.7$ m 时最坏覆盖距离不超过 $984.539$ m", + "verify_full_disk": "第三问覆盖语义:圆域内每点都落在某个被访点的最小接收圆盘内", + "verify_forward_half_disk": "第四问覆盖语义:任意位置与朝向都存在前向半盘内的被访点", + "plan_instance": "按名称取覆盖计划;证书计划在运行期按同一分辨率复核", + "ChannelParticles": "单个频道的网格候选集:格心裕量 $\\ell/\\sqrt2$," + "所有删除判定内缩该裕量,故真源所在格永不被删", + "BayesLoop": "问题三闭环:网格候选集的正负观测更新、信息增益选点与滚动任务排序", + "JointBelief": "单频道的位置与朝向联合候选集;朝向分 $24$ 档," + "负观测只在整格必落在最小接收半径内时才约束朝向", + "DirectionalExtension": "问题四闭环:定向覆盖计划、遮挡解释与网格遍历清除兜底", +} + +def notebook_sources(path: Path) -> list[str]: + notebook = json.loads(path.read_text(encoding="utf-8")) + return ["".join(cell["source"]) for cell in notebook["cells"] + if cell["cell_type"] == "code"] + + +def index_definitions(sources: list[str]) -> dict[str, str]: + """把单元里的模块级定义拆开,得到 名字 -> 源码 的映射。""" + table: dict[str, str] = {} + for source in sources: + tree = ast.parse(source) + lines = source.splitlines() + for node in tree.body: + if not isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef, + ast.ClassDef)): + continue + node.end_lineno = getattr(node, "end_lineno", None) or node.lineno + body = "\n".join(lines[node.lineno - 1:node.end_lineno]) + table[node.name] = body.rstrip() + "\n" + return table + + +def _indent_of(line: str) -> int: + return len(line) - len(line.lstrip()) + + +def extract_member(block: str, member: str) -> str: + """从类源码里取出单个方法的源码(含其装饰器行)。""" + lines = block.splitlines() + tree = ast.parse(block) + for node in tree.body[0].body: # type: ignore[attr-defined] + if isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef)) \ + and node.name == member: + start = node.lineno - 1 + decorators = getattr(node, "decorator_list", []) + if decorators: + start = min(start, min(item.lineno for item in decorators) - 1) + end = getattr(node, "end_lineno", None) or node.lineno + return "\n".join(lines[start:end]).rstrip() + "\n" + # 类体里没有:退化为"类.方法"全名查找(如嵌套类或模块级同名函数) + for node in tree.body: + if isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef, ast.ClassDef)) \ + and node.name == member: + end = getattr(node, "end_lineno", None) or node.lineno + return "\n".join(lines[node.lineno - 1:end]).rstrip() + "\n" + raise KeyError(f"类中没有成员 {member!r}") + + +def compress_docstring(source: str, limit: int = 58) -> str: + """把函数/类的 docstring 压成一行(首句),避免附录被历史记录淹没。""" + lines = source.splitlines() + tree = ast.parse(source) + node = tree.body[0] + doc = ast.get_docstring(node) + if not doc: + return source + first = re.sub(r"\s+", " ", doc.strip().splitlines()[0]).strip() + if len(first) > limit: + first = first[:limit].rstrip() + "…" + start = node.body[0].lineno - 1 # docstring 所在行 + end = start + if lines[start].lstrip().startswith(('"""', "r, ")): + quote = lines[start].lstrip()[:3] + if not (lines[start].strip().endswith(quote) and len(lines[start].strip()) > 3): + while end < len(lines) and not lines[end].rstrip().endswith(quote): + end += 1 + indent = " " * _indent_of(lines[start]) + return "\n".join(lines[:start] + [indent + '"""' + first + '"""'] + + lines[end + 1:]) + + +def note_for(name: str, block: str) -> str: + """论文附录用的中文一句话说明:优先查 NOTES,否则取 docstring 首句。""" + if name in NOTES: + return NOTES[name] + return shorten_docstring(block) + + +def shorten_docstring(block: str, limit: int = 46) -> str: + """取 docstring 的首句作为一句话说明(超长则截断)。""" + tree = ast.parse(block) + node = tree.body[0] + doc = ast.get_docstring(node) or "" + first = doc.strip().splitlines()[0].strip() if doc.strip() else "" + first = re.sub(r"\s+", " ", first).rstrip("。") + if len(first) > limit: + first = first[:limit].rstrip() + "…" + return first + + +INLINE_ESCAPES = {"\\": r"\textbackslash{}", "{": r"\{", "}": r"\}", + "$": r"\$", "&": r"\&", "%": r"\%", "#": r"\#", + "^": r"\^{}", "~": r"\~{}"} + + +def latex_escape_text(text: str) -> str: + """行内说明的转义;下划线在行内模式必须转义。""" + out = [INLINE_ESCAPES.get(ch, ch) for ch in text] + return "".join(out).replace("_", r"\_") + + + +def class_skeleton(block: str, keep_private: set[str] | None = None) -> str: + """类的精简版:保留类声明、类字段与公开成员(``keep_private`` 内的私有成员也保留)。""" + keep_private = keep_private or set() + lines = block.splitlines() + tree = ast.parse(block) + cls = tree.body[0] + head_end = cls.body[0].lineno - 1 if cls.body else cls.lineno + head = lines[:head_end] + doc = ast.get_docstring(cls) + if doc: + head += [' """' + doc.strip().splitlines()[0] + '"""'] + head.append("") + out = list(head) + for node in cls.body: + if isinstance(node, (ast.Assign, ast.AnnAssign)): # 数据类字段与类常量 + end = getattr(node, "end_lineno", None) or node.lineno + out += lines[node.lineno - 1:end] + continue + if not isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef)): + continue + public = not node.name.startswith("_") or node.name in keep_private + if not public: + continue + start = node.lineno - 1 + decorators = getattr(node, "decorator_list", []) + if decorators: + start = min(start, min(item.lineno for item in decorators) - 1) + end = getattr(node, "end_lineno", None) or node.lineno + out += lines[start:end] + [""] + while out and not out[-1].strip(): + out.pop() + return "\n".join(out) + "\n" + + +def collect() -> list[tuple[str, str, list[tuple[str, str]]]]: + """返回 [(标题, 说明, [(函数名, 源码)])],类按公开成员精简。""" + table = index_definitions(notebook_sources(NOTEBOOK)) + sections = [] + for title, note, names in SECTIONS: + blocks: list[tuple[str, str]] = [] + for name in names: + if "." in name: + owner, member = name.split(".", 1) + blocks.append((name, extract_member(table[owner], member))) + elif name in table: + block = table[name] + skeleton = (class_skeleton(block, KEEP_PRIVATE.get(name)) + if block.startswith("class ") else block) + blocks.append((name, compress_docstring(skeleton))) + else: + raise KeyError(f"notebook 中没有定义 {name!r}") + sections.append((title, note, blocks)) + return sections + + +def render(sections) -> str: + r"""渲染成可直接 \input 的 LaTeX 片段(样式 corecode 在 main.tex 导言区定义)。""" + lines = [ + r"% Generated by scripts/build_code_appendix.py from mcm26b-核心代码.ipynb.", + r"% Do not edit by hand: rerun the generator after the notebook changes.", + r"\begingroup\linespread{1.0}\selectfont", + ] + for title, note, blocks in sections: + lines += [rf"\subsection*{{{title}}}", note, ""] + for name, source in blocks: + summary = note_for(name, source) + label = rf"\texttt{{{latex_escape_text(name)}}}" + caption = f"{label}:{summary}。" if summary else f"{label}。" + lines += [rf"\noindent\small {caption}", + r"\begin{lstlisting}[style=corecode]", + source.rstrip(), r"\end{lstlisting}", ""] + lines.append(r"\endgroup") + return "\n".join(lines).rstrip() + "\n" + + +def main() -> None: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--check", action="store_true", + help="只统计规模,不写文件") + args = parser.parse_args() + sections = collect() + text = render(sections) + code_lines = sum(len(source.splitlines()) + for _, _, blocks in sections for _, source in blocks) + print(f"核心函数:{sum(len(b) for _, _, b in sections)} 个," + f"代码 {code_lines} 行,LaTeX {len(text.splitlines())} 行") + for title, _, blocks in sections: + print(f" {title}: " + "、".join(name for name, _ in blocks)) + if args.check: + return + target = PAPER / "data/source-listings.tex" + target.write_text(text, encoding="utf-8") + print(f"已写出 {target.relative_to(ROOT)}") + + +if __name__ == "__main__": + main() diff --git a/scripts/build_core_notebook.py b/scripts/build_core_notebook.py new file mode 100644 index 0000000..d05acf3 --- /dev/null +++ b/scripts/build_core_notebook.py @@ -0,0 +1,1368 @@ +"""把 1-4 问的生产代码抽取成单文件 ipynb(无辅助/测评工具、无未采用方案)。 + +用法:: + + python scripts/build_core_notebook.py [-o mcm26b-核心代码.ipynb] + +设计: +- 代码正文**逐字复制**自 `src/mcm26b` 的生产实现,只做三类机械化改写: + 1. 去掉包内相对导入,改用单命名空间的前置导入; + 2. 去掉 `if __name__ == "__main__"` 与文件 IO 入口(覆盖计划改为内嵌字面量); + 3. 去掉文件头部的模块 docstring(其内容改写为独立的说明 markdown 单元)。 +- 明确排除:`referee/`(独立评测机)、`harness/`(测试适配/内存回环/回放)、 + `cli.py`/`geometry/__main__.py`(命令行外壳)、`scripts/`(采集/基准/可视化)、 + `project/`(最优-基线对比框架)、`tests/`,以及未被任何生产策略调用的 + `routing.py` 离线度量族与 `planner/seven.py` 的未采用变体。 +""" + +from __future__ import annotations + +import argparse +import json +import re +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent +SRC = ROOT / "src" / "mcm26b" + + +def read_module(relative: str) -> str: + """读取生产源文件并剥离模块级 docstring(正文原样保留)。""" + text = (SRC / relative).read_text(encoding="utf-8") + return strip_module_docstring(text) + + +def strip_module_docstring(text: str) -> str: + """删除文件开头的模块 docstring(含其后的空行)。""" + match = re.match(r'\s*("""|\'\'\')(?:.|\n)*?\1\s*\n', text) + if match is None: + return text + return text[match.end():].lstrip("\n") + + +def cut(text: str, start: str, end: str | None = None) -> str: + """截取 [start, end) 片段(含 start,不含 end);找不到则报错。""" + begin = text.index(start) + if end is None: + return text[begin:] + return text[begin:text.index(end, begin)] + + +def drop(text: str, start: str, end: str | None = None) -> str: + """删除 [start, end) 片段(end 为 None 时删到文末),保留其余部分。""" + begin = text.index(start) + if end is None: + return text[:begin] + return text[:begin] + text[text.index(end, begin):] + + +# --------------------------------------------------------------------- 源文本 +CONFIG = read_module("config.py") +RULES = read_module("protocol/rules.py") +TIMING = read_module("protocol/timing.py") +STATE = read_module("protocol/state.py") +TRANSPORT = read_module("protocol/transport.py") +# 单文件版把 requests 改成惰性导入:notebook 只依赖标准库(+可选 numpy)即可运行, +# 真正调用 HTTP 时才需要 requests。逻辑与仓库实现完全等价。 +TRANSPORT = TRANSPORT.replace( + "from dataclasses import dataclass\n\nimport requests\n", + "from dataclasses import dataclass\n") +TRANSPORT = TRANSPORT.replace( + """ def post(self, url, body, headers, timeout): + try:""", + """ def post(self, url, body, headers, timeout): + import requests # 惰性导入:仅真正发起 HTTP 时才需要该依赖 + + try:""") +LOG = read_module("protocol/log.py") +CLIENT = read_module("protocol/client.py") +LOCALIZATION = read_module("geometry/localization.py") +PLANNING = read_module("geometry/planning.py") +BELIEF = read_module("belief/__init__.py") +COVERAGE = read_module("coverage/__init__.py") +COVER = read_module("guarantee/cover.py") +PARTICLES = read_module("particles.py") +JOINT = read_module("belief/joint.py") +ROUTING = read_module("routing.py") +PLANNER = read_module("planner/__init__.py") +BAYES = read_module("planner/bayes_loop.py") +SEVEN = read_module("planner/seven.py") + +# ---- routing.py:只保留生产路径用到的开放路径族 -------------------------------- +ROUTING = drop(ROUTING, "\ndef or_opt_open(", "\ndef improve_open_path(") +ROUTING = ROUTING.replace("import math\n\nfrom .config import Vec2\n", + "import math\n\nVec2 = tuple[float, float]\n\n") +ROUTING = ROUTING.replace( + 'EXACT_LIMIT = 13 # Held-Karp 状态数 2^n·n:n=13 → 106 496,纯 Python 可接受\n' + 'OR_OPT_LIMIT = 60 # 作业点数超过此值时跳过高阶 Or-opt(见 improve_open_path)\n\n\n', "") +ROUTING = drop(ROUTING, "\ndef held_karp_open(", "\ndef _dedupe(") +ROUTING = ROUTING.replace( + ''' """最近邻 + 2-opt + Or-opt 的开放路径改进(大规模兜底)。 + + Or-opt 的搬移评估是 O(n³),作业点数超过 :data:`OR_OPT_LIMIT` 时只做 + O(n²) 的 2-opt(度量口径下 Or-opt 的相对收益远小于其墙钟代价)。 + """ + order = nearest_neighbor_order(points, start) + order = two_opt_open(order, start, max_passes) + if len(order) > OR_OPT_LIMIT: + return order + return or_opt_open(order, start, max_passes)''', + ''' """最近邻打底 + 2-opt 改进的开放路径(后备清除走格顺序用)。""" + order = nearest_neighbor_order(points, start) + return two_opt_open(order, start, max_passes)''') +# _dedupe 只服务已被排除的离线度量族,一并删除。 +ROUTING = drop(ROUTING, "\ndef _dedupe(", "\ndef route_metrics(") +ROUTING = drop(ROUTING, "\ndef route_metrics(") + +# ---- guarantee/cover.py:内嵌计划替代文件 IO ---------------------------------- +COVER = COVER.replace("import hashlib\nimport json\nimport math\n", + "import json\nimport math\n") +COVER = COVER.replace("from dataclasses import dataclass, field, fields\n" + "from functools import lru_cache\nfrom pathlib import Path\n", + "from dataclasses import dataclass, field, fields\n") +COVER = COVER.replace('PLAN_DIR = Path(__file__).resolve().parent / "plans"\n', "") +COVER = drop(COVER, "\ndef _load_plan_file(", "\ndef plan_instance(") +COVER = COVER.replace( + '''def plan_instance(name: str, verify: bool = True) -> CoveragePlan: + """统一入口:支持内置计划名与磁盘上的证书计划。""" + if name == "square49": + return square_49_plan() + if name == "seven": + return seven_plan(1200.0) + return load_plan(name, verify) + + +def plan_names() -> list[str]: + """全部可加载的计划名(含内置)。""" + builtin = ["square49", "seven"] + return builtin + sorted(p.stem for p in PLAN_DIR.glob("*.json")) + + +def write_plan(plan: CoveragePlan, path: Path) -> None: + """落盘计划 + 证书(生成器用)。""" + path.parent.mkdir(parents=True, exist_ok=True) + payload = plan.as_dict() + payload["generator"] = dict(payload.get("generator") or {}) + payload["sha256"] = hashlib.sha256( + json.dumps(payload["points"]).encode("utf-8")).hexdigest() + path.write_text(json.dumps(payload, ensure_ascii=False, indent=2) + "\\n", + encoding="utf-8")''', + '''def plan_instance(name: str, verify: bool = True) -> CoveragePlan: + """统一入口:按名称取覆盖计划(内置解析计划 / 内嵌证书计划)。""" + if name == "square49": + return square_49_plan() + if name == "seven": + return seven_plan(1200.0) + if name not in EMBEDDED_PLANS: + raise FileNotFoundError(f"未找到覆盖计划 {name!r};现有:{plan_names()}") + plan = embedded_plan(name) + if verify and plan.kind == "certified": + certificate = verify_plan(plan) + if not certificate.valid: + raise ValueError( + f"覆盖计划 {name!r} 运行期校验失败:" + f"{certificate.uncovered}/{certificate.targets} 个 (p,h) 未被覆盖") + plan = CoveragePlan( + name=plan.name, problem=plan.problem, kind=plan.kind, + coverage=plan.coverage, note=plan.note, generator=plan.generator, + certificate=CoverageCertificate( + kind=certificate.kind, target_step_m=certificate.target_step_m, + headings=certificate.headings, r_eff_min_m=certificate.r_eff_min_m, + targets=certificate.targets, uncovered=certificate.uncovered, + worst_hit_distance_m=certificate.worst_hit_distance_m, + nn_tour_m=certificate.nn_tour_m, + generator_sha256=(plan.certificate.generator_sha256 + if plan.certificate else "")), + points=plan.points) + return plan + + +def plan_names() -> list[str]: + """全部可加载的计划名(内置解析计划 + 内嵌证书计划)。""" + return ["square49", "seven"] + sorted(EMBEDDED_PLANS)''') + +# ---- particles.py:单命名空间下不再需要可选 numpy 的跨模块探测 ------------------ +PARTICLES = PARTICLES.replace( + "from .config import ProblemConfig, Vec2\n" + "from .geometry.localization import smallest_enclosing_circle\n" + "from .protocol.rules import DIRECTION, NEAR, NO_SIGNAL\n", "") +PARTICLES = PARTICLES.replace( + "import math\nimport os\n\nVec2", "import math\nimport os\n\nVec2") + +# ---- joint.py:跨模块私有符号改为同命名空间引用 -------------------------------- +JOINT = JOINT.replace( + "from ..config import ProblemConfig, Vec2\n" + "from ..particles import ChannelParticles, _branch_radius_array\n" + "from ..protocol.rules import DIRECTION, NEAR, NO_SIGNAL\n", "") +JOINT = JOINT.replace( + """try: # numpy 仅作可选加速后端(与 particles 一致) + import numpy as _np + from ..particles import _np as _particles_np + if _particles_np is None: # MCM26B_NO_NUMPY 或缺失:强制纯 Python + _np = None +except Exception: # pragma: no cover - 环境无 numpy + _np = None""", + """# numpy 仅作可选加速后端(与 particles 同一开关:无 numpy 时走纯 Python 分支) +_np = _np""") + +# ---- planner/__init__.py:单命名空间导入 -------------------------------------- +PLANNER = PLANNER.replace( + "from ..belief import (BeliefState, CandidateRegion, ChannelStatus,\n" + " InconsistentBelief, clip_halfplane)\n" + "from ..belief.joint import JointBelief\n" + "from ..config import ProblemConfig, Vec2\n" + "from ..coverage import CoverageLedger\n" + "from ..evaluation import recompute_virtual_time, summarize\n" + "from ..guarantee import plan_instance, seven_plan, square_49_plan\n" + "from ..protocol.client import (DeadlineExceeded, ProtocolError,\n" + " SimulatorClient)\n" + "from ..protocol.rules import CLEAR_SUCCESS, DIRECTION, NEAR, NO_SIGNAL\n" + "from ..protocol.timing import move_time\n" + "from ..protocol.transport import TransportError\n" + "from ..routing import improve_open_path\n", "") + +# ---- planner/bayes_loop.py --------------------------------------------------- +BAYES = BAYES.replace( + "from ..belief import CandidateRegion, ChannelStatus\n" + "from ..config import ProblemConfig, Vec2\n" + "from ..coverage import CoverageLedger\n" + "from ..particles import ChannelParticles, as_sample_array\n" + "from ..protocol.client import SimulatorClient\n" + "from ..protocol.rules import DIRECTION, NEAR, NO_SIGNAL\n" + "from ..protocol.timing import move_time\n" + "from . import (ClearCertificate, OmnidirectionalLoop, clear_certificate,\n" + " candidate_points, safe_disk_radius, select_measurement_point)\n" + "from .seven import validate_seven_coverage\n" + "from ..guarantee import seven_plan\n", "") + +# ---- planner/seven.py:只保留被 CLI 采用的 SevenBatch -------------------------- +SEVEN = SEVEN.replace( + "from ..belief import ChannelStatus\n" + "from ..config import ProblemConfig\n" + "from ..coverage import CoverageLedger\n" + "from ..guarantee import seven_plan\n" + "from ..protocol.rules import NEAR\n" + "from . import OmnidirectionalLoop, clear_certificate\n", "") +# SevenImmediate 只是"换站集"的中间类,直接把 SevenBatch 接到全向闭环骨架上; +# SevenSweep(全域扫完再统一服务)不是被采用的方案,整段删除。 +SEVEN = drop(SEVEN, "\nclass SevenImmediate(", "\nclass SevenBatch(") +SEVEN = SEVEN.replace("class SevenBatch(SevenImmediate):", "class SevenBatch(OmnidirectionalLoop):") +SEVEN = SEVEN.replace("\n defer_all = False\n", "\n") +SEVEN = SEVEN.replace(" if not self.defer_all:\n" + " self._serve_queue()\n", + " self._serve_queue()\n") +SEVEN = drop(SEVEN, "\nclass SevenSweep") +SEVEN = re.sub(r"\n{3,}", "\n\n\n", SEVEN).rstrip() + "\n" + +# ---- client.py:单命名空间导入 ------------------------------------------------- +CLIENT = CLIENT.replace( + "from ..config import ProblemConfig, Vec2\n" + "from .log import SessionLog\n" + "from .rules import (CLEAR_RESULTS, DIRECTION, EXIT_USER, MEASURE_RESULTS,\n" + " POSITION_FIELDS, STATUS_OK, STATUS_RETRYABLE)\n" + "from .state import RobotState\n" + "from .timing import CostBreakdown\n" + "from .transport import RequestsTransport, Transport, TransportError\n", "") + +LOCALIZATION = LOCALIZATION.replace("from dataclasses import dataclass\n", + "from dataclasses import dataclass\n") +PLANNING = PLANNING.replace("from math import cos, sin, radians, isfinite\n" + "from .localization import Measurement\n", + "from math import cos, sin, radians, isfinite\n") + +# ---------------------------------------------------------------- 内嵌覆盖计划 +PLAN_V2 = json.loads((SRC / "guarantee" / "plans" / "q4_mincover_v2.json") + .read_text(encoding="utf-8")) +PLAN_V1 = json.loads((SRC / "guarantee" / "plans" / "q4_mincover_v1.json") + .read_text(encoding="utf-8")) + + +def plan_to_literal(payload: dict) -> str: + """把计划 JSON 渲染成可内嵌的 Python 字面量(点集按 6 点一行压缩)。""" + slim = dict(payload) + slim.pop("sha256", None) + points = slim.pop("points") + body = json.dumps(slim, ensure_ascii=False, indent=2) + body = body[:-1].rstrip() # 去掉 JSON 末尾的 "}" + body = "\n".join(" " + line for line in body.splitlines()) + point_lines = [] + for index in range(0, len(points), 6): + chunk = ", ".join(f"({x:g}, {y:g})" for x, y in points[index:index + 6]) + point_lines.append(" " + chunk + ",") + literal = (body.rstrip() + ",\n" + ' "points": [\n' + "\n".join(point_lines) + "\n ],\n}") + # JSON 的 true/false/null 在 Python 字面量里要写成 True/False/None + for source, target in (("true", "True"), ("false", "False"), ("null", "None")): + literal = re.sub(rf"\b{source}\b", target, literal) + return re.sub(r"=(\s*)\{", "= {", literal) # Q4_MINCOVER_V2 = { + + +EMBEDDED_SOURCE = '''# 覆盖计划以字面量内嵌(原实现从 guarantee/plans/*.json 读取;数值逐位一致)。 +# v2 是现役计划:31 点、设计裕量 r_design=965 m / 前向角裕量 5°, +# 证书按 15 m / 72 档复核 3 256 200 个 (p, h) 目标,缺口 0、最坏命中 990.05 m。 +# v1(75 m/24 档采样过拟合解)保留作对照,说明"粗采样假通过"的风险。 +Q4_MINCOVER_V2 = ''' + plan_to_literal(PLAN_V2).lstrip() + ''' +Q4_MINCOVER_V1 = ''' + plan_to_literal(PLAN_V1).lstrip() + ''' + +EMBEDDED_PLANS = {"q4_mincover_v1": Q4_MINCOVER_V1, "q4_mincover_v2": Q4_MINCOVER_V2} + + +def embedded_plan(name: str) -> CoveragePlan: + """把内嵌计划字典还原成 :class:`CoveragePlan`(证书字段按数据类取值)。""" + payload = EMBEDDED_PLANS[name] + raw_cert = payload.get("certificate") or {} + known = {item.name for item in fields(CoverageCertificate)} + certificate = (CoverageCertificate(**{key: value for key, value in raw_cert.items() + if key in known}) if raw_cert else None) + return CoveragePlan( + name=payload["name"], problem=int(payload["problem"]), + kind=payload.get("kind", "certified"), + coverage=payload.get("coverage", "forward_half_disk"), + note=payload.get("note", ""), certificate=certificate, + generator=payload.get("generator", {}), + points=tuple((float(x), float(y)) for x, y in payload["points"])) +''' + + +def code(source: str) -> dict: + source = source.strip("\n") + "\n" + # 单命名空间下 __future__ 只能出现在文件最前:后续单元里的一律去掉 + source = source.replace("from __future__ import annotations\n\n", "", 1) + return {"cell_type": "code", "execution_count": None, "metadata": {}, + "outputs": [], "source": source.splitlines(keepends=True)} + + +def md(source: str) -> dict: + source = source.strip("\n") + "\n" + return {"cell_type": "markdown", "metadata": {}, + "source": source.splitlines(keepends=True)} + + +CELLS: list[dict] = [] +add = CELLS.append + +# =============================================================== 0 说明与前置 +add(md(r""" +# CUMCM 2026 B 题 · 无线电干扰源的快速自动定位与清除 +## 单文件核心代码(问题一 ~ 问题四) + +本 notebook 是四问**生产实现**的自包含整理版:按求解流程顺序排列的算法内核, +不含评测机、命令行外壳、采集/基准/绘图脚本、单元测试,也不含未被采用的方案。 + +### 1. 求解主线 + +| 问 | 任务 | 本文档中的实现 | +| --- | --- | --- | +| 一 | 由 ±1° 有界误差示向度交会定位,求定位区域、直径、直径圆覆盖判定、最小包围圆与 20 m 清除证书(并给出直径圆不覆盖区域的等边三角形反例) | `Measurement` / `halfplanes` / `convex_hull` / `diameter` / `smallest_enclosing_circle` / `solve` | +| 二 | 选择第二个检测点,使目标必被接收且交会角最优 | `first_bearing_candidate_disk` / `CandidateRegion` / `safe_disk_radius` / `select_second_point` | +| 三 | 全向源:发现全部干扰源、逐一定位清除,最小化虚拟总时间 | `SevenBatch`(对照)与 `BayesLoop`(默认:网格粒子滤波 + 负观测 + 信息增益选点 + 滚动 2-opt) | +| 四 | 含定向发射源(半盘覆盖):不可见的静默必须与"距离不足"区分 | `DirectionalExtension`(定向覆盖最小命中集 + (位置×朝向) 联合信念 + ≤20 m 后备清除) | + +### 2. 公共层(四问共用) + +- **参数中心**(`ProblemConfig`):题面常量与工程参数的唯一字面量来源; +- **协议层**:字段表/结果码(`rules`)、纯计时模型(`timing`)、本地状态机(`state`)、 + 传输抽象(`transport`)、会话日志(`log`)、串行幂等客户端(`SimulatorClient`); +- **信念层**:逐频道保守凸候选集(`CandidateRegion`)、网格幸存集(`ChannelParticles`)、 + (位置×朝向) 联合可行集(`JointBelief`); +- **保证层**:覆盖账本(`CoverageLedger`)、覆盖计划与证书(`CoveragePlan`); +- **调度层**:开放路径排序(`nearest_neighbor_order` / `two_opt_open` / `improve_open_path`)。 + +### 3. 三条硬约束(贯穿全部代码) + +1. **保守性**:真源(第四问含朝向)永远不被观测更新删掉——候选集用外切多边形外包圆盘、 + 半平面裁剪带正容差、网格幸存集按 Voronoi 裕量内缩后再删格; +2. **幂等串行**:一个动作未决不发起下一个;网络失败时原样重发同一 `request_id` 与请求体; + `accepted=false` 不更新任何状态,其 `virtual_time_s=0` 不是当前时刻; +3. **计时一致**:预测(客户端)—执行(模拟器)—复算(日志)三方用同一计时模型, + 按整数微秒累计。 + +### 4. 与仓库原文件的关系 + +各代码单元逐字取自 `src/mcm26b/**`,仅做机械化改写(去包内相对导入、去文件 docstring、 +去掉覆盖计划的 JSON 文件读取改为内嵌字面量、去掉未被生产路径调用的函数)。 +本文件可独立运行:**零第三方依赖**(`numpy` 仅作可选加速,缺失时自动回退纯 Python; +`requests` 仅在真正发起 HTTP 时才惰性导入)。最后的总自检单元会复算四问的核心结论, +15 项断言全部通过才算整理成功。 + +自检覆盖:问1 角域交会有界/直径圆反例、问2 保证接收与后验收缩、问3 七站解析覆盖证书与 +Voronoi 真源保留、问4 定向最小命中集证书与 (位置×朝向) 联合信念保守性。 +""")) + +add(md(""" +## 0. 环境与依赖 +""")) + +add(code(r''' +from __future__ import annotations + +import json +import math +import os +import uuid +from dataclasses import dataclass, field, fields, replace +from enum import Enum +from functools import lru_cache +from itertools import combinations +from math import cos, dist, hypot, isfinite, radians, sin +from pathlib import Path +from random import Random +from time import monotonic, sleep + +try: # numpy 仅作可选加速后端;缺失时全部回退纯 Python + import numpy as _np +except Exception: # pragma: no cover - 环境无 numpy 时走纯 Python 分支 + _np = None + +print("numpy 加速后端:", "启用" if _np is not None else "缺失(纯 Python 回退)") +''')) + +# =============================================================== 1 参数中心 +add(md(""" +# 第一部分 · 公共层 + +## 1. 参数中心(`config.py`) + +题面常量标 `[题面]`,工程参数标 `[工程]`;后者可依演练实测调整,不代表官方规定。 +任何魔法数字只在这里出现一次,其余模块通过 `ProblemConfig` 读取。 +""")) + +add(code(cut(CONFIG, "Vec2 = tuple[float, float]"))) +add(code(cut(CONFIG, "@dataclass(frozen=True)\nclass ProblemConfig:"))) + +# =============================================================== 2 协议层 +add(md(""" +## 2. 协议层(`protocol/`) + +### 2.1 规则表与字段表(`rules.py`) + +四条指令的字段约束、结果码与 HTTP 错误语义,全部落成可执行数据: +客户端用它构造并预校验请求,模拟器用同一张表校验并拒绝未知字段。 +""")) + +add(code(cut(RULES, "# ---- 结果码"))) + +add(md(""" +### 2.2 纯计时模型(`timing.py`) + +附件示例(105 / 111 / 194 / 199 秒)是唯一权威锚点: +一次合法动作 = 移动(直线距离 / 5 m/s)+ 换频道(仅检测,1 s)+ 动作本身(检测 5 s、 +清除成功 5 s / 未发现 3 s),逐段量化后**按整数微秒累计**。 +""")) + +add(code(cut(TIMING, "@dataclass(frozen=True)\nclass CostBreakdown"))) + +add(md(""" +### 2.3 本地状态机(`state.py`) + +位置 / 测向频道 / 虚拟时刻的唯一权威是最近一次 `accepted=true` 的响应; +`/clear` 不切换测向机频道,只有合法 `/measure` 才更新频道。 +""")) + +add(code(cut(STATE, "class StateError(RuntimeError):"))) + +add(md(""" +### 2.4 传输抽象与会话日志(`transport.py` / `log.py`) + +HTTP 细节与协议客户端解耦:正式运行用 `RequestsTransport`, +本地评测 / 故障注入 / 日志回放各自替换 `Transport` 实现即可,客户端代码零改动。 +会话日志逐条追加 JSONL(题面要求机器狗程序自行留档指令与响应)。 +""")) + +add(code(cut(TRANSPORT, "class TransportError(Exception):"))) +add(code(cut(LOG, "@dataclass\nclass SessionLog:"))) + +add(md(""" +### 2.5 串行幂等客户端(`client.py`) + +- 每个新动作使用新的 `request_id`;仅在网络失败后重试**完全相同的动作**时复用原 ID 与 + 原请求体(本类一次性序列化出 bytes 并原样重发); +- 必须同时检查 HTTP 状态与 `accepted`;`accepted=false` 不更新状态; +- 逐次等待响应、不得并发;本类完全同步; +- 现实截止用 `/enter` 的 `remaining_real_duration_s` 建立本地单调时钟并预留退出余量。 +""")) + +add(code(cut(CLIENT, "class ProtocolError(RuntimeError):"))) + +# =============================================================== 3 几何内核 +add(md(""" +## 3. 几何内核(`geometry/`) + +### 3.1 角域交会定位(`localization.py`) + +每条示向度 = 三个半平面:角域下边界、上边界,以及"只能在前向"约束 +(半角 < 90° 时交集是尖锥而非整条直线)。定位区域 = 全部半平面之交。 + +对偶枚举任意两个半平面的交点即得全部候选顶点,再按可行性筛选—— +有界性由"是否存在非零衰退方向"判定,因此**不需要人为加包围盒**: + +- 无交点 ⇒ 空集(数据矛盾或频道选错); +- 有非零衰退方向 ⇒ 无界,直径为 ∞; +- 否则顶点凸包即定位多边形,直径由顶点对枚举给出,最小包围圆用 Welzl 随机增量算法。 +""")) + +add(code(cut(LOCALIZATION, "Point = tuple[float, float]"))) + +add(md(""" +### 3.2 问题二的安全候选盘证书(`planning.py`) + +首次示向度只给出"目标在角域 ∩ 距离 ≤ 1500 m 的扇形内"。该扇形的**最小包围圆** +半径 a = R / (2 cos δ);再按保证接收半径(≥ 1000 m)内缩 s = 1000 − a 得到 +保证接收盘 B(圆心, s)——盘内任意点到真源的距离 ≤ s + a = 1000 m, +因此第二点必收到 `direction`(或 `near`),不会浪费一次 `no_signal`。 +""")) + +add(code(cut(PLANNING, "def first_bearing_candidate_disk("))) + +# =============================================================== 4 信念与覆盖 +add(md(""" +## 4. 信念层与保证层 + +### 4.1 逐频道保守凸候选集(`belief/__init__.py`) + +候选集 K_c 用**圆盘外切多边形 ∩ 测向角域半平面**表示。两条不变式: + +- 外切多边形严格包含圆盘、半平面裁剪带正容差 ⇒ 更新只会放大不会缩小真实候选集; +- `direction` 读数给出 K_c ⊆ Ω ∩ W(s, θ±δ_eff) ∩ B(s, 1500),δ_eff 含示向度两位小数的 + 舍入裕量 0.005°; +- `no_signal` **不删空间候选**(对定向源它只说明被遮挡,见第四问), + "该频道无源"的证明由覆盖账本或网格幸存集给出; +- `near` 读数把候选集收缩到 B(s, 5),可直接产生清除证书。 +""")) + +add(code(cut(BELIEF, "# 半平面裁剪的正容差(米)"))) + +add(md(""" +### 4.2 逐频道覆盖账本(`coverage/__init__.py`) + +"路过某点"不算"测过某频道":覆盖必须按 (频道, 点) 二维记账, +这是"全点皆 `no_signal` ⇒ 该频道不存在源"这一缺席证明的唯一依据。 +""")) + +add(code(cut(COVERAGE, "def coverage_points("))) + +add(md(""" +### 4.3 覆盖计划与证书(`guarantee/cover.py`) + +两类覆盖语义(题面约束不同,绝不可混用): + +| 语义 | 适用 | 缺席条件 | +| --- | --- | --- | +| `full_disk` | 第三问全向源 | ∪ B(c, 1000) ⊇ Ω,即 Ω 内每点都落在某个被访点的最小接收圆盘内 | +| `forward_half_disk` | 第四问定向源 | ∀(p, h) ∈ Ω × S¹,存在被访点 c 使 \\|c−p\\| ≤ 1000 且 (c−p)·u(h) ≥ 0 | + +**保证 = 离线搜索 + 运行期校验**:点表与证书一起落盘并校验采样语义、缺口数、 +最坏命中距离与生成参数哈希,运行期用同一套采样语义重新校核,未通过即拒绝启动。 +证书硬化把"采样格覆盖"提升为"连续空间覆盖":设计裕量 r_eff + step·√2/2 ≤ 1000 +且角裕量 ≥ 180/headings/2。 +""")) + +add(code(cut(COVER, "R_EFF_MIN_M = 1000.0"))) + +add(md(""" +### 4.4 第四问最小命中集(内嵌计划) + +现役计划 `q4_mincover_v2`:31 点(700 m 方格 49 点的充分条件可压到 31 点), +设计裕量 r_design = 965 m、前向角裕量 5°,按 15 m / 72 档共 3 256 200 个 (p, h) +复核缺口为 0、最坏命中 990.05 m、最近邻巡回 23.88 km。 +`q4_mincover_v1` 是同点数的粗采样(75 m / 24 档)解,细网格复检有 125 个缺口—— +保留它正是"粗采样假通过"的反例。 +""")) + +add(code(cut(COVER, "def seven_points("))) + +add(code(EMBEDDED_SOURCE)) + +add(md(""" +### 4.5 第三问解析七站计划(`planner/seven.py` 覆盖部分) + +原点 + 半径 r 的 6 等分环:域半径 R、环半径 r 时,域内任一点到最近站的距离 +≤ max(r/√3, √(R² + r² − √3Rr)),只要该上界 < 1000 m(最小有效接收半径), +"7 站全 `no_signal`"就是严格的缺席证明。r ∈ [1122.9, 1732] 可行,巡检半径越小巡回越短。 +""")) + +add(code(cut(SEVEN, "RING_RADIUS_M = 1200.0", "\nclass SevenBatch"))) + +add(md(""" +### 4.6 网格幸存集粒子滤波(`particles.py`) + +保守凸外包无法表达"角域 ∩ 距离盘 ∩ 全部 no_signal 排除盘"这类**非凸(挖洞)**可行集。 +网格幸存集可以,并额外买到三件事: + +1. **缺席证明**:幸存集为空 ⇒ 可行集为空 ⇒ 该频道无源(严格,不必等覆盖账本跑完); +2. **跳测规则**:幸存格到测点的最小距离 > r_max ⇒ 该次测量必 `no_signal` 且不产生新排除, + 直接跳过(省 5 s 检测 + 1 s 换频); +3. **负观测更新**:`no_signal` 直接删掉 B(s, 1000) 内的整格。 + +严格性由 **Voronoi 裕量**保证:格距 h 的裕量 m = √2/2·h 是格心到格内任一点的最大距离, +所有删除判定都内缩 m("整格都在可行集外才删"),因此真源所在格永不被删。 +""")) + +add(code(cut(PARTICLES, "_ANG_EPS_DEG = 1e-9"))) + +add(md(""" +### 4.7 (位置 × 朝向) 联合可行集(`belief/joint.py`) + +第四问的失败全部来自定向源:策略知道"源可能在哪个空间区域",却不知道"它朝着哪边"。 +本模块给每个幸存格附一个 24 档(15°)朝向可行性掩码,把"看不看得见"变成可推理的量。 +更新规则全部取保守侧并计入**格内角裕量** `asin(margin / max(dist − margin, 1))` +(格内任一点相对格心方位偏差的上界): + +| 观测 | 位置 | 朝向 | +| --- | --- | --- | +| `direction` @ s | 距离 ≤ 1500、角向 \\|gap\\| ≤ δ_eff + 格裕量 | 必须**可能**覆盖 s | +| `near` @ s | 距离 ≤ 5 | 必须**可能**覆盖 s(near 同样要求可见) | +| `no_signal` @ s | **不删**(可能是遮挡,也可能是距离不足) | 仅在整格必落在 1000 m 内时,删去"必然看得见"的档 | + +由此得到二维真源保留定理:真源 (位置, 朝向) 永不被删。`prob_detect` 用可见性概率选点, +取代固定的 45° 阶梯试探;联合集为空同样就是缺席证明。 +""")) + +add(code(cut(JOINT, "HEADING_BINS = 24"))) + +# =============================================================== 5 调度层 +add(md(""" +## 5. 调度层:开放路径排序(`routing.py`) + +本题的真实图问题是**开放路径**:起点固定在机器人当前位置、终点自由, +代价 = Σ 移动时间 + Σ 动作耗时。后备清除的走格顺序用最近邻打底 + 2-opt 改进 +(O(1) 增量代价评估,终点自由故只反转内部片段、不做首尾相接)。 +""")) + +add(code(ROUTING)) + +# =============================================================== 6 策略层 +add(md(""" +# 第二部分 · 策略层(`planner/`) + +## 6. 问题一/二/三共用的选点器与全向闭环 + +- **问题一**在几何内核里直接求解(第三部分给出算例); +- **问题二**用 `select_second_point`:在保证接收盘内环形采样,以"最坏后验包围圆半径" + 为主指标、移动代价为次指标; +- **问题三**用 `OmnidirectionalLoop` 骨架:覆盖 → 定位 → 清除 → 收尾, + 子类只替换覆盖计划与调度细节。 +""")) + +add(code(cut(PLANNER, "\ndef bearing_deg(a: Vec2, b: Vec2) -> float:", + "\nclass OmnidirectionalLoop:"))) + +add(md(""" +### 6.1 全向闭环骨架(`OmnidirectionalLoop`) + +发现(覆盖账本)→ 定位(候选集收敛到 20 m 内)→ 清除 → 收尾 `/exit`。 +任何异常都必须尽力 `/exit` 并产出 summary,不得静默丢会话: +断连、协议错误、守恒性破坏(候选集被剪空 / 保证接收盘内 `no_signal` / +清除证书失效)都会记入 `stop_reason` 与异常表。 +`completed` 表示任务在证明意义上完成(每频道 CLEARED 或 ABSENT), +`accounted_virtual_time_s` 记录首次"找全证明"的虚拟时刻。 +""")) + +add(code(cut(PLANNER, "\nclass OmnidirectionalLoop:", + "\nclass DirectionalExtension(OmnidirectionalLoop):"))) + +add(md(""" +### 6.2 第四问定向扩展(`DirectionalExtension`) + +与第三问的三点差异: + +1. 覆盖阶段换成定向覆盖最小命中集(`q4_mincover_v2`),发现保证对定向源同样成立; +2. 保证接收盘内的 `no_signal` 只能由**朝向遮挡**解释:该频道记为"观测到定向", + 对 MEC 圆心取对跖探点复核,并用联合信念按可见概率选点; +3. 定位停滞时对**有界**候选集构造 ≤20 m 有限圆盘覆盖,逐格 `/clear` + (清除与朝向无关,是完备后备);格数超硬顶或预算不足即跳过并留痕,绝不盲扫。 +""")) + +add(code(cut(PLANNER, "\nclass DirectionalExtension(OmnidirectionalLoop):"))) + +add(md(""" +### 6.3 第三问默认策略:贝叶斯网格滤波闭环(`planner/bayes_loop.py`) + +三层重构: + +1. **感知层**:每频道一个网格幸存集,全部读数(含 `no_signal` 负观测)即时更新, + 幸存集为空即缺席证明; +2. **决策层**:站点扫频、定位测量、清除三类任务合成统一任务表, + 开放路径最近邻 + 2-opt 排序,每执行一个任务滚动重排(动态 TSP); +3. **选点层**:定位测量点在保证接收盘(凸证书)或 PF MEC 探索环(宽候选集)内 + 按"期望 log 幸存占比 + λ·移动时间"评分(信息增益贪心)。 + +相对基线的增益来自负观测跳站/跳测、PF 缺席证明提前证毕、全局任务排序。 +清除证书仍以凸证书为主,PF 网格证书只在负观测挖洞使幸存集更紧时提前触发。 +""")) + +add(code(BAYES)) + +add(md(""" +### 6.4 第三问对照策略:七站批量扫频(`planner/seven.py`) + +同一骨架换覆盖计划:7 站解析覆盖 + 站内批量扫频 + 按"距候选集 MEC 圆心最近"服务队列。 +它曾以官方案例 12/12 全清通过演练,是"覆盖证明 + 批量调度"的中间对照。 +""")) + +add(code(cut(SEVEN, "\nclass SevenBatch"))) + +# =============================================================== 7 问题一 +add(md(""" +# 第三部分 · 逐问算例与自检 + +以下单元用**合成观测**驱动上面的求解器(合成观测的生成规则单独写明, +不依赖评测机)。每个单元末尾用断言检查结论,运行通过即说明该问的代码链路正确。 + +## 7. 问题一:角域交会定位 + +三个检测点、±1° 误差的示向度。输出:定位区域多边形顶点、直径、直径圆是否覆盖整个区域、 +最小包围圆(MEC)半径,以及"MEC 半径 ≤ 20 m"的清除证书。 +""")) + +add(code(r''' +Q1_EXAMPLES = { + "normal": { # 三点交会:区域有界、MEC 远小于 20 m + "target": (80.0, 90.0), + "measurements": [(-600.0, -250.0, 27.21505117707799), + (650.0, -100.0, 161.015051177078), + (100.0, 700.0, 268.4721225527146)], + }, + "triangle": { # 直径圆反例:直径圆不覆盖区域 + "target": (20.0, 11.547005383792515), + "measurements": [(-1000.0, 0.0, 1.0), + (540.0, -866.0254037844386, 121.0), + (520.0, 900.6664199358162, 241.0)], + }, + "poor": { # 近共线:细长区域,MEC 远大于直径圆 + "target": (0.0, 0.0), + "measurements": [(-900.0, -20.0, 1.29), (0.0, 0.0, 0.0), (900.0, 20.0, 358.73)], + }, +} + +def solve_q1(case: str, rounding_margin_deg: float = 0.0) -> dict: + """复现 `mcm26b q1 examples/q1/.json` 的求解口径。""" + rows = Q1_EXAMPLES[case]["measurements"] + measurements = [Measurement(x, y, bearing, 1.0 + rounding_margin_deg) + for x, y, bearing in rows] + return solve(measurements) + +normal = solve_q1("normal") +print("== 三点交会 ==") +print("状态 :", normal["status"], "顶点数", len(normal["vertices"])) +print("直径 : %.3f m" % normal["diameter_m"]) +print("直径圆覆盖区域 :", normal["diameter_circle"]["covers"], + "最大超出 %.3f m" % normal["diameter_circle"]["max_excess_m"]) +print("最小包围圆 : 圆心 (%.3f, %.3f) 半径 %.3f m" + % (*normal["minimum_enclosing_circle"]["center"], + normal["minimum_enclosing_circle"]["radius_m"])) +print("可原地清除 :", normal["guaranteed_clearable_at_mec_center"]) +assert normal["status"] == "polygon" and normal["diameter_m"] > 0 +assert normal["diameter_infinite"] is False +''')) + +add(code(r''' +# 反例:直径圆的圆心是"最远顶点对"的中点,第二个最远顶点可能落在圆外。 +tri = solve_q1("triangle") +print("== 直径圆反例(等边三角形) ==") +print("定位区域顶点:", [[round(v, 2) for v in p] for p in tri["vertices"]]) +print("直径 %.3f m(最远顶点对 %s)" % (tri["diameter_m"], + [[round(v, 2) for v in p] for p in tri["diameter_pair"]])) +print("直径圆:圆心 %s 半径 %.3f m" % ([round(v, 2) for v in + tri["diameter_circle"]["center"]], tri["diameter_circle"]["radius_m"])) +print("圆外顶点下标 %s(见证顶点 %s),最大超出 %.3f m" + % (tri["diameter_circle"]["outside_vertex_indices"], + [round(v, 2) for v in tri["diameter_circle"]["witness_vertex"]], + tri["diameter_circle"]["max_excess_m"])) +print("直径圆覆盖整个定位区域:", tri["diameter_circle"]["covers"]) +print("最小包围圆半径 %.3f m(>= 直径/2 = %.1f m,才是真正的最小覆盖半径)" + % (tri["minimum_enclosing_circle"]["radius_m"], tri["diameter_m"] / 2)) +assert tri["diameter_circle"]["covers"] is False +assert tri["diameter_circle"]["outside_vertex_indices"] == [2] +# 一般地 直径/2 <= 最小包围圆半径;等边三角形取严格大于(23.09 > 20) +assert tri["minimum_enclosing_circle"]["radius_m"] >= tri["diameter_m"] / 2 - 1e-9 + +poor = solve_q1("poor") +print("\n== 近共线细长区域 ==") +print("状态 %s,直径 %.1f m,最小包围圆半径 %.1f m,可原地清除 %s" + % (poor["status"], poor["diameter_m"], + poor["minimum_enclosing_circle"]["radius_m"], + poor["guaranteed_clearable_at_mec_center"])) +assert poor["minimum_enclosing_circle"]["radius_m"] > 20.0 +assert poor["guaranteed_clearable_at_mec_center"] is False + +empty = solve([]) +unbounded = solve([Measurement(-600.0, -250.0, 27.21505117707799, 1.0)]) +print("\n无观测 ->", empty["status"], "| 单条示向度 ->", unbounded["status"], + "(衰退方向 %s)" % unbounded["recession_direction"]) +assert empty["status"] == "unbounded" and unbounded["status"] == "unbounded" +''')) + +add(code(r''' +# 示向度二位小数的舍入敏感性:误差半角 1.0° vs 1.005°(含 0.005° 舍入裕量) +tight = solve_q1("normal", 0.0) +loose = solve_q1("normal", 0.005) +print("舍入裕量 0.000°:直径 %.3f m,MEC 半径 %.3f m" + % (tight["diameter_m"], tight["minimum_enclosing_circle"]["radius_m"])) +print("舍入裕量 0.005°:直径 %.3f m,MEC 半径 %.3f m" + % (loose["diameter_m"], loose["minimum_enclosing_circle"]["radius_m"])) +print("放宽 %.3f° 使 MEC 半径增加 %.3f m —— 因此库默认带该裕量," + "否则合法真源可能被角域裁掉" % (0.005, loose["minimum_enclosing_circle"]["radius_m"] + - tight["minimum_enclosing_circle"]["radius_m"])) +assert loose["minimum_enclosing_circle"]["radius_m"] >= \ + tight["minimum_enclosing_circle"]["radius_m"] - 1e-9 +''')) + +# =============================================================== 8 问题二 +add(md(""" +## 8. 问题二:第二检测点的选择 + +给定首次 `direction` 读数(检测点 s₁、示向度 θ₁±1°),构造 +K₁ = Ω ∩ W(s₁, θ₁±δ_eff) ∩ B(s₁, 1500),再在**保证接收盘**内选第二点: + +- 目标函数:候选读数分支下的**最坏后验包围半径**(越小越好,直接决定能否进入 20 m 清除圈); +- 次指标:从当前位置出发的移动时间(同分决胜); +- 采样是启发式(候选点族 × 目标边界点 × 读数区间端点),选定后按 1/4 间距加密复核并如实上报。 +""")) + +add(code(r''' +class _StateStub: + """最小状态替身:只提供选点器需要的当前位置与当前测向频道。""" + + def __init__(self, position=(0.0, 0.0), channel: int = 1): + self.position = position + self.channel = channel + + +class _ClientStub: + def __init__(self, position=(0.0, 0.0), channel: int = 1): + self.state = _StateStub(position, channel) + + +CONFIG = ProblemConfig() + +def plan_second_point(station, bearing_deg, from_position=(0.0, 0.0)): + """问题二主入口:首次示向度 -> 保证接收的第二检测点方案。""" + client = _ClientStub(from_position, channel=1) + return select_second_point(client, station, bearing_deg, CONFIG) + + +def plan_second_point_from(region, from_position=(0.0, 0.0)): + """已知候选集时的下一测点(同一选点器,供逐次追加测点演示)。""" + return select_measurement_point(region, from_position, CONFIG) + + +# 首次检测:真源在 (300, 400),从原点测得示向度 53.13°,误差半角 ±1° +station1, bearing1 = (0.0, 0.0), 53.13010235415598 +cert = first_bearing_candidate_disk(Measurement(*station1, bearing1, 1.0)) +print("首次角域扇形的包围圆:圆心 (%.1f, %.1f) 半径 %.1f m" + % (*cert["sector_enclosing_circle"]["center"], + cert["sector_enclosing_circle"]["radius_m"])) +print("保证接收盘 :圆心 (%.1f, %.1f) 半径 %.1f m" + % (*cert["sufficient_candidate_disk"]["center"], + cert["sufficient_candidate_disk"]["radius_m"])) + +# 首次读数后的候选集 K1 = Ω ∩ W(s1, θ1±δ_eff) ∩ B(s1, 1500) +half = 1.0 + CONFIG.search.bearing_rounding_margin_deg +region = CandidateRegion.initial(station1, CONFIG) +region.clip_wedge(station1, bearing1, half) + +plan = plan_second_point(station1, bearing1) +print("\n第二检测点 (%8.2f, %8.2f)" % plan.position) +print("最坏后验包围半径 %.2f m(当前候选集 MEC 半径 %.1f m,必须更小才叫有信息)" + % (plan.worst_posterior_radius_m, region.mec()[1])) +print("移动耗时 %.1f s(次指标:同样精度下取更近的点)" % plan.move_cost_s) +print("依据:", plan.reason) +''')) + +add(code(r''' +# 用同一套观测语义复核这个点:无论真源落在候选集何处,第二点都必收到信号。 +# 候选集边界按 1 m 加密采样做最坏情形检验。 +worst_distance, worst_radius, samples = 0.0, 0.0, 0 +for truth in region.witnesses(1.0): + worst_distance = max(worst_distance, math.dist(plan.position, truth)) + for reading in (bearing_deg(plan.position, truth) - half, + bearing_deg(plan.position, truth) + half): + probe = CandidateRegion(list(region.polygon), region.slack_m) + probe.clip_wedge(plan.position, reading, half) + if probe.polygon: + worst_radius = max(worst_radius, probe.mec()[1]) + samples += 1 +print("候选集边界采样点 %d 个" % samples) +print("真源到第二点的最远距离 %.2f m(<= 1000 m 才保证收到信号)" % worst_distance) +print("对候选集最坏点、最不利读数的后验包围半径 %.2f m" % worst_radius) +print("第二点相对候选集包围圆的保证接收余量:%.1f m" + % (CONFIG.field.r_eff_min_m - region.mec()[1] - math.dist(plan.position, + region.mec()[0]))) +assert worst_distance <= CONFIG.field.r_eff_min_m # 保证接收:不会浪费 no_signal +assert worst_radius < region.mec()[1] # 一定带来收缩 + +# 逐次追加测点:最坏后验半径单调收缩,第三点后进入 20 m 清除圈 +for step in range(2, 5): + if plan.worst_posterior_radius_m <= CONFIG.field.clear_radius_m: + break + region.clip_wedge(plan.position, bearing_deg(plan.position, (300.0, 400.0)), half) + plan = plan_second_point_from(region, (0.0, 0.0)) + print("追加第 %d 个测点 (%8.2f, %8.2f):最坏后验半径 %.2f m" + % (step, *plan.position, plan.worst_posterior_radius_m)) +print("\n结论:第二点负责\"保证接收 + 最大化交会角\",后验精度由后续测点继续压缩;" + "20 m 清除圈通常在第三点后达成。") +assert plan.worst_posterior_radius_m <= CONFIG.field.clear_radius_m +''')) + +add(code(r''' +# 对照:候选集在不同首次示向度下的选择结果(目标函数与移动代价的权衡) +print("首次示向度 第二点位置 最坏后验半径 移动耗时") +for bearing in (0.0, 45.0, 90.0, 135.0, 180.0, 225.0, 270.0, 315.0): + item = plan_second_point(station1, bearing, from_position=(-1500.0, 0.0)) + print("%7.1f° (%8.2f, %8.2f) %8.2f m %6.1f s" + % (bearing, item.position[0], item.position[1], + item.worst_posterior_radius_m, item.move_cost_s)) +''')) + +# =============================================================== 9 问题三 +add(md(r""" +## 9. 问题三:全向源闭环 + +第三问没有可直连的模拟器时,仍可自检全部**决策内核**: + +1. 七站覆盖计划是否真的覆盖 Ω(每点到最近站 ≤ 1000 m); +2. 网格幸存集在随机观测序列后是否始终保留真源(Voronoi 裕量定理); +3. 空幸存集、跳测规则、清除证书是否按预期给出; +4. 任务表排序(最近邻 + 2-opt)是否真的缩短开放路径。 + +合成观测按下述语义生成,与题面一致(`r_eff` 未知,只在 [1000, 1500] 内取值): +`dist > r_eff → no_signal`;`dist ≤ 5 → near`;否则 `direction`,读数为真实方位 +加上 ≤1° 的误差。 +""")) + +add(code(r''' +def observe_omni(truth, station, r_eff, bearing_noise_deg=0.0): + """全向源的观测语义(合成用):返回 (result, svd_deg)。""" + distance = math.dist(truth, station) + if distance > r_eff: + return "no_signal", None + if distance <= 5.0: + return "near", None + return "direction", (bearing_deg(station, truth) + bearing_noise_deg) % 360.0 + + +def observe_directional(truth, heading_deg, station, r_eff, bearing_noise_deg=0.0): + """定向源的观测语义:源→读点方向与朝向夹角 > 90° 时同样静默。""" + dx, dy = station[0] - truth[0], station[1] - truth[1] + distance = math.hypot(dx, dy) + if distance > r_eff: + return "no_signal", None + forward = dx * math.cos(math.radians(heading_deg)) \ + + dy * math.sin(math.radians(heading_deg)) + if forward < 0.0: + return "no_signal", None # 背向发射:接收不到 + if distance <= 5.0: + return "near", None + return "direction", (bearing_deg(station, truth) + bearing_noise_deg) % 360.0 + + +# ---- 9.1 七站解析覆盖计划 --------------------------------------------------- +CONFIG_Q3 = replace(CONFIG, bayes=replace(BayesConfig(), station_ring_radius_m=1200.0)) +bound = validate_seven_coverage(CONFIG_Q3.bayes.station_ring_radius_m, CONFIG_Q3) +plan7 = seven_plan(CONFIG_Q3.bayes.station_ring_radius_m) +print("七站环半径 %.1f m,最近站最远距离解析上界 %.1f m(阈值 1000 m)" + % (CONFIG_Q3.bayes.station_ring_radius_m, bound)) +print("站点:", [tuple(round(v, 1) for v in point) for point in plan7.points]) + +# 数值复核必须与证书同分辨率:这里用 300 m / 12 档演示(全分辨率证书见 4.4 节) +cert7 = verify_full_disk(plan7.points, step_m=300.0, r_eff=R_EFF_MIN_M) +print("粗采样复核:目标点 %d 个,未覆盖 %d 个,最坏命中 %.1f m,最近邻巡回 %.1f km" + % (cert7.targets, cert7.uncovered, cert7.worst_hit_distance_m, cert7.nn_tour_m / 1000)) +assert cert7.uncovered == 0 and cert7.worst_hit_distance_m <= R_EFF_MIN_M +assert bound <= CONFIG_Q3.field.r_eff_min_m +''')) + +add(code(r''' +# ---- 9.2 网格幸存集的真源保留性(Voronoi 裕量定理的随机检验) ---------------- +Random(20260913).seed(20260913) +source = (300.0, 400.0) # 真源 +r_eff_true = 1200.0 # 真源的有效接收半径(策略端不可见) +stations = [(x, y) for x, y in + [(-900.0, 200.0), (0.0, 0.0), (600.0, -700.0), (1100.0, 800.0)]] + +pf = ChannelParticles(CONFIG_Q3) +start_alive = len(pf) +retained = True +for index, station in enumerate(stations): + result, svd = observe_omni(source, station, r_eff_true, + bearing_noise_deg=0.8 if index % 2 else -0.9) + pf.apply_measure(station, result, svd) + cell = (min(pf.alive, key=lambda k: math.dist(pf.cell_center(k), source)) + if pf.alive else None) + truth_offset = (math.dist(pf.cell_center(cell), source) if cell is not None + else float("nan")) + keeps_truth = (cell is not None + and truth_offset <= pf.margin_m + 1e-9) + retained = retained and keeps_truth + center, radius = pf.mec() + print("第 %d 次读数 %-9s 幸存格 %6d 格心距真源 %7.3f m(裕量 %.3f m) MEC 半径 %8.3f m" + % (index + 1, result, len(pf), truth_offset, pf.margin_m, radius)) +print("\n初始幸存格 %d;真源始终落在某个幸存格内:%s" % (start_alive, retained)) +print("Voronoi 裕量 m = %.3f m(格心到格内任一点的最大距离)" % pf.margin_m) +assert retained and pf.version > 0 + +# 跳测规则:必 no_signal 且不产生新排除的 (测点, 频道) 对应当被直接跳过 +far_station = (4000.0, 4000.0) +print("远端测点 %s 是否必 no_signal:%s" % (far_station, pf.guaranteed_no_signal(far_station))) +assert pf.guaranteed_no_signal(far_station) is True +''')) + +add(code(r''' +# ---- 9.3 证书与缺席证明 ----------------------------------------------------- +center, radius = pf.mec() +limit = CONFIG_Q3.field.clear_radius_m - pf.margin_m - CONFIG_Q3.search.clear_margin_m +print("幸存集 MEC:圆心 (%.2f, %.2f) 半径 %.3f m" % (*center, radius)) +print("网格清除证书阈值 %.3f m(= 20 − 裕量 %.3f − 工程余量 %.1f)→ 可清除:%s" + % (limit, pf.margin_m, CONFIG_Q3.search.clear_margin_m, radius <= limit)) + +# near 读数把候选集收缩到 5 m 盘:凸口径直接给出清除证书 +near_region = CandidateRegion.disk((source[0] + 3.0, source[1]), 5.0, + CONFIG_Q3.search.polygon_sides) +near_cert = clear_certificate(near_region, channel=7, config=CONFIG_Q3) +print("near 读数后的凸证书:半径 %.3f m ≤ %.3f m → %s" + % (near_cert.radius_m, near_cert.limit_m, near_cert.certified)) +assert near_cert.certified + +# 网格清除证书成立时,目标点可直接贴着来向利用 20 m 容差(三角不等式仍覆盖整集) +near_cert2 = loop_cert = None +center, radius = pf.mec() +shift = max(0.0, (CONFIG_Q3.field.clear_radius_m - pf.margin_m + - CONFIG_Q3.search.clear_margin_m) - radius) +shifted = (center[0] + shift * 0.6, center[1] + shift * 0.8) +print("沿来向偏移后清除点距真源 %.3f m <= 半径 %.3f + 偏移 %.3f = %.3f m < 20 m" + % (math.dist(shifted, source), radius, shift, radius + shift)) + +# 缺席证明:覆盖计划(七站)全 no_signal 后幸存集清空 —— 与解析证明互相印证 +absent = ChannelParticles(CONFIG_Q3) +for station in plan7.points: + absent.apply_measure(station, "no_signal") +print("\n七站全部 no_signal 后幸存格 %d → 该频道判缺席(无需等覆盖账本跑完)" + % len(absent)) +partial = ChannelParticles(CONFIG_Q3) +for station in plan7.points[:-1]: + partial.apply_measure(station, "no_signal") +print("只测其中 6 站仍有 %d 个幸存格 → 七站是刚好够用的最小解析覆盖" + % len(partial)) +assert len(absent) == 0 and len(partial) > 0 +assert absent.guaranteed_no_signal(tuple(plan7.points[0])) is True +''')) + +add(code(r''' +# ---- 9.4 统一任务表与滚动排序(信息增益选点 + 2-opt) ------------------------ +class _LogStub: + def action_events(self): + return [] + + def step_events(self): + return [] + + +client3 = SimulatorClient("2026001", config=CONFIG_Q3, transport=None, log=_LogStub()) +client3.state.position = (0.0, 0.0) +loop3 = BayesLoop(client3, CONFIG_Q3) +print("第三问策略:覆盖计划 %s(%d 站),网格间距 %.2f m" + % (loop3.coverage_plan.name, len(loop3.coverage_plan.points), + CONFIG_Q3.bayes.particle_spacing_m)) + +# 注入一次真实读数,建立该频道的信念与粒子集 +loop3._record_measure(9, (0.0, 0.0), type("O", (), { + "result": "direction", "svd_deg": bearing_deg((0.0, 0.0), (300.0, 400.0))})()) +tasks = loop3._build_tasks() +print("任务表:%d 项(站点扫频 %d / 定位 %d / 清除 %d)" + % (len(tasks), sum(t.kind == "station" for t in tasks), + sum(t.kind == "locate" for t in tasks), sum(t.kind == "clear" for t in tasks))) +order = loop3._order_tasks(tasks) +print("排序后前 5 项:", [(t.kind, t.channel) for t in order[:5]]) +print("2-opt 前后路径耗时 %.2f s -> %.2f s" + % (loop3._path_cost(tasks), loop3._path_cost(order))) +assert loop3._path_cost(order) <= loop3._path_cost(tasks) + 1e-9 + +point = loop3._select_point(9) +print("信息增益选点:(%8.2f, %8.2f)" % point) +assert point is not None and 9 in loop3.particles +''')) + +add(code(r''' +# ---- 9.5 覆盖计划证书:离线全分辨率生成,运行期按同分辨率复核 ---------------------------------- +plan_v2 = plan_instance("q4_mincover_v2", verify=False) +cert_v2 = plan_v2.certificate +print("第四问覆盖计划 %s:%d 点" % (plan_v2.name, len(plan_v2.points))) +print("证书采样分辨率 %g m / %d 档,目标 (p,h) %d 个,缺口 %d,最坏命中 %.3f m" + % (cert_v2.target_step_m, cert_v2.headings, cert_v2.targets, + cert_v2.uncovered, cert_v2.worst_hit_distance_m)) +print("最近邻巡回 %.1f km(虚拟移动 %.1f s)→ 发现阶段的移动代价下界" + % (cert_v2.nn_tour_m / 1000, cert_v2.nn_tour_m / CONFIG.cost.speed_mps)) +print("设计裕量:r_design %.0f m、前向角裕量 %.1f°;校核用 r_eff %.0f m、角裕量 %.1f°" + % (plan_v2.generator["design_r_eff_m"], plan_v2.generator["heading_margin_deg"], + cert_v2.r_eff_min_m, cert_v2.verify_heading_margin_deg)) +assert cert_v2.uncovered == 0 and cert_v2.targets == 3256200 + +plan_v1 = plan_instance("q4_mincover_v1", verify=False) +print("\n对照 %s:同样 %d 点,但证书采样只有 %g m / %d 档,细网格复检有 125 个缺口" + % (plan_v1.name, len(plan_v1.points), plan_v1.generator["target_step_m"], + plan_v1.generator["headings"])) +print("→ 采样分辨率必须与证书一致,否则'删掉一个关键点仍看似覆盖'(校核退化为装饰)") +''')) + +# =============================================================== 10 问题四 +add(md(r""" +## 10. 问题四:含定向源的闭环 + +定向源的难点是**静默的歧义**:`no_signal` 既可能是距离不足,也可能是朝向遮挡。 +本问的关键推理与对策: + +1. **联合可行集**:给每个幸存格附 24 档朝向掩码。`direction`/`near` 要求朝向 + *可能*覆盖读点;`no_signal`(且整格必在 1000 m 内)要求朝向*确定不*覆盖读点。 + 真源 (位置, 朝向) 永不被删;联合集为空即缺席证明。 +2. **可见性选点**:`prob_detect` 给出"在该点能看见任一可行 (位置,朝向) 的概率质量", + 先在可见候选中过滤(`prob_detect ≥ ratio × max`),再取"看得见且少走路"的点, + 取代固定 45° 阶梯试探。 +3. **后备清除**:定位停滞时对有界候选集构造 ≤20 m 有限圆盘覆盖逐格 `/clear`—— + 清除只与距离有关、与朝向无关,是完备兜底(格数即请求上界,超限即拒绝盲扫)。 +""")) + +add(code(r''' +# ---- 10.1 定向覆盖最小命中集的覆盖语义 -------------------------------------- +plan_q4 = plan_instance("q4_mincover_v2", verify=False) +coarse = verify_forward_half_disk(plan_q4.points, step_m=300.0, headings=12, + r_eff=R_EFF_MIN_M, heading_margin_deg=0.0) +print("最小命中集 %d 点,粗采样复核 (p,h) %d 个:未覆盖 %d,最坏命中 %.1f m" + % (len(plan_q4.points), coarse.targets, coarse.uncovered, + coarse.worst_hit_distance_m)) +square49 = square_49_plan() +coarse49 = verify_forward_half_disk(square49.points, step_m=300.0, headings=12) +print("对照 700 m 方格 %d 点:同样未覆盖 %d,巡回 %.1f km vs %.1f km" + % (len(square49.points), coarse49.uncovered, + coarse49.nn_tour_m / 1000, coarse.nn_tour_m / 1000)) +assert coarse.uncovered == 0 and coarse.targets > 0 +''')) + +add(code(r''' +# ---- 10.2 (位置 × 朝向) 联合可行集的保守性随机检验 -------------------------- +truth4 = (420.0, -260.0) # 真源位置 +heading4 = 200.0 # 真源朝向(背向圆心发射的边界工况) +r_eff4 = 1100.0 # 真源的有效接收半径(策略端不可见) + + +def station_at(bearing_from_truth_deg, distance_m): + """按"从真源看过去的方位"构造测点,便于控制可见/遮挡工况。""" + return (truth4[0] + distance_m * math.cos(math.radians(bearing_from_truth_deg)), + truth4[1] + distance_m * math.sin(math.radians(bearing_from_truth_deg))) + + +# 前向半球内的测点(|方位 − 朝向| ≤ 90°):应收到 direction; +# 超过 1100 m 的测点:无论朝向如何都 no_signal。 +CASES = [(heading4 - 85.0, 900.0), (heading4 + 85.0, 700.0), (heading4, 600.0), + (heading4 + 30.0, 1050.0), (heading4 - 60.0, 400.0), (heading4 + 130.0, 800.0), + (heading4, 1250.0)] + +joint = JointBelief(CONFIG) +half_bin = 0.5 * 360.0 / HEADING_BINS # 档位半宽 7.5°:真实朝向必落在某一档内 +expected = ["direction"] * 5 + ["no_signal"] * 2 +for (bearing, dist_m), want in zip(CASES, expected): + station = station_at(bearing, dist_m) + result, svd = observe_directional(truth4, heading4, station, r_eff4) + joint.apply(station, result, svd) + cell = min(joint.position.alive, + key=lambda k: math.dist(joint.position.cell_center(k), truth4)) + offset = math.dist(joint.position.cell_center(cell), truth4) + mask = joint._mask(cell) + keeps = any(heading_gap(360.0 * k / HEADING_BINS, heading4) <= half_bin + for k in range(HEADING_BINS) if mask >> k & 1) + print("测点方位 %6.1f° 距离 %5.0f m → %-9s(预期 %-9s)幸存格 %6d " + "真源格偏移 %6.3f m(裕量 %.3f m)朝向档 %2d 个 含真源朝向档:%s" + % (bearing % 360.0, dist_m, result, want, len(joint), offset, + joint.position.margin_m, bin(mask).count("1"), keeps)) + assert result == want, "合成观测与题面语义不一致" + assert keeps, "联合信念删掉了真源的朝向档(保守性被破坏)" + assert offset <= joint.position.margin_m + 1e-9, \ + "联合信念删掉了真源的位置格(Voronoi 裕量被破坏)" + +print("\n联合集规模 %d 格,抽样平均朝向档 %.2f / %d" + % (len(joint), joint.summary()["sampled_mean_heading_bins"], HEADING_BINS)) +assert not joint.is_absent() +''')) + +add(code(r''' +# ---- 10.3 可见性选点取代固定阶梯;后备清除兜底 ------------------------------ +print("探点可见性概率(越高越可能在该点收到信号):") +for candidate in [(-2000.0, 0.0), (0.0, 0.0), (420.0, -260.0), (1500.0, -900.0), + (420.0 + 800.0 * math.cos(math.radians(heading4)), + -260.0 + 800.0 * math.sin(math.radians(heading4)))]: + print(" (%8.1f, %8.1f) prob_detect = %.4f" + % (*candidate, joint.prob_detect(candidate))) + +# 定位停滞时的后备:候选集有界 -> 20 m 网格覆盖,格心到格内任一点 <= 10√2 < 20 m +region4 = CandidateRegion.initial((0.0, 0.0), CONFIG) +region4.clip_wedge((0.0, 0.0), 45.0, 1.0 + CONFIG.search.bearing_rounding_margin_deg) +region4.clip_disk((900.0, 900.0), 900.0, CONFIG.search.polygon_sides) +cells = fallback_clear_cells(region4.polygon, CONFIG) +width = max(p[0] for p in region4.polygon) - min(p[0] for p in region4.polygon) +height = max(p[1] for p in region4.polygon) - min(p[1] for p in region4.polygon) +print("\n候选集外包框 %.0f m × %.0f m,20 m 网格覆盖 %d 格(外包框枚举上界 %d)" + % (width, height, len(cells), fallback_cell_bound(width, height, CONFIG))) +print("格内任意点到最近格心 <= %.2f m < 20 m → 逐格 /clear 至少命中一次" + % (CONFIG.search.fallback_clear_grid_m * math.sqrt(2) / 2)) +assert cells and len(cells) <= CONFIG.search.fallback_max_cells + +# 覆盖完备性抽查:在候选集外包框内随机撒点,每个点都必落在某个格心 20 m 内 +rng = Random(7) +covered = 0 +for _ in range(2000): + u, v = rng.random(), rng.random() + sample = (min(p[0] for p in region4.polygon) + u * width, + min(p[1] for p in region4.polygon) + v * height) + if not region4.contains(sample, tol_m=0.0): + continue # 框内但在候选集外:不计入 + covered += min(math.dist(sample, cell) for cell in cells) <= 20.0 +print("外包框内落在候选集中的随机点,被某个格心 20 m 覆盖:%d 个" % covered) +assert covered > 0 +''')) + +add(code(r''' +# ---- 10.4 第四问闭环装配(不连模拟器:只检查策略对象初始化) ---------------- +client4 = SimulatorClient("2026001", config=CONFIG, transport=None, log=_LogStub()) +client4.state.position = (0.0, 0.0) +loop4 = DirectionalExtension(client4, CONFIG) +print("第四问策略:覆盖计划 %s(%d 点),联合信念开关 %s,探点口径 %s" + % (loop4.coverage_plan.name, len(loop4.coverage_plan.points), + CONFIG.search.directional_joint_belief, CONFIG.search.probe_score_mode)) +print("后备清除硬顶 %d 格,单轮遮挡探点预算 %d 次,定位步数上限 %d" + % (CONFIG.search.fallback_max_cells, CONFIG.search.max_blocked_probes, + CONFIG.search.max_localize_steps)) + +# 保证接收盘内的 no_signal 只能由朝向遮挡解释:模拟"被遮挡"的梯子升级 +blocked_point = (600.0, 600.0) +loop4._observe(3, blocked_point, "direction", + bearing_deg(blocked_point, truth4)) +cert4 = clear_certificate(loop4.belief.candidate_set(3), 3, CONFIG) +print("\n频道 3 候选集半径 %.1f m,可清除:%s" % (cert4.radius_m, cert4.certified)) +safe = safe_disk_radius(loop4.belief.candidate_set(3), CONFIG) +print("保证接收盘半径 %.1f m(盘内必收到信号 -> 静默即遮挡)" % safe) +loop4._observe(3, blocked_point, "no_signal", None) +next_probe = loop4._next_probe(loop4.belief.candidate_set(3), 3) +print("被遮挡后梯子升级到的探点:(%8.2f, %8.2f)" + % next_probe) +assert loop4.joint.get(3) is not None and not loop4.joint[3].is_absent() +''')) + +# =============================================================== 11 收尾 +add(md(""" +# 第四部分 · 总览与自检 + +## 11. 本文件包含 / 不包含的内容 + +**包含**(四问生产路径): + +| 层 | 模块 | 内容 | +| --- | --- | --- | +| 参数 | `config.py` | 题面常量 + 工程参数 | +| 协议 | `protocol/` | 规则表、计时模型、状态机、传输、会话日志、串行幂等客户端 | +| 几何 | `geometry/` | 角域交会定位、直径圆、最小包围圆、保证接收盘证书 | +| 信念 | `belief/` | 保守凸候选集、(位置×朝向) 联合可行集 | +| 滤波 | `particles.py` | 网格幸存集、负观测更新、跳测规则、信息增益评分 | +| 保证 | `coverage/` `guarantee/` | 覆盖账本、覆盖计划与证书、最小命中集 | +| 调度 | `routing.py` | 开放路径排序(最近邻 + 2-opt) | +| 策略 | `planner/` | 问题二选点器、全向闭环骨架、贝叶斯闭环(第三问默认)、定向扩展(第四问) | + +**不包含**(按要求剔除): + +- `referee/`:独立评测机(模拟器引擎 + 机器狗接口 + WebUI)——按附件协议独立复现, + 与本队求解代码零耦合,不属求解方案; +- `src/mcm26b/harness/`:测试侧内存回环、故障注入、日志回放、场景生成; +- `src/mcm26b/cli.py`、`geometry/__main__.py`、`main.py`:命令行外壳; +- `scripts/`:采集、基准、Optuna 调参、可视化、论文插图与校核脚本; +- `project/`:1-4 问"最优实现 / 基线实现"对比框架;`tests/`:单元测试; +- 未被生产路径调用的函数:`routing.py` 的离线度量族(`held_karp_open` / + `optimal_open_path` / `or_opt_open` / `mst_weight` / `route_metrics`, + 仅用于事后路由下界审计)、`guarantee/cover.py` 的计划落盘 IO、 + `planner/seven.py` 的未采用变体(`SevenImmediate` / `SevenSweep`)。 + 这些在仓库中保留并有测试守护,默认关闭或不被实例化。 + +## 12. 运行口径 + +```bash +# 对接官方模拟器(演练/正式) +python -m mcm26b.run --robot-id <队号> --problem 3 # 第三问:bayes 闭环 +python -m mcm26b.run --robot-id <队号> --problem 4 # 第四问:directional 闭环 +``` + +成绩口径是**虚拟时间**:`avg_locate_clear_time_s = 全程虚拟时长 / 已清除源数`, +找全证明达成后立即 `/exit` 而不是复扫到限时。 +""")) + +add(code(r''' +# ---- 总自检:把四问的核心结论再跑一遍,全部通过才算整理成功 ---------------- +checks = [] + +q1 = solve_q1("normal") +checks.append(("问1 角域交会有界且直径有限", + q1["status"] == "polygon" and q1["diameter_infinite"] is False)) +checks.append(("问1 三点交会可原地清除(MEC ≤ 20 m)", + q1["guaranteed_clearable_at_mec_center"] is True)) +checks.append(("问1 直径圆反例被识别(covers=False)", + solve_q1("triangle")["diameter_circle"]["covers"] is False)) + +plan2 = plan_second_point(station1, bearing1) +checks.append(("问2 第二点在保证接收盘内", + math.dist(plan2.position, region.mec()[0]) + <= safe_disk_radius(region, CONFIG))) +checks.append(("问2 追加三点后最坏后验半径 ≤ 20 m", + plan.worst_posterior_radius_m <= CONFIG.field.clear_radius_m)) + +checks.append(("问3 七站解析覆盖上界 < 1000 m", + bound < CONFIG_Q3.field.r_eff_min_m)) +checks.append(("问3 七站计划粗采样无缺口", cert7.uncovered == 0)) +checks.append(("问3 粒子滤波保留真源", retained)) +checks.append(("问3 空幸存集给出缺席证明", len(absent) == 0)) +checks.append(("问3 2-opt 不劣于原任务序", + loop3._path_cost(order) <= loop3._path_cost(tasks) + 1e-9)) + +checks.append(("问4 最小命中集 31 点、证书 0 缺口", + len(plan_q4.points) == 31 and cert_v2.uncovered == 0)) +checks.append(("问4 粗采样复核定向覆盖无缺口", coarse.uncovered == 0)) +checks.append(("问4 联合信念保留真源朝向档", not joint.is_absent())) +checks.append(("问4 后备清除格数在硬顶内", + len(cells) <= CONFIG.search.fallback_max_cells)) +checks.append(("问4 闭环装配成功(定向覆盖计划已加载)", + loop4.coverage_plan.name.startswith("q4_mincover"))) + +print("四问核心自检:") +for name, ok in checks: + print(" [%s] %s" % ("通过" if ok else "失败", name)) +assert all(ok for _, ok in checks), "自检未全部通过" +print("\n全部 %d 项通过。" % len(checks)) +''')) + + +def build(path: Path) -> None: + notebook = { + "cells": CELLS, + "metadata": { + "kernelspec": {"display_name": "Python 3", "language": "python", + "name": "python3"}, + "language_info": {"name": "python", "version": "3.10", + "mimetype": "text/x-python", + "file_extension": ".py", + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "codemirror_mode": {"name": "ipython", "version": 3}}, + }, + "nbformat": 4, + "nbformat_minor": 5, + } + path.write_text(json.dumps(notebook, ensure_ascii=False, indent=1) + "\n", + encoding="utf-8") + code_lines = sum(len(cell["source"]) for cell in CELLS + if cell["cell_type"] == "code") + md_cells = sum(1 for cell in CELLS if cell["cell_type"] == "markdown") + print(f"已写出 {path}:{len(CELLS)} 个单元" + f"(markdown {md_cells},代码 {len(CELLS) - md_cells},代码行 {code_lines})") + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="生成四问核心代码单文件 notebook") + parser.add_argument("-o", "--output", type=Path, + default=ROOT / "mcm26b-核心代码.ipynb") + build(parser.parse_args().output) diff --git a/scripts/build_paper_support.py b/scripts/build_paper_support.py index 545c5f5..79e485b 100644 --- a/scripts/build_paper_support.py +++ b/scripts/build_paper_support.py @@ -1,10 +1,11 @@ -"""Build vector figure sources, comparison tables, source listings, and a support ZIP. +"""Build vector figure sources, comparison tables, the formal-data table, and a support ZIP. -Formal figures use the audited snapshot only. Geometric figures use declared -algorithm parameters, not fabricated observations or hidden simulator data. -The paired optimal-versus-baseline tables are generated from project/results/*.json -so that no number in the comparison section is hand copied. +The generated table rows are f-strings whose value equals the LaTeX line to be +written; wrapping them would obscure that one-to-one correspondence, so this module +is exempt from the line-length check (the only pylint exception in scripts/). """ +# pylint: disable=line-too-long + from __future__ import annotations import argparse @@ -18,29 +19,6 @@ ROOT = Path(__file__).resolve().parents[1] PAPER = ROOT / "docs/paper" PROJECT_RESULTS = ROOT / "project/results" -# Display copies only: executable Python files remain byte-for-byte unchanged. -ESCAPE_OPEN = "(" + "*@" -ESCAPE_CLOSE = "@*" + ")" -LATEX_SYMBOLS = { - "\u03b1": r"\alpha", "\u03b4": r"\delta", "\u03b8": r"\theta", - "\u03bb": r"\lambda", "\u03c0": r"\pi", "\u03c1": r"\rho", - "\u03c6": r"\varphi", "\u2308": r"\lceil", "\u2309": r"\rceil", - "\u2200": r"\forall", "\u2203": r"\exists", "\u2205": r"\varnothing", - "\u2208": r"\in", "\u2227": r"\wedge", "\u2229": r"\cap", - "\u222a": r"\cup", "\u2248": r"\approx", "\u2264": r"\le", - "\u2265": r"\ge", "\u2286": r"\subseteq", "\u2287": r"\supseteq", - "\u27f9": r"\Longrightarrow", -} - - -def escaped_listing(source: str) -> str: - if ESCAPE_OPEN in source or ESCAPE_CLOSE in source: - raise ValueError("Source collides with the LaTeX escape delimiters") - return "".join( - ESCAPE_OPEN + r"\ensuremath{" + LATEX_SYMBOLS[c] + "}" + ESCAPE_CLOSE - if c in LATEX_SYMBOLS else c for c in source - ) - def digest(data: bytes) -> str: return hashlib.sha256(data).hexdigest() @@ -49,7 +27,6 @@ def digest(data: bytes) -> str: def figures(rows: list[dict]) -> None: out = PAPER / "figures" out.mkdir(parents=True, exist_ok=True) -<<<<<<< HEAD plan = json.loads((ROOT / "src/mcm26b/guarantee/plans/q4_mincover_v2.json").read_text("utf-8")) lines = [ r"\begin{figure}[htbp]\centering", @@ -72,8 +49,6 @@ def figures(rows: list[dict]) -> None: r"\label{fig:q4plan}\end{figure}", ] (out / "q4-plan.tex").write_text("\n".join(lines) + "\n", "utf-8") -======= ->>>>>>> 78e4420a3e496c43db8e06556e539fd7d2aaf231 colors = ["inkblue", "inkblue!50", "warmgray!70", "black!18"] bars = [ r"\begin{figure}[htbp]\centering", @@ -266,27 +241,12 @@ def project_tables() -> None: def listings(rows: list[dict]) -> None: + """生成正式数据清单;核心函数源码清单由 build_code_appendix.py 单独生成。 + + 论文附录只收录四问主线的核心函数(数据源为单文件核心代码 ipynb), + 评测机、命令行外壳、采集/绘图脚本、测试与未采用方案不再逐字排版。 + """ data = PAPER / "data" - files = sorted((ROOT / "src/mcm26b").rglob("*.py")) - files += [ROOT / "scripts/audit_paper_formal.py", - ROOT / "scripts/build_paper_support.py"] - text = [ - r"\begingroup", - r"\linespread{1.0}\selectfont", - r"\lstset{basicstyle=\ttfamily\fontsize{8}{10}\selectfont,numberstyle=\tiny," - r"aboveskip=6pt,belowskip=8pt,xleftmargin=1.5em,frame=none}", - ] - for path in files: - rel = path.relative_to(ROOT).as_posix() - display = data / "listing-source" / (rel + ".tex") - display.parent.mkdir(parents=True, exist_ok=True) - display.write_text(escaped_listing(path.read_text("utf-8")), "utf-8") - display_rel = display.relative_to(PAPER).as_posix() - escape_option = "escapeinside={" + ESCAPE_OPEN + "}{" + ESCAPE_CLOSE + "}" - text += [fr"\subsection*{{\pathtext{{{rel}}}}}", - fr"\lstinputlisting[{escape_option}]{{{display_rel}}}"] - text.append(r"\endgroup") - (data / "source-listings.tex").write_text("\n".join(text) + "\n", "utf-8") table = [ r"\begin{longtable}{p{1.15cm}p{13.3cm}}", r"\caption{所选正式导出文件与完整包哈希}\label{tab:packages}\\", @@ -356,7 +316,9 @@ def package(rows: list[dict]) -> Path: if path.is_file() and "__pycache__" not in path.parts) selected.update([PAPER / "main.tex", PAPER / "mcm26b-paper.cls", PAPER / "README.md", PAPER / "REWRITE_NOTES.md", + ROOT / "mcm26b-核心代码.ipynb", ROOT / "scripts/audit_paper_formal.py", + ROOT / "scripts/build_code_appendix.py", ROOT / "scripts/build_paper_support.py"]) for row in rows: path = ROOT / "Jammers-simulator-full" / row["file"] diff --git a/scripts/run_notebook_cells.py b/scripts/run_notebook_cells.py new file mode 100644 index 0000000..ee0fca6 --- /dev/null +++ b/scripts/run_notebook_cells.py @@ -0,0 +1,88 @@ +"""执行 notebook 的全部代码单元(按顺序、共享全局命名空间),用于零依赖自检。 + +用法:: + + python scripts/run_notebook_cells.py [notebook.ipynb] [--record] + +等价于在 Jupyter 中"全部运行",但不需要 nbformat / nbclient:直接读 ipynb 的 +JSON、拼接 code 单元、写入临时文件后交给 `python` 执行。退出码即执行结果; +``--record`` 额外把逐单元的标准输出写回 notebook 的输出字段(生成已执行副本)。 +""" + +from __future__ import annotations + +import argparse +import contextlib +import io +import json +import subprocess +import sys +import tempfile +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent + + +def collect(notebook_path: Path) -> tuple[dict, list[str]]: + notebook = json.loads(notebook_path.read_text(encoding="utf-8")) + codes = ["".join(cell["source"]) + for cell in notebook["cells"] if cell["cell_type"] == "code"] + return notebook, codes + + +def run_and_record(notebook: dict) -> None: + """在本进程内逐单元执行并记录标准输出(写入 notebook 的 outputs 字段)。""" + scope: dict = {"__name__": "__main__"} + index = 0 + for cell in notebook["cells"]: + if cell["cell_type"] != "code": + continue + buffer = io.StringIO() + with contextlib.redirect_stdout(buffer): + # 与 Jupyter 同语义:单元之间共享同一个全局命名空间 + exec(compile("".join(cell["source"]), # pylint: disable=exec-used + f"", "exec"), scope) + text = buffer.getvalue() + cell["execution_count"] = index + 1 + cell["outputs"] = ([{"output_type": "stream", "name": "stdout", + "text": text.splitlines(keepends=True)}] if text else []) + index += 1 + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser(description="执行 notebook 代码单元并自检") + parser.add_argument("notebook", nargs="?", type=Path, + default=ROOT / "mcm26b-核心代码.ipynb") + parser.add_argument("--record", action="store_true", + help="在当前进程内执行并把输出写回 notebook(生成已执行副本)") + args = parser.parse_args(argv) + + notebook, codes = collect(args.notebook) + # 逐单元做语法检查,定位到具体单元 + for index, cell_source in enumerate(codes): + try: + compile(cell_source, f"", "exec") + except SyntaxError as exc: + print(f"单元 {index} 语法错误:{exc}", file=sys.stderr) + return 1 + total_lines = sum(len(cell.splitlines()) for cell in codes) + print(f"语法检查通过:{len(codes)} 个代码单元,{total_lines} 行") + + if args.record: + run_and_record(notebook) + args.notebook.write_text( + json.dumps(notebook, ensure_ascii=False, indent=1) + "\n", + encoding="utf-8") + print(f"已把逐单元输出写回 {args.notebook}") + return 0 + + with tempfile.TemporaryDirectory() as tmp: + target = Path(tmp) / "notebook_flat.py" + target.write_text("\n\n".join(codes), encoding="utf-8") + process = subprocess.run([sys.executable, str(target)], cwd=ROOT, + check=False) + return process.returncode + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/uv.lock b/uv.lock index 928b90d..894198c 100644 --- a/uv.lock +++ b/uv.lock @@ -2,8 +2,10 @@ version = 1 revision = 3 requires-python = ">=3.10" resolution-markers = [ - "(python_full_version >= '3.12' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform == 'win32')", - "python_full_version >= '3.12' and sys_platform != 'linux' and sys_platform != 'win32'", + "(python_full_version >= '3.14' and sys_platform == 'linux') or (python_full_version >= '3.14' and sys_platform == 'win32')", + "python_full_version >= '3.14' and sys_platform != 'linux' and sys_platform != 'win32'", + "(python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform == 'linux') or (python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform == 'win32')", + "python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform != 'linux' and sys_platform != 'win32'", "(python_full_version == '3.11.*' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform == 'win32')", "python_full_version == '3.11.*' and sys_platform != 'linux' and sys_platform != 'win32'", "(python_full_version < '3.11' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform == 'win32')", @@ -31,6 +33,174 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/9c/cb/9014784dcb0585977ae23b6f43331d0a33c51ac0d692506d12b4f5ee9f3b/alembic-1.19.2-py3-none-any.whl", hash = "sha256:32d553dcd577e6fe5c3c63e91468526d35e4dcecafe865d7db4e9b328fa93cb2" }, ] +[[package]] +name = "anyio" +version = "4.15.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "idna" }, + { name = "typing-extensions", marker = "python_full_version < '3.15'" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/a9/d2/f4d173e22df740bc37b1db102b386ba719b66e95b0f0d751f556b387e6d2/anyio-4.15.1.tar.gz", hash = "sha256:9f28306018cbd6d329e64a36d58256edff76dd996fe423bc957326e578b82a94" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/12/b8/4bd346e22b28902df4d651910f5242c28d84e4a5c2435ca5c3f797ed7e2e/anyio-4.15.1-py3-none-any.whl", hash = "sha256:6152fdbbf9a77fdec97731721bebf7c4c44f7c29b424b0065826173efc7ed101" }, +] + +[[package]] +name = "appnope" +version = "1.0.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/11/f7/a82489c2b6ebe32d3e2831895ae19c77861f0eadf3bb16034484d965dbb2/appnope-1.0.0.tar.gz", hash = "sha256:685db59cb6043c3c2e528adc0b3bce3a5f8d09bcf7492c6ea650d1b7421f3c49" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/46/c7/6b687cb0f83d2a51017d47953f2ee430ffad6fec2a8ebc964e0718a33eb1/appnope-1.0.0-py3-none-any.whl", hash = "sha256:6fe0c04218aab65c54c4ff81638cdbf848d89f5653b74d68638a137f200dd16e" }, +] + +[[package]] +name = "argon2-cffi" +version = "25.1.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "argon2-cffi-bindings" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/0e/89/ce5af8a7d472a67cc819d5d998aa8c82c5d860608c4db9f46f1162d7dab9/argon2_cffi-25.1.0.tar.gz", hash = "sha256:694ae5cc8a42f4c4e2bf2ca0e64e51e23a040c6a517a85074683d3959e1346c1" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/4f/d3/a8b22fa575b297cd6e3e3b0155c7e25db170edf1c74783d6a31a2490b8d9/argon2_cffi-25.1.0-py3-none-any.whl", hash = "sha256:fdc8b074db390fccb6eb4a3604ae7231f219aa669a2652e0f20e16ba513d5741" }, +] + +[[package]] +name = "argon2-cffi-bindings" +version = "26.1.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "cffi" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/0b/43/bb8b6e8708d49a5ab36781333af092d9f483b198a2710d01281204640055/argon2_cffi_bindings-26.1.0.tar.gz", hash = "sha256:63505c71542a44b68b1e38060450fb006404170da375feb31af153e7f9c6205d" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/e7/d2/0ae991f1b2181e5be49007c574710a800ad36c2978683addb3e67c474e55/argon2_cffi_bindings-26.1.0-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:21ca0396fe5ec995dd54431c32698189666f9224810acfa752e50d2bd94d9df2" }, + { url = "https://mirrors.aliyun.com/pypi/packages/7e/e4/ad91d8297638aa2258aad4501c306aca99480dfe76ccd638173fa3702db9/argon2_cffi_bindings-26.1.0-cp310-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:78de2d65e0b9ea7ce9d1b1c3e87297b2d7305a02c266ee2a2d6910daddd7ee69" }, + { url = "https://mirrors.aliyun.com/pypi/packages/6f/86/5363df11b86d02cf3662208e7406496327649cc90eb365bf6f4e8a54a41f/argon2_cffi_bindings-26.1.0-cp310-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:27f1821903e2ceadcb88ec2b45ef190897b7682449c772f4d9b53e42c520cf29" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f4/b5/a14dcc592652347dad23ee93b278a4da5d2a25c9ed3ebd10d68eea823a4f/argon2_cffi_bindings-26.1.0-cp310-abi3-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d88e5f7e60f28ae0b0cc6b2f16c43e87cd642a196a86f85e0d8bb6fe016fc16d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b3/81/b4a20d4902af7f796390bf9245ff83c5217dfa7367efa1d14986956c482b/argon2_cffi_bindings-26.1.0-cp310-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:34b7d9c24a4165a2c61cc8ae11d44d48c9ce2830fb536cb7914e11fdd9962728" }, + { url = "https://mirrors.aliyun.com/pypi/packages/7e/1b/c8de358af07b1c490e0fcb863ef98e46ddb486e45567aca5a60bd68d9daa/argon2_cffi_bindings-26.1.0-cp310-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:224865cbbcb7a2bd1356741dff12b0134df726b6d44bb7b500df8e303cbd9e81" }, + { url = "https://mirrors.aliyun.com/pypi/packages/48/2f/7ee62a6e79f9309f9d9982d301b22a00010adb580c05c8109b94d7b33de0/argon2_cffi_bindings-26.1.0-cp310-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:ffff613aaa9ce6236766e2fc6dc560bb5abde7a2e2416e3db1f9ae395a2b4dd4" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e9/10/960d0ee93d4897741bcaf4799c697dae2d81499f66fd1ed042a7dd54c1f4/argon2_cffi_bindings-26.1.0-cp310-abi3-win32.whl", hash = "sha256:a86c069c91a747a2c4e5c51473590aeb48172fff9b2130d23729a42d98665ecb" }, + { url = "https://mirrors.aliyun.com/pypi/packages/6d/3a/0cc14a05810e6add9bce5e87693334baa2222de5f647fa31781885b6573f/argon2_cffi_bindings-26.1.0-cp310-abi3-win_amd64.whl", hash = "sha256:2c36ff87b5dfaa477d0bd51e9d7f6abdae7c8955d2983c97419085d842154b3e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/4e/db/d83cf2af140547f0b9cdaece05b2dc2dcbf991be4667331d073eff771435/argon2_cffi_bindings-26.1.0-cp310-abi3-win_arm64.whl", hash = "sha256:f9c4420a7a864fe1b86ce35befc95b8e39fb852493b81cf798671ddc265de638" }, + { url = "https://mirrors.aliyun.com/pypi/packages/bb/5f/f652055e18d2627e2eed94c7f31a792127cfe38df786635395d742321674/argon2_cffi_bindings-26.1.0-cp313-cp313-pyemscripten_2025_0_wasm32.whl", hash = "sha256:af11ac37a7c53dc16cb7950a6190851b0870fe218b6c60c0bb7ac355234e3083" }, + { url = "https://mirrors.aliyun.com/pypi/packages/76/38/de696045960f5b846d428c0fb6c130ed3da87aac2af209b05c193815404c/argon2_cffi_bindings-26.1.0-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:db0fcd827ca61622a01b220aadfbece01939acf53888f2cb98cd93e9b1e2c97e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/91/0a/c25af768f6b75a5a71e31207f87c540656b2808c015260444a22763221ad/argon2_cffi_bindings-26.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:28524438cd3e723f25412f63d4fd516ff5bae9ae5aa56acbe2a1404398a0cf31" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a8/7e/be212c751ab0bcea7f646615f933bf262e8e50b3f7bef32f861d0a2d066b/argon2_cffi_bindings-26.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ac82fc756a446b6ccd7139ce70efa9d8bbe541e7ad579a12dcb52764b7175c5f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a6/ee/f84b28e4afd13d3cac36c1d8fa8c239d2dc2c51cd978d02ee5d5ad98d9bb/argon2_cffi_bindings-26.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6a4e68eed961a8de6928d1c17ff3dc2a547e0e923c17f8f1cd79fb7bc9502f98" }, + { url = "https://mirrors.aliyun.com/pypi/packages/21/c3/95c07a023691ecd529da9cb6a8f0779e13ebc1bdfaa86d145fdc1c6e7e79/argon2_cffi_bindings-26.1.0-cp314-cp314t-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:151dfaad9de753f4af2a7854e707e4784f2acc434340ade64239c5b104b2d605" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e6/31/3a18e31406d8694b4d6a31573c3e572fff6bed318bb744453eb653766d22/argon2_cffi_bindings-26.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:061a6919145bbf282ebf1f9c59d3135d4833c25313c8595c0d68cf7712ddfce2" }, + { url = "https://mirrors.aliyun.com/pypi/packages/0b/39/d4be4577e178b2397aa5b5575c8a309bf0da2afe05fe0c72c8f398662d63/argon2_cffi_bindings-26.1.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:62ff20cd130c956c7c9144d5fe35228f98b51c579b2439e988b27ef93e16c02a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/71/47/78f4dd96f7411339f723b96fe24039c1bd5835102b8a5ba71ac4ec712ac7/argon2_cffi_bindings-26.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:19423e5d7ac1cc354baab59eaabf18db2ec04ef6593b5abe5a34f323c4a8f87a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/3b/cd/96bfd37434cc0a848a9066c291d84b28846c4c9ea289ed9866b1164d622b/argon2_cffi_bindings-26.1.0-cp314-cp314t-win32.whl", hash = "sha256:4f84cdd868978d7b7350a566c254042d44216d9e37f241f3a6d3b1dfebeede35" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f1/42/d8b6810abd9b1bd2f47ebbccf460da59c9f32e94888bea4f7b137d998797/argon2_cffi_bindings-26.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:2b741888c93147444fdfc851abd81cc207f37f7f7da42062a00deb3888e57da8" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a9/d1/095d95eaf2ed1d9f77268cf3291bde148c6cd56121f8db2c74c1ba618a0e/argon2_cffi_bindings-26.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:6ab674f668d5962a3a4136ae0812519b0f1586874263723a32181d60d64137e1" }, + { url = "https://mirrors.aliyun.com/pypi/packages/66/cb/214092c39c4dbcb72cf98b12234ddac2221f8fe2c0acf29c6a70fa83be53/argon2_cffi_bindings-26.1.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:1d98e33bd8bd67d7206c124e200bf2229c4cfa8c9c19f7b44a897f0fc71837eb" }, + { url = "https://mirrors.aliyun.com/pypi/packages/83/e5/02015b83e9b05ccb85ff2ced424cf6e83a12d3810bc7f66d679a92b69ffb/argon2_cffi_bindings-26.1.0-cp315-cp315t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ccaf0a46cbb380f1fd102a874e32aa629fd3cb0c0e94f4943fa1f6d5edc5dac6" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c3/4a/85e612787d0796878b3b4f6bd53dcd5484b6fe7b64cc6fc7b6e6a04cf835/argon2_cffi_bindings-26.1.0-cp315-cp315t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f0c3103fcff20183e593459cfea6e012281c0e76ae3ed8b5565ad1b92eac3990" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f6/84/ccb003b6f9969820e87656398f4d49c857def71a85ca1588a0e809afd7ce/argon2_cffi_bindings-26.1.0-cp315-cp315t-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c49e853a3bef9dd10329f31f702e7fa9b5c58229ff9c2ff6d069efaf09177c08" }, + { url = "https://mirrors.aliyun.com/pypi/packages/88/07/c26b76debf0998ee08fbe947ab2058ac5de37d4b9d46b06c17abaa6c4ce9/argon2_cffi_bindings-26.1.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:6376d4b3aca039375ca8bf92f770da0ec424a1ce3a37077a8d3c557411aa56ca" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ee/0d/ead6ddc029f91bc9b9390686dad3c808ab08100d348f6266b5f93f8970ee/argon2_cffi_bindings-26.1.0-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:9bacedc04b0402837586a17f0919e3dfdd95291f441f1f56bd80ec274c2840a1" }, + { url = "https://mirrors.aliyun.com/pypi/packages/7d/47/c108530d9eb86036b78d3af4de28b83b4a2d9a70512bd10ff8e59966aab4/argon2_cffi_bindings-26.1.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:76ae29acace5d33355344612844d588e19deaaba4639d8bb01601e4b1418ef36" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a9/02/0bfc59e781c89acf64c31c388aade9d9d1c1ea38aa1ba1292fe07f607fe9/argon2_cffi_bindings-26.1.0-cp315-cp315t-win32.whl", hash = "sha256:df612391feca41c44d20118f3b88d1b86419465cd1f5496859f715ca60ec2210" }, + { url = "https://mirrors.aliyun.com/pypi/packages/61/c7/c3e46068cddffccecb8ad94d71135e9bf62bbc789589e7dfadc7c6f59214/argon2_cffi_bindings-26.1.0-cp315-cp315t-win_amd64.whl", hash = "sha256:1a0a29ed86960e44eaace7e081bdfab4f08b012fd96ec8edba71e2ad020939e4" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f4/ca/18b9c8c45fecf34b9100ec6d7946057f14a158f2eaa20ea123a3e82351cb/argon2_cffi_bindings-26.1.0-cp315-cp315t-win_arm64.whl", hash = "sha256:d157ddfab1e8b21f2f1dedda9c09645d98b5ed0b667b0626be600a345d426440" }, + { url = "https://mirrors.aliyun.com/pypi/packages/94/66/7ff138b7a61a6ec4eb8ad4a98696498915492a5ffa190e937ca5f2827e0a/argon2_cffi_bindings-26.1.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:7014ab7e6f5d8511af92544667a0346ea6dfc314ea9a7cad1dba9fdb5c9a6e33" }, + { url = "https://mirrors.aliyun.com/pypi/packages/de/6d/f120f8b4882da540b5e1375a11c85cfe37b3c671cfae1cdac797ea23e76b/argon2_cffi_bindings-26.1.0-pp310-pypy310_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:242bb0cda2ae3650764fc194593d9ea45fc9e72729acd89778c7cfe184cec2a5" }, + { url = "https://mirrors.aliyun.com/pypi/packages/04/50/92811103e1042af1379741db7fd4a6d0f6e4ee4512e2c50cbd0d344cf0d8/argon2_cffi_bindings-26.1.0-pp310-pypy310_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b70225b5fd1e0d2ef4f7fd30d24658454535f0924dff0caca5dc08efbbbadfbb" }, + { url = "https://mirrors.aliyun.com/pypi/packages/47/f2/1f8548c44c0036ae8ac1d6197300570b0af8ec120fc10b5bd8188f507376/argon2_cffi_bindings-26.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1af817e84578ef8b7295ad17de0f9896e4c8520dbf2233c7aa5aa3d487256fc4" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a0/b9/97f0370f99611b14efd384918613dd5cbda75f28d9bb1b677aacfeaa17df/argon2_cffi_bindings-26.1.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:19b562b1de4b9052ef1214a2821c44b6e6f22945daa102c32ae4eff929d8b6d8" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ae/70/7eb3fe7bf00103cbbb569c51aef150661f22b734a782673a600ff0f52309/argon2_cffi_bindings-26.1.0-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49d525938467d52c923a890153c99087c9d5a937d1f6b585dbdba34ec82e397a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/5b/4b/9d5919c6cb1f15df7406af0f99b048bd93936f112e3e8f4c8077bc2a9110/argon2_cffi_bindings-26.1.0-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1b0bcac4d490a237e18cf91f57352920c29f77f2fa39efd0813fb81298bf17ba" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a3/34/32109943bace7729233cc4ee78530baa306d8cc3c6501a64ba8cb3b58129/argon2_cffi_bindings-26.1.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:0cc40f7b4050bb93eb67de95d2d759322fc7ce4930b9d645581ecf4913ec651e" }, +] + +[[package]] +name = "arrow" +version = "1.4.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "python-dateutil" }, + { name = "tzdata" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/b9/33/032cdc44182491aa708d06a68b62434140d8c50820a087fac7af37703357/arrow-1.4.0.tar.gz", hash = "sha256:ed0cc050e98001b8779e84d461b0098c4ac597e88704a655582b21d116e526d7" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/ed/c9/d7977eaacb9df673210491da99e6a247e93df98c715fc43fd136ce1d3d33/arrow-1.4.0-py3-none-any.whl", hash = "sha256:749f0769958ebdc79c173ff0b0670d59051a535fa26e8eba02953dc19eb43205" }, +] + +[[package]] +name = "asttokens" +version = "3.0.2" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/25/1e/faf0f247f6f881b98fc4d6d07e14085cb89d13665084e6d6ac1dc2c03d0b/asttokens-3.0.2.tar.gz", hash = "sha256:3ecdbd8f2cc195f53ccada3a613538bb5f9ef6f6869129f13e03c30a677b8fe2" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/d4/2b/04b8a15f3a1c77bc79ddf5c73875327f34b4fa75982df2b76e45e402d364/asttokens-3.0.2-py3-none-any.whl", hash = "sha256:9da13157f5b28becde0bd374fc677dcd3c290614264eff096f167c469cd9f933" }, +] + +[[package]] +name = "async-lru" +version = "2.3.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/e8/1f/989ecfef8e64109a489fff357450cb73fa73a865a92bd8c272170a6922c2/async_lru-2.3.0.tar.gz", hash = "sha256:89bdb258a0140d7313cf8f4031d816a042202faa61d0ab310a0a538baa1c24b6" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/e5/e2/c2e3abf398f80732e58b03be77bde9022550d221dd8781bf586bd4d97cc1/async_lru-2.3.0-py3-none-any.whl", hash = "sha256:eea27b01841909316f2cc739807acea1c623df2be8c5cfad7583286397bb8315" }, +] + +[[package]] +name = "attrs" +version = "26.1.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz", hash = "sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309" }, +] + +[[package]] +name = "babel" +version = "2.18.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/7d/b2/51899539b6ceeeb420d40ed3cd4b7a40519404f9baf3d4ac99dc413a834b/babel-2.18.0.tar.gz", hash = "sha256:b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl", hash = "sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35" }, +] + +[[package]] +name = "beautifulsoup4" +version = "4.15.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "soupsieve" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/43/65/318323f98dbee45d42dff61d8f047181bc6f2268a9068cfad035a46be5af/beautifulsoup4-4.15.0.tar.gz", hash = "sha256:288e3ca7d54b06f2ac191970bc275c1939cb46d450b255bf6718b04aa37ab4f7" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/88/c6/92fcd42f1ba33e1184263f25bfabf3d27c383410470f169e4b8163bf9c17/beautifulsoup4-4.15.0-py3-none-any.whl", hash = "sha256:d6f88de62e1d4e38ecb1077eb9724cd0eff29d2a08ca16a401e9b9e93f117cf9" }, +] + +[[package]] +name = "bleach" +version = "6.4.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/48/3c/e12ac860709702bd5ebeb9b56a4fe334f1001246ee1b8f2b7ee28912df7d/bleach-6.4.0.tar.gz", hash = "sha256:4202482733d85cedd04e59fcb2f89f4e4c7c385a78d3c3c23c30446843a37452" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/58/9d/40b6267367182187139a4000b82a3b287d84d745bccd808e75d916920e9d/bleach-6.4.0-py3-none-any.whl", hash = "sha256:4b6b6a54fff2e69a3dde9d21cc6301220bee3c3cb792187d11403fd795031081" }, +] + +[package.optional-dependencies] +css = [ + { name = "tinycss2" }, +] + [[package]] name = "certifi" version = "2026.7.22" @@ -40,6 +210,116 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl", hash = "sha256:62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775" }, ] +[[package]] +name = "cffi" +version = "2.1.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "pycparser", marker = "implementation_name != 'PyPy'" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/9e/ef/008a1939e372c06329a3fce4279c02f328488f3526744906eeec3da7ad5f/cffi-2.1.1.tar.gz", hash = "sha256:dd31f52ea1086513bb9df30f8fcee9b8918323ae067a3d5b78bc826a000712be" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/b6/d2/2cde336b375f55c76ca670f0be3978cc048e31e24f3b4d7ce8473150a388/cffi-2.1.1-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:baed1e86cc735622097354b9d1281406caf42ff42a886d29faa8e8d1630333be" }, + { url = "https://mirrors.aliyun.com/pypi/packages/94/1a/4b2f7c92293ba05cbd4a9a1b28faaf0326272d9488e6354657571c48a7aa/cffi-2.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ca82be1a1d406ecfe1d25dc16cb33488e5a16bf4438c9fb590484ea29d92478b" }, + { url = "https://mirrors.aliyun.com/pypi/packages/17/0b/ba385d8ccedf926c3cd06e8e2f327027da5afe5f0eb30f1f7bc43ac55125/cffi-2.1.1-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:42e2f76b9455f5a9a844f770bf3e200ed3da0e15f5df3db9c31fe80b04b3d004" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a3/b9/0f2e58b2cefa33255bff36935d42b13180fe559bba82596540eb404bde7d/cffi-2.1.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5a59cc1c4442bc3d5c703bf720b51138d0bfc173618807c9ee2490a7541dd3d9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/37/15/180e0dab27b9312c7479003d14c9e547634b7dcb934e2cc4650e1b131a7a/cffi-2.1.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:9f8d177621de5cb38ee3e731eda45d421db093ec0739f46a5594babda7987a98" }, + { url = "https://mirrors.aliyun.com/pypi/packages/18/d4/03026f0c850cbbaa9030750490225b4a7f4d524ea4df72c3cc740a90f4ef/cffi-2.1.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:75f80557d1389eddbd0de2681f6a390a0c5338c31ddaa821381c203fc3fd50d9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/75/77/60bebf6f818bec84210ac5b6979ce4eeadce6fbbaabc9c7ab23e506d1ce5/cffi-2.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:194cffa889098ced9976c3fc6340305e43f6303657d298da55366907c05c22d6" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b0/ae/679bf47e73fd77b352171727f07de559a003f14de5d02b904a6ec1fa73ca/cffi-2.1.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5bb4e7ea95dcd6a014a6fef62e62467d67d8e582326443f3d68e71d6320a9fcf" }, + { url = "https://mirrors.aliyun.com/pypi/packages/09/b8/eefc0e06913b70aa153bf74c946094a18f58fd4aff11b7f372bfdfdca050/cffi-2.1.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3d22a20b1fb1632cc72c22f95f7b0d2961c3e1c235f245ba4c606c4771035659" }, + { url = "https://mirrors.aliyun.com/pypi/packages/6f/13/4e56852824a03cdf68523a35686f1c28eacd4bd30a7b0a78e682e6e6e1d3/cffi-2.1.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1dea0e4d7d4f11f619fe8c1d76caf49e24405b4b5743c0e3be16a500ecd930c9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/99/7f/040f9e163e4acac3ee3d85b02d00b2576e7ca980d8785f0a3a5f1a9bf7f5/cffi-2.1.1-cp310-cp310-win32.whl", hash = "sha256:7ce713ace7c0e4520535b42b77eaa742c16dab813978064913e5a3cf82973b41" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ba/0b/644a2ec1a4eaba49c2939410bb1eb1d25b09d6d0582f5d2f95c537043725/cffi-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:a48d62ab9d6f4f98c983223a547af44be6ca3691074c31cecced6facd3ba2dc1" }, + { url = "https://mirrors.aliyun.com/pypi/packages/70/d2/16d99a0c4948febc0ebd133a13b2f688ff7f8cb04da971e1128872ce0c03/cffi-2.1.1-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:c8d2c9fd1f2d16f780d15127abb050d13d1a76c03a4bd87d7e4980e45e511e12" }, + { url = "https://mirrors.aliyun.com/pypi/packages/cd/95/31b535a9f0220ae9f357de4a08d57ce89cb417653c2fd9f075f50822a388/cffi-2.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:398aff33cee2767e3e781d2554c54bd0dff386bb437581e0d8011fde1a942ec1" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ad/5a/4707a0dc1f203f5dde5a907b0d4e3c25d71120241048bd5bc6f1bb9d4e71/cffi-2.1.1-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:154852545011f779917b11c78db2358d095da62a9a172b78ad0a583ee5adc0d0" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ad/66/c19feabb28485b6e0bbaaafa90837a1ef5d302e90f2178bd33f17a49879b/cffi-2.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3311ed60d36f83378794e1009ac6258bafbf81f7888b4caa7b35a521e3f95813" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a7/92/500760486c8baab49a7a8a58ba7fc3355ec3974b454b8a09e528efde9e1d/cffi-2.1.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:6e192623c49c94421616a5778fba35cf0d5a8d000650c1967ef4448ee5cdd990" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a5/a7/a67c733254d6e7373f7822f8082d8d6beade791e0cf12a7611f376fa61c7/cffi-2.1.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:a6e721d4b0e45d5b65e87534470e67b18dcd092c83f68fba09f152b9cbc061af" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f7/a4/4399daaf8f7dfee9d7c3327fdb0426ee041cc63edc358b93911ceb2bfc7a/cffi-2.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:34e261f78cb6ceaaa36f42f2613f4380d94d9c759a9c73c769ee6e0247364632" }, + { url = "https://mirrors.aliyun.com/pypi/packages/28/f7/dabe6da2466ecbd82dc62e7342dc6b1065dad990c06f00f0ede9ebf2a0ed/cffi-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7225e4514edb64eb6740324353e0da0711954fd8d7da4576755b1c6e09b697cd" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ce/87/616202d8e51342c07d2534c510111c4cc37201775ce8f60802c9335d1edd/cffi-2.1.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:df913725b79db7bcf03448f36b7bf8815363417d5b58deecf9305e3e30f0f21a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b4/c6/ab025d75d2c26c19b087c0124e75ee31cb65032f4fe345d356d8c507ab97/cffi-2.1.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f5cfbc5fe74540d335175b656c725d74d90e3730c626d92575eea35029d9afaa" }, + { url = "https://mirrors.aliyun.com/pypi/packages/db/e2/7e8109f65445bdc673a7b54f02c677de462db75674220fd1335efc8eb598/cffi-2.1.1-cp311-cp311-win32.whl", hash = "sha256:f8ec5e643a9a937f64e1999eb9f75d072263751912dc5cd06d3c85f8f44be7c3" }, + { url = "https://mirrors.aliyun.com/pypi/packages/73/c0/77ba02423c2f7d7091143c45cd49e0e6575c4c1967394bb542bd923a9b74/cffi-2.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:42f6930c31dc7f50732c9ae793c2786c7b6b044195967bbdde40bb9be81c4cc0" }, + { url = "https://mirrors.aliyun.com/pypi/packages/7c/47/9f1f85f9672ceda4984dc6c4f8824e8558992a2972c3d3c81fb8eb28d4ba/cffi-2.1.1-cp311-cp311-win_arm64.whl", hash = "sha256:c7659f22557c5a0bc4855cd635f55edec690cc008a40768527762cb9fb263455" }, + { url = "https://mirrors.aliyun.com/pypi/packages/10/69/43965eccfdead3b9220015fd1320e117be8c6ed01a62ffab76eeb752f5d5/cffi-2.1.1-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:c8c69575568085ba0b1b10c0249d779a214aea6f6522e949a0fc9fb0fcb449d0" }, + { url = "https://mirrors.aliyun.com/pypi/packages/54/7d/16e5a096677b5e313ca80cd5e5170efa3ea44624a82bb111925522da64b1/cffi-2.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f81b3b8f3d4e343550fa4baa0e479bba9f2d29ce9c2e9b51d1ce1718d7442fcf" }, + { url = "https://mirrors.aliyun.com/pypi/packages/56/e6/8941622732edec876dd17d0453dce07317ae96db34f2ec1436c9d3785986/cffi-2.1.1-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:811bd1e21d32de12efca32393a0ab3f5133b54fce9bd44b8bd77ab07da14bf6a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/44/de/f98430906df1545ffde0d543dd124a7a439bc2cd32b36b9c53f805df7333/cffi-2.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:68e62fe11f30d5ca8289242866f0a5291402d8529ca2178ab8afc5c9694ae890" }, + { url = "https://mirrors.aliyun.com/pypi/packages/6a/5b/717f1526b9957b34456313c31645c5b82b8fb5c3fe9e4752999be7128bfc/cffi-2.1.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:4a7c934f7360e8cd64fe9efadcbd10c7c6364f531e432b9a4bf5ccbc9e0e8b50" }, + { url = "https://mirrors.aliyun.com/pypi/packages/64/b3/f8aa4f3e34986c7e4ec45072d1b1b9dd295b6b18007b45518d79726dd725/cffi-2.1.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:3143d81e29e1e20a9ce10901ec369012947876596f75a222235965f2b7ae832e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b1/db/dceb9dd5b231e1da801793f8acc9f3c52a7e1afe40bb1aae37e02b0faad5/cffi-2.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c1453022f490d2459a11819d83ad1d586e9ff65a12ac3e705ffebd46d3685dcf" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a0/d2/6cd24ae3be000a634109c247d1475d62e5616d0dc78c82770942ec384248/cffi-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:208f941bb9d18e768138677f0a6d2ce01f590df56043dda1df1535ac57c88517" }, + { url = "https://mirrors.aliyun.com/pypi/packages/cb/52/3fa190537004dd7f0ab860a6dc7c0175b8667f68d1e618a46f5498d30250/cffi-2.1.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:210019b6c7cf07f081b4c54635c8cf744377001350e29cc0f81c4377b4797735" }, + { url = "https://mirrors.aliyun.com/pypi/packages/80/fb/0bb75b7039588c074b37ae99f40d9bfddf990ecb2fbc346ebccd2e56b9be/cffi-2.1.1-cp312-cp312-win32.whl", hash = "sha256:046bfc24911b37851ee1b51aab8bffe713d89c68c6a057b09484ce9fd5f69b4e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d9/79/615cc094e2fb508cade7de88d3b4f6c4ec2bab695c97bce9153dc65aadf5/cffi-2.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:f53e442b08449d42821fa4a4fba000095af9f62742a500f978a9f557ec44339a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/70/c6/d0ea84713fe46b243a436a18fcd47d639732747e21635c8a27191b06dc30/cffi-2.1.1-cp312-cp312-win_arm64.whl", hash = "sha256:7bde5e4cc5c10140859842b9d383af292b22639a4dffb725314baf45968cef80" }, + { url = "https://mirrors.aliyun.com/pypi/packages/9d/f4/035513d4117049066b4779dc3b7c0c0fdad175fa13731c9f4003f1cd1478/cffi-2.1.1-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:b5bdfd1c873d4e093aabc0ca84c4ca6dbc4f752afb5c86f146d9742580c9da2e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/76/af/2aeb4dbb5fc41a04161ae9ff1518de7cec08e164f44a8ce6a4cf7fd2cd1d/cffi-2.1.1-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:31348097ff5bbe827ccc41795d4dd099d9f0625e7def00ee653c137a490c2a6c" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a7/46/2e5fdde8555706dd98139a910ca11be02809f3f605ce956f655d0214e100/cffi-2.1.1-cp313-cp313-macosx_10_15_x86_64.whl", hash = "sha256:9d2055050ea716bd38b7f7f1579c275386646b4894c155a3e2f3cd62ed41b7c6" }, + { url = "https://mirrors.aliyun.com/pypi/packages/55/41/4c7042f317b9217502988f0873af87e16ad606dc20f84e546e3e6ce9764c/cffi-2.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:19ee6127ee34de7d83ce3d371ebc5ed91addbdcc39f9ab15ce4eb35a4e534971" }, + { url = "https://mirrors.aliyun.com/pypi/packages/43/1f/1c3d90d91811c8f86ced9ed637956c54bfe5b79ca98fe976d7f8c8979f6b/cffi-2.1.1-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:6a8dddef476fab96d066d578fc88526767b836ab5ab21754e1d5bf3879c31c7c" }, + { url = "https://mirrors.aliyun.com/pypi/packages/37/6f/3b5ce4c3b2192d250f04908f2bfd91ef34552ec8f7716a5d4abdb8d67bb2/cffi-2.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f16c709686a78c727bbbf059f92b0bf41c6fc60deec706d2dc19f529175a6125" }, + { url = "https://mirrors.aliyun.com/pypi/packages/02/10/4b3c75dde3d9663c9e02ba05c2668b954f671d4bbe346413ca8c696b295a/cffi-2.1.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:fcd22650c908d7b7da162bbfaab594a1227a15d1643a98c68b122ac642fa2264" }, + { url = "https://mirrors.aliyun.com/pypi/packages/df/62/14f74b9543e605d17701dc797b815958b8bb70b7624ce1b832ddad48ed6c/cffi-2.1.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:aa9511c62d14da7aacc9b4bf51f3f697a621e83b2d6919008243c3aad168eea3" }, + { url = "https://mirrors.aliyun.com/pypi/packages/95/95/86342356ff5953b3fb06f7ef7c5bee212d45e770abc7218d451b9148313c/cffi-2.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a931079504ecc49efed7744c476a5c343a92fabf66dec2db95edb1b2fdc770e2" }, + { url = "https://mirrors.aliyun.com/pypi/packages/eb/ff/7b3429ff53aafe931ed8a5fc69f481bbef7ba6de87ddcbb63d08f483f613/cffi-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a2d7755bef5a12ed488f4ef1f1b69ee9191d7396083b755a5d2295f6edb4768b" }, + { url = "https://mirrors.aliyun.com/pypi/packages/34/34/a95870b9221e09cf4f2ce3178b1a210abdfe63a1bd357da940418d7b8d15/cffi-2.1.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e0bcb7e0f677f543555d2adff3bf19c05f66cdb4796e5ff602442ab2fe3c4ef7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/70/ea/839b50531021a647fb5e929f72cf97bc1ff702b5472166164b5b6e76b851/cffi-2.1.1-cp313-cp313-win32.whl", hash = "sha256:334644fbac4eff73d985a17a91226df55d0f394160c4cfb880e084c8f7161cac" }, + { url = "https://mirrors.aliyun.com/pypi/packages/60/a6/8b149b2c3f2e11aaa1618ef64500b45f50f22c57a977a4dff1aff1f91042/cffi-2.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:1aa5645c30469b09530c4ebca77ebf8f17618293c58f8549cb1a543a50236e7d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/01/9a/11f687cb39d6a3504060d5242f04f48c735afb4d3d533958a20594890cb2/cffi-2.1.1-cp313-cp313-win_arm64.whl", hash = "sha256:63bbfd5ded17c4840ac07cd8f1c21ba9d9708141f840b324f422f41b207e3973" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d3/7b/d6bbf82b8b96e7391438898c42f5bd96dd02030fd5b64937d248220003e2/cffi-2.1.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:7dbb61fe3a7699468030f71bbe5f8a0e326a151daa91beb11a6fc1f980c55e1c" }, + { url = "https://mirrors.aliyun.com/pypi/packages/94/e6/bcc91b283be94735e268487a054004f0aa19947b6348fa367db53230abc8/cffi-2.1.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:f24fb43132a4c6b4cb4eb029492919b2db645be6808d738f244fd146c03c32cb" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d9/99/c4b0c17cacdc9c3b8f280026286a9826d6a208c0f047591a3c3ce99b91fd/cffi-2.1.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:d28630f5854ab07ab1fd4aba756de52326c82e6be15d414b12793f1975048b54" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b3/a9/9db617d05d7367c1ad0ab00b3aa6e6f9281edd689b4ee9ea0e5a84e89c97/cffi-2.1.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:661c298b4821edebead0c91edd2b00374d67ad7c5a1f7a91d4442633b79d6a72" }, + { url = "https://mirrors.aliyun.com/pypi/packages/67/b8/b42132ca113dc567d37684437b46ca1dafc885902b02a110a02d5b511857/cffi-2.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:58acb8ab8e295e6c5ea12f888cbb13cf21511ef2a3303a23f4325c29d17fe5c1" }, + { url = "https://mirrors.aliyun.com/pypi/packages/80/10/c5c0cbf0a657aecf59ef511409734230bf556f05a0d6c9eed7aa5c0a0166/cffi-2.1.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:456a61fa52d579ebf9df2e9552ead5129855dbaff6c1e5a9b1bc408809bdc062" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d5/6c/bfa0b87b03b9238148beca990292843c9396ba069b54496596594173de7b/cffi-2.1.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:a4f00aa42f75d6e4595e8866e748cc1705adc0cddfeb2ca86d0d03993d63ba03" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e9/02/4e7d553a7ac4b4238b38b3c1b80d486e9d4436f8d2acbf87a0997fe3f402/cffi-2.1.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b0431303acaea1089ad4b3e9ce4e6518193def1118d4073ca848635ee4ea2e96" }, + { url = "https://mirrors.aliyun.com/pypi/packages/82/1d/a4aaf9babd75acb4d5f223bff71533bee748dd770a382619a798960ee9ba/cffi-2.1.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:64faea20f4e2613363a1a9b9c7dd73058f3ecd00133a511e72ad7c511658f527" }, + { url = "https://mirrors.aliyun.com/pypi/packages/81/10/5dc0e7bdd18e22107054288283380fc97a06ae3f1656a106908d666a3c88/cffi-2.1.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5c58fe613dc5e5336357eff555824a314d8e43282600435c8d1cb6a7a2fedd13" }, + { url = "https://mirrors.aliyun.com/pypi/packages/0b/e9/d0061c364cde06ee43168a0d076ac1da512cbc380d44767b844ba34fe2b6/cffi-2.1.1-cp314-cp314-win32.whl", hash = "sha256:1a18a57b58cfb21fc28d72e876acf10eaed67a1ed96226f92af4df681d571c4c" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a7/06/1c3e01e3ba14c39f6d10bfbac52753b7e22259e38088e5cfe1d704918690/cffi-2.1.1-cp314-cp314-win_amd64.whl", hash = "sha256:3222ba5d678f80a030e6afbcc33dc1ae5cb45facabb61cee2c7016b8432fde48" }, + { url = "https://mirrors.aliyun.com/pypi/packages/87/5b/da4e39efe18eeb89cf580ea9cfc66b6a7c3eadb808fc0cc1d3a295cb5a5d/cffi-2.1.1-cp314-cp314-win_arm64.whl", hash = "sha256:ab36d55f9ed2d067327667c2fea18dda018eb628dd6347aa01dda6cf1f5d3836" }, + { url = "https://mirrors.aliyun.com/pypi/packages/23/59/40338bf421c5accea1d45158170c87006ef1cd371b05c077e76476949728/cffi-2.1.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:7750c6449dff7864bb9bb27ddfb0267756189201a3afc911d82b3caacd70dfc3" }, + { url = "https://mirrors.aliyun.com/pypi/packages/7d/47/5ecf1023850036e674c77ec4de86182d309ae344e39e7cba984b7df5d647/cffi-2.1.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0beceaabe56af686895136a2de78db54ecd8e4046b236b8fd6d6cb61389e9bf2" }, + { url = "https://mirrors.aliyun.com/pypi/packages/2a/9c/92934c3bea9f785b23eba304538c0b4d37a2a96d2431eb3a1bc87a11aa19/cffi-2.1.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:49cbc70e6542d4ccccb936558d1064a8012541e78f821f955cff24e357776c94" }, + { url = "https://mirrors.aliyun.com/pypi/packages/4d/45/ba4c93527bc38616a8bd36488acb69a2212d60486794f0c1f318949bbb76/cffi-2.1.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:e2d65b31f36619cda3999b78b2aa9632e76b78448e7a56fc4240824200e7c4fc" }, + { url = "https://mirrors.aliyun.com/pypi/packages/80/e9/b6ef565e452acb932fb0cb5443f44a78efbd1233e566f02b5a83855e9115/cffi-2.1.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:28907ab9bfb6aa13184cfc17c6b8e1023c5ab6fd7076d8c20a35e59fe04f8f29" }, + { url = "https://mirrors.aliyun.com/pypi/packages/9a/95/eff5f0cee78d2eabc7eebffec40d3fc1876b5f3c95582e018bb4b99601f2/cffi-2.1.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:51b31d1c98274844cfd7838ce00bfc27c7423a4dc00fc0772fc3331c2cc90676" }, + { url = "https://mirrors.aliyun.com/pypi/packages/fa/01/579d39fb8bef00a335a23d83757b44feb24cd6345a2c451b64cb67b9c362/cffi-2.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5e7cecbaadb83884793e05828cee59b210b24583b9c7425d0ba6a754fe22eb4e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/8d/b0/0b44f47c60b01b57b6e2bbd92343f13a85a1d93bc46ccf6e47e244acd99c/cffi-2.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:25792eac27877609e7bb06d42ff88278a6624fff2ba9bbb523c09616b117e80f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/eb/d2/3b7176cb570a1d3e27faf67b72f591af508036e0d8b2be2ef9af9e8c84bb/cffi-2.1.1-cp314-cp314t-win32.whl", hash = "sha256:8ef53b2de9bcb9197d31854256575d59dbac0cba72ac627bb291ef5eceb74be4" }, + { url = "https://mirrors.aliyun.com/pypi/packages/56/78/31f00c1bcd97c9bbf55f1bfdf5bc809a5de8887473e90bb9960dca825e80/cffi-2.1.1-cp314-cp314t-win_amd64.whl", hash = "sha256:616f097f2fe415bc92a247f02e11f634e1f9e9a83d327e3c915c15089c87869e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/7b/1b/58496f2ed0a35de575250c02a43ab3cc2c04d494a88fed31c1cabc0fd176/cffi-2.1.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ad2c86c495b899d862ea0f4b42891b8713a3bd45dd4105c7fd51c2a72f39f3a5" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c1/8f/9ebe220eab48a093d1a5a5e339ab0dc7316eef3bb04d63c42f0251b61f50/cffi-2.1.1-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:dddad92b554513a31f272570678ba307fb9f618f05e3d4a5eacafff9eae03e1d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ff/69/844bad3ece306c4782c2ecb93597035b6690d48704b803914c199da1e8b3/cffi-2.1.1-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:da0e573f9f97159390c89d9f1a9e41908b66d408cc5b58d08cf3847d844c531b" }, + { url = "https://mirrors.aliyun.com/pypi/packages/1b/8a/af668013284634733f02d683458a0728739c7d6ddb5e14cb0c20832266fe/cffi-2.1.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:fb92203a88b3d3053034db775110081c49d28be6551923805e039924093761e4" }, + { url = "https://mirrors.aliyun.com/pypi/packages/0c/75/2f5207ff6d1a613133b23a5203cc0c2a628313b5eb3974d7956ae3c57950/cffi-2.1.1-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:2ae64be792b8966f2c69538199728b290e34726562896df1e5dc8ffd8d8188e8" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e2/31/9e1313b0a6e30e91b3b3d3fff51ae99c857c07738e3afcce1f7334e1b7ab/cffi-2.1.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:507a24c282e0f42f8ed737cf048572cbf580468da5555764a8331735e9c736b6" }, + { url = "https://mirrors.aliyun.com/pypi/packages/50/e3/f6234a833e6e08c7007003074723c406559eecf9b48dfc97471e5a8eb7a0/cffi-2.1.1-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:246fa40ce8645a614ff682e0b70f37134e460eaf93a775e0cbe3cca585a67a80" }, + { url = "https://mirrors.aliyun.com/pypi/packages/0d/fc/5f74e293fced6edb51af3a46c4ccf6c23c9943774ecb375ddbd522c76add/cffi-2.1.1-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:471cee653ae88de62096552e6d24ccb4a5adb8c8c9f10b5054d0122c15bf2779" }, + { url = "https://mirrors.aliyun.com/pypi/packages/44/16/29e6d01b388bef055ecd6ca8244b3f4d336bd09e92d5d892187b9601084e/cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:aeae0e330c9f6acd681f647d46cefd30c29f93e3392882e792e82080c9691399" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a4/18/fa7f1f6857d5eb88a4ca99ffcbfb7c387a287ccc154c64a73e86314745d7/cffi-2.1.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:42a494cee34437f05546455144f2b5d9ac09b1face62bcfce597d2e521066688" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e0/9f/e8e3dfa04a1b4c241f8c91faacad872b4d4efd051d49764ad4e2fd4b9fea/cffi-2.1.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:cc572dace3f60ef98d7b12ff411d20f5362feb31a0439eab0085bbfd349982d7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f8/7e/8debeb04f1ab9fe2a6963964cd6f1aaf7192627b83926586a6a4e089c9fa/cffi-2.1.1-cp315-cp315-win32.whl", hash = "sha256:4f42141fc14250de6dde5ee7ea4432be017252d91f19c5ad043c084cea629cac" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e0/31/5158704cc474ab65c1647932e88be78dc0873f47130e253be38bcaf13d01/cffi-2.1.1-cp315-cp315-win_amd64.whl", hash = "sha256:e6e8cff14d6fb0be70a09c0bdc58096f501952d04624ebf867e0e56da2df8960" }, + { url = "https://mirrors.aliyun.com/pypi/packages/cc/4b/b3a2da8570c704ffc0f9762cdc3ec0f02c8573798e0b5cf7f11c82bbb70f/cffi-2.1.1-cp315-cp315-win_arm64.whl", hash = "sha256:27350daa11d4f10c540e6e89dada4c54feb7256ad03e9a4dc075ebad7ba360d1" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d0/ef/5443574510a1207e6f6bc38ba6e1f1de36cb48fef07b2728bb896a21f430/cffi-2.1.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:c26608d2222fb1e94487e4a387d85f13eb55d5ed725cb25a0c589ac4ee60e7bc" }, + { url = "https://mirrors.aliyun.com/pypi/packages/7e/ae/a56fa8c4686ad50e148fcbc8d3ae0d03915ff5c30d795058988c24118cef/cffi-2.1.1-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:4be96343e422f2dfcd12ab5c9f5aebe03f82f737c6bffeca6830b3875cb44aab" }, + { url = "https://mirrors.aliyun.com/pypi/packages/53/b2/6187f46f2912276a3ae284076109cc5c8680482f11f766ccf26db4a86427/cffi-2.1.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:937c0052c05a31ca1daf18de3158eed4dbfcb9cc107adbea227728d647be701e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/8a/f6/c3ad28bd19f77047a03084424fbd4cbe997303267c14423737324be0385d/cffi-2.1.1-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:df423d40ee8654634421812bc3b196da3f9bd7d32929da813f8394c4348a5358" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a0/cd/ccac9013a5bd9fd764de118674ab9c805b5ca10c19270d90ee273f8b2240/cffi-2.1.1-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:a730a083190634c65cca36ba5f489531576ebd79bcd5c8e172130f6453127231" }, + { url = "https://mirrors.aliyun.com/pypi/packages/52/86/2976131c639aead931c5bee5aba67e4b09fbeb8018b6f282f70803f923a7/cffi-2.1.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:363e05fa78e15116c3c32c210ee36884fd6b9afa6d440e47112c3bd511d64cb6" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ac/0c/33a7aeab2f9c76918c52e084beb39c570db3588133412929e8ec06fab90b/cffi-2.1.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:770de9db11e84213beec501cfcaa013b019820ca881e03344dea5844f7876d94" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e3/26/2cde30fdde421130bfc18f70395731a6e6b2053c6a1978a5258ff04e72fa/cffi-2.1.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:7da0c5eff80f0197f3b3d1232ec5a682a9325f4ae9016a78f5f5ca35f9ced1f5" }, + { url = "https://mirrors.aliyun.com/pypi/packages/6d/cd/a361394c94b2129d604bb846f624a8e88255a3ee33129c434a00d715e64f/cffi-2.1.1-cp315-cp315t-win32.whl", hash = "sha256:06c72bb76605a4b0cd0aad6930b69d4baf7dd5d806cfc409b824191099700e66" }, + { url = "https://mirrors.aliyun.com/pypi/packages/9b/b5/ba2b299993c26577d529b6ae29841f9e15b9fcf004d65f423f4fcf94ade9/cffi-2.1.1-cp315-cp315t-win_amd64.whl", hash = "sha256:d9c275eaacd24aa73f94ffd6de08fc3f932424d8b6c376f4bed7cde376fe7bc3" }, + { url = "https://mirrors.aliyun.com/pypi/packages/aa/29/35e016098c814cd93de9cd320c66b5bfba14dc6ecedd3cb518fa7c408c69/cffi-2.1.1-cp315-cp315t-win_arm64.whl", hash = "sha256:d18e5ac0f2f03f4f518d3e23db0f0cad7faa1da8620e9c09461d443bbf6e6692" }, +] + [[package]] name = "charset-normalizer" version = "3.5.1" @@ -224,6 +504,62 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/d4/19/0b6647bf5e331521e55d2b63bfbdc210bd9cd605189273f03614a05f702d/colorlog-6.12.0-py3-none-any.whl", hash = "sha256:30d392604e9110045a2c2aeefc27d7a017abbab63f3a8aee594eac0801df784e" }, ] +[[package]] +name = "comm" +version = "0.2.3" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/4c/13/7d740c5849255756bc17888787313b61fd38a0a8304fc4f073dfc46122aa/comm-0.2.3.tar.gz", hash = "sha256:2dc8048c10962d55d7ad693be1e7045d891b7ce8d999c97963a5e3e99c055971" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl", hash = "sha256:c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417" }, +] + +[[package]] +name = "debugpy" +version = "1.8.21" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/f2/aa/12037145b7a56eaa5b29b41872f7a21b538e807e13f32c4d3c46e59be084/debugpy-1.8.21.tar.gz", hash = "sha256:a3c53278e84c94e11bd87c53970ec391d1a67396c8b22609fcac576520e611a6" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/fc/f3/6b1d4c71f4cbb5360009f928934a03b42906f28fc7b3f7f35f04e58acead/debugpy-1.8.21-cp310-cp310-macosx_15_0_x86_64.whl", hash = "sha256:8eeab7b5462f683452c57c0126aaa5ec4e974ddb705f39ba87dff8818c8e08f9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/1c/f2/17c3bf91cebc173bfbf5734cd2669723d0a35c0cf9d2fd2124546efeae83/debugpy-1.8.21-cp310-cp310-manylinux_2_34_x86_64.whl", hash = "sha256:0fddfdc130ac6d8bfc0415b0409822fa901c8f310e5c945ac5653a0352532344" }, + { url = "https://mirrors.aliyun.com/pypi/packages/5a/22/1f8efd80c7b5909e760f9cfd0c9e8681d2d35d532f7c0a40760cd4da4a19/debugpy-1.8.21-cp310-cp310-win32.whl", hash = "sha256:72b5d676c4cbfac3bac5bb01c138a4656e843f93f03ce2a5f4e394ad49fbee73" }, + { url = "https://mirrors.aliyun.com/pypi/packages/da/ce/54c79abd6cccef92fa7b43d97e3acafedf4d645557267ece05e948b5e4b8/debugpy-1.8.21-cp310-cp310-win_amd64.whl", hash = "sha256:a7fe47fd23da57b9e0bec3f4a8ee65a2dc55782455ed7f2141d75ab5d2eaeef5" }, + { url = "https://mirrors.aliyun.com/pypi/packages/89/fb/cbf306d6e07a313a91e7171a98669054502840931432c227cfd505ee367f/debugpy-1.8.21-cp311-cp311-macosx_15_0_universal2.whl", hash = "sha256:da456226c7b4c69e35dbe35dcee6623d912000a77816db7856a41af1c72a0264" }, + { url = "https://mirrors.aliyun.com/pypi/packages/aa/57/aa739bd4ad2cbf96aeb1b20b56918ddd5ae4c28b68709bfcd327f02123ee/debugpy-1.8.21-cp311-cp311-manylinux_2_34_x86_64.whl", hash = "sha256:f68b891688e61bdc08b8d364d919ff0051e0b94657b39dcd027bc3173edb7cdc" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a8/31/453d2c9a23d133fe2c8ec7ca1d816ded52a913487fe3ffef7c01b4b706af/debugpy-1.8.21-cp311-cp311-win32.whl", hash = "sha256:f843a8b08c2edeaf9b1582eed4f25441af21a297c22ff16bf76a662557aa9c9e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/60/94/6660de2f2d7bf388f229335ba4637646eebabdbf38564cb439a95a9193c9/debugpy-1.8.21-cp311-cp311-win_amd64.whl", hash = "sha256:84c564d8cc701d41843b29a92814c1f1bef6798724ca9d675c284ad9f6a547d7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a2/df/bf625547431a9cadc9f4cbfeda38866e2b17f6aed147b625377e87834449/debugpy-1.8.21-cp312-cp312-macosx_15_0_universal2.whl", hash = "sha256:9f96713896f39c3dff0ee841f47320c3f2983d33c341e009361bb0ebc79adc4e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/bf/09/59324b903599031ff9faaec1758292409f6561a0ec2492fe4b703327705a/debugpy-1.8.21-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:c193d474f0a211191f2b4449d2d06157c689013035bd952f3b617e0ef422b176" }, + { url = "https://mirrors.aliyun.com/pypi/packages/14/cd/27f65b805d7fe005c44e1a36b9183ecdfbcdbf9d3e721a5115d461ecc7ee/debugpy-1.8.21-cp312-cp312-win32.whl", hash = "sha256:4743373c1cac7f9e74a1b9915bf1dbe0e900eca657ffb170ae07ac8363205ae9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/77/1d/c84e30c0c674184948b66f076ab271c01d940618a2824c23cd035a27bc20/debugpy-1.8.21-cp312-cp312-win_amd64.whl", hash = "sha256:bd7ba9dd3daa7c2f942c6ca8d4695a16bf9ac16b63615261c7982bc74f7ed20c" }, + { url = "https://mirrors.aliyun.com/pypi/packages/77/6b/d817e1f8cc77aa055d37fba092e0febfdff40fe652d8d53d4cd7a86ad98d/debugpy-1.8.21-cp313-cp313-macosx_15_0_universal2.whl", hash = "sha256:13678151fc401e2d68c9880b91e28714f797d40422994572b24560ef80910a88" }, + { url = "https://mirrors.aliyun.com/pypi/packages/48/57/412421516afc3055fa577516f00beec3d663f9b0ab330639547ae6c57720/debugpy-1.8.21-cp313-cp313-manylinux_2_34_x86_64.whl", hash = "sha256:ecbd158386c31ffe71d46f72d44d56e66331ab9b16cad649156d514368f23ab2" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c1/62/2c616337cf6ba7b07ebbc97f02c6c945a8e2f76b365e33ee809c32ee36d1/debugpy-1.8.21-cp313-cp313-win32.whl", hash = "sha256:2c2ae706dec41d99a9ca1f7ebc987a83e65578363be6f6b3ac9067504917fae1" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f8/99/9175103392f84c4b1bf7622888cdc68da07f0ff7d9e581266428f6776033/debugpy-1.8.21-cp313-cp313-win_amd64.whl", hash = "sha256:aa648733047443eb1d07682c4ef287d36a54507b643ffdf38b09a3ef002c72a0" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ce/3d/f4bbb323a548bfab2af3d6b4ffd9bf22636e55956a1285d317a1de643aad/debugpy-1.8.21-cp314-cp314-macosx_15_0_universal2.whl", hash = "sha256:9bb2a685287a2ac9b181cde89edcec64845cb51de7faaa75badb9a698bc24782" }, + { url = "https://mirrors.aliyun.com/pypi/packages/8c/2d/6e7ec524984a1702777868de49a4c53202bddac2a432a76a093469587750/debugpy-1.8.21-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:3d6922439bf33fd38a3e2c447869ebc7b97da5cd3d329ff1ef9bc06c4903437e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/97/47/d1aa6d64005a98a9144647d99306b419396f9ad7bf1d73c119e17a81fb4d/debugpy-1.8.21-cp314-cp314-win32.whl", hash = "sha256:15d4963bd5ffa48f0da0947fd06757fa7621945048a14ad7705431566d3c0e7c" }, + { url = "https://mirrors.aliyun.com/pypi/packages/5f/67/b905b90d163af11878c1af8abafa4a25206335e112e284e413454543a6da/debugpy-1.8.21-cp314-cp314-win_amd64.whl", hash = "sha256:fe0744a12353406de0ae8ccff0d0a4a666f00801a3db8fd04e7a5f761cd520e8" }, + { url = "https://mirrors.aliyun.com/pypi/packages/95/51/67e7cf11a53e40694f720457d5b3a1cdaaa3d5a9a633e482f225456b93ff/debugpy-1.8.21-py2.py3-none-any.whl", hash = "sha256:b1e37d333663c8851516a47364ef473da127f9caebe4417e6df6f5825a7e9a92" }, +] + +[[package]] +name = "decorator" +version = "5.3.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/60/8b/32f9823da46cde7df2087faa08cd98d01b908f8dcab982cdba9c84e85355/decorator-5.3.1.tar.gz", hash = "sha256:4cbcdd55a6efadb9dbea26b858f4fb3264567b52d69ca0d25b721b553f60ea82" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/05/7f/798705f5296a58ca505d600456748d1be48078eac8a7050d8a98bc9edb89/decorator-5.3.1-py3-none-any.whl", hash = "sha256:f47fe6fdbd2edd623ecfe36875d37aba411624e2670dd395dddae1358689bb3c" }, +] + +[[package]] +name = "defusedxml" +version = "0.7.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61" }, +] + [[package]] name = "exceptiongroup" version = "1.3.1" @@ -236,6 +572,33 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598" }, ] +[[package]] +name = "executing" +version = "2.2.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/cc/28/c14e053b6762b1044f34a13aab6859bbf40456d37d23aa286ac24cfd9a5d/executing-2.2.1.tar.gz", hash = "sha256:3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl", hash = "sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017" }, +] + +[[package]] +name = "fastjsonschema" +version = "2.22.2" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/33/a4/9473c7c3b87009d9c1d74034e4a0f6a35ff0d42dd0f9866d0c3ec4e9217b/fastjsonschema-2.22.2.tar.gz", hash = "sha256:72064e12356a7d6ef02165be2946b9abadbdf238536e07eb587e3dbaa33099cf" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/49/82/2755c7c982086f00d4dab85bc120ec35045a9fc2191893a6ce79afe94443/fastjsonschema-2.22.2-py3-none-any.whl", hash = "sha256:0fb3915616adac85ccfdd737d26be1089845d2019819505b42d39888458f74d4" }, +] + +[[package]] +name = "fqdn" +version = "1.5.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/30/3e/a80a8c077fd798951169626cde3e239adeba7dab75deb3555716415bd9b0/fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/cf/58/8acf1b3e91c58313ce5cb67df61001fc9dcd21be4fadb76c1a2d540e09ed/fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014" }, +] + [[package]] name = "greenlet" version = "3.5.5" @@ -306,6 +669,43 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/df/af/419a4e383bd600858a9b67e9b280a60fdc383ee3f2fe5b6c0c1ef04e74d1/greenlet-3.5.5-cp315-cp315t-win_arm64.whl", hash = "sha256:7f049911ee81a16a03c33d5450d8d5867d27f596ca5fb201b86f4524e874468b" }, ] +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86" }, +] + +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "certifi" }, + { name = "h11" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55" }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { name = "httpcore" }, + { name = "idna" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad" }, +] + [[package]] name = "idna" version = "3.19" @@ -324,6 +724,437 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12" }, ] +[[package]] +name = "ipykernel" +version = "7.3.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "appnope", marker = "sys_platform == 'darwin'" }, + { name = "comm" }, + { name = "debugpy" }, + { name = "ipython", version = "8.39.0", source = { registry = "https://mirrors.aliyun.com/pypi/simple/" }, marker = "python_full_version < '3.11'" }, + { name = "ipython", version = "9.17.1", source = { registry = "https://mirrors.aliyun.com/pypi/simple/" }, marker = "python_full_version >= '3.11'" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "matplotlib-inline" }, + { name = "nest-asyncio2" }, + { name = "packaging" }, + { name = "psutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/3d/c4/e4a38f579de4225a561305666f7541cdabb30075def2aa1ac17bd73c1fb5/ipykernel-7.3.0.tar.gz", hash = "sha256:9acaaaf97d16355166e4085afe9d225bfbdf2b7ef520f9df3be8f2b248275e09" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/3d/02/77b271f5dc58bfbc0b577c877b2365d1ffea2afe66a80c13f2312820348c/ipykernel-7.3.0-py3-none-any.whl", hash = "sha256:897eb64da762549ef610698fca5e9675195ec6ac8ec7f19d81ce1ca20c876057" }, +] + +[[package]] +name = "ipython" +version = "8.39.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +resolution-markers = [ + "(python_full_version < '3.11' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform == 'win32')", + "python_full_version < '3.11' and sys_platform != 'linux' and sys_platform != 'win32'", +] +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "decorator" }, + { name = "exceptiongroup" }, + { name = "jedi" }, + { name = "matplotlib-inline" }, + { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit" }, + { name = "pygments" }, + { name = "stack-data" }, + { name = "traitlets" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/40/18/f8598d287006885e7136451fdea0755af4ebcbfe342836f24deefaed1164/ipython-8.39.0.tar.gz", hash = "sha256:4110ae96012c379b8b6db898a07e186c40a2a1ef5d57a7fa83166047d9da7624" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/c0/56/4cc7fc9e9e3f38fd324f24f8afe0ad8bb5fa41283f37f1aaf9de0612c968/ipython-8.39.0-py3-none-any.whl", hash = "sha256:bb3c51c4fa8148ab1dea07a79584d1c854e234ea44aa1283bcb37bc75054651f" }, +] + +[[package]] +name = "ipython" +version = "9.17.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +resolution-markers = [ + "(python_full_version >= '3.14' and sys_platform == 'linux') or (python_full_version >= '3.14' and sys_platform == 'win32')", + "python_full_version >= '3.14' and sys_platform != 'linux' and sys_platform != 'win32'", + "(python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform == 'linux') or (python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform == 'win32')", + "python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform != 'linux' and sys_platform != 'win32'", + "(python_full_version == '3.11.*' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform == 'win32')", + "python_full_version == '3.11.*' and sys_platform != 'linux' and sys_platform != 'win32'", +] +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "ipython-pygments-lexers" }, + { name = "jedi" }, + { name = "matplotlib-inline" }, + { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit" }, + { name = "psutil", marker = "sys_platform != 'cygwin' and sys_platform != 'emscripten'" }, + { name = "pygments" }, + { name = "stack-data" }, + { name = "traitlets" }, + { name = "typing-extensions", marker = "python_full_version < '3.12'" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/b9/32/99451b1283ec5d92ad77073f12e1c667dc10775384d8f15c2914207149dd/ipython-9.17.1.tar.gz", hash = "sha256:8919be8c27f20a6f4423145028063f6637b42a03ce57665bb12015ee1f073529" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/2d/1e/65b59cf518c106aa755e7f7da3099027738687a862ec785060702a481320/ipython-9.17.1-py3-none-any.whl", hash = "sha256:6d1645743cfd1a07eb695d85aa2b5fa66721f8cbae9431d4049f7084bbf06509" }, +] + +[[package]] +name = "ipython-pygments-lexers" +version = "1.1.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "pygments" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c" }, +] + +[[package]] +name = "ipywidgets" +version = "8.1.9" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "comm" }, + { name = "ipython", version = "8.39.0", source = { registry = "https://mirrors.aliyun.com/pypi/simple/" }, marker = "python_full_version < '3.11'" }, + { name = "ipython", version = "9.17.1", source = { registry = "https://mirrors.aliyun.com/pypi/simple/" }, marker = "python_full_version >= '3.11'" }, + { name = "jupyterlab-widgets" }, + { name = "traitlets" }, + { name = "widgetsnbextension" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/c9/7c/6db60eddf38547353b06d57941f5eee22a990640ce30479fd71a810507f2/ipywidgets-8.1.9.tar.gz", hash = "sha256:bcccba38a6ec3253f7a39c943cea5b9ad01999ce071396171adbc51c6a6a8613" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/c3/55/298e9b3b864a198234997e87a1471c1b17d7f3546ace6d18fb5cf1ce24b2/ipywidgets-8.1.9-py3-none-any.whl", hash = "sha256:f2b8cbcaae10252b809fbe4d7470db75c09b769a32cbf816d20e5ca6d3c5a79d" }, +] + +[[package]] +name = "isoduration" +version = "20.11.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "arrow" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/7c/1a/3c8edc664e06e6bd06cce40c6b22da5f1429aa4224d0c590f3be21c91ead/isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/7b/55/e5326141505c5d5e34c5e0935d2908a74e4561eca44108fbfb9c13d2911a/isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042" }, +] + +[[package]] +name = "jedi" +version = "0.20.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "parso" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/46/b7/a3635f6a2d7cf5b5dd98064fc1d5fbbafcb25477bcea204a3a92145d158b/jedi-0.20.0.tar.gz", hash = "sha256:c3f4ccbd276696f4b19c54618d4fb18f9fc24b0aef02acf704b23f487daa1011" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/9a/93/242e2eab5fe682ffcb8b0084bde703a41d51e17ee0f3a31ff0d9d813620a/jedi-0.20.0-py2.py3-none-any.whl", hash = "sha256:7bdd9c2634f56713299976f4cbd59cb3fa92165cc5e05ea811fb253480728b67" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67" }, +] + +[[package]] +name = "json5" +version = "0.15.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/e4/7d/05c46a96a78147ae3bf99c2f4169ce144a70220b8d6fcd56f6ec368b8ce9/json5-0.15.0.tar.gz", hash = "sha256:7424d1f1eb1d56da6e3d70643f53619862b4ce81440bdb8ecfd6f875e5ba4a71" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/eb/be/59527c99478aade6bb33a68d72e6e18dd4e6ff6eacfc7d01bdb15bc76912/json5-0.15.0-py3-none-any.whl", hash = "sha256:56636a30c0e8a4665fe2179c0212f32eae3796dea89ea6f649b9436ecdb39618" }, +] + +[[package]] +name = "jsonpointer" +version = "3.1.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/18/c7/af399a2e7a67fd18d63c40c5e62d3af4e67b836a2107468b6a5ea24c4304/jsonpointer-3.1.1.tar.gz", hash = "sha256:0b801c7db33a904024f6004d526dcc53bbb8a4a0f4e32bfd10beadf60adf1900" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/9e/6a/a83720e953b1682d2d109d3c2dbb0bc9bf28cc1cbc205be4ef4be5da709d/jsonpointer-3.1.1-py3-none-any.whl", hash = "sha256:8ff8b95779d071ba472cf5bc913028df06031797532f08a7d5b602d8b2a488ca" }, +] + +[[package]] +name = "jsonschema" +version = "4.26.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py", version = "0.30.0", source = { registry = "https://mirrors.aliyun.com/pypi/simple/" }, marker = "python_full_version < '3.11'" }, + { name = "rpds-py", version = "2026.6.3", source = { registry = "https://mirrors.aliyun.com/pypi/simple/" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz", hash = "sha256:0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl", hash = "sha256:d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce" }, +] + +[package.optional-dependencies] +format-nongpl = [ + { name = "fqdn" }, + { name = "idna" }, + { name = "isoduration" }, + { name = "jsonpointer" }, + { name = "rfc3339-validator" }, + { name = "rfc3986-validator" }, + { name = "rfc3987-syntax" }, + { name = "uri-template" }, + { name = "webcolors" }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2025.9.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "referencing" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe" }, +] + +[[package]] +name = "jupyter" +version = "1.1.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "ipykernel" }, + { name = "ipywidgets" }, + { name = "jupyter-console" }, + { name = "jupyterlab" }, + { name = "nbconvert" }, + { name = "notebook" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/58/f3/af28ea964ab8bc1e472dba2e82627d36d470c51f5cd38c37502eeffaa25e/jupyter-1.1.1.tar.gz", hash = "sha256:d55467bceabdea49d7e3624af7e33d59c37fff53ed3a350e1ac957bed731de7a" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/38/64/285f20a31679bf547b75602702f7800e74dbabae36ef324f716c02804753/jupyter-1.1.1-py2.py3-none-any.whl", hash = "sha256:7a59533c22af65439b24bbe60373a4e95af8f16ac65a6c00820ad378e3f7cc83" }, +] + +[[package]] +name = "jupyter-builder" +version = "1.2.3" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "jupyter-core" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "traitlets" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/75/3e/56f593e6a664cd14d441724654ce8243f3cac7d3e45867cf084749c8bc75/jupyter_builder-1.2.3.tar.gz", hash = "sha256:01aba6794eb9b19e0e29ae21137ca60ba4135c70347d4b9f664a586822b8c809" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/84/aa/be79e87c50698673f196d0633fc1664607da2289f9688d1de7a1c9db9e71/jupyter_builder-1.2.3-py3-none-any.whl", hash = "sha256:c5ea5a7190c2a7b082494abade98eece1b2b5bd5dbd7d610606cbcd10a1d08b3" }, +] + +[[package]] +name = "jupyter-client" +version = "8.10.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "jupyter-core" }, + { name = "python-dateutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/c5/2a/906772148a06e48885039e0250c340b770a55bbf37b08d6ee0449df369c3/jupyter_client-8.10.0.tar.gz", hash = "sha256:9f7116294dca55f1785be880057d44544db9b1567718d92cb33c58886afb9497" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/0f/88/7c548de1f6c2ade7c931a3282da73f9274fa6a1531091be682f89c85efb9/jupyter_client-8.10.0-py3-none-any.whl", hash = "sha256:5f73f24f22fa25192cfff6b23c051932a2473a797b05734aff495b392103e14e" }, +] + +[[package]] +name = "jupyter-console" +version = "6.6.3" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "ipykernel" }, + { name = "ipython", version = "8.39.0", source = { registry = "https://mirrors.aliyun.com/pypi/simple/" }, marker = "python_full_version < '3.11'" }, + { name = "ipython", version = "9.17.1", source = { registry = "https://mirrors.aliyun.com/pypi/simple/" }, marker = "python_full_version >= '3.11'" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "prompt-toolkit" }, + { name = "pygments" }, + { name = "pyzmq" }, + { name = "traitlets" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/bd/2d/e2fd31e2fc41c14e2bcb6c976ab732597e907523f6b2420305f9fc7fdbdb/jupyter_console-6.6.3.tar.gz", hash = "sha256:566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/ca/77/71d78d58f15c22db16328a476426f7ac4a60d3a5a7ba3b9627ee2f7903d4/jupyter_console-6.6.3-py3-none-any.whl", hash = "sha256:309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485" }, +] + +[[package]] +name = "jupyter-core" +version = "5.9.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "platformdirs" }, + { name = "traitlets" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/02/49/9d1284d0dc65e2c757b74c6687b6d319b02f822ad039e5c512df9194d9dd/jupyter_core-5.9.1.tar.gz", hash = "sha256:4d09aaff303b9566c3ce657f580bd089ff5c91f5f89cf7d8846c3cdf465b5508" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl", hash = "sha256:ebf87fdc6073d142e114c72c9e29a9d7ca03fad818c5d300ce2adc1fb0743407" }, +] + +[[package]] +name = "jupyter-events" +version = "0.12.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "jsonschema", extra = ["format-nongpl"] }, + { name = "packaging" }, + { name = "python-json-logger" }, + { name = "pyyaml" }, + { name = "referencing" }, + { name = "rfc3339-validator" }, + { name = "rfc3986-validator" }, + { name = "traitlets" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/18/f8/475c4241b2b75af0deaae453ed003c6c851766dbc44d332d8baf245dc931/jupyter_events-0.12.1.tar.gz", hash = "sha256:faff25f77218335752f35f23c5fe6e4a392a7bd99a5939ccb9b8fbf594636cf3" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/eb/6c/6fcde0c8f616ed360ffd3587f7db9e225a7e62b583a04494d2f069cf64ea/jupyter_events-0.12.1-py3-none-any.whl", hash = "sha256:c366585253f537a627da52fa7ca7410c5b5301fe893f511e7b077c2d93ec8bcf" }, +] + +[[package]] +name = "jupyter-lsp" +version = "2.3.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "jupyter-server" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/36/ff/1e4a61f5170a9a1d978f3ac3872449de6c01fc71eaf89657824c878b1549/jupyter_lsp-2.3.1.tar.gz", hash = "sha256:fdf8a4aa7d85813976d6e29e95e6a2c8f752701f926f2715305249a3829805a6" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/23/e8/9d61dcbd1dce8ef418f06befd4ac084b4720429c26b0b1222bc218685eff/jupyter_lsp-2.3.1-py3-none-any.whl", hash = "sha256:71b954d834e85ff3096400554f2eefaf7fe37053036f9a782b0f7c5e42dadb81" }, +] + +[[package]] +name = "jupyter-server" +version = "2.21.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "anyio" }, + { name = "argon2-cffi" }, + { name = "jinja2" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "jupyter-events" }, + { name = "jupyter-server-terminals" }, + { name = "nbconvert" }, + { name = "nbformat" }, + { name = "overrides", marker = "python_full_version < '3.12'" }, + { name = "packaging" }, + { name = "prometheus-client" }, + { name = "pywinpty", marker = "os_name == 'nt'" }, + { name = "pyzmq" }, + { name = "send2trash" }, + { name = "terminado" }, + { name = "tornado" }, + { name = "traitlets" }, + { name = "websocket-client" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/cf/e0/63b481d5b21f81fe23173dfc9eb25629fa1bc174fdc4a2c19d09c1ff8124/jupyter_server-2.21.0.tar.gz", hash = "sha256:70d9a1883f57d3576ea17f4ce061ec1a7aad7ef388d00428cfb7f5e4f0022271" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/cb/8a/cb97c2b353cb46cced413be8f742fa8fcd3cb1659524f27314494aa94968/jupyter_server-2.21.0-py3-none-any.whl", hash = "sha256:2ae2e5ce5e97268553e25aebe040197455673d925b5fc7995477153318160cf7" }, +] + +[[package]] +name = "jupyter-server-terminals" +version = "0.5.4" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "pywinpty", marker = "os_name == 'nt'" }, + { name = "terminado" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/f4/a7/bcd0a9b0cbba88986fe944aaaf91bfda603e5a50bda8ed15123f381a3b2f/jupyter_server_terminals-0.5.4.tar.gz", hash = "sha256:bbda128ed41d0be9020349f9f1f2a4ab9952a73ed5f5ac9f1419794761fb87f5" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/d1/2d/6674563f71c6320841fc300911a55143925112a72a883e2ca71fba4c618d/jupyter_server_terminals-0.5.4-py3-none-any.whl", hash = "sha256:55be353fc74a80bc7f3b20e6be50a55a61cd525626f578dcb66a5708e2007d14" }, +] + +[[package]] +name = "jupyterlab" +version = "4.6.3" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "async-lru" }, + { name = "httpx" }, + { name = "ipykernel" }, + { name = "jinja2" }, + { name = "jupyter-builder" }, + { name = "jupyter-core" }, + { name = "jupyter-lsp" }, + { name = "jupyter-server" }, + { name = "jupyterlab-server" }, + { name = "notebook-shim" }, + { name = "packaging" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "tornado" }, + { name = "traitlets" }, + { name = "typing-extensions", marker = "python_full_version < '3.12'" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/00/c0/45934229995d4c6e38192ca118d93185f60808f64157e3df3c5c28f8c5fd/jupyterlab-4.6.3.tar.gz", hash = "sha256:2e3db6e3a12495ebd188276e985bf5ac502fbde3d1e8628819920210008de498" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/e9/47/242f46de028074651c9bd6d8000fc340ed0d3cdd1a0eae4387826123413a/jupyterlab-4.6.3-py3-none-any.whl", hash = "sha256:0a1ebc6567186f1eabd99536e94df7ed9e96d1e7c5ddf3e4406ae16e88abacb7" }, +] + +[[package]] +name = "jupyterlab-pygments" +version = "0.3.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/90/51/9187be60d989df97f5f0aba133fa54e7300f17616e065d1ada7d7646b6d6/jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780" }, +] + +[[package]] +name = "jupyterlab-server" +version = "2.28.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "babel" }, + { name = "jinja2" }, + { name = "json5" }, + { name = "jsonschema" }, + { name = "jupyter-server" }, + { name = "packaging" }, + { name = "requests" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/d6/2c/90153f189e421e93c4bb4f9e3f59802a1f01abd2ac5cf40b152d7f735232/jupyterlab_server-2.28.0.tar.gz", hash = "sha256:35baa81898b15f93573e2deca50d11ac0ae407ebb688299d3a5213265033712c" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/e0/07/a000fe835f76b7e1143242ab1122e6362ef1c03f23f83a045c38859c2ae0/jupyterlab_server-2.28.0-py3-none-any.whl", hash = "sha256:e4355b148fdcf34d312bbbc80f22467d6d20460e8b8736bf235577dd18506968" }, +] + +[[package]] +name = "jupyterlab-widgets" +version = "3.0.17" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/21/8b/e739cf9066ad5037a2d4b0a403f06da374fdccb9748221661c8b492d3dbc/jupyterlab_widgets-3.0.17.tar.gz", hash = "sha256:6e61fe21ca8a66039180a5cc52a433e07279d2fee79c8be963e00d55193f17a8" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/33/ef/6d27fc118f58cb24886da413545a7efb0853d405fddbfd8b2d9ac09fbed4/jupyterlab_widgets-3.0.17-py3-none-any.whl", hash = "sha256:40ac1e9955acf116c4d995d9bfa082d86ad9ec6d91c4f134827cf5e0a5eb75e0" }, +] + +[[package]] +name = "lark" +version = "1.3.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/da/34/28fff3ab31ccff1fd4f6c7c7b0ceb2b6968d8ea4950663eadcb5720591a0/lark-1.3.1.tar.gz", hash = "sha256:b426a7a6d6d53189d318f2b6236ab5d6429eaf09259f1ca33eb716eed10d2905" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/82/3d/14ce75ef66813643812f3093ab17e46d3a206942ce7376d31ec2d36229e7/lark-1.3.1-py3-none-any.whl", hash = "sha256:c629b661023a014c37da873b4ff58a817398d12635d3bbb2c5a03be7fe5d1e12" }, +] + [[package]] name = "mako" version = "1.4.1" @@ -421,11 +1252,24 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa" }, ] +[[package]] +name = "matplotlib-inline" +version = "0.2.2" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "traitlets" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/bd/c0/9f7c9a46090390368a4d7bcb76bb87a4a36c421e4c0792cdb53486ffac7a/matplotlib_inline-0.2.2.tar.gz", hash = "sha256:72f3fe8fce36b70d4a5b612f899090cd0401deddc4ea90e1572b9f4bfb058c79" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/41/09/5b161152e2d90f7b87f781c2e1267494aef9c32498df793f73ad0a0a494a/matplotlib_inline-0.2.2-py3-none-any.whl", hash = "sha256:3c821cf1c209f59fb2d2d64abbf5b23b67bcb2210d663f9918dd851c6da1fcf6" }, +] + [[package]] name = "mcm26b" version = "0.2.0" source = { editable = "." } dependencies = [ + { name = "jupyter" }, { name = "requests" }, ] @@ -437,7 +1281,10 @@ dev = [ ] [package.metadata] -requires-dist = [{ name = "requests", specifier = ">=2.31" }] +requires-dist = [ + { name = "jupyter", specifier = ">=1.1.1" }, + { name = "requests", specifier = ">=2.31" }, +] [package.metadata.requires-dev] dev = [ @@ -451,6 +1298,111 @@ name = "mcm26b-referee" version = "1.0.0" source = { editable = "referee" } +[[package]] +name = "mistune" +version = "3.3.4" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/7b/92/328a294a6de83bacb95bed01f04e0eaff4e3616ee359fc821a5dfc539b02/mistune-3.3.4.tar.gz", hash = "sha256:58b5c96d6fcb61190dfe5fae498d2b2065f99cf61e9649418fd54cf1ada86dfe" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/77/e4/288365afae98953bc01de09f686f40d8ee84578135aa7767d5d4e60b5278/mistune-3.3.4-py3-none-any.whl", hash = "sha256:ee015381e955e370962968befe1d729ab60fafb6a715ac6751763fbce38c8d4a" }, +] + +[[package]] +name = "nbclient" +version = "0.11.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "nbformat" }, + { name = "traitlets" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/28/a5/b3bae4b590c0cbcada2c63a34f7580024e834a8ba213e949a2f906705787/nbclient-0.11.0.tar.gz", hash = "sha256:04a134a5b087f2c5887f228aca155db50169b8cd9334dee6942c8e927e56081a" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/36/c9/94d73e5a01c5b926c3fa2496e97d7a8dc28ed5a77c0b2ed712f1a62e6694/nbclient-0.11.0-py3-none-any.whl", hash = "sha256:ef7fa0d59d6e1d41103933d8a445a18d5de860ca6b613b87b8574accdb3c2895" }, +] + +[[package]] +name = "nbconvert" +version = "7.17.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "beautifulsoup4" }, + { name = "bleach", extra = ["css"] }, + { name = "defusedxml" }, + { name = "jinja2" }, + { name = "jupyter-core" }, + { name = "jupyterlab-pygments" }, + { name = "markupsafe" }, + { name = "mistune" }, + { name = "nbclient" }, + { name = "nbformat" }, + { name = "packaging" }, + { name = "pandocfilters" }, + { name = "pygments" }, + { name = "traitlets" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/01/b1/708e53fe2e429c103c6e6e159106bcf0357ac41aa4c28772bd8402339051/nbconvert-7.17.1.tar.gz", hash = "sha256:34d0d0a7e73ce3cbab6c5aae8f4f468797280b01fd8bd2ca746da8569eddd7d2" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/67/f8/bb0a9d5f46819c821dc1f004aa2cc29b1d91453297dbf5ff20470f00f193/nbconvert-7.17.1-py3-none-any.whl", hash = "sha256:aa85c087b435e7bf1ffd03319f658e285f2b89eccab33bc1ba7025495ab3e7c8" }, +] + +[[package]] +name = "nbformat" +version = "5.11.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "fastjsonschema" }, + { name = "jsonschema" }, + { name = "jupyter-core" }, + { name = "traitlets" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/31/72/b3446efab8756e7df4b8ec587f8e611cb5a7249e4323db480802f1d3be04/nbformat-5.11.1.tar.gz", hash = "sha256:32d4521c68c6e7d5b29c76defaeed9f42ea733142b9b19f88277ce10390b9c4d" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/1a/69/ee613f74085ca7103f79cd08d579c4f3177d1d26e5d3d9528d2d6536a707/nbformat-5.11.1-py3-none-any.whl", hash = "sha256:cc6698fa75f4fab8755ead786317815f13a6fee3b53311c0abb1a8b51d52f7ec" }, +] + +[[package]] +name = "nest-asyncio2" +version = "1.7.2" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/b4/73/731debf26e27e0a0323d7bda270dc2f634b398e38f040a09da1f4351d0aa/nest_asyncio2-1.7.2.tar.gz", hash = "sha256:1921d70b92cc4612c374928d081552efb59b83d91b2b789d935c665fa01729a8" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/c5/3c/3179b85b0e1c3659f0369940200cd6d0fa900e6cefcc7ea0bc6dd0e29ffb/nest_asyncio2-1.7.2-py3-none-any.whl", hash = "sha256:f5dfa702f3f81f6a03857e9a19e2ba578c0946a4ad417b4c50a24d7ba641fe01" }, +] + +[[package]] +name = "notebook" +version = "7.6.2" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "jupyter-builder" }, + { name = "jupyter-server" }, + { name = "jupyterlab" }, + { name = "jupyterlab-server" }, + { name = "notebook-shim" }, + { name = "tornado" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/31/d9/5c76de84e96e1cf8aae3fce930875e0615e14f3557bbcdb634aab52da9d3/notebook-7.6.2.tar.gz", hash = "sha256:cc02b5f0bb972160cccfe44ad8a1a202036206ba3439469c514f03aefa9ae807" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/5c/fd/3e552ff5b24dd305c6e9a10e8645e29c03091c317429f326ae10dbae1ac6/notebook-7.6.2-py3-none-any.whl", hash = "sha256:5fe9e09c335cb4b7de21627b860f77210e70e54b1fb1276ad942a4a7e1d858d3" }, +] + +[[package]] +name = "notebook-shim" +version = "0.2.4" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "jupyter-server" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/54/d2/92fa3243712b9a3e8bafaf60aac366da1cada3639ca767ff4b5b3654ec28/notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/f9/33/bd5b9137445ea4b680023eb0469b2bb969d61303dedb2aac6560ff3d14a1/notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef" }, +] + [[package]] name = "numpy" version = "2.2.6" @@ -605,8 +1557,10 @@ name = "numpy" version = "2.5.3" source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } resolution-markers = [ - "(python_full_version >= '3.12' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform == 'win32')", - "python_full_version >= '3.12' and sys_platform != 'linux' and sys_platform != 'win32'", + "(python_full_version >= '3.14' and sys_platform == 'linux') or (python_full_version >= '3.14' and sys_platform == 'win32')", + "python_full_version >= '3.14' and sys_platform != 'linux' and sys_platform != 'win32'", + "(python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform == 'linux') or (python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform == 'win32')", + "python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform != 'linux' and sys_platform != 'win32'", ] sdist = { url = "https://mirrors.aliyun.com/pypi/packages/13/01/11703282db468b85f6f7b8c7f22d058de5970d5c7e60a3a8aaa313c3de36/numpy-2.5.3.tar.gz", hash = "sha256:df2d5874ff183595a4ba404edd04f6bd9b5505c1d7708573f6a6c17489a67563" } wheels = [ @@ -697,6 +1651,15 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/90/e5/7c5e8cdda8c9f0cd8aca0a376dee9cff6b8c30692cf614960d9e80f59689/optuna-5.0.0-py3-none-any.whl", hash = "sha256:5fff892ae6baf4948c810c5b8635ec67e08efb0709b41cb73b14e30391d44720" }, ] +[[package]] +name = "overrides" +version = "7.7.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/36/86/b585f53236dec60aba864e050778b25045f857e17f6e5ea0ae95fe80edd2/overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49" }, +] + [[package]] name = "packaging" version = "26.3" @@ -706,6 +1669,45 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl", hash = "sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c" }, ] +[[package]] +name = "pandocfilters" +version = "1.5.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/70/6f/3dd4940bbe001c06a65f88e36bad298bc7a0de5036115639926b0c5c0458/pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc" }, +] + +[[package]] +name = "parso" +version = "0.8.7" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/30/4b/90c937815137d43ce71ba043cd3566221e9df6b9c805f24b5d138c9d40a7/parso-0.8.7.tar.gz", hash = "sha256:eaaac4c9fdd5e9e8852dc778d2d7405897ec510f2a298071453e5e3a07914bb1" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/99/5d/8268b644392ee874ee82a635cd0df1773de230bde356c38de28e298392cc/parso-0.8.7-py2.py3-none-any.whl", hash = "sha256:a8926eb2a1b915486941fdbd31e86a4baf88fe8c210f25f2f35ecec5b574ca1c" }, +] + +[[package]] +name = "pexpect" +version = "4.9.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "ptyprocess" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523" }, +] + +[[package]] +name = "platformdirs" +version = "4.11.8" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/53/18/f3bb8ef0d3b930692343da8aa4d3cbcd6749477c053959395ac81965a6e9/platformdirs-4.11.8.tar.gz", hash = "sha256:f23abafea7dd4276d1f29104b83598d7dcc567cafd07c9c951e66665645437fc" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/f4/e1/5b7b8bbb55084d1425bcb9bc823ff519e1b2be05f6ebb0089e2eacc38413/platformdirs-4.11.8-py3-none-any.whl", hash = "sha256:52f2f181bbfde907966932cc8312d967d02976422d66d537ea16092b8e291081" }, +] + [[package]] name = "pluggy" version = "1.6.0" @@ -715,6 +1717,82 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746" }, ] +[[package]] +name = "prometheus-client" +version = "0.26.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/52/73/f1334c29c2af4cd9dba6c7817e61b611bd0215e2eb5565c6064a4de18802/prometheus_client-0.26.0.tar.gz", hash = "sha256:04a91bcf94e2cf74a44a1a874d651a2e853ed354b6e822f3b7487751465d5c2b" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/eb/a3/b69efbf4143b5b9859b977770bbbabcc2796b702fa69dc40271e45cd5a56/prometheus_client-0.26.0-py3-none-any.whl", hash = "sha256:fa93d06737aa02bacd05794768508bb97d2fbee28cb3bca04eaae92f0ca953d6" }, +] + +[[package]] +name = "prompt-toolkit" +version = "3.0.53" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/7d/ea/39b988c938f75cb75d7045b5c69f8bfed47ee2152c8837fb403de29d6fb8/prompt_toolkit-3.0.53.tar.gz", hash = "sha256:9ec8a0ad96d5c56148b3f914aa79c1564c3fde5d2e6b876e7bc327e353cf8fa6" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/54/6f/84908cad2d6aa5144abcf7b42709fe4fdb459bc640ec7ac5786e7693dabc/prompt_toolkit-3.0.53-py3-none-any.whl", hash = "sha256:01c0891d7f9237d5e339f7d3e42cdae80b7534abb1c7c0e3352efba6231492f2" }, +] + +[[package]] +name = "psutil" +version = "7.2.2" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/aa/c6/d1ddf4abb55e93cebc4f2ed8b5d6dbad109ecb8d63748dd2b20ab5e57ebe/psutil-7.2.2.tar.gz", hash = "sha256:0746f5f8d406af344fd547f1c8daa5f5c33dbc293bb8d6a16d80b4bb88f59372" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/51/08/510cbdb69c25a96f4ae523f733cdc963ae654904e8db864c07585ef99875/psutil-7.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:2edccc433cbfa046b980b0df0171cd25bcaeb3a68fe9022db0979e7aa74a826b" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d6/f5/97baea3fe7a5a9af7436301f85490905379b1c6f2dd51fe3ecf24b4c5fbf/psutil-7.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e78c8603dcd9a04c7364f1a3e670cea95d51ee865e4efb3556a3a63adef958ea" }, + { url = "https://mirrors.aliyun.com/pypi/packages/37/d6/246513fbf9fa174af531f28412297dd05241d97a75911ac8febefa1a53c6/psutil-7.2.2-cp313-cp313t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1a571f2330c966c62aeda00dd24620425d4b0cc86881c89861fbc04549e5dc63" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b8/b5/9182c9af3836cca61696dabe4fd1304e17bc56cb62f17439e1154f225dd3/psutil-7.2.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:917e891983ca3c1887b4ef36447b1e0873e70c933afc831c6b6da078ba474312" }, + { url = "https://mirrors.aliyun.com/pypi/packages/16/ba/0756dca669f5a9300d0cbcbfae9a4c30e446dfc7440ffe43ded5724bfd93/psutil-7.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:ab486563df44c17f5173621c7b198955bd6b613fb87c71c161f827d3fb149a9b" }, + { url = "https://mirrors.aliyun.com/pypi/packages/1c/61/8fa0e26f33623b49949346de05ec1ddaad02ed8ba64af45f40a147dbfa97/psutil-7.2.2-cp313-cp313t-win_arm64.whl", hash = "sha256:ae0aefdd8796a7737eccea863f80f81e468a1e4cf14d926bd9b6f5f2d5f90ca9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/81/69/ef179ab5ca24f32acc1dac0c247fd6a13b501fd5534dbae0e05a1c48b66d/psutil-7.2.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:eed63d3b4d62449571547b60578c5b2c4bcccc5387148db46e0c2313dad0ee00" }, + { url = "https://mirrors.aliyun.com/pypi/packages/7b/64/665248b557a236d3fa9efc378d60d95ef56dd0a490c2cd37dafc7660d4a9/psutil-7.2.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7b6d09433a10592ce39b13d7be5a54fbac1d1228ed29abc880fb23df7cb694c9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d5/2e/e6782744700d6759ebce3043dcfa661fb61e2fb752b91cdeae9af12c2178/psutil-7.2.2-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1fa4ecf83bcdf6e6c8f4449aff98eefb5d0604bf88cb883d7da3d8d2d909546a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/57/49/0a41cefd10cb7505cdc04dab3eacf24c0c2cb158a998b8c7b1d27ee2c1f5/psutil-7.2.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e452c464a02e7dc7822a05d25db4cde564444a67e58539a00f929c51eddda0cf" }, + { url = "https://mirrors.aliyun.com/pypi/packages/dd/2c/ff9bfb544f283ba5f83ba725a3c5fec6d6b10b8f27ac1dc641c473dc390d/psutil-7.2.2-cp314-cp314t-win_amd64.whl", hash = "sha256:c7663d4e37f13e884d13994247449e9f8f574bc4655d509c3b95e9ec9e2b9dc1" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f2/fc/f8d9c31db14fcec13748d373e668bc3bed94d9077dbc17fb0eebc073233c/psutil-7.2.2-cp314-cp314t-win_arm64.whl", hash = "sha256:11fe5a4f613759764e79c65cf11ebdf26e33d6dd34336f8a337aa2996d71c841" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e7/36/5ee6e05c9bd427237b11b3937ad82bb8ad2752d72c6969314590dd0c2f6e/psutil-7.2.2-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ed0cace939114f62738d808fdcecd4c869222507e266e574799e9c0faa17d486" }, + { url = "https://mirrors.aliyun.com/pypi/packages/80/c4/f5af4c1ca8c1eeb2e92ccca14ce8effdeec651d5ab6053c589b074eda6e1/psutil-7.2.2-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:1a7b04c10f32cc88ab39cbf606e117fd74721c831c98a27dc04578deb0c16979" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b5/70/5d8df3b09e25bce090399cf48e452d25c935ab72dad19406c77f4e828045/psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:076a2d2f923fd4821644f5ba89f059523da90dc9014e85f8e45a5774ca5bc6f9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/63/65/37648c0c158dc222aba51c089eb3bdfa238e621674dc42d48706e639204f/psutil-7.2.2-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b0726cecd84f9474419d67252add4ac0cd9811b04d61123054b9fb6f57df6e9e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/8e/13/125093eadae863ce03c6ffdbae9929430d116a246ef69866dad94da3bfbc/psutil-7.2.2-cp36-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:fd04ef36b4a6d599bbdb225dd1d3f51e00105f6d48a28f006da7f9822f2606d8" }, + { url = "https://mirrors.aliyun.com/pypi/packages/04/78/0acd37ca84ce3ddffaa92ef0f571e073faa6d8ff1f0559ab1272188ea2be/psutil-7.2.2-cp36-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b58fabe35e80b264a4e3bb23e6b96f9e45a3df7fb7eed419ac0e5947c61e47cc" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b4/90/e2159492b5426be0c1fef7acba807a03511f97c5f86b3caeda6ad92351a7/psutil-7.2.2-cp37-abi3-win_amd64.whl", hash = "sha256:eb7e81434c8d223ec4a219b5fc1c47d0417b12be7ea866e24fb5ad6e84b3d988" }, + { url = "https://mirrors.aliyun.com/pypi/packages/8c/c7/7bb2e321574b10df20cbde462a94e2b71d05f9bbda251ef27d104668306a/psutil-7.2.2-cp37-abi3-win_arm64.whl", hash = "sha256:8c233660f575a5a89e6d4cb65d9f938126312bca76d8fe087b947b3a1aaac9ee" }, +] + +[[package]] +name = "ptyprocess" +version = "0.7.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35" }, +] + +[[package]] +name = "pure-eval" +version = "0.2.3" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0" }, +] + +[[package]] +name = "pycparser" +version = "3.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz", hash = "sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl", hash = "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992" }, +] + [[package]] name = "pygments" version = "2.21.0" @@ -742,6 +1820,49 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl", hash = "sha256:37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c" }, ] +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" }, +] + +[[package]] +name = "python-json-logger" +version = "4.2.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/21/25/5473e46b179f8e8b4ad3aeeb36773d1701b7770eaf5e5bc2025c7303b598/python_json_logger-4.2.0.tar.gz", hash = "sha256:e371ebe22ec01e289850102091a2b1f6fc9e655c7f1f5f29073936756c290afa" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/dc/55/6467fde553886cb293e41538f3a8b4e4fd4688c6df242cf982162d8367fb/python_json_logger-4.2.0-py3-none-any.whl", hash = "sha256:158a52126fcd6869e09574d2b66272666f3dc8f468c62637ef9a1fa883719cb9" }, +] + +[[package]] +name = "pywinpty" +version = "3.0.5" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/a9/ef/2d27f30c59a67be7025b2d7858c8c2d282b74d66544b2384730b82de74fd/pywinpty-3.0.5.tar.gz", hash = "sha256:61db0db063de9865adbea66db294628f8577f608d9764a4c7d3384eeacc4e81b" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/89/ff/8bd91d4502b48bee0459bc912806fa512111905ab97d317e7cb1201b3542/pywinpty-3.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:b467dcad72365bc2205ed8b6e694e817d71de269d46e56cfe267dfa9d3d30e1b" }, + { url = "https://mirrors.aliyun.com/pypi/packages/00/d2/dee13e67af2300a080dea30d4da8fdb05133a7eebb39171111f0530f7e88/pywinpty-3.0.5-cp310-cp310-win_arm64.whl", hash = "sha256:7dc4046ea8e4d7f0a16dae8dfcaeeda6df7ca3a9330444d2ba5bb96138fe0a91" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b0/5c/31feb3dd82d1b33ae0bd09ca601edb993d9da1b7f0226b3336d4b4c39e1e/pywinpty-3.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:af7a8720c78776ddd6259b71dd567944f766a6cd67f8d2887fbc4973967bacda" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ee/fe/fe23e2229ffec0c10190cef5964f5c9b2dba179d23b69ae537b7ea90bcab/pywinpty-3.0.5-cp311-cp311-win_arm64.whl", hash = "sha256:c2406f54f699eab75953fb75ce805f2ae55a33a957cd070890abd454fb4b7680" }, + { url = "https://mirrors.aliyun.com/pypi/packages/45/34/942cc95ca4e26489875aa8a95192766247a687379ec29543eebe73ec945f/pywinpty-3.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:d62946adf14b15b54c0b8d785f93fe18b04da23f4ad59e2e8c4612646e9abd23" }, + { url = "https://mirrors.aliyun.com/pypi/packages/6a/70/5b9053004844139ea8bd86209c57ade12b134b2782f383a095784c8531ec/pywinpty-3.0.5-cp312-cp312-win_arm64.whl", hash = "sha256:e9391c05fbfa7a992a97e831fc6849887b4014a614192e3d984a7ca59592b376" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b9/f4/2a464b9893cceb3b3f416356e94fdc3e1bca9476993927e4e6d99fe95382/pywinpty-3.0.5-cp313-cp313-win_amd64.whl", hash = "sha256:48db1b0ad9d0a1b81dcaaa7163a99a7808deaceb0c1b2344716dc1fc090c3c4c" }, + { url = "https://mirrors.aliyun.com/pypi/packages/3c/2c/a138491a0afbdb50eb79395577bd326d4b0fbde7209417d1a8087ff2493a/pywinpty-3.0.5-cp313-cp313-win_arm64.whl", hash = "sha256:2c6008fb2d3774b48693b2fcb7f2cc317ade9dc581289a964ffeeaf81307c9b5" }, + { url = "https://mirrors.aliyun.com/pypi/packages/6f/15/54400049a380582acd1282665c70fcf11e0bd3713679aca78e24c3aae738/pywinpty-3.0.5-cp313-cp313t-win_amd64.whl", hash = "sha256:22ce1b780d89821cc52daf6eac0708af22d93d000ce9c7c07e37489db8594598" }, + { url = "https://mirrors.aliyun.com/pypi/packages/94/0c/6f24f3c0799f502259b24bdf841a99ad2b0d59df5c2525b4e2a286d14be2/pywinpty-3.0.5-cp313-cp313t-win_arm64.whl", hash = "sha256:9c2919a81bc5cfb09b86fc5a002112b2de95ca4304a07413cbeeb746a1307a5c" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e9/23/f3cd1b1e5fc56517f54452c49f92049e7dd9ffc8a63de22a495581f50d04/pywinpty-3.0.5-cp314-cp314-win_amd64.whl", hash = "sha256:03bb3c16d691d9242267201830bcd0e64a9b663170e9042bc84b210da9de15ac" }, + { url = "https://mirrors.aliyun.com/pypi/packages/9d/dd/96d6cbfc6d9ddab5c1c2f92c26545ae8997446a2ba7ee2024cd43c81f49b/pywinpty-3.0.5-cp314-cp314-win_arm64.whl", hash = "sha256:89c5c6ef08997a3b4b277b214a35fe15cab4dd6d119f0140aa71df5b1168fdbc" }, + { url = "https://mirrors.aliyun.com/pypi/packages/30/36/d98087bce0acaa4cce7f196103cfa7be3f63ce65f52473bb3e38784ae5d9/pywinpty-3.0.5-cp314-cp314t-win_amd64.whl", hash = "sha256:7b566165e0c5fdd6abe167a5ac8b954be6a843eb55a85946576d6bc1dea03d6d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/57/fd/fe2b0db922ba052ce3976a08f3fc05d0c05047c8b4ebb6102e832b8ef563/pywinpty-3.0.5-cp314-cp314t-win_arm64.whl", hash = "sha256:24366280a8aa677323da87bec729cb3ea3b35367386cece0978bdc6e4695c690" }, +] + [[package]] name = "pyyaml" version = "6.0.3" @@ -806,6 +1927,101 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b" }, ] +[[package]] +name = "pyzmq" +version = "27.2.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "cffi", marker = "implementation_name == 'pypy'" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/e7/8d/5b3d5631c2f4b4b8862f64cd0c9eb777b5710eeb5125b4be8dd0a200a4c0/pyzmq-27.2.0.tar.gz", hash = "sha256:54d4259d1bfae24ecdb5ca79f7acc2eac6c286a02d6a0ae617797cb45f0726d3" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/38/de/c9d653d686ec686bac6ae5f953c784ffc4d2e4a33f9c20d0326aff549ca8/pyzmq-27.2.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:480dba27b145373b5e103890f17969d891bc9e86746d6b8b29dd70b0d4addc62" }, + { url = "https://mirrors.aliyun.com/pypi/packages/13/3a/e3ae8e56fdb87cefbef655dc1d808d5ac76eacf40af850c5d78fd81a7faf/pyzmq-27.2.0-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:722f0a6940be1a483c81029a271d950e04dc2ff113a42e21b3d2b7a0d8e59638" }, + { url = "https://mirrors.aliyun.com/pypi/packages/03/ee/0ace0abf6315f3f481388826f1e9218802d9b5bb4a01bae5ce42018c3b4e/pyzmq-27.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3ee556ed1cf836f96de9d5e545563116426d4a94f21b8041fdc79408eff18ebb" }, + { url = "https://mirrors.aliyun.com/pypi/packages/3b/fd/aee8c87f4854a012e232a6557b1167b6cd207506f59f378954b2d8bb6ed1/pyzmq-27.2.0-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d64da42cae09e6b0c61368b4cc8ca80f23ce3af17584d08053f3dc957433d5ed" }, + { url = "https://mirrors.aliyun.com/pypi/packages/94/2f/9be34eab874a26aa91315be0b27f94d43d35dad544cbdf28bcd41691afb2/pyzmq-27.2.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:376981d106598beb70be384f44d8f589832fd0051d184d38d10043da3cc3b080" }, + { url = "https://mirrors.aliyun.com/pypi/packages/7f/26/362344e337d6b5905d65d0c205e91090b39b3b5a59ec9b84dbe88a5dd60c/pyzmq-27.2.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:40d96cb7a8f6a43aa9617c00215c2b73e1b5e4a1d6cbc9f5860ed7ac682599f0" }, + { url = "https://mirrors.aliyun.com/pypi/packages/1d/ee/3b76b91e2bb8c5c12f8ae9ee553eb6254ba0bb048c2f0dea7d945420a0d3/pyzmq-27.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4ebc7889b31bc11c72e9f17ba3ebb0a8b0911cce413f41b498e55383a94819a3" }, + { url = "https://mirrors.aliyun.com/pypi/packages/9e/ae/83d0740f125a6ef91d5ed29e560679e4c5beeaa3ab1fc87e5fe1128c296d/pyzmq-27.2.0-cp310-cp310-win32.whl", hash = "sha256:650c6cd7cb39a069e7048261efe66fce8bf2e0052c831a7a099b7a0f2ea860d7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ce/b3/3e99a7af1c25e84f68c6c7b16c51b664dd51e12d0bc3d252a48d298e9a08/pyzmq-27.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:82a09aa67871d4f2fcafd47bf670fb93210b232a7c2d4b8a54676314edf04033" }, + { url = "https://mirrors.aliyun.com/pypi/packages/06/cb/785d002a08e630807141b102fd2740cc11623c366bb4606465450bd12e03/pyzmq-27.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:bad4813f270592cedf56977e31ac1fc374fb0f6f67ea5134a5e37c19cb429a8e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/1d/2e/8897afa4538707d86645f51cc50e66b2b84900edb1be9dc9af2c2fc04e5d/pyzmq-27.2.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:9216132843d139a123f243c07fe70f7487dce5041093dd77040f9adb5dc91872" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d1/bc/dbce7bc1654fa25b1e68b9bad9e547906f581ce919c186a88ed951cb794c/pyzmq-27.2.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:d41ebb260b69329b7d4a2936d44c872c86dd785355b51366c8b14e07ed7e9373" }, + { url = "https://mirrors.aliyun.com/pypi/packages/95/cf/6981738b57c83fef33f356141ad83bf51e92f2f70c9d5767affd1a699f07/pyzmq-27.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:468139ddb2e494d06e586bd3a6835077e8b3764560c8db552fe685c5867fc24e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/50/b5/13657961a845e29c28a4e7ac4202999ec90b3bba1890a5469ce2ae90359d/pyzmq-27.2.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:39755dc4a923021bd0677990ffdbc21cff0e1ee1cf07fe3817acea153ef4cb67" }, + { url = "https://mirrors.aliyun.com/pypi/packages/58/5a/ca7ee7a767413d4ba858e93748b95e30b35b8c139849fba94de4433ea2e5/pyzmq-27.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:714f8cbd66c7e405338d668f79d2fe83fe923defe348e843be998603cf92eeff" }, + { url = "https://mirrors.aliyun.com/pypi/packages/0b/8b/083f6184e4eba566c9a3cc9974b1b0fe327b7093788135ba8133edaa67a6/pyzmq-27.2.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1132805970045adb9f5f05dd57040978286a8e21a5475f2c2ddf1bc983b9a2c7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/57/f5/249362b664ae725d534c8843214fa9fd7fccd74532a19e24603954a88a7d/pyzmq-27.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b26f2d0493b79ce3c3112c8a12649418915582ba4707b8ed9f44febf2be71f42" }, + { url = "https://mirrors.aliyun.com/pypi/packages/bf/cc/23c613c15f06d879f13364d14c17e5e4e8304049411e96c1410e6e56c3ea/pyzmq-27.2.0-cp311-cp311-win32.whl", hash = "sha256:44f261eca7dfb9904ea2b56428f59ab693bbe2715c0413a701f17b067ebf877c" }, + { url = "https://mirrors.aliyun.com/pypi/packages/dc/bc/bbbcf89003c93f18e33665c26e3c48d75e3915c3dd22887f3a7aea2c5e26/pyzmq-27.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:8b86e04f55af0f4d8cd8ecf14c0b8b81ebc8fd66fa20126b753514628ecadc7e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/14/c5/4635d0ba2b8493edf6d5541fff0b07fa1d986fdfc29c596a53a21e20f9af/pyzmq-27.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:917d601e9540098f580d2723d0ce6402cdb6f02bc8dc2de74e0dca6e13bffd1b" }, + { url = "https://mirrors.aliyun.com/pypi/packages/57/8a/153532fa53db30e116118164f3af269a1f3966b3e2ba32c89b12fe864bd8/pyzmq-27.2.0-cp312-abi3-macosx_10_15_universal2.whl", hash = "sha256:591c8de5851c5ea372194469fe97587b97c3b641e9a70f31bb3474acbfde0241" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c8/ef/c08b91248bb90a9efa81fa00ba81b69c157c74d0c5efbb2c319d91babb62/pyzmq-27.2.0-cp312-abi3-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:00e73942ef12cecbc7951c4a9104bb8ffaed742abb13af2da6833d90dd368cef" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b4/78/a3a3a86c2b00fadb92ece1ca4f8f028d62b2ce9ac3526097239ab2d6fba9/pyzmq-27.2.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f8079d0521fe94bbb401fe9407578b28f3701627c8be2c9f7e0c5b77dcb0109" }, + { url = "https://mirrors.aliyun.com/pypi/packages/62/2c/d5828306f795e8d34676d266823b74e2101e0ad3760d12083de3e02abbb2/pyzmq-27.2.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dea74fd65f1fc5f7fe167916a473ebe6ed6174e5e5d9de11ea6583661be6cf43" }, + { url = "https://mirrors.aliyun.com/pypi/packages/09/52/51253b78fd8739293e283407eeecb14215c02c71b6519af21f6eed8e69cd/pyzmq-27.2.0-cp312-abi3-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:dcc99ca132b667a4ed750afd42db4ea73288f18425a9b2e3c0af095665c491f5" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e6/3e/142c85b67a4c9678629b0cf6d5125b29663d75be69bfaa57a3cac344d780/pyzmq-27.2.0-cp312-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:b8d5f66e4a8246cf77f7b8f7902af64f00553368fa0373c89d99b78f0ad79394" }, + { url = "https://mirrors.aliyun.com/pypi/packages/0e/ee/0776fb0f98ed1eb74d77240087fef0ab045b6ad15cb09555c6c5134c98ad/pyzmq-27.2.0-cp312-abi3-musllinux_1_2_i686.whl", hash = "sha256:d1526b42a2e725b84ed226f37becedc250c6347594e5ed304e4e9aff68c9aec3" }, + { url = "https://mirrors.aliyun.com/pypi/packages/aa/0e/ec77f691a4aebe29ab6329f996fb0e0270c876a3016086e3ca6ef733bcae/pyzmq-27.2.0-cp312-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f707bcf2c1d007d14d70531d4dd7b41060881c73efa845580bf6faaf9ea24d42" }, + { url = "https://mirrors.aliyun.com/pypi/packages/30/97/1f5530ff4fc271b4597048371d5af972c2baab51be132ba15874e0327a6a/pyzmq-27.2.0-cp312-abi3-win32.whl", hash = "sha256:fdaaa4ea3242f6ad298eb5177eb042aea5c73c30e76d20caee7b15af20d24ec2" }, + { url = "https://mirrors.aliyun.com/pypi/packages/02/8b/b83f7780dad22e0878e4c7bd9158ebd24ed12bc3d5e3a471cd0576f77ded/pyzmq-27.2.0-cp312-abi3-win_amd64.whl", hash = "sha256:2c218c6ab8bc447ba62054b581fd30209689d199c6ecb253f79615ca74a38e12" }, + { url = "https://mirrors.aliyun.com/pypi/packages/52/aa/3918b5ac7f9987bd9c421b065074fd7409ded88f856f2c704a24341877ec/pyzmq-27.2.0-cp312-abi3-win_arm64.whl", hash = "sha256:348d6fd3e4b81ae4580622ea8c2ea60224e84b2ac1b3be4482e6edc7de06e7a3" }, + { url = "https://mirrors.aliyun.com/pypi/packages/83/5e/d0541596b48c5a19f85dcbea83d6673d8e91681cdf853eb194c31fc9766e/pyzmq-27.2.0-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:c551b9e2f86dc625fcb1a032c0d68042678caf96a8dd7c28796766b673bd5b52" }, + { url = "https://mirrors.aliyun.com/pypi/packages/50/9f/8c7411bb283982d46e6d56dca6a095678c87eb0398daead12776d9881ac2/pyzmq-27.2.0-cp313-cp313-android_24_x86_64.whl", hash = "sha256:288cc790da0e3064a14a38ddc56ba169dada8c8af4cb86518db2bcbd380eedbb" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f9/84/a849161ff88b2de9b991cc8ab332218824741122fdc4fdf222a5b822ac8c/pyzmq-27.2.0-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:3d45189c0c3c99f817b7fefff0d32eeef684cf33e1e3c0fc4281515357c54702" }, + { url = "https://mirrors.aliyun.com/pypi/packages/3c/34/ff4aaff0cfba2a4d7ad1a16ffedc52c6deb89fcf673d455085446b23f215/pyzmq-27.2.0-cp314-cp314-android_24_x86_64.whl", hash = "sha256:d61910b52be5b2cd8b248dbcbe3a1b0275556a7d99fb613fc43323b546e273b8" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b6/07/42111e9dc1041d78b4443d6eb1b82b027f1a58178dc8a38385effbc72ad5/pyzmq-27.2.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:3ab6eb88590e510ab16715c32dbba12000da9bee989fdadd9ee19a234c492eb7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/4b/b4/def7a478458da78665840564161772e7e938600c32a89f28e8b221b54d2d/pyzmq-27.2.0-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1ecbdd131b9669f62d3a45afee5527c7ae9f141e4301267f21714c90bd21725f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/38/d5/e3e85f7fea37153097aaff49db9e33093909cc2a7b22c1ac4ebe546600fc/pyzmq-27.2.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3146385b94a760236c5eceff468a66a296a716ca98a2e0f9217b1518118466b1" }, + { url = "https://mirrors.aliyun.com/pypi/packages/1c/ef/3b7d9449b223183222bf517245e1e53d5f1ab8c10be8b45f6a301b2f994a/pyzmq-27.2.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9846e881620dd62566ca76a53e384c3f37490faf4b9240aebc7498810dfca853" }, + { url = "https://mirrors.aliyun.com/pypi/packages/be/a5/8b49dbd494f6dcfda69dc4cade322a4b02706ef4e3d30cc366d4e369899f/pyzmq-27.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d9527e3dbaef1edaeeb2446fa7379446814a43ade8adc7c4a5ebe69437815ddd" }, + { url = "https://mirrors.aliyun.com/pypi/packages/da/5a/4bb8280901130c26ea25f0cbb4a6d39d94250860c6b3dbd912f1cf48fca7/pyzmq-27.2.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:56b48fa9d478a3af7254f397697a62f5ad3e1bb677e200b2701f0c290d97e5af" }, + { url = "https://mirrors.aliyun.com/pypi/packages/de/38/f433af66922554adb2b5f79e897018c8e19a90b9eaeb49c4814f8355ebe4/pyzmq-27.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:bf0b6e4ce1bb089751c504c5493d6b0557eabd02dd21b76e9086cf964234b103" }, + { url = "https://mirrors.aliyun.com/pypi/packages/36/81/ea1c1ae3f801d96ba2c269e056761ebcfe023476e651d3af2a7817962051/pyzmq-27.2.0-cp314-cp314t-win32.whl", hash = "sha256:fba8afcf265c6e9fbe1594cb045d4765c6c9a7d607653a8196067ef23566b843" }, + { url = "https://mirrors.aliyun.com/pypi/packages/8a/04/149a627707e780fa9f2c1ede3590c14fa6b18b5576d15744342622299a50/pyzmq-27.2.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d1bc1d380a91d954ed5fc9f12915dba014eed0978d2de05ee7ca688bdaac144a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/30/ba/f9c3c1536c41ef3dbf765ea04218990e2056e558f98184ecd883767fc501/pyzmq-27.2.0-cp314-cp314t-win_arm64.whl", hash = "sha256:c7cfb75caa83f5153c687e9d2107f64b5ef0ef0d6edd260d3ff920baaaa69101" }, + { url = "https://mirrors.aliyun.com/pypi/packages/fa/00/78fe097a304a408275747ce43f20428789130b059c5649956277c20f30cf/pyzmq-27.2.0-cp315-cp315-android_24_arm64_v8a.whl", hash = "sha256:c5129a8fe43ecc49b99eb75616603d483a3c2fcaef504988fafe8ea392aea98b" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f2/83/1c36270658d2ee56e23a3f9ef5fbcb94cbd2f9fe966a6641f2f38e697162/pyzmq-27.2.0-cp315-cp315-android_24_x86_64.whl", hash = "sha256:baa2ce3485145653194d6c8c5beedd1e9f0bf46a0919c9fa2fe2204fc35b74d9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/58/b2/f0ae223438d7faa991f6feefdc823815f11cc604f898738376b59fd96515/pyzmq-27.2.0-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:e1ed46048d1920cabc96d952a0d5cfe4127ad8db572c335aae4e3c57b9278d7f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/59/46/fb56f3f37a6a0937b0e1d2885e808b5eedc171320bac85573cfae78fa9bc/pyzmq-27.2.0-cp315-cp315t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:e0fa0bc6b1a184aee59b32efcd1b7f0e6d5b8f9387799e4c16a4cb66a86747d6" }, + { url = "https://mirrors.aliyun.com/pypi/packages/21/82/a2c9bfd7c4d34eea1278493cd041bc000d41acb4463c89ceaad29dc813b6/pyzmq-27.2.0-cp315-cp315t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f4bd6743e8bf854c3bfce892dd6578a514aabf128e37a4b2eafcf01856f7e44" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d6/12/b906b269116b6591dc15c0acc5d04c043957c8a531d336999731f4b1d899/pyzmq-27.2.0-cp315-cp315t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:95369ed6626afcfe2ac89832fb1b917c077fbeb905fbbe5d918349ce0222b89b" }, + { url = "https://mirrors.aliyun.com/pypi/packages/12/13/f96359534bfb77651c15f1fbfc4bfdd7ec3489d23f434706d39598dd0dcd/pyzmq-27.2.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:40124779c3a56ad5d91902df1ff89159cb414b6c1a0ee697abcc66cf5e6db62d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/21/b4/2c007ae5f2fe5eca86cbfbc874ed86b5135f2f7812615dfd78606d3c93f6/pyzmq-27.2.0-cp315-cp315t-musllinux_1_2_i686.whl", hash = "sha256:ec8a318dfc27c7d946651b3d9e8025d5734f30c168a822195601827207bac09b" }, + { url = "https://mirrors.aliyun.com/pypi/packages/9b/88/767af3a6630c15215f3a66700ec79598a375edd1fdc9d75a3ad522178c01/pyzmq-27.2.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:88c0fac061bac269076edeb3a209acefc96cd6167c239daf1c2b404ac48d7012" }, + { url = "https://mirrors.aliyun.com/pypi/packages/35/c1/80dd2d20d6e57bc68e1dce1e84bf3e76c9577c1bf728199985c8b4ea0fd1/pyzmq-27.2.0-cp315-cp315t-win32.whl", hash = "sha256:ac126d48cf18aa955daabef43bf0009ff76ad4deee437d09ecf15388214b5beb" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f8/b5/33b781666f3f52ae834bc9c8e38f4f0483a826c5a91cccc993292007bf10/pyzmq-27.2.0-cp315-cp315t-win_amd64.whl", hash = "sha256:edce90a1e588ec63adbf612cc0ad582de4169cd216c7ae53c15f42a2ee902f35" }, + { url = "https://mirrors.aliyun.com/pypi/packages/6e/97/bc4f0edefb992df4fdebcf9f0cc40f631cd4ed277e1ed59ef2cd99a5c8c5/pyzmq-27.2.0-cp315-cp315t-win_arm64.whl", hash = "sha256:a843094b4d3d633bc3623e47a2ff50742d6af02bc1f7606aa2e67e971e21878d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/8c/26/1a7cd2d8e4e3c27d83a46960e22101b69f527843be140cb3375267aa8ca6/pyzmq-27.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:770a37f28ddfbe1d2c40a2e3ce37e5fd10831daa6ae9634105aa8a5d23507b00" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b8/ed/c8daf770ca31eb293bef40f801f05148e0a96ad538d55ec3bceb226c91ec/pyzmq-27.2.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b398c5fe102b41e1559f7ffdae760aabd5f432d73b047b4ae0eac4e01cb594d2" }, + { url = "https://mirrors.aliyun.com/pypi/packages/64/6f/b958b0785eb15ab7a78913e3df8de705dbf226ce1d0004998fa4872bdd59/pyzmq-27.2.0-pp310-pypy310_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:0e1af01858d6dc0c09cea57f9cb1ddf4601f04897b6bb1efc3a2038123c87d79" }, + { url = "https://mirrors.aliyun.com/pypi/packages/2d/5a/7a070d0e9911441061402013f0c64e5772ee781704c5dae093e6b051c6f6/pyzmq-27.2.0-pp310-pypy310_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:211350c3ccd4746bc5a85e8fe961bad1f7f2f274f67cf1f785fad7f96f562eea" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b3/28/833485224e1bd8960cbf3539db465ab2bf23b50de885dc4225a637480539/pyzmq-27.2.0-pp310-pypy310_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dde5e291548ca0f397623b5e523db5c90172b32aa4fd3ba464a79ea31a580b43" }, + { url = "https://mirrors.aliyun.com/pypi/packages/90/8e/52239b9b5fe4f9cf77e272e6a8c548c01ba407d08d3aeeb3220816669ef1/pyzmq-27.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:94242bd4de6af7e74665e14a88630bccd615057f6acfaf08a3a432551d604645" }, + { url = "https://mirrors.aliyun.com/pypi/packages/93/22/7187a1f0bf2b8bf8dc6b91762438fb9b472f684f2dc4cb74a24bf8957943/pyzmq-27.2.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a7c1144dc61777938e932a2c9011b980b89fd8ff3733033b34c44c299187a6e1" }, + { url = "https://mirrors.aliyun.com/pypi/packages/92/71/09b71620ad52bad4eb68b1516978ecaf52ef623c3fa16e0732a03cf3274c/pyzmq-27.2.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:c218b816220d05acf6ab1bafca58926d95cbcc5fec5024724666030466308f0c" }, + { url = "https://mirrors.aliyun.com/pypi/packages/9c/cf/5c8eb9994a14ff5ee5b0cada339421748746c95aee0280c8b656741e8749/pyzmq-27.2.0-pp311-pypy311_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:ae6ebbc0bfe5a21ce21e32ba567bf73df2d93888109c65acbd42506cf9395759" }, + { url = "https://mirrors.aliyun.com/pypi/packages/97/64/e22094c5555e550b6450ecfcceb6a1205d893d9a18ae27764c8c45acfb16/pyzmq-27.2.0-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:679b5b1dde326a921ea2c9ec1f9ea3115bfe1b4735779bbc6eb0473a0ed93f71" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d2/28/5b1042899caed18278c56d54a502f5254d463afe8aea1acbecc98e053391/pyzmq-27.2.0-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f5c6d8744d10b5e1eadd90a7c58f8546acf6bf680ee463f7e6ada09ad6c9f802" }, + { url = "https://mirrors.aliyun.com/pypi/packages/77/a3/f134603a671c114c6b56eb912bba890f09e2d43b8a28d243be5a5507cf2f/pyzmq-27.2.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:3ee8dd7031d5e23f632e0e7eee67183ca7d2536e0de35dc1e5d69f3471a791e8" }, +] + +[[package]] +name = "referencing" +version = "0.37.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "attrs" }, + { name = "rpds-py", version = "0.30.0", source = { registry = "https://mirrors.aliyun.com/pypi/simple/" }, marker = "python_full_version < '3.11'" }, + { name = "rpds-py", version = "2026.6.3", source = { registry = "https://mirrors.aliyun.com/pypi/simple/" }, marker = "python_full_version >= '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", hash = "sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl", hash = "sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231" }, +] + [[package]] name = "requests" version = "2.34.2" @@ -821,6 +2037,323 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl", hash = "sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0" }, ] +[[package]] +name = "rfc3339-validator" +version = "0.1.4" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/28/ea/a9387748e2d111c3c2b275ba970b735e04e15cdb1eb30693b6b5708c4dbd/rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa" }, +] + +[[package]] +name = "rfc3986-validator" +version = "0.1.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/da/88/f270de456dd7d11dcc808abfa291ecdd3f45ff44e3b549ffa01b126464d0/rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/9e/51/17023c0f8f1869d8806b979a2bffa3f861f26a3f1a66b094288323fba52f/rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9" }, +] + +[[package]] +name = "rfc3987-syntax" +version = "1.1.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "lark" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/2c/06/37c1a5557acf449e8e406a830a05bf885ac47d33270aec454ef78675008d/rfc3987_syntax-1.1.0.tar.gz", hash = "sha256:717a62cbf33cffdd16dfa3a497d81ce48a660ea691b1ddd7be710c22f00b4a0d" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/7e/71/44ce230e1b7fadd372515a97e32a83011f906ddded8d03e3c6aafbdedbb7/rfc3987_syntax-1.1.0-py3-none-any.whl", hash = "sha256:6c3d97604e4c5ce9f714898e05401a0445a641cfa276432b0a648c80856f6a3f" }, +] + +[[package]] +name = "rpds-py" +version = "0.30.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +resolution-markers = [ + "(python_full_version < '3.11' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform == 'win32')", + "python_full_version < '3.11' and sys_platform != 'linux' and sys_platform != 'win32'", +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/20/af/3f2f423103f1113b36230496629986e0ef7e199d2aa8392452b484b38ced/rpds_py-0.30.0.tar.gz", hash = "sha256:dd8ff7cf90014af0c0f787eea34794ebf6415242ee1d6fa91eaba725cc441e84" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/06/0c/0c411a0ec64ccb6d104dcabe0e713e05e153a9a2c3c2bd2b32ce412166fe/rpds_py-0.30.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:679ae98e00c0e8d68a7fda324e16b90fd5260945b45d3b824c892cec9eea3288" }, + { url = "https://mirrors.aliyun.com/pypi/packages/19/6a/4ba3d0fb7297ebae71171822554abe48d7cab29c28b8f9f2c04b79988c05/rpds_py-0.30.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4cc2206b76b4f576934f0ed374b10d7ca5f457858b157ca52064bdfc26b9fc00" }, + { url = "https://mirrors.aliyun.com/pypi/packages/cd/7c/e4933565ef7f7a0818985d87c15d9d273f1a649afa6a52ea35ad011195ea/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:389a2d49eded1896c3d48b0136ead37c48e221b391c052fba3f4055c367f60a6" }, + { url = "https://mirrors.aliyun.com/pypi/packages/5e/01/6271a2511ad0815f00f7ed4390cf2567bec1d4b1da39e2c27a41e6e3b4de/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:32c8528634e1bf7121f3de08fa85b138f4e0dc47657866630611b03967f041d7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/55/64/c857eb7cd7541e9b4eee9d49c196e833128a55b89a9850a9c9ac33ccf897/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f207f69853edd6f6700b86efb84999651baf3789e78a466431df1331608e5324" }, + { url = "https://mirrors.aliyun.com/pypi/packages/9c/ed/94816543404078af9ab26159c44f9e98e20fe47e2126d5d32c9d9948d10a/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:67b02ec25ba7a9e8fa74c63b6ca44cf5707f2fbfadae3ee8e7494297d56aa9df" }, + { url = "https://mirrors.aliyun.com/pypi/packages/61/b5/707f6cf0066a6412aacc11d17920ea2e19e5b2f04081c64526eb35b5c6e7/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c0e95f6819a19965ff420f65578bacb0b00f251fefe2c8b23347c37174271f3" }, + { url = "https://mirrors.aliyun.com/pypi/packages/13/4e/57a85fda37a229ff4226f8cbcf09f2a455d1ed20e802ce5b2b4a7f5ed053/rpds_py-0.30.0-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:a452763cc5198f2f98898eb98f7569649fe5da666c2dc6b5ddb10fde5a574221" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f9/da/c9339293513ec680a721e0e16bf2bac3db6e5d7e922488de471308349bba/rpds_py-0.30.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e0b65193a413ccc930671c55153a03ee57cecb49e6227204b04fae512eb657a7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f9/be/522cb84751114f4ad9d822ff5a1aa3c98006341895d5f084779b99596e5c/rpds_py-0.30.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:858738e9c32147f78b3ac24dc0edb6610000e56dc0f700fd5f651d0a0f0eb9ff" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a2/9b/de879f7e7ceddc973ea6e4629e9b380213a6938a249e94b0cdbcc325bb66/rpds_py-0.30.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:da279aa314f00acbb803da1e76fa18666778e8a8f83484fba94526da5de2cba7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/48/ac/f01fc22efec3f37d8a914fc1b2fb9bcafd56a299edbe96406f3053edea5a/rpds_py-0.30.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7c64d38fb49b6cdeda16ab49e35fe0da2e1e9b34bc38bd78386530f218b37139" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e2/da/4e2b19d0f131f35b6146425f846563d0ce036763e38913d917187307a671/rpds_py-0.30.0-cp310-cp310-win32.whl", hash = "sha256:6de2a32a1665b93233cde140ff8b3467bdb9e2af2b91079f0333a0974d12d464" }, + { url = "https://mirrors.aliyun.com/pypi/packages/96/cb/156d7a5cf4f78a7cc571465d8aec7a3c447c94f6749c5123f08438bcf7bc/rpds_py-0.30.0-cp310-cp310-win_amd64.whl", hash = "sha256:1726859cd0de969f88dc8673bdd954185b9104e05806be64bcd87badbe313169" }, + { url = "https://mirrors.aliyun.com/pypi/packages/4d/6e/f964e88b3d2abee2a82c1ac8366da848fce1c6d834dc2132c3fda3970290/rpds_py-0.30.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:a2bffea6a4ca9f01b3f8e548302470306689684e61602aa3d141e34da06cf425" }, + { url = "https://mirrors.aliyun.com/pypi/packages/94/ba/24e5ebb7c1c82e74c4e4f33b2112a5573ddc703915b13a073737b59b86e0/rpds_py-0.30.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dc4f992dfe1e2bc3ebc7444f6c7051b4bc13cd8e33e43511e8ffd13bf407010d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/84/86/04dbba1b087227747d64d80c3b74df946b986c57af0a9f0c98726d4d7a3b/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:422c3cb9856d80b09d30d2eb255d0754b23e090034e1deb4083f8004bd0761e4" }, + { url = "https://mirrors.aliyun.com/pypi/packages/42/bb/1463f0b1722b7f45431bdd468301991d1328b16cffe0b1c2918eba2c4eee/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:07ae8a593e1c3c6b82ca3292efbe73c30b61332fd612e05abee07c79359f292f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/99/ee/2520700a5c1f2d76631f948b0736cdf9b0acb25abd0ca8e889b5c62ac2e3/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12f90dd7557b6bd57f40abe7747e81e0c0b119bef015ea7726e69fe550e394a4" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e0/ad/bd0331f740f5705cc555a5e17fdf334671262160270962e69a2bdef3bf76/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:99b47d6ad9a6da00bec6aabe5a6279ecd3c06a329d4aa4771034a21e335c3a97" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f8/1e/372195d326549bb51f0ba0f2ecb9874579906b97e08880e7a65c3bef1a99/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33f559f3104504506a44bb666b93a33f5d33133765b0c216a5bf2f1e1503af89" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ab/2b/d88bb33294e3e0c76bc8f351a3721212713629ffca1700fa94979cb3eae8/rpds_py-0.30.0-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:946fe926af6e44f3697abbc305ea168c2c31d3e3ef1058cf68f379bf0335a78d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/50/32/c759a8d42bcb5289c1fac697cd92f6fe01a018dd937e62ae77e0e7f15702/rpds_py-0.30.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:495aeca4b93d465efde585977365187149e75383ad2684f81519f504f5c13038" }, + { url = "https://mirrors.aliyun.com/pypi/packages/2b/81/e729761dbd55ddf5d84ec4ff1f47857f4374b0f19bdabfcf929164da3e24/rpds_py-0.30.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d9a0ca5da0386dee0655b4ccdf46119df60e0f10da268d04fe7cc87886872ba7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/14/f6/69066a924c3557c9c30baa6ec3a0aa07526305684c6f86c696b08860726c/rpds_py-0.30.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8d6d1cc13664ec13c1b84241204ff3b12f9bb82464b8ad6e7a5d3486975c2eed" }, + { url = "https://mirrors.aliyun.com/pypi/packages/5f/48/905896b1eb8a05630d20333d1d8ffd162394127b74ce0b0784ae04498d32/rpds_py-0.30.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3896fa1be39912cf0757753826bc8bdc8ca331a28a7c4ae46b7a21280b06bb85" }, + { url = "https://mirrors.aliyun.com/pypi/packages/22/16/cd3027c7e279d22e5eb431dd3c0fbc677bed58797fe7581e148f3f68818b/rpds_py-0.30.0-cp311-cp311-win32.whl", hash = "sha256:55f66022632205940f1827effeff17c4fa7ae1953d2b74a8581baaefb7d16f8c" }, + { url = "https://mirrors.aliyun.com/pypi/packages/fa/5b/e7b7aa136f28462b344e652ee010d4de26ee9fd16f1bfd5811f5153ccf89/rpds_py-0.30.0-cp311-cp311-win_amd64.whl", hash = "sha256:a51033ff701fca756439d641c0ad09a41d9242fa69121c7d8769604a0a629825" }, + { url = "https://mirrors.aliyun.com/pypi/packages/14/a6/364bba985e4c13658edb156640608f2c9e1d3ea3c81b27aa9d889fff0e31/rpds_py-0.30.0-cp311-cp311-win_arm64.whl", hash = "sha256:47b0ef6231c58f506ef0b74d44e330405caa8428e770fec25329ed2cb971a229" }, + { url = "https://mirrors.aliyun.com/pypi/packages/03/e7/98a2f4ac921d82f33e03f3835f5bf3a4a40aa1bfdc57975e74a97b2b4bdd/rpds_py-0.30.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a161f20d9a43006833cd7068375a94d035714d73a172b681d8881820600abfad" }, + { url = "https://mirrors.aliyun.com/pypi/packages/4d/a1/bca7fd3d452b272e13335db8d6b0b3ecde0f90ad6f16f3328c6fb150c889/rpds_py-0.30.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6abc8880d9d036ecaafe709079969f56e876fcf107f7a8e9920ba6d5a3878d05" }, + { url = "https://mirrors.aliyun.com/pypi/packages/65/1c/ae157e83a6357eceff62ba7e52113e3ec4834a84cfe07fa4b0757a7d105f/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca28829ae5f5d569bb62a79512c842a03a12576375d5ece7d2cadf8abe96ec28" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d4/36/eb2eb8515e2ad24c0bd43c3ee9cd74c33f7ca6430755ccdb240fd3144c44/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a1010ed9524c73b94d15919ca4d41d8780980e1765babf85f9a2f90d247153dd" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d6/65/ad8dc1784a331fabbd740ef6f71ce2198c7ed0890dab595adb9ea2d775a1/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8d1736cfb49381ba528cd5baa46f82fdc65c06e843dab24dd70b63d09121b3f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/63/8e/0cfa7ae158e15e143fe03993b5bcd743a59f541f5952e1546b1ac1b5fd45/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d948b135c4693daff7bc2dcfc4ec57237a29bd37e60c2fabf5aff2bbacf3e2f1" }, + { url = "https://mirrors.aliyun.com/pypi/packages/60/1b/6f8f29f3f995c7ffdde46a626ddccd7c63aefc0efae881dc13b6e5d5bb16/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47f236970bccb2233267d89173d3ad2703cd36a0e2a6e92d0560d333871a3d23" }, + { url = "https://mirrors.aliyun.com/pypi/packages/6d/d5/a266341051a7a3ca2f4b750a3aa4abc986378431fc2da508c5034d081b70/rpds_py-0.30.0-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:2e6ecb5a5bcacf59c3f912155044479af1d0b6681280048b338b28e364aca1f6" }, + { url = "https://mirrors.aliyun.com/pypi/packages/10/3b/71b725851df9ab7a7a4e33cf36d241933da66040d195a84781f49c50490c/rpds_py-0.30.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a8fa71a2e078c527c3e9dc9fc5a98c9db40bcc8a92b4e8858e36d329f8684b51" }, + { url = "https://mirrors.aliyun.com/pypi/packages/00/2b/e59e58c544dc9bd8bd8384ecdb8ea91f6727f0e37a7131baeff8d6f51661/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:73c67f2db7bc334e518d097c6d1e6fed021bbc9b7d678d6cc433478365d1d5f5" }, + { url = "https://mirrors.aliyun.com/pypi/packages/da/3e/a18e6f5b460893172a7d6a680e86d3b6bc87a54c1f0b03446a3c8c7b588f/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5ba103fb455be00f3b1c2076c9d4264bfcb037c976167a6047ed82f23153f02e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/5c/e2/714694e4b87b85a18e2c243614974413c60aa107fd815b8cbc42b873d1d7/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7cee9c752c0364588353e627da8a7e808a66873672bcb5f52890c33fd965b394" }, + { url = "https://mirrors.aliyun.com/pypi/packages/6f/ab/d5d5e3bcedb0a77f4f613706b750e50a5a3ba1c15ccd3665ecc636c968fd/rpds_py-0.30.0-cp312-cp312-win32.whl", hash = "sha256:1ab5b83dbcf55acc8b08fc62b796ef672c457b17dbd7820a11d6c52c06839bdf" }, + { url = "https://mirrors.aliyun.com/pypi/packages/39/3b/f786af9957306fdc38a74cef405b7b93180f481fb48453a114bb6465744a/rpds_py-0.30.0-cp312-cp312-win_amd64.whl", hash = "sha256:a090322ca841abd453d43456ac34db46e8b05fd9b3b4ac0c78bcde8b089f959b" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f3/d2/b91dc748126c1559042cfe41990deb92c4ee3e2b415f6b5234969ffaf0cc/rpds_py-0.30.0-cp312-cp312-win_arm64.whl", hash = "sha256:669b1805bd639dd2989b281be2cfd951c6121b65e729d9b843e9639ef1fd555e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ed/dc/d61221eb88ff410de3c49143407f6f3147acf2538c86f2ab7ce65ae7d5f9/rpds_py-0.30.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:f83424d738204d9770830d35290ff3273fbb02b41f919870479fab14b9d303b2" }, + { url = "https://mirrors.aliyun.com/pypi/packages/fd/32/55fb50ae104061dbc564ef15cc43c013dc4a9f4527a1f4d99baddf56fe5f/rpds_py-0.30.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e7536cd91353c5273434b4e003cbda89034d67e7710eab8761fd918ec6c69cf8" }, + { url = "https://mirrors.aliyun.com/pypi/packages/58/70/faed8186300e3b9bdd138d0273109784eea2396c68458ed580f885dfe7ad/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2771c6c15973347f50fece41fc447c054b7ac2ae0502388ce3b6738cd366e3d4" }, + { url = "https://mirrors.aliyun.com/pypi/packages/bd/a8/073cac3ed2c6387df38f71296d002ab43496a96b92c823e76f46b8af0543/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0a59119fc6e3f460315fe9d08149f8102aa322299deaa5cab5b40092345c2136" }, + { url = "https://mirrors.aliyun.com/pypi/packages/77/57/5999eb8c58671f1c11eba084115e77a8899d6e694d2a18f69f0ba471ec8b/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:76fec018282b4ead0364022e3c54b60bf368b9d926877957a8624b58419169b7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e0/af/5ab4833eadc36c0a8ed2bc5c0de0493c04f6c06de223170bd0798ff98ced/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:692bef75a5525db97318e8cd061542b5a79812d711ea03dbc1f6f8dbb0c5f0d2" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b7/de/f7192e12b21b9e9a68a6d0f249b4af3fdcdff8418be0767a627564afa1f1/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9027da1ce107104c50c81383cae773ef5c24d296dd11c99e2629dbd7967a20c6" }, + { url = "https://mirrors.aliyun.com/pypi/packages/91/c4/fc70cd0249496493500e7cc2de87504f5aa6509de1e88623431fec76d4b6/rpds_py-0.30.0-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:9cf69cdda1f5968a30a359aba2f7f9aa648a9ce4b580d6826437f2b291cfc86e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/58/95/d9275b05ab96556fefff73a385813eb66032e4c99f411d0795372d9abcea/rpds_py-0.30.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a4796a717bf12b9da9d3ad002519a86063dcac8988b030e405704ef7d74d2d9d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/06/c1/3088fc04b6624eb12a57eb814f0d4997a44b0d208d6cace713033ff1a6ba/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5d4c2aa7c50ad4728a094ebd5eb46c452e9cb7edbfdb18f9e1221f597a73e1e7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d8/42/c612a833183b39774e8ac8fecae81263a68b9583ee343db33ab571a7ce55/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ba81a9203d07805435eb06f536d95a266c21e5b2dfbf6517748ca40c98d19e31" }, + { url = "https://mirrors.aliyun.com/pypi/packages/5f/60/525a50f45b01d70005403ae0e25f43c0384369ad24ffe46e8d9068b50086/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:945dccface01af02675628334f7cf49c2af4c1c904748efc5cf7bbdf0b579f95" }, + { url = "https://mirrors.aliyun.com/pypi/packages/0b/5d/47c4655e9bcd5ca907148535c10e7d489044243cc9941c16ed7cd53be91d/rpds_py-0.30.0-cp313-cp313-win32.whl", hash = "sha256:b40fb160a2db369a194cb27943582b38f79fc4887291417685f3ad693c5a1d5d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f2/e1/485132437d20aa4d3e1d8b3fb5a5e65aa8139f1e097080c2a8443201742c/rpds_py-0.30.0-cp313-cp313-win_amd64.whl", hash = "sha256:806f36b1b605e2d6a72716f321f20036b9489d29c51c91f4dd29a3e3afb73b15" }, + { url = "https://mirrors.aliyun.com/pypi/packages/24/95/ffd128ed1146a153d928617b0ef673960130be0009c77d8fbf0abe306713/rpds_py-0.30.0-cp313-cp313-win_arm64.whl", hash = "sha256:d96c2086587c7c30d44f31f42eae4eac89b60dabbac18c7669be3700f13c3ce1" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ff/1b/b10de890a0def2a319a2626334a7f0ae388215eb60914dbac8a3bae54435/rpds_py-0.30.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:eb0b93f2e5c2189ee831ee43f156ed34e2a89a78a66b98cadad955972548be5a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/0d/bf/27e39f5971dc4f305a4fb9c672ca06f290f7c4e261c568f3dea16a410d47/rpds_py-0.30.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:922e10f31f303c7c920da8981051ff6d8c1a56207dbdf330d9047f6d30b70e5e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/40/58/442ada3bba6e8e6615fc00483135c14a7538d2ffac30e2d933ccf6852232/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdc62c8286ba9bf7f47befdcea13ea0e26bf294bda99758fd90535cbaf408000" }, + { url = "https://mirrors.aliyun.com/pypi/packages/14/14/f59b0127409a33c6ef6f5c1ebd5ad8e32d7861c9c7adfa9a624fc3889f6c/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:47f9a91efc418b54fb8190a6b4aa7813a23fb79c51f4bb84e418f5476c38b8db" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b3/66/e0be3e162ac299b3a22527e8913767d869e6cc75c46bd844aa43fb81ab62/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f3587eb9b17f3789ad50824084fa6f81921bbf9a795826570bda82cb3ed91f2" }, + { url = "https://mirrors.aliyun.com/pypi/packages/3d/55/fa3b9cf31d0c963ecf1ba777f7cf4b2a2c976795ac430d24a1f43d25a6ba/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39c02563fc592411c2c61d26b6c5fe1e51eaa44a75aa2c8735ca88b0d9599daa" }, + { url = "https://mirrors.aliyun.com/pypi/packages/60/ca/780cf3b1a32b18c0f05c441958d3758f02544f1d613abf9488cd78876378/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51a1234d8febafdfd33a42d97da7a43f5dcb120c1060e352a3fbc0c6d36e2083" }, + { url = "https://mirrors.aliyun.com/pypi/packages/82/86/d5f2e04f2aa6247c613da0c1dd87fcd08fa17107e858193566048a1e2f0a/rpds_py-0.30.0-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:eb2c4071ab598733724c08221091e8d80e89064cd472819285a9ab0f24bcedb9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/4b/9a/453255d2f769fe44e07ea9785c8347edaf867f7026872e76c1ad9f7bed92/rpds_py-0.30.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6bdfdb946967d816e6adf9a3d8201bfad269c67efe6cefd7093ef959683c8de0" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a3/31/622a86cdc0c45d6df0e9ccb6becdba5074735e7033c20e401a6d9d0e2ca0/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c77afbd5f5250bf27bf516c7c4a016813eb2d3e116139aed0096940c5982da94" }, + { url = "https://mirrors.aliyun.com/pypi/packages/1c/5d/15bbf0fb4a3f58a3b1c67855ec1efcc4ceaef4e86644665fff03e1b66d8d/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:61046904275472a76c8c90c9ccee9013d70a6d0f73eecefd38c1ae7c39045a08" }, + { url = "https://mirrors.aliyun.com/pypi/packages/6d/61/21b8c41f68e60c8cc3b2e25644f0e3681926020f11d06ab0b78e3c6bbff1/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c5f36a861bc4b7da6516dbdf302c55313afa09b81931e8280361a4f6c9a2d27" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f9/39/7e067bb06c31de48de3eb200f9fc7c58982a4d3db44b07e73963e10d3be9/rpds_py-0.30.0-cp313-cp313t-win32.whl", hash = "sha256:3d4a69de7a3e50ffc214ae16d79d8fbb0922972da0356dcf4d0fdca2878559c6" }, + { url = "https://mirrors.aliyun.com/pypi/packages/0a/4d/222ef0b46443cf4cf46764d9c630f3fe4abaa7245be9417e56e9f52b8f65/rpds_py-0.30.0-cp313-cp313t-win_amd64.whl", hash = "sha256:f14fc5df50a716f7ece6a80b6c78bb35ea2ca47c499e422aa4463455dd96d56d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/86/81/dad16382ebbd3d0e0328776d8fd7ca94220e4fa0798d1dc5e7da48cb3201/rpds_py-0.30.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:68f19c879420aa08f61203801423f6cd5ac5f0ac4ac82a2368a9fcd6a9a075e0" }, + { url = "https://mirrors.aliyun.com/pypi/packages/2b/60/19f7884db5d5603edf3c6bce35408f45ad3e97e10007df0e17dd57af18f8/rpds_py-0.30.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ec7c4490c672c1a0389d319b3a9cfcd098dcdc4783991553c332a15acf7249be" }, + { url = "https://mirrors.aliyun.com/pypi/packages/bf/c4/76eb0e1e72d1a9c4703c69607cec123c29028bff28ce41588792417098ac/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f251c812357a3fed308d684a5079ddfb9d933860fc6de89f2b7ab00da481e65f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/72/87/87ea665e92f3298d1b26d78814721dc39ed8d2c74b86e83348d6b48a6f31/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac98b175585ecf4c0348fd7b29c3864bda53b805c773cbf7bfdaffc8070c976f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/77/ad/7783a89ca0587c15dcbf139b4a8364a872a25f861bdb88ed99f9b0dec985/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3e62880792319dbeb7eb866547f2e35973289e7d5696c6e295476448f5b63c87" }, + { url = "https://mirrors.aliyun.com/pypi/packages/5b/3c/2882bdac942bd2172f3da574eab16f309ae10a3925644e969536553cb4ee/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4e7fc54e0900ab35d041b0601431b0a0eb495f0851a0639b6ef90f7741b39a18" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ce/81/9a91c0111ce1758c92516a3e44776920b579d9a7c09b2b06b642d4de3f0f/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47e77dc9822d3ad616c3d5759ea5631a75e5809d5a28707744ef79d7a1bcfcad" }, + { url = "https://mirrors.aliyun.com/pypi/packages/cf/8e/1da49d4a107027e5fbc64daeab96a0706361a2918da10cb41769244b805d/rpds_py-0.30.0-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:b4dc1a6ff022ff85ecafef7979a2c6eb423430e05f1165d6688234e62ba99a07" }, + { url = "https://mirrors.aliyun.com/pypi/packages/df/5a/7ee239b1aa48a127570ec03becbb29c9d5a9eb092febbd1699d567cae859/rpds_py-0.30.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4559c972db3a360808309e06a74628b95eaccbf961c335c8fe0d590cf587456f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/70/ea/caa143cf6b772f823bc7929a45da1fa83569ee49b11d18d0ada7f5ee6fd6/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:0ed177ed9bded28f8deb6ab40c183cd1192aa0de40c12f38be4d59cd33cb5c65" }, + { url = "https://mirrors.aliyun.com/pypi/packages/64/91/ac20ba2d69303f961ad8cf55bf7dbdb4763f627291ba3d0d7d67333cced9/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:ad1fa8db769b76ea911cb4e10f049d80bf518c104f15b3edb2371cc65375c46f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/21/20/7ff5f3c8b00c8a95f75985128c26ba44503fb35b8e0259d812766ea966c7/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:46e83c697b1f1c72b50e5ee5adb4353eef7406fb3f2043d64c33f20ad1c2fc53" }, + { url = "https://mirrors.aliyun.com/pypi/packages/72/c7/81dadd7b27c8ee391c132a6b192111ca58d866577ce2d9b0ca157552cce0/rpds_py-0.30.0-cp314-cp314-win32.whl", hash = "sha256:ee454b2a007d57363c2dfd5b6ca4a5d7e2c518938f8ed3b706e37e5d470801ed" }, + { url = "https://mirrors.aliyun.com/pypi/packages/3e/d2/1aaac33287e8cfb07aab2e6b8ac1deca62f6f65411344f1433c55e6f3eb8/rpds_py-0.30.0-cp314-cp314-win_amd64.whl", hash = "sha256:95f0802447ac2d10bcc69f6dc28fe95fdf17940367b21d34e34c737870758950" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e8/95/ab005315818cc519ad074cb7784dae60d939163108bd2b394e60dc7b5461/rpds_py-0.30.0-cp314-cp314-win_arm64.whl", hash = "sha256:613aa4771c99f03346e54c3f038e4cc574ac09a3ddfb0e8878487335e96dead6" }, + { url = "https://mirrors.aliyun.com/pypi/packages/9e/68/154fe0194d83b973cdedcdcc88947a2752411165930182ae41d983dcefa6/rpds_py-0.30.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:7e6ecfcb62edfd632e56983964e6884851786443739dbfe3582947e87274f7cb" }, + { url = "https://mirrors.aliyun.com/pypi/packages/83/69/8bbc8b07ec854d92a8b75668c24d2abcb1719ebf890f5604c61c9369a16f/rpds_py-0.30.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:a1d0bc22a7cdc173fedebb73ef81e07faef93692b8c1ad3733b67e31e1b6e1b8" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ab/00/ba2e50183dbd9abcce9497fa5149c62b4ff3e22d338a30d690f9af970561/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d08f00679177226c4cb8c5265012eea897c8ca3b93f429e546600c971bcbae7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/05/6f/86f0272b84926bcb0e4c972262f54223e8ecc556b3224d281e6598fc9268/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5965af57d5848192c13534f90f9dd16464f3c37aaf166cc1da1cae1fd5a34898" }, + { url = "https://mirrors.aliyun.com/pypi/packages/cb/e9/0e02bb2e6dc63d212641da45df2b0bf29699d01715913e0d0f017ee29438/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a4e86e34e9ab6b667c27f3211ca48f73dba7cd3d90f8d5b11be56e5dbc3fb4e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ee/ca/be7bca14cf21513bdf9c0606aba17d1f389ea2b6987035eb4f62bd923f25/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d3e6b26f2c785d65cc25ef1e5267ccbe1b069c5c21b8cc724efee290554419" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c2/c7/736e00ebf39ed81d75544c0da6ef7b0998f8201b369acf842f9a90dc8fce/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:626a7433c34566535b6e56a1b39a7b17ba961e97ce3b80ec62e6f1312c025551" }, + { url = "https://mirrors.aliyun.com/pypi/packages/4a/3f/da50dfde9956aaf365c4adc9533b100008ed31aea635f2b8d7b627e25b49/rpds_py-0.30.0-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:acd7eb3f4471577b9b5a41baf02a978e8bdeb08b4b355273994f8b87032000a8" }, + { url = "https://mirrors.aliyun.com/pypi/packages/4e/00/34bcc2565b6020eab2623349efbdec810676ad571995911f1abdae62a3a0/rpds_py-0.30.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fe5fa731a1fa8a0a56b0977413f8cacac1768dad38d16b3a296712709476fbd5" }, + { url = "https://mirrors.aliyun.com/pypi/packages/8c/28/882e72b5b3e6f718d5453bd4d0d9cf8df36fddeb4ddbbab17869d5868616/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:74a3243a411126362712ee1524dfc90c650a503502f135d54d1b352bd01f2404" }, + { url = "https://mirrors.aliyun.com/pypi/packages/3b/97/04a65539c17692de5b85c6e293520fd01317fd878ea1995f0367d4532fb1/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:3e8eeb0544f2eb0d2581774be4c3410356eba189529a6b3e36bbbf9696175856" }, + { url = "https://mirrors.aliyun.com/pypi/packages/85/70/92482ccffb96f5441aab93e26c4d66489eb599efdcf96fad90c14bbfb976/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:dbd936cde57abfee19ab3213cf9c26be06d60750e60a8e4dd85d1ab12c8b1f40" }, + { url = "https://mirrors.aliyun.com/pypi/packages/20/53/7c7e784abfa500a2b6b583b147ee4bb5a2b3747a9166bab52fec4b5b5e7d/rpds_py-0.30.0-cp314-cp314t-win32.whl", hash = "sha256:dc824125c72246d924f7f796b4f63c1e9dc810c7d9e2355864b3c3a73d59ade0" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d0/02/fa464cdfbe6b26e0600b62c528b72d8608f5cc49f96b8d6e38c95d60c676/rpds_py-0.30.0-cp314-cp314t-win_amd64.whl", hash = "sha256:27f4b0e92de5bfbc6f86e43959e6edd1425c33b5e69aab0984a72047f2bcf1e3" }, + { url = "https://mirrors.aliyun.com/pypi/packages/69/71/3f34339ee70521864411f8b6992e7ab13ac30d8e4e3309e07c7361767d91/rpds_py-0.30.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c2262bdba0ad4fc6fb5545660673925c2d2a5d9e2e0fb603aad545427be0fc58" }, + { url = "https://mirrors.aliyun.com/pypi/packages/57/09/f183df9b8f2d66720d2ef71075c59f7e1b336bec7ee4c48f0a2b06857653/rpds_py-0.30.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:ee6af14263f25eedc3bb918a3c04245106a42dfd4f5c2285ea6f997b1fc3f89a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/7a/68/5c2594e937253457342e078f0cc1ded3dd7b2ad59afdbf2d354869110a02/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3adbb8179ce342d235c31ab8ec511e66c73faa27a47e076ccc92421add53e2bb" }, + { url = "https://mirrors.aliyun.com/pypi/packages/49/5c/31ef1afd70b4b4fbdb2800249f34c57c64beb687495b10aec0365f53dfc4/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:250fa00e9543ac9b97ac258bd37367ff5256666122c2d0f2bc97577c60a1818c" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e3/63/0cfbea38d05756f3440ce6534d51a491d26176ac045e2707adc99bb6e60a/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9854cf4f488b3d57b9aaeb105f06d78e5529d3145b1e4a41750167e8c213c6d3" }, + { url = "https://mirrors.aliyun.com/pypi/packages/42/e6/01e1f72a2456678b0f618fc9a1a13f882061690893c192fcad9f2926553a/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:993914b8e560023bc0a8bf742c5f303551992dcb85e247b1e5c7f4a7d145bda5" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b8/25/8df56677f209003dcbb180765520c544525e3ef21ea72279c98b9aa7c7fb/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58edca431fb9b29950807e301826586e5bbf24163677732429770a697ffe6738" }, + { url = "https://mirrors.aliyun.com/pypi/packages/4a/b4/0a771378c5f16f8115f796d1f437950158679bcd2a7c68cf251cfb00ed5b/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:dea5b552272a944763b34394d04577cf0f9bd013207bc32323b5a89a53cf9c2f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/36/d8/456dbba0af75049dc6f63ff295a2f92766b9d521fa00de67a2bd6427d57a/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ba3af48635eb83d03f6c9735dfb21785303e73d22ad03d489e88adae6eab8877" }, + { url = "https://mirrors.aliyun.com/pypi/packages/13/64/b4d76f227d5c45a7e0b796c674fd81b0a6c4fbd48dc29271857d8219571c/rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:dff13836529b921e22f15cb099751209a60009731a68519630a24d61f0b1b30a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/20/91/092bacadeda3edf92bf743cc96a7be133e13a39cdbfd7b5082e7ab638406/rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:1b151685b23929ab7beec71080a8889d4d6d9fa9a983d213f07121205d48e2c4" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d1/b7/b95708304cd49b7b6f82fdd039f1748b66ec2b21d6a45180910802f1abf1/rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:ac37f9f516c51e5753f27dfdef11a88330f04de2d564be3991384b2f3535d02e" }, +] + +[[package]] +name = "rpds-py" +version = "2026.6.3" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +resolution-markers = [ + "(python_full_version >= '3.14' and sys_platform == 'linux') or (python_full_version >= '3.14' and sys_platform == 'win32')", + "python_full_version >= '3.14' and sys_platform != 'linux' and sys_platform != 'win32'", + "(python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform == 'linux') or (python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform == 'win32')", + "python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform != 'linux' and sys_platform != 'win32'", + "(python_full_version == '3.11.*' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform == 'win32')", + "python_full_version == '3.11.*' and sys_platform != 'linux' and sys_platform != 'win32'", +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/aa/2a/9618a122aeb2a169a28b03889a2995fe297588964333d4a7d67bdf46e147/rpds_py-2026.6.3.tar.gz", hash = "sha256:1cebd1337c242e4ec2293e541f712b2da849b29f48f0c293684b71c0632625d4" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/94/1f/a2dca5ffdbf1d475ffc4e80e4d5d720ff3a00f691795910116960ee12511/rpds_py-2026.6.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:7b689145a1485c335569bd056464f3243a29af7ed3871c7be31ad624ba239bc7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/4d/dc/323d08583c0832911768663d1944f0107fcd4088704858d84b5e06d105a0/rpds_py-2026.6.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:db08f45aecde626498fb3df07bcf6d2ec040af42e859a4f5040d79c200342911" }, + { url = "https://mirrors.aliyun.com/pypi/packages/0b/2a/e31989834d18d2f26ec1d2774c5b1eb3331df4ea8ada525175294c94b48a/rpds_py-2026.6.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:acc992ab27b15f852c76755eb2ab7dce86585ddadba6fa5946e58556088845b4" }, + { url = "https://mirrors.aliyun.com/pypi/packages/87/fe/e80107ee3639585c9941c17d6a42cd65325022f656c023191fce78c324c8/rpds_py-2026.6.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f88d653e7b3b779d71ae7454e20dcc9b6bae903f33c269db9f2be41bda3f261" }, + { url = "https://mirrors.aliyun.com/pypi/packages/22/6f/81e3adf81acfb6fa694de2a6e4e7d8863121e3e0799e0a7725e6cf5679c4/rpds_py-2026.6.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e52655eaf81e32593abedaa4bfe33170c8cfedf3365ed9be6e11e07f148f0278" }, + { url = "https://mirrors.aliyun.com/pypi/packages/2d/9a/41263969df0ce3d9af2a96d5005a288200af1989aed3354bfceb5fc0b21f/rpds_py-2026.6.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dfcc8b909769d19db55c7cc9541eb64b9b774b1057ffffb4f1048070475bb9f9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/5e/19/7e98f468bd50346faff5b10e5297374b443bfdddacc8e9fbc65984539597/rpds_py-2026.6.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c1255b302953c86a486b81d330d5ee1d5bd937691ce271b6be0ef0e299eaab7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/99/3c/2b973b4d371906a134b03decfea7f5d9835a2c6d263454392e15b64b5b18/rpds_py-2026.6.3-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:8d2294a31386bfa251d8c8a39472beee17db67d4f1a6eabea665d35c9a4461c3" }, + { url = "https://mirrors.aliyun.com/pypi/packages/98/2a/12e2799500af0a307bca76b63361c51f9fe479223561489c29eea1f2ee41/rpds_py-2026.6.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f8f23ead891a3b762f35ab3b04623da7056545b48aa60d59957e6789914545da" }, + { url = "https://mirrors.aliyun.com/pypi/packages/2d/e3/21e5872d165fe08be4f229e3d5ee9d90019c0bf0e5538de60dbd54009450/rpds_py-2026.6.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:421aba32367055614287a4292b6a17f1939c9452299f7a0209c117e990b646d4" }, + { url = "https://mirrors.aliyun.com/pypi/packages/1a/d0/5ee0fe36844297de8123bee27bc12078c1a7416ad9f1b8a8ca18d6b0c0ac/rpds_py-2026.6.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1e5822dfc2f0d4ab7e745eaa6d85945069329beeccef965af3f3bb26058fcab6" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b1/80/1ea5873cb683f2fbe5f21b23ea1f6d179ead19f3c5b249b7eb5dca568ef2/rpds_py-2026.6.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:83e35b57523816c8613fd0776b40cd8bb9f596b37ddd2692eb4a6bb5ab2f8c93" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c9/e1/90ef639217a5ddb15b7f4f61b1c33911fd044ad03c311bafdd2bcab85582/rpds_py-2026.6.3-cp311-cp311-win32.whl", hash = "sha256:de3eceba0b683bcbb1ab93da016d0270df1f9ae7be716b40214c5dafac6ea45a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f2/b7/b7a1695d7af36f521fb11e80d6d3adbd744f73b921859bd3c2a2c0dc706f/rpds_py-2026.6.3-cp311-cp311-win_amd64.whl", hash = "sha256:2c54a076ca4d370980ab57bc0e31df57bbe8d41340436a90ef8b1219a3cbb127" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d7/a2/145afacf796e4506062825941176ad9445c2dcf2b3b6a1f13d3030a15e19/rpds_py-2026.6.3-cp311-cp311-win_arm64.whl", hash = "sha256:168c733a7112e071bb7a66460e667edfcff06c017a3c523f7a8a8e08d0140804" }, + { url = "https://mirrors.aliyun.com/pypi/packages/5c/be/2e8974163072e7bab7df1a5acd54c4498e75e35d6d18b864d3a9d5dadc92/rpds_py-2026.6.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a0811d33247c3d6128a3001d763f2aa056bb3425204335400ac54f89eec3a0d0" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a4/73/319dfa745dd668efe89309141ded489126461fcecd2b8f3a3cda185129b6/rpds_py-2026.6.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:538949e262e46caa31ac01bdb3c1e8f642622922cacbabbae6a8445d9dc33eaf" }, + { url = "https://mirrors.aliyun.com/pypi/packages/21/63/4239893be1c4d09b709b1a8f6be4188f0870084ff547f46606b8a75f1b03/rpds_py-2026.6.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55927d532399c2c646100ff7feb48eaa940ad70f42cd68e1328f3ded9f81ca24" }, + { url = "https://mirrors.aliyun.com/pypi/packages/1c/ca/9c5de382225234ceb37b1844ebdb140db12b2a278bb9efe2fcd19f6c82ce/rpds_py-2026.6.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f56f1695bc5c0871cbc33dc0130fcf503aab0c57dcc5a6700a4f49eba4f2652e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/87/dc/863f69d1bf04ade34b7fe0d59b9fdf6f0135fe2d7cbca74f1d665589559d/rpds_py-2026.6.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:270b293dae9058fc9fcedab50f13cebf46fb8ed1d1d54e0521a9da5d6b211975" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ce/ef/eac16a12048b45ec7c7fa94f2be3438a5f26bf9cc8580b18a1cfd609b7f6/rpds_py-2026.6.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:127565fead0a10943b282957bd5447804ff3160ad79f2ad2635e6d249e380680" }, + { url = "https://mirrors.aliyun.com/pypi/packages/04/8f/d2f3f532616be4d06c316ef119683e832bd3d41e112bf3a88f4151c95b17/rpds_py-2026.6.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ecabd69db66de867690f9797f2f8fa27ba501bbc24540cbdbdc649cd15888ba6" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e3/29/41a7b0e98a4b44cd676ab7598419623373eb43b20be68c084935c1a8cf88/rpds_py-2026.6.3-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:58eadac9cd119677b60e1cf8ac4052f35949d71b8a9e5556efccbe82533cf22a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/2e/05/ecda0bec46f9a1565090bcdc941d023f6a25aff85fda28f89f8d19878152/rpds_py-2026.6.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7491ee23305ac3eb59e492b6945881f5cd77a6f731061a3f25b77fd40f9e99a4" }, + { url = "https://mirrors.aliyun.com/pypi/packages/68/a8/6ed52f03ee6cb854ce78785cc9a9a672eb880e83fd7224d471f667d151f1/rpds_py-2026.6.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2c99f7e8ccb3dd6e3e4bfeac657a7b208c9bac8075f4b078c02d7404c34107fa" }, + { url = "https://mirrors.aliyun.com/pypi/packages/8f/d6/156c0d3eea27ba09b92562ba2364ba124c0a061b199e17eac637cd25a5e2/rpds_py-2026.6.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:62698275682bf121181861295c9181e789030a2d516071f5b8f3c23c170cd0fc" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f1/31/774212ed989c62f7f310220089f9b0a3fb8f40f5443d1727abd5d9f52bc9/rpds_py-2026.6.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a214c993455f99a89aaeadc9b21241900037adc9d97203e374d75513c5911822" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c9/50/22f73127a41f1ce4f87fe39aadfb9a126345801c274aa93ae88456249327/rpds_py-2026.6.3-cp312-cp312-win32.whl", hash = "sha256:501f9f04a588d6a09179368c57071301445191767c64e4b52a6aa9871f1ef5ed" }, + { url = "https://mirrors.aliyun.com/pypi/packages/04/3a/f0ee4d4dde9d3b69dedf1b5f74e7a40017046d55052d173e418c6a94f960/rpds_py-2026.6.3-cp312-cp312-win_amd64.whl", hash = "sha256:2c958bf94822e9290a40aaf2a822d4bc5c88099093e3948ad6c571eca9272e5f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f3/83/3382fe37f809b59f02aac04dbc4e765b480b46ee0227ed516e3bdc4d3dfc/rpds_py-2026.6.3-cp312-cp312-win_arm64.whl", hash = "sha256:22bffe6042b9bcb0822bcd1955ec00e245daf17b4344e4ed8e9551b976b63e96" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a4/9e/b818ee580026ec578138e961027a68820c40afeb1ec8f6819b54fb99e196/rpds_py-2026.6.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:3cfe765c1da0072636ca06628261e0ea05688e160d5c8a03e0217c3854037223" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f3/6b/686d9dc4359a8f163cfbbf89ee0b4e586431de22fe8248edb63a8cf50d49/rpds_py-2026.6.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f4d78253f6996be4901669ad25319f842f740eccf4d58e3c7f3dd39e6dde1d8f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/9e/9b/069aa329940f8207615e091f5eedbbd40e1e15eac68a0790fd05ccdf796c/rpds_py-2026.6.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54f45a148e28767bf343d33a684693c70e451c6f4c0e9904709a723fafbdfc1f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/14/db/34c203e4becff3703e4d3bc121842c00b8689197f398161203a880052f4e/rpds_py-2026.6.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:842e7b070435622248c7a2c44ae53fa1440e073cc3023bc919fed570884097a7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ee/7d/8071067d2cc453d916ad836e828c943f575e8a44612537759002a1e07381/rpds_py-2026.6.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8020133a74bd81b4572dd8e4be028a6b1ebcd70e6726edc3918008c08bee6ee6" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a3/42/da06c5aa8f0484ff07f270787434204d9f4535e2f8c3b51ed402267e63c3/rpds_py-2026.6.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cdc7e35386f3847df728fbcb5e887e2d79c19e2fa1eba9e51b6621d23e3243af" }, + { url = "https://mirrors.aliyun.com/pypi/packages/57/d7/fe978efc2ae50abe48eb7464668ea99f53c010c60aeebb7b35ad27f23661/rpds_py-2026.6.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acac386b453c2516111b50985d60ce46e7fadb5ea71ae7b25f4c946935bf27cf" }, + { url = "https://mirrors.aliyun.com/pypi/packages/69/9d/1d8922e1990b2a6eb532b6ff53d3e73d2b3bbffc84116c75826bee73dfc6/rpds_py-2026.6.3-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:425560c6fa0415f27261727bb20bd097568485e5eb0c121f1949417d1c516885" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b1/3d/198dceafb4fb034a6a47347e1b0735d34e0bd4a50be4e898d408ee66cb14/rpds_py-2026.6.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a550fb4950a06dde3beb4721f5ad4b25bf4513784665b0a8522c792e2bd822a4" }, + { url = "https://mirrors.aliyun.com/pypi/packages/1f/f1/13968e49655d40b6b19d8b9140296bbc6f1d86b3f0f6c346cf9f1adddf4b/rpds_py-2026.6.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4f4bca01b63096f606e095734dd56e74e175f94cfbf24ff3d63281cec61f7bb7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ac/ab/289bcb1b90bd3e40a2900c561fa0e2087345ecbb094f0b870f2345142b7c/rpds_py-2026.6.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ccffae9a092a00deb7efd545fe5e2c33c33b88e7c054337e9a74c179347d0b7d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/1e/16/5043105e679436ccfbc8e5e0dd2d663ed18a8b8113515fd06a5e5d77c83e/rpds_py-2026.6.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1cf01971c4f2c5553b772a542e4aaf191789cd331bc2cd4ff0e6e65ba49e1e97" }, + { url = "https://mirrors.aliyun.com/pypi/packages/85/ed/adab103321c0a6565d5ae1c2998349bc3ee175b82ccc5ae8fc04cc413075/rpds_py-2026.6.3-cp313-cp313-win32.whl", hash = "sha256:8c3d1e9c15b9d51ca0391e13da1a25a0a4df3c58a37c9dc368e0736cf7f69df0" }, + { url = "https://mirrors.aliyun.com/pypi/packages/7b/ed/a03b09668e74e5dabbf2e211f6468e1820c0552f7b0500082da31841bf7b/rpds_py-2026.6.3-cp313-cp313-win_amd64.whl", hash = "sha256:9250a9a0a6fd4648b3f868da8d91a4c52b5811a62df58e753d50ae4454a36f80" }, + { url = "https://mirrors.aliyun.com/pypi/packages/27/17/b8642c12930b71bc2b25831f6708ccf0f75abcd11883932ec9ce54ba3a78/rpds_py-2026.6.3-cp313-cp313-win_arm64.whl", hash = "sha256:900a67df3fd1660b035a4761c4ce73c382ea6b35f90f9863c36c6fd8bf8b09bb" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b6/36/7fbe9dcdaf857fb3f63c2a2284b62492d95f5e8334e947e5fb6e7f68c9be/rpds_py-2026.6.3-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:931908d9fc855d8f74783377822be318edb6dcb19e47169dc038f9a1bf60b06e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ba/54/f785cc3d3f60839ca57a5af4927a9f347b07b2799c373fc20f7949f87c7e/rpds_py-2026.6.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:d7469697dce35be237db177d42e2a2ee26e6dcc5fc052078a6fefabd288c6edd" }, + { url = "https://mirrors.aliyun.com/pypi/packages/63/ef/d4cdaf309e6b095b43597103cf8c0b951d6cca2acce68c474f75ec12e0c7/rpds_py-2026.6.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bcfbcf66006befb9fd2aeaa9e01feaf881b4dc330a02ba07d2322b1c11be7b5d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/96/4a/9559a68b7ee15db09d7981212e8c2e219d2a1d6d4faa0391d813c3496a36/rpds_py-2026.6.3-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:847927daf4cffbd4e90e42bc890069897101edd015f956cb8721b3473372edda" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ef/75/8964aa7d2c6e8ac43eba8eb6e6b0fdda1f46d39f2fc3e6aa9f2cb17f485d/rpds_py-2026.6.3-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aca6c1ef08a82bfe327cc156da694660f599923e2e6665b6d81c9c2d0ac9ffc8" }, + { url = "https://mirrors.aliyun.com/pypi/packages/8f/97/6908094ac804115e65aedfd90f1b5fee4eebebd3f6c4cfc5419939267565/rpds_py-2026.6.3-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ae50181a047c871561212bb97f7932a2d45fb53e947bd9b57ebad85b529cbc53" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d1/9c/0d1fdc2e7aba23e290d603bc494e97bd205bae262ce33c6b32a69768ed5e/rpds_py-2026.6.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc319e5a1de4b6913aac94bf6a2f9e847371e0a140a43dd4991db1a09bc2d504" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c4/fe/f0209ca4a9ed074bc8acb44dfd0e81c3122e94c9689f5645b7973a866719/rpds_py-2026.6.3-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:e4316bf32babbed84e691e352faf967ce2f0f024174a8643c37c94a1080374fc" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c6/8d/f1cc54c616b9d8897de8738aac148d20afca93f68187475fe194d09a71b9/rpds_py-2026.6.3-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8c6e5a2f750cc71c3e3b11d71661f21d6f9bc6cebc6564b1466417a1ec03ec77" }, + { url = "https://mirrors.aliyun.com/pypi/packages/fb/04/aafff00f73aeca2945f734f1d483c64ab8f472d0864ab02377fd8e89c3b2/rpds_py-2026.6.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:4470ce197d4090875cf6affbf1f853338387428df97c4fb7b7106317b8214698" }, + { url = "https://mirrors.aliyun.com/pypi/packages/fd/cc/e229663b9e4ddac5a4acbe9085dd80a71af2a5d356b8b39d6bff233f24b0/rpds_py-2026.6.3-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:ea964164cc9afa72d4d9b23cc28dafae93693c0a53e0b42acbff15b22c3f9ddd" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e3/7a/8a0e6d3e6cd066af108b71b43122c3fe158dd9eb86acac626593a2582eb1/rpds_py-2026.6.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:639c8929aa0afe81be836b04de888460d6bed38b9c54cfc18da8f6bfabf5af5d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/87/03/2a69ab618a789cf6cf85c86bb844c62d090e700ab1a2aa676b3741b6c516/rpds_py-2026.6.3-cp314-cp314-win32.whl", hash = "sha256:882076c00c0a608b131187055ddc5ae29f2e7eaf870d6168980420d58528a5c8" }, + { url = "https://mirrors.aliyun.com/pypi/packages/85/62/a3892ba945f4e24c78f352e5de3c7620d8479f73f211406a97263d13c7d2/rpds_py-2026.6.3-cp314-cp314-win_amd64.whl", hash = "sha256:0be972be84cfcaf46c8c6edf690ca0f154ac17babf1f6a955a51579b34ad2dc5" }, + { url = "https://mirrors.aliyun.com/pypi/packages/3d/e7/c2bd44dc831931815ad11ebb5f430b5a0a4d3caa9de837107876c30c3432/rpds_py-2026.6.3-cp314-cp314-win_arm64.whl", hash = "sha256:2a9c6f195058cb45335e8cc3802745c603d716eb96bc9625950c1aac71c0c703" }, + { url = "https://mirrors.aliyun.com/pypi/packages/79/9c/fff7b74bce9a091ec9a012a03f9ff5f69364eaf9451060dfc4486da2ffdd/rpds_py-2026.6.3-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:f90938e92afda60266da758ee7d363447f7f0138c9559f9e1811629580582d90" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e9/44/77bcb1168b33704908295533d27f10eb811e9e3e193e8993dc99572211d3/rpds_py-2026.6.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ec829541c45bca16e61c7ae50c20501f213605beb75d1aba91a6ee37fbbb56a4" }, + { url = "https://mirrors.aliyun.com/pypi/packages/87/3c/7a9081c7c9e645b39efe19e4ffbeccd80add246327cd9b888aecffd72317/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afd70d95892096cdb26f15a00c45907b17817577aa8d1c76b2dcc2788391f9e9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f7/69/af47021eb7dad6ff3396cb001c08f0f3c4d06c20253f75be6421a59fe6b7/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29dfa0533a5d4c94d4dfa1b694fcb56c9c63aad8330ffdd816fd225d0a7a162f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/81/fc/a3bcf517084396a6dd258c592567a3c011ba4557f2fde23dceaf26e74f2e/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:af05d726809bff6b141be124d4c7ce998f9c9c7f30edb1f46c07aa103d540b41" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c9/eb/13d529d1788135425c7bf207f8463458ca5d92e43f3f701365b83e9dffc1/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9826217f048f620d9a712672818bf231442c1b35d96b227a07eabd11b4bb6945" }, + { url = "https://mirrors.aliyun.com/pypi/packages/8e/f4/b7ac49f30013aba8f7b9566b1dd07e81de95e708c1374b7bacc5b9bc5c9c/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:536bceea4fa4acf7e1c61da2b5786304367c816c8895be71b8f537c480b0ea1f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/31/86/6260bafa622f788b07ddec0e52d810305c8b9b0b8c27f58a2ab04bf62b4f/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:bc0011654b91cc4fb2ae701bec0a0ba1e552c0714247fa7af6c59e0ccfa3a4e1" }, + { url = "https://mirrors.aliyun.com/pypi/packages/19/c3/03f1ee79a047b48daeca157c89a18509cde22b6b951d642b9b0af1be660a/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:539d75de9e0d536c84ff18dfeb805398e58227001ce09231a26a08b9aed1ee0e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f0/95/8ed0cd8c377dca12aea498f119fe639fc474d1461545c39d2b5872eb1c0f/rpds_py-2026.6.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:166cf54d9f44fc6ceb53c7860258dde44a81406646de79f8ed3234fca3b6e538" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d3/f2/0eb57f0eaa83f8fc152a7e03de968ab77e1f00732bebc892b190c6eebde7/rpds_py-2026.6.3-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:d34c20167764fbcf927194d532dd7e0c56772f0a5f943fa5ef9e9afbba8fb9db" }, + { url = "https://mirrors.aliyun.com/pypi/packages/5b/de/e0674bdbc3ef7634989b3f854c3f34bc1f587d36e5bfdc5c378d57034619/rpds_py-2026.6.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ea7bb13b7c9a29791f87a0387ba7d3ad3a6d783d827e4d3f27b40a0ff44495e2" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f2/f6/21101359743cd136ada781e8210a85769578422ba460672eea0e29739200/rpds_py-2026.6.3-cp314-cp314t-win32.whl", hash = "sha256:6de4744d05bd1aa1be4ed7ea1189e3979196808008113bbbf899a460966b925e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a6/b2/9574d4d44f7760c2aa32d92a0a4f41698e33f5b204a0bf5c9758f52c79d5/rpds_py-2026.6.3-cp314-cp314t-win_amd64.whl", hash = "sha256:c7b9a2f8f4d8e90af72571d3d495deebdd7e3c75451f5b41719aee166e940fc2" }, + { url = "https://mirrors.aliyun.com/pypi/packages/08/ae/f23a2697e6ee6340a578b0f136be6483657bef0c6f9497b752bb5c0964bb/rpds_py-2026.6.3-cp315-cp315-macosx_10_12_x86_64.whl", hash = "sha256:e059c5dde6452b44424bd1834557556c226b57781dee1227af23518459722b13" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c3/63/e7b3a1a5358dd32c930a1062d8e15b67fd6e8922e81df9e91706d66ee5c8/rpds_py-2026.6.3-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:2f7c26fbc5acd2522b95d4177fe4710ffd8e9b20529e703ffbf8db4d93903f05" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ec/64/10a85681916ca55fffb91b0a211f84e34297c109243484dd6394660a8a7c/rpds_py-2026.6.3-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3086b538543802f84c843911242db20447de00d8752dd0efc936dbcf02218ba" }, + { url = "https://mirrors.aliyun.com/pypi/packages/76/c2/baf95c7c38823e12ba34407c5f5767a89e5cf2233895e56f608167ae9493/rpds_py-2026.6.3-cp315-cp315-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8f2e5c5ee828d42cb11760761c0af6507927bec42d0ad5458f97c9203b054617" }, + { url = "https://mirrors.aliyun.com/pypi/packages/6a/94/0aad06c72d65101e11d33528d438cda99a39ce0da99466e156158f2541d3/rpds_py-2026.6.3-cp315-cp315-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed0c1e5d10cdc7135537988c74a0188da68e2f3c30813ba3744ab1e42e0480f9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b5/17/de3f5a479a1f056535d7489819639d8cd591ea6281d700390b43b1abd745/rpds_py-2026.6.3-cp315-cp315-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8c2642a7603ec0b16ed77da4555db3b4b472341904873788327c0b0d7b95f1bb" }, + { url = "https://mirrors.aliyun.com/pypi/packages/46/7d/bf09bd1b145bb2671c03e1e6d1ab8651858d90d8c7dfeadd85a37a934fd8/rpds_py-2026.6.3-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e4320744c1ffdd95a603def63344bfab2d33edeab301c5007e7de9f9f5b3885" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a3/ea/1bb734f314b8be319149ddee80b18bd41372bdcfbdf88d28131c0cd37719/rpds_py-2026.6.3-cp315-cp315-manylinux_2_31_riscv64.whl", hash = "sha256:a9f4645593036b81bbdb36b9c8e0ea0d1c3fee968c4d59db0344c14087ef143a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/4b/93/d9611e5b25e26df9a3649813ed66193ace9347a7c7fc4ab7cf70e94851c0/rpds_py-2026.6.3-cp315-cp315-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e55d236be29255554da47abe5c577637db7c24a02b8b46f0ca9524c855801868" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c3/cb/99d77e16e5534ae1d90629bbe419ba6ee170833a6a85e3aa1cc41726fbbc/rpds_py-2026.6.3-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:24e9c5386e16669b674a69c156c8eeefcb578f3b3397b713b08e6d60f3c7b187" }, + { url = "https://mirrors.aliyun.com/pypi/packages/59/15/11a29755f790cef7a2f755e8e14f4f0c33f39489e1893a632a2eee59672b/rpds_py-2026.6.3-cp315-cp315-musllinux_1_2_i686.whl", hash = "sha256:c60924535c75f1566b6eb75b5c31a48a43fef04fa2d0d201acbad8a9969c6107" }, + { url = "https://mirrors.aliyun.com/pypi/packages/68/86/0c27547e21644da938fb530f7e1a8148dd24d02db07e7a5f2567a17ce710/rpds_py-2026.6.3-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:38a2fea2787428f811719ceb9114cb78964a3138838320c29ac39526c79c16ba" }, + { url = "https://mirrors.aliyun.com/pypi/packages/29/71/4d8fcf700931815594bce892255bbd973b94efaf0fc1932b0590df18d886/rpds_py-2026.6.3-cp315-cp315-win32.whl", hash = "sha256:d483fe17f01ad64b7bf7cc38fcefff1ca9fb83f8c2b2542b68f97ffe0611b369" }, + { url = "https://mirrors.aliyun.com/pypi/packages/eb/62/b577562de0edbb55b2be85ce5fd09c33e386b9b13eee09833af4240fd5c4/rpds_py-2026.6.3-cp315-cp315-win_amd64.whl", hash = "sha256:67e3a721ffc5d8d2210d3671872298c4a84e4b8035cfe42ffd7cde35d772b146" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c8/95/d6d0b2509825141eef60669a5739eec88dbc6a48053d6c92993a5704defe/rpds_py-2026.6.3-cp315-cp315-win_arm64.whl", hash = "sha256:6e84adbcf4bf841aed8116a8264b9f50b4cb3e7bd89b516122e616ac56ca269e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b7/bf/f3ea278f0afd615c1d0f19cb69043a41526e2bb600c2b536eb192218eb27/rpds_py-2026.6.3-cp315-cp315t-macosx_10_12_x86_64.whl", hash = "sha256:ae6dd8f10bd17aad820876d24caec9efdafd80a318d16c0a48edb5e136902c6b" }, + { url = "https://mirrors.aliyun.com/pypi/packages/9d/29/9907bdf1c5346763cf10b7f6852aad86652168c259def904cbe0082c5864/rpds_py-2026.6.3-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:bdbd97738551fca3917c1bd7188bec1920bb520104f28e7e1007f9ceb17b7690" }, + { url = "https://mirrors.aliyun.com/pypi/packages/6f/2c/8e03767b5778ef25cebf74a7a91a2c3806f8eced4c92cb7406bbe060756d/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b95977e7211527ab0ba576e286d023389fbeeb32a6b7b771665d333c60e5342" }, + { url = "https://mirrors.aliyun.com/pypi/packages/2e/e1/df2a7e1ba2efd796af26194250b8d42c821b46592311595162af9ef0528d/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d15fde0e6fb0d88a60d221204873743e5d9f0b7d29165e62cd86d0413ad74ba6" }, + { url = "https://mirrors.aliyun.com/pypi/packages/6b/de/8a0814d1946af29cb068fb259aa8622f856df1d0bab58429448726b537f5/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a136d453475ac0fcbda502ef1e6504bd28d6d904700915d278deeab0d00fe140" }, + { url = "https://mirrors.aliyun.com/pypi/packages/df/f3/f19e0c852ba13694f5a79f3b719331051573cb5693feacf8a88ffffc3a71/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f826877d462181e5eb1c26a0026b8d0cab05d99844ecb6d8bf3627a2ca0c0442" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e2/ae/7ec3a9d2d4351f99e37bcb06b6b6f954512646bfdbf9742e1de727865daf/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:79486287de1730dbaff3dbd124d0ca4d2ef7f9d29bf2544f1f93c09b5bcbbd12" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d3/ac/9cee911dff2aaa9a5a8354f6610bf2e6a616de9197c5fff4f54f82585f1e/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_31_riscv64.whl", hash = "sha256:808345f53cb952433ca2816f1604ff3515608a81784954f38d4452acfe8e61d5" }, + { url = "https://mirrors.aliyun.com/pypi/packages/83/6b/7c2a07ba88d1e9a936612f7a5d067467ed03d971d5a06f7d309dff044a7e/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1967debc37f64f2c4dc90a7f563aec558b471966e12adcac4e1c4240496b6ebf" }, + { url = "https://mirrors.aliyun.com/pypi/packages/97/0b/776ffcb66783637b0031f6d58d6fb55913c8b5abf00aeecd46bf933fb477/rpds_py-2026.6.3-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:f0840b5b17057f7fd918b76183a4b5a0635f43e14eb2ce60dce1d4ee4707ea00" }, + { url = "https://mirrors.aliyun.com/pypi/packages/55/33/ba3bc04d7092bd553c9b2b195624992d2cc4f3de1f380b7b93cbee67bd79/rpds_py-2026.6.3-cp315-cp315t-musllinux_1_2_i686.whl", hash = "sha256:faa679d19a6696fd54259ad321251ad77a13e70e03dd834daa762a44fb6196ef" }, + { url = "https://mirrors.aliyun.com/pypi/packages/8b/71/14edf065f04630b1a8472f7653cad03f6c478bcf95ea0e6aed55451e33ea/rpds_py-2026.6.3-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:23a439f31ccbeff1574e24889128821d1f7917470e830cf6544dced1c662262a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ba/76/65002b08596c389105720a8c0d22298b8dc25a4baf89b2ce431343c8b1de/rpds_py-2026.6.3-cp315-cp315t-win32.whl", hash = "sha256:913ca42ccad3f8cc6e292b587ae8ae49c8c823e5dce51a736252fc7c7cdfa577" }, + { url = "https://mirrors.aliyun.com/pypi/packages/8c/97/d855d6b3c322d1f27e26f5241c42016b56cf01377ea8ed348285f54652f0/rpds_py-2026.6.3-cp315-cp315t-win_amd64.whl", hash = "sha256:ae3d4fe8c0b9213624fdce7279d70e3b148b682ca20719ebd193a23ebfa47324" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b4/9c/f0d19ac587fd0e4ab6b72cda355e9c5a6166b01ef7e064e437aef8eb9fef/rpds_py-2026.6.3-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:4cf2d36a2357e4d07bb5a4f98801265327b48256867816cfd2ceb001e9754a8f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/38/c7/1d49d204c9fd2ee6c537601dc4c1ba921e03363ca576bfab94a00254ac9a/rpds_py-2026.6.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:30c6dc199b24a5e3e81d50da0f00858c5bbdb2617a750395687f4339c5818171" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ac/e5/c0b5dc93cd0d4c06ce1f438907649514e2ea077bcd911e3154a51e96c38e/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9891e594296ab9dada6551c8e7b387b2721f27a67eecd528412e8906247a7b90" }, + { url = "https://mirrors.aliyun.com/pypi/packages/0d/54/ec0e907b4ca8d541112db352409bd15f871c9b243e0c92c9b5a46ae96f01/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b5c2dc92304aa48a4a60443b548bb12f12e119d4b72f314015e67b9e1be97fca" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d3/f4/921c22a4fd0f1c1ac13a3996ffbf0aa67951e2c8ad0d1d9574938a2932e8/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:127e08c0642d880cf32ca47ec2a4a77b901f7e2dd1ad9762adb13955d72ffcc9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/0b/1b/a114b972cefa1ab1cdb3c7bb177cd3844a12826c507c722d3a73516dbbaf/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8bb68f03f395eb793220b45c097bd4d8c32944393da0fad8b999efac0868fc8c" }, + { url = "https://mirrors.aliyun.com/pypi/packages/4e/98/af9b3db77d47fcbe6c8c1f36e2c2147ec70292819e99c325f871584a1c11/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3450b693fde92133e9f51060568a4c31fcca76d5e53bbd611e689ca446517e9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c9/ba/0efd8668b97c1d26a61566386c636a7a7a09829e474fdf807caa15a2c844/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:5e8d07bddee435a2ff6f1920e18feff28d0bc4533e42f4bf6927fbd073312c41" }, + { url = "https://mirrors.aliyun.com/pypi/packages/62/90/8c139ee9690f73b0829f32647de6f40d826f8f443af6fa72644f96351aac/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3a83ae6c67b7676b9878378547ca8e93ed77a580037bcbcd1d32f739e1e6089c" }, + { url = "https://mirrors.aliyun.com/pypi/packages/9c/97/0043896fdd7828ce09a1d9a8b06433714d0960fc4ff3fc4aa72b666b764e/rpds_py-2026.6.3-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2bfd04c19ddbd6640de0b51894d764bd2758854d5b75bd102d2ef10cb9c293a9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f6/40/02355f0e134f783a8f9814c4680a1bd311d37671577a5964ea838573ff37/rpds_py-2026.6.3-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:ca6546b66be9dc4738b1b043d5ebd5488c66c578c5ff0fd0e8065313fe3afb76" }, + { url = "https://mirrors.aliyun.com/pypi/packages/10/85/48f0abdcef5cce4e034c7a5b0ceeceba0b01bf0d942824f4bb720afe2dec/rpds_py-2026.6.3-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:8e65860d238379ed982fd9ba690579b5e95af2f4840f99c772816dbe573cb826" }, +] + +[[package]] +name = "send2trash" +version = "2.1.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/c5/f0/184b4b5f8d00f2a92cf96eec8967a3d550b52cf94362dad1100df9e48d57/send2trash-2.1.0.tar.gz", hash = "sha256:1c72b39f09457db3c05ce1d19158c2cbef4c32b8bedd02c155e49282b7ea7459" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/1c/78/504fdd027da3b84ff1aecd9f6957e65f35134534ccc6da8628eb71e76d3f/send2trash-2.1.0-py3-none-any.whl", hash = "sha256:0da2f112e6d6bb22de6aa6daa7e144831a4febf2a87261451c4ad849fe9a873c" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274" }, +] + +[[package]] +name = "soupsieve" +version = "2.9.2" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/69/99/a6ca3beb3ccacb41fb3321d8a60e5566f9e6467601ef8eba6a17e1b89778/soupsieve-2.9.2.tar.gz", hash = "sha256:4a55d8cf158a9c2e587fa4922f1bbb91d68ac829e2d6f25403a85747c71daf74" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/eb/dc/ad025c1ee131eba60c69f4dd5779b18fcf1e6b21a343e2162a84d5d133c7/soupsieve-2.9.2-py3-none-any.whl", hash = "sha256:8089a26fd974ca7a1f30276d3d8492ab266ab15af581642dfe8aa162e0c1c823" }, +] + [[package]] name = "sqlalchemy" version = "2.0.52" @@ -870,6 +2403,46 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/b3/3f/3582293d1e185e71d19d7c731c3e2ee20ba21981c4a1115c0806c1f62120/sqlalchemy-2.0.52-py3-none-any.whl", hash = "sha256:3b81b8363a919ce53453591cdb93702e6bd54ade6c4fa2f468fc053baee5ed89" }, ] +[[package]] +name = "stack-data" +version = "0.6.3" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "asttokens" }, + { name = "executing" }, + { name = "pure-eval" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695" }, +] + +[[package]] +name = "terminado" +version = "0.18.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "ptyprocess", marker = "os_name != 'nt'" }, + { name = "pywinpty", marker = "os_name == 'nt'" }, + { name = "tornado" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/8a/11/965c6fd8e5cc254f1fe142d547387da17a8ebfd75a3455f637c663fb38a0/terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/6a/9e/2064975477fdc887e47ad42157e214526dcad8f317a948dee17e1659a62f/terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0" }, +] + +[[package]] +name = "tinycss2" +version = "1.5.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/a3/ae/2ca4913e5c0f09781d75482874c3a95db9105462a92ddd303c7d285d3df2/tinycss2-1.5.1.tar.gz", hash = "sha256:d339d2b616ba90ccce58da8495a78f46e55d4d25f9fd71dfd526f07e7d53f957" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/60/45/c7b5c3168458db837e8ceab06dc77824e18202679d0463f0e8f002143a97/tinycss2-1.5.1-py3-none-any.whl", hash = "sha256:3415ba0f5839c062696996998176c4a3751d18b7edaaeeb658c9ce21ec150661" }, +] + [[package]] name = "tomli" version = "2.4.1" @@ -924,6 +2497,23 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl", hash = "sha256:0d85819802132122da43cb86656f8d1f8c6587d54ae7dcaf30e90533028b49fe" }, ] +[[package]] +name = "tornado" +version = "6.5.8" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/10/d3/343e5bb989d6515b1646cf3d40135d73f3d5e45339bded401b56cdac24dd/tornado-6.5.8.tar.gz", hash = "sha256:9452e1b208a8bd771e2cb1f2ff564985b9b214bdebbe622793e1799e0a6bd23f" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/f2/d5/007086fd8df5489338e204f65adce33fd4f21a4999dbb2b9cff2f897b5f4/tornado-6.5.8-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:cc6aa787d7cfab7c3d35189dc7a56fbd2399a569624c730c6b55b3d6531d0403" }, + { url = "https://mirrors.aliyun.com/pypi/packages/70/c8/5a24a99495903f594f6a199dd7beead1cbc0a13e2cb9102727bcaaf2a997/tornado-6.5.8-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9715b5eb79735b2bcd454ce216a9275b7c0470e64ea1bf5742f78b2f72b26eeb" }, + { url = "https://mirrors.aliyun.com/pypi/packages/6e/de/f2e733f386b85962d1b1dc82cd63d169b5b4580062b35397eac9244a41fe/tornado-6.5.8-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:547d63f450d570c14fe0e8db2cfb14c9bbd1c2503b4a6612586267955aa47b58" }, + { url = "https://mirrors.aliyun.com/pypi/packages/0b/94/20efeee9a01c141e9ac47c397f81679dfda24b32768fc4fff24e76d36c2c/tornado-6.5.8-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7e2360a0ffbe145eca8af0b19cb7203d79b1a98dd4cccdd6b368f6f49c2e3808" }, + { url = "https://mirrors.aliyun.com/pypi/packages/42/ec/a96ccb8ccf0de2b7bc2c5fa1608a4803735018242e90c4882365a9fd418f/tornado-6.5.8-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:5d242290bdf7ab3151bc1065fdd75c0dcc21cbc7b49f22a4c56329c2d6566d22" }, + { url = "https://mirrors.aliyun.com/pypi/packages/29/b5/93185859245ad3f00e62175f29607346788b696369347f0146e0421286bb/tornado-6.5.8-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:7b94ff0e128fe0542f3bd331fb44d06260fc4ac16881545159f34ef08aad4195" }, + { url = "https://mirrors.aliyun.com/pypi/packages/97/cf/fe33cf062834487d34d1559746a4a12521033c22645b6d74d4bca702e018/tornado-6.5.8-cp39-abi3-win32.whl", hash = "sha256:67832909c4779c64942380cb5f044a5c6163d00831472d80e25e115de9917836" }, + { url = "https://mirrors.aliyun.com/pypi/packages/cb/e1/468ad54333e92ccb62627e62cb88e5fc14a2171daa67ed47b1b8542d5b86/tornado-6.5.8-cp39-abi3-win_amd64.whl", hash = "sha256:11881db6b7c168494be2c2d12e65931451bdf7ee718535418ae1d8855dd5a0ee" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ad/3e/cd5e4f06e34cde33b8ef66cf36aa2b5ad46354cc1af7d2136bbe365fee1d/tornado-6.5.8-cp39-abi3-win_arm64.whl", hash = "sha256:68a7468c7e289f8514d7d664101753903217eff1bb6822c6b5994a0b5f5bcb26" }, +] + [[package]] name = "tqdm" version = "4.70.0" @@ -936,6 +2526,15 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/f9/1c/01bfd571a64e7f270e6bab5e33777debe0edc56759233ce84f27dec92d14/tqdm-4.70.0-py3-none-any.whl", hash = "sha256:7f585706bfddbdebf89daac705b2dfcc16890130727d3197ca62c732b4310953" }, ] +[[package]] +name = "traitlets" +version = "5.16.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/2c/2e/a7fbfe268c8a3b32546930c0297c101d65a4a14c304ad5790a9f478f0e4e/traitlets-5.16.1.tar.gz", hash = "sha256:ed900c2b631aa3a112811139fa97b8d2c3bad5e989656bba4b7e52c7852c18c1" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/ad/66/0d785f0bc5e4315a96c989bb476d0fc07ea4f85132550c7b156ca2035d52/traitlets-5.16.1-py3-none-any.whl", hash = "sha256:f775618166caa0396c8e337099240f2bd3e5e917d203b2e6fbe21a58d3cb1f6b" }, +] + [[package]] name = "typing-extensions" version = "4.16.0" @@ -945,6 +2544,24 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl", hash = "sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8" }, ] +[[package]] +name = "tzdata" +version = "2026.3" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/92/ff/5a28bdfd8c3ebec42564ac7d0e54ca3db65044a9314a97f9564fa7a1e926/tzdata-2026.3.tar.gz", hash = "sha256:4a1518b8993086a7982523e071643f3c0e5f213e75b21318e78bcabfff9d1415" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/e5/6d/b53b99a9f2766d095985947a5782f1702cabb129a34f7a802d7197af832f/tzdata-2026.3-py2.py3-none-any.whl", hash = "sha256:dc096730c87af6cab1b171c9d532be840741ff5d459015e7f6947bd7d7e54931" }, +] + +[[package]] +name = "uri-template" +version = "1.3.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/31/c7/0336f2bd0bcbada6ccef7aaa25e443c118a704f828a0620c6fa0207c1b64/uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/e7/00/3fca040d7cf8a32776d3d81a00c8ee7457e00f80c649f1e4a863c8321ae9/uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363" }, +] + [[package]] name = "urllib3" version = "2.7.0" @@ -953,3 +2570,48 @@ sdist = { url = "https://mirrors.aliyun.com/pypi/packages/53/0c/06f8b233b8fd13b9 wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897" }, ] + +[[package]] +name = "wcwidth" +version = "0.8.3" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/36/57/ed58088fafdf4c55a0ad6bde846502567645424d7ebf325230b9237f4085/wcwidth-0.8.3.tar.gz", hash = "sha256:d128512515fbf4612e0ff21fd6380399210318b7b54a9af59dff8454cf9730eb" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/c4/0e/57f6bb3024a597b2e8ec4aee710ffe62ddc95af2e2bb1ee7a7abdc22c68c/wcwidth-0.8.3-py3-none-any.whl", hash = "sha256:d5b73dba6158a595ec9370350e7f2637bcac8d6c5e4fde34f30fcffb6103a5e4" }, +] + +[[package]] +name = "webcolors" +version = "25.10.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/1d/7a/eb316761ec35664ea5174709a68bbd3389de60d4a1ebab8808bfc264ed67/webcolors-25.10.0.tar.gz", hash = "sha256:62abae86504f66d0f6364c2a8520de4a0c47b80c03fc3a5f1815fedbef7c19bf" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/e2/cc/e097523dd85c9cf5d354f78310927f1656c422bd7b2613b2db3e3f9a0f2c/webcolors-25.10.0-py3-none-any.whl", hash = "sha256:032c727334856fc0b968f63daa252a1ac93d33db2f5267756623c210e57a4f1d" }, +] + +[[package]] +name = "webencodings" +version = "0.6.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/d5/a0/8fd707bcb776a7be556bad06a2ea5fb9bd519df78ef8e26f70ccf0f38bff/webencodings-0.6.1.tar.gz", hash = "sha256:565f9ad031c702dae404e27a099e3e09186a3ab1b9520f06d215502b651fd910" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/77/c6/040cbc72480d789a5f40d63fb484d3106554c4dfa2d2b70ad5022057750f/webencodings-0.6.1-py3-none-any.whl", hash = "sha256:7fab6269c8bf237c657876b52058ccb182e861518d1c695c1a9aaa8c1c105d5b" }, +] + +[[package]] +name = "websocket-client" +version = "1.9.2" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/d8/cb/a5abcc2891249f393827c650c6296660ce40374ac22d99ab9aea41f9d2a2/websocket_client-1.9.2.tar.gz", hash = "sha256:0fcb57545848be86992e128218fd96dd87a6769ffdb1a968dff79632b85604d0" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/d5/d2/cc4dc1271e464942db7ee278baae2daa99ee77cb2af744025c04da585a3e/websocket_client-1.9.2-py3-none-any.whl", hash = "sha256:e1a673830a9c7bfa47b1cd3d5e4178f4c9651d80a4eab02c9c23a1c3ec6250ce" }, +] + +[[package]] +name = "widgetsnbextension" +version = "4.0.16" +source = { registry = "https://mirrors.aliyun.com/pypi/simple/" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/bf/60/bc7a980fc78837d6ef8f5940cca4cadc433364503a4c4d42e2a7a0de3231/widgetsnbextension-4.0.16.tar.gz", hash = "sha256:adeea0ae78f0856ee4945f413299801b82a0a01416303301f39a704282a37b73" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/34/95/40e17e20046b7bc820d29d09ae84ec157ec8dd6e6f6cd722626292c31b2e/widgetsnbextension-4.0.16-py3-none-any.whl", hash = "sha256:a31a8774885b96fe825462f5d6496166f0c7cae111195b6465c801d230eb5a4e" }, +]

V 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