From d57897e218b97ad4abb68230f1dd02caf718aa6f Mon Sep 17 00:00:00 2001 From: Cyrus Yiu Date: Fri, 31 Jul 2026 20:14:17 -0400 Subject: [PATCH 01/46] Move to resources dir in package --- .../{ => resources}/js_tools/package-lock.json | 0 src/mkcd2app/{ => resources}/js_tools/package.json | 0 .../templates/vite-project/.gitignore | 0 .../templates/vite-project/.prettierignore | 0 .../templates/vite-project/README.md | 0 .../templates/vite-project/eslint.config.js | 0 .../templates/vite-project/index.html | 0 .../templates/vite-project/package-lock.json | 0 .../templates/vite-project/package.json | 4 ++-- .../templates/vite-project/src/App.css | 0 .../templates/vite-project/src/App.tsx | 0 .../vite-project/src/assets/---simulator.html | 0 .../templates/vite-project/src/assets/binary.js | 0 .../templates/vite-project/src/gameConfiguration.ts | 0 .../templates/vite-project/src/global.d.ts | 0 .../templates/vite-project/src/main.tsx | 0 .../templates/vite-project/src/utils/position.ts | 0 .../templates/vite-project/src/utils/toasts.ts | 0 .../templates/vite-project/tsconfig.app.json | 13 ++++++++++--- .../templates/vite-project/tsconfig.json | 0 .../templates/vite-project/tsconfig.node.json | 12 +++++++++--- .../templates/vite-project/vite.config.ts | 0 src/mkcd2app/utils/resources.py | 4 ++-- 23 files changed, 23 insertions(+), 10 deletions(-) rename src/mkcd2app/{ => resources}/js_tools/package-lock.json (100%) rename src/mkcd2app/{ => resources}/js_tools/package.json (100%) rename src/mkcd2app/{ => resources}/templates/vite-project/.gitignore (100%) rename src/mkcd2app/{ => resources}/templates/vite-project/.prettierignore (100%) rename src/mkcd2app/{ => resources}/templates/vite-project/README.md (100%) rename src/mkcd2app/{ => resources}/templates/vite-project/eslint.config.js (100%) rename src/mkcd2app/{ => resources}/templates/vite-project/index.html (100%) rename src/mkcd2app/{ => resources}/templates/vite-project/package-lock.json (100%) rename src/mkcd2app/{ => resources}/templates/vite-project/package.json (93%) rename src/mkcd2app/{ => resources}/templates/vite-project/src/App.css (100%) rename src/mkcd2app/{ => resources}/templates/vite-project/src/App.tsx (100%) rename src/mkcd2app/{ => resources}/templates/vite-project/src/assets/---simulator.html (100%) rename src/mkcd2app/{ => resources}/templates/vite-project/src/assets/binary.js (100%) rename src/mkcd2app/{ => resources}/templates/vite-project/src/gameConfiguration.ts (100%) rename src/mkcd2app/{ => resources}/templates/vite-project/src/global.d.ts (100%) rename src/mkcd2app/{ => resources}/templates/vite-project/src/main.tsx (100%) rename src/mkcd2app/{ => resources}/templates/vite-project/src/utils/position.ts (100%) rename src/mkcd2app/{ => resources}/templates/vite-project/src/utils/toasts.ts (100%) rename src/mkcd2app/{ => resources}/templates/vite-project/tsconfig.app.json (85%) rename src/mkcd2app/{ => resources}/templates/vite-project/tsconfig.json (100%) rename src/mkcd2app/{ => resources}/templates/vite-project/tsconfig.node.json (81%) rename src/mkcd2app/{ => resources}/templates/vite-project/vite.config.ts (100%) diff --git a/src/mkcd2app/js_tools/package-lock.json b/src/mkcd2app/resources/js_tools/package-lock.json similarity index 100% rename from src/mkcd2app/js_tools/package-lock.json rename to src/mkcd2app/resources/js_tools/package-lock.json diff --git a/src/mkcd2app/js_tools/package.json b/src/mkcd2app/resources/js_tools/package.json similarity index 100% rename from src/mkcd2app/js_tools/package.json rename to src/mkcd2app/resources/js_tools/package.json diff --git a/src/mkcd2app/templates/vite-project/.gitignore b/src/mkcd2app/resources/templates/vite-project/.gitignore similarity index 100% rename from src/mkcd2app/templates/vite-project/.gitignore rename to src/mkcd2app/resources/templates/vite-project/.gitignore diff --git a/src/mkcd2app/templates/vite-project/.prettierignore b/src/mkcd2app/resources/templates/vite-project/.prettierignore similarity index 100% rename from src/mkcd2app/templates/vite-project/.prettierignore rename to src/mkcd2app/resources/templates/vite-project/.prettierignore diff --git a/src/mkcd2app/templates/vite-project/README.md b/src/mkcd2app/resources/templates/vite-project/README.md similarity index 100% rename from src/mkcd2app/templates/vite-project/README.md rename to src/mkcd2app/resources/templates/vite-project/README.md diff --git a/src/mkcd2app/templates/vite-project/eslint.config.js b/src/mkcd2app/resources/templates/vite-project/eslint.config.js similarity index 100% rename from src/mkcd2app/templates/vite-project/eslint.config.js rename to src/mkcd2app/resources/templates/vite-project/eslint.config.js diff --git a/src/mkcd2app/templates/vite-project/index.html b/src/mkcd2app/resources/templates/vite-project/index.html similarity index 100% rename from src/mkcd2app/templates/vite-project/index.html rename to src/mkcd2app/resources/templates/vite-project/index.html diff --git a/src/mkcd2app/templates/vite-project/package-lock.json b/src/mkcd2app/resources/templates/vite-project/package-lock.json similarity index 100% rename from src/mkcd2app/templates/vite-project/package-lock.json rename to src/mkcd2app/resources/templates/vite-project/package-lock.json diff --git a/src/mkcd2app/templates/vite-project/package.json b/src/mkcd2app/resources/templates/vite-project/package.json similarity index 93% rename from src/mkcd2app/templates/vite-project/package.json rename to src/mkcd2app/resources/templates/vite-project/package.json index 63636b0..47898f3 100644 --- a/src/mkcd2app/templates/vite-project/package.json +++ b/src/mkcd2app/resources/templates/vite-project/package.json @@ -7,8 +7,8 @@ "dev": "vite", "lint": "eslint ", "writeLint": "eslint --fix ", - "format": "prettier --check .", - "writeFormat": "prettier --write .", + "format": "prettier --check ", + "writeFormat": "prettier --write ", "preview": "vite preview", "build": "tsc -b && vite build", "build:singlefile": "tsc -b && vite build --mode singlefile" diff --git a/src/mkcd2app/templates/vite-project/src/App.css b/src/mkcd2app/resources/templates/vite-project/src/App.css similarity index 100% rename from src/mkcd2app/templates/vite-project/src/App.css rename to src/mkcd2app/resources/templates/vite-project/src/App.css diff --git a/src/mkcd2app/templates/vite-project/src/App.tsx b/src/mkcd2app/resources/templates/vite-project/src/App.tsx similarity index 100% rename from src/mkcd2app/templates/vite-project/src/App.tsx rename to src/mkcd2app/resources/templates/vite-project/src/App.tsx diff --git a/src/mkcd2app/templates/vite-project/src/assets/---simulator.html b/src/mkcd2app/resources/templates/vite-project/src/assets/---simulator.html similarity index 100% rename from src/mkcd2app/templates/vite-project/src/assets/---simulator.html rename to src/mkcd2app/resources/templates/vite-project/src/assets/---simulator.html diff --git a/src/mkcd2app/templates/vite-project/src/assets/binary.js b/src/mkcd2app/resources/templates/vite-project/src/assets/binary.js similarity index 100% rename from src/mkcd2app/templates/vite-project/src/assets/binary.js rename to src/mkcd2app/resources/templates/vite-project/src/assets/binary.js diff --git a/src/mkcd2app/templates/vite-project/src/gameConfiguration.ts b/src/mkcd2app/resources/templates/vite-project/src/gameConfiguration.ts similarity index 100% rename from src/mkcd2app/templates/vite-project/src/gameConfiguration.ts rename to src/mkcd2app/resources/templates/vite-project/src/gameConfiguration.ts diff --git a/src/mkcd2app/templates/vite-project/src/global.d.ts b/src/mkcd2app/resources/templates/vite-project/src/global.d.ts similarity index 100% rename from src/mkcd2app/templates/vite-project/src/global.d.ts rename to src/mkcd2app/resources/templates/vite-project/src/global.d.ts diff --git a/src/mkcd2app/templates/vite-project/src/main.tsx b/src/mkcd2app/resources/templates/vite-project/src/main.tsx similarity index 100% rename from src/mkcd2app/templates/vite-project/src/main.tsx rename to src/mkcd2app/resources/templates/vite-project/src/main.tsx diff --git a/src/mkcd2app/templates/vite-project/src/utils/position.ts b/src/mkcd2app/resources/templates/vite-project/src/utils/position.ts similarity index 100% rename from src/mkcd2app/templates/vite-project/src/utils/position.ts rename to src/mkcd2app/resources/templates/vite-project/src/utils/position.ts diff --git a/src/mkcd2app/templates/vite-project/src/utils/toasts.ts b/src/mkcd2app/resources/templates/vite-project/src/utils/toasts.ts similarity index 100% rename from src/mkcd2app/templates/vite-project/src/utils/toasts.ts rename to src/mkcd2app/resources/templates/vite-project/src/utils/toasts.ts diff --git a/src/mkcd2app/templates/vite-project/tsconfig.app.json b/src/mkcd2app/resources/templates/vite-project/tsconfig.app.json similarity index 85% rename from src/mkcd2app/templates/vite-project/tsconfig.app.json rename to src/mkcd2app/resources/templates/vite-project/tsconfig.app.json index e30ef7d..3abe7e5 100644 --- a/src/mkcd2app/templates/vite-project/tsconfig.app.json +++ b/src/mkcd2app/resources/templates/vite-project/tsconfig.app.json @@ -2,9 +2,14 @@ "compilerOptions": { "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", "target": "es2023", - "lib": ["ES2023", "DOM"], + "lib": [ + "ES2023", + "DOM" + ], "module": "esnext", - "types": ["vite/client"], + "types": [ + "vite/client" + ], "allowArbitraryExtensions": true, "skipLibCheck": true, /* Bundler mode */ @@ -20,5 +25,7 @@ "erasableSyntaxOnly": false, "noFallthroughCasesInSwitch": true }, - "include": ["src"] + "include": [ + "src" + ] } diff --git a/src/mkcd2app/templates/vite-project/tsconfig.json b/src/mkcd2app/resources/templates/vite-project/tsconfig.json similarity index 100% rename from src/mkcd2app/templates/vite-project/tsconfig.json rename to src/mkcd2app/resources/templates/vite-project/tsconfig.json diff --git a/src/mkcd2app/templates/vite-project/tsconfig.node.json b/src/mkcd2app/resources/templates/vite-project/tsconfig.node.json similarity index 81% rename from src/mkcd2app/templates/vite-project/tsconfig.node.json rename to src/mkcd2app/resources/templates/vite-project/tsconfig.node.json index 1f8a29b..3bf20da 100644 --- a/src/mkcd2app/templates/vite-project/tsconfig.node.json +++ b/src/mkcd2app/resources/templates/vite-project/tsconfig.node.json @@ -2,8 +2,12 @@ "compilerOptions": { "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", "target": "es2023", - "lib": ["ES2023"], - "types": ["node"], + "lib": [ + "ES2023" + ], + "types": [ + "node" + ], "skipLibCheck": true, /* Bundler mode */ "module": "nodenext", @@ -17,5 +21,7 @@ "erasableSyntaxOnly": true, "noFallthroughCasesInSwitch": true }, - "include": ["vite.config.ts"] + "include": [ + "vite.config.ts" + ] } diff --git a/src/mkcd2app/templates/vite-project/vite.config.ts b/src/mkcd2app/resources/templates/vite-project/vite.config.ts similarity index 100% rename from src/mkcd2app/templates/vite-project/vite.config.ts rename to src/mkcd2app/resources/templates/vite-project/vite.config.ts diff --git a/src/mkcd2app/utils/resources.py b/src/mkcd2app/utils/resources.py index 60efddb..20150ce 100644 --- a/src/mkcd2app/utils/resources.py +++ b/src/mkcd2app/utils/resources.py @@ -6,13 +6,13 @@ @contextmanager def get_template_path(name: str) -> Iterator[Path]: - ref = files("mkcd2app").joinpath("templates", name) + ref = files("mkcd2app").joinpath("resources", "templates", name) with as_file(ref) as path: yield path @contextmanager def get_js_tools_path() -> Iterator[Path]: - ref = files("mkcd2app").joinpath("js_tools") + ref = files("mkcd2app").joinpath("resources", "js_tools") with as_file(ref) as path: yield path From 16a88444aa980595332232153ad61675ecec256d Mon Sep 17 00:00:00 2001 From: Cyrus Yiu Date: Fri, 31 Jul 2026 20:34:23 -0400 Subject: [PATCH 02/46] Add skeleton for toolchain and target commands --- src/mkcd2app/cli.py | 47 +++++++++++++++++-- src/mkcd2app/main.py | 109 ++++++++++++++++++++++++------------------- 2 files changed, 105 insertions(+), 51 deletions(-) diff --git a/src/mkcd2app/cli.py b/src/mkcd2app/cli.py index 4ea7402..20a9cd0 100644 --- a/src/mkcd2app/cli.py +++ b/src/mkcd2app/cli.py @@ -13,16 +13,17 @@ def generate_and_parse_args() -> Namespace: :return: A `Namespace` object with parsed CLI arguments. """ parser = ArgumentParser( + prog="mkcd2app", description="Convert your MakeCode Arcade games into a " - "standalone offline executable!" + "standalone offline executable!", ) parser.add_argument( "--debug", action="store_true", - help="Enable debug logging. This must go first before the sub command.", + help="Enable debug logging. This must go first before any sub commands.", ) subparsers = parser.add_subparsers(required=True, dest="command") - # build subcommand + parser_build = subparsers.add_parser( "build", help="Build your MakeCode Arcade game." ) @@ -33,6 +34,46 @@ def generate_and_parse_args() -> Namespace: help="Delete the entire build directory before building.", ) + parser_toolchain = subparsers.add_parser( + "toolchain", help="Manage the MakeCode CLI toolchain." + ) + toolchain_subparsers = parser_toolchain.add_subparsers( + required=True, dest="toolchain_command" + ) + toolchain_subparsers.add_parser( + "install", + help="Install the MakeCode CLI toolchain for this specific mkcd2app version.", + ) + toolchain_subparsers.add_parser( + "status", help="Show the installed MakeCode CLI toolchain." + ) + toolchain_subparsers.add_parser( + "uninstall", + help="Uninstall the MakeCode CLI toolchain for this specific mkcd2app version.", + ) + + parser_target = subparsers.add_parser( + "target", help="Manage MakeCode Arcade target versions." + ) + target_subparsers = parser_target.add_subparsers( + required=True, dest="target_command" + ) + parser_target_install = target_subparsers.add_parser( + "install", help="Install a MakeCode Arcade target version." + ) + parser_target_install.add_argument( + "version", type=str, help="Target version to install." + ) + target_subparsers.add_parser( + "list", help="List installed MakeCode Arcade target versions." + ) + parser_target_uninstall = target_subparsers.add_parser( + "uninstall", help="Uninstall a MakeCode Arcade target version." + ) + parser_target_uninstall.add_argument( + "version", type=str, help="Target version to uninstall." + ) + args = parser.parse_args() logger.debug(f"Received arguments: {args}") return args diff --git a/src/mkcd2app/main.py b/src/mkcd2app/main.py index ef7bbd2..7b35267 100644 --- a/src/mkcd2app/main.py +++ b/src/mkcd2app/main.py @@ -1,14 +1,7 @@ import logging -import shutil from pathlib import Path -import redun -import redun.file -from redun import Scheduler - -from mkcd2app.build_project import BuildProjectResult, build_project from mkcd2app.cli import generate_and_parse_args -from mkcd2app.config import load_config_from_yaml from mkcd2app.utils.logger import create_logger, set_all_stdout_logger_levels logger = create_logger(name=__name__, level=logging.INFO) @@ -21,51 +14,71 @@ def main() -> None: set_all_stdout_logger_levels(logging.DEBUG) logger.debug(f"Received arguments: {args}") - if args.command == "build": - logger.debug("Building project") + if args.command == "toolchain": + if args.toolchain_command == "install": + logger.debug("Installing MakeCode CLI toolchain") - config_path = Path(args.config) - logger.debug(f"Loading config from {config_path}") - config_text = config_path.read_text() + elif args.toolchain_command == "status": + logger.debug("Checking MakeCode CLI toolchain status") + + elif args.toolchain_command == "uninstall": + logger.debug("Uninstalling MakeCode CLI toolchain") + elif args.command == "target": + if args.target_command == "install": + installVersion: str = args.version + logger.debug(f"Installing MakeCode CLI target version {installVersion}") - # Parse once only to extract build_dir for the redun DB path. - # The raw YAML text is passed to redun tasks so that argument - # hashing is deterministic (string) rather than pickle-based - # (which is non-deterministic due to pydantic's set fields). - config = load_config_from_yaml(config_text) - build_dir = Path(config.build_dir) + elif args.target_command == "list": + logger.debug("Listing MakeCode CLI target") - if args.clear_cache: - if build_dir.exists(): - logger.warning(f"Clearing build directory {build_dir}") - shutil.rmtree(build_dir) - else: - logger.debug("Build directory does not exist; nothing to clear") + elif args.target_command == "uninstall": + uninstallVersion: str = args.version + logger.debug(f"Uninstalling MakeCode CLI target version {uninstallVersion}") + + elif args.command == "build": + config_path = Path(args.config) + logger.debug(f"Building project with config {config_path}") - build_dir.mkdir(parents=True, exist_ok=True) - db_uri = f"sqlite:///{build_dir.resolve() / '.redun-cache.db'}" - logger.debug(f"redun cache DB: {db_uri}") - # noinspection PyUnresolvedReferences - redun_config = redun.config.Config( - { - "scheduler": {"log_level": "DEBUG"}, - "backend": {"db_uri": db_uri}, - } - ) - scheduler = Scheduler(config=redun_config) - # Load/migrate the backend so the persistent DB is properly set up. - # Without this, providing a custom db_uri skips the automatic - # engine creation and migration that the in-memory default does. - scheduler.load() - results: BuildProjectResult = scheduler.run( - build_project(config_text), - ) - if results.static: - logger.info(f"Static website directory is at {results.static.path}") - if results.static_singlefile: - logger.info( - f"Static single-file HTML is at {results.static_singlefile.path}" - ) + # config_text = config_path.read_text() + # + # # Parse once only to extract build_dir for the redun DB path. + # # The raw YAML text is passed to redun tasks so that argument + # # hashing is deterministic (string) rather than pickle-based + # # (which is non-deterministic due to pydantic's set fields). + # config = load_config_from_yaml(config_text) + # build_dir = Path(config.build_dir) + # + # if args.clear_cache: + # if build_dir.exists(): + # logger.warning(f"Clearing build directory {build_dir}") + # shutil.rmtree(build_dir) + # else: + # logger.debug("Build directory does not exist; nothing to clear") + # + # build_dir.mkdir(parents=True, exist_ok=True) + # db_uri = f"sqlite:///{build_dir.resolve() / '.redun-cache.db'}" + # logger.debug(f"redun cache DB: {db_uri}") + # # noinspection PyUnresolvedReferences + # redun_config = redun.config.Config( + # { + # "scheduler": {"log_level": "DEBUG"}, + # "backend": {"db_uri": db_uri}, + # } + # ) + # scheduler = Scheduler(config=redun_config) + # # Load/migrate the backend so the persistent DB is properly set up. + # # Without this, providing a custom db_uri skips the automatic + # # engine creation and migration that the in-memory default does. + # scheduler.load() + # results: BuildProjectResult = scheduler.run( + # build_project(config_text), + # ) + # if results.static: + # logger.info(f"Static website directory is at {results.static.path}") + # if results.static_singlefile: + # logger.info( + # f"Static single-file HTML is at {results.static_singlefile.path}" + # ) if __name__ == "__main__": From c6f926cbc092a418013993d1fd87456608d9d683 Mon Sep 17 00:00:00 2001 From: Cyrus Yiu Date: Sat, 1 Aug 2026 23:12:04 -0400 Subject: [PATCH 03/46] Toolchain install command --- pyproject.toml | 1 + src/mkcd2app/build_project/inputs/code.py | 2 +- src/mkcd2app/main.py | 7 ++ src/mkcd2app/toolchains/__init__.py | 0 src/mkcd2app/toolchains/install.py | 100 ++++++++++++++++++++++ src/mkcd2app/utils/filesystem.py | 27 ++++++ src/mkcd2app/utils/paths.py | 50 ++++++----- src/mkcd2app/utils/resources.py | 6 +- src/mkcd2app/utils/run_redun_task.py | 27 ++++++ uv.lock | 2 + 10 files changed, 198 insertions(+), 24 deletions(-) create mode 100644 src/mkcd2app/toolchains/__init__.py create mode 100644 src/mkcd2app/toolchains/install.py create mode 100644 src/mkcd2app/utils/filesystem.py create mode 100644 src/mkcd2app/utils/run_redun_task.py diff --git a/pyproject.toml b/pyproject.toml index eea8454..3783e5d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,6 +16,7 @@ dependencies = [ "requests", "beautifulsoup4", "pillow", + "platformdirs>=4.11.0", ] [project.scripts] diff --git a/src/mkcd2app/build_project/inputs/code.py b/src/mkcd2app/build_project/inputs/code.py index 364cc82..c94907c 100644 --- a/src/mkcd2app/build_project/inputs/code.py +++ b/src/mkcd2app/build_project/inputs/code.py @@ -17,8 +17,8 @@ ShareLinkCodeSource, UrlAssetSource, ) +from mkcd2app.utils.filesystem import rmtree_robust from mkcd2app.utils.logger import create_logger -from mkcd2app.utils.paths import rmtree_robust from mkcd2app.utils.run import run_cmd logger = create_logger(name=__name__, level=logging.INFO) diff --git a/src/mkcd2app/main.py b/src/mkcd2app/main.py index 7b35267..737d5d0 100644 --- a/src/mkcd2app/main.py +++ b/src/mkcd2app/main.py @@ -2,7 +2,10 @@ from pathlib import Path from mkcd2app.cli import generate_and_parse_args +from mkcd2app.toolchains.install import install_toolchain from mkcd2app.utils.logger import create_logger, set_all_stdout_logger_levels +from mkcd2app.utils.paths import get_redun_db_for_toolchain_path +from mkcd2app.utils.run_redun_task import run_redun_task logger = create_logger(name=__name__, level=logging.INFO) @@ -18,6 +21,10 @@ def main() -> None: if args.toolchain_command == "install": logger.debug("Installing MakeCode CLI toolchain") + run_redun_task( + expr=install_toolchain(), + redun_db_path=get_redun_db_for_toolchain_path(), + ) elif args.toolchain_command == "status": logger.debug("Checking MakeCode CLI toolchain status") diff --git a/src/mkcd2app/toolchains/__init__.py b/src/mkcd2app/toolchains/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/mkcd2app/toolchains/install.py b/src/mkcd2app/toolchains/install.py new file mode 100644 index 0000000..a22ed51 --- /dev/null +++ b/src/mkcd2app/toolchains/install.py @@ -0,0 +1,100 @@ +import logging +import shutil +from contextlib import ExitStack +from pathlib import Path +from tempfile import TemporaryDirectory + +from redun import task +from redun.file import ContentDir + +from mkcd2app.utils.logger import create_logger +from mkcd2app.utils.paths import get_js_tools_dir, get_templates_npm_cache_dir +from mkcd2app.utils.resources import get_js_tools_path, get_template_path +from mkcd2app.utils.run import run_cmd + +logger = create_logger(name=__name__, level=logging.INFO) + + +@task(namespace="mkcd2app") +def install_js_tools(js_tools: ContentDir) -> ContentDir: + """ + Installs necessary JS tools for mkcd2app. + + :param js_tools: The ContentDir pointing to the directory containing the + package.json and package-lock.json, which include the tools to install. + :return: A ContentDir pointing to node_modules, to ensure redun sees that this task + has something that depends on its results. + """ + logger.info("Installing JS tools") + + source_path = Path(js_tools.path) + dest_path = get_js_tools_dir() + dest_path.mkdir(parents=True, exist_ok=True) + + logger.debug(f"Copying package files from {source_path} to {dest_path}") + shutil.copy(source_path / "package.json", dest_path / "package.json") + shutil.copy(source_path / "package-lock.json", dest_path / "package-lock.json") + + logger.debug("`npm ci` to download") + run_cmd(["npm", "ci"], cwd=dest_path) + + logger.debug("All JS tools installed") + return ContentDir(str(dest_path / "node_modules")) + + +@task(namespace="mkcd2app") +def warm_npm_cache_for_templates(templates: ContentDir) -> ContentDir: + """ + For every template in the templates directory, copy them to a temporary directory, + run `npm ci --cache CACHE_DIR --prefer-online` where CACHE_DIR + + :param templates: The ContentDir pointing to the directory containing the templates. + :return: A ContentDir pointing to node_modules, to ensure redun sees that this task + has something that depends on its results. + """ + logger.info("Warming npm cache for templates") + + source_path = Path(templates.path) + cache_path = get_templates_npm_cache_dir() + cache_path.mkdir(parents=True, exist_ok=True) + + logger.debug(f"Looking for templates in {source_path}") + + all_templates = list(source_path.iterdir()) + logger.debug(f"Found {len(all_templates)} templates") + + for template in all_templates: + logger.debug(f"Caching packages for template {template.name}") + with TemporaryDirectory() as tmp_dir: + tmp_dir_path = Path(tmp_dir) + logger.debug(f"Copying {template} to {tmp_dir_path}") + shutil.copytree(template, tmp_dir_path, dirs_exist_ok=True) + logger.debug("Caching npm packages") + run_cmd( + ["npm", "ci", "--cache", str(cache_path), "--prefer-online"], + cwd=tmp_dir_path, + ) + + logger.debug(f"npm cache filled at {cache_path}") + return ContentDir(str(cache_path)) + + +@task(namespace="mkcd2app") +def install_toolchain() -> tuple[ContentDir, ContentDir]: + """ + Install the toolchain for this mkcd2app version. + """ + logger.info("Installing toolchain") + + with ExitStack() as stack: + js_tools_path = stack.enter_context(get_js_tools_path()) + templates_path = stack.enter_context(get_template_path()) + + # `npm ci` the necessary tools (`mkc` CLI itself) + js_tools_node_modules = install_js_tools(ContentDir(str(js_tools_path))) + # `npm ci --cache CACHE_DIR --prefer-online` for all templates + templates_npm_cache = warm_npm_cache_for_templates( + ContentDir(str(templates_path)) + ) + + return js_tools_node_modules, templates_npm_cache diff --git a/src/mkcd2app/utils/filesystem.py b/src/mkcd2app/utils/filesystem.py new file mode 100644 index 0000000..f0d6ab8 --- /dev/null +++ b/src/mkcd2app/utils/filesystem.py @@ -0,0 +1,27 @@ +import os +import shutil +import stat +from pathlib import Path +from types import TracebackType +from typing import Any + + +def _remove_readonly( + func: Any, + path: str, + exc_info: tuple[type[BaseException], BaseException, TracebackType], +) -> None: + """shutil.rmtree error handler: clear read-only bit and retry. + + Needed on Windows because git marks files under .git/objects (and + sometimes .git itself) read-only, which makes os.unlink/os.rmdir + raise PermissionError (WinError 5) even though we own the files. + """ + os.chmod(path, stat.S_IWRITE) + func(path) + + +def rmtree_robust(path: Path) -> None: + if not path.exists(): + return + shutil.rmtree(path, onerror=_remove_readonly) diff --git a/src/mkcd2app/utils/paths.py b/src/mkcd2app/utils/paths.py index f0d6ab8..cff83c9 100644 --- a/src/mkcd2app/utils/paths.py +++ b/src/mkcd2app/utils/paths.py @@ -1,27 +1,35 @@ -import os -import shutil -import stat +from importlib.metadata import version from pathlib import Path -from types import TracebackType -from typing import Any +from platformdirs import PlatformDirs -def _remove_readonly( - func: Any, - path: str, - exc_info: tuple[type[BaseException], BaseException, TracebackType], -) -> None: - """shutil.rmtree error handler: clear read-only bit and retry. - Needed on Windows because git marks files under .git/objects (and - sometimes .git itself) read-only, which makes os.unlink/os.rmdir - raise PermissionError (WinError 5) even though we own the files. - """ - os.chmod(path, stat.S_IWRITE) - func(path) +def get_mkcd2app_version() -> str: + return version("mkcd2app") -def rmtree_robust(path: Path) -> None: - if not path.exists(): - return - shutil.rmtree(path, onerror=_remove_readonly) +DIRS = PlatformDirs("mkcd2app", appauthor=False) + + +def get_user_data_dir() -> Path: + return Path(DIRS.user_data_dir) / get_mkcd2app_version() + + +def get_user_state_dir() -> Path: + return Path(DIRS.user_state_dir) / get_mkcd2app_version() + + +def get_toolchain_dir() -> Path: + return get_user_data_dir() / "toolchain" + + +def get_redun_db_for_toolchain_path() -> Path: + return get_user_state_dir() / "redun_db_for_toolchain.sqlite3" + + +def get_js_tools_dir() -> Path: + return get_toolchain_dir() / "js_tools" + + +def get_templates_npm_cache_dir() -> Path: + return get_toolchain_dir() / "templates_npm_cache" diff --git a/src/mkcd2app/utils/resources.py b/src/mkcd2app/utils/resources.py index 20150ce..d931ad0 100644 --- a/src/mkcd2app/utils/resources.py +++ b/src/mkcd2app/utils/resources.py @@ -5,8 +5,10 @@ @contextmanager -def get_template_path(name: str) -> Iterator[Path]: - ref = files("mkcd2app").joinpath("resources", "templates", name) +def get_template_path(name: str | None = None) -> Iterator[Path]: + ref = files("mkcd2app").joinpath("resources", "templates") + if name: + ref.joinpath(name) with as_file(ref) as path: yield path diff --git a/src/mkcd2app/utils/run_redun_task.py b/src/mkcd2app/utils/run_redun_task.py new file mode 100644 index 0000000..af3b0c3 --- /dev/null +++ b/src/mkcd2app/utils/run_redun_task.py @@ -0,0 +1,27 @@ +import logging +from pathlib import Path + +import redun +from redun import Scheduler +from redun.expression import Expression, Result + +from mkcd2app.utils.logger import create_logger + +logger = create_logger(name=__name__, level=logging.INFO) + + +def run_redun_task(expr: Expression[Result] | Result, redun_db_path: Path) -> Result: + redun_db_path.parent.mkdir(parents=True, exist_ok=True) + db_uri = f"sqlite:///{redun_db_path.resolve()}" + logger.debug(f"redun cache DB: {db_uri}") + # noinspection PyUnresolvedReferences + redun_config = redun.config.Config( + { + "scheduler": {"log_level": "DEBUG"}, + "backend": {"db_uri": db_uri}, + } + ) + scheduler = Scheduler(config=redun_config) + scheduler.load() + # TODO: don't forget to remove cache=False after done testing + return scheduler.run(expr, cache=False) diff --git a/uv.lock b/uv.lock index 60dbc3c..3212d6e 100644 --- a/uv.lock +++ b/uv.lock @@ -574,6 +574,7 @@ source = { editable = "." } dependencies = [ { name = "beautifulsoup4" }, { name = "pillow" }, + { name = "platformdirs" }, { name = "pydantic" }, { name = "pyyaml" }, { name = "redun" }, @@ -594,6 +595,7 @@ dev = [ requires-dist = [ { name = "beautifulsoup4" }, { name = "pillow" }, + { name = "platformdirs", specifier = ">=4.11.0" }, { name = "pydantic" }, { name = "pyyaml" }, { name = "redun", specifier = "==0.44.1" }, From 00e291ff8c9a6163418c3d2e481b7edf37f3ae1f Mon Sep 17 00:00:00 2001 From: Cyrus Yiu Date: Mon, 3 Aug 2026 18:12:23 -0400 Subject: [PATCH 04/46] Target install command --- src/mkcd2app/build_project/__init__.py | 11 +- src/mkcd2app/build_project/inputs/code.py | 14 +- src/mkcd2app/config/__init__.py | 2 +- src/mkcd2app/main.py | 27 +++- src/mkcd2app/models/__init__.py | 0 .../{config/model.py => models/config.py} | 0 src/mkcd2app/models/metadata.py | 19 +++ .../resources/empty_project/README.md | 1 + .../resources/empty_project/assets.json | 0 src/mkcd2app/resources/empty_project/main.ts | 1 + src/mkcd2app/resources/empty_project/pxt.json | 12 ++ src/mkcd2app/target/__init__.py | 0 src/mkcd2app/target/install.py | 148 ++++++++++++++++++ src/mkcd2app/toolchains/install.py | 12 +- src/mkcd2app/utils/paths.py | 22 +++ src/mkcd2app/utils/resources.py | 11 +- src/mkcd2app/utils/run.py | 9 +- src/mkcd2app/utils/text.py | 39 +++++ 18 files changed, 302 insertions(+), 26 deletions(-) create mode 100644 src/mkcd2app/models/__init__.py rename src/mkcd2app/{config/model.py => models/config.py} (100%) create mode 100644 src/mkcd2app/models/metadata.py create mode 100644 src/mkcd2app/resources/empty_project/README.md create mode 100644 src/mkcd2app/resources/empty_project/assets.json create mode 100644 src/mkcd2app/resources/empty_project/main.ts create mode 100644 src/mkcd2app/resources/empty_project/pxt.json create mode 100644 src/mkcd2app/target/__init__.py create mode 100644 src/mkcd2app/target/install.py create mode 100644 src/mkcd2app/utils/text.py diff --git a/src/mkcd2app/build_project/__init__.py b/src/mkcd2app/build_project/__init__.py index 84c0c52..9db3754 100644 --- a/src/mkcd2app/build_project/__init__.py +++ b/src/mkcd2app/build_project/__init__.py @@ -19,9 +19,12 @@ install_deps_and_build_website_singlefile, ) from mkcd2app.config import load_config_from_yaml -from mkcd2app.config.model import StaticOutput, StaticSinglefileOutput +from mkcd2app.models.config import StaticOutput, StaticSinglefileOutput from mkcd2app.utils.logger import create_logger -from mkcd2app.utils.resources import get_js_tools_path, get_template_path +from mkcd2app.utils.resources import ( + get_resource_js_tools_path, + get_resource_template_path, +) from mkcd2app.utils.run import run_cmd logger = create_logger(name=__name__, level=logging.INFO) @@ -79,10 +82,10 @@ def build_project(config_yaml: str) -> BuildProjectResult: build_dir.mkdir(parents=True, exist_ok=True) with ExitStack() as stack: - js_tools_path = stack.enter_context(get_js_tools_path()) + js_tools_path = stack.enter_context(get_resource_js_tools_path()) js_tools_content = ContentDir(str(js_tools_path)) - template_path = stack.enter_context(get_template_path("vite-project")) + template_path = stack.enter_context(get_resource_template_path("vite-project")) template_content = ContentDir(str(template_path)) # Install `mkc` with `npm ci` in build dir diff --git a/src/mkcd2app/build_project/inputs/code.py b/src/mkcd2app/build_project/inputs/code.py index c94907c..b158001 100644 --- a/src/mkcd2app/build_project/inputs/code.py +++ b/src/mkcd2app/build_project/inputs/code.py @@ -10,7 +10,7 @@ from redun.file import ContentDir, ContentFile from mkcd2app.config import load_config_from_yaml -from mkcd2app.config.model import ( +from mkcd2app.models.config import ( GitHubCodeSource, PathAssetSource, PathCodeSource, @@ -173,15 +173,15 @@ def download_and_mod_supporting_files(config_yaml: str) -> ContentDir: if config.inputs.assets.icon: match config.inputs.assets.icon.root: - case UrlAssetSource(value=url): # type: ignore[misc] - logger.debug(f"Downloading icon from {url}") - res = requests.get(str(url)) + case UrlAssetSource(value=icon_url): + logger.debug(f"Downloading icon from {icon_url}") + res = requests.get(str(icon_url)) res.raise_for_status() buffer = BytesIO(res.content) im = Image.open(buffer) - case PathAssetSource(value=path): # type: ignore[misc] - logger.debug(f"Opening icon from {path}") - im = Image.open(path) + case PathAssetSource(value=icon_path): + logger.debug(f"Opening icon from {icon_path}") + im = Image.open(icon_path) favicon_path = support_path / "favicon.ico" logger.debug(f"Saving favicon to {favicon_path}") im.save(favicon_path) diff --git a/src/mkcd2app/config/__init__.py b/src/mkcd2app/config/__init__.py index 8f1d4c4..d5cbc40 100644 --- a/src/mkcd2app/config/__init__.py +++ b/src/mkcd2app/config/__init__.py @@ -2,7 +2,7 @@ import yaml -from mkcd2app.config.model import BuildConfig +from mkcd2app.models.config import BuildConfig from mkcd2app.utils.logger import create_logger logger = create_logger(name=__name__, level=logging.INFO) diff --git a/src/mkcd2app/main.py b/src/mkcd2app/main.py index 737d5d0..1814a53 100644 --- a/src/mkcd2app/main.py +++ b/src/mkcd2app/main.py @@ -2,10 +2,15 @@ from pathlib import Path from mkcd2app.cli import generate_and_parse_args +from mkcd2app.target.install import install_target from mkcd2app.toolchains.install import install_toolchain from mkcd2app.utils.logger import create_logger, set_all_stdout_logger_levels -from mkcd2app.utils.paths import get_redun_db_for_toolchain_path +from mkcd2app.utils.paths import ( + get_redun_db_for_target_path, + get_redun_db_for_toolchain_path, +) from mkcd2app.utils.run_redun_task import run_redun_task +from mkcd2app.utils.text import raise_for_invalid_strict_semver logger = create_logger(name=__name__, level=logging.INFO) @@ -20,11 +25,11 @@ def main() -> None: if args.command == "toolchain": if args.toolchain_command == "install": logger.debug("Installing MakeCode CLI toolchain") - run_redun_task( expr=install_toolchain(), redun_db_path=get_redun_db_for_toolchain_path(), ) + logger.debug("Toolchain installed") elif args.toolchain_command == "status": logger.debug("Checking MakeCode CLI toolchain status") @@ -32,15 +37,23 @@ def main() -> None: logger.debug("Uninstalling MakeCode CLI toolchain") elif args.command == "target": if args.target_command == "install": - installVersion: str = args.version - logger.debug(f"Installing MakeCode CLI target version {installVersion}") - + install_version: str = args.version + raise_for_invalid_strict_semver(install_version) + logger.debug(f"Installing MakeCode CLI target version {install_version}") + run_redun_task( + expr=install_target(install_version), + redun_db_path=get_redun_db_for_target_path(), + ) + logger.debug(f"Target {install_version} installed") elif args.target_command == "list": logger.debug("Listing MakeCode CLI target") elif args.target_command == "uninstall": - uninstallVersion: str = args.version - logger.debug(f"Uninstalling MakeCode CLI target version {uninstallVersion}") + uninstall_version: str = args.version + raise_for_invalid_strict_semver(uninstall_version) + logger.debug( + f"Uninstalling MakeCode CLI target version {uninstall_version}" + ) elif args.command == "build": config_path = Path(args.config) diff --git a/src/mkcd2app/models/__init__.py b/src/mkcd2app/models/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/mkcd2app/config/model.py b/src/mkcd2app/models/config.py similarity index 100% rename from src/mkcd2app/config/model.py rename to src/mkcd2app/models/config.py diff --git a/src/mkcd2app/models/metadata.py b/src/mkcd2app/models/metadata.py new file mode 100644 index 0000000..85c4d97 --- /dev/null +++ b/src/mkcd2app/models/metadata.py @@ -0,0 +1,19 @@ +from pydantic import BaseModel, Field, HttpUrl + + +# { +# "simUrl":"https://trg-arcade.userpxt.io/---simulator", +# "cdnUrl":"https://cdn.makecode.com", +# "version":"v0.0.0", +# "target":"arcade", +# "targetVersion":"4.0.14" +# } +class BinaryJSMetadata(BaseModel): + simUrl: HttpUrl = Field(..., description="Simulator URL") + cdnUrl: HttpUrl = Field(..., description="CDN base URL") + version: str = Field(..., description="Package version") + target: str = Field(..., description="Build target name") + targetVersion: str = Field(..., description="Target version string") + + class Config: + extra = "forbid" diff --git a/src/mkcd2app/resources/empty_project/README.md b/src/mkcd2app/resources/empty_project/README.md new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/src/mkcd2app/resources/empty_project/README.md @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/mkcd2app/resources/empty_project/assets.json b/src/mkcd2app/resources/empty_project/assets.json new file mode 100644 index 0000000..e69de29 diff --git a/src/mkcd2app/resources/empty_project/main.ts b/src/mkcd2app/resources/empty_project/main.ts new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/mkcd2app/resources/empty_project/main.ts @@ -0,0 +1 @@ + diff --git a/src/mkcd2app/resources/empty_project/pxt.json b/src/mkcd2app/resources/empty_project/pxt.json new file mode 100644 index 0000000..782e85f --- /dev/null +++ b/src/mkcd2app/resources/empty_project/pxt.json @@ -0,0 +1,12 @@ +{ + "name": "empty_project", + "description": "", + "dependencies": { + "device": "*" + }, + "files": [ + "main.ts", + "README.md", + "assets.json" + ] +} diff --git a/src/mkcd2app/target/__init__.py b/src/mkcd2app/target/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/mkcd2app/target/install.py b/src/mkcd2app/target/install.py new file mode 100644 index 0000000..df40b40 --- /dev/null +++ b/src/mkcd2app/target/install.py @@ -0,0 +1,148 @@ +import json +import logging +import shutil +from contextlib import ExitStack +from pathlib import Path +from tempfile import TemporaryDirectory + +import requests +from bs4 import BeautifulSoup +from redun import task +from redun.file import ContentDir, ContentFile + +from mkcd2app.models.metadata import BinaryJSMetadata +from mkcd2app.utils.logger import create_logger +from mkcd2app.utils.paths import ( + get_js_tools_bin_dir, + get_sim_html_path, +) +from mkcd2app.utils.resources import get_resource_empty_project_path +from mkcd2app.utils.run import run_cmd +from mkcd2app.utils.text import extract_meta_comment + +logger = create_logger(name=__name__, level=logging.INFO) + + +@task(namespace="mkcd2app") +def warm_mkc_cache_for_version_and_get_binary_js_metadata( + empty_prj: ContentDir, version: str +) -> str: + """ + Warm the mkc compiler cache by building an empty project for the target MakeCode + Arcade version in a temporary directory. + + :param empty_prj: The ContentDir pointing to the directory containing the empty + MakeCode Arcade project. + :param version: The MakeCode Arcade version to target. E.g., "4.0.14". Must be + explicit 3 num sem ver, not just like "4.0" or "4", and do not include a "v". + :return: A BinaryJSMetadata model dumped to a JSON string. + """ + logger.info(f"Warming mkc compiler cache for MakeCode Arcade version {version}") + + empty_prj_path = Path(empty_prj.path) + + with TemporaryDirectory() as tmp_dir: + tmp_dir_path = Path(tmp_dir) + + logger.debug(f"Copying {empty_prj_path} to {tmp_dir_path}") + shutil.copytree(empty_prj_path, tmp_dir_path, dirs_exist_ok=True) + + mkc_json_path = tmp_dir_path / "mkc.json" + logger.debug("Writing mkc.json") + mkc_json = {"targetWebsite": f"https://arcade.makecode.com/v{version}"} + mkc_json_path.write_text(json.dumps(mkc_json)) + + logger.debug("Running build to warm cache") + run_cmd( + ["mkc", "build", "-j"], cwd=tmp_dir_path, which_path=get_js_tools_bin_dir() + ) + + binary_js_path = tmp_dir_path / "built" / "binary.js" + logger.debug(f"binary.js available at {binary_js_path}") + + logger.debug("Finished mkc cache warming, extracting binary.js metadata") + metadata = extract_meta_comment(binary_js_path) + logger.debug(f"{metadata=}") + return metadata.model_dump_json() + + +@task(namespace="mkcd2app") +def download_sim(bin_js_metadata: str, version: str) -> ContentFile: + """ + Download the simulator HTML and the supporting files needed to run binary.js for the + website. + + :param bin_js_metadata: The binary JS metadata JSON as a string. + :param version: The MakeCode Arcade version to target. E.g., "4.0.14". Must be + explicit 3 num sem ver, not just like "4.0" or "4", and do not include a "v". + :return: A ContentFile that points to the ---simulator.html. + """ + metadata = BinaryJSMetadata.model_validate_json(bin_js_metadata) + logger.info( + f"Downloading simulator for MakeCode Arcade version {metadata.targetVersion}" + ) + + logger.debug(f"Downloading main simulator file from {metadata.simUrl}") + res = requests.get(str(metadata.simUrl)) + res.raise_for_status() + sim_html = res.text + + logger.debug( + f"Analyzing sim HTML ({len(sim_html)} chars) for required CSS and JS files" + ) + soup = BeautifulSoup(sim_html, features="html.parser") + css_links = soup.find_all("link", rel="stylesheet") + js_scripts = soup.find_all("script") + logger.debug(f"Found {len(css_links)} CSS links and {len(js_scripts)} JS scripts") + for css in css_links: + url = css.get("href") + if url: + logger.debug(f"Downloading CSS file {url}") + res = requests.get(str(url)) + res.raise_for_status() + style_tag = soup.new_tag("style") + style_tag.string = res.text + css.replace_with(style_tag) + logger.debug(f"Inlined CSS from {url}") + for js in js_scripts: + url = js.get("src") + if url: + logger.debug(f"Downloading JS file {url}") + res = requests.get(str(url)) + res.raise_for_status() + js.string = res.text + del js["src"] + logger.debug(f"Inlined JS from {url}") + new_sim_html = soup.prettify(formatter="html5") + + path = get_sim_html_path(version) + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(new_sim_html) + + logger.debug(f"Wrote simulator HTML to {path}") + + return ContentFile(str(path)) + + +@task(namespace="mkcd2app") +def install_target(version: str) -> ContentFile: + """ + Install a MakeCode Arcade target version for this mkcd2app version. + + :param version: The MakeCode Arcade version to target. E.g., "4.0.14". Must be + explicit 3 num sem ver, not just like "4.0" or "4", and do not include a "v". + :return: A ContentFile that points to the ---simulator.html for the installed version. + """ + logger.info(f"Installing MakeCode Arcade target version {version}") + + with ExitStack() as stack: + empty_prj_path = stack.enter_context(get_resource_empty_project_path()) + + # `mkc build -j` an empty project with the correct version + metadata = warm_mkc_cache_for_version_and_get_binary_js_metadata( + ContentDir(str(empty_prj_path)), version + ) + # Download ---simulator.html and supporting files, mod into single HTML file + sim_html = download_sim(metadata, version) + + return sim_html diff --git a/src/mkcd2app/toolchains/install.py b/src/mkcd2app/toolchains/install.py index a22ed51..2454c29 100644 --- a/src/mkcd2app/toolchains/install.py +++ b/src/mkcd2app/toolchains/install.py @@ -9,7 +9,10 @@ from mkcd2app.utils.logger import create_logger from mkcd2app.utils.paths import get_js_tools_dir, get_templates_npm_cache_dir -from mkcd2app.utils.resources import get_js_tools_path, get_template_path +from mkcd2app.utils.resources import ( + get_resource_js_tools_path, + get_resource_template_path, +) from mkcd2app.utils.run import run_cmd logger = create_logger(name=__name__, level=logging.INFO) @@ -69,6 +72,7 @@ def warm_npm_cache_for_templates(templates: ContentDir) -> ContentDir: tmp_dir_path = Path(tmp_dir) logger.debug(f"Copying {template} to {tmp_dir_path}") shutil.copytree(template, tmp_dir_path, dirs_exist_ok=True) + logger.debug("Caching npm packages") run_cmd( ["npm", "ci", "--cache", str(cache_path), "--prefer-online"], @@ -83,12 +87,14 @@ def warm_npm_cache_for_templates(templates: ContentDir) -> ContentDir: def install_toolchain() -> tuple[ContentDir, ContentDir]: """ Install the toolchain for this mkcd2app version. + :return: A tuple of two ContentDirs, where the first one is the node_modules folder + for the JS tools, and the other one is the cache directory for the templates. """ logger.info("Installing toolchain") with ExitStack() as stack: - js_tools_path = stack.enter_context(get_js_tools_path()) - templates_path = stack.enter_context(get_template_path()) + js_tools_path = stack.enter_context(get_resource_js_tools_path()) + templates_path = stack.enter_context(get_resource_template_path()) # `npm ci` the necessary tools (`mkc` CLI itself) js_tools_node_modules = install_js_tools(ContentDir(str(js_tools_path))) diff --git a/src/mkcd2app/utils/paths.py b/src/mkcd2app/utils/paths.py index cff83c9..6a86e41 100644 --- a/src/mkcd2app/utils/paths.py +++ b/src/mkcd2app/utils/paths.py @@ -19,6 +19,9 @@ def get_user_state_dir() -> Path: return Path(DIRS.user_state_dir) / get_mkcd2app_version() +# Toolchain stuff + + def get_toolchain_dir() -> Path: return get_user_data_dir() / "toolchain" @@ -31,5 +34,24 @@ def get_js_tools_dir() -> Path: return get_toolchain_dir() / "js_tools" +def get_js_tools_bin_dir() -> Path: + return get_js_tools_dir() / "node_modules" / ".bin" + + def get_templates_npm_cache_dir() -> Path: return get_toolchain_dir() / "templates_npm_cache" + + +# Target stuff + + +def get_target_dir() -> Path: + return get_user_data_dir() / "target" + + +def get_redun_db_for_target_path() -> Path: + return get_user_state_dir() / "redun_db_for_target.sqlite3" + + +def get_sim_html_path(v: str) -> Path: + return get_target_dir() / v / "---simulator.html" diff --git a/src/mkcd2app/utils/resources.py b/src/mkcd2app/utils/resources.py index d931ad0..aff6db0 100644 --- a/src/mkcd2app/utils/resources.py +++ b/src/mkcd2app/utils/resources.py @@ -5,7 +5,7 @@ @contextmanager -def get_template_path(name: str | None = None) -> Iterator[Path]: +def get_resource_template_path(name: str | None = None) -> Iterator[Path]: ref = files("mkcd2app").joinpath("resources", "templates") if name: ref.joinpath(name) @@ -14,7 +14,14 @@ def get_template_path(name: str | None = None) -> Iterator[Path]: @contextmanager -def get_js_tools_path() -> Iterator[Path]: +def get_resource_js_tools_path() -> Iterator[Path]: ref = files("mkcd2app").joinpath("resources", "js_tools") with as_file(ref) as path: yield path + + +@contextmanager +def get_resource_empty_project_path() -> Iterator[Path]: + ref = files("mkcd2app").joinpath("resources", "empty_project") + with as_file(ref) as path: + yield path diff --git a/src/mkcd2app/utils/run.py b/src/mkcd2app/utils/run.py index 08721cb..5bd4b5c 100644 --- a/src/mkcd2app/utils/run.py +++ b/src/mkcd2app/utils/run.py @@ -22,7 +22,11 @@ def __init__( super().__init__(f"{command} failed ({return_code}) in {cwd}") -def run_cmd(command: list[str], cwd: Path | str) -> str: +def run_cmd( + command: list[str], + cwd: Path | str, + which_path: str | os.PathLike[str] | None = None, +) -> str: """ Runs a command (as a list, no shell) and captures its output. @@ -32,11 +36,12 @@ def run_cmd(command: list[str], cwd: Path | str) -> str: :param command: The command as a list of arguments, e.g. ``["npm", "ci"]``. :param cwd: The working directory to execute the command in. + :param which_path: The path to pass to shutil.which, to search for the binary. :return: The stdout. :raises BuildError: If the command fails. :raises FileNotFoundError: If the executable cannot be found on PATH. """ - resolved = shutil.which(command[0]) + resolved = shutil.which(command[0], path=which_path) if resolved is None: raise FileNotFoundError( f"Executable '{command[0]}' not found on PATH. " diff --git a/src/mkcd2app/utils/text.py b/src/mkcd2app/utils/text.py new file mode 100644 index 0000000..48f1a77 --- /dev/null +++ b/src/mkcd2app/utils/text.py @@ -0,0 +1,39 @@ +import re +from pathlib import Path + +from mkcd2app.models.metadata import BinaryJSMetadata + + +def extract_meta_comment(file_path: Path) -> BinaryJSMetadata: + """ + Extracts the // meta={} data from the binary.js file. + + :param file_path: Path to the binary.js + :return: The metadata (a BinaryJSMetadata) + :raises ValueError: If the meta comment is not found in file. + """ + with file_path.open("rt") as f: + for line in f: + line = line.strip() + if line.startswith("// meta="): + # Extract everything after '// meta=' + json_str = line.split("// meta=", 1)[1] + return BinaryJSMetadata.model_validate_json(json_str) + + raise ValueError("Meta comment not found in file.") + + +# Thanks Gemini +STRICT_NUMERIC_SEMVER = re.compile(r"^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$") + + +def is_strict_semver(version: str) -> bool: + """Validates string using official SemVer 2.0.0 regex pattern.""" + return bool(STRICT_NUMERIC_SEMVER.match(version)) + + +def raise_for_invalid_strict_semver(version: str) -> None: + if not is_strict_semver(version): + raise ValueError( + f"Version '{version}' is not a valid strict numeric semver (e.g., 1.2.3)." + ) From 3d03118e6ec060a52536130a234e8756ccf833d2 Mon Sep 17 00:00:00 2001 From: Cyrus Yiu Date: Mon, 3 Aug 2026 20:10:50 -0400 Subject: [PATCH 05/46] Fix build command to use toolchain/targets --- examples/Racers offline.yaml | 58 +++++++++++++++++++ examples/Racers.yaml | 7 +++ src/mkcd2app/build_project/__init__.py | 25 +++----- src/mkcd2app/build_project/inputs/code.py | 66 +++++++--------------- src/mkcd2app/main.py | 69 ++++++++++------------- src/mkcd2app/models/config.py | 1 + 6 files changed, 123 insertions(+), 103 deletions(-) create mode 100644 examples/Racers offline.yaml diff --git a/examples/Racers offline.yaml b/examples/Racers offline.yaml new file mode 100644 index 0000000..e5de0f2 --- /dev/null +++ b/examples/Racers offline.yaml @@ -0,0 +1,58 @@ +# Example configuration file for MakeCode Arcade to App to compile to static +# HTML, CSS, and JS files + +# Config version (single number, incremented if breaking change to schema is +# made) +version: 1 + +project: + name: Racers + path_friendly_name: racers + description: "Enjoy the high-speed thrills of car racing in MakeCode Arcade! + For the MakeCode Arcade Mini Game Jam #3." + author: Cyrus Yiu + version: 1.3.2 + # This is what the window title will be + # This will also be used for the executable file name for Electron outputs + # You can use {NAME} or {VERSION} or {AUTHOR} to substitute the correct + # values + title: "{NAME} v{VERSION}" + +inputs: + # Can be share_link, github, or path + code: + type: path + value: "E:/Racers" + + assets: + # Icon is optional but highly recommended, it will be used as the favicon + # and app icon + icon: + type: path + value: "E:/Racers/Racers icon.png" + +# Path where the build process will take place +build_dir: "./examples/Racers-offline-build" + +# The MakeCode Arcade version to target +# Must be explicit 3 number sem ver, do not add a "v" at the beginning +# To find it, go to https://arcade.makecode.com/ and click on the settings +# cogwheel button, click About..., and see "arcade version: x.y.z" +# As of the time of writing this, the latest version is 4.0.14 +target: 2.0.48 + +# You can have multiple outputs +# Currently available options are static, static-singlefile, electron, and +# tauri +outputs: + - type: static + - type: static-singlefile +# - type: electron +# window: +# width: 640 +# height: 480 +# - type: tauri +# identifier: com.unsignedarduino.racers +# window: +# width: 640 +# height: 480 diff --git a/examples/Racers.yaml b/examples/Racers.yaml index 841ee2d..210e28f 100644 --- a/examples/Racers.yaml +++ b/examples/Racers.yaml @@ -48,6 +48,13 @@ inputs: # Path where the build process will take place build_dir: "./examples/Racers-build" +# The MakeCode Arcade version to target +# Must be explicit 3 number sem ver, do not add a "v" at the beginning +# To find it, go to https://arcade.makecode.com/ and click on the settings +# cogwheel button, click About..., and see "arcade version: x.y.z" +# As of the time of writing this, the latest version is 4.0.14 +target: 4.0.14 + # You can have multiple outputs # Currently available options are static, static-singlefile, electron, and # tauri diff --git a/src/mkcd2app/build_project/__init__.py b/src/mkcd2app/build_project/__init__.py index 9db3754..ed5b9c9 100644 --- a/src/mkcd2app/build_project/__init__.py +++ b/src/mkcd2app/build_project/__init__.py @@ -9,7 +9,7 @@ from mkcd2app.build_project.inputs.code import ( build_binary_js, - download_and_mod_supporting_files, + copy_support_files, fetch_code, ) from mkcd2app.build_project.website import ( @@ -21,10 +21,7 @@ from mkcd2app.config import load_config_from_yaml from mkcd2app.models.config import StaticOutput, StaticSinglefileOutput from mkcd2app.utils.logger import create_logger -from mkcd2app.utils.resources import ( - get_resource_js_tools_path, - get_resource_template_path, -) +from mkcd2app.utils.resources import get_resource_template_path from mkcd2app.utils.run import run_cmd logger = create_logger(name=__name__, level=logging.INFO) @@ -82,22 +79,15 @@ def build_project(config_yaml: str) -> BuildProjectResult: build_dir.mkdir(parents=True, exist_ok=True) with ExitStack() as stack: - js_tools_path = stack.enter_context(get_resource_js_tools_path()) - js_tools_content = ContentDir(str(js_tools_path)) - template_path = stack.enter_context(get_resource_template_path("vite-project")) - template_content = ContentDir(str(template_path)) + template_content = ContentDir(str(template_path / "vite-project")) - # Install `mkc` with `npm ci` in build dir - node_modules_for_mkc = install_mkcd_build_tools(config_yaml, js_tools_content) # Fetch game source code with `mkc`, `git`, or copy from disk - code_path = fetch_code(config_yaml, node_modules_for_mkc) + code_path = fetch_code(config_yaml) # Build binary.js with `mkc` bin_js_path = build_binary_js(config_yaml, code_path) - # Download supporting files to run binary.js, including ---simulator.html and all - # it's references, and get favicon.ico if present - support_path = download_and_mod_supporting_files(config_yaml) - + # Copy ---simulator.html from target dir and get favicon.ico if present + support_path = copy_support_files(config_yaml) # Copy website template (clean copy with template files only) website_path = copy_website_template(config_yaml, template_content) # Copy + fill (separate dir so stages don't mutate each other's @@ -107,7 +97,8 @@ def build_project(config_yaml: str) -> BuildProjectResult: ) results = BuildProjectResult() - + # Build the website outputs + # Electron and Tauri outputs depend on static_singlefile so redun figures it out logger.debug(f"{config.outputs=}") for output in config.outputs: match output.root: diff --git a/src/mkcd2app/build_project/inputs/code.py b/src/mkcd2app/build_project/inputs/code.py index b158001..9759623 100644 --- a/src/mkcd2app/build_project/inputs/code.py +++ b/src/mkcd2app/build_project/inputs/code.py @@ -4,7 +4,6 @@ from pathlib import Path import requests -from bs4 import BeautifulSoup from PIL import Image from redun import task from redun.file import ContentDir, ContentFile @@ -19,13 +18,14 @@ ) from mkcd2app.utils.filesystem import rmtree_robust from mkcd2app.utils.logger import create_logger +from mkcd2app.utils.paths import get_js_tools_bin_dir, get_sim_html_path from mkcd2app.utils.run import run_cmd logger = create_logger(name=__name__, level=logging.INFO) @task(namespace="mkcd2app") -def fetch_code(config_yaml: str, node_modules_for_mkc: ContentDir) -> ContentDir: +def fetch_code(config_yaml: str) -> ContentDir: """ Download/clone/copy the source code to the build directory. @@ -33,8 +33,6 @@ def fetch_code(config_yaml: str, node_modules_for_mkc: ContentDir) -> ContentDir Example output: ./racers-source :param config_yaml: The raw YAML text of the config file. - :param node_modules_for_mkc: redun.ContentDir that points to the node_modules - directory, this ensures that this task depends on `mkc` being installed. :return: A redun.ContentDir that points to the source code. """ config = load_config_from_yaml(config_yaml) @@ -48,10 +46,13 @@ def fetch_code(config_yaml: str, node_modules_for_mkc: ContentDir) -> ContentDir match config.inputs.code.root: case ShareLinkCodeSource(value=url): - logger.debug(f"Downloading source code from {url}") + logger.debug(f"Downloading source code from {url} with `mkc` CLI") code_path.mkdir(parents=True) - logger.debug(f"Using `mkc` from {node_modules_for_mkc}") - run_cmd(["npx", "mkc", "download", str(url)], cwd=code_path) + run_cmd( + ["mkc", "download", str(url)], + cwd=code_path, + which_path=get_js_tools_bin_dir(), + ) case GitHubCodeSource(value=url, checkout=checkout_target): logger.debug(f"Cloning source code from {url}@{checkout_target}") abs_code_path = code_path.resolve() @@ -94,7 +95,11 @@ def build_binary_js(config_yaml: str, code_path: ContentDir) -> ContentFile: cwd = Path(code_path.path) logger.debug(f"Building in cwd {cwd}") - run_cmd(["npx", "mkc", "build", "-j"], cwd=cwd) + run_cmd( + ["mkc", "build", "-j"], + cwd=cwd, + which_path=get_js_tools_bin_dir(), + ) bin_js_path = cwd / "built" / "binary.js" logger.debug(f"binary.js available at {bin_js_path}") @@ -112,7 +117,7 @@ def build_binary_js(config_yaml: str, code_path: ContentDir) -> ContentFile: @task(namespace="mkcd2app") -def download_and_mod_supporting_files(config_yaml: str) -> ContentDir: +def copy_support_files(config_yaml: str) -> ContentDir: """ Download and modify all supporting files needed to run binary.js for the website @@ -128,48 +133,17 @@ def download_and_mod_supporting_files(config_yaml: str) -> ContentDir: Path(config.build_dir) / f"{config.project.path_friendly_name}-binary-js-support" ) - logger.info(f"Downloading supporting files to {support_path}") + target = config.target + logger.info( + f"Copying ---simulator.html for MakeCode Arcade {target} to {support_path}" + ) # Clean previous output, not wasteful because redun handles caching if support_path.exists(): shutil.rmtree(support_path) support_path.mkdir(parents=True) - - logger.debug("Downloading main simulator file") - res = requests.get("https://trg-arcade.userpxt.io/---simulator") - res.raise_for_status() - sim_html = res.text - - logger.debug( - f"Analyzing sim HTML ({len(sim_html)} chars) for required CSS and JS files" - ) - soup = BeautifulSoup(sim_html, features="html.parser") - css_links = soup.find_all("link", rel="stylesheet") - js_scripts = soup.find_all("script") - logger.debug(f"Found {len(css_links)} CSS links and {len(js_scripts)} JS scripts") - for css in css_links: - url = css.get("href") - if url: - logger.debug(f"Downloading CSS file {url}") - res = requests.get(str(url)) - res.raise_for_status() - style_tag = soup.new_tag("style") - style_tag.string = res.text - css.replace_with(style_tag) - logger.debug(f"Inlined CSS from {url}") - for js in js_scripts: - url = js.get("src") - if url: - logger.debug(f"Downloading JS file {url}") - res = requests.get(str(url)) - res.raise_for_status() - js.string = res.text - del js["src"] - logger.debug(f"Inlined JS from {url}") - new_sim_html = soup.prettify(formatter="html5") - path = support_path / "---simulator.html" - path.write_text(new_sim_html) - logger.debug(f"Wrote modified simulator HTML to {path}") + # Only one file to copy + shutil.copy(get_sim_html_path(target), support_path) if config.inputs.assets.icon: match config.inputs.assets.icon.root: diff --git a/src/mkcd2app/main.py b/src/mkcd2app/main.py index 1814a53..b9ec9d8 100644 --- a/src/mkcd2app/main.py +++ b/src/mkcd2app/main.py @@ -1,7 +1,10 @@ import logging +import shutil from pathlib import Path +from mkcd2app.build_project import BuildProjectResult, build_project from mkcd2app.cli import generate_and_parse_args +from mkcd2app.config import load_config_from_yaml from mkcd2app.target.install import install_target from mkcd2app.toolchains.install import install_toolchain from mkcd2app.utils.logger import create_logger, set_all_stdout_logger_levels @@ -59,46 +62,32 @@ def main() -> None: config_path = Path(args.config) logger.debug(f"Building project with config {config_path}") - # config_text = config_path.read_text() - # - # # Parse once only to extract build_dir for the redun DB path. - # # The raw YAML text is passed to redun tasks so that argument - # # hashing is deterministic (string) rather than pickle-based - # # (which is non-deterministic due to pydantic's set fields). - # config = load_config_from_yaml(config_text) - # build_dir = Path(config.build_dir) - # - # if args.clear_cache: - # if build_dir.exists(): - # logger.warning(f"Clearing build directory {build_dir}") - # shutil.rmtree(build_dir) - # else: - # logger.debug("Build directory does not exist; nothing to clear") - # - # build_dir.mkdir(parents=True, exist_ok=True) - # db_uri = f"sqlite:///{build_dir.resolve() / '.redun-cache.db'}" - # logger.debug(f"redun cache DB: {db_uri}") - # # noinspection PyUnresolvedReferences - # redun_config = redun.config.Config( - # { - # "scheduler": {"log_level": "DEBUG"}, - # "backend": {"db_uri": db_uri}, - # } - # ) - # scheduler = Scheduler(config=redun_config) - # # Load/migrate the backend so the persistent DB is properly set up. - # # Without this, providing a custom db_uri skips the automatic - # # engine creation and migration that the in-memory default does. - # scheduler.load() - # results: BuildProjectResult = scheduler.run( - # build_project(config_text), - # ) - # if results.static: - # logger.info(f"Static website directory is at {results.static.path}") - # if results.static_singlefile: - # logger.info( - # f"Static single-file HTML is at {results.static_singlefile.path}" - # ) + config_text = config_path.read_text() + + # Parse once only to extract build_dir for the redun DB path. + # The raw YAML text is passed to redun tasks so that argument + # hashing is deterministic (string) rather than pickle-based + # (which is non-deterministic due to pydantic's set fields). + config = load_config_from_yaml(config_text) + build_dir = Path(config.build_dir) + + if args.clear_cache: + if build_dir.exists(): + logger.warning(f"Clearing build directory {build_dir}") + shutil.rmtree(build_dir) + else: + logger.debug("Build directory does not exist; nothing to clear") + + results: BuildProjectResult = run_redun_task( + build_project(config_text), build_dir.resolve() / ".redun-cache.db" + ) + + if results.static: + logger.info(f"Static website directory is at {results.static.path}") + if results.static_singlefile: + logger.info( + f"Static single-file HTML is at {results.static_singlefile.path}" + ) if __name__ == "__main__": diff --git a/src/mkcd2app/models/config.py b/src/mkcd2app/models/config.py index 6e13453..d08a245 100644 --- a/src/mkcd2app/models/config.py +++ b/src/mkcd2app/models/config.py @@ -109,6 +109,7 @@ class BuildConfig(BaseModel): project: Project inputs: Inputs build_dir: str = Field(..., alias="build_dir") + target: str = Field(..., alias="target") outputs: list[OutputOption] class Config: From 22dee24a93d94a65802b12b24efe05eaa8cce9b1 Mon Sep 17 00:00:00 2001 From: Cyrus Yiu Date: Mon, 3 Aug 2026 20:36:39 -0400 Subject: [PATCH 06/46] Toolchain uninstall command --- src/mkcd2app/main.py | 7 +++++++ src/mkcd2app/toolchains/install.py | 5 ++++- src/mkcd2app/toolchains/uninstall.py | 23 +++++++++++++++++++++++ src/mkcd2app/utils/filesystem.py | 2 -- 4 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 src/mkcd2app/toolchains/uninstall.py diff --git a/src/mkcd2app/main.py b/src/mkcd2app/main.py index b9ec9d8..7742406 100644 --- a/src/mkcd2app/main.py +++ b/src/mkcd2app/main.py @@ -7,6 +7,7 @@ from mkcd2app.config import load_config_from_yaml from mkcd2app.target.install import install_target from mkcd2app.toolchains.install import install_toolchain +from mkcd2app.toolchains.uninstall import uninstall_toolchain from mkcd2app.utils.logger import create_logger, set_all_stdout_logger_levels from mkcd2app.utils.paths import ( get_redun_db_for_target_path, @@ -38,6 +39,12 @@ def main() -> None: elif args.toolchain_command == "uninstall": logger.debug("Uninstalling MakeCode CLI toolchain") + # noinspection none-function-assignment + run_redun_task( + expr=uninstall_toolchain(), + redun_db_path=get_redun_db_for_toolchain_path(), + ) + logger.debug("Toolchain uninstalled") elif args.command == "target": if args.target_command == "install": install_version: str = args.version diff --git a/src/mkcd2app/toolchains/install.py b/src/mkcd2app/toolchains/install.py index 2454c29..86415ec 100644 --- a/src/mkcd2app/toolchains/install.py +++ b/src/mkcd2app/toolchains/install.py @@ -8,7 +8,10 @@ from redun.file import ContentDir from mkcd2app.utils.logger import create_logger -from mkcd2app.utils.paths import get_js_tools_dir, get_templates_npm_cache_dir +from mkcd2app.utils.paths import ( + get_js_tools_dir, + get_templates_npm_cache_dir, +) from mkcd2app.utils.resources import ( get_resource_js_tools_path, get_resource_template_path, diff --git a/src/mkcd2app/toolchains/uninstall.py b/src/mkcd2app/toolchains/uninstall.py new file mode 100644 index 0000000..d6b1b62 --- /dev/null +++ b/src/mkcd2app/toolchains/uninstall.py @@ -0,0 +1,23 @@ +import logging + +from redun import task + +from mkcd2app.utils.filesystem import rmtree_robust +from mkcd2app.utils.logger import create_logger +from mkcd2app.utils.paths import get_toolchain_dir + +logger = create_logger(name=__name__, level=logging.INFO) + + +@task(namespace="mkcd2app") +def uninstall_toolchain() -> None: + """ + Uninstall the toolchain for this mkcd2app version by removing the toolchain + directory and its redun cache DB. + """ + logger.info("Uninstalling toolchain") + + toolchain_path = get_toolchain_dir() + logger.debug(f"Removing toolchain directory {toolchain_path}") + # Yes we want exception to crash, figure out nice message to print later + rmtree_robust(toolchain_path) diff --git a/src/mkcd2app/utils/filesystem.py b/src/mkcd2app/utils/filesystem.py index f0d6ab8..5a9d0b8 100644 --- a/src/mkcd2app/utils/filesystem.py +++ b/src/mkcd2app/utils/filesystem.py @@ -22,6 +22,4 @@ def _remove_readonly( def rmtree_robust(path: Path) -> None: - if not path.exists(): - return shutil.rmtree(path, onerror=_remove_readonly) From 1a095571daf7a79753349f4658b2c493a6b80f63 Mon Sep 17 00:00:00 2001 From: Cyrus Yiu Date: Mon, 3 Aug 2026 20:46:51 -0400 Subject: [PATCH 07/46] Target uninstall command --- src/mkcd2app/main.py | 11 +++++++-- src/mkcd2app/target/uninstall.py | 24 +++++++++++++++++++ .../{toolchains => toolchain}/__init__.py | 0 .../{toolchains => toolchain}/install.py | 1 + .../{toolchains => toolchain}/uninstall.py | 1 - src/mkcd2app/utils/paths.py | 6 ++++- 6 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 src/mkcd2app/target/uninstall.py rename src/mkcd2app/{toolchains => toolchain}/__init__.py (100%) rename src/mkcd2app/{toolchains => toolchain}/install.py (99%) rename src/mkcd2app/{toolchains => toolchain}/uninstall.py (89%) diff --git a/src/mkcd2app/main.py b/src/mkcd2app/main.py index 7742406..524c508 100644 --- a/src/mkcd2app/main.py +++ b/src/mkcd2app/main.py @@ -6,8 +6,9 @@ from mkcd2app.cli import generate_and_parse_args from mkcd2app.config import load_config_from_yaml from mkcd2app.target.install import install_target -from mkcd2app.toolchains.install import install_toolchain -from mkcd2app.toolchains.uninstall import uninstall_toolchain +from mkcd2app.target.uninstall import uninstall_target +from mkcd2app.toolchain.install import install_toolchain +from mkcd2app.toolchain.uninstall import uninstall_toolchain from mkcd2app.utils.logger import create_logger, set_all_stdout_logger_levels from mkcd2app.utils.paths import ( get_redun_db_for_target_path, @@ -64,6 +65,12 @@ def main() -> None: logger.debug( f"Uninstalling MakeCode CLI target version {uninstall_version}" ) + # noinspection none-function-assignment + run_redun_task( + expr=uninstall_target(uninstall_version), + redun_db_path=get_redun_db_for_target_path(), + ) + logger.debug(f"Target {uninstall_version} uninstalled") elif args.command == "build": config_path = Path(args.config) diff --git a/src/mkcd2app/target/uninstall.py b/src/mkcd2app/target/uninstall.py new file mode 100644 index 0000000..80c461c --- /dev/null +++ b/src/mkcd2app/target/uninstall.py @@ -0,0 +1,24 @@ +import logging + +from redun import task + +from mkcd2app.utils.filesystem import rmtree_robust +from mkcd2app.utils.logger import create_logger +from mkcd2app.utils.paths import get_target_version_dir + +logger = create_logger(name=__name__, level=logging.INFO) + + +@task(namespace="mkcd2app") +def uninstall_target(version: str) -> None: + """ + Uninstall a MakeCode Arcade target version for this mkcd2app version. + + :param version: The MakeCode Arcade version to target. E.g., "4.0.14". Must be + explicit 3 num sem ver, not just like "4.0" or "4", and do not include a "v". + """ + logger.info(f"Uninstall MakeCode Arcade target version {version}") + + target_path = get_target_version_dir(version) + logger.debug(f"Removing target directory {target_path}") + rmtree_robust(target_path) diff --git a/src/mkcd2app/toolchains/__init__.py b/src/mkcd2app/toolchain/__init__.py similarity index 100% rename from src/mkcd2app/toolchains/__init__.py rename to src/mkcd2app/toolchain/__init__.py diff --git a/src/mkcd2app/toolchains/install.py b/src/mkcd2app/toolchain/install.py similarity index 99% rename from src/mkcd2app/toolchains/install.py rename to src/mkcd2app/toolchain/install.py index 86415ec..b8b32b3 100644 --- a/src/mkcd2app/toolchains/install.py +++ b/src/mkcd2app/toolchain/install.py @@ -90,6 +90,7 @@ def warm_npm_cache_for_templates(templates: ContentDir) -> ContentDir: def install_toolchain() -> tuple[ContentDir, ContentDir]: """ Install the toolchain for this mkcd2app version. + :return: A tuple of two ContentDirs, where the first one is the node_modules folder for the JS tools, and the other one is the cache directory for the templates. """ diff --git a/src/mkcd2app/toolchains/uninstall.py b/src/mkcd2app/toolchain/uninstall.py similarity index 89% rename from src/mkcd2app/toolchains/uninstall.py rename to src/mkcd2app/toolchain/uninstall.py index d6b1b62..af77558 100644 --- a/src/mkcd2app/toolchains/uninstall.py +++ b/src/mkcd2app/toolchain/uninstall.py @@ -19,5 +19,4 @@ def uninstall_toolchain() -> None: toolchain_path = get_toolchain_dir() logger.debug(f"Removing toolchain directory {toolchain_path}") - # Yes we want exception to crash, figure out nice message to print later rmtree_robust(toolchain_path) diff --git a/src/mkcd2app/utils/paths.py b/src/mkcd2app/utils/paths.py index 6a86e41..aabf229 100644 --- a/src/mkcd2app/utils/paths.py +++ b/src/mkcd2app/utils/paths.py @@ -53,5 +53,9 @@ def get_redun_db_for_target_path() -> Path: return get_user_state_dir() / "redun_db_for_target.sqlite3" +def get_target_version_dir(v: str) -> Path: + return get_target_dir() / v + + def get_sim_html_path(v: str) -> Path: - return get_target_dir() / v / "---simulator.html" + return get_target_version_dir(v) / "---simulator.html" From 7158822637d129de651eef99dc6c8867c0b3a976 Mon Sep 17 00:00:00 2001 From: Cyrus Yiu Date: Mon, 3 Aug 2026 20:58:57 -0400 Subject: [PATCH 08/46] Remove unused install mkcd tools function, handled in toolchain setup --- src/mkcd2app/build_project/__init__.py | 30 -------------------------- 1 file changed, 30 deletions(-) diff --git a/src/mkcd2app/build_project/__init__.py b/src/mkcd2app/build_project/__init__.py index ed5b9c9..cf0a18c 100644 --- a/src/mkcd2app/build_project/__init__.py +++ b/src/mkcd2app/build_project/__init__.py @@ -1,5 +1,4 @@ import logging -import shutil from contextlib import ExitStack from dataclasses import dataclass from pathlib import Path @@ -22,39 +21,10 @@ from mkcd2app.models.config import StaticOutput, StaticSinglefileOutput from mkcd2app.utils.logger import create_logger from mkcd2app.utils.resources import get_resource_template_path -from mkcd2app.utils.run import run_cmd logger = create_logger(name=__name__, level=logging.INFO) -@task(namespace="mkcd2app") -def install_mkcd_build_tools(config_yaml: str, js_tools_src: ContentDir) -> ContentDir: - """ - Installs the MakeCode Arcade build tools. - - :param config_yaml: The raw YAML text of the config file. - :param js_tools_src: A redun.ContentDir pointing to the js_tools directory, - so that redun tracks changes to package.json etc. - :return: A redun.ContentDir that points to node_modules, this is only used so that - redun will see that some tasks depend on `mkc` being installed. - """ - logger.info("Installing MakeCode Arcade build tools") - - config = load_config_from_yaml(config_yaml) - build_path = Path(config.build_dir) - logger.debug(f"Tools will be installed in {build_path}") - - js_tools_path = Path(js_tools_src.path) - shutil.copy(js_tools_path / "package.json", build_path / "package.json") - shutil.copy(js_tools_path / "package-lock.json", build_path / "package-lock.json") - - run_cmd(["npm", "ci"], cwd=build_path) - - logger.debug("All MakeCode Arcade build tools installed") - - return ContentDir(str(build_path / "node_modules")) - - @dataclass class BuildProjectResult: static: ContentDir | None = None From 66378b14d72ce51a4cc3eecc00c20525f77e165f Mon Sep 17 00:00:00 2001 From: Cyrus Yiu Date: Mon, 3 Aug 2026 23:53:07 -0400 Subject: [PATCH 09/46] Actually use the template npm cache --- src/mkcd2app/build_project/inputs/code.py | 7 +++++++ src/mkcd2app/build_project/website.py | 11 +++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/mkcd2app/build_project/inputs/code.py b/src/mkcd2app/build_project/inputs/code.py index 9759623..29ac309 100644 --- a/src/mkcd2app/build_project/inputs/code.py +++ b/src/mkcd2app/build_project/inputs/code.py @@ -1,3 +1,4 @@ +import json import logging import shutil from io import BytesIO @@ -73,6 +74,12 @@ def fetch_code(config_yaml: str) -> ContentDir: logger.debug(f"Copying source code from {path}") shutil.copytree(path, code_path) + mkc_json_path = code_path / "mkc.json" + logger.debug("Writing mkc.json") + version = config.target + mkc_json = {"targetWebsite": f"https://arcade.makecode.com/v{version}"} + mkc_json_path.write_text(json.dumps(mkc_json)) + logger.debug("Source code downloaded") return ContentDir(str(code_path)) diff --git a/src/mkcd2app/build_project/website.py b/src/mkcd2app/build_project/website.py index 126865c..98d4055 100644 --- a/src/mkcd2app/build_project/website.py +++ b/src/mkcd2app/build_project/website.py @@ -9,6 +9,7 @@ from mkcd2app.config import load_config_from_yaml from mkcd2app.utils.logger import create_logger +from mkcd2app.utils.paths import get_templates_npm_cache_dir from mkcd2app.utils.run import run_cmd logger = create_logger(name=__name__, level=logging.INFO) @@ -143,7 +144,10 @@ def install_deps_and_build_website(website_filled_path: ContentDir) -> ContentDi shutil.rmtree(dst) shutil.copytree(src, dst) - run_cmd(["npm", "ci"], cwd=dst) + cache_path = get_templates_npm_cache_dir() + logger.debug(f"Using template npm cache at {cache_path} to install") + + run_cmd(["npm", "ci", "--cache", str(cache_path), "--offline"], cwd=dst) logger.debug("Website dependencies installed") run_cmd(["npm", "run", "build"], cwd=dst) @@ -180,7 +184,10 @@ def install_deps_and_build_website_singlefile( shutil.rmtree(dst) shutil.copytree(src, dst) - run_cmd(["npm", "ci"], cwd=dst) + cache_path = get_templates_npm_cache_dir() + logger.debug(f"Using template npm cache at {cache_path} to install") + + run_cmd(["npm", "ci", "--cache", str(cache_path), "--offline"], cwd=dst) logger.debug("Website dependencies installed") run_cmd(["npm", "run", "build:singlefile"], cwd=dst) From e24071c392a9b1c4c5ad27d8ba82d6a4d47ab787 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 28 Oct 2026 18:57:24 +0000 Subject: [PATCH 10/46] Add project context doc for the rewrite Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Mbb9ZcpdvCZoLyyheJd2FF --- docs/PROJECT_CONTEXT.md | 111 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 docs/PROJECT_CONTEXT.md diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md new file mode 100644 index 0000000..76c9ce2 --- /dev/null +++ b/docs/PROJECT_CONTEXT.md @@ -0,0 +1,111 @@ +# MakeCode-Arcade-to-App Rewrite — Project Context + +_Verified against `origin/toolchain` @ `66378b1` and `origin/main` @ `d31e2a5`, as of 2026-10-28._ + +## Goal +Rewrite `UnsignedArduino/MakeCode-Arcade-to-App` (converts MakeCode Arcade games into a +static website, Electron app, or Tauri app). The original was basically a bash script +written in Python. The rewrite turns it into an incremental build system that runs in CI +and copes with churn in the JS ecosystem. + +## Branches / PRs +``` +main (legacy) ← PR #6 `dag` (draft) ← PR #7 `toolchain` (draft, base = dag) +``` +- The work is on `toolchain`: 49 commits ahead of `main`, 9 ahead of `dag`. +- `main` has 2 legacy-only fixes (`d17b052`, `d31e2a5`) to files the rewrite deleted. + Merging gives 2 modify/delete conflicts; resolve them by keeping the deletions. +- The legacy Electron/Tauri code to use as reference is on **`main`** + (`src/convert/website_to_{electron,tauri}/`, `src/templates/{electron,tauri}_files/`). + The `electron-output`/`tauri-output` branches are merged and out of date. The legacy + code can't be ported as is; it has to be reimplemented on the new pipeline. + +## Layout (`src/mkcd2app/`) +| Path | Purpose | +|---|---| +| `__init__.py` | Applies redun patches, asserts redun version | +| `main.py`, `cli.py` | argparse CLI → redun tasks | +| `_redun_compat.py` | redun monkey-patches | +| `config/`, `models/` | YAML loader; pydantic `BuildConfig`, `BinaryJSMetadata` | +| `build_project/` | `build_project` task, website tasks, code inputs | +| `toolchain/`, `target/` | install/uninstall tasks | +| `utils/` | `run_cmd`, paths (platformdirs), `run_redun_task`, `rmtree_robust`, semver | +| `resources/` | Vite+React+TS template, `mkc` js_tools, empty fixture project | + +Other: `tests/e2e/test_statics.py`, `tests/fixtures/`, `examples/` (Racers), CI +workflows `lint.yaml` (ubuntu) and `e2e.yaml` (ubuntu/windows/macos). Tooling: uv, +hatchling, Python ≥3.14, ruff + mypy strict, pre-commit. + +## Architecture +- **redun `0.44.1`** (pinned) is the DAG engine, embedded via + `utils/run_redun_task.py`. Each command keeps its own SQLite DB (toolchain, target, + or `build_dir/.redun-cache.db`). +- **⚠️ Caching is disabled:** `scheduler.run(expr, cache=False)` (marked TODO). Nothing + persists between runs, so builds aren't incremental yet. +- **Config is passed to tasks as raw YAML text**, because pickling pydantic objects + isn't deterministic and that breaks redun's hashing. +- **Copy-on-write stages:** a path is never written after it's been returned as a + `ContentDir`/`ContentFile` (`x-website` → `-filled` → `-filled-built`). +- **Website builds are offline:** `npm ci --cache --offline`. +- **redun patches** (`_redun_compat.py`): `get_proto` (Windows drive letters), + `ContentDir._calc_hash` and `Dir._calc_hash` (hash file contents, not mtimes). No + tests cover them yet. + +## CLI +Global `--debug` (goes before the subcommand). Commands must run in this order: +``` +mkcd2app toolchain install # mkc CLI + warm template npm cache +mkcd2app target install # warm mkc compiler cache + download/inline simulator HTML +mkcd2app build [--clear-cache] +``` +Also `toolchain uninstall` and `target uninstall `. `toolchain status` and +`target list` are **stubs**. `build` has **no pre-flight checks**: a missing target +fails with a raw `FileNotFoundError`, a missing toolchain with "Executable 'mkc' not found". + +State lives under `platformdirs` user dirs, namespaced by mkcd2app version (static +`0.1.0`). A version bump means re-running both installs. + +Config: `version`, `project`, `inputs.code` (share_link | github | path), +`inputs.assets.icon` (optional), `build_dir`, `target` (required, strict `x.y.z`), +`outputs` (static | static-singlefile | electron | tauri). + +## Status +- **Done:** `static` and `static-singlefile` outputs; all code sources; toolchain/target + split. Everything that needs the network is vendored at install time **except MakeCode + extensions**, which are fetched per game; `mkc`'s extension cache isn't redirected. +- **Not implemented:** Electron and Tauri. The models and result fields exist, but + `build_project` has no `case` arms for them. +- **E2E test is broken and has never run on `toolchain`:** + 1. The fixture YAML has no `target:` (required field). + 2. Nothing runs `toolchain install` / `target install` first. + 3. The "second build < 5s" check can't pass while `cache=False` is set, and it's only + a wall-clock proxy anyway. + 4. CI only triggers on `main`, so the stacked PRs never get CI. The last green run was + on `dag` @ `b9c2ab2` (2026-07-31). +- Only `tests/e2e` exists; there are no unit or integration tests yet. + +## Roadmap +1. **Fix e2e + CI:** add `target:` to the fixture; install toolchain/target in a session + fixture (with an env override for the user dirs); make CI run for stacked PRs. +2. **Remove `cache=False`**, then assert "task didn't re-execute" instead of wall-clock time. +3. Merge `main` into `toolchain`; consider porting the `download_sim` bytes fix. +4. Unit/integration tests, including the redun patches. +5. Electron, then Tauri (reference: `main`). +6. Save-state for Electron/Tauri (investigate `pxtsim` postMessage). +7. Toolchain polish: `status`/`list`, `build` pre-flight, extension cache, version-pinning UX. +8. Later: code signing, auto-update, README (currently a stub), schema docs. + +## Known issues +- `install_deps_and_build_website*` hash the whole filled site, not just + `package.json`/lockfile, so changing an asset busts the dep cache. +- `download_sim` (`target/install.py:88-120`) inlines `res.text` and calls + `write_text()` without an encoding. Likely the same bug `main` fixed in `d17b052` + (unconfirmed). +- `uninstall_toolchain` docstring says it removes the redun DB; it doesn't (the DB is + in the state dir). +- `get_resource_template_path(name)` throws away its `joinpath(name)` result, so the + argument does nothing; callers append `"vite-project"` themselves. +- `load_config_from_yaml` uses `data.version` on a dict, so it raises `AttributeError` + instead of `NotImplementedError`. +- Cosmetic: stale "deps-installed website" docstring in `fill_website_template`; + `examples/Racers offline.yaml` has a stray "latest is 4.0.14" comment. From 293191e804bfa36bb5bd36ef6f901575aae929c3 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 28 Oct 2026 19:02:04 +0000 Subject: [PATCH 11/46] Add CLAUDE.md Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Mbb9ZcpdvCZoLyyheJd2FF --- CLAUDE.md | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..fc1aebe --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,64 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +Rewrite status, branch/PR stack, roadmap, and known bugs live in the project context +doc, which is imported here. Update that doc (and its "verified as of" line) rather +than duplicating its content in this file. + +@docs/PROJECT_CONTEXT.md + +## Commands + +Python ≥3.14 and Node.js (LTS) are required. Everything runs through uv. + +```bash +uv sync # install deps + the mkcd2app entry point +uv run ruff check . # lint +uv run ruff format --check . # format check (drop --check to apply) +uv run mypy . # strict type check +uv run pytest # all tests +uv run pytest tests/e2e/test_statics.py::test_empty_game_build_to_statics_static +``` + +CI (`lint.yaml`, `e2e.yaml`) runs exactly these lint/format/mypy/pytest commands. +pre-commit runs ruff check, ruff format --check, and mypy on staged Python files. + +Running the tool end to end (installs must happen first, in this order): + +```bash +uv run mkcd2app toolchain install +uv run mkcd2app target install 4.0.14 +uv run mkcd2app --debug build "examples/Racers.yaml" +``` + +Notes on the e2e tests: +- Run pytest from the repo root: tests use `Path.cwd()` and repo-relative paths, and + shell out to the installed `mkcd2app` executable rather than importing it. +- Builds go to `examples/testing/empty_game_build/`, which the module fixture deletes. + +## Architecture + +Every unit of work is a redun `@task(namespace="mkcd2app")`. `main.py` parses the CLI +and hands a task expression to `run_redun_task()` with the SQLite DB for that command. +redun builds the DAG from how task results feed into other tasks, so data dependencies +between tasks must go through task arguments/returns, not side channels. + +Build pipeline (`build_project/__init__.py`), each step a task: +`fetch_code` → `build_binary_js` (runs `mkc`) + `copy_support_files` (simulator HTML +from the target dir, icon) + `copy_website_template` → `fill_website_template` → one +`install_deps_and_build_website*` task per entry in `outputs`. A new output type means +a new `case` arm in that `match` plus a field on `BuildProjectResult`. + +Conventions that matter for redun hashing: +- Tasks take the config as the raw YAML string and call `load_config_from_yaml` inside; + never pass pydantic models as task arguments. +- Each stage writes to a fresh directory (named via `_website_dir` in `website.py`) and + returns a `ContentDir`/`ContentFile`; never modify a path another task returned. +- `mkcd2app/__init__.py` imports `_redun_compat` first, which monkey-patches redun and + asserts the pinned version. Changing the redun version means re-checking those patches. + +Paths under the user data/state dirs (toolchain, `js_tools/node_modules/.bin` for `mkc`, +npm cache, per-version target dirs, redun DBs) all come from `utils/paths.py`; use those +helpers instead of building paths by hand. Bundled templates and fixtures under +`resources/` are reached through `utils/resources.py`. From 00dd04ef3e1b3cb55482cf599c12d559e016034f Mon Sep 17 00:00:00 2001 From: Cyrus Yiu Date: Thu, 29 Oct 2026 15:33:25 -0400 Subject: [PATCH 12/46] Fix e2e test and enable redun caching - Add the required `target:` to the e2e fixture config. - Install the toolchain and target in a session fixture before building. - Remove `cache=False` so builds are incremental. - Check the second build by parsing redun's job status table (every job CACHED, none DONE) instead of wall-clock time. - Update the project context doc, including the newly exposed stale-cache issue for inputs redun can't see. Co-Authored-By: Claude Opus 5.5 --- docs/PROJECT_CONTEXT.md | 36 ++++++----- src/mkcd2app/utils/run_redun_task.py | 3 +- tests/e2e/test_statics.py | 62 +++++++++++++------ .../fixtures/empty_game_build_to_statics.yaml | 3 + 4 files changed, 68 insertions(+), 36 deletions(-) diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index 76c9ce2..2171141 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -1,6 +1,7 @@ # MakeCode-Arcade-to-App Rewrite — Project Context -_Verified against `origin/toolchain` @ `66378b1` and `origin/main` @ `d31e2a5`, as of 2026-10-28._ +_Verified against `toolchain` @ the "Fix e2e test and enable redun caching" commit (child of +`293191e`) and `origin/main` @ `d31e2a5`, as of 2026-10-29._ ## Goal Rewrite `UnsignedArduino/MakeCode-Arcade-to-App` (converts MakeCode Arcade games into a @@ -12,7 +13,7 @@ and copes with churn in the JS ecosystem. ``` main (legacy) ← PR #6 `dag` (draft) ← PR #7 `toolchain` (draft, base = dag) ``` -- The work is on `toolchain`: 49 commits ahead of `main`, 9 ahead of `dag`. +- The work is on `toolchain`: 52 commits ahead of `main`, 12 ahead of `dag` (`b9c2ab2`). - `main` has 2 legacy-only fixes (`d17b052`, `d31e2a5`) to files the rewrite deleted. Merging gives 2 modify/delete conflicts; resolve them by keeping the deletions. - The legacy Electron/Tauri code to use as reference is on **`main`** @@ -40,8 +41,8 @@ hatchling, Python ≥3.14, ruff + mypy strict, pre-commit. - **redun `0.44.1`** (pinned) is the DAG engine, embedded via `utils/run_redun_task.py`. Each command keeps its own SQLite DB (toolchain, target, or `build_dir/.redun-cache.db`). -- **⚠️ Caching is disabled:** `scheduler.run(expr, cache=False)` (marked TODO). Nothing - persists between runs, so builds aren't incremental yet. +- **Caching is enabled:** an unchanged rebuild is served entirely from the redun cache. + Not every input is tracked yet, though (see "Stale cache" under Known issues). - **Config is passed to tasks as raw YAML text**, because pickling pydantic objects isn't deterministic and that breaks redun's hashing. - **Copy-on-write stages:** a path is never written after it's been returned as a @@ -75,19 +76,20 @@ Config: `version`, `project`, `inputs.code` (share_link | github | path), extensions**, which are fetched per game; `mkc`'s extension cache isn't redirected. - **Not implemented:** Electron and Tauri. The models and result fields exist, but `build_project` has no `case` arms for them. -- **E2E test is broken and has never run on `toolchain`:** - 1. The fixture YAML has no `target:` (required field). - 2. Nothing runs `toolchain install` / `target install` first. - 3. The "second build < 5s" check can't pass while `cache=False` is set, and it's only - a wall-clock proxy anyway. - 4. CI only triggers on `main`, so the stacked PRs never get CI. The last green run was - on `dag` @ `b9c2ab2` (2026-07-31). +- **E2E test passes locally** (Windows, `uv run pytest`, ~2 min). A session fixture runs + `toolchain install` and `target install 4.0.14` into the real user dirs (no env + override yet). The cache test parses the `ALL` row of the job status table redun logs + to stderr and requires `DONE == 0` and `CACHED == TOTAL` on an unchanged rebuild; this + depends on redun's log format, which is safe while redun is pinned. +- **CI still only triggers on `main`**, so the stacked PRs never get CI. The last green + run was on `dag` @ `b9c2ab2` (2026-07-31); the fixed test hasn't run in CI yet. - Only `tests/e2e` exists; there are no unit or integration tests yet. ## Roadmap -1. **Fix e2e + CI:** add `target:` to the fixture; install toolchain/target in a session - fixture (with an env override for the user dirs); make CI run for stacked PRs. -2. **Remove `cache=False`**, then assert "task didn't re-execute" instead of wall-clock time. +1. **Finish CI:** make CI run for stacked PRs; add an env override for the user dirs so + tests don't install into the real ones. (Fixture `target:`, install fixture, removing + `cache=False` and the job-status cache assertion are done.) +2. **Fix the stale-cache inputs** (Known issues) so edits to tracked sources rebuild. 3. Merge `main` into `toolchain`; consider porting the `download_sim` bytes fix. 4. Unit/integration tests, including the redun patches. 5. Electron, then Tauri (reference: `main`). @@ -96,9 +98,13 @@ Config: `version`, `project`, `inputs.code` (share_link | github | path), 8. Later: code signing, auto-update, README (currently a stub), schema docs. ## Known issues +- **Stale cache for out-of-band inputs:** `fetch_code` and `copy_support_files` only + take the config YAML, so redun can't see changes to a `path` code source, a + `github` branch checkout, an icon path/URL, or the installed simulator HTML. + Editing a path-sourced game returns the old cached build until `--clear-cache`. - `install_deps_and_build_website*` hash the whole filled site, not just `package.json`/lockfile, so changing an asset busts the dep cache. -- `download_sim` (`target/install.py:88-120`) inlines `res.text` and calls +- `download_sim` (`target/install.py:70-124`) inlines `res.text` and calls `write_text()` without an encoding. Likely the same bug `main` fixed in `d17b052` (unconfirmed). - `uninstall_toolchain` docstring says it removes the redun DB; it doesn't (the DB is diff --git a/src/mkcd2app/utils/run_redun_task.py b/src/mkcd2app/utils/run_redun_task.py index af3b0c3..f061f13 100644 --- a/src/mkcd2app/utils/run_redun_task.py +++ b/src/mkcd2app/utils/run_redun_task.py @@ -23,5 +23,4 @@ def run_redun_task(expr: Expression[Result] | Result, redun_db_path: Path) -> Re ) scheduler = Scheduler(config=redun_config) scheduler.load() - # TODO: don't forget to remove cache=False after done testing - return scheduler.run(expr, cache=False) + return scheduler.run(expr) diff --git a/tests/e2e/test_statics.py b/tests/e2e/test_statics.py index 7033c07..a20a3a4 100644 --- a/tests/e2e/test_statics.py +++ b/tests/e2e/test_statics.py @@ -1,40 +1,65 @@ +import re import shutil import subprocess -import time from collections.abc import Generator from pathlib import Path import pytest +TARGET_VERSION = "4.0.14" +BUILD_DIR = Path("examples/testing/empty_game_build") -def run_build(config_path: Path) -> subprocess.CompletedProcess[str]: + +def run_mkcd2app(*args: str) -> subprocess.CompletedProcess[str]: return subprocess.run( - ["mkcd2app", "build", str(config_path)], + ["mkcd2app", *args], capture_output=True, text=True, - timeout=300, + timeout=600, check=True, ) -def run_empty_game_build() -> subprocess.CompletedProcess[str]: +def run_empty_game_build(*extra_args: str) -> subprocess.CompletedProcess[str]: yaml_path = Path.cwd() / "tests" / "fixtures" / "empty_game_build_to_statics.yaml" - return run_build(yaml_path) + return run_mkcd2app("build", str(yaml_path), *extra_args) + + +def parse_job_status_totals(redun_output: str) -> dict[str, int]: + """ + Parse the ``ALL`` row of the last job status table redun logs after a run. + + This relies on redun's log format, which is stable because redun is pinned. + Example:: + + [redun] | TASK PENDING RUNNING FAILED CACHED DONE TOTAL + [redun] | + [redun] | ALL 0 0 0 7 0 7 + """ + header = re.findall(r"\| TASK((?:\s+[A-Z]+)+)\s*$", redun_output, re.MULTILINE) + rows = re.findall(r"\| ALL((?:\s+\d+)+)\s*$", redun_output, re.MULTILINE) + assert header and rows, f"no redun job status table in output:\n{redun_output}" + return dict(zip(header[-1].split(), map(int, rows[-1].split()), strict=True)) + + +@pytest.fixture(scope="session", autouse=True) +def installed_toolchain_and_target() -> None: + run_mkcd2app("toolchain", "install") + run_mkcd2app("target", "install", TARGET_VERSION) @pytest.fixture(scope="module") def empty_game_build_to_statics() -> Generator[None]: - run_empty_game_build() + # Clear any previous build (and its redun cache) so the first build runs fully + run_empty_game_build("--clear-cache") yield - dir_path = Path.cwd() / "examples" / "testing" / "empty_game_build" - shutil.rmtree(dir_path) + shutil.rmtree(Path.cwd() / BUILD_DIR) def test_empty_game_build_to_statics_static(empty_game_build_to_statics: None) -> None: - build_dir = Path("examples/testing/empty_game_build") - static_dist = build_dir / "empty-game-website-filled-built" / "dist" + static_dist = BUILD_DIR / "empty-game-website-filled-built" / "dist" # check for index.html and assets dir assert (static_dist / "index.html").is_file(), "expected index.html file present" @@ -49,9 +74,8 @@ def test_empty_game_build_to_statics_static(empty_game_build_to_statics: None) - def test_empty_game_build_to_statics_static_singlefile( empty_game_build_to_statics: None, ) -> None: - build_dir = Path("examples/testing/empty_game_build") static_singlefile_dist = ( - build_dir / "empty-game-website-filled-singlefile-built" / "dist" + BUILD_DIR / "empty-game-website-filled-singlefile-built" / "dist" ) # ensure no other files or directories are present in the dist @@ -67,11 +91,11 @@ def test_empty_game_build_to_statics_static_singlefile( def test_empty_game_build_to_statics_second_build_caches( empty_game_build_to_statics: None, ) -> None: - start_time = time.monotonic() - run_empty_game_build() # this should do nothing file wise, all hit caches - end_time = time.monotonic() - elapsed_time = end_time - start_time + # Nothing changed, so every job should be served from redun's cache + result = run_empty_game_build() + totals = parse_job_status_totals(result.stderr) - assert elapsed_time < 5, ( - f"expected second build to all hit cache and take less than 5s, took {elapsed_time}s" + assert totals["TOTAL"] > 0, f"expected redun to schedule jobs, got {totals}" + assert totals["DONE"] == 0 and totals["CACHED"] == totals["TOTAL"], ( + f"expected every job on the second build to hit the cache, got {totals}" ) diff --git a/tests/fixtures/empty_game_build_to_statics.yaml b/tests/fixtures/empty_game_build_to_statics.yaml index 3650c37..7287c15 100644 --- a/tests/fixtures/empty_game_build_to_statics.yaml +++ b/tests/fixtures/empty_game_build_to_statics.yaml @@ -38,6 +38,9 @@ inputs: # Path where the build process will take place build_dir: "./examples/testing/empty_game_build" +# MakeCode Arcade target version (must be installed with `mkcd2app target install`) +target: 4.0.14 + # You can have multiple outputs # Currently available options are static, static-singlefile, electron, and # tauri From d7ad64ae88bdfa9986a614f1c4aa72802d2a893e Mon Sep 17 00:00:00 2001 From: Cyrus Yiu Date: Thu, 29 Oct 2026 15:35:49 -0400 Subject: [PATCH 13/46] Run lint and e2e CI on PRs into any branch Drop the main-only base filter on pull_request so stacked PRs (dag, toolchain) get CI. Pushes still only trigger on main. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/e2e.yaml | 2 +- .github/workflows/lint.yaml | 2 +- docs/PROJECT_CONTEXT.md | 11 ++++++----- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index 0c4d70e..b978ab1 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -3,8 +3,8 @@ name: CI on: push: branches: [ main ] + # Any base branch, so stacked PRs get CI too pull_request: - branches: [ main ] jobs: e2e: diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 7d70166..416eb1b 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -3,8 +3,8 @@ name: CI on: push: branches: [ main ] + # Any base branch, so stacked PRs get CI too pull_request: - branches: [ main ] jobs: lint: diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index 2171141..dd0ca3d 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -81,14 +81,15 @@ Config: `version`, `project`, `inputs.code` (share_link | github | path), override yet). The cache test parses the `ALL` row of the job status table redun logs to stderr and requires `DONE == 0` and `CACHED == TOTAL` on an unchanged rebuild; this depends on redun's log format, which is safe while redun is pinned. -- **CI still only triggers on `main`**, so the stacked PRs never get CI. The last green - run was on `dag` @ `b9c2ab2` (2026-07-31); the fixed test hasn't run in CI yet. +- **CI** (`lint.yaml`, `e2e.yaml`) runs on pushes to `main` and on PRs into any branch, + so the stacked PRs get CI once pushed. The last green run was on `dag` @ `b9c2ab2` + (2026-07-31); the fixed e2e test hasn't run in CI yet. - Only `tests/e2e` exists; there are no unit or integration tests yet. ## Roadmap -1. **Finish CI:** make CI run for stacked PRs; add an env override for the user dirs so - tests don't install into the real ones. (Fixture `target:`, install fixture, removing - `cache=False` and the job-status cache assertion are done.) +1. **Finish e2e:** add an env override for the user dirs so tests don't install into + the real ones. (Fixture `target:`, install fixture, removing `cache=False`, the + job-status cache assertion and CI on all PRs are done.) 2. **Fix the stale-cache inputs** (Known issues) so edits to tracked sources rebuild. 3. Merge `main` into `toolchain`; consider porting the `download_sim` bytes fix. 4. Unit/integration tests, including the redun patches. From aca1ae1fd6c2dcd23f54708872aaf299cde1b8d2 Mon Sep 17 00:00:00 2001 From: Cyrus Yiu Date: Thu, 29 Oct 2026 15:54:34 -0400 Subject: [PATCH 14/46] Add MKCD2APP_HOME override and rename --clear-cache to --full-rebuild - MKCD2APP_HOME moves data/state dirs to $MKCD2APP_HOME/{data,state}/. The e2e tests install into .pytest_cache/d/mkcd2app-home with it, so they don't touch the real user dirs and reruns hit the install cache. - Rename `build --clear-cache` to `--full-rebuild` and explain in its help text that it's how to pick up changes to source files, icons, or GitHub branches, which aren't tracked automatically. - Update the project context doc (CI green on all OSes, roadmap, decision to rely on --full-rebuild for out-of-band inputs). Co-Authored-By: Claude Opus 5.5 --- docs/PROJECT_CONTEXT.md | 50 +++++++++++++++++++++---------------- src/mkcd2app/cli.py | 6 +++-- src/mkcd2app/main.py | 2 +- src/mkcd2app/utils/paths.py | 18 +++++++++++-- tests/e2e/test_statics.py | 14 ++++++++--- 5 files changed, 60 insertions(+), 30 deletions(-) diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index dd0ca3d..1b50550 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -1,7 +1,7 @@ # MakeCode-Arcade-to-App Rewrite — Project Context -_Verified against `toolchain` @ the "Fix e2e test and enable redun caching" commit (child of -`293191e`) and `origin/main` @ `d31e2a5`, as of 2026-10-29._ +_Verified against `toolchain` @ `d7ad64a` plus the `MKCD2APP_HOME` change, and +`origin/main` @ `d31e2a5`, as of 2026-10-29._ ## Goal Rewrite `UnsignedArduino/MakeCode-Arcade-to-App` (converts MakeCode Arcade games into a @@ -13,7 +13,8 @@ and copes with churn in the JS ecosystem. ``` main (legacy) ← PR #6 `dag` (draft) ← PR #7 `toolchain` (draft, base = dag) ``` -- The work is on `toolchain`: 52 commits ahead of `main`, 12 ahead of `dag` (`b9c2ab2`). +- The work is on `toolchain`: 53 commits ahead of `main`, 13 ahead of `dag` (`b9c2ab2`) + as of `d7ad64a`. - `main` has 2 legacy-only fixes (`d17b052`, `d31e2a5`) to files the rewrite deleted. Merging gives 2 modify/delete conflicts; resolve them by keeping the deletions. - The legacy Electron/Tauri code to use as reference is on **`main`** @@ -42,7 +43,8 @@ hatchling, Python ≥3.14, ruff + mypy strict, pre-commit. `utils/run_redun_task.py`. Each command keeps its own SQLite DB (toolchain, target, or `build_dir/.redun-cache.db`). - **Caching is enabled:** an unchanged rebuild is served entirely from the redun cache. - Not every input is tracked yet, though (see "Stale cache" under Known issues). + Inputs outside the config aren't tracked, so picking up their changes needs + `--full-rebuild` (see "Out-of-band inputs" under Known issues). - **Config is passed to tasks as raw YAML text**, because pickling pydantic objects isn't deterministic and that breaks redun's hashing. - **Copy-on-write stages:** a path is never written after it's been returned as a @@ -57,14 +59,16 @@ Global `--debug` (goes before the subcommand). Commands must run in this order: ``` mkcd2app toolchain install # mkc CLI + warm template npm cache mkcd2app target install # warm mkc compiler cache + download/inline simulator HTML -mkcd2app build [--clear-cache] +mkcd2app build [--full-rebuild] ``` Also `toolchain uninstall` and `target uninstall `. `toolchain status` and `target list` are **stubs**. `build` has **no pre-flight checks**: a missing target fails with a raw `FileNotFoundError`, a missing toolchain with "Executable 'mkc' not found". State lives under `platformdirs` user dirs, namespaced by mkcd2app version (static -`0.1.0`). A version bump means re-running both installs. +`0.1.0`). A version bump means re-running both installs. Setting `MKCD2APP_HOME` +moves them to `$MKCD2APP_HOME/{data,state}/` (`utils/paths.py`). `mkc`'s own +compiler/extension caches aren't covered by this. Config: `version`, `project`, `inputs.code` (share_link | github | path), `inputs.assets.icon` (optional), `build_dir`, `target` (required, strict `x.y.z`), @@ -76,21 +80,23 @@ Config: `version`, `project`, `inputs.code` (share_link | github | path), extensions**, which are fetched per game; `mkc`'s extension cache isn't redirected. - **Not implemented:** Electron and Tauri. The models and result fields exist, but `build_project` has no `case` arms for them. -- **E2E test passes locally** (Windows, `uv run pytest`, ~2 min). A session fixture runs - `toolchain install` and `target install 4.0.14` into the real user dirs (no env - override yet). The cache test parses the `ALL` row of the job status table redun logs - to stderr and requires `DONE == 0` and `CACHED == TOTAL` on an unchanged rebuild; this - depends on redun's log format, which is safe while redun is pinned. +- **E2E test passes** locally (Windows, ~1 min with installs cached) and in CI on + ubuntu/windows/macos (PR #7 @ `d7ad64a`). A session fixture sets `MKCD2APP_HOME` to + `.pytest_cache/d/mkcd2app-home` and runs `toolchain install` and + `target install 4.0.14` there, so the real user dirs are untouched and reruns hit + the install cache. The cache test parses the `ALL` row of the job status table redun + logs to stderr and requires `DONE == 0` and `CACHED == TOTAL` on an unchanged + rebuild; this depends on redun's log format, which is safe while redun is pinned. + Nothing yet tests that changing an input does trigger a rebuild. - **CI** (`lint.yaml`, `e2e.yaml`) runs on pushes to `main` and on PRs into any branch, - so the stacked PRs get CI once pushed. The last green run was on `dag` @ `b9c2ab2` - (2026-07-31); the fixed e2e test hasn't run in CI yet. + so the stacked PRs get CI. Lint and all three e2e jobs are green on PR #7. - Only `tests/e2e` exists; there are no unit or integration tests yet. ## Roadmap -1. **Finish e2e:** add an env override for the user dirs so tests don't install into - the real ones. (Fixture `target:`, install fixture, removing `cache=False`, the - job-status cache assertion and CI on all PRs are done.) -2. **Fix the stale-cache inputs** (Known issues) so edits to tracked sources rebuild. +1. ~~Fix e2e + CI~~ (done: fixture `target:`, isolated install fixture, caching on, + job-status cache assertion, CI on all PRs). +2. ~~Rename `--clear-cache`~~ (done: now `--full-rebuild`, and its help text says to use + it for out-of-band input changes). Still belongs in the README once that exists. 3. Merge `main` into `toolchain`; consider porting the `download_sim` bytes fix. 4. Unit/integration tests, including the redun patches. 5. Electron, then Tauri (reference: `main`). @@ -99,10 +105,12 @@ Config: `version`, `project`, `inputs.code` (share_link | github | path), 8. Later: code signing, auto-update, README (currently a stub), schema docs. ## Known issues -- **Stale cache for out-of-band inputs:** `fetch_code` and `copy_support_files` only - take the config YAML, so redun can't see changes to a `path` code source, a - `github` branch checkout, an icon path/URL, or the installed simulator HTML. - Editing a path-sourced game returns the old cached build until `--clear-cache`. +- **Out-of-band inputs (by design):** `fetch_code` and + `copy_support_files` only take the config YAML, so redun can't see changes to a + `path` code source, a `github` branch checkout, an icon path/URL, or the installed + simulator HTML. Editing a path-sourced game returns the old cached build until + `--full-rebuild`. Decided to rely on that flag for all sources rather than track + each one. - `install_deps_and_build_website*` hash the whole filled site, not just `package.json`/lockfile, so changing an asset busts the dep cache. - `download_sim` (`target/install.py:70-124`) inlines `res.text` and calls diff --git a/src/mkcd2app/cli.py b/src/mkcd2app/cli.py index 20a9cd0..79bf945 100644 --- a/src/mkcd2app/cli.py +++ b/src/mkcd2app/cli.py @@ -29,9 +29,11 @@ def generate_and_parse_args() -> Namespace: ) parser_build.add_argument("config", type=str, help="Path to the YAML config file.") parser_build.add_argument( - "--clear-cache", + "--full-rebuild", action="store_true", - help="Delete the entire build directory before building.", + help="Delete the build directory and its cache, then rebuild everything. Use " + "this after changing the game's source files, icon, or GitHub branch, since " + "only changes to the config file are detected automatically.", ) parser_toolchain = subparsers.add_parser( diff --git a/src/mkcd2app/main.py b/src/mkcd2app/main.py index 524c508..95a9292 100644 --- a/src/mkcd2app/main.py +++ b/src/mkcd2app/main.py @@ -85,7 +85,7 @@ def main() -> None: config = load_config_from_yaml(config_text) build_dir = Path(config.build_dir) - if args.clear_cache: + if args.full_rebuild: if build_dir.exists(): logger.warning(f"Clearing build directory {build_dir}") shutil.rmtree(build_dir) diff --git a/src/mkcd2app/utils/paths.py b/src/mkcd2app/utils/paths.py index aabf229..65ebef6 100644 --- a/src/mkcd2app/utils/paths.py +++ b/src/mkcd2app/utils/paths.py @@ -1,3 +1,4 @@ +import os from importlib.metadata import version from pathlib import Path @@ -10,13 +11,26 @@ def get_mkcd2app_version() -> str: DIRS = PlatformDirs("mkcd2app", appauthor=False) +# If set, data and state go under this directory instead of the platformdirs user +# dirs (e.g. so tests don't touch the real install) +HOME_ENV_VAR = "MKCD2APP_HOME" + + +def get_home_override_dir() -> Path | None: + home = os.environ.get(HOME_ENV_VAR) + return Path(home) if home else None + def get_user_data_dir() -> Path: - return Path(DIRS.user_data_dir) / get_mkcd2app_version() + home = get_home_override_dir() + base = home / "data" if home else Path(DIRS.user_data_dir) + return base / get_mkcd2app_version() def get_user_state_dir() -> Path: - return Path(DIRS.user_state_dir) / get_mkcd2app_version() + home = get_home_override_dir() + base = home / "state" if home else Path(DIRS.user_state_dir) + return base / get_mkcd2app_version() # Toolchain stuff diff --git a/tests/e2e/test_statics.py b/tests/e2e/test_statics.py index a20a3a4..df74767 100644 --- a/tests/e2e/test_statics.py +++ b/tests/e2e/test_statics.py @@ -43,15 +43,21 @@ def parse_job_status_totals(redun_output: str) -> dict[str, int]: @pytest.fixture(scope="session", autouse=True) -def installed_toolchain_and_target() -> None: - run_mkcd2app("toolchain", "install") - run_mkcd2app("target", "install", TARGET_VERSION) +def installed_toolchain_and_target(pytestconfig: pytest.Config) -> Generator[None]: + # Install into a dir under .pytest_cache instead of the real user dirs; it + # persists between sessions so reruns hit the install's redun cache + home = pytestconfig.cache.mkdir("mkcd2app-home") + with pytest.MonkeyPatch.context() as mp: + mp.setenv("MKCD2APP_HOME", str(home)) + run_mkcd2app("toolchain", "install") + run_mkcd2app("target", "install", TARGET_VERSION) + yield @pytest.fixture(scope="module") def empty_game_build_to_statics() -> Generator[None]: # Clear any previous build (and its redun cache) so the first build runs fully - run_empty_game_build("--clear-cache") + run_empty_game_build("--full-rebuild") yield From 60f100d41fc4f285a8c448c274d9f1e3d2bbdcb5 Mon Sep 17 00:00:00 2001 From: Cyrus Yiu Date: Thu, 29 Oct 2026 16:05:51 -0400 Subject: [PATCH 15/46] Fix small known issues: UTF-8 IO, resource path, config version error - download_sim decodes downloads as UTF-8 instead of res.text (which falls back to ISO-8859-1 without a charset), and all text file reads/writes pass encoding="utf-8" so Windows doesn't use cp1252. - get_resource_template_path(name) now actually joins name. - load_config_from_yaml raises NotImplementedError for a missing/unknown version instead of AttributeError. - Fix uninstall_toolchain and fill_website_template docstrings, drop a stray comment in "Racers offline.yaml", and update the project context doc. Co-Authored-By: Claude Opus 5.5 --- docs/PROJECT_CONTEXT.md | 32 +++++++++-------------- examples/Racers offline.yaml | 1 - src/mkcd2app/build_project/__init__.py | 2 +- src/mkcd2app/build_project/inputs/code.py | 2 +- src/mkcd2app/build_project/website.py | 10 +++---- src/mkcd2app/config/__init__.py | 5 ++-- src/mkcd2app/main.py | 2 +- src/mkcd2app/target/install.py | 31 ++++++++++++++-------- src/mkcd2app/toolchain/uninstall.py | 2 +- src/mkcd2app/utils/resources.py | 2 +- src/mkcd2app/utils/text.py | 2 +- 11 files changed, 47 insertions(+), 44 deletions(-) diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index 1b50550..1153373 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -1,7 +1,7 @@ # MakeCode-Arcade-to-App Rewrite — Project Context -_Verified against `toolchain` @ `d7ad64a` plus the `MKCD2APP_HOME` change, and -`origin/main` @ `d31e2a5`, as of 2026-10-29._ +_Verified against `toolchain` @ `d7ad64a` plus the `MKCD2APP_HOME` change and the +small known-issue fixes, and `origin/main` @ `d31e2a5`, as of 2026-10-29._ ## Goal Rewrite `UnsignedArduino/MakeCode-Arcade-to-App` (converts MakeCode Arcade games into a @@ -97,12 +97,11 @@ Config: `version`, `project`, `inputs.code` (share_link | github | path), job-status cache assertion, CI on all PRs). 2. ~~Rename `--clear-cache`~~ (done: now `--full-rebuild`, and its help text says to use it for out-of-band input changes). Still belongs in the README once that exists. -3. Merge `main` into `toolchain`; consider porting the `download_sim` bytes fix. -4. Unit/integration tests, including the redun patches. -5. Electron, then Tauri (reference: `main`). -6. Save-state for Electron/Tauri (investigate `pxtsim` postMessage). -7. Toolchain polish: `status`/`list`, `build` pre-flight, extension cache, version-pinning UX. -8. Later: code signing, auto-update, README (currently a stub), schema docs. +3. Unit/integration tests, including the redun patches. +4. Electron, then Tauri (reference: `main`). +5. Save-state for Electron/Tauri (investigate `pxtsim` postMessage). +6. Toolchain polish: `status`/`list`, `build` pre-flight, extension cache, version-pinning UX. +7. Later: code signing, auto-update, README (currently a stub), schema docs. ## Known issues - **Out-of-band inputs (by design):** `fetch_code` and @@ -113,14 +112,9 @@ Config: `version`, `project`, `inputs.code` (share_link | github | path), each one. - `install_deps_and_build_website*` hash the whole filled site, not just `package.json`/lockfile, so changing an asset busts the dep cache. -- `download_sim` (`target/install.py:70-124`) inlines `res.text` and calls - `write_text()` without an encoding. Likely the same bug `main` fixed in `d17b052` - (unconfirmed). -- `uninstall_toolchain` docstring says it removes the redun DB; it doesn't (the DB is - in the state dir). -- `get_resource_template_path(name)` throws away its `joinpath(name)` result, so the - argument does nothing; callers append `"vite-project"` themselves. -- `load_config_from_yaml` uses `data.version` on a dict, so it raises `AttributeError` - instead of `NotImplementedError`. -- Cosmetic: stale "deps-installed website" docstring in `fill_website_template`; - `examples/Racers offline.yaml` has a stray "latest is 4.0.14" comment. +- Fixed: `download_sim` now decodes downloads as UTF-8 instead of `res.text`, and all + text file reads/writes in `src/` pass `encoding="utf-8"`. (The 4.0.14 simulator was + pure ASCII, so this hadn't caused damage yet.) Also fixed: the `uninstall_toolchain` + docstring, `get_resource_template_path(name)` ignoring `name`, + `load_config_from_yaml` raising `AttributeError` on an unknown version, the stale + `fill_website_template` docstring, and the stray comment in `Racers offline.yaml`. diff --git a/examples/Racers offline.yaml b/examples/Racers offline.yaml index e5de0f2..247c8b1 100644 --- a/examples/Racers offline.yaml +++ b/examples/Racers offline.yaml @@ -38,7 +38,6 @@ build_dir: "./examples/Racers-offline-build" # Must be explicit 3 number sem ver, do not add a "v" at the beginning # To find it, go to https://arcade.makecode.com/ and click on the settings # cogwheel button, click About..., and see "arcade version: x.y.z" -# As of the time of writing this, the latest version is 4.0.14 target: 2.0.48 # You can have multiple outputs diff --git a/src/mkcd2app/build_project/__init__.py b/src/mkcd2app/build_project/__init__.py index cf0a18c..b35f726 100644 --- a/src/mkcd2app/build_project/__init__.py +++ b/src/mkcd2app/build_project/__init__.py @@ -50,7 +50,7 @@ def build_project(config_yaml: str) -> BuildProjectResult: with ExitStack() as stack: template_path = stack.enter_context(get_resource_template_path("vite-project")) - template_content = ContentDir(str(template_path / "vite-project")) + template_content = ContentDir(str(template_path)) # Fetch game source code with `mkc`, `git`, or copy from disk code_path = fetch_code(config_yaml) diff --git a/src/mkcd2app/build_project/inputs/code.py b/src/mkcd2app/build_project/inputs/code.py index 29ac309..eb18845 100644 --- a/src/mkcd2app/build_project/inputs/code.py +++ b/src/mkcd2app/build_project/inputs/code.py @@ -78,7 +78,7 @@ def fetch_code(config_yaml: str) -> ContentDir: logger.debug("Writing mkc.json") version = config.target mkc_json = {"targetWebsite": f"https://arcade.makecode.com/v{version}"} - mkc_json_path.write_text(json.dumps(mkc_json)) + mkc_json_path.write_text(json.dumps(mkc_json), encoding="utf-8") logger.debug("Source code downloaded") return ContentDir(str(code_path)) diff --git a/src/mkcd2app/build_project/website.py b/src/mkcd2app/build_project/website.py index 98d4055..8012733 100644 --- a/src/mkcd2app/build_project/website.py +++ b/src/mkcd2app/build_project/website.py @@ -58,7 +58,7 @@ def fill_website_template( Example output: racers-website-filled :param config_yaml: The raw YAML text of the config file. - :param website_path: redun.ContentDir pointing to the deps-installed website. + :param website_path: redun.ContentDir pointing to the copied website template. :param bin_js_path: redun.ContentFile pointing to the binary JS file. :param support_path: redun.ContentDir pointing to the support file directory. :return: A redun.ContentDir pointing to the filled website directory. @@ -91,7 +91,7 @@ def fill_website_template( ) logger.debug(f'Using title "{title}" in index.html') index_html_path = dst / "index.html" - index_html_text = index_html_path.read_text() + index_html_text = index_html_path.read_text(encoding="utf-8") index_html_text = index_html_text.replace( "vite-project", f"{title}" ) @@ -106,16 +106,16 @@ def fill_website_template( ) logger.debug("Inlined favicon.ico into index.html") - index_html_path.write_text(index_html_text) + index_html_path.write_text(index_html_text, encoding="utf-8") logger.debug("Updating package.json") package_json_path = dst / "package.json" - package_json = json.loads(package_json_path.read_text()) + package_json = json.loads(package_json_path.read_text(encoding="utf-8")) package_json["name"] = config.project.path_friendly_name package_json["version"] = config.project.version package_json["description"] = config.project.description package_json["authors"] = {"name": config.project.author} - package_json_path.write_text(json.dumps(package_json, indent=2)) + package_json_path.write_text(json.dumps(package_json, indent=2), encoding="utf-8") logger.debug("Website template filled") return ContentDir(str(dst)) diff --git a/src/mkcd2app/config/__init__.py b/src/mkcd2app/config/__init__.py index d5cbc40..95d9bcb 100644 --- a/src/mkcd2app/config/__init__.py +++ b/src/mkcd2app/config/__init__.py @@ -18,10 +18,11 @@ def load_config_from_yaml(config_text: str) -> BuildConfig: logger.debug(f"Loading config from {len(config_text)} characters of YAML text") data = yaml.safe_load(config_text) - if data["version"] == 1: # only one config version so far + version = data.get("version") if isinstance(data, dict) else None + if version == 1: # only one config version so far config = BuildConfig(**data) else: - raise NotImplementedError(f"Unknown config version {data.version}") + raise NotImplementedError(f"Unknown config version {version}") logger.debug(f"Loaded config version {config.version}") return config diff --git a/src/mkcd2app/main.py b/src/mkcd2app/main.py index 95a9292..f85bd08 100644 --- a/src/mkcd2app/main.py +++ b/src/mkcd2app/main.py @@ -76,7 +76,7 @@ def main() -> None: config_path = Path(args.config) logger.debug(f"Building project with config {config_path}") - config_text = config_path.read_text() + config_text = config_path.read_text(encoding="utf-8") # Parse once only to extract build_dir for the redun DB path. # The raw YAML text is passed to redun tasks so that argument diff --git a/src/mkcd2app/target/install.py b/src/mkcd2app/target/install.py index df40b40..eca9e04 100644 --- a/src/mkcd2app/target/install.py +++ b/src/mkcd2app/target/install.py @@ -50,7 +50,7 @@ def warm_mkc_cache_for_version_and_get_binary_js_metadata( mkc_json_path = tmp_dir_path / "mkc.json" logger.debug("Writing mkc.json") mkc_json = {"targetWebsite": f"https://arcade.makecode.com/v{version}"} - mkc_json_path.write_text(json.dumps(mkc_json)) + mkc_json_path.write_text(json.dumps(mkc_json), encoding="utf-8") logger.debug("Running build to warm cache") run_cmd( @@ -66,6 +66,21 @@ def warm_mkc_cache_for_version_and_get_binary_js_metadata( return metadata.model_dump_json() +def _download_text(url: str) -> str: + """ + Download a text file and decode it as UTF-8. + + ``res.text`` falls back to ISO-8859-1 when the server sends no charset, which + mangles UTF-8 content, so decode the raw bytes ourselves. + + :param url: The URL to download. + :return: The decoded text. + """ + res = requests.get(url) + res.raise_for_status() + return res.content.decode("utf-8") + + @task(namespace="mkcd2app") def download_sim(bin_js_metadata: str, version: str) -> ContentFile: """ @@ -83,9 +98,7 @@ def download_sim(bin_js_metadata: str, version: str) -> ContentFile: ) logger.debug(f"Downloading main simulator file from {metadata.simUrl}") - res = requests.get(str(metadata.simUrl)) - res.raise_for_status() - sim_html = res.text + sim_html = _download_text(str(metadata.simUrl)) logger.debug( f"Analyzing sim HTML ({len(sim_html)} chars) for required CSS and JS files" @@ -98,26 +111,22 @@ def download_sim(bin_js_metadata: str, version: str) -> ContentFile: url = css.get("href") if url: logger.debug(f"Downloading CSS file {url}") - res = requests.get(str(url)) - res.raise_for_status() style_tag = soup.new_tag("style") - style_tag.string = res.text + style_tag.string = _download_text(str(url)) css.replace_with(style_tag) logger.debug(f"Inlined CSS from {url}") for js in js_scripts: url = js.get("src") if url: logger.debug(f"Downloading JS file {url}") - res = requests.get(str(url)) - res.raise_for_status() - js.string = res.text + js.string = _download_text(str(url)) del js["src"] logger.debug(f"Inlined JS from {url}") new_sim_html = soup.prettify(formatter="html5") path = get_sim_html_path(version) path.parent.mkdir(parents=True, exist_ok=True) - path.write_text(new_sim_html) + path.write_text(new_sim_html, encoding="utf-8") logger.debug(f"Wrote simulator HTML to {path}") diff --git a/src/mkcd2app/toolchain/uninstall.py b/src/mkcd2app/toolchain/uninstall.py index af77558..b9befea 100644 --- a/src/mkcd2app/toolchain/uninstall.py +++ b/src/mkcd2app/toolchain/uninstall.py @@ -13,7 +13,7 @@ def uninstall_toolchain() -> None: """ Uninstall the toolchain for this mkcd2app version by removing the toolchain - directory and its redun cache DB. + directory. The toolchain redun DB lives in the state dir and is left in place. """ logger.info("Uninstalling toolchain") diff --git a/src/mkcd2app/utils/resources.py b/src/mkcd2app/utils/resources.py index aff6db0..8640518 100644 --- a/src/mkcd2app/utils/resources.py +++ b/src/mkcd2app/utils/resources.py @@ -8,7 +8,7 @@ def get_resource_template_path(name: str | None = None) -> Iterator[Path]: ref = files("mkcd2app").joinpath("resources", "templates") if name: - ref.joinpath(name) + ref = ref.joinpath(name) with as_file(ref) as path: yield path diff --git a/src/mkcd2app/utils/text.py b/src/mkcd2app/utils/text.py index 48f1a77..f354984 100644 --- a/src/mkcd2app/utils/text.py +++ b/src/mkcd2app/utils/text.py @@ -12,7 +12,7 @@ def extract_meta_comment(file_path: Path) -> BinaryJSMetadata: :return: The metadata (a BinaryJSMetadata) :raises ValueError: If the meta comment is not found in file. """ - with file_path.open("rt") as f: + with file_path.open("rt", encoding="utf-8") as f: for line in f: line = line.strip() if line.startswith("// meta="): From 4d518d91d1874a89c6d326dab74ceb04b9a0ee40 Mon Sep 17 00:00:00 2001 From: Cyrus Yiu Date: Thu, 29 Oct 2026 16:22:05 -0400 Subject: [PATCH 16/46] Install website deps in their own task keyed on package.json and lockfile install_deps_and_build_website* hashed the whole filled site, so any game or asset change re-ran npm ci. install_website_deps now runs npm ci once from only the template's package.json and package-lock.json, and the renamed build_website* tasks copy that node_modules into their own site copy and run only npm run build*. static and static-singlefile share the one install. Co-Authored-By: Claude Opus 5.5 --- CLAUDE.md | 5 +- docs/PROJECT_CONTEXT.md | 12 ++-- src/mkcd2app/build_project/__init__.py | 22 ++++-- src/mkcd2app/build_project/website.py | 92 ++++++++++++++++++-------- 4 files changed, 91 insertions(+), 40 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index fc1aebe..f29a8f9 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -46,8 +46,9 @@ between tasks must go through task arguments/returns, not side channels. Build pipeline (`build_project/__init__.py`), each step a task: `fetch_code` → `build_binary_js` (runs `mkc`) + `copy_support_files` (simulator HTML -from the target dir, icon) + `copy_website_template` → `fill_website_template` → one -`install_deps_and_build_website*` task per entry in `outputs`. A new output type means +from the target dir, icon) + `copy_website_template` → `fill_website_template`, plus +`install_website_deps` (`npm ci` from only the template's `package.json` and lockfile) +→ one `build_website*` task per entry in `outputs`. A new output type means a new `case` arm in that `match` plus a field on `BuildProjectResult`. Conventions that matter for redun hashing: diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index 1153373..1c84a45 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -1,7 +1,7 @@ # MakeCode-Arcade-to-App Rewrite — Project Context -_Verified against `toolchain` @ `d7ad64a` plus the `MKCD2APP_HOME` change and the -small known-issue fixes, and `origin/main` @ `d31e2a5`, as of 2026-10-29._ +_Verified against `toolchain` @ `d7ad64a` plus the `MKCD2APP_HOME` change, the +small known-issue fixes, and the separate deps-install task, and `origin/main` @ `d31e2a5`, as of 2026-10-29._ ## Goal Rewrite `UnsignedArduino/MakeCode-Arcade-to-App` (converts MakeCode Arcade games into a @@ -50,6 +50,10 @@ hatchling, Python ≥3.14, ruff + mypy strict, pre-commit. - **Copy-on-write stages:** a path is never written after it's been returned as a `ContentDir`/`ContentFile` (`x-website` → `-filled` → `-filled-built`). - **Website builds are offline:** `npm ci --cache --offline`. + `install_website_deps` runs it once in `x-website-deps`, hashing only the template's + `package.json`/lockfile, so game and asset changes don't bust it. Each + `build_website*` task copies that `node_modules` into its own copy of the filled site + and runs only `npm run build*`. - **redun patches** (`_redun_compat.py`): `get_proto` (Windows drive letters), `ContentDir._calc_hash` and `Dir._calc_hash` (hash file contents, not mtimes). No tests cover them yet. @@ -110,8 +114,8 @@ Config: `version`, `project`, `inputs.code` (share_link | github | path), simulator HTML. Editing a path-sourced game returns the old cached build until `--full-rebuild`. Decided to rely on that flag for all sources rather than track each one. -- `install_deps_and_build_website*` hash the whole filled site, not just - `package.json`/lockfile, so changing an asset busts the dep cache. +- Fixed: the website dep install used to hash the whole filled site, so any asset + change re-ran `npm ci`; it's now its own task (see Architecture). - Fixed: `download_sim` now decodes downloads as UTF-8 instead of `res.text`, and all text file reads/writes in `src/` pass `encoding="utf-8"`. (The 4.0.14 simulator was pure ASCII, so this hadn't caused damage yet.) Also fixed: the `uninstall_toolchain` diff --git a/src/mkcd2app/build_project/__init__.py b/src/mkcd2app/build_project/__init__.py index b35f726..f9166b4 100644 --- a/src/mkcd2app/build_project/__init__.py +++ b/src/mkcd2app/build_project/__init__.py @@ -12,10 +12,12 @@ fetch_code, ) from mkcd2app.build_project.website import ( + _website_dir, + build_website, + build_website_singlefile, copy_website_template, fill_website_template, - install_deps_and_build_website, - install_deps_and_build_website_singlefile, + install_website_deps, ) from mkcd2app.config import load_config_from_yaml from mkcd2app.models.config import StaticOutput, StaticSinglefileOutput @@ -65,6 +67,13 @@ def build_project(config_yaml: str) -> BuildProjectResult: website_filled_path = fill_website_template( config_yaml, website_path, bin_js_path, support_path ) + # `npm ci` from only package.json + lockfile, so game/asset changes don't + # bust it; shared by every website output + node_modules = install_website_deps( + str(_website_dir(build_dir, config.project.path_friendly_name, "-deps")), + ContentFile(str(template_path / "package.json")), + ContentFile(str(template_path / "package-lock.json")), + ) results = BuildProjectResult() # Build the website outputs @@ -73,12 +82,13 @@ def build_project(config_yaml: str) -> BuildProjectResult: for output in config.outputs: match output.root: case StaticOutput(): - # Copy + `npm ci` + `npm run build` (separate dir for same reason) - results.static = install_deps_and_build_website(website_filled_path) + # Copy + node_modules + `npm run build` (separate dir for same + # reason) + results.static = build_website(website_filled_path, node_modules) logger.debug("Will build to static website") case StaticSinglefileOutput(): - results.static_singlefile = ( - install_deps_and_build_website_singlefile(website_filled_path) + results.static_singlefile = build_website_singlefile( + website_filled_path, node_modules ) logger.debug("Will build to static single-file website") diff --git a/src/mkcd2app/build_project/website.py b/src/mkcd2app/build_project/website.py index 8012733..f4a923c 100644 --- a/src/mkcd2app/build_project/website.py +++ b/src/mkcd2app/build_project/website.py @@ -122,27 +122,32 @@ def fill_website_template( @task(namespace="mkcd2app") -def install_deps_and_build_website(website_filled_path: ContentDir) -> ContentDir: +def install_website_deps( + deps_dir: str, package_json: ContentFile, package_lock: ContentFile +) -> ContentDir: """ - Make a copy of the template website, then ``npm ci`` and `npm run build` in it. + ``npm ci`` the template's dependencies in their own directory. - We copy so that we never mutate a ContentDir that another task owns, - keeping ContentDir hashes stable for caching. + Only package.json and package-lock.json are inputs, so changing the game or its + assets doesn't bust the cached install. The template's unfilled package.json is + used because filling only changes metadata that ``npm ci`` ignores. - Example input: racers-website-filled - Example output: racers-website-filled-built + Example input: racers-website-deps, package.json, package-lock.json + Example output: racers-website-deps/node_modules - :param website_filled_path: A redun.ContentDir pointing to the template website. - :return: A redun.ContentDir pointing to the directory of static HTML/CSS/JS files - ready to serve. + :param deps_dir: The directory to install into. + :param package_json: A redun.ContentFile pointing to the template's package.json. + :param package_lock: A redun.ContentFile pointing to the template's lockfile. + :return: A redun.ContentDir pointing to the installed node_modules. """ - src = Path(website_filled_path.path) - dst = src.parent / f"{src.name}-built" - logger.info("Installing website dependencies and building to static HTML/CSS/JS") + dst = Path(deps_dir) + logger.info("Installing website dependencies") if dst.exists(): shutil.rmtree(dst) - shutil.copytree(src, dst) + dst.mkdir(parents=True) + shutil.copy(package_json.path, dst / "package.json") + shutil.copy(package_lock.path, dst / "package-lock.json") cache_path = get_templates_npm_cache_dir() logger.debug(f"Using template npm cache at {cache_path} to install") @@ -150,6 +155,43 @@ def install_deps_and_build_website(website_filled_path: ContentDir) -> ContentDi run_cmd(["npm", "ci", "--cache", str(cache_path), "--offline"], cwd=dst) logger.debug("Website dependencies installed") + return ContentDir(str(dst / "node_modules")) + + +def _copy_site_with_deps(src: Path, dst: Path, node_modules: ContentDir) -> None: + """Copy the filled site to ``dst`` and put a copy of ``node_modules`` in it.""" + if dst.exists(): + shutil.rmtree(dst) + shutil.copytree(src, dst) + # Keep symlinks as symlinks: on POSIX node_modules/.bin entries are relative + # symlinks, and copying their targets breaks the scripts' relative imports + shutil.copytree(node_modules.path, dst / "node_modules", symlinks=True) + + +@task(namespace="mkcd2app") +def build_website( + website_filled_path: ContentDir, node_modules: ContentDir +) -> ContentDir: + """ + Make a copy of the filled website with node_modules, then `npm run build` in it. + + We copy so that we never mutate a ContentDir that another task owns, + keeping ContentDir hashes stable for caching. + + Example input: racers-website-filled, racers-website-deps/node_modules + Example output: racers-website-filled-built/dist + + :param website_filled_path: A redun.ContentDir pointing to the filled website. + :param node_modules: A redun.ContentDir pointing to the installed dependencies. + :return: A redun.ContentDir pointing to the directory of static HTML/CSS/JS files + ready to serve. + """ + src = Path(website_filled_path.path) + dst = src.parent / f"{src.name}-built" + logger.info("Building website to static HTML/CSS/JS") + + _copy_site_with_deps(src, dst, node_modules) + run_cmd(["npm", "run", "build"], cwd=dst) logger.debug("Website built successfully") @@ -161,34 +203,28 @@ def install_deps_and_build_website(website_filled_path: ContentDir) -> ContentDi @task(namespace="mkcd2app") -def install_deps_and_build_website_singlefile( - website_filled_path: ContentDir, +def build_website_singlefile( + website_filled_path: ContentDir, node_modules: ContentDir ) -> ContentFile: """ - Make a copy of the template website, then ``npm ci`` and `npm run build:singlefile` in it. + Make a copy of the filled website with node_modules, then + `npm run build:singlefile` in it. We copy so that we never mutate a ContentDir that another task owns, keeping ContentDir hashes stable for caching. - Example input: racers-website-filled + Example input: racers-website-filled, racers-website-deps/node_modules Example output: index.html - :param website_filled_path: A redun.ContentDir pointing to the template website. + :param website_filled_path: A redun.ContentDir pointing to the filled website. + :param node_modules: A redun.ContentDir pointing to the installed dependencies. :return: A redun.ContentFile pointing to the single-file HTML. """ src = Path(website_filled_path.path) dst = src.parent / f"{src.name}-singlefile-built" - logger.info("Installing website dependencies and building to static HTML file") + logger.info("Building website to static HTML file") - if dst.exists(): - shutil.rmtree(dst) - shutil.copytree(src, dst) - - cache_path = get_templates_npm_cache_dir() - logger.debug(f"Using template npm cache at {cache_path} to install") - - run_cmd(["npm", "ci", "--cache", str(cache_path), "--offline"], cwd=dst) - logger.debug("Website dependencies installed") + _copy_site_with_deps(src, dst, node_modules) run_cmd(["npm", "run", "build:singlefile"], cwd=dst) logger.debug("Website built successfully") From 6d9ed1b912bda3df23912a106e1984a5f282d4f7 Mon Sep 17 00:00:00 2001 From: Cyrus Yiu Date: Tue, 3 Nov 2026 16:41:13 -0500 Subject: [PATCH 17/46] Revise PROJECT_CONTEXT.md for toolchain polish, manage Node.js and Rust automatically --- docs/PROJECT_CONTEXT.md | 84 ++++++++++++++++++++++++++++++++++------- 1 file changed, 70 insertions(+), 14 deletions(-) diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index 1c84a45..a3c028e 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -1,14 +1,15 @@ # MakeCode-Arcade-to-App Rewrite — Project Context - + _Verified against `toolchain` @ `d7ad64a` plus the `MKCD2APP_HOME` change, the -small known-issue fixes, and the separate deps-install task, and `origin/main` @ `d31e2a5`, as of 2026-10-29._ - +small known-issue fixes, and the separate deps-install task, and `origin/main` @ `d31e2a5`, as of 2026-10-29. +External program requirements audited against `toolchain` @ `4d518d9` on 2026-11-03._ + ## Goal Rewrite `UnsignedArduino/MakeCode-Arcade-to-App` (converts MakeCode Arcade games into a static website, Electron app, or Tauri app). The original was basically a bash script written in Python. The rewrite turns it into an incremental build system that runs in CI and copes with churn in the JS ecosystem. - + ## Branches / PRs ``` main (legacy) ← PR #6 `dag` (draft) ← PR #7 `toolchain` (draft, base = dag) @@ -21,7 +22,6 @@ main (legacy) ← PR #6 `dag` (draft) ← PR #7 `toolchain` (draft, base = d (`src/convert/website_to_{electron,tauri}/`, `src/templates/{electron,tauri}_files/`). The `electron-output`/`tauri-output` branches are merged and out of date. The legacy code can't be ported as is; it has to be reimplemented on the new pipeline. - ## Layout (`src/mkcd2app/`) | Path | Purpose | |---|---| @@ -33,11 +33,11 @@ main (legacy) ← PR #6 `dag` (draft) ← PR #7 `toolchain` (draft, base = d | `toolchain/`, `target/` | install/uninstall tasks | | `utils/` | `run_cmd`, paths (platformdirs), `run_redun_task`, `rmtree_robust`, semver | | `resources/` | Vite+React+TS template, `mkc` js_tools, empty fixture project | - + Other: `tests/e2e/test_statics.py`, `tests/fixtures/`, `examples/` (Racers), CI workflows `lint.yaml` (ubuntu) and `e2e.yaml` (ubuntu/windows/macos). Tooling: uv, hatchling, Python ≥3.14, ruff + mypy strict, pre-commit. - + ## Architecture - **redun `0.44.1`** (pinned) is the DAG engine, embedded via `utils/run_redun_task.py`. Each command keeps its own SQLite DB (toolchain, target, @@ -57,7 +57,19 @@ hatchling, Python ≥3.14, ruff + mypy strict, pre-commit. - **redun patches** (`_redun_compat.py`): `get_proto` (Windows drive letters), `ContentDir._calc_hash` and `Dir._calc_hash` (hash file contents, not mtimes). No tests cover them yet. - +## External programs +`run_cmd` only ever runs `npm`, `mkc` and `git` (as of `4d518d9`): +- **Node.js ≥ 22.12 + npm, on PATH. Always required.** The floor comes from + `@rolldown/plugin-babel` (`>=22.12.0`); vite 8 / rolldown accept `^20.19 || >=22.12`, + `makecode` only needs ≥14. `mkc` is a Node script, so `node` must be on PATH too. + Nothing declares or checks this yet. Distro Node packages (e.g. Ubuntu apt) are too old. +- **git, on PATH. Only for `github` code sources** (`clone --filter=blob:none`, then + `checkout`). +- **Not needed:** system Python (uv downloads 3.14), a C compiler (all Python deps have + wheels except `redun`, which is a pure-Python sdist), npm native build tools + (rolldown/lightningcss ship prebuilt optional binaries; `fsevents` is macOS-only). +- The offline npm cache holds platform-specific binaries, so it only works on the OS/arch + that ran `toolchain install`. ## CLI Global `--debug` (goes before the subcommand). Commands must run in this order: ``` @@ -68,16 +80,16 @@ mkcd2app build [--full-rebuild] Also `toolchain uninstall` and `target uninstall `. `toolchain status` and `target list` are **stubs**. `build` has **no pre-flight checks**: a missing target fails with a raw `FileNotFoundError`, a missing toolchain with "Executable 'mkc' not found". - + State lives under `platformdirs` user dirs, namespaced by mkcd2app version (static `0.1.0`). A version bump means re-running both installs. Setting `MKCD2APP_HOME` moves them to `$MKCD2APP_HOME/{data,state}/` (`utils/paths.py`). `mkc`'s own compiler/extension caches aren't covered by this. - + Config: `version`, `project`, `inputs.code` (share_link | github | path), `inputs.assets.icon` (optional), `build_dir`, `target` (required, strict `x.y.z`), `outputs` (static | static-singlefile | electron | tauri). - + ## Status - **Done:** `static` and `static-singlefile` outputs; all code sources; toolchain/target split. Everything that needs the network is vendored at install time **except MakeCode @@ -95,7 +107,6 @@ Config: `version`, `project`, `inputs.code` (share_link | github | path), - **CI** (`lint.yaml`, `e2e.yaml`) runs on pushes to `main` and on PRs into any branch, so the stacked PRs get CI. Lint and all three e2e jobs are green on PR #7. - Only `tests/e2e` exists; there are no unit or integration tests yet. - ## Roadmap 1. ~~Fix e2e + CI~~ (done: fixture `target:`, isolated install fixture, caching on, job-status cache assertion, CI on all PRs). @@ -104,9 +115,53 @@ Config: `version`, `project`, `inputs.code` (share_link | github | path), 3. Unit/integration tests, including the redun patches. 4. Electron, then Tauri (reference: `main`). 5. Save-state for Electron/Tauri (investigate `pxtsim` postMessage). -6. Toolchain polish: `status`/`list`, `build` pre-flight, extension cache, version-pinning UX. +6. Toolchain polish: `status`/`list`, `build` pre-flight, extension cache, version-pinning + UX, and cutting external dependencies so that "only uv installed" works for static and + Electron outputs: + - **Node: managed by default, system as an opt-in.** `toolchain install` downloads the + official archive (`nodejs.org/dist/v/node-v--.{zip|tar.xz}`), + verifies it against `SHASUMS256.txt`, and extracts it to `/node//` + (`.zip` on Windows with binaries at the root; `.tar.xz` on macOS/Linux with + binaries in `bin/`, keeping symlinks and exec bits; musl needs the unofficial + builds). It's a redun task keyed on the version and removed by `toolchain uninstall`. + Nothing is added to the user's PATH. + - Fallback idea: depend on the `nodejs-wheel` PyPI package (official binaries as + wheels) instead of writing download code, at the cost of not choosing the Node + version. + - **Opting into a global Node/Rust:** a per-tool source of `managed | system | `, + set with `toolchain install --node=… --rust=…` (persisted in the toolchain state so + `build` uses the same choice), overridable by `MKCD2APP_NODE` / `MKCD2APP_RUST` env + vars (useful in CI, e.g. after `actions/setup-node`). `system` resolves from the + user's PATH; `` points at a specific install dir. In both, mkcd2app checks the + version (Node ≥ 22.12; Rust per Tauri's MSRV) and fails with a clear message instead + of downloading. `toolchain status` reports which source and version are active. + - **`run_cmd` gets an `env=`**, built by one helper that prepends the selected + Node/cargo bin dirs to the child's `PATH` (npm and the `mkc` shim run `node` from + PATH, so `which_path` alone isn't enough) and redirects caches into mkcd2app dirs: + `npm_config_cache`, and later `ELECTRON_CACHE` / `electron_config_cache` and, for a + managed Rust, `RUSTUP_HOME` / `CARGO_HOME`. + - **Rust: system by default, managed as an opt-in.** Tauri also needs OS packages that + need an admin install (MSVC Build Tools + WebView2 on Windows, Xcode CLT on macOS, + `webkit2gtk-4.1`/`libssl-dev` etc. on Linux), so a private rustup alone doesn't give + "only uv". `--rust=managed` bootstraps rustup into mkcd2app's own + `RUSTUP_HOME`/`CARGO_HOME`. Pre-flight checks list the missing OS packages with the + install command for that OS. Tauri only builds for the host OS. + - **Electron:** `toolchain install` pre-fetches the Electron (and electron-builder + helper) binaries into a redirected cache so the offline `npm ci` still works. + Cross-building, e.g. Windows targets from macOS/Linux, needs Wine; out of scope. + - **Drop the `git` binary:** use Dulwich (pure Python; Rust speedups are optional) for + clone + checkout. Don't rely on partial clone: `depth=1` + `branch=` for + branches/tags, a full clone for arbitrary SHAs. Generalise the source to + `git: {url, ref}` (any host: GitLab, Codeberg, self-hosted) and keep `github` as an + alias. Private repos need credentials handled by us (no system credential helper). + pygit2 (libgit2 bundled in its wheels) is the compiled alternative. + - **Distribution:** publish to PyPI so `uvx mkcd2app` / `uv tool install mkcd2app` is + the install story. A PyInstaller build (one per OS/arch; `--collect-data mkcd2app`; + check that redun works when frozen; unsigned builds hit Gatekeeper/SmartScreen) is + optional and doesn't remove the Tauri OS prerequisites. + - **Declare the Node floor:** add `"engines": {"node": ">=22.12"}` to the template's + `package.json` and check it in pre-flight. 7. Later: code signing, auto-update, README (currently a stub), schema docs. - ## Known issues - **Out-of-band inputs (by design):** `fetch_code` and `copy_support_files` only take the config YAML, so redun can't see changes to a @@ -122,3 +177,4 @@ Config: `version`, `project`, `inputs.code` (share_link | github | path), docstring, `get_resource_template_path(name)` ignoring `name`, `load_config_from_yaml` raising `AttributeError` on an unknown version, the stale `fill_website_template` docstring, and the stray comment in `Racers offline.yaml`. + From f8979bacc7d727e15bb2e58f6d667304a353848c Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 3 Nov 2026 22:01:20 +0000 Subject: [PATCH 18/46] Replace system git with dulwich for the github code source Cloning and checking out a `github` code source now uses dulwich (pure Python) in `utils/git.py`, so a globally installed `git` is no longer required. Branches and tags get a shallow `depth=1` + `branch=` clone. Anything else is treated as a (possibly short) commit SHA and gets a full clone followed by a checkout. That clone checks out the default branch first, because dulwich's checkout only writes files that differ from the current HEAD tree and leaves the worktree empty when the target's tree matches HEAD. Clone progress is only shown with --debug, since dulwich's \r-separated progress floods non-TTY logs. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Mbb9ZcxTDte5nuYr92ZaBg --- docs/PROJECT_CONTEXT.md | 20 ++++--- pyproject.toml | 1 + src/mkcd2app/build_project/__init__.py | 2 +- src/mkcd2app/build_project/inputs/code.py | 17 ++---- src/mkcd2app/utils/git.py | 63 +++++++++++++++++++++++ uv.lock | 42 +++++++++++++++ 6 files changed, 122 insertions(+), 23 deletions(-) create mode 100644 src/mkcd2app/utils/git.py diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index a3c028e..eb402d0 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -2,7 +2,8 @@ _Verified against `toolchain` @ `d7ad64a` plus the `MKCD2APP_HOME` change, the small known-issue fixes, and the separate deps-install task, and `origin/main` @ `d31e2a5`, as of 2026-10-29. -External program requirements audited against `toolchain` @ `4d518d9` on 2026-11-03._ +External program requirements audited against `toolchain` @ `4d518d9` on 2026-11-03, then +updated for the Dulwich git replacement the same day._ ## Goal Rewrite `UnsignedArduino/MakeCode-Arcade-to-App` (converts MakeCode Arcade games into a @@ -31,7 +32,7 @@ main (legacy) ← PR #6 `dag` (draft) ← PR #7 `toolchain` (draft, base = d | `config/`, `models/` | YAML loader; pydantic `BuildConfig`, `BinaryJSMetadata` | | `build_project/` | `build_project` task, website tasks, code inputs | | `toolchain/`, `target/` | install/uninstall tasks | -| `utils/` | `run_cmd`, paths (platformdirs), `run_redun_task`, `rmtree_robust`, semver | +| `utils/` | `run_cmd`, paths (platformdirs), `run_redun_task`, `rmtree_robust`, semver, `git` (Dulwich clone/checkout) | | `resources/` | Vite+React+TS template, `mkc` js_tools, empty fixture project | Other: `tests/e2e/test_statics.py`, `tests/fixtures/`, `examples/` (Racers), CI @@ -58,13 +59,16 @@ hatchling, Python ≥3.14, ruff + mypy strict, pre-commit. `ContentDir._calc_hash` and `Dir._calc_hash` (hash file contents, not mtimes). No tests cover them yet. ## External programs -`run_cmd` only ever runs `npm`, `mkc` and `git` (as of `4d518d9`): +`run_cmd` only ever runs `npm` and `mkc`: - **Node.js ≥ 22.12 + npm, on PATH. Always required.** The floor comes from `@rolldown/plugin-babel` (`>=22.12.0`); vite 8 / rolldown accept `^20.19 || >=22.12`, `makecode` only needs ≥14. `mkc` is a Node script, so `node` must be on PATH too. Nothing declares or checks this yet. Distro Node packages (e.g. Ubuntu apt) are too old. -- **git, on PATH. Only for `github` code sources** (`clone --filter=blob:none`, then - `checkout`). +- **Not git:** `github` code sources are cloned with Dulwich (pure Python, + `utils/git.py`). Branches/tags get `depth=1` + `branch=`; anything else is taken as a + (short) SHA and gets a full clone + `porcelain.checkout`. That clone checks out the + default branch first, because Dulwich's checkout only writes files that differ from + the current HEAD tree and leaves an empty worktree when the target's tree matches HEAD. - **Not needed:** system Python (uv downloads 3.14), a C compiler (all Python deps have wheels except `redun`, which is a pure-Python sdist), npm native build tools (rolldown/lightningcss ship prebuilt optional binaries; `fsevents` is macOS-only). @@ -149,9 +153,9 @@ Config: `version`, `project`, `inputs.code` (share_link | github | path), - **Electron:** `toolchain install` pre-fetches the Electron (and electron-builder helper) binaries into a redirected cache so the offline `npm ci` still works. Cross-building, e.g. Windows targets from macOS/Linux, needs Wine; out of scope. - - **Drop the `git` binary:** use Dulwich (pure Python; Rust speedups are optional) for - clone + checkout. Don't rely on partial clone: `depth=1` + `branch=` for - branches/tags, a full clone for arbitrary SHAs. Generalise the source to + - ~~**Drop the `git` binary**~~ (done: Dulwich clone + checkout, `depth=1` + + `branch=` for branches/tags, full clone for SHAs; see External programs). Still to + do: generalise the source to `git: {url, ref}` (any host: GitLab, Codeberg, self-hosted) and keep `github` as an alias. Private repos need credentials handled by us (no system credential helper). pygit2 (libgit2 bundled in its wheels) is the compiled alternative. diff --git a/pyproject.toml b/pyproject.toml index 3783e5d..3730fd5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,6 +17,7 @@ dependencies = [ "beautifulsoup4", "pillow", "platformdirs>=4.11.0", + "dulwich>=1.2.20", ] [project.scripts] diff --git a/src/mkcd2app/build_project/__init__.py b/src/mkcd2app/build_project/__init__.py index f9166b4..6d774f1 100644 --- a/src/mkcd2app/build_project/__init__.py +++ b/src/mkcd2app/build_project/__init__.py @@ -54,7 +54,7 @@ def build_project(config_yaml: str) -> BuildProjectResult: template_path = stack.enter_context(get_resource_template_path("vite-project")) template_content = ContentDir(str(template_path)) - # Fetch game source code with `mkc`, `git`, or copy from disk + # Fetch game source code with `mkc`, dulwich (git), or copy from disk code_path = fetch_code(config_yaml) # Build binary.js with `mkc` bin_js_path = build_binary_js(config_yaml, code_path) diff --git a/src/mkcd2app/build_project/inputs/code.py b/src/mkcd2app/build_project/inputs/code.py index eb18845..f78a32a 100644 --- a/src/mkcd2app/build_project/inputs/code.py +++ b/src/mkcd2app/build_project/inputs/code.py @@ -18,6 +18,7 @@ UrlAssetSource, ) from mkcd2app.utils.filesystem import rmtree_robust +from mkcd2app.utils.git import clone_and_checkout from mkcd2app.utils.logger import create_logger from mkcd2app.utils.paths import get_js_tools_bin_dir, get_sim_html_path from mkcd2app.utils.run import run_cmd @@ -56,20 +57,8 @@ def fetch_code(config_yaml: str) -> ContentDir: ) case GitHubCodeSource(value=url, checkout=checkout_target): logger.debug(f"Cloning source code from {url}@{checkout_target}") - abs_code_path = code_path.resolve() - abs_code_path.parent.mkdir(parents=True, exist_ok=True) - run_cmd( - [ - "git", - "clone", - "--filter=blob:none", - "--no-checkout", - str(url), - str(abs_code_path), - ], - cwd=abs_code_path.parent, - ) - run_cmd(["git", "checkout", checkout_target], cwd=abs_code_path) + code_path.parent.mkdir(parents=True, exist_ok=True) + clone_and_checkout(str(url), code_path, checkout_target) case PathCodeSource(value=path): logger.debug(f"Copying source code from {path}") shutil.copytree(path, code_path) diff --git a/src/mkcd2app/utils/git.py b/src/mkcd2app/utils/git.py new file mode 100644 index 0000000..047cc57 --- /dev/null +++ b/src/mkcd2app/utils/git.py @@ -0,0 +1,63 @@ +import logging +import os +import sys +from pathlib import Path +from typing import BinaryIO + +from dulwich import porcelain + +from mkcd2app.utils.logger import create_logger + +logger = create_logger(name=__name__, level=logging.INFO) + + +def clone_and_checkout(url: str, path: Path, checkout_target: str) -> None: + """ + Clone a git repository and check out a branch, tag, or commit, using dulwich + (pure Python) so no `git` executable is needed. + + Branches and tags get a shallow (depth 1) clone. Anything else is treated as a + (possibly abbreviated) commit SHA, which needs a full clone because a shallow + clone can only fetch refs the server advertises. + + :param url: The URL of the repository to clone. + :param path: The directory to clone into. Must not exist or be empty. + :param checkout_target: A branch name, tag name, or (possibly abbreviated) + commit SHA. + """ + # dulwich writes \r-separated progress to errstream, which floods non-TTY logs + # (like CI), so only show it with --debug + show_progress = logger.isEnabledFor(logging.DEBUG) + with open(os.devnull, "wb") as devnull: + errstream: BinaryIO = sys.stderr.buffer if show_progress else devnull + try: + logger.debug(f"Shallow cloning {url}@{checkout_target} to {path}") + with porcelain.clone( + url, + str(path), + depth=1, + branch=checkout_target, + errstream=errstream, + ): + return + except ValueError: + # dulwich raises ValueError (and removes the directory) when + # checkout_target isn't a branch or tag on the remote + logger.debug( + f"{checkout_target!r} is not a branch or tag, assuming a commit SHA" + ) + + logger.debug(f"Cloning {url} to {path}") + # Check out the default branch first: dulwich's checkout only writes files + # that differ from the current HEAD tree, so after a no-checkout clone + # (empty worktree), a target with the same tree as HEAD would write nothing. + with porcelain.clone(url, str(path), errstream=errstream): + pass + + logger.debug(f"Checking out {checkout_target}") + try: + porcelain.checkout(str(path), checkout_target) + except KeyError: + raise ValueError( + f"Could not find branch, tag, or commit {checkout_target!r} in {url}" + ) from None diff --git a/uv.lock b/uv.lock index 3212d6e..0f83316 100644 --- a/uv.lock +++ b/uv.lock @@ -297,6 +297,46 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/02/08/9c41fb51ab5b43eb21674aff13df270e8ba6c4b29c8624e328dc7a9482af/distlib-0.4.3-py2.py3-none-any.whl", hash = "sha256:4b0ce306c966eb73bc3a7b6abad017c556dadd92c44701562cd528ac7fde4d5b", size = 470628, upload-time = "2026-06-12T08:04:50.506Z" }, ] +[[package]] +name = "dulwich" +version = "1.2.20" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/18/92/e47acfff672d6219d1bba1c210f902c1ad4a58d8c68eb89fe0b786f00a68/dulwich-1.2.20.tar.gz", hash = "sha256:28e1f48098d2cb157e722588466070cbefdfe8093c2a141c568b01362296c0f3", size = 1443547, upload-time = "2026-10-26T21:42:03.075Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6c/54/81b54b6ea48d347e8d408ba6f522680dd3a51181eb07c8381891c1f6bea9/dulwich-1.2.20-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:cf092fc46beb13b589d81c8b555d462f4848f79aa3ac40497e312d156749aa0e", size = 1591799, upload-time = "2026-10-26T21:41:17.862Z" }, + { url = "https://files.pythonhosted.org/packages/ef/3d/8915d557e3433af5731479c3fb676133148f3a522c320edba6e55748bc72/dulwich-1.2.20-cp314-cp314-android_24_x86_64.whl", hash = "sha256:8153780c99af33bc3c9fc46fa8381bc792d89f5b85ed90e751a7c55216d5e9c2", size = 1647161, upload-time = "2026-10-26T21:41:19.357Z" }, + { url = "https://files.pythonhosted.org/packages/a4/65/033a59758369bdf86db793373994366d8cc019652d29a96a52861b272687/dulwich-1.2.20-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c28de206253ab36de2cf64cb416a250e104f1a460476ebd6d838a112a2abc314", size = 1443388, upload-time = "2026-10-26T21:41:20.688Z" }, + { url = "https://files.pythonhosted.org/packages/6d/e1/f136f9171727a6d9b380dbefd1f673a426cf876ee35881e3ad041aeb7b25/dulwich-1.2.20-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b281c75d6a7d2cde5206af349564e20124511895c2766a89c901a4addb4aea80", size = 1424821, upload-time = "2026-10-26T21:41:22.078Z" }, + { url = "https://files.pythonhosted.org/packages/8c/30/09492157eac271c4d3cb7101b9b2e7870699c0603ca2b2550d39a72b6cf3/dulwich-1.2.20-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:a3d8092beaafe801d0d4221ae5173fed0d2d67c65f290679f456ff606a78fe51", size = 1559645, upload-time = "2026-10-26T21:41:23.448Z" }, + { url = "https://files.pythonhosted.org/packages/56/86/6e22635bdd9a361c5c274449dbf1322023ed6b622d652a6f64de37c150a6/dulwich-1.2.20-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:e983fa6a8aeb5026e8b7c7086f3b60604895d218a36d56792065d6288a3839c3", size = 1535342, upload-time = "2026-10-26T21:41:24.819Z" }, + { url = "https://files.pythonhosted.org/packages/69/60/0844bdfdc5578c13f0f6ece06c3c0ebb71f4f7bd4d9b46dc9f09f0864c92/dulwich-1.2.20-cp314-cp314-win32.whl", hash = "sha256:c35060cd74cf4947cfe79469521c9b5ec1e05aed638a9e9d116266349d397a70", size = 1173400, upload-time = "2026-10-26T21:41:26.579Z" }, + { url = "https://files.pythonhosted.org/packages/24/da/0a6409210ccc3557d092a25d88995d924f94680a329a0552b476543efc21/dulwich-1.2.20-cp314-cp314-win_amd64.whl", hash = "sha256:51bc52582d5fd95315ffbd75667b12784b4e1845396a1919abe0cf84e496b5b0", size = 1130390, upload-time = "2026-10-26T21:41:28.033Z" }, + { url = "https://files.pythonhosted.org/packages/d3/63/b7d71d6ead942cdf4d01e9e1273cd01c47dc05553713e1092a4431a8c26a/dulwich-1.2.20-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:da70bf6a8bf0e693c09217b4764fcca3d067edb5bcc192c5fe3aa24ad311de08", size = 1504581, upload-time = "2026-10-26T21:41:30.034Z" }, + { url = "https://files.pythonhosted.org/packages/57/1e/67b571aab9895fc2c82d7b85354302d28842584974e5230edb553ed44c47/dulwich-1.2.20-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:16675b9502ce7fb30def56359aef8f1df450037646c1b5dd2f03976982425bab", size = 1422252, upload-time = "2026-10-26T21:41:31.824Z" }, + { url = "https://files.pythonhosted.org/packages/d2/7d/2f17e2f3e80da9726a26893956e91fc6f0c8b9cca075b5dded1ebd44cf0b/dulwich-1.2.20-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:bf60e8590bd2fa466d9412617d96d61e16b3cc02b5bd5b8059297977086ee82a", size = 1556477, upload-time = "2026-10-26T21:41:33.473Z" }, + { url = "https://files.pythonhosted.org/packages/69/0c/e9859aa442a15900fff7a273ecfb490e0e990ae2d0d69621dba2eac94fee/dulwich-1.2.20-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:774e5c4e7856ca1e39b5684603a4de53f1a5d8baf70eacad7d432ac5bb1e1d95", size = 1535383, upload-time = "2026-10-26T21:41:34.899Z" }, + { url = "https://files.pythonhosted.org/packages/2c/47/c1dd1d8545f2a7cba77b69e9c1f9b7fd62e299b0ab2f7e80bfc027ed6393/dulwich-1.2.20-cp314-cp314t-win32.whl", hash = "sha256:f90a99b1f1198c2757abea1ed8e359014b2931f6046892efaed4677021a5060c", size = 1113568, upload-time = "2026-10-26T21:41:36.366Z" }, + { url = "https://files.pythonhosted.org/packages/21/1a/89e4557e99af883e1add3b91c86390b0d84813cf17d6d763287a6a51dab8/dulwich-1.2.20-cp314-cp314t-win_amd64.whl", hash = "sha256:f78c50152186374124f5e9ae397148b4302028e93b0bf2fc17862f8906650ac1", size = 1130923, upload-time = "2026-10-26T21:41:37.803Z" }, + { url = "https://files.pythonhosted.org/packages/b4/f9/6a76551f6df6ded25be23df7feb5f9b9ba9c716968888ebeb962470833a0/dulwich-1.2.20-cp315-cp315-android_24_arm64_v8a.whl", hash = "sha256:9e74e9c49dd2f0c206b029e474cefefdcfa07f1162f47353d4bac529668ad6a5", size = 1593369, upload-time = "2026-10-26T21:41:39.535Z" }, + { url = "https://files.pythonhosted.org/packages/da/4e/bd3f0b4f2e60c11c65d944a295d9d3b99d56a228ee13d01e0bb49ad6cedf/dulwich-1.2.20-cp315-cp315-android_24_x86_64.whl", hash = "sha256:83ba7f16f5eb6589ac1393a84578a38704a7c67fce73ce3c8eb16c4f02830153", size = 1648522, upload-time = "2026-10-26T21:41:40.993Z" }, + { url = "https://files.pythonhosted.org/packages/87/43/57434f696f893ae5f247c79e3f555f4cfe9dee9b3e038e3fdd036116d3b3/dulwich-1.2.20-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:4bb6d707cd8cc197df9c147058608c47ae2f4f428f7473a97f66e36bb57883b8", size = 1444916, upload-time = "2026-10-26T21:41:42.459Z" }, + { url = "https://files.pythonhosted.org/packages/fc/05/35f29728e0e0bcc3470fb51cd346565a1f7f6d0ec2bf30c33d7d4f182c8e/dulwich-1.2.20-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:fa74d4436dce73230832a6a95aeccc5c64672b2d201eb53a09aa0f2a7e2b86d3", size = 1425723, upload-time = "2026-10-26T21:41:44.152Z" }, + { url = "https://files.pythonhosted.org/packages/ff/69/40f1e9ca06b500928c75c6bbdeb52adb8d9e44f2afe81e3a22a9b19579d1/dulwich-1.2.20-cp315-cp315-manylinux_2_28_aarch64.whl", hash = "sha256:ac11231f391b6b9cf7bd1d689c36dc5827ea8426833cc51d9f3ee40c8efe9c86", size = 1560093, upload-time = "2026-10-26T21:41:45.583Z" }, + { url = "https://files.pythonhosted.org/packages/d2/cd/23dd00b59286defb2ffeb54dabf4e0613e9366766092eb66a875da5ddf2e/dulwich-1.2.20-cp315-cp315-manylinux_2_28_x86_64.whl", hash = "sha256:827d56649028ab1ca34d9d2bdec6dc5c6f108caf2074880a647474c342d37ca2", size = 1536152, upload-time = "2026-10-26T21:41:47.835Z" }, + { url = "https://files.pythonhosted.org/packages/93/dd/15d11f187435ffc5e45223f2fe04ed8c55df57904f40ba98920ea9381212/dulwich-1.2.20-cp315-cp315-win32.whl", hash = "sha256:72335dd97d552927aa3460ee3199953b28d12fa8c110e9fe383dc63f9c919cec", size = 1173853, upload-time = "2026-10-26T21:41:49.212Z" }, + { url = "https://files.pythonhosted.org/packages/77/e5/b3be3f8f8bcbd53b75cf4f9baf082b518b65699d0e1350b7abccb0ae7db4/dulwich-1.2.20-cp315-cp315-win_amd64.whl", hash = "sha256:56c4798acf8dc27bdea670fa8211d69e22c82663a21b10221c5133635a81fd92", size = 1130602, upload-time = "2026-10-26T21:41:50.555Z" }, + { url = "https://files.pythonhosted.org/packages/92/bd/15c18c882db82809e9e7c1ce6b275892cd89d24bead8fe158ccf9457f2e1/dulwich-1.2.20-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:dd1e931220d1c5b2c584d1e3b79f4eb06f46ed70bc48a7f927d79f4907a079cc", size = 1505493, upload-time = "2026-10-26T21:41:52.195Z" }, + { url = "https://files.pythonhosted.org/packages/55/fe/3fc67d5987f796091b17ecbbbc8abcd515b445e7d3533881a4cada92dbd6/dulwich-1.2.20-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:b147b8066804160cdf71927826cfac19322a16b2816de979d20f36a1624af3c7", size = 1481699, upload-time = "2026-10-26T21:41:53.759Z" }, + { url = "https://files.pythonhosted.org/packages/93/88/b5259292509fcad7cbeabe70baf78f9dbee654a9ebf6716d50386215107c/dulwich-1.2.20-cp315-cp315t-manylinux_2_28_aarch64.whl", hash = "sha256:a68464a882d478f15835494cdb1b7f0bdc2c7aa4d1d4f96606467dc251841da9", size = 1557880, upload-time = "2026-10-26T21:41:55.223Z" }, + { url = "https://files.pythonhosted.org/packages/b8/26/c5373c21176fd5cb108ab94473efd5162e42471ba63516d9dc791a6ee7d7/dulwich-1.2.20-cp315-cp315t-manylinux_2_28_x86_64.whl", hash = "sha256:deeebe420db3387c38c3c18ed996a17a9a0b322fe72eaaa9e3fbb46a7e36cacb", size = 1536154, upload-time = "2026-10-26T21:41:56.871Z" }, + { url = "https://files.pythonhosted.org/packages/10/ea/2b70d9272ce8edd6e87e927e50bf7a66902530f648b57d3522898ab8eeea/dulwich-1.2.20-cp315-cp315t-win32.whl", hash = "sha256:4b03cc7be57a0ee37d1a53d09cbd99f9c8581fa04f94b3365e00498a32216b2c", size = 1113845, upload-time = "2026-10-26T21:41:58.521Z" }, + { url = "https://files.pythonhosted.org/packages/3e/1a/7ee4452d14e2b05f14f292c1725a092067f6d0485b3b0afce45805e2b676/dulwich-1.2.20-cp315-cp315t-win_amd64.whl", hash = "sha256:28cb103caffc60369b54159e41d2799d69d3107ac78b79bceaedc407977ec47d", size = 1131638, upload-time = "2026-10-26T21:42:00.005Z" }, + { url = "https://files.pythonhosted.org/packages/08/c8/217841f8ae98909dd2045cfd9e9060791ae1dc9c0d2239672ae318b28796/dulwich-1.2.20-py3-none-any.whl", hash = "sha256:ab521391c3475e7c507f14aeacad0cdf26e97ba5050d8010a1ff34e417c9a842", size = 758582, upload-time = "2026-10-26T21:42:01.525Z" }, +] + [[package]] name = "fancycompleter" version = "0.11.1" @@ -573,6 +613,7 @@ version = "0.1.0" source = { editable = "." } dependencies = [ { name = "beautifulsoup4" }, + { name = "dulwich" }, { name = "pillow" }, { name = "platformdirs" }, { name = "pydantic" }, @@ -594,6 +635,7 @@ dev = [ [package.metadata] requires-dist = [ { name = "beautifulsoup4" }, + { name = "dulwich", specifier = ">=1.2.20" }, { name = "pillow" }, { name = "platformdirs", specifier = ">=4.11.0" }, { name = "pydantic" }, From 5a70495e83f6b121cb4f029c61f4230847d74c0b Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 3 Nov 2026 22:31:48 +0000 Subject: [PATCH 19/46] Generalise the github code source to git: {url, ref} Add a `git` code source taking any URL dulwich can clone (https, http, git, file, or ssh with an `ssh` binary) and an optional `ref` (branch, tag, or commit SHA; omitted means the remote's default branch), so games can come from GitLab, Codeberg, or self-hosted servers. The `github` source stays as an alias with its existing `value`/`checkout` fields, and `fetch_code` handles both in one case. Add the first unit tests: config parsing for both source types, and `clone_and_checkout` against a local repo built with dulwich so they run offline, including the same-tree-as-HEAD empty worktree regression. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Mbb9ZcxTDte5nuYr92ZaBg --- docs/PROJECT_CONTEXT.md | 37 +++++--- examples/Racers offline.yaml | 2 +- examples/Racers.yaml | 9 +- src/mkcd2app/build_project/inputs/code.py | 9 +- src/mkcd2app/cli.py | 2 +- src/mkcd2app/models/config.py | 21 ++++- src/mkcd2app/utils/git.py | 34 +++---- .../fixtures/empty_game_build_to_statics.yaml | 2 +- tests/unit/test_config_code_source.py | 83 +++++++++++++++++ tests/unit/test_git.py | 89 +++++++++++++++++++ 10 files changed, 244 insertions(+), 44 deletions(-) create mode 100644 tests/unit/test_config_code_source.py create mode 100644 tests/unit/test_git.py diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index eb402d0..ee7099f 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -3,7 +3,7 @@ _Verified against `toolchain` @ `d7ad64a` plus the `MKCD2APP_HOME` change, the small known-issue fixes, and the separate deps-install task, and `origin/main` @ `d31e2a5`, as of 2026-10-29. External program requirements audited against `toolchain` @ `4d518d9` on 2026-11-03, then -updated for the Dulwich git replacement the same day._ +updated for the Dulwich git replacement and the generic `git` code source the same day._ ## Goal Rewrite `UnsignedArduino/MakeCode-Arcade-to-App` (converts MakeCode Arcade games into a @@ -35,7 +35,7 @@ main (legacy) ← PR #6 `dag` (draft) ← PR #7 `toolchain` (draft, base = d | `utils/` | `run_cmd`, paths (platformdirs), `run_redun_task`, `rmtree_robust`, semver, `git` (Dulwich clone/checkout) | | `resources/` | Vite+React+TS template, `mkc` js_tools, empty fixture project | -Other: `tests/e2e/test_statics.py`, `tests/fixtures/`, `examples/` (Racers), CI +Other: `tests/e2e/test_statics.py`, `tests/unit/` (config code sources, `utils/git`), `tests/fixtures/`, `examples/` (Racers), CI workflows `lint.yaml` (ubuntu) and `e2e.yaml` (ubuntu/windows/macos). Tooling: uv, hatchling, Python ≥3.14, ruff + mypy strict, pre-commit. @@ -64,9 +64,9 @@ hatchling, Python ≥3.14, ruff + mypy strict, pre-commit. `@rolldown/plugin-babel` (`>=22.12.0`); vite 8 / rolldown accept `^20.19 || >=22.12`, `makecode` only needs ≥14. `mkc` is a Node script, so `node` must be on PATH too. Nothing declares or checks this yet. Distro Node packages (e.g. Ubuntu apt) are too old. -- **Not git:** `github` code sources are cloned with Dulwich (pure Python, - `utils/git.py`). Branches/tags get `depth=1` + `branch=`; anything else is taken as a - (short) SHA and gets a full clone + `porcelain.checkout`. That clone checks out the +- **Not git:** `git` (and `github`) code sources are cloned with Dulwich (pure Python, + `utils/git.py`). The default branch and branches/tags get `depth=1` (+ `branch=`); + anything else is taken as a (short) SHA and gets a full clone + `porcelain.checkout`. That clone checks out the default branch first, because Dulwich's checkout only writes files that differ from the current HEAD tree and leaves an empty worktree when the target's tree matches HEAD. - **Not needed:** system Python (uv downloads 3.14), a C compiler (all Python deps have @@ -90,9 +90,13 @@ State lives under `platformdirs` user dirs, namespaced by mkcd2app version (stat moves them to `$MKCD2APP_HOME/{data,state}/` (`utils/paths.py`). `mkc`'s own compiler/extension caches aren't covered by this. -Config: `version`, `project`, `inputs.code` (share_link | github | path), +Config: `version`, `project`, `inputs.code` (share_link | git | github | path), `inputs.assets.icon` (optional), `build_dir`, `target` (required, strict `x.y.z`), -`outputs` (static | static-singlefile | electron | tauri). +`outputs` (static | static-singlefile | electron | tauri). `git` takes `url` (pydantic +`AnyUrl`: https/http/git/file, or ssh:// which needs an `ssh` binary) and an optional +`ref` (branch, tag, or SHA; omitted = the remote's default branch). `github` is the older +alias, `{value: , checkout: }`, kept for existing +configs; `fetch_code` handles both in one `case`. ## Status - **Done:** `static` and `static-singlefile` outputs; all code sources; toolchain/target @@ -110,13 +114,17 @@ Config: `version`, `project`, `inputs.code` (share_link | github | path), Nothing yet tests that changing an input does trigger a rebuild. - **CI** (`lint.yaml`, `e2e.yaml`) runs on pushes to `main` and on PRs into any branch, so the stacked PRs get CI. Lint and all three e2e jobs are green on PR #7. -- Only `tests/e2e` exists; there are no unit or integration tests yet. +- `tests/unit` covers config parsing of the `git`/`github` sources and + `clone_and_checkout` against a local repo built with Dulwich (default branch, branch, + tag, short/full SHA, the same-tree-as-HEAD regression, unknown ref), so it runs + offline. Fixture commits pass `sign=False`, since Dulwich honours a user's + `commit.gpgsign`. Nothing covers the redun patches yet. ## Roadmap 1. ~~Fix e2e + CI~~ (done: fixture `target:`, isolated install fixture, caching on, job-status cache assertion, CI on all PRs). 2. ~~Rename `--clear-cache`~~ (done: now `--full-rebuild`, and its help text says to use it for out-of-band input changes). Still belongs in the README once that exists. -3. Unit/integration tests, including the redun patches. +3. More unit/integration tests, including the redun patches (`git` sources are covered). 4. Electron, then Tauri (reference: `main`). 5. Save-state for Electron/Tauri (investigate `pxtsim` postMessage). 6. Toolchain polish: `status`/`list`, `build` pre-flight, extension cache, version-pinning @@ -154,10 +162,11 @@ Config: `version`, `project`, `inputs.code` (share_link | github | path), helper) binaries into a redirected cache so the offline `npm ci` still works. Cross-building, e.g. Windows targets from macOS/Linux, needs Wine; out of scope. - ~~**Drop the `git` binary**~~ (done: Dulwich clone + checkout, `depth=1` + - `branch=` for branches/tags, full clone for SHAs; see External programs). Still to - do: generalise the source to - `git: {url, ref}` (any host: GitLab, Codeberg, self-hosted) and keep `github` as an - alias. Private repos need credentials handled by us (no system credential helper). + `branch=` for branches/tags, full clone for SHAs; see External programs). + ~~Generalise the source to `git: {url, ref}`~~ (done, `github` kept as an alias). + Still to do: private repos need credentials handled by us (no system credential + helper); a token embedded in the URL would work but gets logged and written to + the clone's `.git/config`. pygit2 (libgit2 bundled in its wheels) is the compiled alternative. - **Distribution:** publish to PyPI so `uvx mkcd2app` / `uv tool install mkcd2app` is the install story. A PyInstaller build (one per OS/arch; `--collect-data mkcd2app`; @@ -169,7 +178,7 @@ Config: `version`, `project`, `inputs.code` (share_link | github | path), ## Known issues - **Out-of-band inputs (by design):** `fetch_code` and `copy_support_files` only take the config YAML, so redun can't see changes to a - `path` code source, a `github` branch checkout, an icon path/URL, or the installed + `path` code source, a `git`/`github` branch checkout (or omitted `ref`), an icon path/URL, or the installed simulator HTML. Editing a path-sourced game returns the old cached build until `--full-rebuild`. Decided to rely on that flag for all sources rather than track each one. diff --git a/examples/Racers offline.yaml b/examples/Racers offline.yaml index 247c8b1..8d12483 100644 --- a/examples/Racers offline.yaml +++ b/examples/Racers offline.yaml @@ -19,7 +19,7 @@ project: title: "{NAME} v{VERSION}" inputs: - # Can be share_link, github, or path + # Can be share_link, git, or path (github is an older alias for git) code: type: path value: "E:/Racers" diff --git a/examples/Racers.yaml b/examples/Racers.yaml index 210e28f..aa32143 100644 --- a/examples/Racers.yaml +++ b/examples/Racers.yaml @@ -19,15 +19,16 @@ project: title: "{NAME} v{VERSION}" inputs: - # Can be share_link, github, or path + # Can be share_link, git, or path (github is an older alias for git) code: type: share_link value: https://arcade.makecode.com/84426-33815-03715-00484 # code: -# type: github -# value: https://github.com/UnsignedArduino/Racers -# checkout: master +# type: git +# url: https://github.com/UnsignedArduino/Racers +# # Branch, tag, or commit SHA. Optional, defaults to the default branch +# ref: master # code: # type: path diff --git a/src/mkcd2app/build_project/inputs/code.py b/src/mkcd2app/build_project/inputs/code.py index f78a32a..8b1fd76 100644 --- a/src/mkcd2app/build_project/inputs/code.py +++ b/src/mkcd2app/build_project/inputs/code.py @@ -11,6 +11,7 @@ from mkcd2app.config import load_config_from_yaml from mkcd2app.models.config import ( + GitCodeSource, GitHubCodeSource, PathAssetSource, PathCodeSource, @@ -55,10 +56,12 @@ def fetch_code(config_yaml: str) -> ContentDir: cwd=code_path, which_path=get_js_tools_bin_dir(), ) - case GitHubCodeSource(value=url, checkout=checkout_target): - logger.debug(f"Cloning source code from {url}@{checkout_target}") + case ( + GitCodeSource(url=url, ref=ref) | GitHubCodeSource(value=url, checkout=ref) + ): + logger.debug(f"Cloning source code from {url}@{ref or 'default branch'}") code_path.parent.mkdir(parents=True, exist_ok=True) - clone_and_checkout(str(url), code_path, checkout_target) + clone_and_checkout(str(url), code_path, ref) case PathCodeSource(value=path): logger.debug(f"Copying source code from {path}") shutil.copytree(path, code_path) diff --git a/src/mkcd2app/cli.py b/src/mkcd2app/cli.py index 79bf945..b0dc49e 100644 --- a/src/mkcd2app/cli.py +++ b/src/mkcd2app/cli.py @@ -32,7 +32,7 @@ def generate_and_parse_args() -> Namespace: "--full-rebuild", action="store_true", help="Delete the build directory and its cache, then rebuild everything. Use " - "this after changing the game's source files, icon, or GitHub branch, since " + "this after changing the game's source files, icon, or git branch, since " "only changes to the config file are detected automatically.", ) diff --git a/src/mkcd2app/models/config.py b/src/mkcd2app/models/config.py index d08a245..8d5144d 100644 --- a/src/mkcd2app/models/config.py +++ b/src/mkcd2app/models/config.py @@ -1,8 +1,8 @@ from typing import Annotated, Literal -from pydantic import BaseModel, Field, HttpUrl, RootModel +from pydantic import AnyUrl, BaseModel, Field, HttpUrl, RootModel -# Source code can be a share link, GitHub repo, or a path on disk +# Source code can be a share link, git repo, or a path on disk class ShareLinkCodeSource(BaseModel): @@ -10,7 +10,22 @@ class ShareLinkCodeSource(BaseModel): value: HttpUrl +class GitCodeSource(BaseModel): + type: Literal["git"] + # Any URL dulwich can clone: https://, http://, git://, file://, or ssh:// (ssh:// + # needs an `ssh` executable on PATH) + url: AnyUrl + # Branch, tag, or (possibly abbreviated) commit SHA. None means the remote's + # default branch. + ref: str | None = None + + class GitHubCodeSource(BaseModel): + """ + Alias for GitCodeSource, kept so older configs keep working: `value` is the + URL and `checkout` is the ref. + """ + type: Literal["github"] value: HttpUrl checkout: str = "master" @@ -23,7 +38,7 @@ class PathCodeSource(BaseModel): CodeSource = RootModel[ Annotated[ - ShareLinkCodeSource | GitHubCodeSource | PathCodeSource, + ShareLinkCodeSource | GitCodeSource | GitHubCodeSource | PathCodeSource, Field(discriminator="type"), ] ] diff --git a/src/mkcd2app/utils/git.py b/src/mkcd2app/utils/git.py index 047cc57..ef92d76 100644 --- a/src/mkcd2app/utils/git.py +++ b/src/mkcd2app/utils/git.py @@ -11,19 +11,19 @@ logger = create_logger(name=__name__, level=logging.INFO) -def clone_and_checkout(url: str, path: Path, checkout_target: str) -> None: +def clone_and_checkout(url: str, path: Path, ref: str | None = None) -> None: """ Clone a git repository and check out a branch, tag, or commit, using dulwich (pure Python) so no `git` executable is needed. - Branches and tags get a shallow (depth 1) clone. Anything else is treated as a - (possibly abbreviated) commit SHA, which needs a full clone because a shallow - clone can only fetch refs the server advertises. + The default branch, branches, and tags get a shallow (depth 1) clone. Anything + else is treated as a (possibly abbreviated) commit SHA, which needs a full clone + because a shallow clone can only fetch refs the server advertises. - :param url: The URL of the repository to clone. + :param url: The URL (or local path) of the repository to clone. :param path: The directory to clone into. Must not exist or be empty. - :param checkout_target: A branch name, tag name, or (possibly abbreviated) - commit SHA. + :param ref: A branch name, tag name, or (possibly abbreviated) commit SHA. None + checks out the remote's default branch. """ # dulwich writes \r-separated progress to errstream, which floods non-TTY logs # (like CI), so only show it with --debug @@ -31,21 +31,21 @@ def clone_and_checkout(url: str, path: Path, checkout_target: str) -> None: with open(os.devnull, "wb") as devnull: errstream: BinaryIO = sys.stderr.buffer if show_progress else devnull try: - logger.debug(f"Shallow cloning {url}@{checkout_target} to {path}") + logger.debug(f"Shallow cloning {url}@{ref or 'default branch'} to {path}") with porcelain.clone( url, str(path), depth=1, - branch=checkout_target, + branch=ref, errstream=errstream, ): return except ValueError: - # dulwich raises ValueError (and removes the directory) when - # checkout_target isn't a branch or tag on the remote - logger.debug( - f"{checkout_target!r} is not a branch or tag, assuming a commit SHA" - ) + # dulwich raises ValueError (and removes the directory) when ref isn't + # a branch or tag on the remote. That can't happen with ref=None. + if ref is None: + raise + logger.debug(f"{ref!r} is not a branch or tag, assuming a commit SHA") logger.debug(f"Cloning {url} to {path}") # Check out the default branch first: dulwich's checkout only writes files @@ -54,10 +54,10 @@ def clone_and_checkout(url: str, path: Path, checkout_target: str) -> None: with porcelain.clone(url, str(path), errstream=errstream): pass - logger.debug(f"Checking out {checkout_target}") + logger.debug(f"Checking out {ref}") try: - porcelain.checkout(str(path), checkout_target) + porcelain.checkout(str(path), ref) except KeyError: raise ValueError( - f"Could not find branch, tag, or commit {checkout_target!r} in {url}" + f"Could not find branch, tag, or commit {ref!r} in {url}" ) from None diff --git a/tests/fixtures/empty_game_build_to_statics.yaml b/tests/fixtures/empty_game_build_to_statics.yaml index 7287c15..c83959f 100644 --- a/tests/fixtures/empty_game_build_to_statics.yaml +++ b/tests/fixtures/empty_game_build_to_statics.yaml @@ -18,7 +18,7 @@ project: title: "{NAME} v{VERSION}" inputs: - # Can be share_link, github, or path + # Can be share_link, git, or path (github is an older alias for git) code: type: path value: "tests/fixtures/empty_game" diff --git a/tests/unit/test_config_code_source.py b/tests/unit/test_config_code_source.py new file mode 100644 index 0000000..a144acc --- /dev/null +++ b/tests/unit/test_config_code_source.py @@ -0,0 +1,83 @@ +from typing import Any + +import pytest +import yaml +from pydantic import ValidationError + +from mkcd2app.config import load_config_from_yaml +from mkcd2app.models.config import GitCodeSource, GitHubCodeSource + + +def config_yaml_with_code(code: dict[str, Any]) -> str: + return yaml.safe_dump( + { + "version": 1, + "project": { + "name": "Test", + "path_friendly_name": "test", + "author": "Test", + "version": "1.0.0", + }, + "inputs": {"code": code, "assets": {}}, + "build_dir": "build", + "target": "4.0.14", + "outputs": [{"type": "static"}], + } + ) + + +def test_git_source_with_ref() -> None: + config = load_config_from_yaml( + config_yaml_with_code( + {"type": "git", "url": "https://gitlab.com/a/b.git", "ref": "v1.0.0"} + ) + ) + source = config.inputs.code.root + assert isinstance(source, GitCodeSource) + assert str(source.url) == "https://gitlab.com/a/b.git" + assert source.ref == "v1.0.0" + + +def test_git_source_ref_defaults_to_default_branch() -> None: + config = load_config_from_yaml( + config_yaml_with_code({"type": "git", "url": "https://codeberg.org/a/b"}) + ) + source = config.inputs.code.root + assert isinstance(source, GitCodeSource) + assert source.ref is None + + +@pytest.mark.parametrize( + "url", ["ssh://git@example.com/a/b.git", "git://example.com/a/b", "file:///a/b"] +) +def test_git_source_accepts_non_http_urls(url: str) -> None: + config = load_config_from_yaml(config_yaml_with_code({"type": "git", "url": url})) + assert isinstance(config.inputs.code.root, GitCodeSource) + + +def test_git_source_requires_url() -> None: + with pytest.raises(ValidationError): + load_config_from_yaml( + config_yaml_with_code({"type": "git", "value": "https://github.com/a/b"}) + ) + + +def test_github_alias_still_parses() -> None: + config = load_config_from_yaml( + config_yaml_with_code( + {"type": "github", "value": "https://github.com/a/b", "checkout": "dev"} + ) + ) + source = config.inputs.code.root + assert isinstance(source, GitHubCodeSource) + assert str(source.value) == "https://github.com/a/b" + assert source.checkout == "dev" + + +def test_github_alias_checkout_defaults_to_master() -> None: + config = load_config_from_yaml( + config_yaml_with_code({"type": "github", "value": "https://github.com/a/b"}) + ) + source = config.inputs.code.root + assert isinstance(source, GitHubCodeSource) + assert source.checkout == "master" diff --git a/tests/unit/test_git.py b/tests/unit/test_git.py new file mode 100644 index 0000000..c1c700a --- /dev/null +++ b/tests/unit/test_git.py @@ -0,0 +1,89 @@ +from dataclasses import dataclass +from pathlib import Path + +import pytest +from dulwich import porcelain +from dulwich.repo import Repo + +from mkcd2app.utils.git import clone_and_checkout + +IDENTITY = b"Test " + + +@dataclass +class SourceRepo: + path: Path + first_sha: str # tagged v1, content "1" + second_sha: str # tip of the "feature" branch, content "2" + head_sha: str # tip of the default branch, content "3" + + +def commit_file(repo_path: Path, content: str) -> str: + (repo_path / "file.txt").write_text(content, encoding="utf-8") + porcelain.add(str(repo_path), [str(repo_path / "file.txt")]) + # sign=False so a commit.gpgsign in the user's git config doesn't apply + sha = porcelain.commit( + str(repo_path), + message=f"Write {content}".encode(), + author=IDENTITY, + committer=IDENTITY, + sign=False, + ) + return sha.decode() + + +@pytest.fixture(scope="module") +def source_repo(tmp_path_factory: pytest.TempPathFactory) -> SourceRepo: + path = tmp_path_factory.mktemp("source") + porcelain.init(str(path)) + first = commit_file(path, "1") + porcelain.tag_create(str(path), b"v1", sign=False) + second = commit_file(path, "2") + porcelain.branch_create(str(path), b"feature") + head = commit_file(path, "3") + return SourceRepo(path, first, second, head) + + +def read_clone(path: Path) -> tuple[str, str]: + """Return the checked-out file content and the commit HEAD points at.""" + with Repo(str(path)) as repo: + head = repo.head().decode() + return (path / "file.txt").read_text(encoding="utf-8"), head + + +def test_default_branch(source_repo: SourceRepo, tmp_path: Path) -> None: + clone_and_checkout(str(source_repo.path), tmp_path / "clone") + assert read_clone(tmp_path / "clone") == ("3", source_repo.head_sha) + + +def test_branch(source_repo: SourceRepo, tmp_path: Path) -> None: + clone_and_checkout(str(source_repo.path), tmp_path / "clone", "feature") + assert read_clone(tmp_path / "clone") == ("2", source_repo.second_sha) + + +def test_tag(source_repo: SourceRepo, tmp_path: Path) -> None: + clone_and_checkout(str(source_repo.path), tmp_path / "clone", "v1") + assert read_clone(tmp_path / "clone") == ("1", source_repo.first_sha) + + +@pytest.mark.parametrize("length", [7, 40]) +def test_commit_sha(source_repo: SourceRepo, tmp_path: Path, length: int) -> None: + sha = source_repo.second_sha[:length] + clone_and_checkout(str(source_repo.path), tmp_path / "clone", sha) + assert read_clone(tmp_path / "clone") == ("2", source_repo.second_sha) + + +def test_commit_sha_matching_default_branch( + source_repo: SourceRepo, tmp_path: Path +) -> None: + # Regression: dulwich only writes files that differ from the current HEAD tree, + # so this used to leave an empty worktree after a no-checkout clone + clone_and_checkout( + str(source_repo.path), tmp_path / "clone", source_repo.head_sha[:7] + ) + assert read_clone(tmp_path / "clone") == ("3", source_repo.head_sha) + + +def test_unknown_ref(source_repo: SourceRepo, tmp_path: Path) -> None: + with pytest.raises(ValueError, match="Could not find"): + clone_and_checkout(str(source_repo.path), tmp_path / "clone", "nope") From d5af80638dd3d012c22260a909faafcb8808764d Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 3 Nov 2026 22:47:02 +0000 Subject: [PATCH 20/46] Add file code source for PNG/UF2 with embedded project Decode the MakeCode project embedded in a shareable PNG or UF2 (format detected by magic bytes) into the usual -source folder, warning when the saved Arcade version differs from the configured target. Adds the repo's first unit tests, covering synthetic PNG (incl. overflow rows) and UF2 round trips, error cases, and path traversal. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Mbb9ZdVK71NaCgpyqUP1Wf --- docs/PROJECT_CONTEXT.md | 22 +- examples/Racers offline.yaml | 3 +- examples/Racers.yaml | 3 +- src/mkcd2app/build_project/inputs/code.py | 25 ++ .../build_project/inputs/embedded_source.py | 191 +++++++++++ src/mkcd2app/models/config.py | 16 +- .../fixtures/empty_game_build_to_statics.yaml | 3 +- tests/unit/test_embedded_source.py | 296 ++++++++++++++++++ 8 files changed, 546 insertions(+), 13 deletions(-) create mode 100644 src/mkcd2app/build_project/inputs/embedded_source.py create mode 100644 tests/unit/test_embedded_source.py diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index ee7099f..f902ee2 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -3,7 +3,8 @@ _Verified against `toolchain` @ `d7ad64a` plus the `MKCD2APP_HOME` change, the small known-issue fixes, and the separate deps-install task, and `origin/main` @ `d31e2a5`, as of 2026-10-29. External program requirements audited against `toolchain` @ `4d518d9` on 2026-11-03, then -updated for the Dulwich git replacement and the generic `git` code source the same day._ +updated for the Dulwich git replacement and the generic `git` code source the same day, +and for the `file` code source (PNG/UF2 with embedded project) the same day._ ## Goal Rewrite `UnsignedArduino/MakeCode-Arcade-to-App` (converts MakeCode Arcade games into a @@ -35,7 +36,7 @@ main (legacy) ← PR #6 `dag` (draft) ← PR #7 `toolchain` (draft, base = d | `utils/` | `run_cmd`, paths (platformdirs), `run_redun_task`, `rmtree_robust`, semver, `git` (Dulwich clone/checkout) | | `resources/` | Vite+React+TS template, `mkc` js_tools, empty fixture project | -Other: `tests/e2e/test_statics.py`, `tests/unit/` (config code sources, `utils/git`), `tests/fixtures/`, `examples/` (Racers), CI +Other: `tests/e2e/test_statics.py`, `tests/unit/` (config code sources, `utils/git`, embedded PNG/UF2 source), `tests/fixtures/`, `examples/` (Racers), CI workflows `lint.yaml` (ubuntu) and `e2e.yaml` (ubuntu/windows/macos). Tooling: uv, hatchling, Python ≥3.14, ruff + mypy strict, pre-commit. @@ -90,7 +91,7 @@ State lives under `platformdirs` user dirs, namespaced by mkcd2app version (stat moves them to `$MKCD2APP_HOME/{data,state}/` (`utils/paths.py`). `mkc`'s own compiler/extension caches aren't covered by this. -Config: `version`, `project`, `inputs.code` (share_link | git | github | path), +Config: `version`, `project`, `inputs.code` (share_link | git | github | path | file), `inputs.assets.icon` (optional), `build_dir`, `target` (required, strict `x.y.z`), `outputs` (static | static-singlefile | electron | tauri). `git` takes `url` (pydantic `AnyUrl`: https/http/git/file, or ssh:// which needs an `ssh` binary) and an optional @@ -99,8 +100,10 @@ alias, `{value: , checkout: }`, kept for existi configs; `fetch_code` handles both in one `case`. ## Status -- **Done:** `static` and `static-singlefile` outputs; all code sources; toolchain/target - split. Everything that needs the network is vendored at install time **except MakeCode +- **Done:** `static` and `static-singlefile` outputs; all code sources, including + `file` (a PNG or UF2 downloaded from the editor, detected by magic bytes; decoded by + `build_project/inputs/embedded_source.py`, and `fetch_code` warns if `pxt.json`'s + `targetVersions.target` differs from `target`); toolchain/target split. Everything that needs the network is vendored at install time **except MakeCode extensions**, which are fetched per game; `mkc`'s extension cache isn't redirected. - **Not implemented:** Electron and Tauri. The models and result fields exist, but `build_project` has no `case` arms for them. @@ -118,13 +121,16 @@ configs; `fetch_code` handles both in one `case`. `clone_and_checkout` against a local repo built with Dulwich (default branch, branch, tag, short/full SHA, the same-tree-as-HEAD regression, unknown ref), so it runs offline. Fixture commits pass `sign=False`, since Dulwich honours a user's - `commit.gpgsign`. Nothing covers the redun patches yet. + `commit.gpgsign`. `test_embedded_source.py` covers the `file` source with synthetic + PNG (including overflow rows) and UF2 (LZMA and plain) round trips, error cases and + path traversal. Its real "falling duck" PNG/UF2 tests skip until those files are + added to `tests/fixtures/embedded/`. Nothing covers the redun patches yet. ## Roadmap 1. ~~Fix e2e + CI~~ (done: fixture `target:`, isolated install fixture, caching on, job-status cache assertion, CI on all PRs). 2. ~~Rename `--clear-cache`~~ (done: now `--full-rebuild`, and its help text says to use it for out-of-band input changes). Still belongs in the README once that exists. -3. More unit/integration tests, including the redun patches (`git` sources are covered). +3. More unit/integration tests, including the redun patches (`git` and `file` sources are covered). 4. Electron, then Tauri (reference: `main`). 5. Save-state for Electron/Tauri (investigate `pxtsim` postMessage). 6. Toolchain polish: `status`/`list`, `build` pre-flight, extension cache, version-pinning @@ -178,7 +184,7 @@ configs; `fetch_code` handles both in one `case`. ## Known issues - **Out-of-band inputs (by design):** `fetch_code` and `copy_support_files` only take the config YAML, so redun can't see changes to a - `path` code source, a `git`/`github` branch checkout (or omitted `ref`), an icon path/URL, or the installed + `path` or `file` code source, a `git`/`github` branch checkout (or omitted `ref`), an icon path/URL, or the installed simulator HTML. Editing a path-sourced game returns the old cached build until `--full-rebuild`. Decided to rely on that flag for all sources rather than track each one. diff --git a/examples/Racers offline.yaml b/examples/Racers offline.yaml index 8d12483..93a20f7 100644 --- a/examples/Racers offline.yaml +++ b/examples/Racers offline.yaml @@ -19,7 +19,8 @@ project: title: "{NAME} v{VERSION}" inputs: - # Can be share_link, git, or path (github is an older alias for git) + # Can be share_link, git, path, or file (PNG or UF2 downloaded from the + # editor). github is an older alias for git. code: type: path value: "E:/Racers" diff --git a/examples/Racers.yaml b/examples/Racers.yaml index aa32143..743cddf 100644 --- a/examples/Racers.yaml +++ b/examples/Racers.yaml @@ -19,7 +19,8 @@ project: title: "{NAME} v{VERSION}" inputs: - # Can be share_link, git, or path (github is an older alias for git) + # Can be share_link, git, path, or file (PNG or UF2 downloaded from the + # editor). github is an older alias for git. code: type: share_link value: https://arcade.makecode.com/84426-33815-03715-00484 diff --git a/src/mkcd2app/build_project/inputs/code.py b/src/mkcd2app/build_project/inputs/code.py index 8b1fd76..6324e6c 100644 --- a/src/mkcd2app/build_project/inputs/code.py +++ b/src/mkcd2app/build_project/inputs/code.py @@ -9,8 +9,10 @@ from redun import task from redun.file import ContentDir, ContentFile +from mkcd2app.build_project.inputs.embedded_source import extract_project from mkcd2app.config import load_config_from_yaml from mkcd2app.models.config import ( + FileCodeSource, GitCodeSource, GitHubCodeSource, PathAssetSource, @@ -27,6 +29,20 @@ logger = create_logger(name=__name__, level=logging.INFO) +def _warn_on_target_mismatch(pxt_json_path: Path, target: str) -> None: + """Warn if the project was saved with a different Arcade version than target.""" + try: + pxt_json = json.loads(pxt_json_path.read_text(encoding="utf-8")) + saved = pxt_json["targetVersions"]["target"] + except OSError, ValueError, KeyError, TypeError: + logger.debug(f"Could not read targetVersions.target from {pxt_json_path}") + return + if saved != target: + logger.warning( + f"Project was saved with Arcade {saved}, building against {target}" + ) + + @task(namespace="mkcd2app") def fetch_code(config_yaml: str) -> ContentDir: """ @@ -65,6 +81,15 @@ def fetch_code(config_yaml: str) -> ContentDir: case PathCodeSource(value=path): logger.debug(f"Copying source code from {path}") shutil.copytree(path, code_path) + case FileCodeSource(value=path): + logger.debug(f"Extracting embedded project from {path}") + src_file = Path(path) + if not src_file.is_file(): + raise FileNotFoundError(f"Code source file not found: {src_file}") + # Raises EmbeddedSourceError (with the file path) if there's no project + files = extract_project(src_file, code_path) + logger.debug(f"Extracted {len(files)} files: {', '.join(files)}") + _warn_on_target_mismatch(code_path / "pxt.json", config.target) mkc_json_path = code_path / "mkc.json" logger.debug("Writing mkc.json") diff --git a/src/mkcd2app/build_project/inputs/embedded_source.py b/src/mkcd2app/build_project/inputs/embedded_source.py new file mode 100644 index 0000000..ec5a3f5 --- /dev/null +++ b/src/mkcd2app/build_project/inputs/embedded_source.py @@ -0,0 +1,191 @@ +""" +Extract the MakeCode project embedded in a downloaded PNG ("shareable image") or +UF2 file. Mirrors pxt's decoders: + PNG: pxtlib/util.ts decodeBlobAsync -> webapp/src/app.tsx importProjectCoreAsync + UF2: pxtlib/cpp.ts unpackSourceFromHexAsync / extractSourceFromBin +""" + +import json +import lzma +import struct +from pathlib import Path + +from PIL import Image, UnidentifiedImageError + +PNG_SIGNATURE = b"\x89PNG\r\n\x1a\n" +PNG_MAGIC = 0x59347A7D +PNG_HEADER_SIZE = 36 # 9 x u32 LE: magic, blob_len, added_lines, 6 x reserved + +UF2_MAGIC0 = 0x0A324655 +UF2_MAGIC1 = 0x9E5D5157 +UF2_FLAG_NOT_MAIN_FLASH = 0x00000001 +SOURCE_MAGIC = bytes([0x41, 0x14, 0x0E, 0x2F, 0xB8, 0x2F, 0xA2, 0xBB]) + + +class EmbeddedSourceError(ValueError): + """The file has no embedded MakeCode project, or it could not be decoded.""" + + +def _parse_files(text: str | bytes) -> dict[str, str]: + files = json.loads(text) + if not isinstance(files, dict) or not all( + isinstance(k, str) and isinstance(v, str) for k, v in files.items() + ): + raise EmbeddedSourceError("Embedded project is not a {filename: text} map") + return files + + +def _lzma_decompress(buf: bytes) -> str: + # pxt uses LZMA-JS, which writes the legacy ".lzma" (LZMA_Alone) container. + return lzma.decompress(buf, format=lzma.FORMAT_ALONE).decode("utf-8") + + +# ---------------------------------------------------------------- PNG --------- + + +def _png_blob(path: Path) -> bytes: + img = Image.open(path).convert("RGBA") + width, height = img.size + d = img.tobytes() # flat R,G,B,A,R,G,B,A,... like canvas getImageData + + bpp = (d[0] & 1) | ((d[1] & 1) << 1) | ((d[2] & 1) << 2) + if bpp == 0 or bpp > 5: + raise EmbeddedSourceError("PNG does not contain an embedded MakeCode project") + + def decode(ptr: int, bits: int, length: int) -> tuple[bytes, int]: + out = bytearray() + shift = acc = 0 + mask = (1 << bits) - 1 + while len(out) < length: + acc |= (d[ptr] & mask) << shift + ptr += 1 + if ptr & 3 == 3: # skip alpha + ptr += 1 + shift += bits + if shift >= 8: + out.append(acc & 0xFF) + acc >>= 8 + shift -= 8 + return bytes(out), ptr + + header, ptr = decode(4, bpp, PNG_HEADER_SIZE) + magic, blob_len, added_lines = struct.unpack_from("<3I", header) + if magic != PNG_MAGIC: + raise EmbeddedSourceError("Invalid magic in encoded PNG") + + if added_lines == 0: + blob, _ = decode(ptr, bpp, blob_len) + return blob + + # Image was too small: the first chunk lives in the LSBs of the original + # pixels, the rest is stored as full bytes in extra rows appended at the end. + orig_pixels = (height - added_lines) * width + img_cap = ((orig_pixels - 1) * 3 * bpp) >> 3 + first, _ = decode(ptr, bpp, img_cap - PNG_HEADER_SIZE) + rest, _ = decode(orig_pixels * 4, 8, blob_len - len(first)) + return first + rest + + +def files_from_png(path: Path) -> dict[str, str]: + project = json.loads(_lzma_decompress(_png_blob(path))) + # {"meta": {...name, cloudId, targetVersions, editor}, "source": ""} + if not isinstance(project, dict) or not isinstance(project.get("source"), str): + raise EmbeddedSourceError("Embedded PNG project has no source") + return _parse_files(project["source"]) + + +# ---------------------------------------------------------------- UF2 --------- + + +def _uf2_to_bin(data: bytes) -> bytes: + chunks: dict[int, bytes] = {} + for off in range(0, len(data) - 511, 512): + m0, m1, flags, addr, size = struct.unpack_from("<5I", data, off) + if m0 != UF2_MAGIC0 or m1 != UF2_MAGIC1 or flags & UF2_FLAG_NOT_MAIN_FLASH: + continue + chunks[addr] = data[off + 32 : off + 32 + size] + if not chunks: + raise EmbeddedSourceError("Not a UF2 file") + base = min(chunks) + end = max(a + len(c) for a, c in chunks.items()) + buf = bytearray(end - base) + for addr, c in chunks.items(): + buf[addr - base : addr - base + len(c)] = c + return bytes(buf) + + +def files_from_uf2(path: Path) -> dict[str, str]: + bin_ = _uf2_to_bin(path.read_bytes()) + p = 0 + while True: + p = bin_.find(SOURCE_MAGIC, p) + if p < 0: + raise EmbeddedSourceError( + "This UF2 doesn't contain source (binary-only build?)" + ) + if p % 16 == 0: # pxt only looks at 16-byte aligned positions + break + p += 1 + meta_len, text_len = struct.unpack_from(" dict[str, str]: + """Return the embedded project as {filename: content}, detecting PNG vs UF2.""" + with src.open("rb") as f: + head = f.read(len(PNG_SIGNATURE)) + if head.startswith(PNG_SIGNATURE): + decoder = files_from_png + elif len(head) >= 4 and struct.unpack_from(" list[str]: + """Write the embedded project's files (pxt.json, main.ts, ...) to dest.""" + files = read_embedded_files(src) + root = dest.resolve() + targets: dict[Path, str] = {} + # Check every name before writing anything, since they come from an untrusted file + for name, content in files.items(): + out = (root / name).resolve() + if root not in out.parents: + raise EmbeddedSourceError(f"Refusing to write outside {dest}: {name}") + targets[out] = content + dest.mkdir(parents=True, exist_ok=True) + for out, content in targets.items(): + out.parent.mkdir(parents=True, exist_ok=True) + # write_bytes so line endings are kept exactly as embedded on every OS + out.write_bytes(content.encode("utf-8")) + return sorted(files) diff --git a/src/mkcd2app/models/config.py b/src/mkcd2app/models/config.py index 8d5144d..d964e44 100644 --- a/src/mkcd2app/models/config.py +++ b/src/mkcd2app/models/config.py @@ -2,7 +2,8 @@ from pydantic import AnyUrl, BaseModel, Field, HttpUrl, RootModel -# Source code can be a share link, git repo, or a path on disk +# Source code can be a share link, git repo, a path on disk, or a PNG/UF2 file +# downloaded from the editor with the project embedded class ShareLinkCodeSource(BaseModel): @@ -36,9 +37,20 @@ class PathCodeSource(BaseModel): value: str +class FileCodeSource(BaseModel): + """A PNG or UF2 downloaded from the MakeCode editor with the project embedded.""" + + type: Literal["file"] + value: str + + CodeSource = RootModel[ Annotated[ - ShareLinkCodeSource | GitCodeSource | GitHubCodeSource | PathCodeSource, + ShareLinkCodeSource + | GitCodeSource + | GitHubCodeSource + | PathCodeSource + | FileCodeSource, Field(discriminator="type"), ] ] diff --git a/tests/fixtures/empty_game_build_to_statics.yaml b/tests/fixtures/empty_game_build_to_statics.yaml index c83959f..db6f63d 100644 --- a/tests/fixtures/empty_game_build_to_statics.yaml +++ b/tests/fixtures/empty_game_build_to_statics.yaml @@ -18,7 +18,8 @@ project: title: "{NAME} v{VERSION}" inputs: - # Can be share_link, git, or path (github is an older alias for git) + # Can be share_link, git, path, or file (PNG or UF2 downloaded from the + # editor). github is an older alias for git. code: type: path value: "tests/fixtures/empty_game" diff --git a/tests/unit/test_embedded_source.py b/tests/unit/test_embedded_source.py new file mode 100644 index 0000000..bcafe59 --- /dev/null +++ b/tests/unit/test_embedded_source.py @@ -0,0 +1,296 @@ +import hashlib +import json +import lzma +import struct +from pathlib import Path + +import pytest +from PIL import Image + +from mkcd2app.build_project.inputs.embedded_source import ( + PNG_HEADER_SIZE, + PNG_MAGIC, + SOURCE_MAGIC, + UF2_FLAG_NOT_MAIN_FLASH, + UF2_MAGIC0, + UF2_MAGIC1, + EmbeddedSourceError, + extract_project, + read_embedded_files, +) +from mkcd2app.config import load_config_from_yaml +from mkcd2app.models.config import FileCodeSource + +FIXTURES = Path(__file__).parent.parent / "fixtures" / "embedded" +DUCK_UF2 = FIXTURES / "falling-duck.uf2" +DUCK_PNG = FIXTURES / "falling-duck.png" +DUCK_FILES = {"README.md", "assets.json", "main.blocks", "main.ts", "pxt.json"} +DUCK_MAIN_TS_SHA256 = "2100e5d1f310a31abac094e6173c66b7394c18a67c466baa9a655623feded775" + +SAMPLE_FILES = { + "pxt.json": json.dumps({"name": "sample", "dependencies": {"device": "*"}}), + "main.ts": "let x = 1\r\ngame.splash('héllo')\n", + "README.md": " ", +} + + +# ------------------------------------------------------------ helpers --------- + + +def _encode(img: bytearray, ptr: int, bpp: int, data: bytes) -> int: + """Port of pxt's encodeBlobAsync bit packer.""" + shift = dp = 0 + v = data[dp] + dp += 1 + mask = (1 << bpp) - 1 + keep_going = True + while keep_going: + bits = (v >> shift) & mask + left = 8 - shift + if left <= bpp: + if dp >= len(data): + if left == 0: + break + keep_going = False + v = data[dp] if dp < len(data) else 0 + dp += 1 + bits |= (v << left) & mask + shift = bpp - left + else: + shift += bpp + img[ptr] = ((img[ptr] & ~mask) | bits) & 0xFF + ptr += 1 + if ptr & 3 == 3: + img[ptr] = 0xFF + ptr += 1 + return ptr + + +def make_project_png(w: int, h: int, blob: bytes, path: Path) -> int: + """ + Write a PNG the way pxt's encodeBlobAsync does. + + :param blob: lzma.compress(json_text, format=lzma.FORMAT_ALONE). + :return: The number of overflow rows added. + """ + need = PNG_HEADER_SIZE + len(blob) + usable = (w * h - 1) * 3 + bpp = 1 + while bpp < 4 and usable * bpp < need * 8: + bpp += 1 + cap = (usable * bpp) >> 3 + added = max(0, -(-(need - cap) // (w * 3))) + added_offset = w * h * 4 + img = bytearray(Image.new("RGBA", (w, h + added), (120, 30, 200, 255)).tobytes()) + header = struct.pack("<9I", PNG_MAGIC, len(blob), added, *[0] * 6) + _encode(img, 0, 1, bytes([bpp])) + p = _encode(img, 4, bpp, header) + if added == 0: + _encode(img, p, bpp, blob) + else: + first = cap - PNG_HEADER_SIZE + _encode(img, p, bpp, blob[:first]) + _encode(img, added_offset, 8, blob[first:]) + Image.frombytes("RGBA", (w, h + added), bytes(img)).save(path) + return added + + +def _png_blob_for(files: dict[str, str], padding: str = "") -> bytes: + project = { + "meta": {"name": "sample", "editor": "blocksprj", "pad": padding}, + "source": json.dumps(files), + } + return lzma.compress(json.dumps(project).encode(), format=lzma.FORMAT_ALONE) + + +def make_project_uf2( + path: Path, meta: dict[str, object], text: bytes, pad: int = 1000 +) -> None: + """Embed source the way pxt does, then chunk it into 256-byte UF2 blocks.""" + meta_bytes = json.dumps(meta).encode() + pre = b"\xaa" * (pad + (-pad % 16)) # source magic must be 16-byte aligned + binary = ( + pre + + SOURCE_MAGIC + + struct.pack(" None: + chunks = [binary[i : i + 256] for i in range(0, len(binary), 256)] + out = bytearray() + for i, chunk in enumerate(chunks): + block = struct.pack( + "<8I", UF2_MAGIC0, UF2_MAGIC1, 0, base + i * 256, 256, i, len(chunks), 0 + ) + block += chunk.ljust(476, b"\x00") + struct.pack(" None: + assert set(files) == DUCK_FILES + main_ts = files["main.ts"] + assert main_ts.startswith("enum ActionKind {") + assert len(main_ts.splitlines()) == 539 + assert hashlib.sha256(main_ts.encode()).hexdigest() == DUCK_MAIN_TS_SHA256 + pxt = json.loads(files["pxt.json"]) + assert pxt["name"] == "falling duck" + assert {"device", "animation"} <= set(pxt["dependencies"]) + + +@needs_duck +def test_duck_uf2() -> None: + _check_duck(read_embedded_files(DUCK_UF2)) + + +@needs_duck +def test_duck_png_matches_uf2() -> None: + png = read_embedded_files(DUCK_PNG) + _check_duck(png) + uf2 = read_embedded_files(DUCK_UF2) + for name in ("main.ts", "README.md", "assets.json"): + assert png[name] == uf2[name] + + +@needs_duck +def test_duck_extract(tmp_path: Path) -> None: + names = extract_project(DUCK_UF2, tmp_path / "out") + assert set(names) == DUCK_FILES + data = (tmp_path / "out" / "main.ts").read_bytes() + assert hashlib.sha256(data).hexdigest() == DUCK_MAIN_TS_SHA256 + + +# ---------------------------------------------------------- synthetic PNG ----- + + +def test_png_fits_in_image(tmp_path: Path) -> None: + path = tmp_path / "game.png" + assert make_project_png(160, 120, _png_blob_for(SAMPLE_FILES), path) == 0 + assert read_embedded_files(path) == SAMPLE_FILES + + +def test_png_overflow_rows(tmp_path: Path) -> None: + path = tmp_path / "game.png" + blob = _png_blob_for(SAMPLE_FILES, padding="".join(map(str, range(200)))) + assert len(blob) > 300 + assert make_project_png(6, 6, blob, path) > 0 + assert read_embedded_files(path) == SAMPLE_FILES + + +@pytest.mark.parametrize("size", [(20, 20), (40, 30), (64, 64)]) +def test_png_various_bpp(tmp_path: Path, size: tuple[int, int]) -> None: + path = tmp_path / "game.png" + make_project_png(*size, _png_blob_for(SAMPLE_FILES), path) + assert read_embedded_files(path) == SAMPLE_FILES + + +# ---------------------------------------------------------- synthetic UF2 ----- + + +def test_uf2_lzma(tmp_path: Path) -> None: + header = json.dumps({"name": "sample", "editor": "blocksprj"}) + text = lzma.compress( + (header + json.dumps(SAMPLE_FILES)).encode(), format=lzma.FORMAT_ALONE + ) + path = tmp_path / "game.uf2" + make_project_uf2(path, {"compression": "LZMA", "headerSize": len(header)}, text) + assert read_embedded_files(path) == SAMPLE_FILES + + +def test_uf2_uncompressed(tmp_path: Path) -> None: + path = tmp_path / "game.uf2" + make_project_uf2(path, {"name": "sample"}, json.dumps(SAMPLE_FILES).encode()) + assert read_embedded_files(path) == SAMPLE_FILES + + +def test_extract_writes_bytes_exactly(tmp_path: Path) -> None: + src = tmp_path / "game.uf2" + make_project_uf2(src, {}, json.dumps(SAMPLE_FILES).encode()) + dest = tmp_path / "out" + assert extract_project(src, dest) == sorted(SAMPLE_FILES) + for name, content in SAMPLE_FILES.items(): + assert (dest / name).read_bytes() == content.encode("utf-8") + + +# ----------------------------------------------------------------- errors ----- + + +def test_plain_png_has_no_project(tmp_path: Path) -> None: + path = tmp_path / "plain.png" + Image.new("RGBA", (32, 32), (0, 0, 0, 255)).save(path) + with pytest.raises(EmbeddedSourceError): + read_embedded_files(path) + + +def test_noisy_png_has_no_project(tmp_path: Path) -> None: + path = tmp_path / "noise.png" + Image.new("RGBA", (32, 32), (255, 255, 255, 255)).save(path) # bpp == 7 + with pytest.raises(EmbeddedSourceError): + read_embedded_files(path) + + +def test_uf2_without_source(tmp_path: Path) -> None: + path = tmp_path / "binary-only.uf2" + _write_uf2(path, b"\x00" * 4096) + with pytest.raises(EmbeddedSourceError, match="doesn't contain source"): + read_embedded_files(path) + + +def test_neither_format(tmp_path: Path) -> None: + path = tmp_path / "game.txt" + path.write_text("hello") + with pytest.raises(EmbeddedSourceError, match="neither a PNG nor a UF2"): + read_embedded_files(path) + + +def test_truncated_png_payload(tmp_path: Path) -> None: + path = tmp_path / "game.png" + blob = _png_blob_for(SAMPLE_FILES) + make_project_png(160, 120, blob[: len(blob) // 2], path) + with pytest.raises(EmbeddedSourceError, match="corrupt"): + read_embedded_files(path) + + +@pytest.mark.parametrize("name", ["../evil.ts", "sub/../../evil.ts", "/abs/evil.ts"]) +def test_path_traversal_rejected(tmp_path: Path, name: str) -> None: + src = tmp_path / "game.uf2" + make_project_uf2(src, {}, json.dumps({"main.ts": "", name: "x"}).encode()) + dest = tmp_path / "out" + with pytest.raises(EmbeddedSourceError, match="Refusing to write outside"): + extract_project(src, dest) + assert not dest.exists() # nothing written before the check fails + assert not (tmp_path / "evil.ts").exists() + + +# ----------------------------------------------------------------- config ----- + + +def test_config_file_source() -> None: + yaml_path = Path(__file__).parent.parent / "fixtures" + text = (yaml_path / "empty_game_build_to_statics.yaml").read_text(encoding="utf-8") + text = text.replace( + 'type: path\n value: "tests/fixtures/empty_game"', + 'type: file\n value: "tests/fixtures/embedded/falling-duck.png"', + ) + config = load_config_from_yaml(text) + assert config.inputs.code.root == FileCodeSource( + type="file", value="tests/fixtures/embedded/falling-duck.png" + ) From 8ba0db3e80e303b0824c2b1e8bcf0b73e328fc67 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 3 Nov 2026 22:59:40 +0000 Subject: [PATCH 21/46] Add real PNG/UF2 editor exports as file source fixtures Falling duck PNG and UF2 (4.1.27) for the unit tests, and the empty game exported as a PNG from 4.0.14 for a new e2e test that builds it with a file code source. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Mbb9ZdVK71NaCgpyqUP1Wf --- docs/PROJECT_CONTEXT.md | 9 +++- tests/e2e/test_statics.py | 23 ++++++++ tests/fixtures/embedded/empty-game.png | Bin 0 -> 13696 bytes tests/fixtures/embedded/falling-duck.png | Bin 0 -> 30717 bytes tests/fixtures/embedded/falling-duck.uf2 | Bin 0 -> 661504 bytes tests/fixtures/empty_game_file_source.yaml | 59 +++++++++++++++++++++ tests/unit/test_embedded_source.py | 35 +++++++----- 7 files changed, 111 insertions(+), 15 deletions(-) create mode 100644 tests/fixtures/embedded/empty-game.png create mode 100644 tests/fixtures/embedded/falling-duck.png create mode 100644 tests/fixtures/embedded/falling-duck.uf2 create mode 100644 tests/fixtures/empty_game_file_source.yaml diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index f902ee2..406baf4 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -123,8 +123,13 @@ configs; `fetch_code` handles both in one `case`. offline. Fixture commits pass `sign=False`, since Dulwich honours a user's `commit.gpgsign`. `test_embedded_source.py` covers the `file` source with synthetic PNG (including overflow rows) and UF2 (LZMA and plain) round trips, error cases and - path traversal. Its real "falling duck" PNG/UF2 tests skip until those files are - added to `tests/fixtures/embedded/`. Nothing covers the redun patches yet. + path traversal, plus real editor exports in `tests/fixtures/embedded/`: the + "falling duck" PNG (512×424) and UF2, both saved from 4.1.27 and identical once + decoded, and `empty-game.png` from 4.0.14, which matches `tests/fixtures/empty_game` + except for the `pxt.json` name. The e2e suite also builds `empty-game.png` through + `empty_game_file_source.yaml`. The duck builds end to end on 4.1.27, and on 4.0.14 + with the version-mismatch warning, but isn't in e2e. Nothing covers the redun + patches yet. ## Roadmap 1. ~~Fix e2e + CI~~ (done: fixture `target:`, isolated install fixture, caching on, job-status cache assertion, CI on all PRs). diff --git a/tests/e2e/test_statics.py b/tests/e2e/test_statics.py index df74767..a5ba621 100644 --- a/tests/e2e/test_statics.py +++ b/tests/e2e/test_statics.py @@ -8,6 +8,8 @@ TARGET_VERSION = "4.0.14" BUILD_DIR = Path("examples/testing/empty_game_build") +FILE_BUILD_DIR = Path("examples/testing/empty_game_file_build") +FIXTURES = Path("tests/fixtures") def run_mkcd2app(*args: str) -> subprocess.CompletedProcess[str]: @@ -105,3 +107,24 @@ def test_empty_game_build_to_statics_second_build_caches( assert totals["DONE"] == 0 and totals["CACHED"] == totals["TOTAL"], ( f"expected every job on the second build to hit the cache, got {totals}" ) + + +def test_empty_game_file_source_build_to_static() -> None: + # Same empty game, but exported as a PNG from the 4.0.14 editor (`file` source) + yaml_path = Path.cwd() / FIXTURES / "empty_game_file_source.yaml" + try: + result = run_mkcd2app("build", str(yaml_path), "--full-rebuild") + + source = FILE_BUILD_DIR / "empty-game-source" + expected = FIXTURES / "empty_game" / "main.ts" + assert (source / "main.ts").read_bytes() == expected.read_bytes() + assert (source / "mkc.json").is_file(), "expected mkc.json written" + # The PNG was saved with the same Arcade version as `target` + output = result.stdout + result.stderr + assert "Project was saved with Arcade" not in output + + static_dist = FILE_BUILD_DIR / "empty-game-website-filled-built" / "dist" + assert (static_dist / "index.html").is_file(), "expected index.html present" + assert list((static_dist / "assets").glob("*.js")), "expected js files" + finally: + shutil.rmtree(Path.cwd() / FILE_BUILD_DIR, ignore_errors=True) diff --git a/tests/fixtures/embedded/empty-game.png b/tests/fixtures/embedded/empty-game.png new file mode 100644 index 0000000000000000000000000000000000000000..362a568f84fa3c62a83962590fe62aea5a6585df GIT binary patch literal 13696 zcmYjYbzD@>*Ir5y{1S>Hl8Us1MM?+)vWUP^(ilidcP^-iN~tWNq|zZM(k%-7s0B%B zkXX85LF%2md-wBs|55PXGtYU>bIzHWJL7Aud#eA@oTot`5dW#&xs5^~$ia_fS=7hC zUt(jXQwRhDLhbe~T`#i5k>hWLl?NKvN(++TNC~|m)4iL1apv;FMpWxn)i$Y=b7I=B zq#m86Ah*OCp5%Wb?0P%Qf{u&&&Xa$>NlCK4cry?D^0L~s?xTUZ4@t{ONpt4rk}FuL z%1QwV4Xn}kSf1Ss?N5Cs+dNU~a(3Du^x4HP-MZfHMOXeVTViNl)&65fvqox~PEo70 zR#(pR4DH=Cl!J@maPqoFw^w|;if?*}h$x$taC~dD(6p3LX33y*Zfc&gYU7;$sP{Wd6UXSFBfuV$IVRs%} z>ieQ*!}tvCpLq>3)2z|a#m(h5ABU&f)hAOkWF5e8?d88K-rBfzP6aoxM1$X+7RIOy zh)?s{*}HUKm$KsdVwqfhU8K3ZXS$&wB;V#^2IhvLd3a&!BQTn`o{gdZ@b&O@q-C<+ z$kcm#jA-^#7en3O*EJkkZed#lZN}oiy70P2Dz{~E2T~(-Ql-h#-UQos)Ahd+mds??MtE$=1^4_SWFz^Iz6BVD)JjfsIj%l~l*28Lmu=uW(G=~?4 zmuO%G`}Jk)i*pomubL&gMD;$tAdp;q-Fw41yG^R{ZoG~$*Hd$R>`g=_f& z1H5(u@g@<~&QZJ)QbNT;!3p%p4_D24wJI0WZ4z|4J~FS{moy)C@m7}EoR=^d_2uET zi&eKRvK#c7E?jV%de6HjB>L19n-5-fHOsOqjNx^BbH~W__G5qHDfcXsskFkh1pPC? z@h`6$HmQA>BJZ^e$GBlGDhlw}U&Qo|=0;WkQhz1-Oj(&@B8iu2q;^# znxT-NDAJiy^XM*K4DWmOUUO8%I{u=#BlA5$%Ry`V1rrWNfpqIyMRgkX+lH9`dV}#I zt7gs0a+hr;B+K6kp>9{IPZV_Cdh=?kV9Nh?R@-*V9o->R(%|3K&wgpv{T`e~*KY`R z?OQMCDI4jeVFvvNR4$>@JyyQxpbRT{IYrW#fE%~p1S`8%zZI%XdoAj2n~9c9zl@1Y zdugQOV&C^^y9HOGTF(^kdL{Rgcn?uX_koot>A{|2-bZ~xV7_vAgyu{L-mCuyF zJ~8<4hEMXP?89MQ8O|&-e^r|=lUgpRoh+Y}aW<@S27El`j^DC7Lbao>GRk!h3|d)6 zE2`_e9MR$`X=Br-V&=KagYqY7tn|vQGyPbe<8!*tf9ifOF0EsX^K*DHWQqS|XW2jX zs`CcY94nJ85*$+hH>$1mDOLaF(wx>@!E3nqzwQ(vLR zW6GzHLwQ}=Z}_J_y~$&eGhn`peG!x3wyubZba-F<`+N-_PRYJkvA9Jl^-+PeHdB}O zqzTR062tJKhh7_8X4c6cx`O+G?7@`zeRtRC>~g z^M$S3v+oYZIl5CXMTFXWp14_-u4zO>e4ig~v^>n5*J=GGzO-v76>S^dRkF#jgf0~n zn3h8A+WPh`WnENMp0NC+JE8#w#?j zkD0T1%U^HD_iKj>p^)=;-K9Q1E*9-aIrC4N()bIk^qX387p>L4?mRIt{mz6*x_Gg= zSxzf4*N==|c=!IaS~Jcnx!{bAJl zuI!EZJIrqivrv26U)wXc>yD-KW@}ou80EMORJcZ4ZYA{S`^H+G@h+qF?JZjBQFZwc zwX77Z?eR(Nu5^O_*k=&N32=x!!<(D{vW76_n!m!%W5$;)7J)L!Flrsv9 zU%W1-zfKj6{2;F8ZF+BMa3KagZfh!y@)tP}oV>d9-uOxQtvwH6o|YVxeT#lPMmK5L zipFZB06*P^G8dQDG(e7KtN4~`tIeJg(QUEJQlqk+$e}K7wT(+SaVA~s9;SP}D5le(WB$;!7@auS-9D-rTU1&PvuPT19PIE+LfKAcig~K1+S+XQ+>fb*$bB z)4P`Qaval2>JCF0X+FI+tk?_;GMRBHF*x$4w^T^%^_JU6K~IVFKhpxbrwol(Mml4) zuSL)C2itzW+%jL&i(>hrJ@^O3wvwJ7sQL$jpgTb4weX~r<*fN?T&rM>J~?$($dnnZ*=J| zxyz1)L|sxIPw2RlE?4hs?;iQ7p)#*Jw7UPxzdL-GRF5`k<=hs%j4=IPyWZj!cX#^H z%rv2#*ZS-;+a~U_GFssgt@`etTFZ3>WC}QX4P3Gv`FlKV&IoGTWb4QYNEP^7|IS|0 z@4wIgX1mt(Oh`ex|D0z3?`ocC9_HxqtMlqNT3##*Ka3ixc%Ij&eO50vH?6ZAIT#Yl z6sqBu)x%MFb1utNXGiFBPx>qI)7sl2x*t3RsV%wFnGR`|OwS5jOyEq{`oUlDl)pgF z{$c{Xut536`k^%YH~d3IUwg5+DC1LRsM-6?zUiH)3LA+DBy;AJy|voJQD25POnqpHQED2Ktv>1(e=2`}P5*Pm@kT-?haB zk*UKo)q`o&>~^_+7$zgXJkv}5-US#%Z~Ke&?TYG1f%n^Ht!7Q1bk{{rPPaI}!6aNP z3g;h6mx|6Z8$z8nLaB{PM=aL zZkO>FW%0kSQ4~l|GksGS+G)0Xr^QT_kWeCapS3ut+e|V^9S-7=bFnjAh_rmHH)j;ENmkionif)i(W=y{INEd%a!r@r45Mc@)bK2AvV^y|lG+M`LbjAN z2lK>YT+6p78hm-q?DDq+Ox&+@TIaQiLZRZtdDvB@=$25o`E9mDs`yvtF@txJATBv- zmdVI_@ppco4-Ut@tPVdR+e2*yte1sPhe?Lgm zMS|$eC$0;iY;`Vi+MfQjSa0So{i^Wtj2^Cvrn*}@E$xf`83FT>!6K^sH+SB>M_H>O z)%#IN$ZGL#0`Ki~D!avbrV~x7UT)Ult3@4LV8GAQJvM`gpVrcYPYUsP;` z?*6Q*{2M%Q<=ZIYVJNoGd0bV~{ODi*B(3?5qIX_VgpSP{1Yt;3s==Z2GKkgCsr<_2 z^R;^;D}V8|NB+a($0Y9iee?UtI?8}A@9_V7CDOaCaIE+UJPh|8p5$2TuRSatZf8_w zW2E<=ReIDRi#K_S-u$iFbft++CkbJ)_>ehN-E956^J{gJ&qYVS_~f+z)h?K>oKM~x z#vwmQa30L6PDXfEJ-T_g7HPgXG~K$jvL4-4fIe9GV;O6T{MYUn@cqx?YfZn0-Ysh> z$7T7K1MrniAawfkhpQp-zkYITe=WnwuCP?D)c7X2vYs-pS0SJV)XKeCs~Yn$9YI>yX>~ zMZvjK_s6-3-IVE&ZtpqgzJ-)TIun-Dd+Ht7tvwxd!wzj0JNPdcH+gsXj=tZQdXapv zXf>_&E8M{?6*a?bah$%U4tY@NkiI$45g_j1^^-MbYQM{ajwXgTNX6M^)g}AoMrv8kT=rAbr*MK+Y4h>=YvNYkSC%b8K%EkBl#V>bKk# zIB^pvr70zxKD{Rz-TE{_cKgpd(*s;jT5s-nX^ zlPZSvEkIbLk&NhGF3rG{&QZx zxH%Z1ikb|hpyRhZ#O@l8{nOv&`b4|Gi;%zK#EFv`+pS+o-FyDhD$!kkCzG5_VTZB0 zHDUkNVMTwngUMEoLHG*D;A!Dwwa4XYIP~Yo`i(^V_lCwI{P82Den~$jT}SbyCdRQ+ zb!)~fsT~)0p1-TcCi76j;-eHHckLEC6Nx*oH79KpFie!S^$Z>4tUG*tlYk4QX7)S+0_ zMUejzf7fGc{k$KJKh`TGHdsxr*|Y1Z%AtqR8-xb8F(Xl1?kBm5^{jC<0evP?M^pBOzDrz>zlbX<(*=+Q)LdWl z>bmN`Q3M{pIZo!>9Y1=V19X6C&``h=dHUUPV$GV3G#^94!SUo@8&aCV_$pLY$Q%F2cZ9S-U=St>pnVELzw>* z-4SuESn*$B4dD#%s@nSE_+Ksmo=s4z!TgxJF(2CL_sUUZOQPq8$PwJ^cUn0P9{De; z)tnxG9!%TQ$ser78Mws#@{h=G=YXS54Wgchdsw6lx(ZZ&-Y1@Vo010#%StK|{w0Nm zj66^<sh>=_LQvi`7 zyCqFkvu;a|sBty73GQ86jmrAY;}}Bl47Ai^I@&0kp;G7AF$) z(9Q`&-^^_xV#7biqks_0ntLopc)OT3&mDMX7yX%?Sn3p~xDe+$A75o6XgEmKCl^2- zSZw_J6yzx)=m#|e;^Y%S7Ha5ig(dO@7J0HdpCW6RmjWf=b@kmz3Ygax#LM5TNQICA z77XN+i05%C$AX|JXjRtvG=Z3zU4i8lLqN3eUQ~kSB?dtI0MNc)%VGs}NNTQ5U+{QT z^8y9wF*g*ISLbo?V^{DvNt3HI5+1w}66A^m7S6tYfL)y==RinTkSXC2z_nDDgb;!v z3Xwn&pPSyp(l9YrPC%@2N%Az2_b3emV$);3%oz?#Bg9+MCxOUYK@+l;b{-aottTPg zH|4QJ-YKyVc7nLWc{nW2fVWsa7mg@*rxNg-EK)ET_QZxEB}wVcypu-Wumh39f*kJ_fwSSX6y(5v$Gs!u}}Ya2Cc^gIq(s-z287 zLL^Yk=epsrAnbV*DFmGNdkPd3LUChwy2y$6QF2ro}ZRdD6 zneKXkWQy8KlYm|)qx89;fanah`OC`){btJ?w+T{_R~U&VyiUET5Qs=Q9`#EY?g(PL zAd&BmVmJt|Gt5>2;<(ILtheEOI1dqjDd z5Km0va3EE;4Mg0ia1)j+1V|=*Q)>7;OuQQ+zWH>Hg(x@{2=3-#TXqE|o&gcJneUPy z5@$aHh|m6VGA0rC1jM_y(mjd9r3C=-W}Ar&xCZ040r3psyGKOgZd!o&^Qd}ZxPrwF zAmU?jLa?M#fEiZfgv1LtAudDAXf5*zbrY!21T>Qtzc5S(yZ#+Y#-|D8G(_JLK?%?H zxH(;eeQUD?zI}f`BMpP!0pLneKfVyadPKx30eBnsqY!Zh>STey?@~z+IxGn5WhhzI z?el|)g`x_9Uu7IVMgnJtz^ls%aYT?OG63*j*PTw2z-lHh)R`J-~!yyk3-NYu4*J`c?i0L%oCp1 z+5oR7_pns(;Is8$@Cq^7VG5$6*UoYw;;u->DiI4Ig%uRSY~xKQW@1p=pvfj<*n~6{ z<%6iC2wnT(PY5!X7}Q@_9=Zy^;1$;Z_;MSSCp?F?0cKBB+JoU-o$Z3aud@!*!r-R> zIOFwLLO;neO)-YR`}~|FVDQ@joVU${67Dbgpv+S2uGJsF;1m!zm+J`SP5c0 zz;%HiUBa-YBS2GyQd~$SK?Vg2LC|1y9;EA#m_ajTeg^}dIHS}tfv{!-B4Y`z6w|t) zK_QGJb1xH?Du|%hvv~EBXEc4j0D6tA0?HkLuh1_ zyby8id(xzg5QT`h-gQofiGv1X@hr}bP_uwI8kA9Ia{1qT1T==YI6(Xt{~R?;Tn^Gq z^Ls-zTqqX+@e{YY{)34hoCm~fXF@B9oz>zZAb$Em+G&{hKXE|3ru`fqUIb7A;=F-( zh{;(@yXgpsAH-ikj6o3WagakiGR#Jg$yaMp<(`Y;aKR)>YJXVTRZiF98Lyu3WxWa?KyaEP)(8irg zSnViSm;&sDzn`zbk|;qfU+c+xXJVCor30S3Tl{8%iA_L#QPQ>f4l&X1e+RrjW?R34 z=aaWkS4|sue3_Unc~F^zYh8zv$>KgprgMFMSIJ?P0#qh1{&(RPMtC+Ic8^)C*BRzi0B z2F&Xxkh@L{7p+Y!!LK>M@tm8wguDa|y$6DJf5HMUKXSq9B=4Eh8ImzH6*=Kz-oeJ7 zf$^K`x`Yq`<0;74+k=Ib=(iALj8Gy)^e5D@zv5zl!^U~QxbQL)33(GT_J7I3Ni=Q+ z#+RQfGLn#?)#55Hj*(bEPLLd~Z$S})=O7LL0|Cu?5W@o3w($uN5~}(Ou(3PTt|Ppk zV2Elw1&gMyRL76Q0qeO662a)nM`z;DU!it;;+P?vCi5T<6l7i7?+_FGJ`>O)jf=3h z1GpLxu1yJx5YcH`kVCW#i?C2xc0dXDc8OGYy#yFB9V6}`ifMa5O@I4iE=l?p5IFcG zVU6ek7a2L?!dEyhT4O-%`FK|qV)ZI8AXX!xUaXMf6Lg-88eyB@-bkEKs}W=hTSt@# z;z}^f6#~b~q!JgkV4s$x&;k=_VnC5&VXf|-+<`~xad;F%1FhYv34 z9ie7*FDoFl)~2qxL69CnA3?oqZ7g2%AcV&jlvGZl&#?#~Lyw3S9&$AatwP)&WCMTF zPj`F;feRX>vIPPvEFF=blP8E04I-s?Pv$w~oh`Ek@O7V+ScoZ#z#AIA#0x}k#15&+ z5r=1pRjBm|j2Rq-eG83QL3OSg;O8m8`;V)@u7x*Y0t#F)t=OSHpzLk|FGlqsJPnEG zkQ5LeH+cCSr7y&Sj8gCv7b45LkOf+zYgHm9#{lQA1JBrqqV@vabg%WEgi1flG;mE6 ztW59c+=6%INKjsaAFN+O>!%)(x}8#xAb+}^a}!6-0i~Pu@FUA5(#S?2x$GDth{=?t z09<^g_T&}FM6lHhJ4ygv;;w%p%=BO@2qv(T0dH8iU}N)pz*y=`3&CfGb7i1@>iFU& zpmKuvPJ>{?czz;uC`8aL$k@k+1tI})GFJn}JS;6l|(^iMB*F+UN3o(1^4(s zz>y+B_a)Sx2muoY!M5i%A}TB<355BfAwU6%3JGNgHbD17PuauJ(7am5i;J zk{nKx0t4Vn^}`~VHUgp@cl#y4A<*s@1+)XMVd135gU8j$ipNNgB`$);j5o0G9uo&1 z%O)#05X(1k%@O(p@yH|J^c~^sko?Ys3o+O2Z4Lo+AaCjmV--Ts!@!`AXiU~sR11R`$*Q3zYge)u|! z%?a@~xrHV2P6>fLPq^*?ttX)Bi3GgGYA(nUN|+vVjluX0a2>|KPA# zLDunN4v;I5wWbOf{A$D|abc}c0AlWQ!*uvEjGc@DuBBa?I}Y;($+2l&Sf)qv9NP9Z z8+O4<-)d-Y-LC7LO5*(DTh<^lV-971!MB>t5>D&4H^+XA&irfHN#)A3^ zk+>TQ5RdAv*C3U@4Mf~H?hwQYcsrW{h#%(*HYQbYH$=SViUBOCE5J&OKji?eULa;2 zAdVJiTTBRFv=BiNKr^?eie>C1*I9w<1Cp+1VBdIvZ`pI>Pe{JyffRVc)9wyO{Vf0w z;eBol)eRK&@23HH;td0Mj<^Paf1q)IIxGPkaIuIPG@%8*1C=8{iMu_%SoR+Y+!zA) zafRXt29yRGb-uP4=Y`&d+Dje?%oAbk7U3zwY#_v(H^>-zmjDhiua+_(YHG0zz+IEc z9iS)?z?A?v$Gi#r1xyNrvCW&jj8w$Qk#&E_6tGfv&aFBIqAB)S$Hx#y$DZstS`2@E zu!yi2W*zqR&;++Gz3!wgS{J5htURFDpAYvrVxOom$3{$lx6qW-R@fnTh$%%sV8 z1I$@*nR5MvrGkRRJ;={zxI$8P)PUbNws7-A`P-C%*CLB1r0KB382mnZt!@j3ey-q1 z9@t;AUA(rDeB?)W+l268)1r%fQvw|{N{N6D0C5Ek>~Ozl2zpJ4uuAfNQnemk5Vl~3 zui&YkWMAP&bNx@ncct2s&8_nm`1J4ltJQ3~&}n43a)pEQUuTGkX@ogAd1!J?+DIq^ zr&Wxe)eEMRS*a0%?xTKNx#rdpKLPuJMQm}|BLw0P7Ns;jHy`f77ZVl6|WS|9+p++ZcQ@nHv?DY7N+{Nnoy z&d0_d_VXpWp}c>Lp^pw8fwS01=sbeQ;@l0dW!Ge5GdKC&X3ZGpN#D_pr0Ir{t(;}YbUd`%er$RVe=9JuG@4^8 zOEsGL=qH`bWxuh~nyoLBBP#)(QcFjND@T80N~njfya9Leweps&BxDo1n5M3q>17D?ofjw22u z_RbV|DK8fHn>jZKnO(^Tykl27>7}OLHaIU;ZD5_jp|hCBfMsmiU~m4}fGbBoIS;?y zM}s4`QcUGIIO{QH^IiNl!R*56D75>!4mvi4PN3DhBLg;5*LIrZ<@W!Y(&!KDG&eAV z1DvvE4F{Cb2sm4c_(?DCw>B3{d+>Pte1DmWcNaM18w1+6(v~kIcnsQPIt@MuVQ(oD zLGQLU0XZEF8h#w-WTT_rPaB8MvQIep74Ri_Jo9Y>@qJvne%NSzcNO3 zRv^9X=wQV>i8}11q|cS@$*m2Led!~!R73Xrx^=#pu89jK6U=w<3zPOd=;O;PT?d;J zMcwy=G@17)9~k4x4~KDbp2N!?rJ>vrk{9pEZuJ!6Cl4|2bJe-VnfE1XciY!MvgcQ^ zkJB8N9hLEZdXLV@Z;|h`RkDA{_q7G{BWaF}xF*b62BtpftTGWmNd zmLI>YIlC9^jERt%i9^-IwAUVP6*N2vSlirNgaXFgny?mHyyp?HFx9lP;?rN*f}>pa zYLapBf(Undo`c?}9WA(oI2onr0CnAK8^3uq%>lSWrxhC(K z>@JVum$~XWw^u#q8j{0ghws92u**>+M|0n{~JKW>Z z`;(m0)n4-J=0>dG7yGOMT-C@|hBF9<4;}0@65*$qWu7SRgSv9u8jI%S}8=UZ6 z+dW(!!!IiQkf$0iCEu^9XeR-T5Ol+3n{3#8TwB ziU{~aLlq_ODMZ`CjB3B^zuDBu{~W!PZh}6*ai(FdiPJoQsZ*Y=%w+xe8PG}O8};&C zqRaj?i0ETChG@qQmOWcD|EZG^u1o}-py||$rSt)5!bgQdPODPmha79yTYXf@0<@2| zOKaJM(&_!iDR?YayQymp(9k6cj@|#M#+W}Y+O#@QJ@^JMx$ls>(j)f!g5+Fi*blRP{(DuB80*#AsOdjL<(6i>21bU~fA zD*KJo%^|Xj53ZF*h+b`V-t{4V8MO}n3&tNHhhSGNbOl2;3cwhBhv)6tV-P^*EikhGY$ZkYdd-9;X- zK}X5>t(DrN!!>ZeJ*1(&F1q9mW)9YS>IKGvrGsoP|GO|T)_OF>Coi?nib&or$_z#a zy^a6kX4)^6=(pay){`k$yl-T|S>QGj-M9sAAY||C463p@zo_K5IW_5`x=_AsOSc?K z$N;U7y4&P|;0i?Qe)`Q?hT1s|$3aD`=<=ce&Y_0?p-x@CA2cZ)MwcCDb5htXt~|87 zDPo?Vd|LD7xBaj~sMfu}O(d2>_iBd)m!siB=z!m8opWogV90$0*<9O%E*S} zkd%Mz`~_FR(T}9d=Z2Q9QD;+X9cb=e0=F&(Zyjf63b?f`c2Idx?OCxF?zlMeaGf@} zTMyI~YR0@#=j!0){tj@b=(NmAm8+zeQ;Ji&otcg>_r9GUdOa%n1zNr~Y6CQ$74;Eh zJhW7qkYAjv-eW!Z@p(FbL9PUp`>8*}U}iSl7k(~e+W*L9(8mPybH|6VrXB+5)Vltv z(XD*u!;?SL8mH}~zid@-#5UC?JYTp&$SilLYqEI`JFkJeN~!z2az|S?Yww7rZ*a~T z`Yi5)OjsH@Yf~JspSY9t?PxuDLuA8qBcMtS39bhTn-o7p3MeD(UAT|V{^-qLsH+pr z3wRnZ^TFyL=KfMeYj|!#QGKI-cupfrzfVCt%I+;nFt${w`74z4ydnxArf1H9yD5+G z>>htU?f)}DdoDIDr^&s^iQJ1GOw;kL~TxU`|_r9Y2*V^H;QM|5ddyK3y-s%MAX zT8lxA3mdrN~)P&3j4#$@^1$t>)uHXLIG5X6fr>Cr)Tm zA7zbz8(L?DwkAud_k9l!$fS=xnAIXGk7!NC$)Q^$P0)(S3GL|JYW#4{v;HtIFls12 zM!zDzgT>#^e;FhB@fBSMoPMi6i$t$k6411CelHNe+g|%1M4tgBauO=UJ8DOK1tOM zfyMtw66Z4EkQWh@4R%O(gQKBi4rm92?gu-d3OS`=_^YiB_}&#qE@(>H6E8y>QFKI^ z5^)0sk_jQ^jFKkpiT$Co%%7K?BMC`PeHXeAQlH`mo$o+<;=K#2M+gMs=%`15`#bpI d7}Ojo5EROz<>)}`Q{Z0^YRdO+=POz~`#+|kGr|A> literal 0 HcmV?d00001 diff --git a/tests/fixtures/embedded/falling-duck.png b/tests/fixtures/embedded/falling-duck.png new file mode 100644 index 0000000000000000000000000000000000000000..6aaa2a44f4debff2658b166c4cb8c72444b120b1 GIT binary patch literal 30717 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 MBesW&4tmD^KOO0#;s5{u literal 0 HcmV?d00001 diff --git a/tests/fixtures/embedded/falling-duck.uf2 b/tests/fixtures/embedded/falling-duck.uf2 new file mode 100644 index 0000000000000000000000000000000000000000..0d95fc22a5884ca7dca62c64b4e22d42e5f91d40 GIT binary patch literal 661504 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

E!xLqBv%tnP0iSAylqgi`TVLXkVU=OtV# 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 DA){B0 literal 0 HcmV?d00001 diff --git a/tests/fixtures/empty_game_file_source.yaml b/tests/fixtures/empty_game_file_source.yaml new file mode 100644 index 0000000..05937b3 --- /dev/null +++ b/tests/fixtures/empty_game_file_source.yaml @@ -0,0 +1,59 @@ +# E2E config that builds the empty game from a PNG downloaded from the editor +# (a `file` code source) + +# Config version (single number, incremented if breaking change to schema is +# made) +version: 1 + +project: + name: Empty Game + path_friendly_name: empty-game + description: "Empty game, exported as a PNG from the 4.0.14 editor, used for E2E testing" + author: Cyrus Yiu + version: 0.0.1 + # This is what the window title will be + # This will also be used for the executable file name for Electron outputs + # You can use {NAME} or {VERSION} or {AUTHOR} to substitute the correct + # values + title: "{NAME} v{VERSION}" + +inputs: + # Can be share_link, git, path, or file (PNG or UF2 downloaded from the + # editor). github is an older alias for git. + code: + type: file + value: "tests/fixtures/embedded/empty-game.png" + + assets: {} + # Icon is optional but highly recommended, it will be used as the favicon + # and app icon +# icon: +# Can be url or path +# type: url +# value: https://raw.githubusercontent.com/UnsignedArduino/MakeCode-Arcade-to-App/refs/heads/main/examples/Racers%20icon.png + +# icon: +# type: path +# value: "./examples/Racers icon.png" + +# Path where the build process will take place +build_dir: "./examples/testing/empty_game_file_build" + +# MakeCode Arcade target version (must be installed with `mkcd2app target install`) +target: 4.0.14 + +# You can have multiple outputs +# Currently available options are static, static-singlefile, electron, and +# tauri +outputs: + - type: static + - type: static-singlefile +# - type: electron +# window: +# width: 640 +# height: 480 +# - type: tauri +# identifier: com.unsignedarduino.racers +# window: +# width: 640 +# height: 480 diff --git a/tests/unit/test_embedded_source.py b/tests/unit/test_embedded_source.py index bcafe59..883e8c4 100644 --- a/tests/unit/test_embedded_source.py +++ b/tests/unit/test_embedded_source.py @@ -24,6 +24,8 @@ FIXTURES = Path(__file__).parent.parent / "fixtures" / "embedded" DUCK_UF2 = FIXTURES / "falling-duck.uf2" DUCK_PNG = FIXTURES / "falling-duck.png" +EMPTY_PNG = FIXTURES / "empty-game.png" +EMPTY_GAME_DIR = Path(__file__).parent.parent / "fixtures" / "empty_game" DUCK_FILES = {"README.md", "assets.json", "main.blocks", "main.ts", "pxt.json"} DUCK_MAIN_TS_SHA256 = "2100e5d1f310a31abac094e6173c66b7394c18a67c466baa9a655623feded775" @@ -139,12 +141,6 @@ def _write_uf2(path: Path, binary: bytes, base: int = 0x2000) -> None: # ------------------------------------------------------ real fixtures --------- -needs_duck = pytest.mark.skipif( - not (DUCK_UF2.exists() and DUCK_PNG.exists()), - reason="falling-duck fixtures not present in tests/fixtures/embedded", -) - - def _check_duck(files: dict[str, str]) -> None: assert set(files) == DUCK_FILES main_ts = files["main.ts"] @@ -153,24 +149,37 @@ def _check_duck(files: dict[str, str]) -> None: assert hashlib.sha256(main_ts.encode()).hexdigest() == DUCK_MAIN_TS_SHA256 pxt = json.loads(files["pxt.json"]) assert pxt["name"] == "falling duck" - assert {"device", "animation"} <= set(pxt["dependencies"]) + assert set(pxt["dependencies"]) == {"device", "animation"} + assert pxt["targetVersions"]["target"] == "4.1.27" -@needs_duck def test_duck_uf2() -> None: _check_duck(read_embedded_files(DUCK_UF2)) -@needs_duck def test_duck_png_matches_uf2() -> None: + # Both were exported from 4.1.27 in the same session, so every file matches png = read_embedded_files(DUCK_PNG) _check_duck(png) - uf2 = read_embedded_files(DUCK_UF2) - for name in ("main.ts", "README.md", "assets.json"): - assert png[name] == uf2[name] + assert png == read_embedded_files(DUCK_UF2) + + +def test_empty_game_png_matches_fixture_dir() -> None: + # Exported from the 4.0.14 editor; only the project name differs from the + # checked-in tests/fixtures/empty_game + files = read_embedded_files(EMPTY_PNG) + assert set(files) == {p.name for p in EMPTY_GAME_DIR.iterdir()} + for name, content in files.items(): + expected = (EMPTY_GAME_DIR / name).read_text(encoding="utf-8") + if name == "pxt.json": + got_pxt, expected_pxt = json.loads(content), json.loads(expected) + assert got_pxt.pop("name") == "empty_game" + expected_pxt.pop("name") + assert got_pxt == expected_pxt + else: + assert content == expected -@needs_duck def test_duck_extract(tmp_path: Path) -> None: names = extract_project(DUCK_UF2, tmp_path / "out") assert set(names) == DUCK_FILES From fb43fd3c649bd7b21fd80c3220278cda9c3c59a7 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 3 Nov 2026 23:08:44 +0000 Subject: [PATCH 22/46] Fix file source e2e test on Windows CRLF checkouts Compare the extracted main.ts against the PNG's embedded bytes, and against the checked-in fixture as text, since git's autocrlf gives the fixture CRLF on Windows while extraction keeps the embedded LF. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Mbb9ZdVK71NaCgpyqUP1Wf --- tests/e2e/test_statics.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/e2e/test_statics.py b/tests/e2e/test_statics.py index a5ba621..475e24b 100644 --- a/tests/e2e/test_statics.py +++ b/tests/e2e/test_statics.py @@ -6,6 +6,8 @@ import pytest +from mkcd2app.build_project.inputs.embedded_source import read_embedded_files + TARGET_VERSION = "4.0.14" BUILD_DIR = Path("examples/testing/empty_game_build") FILE_BUILD_DIR = Path("examples/testing/empty_game_file_build") @@ -116,8 +118,14 @@ def test_empty_game_file_source_build_to_static() -> None: result = run_mkcd2app("build", str(yaml_path), "--full-rebuild") source = FILE_BUILD_DIR / "empty-game-source" + # Extraction keeps the embedded bytes exactly, so compare against the PNG's + # own contents; the checked-in fixture may have CRLF from git on Windows + embedded = read_embedded_files(FIXTURES / "embedded" / "empty-game.png") + assert (source / "main.ts").read_bytes() == embedded["main.ts"].encode() expected = FIXTURES / "empty_game" / "main.ts" - assert (source / "main.ts").read_bytes() == expected.read_bytes() + assert (source / "main.ts").read_text(encoding="utf-8") == expected.read_text( + encoding="utf-8" + ) assert (source / "mkc.json").is_file(), "expected mkc.json written" # The PNG was saved with the same Arcade version as `target` output = result.stdout + result.stderr From 8c0bb083597db3dc7affd2410f5c933443d8dc82 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 3 Nov 2026 23:24:50 +0000 Subject: [PATCH 23/46] Accept ZIPs of a project in the file code source A ZIP (e.g. GitHub's Download ZIP) is detected by magic bytes like PNG and UF2. The project root is wherever pxt.json is, at the top level or inside one wrapping folder, which is stripped. Directories and symlinks are skipped, entry count and uncompressed size are capped, and names go through the existing traversal check. Adds the Racers Download ZIP as a fixture. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Mbb9ZdVK71NaCgpyqUP1Wf --- docs/PROJECT_CONTEXT.md | 18 ++- examples/Racers offline.yaml | 5 +- examples/Racers.yaml | 10 +- src/mkcd2app/build_project/inputs/code.py | 2 +- .../build_project/inputs/embedded_source.py | 117 +++++++++++++++--- src/mkcd2app/models/config.py | 9 +- tests/fixtures/embedded/Racers-master.zip | Bin 0 -> 1552184 bytes .../fixtures/empty_game_build_to_statics.yaml | 5 +- tests/fixtures/empty_game_file_source.yaml | 5 +- tests/unit/test_embedded_source.py | 116 ++++++++++++++++- 10 files changed, 254 insertions(+), 33 deletions(-) create mode 100644 tests/fixtures/embedded/Racers-master.zip diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index 406baf4..4f1b307 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -4,7 +4,7 @@ _Verified against `toolchain` @ `d7ad64a` plus the `MKCD2APP_HOME` change, the small known-issue fixes, and the separate deps-install task, and `origin/main` @ `d31e2a5`, as of 2026-10-29. External program requirements audited against `toolchain` @ `4d518d9` on 2026-11-03, then updated for the Dulwich git replacement and the generic `git` code source the same day, -and for the `file` code source (PNG/UF2 with embedded project) the same day._ +and for the `file` code source (PNG/UF2 with embedded project, then ZIPs) the same day._ ## Goal Rewrite `UnsignedArduino/MakeCode-Arcade-to-App` (converts MakeCode Arcade games into a @@ -36,7 +36,7 @@ main (legacy) ← PR #6 `dag` (draft) ← PR #7 `toolchain` (draft, base = d | `utils/` | `run_cmd`, paths (platformdirs), `run_redun_task`, `rmtree_robust`, semver, `git` (Dulwich clone/checkout) | | `resources/` | Vite+React+TS template, `mkc` js_tools, empty fixture project | -Other: `tests/e2e/test_statics.py`, `tests/unit/` (config code sources, `utils/git`, embedded PNG/UF2 source), `tests/fixtures/`, `examples/` (Racers), CI +Other: `tests/e2e/test_statics.py`, `tests/unit/` (config code sources, `utils/git`, PNG/UF2/ZIP file source), `tests/fixtures/`, `examples/` (Racers), CI workflows `lint.yaml` (ubuntu) and `e2e.yaml` (ubuntu/windows/macos). Tooling: uv, hatchling, Python ≥3.14, ruff + mypy strict, pre-commit. @@ -101,9 +101,14 @@ configs; `fetch_code` handles both in one `case`. ## Status - **Done:** `static` and `static-singlefile` outputs; all code sources, including - `file` (a PNG or UF2 downloaded from the editor, detected by magic bytes; decoded by + `file` (a PNG or UF2 downloaded from the editor, or a ZIP of the project such as + GitHub's "Download ZIP", detected by magic bytes; decoded by `build_project/inputs/embedded_source.py`, and `fetch_code` warns if `pxt.json`'s - `targetVersions.target` differs from `target`); toolchain/target split. Everything that needs the network is vendored at install time **except MakeCode + `targetVersions.target` differs from `target`). A ZIP's root is wherever `pxt.json` + is: at the top level or inside one wrapping folder (`-/`), which is + stripped. Everything under it is extracted, binary files included. Symlinks are + skipped, and there are entry-count and 512 MB uncompressed limits. It's the way to + build a private repo until the `git` source handles credentials; toolchain/target split. Everything that needs the network is vendored at install time **except MakeCode extensions**, which are fetched per game; `mkc`'s extension cache isn't redirected. - **Not implemented:** Electron and Tauri. The models and result fields exist, but `build_project` has no `case` arms for them. @@ -126,7 +131,10 @@ configs; `fetch_code` handles both in one `case`. path traversal, plus real editor exports in `tests/fixtures/embedded/`: the "falling duck" PNG (512×424) and UF2, both saved from 4.1.27 and identical once decoded, and `empty-game.png` from 4.0.14, which matches `tests/fixtures/empty_game` - except for the `pxt.json` name. The e2e suite also builds `empty-game.png` through + except for the `pxt.json` name, and `Racers-master.zip` (GitHub "Download ZIP" of + Racers, saved with 2.0.48; it builds on 4.0.14 with the mismatch warning but pulls + GitHub extensions, so it isn't in e2e). ZIP cases also cover the wrapper folder, + no or ambiguous `pxt.json`, symlinks, traversal, the size limit and truncation. The e2e suite also builds `empty-game.png` through `empty_game_file_source.yaml`. The duck builds end to end on 4.1.27, and on 4.0.14 with the version-mismatch warning, but isn't in e2e. Nothing covers the redun patches yet. diff --git a/examples/Racers offline.yaml b/examples/Racers offline.yaml index 93a20f7..f602f06 100644 --- a/examples/Racers offline.yaml +++ b/examples/Racers offline.yaml @@ -19,8 +19,9 @@ project: title: "{NAME} v{VERSION}" inputs: - # Can be share_link, git, path, or file (PNG or UF2 downloaded from the - # editor). github is an older alias for git. + # Can be share_link, git, path, or file (a PNG or UF2 downloaded from the + # editor, or a ZIP of the project such as GitHub's "Download ZIP"). github is + # an older alias for git. code: type: path value: "E:/Racers" diff --git a/examples/Racers.yaml b/examples/Racers.yaml index 743cddf..df7d8b3 100644 --- a/examples/Racers.yaml +++ b/examples/Racers.yaml @@ -19,8 +19,9 @@ project: title: "{NAME} v{VERSION}" inputs: - # Can be share_link, git, path, or file (PNG or UF2 downloaded from the - # editor). github is an older alias for git. + # Can be share_link, git, path, or file (a PNG or UF2 downloaded from the + # editor, or a ZIP of the project such as GitHub's "Download ZIP"). github is + # an older alias for git. code: type: share_link value: https://arcade.makecode.com/84426-33815-03715-00484 @@ -35,6 +36,11 @@ inputs: # type: path # value: "E:/Racers" +# code: +# type: file +# # A PNG or UF2 downloaded from the editor, or a ZIP of the repo +# value: "E:/Downloads/Racers-master.zip" + assets: # Icon is optional but highly recommended, it will be used as the favicon # and app icon diff --git a/src/mkcd2app/build_project/inputs/code.py b/src/mkcd2app/build_project/inputs/code.py index 6324e6c..9d8d045 100644 --- a/src/mkcd2app/build_project/inputs/code.py +++ b/src/mkcd2app/build_project/inputs/code.py @@ -82,7 +82,7 @@ def fetch_code(config_yaml: str) -> ContentDir: logger.debug(f"Copying source code from {path}") shutil.copytree(path, code_path) case FileCodeSource(value=path): - logger.debug(f"Extracting embedded project from {path}") + logger.debug(f"Extracting project from {path}") src_file = Path(path) if not src_file.is_file(): raise FileNotFoundError(f"Code source file not found: {src_file}") diff --git a/src/mkcd2app/build_project/inputs/embedded_source.py b/src/mkcd2app/build_project/inputs/embedded_source.py index ec5a3f5..6f98971 100644 --- a/src/mkcd2app/build_project/inputs/embedded_source.py +++ b/src/mkcd2app/build_project/inputs/embedded_source.py @@ -1,14 +1,19 @@ """ -Extract the MakeCode project embedded in a downloaded PNG ("shareable image") or -UF2 file. Mirrors pxt's decoders: +Extract the MakeCode project from a downloaded file: a PNG ("shareable image") or +UF2 from the editor, or a ZIP of the project's repo (GitHub's "Download ZIP"). + +The PNG and UF2 decoders mirror pxt's: PNG: pxtlib/util.ts decodeBlobAsync -> webapp/src/app.tsx importProjectCoreAsync UF2: pxtlib/cpp.ts unpackSourceFromHexAsync / extractSourceFromBin """ import json import lzma +import stat import struct -from pathlib import Path +import zipfile +from collections.abc import Callable +from pathlib import Path, PurePosixPath from PIL import Image, UnidentifiedImageError @@ -21,6 +26,11 @@ UF2_FLAG_NOT_MAIN_FLASH = 0x00000001 SOURCE_MAGIC = bytes([0x41, 0x14, 0x0E, 0x2F, 0xB8, 0x2F, 0xA2, 0xBB]) +ZIP_MAGIC = b"PK\x03\x04" +# Limits against zip bombs; a big MakeCode repo is a few MB uncompressed +ZIP_MAX_TOTAL_SIZE = 512 * 1024 * 1024 +ZIP_MAX_ENTRIES = 10_000 + class EmbeddedSourceError(ValueError): """The file has no embedded MakeCode project, or it could not be decoded.""" @@ -142,21 +152,77 @@ def files_from_uf2(path: Path) -> dict[str, str]: return _parse_files(text.decode("utf-8")) +# ---------------------------------------------------------------- ZIP --------- + + +def _zip_project_root(names: list[str]) -> PurePosixPath: + """ + Find the folder holding pxt.json: the archive root, or the single top-level + folder that GitHub's "Download ZIP" wraps everything in (-/). + """ + paths = [PurePosixPath(n) for n in names] + if PurePosixPath("pxt.json") in paths: + return PurePosixPath() + tops = {p.parts[0] for p in paths if p.parts} + if len(tops) == 1: + (top,) = tops + if PurePosixPath(top, "pxt.json") in paths: + return PurePosixPath(top) + raise EmbeddedSourceError( + "ZIP has no pxt.json at its root or inside a single top-level folder" + ) + + +def files_from_zip(path: Path) -> dict[str, bytes]: + """Return the project's files as {relative path: bytes}, any wrapper removed.""" + with zipfile.ZipFile(path) as zf: + infos = zf.infolist() + if len(infos) > ZIP_MAX_ENTRIES: + raise EmbeddedSourceError(f"ZIP has more than {ZIP_MAX_ENTRIES} entries") + # Directories and symlinks (stored as small files with a link mode) are + # skipped; a MakeCode project has neither + members = [ + i + for i in infos + if not i.is_dir() and not stat.S_ISLNK(i.external_attr >> 16) + ] + # file_size is enforced while reading, so the header total is a real bound + if sum(i.file_size for i in members) > ZIP_MAX_TOTAL_SIZE: + raise EmbeddedSourceError( + f"ZIP is over {ZIP_MAX_TOTAL_SIZE // 2**20} MB uncompressed" + ) + root = _zip_project_root([i.filename for i in members]) + files: dict[str, bytes] = {} + for info in members: + rel = PurePosixPath(info.filename) + if root.parts: + if rel.parts[: len(root.parts)] != root.parts: + continue + rel = PurePosixPath(*rel.parts[len(root.parts) :]) + files[str(rel)] = zf.read(info) + return files + + # ------------------------------------------------------------- public -------- -def read_embedded_files(src: Path) -> dict[str, str]: - """Return the embedded project as {filename: content}, detecting PNG vs UF2.""" +def _detect(src: Path) -> str: + """Tell PNG, UF2 and ZIP apart by their magic bytes, not the extension.""" with src.open("rb") as f: head = f.read(len(PNG_SIGNATURE)) if head.startswith(PNG_SIGNATURE): - decoder = files_from_png - elif len(head) >= 4 and struct.unpack_from("= 4 and struct.unpack_from(" T: + """Run a decoder, turning low-level failures into EmbeddedSourceError.""" try: - return decoder(src) + return decode(src) except EmbeddedSourceError as e: raise EmbeddedSourceError(f"{src}: {e}") from e except ( @@ -166,17 +232,38 @@ def read_embedded_files(src: Path) -> dict[str, str]: UnicodeDecodeError, json.JSONDecodeError, UnidentifiedImageError, + zipfile.BadZipFile, + NotImplementedError, # ZIP compression method zipfile can't read + RuntimeError, # encrypted ZIP entry ) as e: raise EmbeddedSourceError( f"{src}: embedded MakeCode project is corrupt ({e})" ) from e +def read_embedded_files(src: Path) -> dict[str, str]: + """Return the project in a PNG or UF2 as {filename: text}.""" + match _detect(src): + case "png": + return _wrap_errors(src, files_from_png) + case "uf2": + return _wrap_errors(src, files_from_uf2) + case _: + raise EmbeddedSourceError(f"{src} is not a PNG or UF2") + + +def read_project_files(src: Path) -> dict[str, bytes]: + """Return the project in a PNG, UF2 or ZIP as {relative path: bytes}.""" + if _detect(src) == "zip": + return _wrap_errors(src, files_from_zip) + return {k: v.encode("utf-8") for k, v in read_embedded_files(src).items()} + + def extract_project(src: Path, dest: Path) -> list[str]: - """Write the embedded project's files (pxt.json, main.ts, ...) to dest.""" - files = read_embedded_files(src) + """Write the project's files (pxt.json, main.ts, ...) from src to dest.""" + files = read_project_files(src) root = dest.resolve() - targets: dict[Path, str] = {} + targets: dict[Path, bytes] = {} # Check every name before writing anything, since they come from an untrusted file for name, content in files.items(): out = (root / name).resolve() @@ -187,5 +274,5 @@ def extract_project(src: Path, dest: Path) -> list[str]: for out, content in targets.items(): out.parent.mkdir(parents=True, exist_ok=True) # write_bytes so line endings are kept exactly as embedded on every OS - out.write_bytes(content.encode("utf-8")) + out.write_bytes(content) return sorted(files) diff --git a/src/mkcd2app/models/config.py b/src/mkcd2app/models/config.py index d964e44..79bdb0f 100644 --- a/src/mkcd2app/models/config.py +++ b/src/mkcd2app/models/config.py @@ -2,8 +2,8 @@ from pydantic import AnyUrl, BaseModel, Field, HttpUrl, RootModel -# Source code can be a share link, git repo, a path on disk, or a PNG/UF2 file -# downloaded from the editor with the project embedded +# Source code can be a share link, git repo, a path on disk, or a file: a PNG/UF2 +# downloaded from the editor with the project embedded, or a ZIP of the project class ShareLinkCodeSource(BaseModel): @@ -38,7 +38,10 @@ class PathCodeSource(BaseModel): class FileCodeSource(BaseModel): - """A PNG or UF2 downloaded from the MakeCode editor with the project embedded.""" + """ + A PNG or UF2 downloaded from the MakeCode editor with the project embedded, or a + ZIP of the project (e.g. GitHub's "Download ZIP"). Detected by content. + """ type: Literal["file"] value: str diff --git a/tests/fixtures/embedded/Racers-master.zip b/tests/fixtures/embedded/Racers-master.zip new file mode 100644 index 0000000000000000000000000000000000000000..ff3872e41e41ea03b1f37ca177fb1e9b86ad5739 GIT binary patch literal 1552184 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 J1Jp=pGQ>GJh;QLpDWn&7&ZwDTtPQPTgvGW`3H zvCYL4eoafu;Gkg7*M&^4Oit)<%KGk=0LA{dT2>hfGevOVponmS8nn^f9Mj|v4%X-f z4{5xf9>0hKD?wadF?`0`fsT(vCX#^ueWVC`r(^XrB5k;dKH;Y~kVKe;eKdo{h5QFT z>P(1;MF@vo!!8G<{!YN^cE_9Wpcl7}iJ81x2Kt+c33!YOs<^099K!zK5x`(<>g)mjm)_=i_RIo})}_wW9da zY{2c+uVeIyKC_sTrqG>VgII`v1pjQBg66zRlX|J+MiuO}S7f&>tGV!Wp5X||A=-a3 zZrF7V9Pl3NuZ{uWd^DkV#7u7e8#Gu^O5}t@D;qPj9w2>o?kF^k+)V_WK{;fEQa2-v z8D~UP+X$WzrqfK^jM@*m^nPhZG!@gRq`VoxtnD+zj_%w3nnMppEJbS_#UCM~JrsV^ z25}OLV?$#>QNm~<@`i|Htr2jPiFKT?c<-iCP}c_S>iJ=XyXlcQZQp+9u4^kOOFzkZ z3qnAI;PZ$$-B3yOhq~0JUi;r+qUlE@y7h16!$rKH`+9!hX?-M?9G#j^)lKvM9?Dj8 zaQ+o1!})GtsEPfKd;g8x(!H!8q}r!zl?^6cl&#GarT>l9*! zEMev5FtgHt+A0HwP0&g+C@H7X(>4qm?RI_GXoDntih5z?m zhW}YW6auf&cAQwj%1r|_WDnAi$NBs_@Ev_Wh$sTH1@IUhVKW1g3J50q0$5eeT?$m-5V)h>Nr zJg~q>c%BWOl1!mvqn^7J{IWe3*^&C@f~=Hjgi1K_2W{WOGFov3tjt&};#lZmN$!g| z6h-PA5Rs1Aj3ZZrA~FA>eC@CEsc7d+=@fJGezE>n031dy+~QuSyr`(LWhhxfO$`r2 z{4v7><9n71O7?!@_C`2|RstZzR25t-a~mbwrcMV1+Fex{ofukR*$Sc9<0~diYA(j5 zxpftxJ&Xoz-&oE6sOZIZTF2#ZlJWGXmkwBTR>J{KMqzFPzl#_dKT2oW(Fzf|(={YE zZdz4O1o))2+g=Y4?*mZ!X>{_UWEMTxWdl`ZhN~uzT18o*L1Ai;TRL2y#u_dvTNZFIU7rY!^GaVC3Cs6=0Bj9e~zGZ19Rb1Sn29jc8w6_l5yS8@x zm3A}HgN-#v+!TU6dEBM1%i2?nJ30?T&zvmdk{s)OYTh7Ro0}*TxP1yTAc+~!K9i>g zrSbt6&(9kyI2sIos(N7g6$+VeZ4@y3=YS0t5xKYPC!~FYD>3pBiGIfNvx81f%Ww}w z)vz4~x>}l{!Ooo^>UTTo?eCe7!#NXvSppDb$B691okR;vkP*M#o!3&8T6WYIyKhBf znaO+ff-V<ztIm~Jc$s2pq&PjOE6^jP}TM|%1KI*GT(D8CM{kn*_Uvxo|LRX_HBF!pc)k1 z;<`v4P8W&20rXyPLRHa}c$sNz>`m?UQ^&5Ya7rc-zwF-UGbF$2Tnx7E$xG7`@#>f3 zqDVQSY*JrnGrasV)nHnom(z$l_O@EC8k(O_M0oCOv{_hcyU`jOsH~{W@j2i$L*~C~ z%4`QlH(iYz41P>AF>Ov+ut>WzzL0+fZU>AFDr-=27n_SAC&0o?)Y0ske@iK2C_TMB zub}yI*~w6v>!&x$NPmAE>-S*u0>1kHOhIG~qe^)4UBi;34vmz|^W6p(j8)8@4wM5S z3g{;7n^)elmiK3p^|i0;J9$BUdNs-`X{`#qy2w}zRa91%#IxotiZe1MC{P7iSmO7& z$dq~Vr1To-`Yf9AySvrvH_0pl`{kJ7p`=ljfI#Z@p9;mr#d4S%uLIlPIo(HYM7!7~ zW2_^JKmb=uQEh*|#ilrNBgr3H{@=Gd0uuEcj7C$fYE< zoa3^lk+(di5W$IVals@qWm2fzAE|(b`26FpNSNbdb&f)ssH(XJ3ls4Np3Ub=UO`Y; z1_6=_6|f7D)lwwx;}6au^WCq#>Q|EwJ?9QSDMk69-P_TCcGkQ1+Z_>kt?S^LZ48|q zh=21g!X1pNRwnk4qlAayN80INoR+;95m3uXIH=;rA63C;p-md8-?3xvBI z{X9$Dvw$cNA#0^T^BG^Og*7Q;-Z&a+y3@V}cWz`v7taolOWGSzy-fmVVG+TLx3T6o zhDY&l6_F*+iOd9RogkEY3)2cm>uG%OE333tpPUrzdA*&9zezH^T$kc7#FA%?bUfMm zG3GA#Gtbf#P z;m%Cl2colcBmS)MiHCYOG`xhuxw67}_z*Se4Wl=~L_Bx`ZCOTgYA`=}{C4EsVVFP(U0nXgeX+1A=LBKQ= zx$_fByljM-0sB04&G|PsnmwloY5)o#Bbb65#Hg>Cqv__%w6dbza8UR3rDS3BzbX6t zV)`fo`mj@a8RKztL#>baN+~fT||G(}rZ`cG78tK)u4_LXST9Yp`gSJc^bgB?# z+m{x!e=9wmVHmnKYX!fj_*10L#V5ql!>UCdhSKRqah3F3>%L2{E^XM~; zl*PL)o<)(RChRa(R^$;9q9Mr(EuKm zdxKrqsRx(HbvN8Y0rkN8M!4b*kMV`WdFwT5O@7rxnU!U`eT#ss8D>z)=q!%KrIYvP z)s*XeU`RAQl+ATXTuXSi$f>GBM|0G8EIo{i61w;M-@-p6r}IlV;9!*phN-xUYa%#| zp3G-ZVvYW(njr;}4B31-f&K~DTJt;6M^t7(MGZ2_pteUyuZ^3$OUT0Lpl_QCQHn-? z-(@#1@)@})PAPvTng&#rjR^uQh90SX;l6lpefKokpq$;IhYBgWX>h^p$R6q&D0~1M zavi`GR(ulBqv9k9JPn8@yjisuoBF)6=I|n~^bp#qplm+lIg+4H%u|=kti|Zfa!DMm;$_o~x6Fvi z=Ll0)6$9bSU-RFiiyE1$G$d8Ul;zFXj^*1cl7N1rQSq{@8v1p3vKZwp+lt6qcazUU)v(E5t8l$tix#S>GDn*4 z$o{0yt2Fd7kSj1L1fNL>#P(SQ5)&Kq&y8?Ld};7EXT7ade_aMcI>!)~hmpwQfgQHq zMgtbpx4b1i==!u@RHW{uuA@25azl@-yW~OQP_aImeK)Epc zIxg3VScclDHG9N!7>O%x*9_WtWTO1!{!WuBOJu`5g-X!%0_-plj4mDF1AHCTZ+Y~wL_Rg~EDY@lKV9i3M>h`^&C4cfax8#W5OPgRia(Cv~TSBi^R zn4(oRlA_5dqX&c`8dtR!@}H|zGw`E9ICSn>LgvX49e-ghc%&L%l%}7=LYV**>lQ>Y8-L`)$^;_XX{^TTlHE@8Y6uhvr2LQkd#)% zoJ~=BD~8qc3nz&~7yPhFvVNx#KT{4wP7lL|QtrbIMjy5RjXduhb8N7u&>K06hKj|8 zC$6kCzk~c#`=b8~Z#H1?RPZE^ps^zXQdyy$*->J9aGVxZ>P@HRIQ7&=B}L(j(gZA` zpgAXE@3*EYj0}-Vj@-Nj3wGWgZsn{Yj(sYUTC%3apqtU5vdrN%o_^fl@-W9XqS@Fn zyS#S7B)L3R%~;HPp)|7H9-131XoGzQ7rqA_`q`=&m^^+IBZXz^2g+xWo?nURW&|s> zg0#oUjkdRGi%%q_e9wK_TkS&yPj+R|A&b>}eIp`U>feAWq%BAu9{h^cT0;^-8qn)H z|Ma8+t${X9AJ}tEfC5*v`>zwU4eYsbfbmVVgEUi`H2hU4`qaSE20$cH_bh)*>|Arw)q*=lJax?8t6w&k9Y9f)21yKw zoGU{UM?k{IzAaEm*{RitI8LbDsp6JW){J_*m%g5h>u-JH_()WbQn+q-f;&!Zm$y{? zPM5H!3#R`KBGz+{RHci9=&GJ_!h7TWpNf^V@aa{1+xI)u9C}mYJ`l(iv}qaFttuVz ztlz2#GO9#fo{WqmGI$JhXh=a8Bgdz8GTQztorc_RFj`7j#0g027=iR;11mtkxmD@Q z05H)(Xesr5sCqpMqx2|!2vq5Jz{siKA4TvS^*Es`Hp<=&LaDIbKI%$B428^($rzEK zY{FkpOZFdX5Kk2SqT%yV({bYWkoi#^ftx$s5=N|@b=~;$fYzz9qi-GT3 z2-(vx#<{+UN6LXxZ&C>;i3+A4hQEX-w(9%A~)hCFscmg|Pk+cHXKb1z3e z#hmBZi?!p5BcH5LrIia!DI(+~i>E?KZgBXrS$}X(9Yoo1=Qd%n*+zu6C28REs!(>F zExgW{;=gddps-_oOhgL-kDnH#Nli$knhIrWciZoA!I5=`zdQ~&{1b%(YylesjN^pg zeYiJqGzFA-I(P6e8}G0otBlPDjxsxaIpcHN%h8g$JczA{+HBnN8xp^fGmv23kKa?T zc}h(NfjLdErp^=hT|AX_v`YW3aK`?YJrzkIN5A5aveuvnCvmyj>>(m~My@-| zOJJkCnjv|BXnn%@2j?tx=|wnbEt?M_nb%I^yV4HvWtKLB5iROlqh(BTG9Z~OAOl~8 zaWXV)1rvm!VBb>4z(Drjl|x8!8Q%yzVtI}Tz8L#CR3$gGP)Bb;P}Avq}6U3k6RM}#~9BnuvR2(}!{Zm^Fa zoWSQXc2+9uUX2xY8ZT76SiElfKo!iSzkzRmr*%u zjlgMzK=&f-PpD3hdJ4Du()!iCrzy|CzooRLS%ZmtpA-ZN+~TT9MwEb=AF+z}IA`$I zGtO-sc7lcW83o8GDFx*xWB71~f!6t4HcD9x(6v2axksIUo44eR8;Uh+(}T{1|6k)G z0~7FnTL2~nFALfg{Fri7v}x)HcSO97!}0LH{YXPE_k#Yvxw3IZ_o>M$tfzeqnt!Iu zF;>usP^+0*WCX;g8(eUwiJF)QKX#F~tfY5j5cS6W!^q$5OhcTOcwJ=G{P_J=Namwj6N%G;0y*>M}r)35CO&6W@g&rgps8< zN}Du;=cw~He+I-d>srD=d4otH2rLF3-b+7{>RkN$?_n&ZyP_S&08507R#B zKOXUh5|9m17aS?G+LU6bMdSSB0)bhq-niA3=i{ic_6I4Y_(aRnVJhL4|82u81kKIp+ z@a~W8cB)a7!wMoQ7ZEbIBm4w^^v=e%4RP5+BHGH^j%@<{LNXw;XljO%*4Nt}`!|J8 z*p7!WUQZ+K_U6C6z)|K=EPh$|lhTGogwLfJkuvsKumm98z1mEkTG-l%ACFs^Oiu;% z_w}1F=hv6OSZbByI+)J3cr(pGVk3;mf(n9eb=aQsi?*zxe-ZN zO%*a#{rthfuIxFYWJZ=Y#6_)3=x55NMl~=-M$W!Q=Qj$qyV8wpeUXoOEBQKTHYd9R zGBh4D^?{27VpuM$(lm}Z1}e04DYFBSPyFhn-%9l(400b3%k5HdR(XsqS_ z39`h|M9RyLA}LdWOhiyq9=ycqwnu~~5aM9Pp785z$)omf8pJ@3O&xq-MF(b;X2XwF z#+=}^G2{X^kXXjN^}QgTDs93K#MA=g$!~*7&k;M0;xtBH9ioCLR;DQ%?tt(bV2~|K z)p}-VqoMTzEVZ+eyqq$56Z=ifq~}x3VpL;e8`U53(~v%c3BY6IOUfr#1?^&+2g*_m z!yT{Ve9Om=gPuo>x^y&g=514BP!Vz#C}_d^xcWzIn}j)A*X zxBYjEQTp%dDETaNmt-`)!yf=nZEAEhQ!#?xj{$1j~r?;e~w+2 zFTQWqz8frc?S@V(!FBtIytz+UN4rI?M_G(q@Z3;_a#ciXu0eeZJuci28*7sZS){?v zd+AH)CX79zyd>6a_V#OZ8xjz2odqp0M0T6e!7#-A|4R!n9st5N*k{99I8MIby_NV1 z(+Hs~S>WtAQ6>>VC@pD#4L%~J5Pr|T@1NjHLONGttDPE5ez-jKv5(eu3eGCdyeCJZ zP1sbhHv)-*_|#NAYmmO`;6u){+wXiTE&tJPS!X2rPC(5p@!Tklqcf~(TWDW#BotG5 zoBsUO9yi^e)G{pvjSpEIrErl^71xr+s*LFZ#W!HdOP0VY+8CzbNX(N7Vu3Lu19NQ} zBx%oMr|oDgGihBH9u1A_7lki|t%UDGpqImkG?Nn8;W#lC7wsD*Y~$?#d#$WM@_nPs zPvT2eND18hu6owYC*P2(?kou7@2){YY{tkJkA4OKa# z-ILK_b<%OButXd&`XJlwRRbnmlGopDxjry8wx0jyyzMD3=YE|u4>Tlj z64g$%9L~61lsEa}x8z0W^9ufK$>|EBhSO=Ah-LJzvf1J|_3PFOW5!SkD(FHlZz(4Z2va=k6 zw{tz57(hV>wc~J?}%qc6u(6E#q=xNFO8a;oL z;0e86F1QfVVSYVixhSdG=NVF|i;*=&s-UM0{a8|_kyow&6|daAGr=r?B}1L^q?>+c zmjI!MQ-b0S7Oa~_M}NhEEWLtsb`SzeYpuo0PX;zXc(l1g|0gMoIvX>4|HE28hhmBn zz{LS@d5FQMD-(nLmDJds|3G{Ml5%XoHR@@7_Q@!xfqa}4QgKnI;nvMl^CHB^Z3=#z z)YBrs4=o1`Zg1^`cGa+TC|sgT8X=n-8oY0CW(hi~y~t2?ZQ-|svTCcr;enqX$B}kO zW9Zx_k!v9|@QE#khw>c{6W1Z}EBsuVd#BM%@#D z_`83>%I>87T5*_yL2^9&vKm?yf5_~BB7W;t4j(Hh2unf595w9)hv*RJ8pfc2XRN)O zln%cj4!D-$5sdB(wjK{!OinKRmkR0FpCdm zk#U5*zg0euzb8F@fQNvW5h6K4cThb-FAK^NDcmv)$_0sdwt=r*f3!Wdu%A1OA_Lt% zN(wjgJ(~zqmx$jt#G#Q?Nn*(;P=$=MR5nrdaOZZ^R z^2@%Do8|EnNRA{~ zL7@%3*RFI##t3G;S>nI;kHr+m$J=3sRzlZCgEcL@?1}x7uwfMiZ334EgyU4Zx(9<> z1&Ol30xA-LGloYwy+wh5(l**k1!tSxS+8)xVZl5$g~5SWI2$dU3qOVO}pBtAFq~ zVJ0OEGEtTW)^iiLv*vkLeX$w}5t>`Etc$}29 z?8gjFy=^by_7mnPsV+G;U%shu2oDN#uyzv`Hd-l=NNYs`S`BS3iBtR^jE8fU@07qr z_EFnmue@&u`}O-`R3kupJM}CIfG`fm}F6Bmkv{co;Nwu zP(#BK5?hr_+Y-kdz-Wth?aFq=tH8-@Y4=-(WYw6I$t({c$2dgN2*Tq602+?2yPl?^#z1=)MK zhl4>{ShHd?5*j|P1c{6_QvYn8%&ts-4+ZKb@Lg-Z!(9o_P$*WYrohZrwyA|gfT?#2 zUC)lY2)b`%DyyvlHLL`?PCUweZm>W#;v9P7Yfc< zd}=CZ+>sDaJkIt1xjWaSu5@T@4<0E>Yj_oC=l;yo%biS$mzRnIl!? zsQed;Vj;=B2%)`)zeapeuQ1%Ek3}wuAJc}FpAj~g80qZrTmm%IG^Pa>^9n$aibjX+ zVdByy7FYE7ec~2)Z?N@nCgBmUa-0A-K*zr;bcXO&lg^IL&c_MO6m#W1x>b?o?ICR zoc`#|QI!-D6(TFGat}E|-D@sqfMQgvyh&qdh8wE*@Y{r<9=dgrOAjz`3~c^fIMl-D z9UdH0wy-!CGV&@?4{28$dO*Z*uB8?*h%_RGRK5EJ5$+UK#;~U>nR?LQAn1&T2vONY z>w)=|YFM;9KivNUmcFI=A~ zZ1l9o&|2`2S+?1)zE{~$UdhXUzXfNzJWXyva7^k%K%pl_w94D+)O38CSJbX&)jt+j za+kk+Y;CKnt5=jiDz!B#+mMl!l1O-ia6rjPVAdZg+dp>9|9;Opk&u%lQX=nVtxj@m zdFHV0obnwCoH_~YP7;NSKA50^7W~k!3`iEV1Cb0B(Ir2*G$`K=KC-P9Zgo#-@dL28 z2=QrdoQjnk7W84ri5VP2HaXn8n=OEG9dH|LzvG5~`^?OK>K!EA?EflhWi!&V!jD4Q zLY&A8{i%zzHl?&B5GF~}CqD^6U>SP*oieDajL^{qd3j)@Y{rjqbDZ^38w*(mr~KvT zcHVgV^=nwuW>>1kvTO#>pif=ovgQ259D6?=NsVxaLonY22uficmnP821L+7 zEu0-*H_b2Ro{7HXb%$*2c4UV_PTh|_92Jy@0jpFhS{lpNfE(-i1;BBgG2xC$6f%r{d@#a^%T98xVl+J#Xn#Q~)^4n68{SUff>FWR;p)v950;m}ZS=*@B> zx9pm9iH++5C0qaN5rwbt8+|LsgjAuOm{Gn6XrA0he2}CwlG$i(a^6>uzJmFV@;1w9 zKUg4D_j~<6T2jwL)oS1<0*PUgZcD`V8j`&3p+E=dzflX6(g(HG6=Qq@C-YnqK zwwVD!O8(?vP_%&-m(Y24b$EQ%eWDILN4pj)a+*t~Vj+b>tbVnkBmHhP@u#{VleV%y zVge7I{A21w>39(-nIV&g;fn{u_h$a?ozBkvKWuzsbY)w&ZER=9wo|cf+qNop#kP}5 zDt2~k+o{-gQnBsi)w%b*+irW``8EEoHP;%WWA-_TsR@a|LZNRKU%5giCq+#J;_Kz@ zJ$1|*IU4ud4JrOgo|%P>sFYSQpWAs2dM_s2M{>+=B-kpV3!xxyA_R{uh~g?y_&eb` zgg;1B$Bw$CpWu?9IpE3I@T(W0d#;6cFO+;VhVf`u!lVk^6;zsnKM{!)MjfpC&5@v2 zq|=r32&L5BbV$l)A|@vTYJI;A&e2}5a!WF?o90`7GzUhgS}ktCMo|;y zdveI)3HB&G&xANA^icS51l7az(C6tp7LIMk+?Oy#6u?NMCGygMD{9b>_!lvP$j^Ef z-`>|}jPa7`sPP1c!)L@v5HAvY zR?2*y_ttRXEH^unk|FD6B2Qfxq3a%P%!}voSEh zzilYI9;((6Tf6@&Uy&+uy5P`N&QZi6zxk@g2zEE5aRFmucPXomC4?}5*q$Fz%ZDF| z#x9=im!Ik$@`n_t4%0tOJly)(8r`MipV@RZM1uH6(^W2LGG^2~pUH}H} zPulaT;neX-3};=D;Qv)T~tCa~Ps2m<-&GQxu=d!b?nJMdHZ`UbKZ6XIk6FV2{;m@M9G~;0!Xh62n8# z`h#e6m#Xrfr5|0|r7V`kGLf8PMg^fj#w2!>k~|`B%OBz$*9ldKvesy58Z$st!VeQ( zlt(-c(~u(}E{b9S9-CA?&&g%r5{Y4-8}ckgIC%lqy|%wJri``jDf;`Pk65O)S^-SH z!r1p!(VPbvQ>`aP&V$_w62%&>#(X1c(ilA<(MrrB2`Tr&kyLO#pg?8Y8Zz6qMp<#7 z2w3-4iuDuGCeIC(rU24qebw)&S~dwQIde-a=8EZ;y|FJsiyq?8ez^Z46azVYW@g+@ zb3&d_Nr1Z_e$?J&sHVo*Ne;klB1%lfuXI{o@`I~c8A3GM#0YM|$Y!8oCOTXH!h}_| zZ+a@&vlPFtKX}Hl10+QndD}aGJ+(c!X`&fqT3#=xWJ&+;!eBCjf=8%M^bun&EtBXW zgg)R<(kNo|sWZ5SjyiT%{XZV}XKOAtmY5c51^E<|C@Tv~89K^~Y=O=ZL_zpAk=_Gb;86pyrVxKu`a z;mm3k`6k zno;~OSo@!Xo%K&c{UH0WbikQ-EKbAF8)uD)ODYPecQ&Q@08VeZy67TePUS|e&wmdR zXq!B;scO5(@is8n#5=NzR4oe9*UIpK-D71O`8a84vf(788_te_yx=tqh+#^JA0M&n zw&`4Xr%0`i!f|toGEB|;IOEMZQH#G8MOq7j>9plP@xLe%0eWgAg|fK|vCI56W$DZF-Q)D120* z0;e&6)N82~@%!E5+rdEHF%Pr!vu18Y*3K<)oVpRgDPJ}y zeBX(f4{RhBVXgdW#l71l*5x`Z3BORr2*gRI)Bq=jT=b*~MMM-LnmB3lXa0>Qh;|b> z?od$U(R^mZYXCxvLl6Qv@7ygDzic`jo$!7efV7@%S z6iveFtxiGR#L&$=qcAW|@dijyUnQlQ=4g3qDYL3PMZN9mcTf!|AVi+&Ld8w`1|5{Y zUNNzVa!l|Rm6*6l@XnxxA%jlQ{7`=sz1??SKO>ScL*m`BDNl)uybyeTPMhHd+MeX%TwH@Qo8Ne{BI` zX<+D<+R%DtA^i1Y$hxC-j^ktF% zUmN{bF``H1y7SOCEyEhHjlKmOd$17xKzhBtN>5kSjr|DZ@|712uy<-TY7{e4X%{?3 z)m=x7Yrop^nU>9cspA%s1DjkIlAaG#KSCHBZ9uKv&iKqsXB8j*MX9hm9q0fzRRkz zqMe}FOEI4MivHFi(sQ@LD*FIs9>>*-5w8M>N}>^-b0Gl8KjDDs!@}Xyjqj>RaXLyw z?m9K?9Qb)R9#A<5J^c~^gVl4fPRaTUx^5!1e-J8uw>BRlp@v%&t+HS{ zZni8^d`l@vXSJBeQd*+A!KbK26OWJKxr~vxI43HiMiW>55|EWh#7Q)P6dr*SQ7Y+q zSAC_O#0)EPku_3s8atURB-veCQJ1p53wF=UyR0VSQZ}Mj_%*DF=r+);kwwn}!zLzb ziyTY~Zz^ZcXPuJ5jky z)Dl_`f_S2PP;pfPiBdfa&IED%(dp?riicyopF_A|F#RZ9xu*Jd5Z033O7zTMT(i<1 zuCIS$u5ja|Ha{)^Rqym%$%)f!_yT8-?dX5(a`GLymJGmWR)KhRR&Yuo7 zzjLWL3a7cTd08*A04Nd#ku=N}n7o(Lv(?h=bJEy)F9ja^#k(V!E*d}@nWs(IxigY$ z=#3DG>{8%=GpNkY7?gqFMbM7O-+kvv0IeFB?1El zWre3C<(mlO>`r0ws2ApK(B(Cci8gPn1=^G6~?6u7LS=&BtYF!MVPsYpfyg{&=w36C6 z3jvFsISsu3T$j4O8uKwt&$$c7&D3x%W7l2iLsuqG#vVXl20e#eUYr>Z2@XJtpu7X2 zuZiv{GiZB+sdrH$_V)Th#;CykYY}1IBP}SdmZa5G@HE#SJTm?ZjdQQZgSAz*L};ah zz~}9Q>sXRpUZs!Rs0L>M5A4a}1!7qGvG0Bs_+iE|+ zL}pm~m=~K`F5E-^KyXJaUEcZR*{*3nhTJ(?*dtUv<7c|%c?eCLz`eRB#|{_%EAN{| zuM>pT8v1JsI|hoL<7HfkBNy~W%;?&K3`RB_!MahlK1>e3lQo_Qci$+oNcufE1SBk! z2e-l71s(NSL`Ul&O)wYm9{Zazlv-Ly{uyAZ=ZAm6kd0QsZK!l9^f;vB`OSsdn#Ln;*>+n(dro=MR;AO|?&@oS5Hdhn^dA*R?nVb;giX@u^8tIN z&#I44*FP1>6|_VNqLs&%fi5zC1)VSFpMLv;n|nO(H@m+3EGw=};pZSyF2Pu$Th_iA z{G?mAYi@HG1DtF(AYqjX<7|GR#Dc(hSD@%H7{5;+2v`+92j4{yf8cyKtFw3ApQJB{ zCR?+uU7qg+EO=^YHV5Pg~GW~#No;N_kQ-cM7K$jh;#9 zvE$wg-PK^6Q*!TdjJ|m24IEDp03sKjtzv$xsJ&yz4We&Rs;gBtx>_xb4CT*Zo}@ z63+8PYq+t;28EGAKa~t~PkyY)!d@=9P$;}aJE0-f?XJZ%9G@EvC2)!B20_jlQd z#$PEM!qT$zucC|KWrE`Yy>7hrO?FZu<>MP{y)@`C4U*O$w4JQk$DS%jOvf-?&!b|&`jYfoqMx!tDBQf{SiSO~tE;niCEf|8myKFJ8>}Fe81qg5`w4k(9>`a+IkyA4@ZKIY(BPC15j+-yb z$D(ecmxdDovKCfVNi=JbTIFymAq)ruf=jCzF|()K+uGXX(C|NlD?SsszG7pyd7r-R zLZbqG=zdP+peo)5zQ!9_E02*VZmj0|1`XR-l@KTA=8ws3m+g>S;0PT1P} zkCXY<5V^w3Xg23g>I>y_5FBY08;8ApUq5nA@WGZtpt3%kII2uIJYd=yz9MB4Y|R3c zfFK{XfANpECB^%YxzcGSyVKY|NHvkpdAs_C4%Ew)GS_FP!x0vikPSyRy!zg|DeKY* zRSN7_{ar9XAZA*D^-x7PkpT$KkU-|})sN@y_cYTt4%-q5G@))J!Xkl%D`4S1W?&;% z1|2BNg)d)4TUh~ti;iNpv;cMQ#_uhnu$XKtK8%i~X4;0e_;d-d!#7gfq}>Rp!MNrC zKlBtz3@qvDZKVs$L*J=dd)hj15VaZO`Y>Q+29F}P1_NI`fZhDA#~5){6__v^qP~U2 z^ur0w=YnM-l2m3{CSuf_=_?dZU{p$@zi4_imX z?t)}gxsp6b0CwCJiQMdULajg{Glg{ezj#k5U`MEd(HdE|(-V@P#CN+M3R7A6oY<8q z(?@C<8GMxjjKN!LOK}yX{YnOpZZl-fTrqL4yi@L4xrPTNMlPo+8^74JGZlWiv3qjS zfbTZD9lKKQMBC6^I;=+ampq{gMj87`cr!+GK!5&9jnHr*ymgsJvFF^sz{vDctB6wl zV~WJYhS;zO!8jV^=1qG|-U9W=U-x&J)`DIA(i9o|Pfmbsjwiy$+*MRGG^$#0`^p9e zEBg%AR(49Dd<89CjGbgYK^3YWVyPHWB{YzJeFzycDyF}X)#6?^pKo4l)zoPBots7} zDDb?`5z@>d8|j6ufbKrZo&I7Cm| zsh)SgP=Q==RTfB{50yvnIsHWsSmc3z{jWtwags0jQ34$k{qb+~<0My%$8e8ETJBBF zju(basJ2UkG&fOn66imSl(MoZaIVwj&dWu+*yifoYW3>z zd_Fft8L7Bl1e9I`XEDwHoW?$%8FJ(gW4QnAM=xGr={-fU2y6r?c1Aunk341wKVb40 zn&1~adGI;bn0fNoN&EQrs#BnA*_S;6_L5|ORq@xLk14-ZGEU!KeYLag6XQIgB+u8Y zK#Zn7R9PKHps!@()ncsx#iLv&*A3$W5wF=d9ly56N|CuX5~g1+W1|}KQq2Q4hss)W zF_14eD@p+8hKw|<@b`0SpSlW6=y8HtCHhac2j}BSKAmwWf4&K=-=t@_WYifV1G^yZ zACrYprt@Qmzf|>Iomh-U`#+}gtuBdSbi zq+Ti0xB$J^0MJKIf)Eg;XAP>HPcJG=eWGCAZf0SZ60M#J%y_;Y-|rP#9ls(}rzZ6X z?W?+mXv)Fy7dHvS0PM`LR&X(|*&8kEFvY)7xF0yzP;3VPkWsjJ<(dX#WFmnG8W=AR za6gv20{hT;6!)A(cJmGU)5>Ci^tes|I9X`Wl%alppMH5)6FQqQMvQdYoT=? z9C*EVSHP*FAy^os8U5XPZt>?JCOGcMh#jwwCFapXT%K&HayzD^X1tGy&2|@4Oi_OD z=#BPf`&>utJeFiHWfnIJzG%b$e3GJq;P3GeT!nX@6X}7Pd$sZ9>c=pU@={pd#cVe9eKy<-6UH15K-!5)hY%v5pV9 za`p?#L5O%SCAl{Qokw7?sV2n-&m|(*_IWd8pfkLW!HVVmxB4NqC)Gf$tt4RqhuveZn zMQP0p+i{Nu{Db4HA-eoMoE}-Dm z#}UmlYU_19MV&fd#7RY(^xya(F$5zE*nqdJTVStp4%kQhgrp(o@df8ed)ISeI@?D+ z61Z>CXrN~>DC^#O5MkTm{`az;59p`vXYH%Y_*5=&#+6V9`Nss8ZkrGCNvdRFOjoJ`6LZ;eW z{INFh7``ME`Eh~Ye7F{*x1FJ%8GJ@gFcq@$#irLRG`@KUPD8WRn_cXEI^Xdwb!Cn## zllzkQv-!}C^1HFG2|O+77qro_s;n!PHg@i1Fhxi3^t?BtFI$11N*Y(O6+Kr(>~IVZ zi2~@PL3#CTM$FRKaj6(IK&GsmhEXYu2J?7xFfmJ_{?A+C{`eaaAtC~nbNc2WO~-z8 z1{_k4a`0o+J_S3T$AML~vXVZI8B-L~pYP3HO_Pg~B!Nu!{agp}r5EO;<5fu8ixN5PgYMIVl?n1rL`0^Q_!p2;R<3^z-)e z6B+YZz*na^8W^Zx9Q*V2zMwt$wjWn{_c3yn=mplOXz_ys1mRV#D~%&hBdLtqP-wT5a+a!vZ8eL*dGU2ux+qc_$`N3)3%FehOdhxnMzG z0T|oUUZ{|-aIwM4YER!x5RktVH{7pBs(|yr8m8vhhkh)Xm9%l6Jhx6YY+0_bK^G5+ ziZT+GYEimRA{%H&fG3!vI7lN(A#t0{4)*t}di*(Yv2VZfVt7XspWoraROM6o9!jL| ziKO}WAxy3L-fW`jAwPGXZ*wGvy?94--d>#*@=v3YUBWpnTH2pC2@JYM?eD!w8Tx|y z2Jt=~Ch^Q>_E`GA)pMZ>Cug$|=hOv%atCI60{im2a*mZcOMmjHjmD)? z%LFE3pnQJ_GNpj=+jcYT{J4kw7RIM}BNEa1!KuOTXbd%#?lTpIf10*PwV9@Tz6&?Xqc! z?o+RY&PM^UT;#X$^|}+h?Y?b7!-&^mjbAZdd|!RaX22C@e;e|@I>G6L;-&SaXL*08 z#5XlH$*_GIgG%Mwzj}!D+hl@Cg*algZT-`+((>##wY0{8sc#T#V4OYMj1G} zJ?tJr7$yS5_#8W@D2igxAzO&Y*y+GI2GS-01mXwLSXcV0ft z_N+Wv_C@iELE{(0S*!EcQ@PusZrYRD-+9XFi0W@FSx_a_94>`y4zI0OvumPkdw z`Aal1vXk#n$}&>hH4N;;J5ZTZ0Ua^b(g_oV}?eDIqMZsj{){(xb}@`0J42!4$-l8^jy{6b9ba{^>Bf<_ZQ115(g zBe~3LXFFdkptuzc#6Y3EL0=9A;jdmyYniFG(f@^$#=&N-X4boG9Q(I;sb}39uPOQ; zv4=1e(yUNx8>>G7$Z{)_Qxd*v+L?rC2z$ucmrr;zh`84GQpVT>Kj(Rnp`WFym|uJl z;C@*-HWpoICR5;Ur5-#R9wB)yPjlA{(Oj9G)#di!zqDDyv}E2qM#=Msd3tG_TO0d! zuehU3-{tmdrU+-Ler}=%;VZ)2lPPe+hQTpq{Os(P1>tXhGl#}S7$SJzzxn?4_&XB& z(QE@I@Geb=(`n2uc_l0J(g4moga83u2M+}jRsLbp^J)5u1iO`~08KAtFQrX2TJ0!h zhz7qrn?+`w;*S`URLlHzWbY9M3959IQj}$j57AuyDE}cFCp+Hz1{h2zH0s6{Yh&MN z%z2UAj5}SB;T4iEKsUU0wL^HG#Yi3!0&C|x{6}`@KW?HL!IIi<0c4&f3t{Vcz6+l@ zeQxNv8y+b{hP)WB-@{d{F0<>`IA~sfFuJlmeH5^73uq#eV!9Z5i5`C|nJJ@}4r+6m zh0U($;lUjmo6$^2BfuIj5xN+*?g5&DZ)9U4X-&T~1)Z)_Sf(^0b)%-|=%~ z-r@YB<>$Oh!LBRxE_~GW8^p%=lo*7igi1Hklmu#4qQv*rGH)4^ZX`cor7vdofYFAY zgzoWE%PrS!ByuwZVYV9@`D*NU%gxZ*30Pn?$tgR<|7WF=p!SUd95ZI>PFQ*!j*}X% z=c$A*U4`i{(ls{&gq?(4<=Bi>*Z1?{}#%j!`+QBL5 zjQ*#%P4cFDTfLos+TbZq1tq%nkLtn13-a%yq9q#gnT)c|{5Ei1cJw&n7v%qCJ7h>= zrvL-k$-7&ZX1(R*Z9j~#WK^pnkgHl|cVCML1LS0LHUVl0Kzt^|4m22r_nXDD5q zNfD}y%@vp@SHID*rLtI_I}Q>Z6tB<}H_8CWsK6KjTa^KAlE1^&4w(I4C_V6naB= zM<_ZZQW-&pfb_F@1TtfuWcq`G@a33dCD#+vRgRoGCs=JAX7yz0vt+<7Z$K1&p@0^% ztQ?%zn9nK`=hP$*4Y2e1=KOot9fppR_!J0tjDrlygQwI6Ra*?U%N@{zVRSDvg9wow zAb`+UmD}s@i67IV4=)1@-dIB_E6238hXVKuRfsxy5ffI0cwF#4k5UK<=~;l@nqcGG z-0!u*ms&gRZDyJ%>FXdV0}_9w$6ompqHX<73dnS(Z>3KZZ_NoaR8v}^-ir_oiY%vTg{vAZ;dPn ziOQffi;G^q1SufTA2Rx&LcS{4=bX!8XG6NVR%fQAqc_2 zyhy=Bc4GWy4eamkxgwliwQ9OSxjP0UECJ}1VbI~@8FsOcX?^5h`}vWm8ING2cc6Xn zOr7psH(gKogKM_O)vbW@5GNFO0uXbSfJy0a(((dJxCFC^@UflMcIew`@C39ty+JUqrMxJoUmgUR18ci-a8cW!YaOG_)oJ;fmG{r(VK zn;`!Ev-Vc!^s|yUNl0{SB0S&rH=%Xnmrh+Zx~RX0lg!I`C2hxKiOy^8VsC5q_EVUFFUf_6`x6?>aRjL*UB zP>KHwA7fGj6E%Fmwuw9v7Fgsyn4B2d;=mrL&eV5gm}cUUNdg-?{4l?V4kvHlbEMlV zG`R`ZjumcMIK69G+I|i8Hhi!2SeB5@BE>rIPqI!UX8v&A$Q977aNn;pp+}_`di#D2 zZH~WtxF?X0=5PH1w_Fn=@D~#OrQ?SUwnOGE6#ggWgDL-e2J?g~XJ9MCrgFmzqGwMq z*xG>)6_^Emgm1lvP35SP)n6NrO|;U4g+QKR4%bNGjM^cLcs;D7@{5rQ9TI>|`=@$~ z-))*z4L~(sKpmR&harzR`fz8sz3oeje}Pm=K*VSQ?U+JAdQ>WC8c#^pH~KJcY1by4 zz5+fnKkY%)Qen6|J6}GV^+;aQ)DAsqn5uvO*61qkgI|n38IH35>@lzWoXghY?H6jP z-ozBm$E2uuY9nO2R2kAYyDnIfQ8UL#nmh(dp^@P6Ng>C#Ey7DMy}m&KLCv!nFb{Ig zzDGnT*HfRJ6`Nis&)#_0QZLPXX2y*Bpr|MgKbeKvKzwj+@$(!fPt^OiyDa^p>SJxBP0jPS0NDIQM)5X%qrA#ZbNNA1XjTjG>MD+kb$|OQWSY9@|g!H zf|b`g_(5o)->A`DDV0Y9HEe~G_C<;SMFxc3MXGk)<8-*{L-e5985U39(ZY4Jv)_21 z(S_N^O|AC6Tc(pR$&$taq8~FVw0Y^MH2(xD&5;`ER%v$NF=xdYorMR`DmW3WTCBe; zuus*2NMiuyVi)-Ft5j?I`b5u5(0`aLUNLvn!|+Il2nawu21Qz}cH$AHA%A&Kimv2v zfG<<1NU?z-3iMKesuLR36RdPRQg>%hnd()7`oA?cAF+ng@~8&Po!?k-&IHVc+2Vx` zWWx=ogQkHrLV3+;CrJsX1hPNm^J#0yymd(4cGP)hL88+KsDf;jrzAA(Bhv3wpco^; z+K%D+mO3DdKtxB4%FY0iJJeo<$=ftyLPw?6{!=w!A^z7M!)3^qSNh>a3!Z}3aRnJ8 zv-azBi{|WPHpoR;@5S-~M7BsnrVGc0`n9%JY)lnFv{UX8j0RhcSl^HHEU-*)N#OE+XqZDUO+`nALT=K0!(KwF=bXL4tUHlc zv|w*`KS?8|1-jFixJw%;0l{Cfou!)OrxEwvzh3Vy<*Eon>GW)0f?0D7Qi#bsu zhjkP8&TG&ymX#6N_#KnVb3FnnM^6P zT4x;IJpZXBO~K+kmzc_rltjKCt=JthWHpPgHZ0OkJw$VN>n>?lf`Kq-h*7FkA2KxM zZ|pZN^NVLuiOcfQlQCUf3KQ0q+GHvrnI5Dv7@UAlU#tMLATFC#FMPVtzE9)K4S40a zv{n(2x>#(^4u=n3W%vQ3+RiDL2qu=r@+XlLX9PF!GfVY(Zc^L#qXftP4UadLYb(DU z{odCeNiD}~kiXgbH%lp4d|!MT35hW-Jo`cw5b?N_$2^;ATtH6o^;?m6B}`~H!7znP z61L~#k%(0bqE}Y=ND%`ger!9aabTp94 zN@Vi(RN?oQvlbVYlLF3V2%f}e@?MIe&)IyvEER?2HA3vSatN5skfs6Z%Yw1;DAl#N zOXT&Zg`l{)87K9uB&;%Tt{~0Yve-UF7i;>MVx=__ve%p|)1~RlAOK@pCC$VnypWR^1rV62zlY`BOlvy%gMU3D%(fZXk-PT!$(~`vKVC z#r$cF5CKvIp?gS>(?r*KwaMc2R6AIZe|aJC5(xf<+V$L3&XBFHC9;!@m>PYY#zMa9 zhR;IL6zN_{9TTcF-hX(!I|ZanF`BYiNLYV?asU47wMx>#utcf0E~>x$+ny(fG?jF| z{8s^e;DLA#dE>$fZziFh*Ae`gH##=M(Lb)3&76c?4DL6mAgrbCeKUfpyy7$NvbHqscN-&2qUaT10wUeeT<5f!M% z1*AL~Z6p21i@4Zk^(20<`5hI5G1-x5A0yt(4N5=MJ9xa49DFS;?4#9=s`+8TI@jHR z5VH!Cag-lHs&TG|_*CWMWd6s@N2LvNTgwlhW?Kht*ec-IdBEivyVa2w!Fn`L8`JKL zBN)CRC_Z|2$w{jMr|LUL-}-9g@HdV<|I64R5=CI~LHPLQ5gc+^8Va@(m~Y4fw{|#n z^s%d3j)u9j4q82>VsBr+3EKk4<0^UZXn-u%G}r)(*3&Llt+uUEc!e7F%~Tj%r`8Zn zA`T7YQ>ABHEjPV{9{1Urc0yogvrjGWhTGVrVF8UoJ`QG7DOBrB7I;`1KnQjYsybL5 zU;)v2W8H+9vWCX4oS=RZ*-py;N5~8y4h2TVB%BG&LUBg&v$N4<3{P>l47JJwqC+T(2N@=&$VJ9*Q+){6e3GN_Ertp} zGSI;x#^goMY-xgzg;atJUARk}dH{0XzHemRa~jQ@B`W&kpfA)Tg|v^Zgp|4>DC_f$ zmKJS|0=fHf**L9dS54OphZ&Pog)A!}1Oyd`;GYua6GE#{=eQA7e{79`cxdIcXfC)6 z%`JM{-=F3_%=4XIl+h{zrwg$CdD94;`}4je&=3=$uG1x59&T)6`AMJ?N^48i*DVfr zk*rd&*Y|d*rirp*mwFF_2sRE?bq_gy6R1D%Su9$y$Sz()G`F|wH1EbS=ueTiaiL=z4 z#(?SZ0t|QqSg=td@KJKifW>|D?jq`xKnrq-RO;fw-Pr~P1!f?d5fNUjuPYa}8%5!W zqOA}ztZWGFG5P=X_fp2v7d^{vXxU(WuMpI-RnZC+wSU7Gz_k6*-@v6No1($`%`M&T z6!%X?g|AP2neMDG9OyWvEK;JRgGBfKhl()0MhY)bv@;4e}NL$BlMH<5iS| zP$#n^a=)d3RdLmi>`@mW=1|e_QP0h-Xa=5e=9HtD8&d>~XFXKU7}C!q1owAP?4)s_ zS<>S^L^LS+=U;bT3*OZM#F@};+#nDkC&&RoSjQY+VQaU^FVu$K6L^eUPZtV0kxX@pT=`gQu>&@CehJh3;p!23I2zgpC?y#Oxuva6j@vdL3zwG9U-ds!JI)PCQ(NJBP6Y2nAOFhLQ zfN+TtT(I@^O^u_qj@r_rzffFb9G|AFo%jc7{E+iFv*#aOYqE+1zOWUojlKNZH({@X z`IcFLx+Cd4rwPuU3HvnaFz?uSlPT5)r;v^Ai>u3ExhQtcKCj}WA`>^)^I;qDzH{W35 zwEvC+69K2U1rilcFtBz}?5WcN_sSnR$ZZ}n1+Ow8E|*8-1V=G<>h41A^II7Xtnk8b zJ_#(uO)A0;*8RfnCpNC+NZB`_VjaR+3d*_ZYxx|46-r zZti!+f;6CvfsPQqW*A)dA6{<=g$PwrEn$Cswd`_+MC~w!1aq8vdaN=kTr#>~M#^$v z#=>^SK8haQltH+tJ8?=30}E?}_!>2b3;^=5@Z##Dvb=muFlsSRHjCw(gNK}qULdW4 zar;o;wG=7XZRFW04x89?X+iW17y^Md_+1La&XnBtY~iEMlb)^BGu1EE?>pd)Q}L^) z9s_zuL28+7wl!(VkgTY7OlBz}MB5?xxV)tX)ZOja5MwMP+@!Czg2}I+kUd84t8~#0evGGn6TA!L3a%py*VFnZBYk4#L0}DQm_FpT2XmFT z8KiIg!yt>tBMm-l#%=&qJm0mGFns{<856t$ub;F#jxb5c zd`&|dtv!P^g zy}*Va4&PJ^ij5BLcY~^@lfNYT5Z>5yL;&fm5&({hv#88}zS8|GjcfU%l|2k*bqa=_ zJK{eN1O&2@IW})mWoe&DoKUN0)j!m08nTB`(VJ=Ws~h^ak}=qMrL@~C>FaM?x;BTs zODtwv9|`@Jwq{Vh+m+6W#Y3n1eoi&#R!VxHdrwFd4|E>#PIQ6HdyIbc z@qZmrlR1K=c_byBkr|7 z4F(tM%bTj8_mYp0wYD+cYnveK-1Z(=h4V9DsHhXHIK3Ik3T`y;Dsv0T!Wt1l%V~kt zdga-m?^r{jS%M{jG!h~ma3`ijZcB{ro~#(U^OCZ1!5HAEphS%BDs@o7C@A)AqRlyx zAD-n|#*z6hKjq<%pDS~kH}rZgPol)*iyFBp*4_M%iO%~3PIDu4=cje#05&oj@J|jo zpoZbz;}$IM`9al9OO?d4%h6W=G>YuD(Rks1yXaEy3JYQi0}GG_O4%dql!22(d2UBP z*IR~EUH;+{+jIzg&-vep&a>K2wm*+#NrByeqr9(x*xw@Pw8LR(k`@sS-;nRSkF+4h z^8B!`-Ad_B%fX9OIJ_OkG!^5s&c*i1J455uH2s0iIgh{l6yX)9@-<}d!nrR z!B5AYhLQyHS8xe|K4-fmRco}XofWQwnI>3g)ECmaiX^fXK(IN%IrwO;bx}Uv=nng@ zRfbGr&%%99_S0wK+Mv|RFzEWVP1Wse(_h{X~)O1@Dt5h5N>f^R?gH-DFs@*z@r_TEySNX`}{tLrlipQQynvHLG zQH4fDC1FZR5qQ8!A-z|ORzcrpjq_pCp=U)|nheb^qCX(9`>L0NoWWI|bwBu1tE2cG zhG^<116vwmp67o0<944nig|YW4X$YUSXv+Rhv0gD+|_shRY0o0m_95Gcq%`k28mn$ z?GhFA_!O5Lw10Bxk5@SFo*PYEht~ZyJ&gq2lngwXK#X&Hz|5cGJUG?<@ny0_a#Nc} zF8r#>fy>|nskmq{H&MEf04%kZi>uL_+0tr<%b`>ePfu*d$!QU9W9IG-OXPbM>d)5X z;v3sBF0q4y-h-R`s!rVamKI`463o|=HWZ|vWUaornCF$*=GSsEw5JV+LJFCYTJYf$ zOt_ifMX#{UXL}}fTb*tmk5XS4xB4jfiIO3pV9r>Znjr7ibUHF7G2|f3IY?WbmaX+s z7cxo3cNNi>nlvllx?ii=Ef|>Z)3m3mKUlx9Hn@8d?J=yF+vg;i#m?@u?c)3 z4{m)hIHt*g4mqKW#|2Brft#~~7r@ja0D#ab2GFYqpvC*3!U0Dg)5P}M$cDdgn32Cg z;N*q1zUbv}2#p@eKr9hIOu)3E2`7!{>+7Sn|&pAek}#C42Tl zCnFT4SoUI{RTh(=ve%<)?@7T?hc!BNpF#M}u*h+ZVdYOrT{)ee&Tl=@Mt0~sU}Mr z82G>fCUFd4s|~0w3z(sQz!JgVpCff@@~(-&mlp^iY;%G7$u7tTZNMGTa>_CAeyig% zEkH2KsSnQ4UtNxhYHL5R+wvLe;g=9c6xV@9NE4uyP0+zJhB}i$b&y(x}I3`Z=o3N2f{h&IJp@a%3VU z74;sW3(d2E38QL6zosMP2vS67+_){$!U^?rOwt<2sF>@6v9|82}#?p}tK$R2ij5p!Y*Z<1NwSUk>8Gh);W zx;V6i#TycfX5Lw~U$TQVSf6fD_l}LQ_oz$ZNz{6W{+;jLoxfe1Uelf+XLcNeS3A(s z;#!Pf|G0`tt_TGN70yE@3qyw)Uq4D38eLMTCZ@3x;*Sucpa`+Do#L)3dG1g@5>-jq z_(0gVxf7}_hl}=n@m9w*ihfl&1T?3kKHH*yz78S9bbN6XQHt%(K%ZU9$3wqY^36CU zuJxDva_UGI8dz zo0qPE*H#M9j9M6>!H<@}==eaFAumt(@I%^ZRW>;}tJ&}<0i^XJJ0l6=O2waN&OV#> zP}uE9LCV{AgYj*zSE8E8GfOmi3=;Bk0|zB!wRYbI=gO-Go==ir-}NSiBpU;xt%A)H zK^Iyfd+Qbh3e(W#YM_3zKtA=^LfEME4i^RHGNY!<&J-FjR4V!qyt^X_MB|(^D}u^` znQ0Pqx{W$wOp_Y>GB(5aQs1`-9;Kv4C^od)ssM<`NKCfeu{?#B8jbVCcCFe8y`2>! z#-OYWeh|(#kOtRcJjrj*r?d4*tTukwpBsJ72CGYT7Nsc zoqgKBuEyn@v(0z((fjib%^saba=F%ntr)lwLs@1-C{zGMB1qZ|XaKUbVB$4p$HvA6 zy0)iu5b~e`7$P^i3H&JJhN+HS;}S*HbF0sD^XpZ1irK_jtBncUJwLx>mviaIOg4|j zZ1?>a3ZAv3ru(W#9U7js#19EBc}ha73ZU4Daa#lcisL0Hl11Un1xPNe9SMG!BcjCs z=IuM;@hv97(9nQcOu=`9;&gjc&>c}CN@YsnQRHSnt%Ih+Oc#S<2!RbM>Hq&LhU8#* z+K!Xr@KH@PKo&*2k?WcTWqQd$b1e#Jh~G9JLZ1b8hv>S8LjD-Lk}meWdx4l`!_|N7 zE}js=%mDZi7a!`OZWYS_=!6B5Ti)&^9806US#s20Ha}=r1d^^QW%z39}gD< z??-*Wl2?qLtr!IlzW)UOw5VL&R1j?#aVGuf?n-OhF5Km%&w$)XYl~1xv9Y^+^zElj z9JGObxs)l+lj$Fk{Gg$0l?A2vY(&@P7Gak&e|~Ye>x-?oQQ3b6Y%|i0qT#m`a#=Cd zM|(j7=F_RFNH?e@2ZAK@30NOD8MIShh+pU1QG$4PLT-dVO`}Ol$u3N`v*YC9{S%b} z@P|hwx0&%QN`Tc*68ck&QPNo@((Q(ov7+K*AUjlTP$geErb9A0*?ccJ{|AV>r%}lX z8^dP8W?Q_Fb_!K5m4B^usIb$xI6E>RUK;Sq!W2Z-*#J`dFifW91Y_El6QMdfnR$qp z+V3z!GmqnSe}`}7(d8!O-It}zNdC^B%FzN>ajCPD(oIHAFX_7&@O6X3BeU~j!?G+& z(eHU+k)QBVf3n}NOxD3dwRNLY=%^)G=RO^hD=8_m@{0>*YAJH1Y(B~v42>ih?$;~y zr`NRrf51p%A$CAis&F1RWIvMy=6>(S6Q~{4B2Gx8Y9iXDi3cM#4w|b}!y|8HG<10_ zTDKBLoK)-#{;W~aaY>&-&{fM{pIiIb+>FEjI63|(>C|9Fy>7YXk&L5GGo{=kJRLY6 z#TawA?vnalik;||FRT61+p>RFB3+WIt9Jvj%7z6wF|zwmLM^%vAgXVL+o7qy&cla7 zBUBkjt0EsyyOFW0xI;K=HS-5GG2m&G=GAaIIqyQ%MOXul$>1^qYxiSQ&5OrL{2j{M zv~ILjP@B=V(GaZH*I7o0m~~a(P)W*Lv~RTE(8uqE;KV7AM8}3{j?LH`WXD7eAsk@^ zHmWNf##wvFp(qG><&BZS%KXXjJ>@Y^TpYiXhl3br3_jw1J^Tt6#5naqZA&7i1`m-2 zoO7Na!?%?-z7@@%bJjV>9kS=x<$f9Ypf)CAeqF7^5hA+^&`11H(Jrm5l5))n2DW{u z#*w*%Xe*5nvNcR06HDetXP(F_NShj$KuhZmF9aaxl8wUq{n-!jtqs_h&n_J+kCc_l zwu4y`PVADZIpH@Y7TD<7 zy*Fr#-yr_`;FneCJf$AbXvl^XUy%-9{jKKiy?=!IuTY3kXW;83>49DzH&)&9{IB;V(GemsC3eXUWVe&{9kInYI(_uiNZ#ve4ShWge7yjxr z%xMJ?zoaZ-8hoPk;-S`I4;|pMO6pn|5D96WLio{poR6YtQc8oH(cSTkbu}S&dQp3a z`XIu3s2X|f&pQ&N(t##^yY;8zF@bAzGUE_WC;-y`VK@*wi#}JcK-EPU&5qj1>&I%! zZC+6W;lOw8rA4;Dn{wv2MU$+f%pMgJZY60IwPngp&0UAdGo_QRdua3g3c>Is$u*sAulF`>j}8u{`ep1vhO9&m?Q|w zy7gaxp?~N1=6VvQb05+p+G#wLMfFSXp$pOyVQhVpYeeoE)2rr>3)_~@;h(fp1$T;r zLMXICNMKA`G~cI$nQz3o0DPh<11aw*8K#xP(0#*OG=M8S60GNu6uiWIhq8jpgbnE@ z3a}Qm3Y>l~$F6OxUeAgv{=Fcce39H{?S$kRSq`pun5H~u@Eik5j5w8u<+#Ets3Fde z$x`c1P)26(&+tPcCLhPOeXwHuhaN+;x!{#PNw*?XDV8u41s@(+&YP{D+?$q>2bJe6Ll_?D%fnUeF^aC3L&QE-8PHo>8N<()(>%0{4NB zmAv!rV1;PY&z?7is%Y%$UYtEUE%q@v(^Pa+E3+YcHm&qWm3gyAJY!q~w=2&0L=EB> zVwLX5g}o(}y~mgOinnVvQb{T!yW<9*7EQ5=I%`8bW!ZppF);t{V>o!wFITyR1{V#~ zWqZC@vBMm(!pu|@gtVdHyn)Mkhe0tBV@7&)Dd(Y<;^2J9;Py z58%$8StJep1QcaVA89DVFc6g#&ESTqP6eeJO%Q`g;2tAuAlEJ zG{-sTAie z%a81W6)SqR+rb$V2W!EPF73FAdzkU%I3xWQ_@8DuyZDk*)vgR;W*@(As=#wNDt4I3 zgb;D)Aj&fXmBReLpW_6$4{CZUoY#ZC-W+r7Z2hVJBcIaYt93&Km|J*I4PLqcD)!r1u^YJwJ{>85U zVg-u^A?pV)|6j#{5D@+K^v2JACR%Y<9jR*9PN>@srxfHru|x+v1(E&Y1eqNn20H3> z5QzT4kKalw(B0FGZxt&-3=&3wJ7=RMPYpo9h6_j-rpcj9&kXkN#N*_MsDp=ab@o)S zdiyM48k7v71v#^&@o@VZI{5>r?Hdlcd#i64?{*0#z(6oE`M#RpCz;MQ7Acbwb5s~+ zCg#x)pCM;+!;h#=ndkkZx{nNx2GK*Zp?`}+A9G9Q>BKLJC&YS}&ZL8ViZUibQ#WEa zrq;dR3Bi#%Y{4avbNjo&CGF4%VumkZ0lDl(={BXhk9cUF_afI_0Xh&izlBolJeW~k4RuUhViSjz!hWtm)yDFd!%%-VZPD8r=CuywtFt8KsK#luEg9@j~0 zHajz5xSblms(j20u54%@ZfCOw(o#@A`iu-kN-z^s*C*_@u0JZBg$yZa0kz)DJ>m9; ziZ{FYk@?QhrqtWr_TryF>%ZE$6VxxqkaR#Es{4Kn#mL*eV%wdO!=a_L+yf8{xEzEU zc{#4f;&Af9s%w|fr;UIdCKW8O)PH2}A9L|JLZf-ng@fd6M=2g4Ws-$t=4w~18xN~| zu-hmTFHYE4Su{m3Dg~Vtb6uECX~SqK{E}y``@O_IERPA#M7CBpv{_CfMc%#-I~URyUsB-4ANf=x>7e*CB!x?WoEZP;7vr40cCJd;zsF z208#Sd;lW#1(^0hj_(OoCG-G28$h_}EgABC{|UgMnXAOhPt_Q5TA+Q~fg-IUHp20= zruw+P_SgRbS9mcZIkhm}Np6gahB)cKh5Yc~;keF3DY9?+0xsepz{&sIqY})))Js(z zc5dx1nw|_XV+Rfs8qMrh@J4Bg=f1OlP$!n18G2e}tmIA%qA;)QlMkmUm>&HgS6wcs z9~WJ$#{b!a%5R|N;Jp3>osKpL5q-NGx$5)d%_1l9fzoHR%vj6o$|b$2RK&_Q(CkdU zUC0A`H`ng$0P_9-AApFJJmUrcVkNgyT3*?;V-P6+>Cfs##sJ?s6E5%ALS}wNCm6|` zb-kWJM1n z`_e67VJSgW!b_@i(-W;U`v-kK0*fxn`23?+90iRTov@5a?-7AlylKBUbI7O?aMiDJgG z=5$y7JpU-HzSR#AO+Pc->|b^!w2r)rm@5#DOtR{Ow=hX9$dd9b1%6bmO^SL3mb4!?KGhvOKXq)eF$6ZGp z^zK2YOZ5|`uqP9e(m>M$L+YW@F_0b}SBCJ*BOr<$%)lbC0B(qOQucft>*VDtpD+c; z0U3fa-H(vz-eUt62H?mHq$fGg@$)Wb-}X1_k#&X^IDRuDG=6k1WETe7aDt4J=}p?c zuUO=p?s)Q3M@c*|V7HIT@ACIdXx{xX5_*&r>|xVdpppwN*6 zvr}RBZ*=9E5PqNeAgPdSj<0(-fMC;AddhYm&}6kmlZlOr@=9wKQQQ*Bk%H<@l<$pp z1gR&iotvi>va%(dpemtnkh?}IBYS1YMz*G#)gEi3L~+Yb#IrY1tWj4{WIQt|baX-PRs2w zKZ{37XCj&E!l>DD^K2ujzf^mnFbag`_LV(AF0pJoKyqhc6s&NHj>`vGjet?V$KeKI z>@|Z9FvsggxQ85*L|RE!ETXerK!Qa=xA60BDrJ21k!>=K3YA=zPove9#0B zLBB#MxLp^mv}=D3D}bD}HGca>mdH;bkPR{V!c*b(^_43I8r#!=ig-2tHY^Nq7KY>vxq>&6>SyfE^vdn*FL0&zgWAjrEIhunq9=F_din&FbUMhgHufWB~gz7&AC+!qZm4GRDD zAxZpfPCN&z)(a{B13?Q7R4)Rcru_sa0|#P&#^2`$x_7W{*y$254_{awAEz!_*NZiy zlLwA^4BBY1=wzzMSN!XFZ)aEKpqOgtVOP^|Mi|H#*u%g+4heAm2_pwL88Qe?$s@p#@ z!zA!cUG6*?aiEORJ{;~Xot+6|b;@5pMjH*eg=W?MTFa$^BH9TB$AnG7^p%_#ox?&^ zG$KDCEoo;CyY+su6TcEf3O%Q-$|;=Pc)(`BdFRBBltuOzAjYcFS=|JlXJ2lymppHt zO_z(VIjh%x{r=35O9zW@oNfLB#`;s|Bb}26HnMU*u8yex)4H*t?S@(x$R}z9=~jgU zccd_uV1jYu`N^y^ee?E_o|_g^Jz=%l_D!9+&KsYM9i~JK@#f_psfmhaJioawf{H=9 z^nSYqDpZLl;PDaFbldM|Z~V{GXI8lTh@$@a$a=wj`oH5}zbpt-*VqP-&eN9q)CiJN z!;ydE4+;hzfm3bPyP%FnACxiEoyLup2;^?Nbj}R8vlGcWHal2ZaQRAmOCu76iC^=4qLK*9E%LLkrS-eZ zY7yn48M^Z_|0;mttt)C$A3$=umek9S33=qn0p*G{0lETV&WF0{)(kHg>NFrS7#f{<}&2QC=X>uxGm}6dkx`6c_#_ERP*kWI2UT zlT*3T^oSTefR`+2m(*T}i&Yo5VVX}Y70N_rj56+PmLczjXVTVrFuiHY{#yj$Gg$v# zkBtxH9UP5pmHLWNpOH~YD)M(hAZw1D|x8U$~_;G_oD?0?#=;Lde8th_&3 zDus>UytG9Uxa48O8A%r=mFvzxg&#Af)0@f{7N|YJ95T!-ss_l2g@oZd?afc| ze&f^4LqdGxG``Q=$uXOz$Q^Aqtol*#Fh4F@Z9fy#?yj`Q%i=OnOf`{jC1WHAi_KLi? za2s4fFem#0rF=E}!Me$-poQ0!uV0kBn?~N= z`MwrXZLO#w&q%tTL^Vhk??y1$wvLf7_;$`fsa^^cN+3JFBarLV6Ts-qLyzj?#>Z1S zs!N#DBw3X=4oKqm7-W;G4(benWXB2F#q8d%V-Vm82M9Wd_?PW=`ZT8Iupz&Y_CLKa%i8 z^mppy>@6(mN5MNwJ+VI6pNXC;cv%zFQw5r|?3?oa62Yz4wpQ*Q#Q5E1yl47c&(!Kp z#o)5S%_df0xbunR$MZPv_>gI41~EhQFTy6{2oDNfXVV{1vp{$;l4m#(U@ZpKc1K^l z(z+RCogFWMeFB-DU?{>dgQpjV9?Wr!*QscNMcP6QO zd}#ha61t!~xu_=m4mA!#xTB7xqM9tDGZ!S&FfIlT-S|7?gPK8oap(INdK!*&Bdo0zJd!LD?DyX1NlibsX?`m z{|b)d7<_!HeN~Yc7?*6nI6x!NdiZNTYvvAXe`lIt#SCDU!5oR z5FRK#Vc*Rm)kub0{=(;B^TN}LWT&aB3sU14&3mO@$uqxm9 z>5EHwrYLa51&|5PI_hO;3OvY%c_^D2?nPbr%^Uv1pEx7bg@mj#ba}taII7nf+&Kv6 zJ>G=pKMySnr*ymPo@9Q({mEQ}1+zY#+l;;_>CgybRK$?|IGK_pueVJh`UnLcjh=Qpl1ZcH zdficcZ8 z2`w-@t051I9!0VFe8E(RpZKpy=>6uV>f?ldt8i6IYuiBRs>D{3bw_;EvOuCenpjvC!2Ag*WiT5uUvwCv-X~!t zg9(EeS+?VcRhme7br8`3t#BTbDQUr9KAf!e+F*m0q7MEYPsd|b3l4h2i^MR!ZtGmW z{l<=vd7cTl%Kb06R^|$i16!nm^T9s-OLT8H!LYlAU>;pAp^6ceM2ix(OwW2~Q z{JH$!L87{3N4C+{gUdYYD6NP!9CMok28){?7L@S#v3oF%kuo}09v8^rgDcdBvA{}k z*55bu_%jj48dk^?wm~bGn?M+^<2B%NDQtL!fq(fEze$0sD4O11Br6l#G;zRCo^DvJ zmDg@nowMu4`zfG@C(~JW`&9{WK&nZ@8hulDL-f4a@Gwr&|rL1?W)ytAK7@j`4;vJ0^$bVzAE?)pna_jYtlTy<_? zZ#4JlL^+Czl0X&;dUF_oMv0^o(f+iyJdmo+V&%G={Rh;4Ifj6!g#J~(9)su}p&>zK z$4GR(n&Xb0fx)R{b5g*bX~aINsb1Y5mzuHFcu(Ajrg06hP8$c-Tgnis(wq2N2<>t7 zBXTn$Bp{qi2fykwrcc<=>4mXRVq6dHAq`&G7#z5cBj*Us(P7sOlO3*GyM-{}sJ5qD zZ-d=J+QGigt@IhxgN@cm_CG4C+aQJ=Uz-&MNCj{#zzl(8?9U*}D-|WR(@`{c zGhzl{e=kCbR?|C%*7g5z29qW2|IHbM1W!iKaWsXVuh`b&nwq8oy2ubfl(J&;(tcBx z#|S#h)ntDz|5$TeUn2)p6xLpI}*DVSI3(!!)PcwS$i` z_czL#FlS;p(rv>=Kc?Bc|8`ehTfSv1qV%JE>qVC9+eSJA1&d#_JYb`Cp1f|Rdt|65 zT6Ufm52>pV$hv(V^F!3NiF>{o^Q=Y#U~y_TQG#Mh78EQm=9E_4R2E%idSPyr`8#_$ zQE;nkq{Pfw;}nR}_B$yYN4uMiEbu7Hw07%Zxiv0_0{OA{eK8tk=ME9c{*n|HsEX`Q zB3RZ@$6kFs@jhE2O~ak^E9a=rXc({)IH?EqoPM><(&z52{UoA$E~J{H0(N|ECjRCA1Jx-YcvFazjg3+|*I7*(mih)#>=`JB=eD;s>FRTbYPBoxKnXM1AdB3F zRf+)zq7c;Gl?Pt41Xeseq`4j_mG+4(cPuf0H>bQ*Jcy=rn+2^W9YHep3nh^n``Mz7 zEBv|_b@VoMyoX;%ELcc9`t@P5!+f#Ldh{A^|JP8lhz!*n1!4mb&dHb@LOpN~h#;Ts zG;csy9rVAL{J*6L8GFUcLDHExKs86zv~VS$fA(Itm%EoDRCzv<2cv$Lhu5@XquMKA z`EyPismNm8$y*66_S1MicA-8(zdg=;&@8JTY1?Bp;_Q7rbqBp*6}g{LfgL%F^334Fu%qXu+_Mkx2*HJRs6 zy+a$La8v;4$4qPQ>=_CJH`6!j7uR;e)-A zZN-{O(>23?9?~N+kz9{?Is1tRW<=Xh8tVK*Au4o{dn;WvcBxW}Tb)&$lCTev0OFPr z)awmquEVeaHrN=ZPlVO*V8VnNot}3Mk;XO*tMU-m>0 zXF!B5@$xuS=%4s3dwri_8p6#{0;SYwbw9^#_uwFJ$h4_w9_(1DH_(WlPUY zd1>UhRESJ2h;C2BEqgLLK_6^8Vq@qvwE(IlXMt?iAZ^hji{_ zm!BSHSn+_mfzX$SGQz90QxG2kioBG))*$4O1te1|Jf ztGd;UPE_0L=yr=U6>zO1A3@5AsK0QHM>;wR3>xuA5-KqrZs&%6wO=0y98+7rMJ*R* z|Nf)Z%k4r}{jhd06A>bYO|7GWqx5RMxQ%f4`d2oj;!hiw+0T;&lc)mdj?fUhdLL>IST}iqCOc2IuSC z?tfN_@;9IMA$L9C8oufIQ^3w~2*ZKvnfdR5?^%E-KnkC!^y5Q9tb@wYHwV@A_r!+n zPjTT4n$`5;kXH+5r@{y_;>MGURTpBWh)idJ6;>iIBu4vv`gtQbSwlZ`VlMuk760|( zJFS=F|K~U84JE=Qf}O6DCaO~%`+k1`s{CwDpiuV@z~dh~`pDk{>|V4fCHb7I0mri2 z9}8Jiea_n%c{x$d!Cyu`ghKq@7nQ2fv4Ty%W7fP;Z8Yd`t7zf5)oA8$7z{sKSg35> z)Cemms!%prsZbHo`&*)_sp~Wyx(|ze4Sj1T9F%Yr{{#}2Ya9A|8%d`A)(Wn%CRR_sUpd6qu>Y{!DE zie{7}gcd;Xp8x1!G?@u;|3EY6>5W{7f79F5bIqRNK^S`hZ^;p}nvff}BIpdw&x_=) zB^9YEDm=f7DDgnUmP8-k1jD_EAIL|(pSy-gUSW6B(7>GW+s90WL%#n~WSnRe4uk(g z`@q#-2IMc-2Yf-TXLur{W7;+X`4R56@=6yp<`@aryv?-1HU9nH5G_$^@w(DFj`(te zn1{m(UY8rYyU)>#Eap#3{*|?mO!wk?!9|?lttpS(p=0;ju}ttRl0#tV<7icX1Q?i~ zAJ$KWx_%U4GZo(4&R0i|r{p9|v>W2!!bvwg#am}ZAXrky-}@>t9cX&P6Z+v!y@j34)MD$0k1+=7P` zp9lA@dIIozE&lru`pkzn;$h-gN~c#=17M%YSaoOv+%)B+V^W6mCtfGJ_L`f8q0C^T zjFN*9a}czJJfGsvC|Ls}g7OAJNYNrfxB)0rt<(uG%2FzmU1w zgxIkVu$}8(H&0X7K+BfAr@?aO;#&{JX}R?oMXfwY<+Yn~P_-AGXjPI)(%kLsV7h60 zv3zUIhS&b&CE?A~@Tf@#tL2_KyywAt!Z-&#P7hH-ZFaan(fGmc1Q&2Q%!?LOk&8Tt zd&T?I4n9~pDo^KS9mwFas!1xeGT1G0zzmqs*IXAjhKDoJTqhZ0aOVha6^!8ZIuafY(JOK`K|$0X zfC4iG*%-Dnz%Pz!I~7BYqcCYFa)6R3gi&4W1El#PR;aQyqKVs-0drXy`W%d>yz)!l zhK|ySG|}8|x?{eELw~F)Om5|s()@10;3}*RB{d9jIZaa$w^w>-+`p!at&u z-Shf>n|+kC`S&wH<@(w%<`!E5)}k{*eP*4n*OqC|3A9`q>oeO=lo|Z(6(>UD6^ur-UPC& zvh&%CP&q{Chv1!D5BHsT2KcVZ=lFSNia^)0;Kx_VWrXs(w!I32^+*NnMVGEAO*=Mc zQTHb9!zK>A`c9)N5`$!O1xO+y@I&DS67&2mY{=XD8b;NnKzn%1=24+UxUGrCr$5v`%t=O?C)Z3=Mtu;kG^l2ZF6U z$5UeJ3>H*;N>C{s#mF&ADVUcfgb4?&5)unnZGB<&n}<|4o4TlzaOry%^zSpelhf0H zrJo~;gDYZb*W2VT4w zY?F-d4!37EYogpY57AJ_O$MX(J%w-u4zhy8f-g8m~c zJdyC&{VSh&zg6!(ujr))oBxdC(fv1FC)io@Fxl3Qk%v<&Bp2Es#_j{gsJo|*Lx1!@ zz2@Cx1Rk&wxkp;PsicjOB7KsO|5(Z&55N(A&Vsn2rk`2{$^r5(FRe4U%^r3qoS4B( zsF)+U4_j@dzV`T=P*gvAd`O1BKkM3GE3w1x?_%`&ztWcXv08qd{HRBE*TVzP1%FDL zO3$Fdxm`cSt(L`7{?(5+M*@Q{d#*k#b$bH=h}8&F+N3Y4U5lZ*niST~_GifQ8Mj(y zagG6>5eF3q540mFObH@(nlmME@;6-PqiC=FQdqS&Kp-K5)OH1T>(LL+3s2ko_O)VV zO@g%HqbK7DmGTXh=AwSKYmFWb(`5h431$#4yc0mC&U&T|MqLXtIIMH4m5Fn2=ZFpG z8%nIS2QQXn7#CaEw`2r-B-(BF;dn`gaNv|HF2YBOy&6o027A(a(D%w2+yh*+J77}Z!kJmC7FJ;flsuMo>R|%S}KyR z^TlgzsUm&+F&!!v7@rF-$O-G|#kJV@6VQ<{3Wk0Aw(I9g_O;jzrn6^k|M$garf*b` zT5G0Bb_d;Y@?gUS0^F#Xt3`|q*OOl$y~zW!ociEqi*#C#6)y}n7F$8v>6NsZy_rRw;d_3+O?8 z;E-3`PGX82Jm0&|`t#7ClgNSO_NKSST8_x>F!6>p!X#<3C!X^1f`dOezMAzk znxN)Ni>Us=W&RANS_I#Wi@k+ovqY*?G>dQy$5#S#QEi#3hemxmX{x4)bl{A$8U~6( zXsGKzc~-|Mxam?obJWl+K4~>lnS++zr}*QhCZ+ipFQgiK<;%_{F2C}tMSJg)#Epz2 z@fUKq5XcO<$d+=ruoPDFv->Wzb1x#JAFiE&m6%2&h^M)yH*eu3em9BnhQaAJ^i=n% zYH2~uLfGOQTy=Y6!^nB3TlnI-z+URLWsR~hAC`(vOs=h3yw&URHm%ZCrKl>R(KB)^Zlq<2E@td%GisPnax zcDzE)qww@dq(+HPdyU`9hDf?UDhy-O6HChzRXSkYwsX=tG|KWyXD+hBo_xtjs07uM z`;FQRllegcU?&lzK}v90L!qV2isDLB5TFrcIW6Z&WjY- zMeDnE@Jrx0^R3ghEw{UU#`UmlQEG(7eEyC5liN2Dk_S$&oaU~egtjoJATQ$*40q}y zNPBXa=J@rX;p{(dj@pG`qQA_~!7f)jET1~i%N*FOcRijA0Cbc#+dkNYbx2kdFj~FD zSRUu*;Wb@M)c<%A7cO7yZm5!7cqOizfPM7*T9?y@FHR#wbABD(QiHnuc^#OA0=0E9 z_fF*a)%f)R^DlNHwGdq?V^UIs?JlV>kC(WEMi`F_g6Y5L?5seCjRtRScFn78UMBoI ze{<=A&X`M_w8Z2$T$PmE=Mz@>HwrbfB(=Uu4`L}_YTvrncMaIBxw$mh2E^6#klfyW8lnrx>B>t_fyXgg`Q&~)ICjAGPG}L@^MFT zAddIol)r*#Dq3Dhr(5z-1xO^{uIWH=w`}C5(&|Nu&5*v z1Z{ATy6fjlHSWFN_rk<6IKm6$OF1YF5lU}CP0R6x9@uCe2o|4me;AQ%M6hU_a znHkt{5o&zBKc@V4u3lNfd%RhOEwMxq7~%`{=DK~U?U3XhS#}uA_xWOvQL3#)KjHkO z+DpL0`23OTdI|hqo>NZF&P2J%_YV~i(x1+%+FxT!nDsi5IT%^%q0@A{q$)BX2k;qZ#fcvvKzvt7Rvu!XEp5A{zg(*%8+@EfhoWBI#~L z?e4k@L@mSDoeLMb=OPoJAauTOQgZ7?d5@xn&W^eE{$xeY!a{8z2FeYX%ytLR;fJ(8 z`s>$s{JXb9U;2s@t?x!nHW%05K1?H=Sx0C<`^kqYmQXKL@hZy-9gkC;=J$L1yFD~B>WmU7CboBL8@F%z7=dKM=-97f0`yk3y%Oeq4k z&7$6y*hIE-*G;AQ`UC_znav8%RW+ltNB33|DvQ49D5n4XXa0b zmVZBe6h^w2ypi=xP^ZRd?_sk!%qXuYF2#7n8j4ot{UKdZ&U@#vW%`i2FqppL27u#3 z94tT-l*lQyOqMV!A~u5&-5uy!2@|8vyx8#o_11*6NlgM%@H;thl{a=4VRwytf4N$6 z8lTKomBfk5ks$C?_`L~LR*$6B@&Y{-|(AGn1 z&XgR2QOM4O+_D1q9I2totQVrd6Y4m#JLxg%KRLF(%b~VKD*9bEK8j6)*INYg`(8gJ!NfKn!T=Fp>>}ISQlBVrDZv7HC9xyC#}jg+3o+koijjQFo4{M5 z1faHveJ$(}hVlNX;oW}c>~ZU*Ibg*_Mn3g2yL~C~)wxoi>4JR-Pk}5n&n_?u`R8&# z?2nBNOz1y0`SQv_eE#F5R$V4cK|~^}r^`oBAgRRJ1^ zLJW$=$v3xLiM*;b&qI-8nmaxjdDe&IrLG~ zbrrkKRS=YgG5TM5-(mTGs2j0h+8#Pd82~dt%)fqY$)-}#y_cAZxbf(HfO+}`g(MSW zalK&Iaog_PB6Pi_8zSm{VRXoHwG2!=27;a)({i7IKStV!Sld&7u?|X|!r=aF?HENX zsrRW;c!cVV;YOnv&i_l%Gl-YT^0@RlC0n1*JK^*fJ3KnA!%`EP!Bd3A*=}^ znD_YgCk&LlLm(KTvg%&JKv?!f`IN0A^0ujveOjhGd7#UI>xCB6=Iup~eur?xdnX{A$i}lQcY(a$i+3$A`-8cP1=r7B~yR&$H9=Dmg?z2n5 z_G>X1?2iO^rEbDG9@--2RQ3q%CmpLBmszFYTS zubS4vRwg5`SSMgmZYuu?QFa>5c@qg4nD zXH;?Y3ntO0WcZJA;nCd7_neWwp2z9rVT&vQy6-?@X02=|%eQ`uh56&0^PofKh4z$v zX*F!ex#UP*7TC6$Nzv>n2tTDE15OR&guembbZKO%!BXgs3l^C^-tfH^8K5(NlH;9* z5RNyLt8czSf-dpL28>9XRF2U_SOt17kLbzhX$p3`0iaajqwkco-aXx>SQ^(}L>jgy z<_p{SV`!|m9~M_3287i8Wws>+gN!u-p|e+;fG*b7lR)43;5ICSFoK0tY*M+i`~@Kt zy`Ur4?Z(I6X)ek{Xu7EX-2T2m!yfwicg=n{M0=Y+$g5TGW!^&JYD-hE&wR2Zb5IjBgR@6_^k zX=7TO1v@L{&5pif{}UPZ`NPmseUj@1*~tSPYn;KzIl^VO zD7n?H^UpRD(HNf4#}jS)-A`+AKlFfja7 zSVAemwW*;0Ovm{+;a`e(g0M&gF(X@F+au*KTo1>!`as8QP54k$IPI({C|Y<&$@)vW z0eN_Wwzb+03B8S>uwyHI6Yr{xH%V1jI7uMfY?6a_6K)sw@P*X^(Rlat z?d~GoM(sb=2>bW1n+p$5j3|LPw(|AYW8(iLJPKYO9-)~P{Vw1A22OjichW6-wPMC} zNe_`od52@>47HH`h)HX*;91mifEMfd1DBW$P;!OGCRZ85^~18>T~E`^WNT;QOPA}& z?^@_{gl0v)VUQl=U5B0BOTE%5_@%G#lc?toTs|YyCj5BuE_0wJI~B5~649^wLBl4a z6A(CJcM#Dwhg>7GiZ||1X=0;Yy{&x^(@P@-Pkfi9ZXEy)>$?0?AR@Adcb`1$jN95}IZJ)zK@FwaD6kWssz=Wix=?JAz=H~u`2DwTH>^peJ%-;uT{L6kfbkKF_?w?f43GwP zd`Z;>52U(DzCqO~>&9Ac+I2PwbV+!^WBf$zU|kay(;+P~R$Jnx0w$U=y5P0H%$Uha zTbvO*DZ`%*xI+H?ifnUB6-0B@a_Y3CcAFCL2@`uI*O8J>hoc=-$`hxO%|*(h^f_AV zNvP$d?R7~x5tiS!AO0>z-PHa)BS&J|t&)q~13Y)IZMZZ0{X$6r1!jayWoO2c-9+Ax z=x#PAAmStn4tpymfN=gZd=&Scpf@9uHLjOzs34f2$p38COhd6h_+}(X3ikD+>+1Xg~m!ZRzATb-uh=ke&@R7`Olu^%xOxsmaS zCA#W;BO@ZbDo7i|x;>1p=DV5RsG{f;{q|WG8E?4jo%IMg+wAYuS+L!;Qm+rwsHTcT zFeR|7lm|>X@S7&$UTd2&LJ)P9wZkv?OU6U`44nXCO+|VE05+--i;1lrMA}Ujm`rE2iU}K5LLSo0D;%VIQA7NUo7$;?D!9**=1-D$G$as(p}8Cy24xYOJ(2UH zU`s*@GyMT$4kWvlo_vZT`!J6)zoL*M0sSr-KKu&VRR2tx6V~?wrZ~TKNqO4vV`re- z<+yUJu52r`KSSU(@L>u{AmO+E$7R!b$L}tk@0uG8`zXvAwnzXBG9V;5Rl0}_92z7Y zRg#Az9DLY*8OAm>IhHyk%-V90Z>q&an#I`nn#~T6X7}+wAJe0@zsA4X$+qU)3Sgb* z@gDG4Sy>%*ZoR;N)eRIB6qSfdm3D6oSy89*Yno0xGe_U?APGNU&mn)@zC9Fmxi8=`t1D2jbgF~?TKJ~m_=Mp$D77SU>O zqX=Lb3t<%bYt7TKxSP7V{0$oEjRGQ4&oDyX6+$!IN*jP8xfM>}${klEi90hh>Z05m zF6lW$W)@CdNiTklUhVrGSx)=$Cx&YrD<_fo?_XQJDanu~E*P(;Ey!(I@!Cc(&EIjl zzp}py-m=*tw`@JlHlAEI90Vqyfh2Rj8+%Y|C=PV@?>$2_t{Xf#SXf-PmnD}95-#rV zOSyk!&P;C$o0>L!DthsqH)-s(V=rhZEp8z=4^7*EmcIW`1Ak8$w6>e%4?(Jc*{b75 z=;rl+AS2k2v5Qhw$-L!Nst!Tg>gV&eem)mn|mXzH3BCe4Lp6B^V{6o-eceYn*NKvcd?M32G zciP0QY~9dlu$MrZ7_wX?G+E%uO@E^^EZj7Cy#wL<{Whud8bXJ|@Zt$MZPm91KbW^# zcgnf~paBVsS3+nXZDHd;I9en!fjfXwWU88R+1}&T#vfv7vPEq6_!_}w4!J(d`^ln+ zpLFhWy+!zVaQ~H?v4bDJ76$vPxab%GesU&7nlM4k;SVhxCQA)R?WBxX4xRb@2u9a( zM_X|@Q!4#~o{-DUVz`g<$G#D_z!q4Kvq+F2an2;{7%mwL=9jp?a5s9X#o~t&Npi^`uBsEuR)_?I3a+%uyEft*F2|_Ua@UBE~<_#5M+C zaZkUwwdvt=gjH9ib33t8dA0^dO@Z1KoLc9lijU`nSfNRbLMbqPr1q7C1iN?8t8KffJwhFl~V@yB&dMBwy537FRq^O0rL|M-Ujf zrZ>iGNhzs)OtjC?!LLv9q-pB{EWGln!5jAo^tl^i9$FF9GfYY=?o)p`{`@l%*1`M& zuSUUl+YgxaoEDs43lbT^Es#01y|=4+wAftF5-0e=IN2dvn^$D3p{2IFplZH$T%+Y% zA)?0buppUCZ6;VNuD;vhc0=nX!F3`1_Wk14tp!=_C`ud6WJJ{^# z@^#pKAB+j6wIXWR;@N+{Dc*AUFJqOi*~{e_+t5k{tJI{ZH%BDys_3dnk>$`6u^S)ngKLe{01L z`QpY;!QvL*5Mq-P65T4C)e(+k`5=2>| zgp7(JTf=$5{ivoJT;w9{_jz$g`?^<oRKn<+oxD5rXw|BN zmO%d<%oO!{VzEulG|wZe+65hz36)U{VR#l$~T!0Bg80?|5(O_qH}meMz<8zPD%2_$E87JJA^Ep9d=9ylajhb#>@xf-Q$JQ z^X1IT&?VjfQ4AOC=R3_-&0-LD_*)IjJ`h)`7(J&iLDN$(WH7^NA2-cZ)C-%NW&UP- zA`@iM&jLk>1&)$~NF;uRDw71>owlgSZ1lpU(Ys>hP5mLknhncwgXiX8)qORp&N>C# zx|bVxKLeQ4u>%86g#3z+u``rpGyek2C++$2-xrFjNAVp4IWF34>p6@!i|(H+J!+h-O9*`%2ZisgX%y{0L;m=WEg zFC9x>Jv#!l8O|=7mbWjg3<2Hc9|FX!>{F3yY9|l=@pjJF zlM89%9~n-qvymrk)M1(4c2!r#q9Fj`Rsps2D;LPfEypi?J^8*ErKCLwlB#GVBnc3ol!9*gKB!Bcoz{*$(SHY8H zR2Iy0N&OgJw3SPDJWkZ;Bq%xaH^)3lYcHuKyTT~cB9+R{o%!f9_bixg5|(0sd@KT4+f$5jEFlbMD}lSIvs1_ zIY=Bg^02V44{=MjyP_W}o(olpxoFU1mBjLEVdR*l;lMAG%`8l-Zl`dUr-KGq+>!s=!rv;+F(!=#cd{a5c zSd(e!K{(3V311P1sTg3?#QbPg{bg@+;A|8MC44G1e__sD&&TulLvI zg2Q7SB-sPF7Z(EK1R%=0x6Vy`ZsTmzJpt7;J4#d;SB+koqloX8K5V}6;6oTqfh-hH zONFc4l%lH4XWQ8gQdH^&1vz1g>V=_O94tmfCys=EAztMVnH7xN)QErc)MA19*O=_g3S&*SHmrb$DJXJv&gLOL&qWS4UB^caGXuMc}lrgRO61;MBG*BQGmq zX$u_W!3}m@%;A}$dvQIz3VHc0dS{c;vS=!H9Zj(Q=tMve_o;Q&UyyS)$Wi!%ByAaG zJN6}2kd(uDT(?@^gO<_>;a?nGjVXQd9y1zEF<5Y0ETcs;P)qlVa!|jzc4UKpFKDHd ztXMu&wp7#=swT(RQUsc`8HQA%O({^|BALkPBzeW^@!nD+m=iU4fu%;J-o1E?1hfxx zWlr^GyrY4wcaKJR)NRrUu+B3T5`%}Jjz3tW|KfzVc9#{?GCF~*-aP3 z3|d0Ikl>R0!US3{4!w%(%^cbNd>vCidK2DH+Gf3JFGB%NKRP$e+I#I_T2oKHJPum7 z#;kO#3=9G?xZ<(0f#ULakJc)7HV`)s84+yVCrE($Xi{-et&BijujyvuW2y&{^RVET zM7V9rLQ0ak$dyq4F5EaTvTUfI${2(_oDL8Xw_%dAc@}jKd&Rx zU|}&wzM}U>oNO+J@zmS>=gz0s;kKbVjp80xx#{5a+|dyp&rYb@b$lqG7dS@l#Zv;h zjMRK`MEKBv^v<^z0(mQgGzKmk9U(pN;&$@=eCDoSEm+Y*+v}kf9hEis>Tk(iGU^0+#4VaXAFR8K7nRL|Zy8~c(yhQZ=)j!^CWqGZ zGZNt_^O$}#^wQaAYie-a8~nsECq%>VKZTU7l(zY;l8iC2S8QLZlZ+W5+hE!G6yP~t znD>>yN<_R0vL|^Ux|HR-_9wp!exB)WO04&JV;jf+W8$=uHVz?C4Di4tn$A;B{{`-G zjkz}8XKA)6o1%}9cfE_UB4^S~ge$9qWmw?-q;Zx|yEOkS@a|9M%?lh`_-vr=Co&*( zbs6ZOpQB#B$a(!Vv$=|3mNcnyYth!;JKS;_Bt$*mnThsoudq$dC7!S3|~YsQEGH? zz=TuMOGimW884&+r3bzxCT|G`{`SK{_*lf0I2B9eljx zC5$@7Lgu<;_8e2Iyy{g>$rX5LoqbusB68}1$}ewnnE9~v(Yl{YPKQ2~am)86pE5?n z`J(WfO?!?EF)CrQ(H|STqMb=!*m=DB?={q?S0c~qM3gp=;v(9~LZ{17$QrV&r61q0 zjd5wo&=4hZJ4YNgz>!eHPCHhMKp%S`k>|Aa6sO8tnkQFPl{G5V)=uymSYHDPWdQ3t z%F5^|x)S%ix;=3--fO(N)ZR!D^UKRyBipnRh9dVNt=ONqMs7Pbp+BVp*ZT=w-)chq~mBfPa5*$aimC0IPw zoibiMRk%{mO3q><)9+IL1$hY;AT~zB znxbNk0Kezem%RISNLD7krPp+yJVxVe+Qg^46NrV$MeiU8kxBXP+ADfM5?(8#N+$y6m|HKz${)nzWwlgeY#wfZ%$wXjz7SPYqieG$h z!oKYYNYG9FfMM|z9u=PNkEM^hjxToO0VHq-0CE@S`{+XX!Gu^sU!G1j6w4bCus~-c zD%>aR3wY^?)(C9Dxf$B`J*@2pRtFH%*F^hX_;24W;>!cyx~0|8f{>*ZJa=2`5hSsF z2R`0})1ehPSd({CjMD7}KL61!X!?$>xLDeCo7uKc{q_O1$t;l6iQHqr8Xc`J<@aNx zeiv;wC65GT)Pjgp=wX1{U&kI_z){EB^cKCCYbJA@V^5#qim9c}DO+addZaOW>=DV^{Btah^y+J!Elu~g zEAq}S>Fmzq^$Zc3#y}}iV?5_^T=l23ww2ka*rsFD7f!L6)sum|BI>Y}c#z@VpwSlH zlj0i9{T5UnfvUt6t<*>*J0vbiu=*gKAYDTl7{EjNEia2Ko*xZdTrjJ#kyK+@?>A_qa7>i$lriSTOSfQp?)}w@N9uX!NHo3LcrMoQy zFvs1thc2=Lpw9>IYQMms=f(e$LtgysD6VD=71uVu^SRMx#{2q~!h=Qt&=c$cx=Upa z`emO7#LInf>+(?Z5Z$Nj$94i2OVpjk0=4JN}-lS7~>>A z!gRn>*;DE@j&ql?$G&r)R?sj^3sN*G>#Iaak-9+6h4xXceuQ3zgdoT9zxeL-bkH5l zuU0V5Op6!*_~d}DAsOMdZ}EElvgeTgnq5#ycX)DqflPq*k6i{z1*5|Rz<6wwjl7`$5<&5@p9hXVY0jjbdVh40Gpe~ z9_G5;#ucoZAVqmhTa9|^^(5@y5nODy>sLwglQ%p@-64B-RF8Wi3WcXHLENz9{Z?7W zS&{-to9UN2nXM8HoIAHFm$jz*wpsDxJ>12!J_3#s z*D(qNAiSVfb4c3T!ONcjCGAJwj4nX@-s3kj^aTd#ew}AX71lkc&8j(m|C;O-&sM^( zh&^&&LxU56e7wd6_P>Ss3F9y1U}SajFifNcJu*C!^`lpI6gN$XI(ot&pWR&9L~(}q zGG|=Qd83)~70rxbvV|E82Z;m~SxDlEsPG;LKLnC}u6FoFRW78V9{{;^kZ zowaHlU{!_lOI4+d>i}C|D4+!;GPCPH(s#XHXvVuKjRkzkyI28ITy{P0s5t<@%S|j9 zL*+YvXVpaLO5=A{-WaGy7o1fdrr|@(%C}#X*&R~C&ETgiZ0BhmkbqAmNRpbsy0WN| z4yBO)CL%^%?kH^sbzh5WXvEmVgFYc`$<%1)8ZbFhNWk)b&hq@FW$XQu+X~oJa}-5C z-|F8B@S>mTNNsCCQo1PNzq+&8yWrs{BnD3~?cK*q=QaL>dnu%A?rEO4id}W}s#AGf z0#BVTK;|=v{(5Qs-#aeyVYL+$qjrp2++x`jU_`V4iLg#SK^aa370AaRXSfv>KT;Fn zH^(csRzN4RqDN+lVw?bp#bX=;v6={|M1{+Y8|N{Edi3Bo?f$@q`}R%5KqjhM zgsK5I!O1Nrqtt~8_;i(_3LQI zf9R>+tAbf+?Bj{c-ylrt)9zgMg>=+nTv-|pBRs=^^aL-p5`GKnoejYSI{0eWl)U&P zDrx06n|YgyY*5vWed1Zz#JZ6yS2yMUfycm2jFEWJc(pTq=diZ$pGVZ>M9~wc;fj&z zrj^1$x{WEijYmZy4ZpT0Bc0h+RE=%rI%Pr0@mwL9v#r}aYWVWQf$QSTN3)X}V zUp+X`5)(3+=Bkz7SVI6Uu?C98H;5Jcw?8r2w{~LKRxR}XN&V4bP3x-F=|Q^ulbALq zzChkjLs*nCW?#7-LG-?YBs&%Dd>+EWMCBZQ9~#c%+J_WhEbifOS!Ey zyt7XOI<3Rda1h;pxd-_dsAT<`)qu8-^pGZfx=fuMK#9}*&#jVpJdg@GE;!aS8aZD* zu+kz)Ab9@h!AYG4saAc*EqPLu;U^*GIZA2l=zNzJ`Vi)}{Br%iqErPQUO7to+g7HYL-&f`wa zvB**1>^^XU-6jFZy2Sy2n~bcOT1estAIQ*(;%%X6#i;a0ZG5g;d`b?>-Q7sLE-D9* zYQ4OmSMotjy<&_R2gk1x`Z+c}N>NVIT8*L-5yhCHVyI&&;>5i+HYV>(a5e`lv^q0#>QyYVDZUsg&^!H_ZYnfi6;VrWq1CmbQEzStPF+? z09t_7eXZ<`bJL+8JC!Rpy9OyF9$OjPkb*>p~(LqrllZLDJc9(R)4 zkwhojVln9B?M*FzCqB>K)SVinJL(-X7RQq@j%pGD4-9?*=+D1mQ>CVfsY@7?JC}uH zYUogFiy+{)jb&BJE*m|wst`jOBARyg0+iGd2*jC#l}TEY=@Bp_48tfzgNkhHJ?ta+ z4Wt_GPbstd-L{O9T(>o&gqWguU!$^)YbE9psJRF5=J{emAyPS@$j6er84z+}>*wz% zQ;635q;^wQewD=Jn{TC=?n^Gb@T(kr5sl#`7%P*}freVeMx{y^5w*h3%KM%qt4{6lNZ48 zmvH~CPEx0y>&H<->sSQjn~+z2Z)_I-JUmEe=7|x)2X+G{L}6DJ*nH1FLgwIN zQlY{y)SGJ^Ao+co0!koFMh-Sg8ZFBR&owL-pVjbIAo2j^IUabal1uFIausa-bPl_- zMsj17U_T8pTvQHd-f0WtGLw#Nb}K|%Zl*ec>7eS84#b=pvQx@NFterJALh$oFDrK4 z<5%JD2v-}HwL!B(8LgQ_J3|>&bbt2E{T_i<@uEb%Kc09^18;moqegtGZ^%Wnz{N9>I}4t@Zb>#7i z0{=IfoSIM!(dnI(`IhDe-7&0a*R8bTV{gQPP+K2qKyNN*Cd3bvUk z)X1S=T8-x!bF;hn8G&Rrb9iJvjOw*v)QpMx$q(*wwUn`DS|<6ujvd25 zB?WZ5%qZ?ypEPzLdymR7T-W7#fT_6_Ht%gn-*Nl-gD9-F(OxF{jJ60J9inJ#PQwp?rAL*G4$Yuikqum-g z><2w0fzxTObe%LYv(Kyf=>C_UCUW^OySD}B8y}%YTH7m4FbPB2WWQ@8d*LY{o3U93 zKLw+O%xwwAx8{V`Pkt@}Z(^R2LyVk?c`BmxYWv{Xd#`P;b)yIc21Tn6JLBgm<=hn0 zrHg2C;UR@WVMY+n1-_Z_WZfzUDi+n$TH6c~D>8-7<=s1eOgA(v6O+u^FN$ll=AMWC z70Od|QjNqR=0RWEfK=XT-L*alu1fe9)eVpTk>}08gQQ%R%E$=LN$gT62U$pA+x7f` zkZ3af2&S~YbRxG!25_Ik2f_Je%*oM=bl4RT|7{lCg4>v9FS zV_tjLAjG4QW2)N;<>vU`j~RMN zyEU)0y7w6IngbtoqSXr^8|4MI7cVA>pD(jOlv%~?Ev*%xgR#&*UVGbI*0sD5A(K`2 zapXT{bQrs@34L;drbDw$5w2Fhs!%JnU8PZE&sr&vmAlHt*6shGOQ^PJj5~J1v}3s= zKTj1l{-Zg@s^5%9G$QWGC&~%w6TDdYyLUtiKmfqKfN=Kc>vE>q|KZVutGTnYlDIRa zIW{_$R6q;V!bEM!?=^=ohX!d?^_uP`p^_0jN;c)+naGzGPoTAIWCg8{I5MJax zP#~eb_f*1nNchQX0TQ!%d{5d95aR3)CzKD=^>kt)`-Xn_ zVIuqY$)e~={g?;`_OMv5Hd5j+$k}sSzY+1hZ8GbGbywFAkRRXJph>_>#Zs2DO77mnjyu^ErJn`&y#^v&_oZe-vaA9EN&fKH16;`5pAAe5J?UNdHdZfGK#=8UOE`kC5YOj*w@9`b3C9$AVRx&Ji+Y^<~c%REDBuM$u_qt<|Y1;AWJSCDQYQ}qGG9y|& zqEKXr4)vUAsJ%G7sI47Ka?L1o7S1U`qPqPQy@X1_WIEXNCu&`PnuVUBcUx!EVe;bU zEdev30HqTOI;hK4Zfp81Tj>?Hs!}-EdsAW5_l2|Z?wMIhKC<%^B4sW{l!G5HE5VAr zd;K)W<%jyEyHdq6u;EYCMUGhQNyv}-HQsPXoWcMnQgvR&^~^Npdm%| z&Fdgq-@f495qXuFqxwQ;0V)&g5oBFK8$@m*8r9X8i7}%mG1pz9Eho+C@W)T-%7}Pv z1>e3ATXr8O_jm%Tq?y`D>)Mb%Dg7}$rh26^o5FWrJGtBKAYCkKa4EpNI3Xx@262n^5(wLp2}3y0lJNh|wYA-tJHV#5-q%6D<8bl# zlm7irav(~b+7?grWfm@HjZb_vPfi$$r+nINUz9KK_v?79TkTFq((t@;&P|tZnnG^6 z#R8@J($ODd|6AmB90SyeP|pyK?7MQGuw{|GH) z)-pq3LRE4BzIHhC@ZNKH;~h5!`l{1h?6C0!6@gpFzoq#E6w|X<1)%*RU>e5Ng^soDG$Bqg=&Y;hNB@QDg~mq9f?ymEH2Bh z%(8?#(~g=+O(FFa|G29bc0Ol6`MuU28L$^!`C|`csKINf0XOTVKMCB{9&Z^(NFXD0$7Hgbdd&LznK|+cJp!A$$t4pfLQY-?R}I=K20_S zLKVBc)eTIRAXJW5ghVF*rqqd4iQJjYuD*&@0 zJTF98ms@WVyS%P3F3fWi^4GS=VCXagPrW7cgFs&6kKNd8%wbYs>76-h!t z8jNeRZdWKfIU3Ha{ws5IDX*H-4(scUk^C`CImOTdYtcp}TM3audjJ8F4H#VdDDUQp zoq!t}`i4^jQ~i6 z7X%SX$x0qT{GVsm6W9D($(--}V073y(%$tt+|zffdc?=t!^I{2#Wl0b`Og@)=WPOOzZRHy(E zi}xXSR=l5$fEd>B_T6gE;|>1tkN!f?vexwjrg2gG?H|U3jpa}f_>MDgzp_6NyDMa{ zNyUkoB_)R7jcH*0B&n>ducxYjr#~-%R*sm?E8u~LJpb!28af0WHu(_I-9j4zPQ~zQ zc%8=2Qjxw-75b@^WV~uK>dJQX8ct0`r)|g&DVHdL`&K%8bQd{jL5d}ygFj~3s%kmW zTnDN%t=(|$v4RR))v-K3cE;$wT&JGMXMhek^s}l@5x@OAidumU8WUCwm5!v!UfIJo z1`XdC9@8){$rmnxJpD}-0K@)~X!#`4uK-2(uaa?4RO;3&%g1PBf`z_jPco??Ka?z5 z8lQ@*IE!;HjuR_^e&_n{Sue|nr{(1a0;#@3bVkqhgI{7Nf4hqcw*BY`rz65x{oPRQ zL`c=l@-{9a2TV;{&aoP;V7)%{7fJq_6+ntjWoAK1E(;PAY;R8Ktax+PN~2D(7P8e;XS;wGxY zNQ9#@-NW`HkQgd$@JvO!@HvmCJmiM}{a##XcwMZd;Fk@Hx4k0E_)}+GDbVmg46fV< zFaK(882=w-Rq0|v8c5CEHZ!kbDH2!Q4EqDpCK>#Q!JVO9?olGfS$;$h>o{bOss-ez zPD@aS#-dtk1_>9MV;?Nzx-}@UIg{(pdzq z^=ML~cSgC?l3;KcgzAn-D_?kI0rU(3+O=vbjG|^AB88X&q@`4Jxl3ian=M&Z%b8`T_y{;Gp2FU0^I$_MXL6kqq!1@bCtLq)% z?#?EBh6pewGj`FZs>Z>LQC`?i-|EKqsH*UF_z-R$8R+rBew6SJgXaHdm_vLi9dSd<(|5h^`#(m?RGnbL9Xs?57x@|LzdZnsXI^C9pOc z5@is+cS0e+JxCome;1+M2}k$2%MU;!QswPOlsJe7+b7b5U2-Cv*I+m&2bFq>FOwP# ztLJx#&q~Co8-lLsm@ljQRF#SJzoVP>EPMe_7^l_Xc=W{{obYfsk6Zr|s+xd{3;K8V zag3r14abYJD>x0Zr|Y&OUITYxhC4TLkmV1>YAQqZR1t-k5lp4%y*i-lGj@Dki8%?n zl!NG9kpcwv2&3fVPSRuIr5+em%vmtZ#Fe{ix3!I$DVX|7J}l|0Z+2){+|L{?bULU$ z>K>6xk?{JEbg`w3S%cqqQ+P9@b;+erO6@C|^^VcY;K-hKep|6J%%bd`A!PlC`JsS& zTNA+Q>3l+&>bjfg(trK5=_ZGEj0F z6Iu|vNHj#>ji_WEnvD{=f1m1U$&rvVSxOu(Pv;7YIoCdXqIgFl7ZNNz^ytVz!5<)scLhtrc?oSr?f_3fu)m$tbAEzQN=n)nj<9;a z#bZnlME++`RN|FLE^Ou}ACwfO6Ds6DSNm4L^#cO3E+2IiA!-D6$`tbYdE0L%Uq#=c zpcX?lQLpb{9ko25Hw{9=0r)dn#G1f39>ya?7xNExFAs}Ip3%`RikESyt6?o`=&2p$o?4C}@o5&zpK zFH%q`7u|cyM$LuxkXl?vF}wlHJ8hIk<(3wMOW>#8X^#6`n75ll;Y6QS_Hxh3vTweB zEyL?Pg+pXrU%bfSM;)!pRMT4Pg4zFy-Hy1bgC)kvxl&d*D}+i+pt*pwu&|6&C^L#q zmIePxvfagwT}u7o`1gF2;6~^bL zBZ9rIipRcOZ}7TifGnz&@2pqlU((pvsoBIhvcR_zIZCLDpaa&+M-m5{$ENMk`QTa3 zk>7cQzz{xg)05nP4o*!k4{HwHe%ETKa0$8-k`k6m<2&u3_)~7(?pV??om&ge21#2A z#t_yi3|q{{Ki~T~Mw6Cm8lKU4>>y4Qv(an>MQ}skvO_OuYWG?v8UGmCA!KP{bsleP zP+)FVy^B(R_xl*eJxmK<+NkZDSUR zt{aZ}qVz5O0vs%&UhVEq7dxC-co{p;62YLH3x$Xy8&=n;sBWx6uNpcOL3=85^jmJL ztXJ+X-sf7^z@+`M8}=vv#QF$_nPad~1ltH7+$koLS+Pwq(3=?#q4=_U-Fx3J+-IR2 z5qK}HYAOrtKNncl&wAI*V#|yK;%B#9gm1B!y|3d(#Ygwale(MCayAA?t7(v% zjUiDYVMJU-I`vOey=?5_fV>kM_7GmdNyo&_E$@l%n?Xu-$ot z!7Nkt!JE#$knDNOyW-9rFh#)L*a*Oh|6hG?a4q#$@Nd`J+KK(Yd4XBruqCcZk+grp z-4dnJAKPuOK8&@i6~Pl_JuV6`%^ z_mV|TfZ_Mz?5{(zD)je$&azwG;|I@U6zrx%NIv!&kC~PXM+ea(+G9KV=a=5&({vww zZWNt+o`LgiuW+`Rjcl!PF}RGoqczTk4xaRdoo4q%*e|wtQa?0EN@EHs!VvUnX)qYr z(2i;~>4s)b$9zzUBzcn`VicGj*t_pD;qX{!pUX1P1fsoUw0OsTLV>4Jd-8V1) zQpWqP!j-If`Y)=ItZ9cm#-tavJ>%U72Pj$*5Tr&8<##CK-j4>5GA9Z|G*6Ut-eBI$ zWl3x0_r2}>c>wUY49f?yI2C>i97T-a2MpdHV3Be98rDcbviPJv<5Irn*6gvltZel2 zkUSs3ef5r)zQpy&9^eJv{R|M@VD_uI+hU!}Wi!70#p($&Xk!C+CcrwXE4Bx+i|WDp zkn2VOWqxO%8HjtG`$lR~ge-IFYF`_)qE59@YV24M7yqZ5SkeAV8plxzqAzj)P9tH; zFYp%G@nP3RO5e5D_CSxZi7ucd4lBcN6Ha_aqUFk%a zW`lRgdUkCe*l@|D31xIHZE3+9pmHUE#Ay(>f$*nst5Low>vN7%c7KU!hc4MknTa7dXtB%5(eFHZn{wb4R^sK>G7Sw&iK}8{Do9Oc z{)mi3BHv!a?LTI2DlRgN*qS7zlq#Kmy?KU>M~iw#6CSHuFNu@U9^WI8oay?Iy1^o8q^IgjgV0? zlp2<$P0_zmD@w^m2gk?yO_Jtl3p4Rgl^q2&rP%`gPw%4A^9Uc(N@Qb)y|k#uA7)!~ z@^c1;RdMPyS|W`UW=n=iB&=KnFHv$0B;9a18MZ!$hkw84Zbqo3a!iWZp4DGEDtb*s z-~^5BOWTjOt{I`0r3x~P)7Q>LErtzAJvujR5yrv3ozO{m@pqv9i?dBN?f!}mDNIeB+77rzF` z71XmlJHIf2QKG4oyc7k-o_p)N8RqSe4`fuX2g&8x@DQUq_-Ce;7RoAsu{ z6#@>r%+egQ`-oNAqExUeCGXJDSqPcsMNx^Jj!36ixOoRUZ37|=r}kBL{|d-jO?7Nyns1`Jw_FsX>&f{9 zVAdJ&-Qq0nxf^xqGPTWb}vY+=7vP+4;#hBXt27cz-4Ta(tuWES0 zIO~x!?+TpL{y8j+G^9m1#vTf!Z%lo?Qoe8jQ#L5|b)~qls#*$)u;L!-*j51Py@#YE zb0cxo^6@EOzS!hv8HMccA?6#%0~>Q?UxJo%?(WNNgBSICH=SF)O^!Dg|-3l#i@6C9~Wm-LggQ~v)oo_iKFL?9WaZdqPDQmy!ao2py4RkHMC3Q zcnx)=XrJXLh4OK29VC*i11B(!SVz?J+tBL;y&W_cXkRLMF@c&Y5NP+j>iwpB@Wk!$ z`CaS?Q228gy8mt4z~l{P{@lJ3YR%~#s_L{(X65O)!{c}$>oNm|P8xpafqUh3-Qj1# z_Pfc(ZKnvGT8TGVJ?^(pEiT8OgLWAmMk2(rV(`LqLU`a+Id zb*wJqnR#x@|9d3eACAsLs{{)lhp3n%kaO%Kgx@X7oxP&*5?u)K%o0>xDkg9VbV7w& zv5HUARD}y9o)<0-#Q09Z@tC$R?d}9bO-S;B7Gren7x4~JX|QcK7UaLBQRP)+smvD1 zLNMgn(hYu2Tx-WF_?_;hYjZ^YPhCf#7m(Fx4e}$hli1G(2k?t=lEa=sI2Ws9hIVt#YXn^^bkK83gi0SAp=d@ z29GmLIq@581{@qVT8Ie=nPgJKb=lcx4_!-&tBBOqzPkfTUPrK=KS2L-)!=moD$!Li z&=I)Rw;Jc?lp7-J;`zQeEJ(B6mlUHua#8xoiSeK8soX(ht!`#~a7|GMFplx<-1)Fu zV)bWge&Cb?O2dZ<_>bcuanjNc&vR#@+dQ#&?#txU}R>71ST>4IKV-Ikgxl%qhu zVl>8$yB%7ASnM7b9Y#gG(cmbT;Hhi@YnXd%z~W*@OVt!~`JYr3RAKH3V&_lc$7%5H z#66?8>mLg)(j3E7Q@MggV%af7f^N?l+6on1h?GjCVud0zwD8;<<>H)NDg4(8l+ru| z1wTc#RVX;)$?*w6U4mGn?=;L&xAu7Tbegt{h`XqQ`OqEYpZW#LP-TpvB_=`6JV6nS zLDtSg9@PqMg(*@Z+&1X?EmxEX>!+XjBx-nJmu)}|(gocZOlc)H?&rIcKATTch5Oly ze@U~egQbB`iomM;KSw+*D4h~6Rr4PfzHGr;DSaNaU0km9aqGtdJmU8`%-A4Lu*62t{Su++9`mU!WT|PwroC(&4$R)2l;pt9k2+~7H85>lF)Mm)V(L@ z{#yd?MDPuHh>}R?lu)$CbjaJ$B#KOgcr7Dsxx_;gRyLYSt(Hc(UauTj`0|{cJIL7+ zi<^@PLO-x6{bh%s{qqtxW!|LGAc0}py4L(5JADC@c!=0f1O{I<`0C&fW-w8JR7$M+ z^sdDjrP8idGeP>qpta~SI09(KoCX-wQ2#lOqy|*t2K!_=`wouc$6}TaAw9HY<@r(e z+@Y2LP|w4h8b@6R3PClRmIhV7zQO7N{{`r92ATd%QeMt zsT`8R_w}VycR4(TbsQ5Pe@B@}jGOJ9=l6l2q;@sm!BXm3<6JgF#69s#`m%XAWqbo0&`TNX$&o8?yh}W@2U1Cgik3XkQ~1pC67z8+Lvw zTR3w*{IVI?#GQ!_*5{e;V&97phU#EZ80TvJBU1P6eVL7xByw?hTPqg{?Q&=})+lM; z4b2b6so_iE&DamSCq=GL9K;aw}`10L(;X<}e{kIGr5G zy_Eee$h)k{S>_z%h7*YPXB(C?p0B$_mPAA93Q-E6*1lI!DIm$sd2&tr(kP-5c*Dk{jYI$Ql>K& z5^_i<6(LNtPOkaLXBcHgZDmw33L^*1jGK+^rHGs>+4=^7j7;>hP+UCB=%+ZPjH2vN ze7pt+f4sMs7Yetbg{XNHLQagR9YI}0!Yw2$0v{CQXxNy7i3z)R3uMu-ysOJ~U7jE0 z@vdf$QK#?xl^mh6%lH>(x|yN{pGiGgC3*5o9Th0pv9rJjP;_97%@l1oeXEVvQvSTAx9^*-yBC4&{wVdA$TTe>b#)wl z+mTy1jp&cvBNRzGu!%DeDZ?N_0n`Zd)dAuuSk)!zJT{EtdW34D1ZBk{|6nr6uVGZr z>tIZ@2-~fWJM*2q26To5WLLcj2ojb|w{a82uBS)>?{~88_vi2*l%k%yO4q0g1?i!M z8&QehAJ%Va^eQN8R({;Wd@J+?`+pNYFf2U!bu98}rEV5~uAX6&wes5Fm} zYoX0Jpr$u*$;{I?KK_LjJz;^yItFQ*DQF#UmK@`XOuv~z#>!BckbqlZBSjsn;4cjg ztmGC0P^Fw~epSCc)`dkz$G9a`(I8CVLw!p^GiCUCf34UvEiPUAe=GNY4jyJ06_;@z zR)zhgv0HS&>Jp0$l1jQF52+?XVdn)*C`#5O#9s(;1ugd5GvFryR?&GY&3U~WOF>Y7NK4>yRThPvuf+LJxK7 z9cF3+GbTXWCSc=+;kpFjs{F>M$xsW334PnXDBXA%W|nQ?SEH0;pPiLWu)Cp|O7_xB zBOg?u8``WRJG+G^yWBWyX6lq3fpS6gB*?uZH8lNGrz;rCjvh5xt`;#)#R0T!PG3cv zJtsnQc--rc_h$zPm6pRq7sQ5*1tQ=wC5P7#tnHcU}W#Y(MaYI_hf#4A?R8jD- zKXFEH#Z~ps#j;FFzmypq^fdlRA+9H7WM~}|PO0^cJ#A$o`emX9`S;-%>t)4qX@fK> z)Vp}KM6$7M7Ir9VaJQr6peNZgXC>0a5y6o@-^j>wJ4ybSQ=13T&QnJ(7@koajK_7k ziGd^dBvM3Cy-Vln*WCa`gV|hcz59HU;*U6eNfQYI>lvoKOkG=U{StAr*RsDHw`srnHn=LRH@duAY?UWaX~Mw5ZuYux3JUWP5{MwAC!ZFVS6SC%`(gR*ERp zGGt=Amz@vWXc!F|&X0vpd>Tl>%f2li?R9dK%p#|8=}kCauzx8F6|m#T{xM^i+#Jt& zz0rvN=NR?HdZ8ovWiT}qo?9Z8yK2(ow7tIkR>0r3U_uYkVv~g(n)2Bs8!0s$4xOQ5 zVAmh+r}={#k*vn0^Kxs^FrqZsGfIGv(-d#o;S;{=ic=pGPWna)PaWNM*zSuiJRa{h>k_{lVZr4Nu!iRNdp7x1T&>gHW1uYXAsqLw%>~ZW2C6* z1x7?7QrPmAl9IG1m|IVpz$l6)+>*D~&DQ^9nm%@{8Xl7YD4)7>c;5E@!9P4aqp(i+ zBF+miNNFdjR=h7X)4u$yK&x(XREA(&$#OIaQK}<9>}m(xS><0jdn(zReW>FlpELMbYsdFNzAD zzakWH_p%b1Z+mQ-X!OrhEBm)1XPP^>Sor!#CY_W-p4*`^d6-z!AYh@{BK$)9z4#eD z8o?KD*P*0BP>n0dYv?wVZV zGVx}d=y}C-u<-0lDA@=GMv!nY#Xuf{>Xhag^*x@nCHd%D88grk4Cb7dZ`IJuYAZo!Z(e3Jy8yz$yoo z2AnE}yT;K5e1RT*Y!^4^{9jJttU)eWI7Xr=REeN%Ed8ieqnnW_`O)&*M0}{U^Oo}-jrnX29hD3A>_8hxqT~8Pm;L=rPLRb!J`odCST~`E|*9E zAbx?+Vgz}}giAchDu(ig+s?ue&j)U$MKIC{t{+)PLS*K!^!q&t%ODYW>PBjB%C`mz zN$1-CHn$c^#I8#d z!4chNkfnP^dCrrFuwqAkaVkV@eghT-!|Wk`+qix)dCx+u0^oj?=Z4`aQ!91w`8r-2 z(q<^B<~-a2AT9m43NmZu_@l)NBk#u^y`A06$p;tnntME7tGpC8$ck@d6_UR9XnO9C z4qDf*P>R83OE0Q(bwfVB@b{lj3!uf-2|;ehW`XQR*+0%NNDUS;P9_0L+;)@QnH@gw zl8A^^p{Fw@dw{P3o-$i=!ZkmPn}$Om6&Mt#;Lj!!ZI3I!N}6$ElxP0(^DvZT?aF~aO}<%JK)z)A#FT9wd33E#oW7c zSUUZxUN`LYP2~sNqXOJ{0SH5WkM}Y)h60cgl#Ht`g`{Z_G|@TVqwB+E5HQYUJtS-e zmqDZx#N9wu^3)j`&Was=mmb;k&qXIzd5R$X)gv-g0#p1B|BwwggTl00K&FyA&FXLW zqdsb2?YqE?w@~aqfL!G!7pfR_fg@PMS6HYjRU$nfPRlSF1}~#?w}#!`^giWC%>38b zWml*%(1p!h4g)6&hW8*-oZm3gR^**uEc~yz(2o=>cmKSiprcpvK2?gzJt*sH6|S6< zz>x7ILXNuJyoK#}Z7SH~)(0HE(aMPJv+)(Lz8U5OdOm8WBexwdMbrZ_Sh8VF5aX;XBUdtkJWIh<@ zJ7G40xK*LWX+o6~PXhnp+qm0kN%Bd8^Br_R`AOts!TcZTY#4gz$f za8(n-4(o#rhZaFbh5*NunK1q3es>AnAt^_tR|nwLkaoYr(6UQ)ak#HseaD!e%0E!iNDe8mKztT6uq*o z4N^onTwCy}gUS0F3abBQWH2 z>iK8m$#6o@$4kkvNyT(v`o|FM`5t!hq9O83;$~=YS%O#Tbshkzu!rHvSwcEKch`nv z4MMevfW$63c6!mF0giJSMsyKhN%zANW`d=7daOc!2wJ`hUfJ5GXX3IT&lG2`X=S2BTH9`IoX4J8+I2k{ZC&JVHfbq1ge;a8-^b zxh2cC90MZcCb6M|?Z-5(Ue_0eo?U0tVWDM=pX4@|In5V!o|{TkIjU`)Qy2;7f9Q;Y z$n>CA61;m4}a~(J|>EeMWVOHRned%eOlF!}M=nfqp?p#Qxm#6U$jYE)HKX#f93brQs=K{d_SZR{g^MF2d9>*=`JJeK=ccHfEw$ax8vlA_=DtSppRNv@Ze?PWSWTPpcCI#W0H z7sNny7|!J7B{$Z}KYP5?lHUA5GpD5L?KVL{+-iMsnK_(9Cz~Oj>Fqk3@Kg78{=j*o z!8>Ohqi8YZ!sY#ne*ETV(zi$EZ*)4WzYEVI%#H^tI>Mimbm8PisK<`AmuAmAK08E9 z7d7S#t~D7WZJuMiZ^8z$L>#DT4`7&3c_XxHvgvwX{0bEtLzPRhyx}A2oL)Wj`m!O1 zu@-eGg^E7gmY)XN#g+G=xCR- z?j39~Tm8kl=Iqo2RLMSQ9Bgl2AV^U;sF@+U zQI`+lRksHt5>~os;8T}Qjx+mx2IB&jkj8FICw@jwHpuWPs5cVAsNEo?M+%G<`_Apa z(|{HPaz^L_7U>`QT@$82xeeVKUM`LcXtHup(_g`JP-9^IXCd=X!3XKV7_&m;iqf;M z{nsXbJ1)+@U`Z~OU?L=0j652&5?jsNfn|(4&akW|=44C6$lo$tZoUh6KM_HwF9oN@ z>%FTPeV!u*eGHTTZ|E9)6-f1D9Pd%|zVbRU>mkTDhrJ`<#>c5G2~qx<|CP{Q?pS@K zQK2p=HHV7wge~sU$+?o&!+Ll78vk%3PnNpxp8Z|c#gfKO`#R{j6tBhHupoj@wvas% zyjJh#kT@)}xL*Py#8Pn!A+0AvH0D<%1%%P+yZ@hvQw#PHa-n3N;j#&4+r(!QeVRth zG3pB~riI-(>n?0NID^5#E2Bi4FU*@$u^HamZ{IR?^}~czyOmayAZ_BaqriXtv_brW z2~Q{Wf(Vi}g7IrS=a9T%dx)r;JuYP>a?&%14yIFTICUqkFuNrw0sheSBB+TQOTONG zP^c9}9kJn;NB$;C>bGsFUbo)$#}7N){_GLJoTY-r4#Wf?U@S{xs#kzd(;^%N7{$KD zeu8W)^3-#&50Q_G&q$c4;Qfd+o(e!=TUqHjc(o+>afs9JCODJE$jF#YGVFNm5``wI z>gTDkrQVskQny3QA4*dz^brXvh1O6DyA#o?%0#K#e=$*#(z;ptP;{k((pQl&X9sr= zTUQdfnS126AA=keCQ}D}gufgL+Y|}W1}WXSQDQ6rJ=hBjU_vj~ubYS93;A;3Km1eF zYh4|m9m=isg{?$k6-?83B)0HdFpdu}OV9i-^K1|eF{0+?O!_CwB7jdb*Od#TVh>}( z5DLffS%{<^RLQWPs{dC~u!P4h5Zd4O%XXMHhd!^m�s48b7jWPDhW5k_8vWW-m=X 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�C0OdQReAKsO1X( z28pTsppcI;aAX&N-B19qt40tD(M3t~r~@Sc>*Gi)Ejc+e2hIfuqq~lFLd|68sqchoSJ+z{ zU8Ev9eXXz37?q=W%`MXJ!nSN0UFew%!QbVj%E~susGOEc!HmqrwaulQ>$rDAoNFSfU%I%(K}Kd z%`JTNw4zxt(Oc1Q1uUdpqAYIg0omU$Bg3bzMWh`;y4CyVd_J@ETTj!mOdTHg^2T!T z<*@qOZ74wvi-DZQC$PW=n%(aV^yXX@2_ga^Cp%&-(zTNIqO+y!64iqg@rm#GpGspV zYhzy+^RkTH!bYbNyd7=P8n)%fWCVHxR6N{;24$DnM>nSAPuJ@VYj9Gz+)nQAp9BF_ zsZ+fSL7X%kB-<$hws=e2JIue@47X!EzVXx0E*6a1`fA0StLSV%<{I^m4Fee}@3yTn z+S^?4_J12EKNG3ZLi5iGUuuC_#^pko8OR!Z}AIoD3sui^sYD4lhA|6>HJ0<|Cn z$)xmazf?>aqL5uFs-rT(W#my0!UadAZNf@JR+9+)VyOy5$}UXl{)~Mn3%U;RDH$8j z!aN!s+ zgY*KJ4@b2G=SYfzEvBp2nwRH`FnoN7ZneVSql{kh^!ckoi7rE$bRjjv@X*9jUAt3~ z5E-y|*oQD0Zrd0eFVI_HSMW@m>iu?s4Mi}Uo`iQ54vOr z7(2GCtD?>1m3IPcen=)sDNJO;6QJh(l}__KZY+Tb9ZgwE5*?+A-~>J|9Za}9i0k5@YtjJ3k2bBu9j)B5<@t*kxrCllRFEvXB7X_H z_k2gOl~WX!tsRkd9fQf{&O;s_OiJ}9nIsaJX~GEv=*)#@)`~{ybv6@m^0UCG^8U8B z->lLKtvnI?20Jg8VXR1JWrA5XZWPYeeIR{F$#m0p|Po=UjZJ z5!`EOv|<~Tj+d1H!?XPDl&w%7+8=K5F45-{f0!}hYP#)c;LagusCOluT{uO$?tnB; zC$Xn(>e2FFMchhUKGqr)hE`8DMSnJ;^Cse69_)SJ3elOv_%&}}V{*bOiB)>2=i!Zw zkYKbPdI5IBanIKW*AIJcf)8oBH5a^Pw=DIY?F@K$1RXVl5f zlJ$$4!{h(czha=#U`CG(6eCqkCbV2}cXzl<;WH~Mn*mAAmwKzNkiX~+s=v_uRtkV+ z>5}@;r{L21Z25&Joc1E?kIQc{q+k;}a@9TIb9KwKLK}Nef|!o|7@}yG=&0<33m5P= zyS!uKYVV{DsAEI-BS;P4N`Y&iPF`LSE;&gVH|RtkEqRM7fpY@VfCGeK#+%b1hPG~U3IK?MfV zkD6UqEqOCt0CJ04@$!e3`vPmwfR;R*q3c*U_fnWnOasO|gkzZpPmD?>I_l6#k8ba0 zzdBO8gPqiKFh8ps7*nRXpb)k~6lTKY%)_wy^RP@ZRWV_?!FD>!xx_|LJ|3w*PQS+1)0@Z4Yfbs)CyA5)F-y0xI zHoeNwqsy=8geE6<=%#nf2~2C|xX0l$9eCxz0onBo$r82w65d*gds3su!kY;9*hoB| z#9pZ4IA00>y6`XxcxtT7hm*AO_pyC=X#1@A!0gi_f}QoW%X@DBeF_@t>ljKgYVm&v z?8?M{w-nXiHxsoOdDybX_tPv*buX2)k5(A9*!U?w$UyQB(t$WjO zT+y3zZ}ajE2-~%!-^_YY4C$jgv_Li1hTEGv(|&mskIZI6e4cQ%(^?HEWy@*uutNQm zrDqX#Z;&g$4r?6fxrVPN`LS?^a#HAMhoJ~nc+u=}USt*R|JZy1H<_R-j?lYxuN-C@ z!-sa%M)~c2q2H;Po$ZXEmzL*58xxQVkUr7yCNM>ZQ`$hGfjO7@?aCJ`YvV#Y*fjTG z^T`A8M%}{fvZspZvjuu&!CB%%j*e=VyX2)lk8s~Ji>?5hsFIVh{7n6qf-)o?)-eQM zG8$BrzZrldF%R*kzgzbNc3iJAs@r=qy>@mRSi-JS7lnUs;7boMLZj{$`v=4W_S9n9 zi%xjWJ#78X6dB&5wkX7BE-?r)T}E_(U%s9NagpgXEj

mzYRYV9&+*doK6=CL@Q= z3WFczV5qf~b(4fIv5+C2G{}^pG8KhV_~Jsil~1G7H~%*Gcr5(M%HBpA=*0_Qqxymv zCasW}0GVTk3e>f=&7#yex`eN{T1Qd%{dthxPz3JmNpz=Dc@_GgN+09x;~Oq%gmO2Z zIaKH)!EcAPrf#Tto1od*=K?w#!M<>hy*tMb(hxL~96l|cCGv;xk>_?a9FyK=_fAC?=TS;>uOwVrnJhU?YjV*itobE|tqWk9`p{jL0cGzLfS9GjTp|?7d(Zka<;fk(7Mj-zV}q?7 z?UtHa8%xg;Ox7?g0(Gc9I;D*FJ^fppoes4#4SeO1B->wAPR&dTXj+h`M>Wrq2KsOR7q%5=dS|X?O@(Yh4ure z_MGl5N+=!#kSZnV5?n~Gbi7d>GAcc-(O--&th}nanB2_F5o5*;K?2}*VDSAp zuNoug?VJS8E*bq_3$95?P9s5`^hs^9i+X-O1Ivn?)7`>EZn4FHfkrTda!x0<2_MpY zC}8J+a&{4_-~+yoBHnsnX83~Yb=vOVNMyLqot5}S^;Qz2>JzoWT;QJkyV_){ANwEF zdq_D{#=Zf8Qddo?W@o_7m;O(CzDMsXbi|Z+AGcaSk2GQndTLR6NImq~{JLH<-y9tK zK~euU62f6L1c@K$<{!ls6-b(M#$1R9kzAcGm21Y$7u_L2ROuK?D)ZTDrnOnf<#QpM zM*@%Wske*@9!gJBN%8n3E}LI~l$89iEDJ5?3GL8-D@->6)t}C(l}}+F%Wb1`+3FUh z%2E+5+dnsiH?*vFSOM*;~oeq9i1tz5oNYf8(^l*mOwU9q9;TX2pZ6(0Df6V_R zzPKLTkBzRxSFMhHI1GnS5z9`fnR@z?rT8C$;VXPlPxXX8sb6siK|=Roj5=t;C9wU7 zu?`GdK>~H`9<=gGcnsp&)SgC3>E`&ixTOIwj*A%wh|W*#hq(EK&5 zcQ1^b2Iph9Qx*5?El#Obg?2AuvmFP_^OmS2bnl`2D<+$8-#dmTtP!<|+?An%BfB_g zQG|xi!G-5b0iB8RHC35`{{ucl5C*CZNf2K=d|{041ZEkArp(&a_Z@kE;AD5Zprj4s zxX|f8{qVly)9CCFn-w2okNXIGI>EgA;m>{S^4+}Kmc=ml$v)OhKhhaMfrVQ;d)7VE zbRm;jY=eORm6q>4SCO@EeS!@39;YHCQ1J5(*Ju$h7=rV zc6Q|FZtEp8Kw`-Y$VFAu!&e86SSi5i4rwZGnu62;VFRyz6Wfx=e!rrl#9KiFRivD( zA+rkl>7{VmusOs@B554DpHqj=6#{kw{j5;B8oo zEUS%9q*V}uScn=!0?W8B_}#NC;9Ozd_%_Tee!o(0!SIe z#c%Q@UKurCXlhZo;0A(WIh^7>0vOx+{2RDdJJ8!$wb zz1}NYuVogrU!Zonk-Z;z4fOG!){OIwn;Y>qV%FoDzvKOTlDd>ue+Pzb@Y9~2vL%_m zGmXi5j?Q=l+L*lu3xHtH$d?7k=0YYNg@n4V2{cxC12>jgtNWY69>P!4`?kKHU)%#OL|y~#C!mFDjuk#G>}PoXl;Kw{r^Up!vpNlw zET@|aAhOa>CP*}}By`W$J<$^{sw5>eU`YISAQE=P@9xk`v;QUMV560r$m8cA_|fro zAc#e!W%53oiYM`Irk_@)%Hcj7BtNFCW@5Z zX+49-GYT-+t42p%vQ)U6buLy8aGOOakUi@y3c`e>5`&3^z@&hZ3Piwwq~fSROaPc` zC_6gB^WSc#90tfix1Vn01FrZH@6ki~(M}C~8bH7`rK@@4 zU`}7}YTXh(%j|CnML}YAKGc||&ye+hPNj5vKRgCCuq^OC4eBHFX_R?BSi!VWg<#XX znsq{}W5aryha1`7=7UwjS+ROPR&KC&MchRD<>|y~T|%&>4}`_k_YNNY=AP3Y+~6*HlKW_srqO^@`~zTzp9TWD21X54h)&m9+$f2? zJSm|{F<;Xw&a4&f#*y(Br%pOvUH<#$HWpGA?7a`m!f>GW#9E9NRxk=Q5WlA2DSM#S8O2xyJB&u?KkwUapCLwi(~z2! zh$TsR5@k_FWBpOXqL9T2&7wjO_Qg?)ojbKW+=27d=I+%I(7#DG8F!-4UXA_ihEP!z zm<%~>9^@e_Y`3IjWQm~(NZNp*%@&N{DK!+gQ;@CpRKBu1K^gQjD$-ZR zdqvBGhiB-D1=W(&UiV7lc}ZArf_D`7UB#y;fYEu}ou%+Q6Nr%qt`lYQ^DJjb1iS^| zzPPC`#NVs^ur$fhmiqe6`<`7}HM!sn)O)U=0PjCN;m47x=&4)x7G+!In1T*n#Tc2a z$y?rPPP(B?LPd2KqQai9;r@>oVDHaSg2#EpAfzCc<<@sE4@taJ%ROGp;7|rZ$F}lA zJk&3A5D^2X%0p5UjQCTQ*DTvOCH1C}pls|%7Be1&xyo+s(JN0)eo2Bzp~*@TLDGO2 zP9=M!kA&|Hw;xhv6ouPuqW)8)!{;D%-4|Hlg7ZC^^+ApOEiZ>4!rBwxVHJ%#s`B+I zb|%O7K2aiZ8gEs*-wkM`fIUYS>c`*0xDyP-YA!SR0E4n6cZg(q%Yuou*kb{HvdEPv zSiyq7-yDaT>Y;tUXiV-a=lZ?D4IVlDSl~Ar`{;x&UtiJHr z3#B01Ifu@#@2}!g?`r5lS2Rk$>e9&X(hyJ(g5IOmYbNURRx1mO{y-lR88<veZA`<#EeVBStgUhXs?BU zt(J8ef*bZ*?lyxB!Qv0(5d?aDr+Kcn;%=V8%s3SkIjqGuE5vYUMNxH2)6i@yB<-sR z)a0w-pwk(BSKPG0J~>U;Nq!XEDu)5aDz}ez#n=MdDb2Y$PsoKH12{w2v~Ucm64T(9 zZ?$cw^}kezvr!c5Anf%gb)ZAi7$Dq_P)wp#$1qAYaLA$=-)p5=uR)q3mnC6j~d!zY-OtSg(xt;-7oPhJ)8 z0r1ESlRpeTMjrkqB*F~LdCNDjE?Bo6A!#nYXi0tAvkpd=W3}fKZRiDkKoDY<`rpTP za2JMR<#X|N!Z-u=ypHZ04Hr;*3fVqTyURtIp*ZLWY<|q_@lxM|80lbVV8jk(`sXOo z3Ei#_HhXk1uaxg3cU3yz@KiA znIS2((HYF-e;vIPaU%(SIw_}>#t?_L4doR?$}|c)KKIXz4WkT{6*>quLSE&Y2{>u@ zGmOwkK)?t>P7({~XMC859M8(8%B+dw3+f|Bld7xS|7qb(1Nn- zPNRr+7xq6O6BH8<5v9)7#wfZF7-0z7)_uZEXoe7=59UP0Ghz%i9=-9xDxKPEEPgvpb~yEkHB-z(t8Q7JNPeT5lT7Z5 z(L;~(_!o|Iq{|6UmkouRUp=@x z{Za&vhgmACw)Z*h`g5k$aB48QZ(@OC? z!-uXv?Y&&j*|*H?gYavjY3$CwWzf{96Hc^7Kc2dWN4<5PlZF@_)x~V&%3uM_Q=}`l zpHVnt?0r|~`DZ$VMOD{FI3qH$Jduj)SV)xyJ>9oon|I8MZe?gQ&Lpk(4S3wRikcLW zNl%Uj3yMG3ZVX3(XSE)u6Ir=G%xnh4S$@}12(uIC??c#esxH=h^RK%rNLP{dUaKIo z#8SE|P&HWWn|{!*j5B?UACkS7W572^$1ES*OKd><6P~8URT3A%Jso!4i}hOS9z}S} z&QA?jKdp5t;)I0oL)l^RdT0BcqHSvQUK(`0Dfsw$oZSQrwsa@KS0WyT$(5B~a!uM1 zK#CPeHW_>D1U4fxbI<=KgrcdXiBz1PW<{>Z;wc#>#^lN7^=gop4p1saj$%J}JRt9! zItYDMhKUrrK)96!^~&FabE1xY7D{`5D^4(mh^HRY{Gasozkzuh*G=I_ep{`sVbhB6 zFOxk-?Bp9g)8M3rbQ2VPrY+*%53wYQQV+K!RB6X24|3>d{O~>L|25;Xv-MMc->{M9 z8lW{DDYfyyX?AS)8L=g3hxX8!H29;jSI7?cSNgO!M-TWPK4!!W%RT>ypUns@l7-#_pjX6kl>d@NPtx(8US`xpD-= zm?;dYh=x;{``L)R^ISQMWgT-o+_jKg7M42%^fqs>Kj`}+Ur~_)vjDV{*tSMqrWH>K z8yG$W$PzQ~28TetV+Aw4kPC7ht&gm`_ZqL|etZkjVv17_{0sb~)Fa($ZJg)PUF)ey zp)Jw8#>y!BWsXK&R+7$q;7p4s*%aTi>XK8my6M*{324VY5l1xbA8$6ur6x*ah>N~j zvo!{PX|ewp@Ow0ypDx&cf7RgQJx<;-8Y-gIiuqNX(3}@iVZ>cr)eU@oPv&bahgD%q zyy?zQMM;T=ygwc~G!y&mjs8b18QAa>%j}POoyP`df4@}E0Wt+MHLCKP4S5dgX@61e z8q{d|HwHJd#fCu&S1`)QbML|DnOD!l6M0OJ0U;|xQ9#VM=+vTq&&PX`Ze&p}{FP$Y z*DOaty1!zib$^`ehR1OUb*M-`63D4SoTd74h41NdX9C6$Mh|$p;??fxfbv1pEIbsW zj8gaai{Q3#PI8>+s$S+T$>aODJi)cX^B^r(el%_WK9 z11{A3DGZeDD7;?CtC;Z@{RD0>&&*2GaVjF2Nb9DyCe))-?dkTYd_0iRUc=_XYO>s$ zyYxF)Kld?D*a&I8LM_-dMW;bbwwO^X?fd%_XuxY@m!jvW|CGt2lg{cNAH%`+y)q+eLTLXxLz`-sbeRS*h-&n;EN;7{Z&v9+UmGc zd9pAQTcAJn;4RQ~W>fOz9`HskTdL%<|>#%fO}*x z~GpuPl?gDARu(y$m^rlCz~4}^sa=dI{o*L4jhm2?6PzFlp$M0L4i1h z!IK~BZ?ZxLuaH<%UR_@xFLh^mXsjVuaYTYby&9*$9d+vXD9ULbr@tQi(_%_}1rtj7 zGB0Emi6RyUo-Xlm3%!Qc)9!n=YMY}xxowzozyWv?4dJ4Gz8G=EVc5qHU{AX`&iLKu zmu-+~qg$B0lP#tHu9A$&Ak8W#D_NsD41kqHDyMG{ zi7==x_5uBcViDA8JEPa?JbAz#zj5C(B*SHSO#By`f6v8e8>c4;-=<7>B<2++@{fPc zK~-keA&GWQ8IecfyQsr%2AcFwi3>Un8gx?rV&CwLtAPZkXC2&HsZAReesrNbfg_GC zez(|F?+F2dycj63+>)`{sN?!OeKe{)G85$L#2%uaseBj7% zQ`UFBudVd1U!8oNxjVZGFg_s~I@v3qxpq58hRhoOW`^Jm3h_ncekg}sM;p{tI&}t9 z9wOwbvYMg9K{6X|@DNs_TV(s^T2Bel*2lq4^5q6#KqnWr*NKF?Afd|}F5smdtTtFIxjzd|es$*%Z8r^Vu$;kCZ8 zEo;7KgH?($=4wdLK<%W<6e5{*bcAgzLbrCJ*6}0s8ctSUJa&E+02_xIb)9nm=8hYPbwXV8) zZ#;d@oxy@9Um}|ixkm8Fl%ieCrY~{9i9>o8r{Kf{n7$qJa$x0)7Xc#0NT|> zr*!Oop&zLclG`dLsldr|W#HVE!6qR*Co5vJju(OhBaZ=XHa{DzV+&<#IfU9h!Qp$} zlPDuKu5L1ZBDAdFcofh_FbNcPkhU6e`wjjJF>b3}@X|cX3zLxZuwi5xK_kixSfyj2 zF2yQAe-Ln^!yU~TjEB1{bfSL0s`iC*X$iy3K z05_b-rydm1ZeRaUQEm7Y)~{LU^`9ySgm4Mg>#&`(i4|@6D2wmD8GSoZ`uq-`|J?vl zsjho5Z(kbH_YN)cT@9=BHb9~rj%tegpR8q0?nQu?@Oh=?<7X#NSPl9ssAu8NFF9cV$#IC|?S>Rq<2Zy;s|ut4cbJqo^_88ZyxUrlB3m zM$@waR2qGG*y%S3)RcT5-0}GP=-zq<{h|b4b%b0xVYufjjLT)<@C%to}Z8jcp~waLj9T zC1qfr8S32hK_-0Qaiztz0|Ku}2L75;^toQJ&HYI0LQ%B0k&EpEld@)<3 zbLDQQ1#tN|*pl$o1!_F=`A^7?wfo&>{0owX3*8P9GIRRBnHK}`_A7`>>pJ&wWHl7X zI8CMG{q5CUoz}nk-AyXsM&80xT{59Jit1Jj;}Xu8#EA=ygJ3esxIS>0D>Oxl!?7FZ zmUu#CyQqFjSW(5DJk;@qEw2^j!{x0b-Q~r!Xdtox}^dasUjCBCIDO!Y@cxD5*>cAFe#Opzx6HMf1Q@SUW_qJfhBxP6#D!sFkx( z$QYP1A_}BUDaZtx!*eRT(}LX~YLTMOdXyPtj_Q zzMGVM2Hkj|d~tu*j1ulMa#SaRR1m-e+YGBrQ52m(&D34)#6t%0@nDO|GA=d~pD}4^ zUpnJU?YF1$!R7?@H)FO0JkTj9CXH3s@yD#(mqom5^|=B{;G#S9&+V^e?IMXQ`D?5rUJ+!B9C3nD@TF3qSWD>Cfchj zG(o*Fy}d{1t5ESf-D4OTBmi*^gMsvtApUb``v>&F?zz#=!dfA=qYHgCVG}-%oZnbr z<+xQ-rjD9j=chSK#K(7gwrQNUtyQh`APrC*tE(29!H>hKZ&-3@eCvrS0Y)J8f;V~h zwqQoiuNOMZwG7KVZ-qxOF`eoD#ftbaiu+;OLDs&pT^T?0vQ;K{m2!?)zPWH|9?F1b zrz=XEuvEWhdQQalS^Umd5Z9PGx10Sm*b8~KG>%>ppMGgYZQ@^!F12Y&@o$2X0eqtrTklz!BqENqihB(RPgM6nJ1o1sboL z!zD?CmsdT;hX+xxIgJt_%DDzTCLlzt^4~&DA%~N z8fH!U`?D}v z%%AP195Xc_F%L)M+ywvzO#pUPWZp64EqAO%ZM8{WS}T_&0UPS06MgHD{TqEJTOZ2U$R%~cvhg4BTeix{)nejWo{?W zGLTV9N3?K3*%k*olD`UH3r9>?HL|YK+1}?XUVi&_9jWU1{!C8II}o%+%hiwsyIT~! z*eYuJ-VUCarA}vLmk%979J58RNEugqi?0-YTaV6ZWw^^3 zWnh}dKfq}ZII7VZ{;{hpkEJqQWn!CZBGQ+&rI?K=n&bJg@VlBh!hV|MMlc<0&)yG0 zDJxEOTCFFUBKTRM+f7CFvmAn$et&0Nijwt#UzztMS=A9WF1aFn0_7a3E~P|&POTW+Kt7w<4%$v0qYBmwPY zuEi@X;qm96ozZfPoY8TH|1eJ84d-rU?W`Z&&M5rgjnqRnNrWa99`>FEubzf_Jdhl| zAF^%aO{jw|Fy`sK@zU*ezx#_2BZ<@HLXq2{uFW66n>G)w}Rd!cH z$+2kO$4X1Qd#{R3H;P(Ryb%3k8dG6iulJh?%EhAR*s zwijZ`a)AvF^!{Eq+}iH;(S)RQ1QzLn!%zX~;+ljSag_7Jl3HU3u#3JbgXH{t;)J7H z_ty348B|nj!_;{kDV{0OAMdVfFj%FafW%u(kn>xs^%H-5i?L)_w1<4`9Yx5Fw0?a6 zHQCi!#9L=pkF=m}e;uYIb$A;wKyOI0qvZasoqi7Gc9~$T z-yMouoFUjnmgx)H4>3*6{m(k?vn^%9yh;qk9{mq;erJUUCf$6G9SPIWu6D*f?y*Sb z@cwK(6X)pI#S-Vs5VZy~h&L@_}UJoIJ^KKyfwAP=>?B;UI43kJJaD_L|X2FA<-^7h!hJ%TI#Q>UiIlyKTAn zG-d8xz&r*Eb8ny$MOlygr;elOt8PvbF#W94?an&RiQ;;lG&Y(@Gk6-sNh#`YJW$d) zu>qrH2|c-^J%?@LCoxKKSXhQ)QspT}F~?d>2;|oy!yvy*$`FK9X1q01Xbsuju8iLGlPG!^|+pN#V~ zjxZbCe#+PgnaEvRIvLT?n&mwLIH?6W%urZ5Z`$EG8SuUS{#1N`Tv)q}Q_1nEYo~;j zn-Azk7K83E(9-#+UaNFk2|?ER5P?7!%PDxC^b+tT#v)kVSK*gC4z1)?N z1oc7~9tvG3M3A5)0E!RPl|Mywmr+iU1EVRHZrCOLDGwszP$plxGVUKUIJ_xks* z5r_*j@o{3Wfszb2%?%~Vt`zk?%%aWyBJzp}izh|lUxy`OAP+YFt9tC_8SpU=`GW+{ zF}9D{0#xgy{8~2L?h2s{P`fsD9?phdRHeIOnxoY5{C6x^CYv(0LBY!iO5QwX8wh}* zL8I@)mMAuPPy230quyOZ<_tTB^c;H;X(^obgcWp(-2Ez3w*q3Uc;6oKmv2KHz;{~Y z@d5GvcGSSo1FTXMivU#MNR|urW4ACaVn%to2s`?Cg41R8UAoXGY`1d@jfG!VVyj9l zi_1Fj0plFNGN0V$=CQ96SY)FOc>`(*L;Ov9P=7}pnLK1xH1g&%;JhQ+(qE{m2}+o(Ql)I#G3is69bde^UZJ?fIg0`8&Pc@F`%BHs{ zIZ(D!a`z>3p6z|>P3YNj`C)4&FM?DW=SW1N)Wa=tRVwirgHq@Vwp~D^@s8-i@RRZA zl43zykivFHKV3!?TkRV#9b)_1WzAi%f!zw92|`ZoJKg#uKV6`%h?Q?)N>jM+7uNgs zrdWC!`nC>;RPDW%W~3VqYdp~w*X(LKN};0o4E6B}F>N5B`iROn!H27ZuD6Osz^bCe zc(ORAgBDZ*E+`fA4nb_qk2B291RK#C!8$8uav-in+p-uyam{77p;5Npc)E*RGjETF zAj1Fl0*=T)2JEJ1?JS#7g3eWy;{zUkezf@yUI-87Igy~uq|QVgjB9aU)7!5- z4)T)^J>P{h!WX+>9DWCwi(d^wD+JZKT)ztSUG4vo%tEg;o(>0Q=M9sbSm?N(A(fth zm~;dt3xO*tZf1NvO-q|icsQ=Si+8+ce^C8qcME0T0oB)+SLflxK@7UB3EQ)MnEQ@w zSx$$I61oI`4J77Ww_otuqF9&0w!4%*ZbRNuKVF7}MiQi^{*#gSG&$3I=9d|J zHHUv;{43YooZkySqz(#@*fB-QC@SLkI*2G{J&2}d#OzEL zRJjw)RLBX3R16phzCjW2y_E7nx3@d2aAg_(LBp2F>8X5RCK#0Vh#rt*EccEkqqcuF z@SRt81b2Qnfijv%Kn!zOZ5Iq|DR9kg7y@K(C;QMEsx=8@bnFwV#DrlhF2{3O}o z3R?A@_es_GWcpfkmJ4L z98vUX$8WAk*7>_;N?g~$&RBIKKc!dJpts2=bIP9f$|ZHL(1Yja%RYB8y|Wt;0RTX+ z51HWWpx%m3NjouuHID$&1SdaIEJ#FmwE<2%#3~~5@QZ^Q*0F1diM5RFa`;b5`^_)* zjZUHu^WIJ?QWOJmJ}0wN(x{>DKUGw?RMZdWHc)i=MgL0$r>7<_oM8&U2=78E7)a*h z#~D88ZOlxx+W2bEt9)HVv_t)mmLgi{>3d|3)RKaQ=p$F6kKn#3hojSyu;uy^8>F~} zrI+%44-#Q0x2v2!tWVxf2(T*KIlS20@XyV;`;W=ahnMwl`KtwAyJw0WW6XA!pPYyF zHFRb|^36%`vL*&Ud+H`^JU@--*50ouYiIV|JwimgEp}fC93BeF$i;KMIZ`Rk=GyU5 zsj`Vj;#Irv!6TcdUOa?HdrFEgcs2`;TV)f^QhUF^BU)R9?eVrh>9XG!U9Pr7}FJ}(Kbr26SiyqNL1jP_e=9hnX62kHz+Pl9dH@teQ|CXBh&f9=kgV*p%gz< ze8@ym8Jt$GrifPD)SRum;=@E8?m7TDxoYsV$9>pvxPU_&mLz`LXTzgk7Zom zx9l)2L+8dGUFI62_w2YU2*Na5Iiicpj9hc&>9tj~an{okmm%2eo*6RlMhc`D+T1@w zrF>1mZRDYgV$IQKYgh8d-E=D;#|#xEpVD?6S)0u-!rS0Lu$q2%~tlwc-S=Up+MKU$2>jccL8{Kh~c-es^zrInR@~US@(Y z%f*{znGvK z#0~2kw(Q0|Mue=nB6-ZOa<~9D2p{cFCUp?8cCoVesZe;Wbs+xoyjX};=b-rdHtk-& z9f1gL-2BUN2#XCq;xv2Qut-Xfp%R-j7+ZfVcliSW6NQg9k`5bG$3()VaYgUmazaLs zCyZDEpTV}raqvRaaR4li@Ym?a&wdiT$AH@9q%l>KYFAdji&??^v(jaTR^j)Ds=IOnJ^YsMPe9|z_PON?yDj+YGy8UueM6T>ijY~ z=1MU)H6nvS8rpb4rH^jri7z1m0eUjF`t^)qrrTaljg1zLPhuaxaVptXslp|;z?us= zh&WLQr5Ip&W9jtlye0srk{r0?ah`{Ec-RN$o2j>JgtASFv9SHMQkF^y|9D_p66oe| z^9b=)I>?(n0fSeY4#Pg4R&IKL@u#?LH{Qs{mmekW!i1Z*?`6743E8YkN^u@?6F37y znOk}?K|fPCOa2$niH=-CNH18)=(D>V(1!i01Wm<0CnR+$*^74Ms)u{a85rFGAvrBTB|kY4?tj-#YnA5OzB$roO)C3RGuy`19TIrxfVii7J<9g0`|(Pbym^C z`nqVr{3W=1&q`j1?fVuAJRUVlaWvt!1Vha~c$F_dLSV)OqIKcm5rKr}?scN)rGPp# zJkcy9knBg^7xvzZVWW*;M4Zn0uGw0lfesj+3FO-*5(edeBm**tce1e0#SG2EE$&}` zgkGG31?z!;Dl_GMl=4rK0g8>L{QF)h!O+AlEW^mnSd{wZ{3DKd+?kYuT!z6eShAZ< zs8TW=)p;}~T;jr(#=+DYijj8~$TTuY zh2K0&N~-#_x4g_Y6Y1XF|846Lg;GlZ5~?##x(+Osf09ayM^m$1KaoKtj?DFK(i$B~`|2(yOdA`E8Hz5J+q8ux zqbBr;Xp7nvVfNED1h^8~_z~1B*O+iCAMHu|B0w73I>QQMYLs{YBKX0iGb zR`w=g&I_uV;5>*wTHV5^e;HrC#&1_G1hd-{yJ??Kqx$LA6Ez{YcqltB{-3l?!L|=I z%xgJ?ZY+cRF{Ko=BaJp_h?p8^<=_Lpqz&2NA5s$qRA>2FC?5E4M-tkJZi8LSW^+MA zs}x#wYE4uJ1{`(`^QG_vVT4yfoz^@EQELn>kUlEPKaVc;pbjto9<`4n2A zQWvOK-|Y#( zw~E0X;N+QsX;T&~$*~==Dh(Q%&k1stob<-=S2?p8oAKUDJ$}yVy3~-3C(5Mb?C3Y4 z42iQbne`j}{iRWd-(i@;Wl<;y24OH>*k03k;}QHg6C#PBt6jD3_2^-Fu99Va6W;E& zgu&BKH&Uo2Z_&Gx;~gAi5V$ZO&Mi&RMWGg<`;-8AUI<%3o%}Tibh5E=Pfx=IEFqoIhnn)s%oE8S4wli?@^k=im zFsIQveOC#3&qKth3zMXrI4S4^e>e=xMF7V_XPU?q@Ye}_q6B<${HT-r_65 zN=&~*VjpR8$_`t^V+?xq%ll3pEXSdSdA#_m3xT_o1zu zL>a3g)HUF?IePesY0xIDLfbuA1A<@BN}T)4+8^%w3VA?z52ZE;oX2HITNdJA-Z)h~ zYZVBI(x+TUGo$5T>6l}rVpnbU=iOt~V!J*+rQ&>SiXd%Oi7F_f2HE;v?cTapc_?p% zrB9JmCjZHrxTK-zk2=>|S<%VtTc&8m0u$l5l_93Kr_8WwyY)IMxa~4qsmZl;CAj~= zb_Nt*v^vSl<#9Xota>t@{m^d)*4wmZ*SFZ1=wSv1JIF=#nGnk>4sv*b#GK3gPWFg> zI{1reErsD&t~VTLl>Bbm5VRTv1<4O)wz}J;@%nQcW-00_KuIQ=ix}$A_>~dkR0n+YSvRCR zE30|AmgC%9jqE3t2xB!2?g^N6U05l>b9D!_APdfqJ1xqS({D9Kyr{^~(&vV}s3cjK z-U@Mj$5`M>h_K0fHJt(wM(XG36r>Vum{+I{gW>i@!9w;!D^yAcL)M>TF+vfuMU4CD znN0(K(i0CkMO=f=);MhNt+u>CN=%N0|8fuZ$9Y2578xUi-IxqQbu~lz*?s}n@z(Ot z>3UR}q|`mSu$~lN`&%UajCDIqC}3|^J2`t3Vh>S_x$@H}dtx7~d)1)+l@r8vn=2*d zUMgasuiD#x56Iyae#Cz{+D7L-JM>}+SDygub3{0z4Fc%3=uwG=^^3Ym)z0@c zrCld4;a!%gIqg^MiAV8$IlmU1JF}kgy>OVDxPi3pK1;6?f>V+<7{2qp+`w0gXY~U` z6)t2~`k0!K@JU?o?F0~Mh@|WG13PJ`G0(S;%7A#U3@;l*#IU1o{0(pQln@iRaT3&4 z^;8-2uX(WIQ<(uZ@#7%@zdRum*{Q57Gfwe-O-7Nfr-gTHZ?6;tCAc=DX;^;xeUkar zN!mMbkecpVBcEY0p1QQf>IX8{(AXP|f3MGF2PU32?&s7rDBCR^n|V(aIXU!tmwO8- z0jEX7q!&fxQbyDOBmTvEmWW5#Ufx1SAh@Drs*7H=h12>(4)od@TxG=}(okxn+lTEU zzjRg{_`P($#C1pc<;yy=SRb$DLClMfOCRAB1vy5s0UTn&qYM;G^2cPmf%raI+$Kxt z0L(t0j$y72=o&ze1xkQT_#93+gy-?Y+Ar!ze_`{yb&y`Gt;oGsS9*jKS&fPb&$Gdj zqn|$0W*Q%~1GPD}Cl>FjS8$s+KzXKj)4Qk%MvF=zSC;v|d_UnQ^A0&dC{I@ld(2{& zBxm>_qux*BLl?b7$b3+P-=c|%kpZx$^?U7stMKVoCjqgkd*3foU*h-f!dOZ*C3#8z zo&=oLf}de({!dHOqy(-$R=qnTThtuXY>|jt7w`U4Vb%-Ph9_f!{rssXRcf+T`V}5b z@F%HCH}f~-bb#bG*R!B-h&O>%?+#kB{}D%XTvEQDGQHXi1{#v&6v(!pXRDDSI4bVF z1laDf%Z|yEmV{eSCZtcd0lWvb=!p>>2caj~AqSsc(0}!s|Ii4jz&RdX4OVa>>$Qq1hK#T-{d> z5|$f(!Kx4O$)(geSeM4N9d@TlWmO&SC@oCC89eNteJ{H>5*~eka-JS^bbe3|qHxK> z+^+)^s_rrsM+nU4pIYXZvHvi~ze#XE6M971>Q!V88~cNWMO87W9wSaJ&{*}$9^?DrLm9IS)T5dklpN;*6WjC#wk(4J*5qi{rPG5Za zn7;S|Zmcu!jdElzF!x6%jzvNsuI+bsLQ)S$IokC0=tRZL4={yhY&t_kANlb+NX_3i zivoKCK*x7m(af8h`Ja`B;XPcHOchxDw@&eI7xBv9DFK%X@8x&S*Z4Uo{>J0#9%RHi z)qfo{{kX0AZ&&epdsnnGXfCHjw0?hle~`zHjJ%G3>m_hPe0gC6h5Yf+)X6j2x^u?I z;L!3`Kut}2Yo$LZHc5&MOOy<+dts~5d_B?T!^!I%Zvkhf>1$LI$R^k z`|Lbs4KGL2;)R5GpyeAYISqD6a_9UuSBR}UedQ|#El#jCQM}>dKr5L_Yyp`33 zLPoA7=9~Swoe4dZOgV(6{a4q?k8*4qvqyo0|LJJC;c$|DbfOVW+Y#N_njVM1e zrMrG=MDvX+vC5UwY+jZ2znw+%;(Iadm>Gj-4{qoJDUe#p3eC5X68+6hx=vO?OrSlm zr?7K7;i5;mNHfiDc=+PfxyOCkt@&frZQwEgJuC;UkQ)xznP#1w&}S3Gj;ZwmR$Q7n z#}M9CXGBL=Y#RR#Mt=5hgxKC1R5BNo;8ICU4j}CIe6`CP% zD^NtJEK5$ew zW~`D4t+zqBkI>ooL^hF{B36`s$oaGNB56Eis68Np2G*o4Etwq~nF1Z6e%>>5ghq-R zx5Rm6;x4f*9elZc%2)uNm^VGdMy>y8fPQd^UK19>+y_{pdNF4#hn{$|U26Y}op%Xb z*L(`UkI>)FrG_uWuNp?$oXF>UGGIqcH+4?=zg6NrS%>=P^B$@iB0&-vxsKpZ(9d?F zXq-V2#7=}b^A&&8gHGxvsef(mKF!nsFLZIiS~mM>l=F9pV40pAZQ_A{A7+gSI97Wy zO|hThW3v~TM+XSb_k z*~=9{|K1_9`0v-&%Lw)$<*;7YML^JQa^qy{*hPSITmA*n$X6<9ov^7aQunZy%7wrY zH_{t-l^*&`uu~5i#exvc&1*^8cBk_ExPQ>dq=)H=On?h^>veL~hucsrK*22V{Lh)m1JA|=+%UYnR{t|tk74IMb`{>8$ z=w+)fx3U*Fk#-tg3cDyyzyyfe6n@*)=NsA#uduu~Sw*(K_Sq2tU-}JkuT@)Ebp$Xf z*xt?-jHesN>rIm?`5LgRZ8KAz;Y)VH}PU;HxXZ`iZX$_CuR+PmcPY1rf-x-Jf{oiM)g zHR{W6R$Da_jQ4w|&sQ-A?BetM8ka|Hr_Yip@>hvxp6>DHPc+7S3uu&h`A{ebRf%gM z9`*ygKW)LVkP{!jxJI{A+afj8{=WDBt3_9n9Vk#lG5~O#7<)`On_Z)3UcA0)3-UZd zoq*ll41?GS@MTH6`xx4{OV&VX?9N|^0J z|9XWN=;)-@f}^Hj8-csl1!BxubW;7iY6orkj{2|_s?N@D%jWsnmv!;U?NDFk_loZI zhG{aoC*0Tq7f*2Y2d`Nu#(%&|1FEQvM^7rB&c>uj20fH!=NtuCOQ!UzJl)84Cy$Jk zmIX(OQa+3S~|)Y0W%-U%@-gN4*A{;I`_`-$`FhyRWj3%sL z7=Eqz{V$MXF|PKVaF@?kKNl|H_=q9dkLuMEJ38Sv(X@wGE0lzE+fF^Vjon4;k9L0| zy#|rPO(Txkq<8M!hB=d<+OGrl6@y$@XvOS#w))q8-)paIo1pO}M5i+~d&eU4DpB@_ z#!i+~A6NVtQ~CZ`#8N31E)>>FtLeDKezW_^cs1v?-^3hW@#b!Tw=hLjDU0Oi!a8q3 z%+@eT98Ro&_W59E@%bNp!FpG`rR}_R^w27(M;I=poNe6$W(t1TK>HMrMKw7W6#0a2_AMTn20wEsN`gcGF=+|t)cDp+_!N>`W&B|EQ? z%l93r%U@1FbrcRYcF#IC2w>>EUcdwi)u#X~p{i*P3I6l#Ux)~-tDL+O@ouTo6@I{8 z4U=Gr<9Qt(;fkED$IIheZVicbp5XgF^Xy5Thx#*^6*y+NEFhn2&F4CtI9XUz=QZZx zD;klKM6X0b^Amj>A1llMV}OZGlfADQ4x&%}VA3Q=3+d;*em6Y32@uR?+@v*m5_z2) z+-;}$T+kDa{cZz7h#B3l16It6U@qmG&FUqi0NVq;0S_}KI}VEF54hV_aDK$?d2Cle zKnYY?nV4c$$Xk;*^eopE!PR{`o`Njem<@-}_sxQ>ZbD@ik3id++W4YJ|2^PW&LR7! z4L2nT9KAkm5$n&z6Iy$N|!nN9vm`^1AUg*=Z{SOc+>m2OqbUk!yVjn z585Zqa4Lks9dw*HI904%I)bfj0~uM_?!3OCF}|Us(eA}Drsu6ssxrs_GYilM#*&Q@ zc?|_FNsDd3_ZuQAA-tmAK>x+`GqOLV4@eJJNWTdl)4i_tKnCfxvFbF9Yf|}HR^NlYE$HQZc4VpqBs@wfO zsvftN%CvZia6J>6+)t=pg#21X)*rP24DDHzNMdI!$LY0PLjZ7!?~?d4?OAHA9jpzf zznrI^e4SiWGjyI7;$Aa({cy22e4C%Y@{7CN8LosgP~BmM+TDX0Dw5xTun~)!@Q}*i zCs|%X>en;}r?{fau!lC~#9rvSWl-zwgbPiy3=U9cJk%>qMbQd>J98Z0G&}x*d#riF zakkfk8H9S8aiT3$ekhnct({*Q6lHYdA?k9S5HBSGrT6iXtr?&=17RpF4!Kj~8K$ay z9l~{4g3TCA@1WFcY#`A?fPatOCamy z|1Tv_j4da{;&ZCnXQ4zU9rnw*vPEn`e3=6qT*&TT>~*wR{gl#APwB&@y72F(bETo0 z7av%wuqytLSd!c-AZ)MccV6Y?x#Qh-#!sOj6$2zYtr%ZRuchYfT+yf)p~|5YwQ?mb z+_!Cj4KR~GE5v5^(vty}H4Brx{q(!sM&%-wMed{|!^PE4r8|%p# z=DgMNf<@wf>KF{S?FzWk?#vWZb%|g1AT5FRQ`TLgm2~FMdR_>Ao`QfV;u<{@LqGaC zNa>!X%BjruFL8-xOD~C&cw4dZObmlo9Onq$%Kq# zKRJlpnk34o^-tEFR5E^CZZ@?R{=Qlmj8?3|1RQ!5C2{%)Byul zGGVa-)(n7|p#4={i4vKnKOx?_DqWr|n8ippKlbUB$iYiukrH{pCBQV>RZ_tKl94hm zGN0x}=GT}f3_mr+Pf)QDeKRdicA1iyB8l>gU;x#pvJ)%U+bOtzJJX8i3N*T^7wKUgz_NKipoDZ4#5b5`#qE7^PiE6mt1-^Bk@D`vsQPA0Xm}?6r z)#hP!8QDnc#}RAA;qxED1qEw_GCZ)eF2&lbBjJ(u9N>R$)EqAHDziaUX@+39WVHVd z*tx1#T{6H6y+XsQ2Mmyl(rNqX!uvq2XOxzO286m5QG2e4_jM%JrO{?aOR$x$VBjtq z4zjgq)1`iODYqlb9GE4Gy;WQ|+xKzmh=VHxBq9u}HJ{;Un`wZt*GYag1n!cU53BkUDtrmJ+A%As(S zdBLho<2Js$^+yjNoHf=@pR;!|ygT@R3Pa?hg`%2%+@G?;sCo(?K5Z7+dSTc=5UViKGH8;mrrviCp6r4;KkRn*O+X$F`RW&J0mL1{ZGv z5sp*52>Da65*3YbqGzwTx%FIp)u0n!3>LL-o>zsz?)q9Nih_1KNxduafpg5oPXkz* zym>ux|DZi4^NHUyApv}0Tu4Fwq@d6n1&ZoCpbb&px{Op)bMxlGlpBB3*0Jxv4!>)o zx6k3Psx#`VPzTFww7KQi*Vaj0L~nW71-qCc7oCE^6IX5$y~d|ECyN6H>2o2gJkI|Q zP~R`z!xY``{B7Uy8L<40)K7+lB0Dprrk4>|FEA0RSR(Y2l8%(zctPN}4M$g~#MsM%Y;lwFV}|Xf{2SMZGA@M81wm4r|WSHG|ldBdBxwf^OPDurRQV zl`IwK&2tbW=3Tn>60WA;D}=vT0Elt9d>~|iKGQ{l(J+zQIsu}DLKF_lWpCXx+GDBh z5Xi59kYv(3gdgWZ!=UOdabN@`Plr({k{Tlh-BT-tFCl->Z$C7+*9k46i4APCdft61 zHt^6R%|BDqdVdQbIT{!CtyIXg+`OLXIR%gPwsPpsnw$VBH6)JdLoT#+^9tCg3@UeQMB9=2DKDSHZKJZH&oK7 z(d|eIMl@&=J#UzBFi{Y>EW$4injW*p&9fD(u}q7(CnvWO8D$(1xKJkb`c}=3wMk>4 z_@cqjxjS&mW6MYOi+(4!+NTFEmI2hPL~#lK1bHaBLP(6d)cKa-!k9m4S25oWr0_k)kEI9qO|#u@AdW!;f0JzTU`9K(~dm$1{wQ2(QC7WPo@xl7wG(ahT*sLp~0_ zpKD^Iuy_yIS*T!$;8v@v`iRVtA};93rqTTf@RoPOjyjTD-HU>Q73F8Sib(@wcz<5E zg}i9vMFR$U6GmH|w>J{CB?m@VteAdJ`E~hjz&@xZ?uzWmAZ#KnztL(?F9+ucL&%8$ z1o@%!IB?A>x!mAf_Ar0Q5NS3C`B7_VsvT1g0ZIawA4($7@<-TaNqqZ0X+!3ppA!g{ z3AWDDGE!|AKELoIAhzu;2&-y^f4nT7&^Ywsdj4WyM`3ftHRY;NCwP%9rbxEa8oMOp z^1xq_IgMw_Wk?lI*43(VlAvo%#+ej}XtAfG8|3j;%2*pTRpX6_pQ^5{CX$SqS#rhx za@MFpvXY`Pq+Pn@wk(rHgQG;W6lWeavKf<_u-;d?YuP;*@b-V34cA-8~Zf64A zB>xcZfMj?!*AZOb8~^b@p8@*MV*=6UN2(6GFx6=ISlPF!Id)j4U-j9iJHhP=(G~gY zGTaeXy8d6HE%`4F_|d|3uYLj%EyXxis|rGTgl$;J3mIIZ_6sTt1{n8m9M*B>!*jsbU$)eYFC4ga;Yg{KMa@Udj^wK zAcHPyEO&Rb)BD319E3zfZo{6bY;*esC&&MnvL*}>5^9)=sQfr&2@t`3LNo)zzJ5$3 z&@cbKdpmnd_kJw1s#so78$AYHeY}(`Piy}ca_Se@@AHOF+Y-6?f$eWOkJg=aaEz-D z(W-``hPH!j8qfm8gFS|9mUlfkXP1P^LEUPWNIsFekW!#abi4{cq&EYDHhB!u4lRZf zW|9pqnDKP`a$w%(x>mByR?BTUOh9{#lQM7{E;>z!)ki?}Q&vh3FSDu~)=18{`2r-d zrU@;Xp&7s2{B1dzCT}l1M`3*n&DlfsUuWMxfe$5h$^X#r5cGR9Op|wRx_!LMcsY+% zzaI={n!r~8_TK)-*mdtkbvHZXn}4N{ z94IGdhsa+joQrb=|JzCQyuY_+J(x54{bT&O(E;&QMVK`5R6_8Z^j)ubkLIT3eOUuo zg8m+d>xjx(=R4n%3i@bl9Z}m=jsMB{q}|NXgKeo?ZO@Jmi7?&HF`=ztq=6_M>5DD8 zKRcaYSLxNx)7oPiYv)d=(fQ({vIFgBrqL|Tjc1v1cen->P%UJTyxW9Qfh7ECPDe=j z1+|~IP#xHd88%U`SUJuNcZBx+`fvU`I?YefO2>T+2GuP5ek)0NORoHsly}btl0$E` zq2*J6_1n(&B9+UMuNm}mtiIEtQ4}?j$F>tddFd#gsqWjlkNH9kjZ?0xT+J}b(f$ip zdB<5)N&~~9EI+pahVja{yR5(73l&P83PcCJWhJIQeDB>AvU@XnM^x!<+_rU1vpaL; zyL|1ylEV)Xj$It!o9X#$*X(kl__pA@1Y`cvr!b=~Z)x3#K2lAlGLe5cbn;IQ9{&s7lR7zw+t1Q=*L z!*OO_`;FoS2<(kE;=2Dx&?vR!dRl(_&q7re5VG!_=C^u-8{lU5FaVYxDpX+okR_ff z^KRI$d-{4;O`ORi-`ZoX%?XuUAsrR3<<&1XU%uwWXotU#RFngU%?K)zo$hW zbspD|OXsx@7mMZ#VwJv9QYk|d>m7q}@)((dopF!oe0xsmINcNO;J=6&C7m25cFmoj zcRqe&tnglgVqriE4U|@WdeUY;ER7EeQspm2Ze`9mp~8?B}pl27;`ZZ=M#AgP(^E zP1Bk)*_hvyn;Bg{`B-D4@uHv4L85Qp_zuGwiM)J1y4%x+t}@+9O>XPb{cDW$vAGrB z?XoKjl`pfffDWfqDoys~)xdoC<5gy!KtJc@Cv7DaCX9bz^W#FJWa^(w7=3`JMr^2H6Z%at_yP+8WW@b z2syU?A2Zhc3!W)p5Nm+8UCO7gGLY6{s$$4iM72GbJOUNy%~AhCerps7s*vxEoSWuT zc@7x8-FO272wp39CYixoCTRrx-#bG^-};GZy@ zTmySSPAi7+Z@d|e#&g`^o=OLQ=V|1L;j@>G*_C9%E!P!>6)V4tlz|ulOSF2CWzkp( zkNym-_^bf8J55;tyuSFlFp6-tAnVZKj^F>)>`O{I(}iY^J*<5pCc>xcoB=vQj_dEG~h=E0aqIDm;RbuzxC$X^W`!T zkhEGjYMhWB>d=JkyOnnEk3=5(kNnEQeQZ2){JP&l+4Y0(fFd1WE$pukVNp_?gm1R| z+npyTLX+9z78Bj!EJ|i7oh6SBhA@*8AM$e<1(c6Hfl2DhuS%w#ECSgl$NFjRARVNwj1_7F?^6Y&kY&#C8CXq%#Y|qZWIG3^7?Ij>cg+}*CrWmZBO{|L zb0{htatffiPXeOIK)Nf*PCTBx38`A;QE}CWe-&^3q#v@l+)X`UF;&|o>(SW|I-F0__LYI@+7wz%n+?{3{m~YC?rE!7{=b_`PXVz z+ez<1gnxLl4+W;Cea~p=L9pxaB^#43K~9}2(AeQ6=PO57P=_O*t0LhJz7=bgGkAI1DC#oq8sbqkrZ$S8qC=fxZA?c|Dh4oq?E_Ft_4#wpNQlx{quiKRu zJo*lVvG|)LE+amy& zTIFI97A1!U<6+*>6tny8WzR>VJghzzB>#oN1(4~4!m$+Vn3}BN@9HEVxjl9s>+#0( zs?lcQ#^u;$Wn>ZK(r|vIeClOn!BfHezV%4#p*_*+IK_A>(?$8soY|AmL3clw}WVoEo|e z!F0q&#{Y^8H~kc<~FbMf5(4`!$po4}yf5qc#_LBV*JTUoHR5$#_dpd_eW?i>pbl zWP8rOi$B%Q$9^kEH+hX!@CDLC;#g2)_m}n=s=Con0z)Qnav0!HBIm(r^ou3{JwU?0 z-$SxiC7W0LAZTcTiia#&&MoJjnrEgT}vAx1O zni1Y^Zu;D38{g}f>J}G6Y&nGtNYU{v~R&G1* z$ndjJh@Ca+k4f-PW^-hMP{RG;Bqv7b{KwFo#AV0yG)$IldCX70@<*D+wl{g*<~C9W zJ2^p~7CJx5w{SnX*{r+QG8?um`{sUnhT`1oOfdn?Mg*xk$P$CMvV`il*GxHJk`eLl2s;1w0cnjC8kOit!ceuPW-+DB)b zrA>(x#qOj91qn?cJmU6HUvFGAXQY|`3;nQv-}$xl3fhtLpC^oBMKD}q@B^1TlFC1% zIar8hY$ANFFm9^w8W31fKev_+Q2UC9Gk|tt0Y5`j5Tnw#q4_V@h&jLIQq`03Jwb`J z2HuXfiz?r!tyv7^BhMyF-(J(-%aCS4H7!I9*P!VzOWnV4lpPYH8wnDmK&XrOjjc0f zvhUy^#;Y=DNQy35GZ4fIs?3pW;faB^k~Sx1c=C9IY=WlD$7FU;1$H} zcQ`xG>=j^yRl;ALPo^HR^UforYl~`>fMtE}#sy;_geb8;sNqtj%J`~W5OjR8wkt5% zdon37JBn>ZHbGC3o@S{WK*G4iSzGV`#Sl1-=a|^L8Xet{l<^j7UKnux2me0C^cRmmL7m+e9K( zy;s{|ke-^r|Abz}zgad~rH1Vn-h~kU&A(zSn&WYmQ(KI>(~Bxxr=TynhDv~rC(>mX z_tx~HLWYxG1!8AIJ}+Xg6*MU>JPS91ojKw&>B;A=dGJ<7)VDe^f;iGZELWN=7CQDz z2)X6Vnzv&Ab478kv5yEOL{OiHKW73)4i)+$-6Jg-LYe~AFb{9WLFQ5e_G-odGs$b) zdX}`Oc>urJwhBMC>>(4(NLbReB_h_3REYO4nDs8Z?+&^Ehb2isEYvqOJOBx}W)J_7 zQf`p6;4iIyGV4blxaBkNaJcdTsJ6byvR12jd}3Ht(2Y-hBi9YH&&l{&hL$UK(S-8M zUKLqLrU5p&ELL0>?&q1ZOfPstOQ_rDwM5yg{2M7vziH3s1B^Agf+w~WQ&J2Q{ zt-&z6JVw1p;RVe*!6;g0`g2F+0GlfXjSi;CUy105sP2n%2Jm*R2F$v%U}X2;SK}JR z?{EyGD%AK@?c4XWyItg$Pj{fl{R5va3*4$Fbrv-zL*%QBX}CGAeC9hmGc8sp?;q^= zhH^97rI%4jx?+d2>M&!F1-z?~;$mTt}!=~wzImEcC* zxA^Y8=x&h#dOf`yvZta+_&9b`BC&WVX*)=p(YH^J-PKOEuRw(a#qj^-43_Z&rv|R_ z96<1FV<1O;vMQ9@gvs6N8M#S3B0=n)@AK}#kV`wLghlH+FDKy{v*zYT=5Rl~cpF`X z_kY&NqnRRCf+yr;5U{<)s^!(!V)>t0fQM^*=f3F~{Ivb4*i?Hfe@Wf^^27ilN%)0A zz_gm1Lq=`0BnHw+HM*E+>1)=+%Bn}J#q4XB=zO9cYrYDp?ee>wz?~KkR`hg57$WrC zOYM{s`x){a99Ve7ESu(ODkm23Y0N6+^>HiePp^&-#)cfu1zO+1WiT*{q*6wtD*G=eY}Nr4>RI7_q%C!9?D_vEKQ=C zfAi!Jg1VUCNhjlx6GfoY0dFomLSWYxNAWa_wIRub7S9*-GS%5TzTrt(GY>NHvYjOZzV_CZj9QD-<O)Q2?Y%9=EFNy%`ULRYiEZyyZO+Lzy=;%RqcA}MmOz!s< zQJjkqs%|G);w+fPO%%rF2vIVNTv#Fal%65jklto)?Xuin-V7)3?Sc&;AOGs+#+0;_ zf&_4r>Mgayhmg)wAp?1m$)0cZS19@?K>v9C&#C7lW^ro&GuEEm_ADkS))7TP_yBpN zRjlt86GGmiNy}8+U(q*3hl7m@v{vZejls&Ozs-G5nxvgZRQsoUtH@h>S z(ahcay5LOgoUz7Z`iOyh`68+>JdF6p)I%okU*Q0S^`N6T1)8J== z9oTqy*$8;`X1#;ouic}VA3e7{%k2Lheg0({b3RNX@k~PZe~vD##zeAh`79;~>N&UKv=QI_AiXzrLL2VliTDZy~@D4=vUd=Pu zG->UpZxu&6nOWH1Bg%9Xa|0s(p3X+G51f=zgFY6X4g-o{$Gg?E#e4m#9nHv(@xDgc zdtmIjaSNqfw3Rz`Njty`FH<=l*t}ic0KoLQ00!vW_U1s7o`_@*figrq1mv6OCDo4e zvrjgXm;UD(&qFdxys<2`Jetoq^Hw}qdyp7 zk2ktf?i7=rIu5o`twgy58o#;5%~|*7?&&!;TS#F05maNk^N!jgwXq54{hx7+ z4zHdDt3xDSr{1WhImT*x-)lgdDl{}!9gcN3dgz5#&0OKYl)U~~CT4O--8BE!aIhTX zl>dUkifcE#pq_Eu0OUfBfS!PB6@a;H$LzxmgknupHOHG~?#P<#foTRS9YC~iED?5r*fvrsb(%UBi8 z(P&UpA?)9j3*d-M1IYQWSRanrUlE49*}~!@oe4U`2=~#_8&_lFg-8$QN^&2D97LQ0 z20?+sc=Tf=toic;e>p5V;MYx8t63vVRzPlF6<9OwBO+jP5D-@*iqv#>DSd>>eY2gYRz8`lignFw^y0-bS zR~v3q1Ts66m7(osx%qk}r6wPMWkIOnD>#nptoc^jXGgMR!5-KdfG(X&u6-P&qY}r? zmrEq8E$v=~gQvIbjQ^X^nG`%`k@|1-uE;rNKd945=(T^P+&z|GdTIS+lsVlFmjXjz zVsFII!~PmBL;8f#e*adXv`~!WtrR2RFW9myf8&UwMjUf{WceN`#_{b(>UP+<`E;gc z)zp5duZ%}FnKVJE+54R6fa4Vv1l@`tMax{+_+rwH&YM!MuMl_YcIxY|iLPp1R=>_I zvmY1-lP`0}@ZS~Y=3n^Y>v8PX!frRZ4N$e(c-msq6=@>JM^I?LR>#I5sm6jWei$zv zm+BpQL}BOQhU~W98T>MJa2Gi9?8N7SFQ<~^8PNj~R!{I)570s8xbN3YHyK#xVZF&j zeDPY}*1Z@VS&+Z(n;mGA@iI^k&`aqK7iTsqogdH}bv1YSn_}jJfFf7OIHES?);E=p zfjvPnvg^_3yVsOQI>zE`ubaf!G zS=S5FG67mK6#Y(3o9)wZJH$8>_l~6F{NEzk0rY8qHB6f|J3<0t4IpHKq4&xou3(Cd z2=yCRaG17|_8Q0~(Ra~tS3srt{cGu5tjXr>@`i&iS4MY_LCcj z?&doLL71g{H{VasTdxK`s-46fU7@7HA@M8JI@^EJ$BP>)u|&?iZ#F0Pc-t3-t3b@% z49-j1342C^s%P&j>4C)9MTSVW9CXiY2YQU@I^42)YNNH4LWnz-xjX(260+ea9)T&f zP*K`07D@5((vBn2OL)zq4EoO77EB+xhf!jay%o5EXC}&#iOS;w2FMQUC`Z~h>kts9 z-5n^H%lUSeZ9%2bmK?RMVL-T#p|E=*-|;FDfk^oJTd}YzrX+)gD4S;9eaX#iOcaMCQnjAYLW5GIe~Y8M_1z3NkQv}t zFnVjY;Qy5s!M#4MF2K;~%&DxVM)JKuXT2)SGx^V5f_MFk&YSW`LdhK(8Hx|-A9{3f zam6vRB+pYm(}}X-0qF@ypT~s4*Vc&`1BD{N^8BzAx{%RYpvg86R!^YD>Y(Ka$+p9^ ztXKww?I7qvHD?|$I`2B>X!Ypg| zrWDXsf+0Bb?oz|yq|HCIbFFylM#{}ZP1F9G2CK=*jQ|Es6A7lJEKIUbOx&{H#SfQy zl&+*odkU7Kzp|^e8xkgpV#ogT-G2MLSN58N-EkabIY-U(zmzTkU|1Z-9h7>EMhNsB zW$v0lRT^BiAKtSl-a8WAPvJD4<%ZtHN&i`v++?F7%B8{v}6r zQ38neF~q+Mr%;9;vsi?!3~ohZzBaM%T?wwyaG5X%ku?i;ZFfDdpM8`#+`WH_Z(c%I z3@C>$2w%26eu$B^J4OCM$Z4I9;}ZwFDyBQnPF$mC$Ia|<&p@*?(d5%6oK*eCJtHgL z?#ICSD1Fnx!iZnA4iz4%F{#5dZKO`&xWT98`(PLI<{n`zj~lVmAKjq&f}71?5Hl{s z01$os$c+S3Q+7@Za+bx+j`)oet5|KcpPaW%^T#+W^tiHz7dICZ63dEw38uxsS`Vex zA?mN}Ey0e*paxhxow7RQ5I|RlnMQKSk?{GCXb478q0I}Zw~&R3?YApqpi%{bKyszg z-B@#B`@pJ}M*3Ggq|RK)>TxfQN@#zAyZi+oPzAV;J=f}sng991?vTe-Dj>LfCt7Cd z&msW1cnT^9CG@p7But2oCe&#{Vb=sV_=Yd|a~EG|98KsK$dQi!96TuH?1%kaWO<_E zO+722TTD(>l#E=bKbr>pG$1P;Hv=NeB3KfM;8Xyihrr#%3IFpf;RMR6HE2Fcc)e6gy|GnE@l(BGi3WSp#szC2X2toe1#4}Q@ zGt7kP&f=P92G{w{*-*aC^p$^M#5C?C9!J`_r1-~(Nn>NX!RjyF^#g-aag(I~hR9%4 z!~JB`WR zNDb_Z-uIjjc)n99KQ>a#{zBGKe$7y94PS63YfT5a$i@ku-J~J|=l_!wj)%aM1eTFd zXy#A|^-)-JilssRPq0MEue&2cB~{=%JytQ!?0(UzHj@jiiaXd_*gN*KjFCs$KnRig zx=ioN=9Mq2tBY5m`7*S4B^^N~7bEDkwPFbEu^c$6JH#W=X?a>2dW3=EJ5uYc=6jR$ z9tO2ez&*@vnnqThhlNF2Qj6ltjRY&Cnu%U68~0dgR5x4}r#Uv<+GXqMf>+WGv6TsV z)u-$!Fuxq)k-s5#kuuO3u$QjR2v(P#o2*9eK+>bg2L~f!b{WRmcHH@_I~bnzl_+Sz zkk`J8wMl{RRv$O;C)9Mf+QP*$hW6X~kyJv=f< zOKxl2;NGM3H)a<=bKFZ$DCxgG#Aew|g>_5)y-hcLPNb|qfCMAib<3PX3KT_+H2L7m zQHIYi%FN!78&$US#_JzkBG21`+D*Rn7oXICkfams!p-?#wlUV&tS!aNi%e$!gjGO- z#NYC*^+-g^&H;J_R+HmCmS!Sq#)(}_vLG`VchE>_e=WPA!PFQfdPIx$j3J;(sIy@0 z^uLU4C{RezaXd^`(fc9O^fYYd&{%gLhoFY0zcrYHKN=a?Zs{}aMGeKcx4aUXu6ow1Hpv6SB>6mUyU`q3NTMW;E8D z=>dI*c12;)s*Z~Qc9NkZoC!y&EmO2Yw=Wy29EmS>qHDL3dCF0>xh3aG+~%Tl$B4z; z=0;FtK7{U(2eZJ0^2l!pR?&8#YLV`F`?!2ULyzgc2s`17C-PBs{$nL6VWZ9oT}f|? z334`rPKq0lX~Ps!>FQ~npAx|~8bR7!P-;S*rdd6}3;Ipm$c;tCMuJxtn4$T9X;6>B#M9L5RX%Tg7RrdA}PFzm+C?XHb zU8#ewhKLk);r4P}O`zC>`oJ_$u{%u&r&-^(t+vIQe$h8I(;9ANH>MmZObA{w!r`VR^Lwitl->*KoJjsdOz7 z?te?OGhu`NF{`?Tl7oOhnBQZ+Q_f%ocPTzqa<@idr4F1#MiSB5KHXL$G6f%AHQnPrsMEPWLE;yZ9Oy7 zrt^Jdo*j7gH6KVG@ysm~n{&Ixba3nl21tkHcGGB=)4r~DMKW2B6&W zo?ui7Hjs(l|Gu4J&r*~q)9*y%8T*vjY&^9J(^-tSn-NItcKql)rrdD#wuP#DWj3*? z$w6yi4UDy?ho8n>s;VmtG`NS;W-b&|5Btk*VSfc^LDgFsw7K?(HR|W@aN;HfEtQpT zcJ;Uh**3vbLJqlf{*5C&VG(Zn(5zl~hA6p5_7qg)hbl*ZhZ0BBkpzM?jm0+ieByui zK%AzbdOLh176KLbE(JxN;vnxE@1p=YLV{HEU99zd?UL5+mR0|+g&`6&e-MkC2hYv% z4f&6+pW_7Ob>fTcYfM1aZv%tel-pPj$~RN+eP6pVo{s<8A({`)t-BlgqblMLbUE+? z9{!cuacG0N-vg3O^jUg)hUW8>Z&VZ zqGwF?BL---2qqY|a4=Q1kd^a+;kUS(E)BnR&ZaPp?TR~q_ZQ-lxF4|8(<#oagS7Uh z(6!wjaB^nsiD^v!oB~joIfPWWh-L1P1C}ZH6dXee0w4{pK(MaCJKwU)ARBEUXmEp6D>*30$n{ zqGu54s^Xs95e+^sQt$NOUt+Fhs{R&vPxIiKOo>A)0gz-Azs;Hg0V&B_M_!Rw`x%#A zz%nLd92=Uyg;a%c5i$8FT6TYu!|)5ng}C`_MhEM3ZTpoKFrGHBCZ|jfFrhRR4#)5QX!I-`Pb>T z$|rB{*~2UWoN(s4FEylpVa4Q|>7#*b=eIGnWna$ng-SD8ISqBZeV)%M+7)17bsP`h zwr6nv7eXN-RLn}aQ@THKQ74ywkqb^NBh`!Mo99H}`2=mz{BEoD?;+0+;pHwdRO*ya zxh`3TEi!-n^v2GszT1e_CGnLh1DT)l3^@DD4<`2!U{y2?v8S(m230ulR@{9;E8%lG zs0X&4HW;#IDsAb8ZBZlbzGOt*CyP)8q0UsjgG-E1f155ONRKfSTkUsdovc~uhS5r` zJNT*3=e^+5dRmU@ZoI+k0JYhUE@!OMpq~Z~-E*;`f^2D-wEba27@LY|^!O~t*ZRv^ zDm*%D$)Yc{Q!xPrHOLYcceU*tMO%C0ev#VA+_aY%W>?9D$s1JAEOx3FKc@>^I`z*V zs(@ETy5i-l+)sXYs<`=j$%zu9u8DqdkNMcrDDv3E9CCQKn-Lrr-^!j5p~B?wiQKOJ zw>_nGbU3Jd6@|`|8bXf3DKqNzxz@^}F8(T~$`|TD)$lZ-{RR+bP}r4N4Z*!kK`$=N zb)9#s%tR+Eyb{|Tb~>O?P>>Hc)`$B$H(Bc-Wpq?oMoM$0TP!x{?CEZ*d_=`MN#|@% zUFB*0g;UM?DVup}C6^W1d>|k~t%e(85c>9LrK)o*gcfw| z;&q_dXIlXg2a<^QrrGGhPrzI92WqD4xHdTdQmdq7f1McDOQ5q%3i_SOP$WU|Zw+9jY~#pRv9!K+ zE_W#6KBQaOuZ105F3gTH)&tYK90L3jd2Eo2ch0h)MmBD~xp0t;pU%n9sXHOZ%~+is z9mv$~f%?<5D+&hwyvI8r;Px<){nXGm!;fyY=Yt>BE99bN@fa!oZ}TFfO}dq&wVQ&v z)3nW)IyXzoh+vgbB8R+>gIKEl+#GL)uvdWmR8o z6KI@TqN+R69D;DM`uyui=af_<`C}+sX+6FuG%oL%=z!a;szklEtmK!>2M34vYsx8E zuk9r5r`%)EhOd{wJjHiSM(JO*)52}VVkeZb7+pi_@Gni{4lia6@Zju*4SOvL&L zK&|us@ac2LgB4IS*bI(ZvbuO!xzqWwwZMe_z~|iJ(w_R|GRMymtD=5BOizBNff580 zGVeUOg}`ip3XS+!!|RX|AA%tSjg#+-u3C|k+39J6M!(bI(rU5AST3O4VLjwT#GXZ| z6vhEcYhxxeao(B(&ZlXq`cS<`BfAW+o=X2vC5b;re7ZaoeZ@B3jz<>Gx5SkyAhZf#+&DFl^83pX1Tl z;w}-e|BA!kt!hi{J`A+zhj9C&5#{d(_fVnzPXr$A8f2O9UkE%4 ze~REE^;%S`0Q9#u>Jg}V`z=cFh^)UxF)*>MsttrVqjA#)TW zshFL2+Y)?_vn#uIO*v6p4ii5t+UTtn^~8TSl@R-!dMn7h?{}inBgg?0Qy<22h!<8c zZ!`TzqnfdJ`x`lM_{ZA@B^1O(G{5FE2_zCIcrPV~kb83^9@w_ty*ScTxb9cQZOqtU zn^NvCY~qQ9;e>K#+q{j5#?DcqE>RIXx%97kg(9n zSwvtEw1Gy*D59J>)o4Xxb)$@(gYdw?nOYgU;NRMLu7$J1lB zSGwfKD!s0oJOg@3ZP&juyT4%nXkZZtQO}b>fcWq@II+>x2Xdba0g`KX34d7ow->U` zu3avgEhGS^^+R#KqGU24MCK!CZH$!1cwo26sgd)#lxr12q+f$zGrWV0U>5?k`yodJ z$ORe;GUTM9o=@Y!R=*E%L*S6Bz7VBEBQWE%aV7ISv$u(p(9nbVMRz}W)c$T)8XrXf z$$}OP?K_A9#N%f&Z2H9g0!-&v6(et62J#PH+cbC@5E8AbFSsC3 z%1MO)sL_Ajs>CA^o-Z{aM1~Qk2bQNBo+N)5{XF-X;t6SKenMx=s+Gvj=Phw&_KicI z`8=alO-}haO&fLH16|}~^w_AX%IX-InffsN(bMm_BEOs8kFx59(bVIIS&;3CBQiYr zcrTC`-Fr2FLKSC?jUN&wLQ5Cmw}bj@f_o*OLwY=oZSB!+C)k==sy`ThXO#d%?1%z*9a*yCNt!Mb!Y{HX~5k@rU{Q}Bw<^G$uSu2>xa_) zfg1Gefc{7%5Sxkxy>C=7yJ|9$zNj1?8!NOuM^;!&k>6Y`9hZU)@QFE@1V$r2sTpml z_zkgh$B16oPHZfADfO!8!im~Y430WTRb5I@hyH}2VPdBHcvGaw_g_~;-pwko7qggl z*Ue&uqn{^7HD)K7q}c5Wl;GgiUHv|cShE$9xheDJb}k^clntxn=!x#6fIA7D(ew?% z6Qz~LQ6?sSJELFn+||s7soVFLT6iRt14Q)7p%7C|h^l@JvZO(n+sO7J=ND*PMP^?- zm9LB>A{4nVd96tM18>$WXV+6W2h~uDd7oDY`Q*D3^n=oza5GcSSoI~LLh3Yh_?U|u zYKL;WtbWOaq2W^TvDcJi%z1UixSs$Vu-(dBN~XY|6-8DmVgChD$KvI%$!A@@?ph5z<@Wt@wT$Zro$6Jztzhfi?;XM6iT} za0*2u7so-2Xr9AwuPpN-YIuiN8ag}-im>c{=CpT&;&?|8R-p$BfA->^lVG+U&s)`D z4yASiX3?0Ar2r7hT_4vw`wT#c&+I?qD!b!Uy@RwGk1x8%KSMQuM%wFO)}c-BC`EfL zEFbEO9;`}T@D`)+Mty^{X&%z2;ynsD-f@DA>;BYtEd$vg=nPj?vR+^s|jR#3J zwH2>vO3&;Uho@9--SI$|+j3{;HhZqHq|lMw^gmk=U&d_w$*AJNR5q5{xSFz@WJWd# z>M;(1^EsDnh=XSJL z^W`KX$3YSPCrHLGFoTUoY-h-k~I{#X}pYbu4Y&!Q4NRQk%G*~$(Fnj;~DqAGJ z#5?-nnBTPC`dV)8JbGUvhL5p0xSIDvk2D6%xcb#TxwhYB>D4vVPj4L^m2>TgOLuCt zs(;>g#USW5eK)FkW*Z5oVJZ{(=12>XJ(6ExzL%m1HkxfH>`f8J9|CF;!!3k9^9+WO zFEqQadOP3o=Lg@xqvd~;!n>;)&_2g|yzD?no&c7wh#|vHeFuYYOYKtYT>R+&@c!<$ z`O-fVKF@zskT-QbV3I`oj*;mZVe#ke8<4c-0wBYc5bop-XIuJ}9F8*Vvgb~aSEN{I z{}Pt|F!!Vibt^Vs$M5t}7?l^+=h=Ld58TpHQixy5WK;FJkkV;SUxT$Dc`r!TBYHjH zio}!`4R}`6Y;cq&(~7?{JHnYa9y(ut>8b?T+5F`u=D8(IZk6;U{R^a@<_8IdsGB4V z+|ad$>xLf%Ld6dcH^*@}tC_P8IU9%ATv_n?2J93Sl=cg9{wic3VMdJ2t$zi1m7=7$ zpEXRTV8(05yVnr)Rqwhhv6ng%|KDW&#jD+L%mE^a>hNc_wp%zjw0;C?jENbPC#7)P zeV(proVE;<;y@Z5o!@Jp;md7y+1~kQ8|AYoUwUkHFBiDI$ss3yJEgv1lLcBMnnZk*?>bp!$>qo@?Bdd#|e{h zDM=X%g=pN)$%@;l0QF~1ZxLFF#Yz=#)b?O~J3mUXJcvtsUb5w>=eleiC2G&KCm5W4 zZ#@C}v?|Z-fX5RFg&C=88BuwOlHzH@;j*kJfx(g=TsO_s;3_OHoI)Yc~VjF)}O#?gJ%p_K%bOPw~Y<15q{}UKND0 zayaoNL)NU^a#Dyt!mEalxIZ$6_a)-`l_u)PDr5Kcw#9HF&*d$y4_#&g`!8gB_uJcm z5BsG&I`^~C*ZAx;8`jql59rIHkWxL=wS zDC1L32}I?urv5Hn#W<~*mh$xC6NC^{j{fgiRXh-$s3ja4_PeH#fXyp>qyb@x=qw{)TFsx5OHP7>+Nq02EtU;TvB>TdJxG zV=>aozbHg1xAuB%Y+M2%q0QyE9Gh6nW-B2+xu`y?Ttw5!I3t4puA?{qJW)5HmYr?6 zSs}V&Avtv`Bg5UhSllCsoN+mjbTjXCbcG_|FF+XP8KN*bPNot7tC*xa#(d4Zmwj30 zc_h%&=m&^SciRjedptyaKN;|0T9LPTWe4t989g z@L+vnw!5s{QFVC9a7!FNSGp^D1Izo&{3!*=`<>9j=)H5NJb2Y-X#>1u4w91+Oe_~Z zfSpR|hb!nbZsdNkk=`+<($JN*ZJ4y^v})Z(dV5j?FOA`K-3LeO=B(om$GOX$H>%*3VavAZ>wB#;N!(t{_!5A`tcM8-LeG{kxea_O!6Wi9kA4p{TdP< zUDtj{NFgbeg!BZYD`b(|W>Tv)Dyh1wN86KhIg$%du&J)F9~}7MKOi1v&u^}#LSI*( zIWu_mJq&4_3b{~Gev&C76pekIr%mvrF^I9XGDY@nc!9M3kYBWN7s4A6=_f?55}JoU*=2G9l#p1d-+&L)C58+Yg-Y|L+F zivU%~Or=BH9tp>s&f@)c^Pib)&kfPqC;?6qhNb%$b43niaO{X(kPCtpfYxG>V5nlc z-AX+b5$$kvxbto>!A!XVyT)!O{OQ zDxHi(Xg?W-#K*H7h*9D^*>(Ve+iSzYCYD*>RK{t~C|33(SP-|5EIueZ| z>D)0e=79M=pqC&S4}iRTs_8k-&2OCgImJpvN{56!r5OxMd*D!e2E%o=wipzBMR$Pc zUiZCEE%e#!*J=b!IbSf27e}HI+KuanL;+&jZ@d+2(}DVkbv0o9S%t=NI`%Xaa`3Lt zg$D#96@~W^*VYQ5j3uVKW~k|@H%kSib`<=i5txm-Lru>+td6w5wifi~>jsGzpT$NU zwxwH5pyeFF=xa-_kr(cM;tr@8b*?=GWTt=fSCTL2wPG!wRi7QM&`N2@fDydU2j5n3 zM4e-P0orS|@45KZcNI|p%2#-9fBJD>p*sJDc#=$GO8M#MdFanT(Nn#KtzEfZS?nDI zwJ+iX(>(p4*O#_aL*|r(Y5SZFL4pR=8(r}vZ^_1{4%4*g-|HJzjE~ZFr3=UR=V#zCV@QYb#-+Xc6JgjE}V&pi3p&PE9ad0*y5-HImj_FF|FRe zzhA7YL`NPxpiqLA(MsbaCHm`mMX^%xfZEy;F^p#fTi*!%Eyblr;UAw|!cwNVl(?1il)Z!eDkso6BV;0&l z6u)x`6MFBm@F&f zH?%O=@d^5~zka}jzxg0|ks|$MO2}b?sWT%ZDvkLA0n21{7tWEuMjf=8^uo5?4CcN5+4_pYMMOT119>Yk=5Hf_EW$*EQQ{V zX5rsFZX$c>7mV_l3Jt3Uz(jL^iK3Rk;PJXoAiN^HXP1|1i8~HNn8yw7$!nC9u&Q`( zr(|6z2x31~k=vfq5dCB1Xm2UyAGT8Na2~*Le=*uvO|A$%YAsEOW4-t+u}>!}vHSN% zkZ1w0u5gv=oa0e2xUfcVjB$Y>vuUR`W5QBe%RQ$h3Ugm2y@o0+>jl2DDIjJQ4B)*3~aL zGRG(*X??)?%8pY>)qB+#?a@%BTMmxUn|o|#bmGWTQV>oQBU@?V1KO>Z6(p-weZug@ z%aVHiKc^V8^NP@&W<9W{j;VMJ`>n6<@_E|JPjvCb&Yy!D-bfoR8JrR&@u1g+OGp{z z#RS{Rz=!y=?R`VDnGC-S2`XxE7VmJ?;QW2=ns#gc#e!NvJ0PG8 zA?la;Kz9eOQvWVrVvP}jx_Ml*Iseaau%MYL{GIzAO9ETjf#+6T3mLC++JKgl7I7Ld~y+RP7WC{Tc#Clv~e~fPA zbFK)NSQ1duot#Zc=)JRMXJ`g{Cv0!l0uj=EnTrH;qZm3Koy>%C6oqrazc2(G)835TB&?8$H z{(SiCE#K{$1|h_H9+XkxS{jAnDA4dua=il0wFy*vMsGpo%dCi1!0XibwdDG>;h77d zWL1M`47*C#j;lj@OO;;9d>tf ziRc%=1V}74>+f`DO3p_MhKGy6ZDVkK^BvMq;`23o!u^gkwDSFrLRWM*E>w75KwD7) zs;Czq@5i42tgOKy&FrFXHFYZ4;A5OZjo|mej#o{Gm`VyC{a}spP-9K!p(`!$iL&&7Y^Mtq8ml;W$$wVE&zd z4;#=Isq*!J;Ldyq{D@JQ!1f>vl*vI2mMw|$)kaPWdjipX?m7>D9cdWb_bzdHk09)Y z>K_|fy)$8f83s*)QxKL{|2Z3&EI zm2I(hTBL($KUq9O`A)?a?u=jH?L7tBEdZ9!^q1|J@>m;g!q5QfV|&i#ul^KdWX+yV z0vh6M`9&nhNDtH7>hn~^={auy9qUbK7=$P|?^bdS(8vvN^RH-NOxRYj1jEN6%DqL{ zBvW{CD`&2FdvOg^hM7(bXCh1l$j!Z&zYb*W^+I(XFU3S^E7=L7(=(7r$C27@VC2?R z@;u&@CMv#ZeIfp}Eh=$F($t)Xk2aC0`$u=^9>8?>AWkjA(#W*IGiHuSB`qp*RFly% zVzJvdi?CF{bm02tJb`X!++AfxcA66nS|QjPd-p3 zzOBHHCF@w{2%s#gn(>+!f^;0zQ4UQr8eQ87KYhpu=3DDkcP@>g z8Tw(@kUvEqhZ|HnjQ~eLxW9jxDN7jQ_#B+O!5WBfA%VCJ>{+pHaD)@OvIc>KD&0te zZB@FL57~FSxW2l1x@cM15gq2_-MvEUY#OcKBd@)qJVi6$rCER@3HP;jz03xIun+<- zNJ?$>Dwi?ti%ML-k>)R}16!N|MpkUCf*?~z0m&IiMV)v+)=ItjXg_B8k%(w|htL3? zhy$g0^|%88J;`2DaURcLj=l{4u{r5gO(&R%VYz^EONTK~f{NK#k5dy|dXme+T zHzH&@I+=ttb}UYX(>lEhU++&`!8r+`Fi}T^fYDspcC^m2FtIVVE@Qk$|3GZwow#6g zKTy(jSVkPMKvEjY6qJ!7yptBk=@ZQU7DxDAh~zXv@hM`W-uqTo!)Ve{IvN}PSlDSX z3Y{M}G^Cmkuv4VO`;4v@x{4Q&d~J7x3^EzvvTViV(`UiFha)?WJ`kLhyFVgD()SD8 zRy4Q_bbWRXlH08z2+T3SP;nH%f>28=zS9VLRr-7sYNF%4;khoC&tB`yP>Y)B0rwfV z_=l;Y$VGr(yDizrxvQuo%lG(TOYQ#=#rpC$isf?1LGm9jDxd(wf%SkXh!k*-5ydwo zMg)fG^b{JSXiS0h|INgfK^{T-1ilWQNqYV_x0LA=@V z1A!KdG>smsMRvw?L{|1G6xQJF^~E)HKfURVohs%Dmk9*ul--GQujo8`_4DK>imd>) zb7#P0odlr|{sytD@vy1mXcswDqPW;7^T82zPj8GL@p`OI@u88*B`QYCVt!>Cl0lXmZnf-8s3H<+B`rz@NZ44kj6FStuvqjM zSPMa5FV184Jzh18IJxf_7&$|q6)O@{TN~zaGR4m<=k9@`XVX63bnWH9bEi}?$DyyK zeM%jzHAJZx+Ci-V1lgs&FD1!T z{DIwrw2Aq9W9CsTd1_bDO+9z&HH|(Z7``qW6c&14CB)g3myUui9-cCjqfW`1gG+5) ziV)M10F-E%s$nqEc7MUdAlD$YpI5F(*ALofl3iZ*%eS;XB_h#?X6K9D8r0o&?4f^X z$g0+2+dVotdXei%pVTqy1k_#B=Wh=CO!)uA z9e)7Relqcvm*sM_7-}6BsAp%M$&@TWDG*{Qq4+x;Wl94JSbzE!=4wxJn~KFT9vD>-+k z_Bv_&V=1_}u%#}OH0kvC1vMbriS#xz?DATBQi3vv;k+X<6O&y)q4UM^V^=U}l)u|C zWdWzB#VLpLQz21-1ClUXkmwlwj*fd$Dv2jFUwFH!1@7H7iTd6lD1Z8}YT6%D=OjY% z)lnvLA-D(^i+nh)Jka8v#$rVg`4Z1rfr=LnS}mx1j_eC@h%>FpKS%{LAixh&P$OZk z^*`VM*ntJ^1K9v2@ktI$3Q0=y#e41z=2KzkS3WS-E3t>k0-n2DK$YUbEEZCU!QsgG zI_ZiIRs>ZBvVo!l%Ac?I_5_diw?{q>M~@>KKkhg%^oD4on2C~-48I%Q-M&B1`DwdV z%`}Z1E3(V8g>bw*V=980|Cqr==GdBkq8ws~h+LbO-cuo`Y0?5T{=@`%&E3t3%HG zsWZxlbX14ZbNJ;O65SLA?fdL20}MCe4H_7{xvEQ`Rrvj0)p983R-AX=n;ja0+!OH?BFkXwYrX4k-0n07Ir{_sZR62d)J6vY9q{ATFgqTp?^LMvhQ;R2T-3><*A#cJ z{%rb%?nG)*3i=5;&vV_d#{_=zmXQSk*N82k78>S$&;6Sss3H)u>7M)<{$!J&lK-C7UDbocnf@yibOoB2meuR3cu(|9IEf;S9h^o`T(gxTC6a3^KWo9tGZYA7?ceO*$PPm zuNl2^CF1OfjXXX}JU;@$08A^pb8mYi>00~=UU$xc;gz;DtmS4K4-vl;mWs9ii!>EB zy#Ivb`T|f%{*O0*O6NuaD4l)>R(9Fzxriz2l&k~MBjuLsNZk&WJ%XN=Er>(IUbv@s zd(p2xQ+IZw#LYXrB7f@k#bN^pImOUIfD==6hUXig(#`b}u)3ML2Aub*p%AMXrm z7y$()FXT+6)B$d>3Z7ozAKG=}T?;+Md%`F1ZKUGRn`M?v@|SPTesbofpPz?7WkUhU zbnU>a5g|o5i+qcyz~UC9IG%mT1^hsp8QY>X8V9NpC#HT5ahY@k3M8mN9Pt^uJWA{s z%81skUmX!0AoD;kzIfx?gmZu5p4i5Si-WBtOMYwz2WA!Va(}X6z)y|=-LY>6$DFTx z+hOY8mZaQtBZJ?xD%b%h$+tX3jy)h^P*T+0fjLq;3q8R<51pT3K98sM`UC-RRmg67 z{ti*HG{4___+KRFwRCXs!vCCJIII|%LYt$yZY&dtz?E`cU7?;eP5Ohg0IGEfd8|2w z#$je;=6;Mav}AABvDC3x-TxDg_&=u&MaI(aw~t5T?V0l**eFQvE!$6SsbNr0ZmtY2 z1psUnR5?^}lR7RFvm6fHVIPyRTosxRIQ?4rlcx60(4rNIpzV93%rxMOP38KQ?wE%9 z%E?z-&C!{D_`q@zuZF@8&xrJ)Zj}X9Id-W(3Z7Uj)Mf#OuGb8{c0IKK;q_i{K^W-o{BBRrfWkWR|LR^SnVu;vmbDY-z7XNNpM}zOkDl&arT8}_35sS8 z*5o0yFlG#`l>^C_B6LP3q~f1>dE@;xEHzNen$4|SWE$Fh-~Xp5@Yjo9jqoD&u!tOM z5RW*-wnZ?<5|U#jq)0N%gF8;9Vh9R3X=?#y6}J>XS3kf(QfsZ_=#w^pcW~A&Rwy$0pU_3vuwIPsVX&9y3D@$GG zqt8I@d!XqM=cqcH-4X7Sr3uC1gWEaLZMJG?!5?5TrK+C%pAI(XaqPpaunZAP!(GHv zdE|5C|39|gF}$v}>lzMr%*M8MY}>YN+qSL7jT$vh8rx}XJ8A63e%t%`p6|V{tMAW! zoRsQ zP>qI#ABlxgkGs?83z<9@T%{HCUuD4o?DtOhQo6as|GyDy3RW7aqIvxwec663gUW(3 zj8mALmBy``+BlsNG+`{}XG6+oKogWi+_97cI#W#bo~~_* zySX4-biP-JuTf>A##NhlsMO9Nm#3oWVgd zul&)97hQtIAd7Z`%al+uCHt3YvVw(F9V3sD_O-(1% zg9HwRUdeOd8OVxpZXvXmB~)^JLqXa40uJmoE(+joqymNL>Q?Rls7SHOWwk7uKOrKE zME*hnpm}CNHFjjA$yu*EAXnH7A(O{mFJR$x8XdrEzVTud0+G*oK(zt)e0>r*qGJfB zmsS}|5RsH)R(5wvAFgfjeosd0aF)vYRE7a>Vy%pGYtv)o(asWof+W=NfL2B;ml?ZQ zODIQ7=)B7^jrXgNeS4@l;1zjpRL`-bh{*gMZ@&AQpwdKTJA)slchAi+J++W|CSG8R z59#5J2?-{bv5-$o@;>uOmur31xqpqOo+Dxvcs-$B@0>zYl^i>6edD9IG?fvS5It?H7KT! z66{cAvBDGE+I#FjUG--jtA5f!d@b$oEZec9>44rXa2@m)U4kFYV1mtc>8 zN?pZ7AfC@_I8`xU-c%-VeE7Ha-vB;|!etc59ee1>O(zC|z}Zy3y?{WOf(q645+b$P z3S;j!!-_aNNf)6kWoXno3a~tk4P#>7dk%%Ivf`?+I#AV|lysk1m5YlX|7J1PY^_s% zCI?JWF)8Eg<^#a*fy5;z-v{6Xg8}ZwnQe=6=~{e+3|bF`fJfB<+(mx_wAa$&SoPH>(PL=BS42CM37ZeC7R2F zvSho0;`b4ri`F&~SnCsS5{w~#gwz-%v%s9jpATg$132X{@GL8bE*7neGQVEOt&9=< zuK6>7Zfa8TdXln{DLZ2 z*33lEWsgfVk5#4$Qh_DdZWBN$$+7Oo#!i-YL_NOR>t30@%w{AXQMUxwlR5zKB!`({t@S<_&erD&{NxA_Kx&d!%_4mDBGXyW~pYc6$dI&Fn{my@Q59$-C z;`(Q9I!ZH@)W)#HJv}NL(;()t%=2}>Gr;|no17in4Z+PqE~ih#nTbV4Yg><%^sQ(H zYmSPvq|w7EXj5dwlg4yxWX)5jGqmB$OsyxW%yAM)<1XOlKAa%_ftjpLA!v~{qb zacfsPfm2dH30Oplke$@gqWE0G&8>FF$@supwbJV`#QhG{`*3~HwX&8i4=0X2$s<4<;a3NWhU*ji%zA>*#4U8SFm0A7DzX{!moO| zerOsPb`Y%SK5!{1-#e2%@CXuU4aSZE-nor@dQQ^LHqZ*Z8lf3iQjAS%G(B&ifGzH0 zjD_p!_p*-b43tizf^b5Ys6j5G`2tR(diPs~3$7K_ z93gtfk7d$BtNnWPnuk;ey@)<$B`_C^5dxJ)Dx3GqdPoLB#;v`=MbCe;YZggEWC6mw zUZrm||A5JFcD+BzKs$j$NGH6HH)Xe}{pnT>3WcRQi#`MIQ;Kp(7aL*P`;$Q|jEoo(y&WFHDhoF7ajF7R*kn%fC&`c+u>4g77KW=hWL>REK4H4Epg z!WqZ1!>ktChg;7!DtIQ_)HOqU3_!_T9w>wlzo{}G>#R8NOpMoyQqpBu z{@4x7C7LcV%m&=+RJEnOXgG_nC3Wbi_wNKT9^}33Y^Wu0hr$&$!j}D%jC2_YTn+-a zsU)w6)KC+wRnQ+W`@Wq_S?AD-cPj!6@GAHqdWBtsbxS*5`Cj<>f; zo}e@l!8e%Zyd&8%A%RtPi=Naru=Vq>#AN8I3A@-8r9Q6qYs=Y(#58scLVE^QeR-+a z!AcyikD>E&!2)~XBz6L2%@eb&5WAP_#idwZyZ9J#+sh%1FK0HrJM+oVHbO?yTD8M)MEC+<8_7OGYS>wNo`* z5cu*5!M9qeR=W5Cm~zGpV^n(d%lD z0aG2}d9(&$XI6VVNTG(wWS-zcstc^fLqDCCeai4mQuYw$zU3y4U}g*gmMgdQyOWf~71&U`9dL_aj**p7<6KGG0?BVT)d8!z zid$>p%M4&?HeKMF#({0Vg7=_S=^(lg0GPy1!8swKCos#f579Y?F=UrZk2MI!WN0et zhH&$itxbTP0#nh?^GB!AL&rn9B@#c`;7vv(#)J2=%pm)h9vXLB2Xx7zKz;p;NOmj7AG_(5wLE@=pfm?!BoLx% zpI-Oq1PDvX#F^|@yS)d++jw_V2K@$X*Mp^a@1T#0^QrNhn8a{j~UN+q+Q@BFb^JnnknBs@6CanQ(t5Mle9i3NQJEf9xFh-QW;ygy7=t zeaQfqH0{+V$>$NQC^zb_&v51;{+13;u9Ykk$^X}9jRMF=st`qDTIe#nc#OB)YL1v^ zmpL48q^qL2mfS=!x_gMJ>B)F)d@?zFca6qL)0WnM1TAky(kM@mcN#_CYQxr$tql&@ zYb?a@6rlzPg&Mkx^MY58>iBvQ>bAaJtM#Kh4Ak9{%QMYBizeTQgLl1OipSc)_s_=+ zNE!*g+d^%2kTmg8AVgBLk&<4TTIb|srfk>hTsgh>>hE0S&*Q+8KX~Lhb zZ(%+UwxOexLcC_E8`H#GdSz4P{YbtXLb!&gl|Q4s0bhD0XsW&LW81bxJB~Wl&d942 zG!9eaDeR=N%qe=>91(+g9^CGKYI*?y?FhN)kc)5`08om>E+r~B5`A4qy3HIf;*5E| z4F!oqldOcjh)eziG7pwt!u%+u@JEy(a|GB2csZ#|f|;UEl| zr7W%7g_va|<)lP8X-T(X`#$2nGU}|VctdR33$r+gP=%11J2BH9yFVheBbUPoE-+va zpex5>UwnzHjrS0~8;!KC3wCmUqn#Rc6A=}f_=AOF03=Fj*^Xckm6kJ`+U798eAbkW zHj55Z5V?m9BDloR_6X~&9JhS>#X?@x()Cj;qib(W8P#^@x(N&()pv8DPb4xvWy97j zgSWGo8Vmi6c44hh-Hq$GGdX1_e|;1-5c>9yW$SAAUu)aCpMGc984+aB_@moY;}t^Z zM;txuLuy(*ysu4oQFa@5YyNrkd~uI$T&2GJYv!CouWx}DSS+4;aV0<2aF)7V_TK~2 za*3Trr{_q-NaT$uOMWPm@@ar1y+R1JQw!j)4^ByV?Mnk{e?U< zVI6T0yA+XaXU~Bcl?+$jhieO@vxKx(E~b3BB`dbIP>~~>Dk$BNO`1@MB=q>aeM3LX zd1Y;zeyi#s$7!;*?oMi#xG5`wEHxFt^?BpuI|#?Rqkf4icJzOg(Lp%`+!+TM_92r) z(x=xJgf#NHaKSJw2mnWOFYgjeBSoyD2}s2EwdvWD;KDLXn;XN~BG*u1qgWZ-5Ud!~ zQE>Fgmr+m2lygPIC&lZzPRA#{jN3I`N3jsg^yy#z2srHOMCRTkv)wG<2TbgHouh1G zi3XN{J+LSh63*Oju%9@$pyA2nXM}_F3MVqbtFb*S+FUZ}a}LVEK&dYn{E%;8!}{G_z5HCON9@A6iRR8tGRydwK?2MnjUnkN}x`wAq+L1K7>(+1xdWQm1IJd>xD zHcAA9H!+GBrC7J5Gbx=AE6yD18g$WhT|q51B2r71%loc8K(Rrztte_hXgw7>$OANQ*!b^S^Nv`^^* z9kc8?a#*S`W0F8do?$BopujPBAQ%!VQ z(6hMOBY)~QMqUKtn7FEZz2pj!`ZM3_C=V@4BA=Ouox;K+HIQZvL2ifBLL%ZJkBv(^ zoaOcqyin{hWUo~R__b+l*%-%nKx$rseGKxskMw`&YPXU^dM6f+oDFgm$7OiSk&mDq z|8@n$nbbK+QZh%7RWn!|RAAcfeb@KPAYJvyru03c$MYc>?<_%LCd6MCA=A19WjP|z z4nt!!X+~9haEWI#&tJe>N`zoqu3KBLTU<&IvIpkZ3dW1Efk-C!=Hv401+!H+ z->zFq3QIgq=6myMNDfn7oEv8I|MEN;0O1cyKW@TMCPMyer(cN3ua3_Dmqh@=NF}_) zgUE#nOr~}`?}y0z8BVewX|NN|AkbTHh|_o|foq_bRYPnemN=tSl+iR)ttC3Kf@~(` zA^QMY$F*WHopZnUn8SijAtP*qj=W_zUI06u{Epo}5|o##r#^hI#MfpQ;&FIh4La-0 za>+S|*8E_&@7gSqy_Lt{r|v*?Ia3)Dg6(R5Ywoy3ei@qys-@cTT1(rB$k{J~gzjp` zvC_S$J^lfp2v>=?3+@7;?)THhJYL4E!)c8(5hwXpi!Y}kW6gj)(W!Y(PYU_K#uD8a z23rixk3zc5F1`wy<+iuxnq}*~Lb~CUWV_DJn$oTeJ>?Vj3hD^oZmNy@ed}R?sr3TGGRz^m(fL~Dqz(Rg;}*2i4`Lay53nh>AP_cXc&So zL<`|G8q_%k=Ep)?=o3ifjGe#i315dU3OQC(QeI z1|OC*h)=K4&WGA?&50Op^w+(Fc-hm!wvlL-RTjb>7^Hj9tpxo82#^laif$@w~G9gZaC$@z~2gevo=&*{vit9VJi7Onqb}_ z*>C6BKUI2iI7tKUru5OPg zmZhUm8fv$}L{yl~H(O`me21D#$#xoUtPw%ej^%ETQQuARgIS(yf%a#E)R=1S+gn1m zv!JS38l)181z%Qi#gjSUoIXjb^HQKOmv`;MRa8>K?IFh;Fbar*a*v5zJxHt*GG$r0 zx~={YGwRvbY_-{Ngvo`hleQ>00q&v+G+n6ElCx*@X@z$P&VdXn^FFew!{fj;3O$Tq zLx}CXA3kh8#&pL9D?;J#D(0vVcz+`cuwq_S+xy>HfJ~3BE>GLtpC+%%b(%Fe(uo-$ z#O$yog;+6bw2RUF@f>{|FP?LvQUXN}|6lW8}*y<#*M-{O0f=pYi%I45NCI-#wd;nqeUtS zy+xk=F`AQ->8ENvOpsmUNG10lVG?bPYIpvW1Vfi;Z&+T!^lfcFj+gqdt*%?FU_-Q! z755gdmPoL5_q}uF7zmzno_L4BovsWy4c=65d^|#!tY7j@Mg~Lhr2JzIs34#r@#MGMVQx~3t zv7f^kJwadq`thP>e*d^Lad1MQH%N?h0;&&)WlowJAM{+Xl;WA@h`_LJ zt}0&VaYQ)#=AN@dArYw7x!bkZAM?`u&TU?g`^g;@7_@qZo$kPvHMmQYDbftIkWilL zh(u(#syYbTRT%T{f-64Iw8R*}{uerQ;cJ2ZU2s4c@m-d!RS#rqxBf;iO6AKA&@>s$ z-p;ScNIt`Rn!-5t6Y>2WXrJU+LdY0xt6{&6;P(uf_)D@=R*xDaWH)!*FAw0`OpP_j z9Iot$&k=+5{~5rD&c|MP%7;A{))qn#o>Prg8g+Er&=w8jWvmBBtaF3}d@U}xE3k~L zP|1IAvbK`0-%a%UW z9mGk@Kems7dh&tLfA=WF49T`4eianPissDjm6=$YKvI%A4P-?rmFzvYtkN`NZcKh34VxzPwt3KllyF-sq{?O%^BU>tJvCFY-9Vc-Y3#4t-~fp_#r-q&+eACDubf1Yb- zOXQ zl4Y}KdPa7bI>(1m#`g)U3PAFyRCAp7@LSdxERC#+h{6zGT1AZNd-F9*9+{=wNVIcw z=MN$w$2g{xqViHwTO}@l)Z$qnHO^>f0R|*}WR|`CVkt|e*xgguChZifo&Z&p?6knK z0uXGkFu#cz^0UwUCAUBEArhOYwZz}Gf)G0Pr(DoY5W_^!e;@g66;VT~T{QdzjdN-O zY#he7p-p1xFL4GVEnuh2HK3s>HEtc)7S+SAbrMWmoiO+Y(6{)X?|dk~j`N5F(6?O@ zwScK1N|-(uSmd>qSs`_~n$o#P@aAzl!KMtv(6?Nih}?WXo7>Rs+c8JCyeFLB$@m_+Zs!1SH6<-re^LV#n zdZHF9I`i09l%BRm4?+m-t+Op$9=S z)I{vA#4mcYeHo&PaFtd{>d6Qvo8sMhAcm7oVd*F<05)7yFPV*Xr>Z4d%Z?pXsI|>6 zk=nbY(VJBMl7Uzp!&nT}g8Gg677h**OVi=a zIlflFv48lXC@xx6>Fe%xK2cN;6)_{0Q}psad!IoH*ku#kj8k!PeW|cyY)HooQA@?) zux|v*`nL-QTWgAjdTUJ!j2^C5LM2I8io`lR&a37W)2}R_5Fe-8_~De-q?$R#qRA5< zFhnZs&gx+GhA$7)G4}w!Pr8nDqURhxG+Y~?b(S-h;2@rMie+nUX^DD>1B-G%#K49* z(e{&Q7Ai9nB!vwJnl;GlB(^S73Uqhl{No_7kAXc`oV^v-;eB&$OG_XXq(2Dby8QXA ztDph@vt3)HinB`%TQ0Lg6e=>b(>VVxrY_ZA%-+u{4W)L<|FMa|9-xSuTYItl4NBL; z6H@4V25vJZS>^EGT04vwg_xD;qK2DA$~QLN$zD(d=GSz$EB)|Se4G>$)?rqXua3fh z;Uk%xQ@g3w;}Z)Z4RQ@0=;d;7cnt-gk-@0hqp!s`^FUaZ$Etde`rnSCM&7g=c5*@~ zs)aURhGk?THg@1N>C`}~A~u!~jMEZdjnJRTO!a-G=>imEUaypEDgB5KbJ9Jt#i%W) z^rNMa*5p+WrWtTj^!PQS8tPY_&9Rm8^b9Q|WAul(q(Q@LZ5 z=p)f#g(DM!AH^F$KpD1K5_pQhrOr}k99W1%Mg^;H0WdHTLi?cY)*(M6czUgI3^TuD zPQJWjN@jpUAKYhW)Z&)C0~|}hu2}*NQ4M9lv=PCB#EI;wQ~Lr6?;g+{H{TI57)IEt zv$ZR5d1*yt<${%c;e~~5+Z{{tp@pqU2BP+2(Y$z(!M*5)cq+v1K~j>VlI^&Szrz|Kkcht3=TS{(lIm4JUhzEc-Ls#xl`M z1v8WpTa?4Z+2L%`LHAnkM!JD~ZmeQ-L02B(K?b)o#6a9Xt=gVj6Js8y3I4D^G`%)2 zi+0%e`EWqtyT%>)v?7+{{7{bTGzCk^is)O*19&RtaGU}|U&LkLV86aCJfnlmL5u`m zBPXNgvo#UjUZ?{SmVyomd%Br53jIf%eJ@4<1DqMx$juBtuHP?^t#QGZ^WQS;%^{+OR=2He- zBe4@|u=+eG!6l(RWGwV+FT`EPbiwB?9Km8MaT9W(w>OEP=BOE6nWI=4{pKB$=;*my zA8-a=+(~EaDU7AsLcdNBpV{nMT08CR>!>(3JW`>F3GEggKQ2aqI;st3P{C|v9150; z1ge2i>rxZ=*IYkO7)a}Qc#D>?{TaE6>ros8W>Mt3t@-w(f%jTP_-;!c&KCnSYjru1 zoM)6GO_F=g)E^D}OEp-ZDf7{mqL&A~5^X~;4{@yg;^QQawq-L8CPH$WyVp4H)s`CI z_>j`whtTM$&ipdT5EiW>kl8v-701d-@0>0(5eWPsGKP_gJKA)7n7XiOyRawELZF@G zCxIb_GN1pQ!8i$F5;^yMb=9&^|KW6V5hF)&?l+A})LOTKUn_yR<0I~EG!8x*ERFHy z3YxRS&HuuI9=S%QEW%a5InAb(#Vmw|U*CstStdTbjClC^rDw*ugY$qHZCo?BT_aw| zx&vCtFcBTmK~bbZFVKE$>uC1MKZuZy03wXMim|=IsCpSN#8#V0{A0@!yaKb=7k(80 zvHL6T%W>8KKr#C^Ds5O5y5% zXyVL4L?&T4j0Jz$g*A|Lfsf;wOa={k7J?cVWCl>OR;;UIc3T>7tO7?Li1Qtgh3D%U zvR8wY^!o~fXPukVIVx%UIs?ZyYZ^tJj$-V};%Laksh1i{@GpRa!)VrP}(Oaj|drba+mL*MvON^>@M1goNY%E*4- z&_UZ>E`3wH*OGsVx%n`DRFHb>`8{qlY$Yf$s zyVRI*Q=P;Z6oGKYA1fEM>svnld~$-47-B-xW@Q_2sIBHGjTj*HXG-0KH*j8u$Rb7N zf7{hJ!5~p8lQCvRQvcY91^kh%_41sht^+p8AuW4HW12^{BC+U+aBF#jX(i@;zB{^9 zV&u?=dA_qt9fs_ErM&o+4yCqInF(>nV@l@HVBS(UGq{A4Y8h2dh6qqZ4afJmAla*s zvh#D#j*K<1#k=yBO=MK{5d**^0#nKXU@Q#gMD}-IBver~w5rxNmFQr{F19lcv$nCq z{@})~d2S2>l+i+FKH?NTD~)VdV9qH9HKoDa$D+phK!6X-XQm<6$w3OnM#-tHo&q-| zpsPbKk)`yq_N&nPTmUJtj6#-(i@a8@#ivrbBWii3MOihXAH?fTF8Iv2)CfT%f?*;( z@gpvEKp!AlK>Mk(#HT8GGA>csD7%1t!LP8*)j?cp8OHGPyQx8%b1$OXzT|(-K~`l; z4pmCDpiQyI;(G*=Q_$W+UBZ6293?&DAx)0T!5|wt5Gq&Jcls4~O0ksp^bi`Uk*<;S zZ??z)fP7y#_00tSqY?P$0aBKrpaGyFR*79l01^>wvSseqh?|c(4}xtsU9;zasnoRv zpE|NJIp<4YJSva7H#Ce@05lA;GzN+xj9XBcqPrGGJq$V892hNJ6e>~g08oB+!0B^^ ztxS`tOucuyJp+r&f*z*6Z|@iSV!6d7x-b(98y)EjXyajf zI=`1r_o-H_&hzp_JKJ(9qSpD_pD#KV0i(&9;Y;=E{RzMQh@L~CrjpQS<5Q!h1L!CT zOpljQg(o@kwG`N0FXHKRx}AUCNqX*>j~_nFsdtXhqt?gqz7`nM{6)4<_jB_}kxbNs zS7);Q#PlXK@sY|88ql+EwAnyO2R#=j`Qf9Bg7RI+xSrVbi%@>6GY{+A?WG+kMaK3j zbQ%CY*|avJ9Rsqjq@Rz1^ zgEmh~`Qmb-Mor)ZrJ>Pn(Df?lpzZft_{6D_QMhmzj|0-0{lGCW-JT_ zhSQH6*Sl~^QlhnPJ3j{wBXH56E1TnZN^lg`*oxEQK?a!c_~!+%aHrMuY|tp@Q^V7@ zTV;XS=xrcE251@vRE0mO*jk=5jaMpA(JA(jg-fbt*i&1c?|7PMfb2Ko@x3G4x;Y4) zS2vAo4157S(tsdd_=bE8iTt@IPX}_M)!0VD;gqd?k(NN~nwe><-bn(##wB_bEU$AcHt-}S<2C7R6?3C6>*M^PC6+O9IC^|v6q#B zL{QPql69!*mw6~Jd%rEY>a!CDMlXM~H7*l0mKGX|%}mB4@%0jUbG3^=?Y+6lvvcz^ zIy(AK6vo|XMF=br4<9#SU8(hZb6$;@wwl!xFmSfW&52Tr}JgwPHk zhat6oyZZVSBF3ME%p8BF4~DvrR*W+t_ElwE)z&tw1&pPTwJgt2LQ>uD8^Ym zb?o2;Wwih#b_n%O(h2S+0_g1?CeRuIkToWiAC3(QKOAcapZ5z;g(3C841Bm)U#L-- zZ}Vg+xk@vPi{72x`o(>J9^HtLfyVpT*NckJxZy_R#(#_2-r#?AKhg7KaruOneOM{K zq?#b;5h%1Ithn|dVz-KD9*s~9-QThm(={L%*f0n2Ho;R+D!VZ|Gglux04z05nBp=M z%N&hKyNyvvPEOu-Zk?W;HAYZWRSk`eg{O)RuF`4NuJOCc-WvFvt_RsZ=Ox{ir^pGW z$B}sCM2rHvQ!4Pm<$k^zrbq>-c^G&<&f#*|et1#R(17B>^X%(F^P1t7K530DRqM%20xj<1i-$zF*HN&fa-0w0p?chSbv`WvnYe;n`We2B z8Vm9_2Ym_Igg891TK{sW$j5i>ddY|KnZ~~);_^i8*!%iz?fsaL2a$2q!R<9yD!~-$GzPs5S(tVwz=~AVDt z`*9@}DZk5OHaKr*CK&8zDMXA?+Kv(D++&7hj3IEf0CE3X^zr%vE*B;}8l3f& z$GzK+2*T=Q%ZQeyEL!#`I)GemzD$5B71sc$$#`Br&nFV<+yk?it=e*Zu zP}`0pWxm0~oLNeFp!cDGHUIU_OZ43AtmDx%v8$V#(bKQ}NKulbi;M6Ha}jxY#CQU} z=+sm+*=%&v z=@u~h!M*vJ{P017AT`~!FdPnL;_o3#nj~mr!NaO`$B;x)h9fY@??f5>h*b4=+zyw0 zNqHS1a;uFQ?c7K^1mM!a@#W2L8BTI2)sLF6)~7g%yj+Ae?`r19g)R5wtW@^4

ryRxk;OndMH2^%JMB@u1XxYb-cmTYa% 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

ZY1a}N?yJTvR$IU;K$L7)jb>Z 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%0DwuX0{7*K#Y1*Ss| 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 z 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%0DEQy&wQe%7{S7z!M>uwEO+i+yz3{m@UT% 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

Litbi>sL2{jVObM~imesr#LH_UI#OOC#H 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

acZ>nxwx3P@97|>q?D`-lzw_XXS|e= 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%0DeX=0IHd;4;I3gL*3G zwinK!e(MAJipgr|JSTEJ+-K(x8MV0bU;Ve!WwuKZhg9DO7I#Xv7pM=4Va%?Hc1S(6 z)~I<%MZE>pTip8A8z&6)=w&iG5BF9c`~oVNMr;=M)wTXS7g*QhygK-K5B9-TzUN?3 zet^d>!tc1%+E#+i=BBrtR(W%OZU#UJdMx8!i_*~7seAO?Qz7vnKM$sN|wu0 zXp70VK_2knnjU;z%mGYccj!uz5AF~465=0N z6_wBLd7HFW;yJ9w8CE;r26O+-`DIFB99Kd=Llf};(&LM9{lMSm^Ng_#%n9PPi)t*$ zrMOssc-+RU=UGiRvHr<8pvkc}n_grdM}FI!n(PGSG2?X-%jtMj^3`7O9Tw>j*P{t@ zEgx!GSK_wdG$L5G0Yl+fAmnu|_S9^-w;b@C|=AZTS(L z&6fK(g{6(`L2c;w{2@EOrdUhzdR&bE?OM#sDDqm#odK;1N)`pbzasFwRZpX zOGY_oNjc>xeK_?v9QC9^xQ0Kk=nr)k_RqzhqdjW67r80n<4IY@eaQY-v-DN9e)Q-? zUznJ!c9uYXGq1zAYa4Uo++EcJ7JOz{Bhj-fmai zmOohaJTQVU_=fOV*ry(G*rpY0mW>7Huk(h-J_bJGG3$j~4qxcUj$9-20P0&&iu4Zh z%hzmY33KJUu9H^jhFNuQ=EUUb6@yIHBYtTb)_Od%5B<<1ehc3+iVz)i7HS?3!@r&4 zFA{FOoh7hia8}!S#W*$Qc&?p$b0W{2_q522y9qan@eP zBkoCkW*@)iXHAS7w)+QR<8cvZjN@!?|8IwG%gW_+TkNp)iQ=wZdR@{^`8>UU^Chez z^I6Tun0mbG>h@^96<1%a_Fa3+>Wq$Wy@MPu@Exd;#d(OB$_6|g@RM+LYSb8y3oCk6$wmzH0r8(Ec8NT(-C7UP{i+>S= z9nax9r>*HI*SB!R@t@VpW%>gjh?Y>XwcJMeL zKW!X3HD~Hio%L1P5Llh2=r1&TTLL+2f%#Idx3K;eI2^F*z()?aj`$wVT^L$q4!Fyq4!9!{G7%V8zWsk zzpgX9?xC)2K5Q>U+K=17v55H&7TaMQwph=t`R@D2x$_kB%THgQ<>4{r|B}{}_E*0T z{k@;LbdH&H9m5?3%q5v;Q#r(baG4#s;gujZj~M(=CQ}l{T1k!xIPG;`%Gi3J-kLJ*EangGmPtb5(5RG zkxcyY{Td8|!8N@2{n>^!BlYJPU%UsKDQpP;x1=9q9z16-`}Eb{xj979^S#4$a3$3) zWZ|0SO4+@Y@9XfkQt-N$6?vKHFU;HV=kxr@cavxC?a9Wh#pn2=w{sth1zHWxQ&>mg z_g0hDAQxLnt3l?P=4}}BJkL`rybp_M_mDrHrwq^Y7Y04oVa(m12Q>>DxZ)5uzcT0S zx*UIfeve6vlr#5*Jl~dv_qfA+z2=SghHZkJQo0nH`WWKl4fjiZk`-TH zqI!}nS@tOW(_d@qbw`e2n$ytRYu&z|$MDqhI8|JYZ0pxq z;@6^mO44}QsHT7(eLP$vypCAD$)MUfkcd;{M|d?s`Xd zXq}tCHAiw|FdniWUB|z5qU@f<>M_7^ie3Z!i+lY&2QOS&5Z+@e)Oq1(^JYZ*v^RXu zAAwvvUhkkfT9eUZ`Fnk$>X=~fRM_@z9~?h)Z<3|cd)L?U=xpA@`*}wDU@{ISmDf&OI_5QA9!GHDl zyb;$q);dJ1mB#PtTkovn{;@cN>jHA=^Ox%%`dYka$hoVgT6IIHPl)xmjl}w;s(yD^ ztJQmj@H&6#5XS;5m&)vx>yTQ1*nGSJ)i>K&EKU&f&+7Syo%j#T={f3<`snyWSS;8Q z(`P;JY5E|2oIe(O_~b)mbng6N$Mar;YC4ws*ooD0u;=eH_^n5cJKbUq<;>rEAxdU} zU%~USmxTZ1nDwkvl)n6sgGV3E1JCqkc_qWg|CYByHP6Xx zD&i6k=lE2dVgiIE<4c_}i{&*NqL_v@gS_O_G%SUN7U-?;9r+TJ#d zCVf;3$T?@9ef-?@IsHLk;bmZhg56L>$Fjef1){tt#3 zKHU4;a&Ek*?NxqW2Ym{+Q!zZ)dx&{2HV5U}e$F-fBW~3=h^jt&4enK6Yua_lX8kx2 z=j(h1lf~Z8-?FpF&r&Q+wVT=T2iN^xQya6L^2yPE0PrwiTv^jVJ@(s1VvR52YWA$b z-s9J$8QjtObfHgu%;NrKuL7&-nDb@$tYG>wb)RX}Rm2UFBPgo24>pD8`0v&9fq08u z-nd7>sf&0YIZ_SRsCo;H38q7;KhH*->D-?O+-`?1bYI_ln-f>a|JL;fY$WU@;jkoc zRa^|}xo15!$e&W}-zAgk&oJfrmtEypw$EBp1#R>EYkk}%Kp&)TBN!g3?e@8!S)<)6 zZpx*- z>^%m2>|G7hhNX-XpJ)0QgB<3Y(_r8;i1YVcGpAM56YjPicRasDqY1pr&wHc2(w=)3 zUl{UYo#!Sl!}SW|+lvq7_`VMHPF4GDvn|P_rm|#jXUyA9Yec2mLTO}jIHUd+6wl$fUaB2-gP@NZ9n&RJ(OEO-`RVx zuldzfhc(rj74}+7w2$zeb>xfXb)_TWY_z zao&)dUUu~fOvcl;*gU4D7=E55E^Efu0jzVKjSGIczxNM5BFu~2vH2vhlc9_7???X7 z@pjh3W<$&ta><|Y9na8fhGv%mizj0rB)*hd<*oH*BWo9h(5WCwj1aB!e6 z9Q{S(U=iO&e4VG{C+VQJ={}R|+9X(-jKF@1@>+4{8^!EO1@=LZG9WpJyu&!_Y z##p%FSX`c=!*=zoLQJ5n`}?f7njzNdPO7=PtrrsVr0hYm9^dkog4LOL&2JSvwM2)1)TN3^a3l#vm5##QupSpUJuRgr0k4)C;qd3fqmc24r!mO zaV;^|t@BNMG{}jc@;P{KA9e`Au~tiAwLk2uQU)J=3qSQJYr_#oM5DDNdvEbL#TLKE zsAx%RkAB6(laD+YA2QnYThh7$&xcx?UA%_m2Hig9nsNYrDXxj@)$h-G{cYP%eL$Uw zoXMs2iMGG__cxPKx5+s`JQ!;%#$#Azb9!^3J$&o85MH$+o?q{^BK!1Hk5a!C%cD0r z1qKYb7f$IOKWxjun_#R8_^O(Ek8tw6a?J8uU*q}FXUl5)z?Hlh&rR4@UFRhSwR7SW z>qRb}SF`>1^0q@drt2SdAN%&6YxjR3pNG`}agEGpVBd@V4`1dVH7SSb5XTOn7J5eA zTUHUW$FT%QeA@@+;Q*US4ouUFajda9)*rTVRNN(9FPo{`qen44`i^n2KOTC3 z8t)rog#3(uKlbnIU_yub65v&d5nqaU!0YyH^I=NZJD?JKjXD_gumJD+Mx}Ya{VeNy z1|N{vOk(84Det|sO1s&cz>Va=RU26>Ppk@{g!t1KY_YAwHNwz zl3nN0cgeNEb!&e9wOKqd|Fp%(U7QW4>o4|jLaYaKEuLzejjM6d=ko?dAgG~15ohns zE=`?nl0 zsfgZY#-Yu)fZ1d19#FV>NxP6mIMH5{jL9|vy9oPPLo2q2_2lMkDCTdrxa zAlIa>BxyY7qUIUBFQIeJo%!*@e~&8gVSTzCkNpDN9dg!Np)JQb=dTxC=XGy8b;B~N z@AV2>>JoPVhUB(^(hvKfSPd6A8z+0QW{HnT*!&(Tpf4YJhW*!ZRumKP2Tp*dZulWEZprq$|u1=c~99oz!s^^(ZhZM^>uf{z}-E_61QoVr5=N8WoIk2-Nt0swh9kD^2 zU&(N0bC$d%oh7&Bm~Ip-u7#ZF3$UB`nXTSz-m}C%g_9U28Bmyyr3pXqjMMP`A^;)v zds8m6DE4JFWRulNXNwQWJ<31!oNBSrOAq~&x22kmU|9FI8Gp%6wmw10>_qqRspZoC z+NZ#{0$a@s`>)R z0{OjHU1u_W5cY3jZ)4$g!66W>rVD4f?9e$Y3}@fJ?fb|bqMsmY8(|x*s=X6*eC=~h zADcFm>c!wY6O%RXpbsTB9j;z#{!bd?@f$C$+#34f0?U6|>}6AoIBt{XVDuL@nG632i4%vzpgd)w?CKY!3$=oDWsxVutapPpO$GU(B2Jb!`fgZLrfXh&4-7;JfQ z6mDH7j`mw(Eh=>O%wDeKo}ZrG79)BhjGE0xNXwEXT}| z?U{H-CW2Vy4$tI}P3uM97S zN>VQJF$52f%vAo#j^;9%wBlP1^HH|%Wh-y;pK`=SJqle&R^D7FMSk-OceE2W0J!*7 z(Q&rP9~~)U=QX1RF2_jrwSGt@3skjDG%#BXRTvK$y=lF=N2ZHq5#)y(e_w%|gz;}b z^u5=Q*PlcuLZ!P;{>!sP32T=0*&4*;&2_tYDL}f;&_`kXlYJ(W;~rrTLAL2b)ykSU z{ynxgrLb!A8?+wxmS@FVA=8dsPb_T2$lDbfSSTnj57lWoyo~Rle|qZOo$u{-J=D;@ zRL(89<#032XHF&EdbxKZZ-v9A&B6jz!BTQkHE|;LXZQnEZSS~7-QG*Cf8p&)%Lj-C zT9+!-t8Mb)cXah8`v(nf!y%#?hfT1-U1ZHiG(UXX9?v-S&F}0!%4ChcfW(A&!G6|b zql*k_8NRjs@gF!P&6xeP&mt@YR@Yz8=R6hvnOCKf-Y&!8WhHWh&?4%ux5WHxF#32* zJIt%lRjF7BU#zW1u6wCrm=|>z_Nw3-KcE!yats#6+~sz*#GODkxj4@pp1-ZY@EV0& zV13@a#8*Dl>UeIhZI%Gz9g-Utuu&?-DFJ(GjRrf>@@!$)qcwYG!!^e{cx}hZ6w#S1 za!nn+eIv$4@R;9vc{m}@OQZEMZ-=sOV+)g>;L*EFYb)l*}OA3W#j57F<(E9UY=(8J8bH2nZweLX`tJ=TV2Qa%1v zu`-1<2{%xqZi6Wq_L-uchNV7`ib!=;0uCGO!&w<+SeEl7x0NGj?D2GRH^?JwFt6LI z9C*i4ZE<@MX|H6N#V(--VAv4c8(51z}N$c_z_2!bXgJNP)1gCcCpIpV}?$ zLG|Rq0Px4U#M)BcapTd(rezDg-BBZt~&Bgn&Ung3ME?5mF zmn)o#H=OS21tV&R3U6$Z*FF$UiW)>dd=s`!cFXtdf8cSxHmPwB+nrf0`ukvCx6A)K z9RPDK=j?hSxvgUKfk`(p_>)umPBsATmeK-ZVcuh1N_3z3HxBDXd=KeCzR}IU!O8M-r`N*aDHA+-%Qy-ypf>k9d z_1y)|S}%4|oHv!$dvD4wPfupt-!s|;X8xc<8xc8FToD1c!rgTrN=r{ViLwf@!Ii!ufvpG(A^cVv=cuBi`?ap z(C7QnR@DCXKes{?*Ho*ew?|hQHX*77J%5s3Dq|;mTf04HABKIW5lciwV(CDVm#W{6 zXjH;qdFp4RY24&E(vO=JR!q+9b zyvAwmC?%<^ z?+3dlnXSgyhZ&_kAYSx1LAvY2)k2+>JbNz6vm(>R@lE90pISs5vdesyYZMyG9)cpN z=}fKP@s}qV{T5b?*}9sRo8(CyCwg?!vH+iKk8y4td}}se6gf97P0y-XY4f2UzIrkX zBr9_2D5#m(?NM3?o~Wc(O;J}ah9}OY;VFW)$l)vYMbn&5>lj?5?n9;YR;Y)yGlDrC zpgXo2FOW@w(k=5DfI>8Bmjb|aI$p&scR(XSkB4eEGQ&9UJ5B0jwJ@gU< zl;tkU^dqP%bZdLvLXLYkw@^&xCNX3)et*I!Cz)+2fsQ_bsy{sF%y&s}HE{aP8lu{5 z4jmBf7Bn=(|hZKWqZBS{W=1SKM98`jqLjBQ+BvB?C2_mYnWUnYuho#^``L z;NiyOY5Hq*-Knun2ky1&iar6yRmW1R0^&G_w&Q5q3!?3fO4w06Q?B#gpQ!={MWGd@ zw%gqFN9jq;t>MF3VHK+_wPi_MH$Nolv@>zXtc>7!l`% zS2}tVp+0#BSPmPC#33qYexi7U0VvAc?3oR!75ELa@G9ybfk3iAEA%QsQ>v)hVdvg-5fw(0Yc$wnohjEY1)^P7f^xXKsi|ZWw7jc zsHU_(hk(F>S$5K=!{B3;zM`Q>vK@Lx<7~sDL^f#m^1+wcv7>`MAr{Gnf<=vCf>h@8 zGo}do@aqAN;5T4HMv8_#Q_;PSN7s5dZP)4QS32aq!YY>2a(6&1U@y|?l9q)|_`%jL zkZCp~2=@tYYkngmpNrBG);}9(hQhS zEz4@r>cqxCzAC4v({GxjONqscz_31VH-q-=2oCJ7tcUc43>K2v`aNR(2?OHQzkvIN zFw&D6ur~aTY<$-SGk#yKx&G@43d|75(IG0fi~X1N@Z(A2!2OdT2j-s*?$&0jw#RB| zqhA%TIQD&u*KnIFo!AHto=@I+`CQH`v``6^j8)M-rDlN_rMuk20T8luEzgM=eC0rc zo=tb*w?~|$WqJOgqCt%d4PN+{SDKR37S`gf%+aUSl%Gr5KE{!nPN^=7?Liq-tf~(3 zxhC;qJ(}KL&tQ>EDq%fZ3xJsH^8iy~9c#E09UlS-N+}F;X|`XQxideOg;_>I@+L4N zU;*z9ZPc!=&giHxJ~slu;Lo)(z-)&C#<#>PzF+SX%70esv~qH~cVmqFZ^1R}+$iXs z2X|xzSCOY}OQ#*=&XD~a z?NsUa=@7@9*O@)kZR2&YftECXj8Cl@CeIoQV-0-VTCZzv-@EP(XDlGryzC}jV!I4G zR2zQM5?r1T_GNGSgeNt49Ub63v0RXUtKw1U^}`|&{vAc4e5Q3}y(9VLNHqyMk6Mz9 z7^;0gKvN=loTx{9K1eKbhvxF8SMzAbl63?JCxNd5pQ(AwO#5Zh;DPHGxml(eT)xhc zyWZEscq`p2Nj7WH;gY7W9n@e(U|tr`Oahn6|L>5=u2-$;4Z`m7s#v8@A_7ukp5co*==*b4xA6^Va|_cy&L}`tk;|W{UB1Ea!2CBD$d- zI2tgQEQcV%sbD<(I}oFR#y-efAclgWhK?rq*k%i-SC3ocjk9wLL$B<-v*+7ueyjET z`)@tGujGfFI!^L$xQ^b#QX4LzooOct#{RtS4KQByhF{1qP>e;Q5tw8#=pE{12Z+C& z>(rGi{=D`sxRTRBW9N-PYxM(WLCwi=O_jG)D`YbvM+|v-%0H}nzou}}a1S+?(K5U- zaNqTB3i6Yzz_o4{xS98aeaya(z6Zw{qKdC;(=xOmd{7q}+n4WF)5L~GDbqJ1GWI-= zAw!$B|Uk`XQ_81!e)kP}D3IG&5;h*0z0>vHnU~-YPq@qh)jo z5|o!M4daR6Y}EDBP8foz`KE1``~-4$X~1YI@kNQ@w{R@=+E*ju-&gWQfyT&ZL3(>F zz;!N+ep}F&SZy!X{iK&PyK4v4Cdn0zuFT1Dl#QpyeNZkuB7&A5+p9niy^8s9Y>^q| zd>U}3M1KI&dwv49VA2lTg@mQ--4Xcj9fF(0=g+kE?SAj#vx(ysG20yfD1+5cmUgYf zxbp_xCZAJ}{A55|C{0Dw{OlR#KPOvV)rVH7-@}GcO@eFNHwpLXZ*0e!k2#0i5ipZ- ziPL3hm!UPe??%o66@Asy?`Td7m$1M3v}{d$Zfodd9SEYv_y@vW1Cx6InjwvlCbF zI@6uo+&1G%byHw0OD}d{i zdtSEjVoyVVbH|g(lshTQ8ukS{R~)z4WS?%fevnP9ZJg8Z;6cBHmiApaAX$$EY-0;( zk^NBpbj_R?)z?Gszq2$jqn>ah4=#)))ID3f2rVY3PoK~&bhd=;5nLuN3f1S(?+(?) zgYpdLO%sN}d%@p_8Lj!w3j_M`Wp)SLZwIPl1l?deu>zgav*Z9A?RiC?8DvJ1(P0$H;Z%x9Bggm#~?UG57{0WY&lbRrgYvK>)G8JPCAoCJ1hk}HSkW? zr>z94$EY+kg~w7+bTh#%VCx)oW9#}%MF8)j{kfk+|JdMgY|NrE+iLo5{FH}1{S>B? zkQTfA4MGg_nZIh}UHUU{e52~5NFhv<1*00^?Y$vh|0`U#_qXX*)Su7_RBI#YUV$o_ z%|q>tcwG(3&&A8@a1l6ohzzJeW+)0$w%8|~V>7#c&*Qrg&*IEJ6m904K>BStjZg)) zobu=*4C3=q^BtX_#{1B+mw&V#;ptcCYb4u$w9#I`CSdkquLyE*k9Prif+T}S0*?oS zC~Fs;Jx|NQNcdh>DZC87#~u!`c+Xsr;qFj5DCY~6+@Q}%y3~A?>d+>eas#Vp01JqF zwvp-zRd0|YZ+t%u=8@~xHT@0EIWepz1^ojjp|R-Q&XOUsHJ(4zYtj5(13 z{;A06>hGo7X>Cy>)vy1Am{`_&CfLejTK;9w=|uac1bRzH9w=^?RE(7?#d;n3hL48jN8+C}{wFPc68Wmv-_a)HO(d(3!cKnV zviuq2{*c`bHF44OVtEUzE6uEm?fDNhaYg3aPOa-Z3g@>Q(dweB+evb{=W1-FdO4#M8ZWw-yMa?;9(SLqNX@GDyuzm)N zZ-ti&f~_LzPqUP699}$@r)WH#+3Nt`-sq@~HDbZYX1bD{k9Lh~%ykc^Hk^-?kliT{ zheNtNn0@zrln2tS!p32KUMrr;7d`v3Ur{W4avZ6ew%YTs_db`;lGX=j9WUlQO(flu zQt`{ZAJw#ji52)3K5LXFchRh_VDSm~BHA%P;)EsV66~>UT7RwxXeo&Jnhj;hwbq7e z+}qZQnJYgU`^I8`Je^@+iTJrKKg;)ywp{cSX2U$~6a4CX(TL%D(vhgP;hTVv;tJWE zM}o%~(0{bds-SQQ`>6W&+@i{%xx|{FUNQb5fH%6=N=7g6d!koBaZ^$EZG#($`%7OZcnr z{|xX6BzpW`&2oMO9W7Qi78o%QAk%E$Yc~NwEs342JDqY{wM;jslbLCf#CdwKv$cNU7KVj z@shOW&x>mK9YStFIa-zzo#W(%AgU)IJlvvbik?Fg+g>;rI5&A_XHJ{V-(LzkVtF#70y>WF|@Kco$usJ6egAM8veCxr77&o zu;=@yILYfaSDLTFXN@$2ESXH?x$0$R?xv1LkW_t0o2H#G7EzIm_LK9j^%}scFQV?l z;w9LZ>T^I=-!~w`ZqSnWk64F@p*8bakm;Vvq@VO$%z!6qcKGIaiclT!-tw(4MGjua zO$f|Tfb^cuTJ0mxY^Nn(yhj)$e#0XKzA9$OQRyVNO%#5n{;2B&YD#C*_27>@OB(+o z&`VC0gflQL-2}zE%Ck7Bb4Z5Embo~VYzm1s5)u?<4?Lhh0RnUJiHoi)A)9B)&z;Y^ z@2&NNVC-p$H26^4O!j#hAi3d8vIHd&s<9%Wym2Ip*0Oe3il~F7)ZFaGMymH%nZ2}2 z6JILpVURzp9tRB1>Y4#*-!dU>5JlcT6+m8V5Zd+wlqJ9Z>8abVEf8I1Kc91<#v=Og z1zw@NphY2T?&F##c+WQorrp)-;0Jd=_+Sd#_yjxN-c7!ZjZLnf3w+M_#XPlh+bD^g zfP8Y49`(ll_eM>eJkG?618cd@nWJA#?cEYlE1lbo4-ec&pz8US#BSdXj*MfUWs(=o zw|8h1nqwJ~55|_r#73To5meU}=v$*4a+hUr9ES7uMTRAKtC{SNm2UsBp;EiUkqy1$ zEiI&=$@W04x$uvkiWVA?@EAKCXdCvP>#M4kou`BPmDKWsyQY2}_Pcc(o4e4ugL}g- zR`Otb!^Rcx7+{uEo$82%+-B5w)puR7teSUO>}93CY)!($rV7>|-MQRB#)q69Rz*;h zb~5UXwXm=t=jwe{pv+W3Os!@?@YDyp=taI+jEj;$;napbhmJUORR+|(E)}**{S;Ix z>B;MU#vb)FVs>5hZ2rk^5r(R0*l9i6vTU6*3wl-I>$s41RObiS8_ZD}s>Rkny*uLn$NLW!rP=qFZ8VATWKJN%tM-?-IlDn?W4Se5uFw$E-4I{DO9 zS=B$pd9}4#8aP<9ivJ^c&uJPzn!Oc)`MStJ`}1C+r2P^L1X-DJqWzrCV?;dEXiyvG zlmbJl-WBX`FraMB#d{5I}=McOjGhJFi z$R!>~FD1>=k8?20n#qXp&FC<5v>We=gGhOJhb)zV?+K5(~LSz1z< zojy|V8MEWl6GekVQM??761g6Jwl0)g6OP(lGCQe8#LukwhxzohDoT&_+K-i!bJR`c zqUvSZty8XX=fBj@vgu%YiFDINN;z=L91^omP)OknGZ)mbwS~!4+l=tMQLbS0A0wg)KP1saI5e6^t#FIYw5N4Kq}(!X_Q{G#Lc3K(8qii z+Z5UmJ8sL*EKfwGznw%LEzIuSwUARyG2FGE3+^`DYklx|Zq8x(KUIula<)f*uKUN= zXQz>?geiMPZl-PcLC4a(U~RjpVB(DIOu{66n)q(SBDrzqp*l5>(4o@S${)KQIOR5< zGvR9)@od7)Wk`V*GckX!^Gsx*b~$K4#{z9}0x$0b(s?wxIdCCl^cwq^8`UrE$ZucT zFu4?9Upb0D<$5u;`?cN??k0_vB=I5K0?T>z5&hTvr%)3#c zX)AVLY*+T#q$%TmSGhX5PMv)9a(hqyFQrDM^mRrZwimcsSFk3AFI2@hq7M4qq#V$zPH zt6;3=7rWX%Bv`r+_&U5o;gGJvY-Tu%Z^SV-Jx%PZsL}i69H&Vu*)k5|^{>5G6cuC}yZhL`ax4Y(1_>O`t)Vi-G0eHnv&ueShyI`xLQ?OF#wovf!YuSM zhydzQDON-W)3`&ws^E-;6alGbhm_4Af!>J@StDTc(C5{`9-o!WzeGiAF=Q@^%bs=B zrS`^2>Ed31RjWgCihg^W)iaulDForlHi$Kj3I#FAL8w;X3Jz>Q!Q3N|z9ID&0KT z`732}e}BeLQSJ@A6I)gJo`eHYep*+drE{$WVNrIxn6N;;9uZm=i94~NOXi7SE~1bw zD(%?eeGa};GM?H+k%JdPVj(+sC3Low;NEW9#0i|=8vl?p6VUC)i6Pt0=0D>Qvunc{lJe29YBv?!H>>%k%oN#_^z%Pj zg{yd0fimf`9|2Qw!8W{Lu~sivgNQTR-9$`*=FrndW zlRmt{kU7w2n^%AOWnG1lf0N22v2G?qUBe^$(c*UN!-{speA!_uf`ZL+kJk$~R+SEy z`c^Ws%K)VzEQpO9qHOa%FtHW@t<~g$0Z_(9V&;R=H5v>pmrfOO9bhP8wjEYD3mmLA zT99NNDD37&aG_YQmTk%L#G5_Fi}^}O7bI4ITkHRp25PxvcdXYSQ=PocO3w+04hyNl zDXCC#JmINoN`UOl?9RYut(K+(8r&WAiw-6l9ep2ysuWGuXB(Gq!k>LLz%37z#BgAX+gUDKh zEp#FjW+eDH@Qb)mMLQH(=@Pc<|Hsa$W8L~E2a2f&9r_1)d3z{dwxd9ZmIl~=p0n~K zmnKP4*lGHpkd?~a<@O3pAFiJpb|{;zNybI%EQqT7G|aDTD8JPUq@<7j5=c)YSd|p! z!@UZ>=gcNAFX$o3GtqbJ9cmfY&c|3c=D-}g+;_z7T$^4n;&jQz&Gbidy-F3PNOOe- z-FdUSLrocds!~PZ3qO8^)&b>6Cm^M5kal^cCe$Z?@V(-H$m{-P4!cfG65tkk)ax2| zBaVc4*5(ET@&53p1+XXtR&0Bjq+SM}BSSHlu!4<9_)Qy+{<9sV?t(dDld{TCUuo_( zqZts_J!R16jPi>N3a-hV3!mouh4Ex;4|xJtkyH=lVxEoQ#GJ}W^w zy=^;nAo958IF6e0_w1~KzJ)@Nsk`~9yFJyIaToh1Ry>BNyen1EqEvtEo99^jJ#;Ii z#;{0dp-_uF7&q^+Xn)p5FIvw^GM#A5vo6%P&Bc6dEPP;|+=u(}FbCpI-3hHJhW4+W zZzonvDss*jXIS8*8&ZR;P;NN1+)!9c!YnsFmSC)Z5GJ>A!E{=xZN?9kM;HLS63o8S z%BhmYGnLT3^vQIwfw2jF%wqzZ=es^Z_|*|UQjFiQRTc~zK?Y0pdeoV9j;Yn{sE5zS z$NV_2n|m4Mjvm1JLFeoM+xCkXjd%r#nDX_Xyg?4@DXIbsbbE3G0>p&0fz z<|(!GYo33aL!=KDZr{sxBfryIxCwl?Qhezu6NX-f7N-$u{H^g)De^6NMFUMOgS8xp zwrJYbYnBdJg*e}ysvH(MTdJN4(vdrzqN(u4T=%=Re?R@1Uzew{FELP4^L?ny@JnKF zkf+akscU@eI5q81~20cDza<#2Ew(%Re0-H^ja~E2&Cbn0*?$lsQ%ac~BPh;*!!b zSZ5Lj{idLk2SlhCt@5?VL}<^CkD}~DgQ~GOMf!I4CjjNyAZ-0*J0b7yi(}b^hkJdh zlSifk3Di8ZRUU{Mru@XbPSC;wQ&&1&Qyr{fAG+c7y8J@erJ2w=ySy*ooxVdsSd1bd zg7kjbqeg&@Xko0Wy96bv!cV-&d#XhhY171$&cZfzXZQ#GtiNuLpR52MCr`-iT?0W5 zzj3-QYIlDu)CwFdiiXyfLS8_$QQLG{U`dfAtq8afuil5+egqS4x!QcEcjrOz$2Q|f+stdtH47T|@&gX3yX zCXq2J{oTWjF5ves9u0mTGDAKLCwZEe^t4&}xNQ$!ABC4f{yj%>UX@$`LO1q)FLE)6 zWca=Dxk)pz>2PoOpcAWpzQ#Wd8pVZgK-#8bb9!gNKAiP^-99B0+CRId;e~aI3MMZq z!eN)^m3(4Bt!X+5&RPJRm1<#DdY zuQjJRFP8hrCo=R%b&6%ve}ShveAHI=mjepDZxxx{CL%j_VYZN@5API z_Di`c=5SG{kT!ic;nflKnr~{k8ATNl3McLgr?Yh$O(n=Z8J!lZ1{00Ic-l_XZ zb;h^41I7TFC*w|rR!1u}qNu6z8HU3m>KrhU&R&qqZOSXx!84;5`-or8A~gSmM*)%L z#!qll#GkyyM~iYax+%abKsjElZOr`oP7%O_qw))2wsPr z23BPEx&!qGoSgkZ@F5JylA0@T#YkX+Y~Iq8TWLuF?Nk5Imtiv?TKTajTjCdO+EDGm z9NVK9ia{#f?LT_jN$uNQPOCzB9$~wZ8v9DiyqBF`?Am`nAv*LjE}Uz$5Sk7x}q1SMNaDdTO(&&Rx~G(my9NQ%T6 z3#J5p+b&;v%g=mSe1hIW!L50D?^o{V^?w^YbuKBI1F(O=${HIT)b2m?k6Z`2W!;P# zIpYfQ66M{h)kD-iDQv_uea?_d*#%_I?M3VceTqWKZ}a!~x$gh?zRRoBlG(yORK3xL zvOkp4vmn0KSa9KkR7B(uKun}sD75%n{A6>eM&c?>j$QtDxQ_tAbrG;VKbU=M!b$tA zzubUr(k=1s&YGj}F5l47%WFq|-iD<^R>7Y4D4Wm7u;L1V%(fR&(xK!{56T+s{W<@q zzz_0R_+n5r*wN?gX4b!!ILUYfPtesb_0xLZ#SF!RM)g_x@AnyZ@ zCHY37$>!DPcW`D9jWBE!Z7f(cPC9;KLsEkfh+fb(1I36*7h-coeUjU+;f^mLdbmjnmq%rUzOg ze@pS5U@z2hmPZ2lAH-qKE<{w7<%84e>lOH2j%ukiDJDkmn=}%M5-?d+*>v_-6YMQ7 zc+>CXrLw%Q)pt_?Fmo_?@|KhZc9jY&aW{(Ob=_4zU79u5BmWe8W5QW?%y+n$>9#3* zcPxI;=`HH+wd>Zh+fyu)^M9emosy>Ft#c5*280~wkZ?FL`?;ut@&imqxVfOsD8~wC z2?HByiq8h9b8y_gKaHPhyfvI6f02x^rGgIf1MWq}W+^fs_LKoMimMU6d3m9R8QpxU z&|BL9oX2wHBj7j4ry82h!eHGm{r3T9EasPJNn@TT>h zbJ|WHDx2KS5f2U>zOoYOJ1Ll$GxrQ|C;0Jy&6{2b?$ARw{UpqVxw4)BoVAgIlE#yU zE?7PH;)4*yyq%S*7r-wp^6u(oMvhsuUbdEI6FDC1p1IcfG}-4Xz8$hS13TmtgSC4-uUlA zHv&>Rt(N1iuryMhad7jFzD@R6Z;0La@l`?CX`S}x?dn%Zb9^M>#=~C%osYHPd1($$j^?{XY`j zI|W{TzH-|>p-t(F3FfI~D}m1$xv^y0VyWmE?rDA`n&x|P-p-d%(hJdV8*sq?*4yH}bdH_R1#({Vx52Wjh1Be~tESQi@0 z>c@WK_vFj6Nz+x*gFCX5>*0Iy^dm~8tE zq3@^hszqF6F~j6->=mEE<6VC*uE(qI=ym21)`>5lCD?4eZB-~tLa`vBt^HtE0%jMbj1y^Br?X_bJHjK+eK&Ds;$De1PtTTh*dubNM0E#xdC zWs6f4tXG#75Q745LKDGYM}EJ+WF}wa`$R_f@THULvngZx-?f7_%(pu^Ap!6_D@l(q zZ-=Qj$cR9VZF825Z#QS7!{Ux>p@ec+wMBo{6nUN+{iK=VTJ{`snBisdYtbCz>CsOa zsoUjNFp72LKbF{r|N2zbH+)4NIZXM_nzfofee6k|2}bWeXTXbQYrNT0jhOQ&b#tXFLJ9am11mmf0*M`Wx z)n{ReDQsBtI=AzAp}AloFHY^If_1H=fOR@$%= zt#T_v&*}=*Oe2E1Ov#hOU;5#02lf$fI#4D*DS<@$yR)1dc<>?b)H4+8He0khEstMA zJ`>2y{Wowog6&|3`lM2;H9*itA&9{P|JN*~-Z|;}x~wmM*F+ZGC!es71;A$z!yc}2 ze9+yi-&AnekhQjbb9DySeRkU(wyOpLsIWQ3!oS#i5aCFaYmsE_-vCR_mJP*NaXkF^ zy11CQC9dTKfK~jl&uGY|#ZR*3vlr}9MK9f|{$9jok!*aSJ8OZBv*%dHJ4Z^sFK8!c$3bHwkb5t}5@-9ZjkoU~_L=M) zhFY=cp8`;d^wURQvl)xhj)y=|3q#8nT7|vrN*9M?P0}ZRRM9S1yI>`qjosBXle<;Q zcYZtOU6*6VSO2Wrs_Aj?3irQf@QGxAco#!=Hsmpv-Z|#8sBo>_`90IAqU^Kh5*O4` zrm%ay1{VZ*ZIG1-^=^(sUez=#ZuIsyw+^@QX%a>Yd%sy4KYu-!3-c&ukvcQEvSYp} zhBtzXwP`&Iy(Z(hHe>{Twp~)&*KV25!+rj~H@)=19C`~7;$2>(0XbL%SXEi6Aahl^ zPFMESGj_e?&vjKvd_rHVY~C6>TJtM^tBS`gFH~X74`ue|LnlG$Nd(2@_)}i}q7PA% zA;AX$IV^Uh3BJ3fC+z@127 zN~cd4cT%H1&xCdQd*k>6Ss_te=igV~@RDFA5;lw>x)|oJ(1cX+Aq;E(SdpobG*uw{1Uw;=MjRt>|bBbFa>(HV{S}yJ@{ocAc z@Nnh#W8AsuB;|;G5BE+SG&F*w6xT7=URrYfZnz!hnF?&w$A{ejt#y1Z_%M|<3&uUI zuq)YjN?bdi4l5UwYDbc^4L`B-*#+kZdXK-$Xvl$oY`trJeTgFo?bEvsviX2y;fuY* zZ^+CRdMvT%Z_}YPIlEx2otyLh&ls!_Hc>s-HEEI8cb8B0%|7S_5`_w=+4{^WdL+ex zZp&;&&AK?{8uJ9d_T}lo*mZo#XuK800-#qta|tq7yII`vgD+<67c~1=y>D1~{kH@n z6b3XL(+C0&lMrFHzXB1Hk5Us>Ii*zp1RT0x9=O}g9M@Z+*h$S#QM_Hub$P9eW|d*p zgz@dqnPPbomDh$T$CHf>H{?G=xRXz(ZdbAT?p_kUI&3<3DQwdd1nv$@dHI9cmG5=! z%`}JbjUV`gV19Mm+R8EOSlH;WNKb=YW0qPEP*!07okfvRp!EWvDu&;!S9WJXPg;JX zOa2a5^3=h?LIld=tjGoxm3xVDyCa!}qVb+z*se6>vqai9{p(!Q4K)dA&F*K7POGXG zWiht^1@*q~NaL#dAp*Gr{jj~m3VdoNe2FbB7&l$djOly7FXp}^y`n3wAEG%nS0S_;Yn~-hM)s29afXD?&ys?Y zQ-LFVLS3pdO7B!=bsI|wrqa)QdCf~jJ5@f9`HWI7cdxO%h$sowbf9)$xk^>?nVEHY z=P$FnQ+yPu{OMuDxvof7t^a3Vz>mdNu2#xcz?&hCs8*A*46()$AkW$mG2m!7BiP*V ziMore86+~-ws`^(rOI^=XA$dqbivokh`DCX5@;is^AoN))of6$famSx3$MdO?#K=3 zK)KK@IJcjzT~j^I3J-=14&ggsX2K^f(X7`}ohHu5*$0)k$bsA>YsQ*^OR@~HM>9do z_lgGw3{={t|9-p^rMkBQpEdm<&BSuTkKp*@#*WRb%B z3_Jxlk9$fXZ?OoxM?wEq-0l;u_sP@3jAEachAcY(6yK5g>H(b&2{*o)tJe z(JUg~m7s8vbnwyEE{^5MR=ISwWz)`NJVLMrUhnje@7@;r_YBuKbBE}=hz4eKhmqB` zdT;W3=@8*|V;8uq^9N}DO{fvDQ*lsE@z@|LD@A}qA`CCPC%&Cb7#i;?QJ z*M|DH&&8HhKuv5hsHA59@?jO5t@2qybFPmlcD|Lu{38-w`3&2doml(?q#WF;7x(#n zmD9(Z>6>mg@+}=z2uUq(&|#_F02}Ofb<%I_&HBo|orwGB%cuQen)?rzC1LqujCBlB zo-OHJ214o|%q?z1Jx+Rfn$L_+R5+QtUw!Q6`$$lh)m%)j0PSVXP=w5qPWc)VeG;ly z13p05|BW-hpIK`6Thl^ZdcXfLdF-2}ctD|JK=Y`|EWFWfr#99A@Kn?87|&DM|1ZgH zYs)yGy5bTI=Qsz<)NOY#_?8<&eTy94o)g7bkDc&q>cSPTn`($)_(^gQpk{JaD4WqetJ9*;%5+2Po>N7iyU-|EMF{JAu>SOrE8v2}* zw>J3VxoOi|FLM|?rQQzoBms?zz6q29G%nP*Q(k4n(!vKSP~e}a?!DfYa=%*@jE%GK zA=Y4%6vHQYnaSN+kDK*a*=7q59?xM@(nNfsZ~_C^jH&mJiu0g1fT_c~Rw}34@V^=^ z$ja)df7DzAVFF!577Z-RfMY`RJ1~2TGs|%;`1PZ}#Cn?QUv%6KFMyCfsr6i%7=o=V zZ8e*la2ESEfhqsEf=_crYwy5q`QM!$=t$A+dTd5guXG_YzbQZGc5 zWbrftX2q8bN4D1x{V(k9n$p z{0n=-sdg-$DdiFPMm@%@6-qPeQn6c62NNBA0w>U1TV|8{;}%5m*?SSj)qjspKtKJ# z5(R%P84<`u%ilpC)Z&nPGqL$jM~RDWoyf{rApf|%^6>>Stkruzls6pVm8d|WG&7&I z(*9zn$?xuoS-i3H?93c0b$B4^Fnv6K@b#|@dSc(Qrf*Vi=}FN*kDeY;=mne7ISP@N zD7m5DkzS%D-I?E$x9mIFZxB^>Hz+tVCzzdd0q%QK(`~jh>^Gv&`iSe7T5z(hetmDx z6K0OwFPqDLidKUG>K@uM0x@LI`1`&aLX%$Vs(*FJbrHQ*DJHY1h4}qx28SgXt05`X z8tdV{P}xf9?8~y+Qcur`XB_aKPF73@!ve*{Th?BQ?)D!~+es(GTFzTDO=8lM z+X3CTpi};Qh}ZpqLb$x0IV>F>;hT(hcKQ@8VVicnOp8^TclFF@Uvt>%+irKR_bS(# z>rDq4oJ);4Q};1r)9~EJcXjdx(f6qF^8R+ZePC}R3DeHq59+jz6injFhz=PJ_~vMx z?J)@72xR6yZDPhgzN%s_P?3I;Q2K1$d1+(%yL<&bc$@lV?58EGKj?{#?N|v+ z8NS{YY&OMvae?67lyvT+tsg~>VO0BBj+acfiA40V)dH!bMb?S#=sMJyfVCDxw=X;r zymj|?AMP>iN}|x21=MIE{Xi+BU4t5&f2T})1R+9?FDLMYeZ)$FqK2qV$!PUOV)Mdr zh2n8tuEB3R_#@-6~q=% zwKt_kiDRcLpys`V3IzTiEY(I>fAKGQcXLrl0E7={4bZCXvS{lg45;_-@6?E zf09iJ)O{(aP)E>lcX+3N)uw&^R(S?yIMEixp$wng&CBIsW~V4W;kr2}yTu-`S8$q} zU@I%N7t+(Z{7aRSmKT5XhXGxEovWBt89i^*`|Tk^*FF-`zH(w;rB_-;cB8?*25DA< zuPq3(u;;2{0Bj`l@Qm}8GVnsvuQP&_%~o@4?qkH2x{dvejWXQ|&-BIZ9z3$UGFXrk z$?4e?u+wPz-6A#nw%IiQu1S}5wrsyM`kDWQ--cxk_|2vx!n4oZ&MwRIOzu5 z+;kr~oO7Ak=nfu|A6BarxsBd9N3!hj$!f0no)i#QTDy2AO5ibJVWujiOy~DD)2$Bb zkrEQtCg{d?7@<}3jf(GOO&+9F2NomwzBdtfeA+Hp?hTAM<&Ik;^YHyP(Sl8G0a|X zX6nvS<^^N>WR&0*I>s0uz@0+3Wg2e_pYw=(d7uPYfmcm zJ(c}2yopzxh3eQ+w4ULA?RGx(;uL}3n|GP5>Wzh9p%eB~Soto0*uIOL^}7q`-suj( zKfP){byDZK5(Ut`b4l>8_C5DX1LfwBDXuFxrO;Gwx$ctE!CzVs5FT_!U)dLMi>yvgg;HHS3T(rr|F zmC0gv3hD8ozUo11@Rp%n`b5%=zwh>%*Bt@C73m@h8%?MG*E-)De7*(v?K(qsS~O%2 z^Q2tlBo_|b^e#0+Tk-B5?}i3(Dcu~WmH20!=lB`+@k%V3tL%Z3-9`0_`HwnG%Y}w)A7|Ad54J>|gwx~TT-Xe@Yx=2D>imHlpr(QU`Y^T4fq0BR4I-dUwsdE3rtNFN-HC#|->-0_} z|Nb+ibOCw-Ky4!MjUdXHK;Hwwcnves_)lO^qL;45+cbil;LFMmmgRbbOOO~6B06Em zG1p^ez-DFNaJS>O@F%s$dfEGkQipbX-s_0m!!<=iUrn13tB&N{2D#cO2(K;LirC5H z^8qYbV_41Cmtl*|saKY1;at}nw_oc|pZG81#9pB`o@0q4kBxtK2o4shgjyD8$BvTQ za}zhf^()Urc}1FN=l9{>6Rc{;wID>WslV^jt(eX#s9zQ8X2Xmi@gntG?+>qvR?w$W zRx;O-QqxleSxL6)FXsyIa!|aSZ>xZxo$tf1pj`HuT3`d zorjX6SJOW0b}yc^kqj+pP<+hzT(5Y5f_f1;kwr8z=%T2kg{<_6F zwO>Ef+c}UUyFc;pj)H4UrDFGQ_A(swVhHs5*vTM$MMWj{x86N$?aG0*P2Kvd%Kz?) z(BN$M#_IJ$esfTy{UxO9p@WgQ9&}{`Mak~H+o@{^%L_r9;uyQVWm#B(c zuaa1iuFvC}YJm(naJSrEkCQS-9ap^c=yH&50^6wwRI*R+qBm!BGevP<{x`k3pbXfT zFXS=E(vawHxY7I7)}97f|AM>^8^5*GbNXks|+`e8+}5ECNZD+S9FJo`FoUHxm3 zHEkN=Z#=QoG$qqFsH(+v|>MX_B1;@I*yVi?YiD&IaLN)f8cN_)8!WNf4B*g^*yCB+2| z?GhBPa?NnkZ)eXxBufpt^z1cr5-7~(Yfr{iyHp3&13EAqn(O8*|Mo_M|%RD z1wuWSwlD3}zoYIr*$A(^z|6Wea$@XOloZ}$!WExzjN6j;>2DQcS5vI)y)GYLpqlpK zYs`=ZhkjO#$2XT)tkCor;{KZYV-2aDHk_E%zp&}pH^!u<9#F-)@_=gHOH=O^YDsS4 z-OrVZjvPnQGBd+lf_1`w0)$DwEJ*UD{@SZfA`2%c67(HV331B$*Hh2Vv^cvHjIP!D z)M?D2Ub7k-zC|67ZSUJ*JSm-j`{xX|iQ}lxqL7rJ$itr*WAQ8>)aR!&t%RiLk1n~g)Yu9HG5`n zklRoHS&3t+3J-k9{I!MU1eWK~KMXNZU)3KK2x~tq)>|k&%YQo9*QLYn8F>3#&({N| z-n*WIlcde!(&uQvi5aj|J#dgzVjPSLS3pLxWS6jaBIjmTSn4j#eb2ugl(iA2fCn3L zy;auCS!9Fo!q#mLI`W4|=xlbC&=towN}Yq(mBynmF`P5TDTH2<$q2c(^&KOa1UbM` zUyDI9lqZL?F=g2rc?fLxq2aP%hR*EkUhaK0kH`K};k3+vHkgsQ;auWe(!#Ws`qlB% zJ>&<}t4njfuKv=NPeWfdvjw(?#hpT)5eV{>sya~G605=sD#GL*RgxTQQ>%5gA>Lmg~XU*^6fhjXhY@--guM4D=rc6e-E(k+0#P;CUlvq29glQ93boDGkcNLn5eJbgKRfp zza+kOuM5nbeY58hVm@QbC*x(n3<$K|8@!ABHKc%>I-tP^eYs&fhX2++)aVd^k$+s? z`o#|^ZL|LT&HQo$1)+b`e=z+633C<(T{Pc_kqztPh=hlIak0|Z%+<>M~_2N*- z$`7pe$Z=B-<4C{N66&@{Q)7QEEjgM+s%uo(ez!DXcT~yHf&N3F`U2GJ@P#Mz7cPF8 zlgia-^m$>6I`U+nDIEN{NzMr-inH}2u7FCn!7HQd*zt>!Q-A!>z=K&bbB+{WZRy&1 z-Nj7tx&*{4YH^-WFq739B#~5(r3PU@&Uq!QVwKQ)Q^|##gr&5j6y)0;@13ASb8g?$ zZ#-KO%XK<6)D!knMs?6(8K^DqrLxe*X24 z#Eja9+F}y5a@bRBw+|6hSqcfx&~@WvN-solk>9&VsoYRLl2X~cA|FGlmUmAZ{7vXyC8x~ zDvVAo9tcxm!d>hnL=JtJJ=T>3yb?`B$iCF;=|>k0%cHR1pQ6mi_MWpeqH2xrcdr1x zI!_r3jnaiwUC?{yL=@$~miy|ZM0JKuKoSS_PVS7~x}E5GMiUH;b%wpBEs%Lx)9*1G zZbwu4oJUC}?vzuDr~1?cf}RB4VHS60tYG(=Dnfedc@zQ-D!b^I`H7$t-YXU`Y`a8D zTF%c(M(D}CU{;WxpRMet0NXX9S!zK2JYsj;)KvNYN@$HCuV`r5seZklCBW|b%w?+&sV1Tf)51dJ05y~}ZJ2k8UYL!6}65l-` zvFa65{}8eq1U#6atm05&iLSeBE$^U8AtXBW@U=t->=6r7tP$Gs{Soy{eIrN0gEOe; zdrgB3UUKy2jdv#xIKB0{E){joY&j|Ey-Tm;Kwao|PkXQU7ng?*i$`i0(_sHBm z@a92GIRa=Beo($M!=|0v$FHn_O&2mZ+I@)w2pcV?(C$R=j%chcvd9u&y;;uBikY*pM*cMl{=LdG7_`ENUuj zZxMQK8sL9aw?7HQQ_CJVuZ?qeGMWlDsb)!&J|r(6>CM~m`?lFEhEvj}WxuQjqn)$s z+tNn0n51Jm{*ro!;I2hbVkPQ<6silvJO{p$L!DBt^+EsntV}Pr+LXaViVSe%CRPbF zYsU|5nfUi>Se#d)AGU0`f@}@((8z&~9zx^1J?6A`&={<&)X9nipHT)9H|p~BH#UHq zpy}#B@U;Nfo!3~o<-Yv_vmdt;O|#taB#4|0+0Jd)bg?AzD}6=c)`*8l2Q8(fS6=aF z@mCO^`w2qv3K>HL@@h;=0BerKR4>#*Z81~y=l5HQ5wH#A+`lqY9yC(c!5QMkJ#_i5Fh+)8Y7-0l|n zoD@w?qQvRx|$A0Nm zvTW3a79e8YCFv|dZjUr{?@Lun*#oxv``%p z*u0k_ov&4g!Js8-=Sa`++dFBv--Iv!VQAue08h6<>29H7?>4vr702Vam90nKDXS;h zr=T($*Tw_8+8eSovh`r!fznH)ibkBb-vqem)o3q14*c~&$ z>5hNxu0~_A%WA5z1I{hNYHt&Q-?>vNV4pmT(#}Mv0$f$R{+zKT%j>8GT;!_Dg5URi z)-&w1WTDo>%iJ}iHcVEzA7~xvIezwq9X_ zTX_=(o7 zptD;Em48SE^;k%UHr*cn`NsYZppZjY-dp%t<6|pw*>mZrCJAvr>h=OvpNLoFI0##s zYwrY532j1S3G`Fu4`EBiGoRQWxa?r(@lE8G;-T!OBpaP?pM)EYL;YT>D;Hy2A7Ecj z72@id76`wY9V;plw|W}(#*Gu@Hxqo;olcdoAAD0e@`TOurG#$KaKY~rDMt23nWlWI9^+jktg>;H(7#D)OX0W$?dM)tdA0t^mc zYeJkqzL=k=VwQL+q&B(cln`xC=W~sYKjnY8Q zKhuR8Jdkbgow|OjQ#cwJ zPu$dFqv9ZY+d+H9xxm7<3vD63F@=}McN36tC7Yiz%{HF~j?gJESypghCi~*bk=>Q+7-q2C*6kLha#~{glfSdjI>nhq90`jI zDX>0trP1BY_Gc0SYc)HQ9i2(NSgQJDd{gc_e3CV)wq;;hqEup+h@Sn~JN_MHD4Hdn zIs!kc{~c}+XIKrtHu~`n@~8>uHw8|un$viyGfO2gQ25>Vh6~BK{Fw>}W6J4Cz(9>A z$Zy!J2W9s0)<=@azWL#ch5{Y{yzkO8>H4 z`3l16r1p_b7F&T;)>p#`F6h=?rPACJ4r|Ui>VO0?j9MxhuWL0IEQ<^?IB)MpxwOq+ z=2G(@#957dchWlO`oI(Ov7IQu%Y`kS96?^&V^y@{=DFOLONBaGdru^iYKGpb4Xu9&9DDSt_Gj~9JL-i&7(wb$t|?KS=hhEOQE@o3^VUlp z983Yc;aIUz-)=Ycr%d6kJK?bv3}FH?7&n{i4Ba}(nW#8y+&!@96*3qaZu#0Z=_r+C&K9x*rf(S#=pMk! z8Im3@>NcLl=-+(gzvyk`*Ou8+{)=O0JX3#OBhr5tkgWy{AouJH=fIF$3sT*rf0Ney z)xVn-b+R@68`kK03gflkF$4#V{bDVVD5Qjh_}70|DRXlTFq+jd>EfKaVHgP?I%tnk z8tN-Qo31i(cDk?-VcB%CdP<=!nTl=M(Gu@_hlljn*k5WPY^$*p4%0P~979$%S+Lg7e+darsvgaoe9}P`Ux4>5 z_a2@YRX5PxKd3DpHtZD=O4(mJFzbU4Y?^9-V;VKaoSt$D-Mp48mb(5+W)S@{R#=3g z1Df33{w85($8CP<904!?g2oLcHgRX05V7WKT#fg$cqW#y1nk}}4w zT6`Xq)zUMe09wmT&M3r+LlVx8az|~vC18~7W|qfhwT6217K15Rlh5#`!TEyLtVX7R zQxR1gp|pkk$GjgJ&>o`ldy6;$-WT<0V6qCyWU>shMj+L9D^I0v_&)eCN@eW*5<{Jl zhm+GV?S050vbwj$zIj4piJ|gTU9Ny|(eG`SrKrVjwI)8)+E)^-;Bj?n>yx@V=7hSR z`VVD-NcKHq@3=tkq6wLyjxSY8oSe=_jQ;m&+Awv&VAWocz_W8At<_p$P_Mc*JeDidu%F;!*(*#8Hj|e4|U(cq= z$D+@A=H>G((#*VbZ=Tur4MfXRgO#>KR`}$Gitcv=J@c#oahybb*yU-BJk;FgNSxH! zNtOA#awGR5-g?~-vjL_8wb`MDA*iOvbflcq}RC*1QCEa|i0EO-`#0A&^n}MP| zsw0pjIV&MkHWt09+H9m)Y0sn|_uE2Zg}YdWhj`AKJWmL_KOkT@Ej+Q`ZQ6P7JBsom z#BS@*@AF6?LaJ355WV#1Oy$Vl;H|@YeNYUuuQKOO&4=j9_8jPQRM}-w=t53I>iAL@ zJM6Sq63(^ki>J46X%|d}6gC$)5v*&;mRDKh5;H<^Za#Vr&6)+YBiLZ#mlnsSh1-Oz z{KM2Zp)JFpyqN@N}GNB8C-?r?C$xL{Ym9HMUw8 zzZ+zPRkJa!R%@0nw_kla1 z#G*@W6{o@9Lyic;?D1fG7jo#2L8!+@dDCLK$%l5sjPvGdw{I0?sN|NIvg+Y86{{}I zU!6|emMYG8ydFLdNz>4!f@*x$>yyhO;w|R#i)4%#6B`yc$IiEXcYm@wwtRBmkM0|) z9T6O%BJ0{$L+F?@l9%Zc{Y~e$J~pn#XBHoH=qWJ|a&9mBtq49<&Eav;8e~4Kr`L*L zX^-3)Z_mh0371zVH5IsyVtXtWCveqViFb>00VHbMbf9{zyyQ&bFkZP;zwaNKb0Nq_ zR+BPlbQmQZ)Mlgs@G_$>t&!)8h-R6dTl-4kDc=(E={KQo11;eb~@x_Ju|4 zhmEk)C^kln8Y$E(u5v!0)QZo(m=LtnB7-U`m@ay?X?>hfI4yl=#dSj%}m_yzGJ zi7i!IjW+p@>+!kS0HZ{nDzQGbYc*L&JGQ^@BAC-G_kN3U3in1!j1CUY3 zY#&`Lsi4c#eh+jhEq$tpz4k~pLO+N8V$^jqYCu zH2Mr5w52zVL_31ra(PL5dv`ZhR$ps`CU`|r4o@{wi> z%GCK`9jEA-66aoVxu?@)HxFBN5T9hG7ku05{I2hR{CHDw#tlpj1Yud@!?-DY)2HdN z)fHRx9Pvf4Zbo*>O53sX8m}{UM_W(IM`xz7_$xfWw#(@o}}ZODP6Jw5Oy z^Sg-O7i|z!-+HCQpDK91oO^@hPTblJ>yF8gD7Q&ud!Y{vJn)yb^yvDc#o~UK;x4O! z!}Cq3y)NeGl4VOvG!|IH0X-Zk<#7Du633nYWWo_it=R4Sb0)a9QVB1RD}tM38F)WcSRRmi5Xd+43a(@i5?Z!|pre!@ghN>HWLnrdJ7jND@7qZrFP8GSpXTYETmkFQ6<^ z{AW`}%>MGJ9Jm;ZhhvgJ@xkCQEF@V3WYH#VzpD!6VP=7*y zH&++L01&Q*@!DFtXKdV);(Yj)FKWC`O;;-(g7Y3da>CBGcL*~)*_ewikm zK;Nr@kF*l^nSAb zIKEYQ8V@mc>y?Q6ch&>=&))6ezKbaRP|hR|q|XA~sQg!2uM3DQJJ|-S3( z*i_nMAs3E_@^Ooi0#R9YQU zGs)-2q9!vojUH2dFQE1DoSkJr*yq@5!XlqsoK zw^Vd&!NVly_;5-crQX{sAp!QWzA?CBZLxPI?h$5pSs>E>X*M>8PWRCK42hj5-2hL& zL|tx1m!ln{0}3v0JVJ9pUmkBz)*6m?CQmq&)!Upm78-RpH7BP;&amHbPUruJ{DOkC zMY=KAO+hQzy4@2Md2nAgj6O|l(Z@Ji>y(w?yfIPC6J+I=J|(Pg1+(b3f5q6ZC;5UI z*XxL__zD#M*Ww?r2DvKtT=O>*!PTCBZU*;fQ5wdQ(YXBMhSjaIRW+J5t>g+LFWNhQ z)#|(DaPW4`!r`8y?;r&bk{cmaVR2xr&oI#MHhx;(SaW>K4+G}?KL%){vi$%+w#dhN3zb-S9p_Jc4d(Uh!#(?o{NRZqwwK7R zpNK``1pN*FYJ zAk`q%93{Hij}JVz{8&+ko^)Mp6VDn9t(agZ$OK#Z-}TZ|wxq+>kOGsnf{b*HU1vo3{c{LPzFW)z4#PR}Z^O4h)#;5!n zBD7|M3N8l6^v``)!!(P|UmmVt%Xrw=_VYPiXgki!^s~pGd=lf81Aq%YsY1)GD)RMp zj&zqDFYt1du9wkfd2K21@B_4#mU6s?_fN9Zt2quxT~z2r*7TKZ4Nlm>F;D8JPR*+9 zO^jV17wY27BKFjk@t*$DznmJkY5UQ{bQ8ul0XGdT6I|pZ;A6m_FaID{^F&v zGd`khfWnw_?yB8EoZks2)O`kf0rw!plEnB_9TueIM(qT&_mcmi>n^x2K>FFJS2 z17~$cQB!~Cq9(f8ivg?2ZM2+KOLG4WbzR*rRAG{p=d@3tGZ)Otbp@S5x8KJNs`^B? z-v~M9GQ8nNQ&0aM_+?LPDfaWT^}-q9HjLia`e2C=ys>e>cvcwKC_Bnz zspxWPjC#P7MFTaoAVSFTeq(U#mo%9VYnjbw=={ zklA5us!bqQgB6z7^Kw^;di^UsXRjG8l)>GM1XdJrfBf~z!!p;@BFL$*5J&nHw@yUs ziEHt4;4#+dcwh@qX%_2AD^nA_F*>^_L<*y|1vbhaw(63Q+kW}g_|U^=%cWe%m5pZi zPT7Dyu2QA_(RYH2u^Q>z7RnNL+JxMq52s$o>?v-* zQ%7aAkwX2SU}Br6&8=KIq=LV)kZM|4qr=KyJrE$UyhQW` zw~DjKXATxyWKXcpLiUFFJ!UIwJ}Sjc4gO=A72aQ0SP5TKb~4JwnYC%Wd^LSfBL+2U zhPu#>oI1!eR@pc2J^PK2>H+{neyh>h^4g>#oaXhR^Kb?4^86vzTg1`Oe(PtPWOS0v z23(XCR*`Crok(16Ed)WlfID6lhr3dbtvDO?QxBh&LeISt1qZ5IWS4D*Hj7#E4X$wg zB0(3ZHF(0iz@J%J~FXJDs@sry<^%g*nT4KDLIM-GN^kSMV z7p%oMXa5-NYfUV%YT-a9PCd70h1Dwxb))hqa15pWyE%q$2J!0wNpP13>%-1ke!fmc2F^tb7L2YIr zH;idd8g$owVGx-%AZa2Qjt~B&D@3p{ex7MiQ}#aL;NZq9FKduP^wy0PA2{V(+id(V z>&{>oSB3)nUjl(F`k2mTQKK|7sm5T$KmC1owX`h?(?d)2AF~8G-rO2_zSa?~Je(Mv zsHn=B-hb#*pI{z7IquoQRyhq=L~qs@ zjA+hLlHadskRvbU0TZn&tHY_ltnNdH3CVUpU`?oPlSX_+yxM&7-07^>CQCu2JwT>4 zBQ2=bs=^Sd&h&<3AAGDUaDK=+6~H=d@RiL8HEr^&cN$38LKH86g;8IdIj@~UobtXf z6dHVICS<2V+f;hd_6oe;gq6t4iV+?=beesKHhuM)+PrL>01Z%Kbe z4M^A)hcUA@rmqj``;Hm@k^sRIEJ>fiNdXS@Wx_NCc$O7+c#{pa_@#PkMZ0|E%3Lt` z-L~guqi12~w!$oTn$HnDmkrZ>>GG)J1J{=KaW})`M z3##%ei^PVm@m99%P=C4hgLS6t#G%Zd$xv*lSkmq(_YQiwh5Tl zC0;GQWyUq}pt>vm)+xh5fy%v-56!Iw{7n*eV^7#2G2_$P7Mzmg(wg8q^Y*h55?}a2!*6xS8+9#|&|8-sM3R%#jn-0Yec1lr54wSHvNi+5v&$+ZNxqh&BM*Feh ztAziB{I-5b$_XpRPaP_(Y=33VUff9K3B=VOAt;AHgLLL;MXz` z4$d8FAe&ilTbd*vo}149%ean`>rvj@QL_X7+^1Wi?HpmwNlwyVmHWhY zw2X1*HdOx|*B>OethI0~%+W;IHcZl6BTOG0#$?zTj>f1hyh;b14bUwkvrmfxU`wPt zRHNQ{Au$Qgb>|N7<@Cr-zt2hwBPUYD%a3O9m(^0pH`vE8Rj%_);Pi6Xo`tU&ezLw~ z0l(6u>ZtbVakr_&WF`GgLejZ_=&%Wg_6I{fos$K+H8>qbWAH-Y(C%W+a&AyKBX>%C zQ)KEkN&vVs;%WptG4`;lhQ_IPeF_Q;2q~(3cul$Vt<#E{YEX7ZO`B>~91ZZD91>`S z;Abp0}1s6fK|lwebPoj`!md(IFZ!0%kU`goS_^gCd4Q{G;FH20B|nu zf?WR+kbKQA6eUs{(lyka(1c;T6_7&6@KLgcj6jZ3Zj|{r|5`BKq6&N98Ibp>MGLum7OnF_Sy2L95 zd^fhWQsu|41;pu$ejPUXGnNWtqkrm)OM64$Z#?b){syL@X1}H{gLCVy`t(r)1hTCG z+k%A-f%K*?uH62}bqnoq8I~&!2Et%B-o%12Wq*S#Fm5fAB8n8Y zz^lwBTK-+Puqy`row!>pxJ$lu38AKrkNVwT#r|N^7Cu4y*ZJuv&lmJ`ax#UxQh;-5 zZ!C$LfvuR>N1Cjve^z%Ink!K?&QJGGT$#C0c619)$pg7O`o)bj3NL9AU4gcep>Cu` z3b(&t75ev+jF{{y%ak=gqVJ-`k0?#aTpi1WFo12HNakdf# z&QO`p1WoxHZ0sQd!8X<&=y_rmJH~6NI{f8ubx(@UcPx$w5o)UG*Feg@?y-5`Up)z_ z$KK^%S$Ya{hmf#y0s}X}+qvB7DEx@({ZOc8aEQy~GZoVHZxO#Z#(5_-WHH~{rMs01 zGOesPRh^0e|J7R!oZ6f69pJL*$YXgHgt3QA7881!avq!P5b)N>*>zL5vCI-&-O{Co0rm_zG%PG`&iM z=l6*F%ZECe25BI)fxAK@Xgs@DHnF8@tTW-(jn5~=9-wC>-z>{iY@RYb$f2rSxf;`j zyfn{V0x^E^-;CjkCit}aVjG7ul*YzCm|RdN(aMxMczKv&hzRe zy22!dp_WCzWaTf7vN=&_PHwJ!*HGZG=Y#ECNyC8;wJ5C`+w7LMkA*!vuE4WZVqd?x zcRvx8GSw=F(4%~6`&@hfpeZ+hm-nXpl_epw2FtE9A4oN%BKBw($_7Gb9Sl>{hPIn23|7 z`Gnb@p(h>}L#7s@1Wfy{+uF`ISY%%O%dq{#iI=}7dkN&QAbeN}Qv$e{-Qoqxt@TX# z+y`ISjXGxJZUXcPKx&cC&}xp{D!1WZOOcwY1z`gG$;~Nd!F;*k1MBbGE=eO_@kjYX zi!S@Df=hvoIYy*mr|ct%!L{r-Hxd_MV#&$Ax?+~=P_MUCcBS_8t~`3nhQEYK2Qm|j zmy4xCosKlvXSm4x$D=P5&7kw6mw8}VLAj}HnoD~?8i8Is@AWF=ph+kr49_Wl{=o2e zwSae?OfU z!Stm#x30AObn{XVSly%Y9SE%&+FI3xx%*4IKE{ORmfN!E^9_!pTRAPg_~lmH8|^N7fr|v`^0S zi0sNWzwDcqt`hb0w+nAX$_)79){ABk#+^_;iLw^Bksou`=;Z8wvmgvnFlgPrwE@9Uox;ZJ zFH~umnky?L8iydxywbh0e9`SGP3nRC$2XnpAjyG@sSAZTxg=9XPWTXjU^eR`ct@2uM;SPsAjxgepJ`~;TC1p=f!=-HOp^;N^x zGCugxSDPximSZH}onei$kL-`nf~}0ERvQt;Dx`&t6*FxMY02N*ORahfV9yi;7G@Ph zm_Hk{bnVggZz@goXt!+*$Sau_t3#$diD9YmquS!&EitG7``7c6Ht=VC@Papo>+F7W z|7{Q>xvnajzgrg6gp9oj|3iFk=klM#iIHi5#4}aygQqk=y^2@tydfG0i7niQxT@gz zH^h^pr2A8gxcH57Q5ZgZdR@8-!6F$~<4j@HRG)(Rms%Q^r^y~4{xrjnfzm%H zo1srb)0x>!?jrO`W|CavfXC&58Q=?8&2iGqslcd(* zanM@u7s+1cW?tD|2}%*&iBh*gq1GD<6B7U%4NEM`+eY-o=-Shy5tr@z2jn6dz8O^0xG`$ zc=`U#%bE2%)jE>clX$i*SubnH6?9H-#ia5SI6zkjmRvC&P((?D^c^MR?nA|nd&Ejt zj9I-x@&379@8-(ruwi=)AbGIR?g zU)7UgC$7bFd(7;2VDLfZOA)t{fTk>$hBJ2EeIFb#)hb&ri7~A+RniTJx*D2wlTLQ) zF29-{s2WD-w0F%gA#y?HTDUU*CazItR2!R<_^q8rgD;p3Q1Ngz{|njE+Ybdu}=Q6fufVApEw~DCnKcU zWOB)KPsl>?P9HMXSEKe{hvO%5Y#yt9yNACZz&7z}f|OdPL*6n#F8<5F=ln{g?*C}w z15LkTHD}3Z|9DF+YiVkzzYlm`hmZ%GLD-lBisgMr??L=_r=L*}YVOdItgRz~r@H%^ z)`AYv>)q5w_sxD&h1frlzR%OtMQKjGW@dTAKIM0GrX-+~f9OK)2x*(8IYNZ2sur&-1*WXC!#-@beSklio!L#o4Yh5AEj) ztB)5wUcPD~S2lAz*(w-ptY0k&Y&|CMP)6IN^!G~zOn@_0iXs;(7OmJ6e`}G3j%!B0 zAI>5iY{M$d5cuY^Xfap3GUFtMJY0Fc9Uv-9>8eZB3lIKJ`t`eZYTPwlZ8fRktHe_0 zuz|^!1FFkzauTWGKa`y+wV+5&Tol6gf>-=pZ0Ll9``o9oDvIh}k=UGEiwd z+^lVuvfq7T$IIY4ebq@}sDn&q3wwV4w#k_|k(eLVr@rz4Sa$}&% z;*tkWr!Td#6Uh&_6P31_mRgVD3SBh?1!k_O-nf6+rsBjdeELkE-I9%&ki24oiB?S; zDRH7gtEO%!?~2YHyW%$@0B312=sSD_iJ)B!f0Q?a&EK4j0UBTUupNXeE5?BLE_@KD zKE}p@)lSs=iMuYcrtsqQS~&I#1~?66BY~nV?Dbe<-L)(H2d8+?MWFnZ08M@$xHH$X zoimqRf1an*I9b{hM#)jK%QWIJhGQu6AT9~eP}M;?6qb|wN}1m9NJd>D>mlk}Vo9fZ z_=Z6y6D9&PL~Bwwd_5}eig(9iwxr-7>3Fn;QrgBaEE{}Lf2um{EZf7B40UEwC%k3>H9*ZWM6?? ztX|#^e1~N>9xaZBz?5?9w=q{CG?mIYn{AU?qXBKF%CLbCu;sv?!K2&Y-LY|ZyUtii zMNK`v5cw27Mqq##9c(N9mE2x>=F8Hp6h7&xU_nyw#=4yMXu82VLh+NlxcZ4nzut;^ zByNsa`qH6{tbpFD5YU2Ez?|QB_Ogh#1UZ@C&XWUC!4V$;u^6{Q%LHow#22+#I6eK7 z{7V$lzU`N^!t;Iuoa6n7^Y23vKob1}X)+RC3hZ_g%#N}TKGwrQ+8EnUssNk-3c;s z7jJS@A2SL$k{PYSxD;ccd-1W&miU%%Mig2Dm^t)ED3lZ0ZveIgu&LfUpBts37*ss> zO|+xJ3pgXbh#*FhKdT4^1*;2?xyLxuS|kem*Q#ocz}bedr^Nkx>DLQ_7X=E9hqQ4T zd`tUJi4|DfRS06d2p5-yR7sS32+TeSxvP*bEGFG=yP?t;F;rdtQ z8KNq>CUYp4e0w{{`LDezo+AC*dCf>9J^LWPlUz03mnz^?$xpg*$Ec0xc*i|8*uD_GIwGKk` zK4NlFAEN?G-e|lJOtY1UKN9H0jI5%smf-cUo5hU4#TreLDgWxWb_A`htRQesj7mcu z-}&D(wjM4kZCV_E_uc&9wwj8+VfE%WiT%h`lM&Io)Dn+I*$?)44+ zZSkVh^-dGpSFF_s@q5OO2H-dRt!v(2Wt9`SXPNM{7XeOpHWFgYMi9u#ikREyM+Y*yMk>@ z?y-LdnJyEDrCGy^`+slw5cmtcQZ%tdQl62w{&R0`2a@Hwj2N&l{q~}BdMzslRXZ8( z5su&ux}SBO^XUZV=7(>%RE6~m!#hvXX~h(UjueZeXUr2mFM)6Y>dFL(C=dCqAFz$c z+_xMS4d78qec>k-nTl0*yWdavK?libHZNB%anF>!F$6`xsu({_JH=!A0jvHmFG?N{ zAZrfU1zLz-K2^sjs+RP!^S7qk4z|Lk=S~ikhB?0{0MzbRHCbmQD9Khss7yb6bBMvA z^0BTMv8gGlXt7ji+&B#dqHa`-)diD7;PJMQP`tN^Y<@A^5Q_uT77RMX^~78|(_sVk z7uZ5;jJj=4+qdVxxicj^@zJnL<@a~jXO=vHg#7fJMTbP2;GV2Cr2KAis%>e!>KDz8 z>0&W9h3p^uB@L+OWg!-irx~)Ve<-VPSKmpyYV^Og8BhTll{=350mc|~09GU(+8a}k zE>m)BpYh?rZ41qlu4LcBh!w7@R5Q$5!oDx7uM*fX@=|`}yD!mwkYuU$vh*l3Q^&5y zu)5?Y%t~G0?B6pTy0Hqd&h{+W5TMaFROEBb?VZVz!gG34$u%0ot}exfqhjXthO|06 zm6xy1+KlJra}9VC=9T_TrxI&YyPzJGtfP2+Y$MhGI&)x@gB)mBc@$2UAAU4u%kyM+ z+<-M%Iva1O673xirF7BW^dF0Pw2^6?s)kF&>5aT}NEGVM?s4%pSkXAP)=e6hVh<;; z&@JQ^nq_C4!`uu$ncuU!zLuvFzn?$IBH(f3TSLTgQ8zoZM}}Cf9zl*%Aj`R%KQaRe zh0OeD3KxZYU6N-ZrW7ydbxx^Sm#G>=&~B0*nyG zip;%}qf&%yA?7NTkIih$TN(<`j&`$*yYZp^?_LN8IQ>k$of@YS&CmmWCjQ&fc;tzj z9$SM=g#p=&qgkR^JV0<~=Nta#VKpwDmqZhGFIWID&IvsaE$K^t-fIXDev(tRH9TXS zyOpo$}=9 zj2A6GtMbi3Vc3TViv@!te|^2~!46cupy5{IL(;AX+H|y|4u6W3GT5wINCSxVGp_91 zTDR_$o%eYfBEm36pvCR4?^OK30$4_th?MGjQ;lycNSRe~f;LX`&Qp%Hl(RbGy;2h| zCg{!16G(1J0y;dqZ&GguhT+=0HwC1kItTEzcl0Z#bL+0kxgJO8(^Km6uJfxA_D?BW z9U;cxNUJ-Zu_~o<&xGM!b1JWjYT;R(KjZppeX7zF;_Y;fIk#(+T)1uFRI@9dbWfyr zVxjJK563zfZ&D>M_oYWpRy zHk>Bea8BjIA3cn&^2*(y1}{L&@m$dU#XjmgbyL51aeU-DpW}QTtG@WjS*kj=N%2x1q&uZHp%e>{A)_h#tTK)ACfX;BE(e(p`{X;fV z^B1*MNamZ-(3myIV)wJXcd8+aL=AriTfEmyX^LvHj-Nc@(4lU_g|MJdse{l9h>5|t zE!z3+E!2vMnc^rjugQ7LD{m0X^)e$d>LJZ4El9{U@p_JhRtBug>Qj~XuLBv@S79E& zmVm>~j46A>YEV_3czsAy$}T0yyvS5lvU)0ylK=2lqYxz@(5T}lRx?g9;pn)}-1nXO zk0Sos+@oNdJY35K$Nywp_9=fn?ZoZnVOl3L8`0YEfhq3L5di4s-FWrGY?Qn0KQ&@k zn}5k1s5$ti!1#;r$nG)**lXXRRl2P;TOz~;dUAiZPsO&dz#R(Q9H#e$8*6zgxdG1bUA^mqhaH`419KxiyTdwczM^^mWEk}>s|QQ%RsV$vbbXPL;9UVwr%zx%D0k~# zT~BnjhKy%MY^n3Fh!xFo-0QoKvTc78YSGUajW-)zJbvBUY5uF}rlZYnYyqRWs`G3U zZ3%-Df8{HLdMdF5y=w7#YLwN*j|`ORWLjCx@<=6EU7&r^CBlVuBG2G3?MA`+<3WVl zjF;4wzc%aycfd?>A|+9Nq_%UorX2Mm2kq?EBojYg)SDWBHO?_QKVsx6T*vboll88o zY>U>#xEne{a$E zII_ZDIQ-n@Nq1e^Xp4zS0xAm3rD7Mu!I_1i&Q;uz-Dl>R+uUuer}m%er?WP=UkrR< zs}C6w-L?@J{m=BGl*qrcmt3`VMHW>T2}}pWjDxoL=FyZs^@Ctm8f97%H6to!+FU^G zDd;2DBZoTHO3&L*%t{nX|JJ=&!_^%3U%6Cs&KbMbK4LiksZp)fpLFfKCH~;0GIh=*(A}3C{l0`wv&HtK-KaG@M)wflStb!RztbavR9zCTyRvrdkg7%H?Wyh02lfaf*?#=|fxnv86D6Wf+TQ&qO>u>%en6&*I?Xq^7wrGYCmf)CHnz zuB||sqnvuBtXh>iD#bNxf zcAL*BdN;r{fd=r5!}rFU(ub|}As$F_nbkV4@xS9?UpWk_27-&1#Y|ZoL5utH9!{y+ z#+z-d{z9**$YtAiS&zIJKj)nF1y=m#>t#KUXG@p1V(dSSmEai{fCp+q?`wk*U0JPr zmkZ0hUER7HzcF5yTM`+7*Z=0|b5H&SD?GXL3%L05KS;}XC;}g>ura|-vk|V!mij0J zzx*E>solIIz^MJR?hy{P(u3$=1F;x#v4M(L6k};`VsJ+|BY-Dy|3v@NEX}u&oneY+ zE(O-k3x)HX%!C@&INEUp1O7PoHvY_{NHZoWulwK5tDj!Qp2kLvNIAJ%6E$hu^$8SR zdc(){-L_7|p=$rK512~(g2Q6zHsRMoPEqZ>aOG>V(l_92IpfPuEJFEH}@2sTo4 zkv!Q5@0a2o0=C&|jhx#Vt92Z@oib}V7frxRFI>~xzZUIX5dY!q*nIHCRicp`8?1Ok&4Vg4yXZjX9A&Owur z!NfmC4`$oLn0(lvWz9{p=nSwq^8BTG6#0$kG7VX)^^WymIya{LdL%JCB|+68`>6Ni z$bXX_Q8jKhrWA{RwkeG?4oe51gcH{wI+(1LDAxCVxSwj52^V_T(el0KSqAi0+q>^iL_6b5 zdL%cYmRO_MqRZDB@%Nu1A*g9EQI7Bd3wrFB;rF^T$qg7{YGERv&Sbx5p}NMonvp{1-V+#FYxx zo^zY|Ikw;~YoZ+3}!^AI^FOT7!kFvYHU z(rQp}oq^KYrvtD3cN^U~N+V1$Ky1~7gP6boB+T41`~5%%5w*N|;AwmMypX&9_?fwx z-tC@JIeW9Iixp9lx9VS;CkmeQyJuqVU4`G&RwY^*Ltd9jAJOE(mCY-g>(E9YmOu{P z>7Ae)V~vKzx0vm_L=Iz!WT|a!CfocYVi8@In{S<#fbvBpn`#yGy|Vs@;5i)63i+?b zb@uA@cw>{le3N%#RhH=4oH&Nx^CHJBHBzt=9?WCM*+2Ta?1j7d8vE#f^Z$7U zIXy58H(;FIJKLw7l*G8{8|M~}wO!LpXv$yqW0yMpO47?XzNA%(YtJ|sap{AbPcUM2 zpuBAEI`oucZUcb_`%W_>nW$2Bn6u~dZ!af~d~4!)Sg-4ru=)+}P@5ySRs)A)!m}pq zW)Jou?7TwWpx+56^5v#RKE$cCioof)nHJd{dH5hHodq`wuLC*ow_TidUIR_b2$GwAi>jW8r()Vm0q&T`%=64kd-i|v zp#-BfJCNMw_k}{Fws+$_B9#JM%8@7md9mM{e7HSJrMVV2c)s19Kd!-_SPn*OBP+ev zcBIg|FG<_=bF8h=_ypB~gCgLLTQ6Il#(r1=WmUyN*$;Ta?7~i?vW#ud_)kYru-SBNtcOda6;tKb>F)wIvU$e^M+AO)Qv#Wi- zew)JKbZ-pra;Up%h@1QdZ-Rs(D<+lkpMpi)ky@{OlvD#v$F-~NyYsUBy;UV)cVZ^I zA6j&)Tx`F^mD@U1(UoiJY;b6&q{gE4KHSoY;dyIsP@;E>b%HDiU7voZ9eVyfcSqSG zK#_9<_qsc19kXJn$mY2D-Q{D2=7-%Rl3(g1g*^Ja>+S(A9hC1LPHZyYy4aGiS}+iJ z^)He4=)rlu{Dvr%opWnLOSRD(!&=N4(e3bj+zGoIUVMIy{v{%(phCD0F@&oWMGv)|0t$7UJ3ODIiX$H})XYO!_p!-7GGkTYI;DC8zPO z9bL0jUrwBy&#I(vvB!{V8;pX<&u~YQKbD=jcdiyxLu@JX!jQ9d@u+Kur1OF*7_+iX z_zgeiL+EP{IM|mtT%+%8w+H?d^&8Rg^8=cLA-4|lD*xEnz5jaRQEiqoaRmUSHLTAO>4(Fat&Qvl@yN;GG6uP4T7CfK2j zp80KkqB9A%SSuXy$9nk&8wUa8>T-G!yJ`}^-Z^&e=!R23`{6GFOisJw-;Rjil+$^; zYwH)m=VtC|Rtds9mw3{mvL?exdh}mi73T|o9%zvI7yUh84su2#HIZ4;wjnuHB_;me z_LKOZ$p5~x09m-pXy}}mo{{$;&yKezJnc)L8nXmdu4mb(5~;TR!*k97#i3q(4)r0# zy0<34&4Yw#SQNOL@}BNh`X@OnZ*#-aLAgb`rc=HeUplS|5kaw^_uhj{tfYk@{WA7V54*)I?7#Y@N* z0!7u#pFu|O7E-v)=z(?PjA7@PNw(fiDY^asP#SA9X*4!@qtbPy7uVL;zO^0_M@#p^ z*1lipDQxZZ9l5li^MdUJBGCU}slwGzYLE6*;tUyeGW*R*qRYti17Hj*No`T~X~ac* zpFH=w9>0@8Hm_#)X0?%j)Rp)0*;tR}_HI1qs;;m25`FvS*aJ(Ht&_jp{R1MnGrb*d z5$s7ioULARJzL73FsDA+TrzV<6lL)MUIAMwxrO5lIie>YB6?N(e&@g+Kc5>QB6h}S zz)#ig3V6$izz*o!>0EO?ze8B))+gYTQN&@~?LNfnhTshjfZH#43;G~GH$LdwAyS`W+`&^jcQ}@ z)@L+Y`vE=KYzx8sjHJYHhN35eS$IY7>kr5Che`~vZ=snp8(MVR1=5YYvvb;gqaviy zqlCfNk0JD|_=y~go7!|^WRleoHNkHl9zc%5ed4<;L=Cr96VuQ|@ zXa}-Z&g|f_7`29_4jc2k(sZwyllT{AYokm@Gli8x{brI@FioU)LblT>A!zr}$QJpq0?#cxWeN(H$Z!E9|e z`hSN-$L*T0znBJE*A;MXoKWXkVO18AQ*h5r?mPoK!&PZxP6|6(k@9AaxU=QlIMx^v%(UfpEOdyk zG4vCeYRt~*!QNY~@a=@c+e#Sv;dl`_so^&lpbI{Nwnw;u^S2FRFO+=J-dP*W@ttG|fLD$gy z)CS2adc2aokXwM3Pb6^%XDWaCfpu^ngRTNmBd#H8AK+Sk~0G?CjLD^4) zy6bGKW)PGUd2AWlyEDoQjx*xl@rZGI)bK_T$uXfg6FqQ4f>g9;P zh{2;rGNzZAK_0abavwFu%GKAlg*+Z;f6LQ;r&knAcA!rUF3xm}|7iJgHrUGo*xj}l z)JNAxMurF;*ZpVG+Ptn-xmDmD#~SwsCa*@E!6urp@uLgW^?ZCqW(4s`8eA_YWY4#c z)88|{x`@*mDu8NSJj4538yF5TQ@WElcp}j7XNBQ>gMP2r z`sCelO?UfmV36tTJ3W(eA@#~=AH~kg{GDU8Rkh`)27lZftV%ic2`Xe+lc;o^hT=rZ zb`9I?y8SiWTj#%T*5<-19m;%|92c*tVMhd3VuDHdPwp$cLF}PuaIyq;yca9K8p0_C zyxxo2#*e>f7;jSq@2%Q}5aE@+sjH0TMts1TP4SN^n-dXA-gDr^yVV)TPLnpE1|mAa zf=*|9?=_a--R-d*xz#s7S1X@zAli7pY?X}>n~F>!(-AO%O9lH2I&-3#v($8_^Qk@? zTg+wDaBd8;KWvVr4G&MOma#UiID-*PRjiz`GXEHJ+$05WkQdD&3b>~i{#RNa@cbi{ zgAN1f9^OZh=^8BYk;0>CqA<6O( zn=mA?AB`~l&nHljI#?F3I3wL6qn#^J#iJ%{!;@9?<;mR-8u9d$t0k~0 z*1eG6`**k~W`_tZCL4?~PD7-SUZNA5*6W4QrhjtPx2#7tW)h2;c#z?I zCfEY%rv#p9wfAF<0?MJY5YP`i#xB>j_G_OuvRCEU*}}-AI??kW_;>=5;%W#TCnr0N zYEIjid4K%_c&#%vVGc>#f4UUFK7{aHGZ??STg4P&{f+1O(fmE+)G6P}21Btp6^;p1 zBM~Z>KpO;k-UI-k^g>OloIT=>7v%e^9iP6oD^wsjVkh}c`Eu#X(Tc*BTk0Ok?khTV z=9&ZiU4uFn8UB(rnv)z=2Ac_!(9a0KhRIX>^bPi^iLhx#pC+i);WO{lAs)EY1j1Xp=WuS`y&|?DQ0o)6}PNQ3Ja} zw}-^JnY$I@Ib`%5<8R4;q)?FIwD)FhN+P z&E0Qy_Rx6x{ct(z!ZX=1nrz8LRD+#Q-VQ=!Z*_59Oe@ulb}nU+f55v$CG}Z6-1O6g;r;Aycw*7#6LZ zrp^)E&Is3E-Vv>z=blHyT#`ws7}_FHH}k z-7jhzlQl}ei9A>dI1Jod0=PFt)c6&nX7~~UJKb^b?Z|rWuZZ7>d&Uv~7bANz!2M$m z;xFI|Fx3gzic^6$;db3>a)OS`Nh7uQ< z&W)Q$4Qhe+n~X*|Z63F@4rV*0I(ez4^LOmN8Jc`afr363OEm6QBizxu8>R9Nt+wCGj>?xUL`f@9 z=lAy$&`xgs!|Hd;antnd^GVTgQA&Y1Y1O|+?4o`Q!UF&K8;(8bldH(RRN_XB#)o=h z!@u69IeMP6upeG~@^YjY*xgR_cFFjO-iO76aFWI!csX-u(WhaOGOW9^KgI-=!%H_& zEuOdFLd-XcgzmfqS8=9ndV*0fo&ZP{-0PL3RyiZq9cbD=efVMev0k=WCATJy8y7)b zrDHR$KY`*uxgTH7y!)%a6uOat>sM_%E&ea!qq@4wXF0>{>CUdSnpZQmCxC)}(GEoR zJqfa4?xvH+q<@{HD2tr85KpfC{rtB0=+81p62iMYQR}Jf*`62RmqQJrkPMByKvoS{ zn%b1DnYt=i?b~EL1>2tBRU5BS=&=w)hIB#Sqx$=t>+D>E(voC@+>nL{ne7H}qLSig zGuP-Z4{AOf1yR7A#~p@R$nI=w%*l~TI&|)yrg={w%bB}8iqG>H37+Q_U);@Ri_%Nqaks?zayp;%N8PdOOxnf7F8*o)}OBg|i=I=cn#I^Yu9_doM1>KD%euKQr{S~J(&&(g$+Oclx`h-ijPI?zWh=gv@lY6&XmY_&{MSm3Knk3;;<&?#B zVx;-Hw+ycQjQPz^Toc^Ay8oCLr#Sg6&Nyd`6+fGf>EWdH+PLnI&EYY!+a|WrkV+J9 z&IJAm&{$>}Hoc$aolzyOF*c1shKc^@i~pM*gfv?J9L_kga1-y2@Yu{VdH#9A=b6g2 zw4PxC`J;?u;dw=gA=6jEdQ=_ohi`(=l~dK!8;yMnsy=rLBkHFkDlczvnr-^+f6BMF zXeTK z$$o-w)-MJQxDIa+IU>4OYvi`WTNuqYzDu=OXI{1YStAFfC#k;}65JZ2J_9P%;Se^8 zdH^b&D<7k;@KG9o3H~y7i?1#eP!lD!YSZ1~7t2L{t}+lq>In-hh}HM&m)}Vmm3(U+ z|Kk>aAn!cF#7H1On)keehs=bV-Js06b6eTO{O!u8_B2&yrVsj;;U$k-3RN@TksQSH z!MjZcP2zUAQU8j2cFvz8PAg^2U0}3cD}J@BnJ+N_ZpT)7fJS@;M%Y?>X|>Zxs=|pJ z)w21^yF!j?$~$c5oi)nAodqiz|CNO^Z3YPr9^!V;dBN8-9^z}oT+v2NA}MovhifiY z;5Jfl5141L)3OnWKlWC&>53!9Pruxd7}?r5yJ*J~ zNFN>It`{uatccRNvkTis{$h;zE>`n=JkpS+o^y?^{ny0j%>6V5L-4ZPk|+o;GLhf) zH9E)hwz|DZ!lmI{wJ?@vUfV18%BH0^#|4Tmd&sMX>aI+Qp3PhEP(i~KO)WCPV12aK zs+`zn>Qu8_c4GZY6so0U7yq__tv-L%VW!a{TQr42U`T+>#4jO*6JfRlL zuPKh-H!4$`QyCv3q@NP`da#P$J+&EyIbU;ZQhr3Uhmik3c*(vOaFWQj0oQ1RR*W=y za<`aM;NbFJhbuvkpfEyCm~3uDx6rftf3Y9k*Cglk?O2({$rki?BYsdxdNHSv(Oa92Im_Cr{YjHX zC9j6W1f$3N%DS`@Dr~!@fbq23Gb9%%=P%)IF_{)4DA~Xf76uj1OrTi{>XWIe5#w$R zcmmO~@=BKH^VPE$FR#)Eb3AQFOf9USYFGFR?N6EJI)o&io6i@*pW3&9Cq@!f2kW>} z4r-GrVd+wBcfJ|UjTY;G)aNZJ82{Be%gw1Wrmni`l;x*O!V{`1Dd();?wyq1#Y93q z@Pm*J$;?Y2l?=Jkoy?2%=9SrJAOkPBC3owl)VzZ9qJun`U9?#SA7SFvbaemAojDGEHyH2HiMG65c{=sU6hdO%(kD@NL9d_ok66Bq z^BgUyUo4MK1#8qf9sYycIa|lR)aAxCy?h8$oW(ZgLEJ0Bs=E(uauQW8xqEh4JI9Dm zAhwD!Jsx{#xpurrb2cHDn))r5yEE1n87fnm&47YpMXpVd84I z=iX9l%*Qg{eDhs>eCQSq@CULUr9qdk!0pKG_a=%Hu>1GyBoB8W3R;*06#8b%jTO&H zk~%!qN4Cj*s|Nmi`T}u}`QuO4UYpWxr7Hk!L6zNK@EAZJe16dtC9PtfkFy-rrR-};H+ogAI zEjA2Owa-l|Pf|AkYc1C|JhFrg_i136vXl0MHn(tuk)>EQYBDnWsB%mNFuPFoZk+=n ziBqKtPaN*a4fy3X6I*L_*5cV-@xjGb*9P!+GK}v$C6cD^H>9;%4BH0qkH(>4e_`R5 zjGHb$JUmBf+goqF3UsE>I#@hbkkLv2U3w&kbMZ-JdN|}5{AHbif5Z!5f4}@hbWGTM zLj%L~x7?4}ag!M9nmd-xB8a4M|N%TVkaMjn7WBF zIcir2{IK)}_$P%kw(-w5OD5;--WdgSd8QnInUvm5nR9tOmn+|e2mjcm#0ILdiq2aW z(d(nvhtgE-`2^J)8+F~a*4eyHk`6Ne*@x*^CrX_3_;tN;LD%+{GN7svk3a@23ZaX3 zCRPf3*vXqN)$(*?zN)<%>%&!#j`(RBE`jUfu4Lk#5Y;^uv-@Sb_+$pkR@s@P| zi}#Wk8{+<^Qpk|2&;e5qSz%JNnP+$vKaK&;Nsh+#X{Zo{1$`^bgcOT;dVRgneV+hz z>q1@xEYp%hz#X=3KcfvEU^MD4+S|tK533HvQb6jo);QgswLKm@ zrs8hCkll1UfARHvHV`AZ+}jmQ1KJ==58#k2eBa)s>P8JaxAI@z;Z7pmV8`Pr=bC+K zB2;6l$dt>em4fBO_`LiV&=x!t#o zAn1_98q|yCcn76TndIw45!e~mV$$R;L)$ZdO*hu^STgRWMD_79L4+j5 zr+u%}`^XBP*CVu#DnaiWn!)*tdj*THMzpJrJi@7r7)6~G&AjSv0U|62pN1{863dxP zrc~`A4k!IE&UIx!?3=6ds>K7ISlE}GA!#%8vW?vCS11CeMU%EGgaDqd_=n9BjRqN2 zud)A@g8m*N$CO(30ZeL53IE~@JR>n?Q&wjjdD|`mNYY3qsfp+Wa~s99VBS+vu?560 zJ!R*ruoilc>8@@CvcNvafhbkk-(1I8_bmDuZbHq(vCh3=<0snu z(Ud+by+F-A%48c^@^?2_l|sFORN*rzuf9~p(@nD21fv8Wzti?>@USoEUbt2kT74`ltpI&VqpDa6D8j{PO(g|8)*j4s(goCg zo4rq_A5AuvN)48y~xITnnz&=Tq^Mh8XTb7omdJI85!`EF0jHP%DCP>Llpy_E1@JP<=8wFiw zXJNG^kpBBZ_03tzLX$l(^1123CFquTdxe7GR-$L#ik*{ZtK7G&GHM9pBnk)@Td}^l z`7m_vKDNIpJz+S&!lzJX?mC(`14n3ANqOZRNo$x`l^zXpY&Z9qjS*K_= zN9BoOU?2X&%CJe3BScL-KyF-0gP?9r8T{Z}r$Xp7yC>c)iFj)x6|%qNzG4nZAMDl$ z>vy)JR?7cYS07kBk0sk_l@_1QSBa zFR#X)7&1y45`4Xb%LSvsC5MxH54tu3S7ct0qh*?z4J;n-GjqvrSC+UADX-+8b-YTV zEzDO*7CV^O?43b_H63U|Bpn-I<+DHiV`xboJcHo|t3jt#FQU}K2^p&RYnki`zE8Ww ze4f+6i9(S-6Wn9-NcW2s6egfu-5KjJ-uuwp%P`(7O@Ua?2FWUYV~D2*sN?LbO}Sce zi~7Y9Ojk)ZBKT``onj-2)7%$Q!mzx96;sk^hEt`~8|PhohC(ESNopO>&Fo9bwLa4` zi#3%*m;#g_NkM!)L%A!ee>liANt@sVo)4XF5L2Fs+JKSE@vCu2>$vqX1*0&S^-JEf4=LW>-+0F;8l=BEC z9?QLD?N$6~PI63v-u`W$4rI{a>)6{$d@@r&sNK$SI;FjC)4&RjciF zCtDNJO;!Q+o23Jj~5cDrl(K)l-F&~K!@IPiP4N} zm!RC&Ta)31nw-a~i0rinPS3WehdSWJIHox)Ht1?o zJj-%gx>t3hX4Una+>VgU;2pRxA2oWg_QD0+ca5wxe~^}XZxzM+*{(wzu`3qLfg5A) ztD7tC$thNq&Z|nUd1Vmx(#*nzR2Cc=-rPF8=5noJRsWr31kPJuD2S<+nif=iyn-|N z;?r-8we%5y;2aZQ}r(TOpnPBOWsjk z>f}kxKK7TIkr{pM4)6U=ND#p@ou{gsnTY4zL$C6@(A-(qq>0U2;vYDv{$NmkmwwFh z|5=p@d_pv>4UwM7|LhN%pUefz77gyz4q7^1BxG#oEr!=D;4`|pXlAc*(raFs zX5z)rVGUMNik_9^`!xQwn{h6|3W&*;^?drRb0HSK+UiMZ5&6is>P?5M|IA+z5ED5v zD&De;8|2Est*1k0*rsoI@V$AWRP_dwJpH>)@wKh#mTHk{A9(w=gskGD{&>M4o%C)= z?Q-K?#Kw9X?wL!xj5%l`R$l2;jHcQ8fX<%qelfYa830i2@%(6QLF=VWkIjad1FwO; z+tTeqizO5a#vx5*;b3)oD&8ZX?@SL$}pg8sT7fxvEf=kdZdL6 z?e)At{h-)UPf9okNSpRO+MIDC5HXOQ;LQi|ux?8Uo{{SJY*^nN)9P~#d%=qvuxS8I z$MZmraZ4B_)WG=#&S}eA`R$?8_^!;B8@wN6Cp^wK*3Ox5|6uf6;M}VAS2)XshzN>~ zy@`-G_!>-Rm15UT|MnKM2=F3foTzCD)NyJWe%9rmW+E4FSu?&9@lwpKGds%ORg1^N zdDgx2+k5SskJps8f6Y3Nl}Sw<(>7B4eDa{nBVyO^s_{ykj7Wsy8$8JXXIUNqJ| z*pHK~m2~=fP?;N8yt)SlNz_M&=(!jP*tLsqcNbhydnsD|v#ITibK*SQ=g__1k3)qv z?N5Q>U!ok|A1O}9Y*Hgx=}~%1blq`%1;UA~)?CcAx>~0zC@~`jxh)7oc9q!V_Zwpc zAL70jSLm@DDX0y3WJ8hh@4hvzovLY_6N(^_HoczA;#NYg#-l6Kah} zY|4utm6<=){!f!#e0RB~?5<`tL2gr7;(0p-x~bVJo-kFhVAtu}Bou1Rytho2n9#XC z7Oq-X4=E=Vf)fj})P=lh=l#bV zde0fd-L_t;`j8%P&*eklG>%N4_*!51yXzxWJY6_^i8EFt6L!QsdZOTqVos$?i9hzw ziu!XWf>Dm&W&aM^BEAJd=jOIn7?aZ8x)s+kh7m8pN_&oHpR`wi%@Sf|3p*yT9pkAV z5qeI>DZf1|mAMbBBojzKeyQ#N6hB7t_f}|~mGI_V5(6Rf6cEiB)^}d*#T(0)%?3SN ze~&L-4@VreoUCw9)9LRcV5x96{-1(3QT|Var-^f#zQaCqj;o{f=@gBi6wY3POLYTF_8{*Kcz+>jviTA5+* zPJcb`@JN_AS+7eaUITqhvu-IBr>@N8j{Q&kvD2#J8G60J$!yae)ea9@Ossh@5DLBn zlwzi-8g>&Ll}!PvTmWYbjg71ag5|5r3NYTl=SFcKUO}N2Cko+kP^o`GBiUmM^?SnQ z$%RB-=xCR%d$3owb4UyFWHrGU}gFZ*L%j~!1r z^~l6J>lF#DvV*bXvW+*d_ZXgquMUJ^X*naWjRUa1M0%vf8?iMN0UOBQ%Jh5wPMTeJ zR|qestP~{hwECXUV$$i^CF0(Htc~7r)mh3eFvh)`|3p&T&Pd-V|M4p2ZkY50p9E+D zI$f_q4ql{;p9vS<7A_7>Mw;AGt8fH^9(-hSkHX0yTi?<|fP|i=DdYO|2stUW?Jo8x z{lcW>wj=p6B5#WUQ-TIu1afYVgMAl?7jpdB z&}uTjQ26oYH7xJr46@#r$C%bux4K_$0GGQt7Sm zD`niCCI^u@ek%HimEx=id_d0MHgxMU7~Ypodh0~kPw3EQNQgX|vSgQtG@DcVH2Ve? z^hyi>Nz&L7qdj5p6YwWlNxay=KlY&fB>=pZ{ZwOJ*)a#8BS@}zQx^*a z&)!2wG$H239eX?YDEKx}fJt=MmqYk9#h`CUNfyGb`1$>ZuCE8DAUP zn>g!S3vQ%thSrMas%Xr)X4vg0Ze6(Zcc*a!BJw?K#*i(P9Kn6HGo_}VNUQxJ2Qa!% z7=Px%>+zy9PZDdmcUF`PRs2NL-zS1R-S*vEe+S!VPI@!QWL3K|yXweXrx;tq!;;*M zOg~9Fpt0wXn*U{j;P0uA%j&4dUKuR@1Dw{xUYmGMR?G^*aA z{a0zz&GV6)j8AFImV;qZVOlTFE~M_zNS}T&|2z2r=x%9}h#q=aqkX$#s3q-_bbA)d z_*YrQ|JKz9g6oI0g5D#Cf6_Fuf{PbrH;!`sMt%~C1BCtg_HHli9G11?HIPJdiRm>1 zx9NqJSDJm6^4TYnVN1Ue%XCCP^w8(+q1cJHZ-q4+-!H}gq9p!xw;-g%U^io+^;BZq z>ZXhiJXs=aI2QE(bo;L%DE92rKQZ*j3BptkQ>q-wd!LKuW$`bjUbLERLu4fc8drWuLH74Kz~C&~0J#pXQ$62`I2GGABz3}btIuq) zS1hJ~YdH15L#Kt!gO()0$J&Nx4+&#R+PBPH+MV-vxBnBa-TE{WgSl5GX&+j?k3cUR z1P7W6e^+8O=k(pls8QWuyA!uNj(*|&4CK1vYd4G#XYM@37{8fZ;YV88^0>@Xi(23E9W8Hc};GtOe^t6?nXKoFSOaf#7+V$htsR!f%n84q>=omdYBv=nC zFVMObPw1aeuiL9s;wzB40=L)=fOK3Nf?){ehA3O{}9*l_8GbW_`MHkEA!01h?ombr?6-TEo2V)>$Z$FoEV3 z<%{H}Nr)~O6V|=AL4EZ%OT4ld)6%oX|H9O(E4npr@xDFg@>Hu>l~|iZ>=6zv#)VyV zfQIn1MUyOr6xv-sz+Q;N%w({8gb0)$$ZS>6jI(fUdLSnk!%O2ZcDpHSRp_mF44Nr; z@7tK7u=^v1e!zxVzNNd_nuw2)T1T+gFN(;??iyVw%xuNS5*6Ep6lvF8*CXCcr2SNs zch}{`d7e&6G4Y{L$-lCQEAD^RTN((mxL3|3XlMMHvETKv}-9I*;e*UE}mav_9AO&|2Q(aa{S~!-`nH$_AxjABw9J*TpY3vhEXJ*Bc?{lcC^`K0TjA!C^m9;_Eh;hO zX=Fl$YscH8g7~=7?EIkgW#QKI8`Jmsds12ZfYGzNvc}^>Z+3&!iLoDbs=BA|X_f#B z+CWPu)tNqY8<{KF^zfpwP?Pth-jmZ_9xJub16Bv~Dw`{3sJ-4i*#`H} z4)vsRA&>X_bnr6P9sx#J6|U8VDFp*pTbN9@@2hdl%a;2|{9{vC+|C#NcJWdQF%yCU z?p11#_guo7RGHqLzUySpwuLzP#gM#o?9#vgz8w&&%e&W!SX70%3N&6XQQVPOPJC?} z9$3MwQe?f64~3OpUuwa<#C!H!!80os?~1#JT_m}#a^+S)zh3G{d%fcx^7c~Ko)wb` zsogZX5PJie`n@gcI9Z*E>nbRL{2=1g!^VXUvgTzLz}}huIU{KOZwZ|>_1<-KVO{5M zN5*vqI-jsUL)@tGNyW{xE=tK94EalZ3Fta9i3CiBQT8rnXjxXMgXK6EZFH^Ldb2*}B5}_>>Oc4j9qzTg0&dBWNbr#Ye1EO9v3^WL; zMnAaVCW#D4&??cC#IalFU9y8I_6Iik4Pn1bxUOh@w$r!}LPpc?*(SN?V5dsaFDX*r z^vu@WwJ#=g+rQk4i1QMw0FUSs6jlW#;=d4dw?F52b@X!*6OFh(T-Gv> z7i>a7p&H_E66Tgn1K2fB(g=H1rfgXm%?ZU9Et^fc+ZzMI`V#Lgi~ajym)yx=f0E6p(_O=JY7+n+-7F|(|X5>qR^A-EN@#eLRNnl+Gb7eLHn zyE$6sD0&dP-^Rth)G*P;>i&vugK$z)A?`p0U7NbUjOjG(+c*C#mXbWdEyF5U{h102 zOanarK)O1uCxC) z8|SYMU$JgYi=ds&o$g@!vQGoPwG?&YX!*vvT_c4#&;2sKzVl@zLnMZ%sA?$89CKxM z0JEN{2jsH0XG}Pxt}J! z$S?bxBH{84;QXz9k04Q$i5CGl0?o+L&_yu$l>`sZVs$kFFhv3mkb4vH^2}I%<>)@X zU(qgtYERc>^nEoDtlq=IE}s0!Tz%n_ukUp!U|K{={-owCr+(shwJsr?vMU~XOR9g@G?LXz9erwA))?*;3pdmV?bR4y9Ho&Nz8%wF=POlHAi zK_c~=!I(c?ufj!ER*hy&oj>UJ2IZY7PjVJH>O_ajYCZ_&I5A8Iz1*NX1Lh=$$#=hm z&qRBV0vc{#KUA$)pFSxYp%`tm@yt;hq8kh?*Y$ay*cfLgnMo?Sj%&Lc$bEOtc4Gk# zP%N*1VXKpXD6fd20(tU_z3s7P zh&$j>%oJx|Z*|^k07vIj%Z5J1tpF#En=1>_oyK|>#jo={-MF&_SPU-E**u?23V9V4 zJIeh`Y>3-91NoNOWp;g+Ir5fF7R}yX>1$I*qK?b*PH&59MV559(T|hl3WP6h5lf+$ zSX3Znx2yR4^pRJ<56$`Mr0uBDa)3i;#TBu>pUfg8Gp2E&4+4w4MytTG7W+DyT*8(J zZ>zxP9NxtgYXgl_#7xG^y!rHmtrlk*)_io7uS-H`KBL-)9VE8l`9<@(1p7ehxH?WPV zb*ma1dJq2ypz>#!mU-fG?0H{;_mU(_uw>ZXJQyMKsfv0E3ZN*_5x&Ya+081jhZ?__ z+RX9{f!&LWi+BihwLEfV@7&w@_!(39%D-C)vZ;f1n?+I2Wac!`C|OEpy>xWs{>6l& zCtEx2T=&0jdAGzhpY|K7kxO~9S>cm#|G>}wsR!pVQ$dlnd&u97KF5tuvuPbo*%SaM~@pg`a-8NvEzO0kNmpr zCg8UrNw`Rzl(3axgt=y@mgq6Yh|mY>0E+r-vZTPi*=Vu!0&ml7>=QC)l^kWBc$*-# zqTqPca=RIg$m`x$Ma?e}zxLB$be3t0(St5%>>zx;n<6=95baOxa`God*NH=K*-@HtZW77WUQiYLvg5Hh5 z9qBoyoLCLLMuaGbf|5m$^%$1ZHM<-DIF}dE1;WnU)PdQgs>TPI-S!#HdEu%x%0O2W z@Ex^@+{>qH;7x1#bA9j2)4wmt29U-vDvL5I`n@EBs=e|2u~>t=+1-pLPwijA$?!43i5lC`_0}kv|7Cn_4TFz&ChlXOxIlV z+N<`|eWDZvpu_isQvtZ2c!{DYCur-9$oLOq=B~pPMU5&hQ>9(N>04Got)RzJSvd?! zS6x?m&Vjwqqi-GkJmMx%oX-ao-#}%$Ugdm^TA3@4@WChhd)FSYZ(gdnEI1%Han69Sq z9m1kK0_5~lqQ)bUPL@D4>2iD@536PwjU75$C=GD8~OOdgxCSoEJ+|zCl*6 zld-MLq}}{uw_P5HMTO!sgeg^h04HOd;(~7f!AVBa9ocVkW`=(NU4|V5=K2P?y+k6}uxnm{MSO|I*+*QIgSEU__IK7R zcR~Iev7SqjmYOP=xgzb{0eA>P^BFo&1k49$}mF8Sitg*?S zOJO#r+Za1|RuG3u83#j3M!-JSCjbFi7Y_#h)6M|{yKqin!G_(PgbUkp%=e@Z0rv11 z?gT9gTX~?wFM+EUu&xI8((Ll2rN;aD38E)f8?sMq6em#QN&hO2-(IVlXv!Yz%4~$L zJ}U`~G+Nct;<$gI=v+?RHO-m+1p)%t+KB-y#<%B(eVPpW=qeXP=BA?#EOu+u`+Qoj z%oN8a4p%5`VIz8wib?KsJ@uY0Z|ZgEI7njyWo)~8VGK8h;Gq2Eg!KXr%&b7+6@?D| zGgVBD6QT?DP*}D`sTOQ;Rn_r1+u2$?qgScr`hNvZrY{14lQkuleS#I<-n&h$$}#Z4 zz24-|qZvK(FQ#iF#Xfh)p6@22DIBGh z{QjmMuErO+|B^<*7AYaM=Pg@5^6iHUYfZ9eNTPOPkWr2>zYlmLfQEJN4IWrfNyvCbkU4qMg0djIp{8r z`D}8^t|G6V)0{$^4(%##3b?PW)K!Uuty_tRQu0{~aIj^@*iBzsL$$Y{xa8;NhTJbN&;Nw={>RHJ-YXkNlq;cIx z1*|&gWI>4gcjdd?s%h7Z+eA`?|BP7qSs&Os--yL0HQ?O>@5=g=cWMxKo8+8pRQjVb zt`?OkMj&1O?BWAH4fil9+ta9w|27dCs2d2r);!yw>hH7>pN(NueO11(CczrBxg##2 zj9c#!d`bO&qq5`tVH*w(-*47j@mDzlF*?qrGF~Z#*bXmeh!95o=lIA3yVhd#h+s)u zIS+eas4VYRvfbqAi@tqPsUK1J+YdeaY$Ai#ck^bz1Eb-$v(vkrZ(b6>0Pshe@OJ&c^Kh~wGN3=!GIgJygy zDgAY~{bn-dnuRK^-ouVAKRmiGrM_kJa5|L~?3!Ct+FOd=QJ@RnO-FJ0CAAy3jSC(c zuTsr58@$8aVqeHf0p&`w2Op}E_l{UYY z3mvuPO9h`qM8Dmkb#>sw?T6OQmNLoXT~OsTh+xG#O}35FzT4vG+@#g16Y2GGL(Kha zr)-5Db_{$2famo3p_{D)?WKn3LEn3;7mGiIGZkvY|pdeLX^Ev9c*yk|-4 z=;;R)yw%plOZeM?5UJUi0P9sqWV|Zt5Uoqf`~I;cn8#nDQ0+`acr-^UJEuVtblXpO11LeA z|At9x0hsAhu50Ect=j%GpujI+)bKmIlWAjpwkXeHdu&a$@#3?omL2MvFHW>E%RFJn zigm}qOg5+e?%w^$OqzGiU!PFQi&l7;lBtkh9}7peORuK#gp_K`R=LJbJ#5OP@G}^f zoM<~beFb~XJQ#g46fr84T&d3O$wIGD|D;O%wdRPR)RWBYA-Sf}Hp6uBGts^M4APE< z(nclYsK8n3q6M+uWCXkX;D|^XCKRXmq?J&AsdCb~m8p}osFN@$UK4j8bYDwtaihJH zwFs2?29g4lE8z%%1_gk5UQ7XuLxEo#;hkCc?Tt4D=aB75fY(V@kv5{&t@88>AoKg@ zFIp-FQI!_$uWv1)Bx&S}q3WkeLsw`xjlZB3v`_cNZc8EShFxAiF%NE;e##|nUmjs; zRqxBvwrEO6g?zT^n-210F=cj_6`G8Q1n?9KabCJKYvRG(KQ8c`fc}(e`7{aN!)teq z?-J7It;fnCp-nd25^{D)4xZ0k&_8(*8*Nr8jTx4#X4EF;pQ*}g)wCs#6VrJgZ6Aw! zq_N848jXmJxtD;fe{y?i&Jxcz>Hl*$zr7`LxDeQf-kzYlNixT`D%zkn1U_vZ#@2e| zY=2WAu{nXVQc_B1)eRV)ozQ+rMCle6dO%W6lN&_Bh~j*7m+%qUHx_D1KC3DH2-ff# z1{nUADq*;}*lb5!8PGRr8P;QU3o54$`B5z=8P&B*wt#fv3~fUb?8G`>E?{m4>9olw zPg=Im&?GZdwtFS53RtgnJz{_s-X#7r(o350>V#a=d&lS#ud^1ig**=1Rki6!F(>^TRn<= z33L9&&fGa+mRSkEmpv!R>_fS#fP(-7~6^cVlz>aMh}#{CX%zYO}>=amgS9 z(`o&KIOc{)HsSLg6kk18fe+h3gr!S_HRIG(K2friBAQ0cjDK_?FKzw#(16B(?tgYM zH5uC7Gh-FKeZOn^gz$4;3z8{!nYXV>uuev|IvW68t7$B&Lg-71m2d5Eu+uy`DL3Y@ z8*=ZL=`ZCNT~RA|y%T$*5%!n6X)Dlcm#yn|uR`Zlb0w=8@z9i*Qx$c_*5sxc21ZG+ zy>iaaYbnwn<+Kk#on?z|;;bTy6ssiSqj$JMSt@{-Ed4mOq_hX}m&+~ZXg2Esck97Z z#T_oG;J#@w`n4PFwGkDMY9S|$3D<3lu(>Bm=#P6<54K;??@_hAA2(ho;urXXkzAxb z)F*6o?tY4!jr6 z7kP0tO=aD$xM>cbN~|x>Ciz|sO>(X&rzwoC{;+Mt`O;ixY~$e`91~wGM1R1<_0`~1 z%aVvUwCHVv)o)Dln62 z&Un_60040(HzdLZ7q8&lSN+VE|VV!O#8UgAv$8mzopAvQQeel3+MBA4kxUl!M)~DD zvcw!-m-eJWCk+PaR_rj-oE@T*Mu?3U3`~IdVP6B(R3a?X7&o%EMPGS9ZN0)+}%rkCu=6 z{RjE7@gEN}8CRwv_m^<5Dp}bt6m)drb1Pup#_Uzx64KEwMo)7uA=CMX(m^gS^f#yI zMtXVx)+oUW_f&g|jbRZj<>#%<(As-HMqNLnX+Wlk7o_P@h2_ z!#l5>LcSq|`@*l=LXaoQ<#G6*aCm5ceRkL1N54oX13|R1=X2Da$UU#o?YC(i4z*GgTF-ecY7KNK(F% zmC9ohg~G8QD&Hfge7 zQIk5^Gu0mve7nBpKWn|il-t&+9s&?JcYeJ-=YiV zmL1lP^T*76#h3ARCa*z)8fjgbJ^dzf57)bTYV;$bkw!zDBzlv#m%02D2wAbo-t*;Y3l_+38T)#5vrZjcM*XyA#zaL5CYznN3 z;{;Fx0>lImmGHFF%Jme<^+$vc)1J)JjLK}C-69n4%UV6fqeYDg@BD#I@Pz|7;90N0b=`-FFJ1(KvAL8SDeo|XMj zto}izrJhmq{XahC1o^O z>$>CT6$wWA>E7SJP>m6@6Lzm_yuDO68Z-z$n-T1iz@}1mE!wQas9LVt=y%*+7ofdh zo9=beKK~2bNm~bowY!xty%Vj4Vtj&v1Pem!o^1$V-ZgkO?$};(6)reuG990M1?0gM za+RO+dhVVRWjjm6Lyg5HpIMAu$iCKsjLJ-8`ir?k2UShntbGD45r$i3p1+kfI8w$7 zMI}A_9VhR6)T@aV^}u+c{v+fMJX4;8(SW>)X$bO}Ivdc5GwYYU*B$TotuSezpCV6h zaqlQO!?fMS=1pL`n+jt(F7qkkvmH?t%{_94OpymdB+*psSB0en9zEDS7c1jROFE#_ z7g=gUb9gL@E$i7LccS5*{myb51K?L!NhmMX$*nB0QIEXsJ3A7`Zx3J4I2zdTSzqd? zYsYVZ_D1x7Tkq~vWCz&XC_3g*TF=rbP|7QLf4nu`V`5XHvdXZBI!6+#xYB{lZ2N4C zx+H6*`qmf3TSlWlV&LJ%14jk-dQ;2OpPUxT2D%-GkEt%!?FjDm2rvix#WX)S)uPTd ztjL_Tm~OvUF@;*=3{Aa+oHEn=$8Ci#Q;wYSn~Rgw>CeSihiyhF1ACbaz|?Ll<*HH5 z??KtjY61;y5)l>lN)3t`an4&BH^-NrH-5sLx6n`<(=IUjh+G0$k!VDp2F9J)y2?X> z>Z1#rv(>Xx?$V~#UvSFwD~YW7NCfZY8S3pa>0%~oT&GY)?#KQ(VD@u-;Mr5yW^;&? z6lA2t2eibV?sv9qVxhelp-`aZ+q2B#Z6kd6ody$I7LIt_sUOv&P2pi^O*3O3$M(Ka zTORy;o+YV4^0^Al)AC9{owCIU7cz?|Oh;}A7E0kb12)oglw((~g+EdFT%w3oEFud*7+c;>d4MV;okWA4XXLx-w-pE`T0Bb(1p=6E$is1^7RoDKn@M#9}1=Z(Yq ztj286uy`s#LexXnL9dqRG(4jAPXk!Lphdt#`;SX@r4taZzh? zh3({VzvHlrMKxMm`p=@_gnO~?kj2>hN4X5o6+5)uyH5Fy)36Ue6bMc}a>*mPQMvaW z-#7ZyaT0he6&>CW{R{Q)pxtzT@9X5RUjl=`Ro zIbBri9GsI@I^14??CCN6>2pM`vYRAkfv2p zi`m||Bm3+EgKv)et%KZMVjnnCca$(IU%d`hSOpgB664syyKAD+$#L;_MBYTK((5Ik0M7m#Adg% z&2pQ|p-FpXdMWthW7ZqiT=9x2samtU`4iiv|1t^7^(To4~7aQ=) z-(C_G9Y1S$j2MO!PALF^aly2+-(f-WdrGR`!cDqL_Ig=G2w`r;dh$7M7}7CKz2WYk zIc)W~+4p&c1GaFe9}4}_tSR<q65L!)_W!j_QDdBNem}5%VKqz3FRhT>J&-ze=#X)a5p|e)oG%4cHh^pH!pc| zddTQ5*sbRd67H`G3Gm-4PEl}~*P)b=l$0BnN5Pb-u=r{7gUX9PPO85?u>XE$F-z5` zS7kZfeH}xm8DKX8Y2wxIlj;Lble3p;ddubdl7DX(AnY34-TvP+PFwjecVdsWhlp>O zqK`=?0`hOa`wJpHoD(FO zN(LI3uBijZwpOld{Lw+qq31QgzxBwxalSQu68ca9WLDCaq*ouv^dLT!mwVfm8zqbI ze61$I!(Ie+w1}$sHwWWHeccbQ;;!4tr4b&#=w3F$wQR0QEs*nPD(7IUScQf6*~tWS zQ?$8MrA#S6M?!*CUm@kc^d~3n%T~O@F-=FOtya`oQ-TAQ+^=~9)}LrNW1fY{!bCL^ zyhfNzpn3QT4Xpj9THZ4DI&8K zN!lRE8;g>4XGvcr4#}Z$MJsc7q*2?o>7ly4X-}L+)(y^u{Bl`RBuD4nXRA+-{Qn7G zOiO7xW4baeyREN#e2W#aq^~aLk%m*k7Nd}yt;M!og-za`Pdc`eNK;UQiT+NW;e0zL zoczr){N*Cz+PhAg!um6U|-lgyd^i%~jEikx_ z18($2ZTn)1b{u?7-o;-!TT2RYETP{(k|VH-JhXEge7LIBLp8K>OGm~%%dlfDhZ5ds z2ubBp<_vH}XebViHc41ge1~E@2q-T@=OZM^>xAT3AS3sLo67c?ygvH z;TaahO{3#zy;|4Y9!c>#T*{o3FqV$kd6R1+yFT?@VtVDI#8xwXeLt$phVn&HSH+bf z+>zp^Y%KC)3HqA`m&r@X^%uj?=*!e5@|#98>Q@-f=fO z&cW_BCU7~bNDA2w`5+T(PSTt2oqt2VijvM*PaxG*{N~-j*>WFAXmo@1l%GgU;P|Q+6&%5#VD4TWgKYxsK$LTu>? zT=Am-QYwu(mX5gFRj$xXm42WK+}+h$@`tKSpD2V#F5sR-ZcT+jk*!gXXIrb5E@a5M zgXJh&uNnIFtcykE^{n=f12l&N#t~J_@dM4(ku|cXhe&|Dg(l$&K3rSG;N+8PUzK*x z_jD>wS+M7XCk2Hmr8Vu*I#1QYj|YlBo*g9^8#@ z)YhDmcBuKT(Y83gWy8G~!%8F7@*-R}oGSUJ{`iXKJ83n5chTRL2>Q@ZP#f)Q=bTKOl(SrFhOs zPh7W4%?kYKU(3+{oFy9^Ry7slos(j;bP3sm5Xk-qLHoJ{=ey~vv+y-#3-o&x)5xy9 zq^(@cx0vm$f6HkRx{FnY=#T!&MNkoemmOD^s$MlI;`)MWyc z4wz7;-q2d4(b2a5+QqzsXY-$a{2Dxx= z!tZ#2Wv{y-(Q?<{xZOkc$rko1Bl~`cje3u+`q7EYGKI@=1Sd zd9Otky{&*zGf3e=x+GuA%C6d{X(%`Z0gw@EP!-p_08FmK^4T-Rei^7pIrRJw51_%~ zmBcdBgu4^9?qJJF5TmzZyI0G;JtVS#BLw(L;Sy03QewW_klklS+^$&hxP;sVZy!YF z9$+3|nN}?*&uH-QfU^|`i`ZTCA*AoF1bNnB`TK>8b{!h3skqKGQL}X&W7k;LztIO= zRP@nE-?DaLXwW+B^g9513F)@w|F<94KiqtLov3@^V3F2*mfQ2LXuJ`_vBu8OJKBs` zrRzIMP@&q-l#r2nvOm*2yz6y~B_VwT`$H^iGR42B*EriW%R8W&Z#NSlBgL)}0?7ZZ z>^7ZV4`v8+JrZ8lSOPhEY9S5xIYZ7n!sv8YKT&680*?#3rvO8DtG|M#R z60qlpuJhghJ@M+xre*$|LM+7zGoyu8Mih&E{5bkqNa6PzL`+_-OLC{ z)GPBps$sklfM+K5xlV2~6ebrgci?Fd%5BcOok$4{mv6)n#DqeXuEkujVcAT+yC12+ zbh5hM!D8#Jw2=R#Si{`Y<7e+0fM7nkSA6D#8)8`3$vXn~aI$!T)urk=H=cN^ednRb$P?$~`$)it< zUs!EBo@vp1-dx?egeSb9vAx6I(ITS(5y>UEbh_^30}JCNBqW2Nr;kG72YNRvQUtgj zhzuOTjW+FUf)EQo5z^Yg?9sC*pVnJh8-4oA1|Q%l6LT8)5asJqzxAn-TgObZ1u&D() z$*XJv4mF$94Vyhrxt{{wHgGC~zNU%E%V5F;+70IOS?HW$vt@;x4mcO`1vM$S{OH(x-m2XiV%+`S# zYHMVn-Ovr9_sNs~cGwOM8i&IR*f9%*InXp{Hrg*AGVx@%yA&K@fJ?Z-9_yMmI$NLG z?2~;u;zLPZ5bwY3KmNcYnE-EtpLQ&5|LjRobu!?pMqLDa34jr}%RRO?pa4g-lZ(y+ zpSdxu0aX2PIG&>ZO5VTjFz)4Tos5f;YTNT|A=b?I3&OuO?< zgg$c|Ob#fqL|=2((1V*`p$S+G&k7y{Q8XG0Eg3VD>ly>{6vyZ{8bTIMb%R-q-&t>i ztfZ?T4JCmBovdZ#7IHkNCkflHZ8u4$Ipsr>gety@ zDJy3S^r<-5v8E$$g0GKCcOnpZQ(h!A+(~%*fWGBYSdNrF)S|e0`jXVn;*6 zk>`&#_N)b}+BPTdDvD)x_0bXfaqnM3J~FI#A+iDMh4H~aBi99Q^nT;hdcl%`Rd%7!DgqhNB` zYQy{ONV+2TDXct%_s5Ac-PfPq)ic-EyF8OOuQZ5R?9Y1gT=%|Ge|D?Av1wE2gLzNeC>rBt`mM8{-pA<3%=@ztjzVqtR~-)g3H?QBG*0Y zL&?$|;0$lSxw#z*x~})R5u-GH~!X;_bEu zp6Vy-W7sXuh zRlG_y{Pg5!h}L5o*F;>``$Y5FeNP#}pAa!A@dY@AI=?v!2`yc4I@VIGYrl+Ok9qiBVi3_?T@AGdn;&K*(x8Ko8c9nx95w z{~uf571qS|y?qn`m8PPAR27ge2+~Vb1Vy?CNC!cB@1X<%0g>K2QF<@ZA%xxuk=_Fm zNa!V@1rqY*oZroN@qgxGCNq=0XJ+l^UGFM;ui5AO=h2D}^)8W17h}aq7D@L_?1w*? zF>PQxJ;aQHe`#a{l4n&Ytx+h=26Vm_8a0 zqMb!ZAn(h3#bcBx5dh?rr|Z>EG7eMEulO-VtYi2K=FxQTF^+or)a#tBMg8w{8hf)A zOlQ@6hT{J_4W0E^hqntK*Z0V`V@=n*d^}w{wpOcbAFmK-*tkrdzWtF;$9Iv~k=urp zO_Hv%&(5S(z;zYe-6Dq3R&?VFNdvKVC&7P)Fr~`OR4o#;$wU*q=EU0;u$fuzggWIL zkQ6Z@LpD&*e|e*X9zoTFQ=n91T|8l4F6OVvLj{28!gcIF$XY_NCf~2zz!#-rd%3?O zey3%Ir_lbHiucrME1px8%c1=ke+&E_U_N6#7VP;C?U&RhDA#OY6FmxH-ektJX;Te& z-MVAf5Hb`|PDHR-cUH^J{Bs@qOhk@q`p(?GyWDrQ%%3PXhC1|zzN!}|T5D6$NQHj8 z-Dl&BdAyhOFc+5h)O2j4*9VywQ4uuUx7lj$mURDQ#Avb%+p!xX<1SV0RSCa;WnYO) zMq?+#-E)PR(4#K?gJ1H2p!QYR=Eo?tT;ccKy`<7lt;D5v1^?EUFH}WTznn_iyJ%(A zbvn}QecD4x?>yvp(=4OgK@G?q%=%delNS8&>@Uq+wDLT#!J067wklYB^Px3Iy_v^J zNoTC4z#EA*w_tiC%cr>Ov`nH&k-|pGK6bKj7ZQbnU|fYsiN9A8s0Ge%JB>GZNwsy z4fE7le{@ElqDNw_2oBC?i9jQsj{794SlfB>B%r<;V7T8h4TZm+zd25(20n}5pX6Hs za5A&?3(mPfbUPONr0b1!o*n>7Xy6C`u>6oc&-(q&$F{abx0p=val1D6Pc@T&cZ^DxI zU^C25@i=l1My46|!m)3r_hXyCvOQg#{ZS7g`H)FQSrxmD*AZM&b6Tj;#3j7tb(-5jfT8 z{C{K5)>Ds_m%|A6>D1@bp(zLjc1xB1z*Tza;e&*1Z&wxlVoL(~^jzA%$M?xfz|&g( zwzxT4!*BQ%xjBYPQ8Q8=Gbovk_^*J&V96&|>}y^^4?Bb}$GoBD@5qK-!riVxWvKW8 z2tS7C+%W6h@DA+iKi)q^9E2ha5W**Pvwj3;@}dq#eiNjZ@a`2Be_oBP8z6!hXk`_s zP6rI6W*DOnz0X!J$?L??1N>kxJ@wuW&gKLs-F=Rq<3OYDvy$vvCAzAu)sG7n*;>M8 zL35Aj7sq_=$y?N9u^O_*Cq-9K3gST>3D|x3XrccG950LA@H0%4y%l7|9rpU zI{k`=5yE2!)5OB`h}r##f8bo4n9nkKzs}P*B@M^zxXd54iBHV>alc$7PsbO|4#3dn{Sou_mhRcuOh{iElx%#9%9t|hHlq$rWj7y)FP?Suq{JDmHwW-^d-B-+J z;Q`sD?OLYlTkviUIbPS#N36;7t3A`%waK}U#f2GJ+F3K~)vt*60=a{~bCIzMP5=_x zBmMkeR@z8wrnf946(YbD0Lc@@kP6DLle&BG>20`pPLZs`kd2X7B9)?`;VdWh@oFUk zTqYsux8-%ACtYqNF6lAU5~?7p+ZbV5eIkKsO{!_RM>wmyTC=pbl+R;_chglX`Llzz zVpP%|t63L7Lf2f{kEYxx&K74@e8^D@B$jTC*vCiBrs=P>lRsT{(ErGWn)vjTfLQXN zP3SI4d{y;i2eEvHX;uHI6R9#8kCSaLzC0i=VnYv~osf!qz@$vgG3_}!TNo&4|G-+l z#89T&$mgwuPfes7?Bb>$zOV(GQNPmlPEzH!=+zq-{Sj~oKTf?r<=HqZoO|w7JSN%{ z&SUyOlXbaNwY!T^lbYiUIWZO!80m{zJ8N%XrJ>&I-T#HQV1sNpnlmdbESGBTrlrX1 z@{oP@x05Xu{(}g2(I>??ngx&ARi`Hln}9|uog$5CfjfAg=pq`I^y9DEe&UmYZ#gt; z=`2Jf@d4@dcKMz0=#TOdJ#o!rUgK_^i}%#tw3oN^+Ez_Vk$?ggbJQM1j2$G4qFhydzKv7APa` zAtv7L1vDhJ)fLacK-^1meV=bG;gzesiKHpdM#HEF9wVRu_ZBe=9MzX%E*#jNIp{&0d{yBS&M%>YaCNcd>Rs1P-G^Kfy0u=z}kW=*m z*>kAg(@;j+=&@1<3R+w=ksNYDAN_wI_6>_cfB+Uo6S$Bg4dQU_8p1IqbTtUvViAps z^S7wVr9i3Y7qFc#Vju3oxBd>G?>ED2>H)%UmoU=)$=XkB^sn z+wjdnPbb%5`p-pI&NP+am74eg!sI%o{u%rPd6g0U@N^dnS^`WarA__mdO(GUMty~i zl3|PPmv&8_bAgt)&D;<^4Y~78zL!6+P$z#4?6TIZ!ajV9fP6OJ;PO1TRdbMS#l~OH z*vAc_8wfp`SKgm<1Q!QCTmdX`^gTqhT?CBliogii2cgc!WIAJ->PZf|qua-*k; z(6m3DBIre3I&7#Vi)uS7Y{{Mds8yvBRAJLl3o~h?iy5m!eMhpA) zq)(V?_-Y18B^*SsJ3ieOweuQ2B zG7r-p6FffdDkV%O?+b6spf2 z1gBe@=%mJ;J4rUpVGyrp^{+Z}h^u}7#0fAOHUB3N5!=Yt4)L-_oBg-zl@{%*CX~a@R zY=!^ITR@$1;+PWf?pw_lV;+i;i>s!oa~t(GQ;IHuTQo)u#n6Sx-r<4vfP0}O7OpmX zXb%cgiBD?+b~gQT_(#~_?G}HKh-Ph7#L8jtD5I(ScPH~_hoPfXqGp@8SBWOKM>{Z~ zTpahA4xv?P^tjh>`ZOlhxKIs-Id$j-)Q($or%6KbpH4n$d6M@N+R zth*}73Dc58g9s-nCWY2U&qpmcPoz#^^!oEUh^CoFIGU|O%GU99j`|UKzUQBvuMO(8 zXR|I>!KGfE3q|KY`m~J|DYG5Fl;aW{8gk%Ly5M(nD~J9|#C&+ZajqMG+s5+-Z{pLj zu0;yU70aj1wE`objy7@@q5-=J#54QWis_Ht+5$J z<%q-vVYD2PX0|~yWSoWrsl~y*DnuwE$^Zs?*#FWj=!;7pMeWSL(p*hg=9sWoppud_ z-Q~TPc4`r4b3YWgtMOPNuy&Gz3>vUPSFE(Ah}x7f4eVu}39L$RtN1c6Omvdl+T$)kCE?XMc zO{-_aZ8J8uYyO10@;K9JhaZHZ?3wFJg*?W7MS?oM^E$(mt68IcC0364FSG>2wB4Kl ztDFF1f818*)z8p7{hsDQe_lxq{I^R!!Si9K z{h3opMMIy9{b|b21)GB1_@gp{p=?b|3SQB1kPxn(@L%}T{Gda-%#)=Yyy#R8T#}YK zu%Fth*2B(K>zLF5>uGz=f$@LNQe`>?`n}PjO%I=ZxbAZRDdcJ`Z$Q~v?q=$D$cMHm zvuaA@*_D+iIlrc_O7?Xyw`Js|I;zxXlFqR4UVqr#=c@Dyp%d0q$nWj^1D8HB=E1;o zjmTU3GnlepiN112H)S+zBHr32$Zw=>d}>>GN=o8L1%l@+Wn<5pY?k~Xup)V%_A65M zOD;SscV~n-=1kvob_Y-%Ba01ltTj?Ny7Fc{=;*h0_KDfixT@U7-a?oso4fF}SLe){ z>RXrEmIe#<|FN28{=AZ9dw{yq}o;=bB@@!ekdCQN7hb zo)-7Aqqu1H3yLBf?O3$+$z9Gt_I>bC?==ry5tS*|AMPItu0nx}6N#P7S#9Wx#njXy zhW{N%n0@dpn45UEFi~XISl?%xm#b^EaMC0swB>Q)C(;CPvK!GhUuSROWr5jOGcWX| z)^!D6G8NZG3F(VzXr+U_pF1>sQf(^+?0xnQbXC7-xoV6u5W20if1$b`9?%i9#-o49 zjMg+-U^W#ATA0XAsH0(h*)?z2%1-)`LeMtq)Sa{qRBpIpHtPZ)kI^>ly{z|813298 z!mv~P9hac_32*EnS#HEmY1kMdlgz-8=*9ru{p{bCD<@eSHD7Du2*^BH$La(;)Xla} z7&s+aXCu$Nqv0XDak&v{ROC+^k5iBI{_f`FpZ;0g~YTI2ad+H%e4qt7auLusyTts zS$Hz#qsPq?xInk$FQ2}sc^NFr%ye<kbv*i6}00 z>!nwb5(hS)~ZH(RAIm#EH0NhYkx~H?1^m<)z;CzY}~}6wR6D^xdU;WXQFAR zYsp)#XlG!eb2FFXGCQnGDkdQ3>aG{GC>mYajZLdy^^|{wZYmL~?4Etc;NO*gZnVE# z{8+7uAit|$BYbq5ju!vqQsuepNI?@@w9ekvO_wv7Z+!J)-HRkG>V0?Vmj=Vm>yH@T`HYuJf6RX6=JX!d)ti6%vR>yM^ko^L!P{t8^N}hypU8D2U&|M;zdT=+9Z1n zdflYuJwV&&gY`fchRE`@&Jp~37v%0h_v9?InV0i9=kp`}i>P`R;MLMBv(IVpIAUil zf68Z}sY*fuUMb9Uq`fUmAeUFOH79x8)#X;KnT-|4gmF|ptd}fFGWxcja7?)n&XF6{ zfyhrk8-ScW4cb3Li^8s^;5h)&B0oFg@>0Bkd#wmxqlhNet$(6mXYeY2Lp&gDU2lCh z$F=kM@hErZJO-UTJ3G1gna?ou?h*qyOj6Al{y^m^wOb(`MpP^%&gfHeBy+*gyV zY~N&I>J!I`kqAS)kmls*-j>qJ1@9vJ`Xp7+=I>L*M!7T!6zSaXRZRQY{}fLnC6M(X zZhu6JT^@dPmCn()Sl(wOU5<*N_Mc}!C9@`FSIgC(nYu~ERuJ;N`@Lu_K*Q~4$02Uz zY{Rpffg5jbaT=rRM7mEzZ;j3xF#VNT<_2buI#gc>M!V+hhxuiPILNuJlJ$;cQlPvT zl$#qJ$gp|icM*=PNFk&n*V%$cw4?(RNue*+pA|GRoDyUa-4s$6Tmk84c#7QDUt0B} zwXl^q##^H#*HMNzgC#N3g~AeWg4_OnLpz2l}m%7 zi-WcOkb#*f$UdsGZp$CEeR(Vblk&O9x&|*ixOf3f9yrciR0ZwKdi;wAOas#*O+wAq z!VeC&-%v(jc7Me<#M(eHyw$p%erEyVJ%W1Xevll%VdJKhJmQqYw@!zQL?)S8eRaCt zRZ!%rufT3n{*4K>-ov%6ef5z4Jr^|qpelaKDd@fjWcbL?&0ao$)DWu5laqH!GZ$&Y)ylT zYZ=Vx%IxJ|YALLp%%SUL%KPHl=AYmN+a4wgSxrk>Hv~#$OZ`5_x(tG0FZb1(U^hug zV87prB(1@sVgrCDTZq~dSxFH+b92sF&_Q7bRzJJvepZWkdws_mYZ1u_D@%K3u*{u;^Yr{4Q%Q{9R#yVR z3c5@;faAmN4MbJVSJS+Z51jfaLy8+-V>@nn65(=w4N*NxcN%x`?k&EEY|4-3VoK`! z-qnlt&1HQ}Bdj{*4keqhXj5W!o|K}}V&#?d4nE8iv{{@2InNM%?bl%qoITL@0i&4v zkMrw%GE=U&+ZH0G(@gg-WWgNy-dyMK1_d$%)~8?2I{iF^PyD5=f8v2t(85;z#pMTK zbLvTy%fRG}uOf_;$W6>WYQ#;>Tl7yk+OG_$JXYX#^NMaAoXboHiGH z<^M~^|GnLp7^N_X@hqUE11+zfWCU;}sLZM$4Bj@IQZ_&1vNsc{RQLM2qcnh1tr8U< zEk)uV>rac!@X}tzConUaz`>#)Xy~(A0*Bwxj4pR3X9t+TMRJ^FfONgZa z#9K%bLs~Fbo6vKd5YMTIk0~5;H)yqqqF>+hAHO01Bz5Q}z3IPM(YH+wb~^sHj#jI;#*F1ZEH0A7OOE28oaSUcLL0weTdfC1aG`LsJB_Qwaun}>{jo_|j-$x8m+aB^@y79-u4v{p}o8dT8 zy{IuTU5h1n@A>smSt@VlshdcTE&t?Z9iyIe8`dT6`EXB@I2U10kGj9aucQRwG!W0K zipXOUMRG{j-E{J1R?Io|ymiq&MgZQZy^*x}vkR+x7$x__H1Zb8eqYDT9JBlh>EjEo zY6a9pO0RpG(10S`#Y7ho;HoUSm<%gfz0CUf5JSZ1@ z=mq-B3I^{C;H3A?1$S?ub_9(+V20??06I+n8WUDdTh# zE|pyFXX3D$cFU%YeV7oF{bF^Nz6P_SRP<5tCFqijLfC#8brd*C{D&T9IXZye0Gp>~ zi*>o}f<;PPt}PcPm!!{h47}QHEH&0iy1Zt&Az8U_FznaJl81)LF(fTkzNf3&9s<}z z?eb|qaz~{rmJq*2PHA3AgD5*>!;Y4+^K*J)ubgmsp|l+|qm*n@7bjGxP+E{vXX556 zRF-3%qndmC)y)d0^{XqVu)8vYM;onC)jUKNK7SGr1NOid)z_^3V|0khM6s*sJ|E;1 zGUk!>CO1qfzhTND@nmyqa<-5dzlp?ej5KF!>6Pb82U$c%3xw)5jG|0ZK z%Vg6d_!R93%?5rUmzFFQAQeRN$%U6mpSlN4bR8>E&O~qhyfH?-*$IWij|V&!JwZh~ z2WAy!r?9vF42fVPx3qOCHcF{Bgc?5pCMC`>-GGb>dAO;^nQbx2K^47Y?#Y?onNQ2! zduzubz4FhZuwglP#ILZ)tX>bmxIS+0+~9tG^3Y>3sB;QX{%9i{S^ChV2p{`mzIH1Zh8T|FxU4U!qk55);ZP#^T4C>EuY$~q_( z)o@teDN5oK?a9!Z*tGoVb!iHBdNJ4>aU`5>HuY45LzH~%_=BOF4|3Oq>B~k!;hr#FN&Xm8Z8& zO!??)*$P?iGBBsJ#=iP_j=L0$UrK%(S9K5BFN&+);klLLk{%#`vHjlJycMfsvY13< zwt19f(>%`f4G1Q`vLO7mrl?<~u(?L?4*eBKrBpu$XvCdu3mS`3ROx23H0l|D(`zr? z9MrXWylukNJ4SOUwPlfd*h$GaDW9BlVB7ml(ho+Keu?w|3DHGAZR_-bQY!$27i04S zzjEbv*FLJLJQ0QJ1wVEdzRDLm}>Nx^>>pne?S|v~o#yCk32%3piH1hB}-Y z&?64gIzgb{?c>bnk~6%7al`Ztag+ugv>NyKJGFgA@*y4LkMr=Gd?F_}Z5av8pm9DTNWEl|kk83hV&@rE&1@z%R+q)*v4+5mA3_VD0W;uVx2{;RttVvlZclY*YWmKJx zjIC!U5QlWsw}Eudok``dRBzds5_65(!Qb3m7PO^w0OC`|IUMTirrRg$wc8$&qy*32 zS%+LR^X{E&1&C7(LpKDjX&Kpyyp$Uq_{Zh;O|qCEzePDuk>((o+{?9g?EKn4o|Ugz zP%kzL&M7EoztZ9rlljfYNTgyH&Qm#EUw3?_Y1N^s1K`@;UJ{zd@dcWrF&yhRd*6Lq z1h{XBDgeU9@*u(|Z1tY#;)FhTyyXCzVev2r!@EcA9U(F87xbG@u>zMyGvDcNK-T!g zucoxped!38wPDHzm-t(zM>M!%Ki{n=y3 z(_ja45)6AB$kvjkz`J03u65C6?t@-pZx^w~5^tU3uN&n_q7XZI4ry+K7ua<{Qj6 zBK#YlCKZy$l??BV4laEkR8X5F68=89w)TjPTAAJCji)Z-&Fii{=i~!jxz&+;KA|#= z#8fHENGIqBHEt_f1I>O&)ZtKg51N`gktm7kDxJHrx5kjC@prYSqn)?^dCGwWCHNPC zFTMS5?c2XLQBsKmS5{ScSDEp|q_?MA6Ex;Q-(uDq&H5yM$K#_bmaTJ$;e7@ntF1>r zX_LU9!)O31B&22V(e@mcgGG72XRUx?#kg1$|CXMyk&i{C5bt?3uQdnyG!PFq5x~pa z#0-`yhM#&$vX>@$)#KAaoxW^}AZ4VOH5)fzI~SEnc&y8NXJvXE)8iujIA{&)L6SO80h$7x%Y$*NQTU zMW-Z}IC$B;uA7IfX^?m94$@NSl`=c%J^6TDZu*LA8Nt6dtNF zA^bjO`mro^!JaZ0U5!q+w< z)n|a^y!*Y8jMd$r<3nYX@tuhK6YyD~6Y9-Bm%DamT5xz-(ob@aI(y6jnKvB&FFqUC;vx-vJO>EHB|dHU3s3N6x&W&tD0h z&^8j+Q$cggN1;!((aH}@DfS`=AG>78=0^P%{U92Qt*lda-8EiWcF}W96_c@NlQ}Ws zc1_E`o$ua06wj=4_-~zYqR239FUVSTZ8PZ{4fTBoXO+L}PmW?#_(gYl#1|T{fjKWe z@x0ryXA0UmdDdi9iVoBsI9$1{gm#wB*Ah+p^xNbiW^%7uG!T&6gq}!w7^I_M+{B*7 zph6`4e8naN5Ctu?qleDCMz&pMb~+R@Il$nDRn`)=6#$EoGbGQD7$+x8|#>A>4-fTD}u&8XcLM7yqe<=Vk18Mp!*g(*2%D65%Br&)pD~}MgFa^^O?OG zjmGK3R!8@BU4yoYA~(Rl}%wYO^|N)g#k? z8S0~+%`7voxi&TA)An3$7gAD3GqC&G4N^4WHu8sqvhmQ+=nvXaC}?U5Yfnen=%wqh z_x3$-wCv7`3+w*MbNn&GC9boFv6W*?){?ytt+_LLlms+Y&i#&sWRy%QMG9!8QjAAI9u(%~lhD^ysrjqlajEe^0|&1!;wA z>t6h%U``pdm5irL#;cmHweFbEIBw3?-Y9!6W>`GELzP35^W(2sJFyHj$Dx^(1>e&I zW?Hu52&kiC-An3SYxnO8zI)4xSgXJXD0efOM$KfKXSEpbw+s7|b9 zyGvkX3zQ05_okP)i4Wz-m;+7xt-e=!AG&PU^X#HF<^D$wnYkZkd9U9?1}Y0E6Cfjh z8TX3Wu2>iJ!hhW%^1D2JDEweQh%(1`Kjk=)P}m(ad#qZwAE>Jl*0Rw)6o8n8H*dcy zR2@Syei*rV7T3gkq}ucY!F!ikv~ue5wi)}(x@B0h2u4e0A<{%Yy=gG5=p*zFZrK$A zwAJY1A)>@(laBPPDYi>3zvS#|s<=pkl9j{a1$jTkqQu4U!<2t^wUo)VrW*YOl?|1bo?=@i< zcaYe{(AmlP$Y~+|j0e7sRwl2&sHXbizqG6qO(d`C@8SgpIyTBv_~X80XA4WKoPVKK za|F7C)!)><^UJErp)rxz62;knUG?_Ho0mN+@wksCaK89KP6Pbaqf`3hkqw}L^cDWy zLyjQR508E=w2(ijnMyPT@|_FlGV>4h4O!NIxll|MAk38l$Fpdq96OHHEd&>f8ML%~BmGsXH>7u}wAy+ALZe1I%(A(2l>;0_K-Mb z?CIr`4zZP{MIAb0U(V7DG*D2yttVIXS7ZU=^LAu3*PHc!YHwRri02uy2CB5TLYw~E z&X^I3FWV`mleF4*Y%gsWrKe7PpOiM;3mK^Cd^1M#iClDsSz8E0jQcxmmU8gx=noXmb=>jPyHri^Z>4Ai`f%=Y>HzrNOq9QmR_y3mOJ6~!I@ z|7{*Cp<9njOhdO-N)TT4fu0o}Yj=!AriZH7jT)-9!wXFw@VjjPD9kxKl^cf&((Nu* z120SLU)v<@+|a!#uKqx<`pu=+Pe_@8Q}6Q;zL@;u zEX`&0U)i2alf7@;2GXkPeLfGTbKOn5S5`SY->v_Ne?0Tu{q#C#@MKV*VTtcGVtH+c zEB{Ko{Ktms`-#jg(e$h<#=U|A-u{zvbp4`jnJvb$*r~z_zcJ!z8jt1Chr5(v$wO!4#| z&8#?nr>Jj~sy}8?H_Gdh?LH&p@O9*ao|~6;Y7e{bLBsnzNbQJ#i79T_!NfFTm{f+| z1n86^$=WE0O^d1)m@&{R#VmB0tv%h=M_>vLRwn&sL(2B18NDWME`00PKfQ~JGqZ88 zAF5Nb2vRR?^bLone_8X+s!i@oDEZ(G9w4`O9*StVo0zIIr(p(Eba-fq+(_xjJ{W)V z_u?I-v&}*nxA^uqa(&eQlA@0~7mw8_x$ITl z9Vfac<*P$~^6vJE8{$b55C)p@pX*nZPUEKR!v^RY#3eXECN0sIg{8;iy1l~Vq@))+ z{(AN4jU0u{XScUQYgA-c21v!RTQQ?TXpR8!K$g?aP0j}v(-tj}T_1t73a_tDWzSpP z0eGGBm~opQP#vV0I8+D!%Z>U-f0pjp8a$iG>hxRLA}N+Gq%b;&zfTBycCPl*-fF3v zF|Fi{@yjvgbC$*pqzA8FjGIhQajCIc7H(ecj_*1rQn*E^#(IPH+wEJQDly?;A)Ux3 z^Pa&GC2Wac`R}9Dy2kPk$u=6mrz3X-toX|1Hm*b8r_Opy7eBgprC0(P((3US9x3{` zW2Q%^&OPEl(V>}N!@zHvMHgmLW;odFkqEROVVJr}!O1gygM)A}p_OHxt(=3egIjDE z>=#fRrFbMqonWKaZ)zuEDZh6_f8z7c7dXJ0Y_D+C&$ch~B|ZC|i1a#VD^^eiYE0*R=STO3%F{SWXjUxChwEFS7~ELJ=WB`Z@O67;i6HQ1|e|Sj$xlW56Fp0->Z=~ znd}mDKt0s(5z6}21VT;`C(NkTAx6%LDyKLvTwCJ{i*=x$rB(;;LU);2`UbwpZONsul3_Rq`Ji>mTT!EqbaDmDwgNM^mc8`y&q(AD*TF)8vhuP#p1p+4JIS)w?J` z89n--Vd89-qkXPT7xLt|T0nYAE=tlz_G)?N5PbBZiUr{vn3ah$fEWb+9r}eTlZ3yM z5Ra0}Jx%Risl}8qjp@b-xr_G!iwe}`PZOl3pzhR+Q(U~s&i=i9 zvTT7;(|t2NK2@va@_@JUS69wwj#B|&Ad!FKo9d?xzGmiLr4>GH{n=r#fcqe?OVr1a zGS>mTLTxhc@^8_77x86J_;kH+3i+*xbaMY3QNKpfxBPxF8pjinX>)|C5At{3E}7Pu z9tNkS7Ci-h@puf&k}=Da+g?}Igd%;8dWY$@#7A?~VT@?lZ{{_7w0IZ{f>O@{eIZ9L z7nZ8z=14lJsVfy@rawU^W4i)2?02;cvonP|vlMqDAYb0?i>%mvofx9qNvm>fn}XgK zpJbfLQs84B(NBH*bJOOJYVE~KmvBF`>`X?qI`13w*FK3kh?T73M83#*`d&nl1 zY|#Ug6H}wl#u*+61>wtr)fu`^*sli5s(H?Jr@?}=_FY@S#D zEXp`oIe6k8l4(Mq(!tIHbu8^auWSGrPL75@yovCtSV~**T2F&Ga6JsJEA>~ghaR_T z*}YvAM0}{lmqb1 z1tMDS5W15TVRgP(%wcMM(u<%g$hSWtXp|*h9pt;}K2?7=^**oetN9I8dwh_Vp|@Ab z&tGFynPvPx8cm?^k}9=fx_|hEU%~YIvobSD^7`n7Ddbs+iTC}y5pm3n8Y@HrcV1J) zSEIYNOm*f)9aNgO^l5Q!FN8E;HfVJg9i11txv?9vKw4C3x#ep+JNw+GXE$yvy#GIi z#w2d`$>pNJS5Q-krRe{YS!O1>k}7z!aBg5-ymJ2jwl%ak-l7KcVXL7`3s|B;(<@{dN3Egvn5sOk!@mT$8E&a+=#q;$n{^?Tv^G1Mp=y77eicAerc0WnzkH;c>Bp)1Z3okO z{nzQ=RDXCw_!>eGDhEl2cf`&7Og2TQ>UXkmQ6I3Qb&l|i_X6;POmPq0LJwH%$_a{Nrqm$2gyut3 zlfT)y-fyt9n{idd87K_uKQS9-H>gTYGRVz`jQ;v}P$c~(0YzfwbpczA2%!C8^SUx= zbV)ssrt_*SX{$5}|7}~S=V|46*Ne*u$B9$cEHZ>ze28uDxydb6o%&*T-=$z#Q6O;- z^KV-^Qvn`B?1AJ(jmcbHgGHaEBOU(dn>G53%Ugt z#88=;jsg<>48wJ_z{;lRftPU*d1#5F{j=I< zdSRytsvG^~Ev4SEt%Ws4ya;Wre_lEqm~J00B!HxGcIMxq8KP>vo>ZCVpI^XV9l*H1 z<{B-v@;zXZcY8?U6EOcgs%iXYu5c?4&84PJj-u%ckfFcb`!DiYndmAiniGi;I#Mup zuEu!LCINlgR*xt~UG^~C(5-~bKY>5lULRi#BvUpp-F8>z{kRF?%1L1SI0Yo3^uFTu zNgBS5m6m&?y!$;qg1@(GV@dl+uJTP$NmSXh?eGpx)r_7GAG3w;CKehy9Qi+|N~m_| zO6fimj4u&tu16dtwmJ(81(}#GJWP4(CFEs3>Ag_~(#1er(|ltZ*BBb_%2wx49ncQ?r4&&4w2^g`Cevh3K`N>u;|5D>e~v~{`dS6*gaIMnvsW)Nm+~Q zuX>3QRU_>|x$<#CVCigF${G;yn%gNtQrO|6u09x^_OU=w>CZ4o0bya15+)*SV)}_? z=2sEb$YhxWMs}EeFS^%{?Lwd;_FufNYplmuK}#tMyT5L~d}E{ar6OMLpFtvu>T+iwst<_`3 zE;sW3Sm<0*k4<2?=vI;*72B(RoVK95U0s#DHLkoqGWOxWp1wCkkCy0ar^}e3d_p0m zle!=qRK)X|zl)!%#0MAeirLg6yGa}<LqmDm8SHcWvgR3cNt~|fS^fFcMGQA-to6q~%NboRgW`d= zep!sc-sU{%Bq<|x?e5{U?b3^m;qpKoRN!b?{Vr*JHT^3f3N%UXXT4t(4bNHIxRMbf;R_W1KJvHRNafx z#)h2~Y5o|%G<@l~PoVbW)8p8LX&wAWSsveMzkityDH6|my*zq$U(~TVZ;pOR@@`ThQYlh9(z&YBKw|P%zPoGmd91e~M8_9gW~t-FV9_V2BZd{hbsn zLb<(2Y9iEYGKde6M!?bU@j@joAvU~l(fel4`(;z_N&j3`U%p^;4jUw0Km8Q=SMR$Z zFpibo8f&4zxY1&S0Q?@_JGDl8G|7Q^DN#=U3jJH)N{X>5P;7fOba z*=|@v;*2!XvFy?jIHC9&a?Zw@9_w)0Fur2Od#3?;tOzIxNPImiB%_!==mJZmwNl1x z1>?baxy5qv;58WcLBi#U(Jz&M-yW&AiF2yRI*Zn@J%;3KhHfZifk?XiUYps9JIMt2 z`~Mhw%dohbrd>2R!65`^2%3=K5Oi=00fH0U3GOzyGdKhf5Hv_|cOTr{-EGh?IPA%@ z_xs5{?|07m)9bFPS-q;KtL5sd?zY3PDHUF8I>iPo?5M1Cx9$Jo`F{Nt-m#Zrx`#w4 z;LooG-!wxnZP@Id(A?KXifsjVq{1GqOJMhRrBNl~Bf(=YtSm2_iWs>5a7_PV_$Zlq zXeTd!XFUzPZyAqGI93=DDBD@P)35L{oc;=RU!Ak-sbjq#_YFM!@XiaZmBNyxslLJV zx$@U@^l${Xs?c)A`E2CV@bhkm88l?a;<~0>p&s`hn-+d3lD(Uglat9Gt81S6`{pHY zPp8Xdtje(A=B@h?;kG6#g)}6y&8;iy+X}vnMd|PECGEH2&m$cAxpo@W!ai-SRy?O) zzy(Qj%_}ymk6ufwAJ;0$`pVl^A1)ad9;SqCPU?lfLZ3HLPNSZ^c zn_BI7+Hbvi`VR;0N3sP4DPd`kQ!A85u)ZagNB7I{!rH;{ zzdZHqPEVe;vY)PZ-#$I0MbS9G$J)DEdz zr8P^BBl5K?z8(d7E*00R&Krv5XlRJdNYup!>icXJ-N7oru{f_!=Ln`U3YwNmMAr#< zqJz;@Vq;%(@EuI)%B*Mf3$a*I}!dVr0?C0UWw)Tct|@a ztTTh_rf}^EOKF`vNqfdad4E~@en?0MnsW2J2g^v*6?}4TYVzUeub?`ql7)~!kg}=C57}Am%mk+7)w6A30HkICOg)n{^cuRG)e(q0ZLgizQ zD-5tzC~$pFwiC7uI=rc9Tw47)0>cF>^u>scoQDLPr?|{;Zo7w|jq&1QCALZ(Oaov` z%?P$VzU`t@($thGnOmOq7iPi%Lvrji(`!HcU(`f%s zdhf5-eF|Ug@tMv!Lk+?*S9TqqQrJuf<<@G^UTKJ}mf#!jhRI0ZKYM?hcIWp|f1;xf z{y+uawxOAl-_|9qnc_|-E3lhM(zi0LfHsP@HdC6VuVumra7a;F@Ek@*drONRGbV*I za25UP;->zCVCb6A@pUPQW*O~bal0?4OoAKOALpe43!;2Wl}t3}Yqo-yPwt3^d#}T{ z#d|@?`;6$f`)@u-75J`ouH%9su)Q?$-;DmM-Q4W_aqR5Mb~>S;Fj+xj;{4=i`^oCn zzGmncbfb`MKqzG!boz>6#DU>Px!k!tigruXsItj&|oijhNZ2x zFQ*w|-^@cg>uYP@1n@nIY)!==D#!_o3Edy1cn7t>+~Z>qSvODv)hDnr!hXar*|ze@ z`e7gG81c3hc>oVO_}YqIj$SE^L?RpgoQiXKW=q#FqaSnBBiZsyCuYPcyS$(%_ALu{ zp-AEwib4rvf{N$#+iQHDGGxqv7&dwsc%)0`m%S;I_0gQ8*ViRpayj_1WITN zkVe#_{qbR}I+9?uxl@L5x|$@a=2PI^+K=}=us7W@F5-QZVRLwbl$XA}4xBZ$!lV2; z>-_0ur|r*|uyab}k5^By^JdtezRY$3N?XrKwvcv$lj|8YVi7A4trp??KagHs7xMAl z?~V7b#8(#}bQ0Y-QeWEjo=Qpn#4(KKN>RW&j`#9M>aMe;a!9k-^mM%~=Qzad)&T1y zc8iP<{ZjTcLts@2F@6{G~4~zRG$ly=*RbM#jLY;?JO!1oFb;RG+@dK;yp~tZ-}JYcW`te3Fgc+ zc#nJeon)6*mYwS0hr*4w@vyYq?&XU!o|zEvZ9m~9e#EV+xack|+b(VVa58N8tJbhI z#qNi<^+ul1NOD()E|)JNX3=KH_EEFv7N_uI4BPijbqsc~8d>ba2%w1ZEo+w{apQ4> zV&kPNoZjn7W69JGq+`h+A1np+%}LC%BuY8JXm52agh0<*X!r*!D?S{IlJGg-Jchu9 zQTFJ8B)*4=5_WBUQrKX<+tSwg+O^#3wafjNVZ^7IuG6IiU(}P`=SM610f{9UeWXqF z)s5dmf)v}o0wT$k4n#n2DcsBdgysJ6UgWhu=@o`wh}5BikRFz_nRs5v%V)_){{#Pr zh?l3I^3b>SpTF|8)cLZso}5=5(v+N&l*V&)TO8D&+E;C!Y{{=bNyY2eCQ*ja*xvj^ zbB{d2IowuQlJYbz0rON;5)-7lj)zBn_LL9Y7MbC4d)2lhUr?v{iK4n=!2By96?s*0 zHx-$S>t&cq2$p<{spAEFFd3}N^v(x2+Blsd6XEhnzV*g*0#@~D5hKdQ zJ+?#T)7GNHN>AUC4Wrfx#B$fc*%Z^LGo%U_I*P=S4#J`C>p+qMhqIdk9Phsq{3 z1BlUdtZ&c)SNY`F`ps82&n|9gsq_K8L8Z*+|r%!hJxwlGOg4_zp4c ztR^I6@1qKNV)uZzOk*1Cxuv=2R_CIwtbJyn{^X9?GT-Fd#}j$w@~8ij?)n2zhF)Rz955q3}AQF9+_kaVd*TO*mSw^$id&K9F4cbvTv2C@uH%tzrrHimEl8ZsG!pt{D{FmEU_!Y zg8=fQ(`x#N@jXs{SB4v59)o~+L6FF=*DRdFWR-|{@ETX)ehTJ_izN8-Z5y(|#-#cA zN6{E=`vW;fRFVcRt#GsyiO-_^DoF@1=BT8djaUiuU(WeVNW%tJ^_Msni(3RN#V znoK9+bnUM1!QMTcAB#d;<`Q1pMh!DHmv(l=m zjz>*e?IA?B0c4g>oXLDM5qI{N2Nf$+Jpo#eoH;x^Jd#=_f$&qRqu5euHIs8lU7oKh z1Oe>rge~1NeDw%)Z9w}jFqW>hTZK0|~e zLcQ0CU+Q-euy{{SouS$zzv!YQ<8|kxrXcZOB&*4nHpTfxbthZvo$-vA#cz~t9T1)} zX7EyUG0`BLnO=oon`IY~1^d3DTpWC+xx!ehc$lXBs!$JIxA{1l_;b=YR-n4kib6Ao zdZO7ClbZN<>1*Jop9I328Cj)aF~QFt787SeUsu1E#a4n}_{O5P1ZiUN&^SEZCUU^<24(nt?hh4Na|TlL8_>k15B*I1#YD-cqOi>c!==AjpUcz4dVJ@Hzd#Zj(JB`*!2{M=2$K{ z;a{mc%V8~uRw51x5)@}a9 zvE+k=axBq6Z~5&5j{9G7VP(*}&LON;8oe#Fmz4%d>wCu+aG&m<$-rGzl$64q>o+e^ z`xMS-&R=UKRe5nm%7Au>^< z92r`bfd%tu#j;{bcVLwtt%t9=_Ga^gUXUNnouOFYV8A$J=gmqDm)d;g@FvPAUQ0N4 zM5pE~*5>9HewkBJQ7v$tCYpH^lI|&n4k}Tb zH9M;IFTnG0bnRt&zkNI%jln07n>P&sjs(F2eN^N%WI#gYcJv#U8m8SD(tXAiuVV%( zE_L(#1p9s$P{#xR-%!gr`!s7Rz&w1*aJ}mx7b17L0DhLD)(I3 z-VSDDzJ6I{bXD0!^=r0oq#_S$sOun99aBy;mnGi z5AejQuMrt;cgY=PlzRm8I$EDtQ219}ZSoTR;0F$Gef}`QY5IHe^Ci~jqMFH;^Dl|& zRbqj>9x{m9vII;Bt%Xe2T-)b4CG;=ToAL}8}RoII16xRdC1?c#gjKMPEzV*|+` zvR2XgL+QhKRcz;?Id@=208c(Zs+A9|9C7XU&SbaL9fTjwRD~`%su@)E z0SpnO^SBMs7~&x$JIPjW03#>ah1PnB1M_H)jlI~0SBs?oT*$Ng76T@Rc#vDX#5;y~ zOup}sSBaRX$pzQVSe+NVC=I2iS0ti=S3NGKCcb#U$|OF~q(B3PCmQhtKE&t=hb4zL z1et=JZatJ*lg{YVu|`1p8=92zqv@nJmXO;fS13@a*6ix1tUfWsOLr6ZmYQDR!2Xgn zEaL#*DqmXV-F3m=ysx!61>>6XXqU@*GGD`XIdjZBdLBm1B*y-rgYu<2I0dWv<;JX0 zI#4E9fR#ERjGw0}R&5H1{}5tuomj?~`Z4x6H5P+eckO6t7lYp#5NG)5f~rC>6^;Yr z98bawIlnf$Qt!3SV-S5eC(f8>0iujPzst)A0S+5Cp8bM1>J;fy+7HLxCKAnOJrDmp z80Ui(I$6A$LNPNJ!4si(GXpZ!#{M+D(H7u1C_K`77)>YOR? zh8-%b%>J77sT@BJ`YtbTZ6(~6?S3=i$<6TAs;GJDt;NmZF@4&d&i`xg^ySp^FzSLj zM`goek}ozrRuyVk&D?4&+zJAUaDuc=Mf;r0`ZeTtDG0mHa%Wl{E-6>)vAX<2_V-7B z;kk#+FnuHRIsl}%B2D`!Nnn{XPDZ_jg>R2Hxyn}&NpNf8$B(m}dv>PsSNtFh zJv4>RqxA!tqxIk3*fztq67YZ8?b}Rr`*7D%fOmF?$43uFq1vR)OM<};(+&9O+A*u_ zrPYvUj8#%UMFewQoYsiQZ2!p(?+!>o%tA=zJ!TOlJ!Y_}JJK!_#Y^!$oc^K)pOeViQnNiz|Cav;>&hBD{Z?sK ztOb7)iiqAeQ>Sb9^O4D_Xrqfop}GC>dSDEgXRM`sO2!J+-THyElYHqGWyYV7=`Vgu z%A1hMOfWch-2YYX-C7yNj=^GLuGlTy#ueLi`Q9hkeT~N0SxVdzyM^ne*rp=z-q~O- z8iSHoS2`FceNibJslZirzvDOMYkqsn|He|nRLb^(3*W85g@bNz;RR(B(Z5hI$v=ql zJ6!NLS(4t~ns!Lf^_dm(%NGu#Ay&a-XZrn8C^@cHMK~9CmGT z_Nx8F&|$5xccEK2C_w1|L2P%Rv=u!K#P%R%uMjsP5oTB^$10g{i5p?+!AOI|DrvHw z7i#@IFZ8%14;?31`D?>5+_72dC0?<}XeU+t3TUB@ydi@)ITDh2WnNCy9pRFe#cnMkwyS#)LJ+1g&=N>MHez8;aE)yYgOT33%J$U+ zul~?j6nOO;A19@q^Ly&k%G1F~nO%bGu8OP2oUO0<8l`Xr&sz1KeDjjf%1(6QR@pin_GWZx$EZ7WX?psRDcubxj`YreOK#bv#{F~QpzBf`i^hhsL6k8TAv zBN@6p(5(ZfzP>oP2QVYZ!^GJrVF@aXy7*LqZ&OikVw|>SJC3#@@#p~2`wqEtxU4bj zHcKQIA__c);6gY0Akc&9ljjR)-$?X;?7g8=eQS9tlnN&^nyLr=GK3Ea`>@EY{}RhH z1AnY~`jY7qn44kNxTm?{u6}0#quGQY-ztg<>BQoaZbMLS;TO(&#o|(LL(uQpx>hUC z4THQ%45_5%!T7NMgy)75UL^Re&9`hcLXn}kw3`t4y6!(PcN(m82zhs9nBYO*|1WsQ z_Su^xPbiXuO6mu0?l4$s7xM1%J<5Nj3?;ltl&GYp!T7c8n{8d|`1S7k?8P2HMzjDz z_fy_a;Egfp!KF9^tNHBH_J3{*QHx`c3FxNkdWtGv)hRgsG#$sxBtK{O+xp@?w|}m-}EmfGUK#Q%C@gcxb%|7=@i0$ zIcr77xn_$u&1NFlIk+>B@CT3@Fk3Nr`%`JHyB)y#?k4iKhxH3H^A_vxD?K&f&S2qh zRO6|pCag|(p*`LC)3cpiCk0l-M726hqZ^vS46ZNbk_=jeSNpsu*;o1=0A8&@_bE%_ z4Yjo~PInD|QiRb?g<`PuJ|{PLTtC3Ts#Ng6<>p=7>NO2ML!qBB(%x)^RB`mBH)%L` z{S0@G_h+yG6HkG2H|%bR^zST%fbF%g{*MM)*wRj^*SnE@yr-FvY8WnqY_i3(m~h{H zOzPEHql_?;##HKTP5#GHi*Hq>_)+0?eckKbKH*=<1BbTMKU4%@H6Oi}eDIK*BYQF0 z@G+g8cPOHZwDIm$2xnU56B3wHc5{6=t`kE$ZULGNGOuQ<5jh!Qi#|xq58F=|c|W^$ zr|s+Hv;V`x|9Q6_H$p4@IwC@+TVf}Kn7sWN z2YTrM!i#Ou0br8ik3_w#1j!j28Tf}s7!!i~aNtEzU?#N+ddklZ`+l0-VL(PK49Mo+ z@*b{~E%V6)zodv65~1q-?c!tHFxozynarWr2XKILUom?)D^* zZdTfIQe0sMJA7O!2D?|d#PRxQ0BZ6J^>dKy-C&RLaz?X@{#$^G&wy1g5`sPYm~G!f z++I)D)74qwBeiiZ`;LAqAyM0R67s0=hb?z@{|&a$w^F(Z?dS~bwD=)rpL19uFcUKK zO^LpMcPhi;!yVA`866k_5j}{Dt0WAvTO2v2tdV`n)w*1m5gLmk?BA2FCynuCIe8g$ zj}`-Yi6iKxXr}oIW5!F!B2h4YUh{(8q#Z<^$A@?U#zby@k}qORxdyqOqc`vaIy*(4 z0zm0t@j^EevxOVa%5h%gGYtUds}Kj^GCLRhxe;E6@yqDc2rzhYr9G}Uz_VY?N8z48 z!|#0D9z!sQqW}93^6#yAXJ_Yq4PF{R%C+#u?a};oB@C> z)zohBXPbeBm8O+BM^Fd*nKtfpj0g$p{VmB?-N`x9nMTy-K3EG7fJfn#TS*5HijIUJ zMF+d7Rn18`2;NIWSPh+|cyJCq05=PDGtM( zkVHZ}K>QXvv!R~OXa|HcnT<#VG(5SX-n~viA?CoE(u)y8kB*C$>`w8K*k^>&_yVQZ zI03WQ*WSFZB4yUya9_nt8MVe}V)9dQoFlnr?$rPi7~x8h0N)!))>R&m-3KH)mUxd9n>a!%J^DOFTPIwfJ%o z`(8}emHBE?X3GCi-@9l~S8^OJ_XFCT0nAY_@BW#j|J`mx_jappsos&RzT8J{q zBk&mZ>h@UAp+8$G820K>d#HEo>DrvmHEd&Gm&Q&nne>R_P0vAma!I{gd2HvRaVS1^ zm@#-n_Bwh<0G#c@sNU_Ja}uhExkwoxJZn8%fXV|*Cq-llSM+e!>m_gVQ-|vQ3UoL3eSb=km2$&BzGeQ^r>Pd@0MCnBz11Z(IP@N2tZ74>Fp^D zKumlz_CO=XIxK*!F-Nff(wqina;GsyybOh+qbM+`3t5N&($>34pS;O*V}}8jU9SW( z7~3x?^lp8&;v2>5h_N3GVaK$#?KuuOu`ZfgpzjVy^H4D)~QrV;S~+u*z0B z6}hAFH@|+sC+(9M9je)l{i`#|)H3SjIcmeQLF2ID5*g61_qS1j*a9_1(E z=h8#$a2PnxUp#lUin9LzgClzQK*PbO1fa;M#&hw!%VUb@4dytrPU8$PzA#O4A4FJe z{Hb@<_e)zqEpDgDGFn<-A0bh4m+^32yE?E}+5|v!d7cszO!dllAf2dSRyc_)O4KSe zdYwInV=M|BbFsOGKGwm28q-)4-fgVvlfUF41nja8IVU;gM2(@ZNC~m0c$JcD-#8H( z$P7p}T)0T`!pQkO`{v_{ne3=QR(oFIxiW}p=m$g{0xG;#d_p9N+zgB@*pUJ15eEJ~ zpD-PAoQYFZ*kETOzm{1Y9^>oDD0dqyxA>nL&;QlBob{@{ZVeT(w!GDzMK@44g#-Q{}sOGmAy zcj*=s=|3#_j&4>gSOJSnSj-8YTW!eMyfh9LlyzWCbcxprqcTSaiMq-1TEu z>TJiy()O$Rr`a{kr@F)INqeTio;>#7)2B9DN{<+4WN&(JLj>Vu^<`r7D$y-YnzoyN8Vom$e_sjm7v(S-KkS85+GzgFurNq72ko_G9Mz_4A&40$w+HOg44 z5NLx)vnTTyj*B0jjQW`}%8h0pH^PS&1}AAFQi=?; zSB1zw10iuKH(E>X)NRN($sOHuhdT}_-~k=RHo^xdwja3i!SR?zcxY4~dQ4aV#FQ_2 z8TK6eoHh``R$8!u`7{A5mvb@FyjmwhKjto+Ht@At?aw`+prAi(x_5Wyv3DPJ2_uLh zv~Mo$h-31y+%hRcA)F*(L+mJw2?#ZUiWtu?iLNBy{Nf7k>KE=v|i)TAzAS%LIzgs zKKN|w$PR7{{h3bTf_IS*cY;yynce?C6Al^BiW+mkuO`c!q@!N&D0ujr+3DAdC2ZTw z6Q2>;4jS8gdtWHV&F&?Pp1~> zsccN4LOiCu`!uV~d6=uC=24hPc>1ok*gTP?h(#8%CcODKKjV(&M7 z_c{p7o$5~A5j1witI(M$wQLaMI1MTne-!_aerQ^)Cw+RTNIzPOzWGFu^l~tzBJ$|5 zfhxu_9Vw!m!nQPI;x#~qq^n8=zMU!CP=lr<@zzRLLqc||K2~9T=PRNt&lJdAgCc_T zrL4iIlMqvDK2lfJamz@6iCKU0;}%(m{|-mHKkRx!QrvtKFQd8V86%z{w<3joq(?9X zLEhCeNf1YtCjiqi>~hI5_C*DjVbgGVc#vuIaDeYr#r%gtx-h}9<q@Lt^;RUtW+MwQODZX@FVv#? zRYwML&e&f}IA}$HKVn1p5j?+lpQ{&pY*r4$or@(-%Rn*+&Z8`FWWQbeZMv5n?V!YA zd+V4)vXyQ4Dmr!Q6F*yT8r7#n?x8uX_8ud>dLCQxG(Qcmx#kQv>psjo$Rb_1-u5R7 zkJ-lE_BKcc)bo3-3tOe~1mNXxF%I@&wx2}E1F&buRdUVwr<*ze6HBefo( zzd2W)Dngc!PLbU2>^(`X)=o_41ACFQy}O^AgpL6wRP%v-%R! zi;>*y+5o1c?OFjX-0Af6p}LZwV!vDF0oYP8DD*8wD&p2*TPPlUPpcH_N&?MG3;n6c zxlhsZtv^!~N?+;YHDy@=uPy!9hsb`|=e@t@;Ir_d%GR^SrZ`0Et&d}Upr})&%57o# z^M?D1?ouiZp^n{q-v{eqJ3(~20n3&dxaoQJz;*)7kS*rZ=)S5{#LbBrHPWfVEx9Kd zwkJC5%zIsQC$w9CIEV(-R;%G)HZ*5hd2A63x>74{MK#CG&~web)RJkGc*JkbK9P{! z)9=@y<@P<6FFCAe2b=DWRqScpF;pe-8+VUgojqEwkmedv%?}qnyEyo7w$!)H4U1$G#`Par=o`ezzdd}77UJ(f> z91C*Mhwl||8uTf(k~(I)zChW@>Aw9CkD1}BaDV4~U$M6Q{4lrF3PiU^YHi@ z;uUPKoImbT>95oljQF4ay!%f@z?M?Wj?=G$UW{v6c<6THCY|Cu6cX#FBZ2H2Z zzImiM({8DGS3rI1=4vj@ca<*9_pV^%5w=(KsNb@_qQrgeU;FHHssCKd2ZSorUqg3! z+E2~%GFsLs7N@2R+ZTjaRw`|MTLfn^c}_v5t25tJ>|&q{w>Piv_rCp&pj@*#E&g^7 zh7{y_1s81njjP?_c=xP*aeck^$8LY`Sa5-g^=9XTrdN}1%f{qwW2>h%ZeQBgfqnDy zpE(FrkXAcYDZuWe-7Mk0*Q@ndI;d^ood->-@04MQ)=j>6 zT%tGORWrMVg0S`J@aoNF;NkYTokx@V!-1+W#iEr=%RezE{FHU~TU)U4lcP-h*1PeK zS$=!Y+q9Q4w&SEhk-rt{?+ak$lCkGFLX>rVTh7hAbt|v7xVTnW!ffiF;GwSd;FT5F zl=IO6Md7(~v!-=37;MA2!t@h~<%ca#jLp~gX(mlOMmXII&dobabs(>Xl}y`l?AU8X z4zxSMar+uVvUOtwp{#gKnwLt{mnO<$3R&Z01S5!Wku}+Pf#SZIjO9ynUM*GZeNF^H z5z7gtO3B!yF?=12UqTu5_2^mn_BHDOg(alq1qifY?5zmeOZx;3*vH$%K#$psWy9&b|yI)R|IeYQv@GCVxeUWeB@A1x@lhTbk z%=0H4@3vsmfEUzb_WqL&2U^nV|DrQ@eNl7mtY_C}iKUjSC3 zkjz@=8>&6sV-xzj2Vho|Eyx{()8ePRZF)hTHd0ebhl9W`>-w@|cJhai16f!H69U7F zAz3s2UQIg0>Y$Vt)~r7nySWJb-TjUHuJSm8d1E9DlJH*nJ;HHAsQ8=Ax7{z0(#Hrl zIpDt$!>Z`Im7|VE^36a;I=1(TzK`s%!o3CJqt0(UP@s{CextQ1Og7B?@S2iSj2u|RCK~Qf9B{H1g=l~K` zcXOl6m(pliOAfsVR3432^($k|rB|!LQta9RZXg%-acJ@O#0iK1hBPly5C}h$GRNeY z`u$3-Heo~RH{g>+<@Cc!y5yD@ag~QJQejoSee;7ph*Sh!i9;5HvtQ58B#Go(Z19~) z5`}Uyj-5Vj8pr8>wZ%#;sZrqd415~-}B9w7Rdv63kBc64Nq5Vp8Cr^Bn z^vbeqH|%p5*P{2Rhz>joD=5Fhgge)<#VX6g${c=m$``VZEo89BeO62gNR3 zd0ykGP_(xWbiBZNX5wRc17q?jk2fbXI^KiYzkkEcG*vAY`&>khjg^hpfexLj~l&jayfIwdS7kre@BcO>o7f63k%^p-*?4<%dugC4#2(dh$Iy}g=S3U0VFu;>}8bh5U_M#jm2fw+|{THPGczgq>) zKaQNoGbr>FQ=&E`sFpMYaHBhyNRU;HhlqPw?S^~SjKA5DT z5PtrJh88R(9p#1)qJoQy5v4%A#MEhjh#;1Y|6VQ4fcFY7dz>U&f=i1*QKS+;M?ppx zq?&8+axyn4kb_RMO~T;Q72C!*+fI=@Tb4(Py?IJ(!Y_hAgqf|Nz^#NLsq9z+!7p^Y zUzEjU5rY#*idcBRsD8uX${5@-zX63@T#6bpjLYv2{67b}%E&Ozv*meYO^%Bg(kmG(B^>&H7DozBl<*%> z$wzySiIWibuEKlpkBDifzcK*|x8jctVPv$=GKBMDrXE>U>mrO{h-rm#xT-`H@2HhD z5xJFAaS7oclYtit?ejlSv`VQWEXO0u+&l|iJ?bA714jYhqXKLQ;o6ELNh;60Bb?O1 zRRvHK%5h`VDK!ELfxL?U6zm_S&OgkJ1T?fF#ed#UMEgersn;G^;aO&7bQspT7=ntD z=2^<{B9N=?`@a`MN_-!NxKt>HtBOxns47F~^`si4rEG-EEhlN7u0k(hV5Q2Cos`hw zC$C6q@`|3`pjl;8QT8)eM{hosDCYK9TIJ=zLpMvFrF5-mgs z;pVyA1uvp@6i4@#X3<{;7RM)mw86b!9A3Pc>PHk@ji3f#yiRmS-3xkZ?lFuRLW&~1 zOtbK@P7f-2YN>+oiOxj;J@uD@@TpGz44JQmj6H`2Bhhhq~uNs_1vEMC6oTZ4B0JAK*XAb^<#~q!HdHtAIHqiUm@NE|5g%1NtM+nYyG zV@e%5GRl+K3PdVWV)Pz57Nw$yTOl7QvS}sDGD7Ur#D>@1?E5ihm?*T2`vdTsb!14F zXGy392qPC>e;!Vkz<7g1%Ky-u8#y%wQcG#$pRc!?m zXf)Vhggjx;%iAv{gdBsi>E0R1F!Zy1wp_1c#9lZTlfhU9pajMQC*UB~i)!{qCx=;L zV5zZrXntmVW3L?_+%ij0oWHIZ+|Zh^{AHb+9@D||N6~*W>S*B%88vu(LV#>g+|tWs zDHCd2R?L4YpguW#X`{|Bq~Yhts;ag@MF6`2w|BfvXRQ$SxjV~`i zmW^NUgmqSG?-dHhzEW98y&S51|CP!q-TOcMfHF@TMJqhd)StuS{`vu9TkDNm|8WC` zm(pJ^^&Kh96>Po!pp=QKm`Csi=H+?w$9e5U;o=Rj{;?BW_C0ScvE@9tgr4#^I8? zD?Rm%Ol3@DsM+2qVpZV^*MO;T>kCwxpNHzHcm#Thq2Q<|K!-GYSBqg~aBoR*2K5nX zJJk0q6u0W}AlSEk&4)v2uqw#psGd0EY6){YEh@+CW(af0+ifE$hS$VQ`}nD%Z|U)x zXJ$qG@zHr}f_w>i+E37FPv^|R%j5#B(U{%RZK;2i`BpNf7RaW zz`n)X(`iTpQz7tRNv}2abcT2#TC>c%L2*Q&`&RY5^RcXH-F4b4g0%*#(QU2~;@C}e zKHT%;OSEQT^!tF-g)9gO@QK?Ehi{*ucOe!60zR?8iEYb9^9{nKkq$DiBzv)w(ukx{ zfbF}qu{cHK24dDHnrnb7NoJq^9*YQAW7HfUDhg)zcnCg0boM)sY==BfW!qdEsK>PT z>x$r1WS+a#TlM=71AM{FF8~ITTje%$9Y~Gd8Ci(d77xKtGFOu3zO^M512mGUbv5YI zO4Z5Lk;;;(-IG19wQt+TWprl^l4k*;KXU~s=`{V5MbP2F`N7TY&%;wgA5?H?v}WnGzljNOz*!7on|_b#?}8Ps%;7Fnf;G!g_?5Fi*9=c_;!UXqo5s}o zJ9!m4$e@9IAbjtFU@9uoM{Mo~qJ}MkJd5z`y?~7}*>a1DF?R$@vXYP3s8(bYfB8s( zovEnTsi>Y@*r@+aK=mJjC?}9mQ1&brNr{DhLOvt-1PlK1vK86!1Q$u6Ma3)^a*4&K zzXBm_1S_&hE3(ZAF62Us(Em%2V&;8pf z(rS6uCL)c}Gi5UYe)F>06a&-Pn!JNrz1q-aEo+QR+tpq(Ov1PJWGtjF*e&I_x{_2k zH5D-_3BuxtwMz8CTw}A_C{#wnjaO!hyY&4}Gnb!UAL2UH5>MIs6!)};@d3N{*OmKr zZb?66UVnH|OP%%>>nsBlg5V99BWX>Pxue(1D+b7 z6hh3`w{bildNUBif{X{z=n{4IciHLIYR#_qx^g#G_|gxQ<2UnuFMK+&CK%Ib zGPb$wiv4P>=jc8Hi2&$PUQ`VoQEOJ3!q>;ZsSB4E->Cm6cE$xo7pW>f{W7Rf)|$#; z!B{+=hr}fv3n!JP2FM#>KH16?Hx*)JlzY1uT?PxU)xNzecJbu~vb4Nv(PWaBN099_ zB<4f46MfCakjXH=?rO(z6;J0X68TUZBLMk zsoV?O9tp235TV&fxj{SFcgW<~eUlw)pY6rmLqwRW{mpW><(e_v_KC--B5U*z;{70yXXZoC`_OIONH{VPn zZM&pnj5`ib`Mt>rGsUkQ0oAgTM#ZA^WNr2F5M4o)2d6368-&)d%_ zWxD?PI`81~{fP=9fA%d=_BmFmfUqU+L0Ulw{9nt=@*ic6svP~jxkAl~<=(SPpF9U_ z+25FzftNJg3M)Jxg(;75TCPL&63%{+>U1>Weo&w~4hajHBAa6S+HHPclqf zJegvA^hDybds8t_9M}864 z)DW8<3a&~a`RvaKU@M%7;O>M8o@%aPZf9KgPrSTA^PYH@&Cd`;Nl9>$&>j6HTQ|9z zhGL>kmP3@!tX!oY5~)3VP0h?nIQU%rY|{4#JMTsIU8|E{LWk-k`s~Cvz($;8h%p1p;z0r;3rG% z$5WsB+qLT$a@4U`#(hxAg59ym+Qeuw;aqZLwy4bU%dkbkcm;>yv=~Ft@b8VJAgp`F zw0lBw=$T%<%gQQa^cYgEe87~6;L%I@c-E7B_K({nkd@xj}f#L5CsP7o85-?uZ_ z=`5CibpIiLpC|XDqhv8fnElh9><}GZ$XjNpJO;$I>c* z{Z{Uq`C`1RdbN^+Dlw8Y7P~(&@h!a$1jvKN%x{52j0(y1pWK_YelZPAq_sYJ)PCC2 z{6(Y9JV{>n$-hxiRKI!${$XQx3~qt5(O{7CsGWQGrX~|^pqs-`d@k#bZIr`MV8lOP zEYSGpi*$n*3FV6y>s{6QZwBK0b{NH#8sdO4JDoijNnrg-SdTVfaNfHXsQ+t+TCz$j zgU8VQe*s-UqQCqb68x5j6zCOO9o>K-){Hp<;}xm%eocXbHkYTX(K)qxYD6!9$HQ+#Fh7 zOrtD**p#>V+BHf_*KIOi=EObC*E4KyW8&^#tc;tur}=9>!^YK+Yb^>?*1|40=PrVdHjaoE+e&JHsVA37rxR$A1dHq zF%LPi1mN3u@GwIt;YkPD+5PI5R5OD#P{<07$QvfNCb-U+g?!G;2|MYNo_wZwX zJx^Ms$a94fy8Hlyt{)@L00h1iH!=X0yW$@JqabUyu>($2#;Aga%O8 zvjZHyzYRk!a2sOu$A?4H-LY4A48$3zOpI;+m~4!-PYZ2*YM$8F@@cfm)U|y4xkmX< zciT_gBIaef=-B0m7G9jWpBBJRug#Nigp@!+q?gApLpT;ay%WKZxmd2?M|6RUr;Fu8w+mjQj)MsNgyueZp-Ez z4^JJOI%{_;omBGCq~_xh5D#$ zzw7#b_LrkwPo7iY{&s&W*1)9;!vFd2r}kcu1D77H(BCh8^_RQt&sR>7XAbvi6_s1)z41&LQyol|1>3gWj)a}LKk9q5_l@D)Y zo`XNt_^b82E2kJj0_}hi+X2(}H4LB)m|U~(Hp|SvXohfZTo3aT>FWs?MNYQ zC(|iUs`LX`cJOry{0~fPr#U6md5Z&T1cPbfpQ~l5R+*{o*_ImM(Hoi52*Vz*P_N9k zXJfYgar<->p}MTZo=>p!cFZ42$WpDOQ`=e9Mk)ze~yUm=;&_mKk|;ySIR)3D>4LLA>k;0C+wS!(Fiup^vKE%){=`|Vz7va#Td>6gPC z_AE6tQFzB(IvFh8=wjk(bPW?yLYOF-rY& zJjbXFCb1JHFV!>I)b;=kv}3-ka6Z~Rk|R(id3gbp_2f4VN88dVr*B!5|I)3-r$v&u zp``PX)-&fc9A`_zZeC!QOK7GPSlQFB>JN699|#F8_qpG3iCgV6zdSKCrI-W=rYG=O zI6{|&eZjGLpt%gdznFEr*`98y_7hib!VC=K+3xDCxjs^c)<^iO|NQ$+ei@U`KPM7i zAQ|k83ZrSyqT**kh7@+&nv^dqKd<7clW#7*fK%F3e%C#>7jO#ic#JLJ6hmbEo^P%_ z^8rKnnLRW1)Y~pru95G@F_TnDbE1v+ugeCf|tB zXRd!ZZL7Ps+eE|Wj!%zl3i)&|whm?8UaY~?NPSN5+lT!ReLM0su?I(1XQljqO(*CQ z4f*e1HZ4`m9qXh6)*=4k zBEZ>lW^CiLXF|q4zNr|0U?ZP9TSoQ@reEXvmk5>Gbe9NA|JKRGcK2r}v{_L-^9y27 zg+>j9)@|$KI*odKWUlF)04$h2s?m+?%sOpNzWMJsfVfH7 zJE}FhZ0w9wMzv2#!)weGvc~Kkdl9|TqYqj)j~jhzT!In~y3vrQW_+4Y{u2-9xcunr z4fhYk6jn?kxbZgye!gPBp#voI)J*UUf{3=w**^6XOAG9s%8U;p(Qtf`hLyJ!(j*vt zdQg0UH_xzlYS5vdAc4TR`E{U?L%xuZvqd3ca6XoHdWwIpsmj(2nAp@_%km zpC6jz^^doW5%*D6h_51M>2T+9_{+Ed_a?c{T)0N|&t_D69(mYv$|0W9-L`7)Tz4sr z*qY_#0}Ej7faGCUDIfn*tv>06(ryB7pGz5R4bMWcPyX&d|K8fQyj<)vxR(hz%2Y09 z2vzEdP@`E4I=Wi#M26n+ZQ~YkocMufu1U?gCY_jT<^(p^q>IfpsWaEir<}>aE){F8 zsmSQxs6za-A||cK6s>>(MzR>Kh)b)f0AnC7=cN_?u(`UvzP^e&Bar2KhLAg(KeWn# z%vsL6MWx6>5NhW#4?CARWbt}p6GRUdN|F#T+TF{;?p_{t_xxJYA1_t9)^nu7+3F!R zv9muSMhnjOKd%1ufBfb*fk>S3X}Ub@DCQ7H@m&52#7A=N3*})~F9$6}M{S@rzMYhZ zov<9@gh3fQ3p2L%b&9aBQ^ff?B0TV<)`oG!o)&UukI4pF=Ox#(o=;YeJ zbpHE|JAGZo1@av0)h0|&xXs;@Qjsv>al-17AG+7 zDK5gsrU)AwaGXGssPL=GeAf9h;cWN@S$ZDcl5sbrm~=zDjh^q5__44Ylw!(30WKU! zt_rOj_`Nx7dUJS+j2XUrGpR}1J(4Y2c$J8A7x1G zYA?17d$Hws#IEckb~v&2(PRIuWEj~BIBx1<+%{2$S31j(BPU@nOP9GwDkJU<&?G5x z<2!7$Ec<&03smTvq>%X`w(@yC0m=bh{3a>Z<`;64lzc`#&vMVR!t<>3!E7TkxZ@&N zmQx#$K_CZy1r~kFUsI6VRXENR6|P(#ub=k(l?D~eue-VVf4n<`^gB6!$GfxM=qU3j z5VMhjH{!jIOTSa{cQW5QdK4K-?hBmQd=k~k#QR=GkDY-Sl>aUHyAo;j26Em&<{SDs zdruAmFK~7lJsodrvG4G&4}y=<9Feg|5T*ma3H5DMZ0;-SV|#1KAW#svOC(FQ-+=7> z8hVP4CJ#wX`6r1s_b5DHLE-sI=OM{{E*7HkY}%MUoIXUnn`cLFW9|1AU;U9;lq;tQ zavE2M1yT5(P&D(RP{97;!LFgfssE%fT-^5_y&x3OyB@*!uGIG`sCTdLc{HSNgLRU7 zs`XmQb3>NNK7tr_wGa{1*#;LpkdL1*B|jtu=rS!Aj8E<94<`>4A3UgpiEi!J!5eGu zwr@1e3g=x$U;*U31L1q^mm_Evx(Z(I1C~G8USS4?YLgC9c`yC%r!U_h~~J0}vNSdgg}1 zp-3EFP!HdyVX?M7r8d>UU<(V<>R?dEX8HKDbo%0|sk3y*xQyBkbs8K!wLvO;o9u6= zZj_wnx@NG9dC;|TrYTLW=Eeh|KJrGGtqqjH9fE3NIBzdqYH zayz)Y1&gzxe+!mkP**uPn@{y!3X8eR5jWNR|Lnbsa~sF8H~O#Os4Cy3Y)anQ_a?Th zY{gDopPl$d&N)ftrdSZUq;O0U3;@bv>YV@m?(AcxXS#c47FdvgrBp?dv9Edb^t*q( zqiR_&xlu7-=Uc&tJBs8W5R^oCsqev}HUBRRn9BAHtallmTactMlFpB|5`&QV`4nPhB5AwLM zlz&>D&Mua>|IenG)wh)vkxu6DHAh7CKfRV zg$HnNZ9Q4*A1tgkfVSX@Qzwjw=R{BBB#uM{TYJW_iioGMw^9ru;$>Bu5%FZlkodFp zpgA@d2RNwjq~i6Ai?5e$aXmwT%#;OZOt z4{Q817p9+KIQ!7s)f{y&6^5y%6p2Yhh{UuKKqMBb+jS|Wpvn=85-1WgGf6DoHA`$8 zkvKGWm{KGr(ZPzu-PwCleq`^z682s_278aA4}rbwtucM+^7Ph*Go8rZ*O7YLna)U! zPzM!&qhvRjcTa&ex_iGlUrM0bpTBB3!ihLFm_ij4%WmGX+MKO7=hsVZq_=juoIi>; zhS#gA1++|PYdHYs3cDQ6Ccb+Wt3`>$YLb>2$h{Ui^;#xa4`MYJP^uOOAXSGj#*|XE zD1XILwGziFRrQJg({i)8T%6BaMlC(s-!511w{P1jyxyPegk6iZNx(-^LjdcHA>GRV zc<8@xc=r0L$@BSLEA;!i$>BfUm6HLGA;XJ)rw_x{rITumR`H|{H6*am^!5GudA(js zu)2q4q!P6GqK%)+GRi&Hp9X@7?6dsTr|FEXKAoi8)ZF$sscgUfrPq!y{>~dF+M9hgs*JTx*-nO}a*+=@eFV=wcQ)Pwd1rCOlZphT(&impSynmczNK65xQ1 zD~NrOifJ=_xO3Hvck*-9yz}tS)zL;EcQ{u`#hxqfU}cAMu!zt`5hVhKHq^m_DRgmW z94yl{v@dz3ny^fIt_~r3;XYT@5#y!|=jw5=Q_J#Tj#fqFrxrz0=%ZC+>S*O47e{(# z0bW!3NHVLMJ_WUT=b@jiDmr3aus;_vU$m=5L+$qs4b87*Mdw39k3CoM zM6@`cC|}`C)`cOmaa8vX%_18vYjmApmA7}OOQ7#%T0V$ z`u$^QGuSHqei)Ng>7#1xpep@-6sN>go>Qk9)iMtOI;dZe0I57oc9%=afF_Ut!LKP%U_H~V)RHte&%NW{_I_S-Rlyf zLXV}?m&~VPriix!m?gG9N|%%gk3;H&pj)!e9}qPzfEltqm>I|Yj9z!G!g9A<+-}xqS4*iWv>R1cC3~{Sx^N`wo{~EP zOOdZqc4E#Ea+&6iN+d(>n0dKlG7`h2AI4tnO9j-P8RV!YG4W=RguPnzG`XJNF^CWqfH*{nm;mC(TcFJ(9tk7! zNcd8Z!~jv}$vqO&B_9c#edK_b>YoYAKYI2(=rAlS^&nyvEHV}>@-0{yxM0zA3l`x8 z^8tueLF?7uE4u}}`a`pH#)6gfdX;dwO5bV)_OC7{TdWeVm9MnCnAv%0BHxBd#W4nUz; zhAA_r=&BdTVe7Teu6ka4p)psEcGeNo2>^j5fER^E6eA8mqPRtY z)lUp18M8SSh6RmU#w#OPV9P$6u>e;Uz@D|!>40tQDSSF1tQOif)+P0i{Fq0;XX;cvrhcC(!h6`gI zh?j{kDyI&n)Kz8jC`~A;X!SELCr-_lM&Qx1T`H&%?DwI zbW+Ot(e!e1U?07IjlC==lo3<#vd_j&n30|Zj);e4>8~RmmQ|Ek(+iUZ#KST+9;Sd= z3PFd%K8CTT3}eOKI99vePv@!4BY>5{$FW%KEQU5|Ppu-$adE6{Y#b|{xJ$#9fvl7W zWMzCHtD^+VRhwv6?WSQ@k^sKyy|uRb)!t6qKUsxtk_(dBw&vUV`mSEB@=P#%E-Av=tvJ;7e^ zItJ{W;{Y*FJP3Z0AfApb|M~L7OdMLDEpN~IrR{@vt>@p|+S3`$J#vQRb6Lvt!aN>~ zuY#Ly#`E@|UI8tr;x=!se*n;&&pp7wOveb2n(r(5#TNzu z6!eDP*7ZeS>Q+`25;W74vJp`&O^stWi}C%Mo0a?HLpf-HmDu(>K(zFEG|(wIQNQbD zCz?WIXI{V}r~D#^v<*Tm<+3fhX$atazUl@j3!{U%Ny*H;B)AFV_~B++urnRcOaf<# zsDB8DO5eaYmzVYV5E6BzdAi6FL4P+Bxs*ketvXf`{f*nU$6W4p4!Wx)ygMcFxKq3d z30Q@8GoJ2+@;&wZ_U!D<{Pqg9Gntgb5W3i8LG57&v9t2!&ClQ5+-)9CSULysP@ByS z4$qd&5rD`dh@ga`sAp1{>+q&`z=qNJHLFiyGOq?y!bfCeVb z*ikKk<PZ;yq+{L5pcS+9-P&a`qBW$ zB=snUW|{?);I#$j0PYpA&8HTRMQr=5nhlgjV7EDdj&gvsn)3Eu>I4^MgZzUDZymzB zAzmO06(ecbd+p|FyhenN)RrS_$y=l~rEJaCoT{AAtqyBS8B=eTX7dz(KiV9CNv3x9 z9Ux_VrbmP)XL!VjCVAsr4{S1|;d9^!P&@21J4I3xVCJ(Kh)MRcqMc;oierUMa?|{y zCcU)AG&O`8nyC&MWPAuL8`nMtcA%nDc0_Co(qWxCluS(zUqAE|;S#7}iv@k8rss)S z8-OFmqts-cs-WX{I|)>h^wIBR(24f2XGrk|gyPe@r|>&vf%%d9^gCs~Si*t$ow7V^ zt@i16%6w%x@eL`F*;aGM_rnxSXb{&a#+8Ky_9Qx>{z)C#@Y#nOFIq z#?h1ox~2E)Xv)038Gk*FCeThavvWVRMeFRSGA?KGq!`(A%F90sccJ*aI0g*&(| z<%CF8qto+s9$RSXdQ8-=>ts1RXFE+3Cd|di)7qaHI^X#uY`NA{riDolb~+HMOI5iUFNQlp@-wVN#&!{gqh$F;eX%9b zzB#v@2f8C`?sFbYmNFBwj`+TU`3d$}P)EhR(SkdN&AVQxd(20iJ)UjWDI!ae07W{u z=eKjbh=pNZ8PkrDSj+5K*CZKzoF^&^%2HewRAw=N=S*UuaRkehsS6TOQany!P?k<# z7?hKTP5pk;FKySUzO#KRmjn8l zfB_uRqe?@63obsrTN|p7py>=35#S*0*UQz#VEvbb^}j`!cI3LKpQT8nK{0c&TQ4F# zc|GxOujf~N`2?Z!?LO^7f{M@~}55qLbPkhBav$sd>NMGNQO zx!b3iDA16;yP03rKh&GI%Zv5PUltco!)rK53)7VrS(*ph^PkM3ml+-(qn{aHe_JoE z-fluZ&({#h&kOu{S1pYIej7ga6R>F-Lw9j|cCq~Bwl5%e^ltZ3c!<6qlA`R223W@ZHA+3S>mn8&| zhlFaaQef8NMyA~~S*ac8!G!113J$SWub{lq2;9Y|6-clDtPRg$(Yad&39a~TKT1pUN;ISm#qq|fbTW4@jB zPMsU6{2@f zwR5aAd}CSm7{OOL;K^NM%{!0CHTLTdzIImWw5W`R3gK}zBF1&R-o~rtc{}Nt>hL88 zCb4n`>U^$F%X(m9#`S+h|LhM}e}_PK2zZD7eFjT^pqHl8v*c}OTnzYoAYJ9o{JGhf zMnS(^T(u}JSvo{HrT+hY`>w%jbZWeZmUtqqqMhQw_99b(-Y|xspC&Vk6!Q<7M6ES5Ux?w+AwG!S|Am$>0WqElirStk9&!ntrxV4lv&;ALg zz-Nz1(H-k#fNT_;x>=Hnr1TKlN2@87*E2$7H(Fa%Rt{HULr?%NlXq!55no-p0%d6R zFEOXL8#!=2B5866fNK)Ns=i%Zz3ufHxtf)$l}odl096w8SJbQN2crol88a=B)5I)D zpuO$|heb>81;YI&0$GEkfcXy-HYl)|6q*o)x&vk;>?ju_^^I0R@jzcvC2m;E(1D<( zG2x~$?M~ksjc&*h*orS9E#BfwV4WMIx243JpTBC2trMAn(eVi2+l@1dNl-6aZO+!4 z^XsJ+nyuV4M}(x*fYv{k(Xb!du1sl`3nJD5Ady(EhVB&C*sr(D6|g~u z5$nP_yP4m;9*m@)mO4A3(Zwp1oiI}HDgBL!_BC?_`Z*u%al*~=CLT5E_86__@9M9v zuc6?p+^#F;BiyV&T0S2S@&d!|iRH3D=QPj77(G-zjCrUu>qwraLyT|&S}P*>qb08s z7cb2K-hFEOl>r2#8_~)}Ss1TMGgbSPDs3u%TXx@g8U^0p0l`JHw4xvktu5W@c%|&| zBHGA&E=**&ejpreBGl2%UQbnQtUKK;Q$Z@vvk?cw!?VrB)=d0 z$?aTS$xpk^bvKw*+V>soe6k+pD-AePEw*?x2KK=TJz6u5$C*o}e$4pu4FL)8c95#5 z{HyEp`nGQ4c)e$JM;{u7b#h8z+}#aB1G#Ehi1CBDr%%*(kSM>>s#QDUv)ApP7abB# zd(x7M;3}$w$((RES5a~23P9xY*1Q*+TJedyGRFUW0%x6;c9@Guh_u4-Mfz zbpDPL_{!7SGc?p^&rel$KeaIctC9@E>M9KNitdA#w_3#D3H^f@$v=ltbm46Mnl9$t z?uaL#7HQWOetkR9u~Y2#d)7_T9NEjox>@Q?y=sTn|J;1|s*YbZ-??;Qs168JQ^y_L#o89 zhS3-C*?<1Tx-_(kLA{_k@QosHf4*6E?)tQFL+cxUVasQ1Tb4pwmX?`^?n+oM2e>Jn zDNm!7jBlB7;UDgv~AX2(OxFJb{>YVv- z10Esrt96P-SDXBo`u3t;Nfy^Bj}(-@A{bDS;0iDp)Z$5*$v~r<%(hd(ri7F&g&zEj zJ@}wsN5&hHUZ`ti821};v5*+~53lZ5>*0V>9hrg9#kePf`s|j9Tci}_35T0e{&BnyJZk}lF8|o^9N-o_<%>b6L`zKV_cFp1? zGdFQMZyYBAr1KWC6sFJTEfYGQH%-$?@_CIB@`=4&yhYx(T3pmbg0CYzdy-6F^8E*q z^4l`111Y)zUNq~9DU7X)Y&hAzkCMaIJ!WLiMnyEFJ#`TWJ@FW5ueNocrK4C^O=HF$ z2s9I|YnHQ*SV-G=v~Iy1eUe0RGI8NpbHsPc40h)Ij@8V6RKc&hQ_u5i3-uhn1?%W8 zmCI1AK+2Ia8T-^aGZR8-W>&|5Ss&Ny#`9hC&z7C8RZLnW*v({pa3KYSnQ-XOyWmTK zv>(yiqSQvZ8;pJAJ5s%WvuX4a%Pr~g;5=_gs9E@nSM&A8c+&bf>vFv5efsxz7mcB=B6i!C znHrHh=-^oyvj?2MQJ^frLc1fj#5qNs0fNSWQa$)F^bZ&xML07H?eVe5W6qG z^r6@hBfD75fB9)Ozg>5%t-WS@g+=enY2OJ&@wE1+$yKn(NwW-^rI~_pND}~YnnDGRa&6NZEQMNf`8_l>4YvyG)&a?VoCpyT) z<_`k26Hub01!cofEmp4~2Q z10PFAKSoIh1J--AoNygc0*;^(G3d4;nSO7a6e$BoP>N~Xm()NhsiB-pl;H3eB}^kZ zT;Dke(GkkRVY&22j_qL$}is|5%8nG*Dlj(SlnP(IkRf4vUi0m&?_8{iphuc2fvhje$BQ z5zX+m2O)_c!-xxz_S^~iDD-Ke4~;YIKWrC?mMDg|(5yVL;x7%0>Dni)t?Jitl5&*% z_cX>upfOsFxm*5Hug>n4Ki7SRt`qSgN%#&^IuaAoVajDHqZS*C)}>a8Tzh?kcy2z_ zI(c(On0WY3S0IxtfOsBp9f&-9^>f>SFF`-YdW7u| zWbfCWD%&%bXF0b(6ZF*Dl3oj3ANi}ISAn4y`~;iwU4t~i26YV@y&u(%s1}F5AK6y> zp`{Oxguy2;?yw(11R3(jyB`&oOYYncZ9k!=LuxIBd8DA@$QGnw%L$OGb~}( zgn>+%5Tuav}Z+-c~mF zu{{dVOovCJ^mZAdM$sjYH7k8vw`b{lxn;K!!>AjW6CoYMrb+aASjOOiO$r$SzKQ))*i4)8(aoc z+|Utpmyd9SsJUP-2omuf+Afftd5Ig*g-x3o-@qJ$R)dE}{j6>9I<8DUfgPB($jY0X zznaGjv)LksY*rMC%O)UHFPX1qvq?EBr_04>Lz?w?rnDzkYkuTlIc``CU?dwZjy8y| znaz)HAJ&WW^*6Uyi{7&yCHdLA^o%kbY+iE*ANCjz2hXnH_k20b^r}sny)3qz2N zGriRuD6C}?rvXCbynSvYByo}g_~k8{O_>{dqISYPR4Rr{>^)o~V%tvuMw%eu;qYU~ z*<#|c;bDYXCe8UWtq=kb$(aCVw7|xrI3=d?oZJD6tlE;xOKtxUxkajc61-_Np~Xza zr}pb=>IW+XM-YtN6bE28#RGQJFmnmnG%Oi)3{p1m-@_x4h)pq6K!|DlLw}zDYKpx; zO)5VvTHUmaj0>#_WKM>uRzxUFS!RNNsE=L$OU8C1T*!*6%i9vX?vJ z-$6?iLL9G_YU*6w1XnE>Rqyq7;{_Y;R?N-vgLTR^n}+#DCCet2xfyA5GY95okwdx25i!O@{Q&r2f#PR9?+w$XS5V~6|CIMH(g{h9S~GU)S2wH%w!lMnOLyAeLajk ztGdwr7R4x&Av?2e4W$~xw>6CIHh!UV?Z$B8eC&F@-oOX*=aSOKKGSR811qpF-AV}Q zb~Y5it=qqwcfK3@wclxe<3oYd283evQe_;wB%jWnJ!5-;;rs~{dJD6~<)bA{Y_`4J z-fB<@Y+ccAd;fE{pTmE+H>&b&)bN_!cR-EKT3R1uHUk4OjJ4U&^ZDlF*{sXIUjO#l zV9N1u5MZ@3xLTQKwL}!QT-jvHm7(SGCS4)04RXDDvK`hcr9BnO$>1@VxmKY`TC$n1 z8W76aB@UH!1r=Rh)Nk&udij;G?3u;gcLbV}GYUCtmq63g$8IE6i5a`uBB4!Z-Q!M{ zt=yLNSF%KMdELTlNHBN#;nobub7x^=l2((YxpkE)?Rx*duJ2x7H-B_BD|V9}JKHLn zBBO0@<_50U&s(!%FgLOYRQ;78(<(Ajt)c@mHzq2|_k834%#FiB7j0FIUCg16h?FxI zyh}hobEe@Jkw(tw|)M_ET|}Sd_^!3I@Jyl zxL-s4hHK9AqmCHUhmbk7&8n?_) zSm#*?AK$Y0aCzJMIJ>gCh-g2eIB~;ExauQY3+3tu)iudZ1yh$^78Bra?_(c|eHP`8 z+K2dY_CY6s*v=HtZ**^}|5kj7fUPZo2uy|QrIIp`Mp-_k2=oq|hf)92{mmO2OnnFK zYD&Qv{ON-gjw3CPu?+iI#iQnI=Iqbw#k*Qh`_pm_Qs=`i6o45~o`H@Hx~EeLRB-_dt@`c_10%{k?Hc^bc!;NUmnlC5pD{;p0PJQ; zK2jX9Gvo33NV`oOBT0^wkraecZ?t}CnM$X)qzog;%-(P^s&mMUq}YQcKXwF1z(@j) z((!VS^Uils;Z<=^?rxPN65_R1vSl}Z1~H0+gWz$?@Km6?thWB~~> z;GJw3Aa|w30I-Kw`k&_=yONzJCGZ2)jv5O4VF;wSclCBI3m&>n%X=1%!zVN3O@W z#Z)I7I;V{ZOECNE5Ku$YZHo)+C0JZ|kU^|Q>GQ?9ZW)@LnhTN%=q%bDgkB(rL87iG zDq!Qrxfn!U46R&<{uXD|81y$iFjCfO`r>flPM@_qXv(rtTF;NUF_8p%wyRC{cJMC9m|Mq6Fg z$~`TZ1cgz(5-~rm5{PWk zT}%m!MP1Cw$B!rUjLy6xJ`g`bP&`A~kPUNQp3gV+pO%}&4W63{dA+xhkKiunSsi^+{0t^cBrzq#LRnu7`kJG?Zki*Z;)YWp5n z*7(q#S#Akq{hf-m0xo?q6G4L#vrlH8wm~OCVOVPlN2~*qKjaz^z%Dk+D)eoi`^GS} zw=7tB|GM3&_RJR|wiR~*49-;g`p0dlQBYkAVpHK0=4M$7{wZ8${2B*J-3vOr6DP?I z<>EBmDl!kS9I=j_n7%ZMZeUS~L3FsNgtmr>#-&iILE_EqwtM}I)%}yMgMmHav7XgY z9snBS{TwDDHW@ryw~0GILbi9F!bLS^f^2$ayldgs7>+W(7f1z?c$)1ch^O0hOgwa` z7?s(BgFnBxfGWd}jonkZ1G6yA+&Y=*4sq8#x|?l97+GO)ngOi7yi!?JWlZ~h zeC25GYldR=RFiFx@0qsW_vU@JKli~{Z>HF@E-IE!|DKgwIKtbXe7M%WgMO?g;o}r? z9is1jrvN5n4sf#qGRD=~SD7E&dmh(dfRlW=1_E1Q9tf)*YeK<8o-*w9i$w`5b5-M& zG-4`qvkAR^#uzEFbG}(!v*N{}Fia>_$gdogFbSwJVygd+l_@vs;O4zN^HnK|Lv*$E zC6DGE$rkCq!^Xib27PPF!T}GJrz}=M7`(r^zE(nzBb!q{c1(gwc^((d0QaW6s z@iB6p32P&{Yl?HWew+x+f?;(?GA0Sg{7GU}C&wUGh)}usrkTrU?QuQtww9EP{pcu} zxL%#Bte?|oZ##OBZ@8Xc(Y6>})IE`mv|oO(q7j^iX^foqCm*VXi$Nc&cnva4;DkH< zTX(MxV!w<^PrldV6AT&Cq}smWo{Ma+?1+3LgVAk~(?cNrwm)yrHz`8Kd6Q8E0e=$Z z#)?Hk^Uru<25Pi*3QH<*C{a`KO6m&-%P_+nQ#{KH(O-_01+HJd?Su&(=O5Z>Bt_e8 zgKT-G?-6WQv$wb1S90R&F<3FZUTEHt?kVZOB)GFzQXNTMIR|hHxgKSPlc-m=i1uV) zqp9{}V2{VNCmSB~hP>=yghkf_+LLhsEN6SNVHBstROrRG3rf^Qwe(W!4Qd~q$ktg# zwuLi;mP#jv=@dbwtRUt)b41b!pdvicKAk@(h^M9sa(}OFPP3=u2|0t*Vban z%HuJ5A#O%hPAYvIUwd@P za|kTi*7`n7e*DCIkVkBG@0kK_%c`m@S)0uKh99AsvPh6G#0Szq_!N*k#CoLX6i$ze zFE*|+oZ1g65U$}L$v)Y*eU=apuW~{1@Fb#nc#`hLnqZl@pGnh3;$Aqk{i&lj3`XQc zg&g-|<<$LX?S6ntK?~qwlcd^cHnzAt>%V?RRCoh#lmWroegxh!^bA~F&d+Nge^C3W zhCcyr{PJdg_lJ7(^+VTx@&vx}bf(tj`Kj_0;zXC6O|9xZWJ3c@^?dgY(D#s-1KN~9 z%<6|bY1u9`HBIByXs6p5jhaipb+c|Z=3rhf*3B|D=cFA?|8v85uj=?!^MP59wms^5 z>VvBN=;*Q9D2TMX3ndrtS3sGZ1ZU_*38)Au6arBqw4BNeL6tm`u`xnInR9#$L1ljN zK;@Oc&DiUD^{(^Bl~r=I`M5w^gy@b}_2$p3#ns|AtQxray&1-{b-N_b9xV+NRjJah z({ESJu`vCogxg-~&~0m3I}@bL(#+M*waiO4fih97i%XzH1+zq@t6cV2&=s%@Spu-? zL~wo4@``25x=QwO8M6D75iD2$TOo;5kwnZSgC@n)?aR6mj_p-u&TBu7$;@vYD5Kpz znJI|!Kl0@#;LFV5@0RP$cQ=iusj@!T=c~Hzu(7fpdHYe>ib*S&yNCk7DT_F#G`uQ- z>?I4;@b=V5ft}o5S&aFq1LZWBgZMhhA1m`%zkFNwcy-N&h(f4;ozuhS3D-}IL&>hch{O@#!e|0_9meNQIuAwP3BzqnZ3UbUY} zBVvw0sq#H>bUueJFTIR{vdxbgMU!8UMW6Z9E=7@LMCAAbO(!CEFfOE2BJOaZ< z?e1^~dhCyKomRg8p_X%Ys^Ju8^OuaQf+b6Tpm>(B8RX@XqN$ z4oV2=X)B{QF}Fes(jmtRZ+^-Qc$#QCG-8GBn_-$`(b zbvvEcch`%qs3=biCO!3{=Cl(jADl>X5zz&*yv62Rx+-1RK)bm%+c>0MTWK`lB~5+t z1Y9vRMUWU}eL&SYbUxY`x^wfF`k9kfu9?xX89@RFr9>XY3iK%dFY{7oU!(t2s z+1&nm@$b5)!~`GcPSk=eWly*Uh0{YYiJ4ijO!4tNkPG~V8^4=1fC5un@5I&xg_t^U zfrWH>{MbypWdcPOxxfKv-w3+3OYR42NA4T77kagN_3^(J7n`?~_Ly#?J*HD>k15n1 z+c7$o#}q1$#323w-b3h)sZV!IvF)P#rZ$gRl`TQ>;4j(3U=0{{+!G z&Ad`|3I(QPsJUS7pmi>D09xhx1nG@CaRvpDVU9_GV_4+K;DJqrv!kRC zzhzbv!@KsDDW-I~)KbLCizJe1Vk$oGInl==2hbCxY{%6j+NE@`HXqx^LJoxtq{wmk z!YID^OcO!zedR!dCr{PNVm33Gi2Zp5P7V z4hjn3P+#4qMUa2P2@cx`A^=jY`u`?X#^l3PqY`4e(a0`Qbi8^Pp^w-4=Qa(u^?&Dx z_$}rMyn=bGykPzEy{zZWid@is$-Dk)N?n!d3H|kqx_&X=%>S#qAtr;@@`gY5H;`K2 zn}<#P$3Y@BchQ}Oq;p{KGs!M>+^6(CDfynuMv;^E_4kk?x}L8$@_YR~WKex^bM^K8 zWp_tLzU6%*{?>Irsghiq2jdnpYvBBCceSEN+FmT^ty%RK$tRbWm;GgODX;G9^}4@- zoc~RCk=}@R-NlqlBUrQ-%P65P{&#M!{nRHs z7imQ}gF#0h2q|Nm!8)VZhBN^w#T=#yqzoshyniRs1KSBA@k5^zSA%U!BAQkFmOwm- z(5x4iXMNJ%!dti{mmc}^-Bnv7{Q0U@OOMCt(D&C}fft38UfCXftKiCb8|%_1YN#le zzVN&Bg{~Tiyk${o6y*DzfKZ7{4!|;e)D(NDDV~a&;*r!8Luw*M;iIP5M@{iI)D(wN zQ|zavSW}Zgj2BUpV5w5R5C_A{|~D<<~xhk3K*FBcb!cM!P^5{{w-+rqQM@_>@~tjVV#rGNygs|q9W_CB05%%TJ3jTcA02-G^2?cKaimiLe~Y;76Px6< zUWi=~_8Yq>u6?61dCNgTCAl=GsdZ5h=P2@=qiCvg6bLI_B6xy`@BgEF1#xyF z-`R=Gv(vwaJvC9-sfqlj2K4X14Ls1Pab*<~{wB)$efjnMD4q29b*UaWN*f&F-Z z35HK&8?Lr#FYr{sP5^{o3?C^|`S@bCC*u#rWQP%y?jz_}w*lMdyiu|?b+;kNf<=D6 zfZbfn)3vEj?5A4*B%#{aZSlO&*c@9t9iKA1Zi{!Nr#5r961;U@sF^2Xc#FZJLqK zv290?t#i|f{Qd5kKI?PX>!4)xZWT_Ag`?9%hr#bP8?+z$j=7-2TPDZ^)vtPlJW!n| znA&;xI1My)<>M3Qo!0IiCMA~0K`hhjgAW13;#UbDcw!l=6+ZZhWje)Br=+Dgs}vE7 zE4!57|Av1aXO|(dKyqD>6{>}!>C&d6FN1KEiqos*MLiIn!qS3v5C}Ap?r+|-R-bKn_ZE)v)}Zu!(efeh>JpOs0%nkqj30#d_%<`{?Yd^IFR|LfHyr4V;Nt5ISaKk zG0%XhGL%Bt58S3W%dMhb;-q?qdxNL--ea5EtsBim9xUm>)yE+5n6qKSm&ZB}IMpAM zSeGLa>2wLJqChXg=Z~=lTphWw22k}g7&kFtrg2yNTjt%+A!u-asJ+I$%BtBDEox#d z9b-#6K9V0XCgdaHDW2p#JewM8X2~{tOXkpnhzENKl}Dviy)zC+4L% zF%Q`*t^_@o{z#Q~qJ&HBh^A}R;@o7e95>?RqnWh}ksjj0e6zmq^BEUNo!0eEGH{qj z49pcPgZP9JD((J&h4A@SxHWUBUVRV+8yU#g0#cey30s=$t|vUKyBUa?e%(2Iq7!?W zrC|{gxb)Tt5z?E0@qlvAznAg8_cC_wB~O&yE>}uFN>uCxX0pShm{^*r{@(wwzOpBZ zaOkFb%y7Alnczq=T$j&32hZ6nM({y8fR%(LJF9W=b0w3HNiFHy#r5@H>hnGiyog3= zNv1P1HW$c_H%QZmOu89su^RfBsTC#0fD-e4nhE)IE`(KeGW_nG1P4fys7Vl^5e%K7 zG(PiF7WqK~dXwb0yBe_ zmoDO})+~uZSHC2QA_em<5~i*-$^+|KJDiQr_$C`_fK)@M#u{vXmJc_7y>I^i@T?us zvhC@&Y#&;-oW<%J<--QqweppJ{}ENZ?uIa+BOKNR9bmLBz=LRAGK>S_no?k`YdC4s z9*pG>A>IwWgVtqRk+Uw_Ar2cP!SH3+%V!E~>#8L$(WC~?qCKF&!Ds!hoO9OiK*zPN z7{LL19|s4Z^}BL^5?~Q6^R#|fEZ=@VkRbNV2R+vMU5UBJY&hKhWG}T$(D2liyD9^Z zx3aw3Q29m@IXUvkC_o63K5xd?r!3(#lRmq$83#HzuLHPm(UMBG*$3R^(_?5hiuRp_bi9 z%S!9#za6crxwrw zm?Givtv#L2h+`E!9|~lHM-JlHQDlp*Vf*izQ`UC0jk7!$ia=cwGdnhAdNMLyEQ@Pp zE$JK-0?`sHYyxK1UV<*E2{5jhOqX5SRhOxD$BxZ8>ttrzp=t0KpI!Dx5SGgIfmaaS zoonQaN&Nyg13=QIvC}{cPN9WO90^+3#L-A$(+-693=Bi$odbhcKmriHmEHk|BY<|l zPU;J=Kk=)SK#y%z@q!F8f{*fxmR|vKLkfqsRPemH`L6G!;1Uflk|;8vUzKP8SAZ)v zGO&Nt1ExRTWW#ASu^cfiw*NEBvnj6f@s`Bo;2SOJv<3n<(?--FmXaa{s z=#s}UiF1}~ieRougu=~_6s*t!IOTj0cLe*yL{7x^@)Wp>M501_SzOZGGn4lOanCo+ zR6c8dc+oQ`l7qJ6qgZG|D$UQ$em8%%rMo6O5Qs=AY+25+oFcRnK@iL7 zI16Gp^XA7l1d~BBYZ4X%-g*!WW(PeA$mEZlV^_}cIOnjH)oD0~e(Mo)4rg)DM>g`5k*3|^NM;tYVZ|lE5t_uX!SC zYh@+Du0f`)i5a1}=t-B2(8PU&W=J-kG(uw^92}vEqL}uMRSe6Fqfq-UEJ8C3k&n8xb#``^=SfcXp}1b$^q0xj z8td*N-Lm7Zzex5|`AdJ1eC@xxixt`3;-~gvN;h%&SAUV5Ox<53UiG*hJSfM~(B;=pqe4R6u+_+f%V6iGs&0 zx5wm&iE+cA7`+^HLx(`Gw<5OjfYT!M4IPE>T9?Y*sb77AV!&%I&6a0g>wI1G?DTCSpuYxVlQjO5xhr zgfiW~(WIj^-YzDBe~sG*6iL%cwhq6?j(CYHU;g9g6uAz_vgJyp<8HpZJe2AOqZ!d>|lt_DADjc3V+<3{omEIKHBG z7bredtuVFgt9z5k6b>TZdzcMx&=8Rg&w#?Ezh$P@Vn3ObIQ=XgU<2FDlCCEmAo_4A zcW?Sg5T4HTiOX%_Zq!<#>oHB#Cedm)NQ|-R716pd>7gY-f`RtB_TByZt;yQJv+Pq! z^HR^bRSA`x)e;g=sP;rk1YXFN9Gb#OG&D(YOlZQSSvbbq)1zmU>FDt3R%eLEHqJ7j zTNl3a9&mI9TVMq9waPSF<$hiqgjHHs-@gvwm0VjP<+Hs;%D@(ObW( zlWP60xYfS0Qg{vUc>Rd0Zqahm-M8*9vYl|7i^V~wlvjn!g?Q?czCYvP-o@v4aQ3>#$ z!YR4SlySlHS3~ubM#6O0Y%{Nrw0g=8gaavxJ6pQFWj}5*&ZrBd9*wG+al~QQM=Q!A z(1FNrP!2?V7PZ@LON|N%3an72aSBpM;!^8VWyI)H@}3FxDK$t=o%&bv|GzLQ6ypq; zOoKx2KUf87>N)~Nilo}ruzsS*x;+PbSAVckcD(vebMWN4MR{KS+VmI@jWQ<5s3QAw z^0~aKt{MszrUJwNbVej2DtGJ36Hc%I?37J!Bj9TPsi!kN?tDY$B0gf=mg_4YqqVdp zCEegTVW!c-8t-KWWS@j#24JZzJ%N$ydyFTuT^vc0HQKPmHr=4$-gaqi#>8JxXT_sj zuJ7M8{GHDo+o5QZkQ)SAOj?2B$uw2vKS{~Cmt;QK$BJGpUoOx)GN7CWl|lnveK%4aVE(0tNYvAhDa|&+QL!& zl}zr^_ayQjA{lFsz-Ne$wH&oO3-@m}4|nxRyAxpJ&R#V;mRD#0`P1{~4J|esaq()t z-dGw;_f7?*e|bH>S`Uc){+jxI1^pbItGEWG*lnUYHsy^NUALe3}qgHM_Kg0TH$fO7#5hR`t8Z@_yY?YBx`q)fL#|l@Z4ry~QlO z5iw@HuRJqE`nG?TC?%c)eMmB`VGBDU2V}kT2{|6!6vex{d4Amp)~nUB;cRU(d^^=R zN_>%II~4=eP;;pmNORroBt2fwa!ta6VltO8%-73RAMX;WZ_%5D ze0?Vy_*fH+X_HRFd0~oP+)7Qc`EVYm6@&DZll=on> z4adn2$M!HziMg0Tp<(^4etLbkq_d7~5qV_*=uW+d-?{T<1gkl5uHe!HH(F{=%H8*^ zem9Wo>4=s~-JG61KUIRBI-Hq4oOYH)PYqjkYU)29(x!=;r}5@td53qlQyM!N+~G+N z$7=A@{oELxS9ScV`9||XX^f2iq^~7Z*oaZK8HEYbA2-AYVBCgc5;%OrD7NyH9SdA!PpoGxXHfjIbFDp4rVL9ck$ zq_?FT841k$c42i$@F}soI#>AjAC+$s8&3)j@M0u!xNY z@o#^h#j)aln?8&G-m$;pzo+P{`0q#QrcCdHZ~2|Se>$N8;mJ#lsOh-S=sF`hC8P4gM~t@P>wKE zC5d}e8Q8W$H%a?Bw)5?}v^d;vj^xsM)mlOEf*umqWh5o8`f zkUAIL*3xrCkgkk$`9y{|P3hX)(!*-XsW!I^+}sjwF7b74b4%ammSZ-z4BOl?U~@H+ zdv0xRi8eR)Y;M7Dn@n+=LK`0OD8F@Ozq^QN%p-s89FI-I74kKr40AIroP%C`2>A-Y6v~&7?_-I zW9pK6e_G9N*B#qwuX&b2v~}d(v^aZ!*Yk&ZwcgVzap7R4ikvT3b;FRqY7g;=APBBK z$AGnFY2kML0X64ry*a;Lp1}2C+O-+6v~QQIZ{}_Gvka$s!?olRdShwbnCOU^aHyL) zV8*GL4#bn4eVYt}C34DgkW!Xu#Icm|ZsyS#=cW!DlL|u{BN*Y|bOx`d(G-|Z9F>+3 z>}PZz-(!`=>zB*-o&Po^;kK3!-PN2pY5SMt=kq)H6cdPCb*xBTmD|!akNulRI9bf@ zV$q!N+jBcD1sOfMNqmBsE$xi?Y`7!98S}DDVSm|@m?ea)T|$brBoZ&tNr1_bI#P%kNj+UgZ(NJ=QP#i#e$r-1S!r^3jX8{Z;bWZcKSe zkLmq&f0>-nUH@=JF2=<#{naBa#2fFx=#Gf=V#JZpi$U1szbq~`Zy7^e$w5fE{#U-O z7gujLzIQ^3cRO1oobqT_OE)iDLoiO#9=_U79eoxaQE~w(PlO(9h<`vnSkIevelu6` zkMT*oj~NE^OxDd}^?RGt`x*q_MKxXeI z{`vLd>h^Cz^xyluUUu^Dtp3+YZ2K}%Q3VHO$GtK0zL7^XqsWqmj4%oTKw+d_XVZGo zT=CNxds=z3XNaD~z76#ZJ7*H1_cH8w_T`te&=l!mh8~hN05UjY{QH)~n0iSE!65ET zj6C`(MT|I299Qr{YE-A#TyiZ>Kb?g$PZu@P?7}y0E-!yCvNKiOnY`YNoow_H?$gKI108V4s9^LFy0wP99q|UVJ`Ss>d-|s+akvro{>G6zHP^- zfT(^OvIZ-0N}U=lwls-;YD~gSa7yNL!rGvG=VGktyLxU1m8PR`4*mts)mFS1;BHfe zR00Mm}hqfx8M!7`nni0~EMQq8#=I&k|LwR#kL5 zhe*@M%I7$Jw(JAh!@vISj%0CR%&Fs8_&Y}*#Zp|-`dytS81NH@_McN3AN~y9h zD4t|pPzTHYgwjl{3z~CS7ZgiIV^Z?Z{)SR;>~AP(v~Ofcg#K`>A-|{ZzRXLhIYK|A zCEVVk3Xc#}uz?=PJW0l@Gy}!dhZ8%{RDlnRN-xMN5rfgAc!J(G1q9bT|Ht;bK2No~x=!Mc=PmAtF5eL8#g3{J3gL^&K5*Z@v` z^Yb@1cbkV3gA=$L?wmF2d_Eu1a7VAL0Bb9JYg+}at(a;;y$qvqp5e#-h7O zmuviYfAI-=8iu-ry{=In8v64uw#d{vptN%2`9Ai9a#T0s>kvR^mS*8-mh824Ex&TDesEzR%6o-Ooe_t5j2G z$2rat?D=mI`oFi_`~aWl7S$L0e5 zNRo%KZfk(ENcz&0Q6l-5`CTWB&8BGmoqS9u)iE9Gtb*%ZWwY8Ja(y-K2Wo1N>h*Ot zHDDb^`uzA#pSKBwm4!r~YlF+-H#7bLGfih$Xw%QJO(QI%ZDD&v6tE3ei+9!~vs8i! za7EdqZLriBw~ugf!O6+GV4?T_Dh(1KU5J*SEmd2;t8+B1kpMW-@tOyl`sS`(o>=6M zujNlsXzUcZrjBgR)#XDEZZ7EidK{vmcaOhZ_m8XO;`Y<1*C6{G{OqYUU-GpyTNOF_C~F6Qkv$m^sZ z=d!yPli%r5AEQ9CnmM136+KI9{6w;%vV)Yp69 ziH~R)lGW3nQAayca7MY>aaY@DQtzPXauB*<9cF>3H-KARB7V#;eAuS0VUU^zc@*Ey zf39Ck>X7bW%dHwQcaecj5o2fcTZ5=UXw)HpBl?YpT z9& z=ENyUot@vWdsX)Ijr|Byiot2bBY7ka146{2D_h2;dI>?ty-2&aCz!+rB`d53SD^h?<2` zIGOE@L7utdIpH+Ymj|ncHz=Vs?o)iJp`t|ekhmBzQehc=6KkrLs3jVswY^h&RW+_u zl3~IiX{A#ss>53FI9l%<+A0}suMtxajz2 z@v-6R*6N|TtZko?T#QRb!Ai*Esso;okuP`OsVh=njhIP^vpiM zB6ljBA11?m9E*D-OV#|RRY1?LTYpX)`N$o47bun6A2msk8PXh?`5)UTdVewqXgQUH zVH!3T1a?&_Bf`%4(RmoYlplumZyEIGQx1lRrPJ&;NXaq z`Z@MkaB&1O|F&sPIl}mGaup=Nsyt7DqdZQO080cTz>;Jt0Ty6@NUwouganxB(@G}m z6GtzZC^KXVjUThB4^xI6tkOSOZUFCc^^AZ>k7<9_k95LgTxaF8b;E4~lWD~4^P${5 zu{~6N-*9A0i$Lcl5_J8~yK;AYITt5P%g3h;Nvy_BS4D*mpA7Zwc-Q+=l8?)WPo z27~u;^Y%>jGVf^1p?)2V++c6J`!tN5#rz_cjA7sx(pk~-3)!5UdY`6+XqWAKJe(=Wb8@*{d_a;#cns|H2-+qCpqrz%C<*7O-3GhQw`er%oBTz z4t}1+AZ0372S1J@`ryZLJk`N}>s1o`(+NEO#It+g0mN4hkr6n;Z69U+6IKt~RT$ea z0N36Uaf}kUfpjMa3BgGU{qm7w(Es#Jgg^GK=k^}0K1jLmD)K$n;|}w1D)BJ|Fdzjm zDke(->{i^70@&Pe+$n(G34BZe{B@@Q{;jvm?i!6b4pRrD+j|)bY z#?`dxEKX?}md;|Socl;;QJ?r#%G9aSSqw(?VG6KA34$JFHcKlyJ|?q-C$ks_4s-XS zDnKraX6{MGyTrS4(i;rn|Co?9pZ9KZKz_#&`BMWrJACLc&$F=`9 zaa>#NE%vO6oC<5ljJ^<$QWth`tkPj^Fpp7TZS~yVU9j;Xo^}Fm`r{$r_KZ(w_egN|-$Va$v5*PmZ5I^DLnH zu1B4C@j+M(0jK`k_l=SN?e%iL>DW zRO6k?#ryh#JZJs5sH0{@F7YI$IYIcn2P`6$;@%u|@$tAkiHszCf_s;f#=aARGL>x$ ziR{lJX9Q(YP9!M3)-gQ;uc$QcpHx;FZ$1`bY4^AJc=n&<>_3c*1yI$nTreP!!GO{o zkcK%_i;Km(Ay4phmI+VGKoxQrxE_;~QjyfEi3?e}H!$!~x$f`=Xi1{NkdUNdAGA zpiX&4Ki%o1fvq6gq65e~AtPnIS3P2yqQ}!5v}R1<2MtVMvV#WR`SeD9(4qSA?ZbL; zzW(O+s=1?C=XYI&P?Ub4&a%fz$2C`7M#`cj_m~Ph)Ee-cjE-)SfukFP4%u9TY~$p{ zsasLL>jpv|UO6mBX5_`jJi+{&ra8_0`;YQu%f>AI1U^vp_UO+o+(K;Q78Nvc)w$&w z+nWVKVuy1phZUCc#!qJ-M;5;S>5nWvpM96W>w0x|1{&`ad3m(ZuFdLhZq~A5C=q3f zY5%d}Sf9*96j2?&DEHI&^M~Qd`5VK@7)*${F9**LU@5eKudM<`3U4SKrLf-*#H4C~@tK^xJ{q z-d)chCRn~#EIql(6LC#HD6K!A-^pPyjHleKoNW(`$0Qtr|CA}Tb8) zM&?89z<{~|Qtan^v%2;(AajEI<3r|m4uTzx<0X#6@L}?k$MNAXJMc>CQNFBapzpoB z`T2Tz{+IglWQ>Z~KSIY$;0nOXHW*VLrYM+CTwkb9%xw$}KEMohX-D-mISX-W#f`&t zZt4VpV;x87Zt6E$fiY?~6}NwLzu7Er*H*B9C)GGV6xGh-$5@W4j6fh&SqC{j3#K~CvO;4<_zbW!tf=s$*r1|?wz94LDs zzqy{T@9gzNXqp3Trkw)gMrlf(^PkgqrH<`h)pzxL^Lu%QJbAt!1>tEei2}p z?fV8mt6nhvMGw9?yO~Hu@jG*Ko#>50>j4241Hne%VZr?AgfJ<|L44QqtpnPZY|OrV zr}?hjn#$UmoZOnsw>9RfKm^gPc83rS0UP8z+x!lFZj-})cBvT8?Fz;1N`3>jTyZ=MsG4F>yDh_Jc3dHtm z#A?1+*WJIngWc$i&4G>x`zsDWL5u+upx~pnf)Crm!1{A$#ff#*c)69Lb`j}+ifK@E z{kk?reCY6Vdy}k)QjPV(AOOb6s0K!QOr4u=FODatl|G?a#(d`>Y_X~9L|P7NM|>eK zwXWGr&$?`!hpGKtK6Y`eCg#)U_-$+2aROpc*Us+O_3E2<%{g0tGqf^qb+v4aB}Iw9 z#YG74;mdwvFI$>v2XYceSvrJWhRKX-gD~AVGIJa#nP^fW!5$l&51mAyb}$wSxIhS| z>y;4Wz}G{h1sZQy!sTf7VtT>Be()e9$T)AFl`D6wESB{8_mdO-q%#;ReM})qXT=G)XcttUzoZO!z2LW{P}6c!Y|&BYrhcU^twR8x@SH zQe9=L4wX`vr)a+pk^xdSKyNd#mMrlyka#vis!_@gJcH(p_W<^Whm zxE&jytvDp=vGN%ySz8%jCP_(!6R+ED8_ngEj5aR%i$tVx{qkLZk$Cabhao$D@|E1m zGkG2q_c0fQv_t!+I%Z(=OmoFx+ZVW4C%_Ve+T01e?Q`>W`|+Woz!Ejpt9tX*rl094 zoXT@*v+Z6taM%_0CvGd(JCvuvPC8oOFy}b%l{_+jfPj+6B$}#` z7S8LYTolG`X-ze*ii8sG-s{SiX_0NLq8!bj54w6xr6oUDMFyLr%g&G|(HH`8CF;h| ztrq9kZPVT)5(V>?=C;L3-&T>g{j0l5r+K$M=(-z{d}`mx6IN&HTsP(g>gNkXSm!b3 z%OPEA<4kLqqGY?&iqfNF{+d(9QHCX*G9FM^OCLkNHW!wt63?D?%rLyL*F4{0-v!T{ z&PEgwo6I8gTk09>TUMsW{C0l5yxLQ{O(Gv1RW5^7fn&&KR8D1^NqfJlzpvlb*L?eq zS=)+TTh&=c;cyzy1ubo&m)17ZE4{QnJH7NSZK}UxE77I?jxY0}un&rngx%f|n0fu> zmot+g?^JIOk8yv<6g#jIWMHwyh7Uw9*D zPt0(_a`&+r)Fgbu7+s0S<$zj~)@kV6%H+4!m-t-NchQ+3N&>bOVL`P78Ayt z=hIaY&IQ)s;f-T5a^Z7U0Ppg4_JuKkm+v+*3-{$sy?ML5SifAXf9xu5hUdD87QElL zc&sQJ7yp!u$RsROGlpVb+S`+js^r4VidMGV1j_4JZapAK#mcoUmGCN7GFrvr=rh}r zJ~K?88Klo_41MxCUOYy}3!u-GrB75{$kHcm%jG0}7Nh91K=fHU%mrF16i8MK{|X-6LJ){uf&c&@FGgf9n6Mx%HhG7C?5K%^ujOL-C&UIrf#R4|AtMfDM>4vK}l z)XXpju5H)E*53gG_v!CP#lREWfY1y)@fi@4F>nzDlP8DZ5Rn8r)Ok+B#4U4l&rBRw z#(KSbg#X?4EgSYVdVm=y08s*>Y&ydv%%4bv4V<$>4}{E4?eYF*xASraJkPhs`^4dP z*?xf-RuKF=hbWM$@n**ToKq@N?f-P%r4dT9Jkck{mL++}%4`v2;DAm}+K;w4 z26`+3)X*astpBxAYKxw;6(HM&4ZxM|?u0Mho;F#48@1PI5G}_D?{lYP8qPs>Uzor{ zbO;O6iJ?S8C!~}_GT~7(9v)Rk)j=ghlxRaZ>U%6col*Pfdn`Gn z4_x5m=_yT?Xs>tb$*^U-Im`gmv6960lcd=7iUdwE@Fo2SI7#R-AW zL|XkJ+sV}&;O!jfWmN6#BPKKyz=pGZQ#zp`@%g4=n!sWrY1Yr)gb>VN!D-+<+DVW{ z+X-T-BZmp^P)<09a>w^GEdp}=Px#Cpa86MY7SS9&FJg#snrM{MguzHisx1+97%Uw% z%F(z8A<35eLODgBJBW z{H(1C*mo#{!oC1i)_o*Rn(E#0=1z7EccP3;X6$ygxk^@sc01c#B{CczC98XJdA6o} zsAdlaTo!_ym+;!)S6p1q&ucjBjx*SvocY}!>dn^=uQ#iOu1D`3pU>9M`f>g5tZujj zcv*KFaB31C|Hm`c!eCfX{aCjyt-_>7X1r?1CX+Aemu}V#!LS+ccU4Ec;Iq~gs zGSx08YL_3JyPUvXCcgd;`2u2>6W=Z;)-FG|b~y>#<;1_sApgpa6D4?;UGXAAL?Dz= zb8zFK-Ai=|cOWD;l?U7?8F%-a@8|2y zw=1cO?ueC7uAfCi2@0++?8gMkwuj_A_)WD-U-D21isT~R19)UOd#TrI-!62xob)d zTHY9Z&HNaT6{(yV{scr}=0j+T)r%Q#opKPcmZ zJd2zAVH5Jx8Np&aaWsOLP;s?r``M)bM2cw0Y+6q`;!SSR77@-ptXGOUQ4DFYBKr5`?Pmh%lL5U((6dY)pi4R60h^fn@Giq7GXx| zP1xIYnHeY&!o?}mZ^K7&?X179nD_tb0EPzZ7;S%o$zxCL}`vfQ6 zJ6zlD#CtpYNhhcHlApE&+X#2#X2SN@_3*T{j(c|Ag76u z*7(w3XiFu8CgHGJ#n+`xR^o(;pEwj|!-%l43@*ts}u2>+E5mAnZv0B`?YfSiEL$dEZ z*^rRizFbq>w#}ZGTL-!S^ax(0UoNu=XQP{kz#83$!I?%HfHnqDEnw+&Y z1fH8P6gAbOIf>~W%}F|@PyOZMeSJZvh&7`kThq%RsHu)wbC~ALS}%S2w67qA=x+H- z!&%x%|Guv8USBtVv|J@kkM`I#qiP}961w^5X4zj&$*a9w?-pipyV$gG>NrgudWT4L z=PBW6kQ~-8LMlJk%QwwdzdXBJ{wz}o&*TVVq%e$w&~Rfs*bo}~s~Iq%F5zA|s_fvR zNRn9IZ~A3Pc3c(?%7tDQf3<>MmUM?@F{sp97ggn>@A+~z9;cRAnIJeBdSOr(AEPP) z7d721uCEtsvy_Ri+k62jC9wSIOJf;z0en6=1_^;b5(Gg6N{7Ho(vTMgyON9bUtfRy zUBjss^XtXG>kD&Dnd%s>+{nZeVfq446|P``%TWtV#9&b{O5Cq|#&#kWilty~#DHX_P3}7mmuv znHs@B@jm-r#ovMyJ*dwdt9sWlc}^K<->z2T(eU#;E$Te&##_d8Rc{(&|8jA45{npA zCHlnNCk@kzhQYGSf?KDsx9&rim|Dr=NB{XOiK1aac2vW50&pYLC)e)Sqh_J_rV>t& z7hsW;Lo+@p@9@ShB&z zvv1xtgO`5$x>?^xczp;&d&J?>Nti!nHV!3bw9SdVLCGeNK%dWO91_yJg?f zPJ&b&bLcfcf#>5>kVtKu8g*`Yi<$IoFNZA+MK!XZhxGw znnBm5lOMU{cP|eZ!;h$nEs&#HR+-LGWot`Ab5yqw>iQ6lK`a|@jqYEJqYodIAU6qp z>ng7;4)pO#%!~S3s`bs1!;JV1yh`~`Pl8^_G+93v4`emCQlYy^W;1VDq6)n zR`fi%Um)Z{xSQXv>%TTr=#oXtA`fl#2(FQ-jfUSTuaw`(Zj-K?Q*&L?9Rl=3&&;v+ zGqbG;`(!JB*WcZ~p5NSE*RUa(;~`1ZBOhsKdNcp2dG3ccsAE25B^s*710zH32t8=e za<{7A*<*l86M=kepE6Qk;XdCtBa%Sid)3X@9!fFmXuZF+<%;_h7&~HnSR+O0HY~TM zbQdhQ&G77cq-Z#`oh=&^-R*%V*mxT~V4((V_jA`SVXmFKSMN=?I;^@&(BtZJrqHAi zLm;40tbH{C^sq=$L$5Ot)*O9-!W28Ui^bL|oH^;o*W}FaAC*F9oUZ*SZ;j+XR^@Fg z-RuaO;B2vl*zFtTAg3uVH75aH-yU!1dwm6_PwZ+U?v;}?bAD1z(tQ6wIY}sIAe540 zWd!S&*UdS4Eh)camI+zzblF`@3+iISG@8A>5J{dkxBWGC-;>FE66&7Y4!TW)ovs;Pvg}nk*A%~xXJXiG3%ydjz*y{w8QCt zZZx;6I+iDD)?+h_`=I(_w|-lVmTPa0l7~--lME9!sAG=vHjsZ4I^bwlLb4{eEHFhf zPWyt_Ur@3`y$MV2F*2odozQ+gpGfI`{}hj5tU$r;MBdN|nTGAt44p_=#ZTmRo)Uu4 zl2ZICyJ~4ck4aSwuA0@F;dP@0{#dUre}8{- zXU>nxm$i?znHuZRvN4A+RV#BC=wm*eiP<7VV!@QmZ|-N9l6lqVGvqfntqW5B?%-Bd z%Z4qV7!R-?mAkJFuCx!;fAkW4P)J%a{g--uf73cn#IUd(k##!A+1a}NyD=T!S=^wt zHM+-}tMV^ZEZ)gJQ{7NP4)T?TPd$4Evn*nVW8J|ghQT&Oem>uvJZskJx6cNh!!Bne zZ6Zl?jZE6e^_A8UlfVo%?DJVwjpkuN5fGx-uieyf6X^DS5(wf2mHoS(uT~>y*HCN_^{-g{@OE**Yb7ow&HVCmGLLCzVfNdP=tDid11S zX)fHYmY0j`W+>m>%9XYtMJD5#94?Bn7%y*r{^sUx^I(pl3OMAJlxNE~;@SULCGUch z&Zc#K2Ip12?_1%NG-xdbieQlk=P5z)7i7nngEkPY`^`PH9OYmq0ijh zc!a_zQfA*$W8YHWz7>J{mQJ^CDc(0e1E7C~F*e9GFVwyzZYkz?N8aq)tXu!t$um~M zjWjxQX3uhC&%BCG8MtRts4#kj_MUNtd}_7~9uv9VncA};SSIovX|rcH>(8F~k!TNE zn^SBKUV%OxP*Z^u;Ey%S=0Fg>Nz)sYgt;__iE8+^uG^p^Jx=sttx0w3!-oF9pPA7* zUzGd%=cJqm$Wk_fht4l|B6y4gNS-W)L`2s-7zByZv{KtS#1WZr+krfh1=%#?@gN9S zygq6!KbR)=L9m~l{p-HIuYX)#U$-*8XIGgI2u7ew!lp!hiOh*J=}+sK6{}`)*2|>8 zfrxQaYGVqLY-80quK?-#5zrb7GsRZ8mBzbfD`xNHvU^T~4Z7Yq`Q+2L0O=A+A{h z;LV;m{$I%&S_ICh;Xoztg3Jo(^^VbcGe{4^c~mc4 z_lI!!t8$NF&B--||+AoGOYS+vzD=k50KT>&1nYyfpA8D=b1h z`;L58Am*X;#cr19lH6&L)5ll$Dz$55wGPP#3P+{j1+C6@3uCN_8EG(Lc8aWjnJ+fq zE>|66?>}w#lnx3oIBRl|#WX?jET;istnL`XnH8CCA5k$_-J@D=u`0JcK+;FsE8C}r z3hu-)a~oY#`E0qb9F=;mPt3lN!mu1TUPXLxo0cV6^|t6PR>Uz@JgTe^@UdI$^))y< zsWKoLdweE#nC{{%kG||}?@P1Ae+F~7_47F7Rse)ZuRDedL z*5)}$j8qTZ#pRh|yOfg@m{0m$U^?)w-~uTTP#`6S0x2yOTqROztm||V%J^VPqy#LH zBBlWyLqw63@D@p_)I4EkyMWh{Wm4`5ab;41E|U@gWm4`Bddj4NMjM`=J4rZUT;T}a zoQ~95n-gH9F|@8iIDF)tAKdVWFNYv5T80^FoWr9VtMJ3j;rm94DLKzhk@TWDLq0!L zk9eH;;mgWpQ>R@Yznh`+8}u^-##4xl!uDs|?g@Mylj+C_h?1pYzQl)EG-N@c3|R6p zY(de-Px}Gpi**gnC7kfde{Fet?knM$FjrU$y0`W9UArs=Q@w(={}HtJ;T@2k0^6aCDZrIRmfKEX@M9Ybnfkc^7^iunEPa`( zMK;$iCb9JO$U>oO@LZ-f-|_p8%5dK$uGWgeedkyKQBQ!Ax9ouSMKsdD<5F<&>f`k( zbgNROM;hDfGdbjnJz7-6qqHLMQFD=rJ~5^klec|7BO+vz&52XZjpiY%`lewiE$~Ta z@{%2M^pLUS?dKcX;e+lXvV(YXoL2&bI|Z)jSZK7ygy|b8(s9n{_nQ~}fJjLN21&W2 zo6F75-C)~snl5Os8o8_Za(v(*qjefyK0asFc!15eNC`xu~kM`GQPqB~OSjtt$A zS$E{GD&U<^WiMo_H?^aF^buo3`4_t`qa^`%Z zGrrZ8d}8y&d1P@OU;wIk^t|3u^v`pgNk2uDE#_Bk9!YgrsM9HmtPjBp#BTKS-U zn}9u#aeZ}uUa!~7)mAldh(a(26G;ZsDpVq~pjlWkZ8sS;Kv(Ho=+yd{(GVRPeSG#< zFNeN$5Q=a>6_cUM%M_#e`P)vJ7v-_Cn}%i7x2+8jRgUBc3ElAMevZ%#WgGR>sDm=6 zhf@{0nGxu#rll@#``mopetZl>LWYid^wm!Z6XHf@B>$6KZmFyoAVPh9QyW zx&FE*PR^8B=?q0O#!rN7`3Q;JAnZ!%cXuS{=A;f3i%}q{({{Jl9+WInF8(Z~Jt(n6 zrJvY?(vOmNp`7<6&X+C^iZ$0gxKOMw9E9kgVgP_okRF$YFej;=S)bRp_1Ww8Pt#&Z z%cP2rRV+QdV`U0W8g5RbK$l5gjdf*61oOr6e%-z#*ilgfeJj`#a(O+!S`*kE?lPdS zR_F7J`p35q>&5x{o7<~JKi4RW!wP|@7ub{>Wt_-E89yAERHB*1=DSDUl=~ zABqp=dnJ{%wQ$N1%6G)-cNF%jVb!a7M`BSCw(Q1}h;xV$rC0V^>CA_iT`L|!l<|$V z<;T z5^Ngr_~)sXVFzMZO1D*`WWt>$^r(uh(Bc{NIJi zsUD9mTDMlC!oBW>@)U!3bHCa2b&F5C9cLHw%{;s(&)E&pk9Ajz+hYddw1uq9LGSP+ z*S*7YCSDbX2CU>c`K%q#mJutcyr0?@!2gCDf76)Xo{t=?1wL5@gHKcbFm3GV>|<=b zj4_bUmY0|7dh@ps(8>PZzlYp=v6}z#=kQnS+o`wj%-MMAL#!>!Ac|wAIa@(9wm3A3 z)$+B@TG@uN5uD3seNMx=_^&*DJe}hmztxtT!nBB)3q_T z;nnu1K%QOC9~h-^8m8qYVj`8afbg?1Rq9|cu5=9J(!P!Dw6bBFFc%AP4Nb$z++R9s zO$;-_K)>)uUbw&1(JA<;CqCd{sVEg;zwB_$oAMz(=I-gU&LPm4(Q=YSRRp4;;m0jf zZ(c>z&;_~Vi?ZB9^y0?!3}PoSwedIe_pk5j`l3I)URX_xg`{9L>9WhBtk~!S0B8@W zSLcS`oaTP?F5r3J=o5PMRm6Jr_2@&Y?a9$EZo%k_9Y!BBqZexQcFC(Ay{F=J2c;uW zU|=*Q*~VTcU=#|#G%Fc2r7ST0qE$TlFyD4sM?-P{Szj;D7n=w9U(F6KZm+IuxsTmd z@ZW}NGAgRNt9BCjv7=T{!qS|>)EJA8d{klfXU=VS)Ap@Gkh0P)NstN zkyyujdNVD6HiHp}mN*w4KD7`1Z(Lr_PaXAjJg_Z@Y6O9)+~ z0Oz_?p{#;A*G1^LZu8D@8QhMFI@6YdVNYP1gJ{3?AWmJt2@CK!e3*ysqow1u zbPUJFV_7;TZ4%|6MNV2e4D?nRPo`CLBiqr^q1=6YQ4-7#9R$020!znOg%7m9-CDUt*Y3Z1cKNb@^+@4+A>S0#k?ZaeG9~H3x zm$QmDZIMileNFmp?lDISUpn4m%zvt{=9|U4+BNolIm_X(!m-6FPe4)=XpSfth8+ry z7v!3fW82+djwAN_@-@LP9V`o;PLFIX{oDGgv-9(#?XR+Tk5tDS<{H&wq>~A(F-|%Z zAogD>cxAzOn8ZXLre;Va)B^G^fw52KT>|es#0=;F=J4^X9DsSn3HQS_t}G(L(z+}` zE8{|8+2#zCZ61olvb(T$1d_}tjgKV3=O0bHA1-=(0EhBqIwc>dpL+`SL@=f#AD1XR zMmzBCB=*1n|4S^CzQ7PxnnRznvoXo7MtVTBlO^iu)z4CS5=lo7H zl843P^a4%)f`rMnO+KGGWpzQcuz9z8tAgs*_@}3g9eT5We|>$O#npc%DebP--Nh22 zGfCTY|96OluxlDJF;?0cz_E9Kw@&Ts3$>XS(h;Q}dw-^u=6TX8JGA;3QKCWj)S_Ez z={v3|V)Pn<$HeQ~#&%5<@`DRr;zU`)tpq7E67BC2Wab)e#@Q&%SG{-1&u~&|{ z;I^q#D+vI7gT_Ovw|S$KY0FZ`qNJQGAEWxD>ui8VZ|g{F#|vgaUyYBsorcnW<$J(PQY+|sNSvGh$#kc*hYNiXeBvd4|;F3{#cFaOkgsp z)0Ovc+ipQ-FZBB2yY;#{b+;_eit4sMG5bAbeGfP9d3qyeT>k@gaqyOrng{i*fbFs@ zA^ZZedI)g2VNvOiQLI-0sO!VoT&#OH)a+ zmMsX%ESDlud;`}WXhcq~DhSppYh#Zgs5y2324b7zhfF`N?m&O5TM6voZS~4OZ?=D1 zZe5Z7{&zSpPg`F3N_czTlYJYSK$3F?kxQgkFd;gJuw+p8Bc~=H2kB?s57MS*X#!$? z>}d4@EZ#3zf%dyjTjb@Ie#iR~9DM9lRg5E({`~^iedwzHh6PA>+Z#tTfRr4U58wO+s*Gc73)~P=?+!e-^1tNxAa*y!?Y|0 zL6`=yv*oujf!!Gw$HQ%1x<^oMOMmR7xa|PGXdK#8<%FS#%UBSToSH^6BBm*F$`c}} znW$b2UQF$K){oHFe_>21Eaf14@1V5e=~qA;e5ZQWk4)+hu=(eWUB0#8dgG{EjfJ%P zZvATU@OZ!UfuF2*YsmdZPe=D7hS_GneO1l*W!G)0dq3(;aYc{NJ-x3suwo94H@V*3 z%)Tc_7EXG#-`0HT>fvwSJUs3{=s_jF89Sp)v)IuHyD}wFUe_y0m%2paBBJA30^U@` zZb*Q9SkPq_8yflA(W-SGDqNkxaQ(P>?D}Q>m=tMpvYB+dt4;OQb|%+pnX&?Nhxe?b znflGUZN2Ak`rH!AWl14Dj!Xx3lmSadBRislB*k0LWv&}A+U68DA-Rk@7$3s)ym+1x zl%##g27D#v)V2&>a>9=P{pL4k|M~EE)|lgG7mNGta&i0NY_;x~oeZ`}KwW7+d#OBoG|(oakv7HbGju;=V?Sv@uTGX+=ENtz zVANX3KBkO@?PRp?pWZc9@sXJYGEc)uN(i)Cxox#7>9k+nRD$(-xn8`!Uw(Ce-*Bv) zC-#-f-MDnSwc zrERCjU?LeWVFw<;LwE!ns%TNXT?M`dvm1T3CG%_L;P)W`opv; z!1T1Q8+S26hlW&=l*F>;(Il9Cba$(xwER*0v)SCFux@V7CS;P&<9D=BD-!g|AZ9Ep zV;S~}skqm$a^HS5D5n-9bSZpJQ)?=pwtV0y*tAAVBRIB7Rj10h52EeK<@-@#_}yx@ z)!TVAvT;jWk&erXa=L;iUq6*=s3!(t9(f*PWxxpo87RC^n1_lSk~k{)?A(La^Ry_1 zdvfzJ5%oJq!Al0Ie1yt#s{BLMN|G{sKqAlibRyo$=m|zvpZI9w?!jK?kk%3H1(7QY41OinY4{NVv7a+in zAa&&xJ-6m;dka>={`6_+^gg~!imW6NIuYKZR+=vtw~ku05qW!5H8-BOXJok{t(eI{ z>#l+O)!lOUxL7-?pS>LqcQ($S8=ScWXQt~{k;!rYdrtV;lYYac#1B;B$1B*N##3907S;??cE z_-dELyInq1y1+O0%LlFWcF}{I<0+1zye_c}+HyK;m(y9hn4q=PLuofpqj@SJ6Q_9= zp+sLg^2CiX1Nj;~O?o){y&V-~TZ za$QqhQ?;FxK)cbNn|9`yAv)}b&R`?$SXIzCZG?z$Z=cGa=Dcx(at4gtS5?E*miBj{ zss-1-SP^t$rY>g4;0xo;FSN(y%o9T`GZ=0Ht`=|A?JH^JG95q|R6bD%!f@HQdR3|gUbtWH zFV!=hj9~_^ZDS~NRuw%LfX>Z=+zWW~=lYt3ogP_;%%l}-P?ITDdYsgn zRb9f#`dCj8ZF|=vzo`b4xh@d0Q(0OBgA{l78>PLLD^kyC#U`04|Jz(9V<+;U3!e8u_gAz-`7d;Oz77Wyt zhets&v*rM(G9a+%vm>2g?*pp2KUkJWxDs>KwZH%4%ux5-kTV`%Oo=b1XaD~h)3kkW zr*DS5RE_@jLy;fMUfAxh>0W_pvsfN;cmOqKXjWGjOzFUv$hI3X?gHf87yi||Zf`(S z?O_#FvpE8_ubq@MpW+E@4t$Vi-M+m2*D1cARya@R`v0PJBRFin$3)kLRZ3%D#Tu#m zc2@SK1Cw)S9CSX+MRGf5MC^vM12XQv4w)IZ3!#L2^aW?bkNnUXG&;13v(==)5FT8cXs3_$3KD+qNQEZraV)r6T&Yv)>1s=D zx2`nLF8Z7VaRZDo$Nt?U-x zw{4}?%L#$zG@4dcUqFQ?Kx_%qv@*9ft(4n8p=qT&Vsu`Vm7jfEw<8e^M!H4J$CU-= z@gyw1P#S@iZ=3xpQ;1&0Vu^Abr$iQQ9JbL$fNqtz9yv>&4gFImr6LIWCtFcw_D+@g z$WE0l{_DHlTUaKRovsq008Yn|6*qNUKaad1qq}ZMO=5^xahCKNR{yiuO29|Q@FYZ^ zp4}*iXG?B0zkj>hsgRSgbp(Y>u*}I3~#*x468ouJHw zG0Q72iDnkYQZyv8TCetv0M58g0ModUiN*aRj|A=h8E_D`p*d@fF z;9eP|p4}rVwqTs+Fx?}N^)VjvXde-i?i`szO}TUC$yLB5nOU5aM8Mrr2~MF_Yl1>!Ev>BB=PgSY;H8qe308JW>g{a2|X+xtlxCUKl zUL-qZvkby!GPT`PWgHs307oI2Om%-$6N!ZMP>lcz z<-?#u)JKO^(Dl;~(nO;Ax^b6^nF$UTq?4FRCC;)*o-1^Fhj)?4@(CvI+^C%t_R*fnR%#(2H_z|2@J<3NwVV@K{ecPOZQHC>XRxM#FivN>HcDvY%GrYZkLp_eSPf zRP2I1sRPe>G!PEKo5o;0he#xYNC>sAxdNMn@dK-M#N1|M73yb>f@2I)>1+r6nO8hf z9iRmO8%=MVql#HM31(t;)AviZnHPE4301{|WQgN3v(K(f+DUlyY7hvja!c+;nP{7SvyZrq|p01#5Q(uD0% ztuIx)aTspGL%XZ5miw%T%F9OJ_ZZovAk*#4 zj)>?2ql}FdPGV7Mz;p`ye&il`_P>#P^g|_UR*(0K5Aqb!m8Y(zHTZU=(^>(6QW@Xv z!cpBb-`yGnXF8As3`kKVq1t0ji$QB@AgusAGwYh#@JbbJ2H=B^P;8uX&rovWGAi*z zP#zKWH9Q|;-;qj=9GnH9syYDG|2}S)cgw9pVTK0eoO(cQ$oZ`!(2S;Gm;?ioB-X1k zm#gzs9pKgaO}l9E$#$YX1uV(&8rSSP4m=8B6dm)8BeWeuc~nXP0&r%G1WfjvC>>Fm z$hTmOV$Y0+V$aGt+Ih4OKgK3JD^tckcodv@9H^gdmfiGzrH=e(9$KG)fXwsAxn_Ub zO?DYWc3Db~U6d2tG8)u!$;mB4vB`dh^Yh34OCKL&{O0a%d9&~4_l#8j>*S2>Aqc}7 z;k%BJH>wBTV2->tv0=8DF=yHRDTiXLpAB1I^=KS5xX9ZL$ZxTkn_K)uu&EN{e`85?TWK zCy&cVRz^uo@@Gbd!QCqeZyvUm@Ja2$ zQF?Ybs3RGO)#rIvP3qfKQ-DyPJv%I-URcO`vo0}y<;_6!Ut{?zDzF;1w)1Uz{^=Pv zM{0Dd(7v(V{Nml;0{sANNn}W-NEV2X0oERh!md)>1?Y$re`cJ*=4;~qfV-fcW4cpT zj~O~spDZNtLS;H|eG+1Q#Qj4~&T#wi5X zV{8{pGLr}hI^IWZHJq}l40C|a>SxvlQCnS~I$F)uHyfiNFzq*SsP!tso{Xkz z$p}9>T^;#-)GkcZ0>My{KXg|)3cLRPuDu$k=(F9`1c6%LT`jwd=x6us#T0q((`Wj2 zVnMwlK1vH4xfwDaKIFWW~KfW)e~r-_D}jd#Qn+v^q9^cH;*&TCJrzg zg<#O4Hg@*UXR%$Y8g0i#Vg_J+A(3KXrmG(o`?uFutJ~Gj-3TuaIzWX_KzA@?5lFLv z@gtEh*82toR&((#@qoF(Y4NGkk}sZlT2$V@POc9iL7ApJzyLmhyRM8KvuOaWeFE22 zwF?|)_pa_Fpbipi$P1{59%POUQl4&lkOjUo-_;BFL+77=v)uoFzJ8RUpnv#C%5`OX|S6V%K>U<*W!KQ{0mMR^v`s7S0d<36D>M=d6NV=bA z_odkU5_|^y9QWTe@qUy3QfgdEn@h?DQSRmd*q8zJA)Vox$`CI=VgXM|>8oXgGL!^O zEa*q*p$XOh|Dn#jtN#D3T@%7%m7&!j{VOM>11YC@Hl3jP3F$1J`e+VXZU@YQ>M}fj zr76PGHGoh7^-z0f2$(YaL}EJquz#?Orx=V7eg^%kjD_ z5yGQM(S{=x7pG#VfSv@(3$3Dj2YLgZ;aOrGYUfz1xe!F>m`{8=`&>;DywtRl%BSzi?66E-$o{8Kd zkLAnM&4;oqn*@*4-@j7w5Is|Jk`X6831QzxFMZN-ym@c4^L0qZ$TNW_s%*R1#IbIZUp^oSptKAQq^+sr|?P50E zGflF?8qqptx-T4+;K(77+Xu62b3EF!J`JWw;}wiliIvnL`~kg5E* zz8bwSnc!D9H_P2_vmK+ml4M}w5XEK20gn`=6A32(`I-w*dv&y2bg@ZetTq*P;AA`Z zV>RKLlK=Zy<}sfZOn&lc8S@lPcr;VTLXOWI{nR*m^32gEaCD3Y5O!X`+`7Dw?3_sc zZY}_JUSw0*IUMM4UXD+5C?ltH6z1XL*!P}UxIM}1nSq}g1Lw~Sd^7{cC;(yKc?r6G z=9y&QgfF?d0NHmkjeWym4rSi>6o;{HIvaEj#*KaL*UGkCp~q8Y*So7<8i#k9BSE6w z)%)&ZW?uX_N`8I4)I|G(#E1JnZAO@sD9zcear3{eZuxeztqUgFTG|rH?oz=`iTckh zC#!5EsHZLGsNbQjj;Ui*5)nyl3)zE$O73Xp?#N|RXPbcah1UZlukm5YYaAx8A%k!v zuW?uM8Xu9o#{H7lxHEYzlZmi;*qa-vYc#++L3|dNC&=^AZYOA#&O%4Brz^rgg&(n# zx)|nffCdTquCp$_5l5XM@~@XuvNBW}*D^E2V9@-BmQ$lS5G{)~E~OfoflG*-F%FGP zRn`&iW$ca4XqlP};Zg)ltu>7}a60f(2HK(wkF;^dJVR}5(5lf}aesq0N=#{8J=C28 z>sNI3<~LnXu1;N1!*G5HSW|UT*H=zT2NhgE2fFEr>X4=A{>6uCx$x;~x4Uj0)moQ1 z3LGjEM#>V^fp@L_)7*d}gf?4QL@|PkQ$4-kR;1q|zD8+*-Lh&gX6V-|V(c!Xyip9U zx&a+r`*Iecz^DDoS%eNuzML^?a@}RLsH2=mqz?3$|BS())Zf-6s}Y1TBpKqozh_Il$z@_xJ(~ir|#ZLmV9o zU1jD3L^XPtI1WiodJA7j#c^LTHQ>~H5+DQX8E8g``tv-htSU7D)enYY98kEBvGmf# zdV#*w0%9jr*nlc4P1QAqlt|2gn8sL(9blEzUi{KPc^^9&d0j@p)`!7*yVW^J%I;?H-LjZ`vQ)|hxq+r z0;rXfFaas4x#=(gZf2uewK}i>p?puQUYAGLoX98Y-`)NAZueFW z6p2w<@53C=nwU`?&#?Oo)d5o6PmRULiaw@3kNx-MLj3cY0#FWI?`WLZVSj@+o0fRz zvG=jW>sxWrT3?yn5|4Wp@Pw9l?27*%fh8V$f;r4-iN`K~;t^Qlapt#9b6VoD%K>S# z#1*QW%M$l=f6Z!%yWC$#Vu|xLQC9Au9eYL06uNUeukYXA3 z-%_-eflY|jcsSH~GONy0-G7og4|6I#^-5q$Pn!}jMd_*Dj3_;ACIN}C|G2n)weKBI zrUz{({Z+HTbKz(*kXSsi4!R1wL^eOJniWA#b-S$ewVUNni*?gJpq{Wjdk?&qU>?=t zj&}}H9Lf4pJ2aHakq|_v*t!+6CqhDlk|s89F})QqH|0Wajj9mA7hjw?QaHy_Cl#4= z`wIL408wE;+T@1!!^+ObP@w6vtNDz}XIBjK*%hIDcEvECT>*V|$RHd(yTawOD@OS2 z3O}D+;o-BBDMN|wKrhUEZ5Mtq)}d7O*{MR5@;q_E^JL4;j&VLjZ&!9%L z4r2A|_{>aVwWW&KXN*9t;{ssbFb5UqAhi{na>WtWJ+eO194eBnHXe&yt&j* z#cukXujy#8Ie`XC1K;XyUW|$oAPZ2-n@R&VDWj1W!%Vnhs`{ff?wU%*klpS&O(NwbNbMJ@A15?2sFB!(bMlG?cvxYMHw zElEJ_BHdsvadeooDmJv{XXcxR)4|X-FOvA|r(%2`CR#>3_hFi;4^tv@v=Tj0-E72^ z3=S*-w(r135gL0hAf(Dj<+X!$7A88jLRO~lxbyy+)*c?vXA)7nhXt49f*Xh|r;-2$ zq-uACQCQ+KMtghHXRUzVe$q~f!lELvjJU-l1S4k9mKaPCtS)!6JNRwaBwsSHPn9zOal7ls#w0ze?aIrvA`X5zm~KdH<&K=H!Du@^sCD zhWHBQM9}oJykX;_F!LthT$*OkUv>__LyxW0CZe}G!oT1TRT*+7ar&q zA+n;35&&&iNJ#;DNTm@J6-*TsH3t7AK>cQfn4H+P4LkqKb@0N-1@zTNAqG4Ml1xYa zbrR*`AlSrK(wEwG?=Ehg>95|sZrFTXp1^a{vP`ZOn1(WpT;a#$4IPnA%1ftvMIlIHW^7*v1TQW9AAN z`E6qsY#TE(UgVf2VHevgo9F~ouu=@J6mzVUXGI|kwo=SksUZMm-8-VeC!V1w#l1Sy z9PUrL!;L&=Ry8mYopK~{#JNo5FyP8$G{+TP3{mlS1O-{3V-fyt?0#iv0B{YdZ zPY{+%bmfEqSI$DVF@;0Kw9wmKjjFuc-qiow47eFA;=rKGfr9ufu-6}je)`e4DGWt> zG;%ZDegtEt&r14OCEaa(_p+x>xDy*RQ{tT!=n?CC;aU31h{{%}?^EM;RzVm!3qo|X zu@!ZAMrNU*PlE!>LCv#~TK(o{@w#Nt>(o3Ed5)lIf$Yt$Aq=7ho*6Nz56ab6M)y$kLs3SU=i_?zm7PrD)E9lgOYQHP8w0_$O-%>`(MF;rs# z>OMtC!`}_>)T@x-l%aj3~0R*Pdn?dj=2mFcK7=kYgVG=3h)saw!b|11BMwLuB zKRb8sw7HRHCUbWR%uHq?iAAmOlph{xps8HKkV!lS(E*l4y+mSE-y2_f+jw%PTXzbM=i~zrcOxyr8D#55RXphI~!HO*m++g5}$2lvLm_sqi8 z#MB?E!@qdbb#*HEGyi^qW_|}Q`&6ELX!m~@6kw_|?-2!^;vITt5LpIBHwFpW7sOT0 z87E|NlZ;0=x`ND*r>_w%l6;xwIdJ$hnSB{idHO5~ou}W8a$2IkHr07E^|g;3t-SE% z`CnJZ6HM>ryKSZH{IvO{onVrkD#zblZSL-N%YBo-ALqy0;1z5@BM*3KlLyA6E^NB~ zO|zRXH}BSa2kxpw1w7+3dHRtEH8vlng(M(Dha);ea=m<~Z-b0-0GNt0;eS3$9N>T^ zx`Q$xu78#YP(#tux^cPFOVcXfx>Eo4~UD5 z%rY&+$#BI}XmHRTBE|s@sx8mE^-5bA168mua1>uCl`q)fZFDlQo7_ITO<2riStirE zaZyDfvf7bFb~?e%*B>{J+Bl7>O6R&WYHOL?Tc&O^O3N|sO0wH?j5V??{SGp~ zB-1t3Qk-O0A~B=j^O!toOlyfi_MA!#{>H`}FYZ&^`nFlco?U7{d=#(LqLj@~)LCTm zFlr);%~O2az8doCsd~Fh`7%SINd{t~Nu8S0D(yvq>+CFIp>=jK$^lxtYoY;lcGstl zR%4&y;b|n#Q)I2S!UOven+n6`!m!C0MW`){$9}}-!>|c4Y(_@3x@AMykNS*Mp*`LH z!sXAY8ek`AUU}-@!=<0yPViEdOdY0HgxZcnt96@(m_#l&ps7#gx)%`qT#u9yMSV$B zl725)4dyE9qfj-ZZj*Ux(Vu_r3RMXcx7QkCyPYfQpe1tM6akM@w;|!vB4HrwDG|XS zRuFDERs@C5P{%n=#@jUM&_W*n*0YokCyx}f{#hKIqBt7RAH>fwbbR8d`1OdRG1VYm z#BEBWtSF&0;!+xMN*VH$smD_ZyoOwc6Ev(p$G; zmjw_#^P$71wf05K8aMjGx{a(hiyP2Y?{f^0B%7Fn%+5?;VJ2lvWOkNmP=7rf=7cO8 zY_>Dz*B<`Zr=3tun!9-Hd~iPsNRuiccjK0sdh(Z+>sqI`xTj@;-cP< zUA_N5-`&1h-h$g>>+S6^0=FmD+g~qt`&TW5qqv+}pJ-2Vy$;*eEqp996jVd?(Mdi* z;M{41DkqY4n>pL$p{7Y@zSWY7n`F9j-VDAIbgwElyLII_x;mRPJw=aBpR0FrSoWN> zn6PuzubZXvhfZ(%hn^@x8D{8=p=pPw^10U{BiACu)}m+aK=C_~1)6=JMX-T_U8{7_ zMmc!++gFV;bWtbEG`~m`+e&Llktt&D+U~D+`uv4;&$GcC>ROa0N@*%k9`q@R!>Zb5>hy>-dPGmh%Sy!T zzN-Y}Vtuo`P!x_IDZ1*jxu*9XHm~BnT z?qPu3c|y%!R>{P4)3eyx^h|bZObi)74@vu@86YoC$CTGjdfxcD3FPPBN6l)&|b-U3kl7^~u8tW`u^6 z-O8$dV#l0A7!ni-X{ zw{PTS*q}!Tp*wmj)i>B$d(c&0YHN?cjGQ6%8L*L4(d^B7hU{PG^w%jdGGyhjYz>El ziAv#^!JbR(9A|(%Cs&OCe>Kow>k!BFYWH;m?a-<2m7*P$97*;Wa8&WUAEv0|R82UO zxj%{7p-;$y!JYX=695ft>%St{0q{72rU`J=N3cC*TyjypB|FtZ-7-H@Rcmn{e`+zz zzq-Hg)RYXd4M#m?c3SayDjoO~mV$xeGo&~%r9Cm7|3Cld&)@z2_uu^VU*|sL`q&uQ zTAm(wJ7`#t!-fTUpuX>YHQ)4(1^Mv4??y@>-uL~-@4xzwZ+`G&{rAa7{h?p&*4(R*; zsO`U27#+J0fQ(lqdb~=y1`}7wJI48`xRTQI7=-J_ z#mshG3GFuNo*@hqgAJS;CBk3>><2(b7!n=R2=pLuff{)zVOoq{SHp6tWfk(T(!_0> zm{T2xNw?5_hf|eitQ_YUGIB_OizttCYF(wzJ*8blsm(=XNnSynMY^kmdVVGkDiV`{ zXM?r_n9UBL(Ng}QBl%J$1G5+cT%JHKwSS)Imgi8=K-9dnAvPr3+UZ>!m=JcP%ag|` z9}4cu;~5UvuIh`5<g5HBF&s$;nyT9hO|5CGN50`DfZ`9RLiB>QMGmBK`5H z&aS1rPAPWX4tba-)TlF}*E%8Bn(~4IRTFmGiSV^9=@SL~5xSX+7ga$oWE;eY1}zI= zn^BCDPAG}V?3&!cICC50q%eZYigBt+0tNDtTli)H)=f&|nCpDAEy`QGZ$)s7h+x4T z&9xjQ&}hfer+U(inZBk|n~d|Mx^@hBvP(NQc(SM~`SMFJCM*FJgX1K8PO-dXyh$gC z)!p^Y+r_r4mO#=Jgck>*QKl^#Wto7Z3~%pr?yJ?^;${hRV}&jZVxCtIi^tzC_g{Z# zmDvmUqRX>$IlR8xNUvLqx3>4+tpzBryBt9aO>%<6~V9m-XUHl{K+y~F_H6DIaT06GjC{W?kkrby42|ODjAW> zpEz&sYb>2fsqRJuCJ*gKY<>z{D}z)-n3Xa~l!BHOF;8<*E5nJByQB?KJ4iJ~#amXh4@nKDn#L23e)~Dr}IC9c`gr!{>fwxL8W!r*=(s)nN}J z`Wbc`)J|q=M%(;^0MhFts*~v))mB(`@u`+p9j5Zq>c^#3;yP=m7A=q9vqOXcwowSj zFG^4wnTYmoHAbK8@5Uj+Pt+Rgx-5Ghj=yWo*#B~zzAy|Ld-G9nV}lELw*FBPf`6S9 zx^Na6&O^iPm+kQzlI{hz?+BWA9|V&Fq)`FTOnE6e0BBPds~kY>Qt5$5i5(ZIHP>Ihdpms*8seI46TA{0k{_?b66G= zV=RVcsbn#!?1Y#yz+xC=F{x@**075QQ!?CBJPeD8kC(+@=3oFt<#aop9DyleYbO%E z%7ISsMnj``V)JJPA3Osr&tO-4T>nJ9_Ld5zb4#2jHkqdkGXShWQ@`>-0W+k{MeD^5 z&WjQ3dX~n};H&YndS0B7yjV5(Sd5Yi7gg z9bI*V#M1;?bQ13>1^p?KR3UK{y*fLjx`oav3{j)6K1K{HM{eCSWqDB+Qouv|SJmpf z!JbumvrK}_@{|LD6ips$Ks7;-sUmahD}W&L*}`g+la-!dKz}R!k)sf{z7`D~%sy4Z zr4k2LyB{{|jaTM?hmA3|W1)QCRRhI-wYmHH-QC@CdvX1C`93Xq+NWgr86fWWB`-!Q z`$+D@6vqpF(#$SZd7<={si9;?BhZYe`vGIoMY>H_P2_vmNEOKsMV{ zq~a_Ej%3*gAz?)4z2*YsXwgJH3JlYRYL{B`mS zckFv{Bp|y_)Wq8i+{J@E;(nUy2$%R4rkvk4bLy0o>y)K=7D^kXr%9txQJ8~@W-IQ- zAx&bmSf~>hP#ueH>A-OzGi@1Nwac7UyI@%?i+*O*8-fZc2#GhgpvV9hxoebW5Qe}| z-#p^Z-FvLz5=XBN7x!wFSbcRNqPrWBh%hc}PuWn(R&alI&68e~0`?+H+9nR%o;^{gO`i&%+sNW2$ zhQ^DbQ$)Y1OX`ZYq^>B1EFD$|jjfd?ORKN=u2ed4r9wkMs!B=UlBLl~WM9Q$)yzRu zL3=f`t_m`|nz^*;g6&)zt)$ZkQ@cheaa@>QCkQk`SA8I@5vq&tRted#YHGJm*!O!g zmBRLZb+~_AzTdyx+=~$xb&;nqrf2flBZiQ3RA(1VX$`_s{qzt96KydWUy++K(QGm{ zW#4~lSW)NgcJa&Co9%4_%~E%2^KDsTo_h&j!|0kr=7KK626=P8Tx`Ev@0Z)vrXMGQ z?%_F32?xXU0!}ba2L$`n+DOt@gt#0T2;CNmNRLkmk7Le5mP59qvz9})Em`089SZNd zI7=h$E(N!+btuG2i$gaiRKIbgF_y!WIUc&K&mOc!1nj9gOiwy!U6i?j2RtQcUA-?p zuAnt?(#)WB!6MkJv6MmUBF2N(MO4lZv<8D660|1O)sR7J==tlNLpf53n1p>5Xu1OC?jOAU6{Br|w)udCO*?n3HO7G+tH^`p(AJj?Uu zm;T??e_8cQdqKWQ{#$)sf4}~HeSByT9`nIJ3xuZ;2zg+EP#%{+ zP|g^VzZ5g2YD|zbvK+U zXWw0YXh2iSh@0+!YPZ{q4DE&7qPCPN^5l`EX$?ta@C&ifwSl5H&>=*gbgt_2ysIYl z?W$?HP#;VL;Edz`C2^^qqWLRFe~r;!lV;HRuPOXh_hv~rGDd?&GZ$zy=5=!~2;p!O zmzX{sfyrk63KqmWf=ZvMPc>jofvbkVt=X2hw4`?cXQ2=50=#Lv?= zOIu%aW39_;iIsrmbvBZoZFysKMeqeNrw$gxFLFKbK&Q&?=xaNlKR(RbrcZWs1MHLy z+jj6y1&K&Fhir&d0Qe)<4{9}7vf?~vAsawvV2mMHkOX^YbVpj|>Jl^G(&XsU-~!ZG znqv~BvO_J?JJf=OcJ*VKZ=s7P<41u{v;?MSdZSpd&~(QWOBh{xd!P?THFqvRUrbdo z8n>qM-Jkb&&0{VYSuofbDr?2;1stSfrIDv>WTa?@^pA_}zWP^p>XBC7L?Z)n$uL-A zl=F(l=A;0V;Ot!QumUhjY#ml?`3cT>PL?p!wKIg^Rdi>4$t0RM*L#deBIR_C5jxWg z=7Gb3H?I%}c_6c+)2;Qnlf7R$G%-j7fe9E%4{RSv#-6N%K3Srf9yfmF*iwV*R$7t< zJ=YC-*$0k~G3bNQQi0Nv*WsF#s**^W>zp>%Ic=`{<&GX;iE+0Hai~n2TwfPyXLH)l z=40&aU^B+`++#RY(vaq~AdZQu6;lvD*NRiQPLQjPRPg7l zQaMOlCHs(Q;ykIN=68-X=shicR5&5D--R^NeivtdBxn)L@YWlVBqtjfelD6LCVX`yS~24?Y17(%t{k`uVm7N9lq_3T%BluJ^k@*U^EY{#Ue$oC!#wf{`Or}aC_@k&yw0FLcGs)j*A2qW ztG1g`wLnpMvY0Hpt2diQAeT{-D;zX`$Sr+5dl9s^VeKp%j`sbTtdx7xA^yDFtnXHD z>Kxc2O?s|c_lp0%c~@`kT`KP(iZCOP7DITp($UwGM z{Nk<>ZVWg&`?5R#M(}EEBkb;HZ9sUbb>g{#hS!B&!I)e@dlh{=#1pEl;OE8)4y&Ly zDvyDeV^FbrBc{Y4`iSxXjfNH*h9Xm>SqT8)5|Ja$^AgVy=Vde`N4)+ZfdmJ}hp95_ zIbJZR`0gLcQXMeByAuazrXok+$* zg@v$<slnAwp`zH|Flf}~wOE4&LW=Bb!uDH6IIa2>pcuS;$ zmPmzM*+#IT4{tY8;jt& zRsV7oT>kXF|$$1V=NRZ08=HiNniwOLD!*vJNfVWety!1uoBuGYdR~Z0GUQ z%XUk~wpF&HOgHVBZsumXGES&KsdnQ~AA@uB3p2Ry90NrCp>NB>Cf+6j9YAv?Q7(!Ap zlRjg}RHg883?peMxl~?7Bn`WPVH}3>)X!GiB6SrE9z^2anq8=NSQ+K_T({=3%$Ggxx0vD5FLx6tjGNnhM~?K z=CHtNL%z@&em7J#mLgT@h&k!f0KQNnKIA-?-ko z<-~|6g;Io$nMI*2NPUud=#znWhR&MS7Q>;(a^VY$sgq^~CAwp31|@KOq2RhQ$ra6P z-l%TZEcE4)%WPgoWb@`lNRcRphzZ2%VqJPv9kSPzbh}&Q^3j-OSm|iI{wQQ4raA+5 zhq{!iW2yZvXd#Fqtu(a$@qY24&w)1Twesg`*BPr_gEy~-d)bt%W`j#sADdV7y}E#_ z2*15?`+&Q-_3mGq4w2yY7~Vd$($n)qV~wmB12vx#Zy+v-R#r*G6y_SwUG~{+%VoFV zmtrZ6I#1742w3px`Ne~?<8W1;CJWu&EZ58HN&)-2TC_LYO?7kMb*7puJ6X0_xBRGQ z)`*)tc!h#zm1c9SZr*L{v-YYT&yRKWrRIdy@}M*6C>>L6ZcZJ`&2R6KyMDbA+s-2; zJ-_>e@>0PGUyB!LC7JyqBDgY46A0!40PH>*QD(MsdlyZZjJM1<1bRtjM=PSC6&q5Z z){KX6@EC){c<<`rjmltMGYrF2U0*p0y;eEa!~H>aGCEc6`SiXUx58+we61+5G8w8U zUMmf@bwzP98=;N{5=v6q;uSp)Ng_gZ8`OnV@@ZUeqgY3$wsmV{@({ZK3By6CZyco} zHjqV}tl#+Q`{;~h02+Q?PyQZx1V@lWJFP2Eo4cSbF8GwvL9YSm@oAu!;^S6c)}s9Q zybVt@?AqP6Exzb9Lo{PomS5p4U*_%N;Op*F1Es=OH#f`OZnK>v9T2~%V%f_`Voabp z#l^v-!(ZK#+5NTwD5xe>Gp_&c%^VLPMUL0IdWZx?ZwGX{dUs?ZHu_fpJmrH z+10rODzOz0cW^F$uFm+&iq9|Kcc6S?8?Dbli{1aJeKo8f7LP+7sciaJj}=8!tYW}Z zyXKMKSCjf~&;Z-#c3*$^pQ~Xrdwlz0x4PMVvwl-E&H)eJR9tYo81ls3{o>7_#pvj5 zdHcJ?`u2Xg9rSQ3EJr$FI*o~=(G<{X%KU!BmG_lw=` zyLCl%>zj&zo85!^R?Bss)pDIO^9=Zcg{W5>4c}+azt+!;sT+}TO~43K5sFyi3F%lhvLBPJrVgbEJuS6= zP``Do_@G#eAwjYTBNQ+7EaREFrI#DvM;YvkZoLRWv=z1_UKzx{go z@0H-MA3&rGHT95!hWf_ITbSkvoU2ldWHzTN{hHCXPLH89ORk0K9LiJR9EyZ*2xQd7 z9FnUVeyk%26X=!9`B2D^oJ|-CBwv4E;-j=WyJS1n)BW^X+hLN^Y`WbLpG_~ae6!LF z!6t4p5vV!`NCR8n`d##smS?P-fV&tIx)3iWrK^OojP3Mga!e3vX z*@s$bwdS%?dl1#eM`;eD;Ml)(6l%__xpH0<_RPy?%=s{PpyI^Us^>H(wsOe7x4XuJ zG^kPdB9GFES$t}yUhBnL+}`%{Zv0poQlWD;F7J>>8EMnXdKwo_%!Ir@9_3G)_UA?3 zhA4?)i6_g2_RT0?Ycwn}yIZyc8z)V4i7`M)m@G5AzI7B*12c}NB>ND=`YameP6r$k zQPom9V7SsFEvKuse0;Zi+q>;9&q%OuZ3++&g@}B@cTj+|YNt#a=8HAJiX|h}M%C)> zdUcBdhQx|!G+nDqcda&C2A}N^(XLi^i<>1pP6Db-INP`TtB1wotL6Ud4=vi*1$@!v z+4<`B{8IUPH`X2iO}x9k<8CcRhm7SfbxQSbR$>GC!!MuhyT&xgYTzyX`mWklg#+sS z@MrCakT=S3Vf9*YV&NBFR5SW-@-6?zw8T=na3Jo-fcp67u*e7=XhthJtO#YikkLva z^OZ+|qLpHB76ICl3mv#5G_sJPOXCwqD>Ho^$|Gf~MSp)5t;c0`p-Gc}_w7<$FRFjz zj361ZL`KKo5ntU@JF5s`XX#6!YZG0rkuKBmj`IKT>?n`tG8u?!cnWP;(@apl8N7tq zFECY>5GQrHRxpF??-o(=v(pyS+z~TaVB!nUGDKgJlg+R>f^^p45@J+Jy=89=E|HcX zp*|HAn>-_Q&Vl*#BbmfsU9+%c(p#RJot+#(Ef&$6xGm=YuKsJKC%j&^;R=@gN&#p? zP`kdaP2E+c^9&>P9-w19z1#QKpm?61Gg5-+e>)b};S z;IR2@3-Y5P0FGcqC`4}iiu?$Grqm@d+S%EcWZ3yITbBo02daI!WgX1Uky~NG(80WlZ5$@(^j@DD4oTK4|tv-V0 zRMmu!QVUqEoBq)$OJgMO#Zv>|(~}i@6oYz<-D$Z_SyCh#_+WF*6-~CAMXvbor>^)f z3Jffw)iCZmmF4QBgK*s>#^DLGg5bJY8O8wX$2Okv;u`22yjTCy(XwC6Q9F|DLdt$- zxlhS*>z(-BpZ=}ejL3#l$f8p4(v;+-bVF%x_D8G1U!ENrLWjeJ`k~^CE4f_tE z;mWyKEefvOVq#5^Mn*)?XFCkMpB|6LkVZuFOhg(XeOgh$cUnM9ltF1PBnD*M?Po>9 zQC{eU#1JW|{Uuiwr}k+*Q$H$@LfTv{q|K-^%t-%9?%_X~d|rz&=am`zc_A+7Czj~L z+@9F09XPRt=)$bRP+2Vh2?21I&_t9i22EU^iW-+JF9~I<7!(L6m92VQ;}tDa$)7{X zf?qi)1q+LWH+*v>08~S|$Zw-NRQhUwnEX6d)z6c!{an{^t?pO*58vJ|-uUV`|8mB% zgDE+V<|Kv&0>!j#4HTB$JmR$~6qa97XDq3!LM1ox7vz`ZO$vPfw2h>btp4RJ<{!Cs z19#1R9Hbi4aD-0sHB6zE2U zRtn%lCJ^>=bNBVTySwG~;`;6KeHInz;H3YDc2QTA2-L^TG>3g4Wd-B!W)eR zeY@Q}{BHUF;=IVCB#NV``TzPqR{dY|hx+gH7l>-&!-!5=RY3rHSGylJ>x~aU@9Y6+ zE9XnQ*9~nTO}#Id+;13+mBDmD2KNYd>2v1HOy^8VVvGd)P|~NXR0agtP_7)rQ)&K0zO(IW%Hjop9rKu|ECb7O++o?PaNPKR0!D(?Cil1Z<45 zq!1PYpjs1HfkWef$EB#`VT|aj#Bv_YIv8RY7!k8zHUW6^G0P{KC#%QyR9SO1s$G+5 zROAUpXpim1GQ%$REvB-l#JgxO?-!4|bC&XCKKq{^}QnryO+ z4-sak=cOgxY&FN%dIsO`+qC=?MSA1Cyy+LA)r5E55~Rkxjmf=JNH`}#gHbBcgSakn zWqg~{B3C0ZEJHz^?PmMU;^u8P-NKp>Cf__v&dN2>XA3$M(xQ~p$q!FBsS*dQVo@eD z6u9m{1(TvZsFGZ9t32+#p^#l(sHc(DPKSaOnZbduINsaE?iI*YO_08o;#(4-qk2-K zYZJ9fUmF?u=6dK`DwNz-JK)O|5RRZQgv1K)9cf#E2Xc~NERoJl{FgIsxRyPgD@G8- z&OBq1d1kg4g0odtgVOIqXxtlA3_b% z^o%2t8sf;B{}u^yU`!9JVf3(Ftai(qBL3HMyXndmvDU^uRN(?Plo;RU+@&ufrjyQN zD(k$R@GvE|HgCVtdotVcR>l`sxoDJ8d2l$9GDE<%D-a)qOhGu5B~L@AoXkG0>2y?2 z@hAh}o;tWDpg$U2(==nX+Q*TH(l}t+hh%Qw!>aD=Vy|us=HP58whc@J~NKeICE5{fA&8z*Au2k;|)}e{p8cK8&$$h*@J? z15eJ)=G}UKyZL4P&HKmIcIkpgJgqz$mQ(eXw0Fj`GH0+3b-6QW|aF9M*L*a|40v7VM@vO}jy;cM1o6W|#V zv6Iy$$ZwYXW%Z3-bsPFg@l67Z({IGmH9|Ya>mC&E4Jd zX5Z>Wsz1n(+u$3hO5cP=j4QRYkp)`dLaaZcuL|fHM!VNySAwEt?yuT5=*`sa6|!?r zU0g|Aiz2-wF%8KP`}ozGMd{CTy9%jo6|BRO9*$Ud-hg3Qoi|K+Z&)t>TFAeaGDIOw zTMhyjT>f>A$g3KgLy+xL7=YzWASN*m!0j1VBCu-3E{jKpV12quS*9~XAXfdrk;Y@E zrDw{Zf_|a*k?0@{&{)&1X_kuq`Q9MVeh0kC5ok7IQ>PkUp1XFK*0LM8TMuIjvxmG4 zDN42XGN!PvMlXhQJ>#I5ye^NpV8IuUZ;f&Xw z6ki)sZe~VzpZSHsFG!Di;}mQE*+m4RksvIQrBA^jI>uQJ1i}{zh$dZ1#sGT7b^SEI zmscQTh~{Ptmif%A1Qo}j1WjQA<;hl^J_QpP6joE5J;NhvHv23skCTIxW{q216tI~# zmmDM^IY^>#kSw?j<;_9L&^2!62TqEE7=fWvWgfe$yUn_>z*xkXNe#QJ-9trk-^!cN z%+=lUX0yKCb+@G0Ex)X8_iwu!O6-RF`rFD6C#!gi#UN7D9@GI^mdz|{|n z>J(qCZdX5dL%USNt|leuPHWx;rrs{Le{N_3@y~OqKf|dRF(^K+i<%jE;v(|Y59|De zC2GWB)Cd{GU%-2iSP|D_MRKIdD@B9|yv&U8{F8jC7UU6ceO*zR^j5e+Hl<9GV7gkt z%?4_&=B;$T&A*KJR-tkjVik5HHxOk`=q zp34FI9cpr8a5_p&U@vRQA=Oet)C_*<>o?ddp=>g9GIZAQd36+nCt(fC!NOCp;?Jz( zR+6WNiZ3F+&QrT8V|znZZW!+oUS_k;z~qeXtPO#B;?7Y(8p$beSoVy<+HF z7dmOZpear#nHMxAso#++A){@D9vbhfEgCq0Z&&yCKXuXKJjreTEPTsVI#w9cr)RPG zCV0%XxT=+-esY$XFN=+r0S)7K%hj8=`{PqF+HnQYF}fE8QZmHb4xwcL@28#!h-ewE zPJpzQ@dWhts@ouwySnU6;bv1QfMx+iD zv|!gZgW7wUea7@et61*6E71z7ruA+K;;G%15^}Mn`kw1FiG)8bckdn=&pPXMy7o}C zEa&=q*Zlc%v;JApZ9A`X`*?M={^RyS@jI(53DUP5-X~}0=P+rKO5Ji;B>iBkCBIqh zr$$OCVnrWDrAO&+}^)`hA+SZMF%|6>A)kM$|J2!o!UHr z8lv06soXr54GdLdpp_(0D@hz$2~YgAk|dZ`k{DWv6&}UnRz$UuxRPF=^hdg*?nIl_|$JDTkYsyEZBJ+oU|$CgtWPxonAS zz+q-;myM4{%?3b1w1bRO4l;m?5Gbq3$Z#Jpo;Li4= z!;+f%0&x>;7BA-xgDk7R`zZ368j?BUb|R2&^nwyyE7Y&6`jU24@xE%;AS=)=sl<+5 z6uvcmb|38?<-jp>lNz1Sr5zZf*V$~@O zO<7N;FEoF*s|y~gFDMk6rYy8W({u%w-s|U$JCDxwuBHlBJm}zRU+n8y_r-^xXQO9pva-$+exI0ieuf&0;JZ#7v=8O=>}bJKKryWzb0N5rfD zZg~4={R?mY*8ERW{TU_AzpCpI=UCS_6zc6%8Sp`H9GVpqOV+?R)C7^m{va+&ywwrc zOiGY4_5=V8=m9a6NS4O{^+_s`ahBnXGtLGv&ia2)#@P=IQzU;`tyMkJ0&F;ySE8>z z3Kr?%J@rAs{B<&gj!4xzn05y@?%>)Tv2jPN-H{k~B%%Gd*e+kctTvZr4ri_v_3nTj z&RnIrl-di}1v>V%Q~HGhinDgnkv zq#wmIh*gi3?ivZWQ*{D|xG+=%UM2v&DM_MUMJO}e&%~l^h@*+r5c-jkuBOXIQMhc^ zwEFYD+vMu&?;r11H>*9OMR;LG2T>{cC zP=3=*&&#n*Pbdrnq2GUSw&9z^0dP`P|9cINnEX2F)@_9Z%ku!sUsE?r_|Qa;>o&** zbR;CMTG3O}AM)XEFYgz--FMYSFV;893k)T*83&K*aZm<>RyU@-z&JJU8&U7Y|%bpFww(sAleci&QO~kq%ec5#H7w-x+tEAsKs=xEt^q! z)t_g$2sF&sr!JH)IK8V%oBOJ-%n&_cni36=CK@CvZ0D<{x}I_ddsfu#Ct3+wL?saz zX6Yd!!`y2xXMeHB?=u~p2sHWKLv$#H(xYk8wK#@)4Pqnw(@4UP5xvQ=x z8Ir^E?$L6$5BsJ8W4@>k&P?)-%8Z+oG7!v}7%l@+rnC<8i(=rGdIls^g<|U&dEee@ zKlmTin_Qi9W5cc39vD8)fkAq%Pd_jtyUUoPGnR-rFov7h@IT9v-eJw{F(u4)V6bgE zBeVR*;lFw$0lxRolly<|sEGA?=yRFS98zBAxYi1Wk@p=*|*=hCue!3zpT zmx&yhJD$)9M!B))VFwtV0J7A?5)9`HpbR(D9}q=d9rc2bUkM#Y}PS`H(WWk|<|1ck zvz1Epw3icv>MLfne82y*fN9_f+H0k*!)vdX$N--{o;Wz_AZ3C6=$qxfD^abFRfahE zy}IhLR66qMmc=&MOZ`+B0a4`!DLPhnOJ6_5A-m1cdNSp4*G|2)n@qSR`9g}fY>9Pd4ek@2ezm+ilPBVfy6SuuQ7j;}AG8g}<93t@m(UG%?yqIuv_ z;?6{XU8ajMqTabZHFcblBK`^nG z1w`Pd2P7CD7NQW0KMx7ivO#Y{Bwl7G7Kty*Xe?DmW2vf|;RS-0GhJ-TFMQtLHIMv6 zT*Z*K9JD?0h?zYiGU-PUOK>pu59!;V`>PvcP>neDJ$>g60m=mKvxCPVGiZSNwu|+y zHG-RKJ%i~}7~=jf$>o{uFOkO%&PzG&TO%Tad$BvG$bf9{aTEj4Lm5O5WiEjJetr)0 z(EhgR=%LI6=y!rx<9pr>_Uhqp-#k3-Kd4v-MA#8U92I#jQk1BMEn02Tf4=oNT`13x z!b?*87##e{SOFXi-uH}y-@h~r4t^@3#*J=92oAohs}Yrr#RxQfZc9QxQ@jR2_zuxGh~ztte&j%}ak%6s9=Lfz57Lc@XjUfc)LX?&6mGf}r0Fvl z>jk&?G?hs~pV|?<8)c@gktiCloXbe3F(L3XUch3mBo&Qj7%K^!PsXz-Ncxr--vF>r z+w|tC<1#*T^2u5aSEvRj z8Rt2RK$R!SuQxZ6wQF>9qsiyhh`M;O4=M$KMaGFGvbqoim!dzh zrP^fIg1s5g4*-QFg6ERN01%C*0^7b|MEO<`NU^HNHBPBA75UH#75u_UDN{#p@Q={; zY8T9_hW)iJ70`nn&|ODp=aNR;s?zw(6_wbvZvg8T5n9>w{{UnRjPevA#yGYD;Rva#a({<^bEl zk*ms)U~)BMuyOFd0KsHFELWAoSTZsQN3JS&g_8M*TvhHDN#^cIaw0u}dh!c50?C8h zFAEmXXR6B6tuygM<(}HZgJUqMfE!YqmS^VHr&t-1nfQ%n;7yr{ks&5+SZ4}IqOY~W zl?>udLJ@B=FcTz!)QgP5l?jr#$Tu0236l8HZ{k6}Iq73b4Em*fEk21ufpYZ5=gua@ zB;VVwkgKp~uJX)P#&H#y8KPrEm|Vq%72)D4h~PV5=5Iv$_9RDfH7-AFqF1GI2O?7& zB&&SbQqcp#Yg}Ec^GH_fH~5h6mOB4_LTA_e%uF>qcoOjPbro5 z#L6%Yj>Y)Kr#>n=kE2`OHV@1r=63m3dUrgmy`zQ6m4S;x^h9g)fBhiMIdjHYhq_ zr>MvQOABswjHU$&meslWnj28CtGbH2yN&{CwHejj9VlK`^9h+hmf{}T`aAF@)JF?X zP+Fp%;N9CzPkqfz_^hj&zV9cNMX}xCo8{PHt|I;9zUjUH@-;Ly9hAeM7rp z1vc1|^_yc^a-q=DxU@PGx?(f2ImdOz0Ee&f1gldSA@B=%4JB;=l8X^FxNMU1g@VGX zO+&Wo>uKDpH0z1`T@q6;hfgcVwU|(W`6u?s#MvYUglyY_?+t*D5IaC+bKpDRMwO># zFa!sW*nni>252G(TYoy#Wb7arcA~n9dVrE3IkVp98O|4=y>N*3!X0QYNzZE>XfOSm zO-Fm-2HHz9I0E5=+`?2Q3REz^c$o6kOz16X@r>Sb81xn{eP4<0Xg1MX5|_t09C{1% z!Q;{%(TloqshWd6KBr$6i_u~ya-JBiheOscNJ~3p$3$t}4%u*F+E}_O6Em0AIFznH z4;`rOD;}9e>7=RRlQm|rZtpo#7iN0^_>Ic}>6 zc9iT`P9$Qhz#fUINJaJQS+1*pr1D0!dGS|kM=Irh{akRZ+}+hhnz6&Wy4ZCsH?rPX z*ukXmQ$**49ZUuXy)25T#FbR6b>Qk7jF@tu0{^2d+vh~tzT>yqm^NQRk%kPyq0N^riB^u#=1V_;R(c3D+3g_F<9ekj&|C=L6pC#ww0ZT& zP{1S-TEfw#3Dy2lU*0g~ec2C z57@M*j2qifys`NGefr4*wSqKAc4`C3*5e+QJvLlW6Me74oUcUlG7X$pSG2?;uwm}g zV4d;I?t$_+YR3-htM(H~wY9S3>2KSO)Vgd9RUG~D-YE~HcG~m}#<8arWGNFeX6$|r zSgQB_7y&wCfk8u~hmH3D>NaQd>=do%V+>tBhim){SNYjQoqxbeeHg!0FoZiR6V$eV zw)ikE$c@g3?Gl%MT#!dk!v(pu^!oq}fB-2P*LibY?7wk6rdSuaC$Vcm1CDUt8r=AV zHP0}Xb?~VUw;~JSQy(Pz*>aaJAV1WdGe+ug|A?eZ^bw52Rh(1yauoDWskbQo8%DQ5{g>4k&+ zymJF~w^@zjts{dhJ%)rpc2~og2H8E)-DT!+h~8f69@6~I2wSOvPmgsO2TL3eUo1H1 zvoEycV2;|h2*=hl)vN-ZOCu^Q8&v(|q^uu7zq`^@<>y0xw%o)J-F#0wGI-9zKJ7g0MCM_qdODGrhn>38i3YZ&S9zU2G?}`a>YyD! zh}#ku(K^%d&Yu~*hcPAG70=wK7#R;%4dqAiESDGt?ljM!=F9Z-6ZYm(`}$$YF)H$o zUK4Djb?P<2P}iMS{6;KrNJwgD{o=3!#+ayJjHfu}ttu0?3><9zuqYK_@l(`AhYsRd zLI(skIyJn69v&6h{8Ud{it)6i7+Nv_;dEHq5{3$|(wo`-)u6}Y%R7oKff?G#!;6VOMZ76)TrvH4YH{77m%%t;)ZgnW#S58eo^VIaSP?~-=P}9$# zrjLxmrRirbO+Oo>>1TeLe&(U+%k=F`Pw&Z0WKAl~$0jV=-;EPSx1;R+?twjyXztUz z9>)ZP*CR05YjFbbQBPi4Zev80S83|pKt*?lrfN(zQ84F|*4c~M8> zu&EQA4~R|u&PR#F)=>0Q^rL8g#Ad>5fV>8A?n zOnRqLT|-5#tC|mTgV4H=YeJ)%3<}t^yx1;QyJfu(|7*G3v@9bz<%TJezETt$@J+Yh zDTZ%14VbM{snt8!%+PJkCN}VGJQ@Mt);z94xN*B<-2&mpWS-_2WLI>$PdW`| zuMtb0Lc5v7!6uxyUf%dx>d~no6vfo|AMxvRXObdoZ<?XdA?AJ(?sj@c(3WBlp(* zlNTA$dNhiHIDeD@lK!8|^L|^ct{{5Kvv`E)&z-zuNYS9QYk+mQ4CUr0Ho|s(yV$iJ zjHY2^@iADf!~mY$LY`=OS{If{^>+z<%L`BW@l`;2MJS26QLSijxRVFaGW zI80F&XDJYMHLvbPUB+=ymuG1ZQP&M^RFDIk+k7%j`_M-u&0@FA@)l5_DNmey3=%5A zT5dc`D4T?mAz+J{>m{KQJeNwj!3K{{Cxl}nDgc{Rj=#xgd0vNy1)pV-&&G`4vvCrN z&yMfvh0bnPPOE(BC|Ip><|eVrmdGllWLI&zoBgJ>%A+DbRd#t)+^}O|6)TMLf@Xz1 zH>lq%BLP3JcB|K``_=wK8xOGG4O-;XmkoA8KJ>i^IQT!)m(*cTL1w3|7f`al+HMyg zu4}UO%9MxSuP6D_a#5}OZRg+KwIfjzyaPIGNFp(qDvOFj^3+O|?RjcKsIEy7grlz3 z&1Z)4Q*vU#`6>COqu{5Q>gvl!->%-gl@cN$*+vVXmF^q$U#5X zQlt^aJeM3Q0URpkrNW}pu}WV*G=xi;{K=R|K#pX*`)GNPX+E1w$U>~A%ZXmUyQ|gP zh~v#RD_Y-m*O4BjbE|;u%=&e|s%_O?OZxBV_|f8XES?M=J6wI6A5JjAFSVt&CB8T! z?(8#-Ek5ktJXREb{cc_V(Vpy1ZLDjcOKz=P21{w&!Fq;mh$tS(gnYfcRf4G6s#~?A zX~7YOcTRIc8{)}cfQVz*83_;FS_^OlI9|{4)-S(MYD}j|M*Gp_j8j9Mswh}Ka6;Nbo&GJ@pxJ(1ob=(QkFq{rzq`8=>vOWr)t_8# z7){;k`kS8KtV|?z=Ui3}#RPFjX>j6h$2gq0)w#_;-0BAoPTU@}=2V1EmEvmMspUa& zgzEWs5Bu&iqUP_eer_)^q@DfKS2K`)PIb;|R~M)Q18CHGJh~=y)gIg)$WEwfiXCE0 z6kydxtGZKYo5AQ*p=KChQv(oz(vs=7L(`=bU?l7pZ@%4Z9~O05XJCj!$Uw>H^N_^ZMB2V~wO>?OD8xq{nx=n!^AF zc8M%J-G*KoOWoTg=zxrcPu(-^oVyV{RSySG5dxSC(G z62m7Cz%D5Sqn;;Pg_xsxZmFGkoGy$C7v-R zh2}@UGjqPvu3cg8ES&G8;OXdhmdc9P+EONdxL?d|^X=j=Ch#`axg**3p0xCRu zyG#5DsLC?#^#}|Q_)P=`1`4kyAd)fD7Z`t}uq)-1o?`|o%JI5}!Jy6TDwd>D$4Cl> zWmiERBTWLS7-DQ_iq+x`u2B$9iBOt^@%p3CAUqtJh(+@(j4i^rb5XY|)@qJoO(QQp6>4^# z&S%;Vrf3`8>87jM!If;cIy_Xx&Vwu1ZgXX*dhIq=hAP)?6M#~!sW-X}07LzDywPn= zQK}<(!rc}H7FV*r(|yQIx3lY=9;7&wa+rHL*-+YH9+vq~>S1mYXG7_Sxe16-6oi|S z4380jX4n!WTw=WHnC2dF$N;UR)4M1YUX*=_K*{5|d+RHanAg z9PfL}is43}Q;9H*!K7qBV=PipYm-I=VGhPTsMZL_>8n9{>he?dN#|!yMZ0V=_IK3@ z`kj`wf5O@AzpU2lI_2m(ix@*QTi&)_bH-5|&zpDK?rDy~U@L{y^~YB0HvktoDmBNZtknfBDr6p^f$%6I-TF-B(YRZGB4f6Z4+27yfrws3wmoYuN}My7Vatxd z7^%{P%kw4)lPCa%KzhGXAmwwg8U^GFC&jPFW$oC=`I!k%V#1&VX(vjMP`)~+u8WT6 z-EO&kS(h|lnC4;&?*6z~uWl|%t`|)htTPw~Q_r61hDu|I_)-dB-i#=&%A@cc%wAmO z!ND+j8J2^oUpNX5HZ7l!&<#$NIqj}CcWtRCOK{AE?jnLfxVw6{URNjXmc?0A-S#Kc zYbEbt^*!i&`f^o<0Ue4lq^14+yna9G8I$+K^*zB0#~eXlb%`&ecLXjjf~bWouU_ee ztnLL>Sq9?H`eT$1F3QXFq4>dfiBdDV0>vII)5`SqQCuQZ!53F^Nr9G~U~}Ldu*yu* z{L9vSuG6j%0DDn0rbF>3(h);_PBw)V<3{!TI3~Tcvh2*}rIm$v=7wQ?MzzChRH+#! z5LQ26$J4BYz-t`%XBIL*LF-yRSifq!xxc#EE*HH3x=`j};I*(+KO`=aZFrHDWCb^( zNmei;NV2h$WZTCEkZe1YU?e*TSwkPiB{CI!aSuzf%3+vFyJ?BjZbHTgB<O0!hz^y~3u5heT^^B_TbV~dvoHg~S1=Fqg)I${ms>g= z9&EQW&C@k)_KP>|lIEyc(U+oeh8PWVdu=+Aq29rVWRfbAt81|k0pGj2xytvOkAMF8 z875&($x>I-_P2znvY!o-6ADP%%)k8dOKs{@Tl82?J&`KfFsx6bJGh_EL!-({96${NAsMu+`LJcp$z`>t(-Qsv=<{sNfYeId zcW8>Q02HZz_BC1E8tpa)SX+_|(A1XX8OrKU^EDQli zs<5h0W1eU8PXTWls!yRbrhsFuu!P!N27QBi7BEQe1qr?FUuAMKk8}rx7Z{UKp9Y48 z8p|9+&FMyuoNDxFDtO-6h*tK_?LjSH{tjl39I0M;iA+X#_JukzL%mVqM^L?v7^(uv zBtdHgFq0{lI0(Y=&$O|60oZ_y3}aHd_e3T*aNYGOGaR_f_h}F<0I&h5wY+BolbjIH zjxuA2Sqw7S%T&}prWx*nsC#|}_CUNO`tc~ZDVMcB!sU)I{cPdA5%3!yr8A;20Fd8w zo4?U$_1`2*Auv}e${G<1ZGLjW(bGBSr|UkDDTl1Y0OzZ5|FUZ@mq_k`?B!gR33mBy z|1c7dG%_F_{&v5)`DuA4Gw6)rp#rXX`g*tTp4K0`#8CyC?R;$ZarfudzRermb7cB7JnVST<`-al4! zaJ{H~;gyE_&En>5tI;qdD<5by;7A&GFx|yvo`-^r^h$My(snEbG$1#?9D2yi!-YI_1gsG^wbppUVGSerR!3 zGc*RikW+4MN-bt?bs5dBZA8WH53m2Ty{SMbcvdk+%=O~Dy3kg|?#_c+xKj(|)%6@| z;nt6hvv3td=7+^&XT;e3^x&(;9YV~i)FW9&6cgV4Y87SG`M834?C2s1YVIbUWR0Tj z3pTT=GO(-F^{RF3?q58HKU;g;vad~dGqQF?3rdr8uRx4os$E!d5zN>%9?SPF4 z8$&4$84g8bGFf~KvO}<9eM7JsN?4v|KnY7_D>|MK1ywxrt*CMr>whK5%+$o-$-pc3 zjp+rh+&A8Tv|1Pz`@qgMbxY5saK}O|gLJh|r-UHtpDMskRSW!xeFvcV(##OH&eLJC zvb?Th7p0-8>$a$mscPw%Y&Pfl^}X>axZmavoSICGe^P8JlF&+)qkD*VPauA zr7pFKS+}%E!483N-D|VWzU-QJtnS*vg`z}WqauMY;}SbFtN2)-v`yiBNXMRz^8xZx zT#h}L|FE10-#t;MqshQT`G`sd+gn6=3L?l;_@a9csFANnIH5w`)ZW9^$HVs@1t-L` zx)4|%DqTOb%z!M@g?fatOh>`&x7*FbpZ@r5ae?83I9XJ7L@Y`@cxDn_Q7TYGLS4&K z0?5NR5IulNwPT#XrZA})mQkr+I0{xZjxFID!l^Q(-PNu$jY|X_zn08vs%k>XXde*O>QJCG9lbm5wnJ4Be$KnjmiYmG@ zHq-dff{uQCu!O;Y7d_;jubTa?DIVMN<2!wF0QwyIr;wsEye@$w!%;dxlLx!KRWH8` z7Kb1kS#!rmba$bf3r7lzIqT1hqRpD!i+^1GykES&U-s;_NeTUFxvNBbEeHDCL}l|k zk@Rx2{#h#oZ3KAxbal1<$Yfj$OB$<1g~ zX{qDVsM169SzKc=^H}mc21%7n=CKq+V}v;J4WTpzCI7kGtnm;^KQ>H*ZFSen^X>BS zesR+zUG`k(znp4W7)=&`_fhDuhbSPChkUN;4-5I7u43KR%p?h7jn;gj#g$Gnw6vqU zn4{0G+KUBJ_OZLF48C@|(iFwx+jbYxdX)CfX^v*`{H?uMAg_ITh*HRD8?oLJ`@7fs z50A@>`pnoYffp6oRp;jR{4Zp90MH{8j#5)q%Y*9mPCV8ra~n~i9Enea6tl<_*R#2t4r5b zXMS5<2HWb=+-etgbTNRzie}F$AVP=$NOA-bkR)UXL`eU{DvxH7EL5x|RswQ%8T3!% z@m>9d5aQUHEQE?95<;%_p+n@W;_aq`A`xK9qYu`Wjn5xGV;mielz zRD1UesJcRwKSiNM`fK12pe%i=Q$vR7QS)8$xxRq4JqxeyS2xSHhLsntG80P8i}hj? z-_?js*XGaZC`vud z^SK>Gsmm-UA`btTy*F=emxt6yoa3|OZSu2X1R zCkKlY>Mz@`Q>d?#&C(nq3q*NUi^kZ0t-q+Sb{)+HrF-Fhc+xd1G&sJ^ldj#+x}#Ka zPNS|?Rd0pQ>>Vc$HA&b5<^SiOcAy;8KL+J*Rj>T%tN*h%Ts%a)mxlz5Cys!~PWhb; z5ZNa%&Wqpg5g1Qwc*(&5Vn&Fo9%(|jx|ZeOG3fO zA{iQQBZwe09>zv!yn0}~AlMr=9+``uDVQZ3{~4UQ5RV|jO322oDb)cjdooJ3p=Ntk zrX3KWoeLKm5(I^da5RjF?aJubu1v&sags!>&=gd%DikX;6ISSuXp*slFLiX8?^5uk zHgnsv;2UcVrHhCnTvQtsfC{u?d$jriX~baN(g1X23PBC#T&o|DyYY8R;bH?`70GiGffeOjzmaDYd;Dpzcpb2s&qB=RlQm7uLzk5??2wM3GKpW0jgxpyNhTql390g4~5M3Q=mXztkYM2 zfA#7$wo+P6E)uH9khWEQwljz%zdjHLEY|lN8TssHy6VzKu7T?{3qvOv6i?s)!T*YpUr7kr$gh7e+hoikl1#kIpON1TRk6*O&2Is>tD87q z<9_1e2g}4A{1@U~J|+%^s!se#{1~17pou-9L+EH^ru5CEYY<6!C|gsdvs>T^sB&;H zlP&CyGoh_)bk!EnEcGOhr1r@nH`IfiFw{fl#Zd2uW-!;+7IPhsZ1QfjtDiY4)1A{S zYMf?TlS|HkycnnE)`-VynHsf#>)Yk~YAesXSy#)MusBaht-!s_;`j60OXHx87+IE*(XK@!wE?U0@fL{a>!;nib*Ih85ruCa`ay#W2@}~}hb!fU0!8z_K zVwtxyx@bFtb{sH2R-PexJTnY?uP(P28H(C}SS%_^yJT??SGWBYh5f}nNqrCc9*Mb( zYs{UAzC+_$O3Uj2fqJ+Er+n7~QJW-HfJTrkqNX;gJXy-l>byux?JkMQJE>?~u~HBiGJc zW=X0K(ny z^87%W6t)Xmn+Y`@Jej<$7Bys(kHI7y)Yet*#=Nh|4**(Argjrhmy$AIke4jZ@ojd!;VhS=cz|O@Z`sT+)J6c*6j_J#bq zCya_yq8GuMsMdVD(vyhD)BRCV3~4N)RSd!O@uXiQU#L|+`E%X%I>8T1ygRS@A zKv6h=1L=@fht&^ny3wFgt{)*L>8fkh&-JF)g6?V|i#ckJeqYgVob?PICNxypJW^}!M_M5h4-DL89y0|`-VRm;|h;SGI9;?*s2#9GsE`~K425F|{ym$8k~#ux7Q`J!bNTC?pF zL%=i^ye+@?cDXKz7Zd%~EHv!iTud8_MjZ7`4RhneA%mm0w~(C}w5CdgNgP8}g7vCI zp5n%G;TlQVcp2*d;60Q3kr|BTie{?+mi=wz!~N}iHdh)aJ5AeVZal^@&Czbp;X=cyVv`U)D#0t=QWN$%_l35Gjnj3gmj2HXglsu7NuF|x1WF0TmjUF?M56tK}K(n6V~@ks3A{O&-8>)1wVH z2dP_ElTHRrm{I?mP48>o3)m1AXg$B0&Pu?-wSb#yee{a_-#oU3AC!RbSKY{7y*}d+ zFPP$%n9*ZVW`w`N5-#4%;&1%(zxJPQWtDii6*&zv#wIGgx@W`urOliM&ZcAVC+&RX z;hfLc)lzQCRWqLM=Za}vm*Ly$6DM7E)4(tCPx3-7BgRX3sWn^Yl#>}Iwi*tw3lv2@ z(+I~;iwM>f5MWB}80a~E5=b0hPHYOt`W&~^qf<}e_l6G~0K3c{+2Rp-s-LO-haHah zXev?p`w0AVGv3EW{y9a&8DS4>;vh6_Si~UF=70h@=x{bu#2`_wUyT@SKT&s>xM&XU zXm$;QIjkxlgE6Q)o*UZ%L1|BptdKGV6#vkjjlpT;J6(xz2racN$ ztL8DHk{G1iW+;3eR4=knPhgG-uaW)Pi4@E!XoCW=>K(X%J0SUXc@{~mL``~7ORQ2x z&$MXtkKS4-L`5S;%I{+ zF(|r=3|Lv#g{i#_5aLq(rMsW@BeB3c%+6O2KzMjp>^?JFoi3H?C=`tXWK(<{W zstrdem2Br)Kcclrn=#<^hU@832I;TF@H^o; zX092@KvqT)cQQy^j6P~_W9eanFtD#iE>ugKnxc<{TpmC(vptxaxD?Q{V!{mCnK}20 zWf87oWUjUThS-_%V7Ig}@tOOzFY#}DlA1?z+Aw>wW&yjhH(O7`dbTRd#h=Uh^-Y`Q z7zan|=K~Dlhr8)@`BPWS?xvX?Pt$3qTrF>$C2{(C#Q7&zPCNSrEc7Xwj>ZJS6i0(> zi+UV*G8`P7%_mMz$EQmRd;b$3W)gF$Sk1fTdS3t3Xb44gv{9nfsBRwD^I01xn=*Es z8ofV+XS>vdG|0BkxCNOB-R69^xUSDT$C&gz!zSrIwZBtXKA6kt%%f@NcX^@kNA3~va$%ezgsPN>?38qw16~fucA5X$0HS5d0a(wcS z6Sb;pNBFW6CX?1tQs@h@j*s0sB9=+vvW|6YL?Sz+;Ol714#|nRW_%rUX=EvJe~PRl z)9mL{egR!cxT&^+xcI^FSr7NFk}>U8@gqBHEp&n<&<)$SwLWN>g+$vFX$T9Ai-5d> zD36;2u_t&F4A2mE^HBZ&Q8qH@33|mdk@r6vo zv1)SrSJS3XQnt*Ed3&ohY$F#PzKMVd7xPvPi~w(#Y{J!njV1=#9TL1*10S5RCFR+x z%bJT`Ds0p?Q9sPo_LYN-Q5;+KsFijfHuKx{WWN5kTyIv($MUklrh@EfZN`1oP5I>A zGm1m|>UMgql*gb|=s%n|0rwRC?gZXr%jyK&+dMi?=W@!_Z*)J8MfJ(Utv4!8QxG}8 zLeY96Cn|@qd>pV}kLhzTJUqZ%4A}tgBWON3W1nz7`H>fudw3MW-SoF|vRqxx7t`Bj z9rKs0c1re~_OJQ!+Yxpx+0XBO`|j?3^LR>1?|P`c?o%H!p1ajzPW=gJ zGG%`$*A*YH4_^rwp*xfbjnHu`~vh-fPwh^oVctxax7LB4;g6f0shcxR!q>pYi2SqHkIOML+l*M>C&@_w<1wqNU z1~?o{@u?Vx(u)Tfzo#ZV$eW+Fe&e9aR8)LbZZ>n6E1gD13)-#Eucmd1=3|R`Mo2f{ z{bwVa%WPIey_wG{D`fJv+newEDZP#JEGg`DHftF^znc6$zueql)iOfNr3Ff5gvL@C zf&*I%WQ2WzjAkf37e%XFgwP3u4B&6wJCGU|p<3fYj8J-=D3{;9NH0?HFXDwtl?wjG z_w&W2(0$BBC*q9su7+C437ePIo04hFMlg|0WFec#7uiJaWD`NMK?YzTo5)5s(Ll0^ z+{h-fl8vcGtV%YtQ+WVT#?q1SPpt8tTGOUkn3_eOrGZXoiJ{1EA|fVukb-nAbWF-=Y#qS|A}VBdS63OJRSBX_q3?>dVW_ z_%df?G3m^_%+lD07y^Xqrgu9}V2|D~k2z3UfH26UfJkZKnrhoR(Yn2ByNM9^C|Llc zBBz^WU5A+y!@F{IQC8Etlr0Bh!hVbg;^oiAeo)BWOIx!cr~7yY13`F^jsl1G7 z2lK_e4#!Sd9;c=f-5FzBNp$Sn_tN68+hHWeO5qs`Nr@LYNIdMcICZI29&?N*{pw5J zT;r#&|6_9T^Iv~?``ty;StE~fQa{;EvUeyg{(8CENDCh$#0m^`WdW$|q3gVae0yjl zS=)e)b2U9~l@XkQs8Nc)VF#BM3YFH=Sp@;2?16)eevVoZQTDMQ3D$-f8^?Xw`c%7- zn^pQjBNr9tYsN#xz6ZqE4T=6*wYvN7+t7#;-rLz}=9M+`%e0F%%7T&1R*uV7*8qh7 z8{+@z1OT^L)D;bG%hj|GMy+OJE;4Hu9sJkOBv6E<&*)fYMh7!HPOs6hyNS8?KGU~} zQS%U%HKQ9yFiQssy%PBRs$Abs7cF6OW$Cr)naSlwrelKQSMz11G(1u?FEp9REEBBq zfbxUlK}~jVXD`q?qmYBclWKFBVDhnt;#DS^;@_=_in)T!;F17wD5?sDy2Vr=OiYwn zx+P%^k2Fz+gu)pQRk^4k#ty~_l5t0>tssI=U1)oZRy7%|Yi=8+JH&LuLUuFI)Je2Z z&xtalj0Hm)pYp+tD>Z5Y9ICgqge^l4!*Qx@@rWT`JSvbvIeW@gR6%;e#;QgI{a7)I zCuy@PHEg=57O(5pWKNDGnIpat0G!KHN^T@T8`(pbRwD`NIbuQ31ZU`RtWgx=aja1^ zC`Zi9Ex{PkxYh0w!3{|()*t&rK5-EI&LOzMg@&IePw^2(p+xr!joye2wcoZpr3FE9 zM5)ijb!sbgP}vXjOL>l36r8d$>iuNNLB1xSz~C@1vX)x`oU%T6uYBS#7F+;*H3{PMWKW39_;%?Tpiv?mzJ)?fpAUt4R7-A- z@#isP^ooeP!q@6|ct5G1Qyu?(2m4;}Ri~io4U{VvF zE>72n=8<>&-|a!m2r^52`SGLy|FGDUtB+0SaXoO83nNTyM$dh9K(+bg)O@z_4Qc?R z7t;r_JH0AbQ{9(Gq=>p)Q4kX*4`cpJo_cJyqFg2qtv|U6-+fe)RAM{MGLSf>M=TBj zmQ_RrDiEvJw%22%Nlmrao9-(5^t`>8BqmwAoku?jw+t-M7XkI?WAajY^yyO3x0cs< zh8-cV{dxYYMWVJbA_Fsouf!6HXcFccCF>o~q#NEC#Q$rQ_{9s&ii7;2*Vs`x1xVwd&Qn?PZz5v(dMhpC?=6?nk4^I$~ zU5Sx!_lXUs$T%hgSR%fqmH?JhNDQBWykm((IJH@Ha3!hFr;VKV*yZ5 zRd6EbUO5i>k}^zp)rpv&Z!L=W%uy*+7&M`rJM{^`1l8Kb{FEsd_yHIjxU2Awy?NDmSc)lhg-C_L>YF=)%>Bn{IiqLmxQ-c}8r zs{IqFAWsm}(|rWu87jOTAhAU*UttZ!sS!w?MLH5G1ec0l=g=}M3c8Q+r6%jSQjuBR zV;)!gi!arhq&rmV#{{2wjthlua5WT21h9sxN(AbiQaTZCmx$#EtN~}rR(8=dgCSC6 zXKV_s!Tp8XU$JU+&95d+)h{`n)pc5-s?Y8;N4hOfwq1_2RN`!#9O?c=JI|4>2wcQD zhiZtno+cgIVzq~`aH!UM?6IRTM2*z7QbQ7{M+&LqwMJ4%>dDrmo)}0y@kQ#1JEwWb?i267ZI8jH4lC&u)Y4dTC zHcJ3_lXJmU@V~Vg4_M&8w5^EBY0x)Ds2etc#;9suxI|-w3($Zh8iSINxH}>wTP0G^ z6F`lh6HsDA1<*;M{!iVwj3KNQo)ub$j!lH4oe4Ges9epLO1z9#8IzY5{j9%(EKw#M zW`lu~IB26%^_Vc9d<-U`O+rj~5HzZivsRy>*pxsG*-G>VCQXwyX+j2g*%<98d0gLEe0VhkdQeYh*n%tByMJh+Z_PJ z2oc=A!0QAXbH%j;Tk$QtgmNf)1BVho7q}lm8p!|MPn{@mL95n z?dYB0jUe?{-=C}h%J0gdRI6jja&EWPv1F0eg)=a`1DEIosM^v11TDweD&1{ z6DmwUbfe|N{)aM7k)rkS!6F4!Z05nDxVGE;({yt)IiKHs=poL&K!T+sP7g}ev&`L8 zUXF#ibqEFWxt_Z&nTIZ*E$>fVz{gK$0Utdq;KYdnX^K7O1)TVxz=;zD(iD5t3y4zS z&QwlZtZJHP9>y@(GRbL$@NSiEmEe&YBO1Hx`&mgL=P0yI{CUe%cs#9ahyRZ z#Ue~yXrv#`>~`5x$k|B)p-AJR=OI1Fl*0G6`$H6~sn0=IGiLJL$4V}|t^QF~!f#bx z&#PTqeZQ(^|L5uA^0sVBmL~-Zk>r$|sySj5CpsEdmlf&Npg3S04ND0$EFDs8r2fx`&HNVC ze$+8y`cIc_Q(cjjABSpu+iE(-PaKz81Np@cRTi1Y9k=GvEf-o4r00aA3ZEvCNb*;M zk_Dr%b%@qvh8jCNX-j&62m*Oh1_^k3$tB=ydJhyYv-#Ona*)6CWMv(oQqn9&H*jT? za0x!^?_%=wi2OudIjBE)hQ>qGPqk+l!*80{^&iD3!+wh@O1S^Ac}$35_y|c*BGY(y zC0#@7Fz+%*<_}11?husbW?6xGW^$=C_n=@5qc9@tayy6}d0xAeKJu52O9)}MH8_wK zi358&!m{Mq5zCqNe>aoQGg8U~K;N!3>x=n+H!>#46O)=8N2Dt1SmqNBOb>4bm%pgX z%7k&Sqns|v^34^S*OUx_=Rzp!|v(#A1sp>N5;as z2?lnod|QWq&acZF#JHMYpN2tl=BK{MZXv)ZN|HE^1ZFY}{zF>raQkH#mmr8kV-ay( zTNj$@$v&@4>T756G&K)heyo@;4vCU z_v&)!gr7mHCLeVbnSJOxC2vxdvX3W)aeBidc8nzWNmpju>0_;YC1P&fbh%W8hz=0vFdV$=|nlnj4z>1m05Uz*jr++5t3 zeetl!y;>>1WNi|jXJiyjpsE}rr||83Rn9~c_sGL>0 z)W&*rV=E0KXl?N%g(4@C?SsgF=!>;;^SUO{>d#qOgJ0j4*Q>ItM?dTTL4?EDR>XH8 zjO}{|p`wjUP8!%qS>CPv5d+Hm!)~@?ySdJC-Dtq{u_)X(Rk3V$YgsG_$D5 zHAKV#uO-O>!uy?NG06@?2X;s<=?NaUt&INda@~#IBn1qkPqy%&sH1NN(~Ld_qu-66 zg+6&Y+bvP?MfQwT`e?bZ8S;dM@B%S&JGQ4&by zIau%Q1Q;GE&%BHX1UGgCvWA4*cca8Ck9AE*q*;M$8vaC)`u-ylMcdU)0Q9HY9@q&- z`&?BAz-I7RzF z3DyM_8Py;Od6_5f^0NBMG0Mwo@`$`F1)gVWTOAS`=EH1(OpN+T#jT5h`PHHjtY zZL|DkdO4pix-P64lIW92?_x58p7vETrAM^>D_lgp>F4%@<$SpL4BCxZOU+k|!;s7Mk|@iG{X#{SIxR*Y_*X zQ3NjYj(m6+Kh!d#ThjtDPanELnP!Lb^Ad0YDMXm9V1oOsv=pN)Reu-ILd zHZ*XZ=czNemoFUCw{AN>VaaLEqkH1fLR| zd9ShlDv{~TDPdk7^qy%?_!JB%H4poL`IdQA%4cum=pN1(daTGMB{^FnL- zC-+}odqB^l%DU!cS`VMG=g9%=aPa|jGjb}DHb9NhS`6~`)BGxXl7LAoQ6i<1Am+wc zEV_k+M7NO4W4917LIcvqSJSCWh(75ZcL>oxxPQ*IT?4mjM!)nu__E-c>N1DU$qWvW zmMgI!2>NglX7(jWA%x|;Pu;e3_tyOiU1c*vnO>PuHbuOU%DX#ahLET=PMGC^)I&j3 z>Y)_4P)SPNmJ|MBZrI76uf5@AC5bNGIU=0-?%5&y+QC|U7|`UOkAB@0IqnuCf8nHu z$VqYD)R(7LRJh%8D4ASz9wmiOfns6_BUn^2D$S8(QSJD)F6vE9c=xPH{@$@GYL{hY zG%q{7GdS7^-$MkQhO1%ZJIY1fIHF5U50Y^?-3?I@en?P#bGzhvT$Aia!nM5bZ>QI5 z*9P|gI2o=+b{{ZB0ns~lU(sN%egw{otuAT0RkHuiWQ20!bqNtj0k$zOtrA8=3{4p2 z{zODKys-czKFJ+R1?6kUt*{Q%PG__7wp>j`Oi=KGTOLT5t9Lx0o1~t=;5D>x>fBXY z9~{;~$nW5uwqrAK!ZfCx1|e**%6L`;tC=|(_*jhU+(Ya2V3;QD{-OTQ03;Th{u3zq z$XAb>t&a^&?BW6@(>lcnG_QTG?x|skdX-9dS8e#$o72A4Yw&tFd!Y9~uZtJNAe&h9 z?_xWm15Y_GxKxC>G$v7a37LNBvmGRo(J!#F+gugLQknXwdKK{ zG%G_QO+6zcf(-==!H*c>5@F#Ef?E1vntUVkhw|3$7;z{WxV!8N>0_UqI%497bsgz) zvze2@KIsv6w4Qa7YuhJgv3^p!1nrm=$T9xZ%vN=;8{V4~P7ygsc?3ER`Fwsiy)Ms} zSKoZNx++(vlbiCP-hj-^b*Yql-j{}H*fRUviMP3?R`cW!2($IlcY^0}-F~vqSPy5|` z@uSpKyN+Bk`sVMZ5AqYS(udoNuI!+;=>C^10Tz5FQqjVg=)oOk@g6D>Km0OXT-P@| zwtpcMW``y4tu{M+@~D*OZPJ!irhwHwsgI&Z_^?^-6Ru2gDc(x&pUTb6^0Hz$O<(l( zx9?ZWyFZr?r?2uXh=cm<*8i{nch&y!>b3ILV$@s1?xn%uRK!;cr*Q zOujwY=I#Ak!OBp;lu3jgs|j{wz!cnq);NlvHeI0|tpJ@Gw}}$YLFiV5I{sw&4MzG! zVj-FcxgJdiwZ;-c6o;d{YGzT~57X2Zpt(+AR(7@1BW7j#*g=ThZLuhu+4sT)kEW~5 zAWn)w0AE+ql_Z5Y+9?8{So0cW$giS+qGIr|V5+7JIw zV@kb}^!xm>K^MShZDqH#3T?C>NB8+?s90Y@bd1kuIVxTTS%sT&etok!+GW^rWR8vP z>oGZLnu9>focERp8I>5xiUTm@&$`3qq)w2q=Z-WAk6ftZ=og zVsw0wNZ-g#3bC>Z zcw>9$t;)eF#J*QS^(&C8&~?eKj?LTK>3aP`b)cq;S$W#zP=8+?$BLdVmv?R0b`aEu zmC~n$j-)=Up3^iy%Gfe-PWg$Et|8qH^dngCBbX{jknz<{2Oh!e>FsikD*68OI*Sa{ zBbtf?6yu6AUhjfMR7g|2gBr6V)H--V&tyu)H9aTm)}Nwh`P{+kdH!^@=BL=AzLi&3 zR+!0W|*HH31~5Lkak-^E$+Tnmf);IKaUXSXjEzs&N~$pcIfaI>===~~0Tb;X&T zkm|O@`70)l1?XJq)mG@1gMTece#PCyL(w07m?Zfpm<#aKbyq_+vdvBskHU#xm zONkizt4!Y_IAO&?Ng3TX%h^ELLZHzsM6V{Dr3@AYNV#c|1_7Q7oCbs1TCAJF;2C#f zfCd3p_BUL9=qd+DVu_xtA2CF~{~+vvr-%<8Dej!D35g>ftCU-xuUE4sQaWO}et!2a z1P=|c8fA!}QKej6Jpj=#?5l&Cneb}`?ZeXoVn_NEjoviXr)c-4DcdI5fg{~)a&lU) zg3PZb5=~4Hm$TfFG0-mIsAViPES}-itsH#q`NvINhVOiSHJz2SF@^cv8a z@bRrS=XcZlKb4zr9xpblIj60-s|TXc`RlWj2pmc^Eh`ktM}YN`tj_C6SqT}yf!dE< zE%@}1$q=WlXKmsYEoW$m37fU_0pcJx6C66Vj!sY7$;qQSpRcRs-IS|lSl!Q++_^5p zx79bQ7uFJF@F)2<+w~kdVsV56L%yUeUIvwhtcxX=x0UkrvHZ*OZKYqWrd`1zb3_LC zUhiVY1D$F@vx8G?C7UIjFr0jH&kfc9vQ_;=8&li_pckpq1 zw2AN)byp*~o8H%oM3U!dUg1M`F~crCwik==5Mk2&_zG+OF`0c>)hF+wj+|;vQW7hX z*s_}`5g83RX^ZA&Q*;%8Hd(jjPt$uKdbE93hhDFCH`#}VuJa6ObI)+VO__{{4KK*p z@WQFPgsd&dlMvk#*VXq+H@zXKQy5k82ua+qE|1;16eHIqWi)~$7RHDiJ@v}K^KGtv z%D@|?jED1<2~EoXead>s5aJU~2{6u zc|gjC1?ORM2`)hjZ$J((P9QYSg%$S_@Az!nH%IcD#lePS#*e$@%`x@n&$fMY!l9{@ z|1DE1=hY{CUDtm5OZAr~jk^&mVS&VQhy4D(v~r+-u6-m!LRCVL6D0Ez?XK3R!e^>o zZyhUq_Xt)9z*n_hPAFI*-7iOByHxl_8q**zV7YFsjx-J@rPG)H`$MJFDpd_aSu-CJ z^P#JmdN6s!64>4?=244T8sZ@zSsr@|`4HnXg)Gij<*b7d>j%()4}GRy<304(AD2xd zpGV~?KZnZi{QT`I0EA{p$7>C(TXnr!xQa-8TQo*%WIOYLg@sTp)pSf@KhWuz`qYPj zf|lAHJ_9bs1X~ysAA1V5vN8q>i}sOHUOFc~DYkB*hRQkm)kcPPx(Aie1)P(DSA(Io zRH4H`olAtUqFN1LKDngY4Bx;+*C*VIC8t%oU$kgkELgGE@K+mN*T zQwO^rjN0Vu4hx}fWy)s~*;$HwMsoTN&|_!`p(`@12tXCwFvxi9YL*bOt64Ebk?Eu; zs>#41V!F)jawh97Hf4NU#f5(VacM4&Xlz4<$Zx6Y@q`E2sjnfZnOgH7&Y)atrh@;e zHB#-Y=veijWAJgxt6w`d!<4z8v(kg#PB&9z>yi+WB9dosa;Hj;0GAv@?zF<5v+dgP z4rj_HvPBXLk{DQ-1+P$^Bt%)%BpFl|bsOH?*_oAjS3Y1&+O8}3Vb-Sa90b!I=kk&# zcUhm8W>V?V`n>kvI(#7Svhg2y`s+TH>-BOqj0?bR)kD_e1e7&Qc~!$GBobqza8Shp z)8VfNX6g)Wnno8SeA0yjJJIwm7y^9%{u>(wjn0?`A(G2ei{fgd zFT2Usw?&9AdwsrK&9CQ+=`Fmm@C^~|L3e6)yx~Fdz=R#lx2Qolr|jg5z8Q~D#*{rV zf2ZA`dbs~{Uj9C$>U`fR2Lkf!wRz*6aWCZY1Is(2V$7BGZOEbAIHg=63ma++OC1&G zrA1#bIHKK9_u2FTbFf@R&R;47>;uExDTHY%{cK+eIsg-2i4myeNZ8Z~l_bx(dF}%e z;vnSNA_=GRvYb%_Gk^n0yLY*o{@(n6v!OHU44$3vhSW$yFF#E8e2p>PGkmsUD5MV@ z0YH%#ZD|LSYLDI_B+7v{oH345h6$k#hgoo7wy*{D@T&fj-#Q4JcpD%So@liRmrkI{ z9q94&Z?HG3->7Nrvd7P~@XWz#&0E{<`VQ-{@<{;=c+p=ljH#wZgX-6sI95AZR|_7S zjH4N^Ke{VsCVk{^4SLE^`N9CUV*q?zo72w>ZK?^M1DA%ilJ?1 zo7}aaJA2j0ExQX^7yP?%LBsDH1dsF_du%vdFHG}bn5LVltSY_m;raUK51aM;QYgO( zlEFeKzx)!;A(;z@WVy&9iAj|?9+yMnrJh{#KGidzq2Y$wa%vr)+VO798f;coZQZC> znvE-F(_NE`x8bi0wO3{~gQ4;3$m7ikw?%gH$NmmET$i|C3|{VKiTf;+z`}|v{dK~(&#K67k~K}UpZK= z;dNnq;r#{TVfL7vWX()6XTGc5BaIafp+cjmh$tDfQ57;BP;-e^dUX}YNNC;L=w)O+Il-9p!`yFqC%>Q`zXjs zuFPDyvNYta9ZLO)LVQUq0GW)8G2u%JDPPi{x}m!V!th#7JMkd(pEwBi>f~Veq#+{b z?S(rZc2Cryx+uUbKmp`7Vo4xX=9`;?DxeQ|^A-h??X;-(E-fHe3z?{fOemJ#c$&3m zsbFbmubPMkow3=)oM-J3`Of|WIX(6r{cwLd-Bb$6d@*kdhrLUJ{FsXrue%z&lO)N* zSU+9s^AC$fMR%7h&(i9)zcTYZS$z+Z#J{KpP{qIIl3G>EgWoGIWCunlC2iRQCY&F^vklbjy~rpX$SKN?8m}`UG6Md4st~u9Eesj^YfNih&RmI4A@s zVZNB%ez+|An%m8J2o1$bDPq)aZcQI~EZR+Bvk*858On%)a-|k4=MZ`X%8Z=+DC(52JwK<&)Ps)m1Uy%q9aCJobEVr6=5e^o)(yp>{0QyuzkRq{iwiqOS za%9MXpOJo0KUIVJso%|z+RaRiDWVTWWR)d22_d|qensEJx7^gtO1g@!rrvjMgepnY zjHNj$R9om1T?~MNB(#u897y{qW|%O&vAAV|qNqQkON=s8jZtNSx8+q=kvBw&SZ_1C z7@tA}0-e<|h+qm-9Ykab@0Xj+@~-P5ZPMIaCSgg|=dY+3Qn{#Ao-Bz|Cl!F5yiuA4 z+1evU5$JYFccfsp(v&hiU-Y?iS&<+)PupyHaIXIzwi+KkKcE!SdN89EVYko-Y!!GO zbXJ)TURHq(5cN0O8(1Ai4=nbu<)UA{U^3!N_J*3oi7UQNK+2%u|kjgcb+_D3o|UH@k;MtNh_Iu zI0<(nBaqNuOAUD~%LU3xWz~QOIy6lj%U5ZC|A#Vhs(EMlT7AE`7QJ>_DBzVEfM?Y2 zBpM}yqnhV|Nh>GvOPR8qiUO{O6$HIY&@5ZiT$mtZdRmNB(E9~>TgP;?{L5r}oBF-w zbk%(^0b|wun3HkhMI0RPb1}JSp&c{CS#tYAn^ zTBE0)Ldv^8NwvXSbcGw|c~KG$JHmq4#X8a=53H%Zqkv6=#2F6JvK)AER9j8(V;Ziu ziqeL8cI0dVb_i+dQo|ua1*zCkkgsG?W%MN7{`WuB(6Bj8*R5v|p$XCWf>Sr7U85TH z%E1ZiG$ha|)ej?Rh<3x+wYzYL7OdqZ4eD$qY5JYM@Ztc&ZkNn z0??yfK(q&FTiwo0%p&bQBB1I;wHnu9KScCcJg7Wi-*dhj-AIjZx|rQ8S5V_Sd&Rri zzbjW4Wkv0mvKlzV;MrC!bo2#C_tl7ucqix#iR=;!_tSK9Gx@&K)_<8UE|+(cRr5#nkFHL08X%5& zMr-Fh&BU@H^ltXbE}?%V5vjoo7ohs!5%vlS1Z;`wum4yOK3^Vp4uobK>PkrHgZlQ-0@1Px+l6IpueL)Rf=( z5%bc6z{q8eRZl+#n73n@@*S~qN21-43{%ff`=NY!;ANb^Xk#&2A3&8^8z1DL9oh_C z+5#w*dh)43pq}QWzl4Y3 zv8|P^{jZ&-Qi-Re+FaeTBB8)BzO2@@+fL2$yLOHgM4-;5)gg(AMpNTrJEWo2SLgpH^(WV`I-uAgewSG86RQbQV zu70k|sMkn;oe+LgCy2|YfP;m)twCV?#KD>c{vh?{CnVS-8LHMpzVV{gAF)~w)pt}O z34z$SuTESYF3mzLhbNSz1=B8Zt%j(z4&Y2fqOC>BF^%iT&J&2G2}If@J^?(*j3sn? zC6EwcnE(+sAwkBI%kBvFCRJZuobfW_UHi=h8U#Lt5o7?mFp4u+9JG!b?1WLBYk&%) zz!idW7e+r)NYp4{q-#pvg%SM3!3v{o{KfkhWDZ#Wi#Xe7#)7&*b&O#e1WwhQ!jrE~ zq%e8U4pju75;9U9_@aE+bR>niS7cd9M4TltBYmDiBHE%BNki-nwpetg11wj83M%eE z|JVKw)jeW|>;hFzI>K~VR3kS~n;Tva7kUoNLU+CdlIV+gL9UdjGMEl3$aPl@>93pl zEh_oI_zdw>ck@M4kW1+k?d%2JR_r-^=#vzF9)qRqat(5y=PA(kB8&{y6c%`Ud$nH4 z(Y6#*jp`^Png43Yr1j-m(*WKW=?}`g_0|PJBQBb2(w(Mo@;D9hz)8AQjgCJ;YzN+XXC+K%*%zB=m5G|JK%xX_OzaE&WwznIL*bQfgUwAew zy*VOdS{%^HQ!uz)Ent~PFZkPD4Hj&Zn#8EcRzqB?D%<5Y5_M(GCC3e-in4|1U{ICF z(g1M|ITal@=lQZc4oS?T*C z3@zp zcI^gDTHb|bqkQOKwHn`cIdT@fM7-Pi&#~%EpR6(@`0e~^(!OCbIt6OFGW7?Brl|G; zs5UgygWo;>xS77cEzjpy(^(0YzS_Y1ADfjE!5Wp%&-J+vRWS_magpM(H7`Y*Q>CZ27{pwU&ZX-aQa zL6c@i1LxAw+DSVbc{IH3VKbcW=StvQm*Ly$6DM7{nSo#ApKRA}+;|BccNYaEXs(8I zSWB1?!@20MMzvQP8Jk*%1arZQKdCAbsZ`B=9)d*Qu*>psPMpX}9lU zowD@>Pr7SATWl}2GhPG;E_?!X?^^7BuZ04oH}Aj8 z7^ATBvW@>Zldkq#(5B>laFi?I(fT7W$WTWHrDZxs`3IpqrexW zIeyn+?=8i(6xcsHx;-RbS+dbA{ybe=-j*vTK07=to9wj7T7*X)#KhDVN828F-5HT# z4u}lv5gBEPUZ3$$Jmg@2MqFxt9A-df7$gN`GSo&vgoarW8lHT_%tX-4aNyi1q=w;0 z4Rb(hEMK%BHE!b-g45WuDBFfrUwTX+wMPq0va5<>zLU93+x0=6?yfMFnuIKZRnGwrnMUOeK-F~R3<4S8Z*jI%x^d4s(YYt z=Jc0+AE=Ia6;(09xqT$Ky%ZTG6HpP6 zBreWyj};_&8VrOpQQgSUgj3Cz?(6T2v6q8dEm4C12e2S~Z*}gIg;HQ;%9&3Nm`@l; z+$WH@PhCBGEc!`?R^G^52cL}}hJ(NRV0q0*1XNaKUe36oWJG0L-E>yf=qgv;!GBUO z_>C~OLekhO=+N}-yx=#qku}~8ej}`_5V5X|li7hA-26eCZRIlBCvbw>xdSF85|IBJ z20}`JV6-|g4M+(lO9{4nDPf=4?o?FyI|m^>93+Jd#zEk$@o@xE@jNBP(}a1sL7}qW zXN!Yx-)y9hF08p6Vo5j9FlDl47+EyK4sph_{=x7D2BO;M>4y#2zq5b$xKqH3&1rM2 zJfJIVo}@X_GUON-guXGgf4#`_fnhZ3;U3}2PAwmPzEXU_>`W{p*NWjH>&c+v>Q@zg zJaGvdrXr>n_qX#|*&?O^hL}1m9K*3mCbWM(XYG1;0vaet>S2}%=w0o5A(BQdjo3u5 zK-yi4w-at2Z#awWZX70JY@9?FFnI|2w1-i`3(KT^CphW*48^Qbvv%gu(YD1po)9f-OvMOm6YikS1j4#H66XRj53-KySWHaO zthl!)4@fhwA)XI76R+kZeDVGjNAfJHS$xm)JU)&7H|WGZ?>uNKXq*liZMTp+Sw^QY zkIb>&buSGN}h-Y(Fq(x7J-^Z%B^yoM($`%LvE z*rc9x5Jdr6QZb6Ctb-`?B=q{hnUag{u2J!aCvkfcf$GZ-R?BsD_;0243i57>d&gn+ zJZ0@+r6*Wr4H0OK_6voP*19wi;m-Z}cxX;WULbkBsYC7EB#%fJR4M|aEU{Tsam0xC zn3aR}=zNVoo`i{9c#$sV_zxv{z#+F|(k!z%xnrl>%$uMN-RH+{pOG3FZu?Bv>=*lN zi@`gdeQwv;ywRMgRzl{_^UeF^Lnmc2XCJ?^#v-R#En_V-4!VrBCp|+K61sUE1X3l> zjF%FLQo_EDQr9jzHdRB6Z;+L(Ps^*Kp}+pvdqWfW8PUF-|g1j8H1bqV3q1CpTBUry|^QKKKJzQX8~>Bveh|{ZRV#OpBBqmbtdgV) zcPX+W(T~mg{BFMZkM4R-T>sDJdLD%6_36WZbk~u>C(ZT#dG!6W_98>h^!ohjp}&ll zbzgNC(HCDm^p^|la)Uj!H{=m^Lkn88cNE^MHV@8c8ZAmv3~+dy0SWEwbyoC0-UqbNCl%Iu5giE}#K zNEfAnaHGPi>;vTZ?h}p>GE3;UQ26AjbOmxqa0T*4@UzSny9>}q3WwZmI)BkN8%p8F ztdeCijr-R315DwE%wJj@$oAplq{QOz7i~pMdt04?U?0d7uFK84`9paNCvgVJ;|wkb z=?~c|iXx+ox7uOz{lla>LT&hOhB#M1uVly!v|HLRUvN$cp&?5CFx6%gy_1=#*Col5 z#4g(=6-blf{6o8?pA@HWVp5<)h-#|=2+m}z8Q2({)byd76w=iiP6}{7a#EI^$^tQ| zgq~Dlnv}wTx1JPd+GBSr1GPBlpcrN<;jhY$72tOn*8p-k`bcn2*j-iPry7n8+3IJS zbd)tSg$1if5vEqAs18%e;}+r&j$0Cv$hd{9w2xbot1jclE@CC|NY9^i&He;N|V* zL1HMh0zuo|4%@=erY{^76zv)y!mTvrcX*WaOZ>2?mjG+mFL7q7wy^2-E9G~fEh$&H zCaFEa^+M%}#9EYVGD{hW>Elr3u|oR$cMcPB%iTkKGhN@%YLI|bI?q#m=)bMjX|b-h zbb9;e>gmo0mD=#+mWL?$CN?;k(G5{Rg~GA^PLS3zrgoTtqLDNPP`ofNc;+6_mNgEC zr0*KUM>j4v=cUzK;6-rYA2=$x;T{NMI500cZX|-ks2}Yj z>?MFy<4QFSB%5|rXn9;4lUQuI1`l)Vv$vR{VJ2B0G7cZogVI^54Lv7Dl8K?q4`}7; zHDfOw!K3ZRP-oR~n!$`S5e6O=R74{46m5cxb5PugRX%%)Krwvhs2I7c0nnVZkrCnz zsSg(*-#<(?%O4h-i<|k?ro3#?@bo2*d`up>AzV*Nb5@xctvPZgHb!wIwpQarF)a7M z0#R2iBT$FJkqy1CcINY|`9pb$av?Z4jQvcj9~UzJA*SSq=@2hJSWYu8oz(&*z8rk~ z;CHyFd`GC<5ovcs${n$GN37hDXm=!gHRqjTkcZjrSR^vx2@djITIR16fC6Z;#>Ac; zWDq>vc)OJNS`(7-ZaICjrYhs@B7C|gFY~RB;MN4*x#X01vsVosUN0VnVvsHwpGXGsk%JXYPG|-qu9}~a2a!q+ zs_tBqv|ZP|x?L{27A@J)#(3`<8tE8^?0g%jc}fedGl7B?Q0L^S7HNp&A^+6DZTX&3yaB7QP1;;Y-tBdhv=&lqR7*(lH)Wr&8ei7V_`35d!;#Z zYiuP`nJ5vRqJUUhZMe4VBuNQ&;)&;vUG?>q=)V4O`V$IQO) zoNal|7cV@=56=-qsq>ubN1W#n<@giVF7-B^GhYngIcg}n51u35dE7i_{o#EF^1Z-b zTl1VZGS3-!(!f?|CoPMit-v^95E8;YbghQH?Wwxp?d>EnsL-O@G*o4KG@#Sy&*)W`S9)h>Z-jVLTB+PZitbL?EQy-j6lf; zZ@WZ_*Wr+)4r&hiKb@I?{a<}w#}G~TG&B!|n{<`RL_P}R)|+O*sJoK#Y}h;0+` zgsOZVzoX(Pzfq6NupN!IE9&86M+Mt?qf-6A9Zl(6bFibPT=Stjswz}^4xPN`U!5du zM@0Yc$lHO2{iF<65)Ud+SX!a-i#9WI@gVr+NjV@J-LWH7}hD2tcy#glW`4TCVI zg%CqfA~n<$c)t-1gb}NwfvkyS5d9-K90+U2!N7(*@f6sg3~_i4hOus<&j<$MLk9sO zZWGF@5x8<)(tD6=T!L!XfR2G&Y`=AX`D>5ur1OSMFDHFJ zC*4+-$@@v?JFcJfFwd})&I-b9%nDy!cGku!-pJ7HCtYbZ=If;M*B;wRFE224V zFge;V)%AJ31(k8c0<MvEvGHLSKY%uj;r zt|cN-=G&lZ(+bVO1SSIpN`0CQK{6GB);_Hvh+@~3ga5WJuht%ZbB$H#R_B-6;%8zR zv>VzIXkxJ14Us~F;1U{fA$bQfChD821L z#ftp(#AwE6$k}R6R(*XjyIHQN9vRXseYePvUVac_6oWDat*aL}jr&R0vWjeYa*tPR z-%QsR-I9iA6jyyix3m!|+LyPN|Es%>hG13K|J+^2!^En2cO!_=0ISusTK@Ki1dZXU z-_Q*)K|cZBkm6xtR4aT<6qk4ehtq)WDaPb$Pj%DvJ7ms)rOJjF*J;9 zJnsE7Z5w1-?FnhUM`M~UE0i6>3blT9d5P3mPq0L$U{6JEp!JC{2arUx!8($AtSo0ai_ z7Vva8;)sf(#1IHWXN_Tp647>0XojK&caTF_6Hz}WQsWT8nwa7cRWo5E@jA28keG>x z_l@XAHxb?FW`z7Z09H!%d%{_%-a89PXpnemA0YkI%vA4Vr)bBYtE7i<)6}8`nq>QS z+|;1sIC0Y~5Ex*jwgUp()YJ}W5I0S;LEN-@LX3~@!4y$Fm_Woj2-^lx&w5{~uG-bf zA5Q4DJ=;YwA%{uOf|F^5CTvlL0~=yEFx_xq&~RXmrd33@yogMum4fByHmh{Q8^svo z<5nOa{Wa1JpPz)%lPVa5TFy0v?5g)5>ac_yivSk_3c?g3!rn95CvH*{i$16;b;35m{t(haoO39(dBK_WYp|g>OKI zx*o#8q%cSp<-F8pk&_`D;h?s14j~-%7!6?@O~7OuAKeCWoV~hVE$^4BO;bnO7}udk z0(p+@fFC&6_>SiMjqExhAz#Qfj%BJTXu$r{FL4>IUlItp+DZxU%`L8__{5QUY&zAmR^3qtH_XFeGtN8KukS%-W)3nSf957 zBE%x@_FpM+7tvRCCEdkMm?WT>4vF=ffFZc>1A2$lw>O>7c^%^jnF4pH1lq5b0E{FR zUKZMAy^Y6O?M{t#v~GX@hmxG_(3PY~ofKDe^g%_Bl4A&VT9tLhw~P6Im$Ku6b}~6s z{OQKKS>AW-7lB_5E@lnWVzEL3{r#&VLU!H~xbTOhcqPek zD_##Tiq{~;>$be=4c}pL)Ijs%v~1J7(9oPi)4cT1oTF5{lI$Q9FD@f>#Vd|8T=5DB zlqw9;-B)@b6)zTk+zo!KdQIU8cvXcYV^Tl?PKEswbbC6|ZVlLYUaJ zsyzymh;HZWqV9SUCj8v%?((4aY;cE1!s{JSy=Itmvl*Kx8E(QW5g(oe34iM+DMz-F z7w?yw&GN2gO3{nZcqT$4aupiU5TOwb5gL&$G$JT8qOn3_dsBR@C`dtm$sR?4e57>` zco;^Y%U>3WTCap{5qm3t(+@UFC)CkgRpp>^5E&YJ;S&?g1@@- z)=EJZp2~%o0~gZcbY5hJU1sRrOSXt%k`E!m!Gk8`wd3GP!8v$DsPu8fi!(Y=eFq#bu?&gd6-SmEP zU2cB3n_ky^H3_1S9jk=gp|vBJ`TS}!Zx(A%Pyohd=2z2M3CGyd-$|cLSe?Gr=DgaV zN@M)y@nW-@^I9}L3w+fKTJ%Sfn*jzJ!zjg2UwO@&L6~&`nCBr&pQH)S} zT`w2<7jTe5#eJ0VrNhgm|~c0vCz(R@ha$^$qsby_qw z92NnJMVLAaf1psyZUhqF4k zvpT!LsfWv(0kV>NPAhLSuYJ(lym=(3U48 zqx%GGW`c(_+EJ3=HOJ1n-28jR{X5_pnG=w!^2=$PhzMN-J>s_ujU#NjU?L5_dxbFikHn5qoKLY?*qJzHYejX(cwUmaFfkvzy6$aof!0T^7fIQ;CK~ ztD3Agv)g4q)w5d4fPNL$uPfpJ4nnO?;5rD_4MN^m&49ltZ|}?1dNN(DrjOrui_paQ zGQ=qwX-~{=E6uBWpm3(tcAl4io-QtLt9L2ZKTfM4l33zH%6Swq(sZFbYn?oN1fe_v ziX(^$Cu$65$VWiOaIR>!G(@??6%0+a%!@#1mT|y)cGQkc)V$AzTlZ^Jp=<|+sgv`& z>+0v&V#>kgWpL$KAFfaB$&P0z@t9=?@C+CSR!5ak*cZq%Z zWy5yv!8eC62YjE9KIH|lI~nkX3FZ(6k~d7^4w0o#xrsfrL&Mm^jm#DBx%lA<_`45+ zD-5?WWu@ZfP?{mRn^rZMn2iTDG7RX`-RT?%*;OlX|6?;qp-Z}hcio_0y*}fyxrly} zn61^(uwVam7vK+@Ckg@bmo`%xHW?i@BvHfm=Zf!Lm*Ly$3%xge*as~rqtj?zK*lXy zKSsuY1Vuz3Wu~t7rFSq7nH1F~Nr74@>|6>Mr?e9lQU1iS$OPG9=hk(Das|;dRn?v* zPQeW1{I6z19rXyQypAt z)?VG*bN@XxB1pG}sZ9KOraeagTJ|xvTl?lvvi@ zI0^-Ur-KMwi>NabINgbgY-&))D)uUJ%dalV&16;9A#bh7k^53Pu3h47?Gij`SE*&~ z;LuD#TMDK&Pyx-7s0J#AK4CrY9!2q}AT+}#pH8u#!+vUbYroQBu%jA*36L zhL%R6Km!nZv|!GtZcPQQARDAVkM7P$&CJLb{50cpW4B~ChL%${ORq15&NO;LWZIy< zuKn4R8-Fne6QJ>BS+TUpHq^vAl7# z1hiE$*x=n_%BG}N^byL>iXmT?4?ka>0vXsUusDcD*G2lOqJAGLj1#ytaP>5-$$j+* zeWKGo?mw(=y74Di=wq9jte__&T$U(XLh{yPP?;$NvJ@2J$e}2eiz~aut&|(ep)t^v z;b8Una$cgJcs6p?mq@Hn)^xsDcMEv5Jup6Hx#+~y2#JV_1ZEQnbhsW63EMF}mGJab zF$S#&CIWivdh;0P%b7pU*N<*%_NPvBS3FSt&cQN5kBmzN7M~~Y+7oAT!%PT7$Eg%~ z&*caN#6#4Wk(xAy)PNMcpboDezzB8}dSpj*@K|3_XW&uUAsbRZbv&Gi3^zfN3!f*i zIjk5F-P!U@HC1BIl$gD$B)WGKsS! zwzPyGUxpwnnsLngN%RG45?A!#s}l=)z^m-&6?szP-gH!33rklE=PhW<#QEBT?rqOy z6VRS+E;W=eYeaE=+*XX?Kj8a~2GrxI_x~sMe({Em?|keU667P(EeLj#iNyRdC6@GI z_VuoZbuFm@%`ipifEuMIhG|PwhQsWesd+v^B9=f6brQp*BArOi(05D%jfsgHAKh-ex}9Ek zR*$JFL|-eW)<%=DnO(vQuPv5nf1}3Qh{d8qZLkqL*Rdc6{DvB=(8cJ`6)JLt+K1ce zW1Xy3Uov~%Z|7I#`hL1-?==BxJF%0OeZas9wUu}O{r8o9JiFbErA`}Qnt7hZFu5zu zL_Z`57)o8c1Li5}z+#`DHH84MkOQ)8ji;~!)0<)ZIO_uxWV_@JG zzoJ98_Ad}O?}nKiP0>&dka(Ua{Y9gaHL93)svLzzh58wMX;l2I=sYq@Q&gkMDUB-k zrcn*=1gxTvzL+3??LjcX!_ugF82zPN*Pb*g2bY##jf(HM&Mnd)Mm4I8(x@_T8Wqhg zenp3F*Qof-J7FgIVRV9W*QkUi>Uo~@qtU3OBzdnLi4etPx=W}>ketqHV%SDBVS?2J z6sz&ob7wjn>QTM8o_L9P?LqJoSH)y2g@eyId!B4)?+VBCsUaM(<2n}z(*jjEsB~bK zj;PH&lneZd4&AD7h?{rAB(j5G5(5+t9-;F*Px_0(fhrukL_!3~>8vIwQdHqch!_Bt z`icRV4o5=N=r&)xgunJ6c*)Z!9Q~Y==gEfluW&py!Xb8C;{s6;1*pQ2!~_>e(%o}` zU(uo46%Ky$ZkR-J5KO{d;SiC_&-0|eC>)r=@o|?3hafqf)nrMADjYFUZki>5Csy-u zIKrVu{d?ji;qIa;sWvRxxlaJ(CrEbzj-%I z;%K5`@8*m7-SmDkU(9YlT=tbLChw9U3XfL#sLLcwZ=3F{L6{wJjqdjQ0{?7br(k>N4u4C!3pci9%o$AHdMaiCErL2_>jO~lg zPF^)bdDRU9?V}jNK8nZy{?@$%>7p2_T@=L#rPuMsE!~UsK8XJ!UZ^xep^P~z(ZCGICEfhPzVfZ+rswiA>LJVA-u2}&GJ zP)t_WNVF4VtFl2w=!bP_o9-6Ucx!(t1o8Ho-^UaqkpiP%U6X`2TXjl!v+^;p_l30g zcd$rP{|s6Nq~Hg}Rt6*|)-kWORcT-uac9=9xWp=)$^|iAwJ1f5cxmrgdx+mJSC{4L zf7R2+_K7jeS?+G|aG1L{Ri_z@$#|x#C&0#HBl(;3F63-?uP_|${H0#j1i)WE*bM8st#UM z(PeIQQDrN4vm;TJ9fPQ9YuQP%N-f1BWEEYC=S5b%$f{k)Dv(#Iwh=>w6{Gu!jgeLm z!N43DJ?yh87uCXC)HHk9m-kAdES8GO322fDXmVcPt)P>*DcKQi^8iY&Hfr@otUax^ zV>eQ%M5GvvO7oYf(@LB&ZT2sssnU@s?KGJNf+kg<0U=3iZO0xXK%j%Ld4?-Z+V!Zp z&dF4}-ZVs&nJJ+#rJy8^0g0fYh;1EcMhF#w(P4L$7iOMy8%9Y>w=^o*eY<>zIofo7OJ6;FIX5KA#6e3=T_4&NJm|z$GtGyU8{o?-p z7ajAL?}(H;V(pH2hz~?wyuN%Uwsu{?Q;1eWL#d$?em{^G=KAKc!bL@au!^9#kAP78 z!N-O-jMLh$tHc3k9}=_Y_nT)AD~lh<^r>F;$mp-j&Aa(SdE1Tu4DR|FTm;8bF8`vo zAotcno@|MmoWS@b20xxjmqK~K;xsh&Ykl~nkyDm&#_f)rG;<}>rT=~;ze~^~{(VL| zw1DL!?@NI%wuc>OL_0$1)obzUW@Gw}z-j-N;*7seoIkC*AUqA^Nj$Ai(HH2l+08|M zzr+%_wa7^>M7tp-#3(Ut>1C7>+tx>^b;r~|U=KPzscGmXC*v5Z`2{ZxOjJCHT%&Ub zDEZoGF-3p9{IHtUS1!wSwR+R~`RZSF$W0yRyQbBB3wYp5ebD1%owOtj9-?&uiIO4G#IM7 zrQ$o?Ed?49Rez`joa>w705wYZvNpG%qgk~VBh+r0wHITASy$};@}awoKFf(RP7t%F znq&8Lf=+MI+NyDiynFv9lViwN9Y#5seOT38^kP;nnqCcg5-Y6_6#Oh^G*AujGa8>> zwZfkRn)OcnG`$DdutucLUAUD;&AP+EG~||$=-;ZfI5itYEemLX;Pct4oNmffcBV8@ zA`A!)cVFmXbsXvL)y+s>bj$Ot^zVANB70_e9Qs|b#?}K~QZcCIs((ocU((&FsDp)D z19V|K)ugtb{G}z{Nu`QR|J<0g%^?aiq<;dzWrGq=H~Wi zhLr%F(7-ULxq=uHx@jOY#xu)ik@W!PzDwAOdq8<+4~(OG!wUu zt3m0e-z9UZQd-e~0$i-97q~dtRj5zj z({=jzm-1oL^>lry|GL*Goa&B5yCd0a0fpY){jv|h9co35#(aTbv%1dNzu_b1CqRqJ z`TX;f|GK+Bso3m?ih!rLt8#kzcrssfg34vr3@MWy*jQkOF*?HtqN^=*)Ni&P zN7O12lS-xf?(Tl`C@WPIJQOx71_2@n891&N4!)3fbxf`qVpn4YJu3F~OJf<-ZJv$r zl6fG>keDX{c(nn%>&Z9OO0~!8LJX)mVObtdK8A9X{-BAZY7PLEAe8oDH%?>1^M+F0 zm`h>cev0M|)o~81AVmld8u|XK&mJ^S(rz<19mulfycs=uhi&7e;!dpJVMc= zNPGZz*H5jMx0Mlmdplpd$$+RwXk-YU3^$}C}Un<27mQ({EG!vde7OIhMb&K<5 zr6tc7>-%!nXrl>lut{J$YD^}_bV3|wNg42XsoBl|W-(Y7@V}5%( zU9W#wR95q1Rvn-2z)*)Js}BoBJ324WU!(Si&vJ`@P^eWJn5-@;z>#b9Rl5}RmlEv~ zhrJ^0Qqo@viJcN@=}gVp1_zx^+IBqC@bKv<_x2?K72`?=RMIqqHAf@f^)bl^L?tPF zl^*T}XDA1_X)o8-*w2fL*{Uq-IL2vhHE+tx?uHJTYX1Js@&SQa@Wt?2CQNzvvj$mq z8Ufh+lvtpJL9FUn5r@XV_`Y2IeD!YnVO=&LRG1cMjNW~HM=cwho3h{_W8#hnz;KeN zw#u_+Jys{w$fk_o)xHQlCDbIK;!lEdQ|_-Eh|*iMv&iBra?@Da)o2-Oy|8gHOjQBT zYwMZB{&f@<;F@0&2+dC`bHkU6*86a6V#Q~tD-%|we=71ehK7K+@7mXmq^>w}yM5_E zO%r>OwvQ>|fW`L_GfUwbqPxA)iJ;!;nA&KeIMRCKP_=Q|&z{`p(~k4)&RbZ;@XBbe4=lB5{< z)tP(sYkq7@oQ?>sXca+(wzWWpOe~F|l#Ek^zVqbkA1?08^0J$H=y&Q7E^Vt{77d2> z_GY@8&Nk($JO8Qm`xHlxtPG%_hSter1Yv*lFk=Mmc)Y3D)`TcD zMWrz_&JJSzkTb*LvVe|rcPPnXiqy9faSc^;)KmDQUS)oajzI+Tqhb*8DA#R4oIz%+ zhVA5G5eaA~4P;NRE~%T%eux^pPk>(|pYe?p$5h5i-{bt^*Mt3CkIQ zLT(H34Ep4=Mt*Qkrre}4!Gnd5oGtTXg^-Q`^YMw-409P`aVWql+W^CRssvVQH(yV*j&C=(+1p z%OWw}9WyQDy9cSa4P!^D&*oSe(fa&u`cRW{EePK=Ih&I#ECTOUR1bqADOhM*zf=H)Z);`Q&QeS4>r~#P~%ZSIfo5;vWRfIsz#tWQ%4cL6^YtN{rRm zu_S<*Daa`P2494g1O9HpvC4sGXNesdWb&s;vxr7dx+Dfh#GWT{7KBE~mXo{*}Xe?fwL>L4V@DE>}FAiVJS1A<(to!NBxUYL4{ z0o3-~G$)+;PEO%@5|js$p|193aSGJlP&npd3f+l)GOBhMTkE_?w9if<9Qe6|;8jk5 z^DzE}#7sX=F6JX*;XpazplF018FCCp09@8G2*DQLm`8A58Dk9>lHTeoq}M$=hKyd0 zBa?dSicM`BpzA)7h?<7TJW+#U#Wd)c*j>sqge~b(EruS~FcnfQBDC+O8J{<)<{ER- zpD0%`N2amtQrICMJqVFEGVsI+q%lOIAFB+kPVaIvy=}uMV>I7$-d#j`LmZ+V;Dq%k za|S{K&epm6TT}Itgor3?o+vMbVe@i?y{X`ZY`W~Nxtdnl3dw1Zb^(qer`<^3Ejrnj zA}OpnE!%RDR-^2gD&#=)z8burb80Zv53cWoWxl%=$HjLusS98@V40)_nau+CiHY_C zYB?h&#J90p@Ey`T?X;h9pFQH%)?5@kPw8W+>8av$LQ0p;EPuw*`b*YR5L(<43^WJ} zz3XqBK+PoN?ZEN^S4;|@u@uNiN8^LmWUUM)V|`|>`E3e)pyumf-bk|q=AuLNZ#1=C`nbjE;nEEs&Hy# z$be#>ni1_-rxNOeI>AZd9eVjqpvy{6()uhCoP#eoi%J8P@AX!YR4dCWzAcjvRI@a~LR2kW*OHY=%lZ;$ z4X!U=+t9qWbZAmt9ro4V|Nd$)aUq1YvQ${@Rm>hHv$iWphAbDBo=xu|N^yn-j(c{N zI9j01!Y*D3W|IzLWyImawjiapfUdUNJf>`c)}jaN7-3#et*MiB(})(-D8rQPDZ1Zw z&oFbb_W7{#&;yw(8&n9ETFP(`e+kgt>I#1tm^-L}AypTk%M@W19sp55uD>t=xqZlp zr08n4VH_7A1TiVNZO9m59J0uF(8z_+AKMP7=>+8zKZ3v=I|?6>zVu=X`m_b5qp+i# zCKd5JUL){+Reo$HQmt1W#u&_A_Ln2XN~}nBe)&^HdhIPS@`e{f^2LzsU+Tw@)QJ`~ z;pEcYuz!Q&;(5_4=9+eSrt&QTeG781!{Aj22SX4nh`dw4?KY~ zW^p{hY@)g>DAgl6BYB)u;n8trG$6su6LOj#Qo55i&CnxLAe120tk;<}uvu%AyIVNj!>!hDxUx@Df2G!>~Awdr2(E1MmS%JKZIo!is~L$h<6w z>L`p2DmdtXdQ`*nhIwdlD?36wz;|Bo4hOtL;ik$}aEO#E$~oT^0D@GSKUNUrQ;oJC zgkac%>>=w_MkG|(rYUr7D1Kkbf$x_q-YzD_+D!3s=W@3JDLO35>GBCcfQ&484vQBy z`LaN9b_mz6L)(9vK6LGG8}2qTMBmV-Dau9B_rr*8$4)=ebtwdyT8T&~rKIE@0^0Ao zy|YS6va!Yvq$TpLqmr1r40K1%+p&tBK036>kl^-D8Z(zb#p)E1$OME)G%3*|0$o{z zmL^72MTiYm5n^9e5n@;sp=CLyq6jf8ihvB_Z{R&hO@!E16Cu`XBJ?jKOCrQ>B@tqK zNd%FsrN*(xT1f<3JUfnD>UELA9^bKa2$5*>{=>S*nS=g$3}Qk>dj>RyN+GJH+&2y6 zUNNqO#bGqO)KrGIr^tj70nA`+*@YgZM%ia7hE6Uw88rVI^(|mnI;lk-aE6MQ{MJQS z@J7?{ng@21LU!X&gvHQ(+NlUjYGXL*m?A8x8^=lQ97ib7YA?4`<2ZCrHv(1W?u|d9 z5VC{mA!jN>E`wWWzqh>l1j!F;wF&q9u9hvX8gJ?wPl03%fc`@cbG0|j7?TE%iGdgQa zG>v|G?*h*rV{(9pCX2BH^gGnh6k$!3iv%5>)GmrbPMf-CJIZOmL}U>yr?k}!MNet# z*v!C`HoNd|F%iS^=~DT{1~@_+0Cd_?yXNUOfT??)Nva5m?A8_#m#~OH_6w#Vmur^f`eMnhILGf@vgZx&tr``PNZ^Y5Q_NHHv{#>SZHn(VWXlNO*NW zp;q+q!hfrBUGax{rJ^7}YFN}L-Fnl^wql%J-K6?vhE(xLzrR_iMc!Mo-VxR|5;hiA7-@zv(T$Qsz5V`u1AI6fUJ0les`R;*?HR679; z@EL7zT2yZXbsPi~pvNzUYW2tP4<-k-h>k>QJMt(Q!|OknNTUk7}_nfKWaYQ zNR$XdG89!(!MG@7kEVsIzt*z!3FTn_u^~2N?^SpZ6+h_UfWHTiM9jsN@ z1k}f)aT7XJQ*+vnCaOK;64Pl0zyaZw5&$V3!vu^pW&k76DBq~x_1KBSgnH8Oup|Q_ z0+~9%33-62pv>_Hc+erFb|Q2-?fX2ypk2BO4}t?s!-JOi^+c6x8WI@`*K zp#`}pAm2pK>=o2K8xOyuP@>)gJkA)5VXa$hbtNvcK;Z5%EX>U05*Nu< zz`Ha|6nbytScMoO3LzQ-kbHse=qH{H)-DsKa*<>Y)O|g7QLh7#2)QIHBFYUaPf-zj zctE|N_9{Mhyg_OE=Z>l48(fs{l`q)M?RvU0xt~aaYV;jSmr!OktwppwA zGB*jVd1y&s^$`E-w99(!nJ|alSUC40dY`gE%~-mjO&?L#)eUV}{}rcM`ej{CpL}vY z=5YS&wEyL8Ihilk_vNffoJsQHh|}Ar>#tYUiJGKo5g-wu^$nfdySWE1KKonwxNfgU z=sVVn`Tc#}RKx>k*RcVRp>+!5VkJeRp@ic|0YJy!yrc%<5Ce6FJ*F zo}LsN$KEgHy5g$!X=FVZAboAp62RN#;-kD+4aaPst}fPpT%Jlivm;26io;WO_}D%> zdG!kJmMvY*Tv@TMU^1JMl@%Qc39oiXId#wH>*g;QA-UL-fGlX65`hYIHYbn30EkNu zI&y+9`l#yN@Bt*QPn@iq^7g*&U^cDi@qaJpi#FAjA-#NIVJA3C?Vft3l}dp+u9J|C zT>_P#=-4GULbDev9(d{nCNN;da`pC$+xe_)?+=me+1z1;d27i)`!(#DJ6?1viRh34 zVfT|E1AGlE^(x4nkLlPDkppXp4bjhi$BNtY-SOh~A7*A8hIVEQnZ|b9xEr3rjzhY( zmj`xigi_I0L}w?j&d<+Z+4(udbZwPSI}CN4%;bRF-ehKIt5jp@tb?)@s__lFEd}>i z3h{@i*hu+5^`?KRj^^K%@BgbZLr#8f{`l2@47nM}R+UaSBpaQGG=mZ7wznGPn(shp z*~-A(4i+Bm3RAsm>q%Fx6`RUbor^0g@EJ2H^!wh_gqBnl-Bv?CjV-M5=%CP2G0q_Z z78GrSbJuRs0EyY^u7vnP8C)o{ zEi`spC>w2|OkZf1Qb0Cf5;nj@j&eXOC6((N>{VdfD+gN%^rsKst3cl?o3+FZTfg}K zUf?ln<`yCHR`ZL32maF)nrpG#dd#(CPLtLa2gTn(EN>jo2J!J{U+kD=Oe7AGqs+ z29&vipM6pNr~rvUk{}^0RngVrN2F%k9J&_~{%>fLmNx)a4}oh(%1yPo$L(WZ$)B6X zQ%;tNF1E8y^2UlDizM%*(#t|Fhs-I9e3RtX76)n8t&gJ{AepdDx9|N<2uCToylwN$ z49Vr9yo%b&K~xtp;em#_G@q0>PPO=OOA8%~5AU?S?I0ixOh=QBiC-q})zZ-~y8l(; zktbBrc;cEgUJA$j4`0+1LIot4Bqk;Ep9>+GALF}R#9eRl|5$BSht+cZAB9C*7MoUc z^-!5<7~o_DCg3he;nR{pr|OABhLp@#_SI&W6t8MpZFT-LTF-P<{}>)$FuLX=Rz-E% z$vt#lBGH~!OB<@DT~-hOox(|v?KelG(wYOxxtEfSsHs*KKNzGxCto-QTxtT+vTwK3XUyU_a8&&bFe9J|w68MPuq>LRBV& z@R;y^aYvnV2c{K1=CoBUcfcWSwa4LpYYHx&i>R;u|ymNg5S`deQ ze;(%$9qB=T7D!62IOdY9U&Fko5nh$l;ya7o`=t5KJ8-CS<|Gug_2PU4W@%+tt`!2sbuYOuDKNnf{b6}n z78o>JZpv%!`<_k+q3|up185JGX<6^K2Rtzgc3Whs#b1>BVYU!}o+Xrxh`il|cgwcr zo>L&@DCxllg-Dpr^u7n8N%Z|;wJr*;{GqB;Py~(Tr|HE=L(l{vfw%RsmK1>H7rIbD zn=tqyhdep?0xn3=1E{aB#)pFfK{g`-k|;>_3uJWnY84i`;@j?-z=+kSW*RNSYIttG z4zQ0!q+l+K6WJ}tkrVw(nc!ZXD31_VB6m4bCem!-ByPwX&O}{qruH9YAnn#>GGXS{ z>abQP6R|5Yk0w&)kWZwd-&M2k>utWU#pQat&u^3>&%Gp48+)1LzCjvyJ?cIu?R3zc z&lzM_tF3LoG22vQ_ftk{)FSW+#R&pAL7WiSa6J5H#lF&a)l(#{=VLOqKMWGQac zsvw3ykug`RT%+AwX5VIqk6E^<B0yVkzy5fsk4lT{y3SS`<$imguW-253>j z*oJOc!jsVB-)bKbtjVsE?X!ah#!PydiOxI+FxEcDhtnfSN$t^(19xYL9jdqF!>3AH zP5SJLGGUOK*rTn5O0Gri{c?KcCdu8+^<{jnmw}-3uFDYWHmB8XLkS3M8K3KA#KbZn zcg$(_KeGJg)#39uhi^7F>#SywNl(IM$^gsan{Rg8+xoj0mUTinJ=C6#(8*QpVL}bo z(qaX8vZlo%QF_WaLcP-R#D(YEm?ti=5?M}aoa1u2TP!axvvo;6Y1?>4ZK@`eF|HZ` z0Lj{n0N_3?8@7PZh7-+kHx^?h2W6q4M-h#Yt+}$abN1hqo)5@DDKi4Sd{pfWY`sl6 zgInLQvcA_HZoPpmcHMeVfru{t#BK0s%&iASiRe~>)?{F?^?>u1`&$oz37?FjE5mi zb&lIO;fRAY8kj{B1*zmvl#^&~m#YoxIMgO(>+eCXVjQm_`S~a9H7re;W2Q7$1~u%D z>QZFJqWq{{8}jGsZsMQTwLI!GwZ29ET|pk_=;RK)MARDC6xAex{LJ|1(~I}d9Jw4ECMz&gR)4@b*Olw@0BLsSP*iM z22&=CmO?CKM7T`IUBhKSxpGwCf%%d3$}e7g_*DEuNfWg}v!Sw&{{Be_ztQqkj0S*b zCOoW`IA*Ptk`fG_8O%-Iy_)dRlTwTem*-EIxUq!;TXVPEmeHbuk=&N@d+HA1agbWR zi*SI{jHZ@FIXE+UJ4oTky;#^lRD*+XQ*Q7_R6w@=lkYZ7-)--ORYWz@ zFu$Fq)l5SL@aOaYqJ738HsI9{%ftJ{tL0(2;i66%jH$}MKz%>iWz+gCWnU(Hxoufhx0$a!}_-v&G+N2`uyk z4FT1)9VH0a&BgSL1gEaL@$gu&ZwDGnb5hn~9}ck(a7Q@V*EuHUG=Xxt-D6ObZc+1Z z^&#qG;d@<=vtMnnakO~ZMz$HoF;w-<#kO!@s(wYS87pqUhu*!x{m^V|LX)p4;~*J_ zN2#c>5fbvXus}>DU-g-zc8AitT>Mfz@%`qn%d6FLQ+#fJmt|M92)4QC$CSnNSdUUD zPh#*O0?wX=-Lu(45^T?Ak5SDYz@}hOY~5@MQB0aWgiXO__JB48ppQE!-=33=AWBHX z2NUi9o8?2(q?^i~t?Hf1b|Vvjx!Znhk|#v@Sjq^*0w*gF3*3$@r7b2Rp4e(J(c_7k zn>~#=8q_@6Vj?VRR*MN0_?yqawU{V1B5)3&9bA#U%N3IqX&n1a`-mB^N+9=tc5OY~ z(QGn=%tcy&!ydY2d+!=KdYnLxUN{|cRHog-K4Xk-9}^i813gMuI9FRu#q6*@Vyj_V zrTYP<9x5nzuBbOB=Q1llOcPzjeTKx(koZWDSfRXr&=>%%tNeymASOjXj1$y~0ftf0 zu|QfTbPTT+T5}Jtp5MME)z2RWA1J=1S3M6R4$=Lwp*W&14dI+{ zx)@^EH@_4?a~N_kCs2$78mKWIC0=L=a}%c=XqL-Jq-_y?@JnP>4-FGM4;-BYElNIVKpfqk2E4s zy+?Bih#A{l0#?$9K+Xi6hiWJi)N00Y(8*_$HJK->Cb30>CJr32{k4 zfg9D;1Avju)iW9}LJIIt1B{4*KM}~FR)L}bMr4VRselnRTTl?CSACJW1EUBOSfPW& zti>lx(l6*K{Q_dfpq2{VkIG({!Ychh`Hx;TTV@Z8KwXj{g)xpt8o*+$70v*pVJ)0t zBMp!)qg93hq(N&F7GM;$z$m7GQD`cOB>;sEjBt-aq5~rVXk^%?mKNz2-lvpKh0*79X

X!@54C8diwj1(ohf0S!9g?ZY*?AD;LywY+Aljv;(>z4N0Bvir==TAo zuMZ8Y)8vM(xCc;g=LHa{AW1?5)H(M_2Nk0BctwO}au_Q4wd96a*c{PxX{?Aj?enuo zBd893>lR#(ULhOWp>Yg(ujh(qCWI-D_5Ad$ElT^PN#au4Pih|cX0<+)Jy44FfvLu6 ztEsfOr8z+XStLU_Qs$Z&8T@Kf@SS}0oWw%hf*i*nPNYYfz&;$5q*%S)OcDUy&TAQI z(Xz5(qzTmRr z8-;7oy`%qCO@r)b)-q}*7z+1Zj>$4)I?*^s;)5!kfrlD}pyxz!oD=}AKkKOGhNdvM zvJH88Q*#e_w3A>WuIS8x*_0-U?dETlOQ=X?_Ij$dA>czU;8FTVSbUz*qX ze`NWs-(@$e{DZqUyPSyrwA@^+YdDuOB;3Vs3}6}jMr8mC4F)h4`XcgB^{#ZUYQ(B|V>*i1vEel1k_;*0b4o3=m`3mS<)@k;~Re^)CKVWR0U-znL4J z>@M+rbS>jBdGyn>;^Z4rf6=d=h-c#WRR#pc-*MbBjUTqJdBO#(tmUo?U+C<<7PtT{PQp zN$+ZZ;w7iRm`UOv&y=N6k6w|7!L)i`lyZ#l*gc*YLie<|gnfRE^Z#6JZm7zQ_53jI zQ9NA4>t*Yu(kFsq`GZwY?YlE(9R^CDD-YS{cu#hCiQI5&~KS`#=Jxh79b)Gu)}tWGU#3h2l3>aA^_-h zor!=ILpSNxhkv=QMVsAU9=0Vi z%)f+m-30w10EsIp5J)bFWTjx*Pk!?g)sCI6p4e`oDbp3f`ldQE+>HO{Z<5F{y{ zp##=1h#Nf`G7JM)K)O{{LLwS6OuIxwHfy9XM>9Vw=(u>1e^;sDV+D{yL5N|1lRzV5 z2PCKzIaNfZ3qP1EFnV~T&jos)$>3aB`_mtLCMblW&>_1@JII1nug|)tlVp4uas zoQwV8a=mTt#zi5?h-tj4hb&m-_nV)VyBtYnsxC9s;_4zT^pMH~^u_R_Hpv4fLc%~G z9ykU9*AKR73Nl2Xz2hP7Nuv&R_?;)~XBq%f3`*UGWB4?7IC}k(u4dE1HPY z$b*~!lX1A9kbdWSJs&<=x~J-(gfLcO(+$%UQ0Y~*FN^Gd&Uu4oA@Fy?{nQtk^@~&r zFZD&w`bEteYP1M5gNi~V2&>@N4c~u#=43YSo&=3piG^l$x4hqHm8*#B2}<_$v=y+3 zjN*ZJ!&h_-Yx4qba_K^;sPJ>UvS|$c1Y~rSkLe_g5bd%XjPS z)#`eAnE?ir@9N#3OAgbJ(*=@T_U-4lhuun)tS>)#aaQ5#mlv&)s~@7FU}S9#{^wbi ziwwXLs}Zg@?ZrY?(CCuQuoa6HZ&sYL++A#i(syO;v|LQLWz?s2RxL!H%B$5r-@lye zmUF59oa2<6jK9uD$Uj)fr;Y=*BUU@tYqo+P86yKV*M*I}#qA5pSXXW`QxhU{#FZP$ z-;hX8`IJCZRj=x=r@OIQ0jbBp$^uZ5Rn35(5i2tiuTDys3-& z_6(T}w7>F(b7ClgaW=^IrY&OGRNzG7KV0VjMd%TEC|u;n7)p~)UYS(Pl#w$PQK)ov zdAe3B?txmbuCx8!a#MMse9s$;)suHtWAi~2!8%)QN+qM>Sy`V_l-hh8vM9+ljKkN- z&z}TOci_uEXP*v&%lurWq=lZJgin((4-9#CG>d{=U%W1M+jFTNp%pJYnF!Nr4wZhh zcy;^hcei(k&*y!8|Cr(^v%Dg85_u3>(4$G&3ozbyViW)~EvL;J+5!~3Tb6B>t0)89V{HjP2=e%S{k z)z6ig?_a&!?yj=kH=C=UmRDB=dnp1IgBWdux60Yn|6N@j-d7JLXs5g4p+9A-oA-z6 zDZDq|bc#H>V&PCr|0f)s#&$Akrkhzg^yBKV*mZ+pGFIovYh`9+1naYSE4$BoWKx zu#paZs#FA~pr5AjV+S~;X{|kiCUI_vMN1x!gs9{n>kJ6TvP41^!&LyGTR}`^)4Nr* z=Gvxf(giL0T8vrn?W)dB5rX?BpWvJAu3(V))o;F12ynSI5w>R)s6t__iLh^%pNdhd zv5@x-eLr{tnj5LTp2TLFT0JR3R@Hf!(0MdkR&V?2dU5%FS&0SA!vh*Q!BI6&Phj-) z)bl_4z1_bPH2$4-S}$H2oHYS-)*zGkFYq12V-u(z8!=Pqlg+uqkLj+Le-R&5d@t=+ z->o)RA}P-7OUWq(^as`3U}@eITRSYIki6wGXyN3t#@e=rgUr#);EOJXGJ_upP@MDf z%M=8VUXHDpB5t2o5i54v%KGp{QkLJ?n8Yk>xayKSL3ZT`(HcUN)B&j z&Gk&z((XeAA9C@es`rxX_p<#Oc`*^ED0VTq!^JeT!bRMiHX}OHu1Xyc1XrnU1<m;xcBL+LRBMKy&W z;Ep2T3tR*=d3^HR12K1*etJwEOQ)*-u1=nkcR@S(P@lY}Z>jUTK~5_?Gw}%!O4h3p z^O02>Duw@CVLE;zCaM18mb8Bt6PYo#&fWHE4Yaj9{G;&$R7(H`5obr58)9q z3mZK0ZSctN1CM++c;wsR5on>Qg-ZH5JhIl{>?#;YpaS`T!T4*cL0`)EpYp@6gnQ_j zqaB=tJ7I;u_?d2<`i(1oBV;{b5!9B@Grz_pRDh2W5;qb&f?D)d;$n1&Az(q4)<({j z$_EI?MbcKpMF8@sp7f80_cg+;tzL+;mUpB`^;|hhkItLORnjxOj$n1JBR!QUL@X1d z+YB?R^$i{gFOF4sK^wUr#3>8=7U4r=ySg4wcTX*{1BjfivNNLNTy}}-v8r(bf|z*Z zVZo}OI3swKK%M1Q&b`IB{*m)B$B{P5D8ru>bPS8BB#RoEfF%ld%w z02DULPm*4%{3hd1bx?76$?3=lTip;s%J!(w>>vx~8^Und{#Y&QKg%7881BPwp89+B z6h|1}{?(`YM>PK7bNwUw{eAtak48o8>v#PW`*l_R7~>PKz8iD&yPxYHkvAVl`6Qx7 zA93oY5=rRGkQgAEhjefbD*iD-6K$V28wwjgJV+R^sV-l+sV;pnBu8`QAf?0Qb7J}J z^XBEZKI9WxzlW_~y3B9`ph4_hdhV;H7UD!XjcD$j#8%)u17)7#xvA%=rCg!A^&4sO zPNb0kU8_zuT1LF7*(bw`rJ9O=N>qQ79e!GUDvLQ)<{!W=F5u-cR}^av#l6a(QJGVjtZxfwB_nWH%|fCcJl60vMD3W)~aGKK{@h~xaiaGcr&bvVw} zJIdNC#}p3@8TS|B$JsFhg5VD5ai;Wf(gAnXo9c1mQF2V`8_kE`PHw)PhU4TtZYOVV zCl_h!N{}gaJ2`PXJBA2$Y-Y|4H`J+Ccv))_Q$ZxzPHH0R>#Y)^qXFRf0Oo4lNGW5y z-+=0*GDK`u982V;WHD5s8~C_{ll6}ijo{MX5~K;gE$JZor*YQEz26e|1%6u6?(|P< zT)O&n%XOi;E@?-Udepu^QG^JP(@5$>)Fg`4;dO4&i_z|aat@Vg!=$=v-<58R{#|Gl zLBA{Uvpt2+^NC%+uhpdFG0T}b?kGo_-PjUkf%O0(Wh;08w(Pm z;a2S0#Lvk{ugw*+*RO7GiZr+U@7bYwNOCD%C@!LZb~J^K)U(TBq-TRa@;A*6UT9+2 zoY93~D`D7DG;4kZ!LdJLt6|u37`7gUEr?+&;@FBfdN$aKIJP3Ltw>|e)B`P-RUT-? zr}Fn!Vk>_aC_(+9#U`qUq+y=u$g#GjmPH@2=CFHm$$VWaMH!$sjc+XRm@bs|uih{B zf7`4sw^v#H6q?Yv{IFcDi^!$obNl*9)ETnNiV781MGQ^(6hr!9RpBAuUsd#waPpDr z_W*I{oJi}wGE7JzpehI2iYYe$WD#KWLk_J6_9BUnJe^oCbSQfE1*~$Q%3Z+ zJLk>PzCT(oQuOoNvS))%yK)3?d#!qu^dP23xHa_Yv5U3`O2O@te1vemjgC7 zU9$d#k>EMofBJ0ygf8ieB>UTP{Yg#x|1?j$>@MZV3#kjWAPhk}W8n(o9LTgt5^7u$ zYVkm+MtA>H(ly9MjU%MU&(BIGIiv~T8sF1o)nmlJcZ_at)V`YUD~$!rT!FQ5y-phX z*yZUuo4-Wc_y`IRCgR3sN*BY^gu5mOm6Lm``$nZh zYom3guf{GqW^AFgcr03rJL;G*BsOFgHXSpzQCr+c$Bf;`Ew+=JPZ~sHjofI%X!VAv zYL$CBivzhe=E&wlTBc4;Z&%C15~H-#LTTw(l$JJ>R?NgmV=1IDWc>fCK7mkIYNM`H zrmp%sBweL$bd}oaiuMDfo&5krPKbq2%C)vBSh753ejbiEE^ZHPnQGGPG*JVy1_hm?{^SuXKcQ ztW#m^`W;R?Fj?S4bT-t*MuS}}=t^`F^1>!!B|0nkVnHvWbHrcF0f2!Lt7`3I)}#2b zo}hT%(#pTJ&$wmL_^QQ2L<@AwaMJVPoLDM2j5g6Ogc_6@!_Y*NbTFY%3b1BGVcbhW z8#CW$tr;cs2sdfuIl4*rm%A+67~1Bv^TTW?*ZCj!tN+bp6N))fVyF>?`ueQQD43(O zRDGUYNokA>jT8Ux>cUGnpVx%YiC4IZFz^S7$ECnc`@DJeCs^Rd zoX~75RMMXM1>6M3LM8vAmTMWULaL>TD`6m|BQY{2PQ6Qu(U==DI%dA8+IHITF|2a$?0AL2&(tpPny zt8E(Y=6QavzB2D0v3+3o+UF&1;hKsb64S*P>A2ICSi5U_do+6DF^On2)xZxu(8oUH zLNo9JLNj2&m;sd9RMDuD?fveu_~k0w=exHo-p~K*Q~v+Y#b37{H{}<8+J4M-KVJX* zaZ3hQS}Mek7*yp>7*VW^_6K1ptR zI9YKwc8hnpl)2e$^GjadT*l1VR_$`N4e~wV5!drg6)Z<>&;S5Jaw6Rz=?5_kaSeh7 zb_5>C+wfpXa+XN2Lyqby!bDMcq0Px5sFhsDI1qvS{K?`1hX7XF?U|=A(#rJc<25TO?)0Vwk2^H%6F;Dswxa3J+!gR)IZJu+t5BIo24OeOB*QBGFs zxoN|?DBNFWo5HfE@wKR? zidyd99X{V>=fyVGd%bv_?{pL_{^RGDFY}|yH}LB9a(}=|P}Fa%v+F}Gm%AzHhN=^R z_=4^g*Zd1-<0Ve3-i!^&V}1pF;zW6e9L86NfTPFN0tWQb8YPC;*+JNruzKHE^WlW`s&QmVWrymAC@_gd9}J)eP|f^#aYN) z`Q~qMzDas-bB-KhIQ5&$%WS{j?mBWj9j5Zo2gPYXNoPg{U9xUSwGYSp1)F#s4P2O{ z^NaL5!}XkmA08XEJ`g`d(*E=5)F^(DAJu)SCNDoOKLfikf1(h&n$Hx;N2 z%q7)G&r_iNmA6*{fn01L@k{Zm zpYIYBg#$pZ+xfe{CWz_2w0`XS-`^7{C`%(HWFgt;wmq{;?PW1WPcaA52om#f3# zdb?XJ7w_&5hwWx@x647rV!63m?6RD;_Ej`c63)5%Yt0j=#g+^7Bbh@;*FEsUkvOP6 z2Wgvwz&ML&5O*BPMLH0RjxoJB00DfAwG|K}FUFZk#CmZPhgsT;q8%1G4pZqc;0bUR zcQ#Vrta-8y-Kkz^j)kLkw_UHZ-QwG7sf8jNGrsuX8SB?J{)cZ$*F%&82%|x%yRP^@S%4G(O~U>lTb6k5FG?KAJJaJto*?brTvwl#xzW;`Oz8; z;egX!#>NR6c4BuY6*C<8H2j}q%y8hdnZyhSK3#{gSIlrTQ8PG`CTb}PU<^^T-3B#q z#}Cpy;@gpI3;KxjB(Wq_?Zh>W6~Xa6{ah5khqKrl8rCwQQ2Sk~w+l>^rX{&xnkA8JFWdVH>b}+d4#Xo8Z zberGFx7j)?uSIzRJVpdOQ%%s+Hfb-F+BtDz!Eh~3+uxis(TC((rb5F&*w!sx=bIG< zix0UTYl^~f+p+l#a=Qm+5IWdNzQf&VDSd}a0yAQcY-ha0#W^z^EKSW*XNKDE(mx7kK zgYmeC);&0>*GfXhQCcDcmx3S}1W~mGD&f+ndE+|+`B12oYGr1zOSX#49Tl5lyYwLX zPAK$0wf3;sCR@qj;_s{L#s4l4)qmLSXv;}}BDgZIb1n?5mwIj3@r(a$%e;CJ$)Lr7 z4Q#hA4V*KKFaH;-3S7M^RRsngY2w}fw+wWH(?RM1D<5p3aq(43c;xH(f5ca`ioiiA z;HFj)*y~adc&HLgsWQ688%1Scc2fW=@fwXc_I%s`9V-Q}91YOwlrW=n&LwV(SM!Uz z&GpcOQpSo})i|mz_4Qflxe~e^B|)V-Qkkp1JcpFWF1QzKSp=ej-{~h<1qe&J=wMFN znS78MeTkRAAP_E!^m!m+IDx4oo+oF|rM5DC#YDd-B47SDi2XKqNZ%bJb- z=b$S!5{K(N?$LSQs60w&Zq<5{nU>)>g|gBQ#=NXLbNOF~&+F``-S#fq9X{8G-7^VB z|0{1^z)e;>0###%1-=|-g^XSyUTP*^A$!mWap(K3_s`7XE%4}Y&lepuBSy#$9tG3L z4l!Ya$oN>-*LYv|_HvLM`bJDDF!bS00wcS~4yVqVU9aJ@RCzQ~r8r*0Su@EzgJp)_ zHZQ)=g9xBUN8!nOJrO6yoFn5wVG=+yV5J#Ewabs?gF?#YTfSE;n*1En9+h%wl_z?+ zz5D$0wmw6@=NU5m3^^Qfk;|P!l~lt+Zb-VykB+Y2CZd=uaS}VXNgK?U`8??O72$Dn zvG!~Cb>RN^r1@Fw4{d&S-50PXCNLD!j6^3nIsFbJxf=Jla}L&bR|DEaDURD_ zn%p_h+)R3O+rDn5^RY<}M6#=hUeF%1R1Lrfwv`RDb|R132aqQZONHfWMaqmlNQK{tH=qQw8bKAes7(q{E z1kBAIX>R5dnVYqV8?4TE;*qi?w3FT0;+UAo{7jB|5>{x}NR9EW)iO7kt5F(JC>Hs@ z9O`xXCN2qcfQNbFb}-(q+}DzTi^v*3_Vr$@b+STr^UvuQ-2&RyQbB*F)_#18VNlpwUIP=(6KEJh|TgwwrEo+M0tyg#3J3GK0szuYOd__Rh zMDa|B4lp{8~&e#WP%g=HXjI+4-&^an6;cx51``e~~3#SI7*4Rb?L|OFPuWl>B$vVabf1 zB{ZXFu8dxD;-TS^GxgRw?_^4s-|JGgrdxyq8GE(L7yfhh>G1Y$dAZu$RBQKRTM$;~ zAk;R#DWSGytSWxW0`HbrSM9=hINibsh{V#divB4JyUuR}D2L1WgonmLYH>apncl5D zin2JR)-UJjgo~rr7LZZp-HMvHgxl3zXuaLkexbmcdqA(4<16O&fo-S6p zJ9Tsn*0cqLIsY4kCRA(PypV6ItIjC>!3HNt(=bMxq27hr^ zRVneHtG0k+a9Rnd*9aY#qBvEN}+~J z5v33*hN-a=^)-uuP@jvFVbCkqZUosrCau zvsf;<=hJyJ!gOiNn>j}a7?u#lsJn9&QS2I_40Du#R+|+|4`qdYDVQfJVY37eV-46b zt)Fc(=RPL8v7=LM-CS<|Gp}rY!D}& z$#&U*j2~Lx!XlqpK&WTj8)js4L&z<)A@$L!3mwGN{1|CYb*VOv9yE+9L(aGxs!F?} zs^lb4Rf3?ZR7O=gX)Doql4c6>39eVW3=}}CQwhw?Y2?9Bb=2I!CMOk68b*aiYOmX& zQ3MWC(lKC4a%`9)GkCo>WL399VEB1(~Y@PHfD;%0D z$J@Vp-()Tnvcvavpz^q@K6howGjFhNO3jKpq-LSpRwu#iEkdj!iuT==vcrMFCR;RF z_+xhXV_`{MT{dE`36B(ADRrX8l8@@yC=Z)=8QEc{I(|~@O#5_zZn;lybkzXBTpI@0 zSp`u+E5Mgup8faj-C3E@es;cG@3Q69=d;zO7QzFmUZ=m%)Zw$@1Xx?B(z^X;%W2uS zN+T`8rTl%-BtU*OH10A?Fb*1Wl;XEx{gCX_LAfHT$))4uTCYHBvdKlj-Ji?tR4+-j zl|+7c1k`Rd`a`$}sOS%&lZ)scEfi+t@)LwS*3I=v5P&+zK1)U6i8Lk(PxxLqfz4i- zvZ3Zg#a8W=CX6bQSv5NOYny}>*OTCv!^!|_N_%IZdJcURdi$9oMw^-U!xI&HD`Wh4g3 zagP%^OcmsKTf_S4Cq&X*>!h8efy!+m6eUS z&4*sqjj8>ygq-xz-ZBmp)7R?xg54c1D+g)=55Ep z8d24EIPrdm0RhV%GOqL)$KhK()^}j=0kG}K3`)s!=Ep~(jp3L7H&E$@ZaI!XbKuS~C z!!?XDSDW~wHF|618FaP>?6{*j0}1lb84!y-P_ig#OEL#uN@eU!k+LH;g=Rsf3iC$D zJ~HRgMwwf`YeElsn!Mw|ID;deG8d|&Q*ow>j1sXgUG!R4IEN(cE6QlZNJovxfuIdo zy=rb-j!N?K0dD=xVAywi)m{Gt$UGuo*MSeor^z)=20r5E$JwAqlcR4$@JQ!^9}PUp2Q@NwRJRe~ z)?BJloOps=6Rqa_bdnOqHg>HeM}2Y5z!4{}Y598c$YG-#Q1LX`|Exfx?9iGHGRlOZ zvmh^#0At(j(vKs81I1Hxr>M7M2wcQsibiHC@(}ZcigJ|H)8rH<0~9f*_-tSz9d9=t zNDPyQ2Z`{IMuv#;79!j^@?jCTxOEBn5#bW@<0)DZTiCM>57mV^gF}p{rsU$mBL{|Z z9P`s;_p<_qa#+=Lz)&U(g!P0$f&#-RBsfnrg;%5Ajv>Gh3*{e~rN~3f6Bx?L2~U$# zoD49;LNjLr4CyqN5rJX+@W2or(#XJ2-a>>s`%!=c!;oq5n_N)U#bz#oH5F@H7 zx%iy=zxM}*QX=8g4+mIu&>_AZkzf zA%7q?PJv2gi5-z8LT!_?{HGAih@?qBP5Ce@oJk}iP8-^YkO~qr!#Ee5Ds8*k_zA_R zl60bw8Mr}110Bg~0u#i=AY;uFdlH2bo+f`e8T@I?g`N!tbtu9yA`VR-9*3gGHbF=v zvZ)9jO+CQnxt9nw?@?@iid1Y@Hjf8LqD$=*CrMJ^QN%*@$nmLOuI_1yj#)udy}rtX z7Ep~qG**?SG2m2*z@vdrFsfh*Mg?|dkol7+;5fD_tPL|y0IHXze3}g8WUwbyzG*hF z(_H9uM8p|BJmORjYiz@(wv{^bjv@1AiGZ0t75+X+ms|(#jaWUA^|>282|Ama(LeS? z9KFW$)07Caf|Pol!08~RP9Qp0isBT7ls-{V!uO{L`Ubl)1X5B}*GJ|w`Y`i^lzJ`s zr^!H022xUGNM{2n&D{w`gp|RGyxET-FcNKy zG%{;Z#+WC7RC+xa7Zlv3N9St{1$22l%R5np((%h4BdD`ah zKBGeD*%Tp7HZHBhMQvrySP>K{g7D*Lq12r*g zYyUKS*213z;^@7xw_W5GkJKF#ECA$~dgi`@-RCWe<*0qt#JsI-)$n;s!qhW&I_o}h z5&k$*vrKivA+?zM4R)S96Ll=r?rLK4RC6^0L>m36}a( zlvRT1OO&Dv>O&~qr}@fk{=CV_~ei71&i9kU+3MO}j$ooZaL zukjXwx-Y*x`|sPkvyvyAoiEqBYRWBT zEG1Pe-$BJ{7a5{w>$iY9=z7YMayrEJYu#8~ym1(eT39Sw`9{F+B60KK_1IGIy>xsgs20OM094xk`RkL;8ZJJK1meRu*d_8`D+3` zq>M9POfE0vIfnHai}%Fhg99k$gu#_tGZFSq9v*w^@fPD^Ze=4i@f4;BL+f2}Dl)E! zGkw^Y3&ZL&hBgT9;0gPoUk@>dnUr$bU4xRY~5&)*^%ws`iAP_ zD~cktt`}!ST`$fiDVNi+&a7pX-E7+w;T=WZ%_|OiY#iPM-aSn@Ia3IJO!VClh|ak} zXfY7|unNrvcT$#(DSD>44B4XG1WT!)NNp5RYqtFW3q5!G;5Iz>!dxf?@4vz{_H0l$HR%oi|&RXn!?dxpzB;c~^p zo&s2g_hlle96mf$7UwwuP=;Hmiy;P6hgi`>qLxDm5s%2yDJmfuIC3f*+@-11xXQKh{Q{?n20-M z$rPnQZ1M?*(Aw%cp=gxICYNPTHTMvy2lh0D;q34kdu8JQ60Ti`5!6dUfS9^%`IZ=ec!Rw3gwsTKR*8i<`MCBCJ*Qm{_FweO@4KvX+ zhn!0mnO5}UP6!P_nnuowzBwSXxImWD&Wt)0^@3r~wZ~EZs9XAo!$cN;l^SY4|+u3wQpC%&XQNxuG@6d1++6-6qYwm`tdKwRG zxThKT-9e{HC*M-9o=x{V*MHY+dxPwF zc9Vf-(M!S*Wb!AxP37kyRk|;BZRy}{(W57Bwe49fdah3A@ojtdk)N%6Hj7?%pT?jO1*%F zn^(8XyFX@!Z$H01>{f!B%THdMiCubm(OSZg69tjCYQjfN1phqCa$yKKWHrq7rnNO7 z%g|4$;kx4OiZzxyk1bXDwtn{IsyeQxKF+ghMe=;w#E5c2^`CPzca!ng`4DGyx^EP*AgIh6V|ES3EREq$6p^bvf3$IZ6Tpp*Nde$CzeP)}nt z_e0^0?-Mv%P2&Pti^2a;9gE%n5XUDMI7_=8T3H3;aZLLf+?FjfJLsQqjDsaC`qY&R zNCH9pQ^JC8kzT-VkF8b{Utu@#6*`Eou#@=mJ&=$QW5#_#e1%YaAGvyZm!0;Sz5P@L6Tic;jE@8fYXnFG(OE3 zEQlk#0s&D6S7Fito6;rFFy~?ejhwkd{ORay+G*^WRLOBO($19&?F;nTh!PLEe-L#A z1+Qo3XF?)p;Ni>h^fJ|}yQ7&ugcYJsOf*mE%89~APgip36cLRaByM$S&k$N&nAPf1 zz1G3%QcYtts|%HeYcaZ1v$#N(LQ{ciZIK=z1LrgwizU#G3@EN`GSJ2_a!{yN?FnD1 zlL9AnFrQKxYl_2FMnR6c%BYzxrD)2@NEu$A_h$q;uJpyHfawh691zHZTs3p$Ilv`C<=^ zYN0h+eRN)H81W=kK&KS*wlH2(nELMX&)cfUOAtJ>vLjSu76nx~3tXbDlsE5|S68de zO?75Gv_)CT=@_=p1;(HgI%o^lE>lxvMg9hzA*)34k_ALz&6XZ9yyT`{Z+F?vZku17 zdLztH$PW9eeKG32wIcmkjfWFkYYK;R+**-kO=s_#l6Q%%EqJ@M5lHfQx2@H_h{U2f zZY^!a5L-)IF`TznM4qd0ZDMOpVQtjbmJMukvAwOk*!qauz2n|$pF}e795+{_#wFzD zCc`&Z#EYsvVzIfDYuLKE^(I(@S>5)v{u=MSr6595Et~<;5E$!RgxCz&55JdIr~DlUml6q1fOsaA`erXIMYyTt-8oKNIp@yI8w z4nh=Jf!i470Ak)DHSyqNl^SF`v`dINTfy9D znnK6PC(|hAT{Xy#vmUPl$55@I+r;BxEjjSK+tE?F2DOmT(8L2x$b+I%cMa7UiwJK7M^|3O|GT<6 zysx{S4KQV!KHJ--?fXaZ9Qwi7o5ILETi_qZx5$HFeBYwF8Nl}8jUwOl&-NB? zL3kWbBM+kSJ&j^VBvYiN6r$rM%b)Bm+Jg8v9!4G*szCMiFanZm&5w}mMiF!Pr+bUL zAU%%Pk%xvV3r=1~2hav~gpDHk^w0JdfT0k8oECt5xBv`6Gz2XH87%@wGaON>yiF0(T98jrUUne<~(KXEi2<8#oz?o2N~-m6IOb%7Vl}YmIq}VO2T*J zq*3voV_iKMw&Bzg4`8G-L#{Vs!1#IP4;18{rHn#lw#eJ1@ zN_-c>JBqxUfA3^Xe!4ko5l7V1l$Nst;_&E>gTygnL7Kh8+K-9o^&WAe*LxI9q5s3( z8H&YeckL9W0A#TFqH)Y4{WKZOGaMfd$7P=P6!5q$qGLQj&iKOva{YWKK;+n#>SBx~ z5Rx4(xkM^D zGxK2gKVcqcAtQKM=ugJWs=XNpk|SZNlQAY~thobnDG>K*vX*B&J{BIYx!u!&<7627 zh-jRh3K|EeI~f?4HdGT|eiB8fd7M%830aUnko+=1ab=Y~kT^nkN0E2)N@E%ihwrmP z`yW5;ws+a?P$xXHCn`1VfP8tBGOok&p2Q$b6CycxxZLitSJgHyvi~{vn(kShWp7ZtY0*jq1V3{TfeADE6W$T^@~*FJ?e{r^^00_KFb$<>lcw8 zdB!h>)-R?VznI!7oNDxlLrJ~Urruh?Ia3fx&maPI+n?Ib!JG;|07)#p@+@pim0Bhf zq0W8M0P%Em^IAa|ajy&n+gg2xwf4xx>$6mlKGUlgxNWI{%dvLLh?A)||LYISob+#( zpNitqVI-GU0A?qC_K!0UzZEMM=A!#`Oso;w&T${<_^rMJAtz~QY|^oht`s_ zolWF$Hr>+lJcoUESUAWZ>Xl_-TX^iS@Q!(0BduIy3~7lhV&#TJ7Td}b=OgcwDmc#S zeNcg%&Vb}}2BdBEsmtp7rI(Gg10az}1wmj3`hy_R(RSQ~uaTB7a1p0*5vOpGo*+AN z;)B8XpofsA9N5TMS&OI1fgp@zJei`jCN^tR^&atvV_t+|SEdUXH4J*PrZE?nQMVQ# zm%D6v$cle`v)kU*edh9A@V(ilSnOZjE*6W}OIV~|;0YZ}2uEDx|58^a3l-=iGp-nv zX6aL!MmGiIqrF})_xtZRIXl^0X6N!9xXbCXt`QoRH9{#r6{Xl$AJEEU#R#JZnmsTq z=vyFQalax!@YoeM8YQi&Rn)xT`$KkHs}V7hBM;)z$b<^j|@r-Bb_V~X{lFRcQlfBwre|vv@o$byS@3T+2nDS$r9jX0u5$JHU-oDGp^3@Nm z9=8ZR77#_-gJATAgwA?n01E0E%zfkOjcQm%SG5r>s?5?3T4NI|C^l=~G{Vkzi<@_g zZfGDHG0?iou3BL$`fi&QDUp&kGi3lO^{GmrP<3e~5EsN?Ho5}b<)F3xAsr6cQk{G9 z1E%{Yhy%8$OyGbIt3%G7dYy1YDw^ViX+;x1VK|+qd&G3>264o+?^HeF8hrLUWMTSH z-K*k|EuFfwLzXA>bdTB4E<&8Mp(L$((EDtiT^_QlUMCIeBdY#nanhEeecDMYGa`aL%>gi(v{*EyN1a@MGw`yXMlX4C(gw|waJk+#%ey!$15wKvyO`Uz z8(`k8u2JG%TvQ_U2IJn}<>)quBR|z1Ky`mk5ZvBjDew|$(YN}8AY`vlUGuV0ye(%5a>5QpHb0$X!Ffxb-OI6=jYYsuhnZ`n5AN= zNg%IDqm695MT~Ho?UsiztTn_K_ZsVM97nkIHkqW_u%$_r)m}?_#-}jXB7>c*=cokm zPF|yORcEaUuiz9I{%4yn1CL6ZH<^X z1!aeW2(X`6aUK;;rYZT4mGj6;oQ~zzzex(OR+p4a@XExUxwK&f8mOsX_EL}oHmEu#X2hV83uGTLck5`srWRin%dG|Iu{4v{P zyVa$zeb;Z+7H~eHr4yxMy@X>D$I#XpwQz;`UQATM^1Ug_U`Z1;#HvJ;r} zP=gC$3buz1cLLmR;&i?)F_m-Wru$d>%d8M-i`YxYPwhJuc1s@R;&pL+PPMS8!)HkB zj&pq$+zJGfl!gVr-sHSyae2Qh?)cm4q<;#MP>nZIMrVVmc#`Xz{^YV3jSU9S|ih;U`|`nuQ)bhNeI2 zG!DOULCjPoarln1pmuEn+)R2rF7Lku#V~5`_ z_peI;_=jBbZuU9Z?1?zI0bsZb4#8@|0_ENZd81UrG)E*{NR}@%WlDXV{ueK*1%6*7 zndJZVYc39C2;4onWhe^nGUCYsVJs$~yl~3jBwjETn8q3TTw(KZ^2J&h^5TqxRV%0|Fe{?@cARB7Rf3JRs1W5M{!7@pnvtus5-(R&uk#Vk>QXM<25d*H_OI7$iRKeyx|AGQ zgeD>4(ox*@B4{N9z@0pV5<-p$3Fvwy6G#ZhMNSMZ<-z76L+*B2vB1UMdil97Nt(>p zAo`$nMubplHuZ8@?`Y7iJhF?GF&J1itI0m7=(#=rMd+oTM_BzTUE?yphP&mP?Rvfa z*cf7e3X*`C3WOPlBNjMT6|LsV=A!5i%fqs0o0Bc8C<33GPR41{(t*8rw>`Yjekp81 z<<%t?I#vZPWuX;vsMl#Kb=G5@n}SE93w`nT?fnaUp<`6X42$o0z7DIqajR(jbVNH`R80n)`oTDV)4#r=K}&M8ct~xf|(|} zkAhQ(LI;e@R~Pm~TdnWbaERCwxsIB^ufBR6+h2mSvShpZ=kSb*_=Uwr)O>egn56RE z1^CmPG7cNw1qb3{9t#F8GKU)A=cjEGstCptc`%&FlcNQhg#2!os|^b7%l83*Cv-#!UIH^flrVhp5h45&z%D@@FfFuzJs%A#0j6m#&I)1pW7 zM@=g4`pCMPRDcnpLu*Fk!kOlXb6j|3LFv(<(eH){d~%o}w;IvKg90bdAG~NvESxDmt$nTbvC1K88Xz9QLV_|lO+d07jseqo+}58D zV!V)R$hy^Wt)}xuaduyl!c&?nDm%-s zA(n-?3gHv6)igv}MNgFcGENgM=t3$Jbdw#vIkXyQaTaBb#eJ=CaxyRkkrmP>>nAVN zu1e0YGWAtkWKy$;pBe=tNIWk@rGXC%P4tLsQ&gIgg!BDMVosQwF5fSA%gaNyYpXKs z7wepPzu6Uht}2u0n+jsmBaV8qLyyN$c9Y54H79mucfZc+{XpzIt*symPz9RSln<~rb1LI^CNFiK%~7&7=e_BkQ4zd5t8y%lA4Uq+}-crYpDY= zrW|l-1J_Fn9!CP#+TW1d6ZX12VKcEn`>T`*-u{)mG@3TbrsrRxZvTkc;y$(*FLiTpZ-StJ)nXE^JL(vXUfFBI$0d zwj#zS&B^&QCqD)!mwSgjAS(xDxm7h*@Nz@#Q%7bVgS0|bkrmwBP~P^DvvdCe*?Gvg z_V)*6=P{@=NM}qLdeA$v^B9!7rlYiM#b-~No%_%1{21)q=h~kigq_ErgrBO<0(Ndw zXzlDAM2OSARc1@8EdG92t@E=lBV~Tv{B^mx+TQ-WT32D2ZEwb2d>j%kc>H#GwOsZT-vr?YlZQ%jdyh0vB*XCD z)=Di=s7;(!XE?3SJj4?BheheszuT@hO}KJJg^&ouBm2cB%dU#9$;Efm^y~}F0?JL4 zAhbSC`wqEFQH*146I}ic71d2GSEvNs;B&G#ova|cM*t`Y9MFSXVxRdix+V0R@RpEy zc=%@+MMJ_r^Xc@C{nWB6#tQrdAAXckDkYK`B|6k59p@UGvVXPSUKX)D2@6ojc)uwk ztFBlO@%*vBp{kyE#xI^hVCw^iz{qPnZzrc|Ulj_-VM2Mh-+uo2^IZcjUHg%$k%cJ> zN#DO)Wgp}SU=Rti`*kZ17^VU>%yJC%H3~CTO!8cxhFRll6aBwZG(0^dR11bR0YG&Y z7syiDnJMSK)8hxK1K(E%{!N*Nl5ngeDHmrAzKWVc47qIirz6tc?A(R)9659dr!k6X z*G@+)!|)KC>eP!fG$hr=RW-q#1ObOt6Wgd%9z=LpDi6JGajC_ezPQi-`Q`F%g^F}# zvY1%E-feI5zaO@;KzGxzhDvwaD6TwQ|EU;rf_<_iJZ$~r8LklKp- z{2E?mpQ;Dq(TguShOhQ15yl$`<1#n#ym%R8keo5Ko_>=C13 zXw>wUpxXoka+{I#7L(n-U+PQP0+*kw-7Yv%S(mKkM@rH7?nf4?)-=UhZGgP_t)p{A zg<;ubS5_Gg7BsExfXb73;tksad$CJtp44XeWN3Txm9br{j2BnzJ?eY$VQ}QIy`g^N&rUNOno;C)EqDGh%fEr>ek?xA}n?(BE z%dxoJ-uWV`?fv2I{!r~s8e)(tzf|?lNM>%n((T9c=fuMuc{vWM9ACvV46({QsKo^o z2LysrD|ao^Kv4jgN6c2^nrWT>g0jD;4uJMurEqq_ITBO^d;zWKN4x;UNps^#w@>&MC7W}f4oC!nk6i*1 z>&QHrEz2Q#LUq^l)^nK+L63yOo^)qKgo=|?{yLNh@au}C(7%pbSCr6udDUVASzqnj ztla293HgbFTBKpb+L9YA#H-*3Jn2#ff1nm#RlzUyK1>^TvBZp{m77O;GTM2GmXW`y zH91NIsQgVPcI8KKpOjy~JyzdQM8$~i7PFo=S0lkARM4gP&ac!M%2U*Oo5_BC#>23$ zGNw6pBv{a2Zs7E;%MCwepm_@OM5(4QBIHImn%s~lIYe%l%sAu94Sb}Nl^bL5PRv0x zSI(JVuVQW4p$rW08EPS2)jy`#kDKgcee}gMK9WiCSh=%Rfz{Y_YbSUqPJ3O{)|Ov zcS`gCRZ0$zVExROOYtk3RS^rEfLReE9i3e{$M>&pS zwM+e6FE#AfU?g8Er-Mg36gATraKmk#mdbIWu3}9j!lPCJf=+rAHPjM61}2Xp2vg5) z@O+rv;QMVG@W^L)c0=Tkmfg_K4^u4G+sh(Llt^zNvXaNqD7241PMgPounCD{YQKSN zMkYq&*JuJ)p2qFxs#86D|FN3&$xrwvk>;Rz7E0ZJwg2({uwPwOUn;f#uzQfIj|+Go z$2aXyy!nX}!hz8R`-L0AR*3O*-4KZGH0#j`9Xq0I}P{Y z$svOgASo9Sub3Zzrmx&fg;&hOZOner4R#zGvk?i_F0p(H`9F8tk1hdIgxWW*drTYT z87De~*Sg?5qzzvAC%+3C#MsF*9-I*#bo0*%bkiLZ*6(&ser zr|LRyO9Vk1lPf~FXjJM_)#TN;_t)3it_jOp?f;r%j~_Sd&s~y5ZD_Xx0;zD6a`0{o z#4XXv0{83HW!BiDFAC=Wg$%7V6xgCRWoYpe2*t)hgLUc}H8qjm|2Wh2EcwAAbIIwb z&TE#Ueo|Yo3g?h?Qf;f7ojCiq<_R-8ZV05EeBhuMsYjU|{mFn-K{GR%|4aMNQm-DxmaNG2Q# zQNm)RQpu@AJ7LMcZcwUy^UxUR$|FNcfD#Z&0Yk7!4qYRpD;R2=H8!_tb4-@7|AImN zVw4XeVE!xh^Jc@@xjGrOgt{(q>p|Q^ZZ&8l<@ifo=zMc|neF%6otyB{FDsH^6@Xw` z=C?8@Bw}gDORxHDibtatu>WJ0bLCw@MJ}|LRhJ81lAv;-&^S=J;Eg30=uBH( zE`S9%%LOH}XJon1e*H1Yh18lGLCFQOpVfTDLtC~xI<-jWCmT*I3`hM!yi+>F+oi?w zuG){87mDub(sr`fTB31@V$dQ;;3hi=79v%w<+ca`Dws7*$zWCy24D(imHB{kP(OIB zOL(&yAlnL@s=rbxbbQ1)0vfr1k+mo6b+5hQ(UD5f_4pB!q_oi^C&SV&-ulaZQ5QN2 ziMr6SYr73A#L?!7_RlIih8c{lmR^zL02^|U+2flbhE{Nu#%;bqak=@zr6$%iO1Ots zENOyDqe6+r9@sB$?`kB+MfVz8?wvx+3v%3wW}XO3k_8DTZ^9)^c!Un z*QkgSMBf&bT=Qolq?>ELd)u5i53A)`)P~9T{rHwXdr0R~>{G%8pk}J{0=_0&L9i3W zw3gI}=RPGTgxOvCl=SXV0+LTUm5XTNHoy8k1X$gQG^E{jKJ8+~)bSzKfW@(7gDz9f zX&efBvtW`&Z_m;Q8CcpgHnwLe-;f}`En89D>iW+o+MY%0WT1;&xLJv@JxlqyhdVXEH*)Os*EP7oAk?9Wm^G;x0xM)BfvmCt-tqca!t z8Z{5PWjxZ>2Yhc>pBTMHhRDV4)+Ywkcr8Dy{br;%-$-%o6ZSqa!iUFIr<6#`=9E(k zlM{6rRZT=(DBMEO4G!$!1*r6y-D6S<(QgXzC`zT{ z-4>)(*Jxz=K<$h)GS%7{X=Liw&d3+OQ%;ux;&gRT*eG~FQpbs=yk9YT!{+R2@CwDH&beHo&I?ocrw*N zqinfY@!$%`q}>N;sg!sjh|pu6=&9rr8Q(z|jFv8>PSn~SkFf8!V~!25rq$-cGbNQ^^+S)=VWzRDQ-8;W$ZC z)<}3MFlVlI+lP;596uc1?m1^J(Ef-G08Dw`n%aWreG44*wu~z(@+N=U?pM{8{S?Hh z@7qcp%5{@;NM@*+Nc4nIv+V^?8c=2FXoU|MsPU+VcL-hBRvn;4nLBbAQL%{bhDkNU z)NF)0=8S@{iAyJ)?q{gBZRE#t1RLaCOL+&&~Q)hZ&hI9dQ%4tK) z(07_4UTs_b1ksV^}MEG_8h zd2{MuNCTo|P!^Bl9nhqF1B9OZ2wY?~tQ~-gL)rK-p4RwI(n$e8=b6c42P|{su0@G- z+AjWoBqvCoH`P24L}#9vd}p{BQJy!C!A)#zf_*y^)PEM=i$*WMX)V2}JHn;O#mcU6 z?Mlg3Nn+PRIozXXT!TDujgcDT8kokz^e7&E;(?dK+no*za;X2TIgMOdc?V&|Xhol! zV~Us-RD_3waAv;XN&&4da)?o9&gssX)r;!Xal-}YW{&Q0SQ6Loc1W7wYW^<1*ezCu zb!ZyH3{6KV)YZJH?i~(Pcxc``E;Dx4K_sz&Ja;521kPQRNu21HYDR|K3lebdako=K z%GOnX7hmj%+*~@@G+RfvvEdf*7Abq@qf7E|Z$n*khCrIU{%INyxm z5|#p??stQ5Op|5J-^CZZfjHJNIF8ZLaXtm*R37gWNjgI9^A+14*g~<;9$6MPD~z6G z!BW_pmGPoll&v92@rF~D#d3GKyvn|4XZ6Lhoz|DP%hd)o1Qzqf?0|PH|LYwu{^1w@ z2#SA%vN_PU{&7r#wox9XS@0On$O3RZOG%;X&n=rv6EbFRz*?#(2sd+ z$ZzH>0qGd3YYJ3_pnOv)1J~GMQ2vX0^6TQ(fd-#zj3$D18Wu7T-^E> zx)PwAQ$r{X*dE1VkGfgSTx?I^5b3-c#BgS?p$aQMlDAMy<1hEO@3P%uwg1cVFNL=@ zj65X9fq7EU0Nzp{=b0i)ovBd{3@}YwoP&!hV$IPpE1;=rsKYIciuze)Af16q_pGBa zt!ps7!6k^WY$0CZ6!rL5vy8mS4sQ#P@MgQKBWg;4=_66d9v)26{#52umPHG3f)NS( zjIJW0MX5?D`wE=F3L9XHeBJ!5Txty-vZ7p_MZwG|BXeommJ=aTB@ zly4ZQN2(Tr02^lP=)^_}nQ;TkdU$UT6=ez9as`RkM)wv$yqF>#L~Ke$T1?tltm?XX zr2LofH~HuDZ7muH+^e+>+_q*qC0ifsS=F9g)s`5-5!)AZV&OB^TZ{4)Z`(Z%L!^K; zn&3gMTXPzxpU;dgCQUN;jCCCaQ{i0d#Ym_{D1#h&-Q91c0&q}CI z=%s`ZOudii?Ka98!1{;UeBhRV_aZA8xy5i)q}S$W z)8L-+Jfdf#&f)@D3Vk4IZF%W|_7G|mWKLT@Z~xw8G|NOeTHiD}=0=*m(@hQ9o2vMj zH6nrucNm4~S$DWT-WGYls2IH;J)=gcARBWgtAn<*cwKOuNX>4AOh?$R9KI)KycS|9 z(si#;=w9Vu+HaOBdbu zpc#sE!6#Wo1}cjrNJV-8$3AG<5Qc3=s2>p}?)+p@ol%>+QFXlBW%;w;U;kx$c(cv- z)2=OAY%o(OjpUF|Mt9WjEUDs!T6tuZnUg&(y|0tyn%Ft-Tvfz5By@I@t%fAe zMt9NxTKgNO9w~Fwg$%4EWyG*zV8Jb6GgxMvY;m}|>T&a`N>iK5gE@k!xL5UXVtn{+ zyWg+gt+O}F%hl%Q535~v2^L@;DBCRaH?OKkOQN@KvjD#}UoEpq<0MAP2ohw6&#jINM@Z{}VgbF01`quQu(yTH#jWbd8a5R{M8%BEDU2?w9K~>*WnbI3pX@ z?QB~QS(D0W*XwCQIbq|fuq9Ds)ik9jXe%+At7Ez;g~)EByvexTwrfKH6Q-ii zSg~I=dtSEYSYBO~JMh!}{{5epo2zwJl?4kUq^)J^pmy3!Y8&Zp1H$NU>NbGSe|slS zAF0Y=o&KVdBKa4hB=V_1lz3<(0Gsoq14#;xy;@XKOogf`shK55Mir20BaJfSva&@B zAlfn)J_lvELTGgHBMCu7V7iGWKF(_DOCy7j(v>zQ{f#bLXyM2lT#K$bo+Cy)m_Iz!Nq zz5AV(gxg$iwB~_{0wj)Os5`9v+gmVLX~1Kua|~i=0mnOkUDG%j0;8DhDx>^iaYCAr zT)LYRJ}R2EHSq&F&^<~_1XVDdYcUaoqJ+dmcyjGolJ3wNeS+k^DR1OC!!5+(QbMK@ z1}-{UKF02_*dH#}TQTKw*7`iPJt!2O-FChB?nBPY3v+)VAQ2R5t-Yrl-Pc>SKyG0u< zrxO1XZ%6#Bx%dZ=KN5acKOrE05Kj&HD-qul_amCxR3cv*YE~M6&I$%W2boLF6+u`G zU6;!{payg>by+hKFtLAsceQLh@)(;1i3#<@D8A&8T-CF3RYTdh$#|7aObE;JL!hrP zFK$^@0E%&@k;Jp2hf!EMa4dP*$6#FYh$q0mItDa2qUE`=qp3|41A`YVnvkjK-gL1E zFw%~2>rUmTb)-g}pM@a@k#1?j%|fEGuyf;sDSWo>uG&tj?4*uc$C;b}|HJWHPs2_J zbTL;BnV(eEp&<%W{buJ#sPJ;$-&K!90s2U@OZ7u&r`9%dc zX1WMEgPAVOmg!QzW-+ko(-)PO1yh`>&$GyPU%;mc`Y2vsxc&>utoWojIw* z6^=@d(sNlYpWPpA4`NW@1y*&JlD8Ln-)U>K8JM(^ZRzGoe}piQnoL5w2TA zlg5Kqvzro`y_d)1)iRCgG5j6_A$U>Cu_M5-!x*w`#j?$h7K_t< zXB^HgZ_L9oaCt7X;^RZvBZm3s$_Zh0fG9FGwI$4^MPQ{Q5Dh|w`65;+Qe*oC&W~&@3GwcU%^K=dwZ!kUhQPiC5z!K<_ASs= z(H2=x85&sGx~hC)qU;Sr8#0+v{sBa{Mnk&?Bcf0^za!O<0Eozz89-@^?Ck3^%(XSf z)|(P%wAv^6M$=nIXTQRkYeikplN^xMzsYquh}|ftKyA!Hl_m09(hVHw#!_QfGI}19 zxwMDQ(Qcgo%s2%aR)aCOY8M8f=2B zV!8&~gE1}AM0q^2Vo?vWQX7Yj%(d_qN8v+}m$0A4bTNUrZ#97lxfW6+?bzfM^q?-K zN7-mRD{46vUdKrTY5#f_J*wnlq~dp9dI04_+>TY-%h8TC71g^vB_&yJP$m^H(^v^w zcVt9PBC@Yzx==^lxd3fIlD|?1ayI|z=6Ypk|I)T+=uC5VOm6NAsFoijs`JY=*~2q) z-4xf;3hk!_lDySOU{MS&rV}g(I!8|H?>08te5ySy*#5FxCq$PHaDbc8ElTwUlp`y< zQ{P6B10SmmY`|@#8`w;68^4~|K7kw=q|)&bfktgWOO9W<5PgJb$&{E0TG^?eW3YS5wx(oni z+FS;sQs&gmlGNjlN0~tn!c_G7@mQtM0ISyRXe0E;t=eNP*dKvz&xM`2Y4~pFoG!I- zr&JNSBbNHLv!6S{?HJyZL!l_8bo4Gzj~! zXNp7ZWKiTVwXZ>K%@f*c zo{UuAdYWq9BkqQ_J+(AJISr~x zYgJeU0*adYcUM6AHE28oTWsfhAzup$t`gS*kE`%y+XyyI!Ly2} z`??kEFXGN5BitE{vpSryOdv#?bxaGlSjZ-AAaAoDaY0tQ`^_dtKX2i#18v$!lI@8fG;3}j#-2wy<@&mWP@%%q^I0Rb{G+AA_^0? zQwPEn6-uV4hy+9R?<(qq`<4)(B02lb8PfGkckDFy2!pn=!>5lV8x6yUc!SQ6(L{>u zmUgLoNT}~OxlWf;nwxWwpM8x7+_``b1aQckVve^{dz^-Nyj{rYJ*3XJda+v|T2KCf z&;seH4=qXOE1Uo=lRIaNc$EsZEO6x|3kaIGhXl3H6+saNuCWsiHgzmMN&@n!ODd1-LNW^qR!Wb6` zV_YPFK{R38Mq_mzt%g((M4*OL5b?I98w-d|&^!tsu=3xpKDF3?z6(jzp0mWQ2H zX{eG9BY#sX?3KI``I}nDuarH=-x9Ui3=B+Ae#6{&leMh2ge=Ur%+ zRs8<8>^xRIlwc3F#kC298m|eXz@tquH5D)4^`K=EB2nuv5KyA?uNP_2Q2yf)^3RjE>)Arua=l@aXIj zeei3H>L&`c!z>5Hjl<^p65dkCn2|#PPGDhslrw>}tA$p#2lq}-e#AXyt?3fG+bEwn zNB1FzHQg%#Sx=#x_aAru$G^4C{Y+jctgdtHxGO5eOdu9R#YUp03?lf%ZEd{HWYdTTRdgXX%g09r@o6_1uag8HfsJSznj5-akPbc5BJ z^awjvl}eQbQ+4TUW=Q^AG2F?tSV{EHS7+U2`*NchL;Go!m!N)N^k!NEHA8jss86v> zD3=11)FmMRM|$G_RX;E)n4#1%Re%z;WaOT(S`%4AyBoO1&Zt}4qkJB#4t&^YzzfF7)Dt-&(NU&Z?bGJdS{uSP{~xH;92Dnun3-)SC)<9zc0s zG$04^JRDb^m-EGhc_qa!Y7NLH%n{{l3ehbMbFzXOkeAj62GH*);?R^vJ6B0K2ODR- z?~B(#oJ4`ej;Yv;7Tb6E?Ydm|iF7!kX|c=H%|2%6+6*r+8GhVI@`s7|?_tSALMX~V zclV*1_=Mhahes(8Q!H1CYB3d4Vk!<@#Z=K2^~=gzkGI!>Q#3h9n@UEqbh6hK7%G@d zBb=;EI)?XiGPmSDJN&r~!>D`7CC}0gmu~qJTzi5mPx#ss{waC^gz%U%0D4p+x$@^hs+b^ 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

U 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%0D=^)jB27qjg8+H;N0wHJZ26Mw(fM`AcS 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 Uuc09yud#_Bm$8wNpo!uC1D9>R#sB~S literal 0 HcmV?d00001 diff --git a/tests/fixtures/empty_game_build_to_statics.yaml b/tests/fixtures/empty_game_build_to_statics.yaml index db6f63d..25867ba 100644 --- a/tests/fixtures/empty_game_build_to_statics.yaml +++ b/tests/fixtures/empty_game_build_to_statics.yaml @@ -18,8 +18,9 @@ project: title: "{NAME} v{VERSION}" inputs: - # Can be share_link, git, path, or file (PNG or UF2 downloaded from the - # editor). github is an older alias for git. + # Can be share_link, git, path, or file (a PNG or UF2 downloaded from the + # editor, or a ZIP of the project such as GitHub's "Download ZIP"). github is + # an older alias for git. code: type: path value: "tests/fixtures/empty_game" diff --git a/tests/fixtures/empty_game_file_source.yaml b/tests/fixtures/empty_game_file_source.yaml index 05937b3..edbc97b 100644 --- a/tests/fixtures/empty_game_file_source.yaml +++ b/tests/fixtures/empty_game_file_source.yaml @@ -18,8 +18,9 @@ project: title: "{NAME} v{VERSION}" inputs: - # Can be share_link, git, path, or file (PNG or UF2 downloaded from the - # editor). github is an older alias for git. + # Can be share_link, git, path, or file (a PNG or UF2 downloaded from the + # editor, or a ZIP of the project such as GitHub's "Download ZIP"). github is + # an older alias for git. code: type: file value: "tests/fixtures/embedded/empty-game.png" diff --git a/tests/unit/test_embedded_source.py b/tests/unit/test_embedded_source.py index 883e8c4..63f6d9e 100644 --- a/tests/unit/test_embedded_source.py +++ b/tests/unit/test_embedded_source.py @@ -1,7 +1,9 @@ import hashlib import json import lzma +import stat import struct +import zipfile from pathlib import Path import pytest @@ -14,9 +16,11 @@ UF2_FLAG_NOT_MAIN_FLASH, UF2_MAGIC0, UF2_MAGIC1, + ZIP_MAX_TOTAL_SIZE, EmbeddedSourceError, extract_project, read_embedded_files, + read_project_files, ) from mkcd2app.config import load_config_from_yaml from mkcd2app.models.config import FileCodeSource @@ -25,6 +29,7 @@ DUCK_UF2 = FIXTURES / "falling-duck.uf2" DUCK_PNG = FIXTURES / "falling-duck.png" EMPTY_PNG = FIXTURES / "empty-game.png" +RACERS_ZIP = FIXTURES / "Racers-master.zip" # GitHub "Download ZIP" of Racers EMPTY_GAME_DIR = Path(__file__).parent.parent / "fixtures" / "empty_game" DUCK_FILES = {"README.md", "assets.json", "main.blocks", "main.ts", "pxt.json"} DUCK_MAIN_TS_SHA256 = "2100e5d1f310a31abac094e6173c66b7394c18a67c466baa9a655623feded775" @@ -266,7 +271,7 @@ def test_uf2_without_source(tmp_path: Path) -> None: def test_neither_format(tmp_path: Path) -> None: path = tmp_path / "game.txt" path.write_text("hello") - with pytest.raises(EmbeddedSourceError, match="neither a PNG nor a UF2"): + with pytest.raises(EmbeddedSourceError, match="not a PNG, UF2 or ZIP"): read_embedded_files(path) @@ -289,6 +294,115 @@ def test_path_traversal_rejected(tmp_path: Path, name: str) -> None: assert not (tmp_path / "evil.ts").exists() +# -------------------------------------------------------------------- ZIP ----- + + +def make_zip(path: Path, entries: dict[str, bytes]) -> None: + with zipfile.ZipFile(path, "w", zipfile.ZIP_DEFLATED) as zf: + for name, data in entries.items(): + zf.writestr(name, data) + + +SAMPLE_BYTES = {k: v.encode() for k, v in SAMPLE_FILES.items()} + + +def test_racers_github_zip(tmp_path: Path) -> None: + dest = tmp_path / "out" + names = extract_project(RACERS_ZIP, dest) + # The Racers-master/ wrapper is stripped and the whole repo is kept + assert {"pxt.json", "main.ts", "main.blocks", "test.ts"} <= set(names) + assert "assets/js/binary.js" in names + assert ".github/workflows/makecode.yml" in names + assert not any(n.startswith("Racers-master") for n in names) + pxt = json.loads((dest / "pxt.json").read_text(encoding="utf-8")) + assert pxt["name"] == "Racers v1.3.2" + for name in pxt["files"] + pxt["testFiles"]: + assert (dest / name).is_file(), name + # Binary files come through untouched + with zipfile.ZipFile(RACERS_ZIP) as zf: + png = zf.read("Racers-master/.github/makecode/blocks.png") + assert (dest / ".github" / "makecode" / "blocks.png").read_bytes() == png + + +@pytest.mark.parametrize("prefix", ["", "Game-main/"]) +def test_zip_root_or_wrapper(tmp_path: Path, prefix: str) -> None: + src = tmp_path / "game.zip" + entries = {prefix + k: v for k, v in SAMPLE_BYTES.items()} + entries[prefix + "assets/img.bin"] = bytes(range(256)) + make_zip(src, entries) + expected = SAMPLE_BYTES | {"assets/img.bin": bytes(range(256))} + assert read_project_files(src) == expected + + +def test_zip_keeps_line_endings(tmp_path: Path) -> None: + src = tmp_path / "game.zip" + make_zip(src, {"pxt.json": b"{}", "main.ts": b"a\r\nb\n"}) + extract_project(src, tmp_path / "out") + assert (tmp_path / "out" / "main.ts").read_bytes() == b"a\r\nb\n" + + +@pytest.mark.parametrize( + "entries", + [ + {"main.ts": b""}, # no pxt.json at all + {"a/b/pxt.json": b"{}"}, # nested too deep + {"a/pxt.json": b"{}", "b/main.ts": b""}, # two top-level folders + ], +) +def test_zip_without_project_root(tmp_path: Path, entries: dict[str, bytes]) -> None: + src = tmp_path / "game.zip" + make_zip(src, entries) + with pytest.raises(EmbeddedSourceError, match="no pxt.json"): + read_project_files(src) + + +def test_zip_skips_symlinks(tmp_path: Path) -> None: + src = tmp_path / "game.zip" + with zipfile.ZipFile(src, "w") as zf: + zf.writestr("pxt.json", b"{}") + link = zipfile.ZipInfo("evil") + link.external_attr = (stat.S_IFLNK | 0o777) << 16 + zf.writestr(link, "/etc/passwd") + assert read_project_files(src) == {"pxt.json": b"{}"} + + +def test_zip_path_traversal_rejected(tmp_path: Path) -> None: + src = tmp_path / "game.zip" + make_zip(src, {"pxt.json": b"{}", "../evil.ts": b"x"}) + dest = tmp_path / "out" + with pytest.raises(EmbeddedSourceError, match="Refusing to write outside"): + extract_project(src, dest) + assert not dest.exists() + assert not (tmp_path / "evil.ts").exists() + + +def test_zip_bomb_rejected(tmp_path: Path) -> None: + src = tmp_path / "bomb.zip" + with zipfile.ZipFile(src, "w", zipfile.ZIP_DEFLATED) as zf: + zf.writestr("pxt.json", b"{}") + with zf.open("big.bin", "w", force_zip64=True) as f: + chunk = b"\0" * 2**20 + for _ in range(ZIP_MAX_TOTAL_SIZE // len(chunk) + 1): + f.write(chunk) + with pytest.raises(EmbeddedSourceError, match="uncompressed"): + read_project_files(src) + + +def test_corrupt_zip(tmp_path: Path) -> None: + src = tmp_path / "game.zip" + make_zip(src, SAMPLE_BYTES) + src.write_bytes(src.read_bytes()[:-30]) # cut off the central directory + with pytest.raises(EmbeddedSourceError, match="corrupt"): + read_project_files(src) + + +def test_read_embedded_files_rejects_zip(tmp_path: Path) -> None: + src = tmp_path / "game.zip" + make_zip(src, SAMPLE_BYTES) + with pytest.raises(EmbeddedSourceError, match="not a PNG or UF2"): + read_embedded_files(src) + + # ----------------------------------------------------------------- config ----- From d1f88e1f141287005ce935f6a91b394e902d1afe Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 3 Nov 2026 23:30:01 +0000 Subject: [PATCH 24/46] Add e2e test building a GitHub-style ZIP of the empty game The test zips tests/fixtures/empty_game under an empty_game-master/ wrapper at run time and builds it as a file source, checking the extracted files byte for byte against the checkout. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Mbb9ZdVK71NaCgpyqUP1Wf --- docs/PROJECT_CONTEXT.md | 4 +++- tests/e2e/test_statics.py | 40 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index 4f1b307..5725d8e 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -135,7 +135,9 @@ configs; `fetch_code` handles both in one `case`. Racers, saved with 2.0.48; it builds on 4.0.14 with the mismatch warning but pulls GitHub extensions, so it isn't in e2e). ZIP cases also cover the wrapper folder, no or ambiguous `pxt.json`, symlinks, traversal, the size limit and truncation. The e2e suite also builds `empty-game.png` through - `empty_game_file_source.yaml`. The duck builds end to end on 4.1.27, and on 4.0.14 + `empty_game_file_source.yaml`, and a ZIP of `tests/fixtures/empty_game` made at test + time with a GitHub-style `empty_game-master/` wrapper (checked byte for byte + against the checkout, so CRLF on Windows is fine). The duck builds end to end on 4.1.27, and on 4.0.14 with the version-mismatch warning, but isn't in e2e. Nothing covers the redun patches yet. ## Roadmap diff --git a/tests/e2e/test_statics.py b/tests/e2e/test_statics.py index 475e24b..ad32ea1 100644 --- a/tests/e2e/test_statics.py +++ b/tests/e2e/test_statics.py @@ -1,6 +1,7 @@ import re import shutil import subprocess +import zipfile from collections.abc import Generator from pathlib import Path @@ -136,3 +137,42 @@ def test_empty_game_file_source_build_to_static() -> None: assert list((static_dist / "assets").glob("*.js")), "expected js files" finally: shutil.rmtree(Path.cwd() / FILE_BUILD_DIR, ignore_errors=True) + + +def test_empty_game_zip_file_source_build_to_static(tmp_path: Path) -> None: + # Zip the checked-in empty game the way GitHub's "Download ZIP" lays it out (one + # -/ wrapper folder) and build it as a `file` source + game_dir = FIXTURES / "empty_game" + zip_path = tmp_path / "empty_game-master.zip" + with zipfile.ZipFile(zip_path, "w", zipfile.ZIP_DEFLATED) as zf: + zf.mkdir("empty_game-master") + for f in sorted(game_dir.iterdir()): + zf.write(f, f"empty_game-master/{f.name}") + + build_dir = tmp_path / "build" + # as_posix: backslashes in a double-quoted YAML string are escape sequences + template = (FIXTURES / "empty_game_file_source.yaml").read_text(encoding="utf-8") + yaml_text = template.replace( + "tests/fixtures/embedded/empty-game.png", zip_path.as_posix() + ).replace("./examples/testing/empty_game_file_build", build_dir.as_posix()) + assert zip_path.as_posix() in yaml_text and build_dir.as_posix() in yaml_text + yaml_path = tmp_path / "empty_game_zip_source.yaml" + yaml_path.write_text(yaml_text, encoding="utf-8") + + result = run_mkcd2app("build", str(yaml_path), "--full-rebuild") + + # The wrapper is stripped and every file comes through byte for byte (the ZIP + # was made from the checkout, so this holds with CRLF on Windows too) + source = build_dir / "empty-game-source" + extracted = {p.name for p in source.iterdir()} + assert extracted == {p.name for p in game_dir.iterdir()} | {"mkc.json"} + for f in game_dir.iterdir(): + assert (source / f.name).read_bytes() == f.read_bytes(), f.name + output = result.stdout + result.stderr + assert "Project was saved with Arcade" not in output + + static_dist = build_dir / "empty-game-website-filled-built" / "dist" + assert (static_dist / "index.html").is_file(), "expected index.html present" + assert list((static_dist / "assets").glob("*.js")), "expected js files" + singlefile_dist = build_dir / "empty-game-website-filled-singlefile-built" / "dist" + assert [p.name for p in singlefile_dist.iterdir()] == ["index.html"] From d069bfbcf1603b48a9c29a8bdb80ce52f6cecba6 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 3 Nov 2026 23:49:19 +0000 Subject: [PATCH 25/46] Fix semver, title templating, and index.html filling bugs - is_strict_semver uses fullmatch so "4.0.14\n" is rejected; BuildConfig.target is validated as strict semver when the config loads. - project.title is rendered with a single-pass substitution of {NAME}, {VERSION} and {AUTHOR} instead of str.format, so other braces no longer crash the build and substituted values aren't expanded again. - The title is HTML-escaped before it goes into index.html. - The index.html title and favicon markers must each appear exactly once; template drift now raises instead of silently doing nothing. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Mbb9ZbdDZ5goMxMi7N2f4j --- docs/PROJECT_CONTEXT.md | 8 +++ src/mkcd2app/build_project/website.py | 99 ++++++++++++++++++++++----- src/mkcd2app/models/config.py | 18 ++++- src/mkcd2app/utils/text.py | 10 ++- 4 files changed, 113 insertions(+), 22 deletions(-) diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index 5725d8e..e67091a 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -212,3 +212,11 @@ configs; `fetch_code` handles both in one `case`. `load_config_from_yaml` raising `AttributeError` on an unknown version, the stale `fill_website_template` docstring, and the stray comment in `Racers offline.yaml`. +- Fixed (from the test-coverage review): `is_strict_semver` accepted a trailing + newline (now `fullmatch`), and `BuildConfig.target` is now validated as strict + semver at config load. `project.title` is no longer passed through `str.format`: + `render_title` substitutes only `{NAME}`/`{VERSION}`/`{AUTHOR}` in one pass and + leaves other braces literal. The title is HTML-escaped into `index.html`, and + `fill_index_html` raises if the template's ``/favicon markers aren't each + present exactly once, instead of silently shipping "vite-project" and no icon. + Unit tests for these are still to be written. diff --git a/src/mkcd2app/build_project/website.py b/src/mkcd2app/build_project/website.py index f4a923c..9862e97 100644 --- a/src/mkcd2app/build_project/website.py +++ b/src/mkcd2app/build_project/website.py @@ -1,6 +1,8 @@ import base64 +import html import json import logging +import re import shutil from pathlib import Path @@ -8,6 +10,7 @@ from redun.file import ContentDir, ContentFile from mkcd2app.config import load_config_from_yaml +from mkcd2app.models.config import Project from mkcd2app.utils.logger import create_logger from mkcd2app.utils.paths import get_templates_npm_cache_dir from mkcd2app.utils.run import run_cmd @@ -15,6 +18,78 @@ logger = create_logger(name=__name__, level=logging.INFO) +TITLE_PLACEHOLDER = re.compile(r"\{(NAME|VERSION|AUTHOR)\}") + +INDEX_HTML_TITLE_MARKER = "<title>vite-project" +INDEX_HTML_FAVICON_MARKER = ( + '' +) + + +def render_title(project: Project) -> str: + """ + Substitute ``{NAME}``, ``{VERSION}`` and ``{AUTHOR}`` in ``project.title``. + + Done in a single pass, so substituted values are never expanded again. Any + other braces are kept as is (this is deliberately not ``str.format``, which + crashes on unknown fields and allows format specs and attribute access). + + :param project: The project metadata. + :return: The rendered (unescaped) title. + """ + values = { + "NAME": project.name, + "VERSION": project.version, + "AUTHOR": project.author, + } + return TITLE_PLACEHOLDER.sub(lambda m: values[m.group(1)], project.title) + + +def _replace_marker_once(text: str, marker: str, replacement: str) -> str: + """ + Replace ``marker`` in ``text``, requiring it to occur exactly once. + + :raises RuntimeError: If the marker is missing or occurs more than once, which + means the template has drifted from what the filler expects. + """ + count = text.count(marker) + if count != 1: + raise RuntimeError( + f"Template index.html must contain {marker!r} exactly once, " + f"found {count} occurrence(s)" + ) + return text.replace(marker, replacement) + + +def fill_index_html( + index_html_text: str, title: str, favicon: bytes | None = None +) -> str: + """ + Set the title and (optionally) inline the favicon in the template's index.html. + + :param index_html_text: The template's index.html. + :param title: The rendered, unescaped title. It is HTML-escaped here. + :param favicon: The favicon.ico bytes to inline as a data URI, or None to leave + the favicon link alone. + :return: The filled index.html. + :raises RuntimeError: If a marker the filler relies on is missing. + """ + index_html_text = _replace_marker_once( + index_html_text, + INDEX_HTML_TITLE_MARKER, + f"{html.escape(title, quote=False)}", + ) + if favicon is not None: + favicon_b64 = base64.b64encode(favicon).decode("ascii") + favicon_data_uri = f"data:image/x-icon;base64,{favicon_b64}" + index_html_text = _replace_marker_once( + index_html_text, + INDEX_HTML_FAVICON_MARKER, + f'', + ) + return index_html_text + + def _website_dir(build_dir: Path, name: str, suffix: str) -> Path: """Return a directory path like ``build_dir/{name}-website{suffix}``.""" return build_dir / f"{name}-website{suffix}" @@ -84,28 +159,16 @@ def fill_website_template( logger.debug(f"Copying ---simulator.html from {simulator_html_path}") shutil.copy(simulator_html_path, asset_path) - title = config.project.title.format( - NAME=config.project.name, - VERSION=config.project.version, - AUTHOR=config.project.author, - ) + title = render_title(config.project) logger.debug(f'Using title "{title}" in index.html') + favicon_path = Path(support_path.path) / "favicon.ico" + favicon = favicon_path.read_bytes() if favicon_path.exists() else None index_html_path = dst / "index.html" - index_html_text = index_html_path.read_text(encoding="utf-8") - index_html_text = index_html_text.replace( - "vite-project", f"{title}" + index_html_text = fill_index_html( + index_html_path.read_text(encoding="utf-8"), title, favicon ) - - favicon_path = Path(support_path.path) / "favicon.ico" - if favicon_path.exists(): - favicon_b64 = base64.b64encode(favicon_path.read_bytes()).decode("ascii") - favicon_data_uri = f"data:image/x-icon;base64,{favicon_b64}" - index_html_text = index_html_text.replace( - '', - f'', - ) + if favicon is not None: logger.debug("Inlined favicon.ico into index.html") - index_html_path.write_text(index_html_text, encoding="utf-8") logger.debug("Updating package.json") diff --git a/src/mkcd2app/models/config.py b/src/mkcd2app/models/config.py index 79bdb0f..c6f076c 100644 --- a/src/mkcd2app/models/config.py +++ b/src/mkcd2app/models/config.py @@ -1,6 +1,8 @@ from typing import Annotated, Literal -from pydantic import AnyUrl, BaseModel, Field, HttpUrl, RootModel +from pydantic import AnyUrl, BaseModel, Field, HttpUrl, RootModel, field_validator + +from mkcd2app.utils.text import raise_for_invalid_strict_semver # Source code can be a share link, git repo, a path on disk, or a file: a PNG/UF2 # downloaded from the editor with the project embedded, or a ZIP of the project @@ -90,6 +92,14 @@ class Inputs(BaseModel): # Project metadata class Project(BaseModel): + """ + ``title`` is the window/page title. The placeholders ``{NAME}``, ``{VERSION}`` + and ``{AUTHOR}`` are replaced with the matching fields, in a single pass (so a + substituted value is never expanded again). Any other text, including other + braces such as ``{Game}`` or ``{}``, is kept literally; there is no brace + escaping, so ``{{NAME}}`` becomes ``{}``. + """ + name: str path_friendly_name: str description: str | None = None @@ -142,5 +152,11 @@ class BuildConfig(BaseModel): target: str = Field(..., alias="target") outputs: list[OutputOption] + @field_validator("target") + @classmethod + def _check_target_is_strict_semver(cls, v: str) -> str: + raise_for_invalid_strict_semver(v) + return v + class Config: populate_by_name = True diff --git a/src/mkcd2app/utils/text.py b/src/mkcd2app/utils/text.py index f354984..d113473 100644 --- a/src/mkcd2app/utils/text.py +++ b/src/mkcd2app/utils/text.py @@ -24,12 +24,16 @@ def extract_meta_comment(file_path: Path) -> BinaryJSMetadata: # Thanks Gemini -STRICT_NUMERIC_SEMVER = re.compile(r"^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$") +STRICT_NUMERIC_SEMVER = re.compile(r"(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)") def is_strict_semver(version: str) -> bool: - """Validates string using official SemVer 2.0.0 regex pattern.""" - return bool(STRICT_NUMERIC_SEMVER.match(version)) + """ + Whether the string is exactly MAJOR.MINOR.PATCH (no prefix, pre-release, build + metadata, or surrounding whitespace). + """ + # fullmatch, not match with ^...$: $ also matches before a trailing newline + return STRICT_NUMERIC_SEMVER.fullmatch(version) is not None def raise_for_invalid_strict_semver(version: str) -> None: From bcb83937e20e2e49a72003a86baec84be6008087 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 3 Nov 2026 23:54:18 +0000 Subject: [PATCH 26/46] Add coverage reporting and unit/e2e test markers pytest-cov runs on every pytest invocation (--no-cov to skip), and tests/conftest.py marks each test unit or e2e by its directory, so `uv run pytest -m unit` runs only the fast offline tests. CI is unchanged: `uv run pytest` still runs everything. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Mbb9ZdHu1tFP2ZhM62pbgq --- .gitignore | 2 + CLAUDE.md | 14 ++++++- pyproject.toml | 14 +++++++ tests/conftest.py | 21 +++++++++++ uv.lock | 93 +++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 tests/conftest.py diff --git a/.gitignore b/.gitignore index dbe7f58..dc19d7a 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ examples/* !examples/*.yaml !examples/*.png .idea +.coverage +.coverage.* diff --git a/CLAUDE.md b/CLAUDE.md index f29a8f9..6d52771 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -17,7 +17,9 @@ uv sync # install deps + the mkcd2app entry point uv run ruff check . # lint uv run ruff format --check . # format check (drop --check to apply) uv run mypy . # strict type check -uv run pytest # all tests +uv run pytest # all tests, with a coverage report +uv run pytest -m unit # only the fast offline tests (tests/unit) +uv run pytest --no-cov # skip coverage (e.g. when using a debugger) uv run pytest tests/e2e/test_statics.py::test_empty_game_build_to_statics_static ``` @@ -32,6 +34,16 @@ uv run mkcd2app target install 4.0.14 uv run mkcd2app --debug build "examples/Racers.yaml" ``` +Notes on the unit tests: +- `tests/conftest.py` marks every test `unit` or `e2e` by its directory, and holds + the `mkcd2app_home` fixture (points `MKCD2APP_HOME` at a temp dir). Keep it the only + `conftest.py`: mypy fails on two modules both named `conftest`. +- Shared helpers (`make_config_yaml`, `FakeRunCmd`, `capture_logger`, ...) are in + `tests/unit/helpers.py`, imported as `from helpers import ...`. +- Call a redun task's plain function with `.func(...)`, and monkeypatch `run_cmd` in + the module under test, so no `npm`/`mkc` runs. +- Our loggers set `propagate = False`, so `caplog` needs `capture_logger` to see them. + Notes on the e2e tests: - Run pytest from the repo root: tests use `Path.cwd()` and repo-relative paths, and shell out to the installed `mkcd2app` executable rather than importing it. diff --git a/pyproject.toml b/pyproject.toml index 3730fd5..eb911d3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,6 +31,7 @@ dev = [ "mypy>=2.3.0", "pre-commit>=4.6.1", "pytest>=9.1.1", + "pytest-cov>=7.1.0", "pytest-timeout>=2.4.0", "ruff>=0.16.0", "types-pyyaml>=6.0.12.20260724", @@ -42,3 +43,16 @@ target-version = "py314" [tool.mypy] python_version = "3.14" strict = true + +[tool.pytest.ini_options] +testpaths = ["tests"] +# Coverage is on by default; pass --no-cov to turn it off (e.g. when debugging) +addopts = ["--strict-markers", "--cov", "--cov-report=term-missing"] +# Applied by directory in tests/conftest.py, so tests don't need to mark themselves +markers = [ + "unit: fast, offline tests under tests/unit", + "e2e: slow tests under tests/e2e that install the toolchain and build real games", +] + +[tool.coverage.run] +source = ["mkcd2app"] diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000..95638df --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,21 @@ +from pathlib import Path + +import pytest + +TESTS_DIR = Path(__file__).parent + + +def pytest_collection_modifyitems(items: list[pytest.Item]) -> None: + """Mark each test `unit` or `e2e` by its directory, so `-m unit` selects them.""" + for item in items: + parts = item.path.relative_to(TESTS_DIR).parts + if parts and parts[0] in ("unit", "e2e"): + item.add_marker(parts[0]) + + +@pytest.fixture +def mkcd2app_home(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> Path: + """Point MKCD2APP_HOME at a temp dir, so the test can't touch the real user dirs.""" + home = tmp_path / "mkcd2app-home" + monkeypatch.setenv("MKCD2APP_HOME", str(home)) + return home diff --git a/uv.lock b/uv.lock index 0f83316..5748348 100644 --- a/uv.lock +++ b/uv.lock @@ -288,6 +288,83 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, ] +[[package]] +name = "coverage" +version = "7.17.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/02/9b/639ff6f5b3158999fab6f03cb7597526ad57e15cad0c6cfa9b64bac874dc/coverage-7.17.1.tar.gz", hash = "sha256:5c5c77f95a0e83e6b79eff948d251c9911cfd61d67f5059159fc25b7bc4aec27", size = 995565, upload-time = "2026-11-03T12:38:47.608Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/80/3b/41fb1e5297e4a14ec9a4f8d620b7c5bc4acd62ad8247a84287c5f05a3611/coverage-7.17.1-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:932a542ea396dc842d0d2882ac95f33242c0029ddc226323c243d7e35978bfde", size = 228890, upload-time = "2026-11-03T12:37:13.495Z" }, + { url = "https://files.pythonhosted.org/packages/80/a0/e7b12a2e40f9af75ed4e64cbf7a9bfd17b9e1834bebd4e46b5965cb0be06/coverage-7.17.1-cp314-cp314-android_24_x86_64.whl", hash = "sha256:6cd9deae02bf24bf16fd72d1c505e81beb4cd0bbfc1b75af8ba1096a8461e62f", size = 229006, upload-time = "2026-11-03T12:37:14.729Z" }, + { url = "https://files.pythonhosted.org/packages/6e/d7/3b69b6d1fdaeb399c6a0f0dee5b94b337f5248c0d0d5b78d736563d7eda6/coverage-7.17.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:d1d62732067fe938796db0b460b0788db69cef8f91e802747eb59b2d4c1da9f9", size = 227174, upload-time = "2026-11-03T12:37:16.022Z" }, + { url = "https://files.pythonhosted.org/packages/1f/5a/a7fa52b9a98b98fbbeecc18abbd0bdacb292c4121a31497b39f54146a0d1/coverage-7.17.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:7681bd8f1eb33c778fff244bd06dacabf1e4325fa578c8265367216ac8b5a059", size = 227475, upload-time = "2026-11-03T12:37:17.356Z" }, + { url = "https://files.pythonhosted.org/packages/12/d3/394272eadeb616010db92d4d650b983c54b0596be87685c242b9e1f35b1f/coverage-7.17.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:4c948f185d1ca81ee2f1383f1a51387277bf6da5b14a469136031827d51d0ced", size = 227712, upload-time = "2026-11-03T12:37:19.062Z" }, + { url = "https://files.pythonhosted.org/packages/3a/5a/35108cca71cb81b671492aede98a422330bca2558aa07d2cf3ee249ff06e/coverage-7.17.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9db719b76551607ca01b5b5464f554bec78344fff4a7f09c58f4d55cf9499cd7", size = 227866, upload-time = "2026-11-03T12:37:20.408Z" }, + { url = "https://files.pythonhosted.org/packages/5d/56/21400d3216320c3214bcd88b6d57e7217a4475d37494cfc05b2c2984b6f0/coverage-7.17.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:612b22d9322a0728bc209122847fd48d6353eea92e314f70a1278350dcd48de3", size = 259786, upload-time = "2026-11-03T12:37:21.688Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ba/a8ab57e646da306d854613bbf2972a8a20257fecb5edb13ca2378774af9b/coverage-7.17.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:22edba362121a928bb4bff377915e5ce9b8f2e254239f93f38931de021485d32", size = 262792, upload-time = "2026-11-03T12:37:23.015Z" }, + { url = "https://files.pythonhosted.org/packages/c1/94/5e40670e4893e8e8cb338ae80f7c43e6cc47ce1f49891a2d02b94184605f/coverage-7.17.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f5ee8e36fd04c566fdf3d0e978b343eb1b96e9444484c199a32648cd60b0c2e4", size = 263774, upload-time = "2026-11-03T12:37:24.314Z" }, + { url = "https://files.pythonhosted.org/packages/af/1e/cf67121055a6540e7ad0060dac0d2061bd39ac9bc45fe9168a47c0fa40c9/coverage-7.17.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4a87e4286f0743d0e2a0eba077453595afb6cfb2d0d18b25dea74dc9553e8dad", size = 266251, upload-time = "2026-11-03T12:37:25.535Z" }, + { url = "https://files.pythonhosted.org/packages/18/8d/b2884aa3cee232c924393ba0b7db5d44f520e02a56497e176e5128e9a4ef/coverage-7.17.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:806ab974da8a718697a329a126ae3655f0c8d8bfd12a7ca6c2089a2350ed0485", size = 259565, upload-time = "2026-11-03T12:37:26.798Z" }, + { url = "https://files.pythonhosted.org/packages/fc/11/1c0ccea4d6d35ac421d10f2b210bb61f3e412ad769bd5cc08011876c7577/coverage-7.17.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2cd58acb64ad41f2e01a4d35e35c1060a1dd64699a146caef8c360cf7408083a", size = 261626, upload-time = "2026-11-03T12:37:28.196Z" }, + { url = "https://files.pythonhosted.org/packages/13/1a/ba1b45a8da773e70e5b1cdd08450a5a7cda84ab31a7aeb2c2a8c94361b2b/coverage-7.17.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:354ceff3c2233ed017df0f4d5d65dcd87c350ca6a129fcaa9478a7031957b03c", size = 259668, upload-time = "2026-11-03T12:37:29.526Z" }, + { url = "https://files.pythonhosted.org/packages/fc/ff/5e4ca2c677569f439269a0aab412f8e198751660412b4613ffa3f2473e5f/coverage-7.17.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:b927e5e4708344f94011bcb36a58023f82d2f0c8757ff2c5bf869d5c6ca0aa16", size = 263965, upload-time = "2026-11-03T12:37:30.912Z" }, + { url = "https://files.pythonhosted.org/packages/14/28/d0880224c1f8182e523c454aadd30c89af959b477245463decc7bf166cc1/coverage-7.17.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:65ad67be7eb4c9c48814c35c53f5fc1cf6ba17892b0e183ef3413b991085df62", size = 259298, upload-time = "2026-11-03T12:37:32.282Z" }, + { url = "https://files.pythonhosted.org/packages/5a/64/0f7c0ba50b6d3083478be28b0ffdc1de9d16df1d8abfc920de164e8ef60c/coverage-7.17.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9e85d83d4e41e7ec7fcd026765947ae1b068eb134ba820c8ebb3bba290878972", size = 261408, upload-time = "2026-11-03T12:37:33.999Z" }, + { url = "https://files.pythonhosted.org/packages/92/71/6eab8cd02e941a8473b1e1ed579848e51a3ecaaf8300e1a43d4059d32fa0/coverage-7.17.1-cp314-cp314-win32.whl", hash = "sha256:457ad13b8ec34f5dd607cc9b68c4f6af579dfe1bb6368a25e334976860c03329", size = 229639, upload-time = "2026-11-03T12:37:35.238Z" }, + { url = "https://files.pythonhosted.org/packages/54/42/fb8cedbe674bcdecf37327b014764c98a6bbcbdf2b5faf4ff12ad850555e/coverage-7.17.1-cp314-cp314-win_amd64.whl", hash = "sha256:73a8278e7dcd338e8be66eb66deea97dc290cdc0b50e176bf96095dd498addb3", size = 230271, upload-time = "2026-11-03T12:37:36.738Z" }, + { url = "https://files.pythonhosted.org/packages/08/78/2fc61e1a128f21a6673e3ee5273e494f02489c6f2b818152db534d0c879f/coverage-7.17.1-cp314-cp314-win_arm64.whl", hash = "sha256:3be94c7a728f5bdeb09fe6d0b89542e57e0162a80555a205eec849fc25e45695", size = 230121, upload-time = "2026-11-03T12:37:38.417Z" }, + { url = "https://files.pythonhosted.org/packages/f4/ab/bcbd5e621a8c6e14336fbb0570a2d4268e1259e7ed1f0704701c314608b9/coverage-7.17.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:5208b4cbd83fdbf6cce21fb6137e1986c9c5a5eda6400029ab1b448c5b8f9747", size = 228174, upload-time = "2026-11-03T12:37:39.637Z" }, + { url = "https://files.pythonhosted.org/packages/9a/0b/d0307ba45d2f46d1ebfd421e9eb8201bb3bbdc5edd388432e33c3c2f850b/coverage-7.17.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:efb34d2401f0ef64502f46f9f077b376836cb5cdb98b5d481da534487f7d3f15", size = 228551, upload-time = "2026-11-03T12:37:41.044Z" }, + { url = "https://files.pythonhosted.org/packages/ce/b3/d855372f3e102e3ad9f4bdb8fbdd71df501a932b17b8da9dcd14dd2188f3/coverage-7.17.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:70c1747f2c7b146396da314ec0a7e45ac3dc25b883f39fc7e73cbbb42ee02a6a", size = 268543, upload-time = "2026-11-03T12:37:42.233Z" }, + { url = "https://files.pythonhosted.org/packages/5a/2c/c0dffce72ab78176d2fc9d0c695399394b172a8fef880f73670bd9061759/coverage-7.17.1-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:9412b525747a004fb450432aba6b0ed28891c6d224507020f2c1b05787b9c9da", size = 271097, upload-time = "2026-11-03T12:37:43.461Z" }, + { url = "https://files.pythonhosted.org/packages/cb/54/1e810bf8040b335a9a1434aa29ac278027413b0209638674481a7a4439e6/coverage-7.17.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:45946d12c25ceb14967e873a0a46526cfe337b075b6dff917603fd4b5448b90a", size = 273718, upload-time = "2026-11-03T12:37:44.734Z" }, + { url = "https://files.pythonhosted.org/packages/0a/5d/c8c8becee8228047577f7b352902fe34a4cca5691be12120caf3faf71d5d/coverage-7.17.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:76e08d61b3791098befa989da61b899ad0e4b36686534cd0078d68e940a97eed", size = 275208, upload-time = "2026-11-03T12:37:46.06Z" }, + { url = "https://files.pythonhosted.org/packages/26/fb/b00edd3abb50265c7165922b1a6820fd4b34d2917f5d573fa19ae32f73dc/coverage-7.17.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c5b025803be4dee29fafc44aa6bc20255842ab26dc27de19cd0e90c4e8bf6ac9", size = 268433, upload-time = "2026-11-03T12:37:47.833Z" }, + { url = "https://files.pythonhosted.org/packages/45/af/42809663d7a98ba6f95dd976527a0b5d762eed87701dab71af4e14e60adb/coverage-7.17.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:782d2f15f59864202d3939e9bea35b8a6fae6a1d4ef489beca7bacd24058b160", size = 271007, upload-time = "2026-11-03T12:37:49.118Z" }, + { url = "https://files.pythonhosted.org/packages/92/4f/9b93e96f43f8dcc10bba69ac1ade3e707b91581d04847e05f29abf0b0136/coverage-7.17.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:b34dac11d9e03897f64732e3cb3a3e8dba29a7f32a34eacb9536591099fc254f", size = 268434, upload-time = "2026-11-03T12:37:50.413Z" }, + { url = "https://files.pythonhosted.org/packages/5b/ee/bc1983e6715cd211c21dc0389d1d32b789f7dfec31988cc67016aa5ed7a9/coverage-7.17.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:a01f6f44bd92958dba923aa414d1b868a74d175574adb50d50d60157f85da242", size = 272731, upload-time = "2026-11-03T12:37:51.802Z" }, + { url = "https://files.pythonhosted.org/packages/53/29/7a7be7b0f778d48f13908f1bb8eb0d02f9e09448d3852974cc235effbe0f/coverage-7.17.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:62726d1c435d1476de876bd9c6656cc69d157e0e3c419cceb4a8a588db55017c", size = 267851, upload-time = "2026-11-03T12:37:53.083Z" }, + { url = "https://files.pythonhosted.org/packages/f1/80/9b8e09889158a06d9776551d7765ac2627ae21428189af39d21818a314f3/coverage-7.17.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:05858414f6c3557c9ce2d4348215997c3834bdb95a9f6f62e97ab558d1960fc5", size = 269785, upload-time = "2026-11-03T12:37:54.396Z" }, + { url = "https://files.pythonhosted.org/packages/1b/d6/975b76074ce079c3a91248b94bab4f938f5fc39970b384cb292d26b3bfa2/coverage-7.17.1-cp314-cp314t-win32.whl", hash = "sha256:04d8ce47c70cc3f8e760cfabac5c3182f3e03829dc3cecfbfca69ff7d7ee48a6", size = 229953, upload-time = "2026-11-03T12:37:55.731Z" }, + { url = "https://files.pythonhosted.org/packages/bb/34/b55e15f3a916bb9111bad357a44413bc123346f4b72ee002f810c2e8eecc/coverage-7.17.1-cp314-cp314t-win_amd64.whl", hash = "sha256:006453b2515ea4c44a857e07b985429038b164080fa777cabea6d22d2e686325", size = 230884, upload-time = "2026-11-03T12:37:56.971Z" }, + { url = "https://files.pythonhosted.org/packages/d1/73/55ce659eb8a4e31c48ff433f4910dc48fb843a672a64f51fc6dd918d00b1/coverage-7.17.1-cp314-cp314t-win_arm64.whl", hash = "sha256:b1dc930b405b761efbfef2b3782ae5d12e22708d8086875c5f1e64318b2b857f", size = 230453, upload-time = "2026-11-03T12:37:58.467Z" }, + { url = "https://files.pythonhosted.org/packages/8d/76/a3443e64fd29e8709f274875d56f9d0c399d13d2146ff785865ec8df7766/coverage-7.17.1-cp315-cp315-android_24_arm64_v8a.whl", hash = "sha256:67e193d7c93aa93870d78594adfbe2926e9ca8bbc92c963c011092441880edb0", size = 228888, upload-time = "2026-11-03T12:37:59.709Z" }, + { url = "https://files.pythonhosted.org/packages/28/37/de21f8bebe25f3bf95f368451db12e884147514139fd0b8bc18990b2a1bb/coverage-7.17.1-cp315-cp315-android_24_x86_64.whl", hash = "sha256:eea6030a00b96f656016ea58b19d61fad3de7add8340e2e7c3b032d1516561d5", size = 229006, upload-time = "2026-11-03T12:38:01.022Z" }, + { url = "https://files.pythonhosted.org/packages/a5/41/fbf7073c3d6b053106352bfd2b4de8e0c9d27756fccc22d6b0ee20a892e9/coverage-7.17.1-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:603b5795c56fabfe2d0fcd64685eacba5eff1c7797741fa9b898564bb53a9207", size = 227185, upload-time = "2026-11-03T12:38:02.539Z" }, + { url = "https://files.pythonhosted.org/packages/2e/b1/e758d35cf81d6c4f405f66578ed59c1dcfbb1de5deb5662c5bf23057b6e5/coverage-7.17.1-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:ae938f631ffdf9183851140a245b44f74e35f25fc7d72edb261546ffbe8e5dde", size = 227486, upload-time = "2026-11-03T12:38:03.816Z" }, + { url = "https://files.pythonhosted.org/packages/7e/f3/c9c3d530bb7bb6142095e5d0a10e9d73107964b4b6345c922809806f6eb7/coverage-7.17.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:65f74048adacb5b031186becc29ce2a12a8aa6f86df86562a947120f5d8e58bc", size = 227716, upload-time = "2026-11-03T12:38:05.14Z" }, + { url = "https://files.pythonhosted.org/packages/1f/40/cc5395ca5038c96637510122da45d58d023e50491a2796cb920eb25ee266/coverage-7.17.1-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:185ff7348ca70b1663b558a9a8ec66f34451c7a9428627543a0e9575045bed0a", size = 227882, upload-time = "2026-11-03T12:38:06.491Z" }, + { url = "https://files.pythonhosted.org/packages/73/89/5b8f9051cc86dba736c3b35538faa8dc4792e1b7140641531e65661274c6/coverage-7.17.1-cp315-cp315-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:5b0b4793548784c9986a4df4c90b9f672447a25c40783f1a736c7fe171a79cf0", size = 259735, upload-time = "2026-11-03T12:38:07.752Z" }, + { url = "https://files.pythonhosted.org/packages/47/5e/14081087f40abde7006010ba12cc3a0412de8088ab4afb857bf19ece28c9/coverage-7.17.1-cp315-cp315-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:834a15c96d92d2fa9503674c42615f843cc2f427b93d0a0a6c8e437ec728b1b3", size = 263426, upload-time = "2026-11-03T12:38:09.139Z" }, + { url = "https://files.pythonhosted.org/packages/ba/2c/8c41550d3280cc71640905f0961e734488328627bd367e95451fd2b10df3/coverage-7.17.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:16903fc7d3e60fb9336ade7b12a8343f0381a1ca719d008b3d94a051b520a1c1", size = 264509, upload-time = "2026-11-03T12:38:10.656Z" }, + { url = "https://files.pythonhosted.org/packages/0b/d7/37d4eaf0313b042b26decc8b3d4f90baae3302b0e940074b4720b724392b/coverage-7.17.1-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6611d1cceadef78a6c136bb94d4e1d1db9024fe8f14b6ba4424e95bb2ac9e1a", size = 266883, upload-time = "2026-11-03T12:38:11.916Z" }, + { url = "https://files.pythonhosted.org/packages/c9/c5/45823bfbb8d0c0d3ac69f6ad1fda556d87ee3d2bc930790ad12d54bc3484/coverage-7.17.1-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:efaa35a6671a9ce23d568e291edc5f97efe689eaa291a6468007cf12d3402e85", size = 260122, upload-time = "2026-11-03T12:38:13.282Z" }, + { url = "https://files.pythonhosted.org/packages/80/22/3b7eb82197af8a7b11ce57b1a3b2ecb891287a9016a77d3587051147ed8e/coverage-7.17.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:125b5146f8624275df6ade5b10d40fb18231ed8f79650a4c522adf7e300db963", size = 262389, upload-time = "2026-11-03T12:38:14.568Z" }, + { url = "https://files.pythonhosted.org/packages/fa/ba/460b53c3ba449af2c70cb2ca5f2583d483b57fb9a15f2a964badbd8c18bd/coverage-7.17.1-cp315-cp315-musllinux_1_2_i686.whl", hash = "sha256:08e6db8cef186e7954861705102d50d56f273026fce963135a029b1eed870955", size = 260339, upload-time = "2026-11-03T12:38:15.907Z" }, + { url = "https://files.pythonhosted.org/packages/5d/6e/9a6f1abdcc0ce00de6aa28a2ccb5c622c0f4c4fc2365d4b18d54073eec9b/coverage-7.17.1-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:3832721ed2cae5d70ee4c6549ef166d16b41ff5c351fa0aae24463b620e65bec", size = 264672, upload-time = "2026-11-03T12:38:17.149Z" }, + { url = "https://files.pythonhosted.org/packages/82/b5/cdd25a9319af55fa504ba6cfc063cd38c1326b7382aa2f73a66e376ce5a6/coverage-7.17.1-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:b785cc3b82f469db18ca5b123c5eab7cf739d6a99be1fc5b4eb1c395dace5ab4", size = 259651, upload-time = "2026-11-03T12:38:18.475Z" }, + { url = "https://files.pythonhosted.org/packages/d6/80/273c406302ca223d3c72d2a277b1e776b4b21a2391c22fd2c4f41582949c/coverage-7.17.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:2f09e92d9f3bc2f7193fd6b354a45817c89d3cebfdd0912900f67c7822af105f", size = 262195, upload-time = "2026-11-03T12:38:19.983Z" }, + { url = "https://files.pythonhosted.org/packages/81/ec/f2d4baf81838d3fe269090b26c98f5c48f6efb482ca365f852d72d0671a3/coverage-7.17.1-cp315-cp315-win32.whl", hash = "sha256:d27344a94963356614e884c5739871190438bce03d2973ff9c13be37d40c7371", size = 229634, upload-time = "2026-11-03T12:38:21.688Z" }, + { url = "https://files.pythonhosted.org/packages/e5/bd/6b6467a081d5da4c5fbd65908070bb9c6b90471738d74239a23ab8ef1e59/coverage-7.17.1-cp315-cp315-win_amd64.whl", hash = "sha256:4ebb24cdee700ba3987aa5c9bc773677cafb6d88edc6f6d9cf79bc0df96b473e", size = 230256, upload-time = "2026-11-03T12:38:23.307Z" }, + { url = "https://files.pythonhosted.org/packages/00/1f/522e0d03e2cdf4a7f2538d6858b64fb95a3193003bb0d79a42b6e1426bc2/coverage-7.17.1-cp315-cp315-win_arm64.whl", hash = "sha256:cbbfb4b9d99766653447f664622168e0d00fef41e6d25a7700eaf6d9f10ae0fd", size = 230120, upload-time = "2026-11-03T12:38:24.514Z" }, + { url = "https://files.pythonhosted.org/packages/bf/47/7ea4bdf31bf175b53067998a6e9b1e4e50fef191f0e3d4c426843dcc1801/coverage-7.17.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:9cd33f622f11927736fcacf884fc6a61605e9c15e489d24dc77cf84c7015ffe5", size = 228174, upload-time = "2026-11-03T12:38:25.837Z" }, + { url = "https://files.pythonhosted.org/packages/14/bd/05a784dffccc384aa939e3d4afbfed7c03dbbd4e56c15fa2262fc665a789/coverage-7.17.1-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:719b3925108a2ce55a6a9dd5bfd9bf9114c7da1c57b9ea39e59f0fc1ba9d4fa7", size = 228566, upload-time = "2026-11-03T12:38:27.073Z" }, + { url = "https://files.pythonhosted.org/packages/dc/c7/c91c08cb288588711eaf448873536472aa6bec8e97e8f5c4bb7c3472f9a6/coverage-7.17.1-cp315-cp315t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:15981f51ef23c16de05e740677e1dbc59fd078fbf60ce4cb89687135585a791e", size = 268923, upload-time = "2026-11-03T12:38:28.267Z" }, + { url = "https://files.pythonhosted.org/packages/9c/96/99fc10e4eb6e64e6c613158c79805653366991b93293d18a1a62748e2038/coverage-7.17.1-cp315-cp315t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:042e093be797b929741fb71238da028f0f2d9d669a3a7ab3588967d77f860b51", size = 271762, upload-time = "2026-11-03T12:38:29.534Z" }, + { url = "https://files.pythonhosted.org/packages/5e/33/fd2aa355efe9cceca9518a7b1f73623ff9a1deb2709cac2b8a096a1773ee/coverage-7.17.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:118f9bacb98a78b5e81c3a4721adcfb1b404942a5a2ec34e0d47a1ee7d772b3d", size = 274461, upload-time = "2026-11-03T12:38:30.828Z" }, + { url = "https://files.pythonhosted.org/packages/e8/ad/e67a208e56876a5b632cfeff790804e331db581c9c5f439235bf40cfc13f/coverage-7.17.1-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0411fe8b17b7f481cdfe9138bd5b266bb18de124114cfab0cf796b61383ef321", size = 275794, upload-time = "2026-11-03T12:38:32.203Z" }, + { url = "https://files.pythonhosted.org/packages/ad/c9/90717d790b248e1f081f9498d91050969de86d35c687a755db1c48ada4f8/coverage-7.17.1-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:af1f1c7057ff655f0e2673ca931ab9e69683c26841d7838a9677eb6484c637fd", size = 269483, upload-time = "2026-11-03T12:38:33.602Z" }, + { url = "https://files.pythonhosted.org/packages/3e/bc/162be11201171171e084cb388bdd8a44ccb820733a3cf13bd3da398e46a5/coverage-7.17.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:0bc7c1dbd90be3ddb3bab347deb91996bcb33828aa662acbe83334c55ee0642d", size = 271952, upload-time = "2026-11-03T12:38:34.874Z" }, + { url = "https://files.pythonhosted.org/packages/cb/2d/9ae1eb08020d998d4c9bb6e539b096642129eaec5cc423b0eca6ea216a3a/coverage-7.17.1-cp315-cp315t-musllinux_1_2_i686.whl", hash = "sha256:7c93a389c1f696ab7ca4764f6629dae187f41aac19ae763e18b35cd60dd7d2b4", size = 268977, upload-time = "2026-11-03T12:38:36.164Z" }, + { url = "https://files.pythonhosted.org/packages/81/6c/33577528fdb8a9d6af5e5f188c28a364d5ed82c57c49dcade7e96682da06/coverage-7.17.1-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:208ecaaa274e8c97ff8939baa15cfd4e9a5ed0b7a0132206548277e7938e96e7", size = 273587, upload-time = "2026-11-03T12:38:37.412Z" }, + { url = "https://files.pythonhosted.org/packages/5f/a7/6449f497df0012d8e793bab0788d0265d9d2753b33b64fbd47ce8dc50eed/coverage-7.17.1-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:043af54ef18a5ea6ec5c5347408d21165fd5ddff4f62f63efea32cf3c0ba6ca1", size = 269072, upload-time = "2026-11-03T12:38:38.858Z" }, + { url = "https://files.pythonhosted.org/packages/9f/08/35148999d7e8bef6e596cc056d5a7a403d2c702daa5b51e22d138056b254/coverage-7.17.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:8830f81b489c1fcba77338cf9e176d253117dd886fb58e587a137f9f5bf9b062", size = 270684, upload-time = "2026-11-03T12:38:40.155Z" }, + { url = "https://files.pythonhosted.org/packages/fd/bb/6c0714bcd3ed4b9ec00902281dc17fcf59eb308185ae78e7bea2f037dc20/coverage-7.17.1-cp315-cp315t-win32.whl", hash = "sha256:f705761e5187ba08bbc80fd4b5b6d675e23ecc4f468daee2f5b22cfc8f5ed96b", size = 229942, upload-time = "2026-11-03T12:38:41.524Z" }, + { url = "https://files.pythonhosted.org/packages/5c/34/8d88d51ff9c3da15430c902aca5409a98c01b8d7fad18d631daa53df734b/coverage-7.17.1-cp315-cp315t-win_amd64.whl", hash = "sha256:87e86e0c7712ce64316f649c6d0b30225aaa64da25ff201bf6a1d86d21168d73", size = 230870, upload-time = "2026-11-03T12:38:43.146Z" }, + { url = "https://files.pythonhosted.org/packages/8e/58/9cdb5667edcd9bd5b17293e96620e50e89d425d8a450a1fa57f18e68b5d9/coverage-7.17.1-cp315-cp315t-win_arm64.whl", hash = "sha256:9cd4319b51f18519688baf38e01424ec439a5da5ef034a7e429bc631afa95e63", size = 230443, upload-time = "2026-11-03T12:38:44.433Z" }, + { url = "https://files.pythonhosted.org/packages/18/61/7ad3e5f92557c73044d3dfaf88cc65fb7b1ad589c744e8629af8e6370224/coverage-7.17.1-py3-none-any.whl", hash = "sha256:fda1023828e4a9f4a40ef06783e005f3630f805f839edc679c87f597f33e041f", size = 219074, upload-time = "2026-11-03T12:38:46.229Z" }, +] + [[package]] name = "distlib" version = "0.4.3" @@ -627,6 +704,7 @@ dev = [ { name = "mypy" }, { name = "pre-commit" }, { name = "pytest" }, + { name = "pytest-cov" }, { name = "pytest-timeout" }, { name = "ruff" }, { name = "types-pyyaml" }, @@ -649,6 +727,7 @@ dev = [ { name = "mypy", specifier = ">=2.3.0" }, { name = "pre-commit", specifier = ">=4.6.1" }, { name = "pytest", specifier = ">=9.1.1" }, + { name = "pytest-cov", specifier = ">=7.1.0" }, { name = "pytest-timeout", specifier = ">=2.4.0" }, { name = "ruff", specifier = ">=0.16.0" }, { name = "types-pyyaml", specifier = ">=6.0.12.20260724" }, @@ -974,6 +1053,20 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl", hash = "sha256:37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c", size = 386536, upload-time = "2026-06-19T10:58:31.347Z" }, ] +[[package]] +name = "pytest-cov" +version = "7.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coverage" }, + { name = "pluggy" }, + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/51/a849f96e117386044471c8ec2bd6cfebacda285da9525c9106aeb28da671/pytest_cov-7.1.0.tar.gz", hash = "sha256:30674f2b5f6351aa09702a9c8c364f6a01c27aae0c1366ae8016160d1efc56b2", size = 55592, upload-time = "2026-03-21T20:11:16.284Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9d/7a/d968e294073affff457b041c2be9868a40c1c71f4a35fcc1e45e5493067b/pytest_cov-7.1.0-py3-none-any.whl", hash = "sha256:a0461110b7865f9a271aa1b51e516c9a95de9d696734a2f71e3e78f46e1d4678", size = 22876, upload-time = "2026-03-21T20:11:14.438Z" }, +] + [[package]] name = "pytest-timeout" version = "2.4.0" From 06130e9cee61eeab08113239d9d94ea563f0f2a2 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 3 Nov 2026 23:54:18 +0000 Subject: [PATCH 27/46] Add unit tests for code/website tasks, redun patches, and utils - test_code.py: fetch_code for every source type, the target mismatch warning, build_binary_js, and copy_support_files with path/URL icons - test_website.py: copy/fill the real bundled template (title, favicon, package.json, copy-on-write), install_website_deps, and both website builds including node_modules symlinks - test_redun_compat.py: the get_proto patch and content-based dir hashing - extract_meta_comment, utils/paths, run_cmd, rmtree_robust, resources Tasks run through .func with run_cmd and network calls monkeypatched, so everything stays offline. Unit coverage goes from 42% to 66%. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Mbb9ZdHu1tFP2ZhM62pbgq --- docs/PROJECT_CONTEXT.md | 27 ++- tests/unit/helpers.py | 109 +++++++++++ tests/unit/test_code.py | 324 ++++++++++++++++++++++++++++++++ tests/unit/test_filesystem.py | 28 +++ tests/unit/test_meta_comment.py | 72 +++++++ tests/unit/test_paths.py | 60 ++++++ tests/unit/test_redun_compat.py | 130 +++++++++++++ tests/unit/test_resources.py | 30 +++ tests/unit/test_run.py | 61 ++++++ tests/unit/test_website.py | 276 +++++++++++++++++++++++++++ 10 files changed, 1110 insertions(+), 7 deletions(-) create mode 100644 tests/unit/helpers.py create mode 100644 tests/unit/test_code.py create mode 100644 tests/unit/test_filesystem.py create mode 100644 tests/unit/test_meta_comment.py create mode 100644 tests/unit/test_paths.py create mode 100644 tests/unit/test_redun_compat.py create mode 100644 tests/unit/test_resources.py create mode 100644 tests/unit/test_run.py create mode 100644 tests/unit/test_website.py diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index 5725d8e..1529d31 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -4,7 +4,8 @@ _Verified against `toolchain` @ `d7ad64a` plus the `MKCD2APP_HOME` change, the small known-issue fixes, and the separate deps-install task, and `origin/main` @ `d31e2a5`, as of 2026-10-29. External program requirements audited against `toolchain` @ `4d518d9` on 2026-11-03, then updated for the Dulwich git replacement and the generic `git` code source the same day, -and for the `file` code source (PNG/UF2 with embedded project, then ZIPs) the same day._ +and for the `file` code source (PNG/UF2 with embedded project, then ZIPs) the same day. +Test suite section updated for the unit test expansion on 2026-11-03._ ## Goal Rewrite `UnsignedArduino/MakeCode-Arcade-to-App` (converts MakeCode Arcade games into a @@ -36,7 +37,7 @@ main (legacy) ← PR #6 `dag` (draft) ← PR #7 `toolchain` (draft, base = d | `utils/` | `run_cmd`, paths (platformdirs), `run_redun_task`, `rmtree_robust`, semver, `git` (Dulwich clone/checkout) | | `resources/` | Vite+React+TS template, `mkc` js_tools, empty fixture project | -Other: `tests/e2e/test_statics.py`, `tests/unit/` (config code sources, `utils/git`, PNG/UF2/ZIP file source), `tests/fixtures/`, `examples/` (Racers), CI +Other: `tests/e2e/test_statics.py`, `tests/unit/` (config code sources, `utils/git`, PNG/UF2/ZIP file source, code/website tasks, redun patches, utils), `tests/fixtures/`, `examples/` (Racers), CI workflows `lint.yaml` (ubuntu) and `e2e.yaml` (ubuntu/windows/macos). Tooling: uv, hatchling, Python ≥3.14, ruff + mypy strict, pre-commit. @@ -57,8 +58,8 @@ hatchling, Python ≥3.14, ruff + mypy strict, pre-commit. `build_website*` task copies that `node_modules` into its own copy of the filled site and runs only `npm run build*`. - **redun patches** (`_redun_compat.py`): `get_proto` (Windows drive letters), - `ContentDir._calc_hash` and `Dir._calc_hash` (hash file contents, not mtimes). No - tests cover them yet. + `ContentDir._calc_hash` and `Dir._calc_hash` (hash file contents, not mtimes). + Covered by `tests/unit/test_redun_compat.py`. ## External programs `run_cmd` only ever runs `npm` and `mkc`: - **Node.js ≥ 22.12 + npm, on PATH. Always required.** The floor comes from @@ -138,14 +139,26 @@ configs; `fetch_code` handles both in one `case`. `empty_game_file_source.yaml`, and a ZIP of `tests/fixtures/empty_game` made at test time with a GitHub-style `empty_game-master/` wrapper (checked byte for byte against the checkout, so CRLF on Windows is fine). The duck builds end to end on 4.1.27, and on 4.0.14 - with the version-mismatch warning, but isn't in e2e. Nothing covers the redun - patches yet. + with the version-mismatch warning, but isn't in e2e. +- `test_code.py` and `test_website.py` run every code-input and website task through + `.func` with `run_cmd` (and `clone_and_checkout`, `requests.get`, + `get_sim_html_path`) monkeypatched, against a copy of the real bundled template. + `test_redun_compat.py` checks the `get_proto` patch and that directory hashes + ignore mtimes but change with content, file adds/removes/renames, and path. + `utils/` (`paths`, `run`, `filesystem`, `resources`) and `extract_meta_comment` have + their own small tests. Untested: `cli.py`, `main.py`, the `build_project` DAG + wiring, toolchain/target install tasks, and `is_strict_semver`. +- pytest config is in `pyproject.toml`: coverage on by default (`--no-cov` to skip), + `--strict-markers`, and `unit`/`e2e` markers applied by `tests/conftest.py`. Unit + tests cover about 66% of `src/mkcd2app` (run `uv run pytest -m unit`). ## Roadmap 1. ~~Fix e2e + CI~~ (done: fixture `target:`, isolated install fixture, caching on, job-status cache assertion, CI on all PRs). 2. ~~Rename `--clear-cache`~~ (done: now `--full-rebuild`, and its help text says to use it for out-of-band input changes). Still belongs in the README once that exists. -3. More unit/integration tests, including the redun patches (`git` and `file` sources are covered). +3. More unit/integration tests: `cli.py`/`main.py`, `build_project` wiring with + `run_cmd` stubbed, and the toolchain/target install tasks (redun patches, code and + website tasks, and utils are covered). 4. Electron, then Tauri (reference: `main`). 5. Save-state for Electron/Tauri (investigate `pxtsim` postMessage). 6. Toolchain polish: `status`/`list`, `build` pre-flight, extension cache, version-pinning diff --git a/tests/unit/helpers.py b/tests/unit/helpers.py new file mode 100644 index 0000000..4d27e99 --- /dev/null +++ b/tests/unit/helpers.py @@ -0,0 +1,109 @@ +"""Shared helpers for unit tests (a plain module, since pytest won't collect it).""" + +import hashlib +import logging +import os +from collections.abc import Callable, Iterator +from contextlib import contextmanager +from dataclasses import dataclass +from pathlib import Path +from typing import Any + +import pytest +import yaml + +TARGET_VERSION = "4.0.14" + + +def make_config_yaml( + build_dir: Path, + code: dict[str, Any] | None = None, + icon: dict[str, Any] | None = None, + project: dict[str, Any] | None = None, + target: str = TARGET_VERSION, +) -> str: + """ + Build a version 1 config as YAML text, the form the redun tasks take. + + :param build_dir: The config's build_dir. + :param code: The inputs.code source. Defaults to a path source that doesn't exist, + for tasks that never read it. + :param icon: The inputs.assets.icon source, or None for no icon. + :param project: Keys to override in the project section. + :param target: The MakeCode Arcade target version. + """ + assets: dict[str, Any] = {"icon": icon} if icon else {} + return yaml.safe_dump( + { + "version": 1, + "project": { + "name": "Test Game", + "path_friendly_name": "test", + "description": "A test game", + "author": "Tester", + "version": "1.2.3", + **(project or {}), + }, + "inputs": { + "code": code or {"type": "path", "value": str(build_dir / "nowhere")}, + "assets": assets, + }, + "build_dir": str(build_dir), + "target": target, + "outputs": [{"type": "static"}], + } + ) + + +@dataclass +class CmdCall: + command: list[str] + cwd: Path + which_path: str | os.PathLike[str] | None + + +class FakeRunCmd: + """ + Stands in for ``run_cmd``: records each call, then runs ``on_run`` (if given) so + the test can create the files the real command would have. + """ + + def __init__(self, on_run: Callable[[CmdCall], None] | None = None) -> None: + self.calls: list[CmdCall] = [] + self.on_run = on_run + + def __call__( + self, + command: list[str], + cwd: Path | str, + which_path: str | os.PathLike[str] | None = None, + ) -> str: + call = CmdCall(command, Path(cwd), which_path) + self.calls.append(call) + if self.on_run: + self.on_run(call) + return "" + + +def tree_digest(root: Path) -> dict[str, str]: + """Map each file under ``root`` (relative POSIX path) to its SHA-256.""" + return { + p.relative_to(root).as_posix(): hashlib.sha256(p.read_bytes()).hexdigest() + for p in sorted(root.rglob("*")) + if p.is_file() + } + + +@contextmanager +def capture_logger( + caplog: pytest.LogCaptureFixture, logger: logging.Logger +) -> Iterator[pytest.LogCaptureFixture]: + """ + Capture records from one of our loggers. ``create_logger`` sets + ``propagate = False``, so caplog's root handler never sees them otherwise. + """ + logger.addHandler(caplog.handler) + try: + yield caplog + finally: + logger.removeHandler(caplog.handler) diff --git a/tests/unit/test_code.py b/tests/unit/test_code.py new file mode 100644 index 0000000..7193288 --- /dev/null +++ b/tests/unit/test_code.py @@ -0,0 +1,324 @@ +import json +import logging +from collections.abc import Generator +from pathlib import Path +from typing import Any + +import pytest +import requests +from helpers import ( + TARGET_VERSION, + CmdCall, + FakeRunCmd, + capture_logger, + make_config_yaml, + tree_digest, +) +from PIL import Image +from redun.file import ContentDir, ContentFile + +from mkcd2app.build_project.inputs import code +from mkcd2app.build_project.inputs.code import ( + _warn_on_target_mismatch, + build_binary_js, + copy_support_files, + fetch_code, +) +from mkcd2app.utils.paths import get_js_tools_bin_dir + +FIXTURES = Path(__file__).parent.parent / "fixtures" +EMPTY_GAME_DIR = FIXTURES / "empty_game" +EMPTY_PNG = FIXTURES / "embedded" / "empty-game.png" # saved with 4.0.14 +DUCK_PNG = FIXTURES / "embedded" / "falling-duck.png" # saved with 4.1.27 +MKC_JSON = {"targetWebsite": f"https://arcade.makecode.com/v{TARGET_VERSION}"} + + +def read_mkc_json(code_path: Path) -> Any: + return json.loads((code_path / "mkc.json").read_text(encoding="utf-8")) + + +def run_fetch_code(build_dir: Path, source: dict[str, Any]) -> Path: + result: ContentDir = fetch_code.func(make_config_yaml(build_dir, code=source)) + return Path(result.path) + + +# ------------------------------------------------------------ fetch_code ------ + + +def test_path_source_copies_project(tmp_path: Path) -> None: + code_path = run_fetch_code( + tmp_path / "build", {"type": "path", "value": str(EMPTY_GAME_DIR)} + ) + assert code_path == tmp_path / "build" / "test-source" + copied = tree_digest(code_path) + assert copied.pop("mkc.json") + assert copied == tree_digest(EMPTY_GAME_DIR) + assert read_mkc_json(code_path) == MKC_JSON + + +def test_fetch_code_replaces_previous_source(tmp_path: Path) -> None: + stale = tmp_path / "build" / "test-source" / "stale.ts" + stale.parent.mkdir(parents=True) + stale.write_text("old", encoding="utf-8") + run_fetch_code(tmp_path / "build", {"type": "path", "value": str(EMPTY_GAME_DIR)}) + assert not stale.exists() + + +def test_mkc_json_uses_config_target(tmp_path: Path) -> None: + result: ContentDir = fetch_code.func( + make_config_yaml( + tmp_path / "build", + code={"type": "path", "value": str(EMPTY_GAME_DIR)}, + target="4.1.27", + ) + ) + assert read_mkc_json(Path(result.path)) == { + "targetWebsite": "https://arcade.makecode.com/v4.1.27" + } + + +def test_share_link_source_runs_mkc_download( + tmp_path: Path, mkcd2app_home: Path, monkeypatch: pytest.MonkeyPatch +) -> None: + fake = FakeRunCmd() + monkeypatch.setattr(code, "run_cmd", fake) + url = "https://arcade.makecode.com/S12345-67890-12345-67890" + + code_path = run_fetch_code(tmp_path / "build", {"type": "share_link", "value": url}) + + assert len(fake.calls) == 1 + call = fake.calls[0] + assert call.command == ["mkc", "download", url] + assert call.cwd == code_path + assert call.which_path == get_js_tools_bin_dir() + assert read_mkc_json(code_path) == MKC_JSON + + +@pytest.mark.parametrize( + ("source", "expected_ref"), + [ + ({"type": "git", "url": "https://example.com/a/b.git", "ref": "v1"}, "v1"), + ({"type": "git", "url": "https://example.com/a/b.git"}, None), + ({"type": "github", "value": "https://github.com/a/b", "checkout": "dev"}, "dev"), + ({"type": "github", "value": "https://github.com/a/b"}, "master"), + ], +) # fmt: skip +def test_git_sources_clone( + tmp_path: Path, + monkeypatch: pytest.MonkeyPatch, + source: dict[str, str], + expected_ref: str | None, +) -> None: + # Cloning itself is covered by test_git.py; this checks fetch_code's dispatch + calls: list[tuple[str, Path, str | None]] = [] + + def fake_clone(url: str, path: Path, ref: str | None = None) -> None: + # The parent must exist, and the clone target must not + assert path.parent.is_dir() + assert not path.exists() + calls.append((url, path, ref)) + path.mkdir() + + monkeypatch.setattr(code, "clone_and_checkout", fake_clone) + code_path = run_fetch_code(tmp_path / "build", source) + + url = source.get("url") or source["value"] + assert calls == [(url, code_path, expected_ref)] + assert read_mkc_json(code_path) == MKC_JSON + + +def test_file_source_extracts_project(tmp_path: Path) -> None: + code_path = run_fetch_code( + tmp_path / "build", {"type": "file", "value": str(EMPTY_PNG)} + ) + assert (code_path / "pxt.json").is_file() + assert (code_path / "main.ts").is_file() + assert read_mkc_json(code_path) == MKC_JSON + + +def test_file_source_missing_file(tmp_path: Path) -> None: + with pytest.raises(FileNotFoundError, match="nope.png"): + run_fetch_code( + tmp_path / "build", {"type": "file", "value": str(tmp_path / "nope.png")} + ) + + +@pytest.mark.parametrize(("png", "warns"), [(EMPTY_PNG, False), (DUCK_PNG, True)]) +def test_file_source_warns_on_target_mismatch( + tmp_path: Path, caplog: pytest.LogCaptureFixture, png: Path, warns: bool +) -> None: + with capture_logger(caplog, code.logger): + run_fetch_code(tmp_path / "build", {"type": "file", "value": str(png)}) + warnings = [r for r in caplog.records if r.levelno == logging.WARNING] + if warns: + assert [r.getMessage() for r in warnings] == [ + f"Project was saved with Arcade 4.1.27, building against {TARGET_VERSION}" + ] + else: + assert warnings == [] + + +# ---------------------------------------------- _warn_on_target_mismatch ------ + + +@pytest.mark.parametrize( + "pxt_json", + [ + None, # file missing + "not json", + "[]", + "{}", + '{"targetVersions": []}', + '{"targetVersions": {"targetId": "arcade"}}', + f'{{"targetVersions": {{"target": "{TARGET_VERSION}"}}}}', + ], +) +def test_target_mismatch_no_warning( + tmp_path: Path, caplog: pytest.LogCaptureFixture, pxt_json: str | None +) -> None: + path = tmp_path / "pxt.json" + if pxt_json is not None: + path.write_text(pxt_json, encoding="utf-8") + with capture_logger(caplog, code.logger): + _warn_on_target_mismatch(path, TARGET_VERSION) + assert not [r for r in caplog.records if r.levelno >= logging.WARNING] + + +def test_target_mismatch_warns( + tmp_path: Path, caplog: pytest.LogCaptureFixture +) -> None: + path = tmp_path / "pxt.json" + path.write_text(json.dumps({"targetVersions": {"target": "2.0.48"}}), "utf-8") + with capture_logger(caplog, code.logger): + _warn_on_target_mismatch(path, TARGET_VERSION) + assert [(r.levelno, r.getMessage()) for r in caplog.records] == [ + ( + logging.WARNING, + f"Project was saved with Arcade 2.0.48, building against {TARGET_VERSION}", + ) + ] + + +# ------------------------------------------------------- build_binary_js ------ + + +def test_build_binary_js( + tmp_path: Path, mkcd2app_home: Path, monkeypatch: pytest.MonkeyPatch +) -> None: + code_path = tmp_path / "build" / "test-source" + code_path.mkdir(parents=True) + (code_path / "main.ts").write_text("// game", encoding="utf-8") + before = tree_digest(code_path) + + def fake_mkc_build(call: CmdCall) -> None: + (call.cwd / "built").mkdir() + (call.cwd / "built" / "binary.js").write_text("// built", encoding="utf-8") + (call.cwd / "built" / "other.txt").write_text("x", encoding="utf-8") + + fake = FakeRunCmd(fake_mkc_build) + monkeypatch.setattr(code, "run_cmd", fake) + + result: ContentFile = build_binary_js.func( + make_config_yaml(tmp_path / "build"), ContentDir(str(code_path)) + ) + + assert [(c.command, c.cwd, c.which_path) for c in fake.calls] == [ + (["mkc", "build", "-j"], code_path, get_js_tools_bin_dir()) + ] + output = tmp_path / "build" / "test-binary-js" / "binary.js" + assert Path(result.path) == output + assert output.read_text(encoding="utf-8") == "// built" + # built/ is removed so fetch_code's ContentDir hash doesn't change + assert tree_digest(code_path) == before + + +# ---------------------------------------------------- copy_support_files ------ + + +@pytest.fixture +def sim_html(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> Generator[Path]: + path = tmp_path / "target" / TARGET_VERSION / "---simulator.html" + path.parent.mkdir(parents=True) + path.write_text("sim", encoding="utf-8") + requested: list[str] = [] + + def fake_get_sim_html_path(v: str) -> Path: + requested.append(v) + return path + + monkeypatch.setattr(code, "get_sim_html_path", fake_get_sim_html_path) + yield path + assert requested == [TARGET_VERSION] + + +def make_png(path: Path, size: tuple[int, int] = (32, 32)) -> Path: + Image.new("RGBA", size, (255, 0, 0, 255)).save(path) + return path + + +def run_copy_support_files(build_dir: Path, icon: dict[str, str] | None) -> Path: + result: ContentDir = copy_support_files.func(make_config_yaml(build_dir, icon=icon)) + return Path(result.path) + + +def test_support_files_without_icon(tmp_path: Path, sim_html: Path) -> None: + support = run_copy_support_files(tmp_path / "build", None) + assert support == tmp_path / "build" / "test-binary-js-support" + assert sorted(p.name for p in support.iterdir()) == ["---simulator.html"] + assert (support / "---simulator.html").read_bytes() == sim_html.read_bytes() + + +def test_support_files_replaces_previous_output(tmp_path: Path, sim_html: Path) -> None: + stale = tmp_path / "build" / "test-binary-js-support" / "favicon.ico" + stale.parent.mkdir(parents=True) + stale.write_bytes(b"old icon") + support = run_copy_support_files(tmp_path / "build", None) + assert not (support / "favicon.ico").exists() + + +def test_support_files_icon_from_path(tmp_path: Path, sim_html: Path) -> None: + icon = make_png(tmp_path / "icon.png") + support = run_copy_support_files( + tmp_path / "build", {"type": "path", "value": str(icon)} + ) + with Image.open(support / "favicon.ico") as im: + assert im.format == "ICO" + + +class FakeResponse: + def __init__(self, content: bytes, status_code: int = 200) -> None: + self.content = content + self.status_code = status_code + + def raise_for_status(self) -> None: + if self.status_code >= 400: + raise requests.HTTPError(f"{self.status_code} error") + + +def test_support_files_icon_from_url( + tmp_path: Path, sim_html: Path, monkeypatch: pytest.MonkeyPatch +) -> None: + png = make_png(tmp_path / "icon.png").read_bytes() + urls: list[str] = [] + + def fake_get(url: str) -> FakeResponse: + urls.append(url) + return FakeResponse(png) + + monkeypatch.setattr(requests, "get", fake_get) + support = run_copy_support_files( + tmp_path / "build", {"type": "url", "value": "https://example.com/icon.png"} + ) + assert urls == ["https://example.com/icon.png"] + with Image.open(support / "favicon.ico") as im: + assert im.format == "ICO" + + +def test_support_files_icon_url_http_error( + tmp_path: Path, sim_html: Path, monkeypatch: pytest.MonkeyPatch +) -> None: + monkeypatch.setattr(requests, "get", lambda url: FakeResponse(b"", 404)) + with pytest.raises(requests.HTTPError): + run_copy_support_files( + tmp_path / "build", {"type": "url", "value": "https://example.com/x.png"} + ) diff --git a/tests/unit/test_filesystem.py b/tests/unit/test_filesystem.py new file mode 100644 index 0000000..21bc110 --- /dev/null +++ b/tests/unit/test_filesystem.py @@ -0,0 +1,28 @@ +import os +import stat +import sys +from pathlib import Path + +from mkcd2app.utils.filesystem import _remove_readonly, rmtree_robust + + +def make_readonly_tree(root: Path) -> Path: + (root / "objects" / "ab").mkdir(parents=True) + readonly = root / "objects" / "ab" / "cdef" + readonly.write_bytes(b"git object") + os.chmod(readonly, stat.S_IREAD) + return readonly + + +def test_removes_tree_with_readonly_files(tmp_path: Path) -> None: + root = tmp_path / ".git" + make_readonly_tree(root) + rmtree_robust(root) + assert not root.exists() + + +def test_remove_readonly_handler_clears_bit_and_retries(tmp_path: Path) -> None: + # Called directly, since only Windows refuses to unlink read-only files + readonly = make_readonly_tree(tmp_path) + _remove_readonly(os.unlink, str(readonly), sys.exc_info()) # type: ignore[arg-type] + assert not readonly.exists() diff --git a/tests/unit/test_meta_comment.py b/tests/unit/test_meta_comment.py new file mode 100644 index 0000000..d53c3b3 --- /dev/null +++ b/tests/unit/test_meta_comment.py @@ -0,0 +1,72 @@ +import json +from pathlib import Path +from typing import Any + +import pytest +from pydantic import ValidationError + +from mkcd2app.utils.text import extract_meta_comment + +# Copied from a real `mkc build -j` of the empty game on 4.0.14 +META: dict[str, Any] = { + "simUrl": "https://trg-arcade.userpxt.io/---simulator", + "cdnUrl": "https://cdn.makecode.com", + "version": "v0.0.0", + "target": "arcade", + "targetVersion": "4.0.14", +} + + +def write_binary_js(tmp_path: Path, *lines: str) -> Path: + path = tmp_path / "binary.js" + path.write_text("\n".join(lines) + "\n", encoding="utf-8") + return path + + +def test_extracts_metadata(tmp_path: Path) -> None: + path = write_binary_js( + tmp_path, "// start", f"// meta={json.dumps(META)}", "var x = 1;" + ) + metadata = extract_meta_comment(path) + assert str(metadata.simUrl) == META["simUrl"] + assert metadata.target == "arcade" + assert metadata.targetVersion == "4.0.14" + + +def test_indented_comment(tmp_path: Path) -> None: + path = write_binary_js(tmp_path, f" // meta={json.dumps(META)} ") + assert extract_meta_comment(path).targetVersion == "4.0.14" + + +def test_first_meta_comment_wins(tmp_path: Path) -> None: + other = {**META, "targetVersion": "9.9.9"} + path = write_binary_js( + tmp_path, f"// meta={json.dumps(META)}", f"// meta={json.dumps(other)}" + ) + assert extract_meta_comment(path).targetVersion == "4.0.14" + + +def test_missing_comment(tmp_path: Path) -> None: + path = write_binary_js(tmp_path, "// no metadata here", "var meta = {};") + with pytest.raises(ValueError, match="Meta comment not found"): + extract_meta_comment(path) + + +@pytest.mark.parametrize( + "meta", + [ + {**META, "unexpected": 1}, # extra="forbid" + {k: v for k, v in META.items() if k != "simUrl"}, + {**META, "cdnUrl": "not a url"}, + ], +) +def test_invalid_metadata(tmp_path: Path, meta: dict[str, Any]) -> None: + path = write_binary_js(tmp_path, f"// meta={json.dumps(meta)}") + with pytest.raises(ValidationError): + extract_meta_comment(path) + + +def test_invalid_json(tmp_path: Path) -> None: + path = write_binary_js(tmp_path, "// meta={not json") + with pytest.raises(ValidationError): + extract_meta_comment(path) diff --git a/tests/unit/test_paths.py b/tests/unit/test_paths.py new file mode 100644 index 0000000..2ff585e --- /dev/null +++ b/tests/unit/test_paths.py @@ -0,0 +1,60 @@ +from collections.abc import Callable +from importlib.metadata import version +from pathlib import Path + +import pytest + +from mkcd2app.utils import paths + +VERSION = version("mkcd2app") + +DATA_PATHS: list[tuple[Callable[[], Path], str]] = [ + (paths.get_toolchain_dir, "toolchain"), + (paths.get_js_tools_dir, "toolchain/js_tools"), + (paths.get_js_tools_bin_dir, "toolchain/js_tools/node_modules/.bin"), + (paths.get_templates_npm_cache_dir, "toolchain/templates_npm_cache"), + (paths.get_target_dir, "target"), + (lambda: paths.get_target_version_dir("4.0.14"), "target/4.0.14"), + (lambda: paths.get_sim_html_path("4.0.14"), "target/4.0.14/---simulator.html"), +] +STATE_PATHS: list[tuple[Callable[[], Path], str]] = [ + (paths.get_redun_db_for_toolchain_path, "redun_db_for_toolchain.sqlite3"), + (paths.get_redun_db_for_target_path, "redun_db_for_target.sqlite3"), +] + + +def test_version_matches_package() -> None: + assert paths.get_mkcd2app_version() == VERSION + + +def test_home_override(mkcd2app_home: Path) -> None: + assert paths.get_home_override_dir() == mkcd2app_home + assert paths.get_user_data_dir() == mkcd2app_home / "data" / VERSION + assert paths.get_user_state_dir() == mkcd2app_home / "state" / VERSION + + +@pytest.mark.parametrize(("get_path", "relative"), DATA_PATHS) +def test_data_paths_under_home( + mkcd2app_home: Path, get_path: Callable[[], Path], relative: str +) -> None: + assert get_path() == mkcd2app_home / "data" / VERSION / relative + + +@pytest.mark.parametrize(("get_path", "relative"), STATE_PATHS) +def test_state_paths_under_home( + mkcd2app_home: Path, get_path: Callable[[], Path], relative: str +) -> None: + assert get_path() == mkcd2app_home / "state" / VERSION / relative + + +@pytest.mark.parametrize("value", [None, ""]) +def test_no_override_uses_platformdirs( + monkeypatch: pytest.MonkeyPatch, value: str | None +) -> None: + if value is None: + monkeypatch.delenv(paths.HOME_ENV_VAR, raising=False) + else: + monkeypatch.setenv(paths.HOME_ENV_VAR, value) + assert paths.get_home_override_dir() is None + assert paths.get_user_data_dir() == Path(paths.DIRS.user_data_dir) / VERSION + assert paths.get_user_state_dir() == Path(paths.DIRS.user_state_dir) / VERSION diff --git a/tests/unit/test_redun_compat.py b/tests/unit/test_redun_compat.py new file mode 100644 index 0000000..9566d18 --- /dev/null +++ b/tests/unit/test_redun_compat.py @@ -0,0 +1,130 @@ +import os +from collections.abc import Callable +from pathlib import Path + +import pytest +import redun.file +from redun.file import ContentDir, Dir, File + +# Importing mkcd2app applies the patches +from mkcd2app._redun_compat import ( + _orig_get_proto, + _patched_get_proto, + assert_pinned_redun_version, +) + + +def test_pinned_redun_version() -> None: + assert_pinned_redun_version() + + +# ------------------------------------------------------------- get_proto ------ + + +def test_get_proto_is_patched() -> None: + assert redun.file.get_proto is _patched_get_proto + + +@pytest.mark.parametrize( + "url", ["C:\\Users\\me\\game", "c:\\x", "E:/build/x", "z:/"] +) # fmt: skip +def test_windows_drive_paths_are_local(url: str) -> None: + assert _orig_get_proto(url) != "local" # the bug the patch works around + assert redun.file.get_proto(url) == "local" + + +@pytest.mark.parametrize( + ("url", "proto"), + [ + ("/tmp/x", "local"), + ("relative/x", "local"), + ("", "local"), + (None, "local"), + ("s3://bucket/key", "s3"), + ("gs://bucket/key", "gs"), + ("http://example.com/x", "http"), + ("C:x", "c"), # drive-relative, not a drive path: left to urlparse + ("1:/x", "local"), # not a letter, so not patched; urlparse has no scheme + ], +) +def test_other_urls_unchanged(url: str | None, proto: str) -> None: + assert redun.file.get_proto(url) == _orig_get_proto(url) == proto + + +def test_file_with_drive_letter_uses_local_filesystem() -> None: + assert File("C:\\Users\\me\\game\\main.ts").filesystem.name == "local" + + +# --------------------------------------------------------- content hashing ---- + + +@pytest.fixture +def tree(tmp_path: Path) -> Path: + root = tmp_path / "tree" + (root / "sub").mkdir(parents=True) + (root / "a.txt").write_text("a", encoding="utf-8") + (root / "sub" / "b.txt").write_text("b", encoding="utf-8") + return root + + +def content_hash(path: Path) -> str: + # A new object each time: redun caches the hash on the instance + return ContentDir(str(path)).hash + + +def dir_hash(path: Path) -> str: + return Dir(str(path)).hash + + +def touch_all(root: Path, mtime: float) -> None: + for p in root.rglob("*"): + os.utime(p, (mtime, mtime)) + + +@pytest.mark.parametrize("hash_fn", [content_hash, dir_hash]) +def test_hash_ignores_mtime(tree: Path, hash_fn: Callable[[Path], str]) -> None: + touch_all(tree, 1_000_000_000) + before = hash_fn(tree) + touch_all(tree, 2_000_000_000) + assert hash_fn(tree) == before + + +def test_hash_is_stable(tree: Path) -> None: + assert content_hash(tree) == content_hash(tree) + + +def test_dir_hash_matches_content_dir(tree: Path) -> None: + assert dir_hash(tree) == content_hash(tree) + + +def test_hash_changes_with_content(tree: Path) -> None: + before = content_hash(tree) + (tree / "sub" / "b.txt").write_text("B", encoding="utf-8") + assert content_hash(tree) != before + + +def test_hash_changes_with_new_file(tree: Path) -> None: + before = content_hash(tree) + (tree / "c.txt").write_text("c", encoding="utf-8") + assert content_hash(tree) != before + + +def test_hash_changes_with_removed_file(tree: Path) -> None: + before = content_hash(tree) + (tree / "a.txt").unlink() + assert content_hash(tree) != before + + +def test_hash_changes_with_rename(tree: Path) -> None: + before = content_hash(tree) + (tree / "a.txt").rename(tree / "sub" / "a.txt") + assert content_hash(tree) != before + + +def test_hash_includes_path(tree: Path, tmp_path: Path) -> None: + # Same contents somewhere else is a different output dir, so a different value + copy = tmp_path / "copy" + (copy / "sub").mkdir(parents=True) + (copy / "a.txt").write_text("a", encoding="utf-8") + (copy / "sub" / "b.txt").write_text("b", encoding="utf-8") + assert content_hash(copy) != content_hash(tree) diff --git a/tests/unit/test_resources.py b/tests/unit/test_resources.py new file mode 100644 index 0000000..941ff67 --- /dev/null +++ b/tests/unit/test_resources.py @@ -0,0 +1,30 @@ +from mkcd2app.utils.resources import ( + get_resource_empty_project_path, + get_resource_js_tools_path, + get_resource_template_path, +) + + +def test_templates_dir() -> None: + with get_resource_template_path() as path: + assert (path / "vite-project").is_dir() + + +def test_vite_template() -> None: + with get_resource_template_path("vite-project") as path: + for name in ("package.json", "package-lock.json", "index.html"): + assert (path / name).is_file(), name + # fill_website_template copies binary.js and the simulator in here + assert (path / "src" / "assets").is_dir() + + +def test_js_tools() -> None: + with get_resource_js_tools_path() as path: + assert (path / "package.json").is_file() + assert (path / "package-lock.json").is_file() + + +def test_empty_project() -> None: + with get_resource_empty_project_path() as path: + assert (path / "pxt.json").is_file() + assert (path / "main.ts").is_file() diff --git a/tests/unit/test_run.py b/tests/unit/test_run.py new file mode 100644 index 0000000..2aa40cf --- /dev/null +++ b/tests/unit/test_run.py @@ -0,0 +1,61 @@ +import sys +from pathlib import Path + +import pytest + +from mkcd2app.utils.run import BuildError, run_cmd + + +def python(code: str) -> list[str]: + return [sys.executable, "-c", code] + + +def test_returns_stdout(tmp_path: Path) -> None: + assert run_cmd(python("print('hello')"), cwd=tmp_path).strip() == "hello" + + +def test_runs_in_cwd(tmp_path: Path) -> None: + out = run_cmd(python("import os; print(os.getcwd())"), cwd=tmp_path) + assert Path(out.strip()).samefile(tmp_path) + + +def test_accepts_str_cwd(tmp_path: Path) -> None: + assert run_cmd(python("print(1)"), cwd=str(tmp_path)).strip() == "1" + + +def test_failure_raises_build_error(tmp_path: Path) -> None: + command = python( + "import sys; print('to stdout'); print('to stderr', file=sys.stderr); " + "sys.exit(3)" + ) + with pytest.raises(BuildError) as exc_info: + run_cmd(command, cwd=tmp_path) + err = exc_info.value + assert err.returncode == 3 + assert err.command == command + assert err.cwd == tmp_path + assert "to stdout" in err.output + assert "to stderr" in err.output + assert "(3)" in str(err) + + +def test_missing_executable(tmp_path: Path) -> None: + with pytest.raises(FileNotFoundError, match="definitely-not-a-real-program"): + run_cmd(["definitely-not-a-real-program"], cwd=tmp_path) + + +def test_which_path_limits_search(tmp_path: Path) -> None: + # The interpreter's own name is on PATH, but not in an empty which_path dir + name = Path(sys.executable).name + empty = tmp_path / "empty" + empty.mkdir() + with pytest.raises(FileNotFoundError): + run_cmd([name, "-c", "pass"], cwd=tmp_path, which_path=empty) + + +def test_which_path_finds_executable(tmp_path: Path) -> None: + exe = Path(sys.executable) + out = run_cmd( + [exe.name, "-c", "print('found')"], cwd=tmp_path, which_path=exe.parent + ) + assert out.strip() == "found" diff --git a/tests/unit/test_website.py b/tests/unit/test_website.py new file mode 100644 index 0000000..db8a4fb --- /dev/null +++ b/tests/unit/test_website.py @@ -0,0 +1,276 @@ +import base64 +import json +import os +import shutil +from pathlib import Path + +import pytest +from helpers import CmdCall, FakeRunCmd, make_config_yaml, tree_digest +from redun import Task +from redun.file import ContentDir, ContentFile + +from mkcd2app.build_project import website +from mkcd2app.build_project.website import ( + build_website, + build_website_singlefile, + copy_website_template, + fill_website_template, + install_website_deps, +) +from mkcd2app.utils.paths import get_templates_npm_cache_dir +from mkcd2app.utils.resources import get_resource_template_path + +FAVICON_LINK = '' +BINARY_JS = "// fake binary.js\n" +SIM_HTML = "fake simulator\n" + + +@pytest.fixture +def template_dir(tmp_path: Path) -> Path: + """A copy of the real bundled Vite template, so template drift gets caught.""" + dst = tmp_path / "template" + with get_resource_template_path("vite-project") as src: + shutil.copytree(src, dst, ignore=shutil.ignore_patterns("node_modules", "dist")) + return dst + + +@pytest.fixture +def website_dir(tmp_path: Path, template_dir: Path) -> Path: + """The template as copy_website_template leaves it in the build dir.""" + dst = tmp_path / "build" / "test-website" + shutil.copytree(template_dir, dst) + return dst + + +def make_support_dir(tmp_path: Path, favicon: bytes | None = None) -> Path: + support = tmp_path / "build" / "test-binary-js-support" + support.mkdir(parents=True) + (support / "---simulator.html").write_text(SIM_HTML, encoding="utf-8") + if favicon is not None: + (support / "favicon.ico").write_bytes(favicon) + return support + + +def fill(tmp_path: Path, website_dir: Path, favicon: bytes | None = None) -> Path: + bin_js = tmp_path / "build" / "test-binary-js" / "binary.js" + bin_js.parent.mkdir(parents=True) + bin_js.write_text(BINARY_JS, encoding="utf-8") + result: ContentDir = fill_website_template.func( + make_config_yaml(tmp_path / "build"), + ContentDir(str(website_dir)), + ContentFile(str(bin_js)), + ContentDir(str(make_support_dir(tmp_path, favicon))), + ) + return Path(result.path) + + +# ------------------------------------------------- copy_website_template ------ + + +def test_copy_template_to_build_dir(tmp_path: Path, template_dir: Path) -> None: + build_dir = tmp_path / "build" + result: ContentDir = copy_website_template.func( + make_config_yaml(build_dir), ContentDir(str(template_dir)) + ) + assert Path(result.path) == build_dir / "test-website" + assert tree_digest(Path(result.path)) == tree_digest(template_dir) + + +def test_copy_template_replaces_previous_copy( + tmp_path: Path, template_dir: Path +) -> None: + stale = tmp_path / "build" / "test-website" / "stale.txt" + stale.parent.mkdir(parents=True) + stale.write_text("old", encoding="utf-8") + copy_website_template.func( + make_config_yaml(tmp_path / "build"), ContentDir(str(template_dir)) + ) + assert not stale.exists() + + +# ------------------------------------------------- fill_website_template ------ + + +def test_fill_writes_to_sibling_dir(tmp_path: Path, website_dir: Path) -> None: + assert fill(tmp_path, website_dir) == tmp_path / "build" / "test-website-filled" + + +def test_fill_copies_binary_and_simulator(tmp_path: Path, website_dir: Path) -> None: + assets = fill(tmp_path, website_dir) / "src" / "assets" + assert (assets / "binary.js").read_text(encoding="utf-8") == BINARY_JS + assert (assets / "---simulator.html").read_text(encoding="utf-8") == SIM_HTML + + +def test_fill_sets_default_title(tmp_path: Path, website_dir: Path) -> None: + index_html = (fill(tmp_path, website_dir) / "index.html").read_text("utf-8") + assert "Test Game v1.2.3" in index_html + assert "vite-project" not in index_html + + +def test_fill_inlines_favicon(tmp_path: Path, website_dir: Path) -> None: + icon = b"\x00\x00\x01\x00fake icon bytes" + index_html = (fill(tmp_path, website_dir, icon) / "index.html").read_text("utf-8") + data_uri = "data:image/x-icon;base64," + base64.b64encode(icon).decode("ascii") + assert f'' in index_html + assert "./favicon.ico" not in index_html + + +def test_fill_without_favicon_keeps_link(tmp_path: Path, website_dir: Path) -> None: + index_html = (fill(tmp_path, website_dir) / "index.html").read_text("utf-8") + assert FAVICON_LINK in index_html + + +def test_fill_updates_package_json(tmp_path: Path, website_dir: Path) -> None: + original = json.loads((website_dir / "package.json").read_text(encoding="utf-8")) + filled_path = fill(tmp_path, website_dir) / "package.json" + filled = json.loads(filled_path.read_text(encoding="utf-8")) + assert filled["name"] == "test" + assert filled["version"] == "1.2.3" + assert filled["description"] == "A test game" + assert filled["authors"] == {"name": "Tester"} + # Everything that npm needs to install and build is untouched + for key in ("scripts", "dependencies", "devDependencies"): + assert filled.get(key) == original.get(key) + + +def test_fill_does_not_modify_input(tmp_path: Path, website_dir: Path) -> None: + before = tree_digest(website_dir) + fill(tmp_path, website_dir, b"icon") + assert tree_digest(website_dir) == before + + +def test_fill_replaces_previous_output(tmp_path: Path, website_dir: Path) -> None: + stale = tmp_path / "build" / "test-website-filled" / "stale.txt" + stale.parent.mkdir(parents=True) + stale.write_text("old", encoding="utf-8") + fill(tmp_path, website_dir) + assert not stale.exists() + + +# -------------------------------------------------- install_website_deps ------ + + +def test_install_deps_runs_offline_npm_ci( + tmp_path: Path, + template_dir: Path, + mkcd2app_home: Path, + monkeypatch: pytest.MonkeyPatch, +) -> None: + deps_dir = tmp_path / "build" / "test-website-deps" + (deps_dir / "stale.txt").parent.mkdir(parents=True) + (deps_dir / "stale.txt").write_text("old", encoding="utf-8") + + def fake_npm_ci(call: CmdCall) -> None: + # The lockfile must already be in place when npm runs + assert (call.cwd / "package.json").is_file() + assert (call.cwd / "package-lock.json").is_file() + (call.cwd / "node_modules").mkdir() + + fake = FakeRunCmd(fake_npm_ci) + monkeypatch.setattr(website, "run_cmd", fake) + + result: ContentDir = install_website_deps.func( + str(deps_dir), + ContentFile(str(template_dir / "package.json")), + ContentFile(str(template_dir / "package-lock.json")), + ) + + cache = get_templates_npm_cache_dir() + assert cache.is_relative_to(mkcd2app_home) + assert [(c.command, c.cwd) for c in fake.calls] == [ + (["npm", "ci", "--cache", str(cache), "--offline"], deps_dir) + ] + assert Path(result.path) == deps_dir / "node_modules" + assert not (deps_dir / "stale.txt").exists() + for name in ("package.json", "package-lock.json"): + assert (deps_dir / name).read_bytes() == (template_dir / name).read_bytes() + + +# --------------------------------------------- build_website(_singlefile) ----- + + +@pytest.fixture +def node_modules(tmp_path: Path) -> Path: + """A fake node_modules with a relative .bin symlink when the OS allows it.""" + nm = tmp_path / "deps" / "node_modules" + (nm / "vite" / "bin").mkdir(parents=True) + (nm / "vite" / "bin" / "vite.js").write_text("// vite", encoding="utf-8") + (nm / ".bin").mkdir() + try: + os.symlink(Path("..") / "vite" / "bin" / "vite.js", nm / ".bin" / "vite") + except OSError: + pass # e.g. Windows without symlink privileges + return nm + + +def fake_vite_build(call: CmdCall) -> None: + # Fails like the real build would if node_modules wasn't copied in + assert (call.cwd / "node_modules" / "vite" / "bin" / "vite.js").is_file() + (call.cwd / "dist").mkdir() + (call.cwd / "dist" / "index.html").write_text("built", "utf-8") + + +@pytest.mark.parametrize( + ("task", "script", "suffix", "output"), + [ + (build_website, "build", "-built", "dist"), + (build_website_singlefile, "build:singlefile", "-singlefile-built", "dist/index.html"), + ], + ids=["static", "singlefile"], +) # fmt: skip +def test_build_website( + tmp_path: Path, + website_dir: Path, + node_modules: Path, + monkeypatch: pytest.MonkeyPatch, + task: Task[..., ContentDir | ContentFile], + script: str, + suffix: str, + output: str, +) -> None: + fake = FakeRunCmd(fake_vite_build) + monkeypatch.setattr(website, "run_cmd", fake) + before = tree_digest(website_dir) + + result: ContentDir | ContentFile = task.func( + ContentDir(str(website_dir)), ContentDir(str(node_modules)) + ) + + built = website_dir.parent / f"{website_dir.name}{suffix}" + assert [(c.command, c.cwd) for c in fake.calls] == [(["npm", "run", script], built)] + assert Path(result.path) == built / output + assert tree_digest(website_dir) == before + assert not (website_dir / "node_modules").exists() + + +def test_build_website_keeps_bin_symlinks( + tmp_path: Path, + website_dir: Path, + node_modules: Path, + monkeypatch: pytest.MonkeyPatch, +) -> None: + if not (node_modules / ".bin" / "vite").is_symlink(): + pytest.skip("can't create symlinks here") + monkeypatch.setattr(website, "run_cmd", FakeRunCmd(fake_vite_build)) + + build_website.func(ContentDir(str(website_dir)), ContentDir(str(node_modules))) + + link = website_dir.parent / "test-website-built" / "node_modules" / ".bin" / "vite" + assert link.is_symlink() + assert os.readlink(link) == str(Path("..") / "vite" / "bin" / "vite.js") + + +def test_build_website_replaces_previous_output( + tmp_path: Path, + website_dir: Path, + node_modules: Path, + monkeypatch: pytest.MonkeyPatch, +) -> None: + stale = website_dir.parent / "test-website-built" / "stale.txt" + stale.parent.mkdir(parents=True) + stale.write_text("old", encoding="utf-8") + monkeypatch.setattr(website, "run_cmd", FakeRunCmd(fake_vite_build)) + + build_website.func(ContentDir(str(website_dir)), ContentDir(str(node_modules))) + + assert not stale.exists() From 8925378b653057b3c9da6309ae9ce47685ab27ec Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 4 Nov 2026 00:10:48 +0000 Subject: [PATCH 28/46] Split unit and e2e tests into separate CI workflows unit.yaml runs `pytest -m unit` with coverage and no Node.js setup, so unit results come back in seconds instead of after the toolchain install. e2e.yaml now runs only `pytest -m e2e --no-cov`, since coverage can't see the mkcd2app subprocess the e2e tests drive. Both run on all three OSes and neither waits for the other. Because CI now selects by marker, tests/conftest.py fails collection for a test outside tests/unit and tests/e2e, which would otherwise run in neither workflow. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Mbb9ZdHu1tFP2ZhM62pbgq --- .github/workflows/e2e.yaml | 8 +++++--- .github/workflows/unit.yaml | 35 +++++++++++++++++++++++++++++++++++ CLAUDE.md | 6 +++++- docs/PROJECT_CONTEXT.md | 8 +++++--- tests/conftest.py | 14 +++++++++++--- 5 files changed, 61 insertions(+), 10 deletions(-) create mode 100644 .github/workflows/unit.yaml diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index b978ab1..f468d7d 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -1,4 +1,4 @@ -name: CI +name: E2E tests on: push: @@ -35,5 +35,7 @@ jobs: - name: Install dependencies run: uv sync - - name: Run tests with pytest - run: uv run pytest + # Coverage is skipped: the tests run the mkcd2app executable in a subprocess, + # which coverage doesn't measure + - name: Run e2e tests + run: uv run pytest -m e2e --no-cov diff --git a/.github/workflows/unit.yaml b/.github/workflows/unit.yaml new file mode 100644 index 0000000..7a6b041 --- /dev/null +++ b/.github/workflows/unit.yaml @@ -0,0 +1,35 @@ +name: Unit tests + +on: + push: + branches: [ main ] + # Any base branch, so stacked PRs get CI too + pull_request: + +jobs: + unit: + strategy: + matrix: + os: [ ubuntu-latest, windows-latest, macos-latest ] + runs-on: ${{ matrix.os }} + permissions: + contents: read + steps: + - name: Check out repo + uses: actions/checkout@v4 + + - name: Install uv + uses: astral-sh/setup-uv@v5 + with: + enable-cache: true + version: "latest" + + - name: Set up Python + run: uv python install 3.14 + + - name: Install dependencies + run: uv sync + + # Offline and fast; no Node.js or toolchain install needed + - name: Run unit tests with coverage + run: uv run pytest -m unit diff --git a/CLAUDE.md b/CLAUDE.md index 6d52771..70a9a3c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -19,11 +19,15 @@ uv run ruff format --check . # format check (drop --check to apply) uv run mypy . # strict type check uv run pytest # all tests, with a coverage report uv run pytest -m unit # only the fast offline tests (tests/unit) +uv run pytest -m e2e --no-cov # only the e2e tests (tests/e2e) uv run pytest --no-cov # skip coverage (e.g. when using a debugger) uv run pytest tests/e2e/test_statics.py::test_empty_game_build_to_statics_static ``` -CI (`lint.yaml`, `e2e.yaml`) runs exactly these lint/format/mypy/pytest commands. +CI runs exactly these commands: `lint.yaml` the lint/format/mypy checks, and +`unit.yaml` (`-m unit`) and `e2e.yaml` (`-m e2e --no-cov`) the tests, independently, on +ubuntu/windows/macos. Every test must be under `tests/unit` or `tests/e2e`, or +collection fails, since a test in neither would run in neither workflow. pre-commit runs ruff check, ruff format --check, and mypy on staged Python files. Running the tool end to end (installs must happen first, in this order): diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index 1529d31..08ac0a8 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -38,7 +38,7 @@ main (legacy) ← PR #6 `dag` (draft) ← PR #7 `toolchain` (draft, base = d | `resources/` | Vite+React+TS template, `mkc` js_tools, empty fixture project | Other: `tests/e2e/test_statics.py`, `tests/unit/` (config code sources, `utils/git`, PNG/UF2/ZIP file source, code/website tasks, redun patches, utils), `tests/fixtures/`, `examples/` (Racers), CI -workflows `lint.yaml` (ubuntu) and `e2e.yaml` (ubuntu/windows/macos). Tooling: uv, +workflows `lint.yaml` (ubuntu), `unit.yaml` and `e2e.yaml` (both ubuntu/windows/macos). Tooling: uv, hatchling, Python ≥3.14, ruff + mypy strict, pre-commit. ## Architecture @@ -121,8 +121,10 @@ configs; `fetch_code` handles both in one `case`. logs to stderr and requires `DONE == 0` and `CACHED == TOTAL` on an unchanged rebuild; this depends on redun's log format, which is safe while redun is pinned. Nothing yet tests that changing an input does trigger a rebuild. -- **CI** (`lint.yaml`, `e2e.yaml`) runs on pushes to `main` and on PRs into any branch, - so the stacked PRs get CI. Lint and all three e2e jobs are green on PR #7. +- **CI** (`lint.yaml`, `unit.yaml`, `e2e.yaml`) runs on pushes to `main` and on PRs + into any branch, so the stacked PRs get CI. Lint and all three e2e jobs are green on + PR #7. `unit.yaml` runs `pytest -m unit` (no Node.js), and `e2e.yaml` runs + `pytest -m e2e --no-cov`; neither waits for the other. - `tests/unit` covers config parsing of the `git`/`github` sources and `clone_and_checkout` against a local repo built with Dulwich (default branch, branch, tag, short/full SHA, the same-tree-as-HEAD regression, unknown ref), so it runs diff --git a/tests/conftest.py b/tests/conftest.py index 95638df..c9422b2 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -6,11 +6,19 @@ def pytest_collection_modifyitems(items: list[pytest.Item]) -> None: - """Mark each test `unit` or `e2e` by its directory, so `-m unit` selects them.""" + """ + Mark each test `unit` or `e2e` by its directory, so `-m unit` selects them. + + CI runs `-m unit` and `-m e2e` as separate workflows, so a test outside both + directories would run in neither; fail collection instead of skipping it quietly. + """ for item in items: parts = item.path.relative_to(TESTS_DIR).parts - if parts and parts[0] in ("unit", "e2e"): - item.add_marker(parts[0]) + if len(parts) < 2 or parts[0] not in ("unit", "e2e"): + raise pytest.UsageError( + f"{item.nodeid}: tests must live under tests/unit or tests/e2e" + ) + item.add_marker(parts[0]) @pytest.fixture From 374092b35a7ed34c5c3ed67b9c0a54f8c78a31f7 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 4 Nov 2026 00:28:35 +0000 Subject: [PATCH 29/46] Add unit tests for semver, title rendering, and index.html filling - test_semver.py: is_strict_semver / raise_for_invalid_strict_semver over valid and invalid versions (including a trailing newline), and BuildConfig rejecting a non-semver target. - test_website.py: render_title placeholders, literal braces, no double expansion; HTML escaping of the title; fill_index_html and fill_website_template raising when the title or favicon marker is missing, duplicated, or reformatted. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Mbb9ZbdDZ5goMxMi7N2f4j --- docs/PROJECT_CONTEXT.md | 3 +- tests/unit/test_semver.py | 54 ++++++++++++++ tests/unit/test_website.py | 147 ++++++++++++++++++++++++++++++++++++- 3 files changed, 201 insertions(+), 3 deletions(-) create mode 100644 tests/unit/test_semver.py diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index 5bdc879..95b2692 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -234,4 +234,5 @@ configs; `fetch_code` handles both in one `case`. leaves other braces literal. The title is HTML-escaped into `index.html`, and `fill_index_html` raises if the template's ``/favicon markers aren't each present exactly once, instead of silently shipping "vite-project" and no icon. - Unit tests for these are still to be written. + Covered by `tests/unit/test_semver.py` and the `render_title`/`fill_index_html` + tests in `tests/unit/test_website.py`. diff --git a/tests/unit/test_semver.py b/tests/unit/test_semver.py new file mode 100644 index 0000000..c4fc539 --- /dev/null +++ b/tests/unit/test_semver.py @@ -0,0 +1,54 @@ +from pathlib import Path + +import pytest +from helpers import make_config_yaml +from pydantic import ValidationError + +from mkcd2app.config import load_config_from_yaml +from mkcd2app.utils.text import is_strict_semver, raise_for_invalid_strict_semver + +VALID = ["4.0.14", "0.0.0", "10.20.30"] +INVALID = [ + "v4.0.14", + "4.0", + "4", + "01.0.0", + "4.00.1", + "4.0.14\n", # $ in Python's re matches before a trailing newline + " 4.0.14", + "4.0.14 ", + "4.0.14-beta", + "4.0.14+build", + "", +] + + +@pytest.mark.parametrize("version", VALID) +def test_is_strict_semver_accepts(version: str) -> None: + assert is_strict_semver(version) + + +@pytest.mark.parametrize("version", INVALID) +def test_is_strict_semver_rejects(version: str) -> None: + assert not is_strict_semver(version) + + +def test_raise_for_invalid_strict_semver_accepts_valid() -> None: + raise_for_invalid_strict_semver("4.0.14") # doesn't raise + + +@pytest.mark.parametrize("version", INVALID) +def test_raise_for_invalid_strict_semver_raises(version: str) -> None: + with pytest.raises(ValueError, match="not a valid strict numeric semver"): + raise_for_invalid_strict_semver(version) + + +def test_config_accepts_strict_semver_target(tmp_path: Path) -> None: + config = load_config_from_yaml(make_config_yaml(tmp_path, target="4.0.14")) + assert config.target == "4.0.14" + + +@pytest.mark.parametrize("target", ["4.0", "v4.0.14", "4.0.14-beta", "4.0.14\n"]) +def test_config_rejects_non_semver_target(tmp_path: Path, target: str) -> None: + with pytest.raises(ValidationError, match="target"): + load_config_from_yaml(make_config_yaml(tmp_path, target=target)) diff --git a/tests/unit/test_website.py b/tests/unit/test_website.py index db8a4fb..1078b49 100644 --- a/tests/unit/test_website.py +++ b/tests/unit/test_website.py @@ -3,6 +3,7 @@ import os import shutil from pathlib import Path +from typing import Any import pytest from helpers import CmdCall, FakeRunCmd, make_config_yaml, tree_digest @@ -11,12 +12,17 @@ from mkcd2app.build_project import website from mkcd2app.build_project.website import ( + INDEX_HTML_FAVICON_MARKER, + INDEX_HTML_TITLE_MARKER, build_website, build_website_singlefile, copy_website_template, + fill_index_html, fill_website_template, install_website_deps, + render_title, ) +from mkcd2app.models.config import Project from mkcd2app.utils.paths import get_templates_npm_cache_dir from mkcd2app.utils.resources import get_resource_template_path @@ -51,12 +57,17 @@ def make_support_dir(tmp_path: Path, favicon: bytes | None = None) -> Path: return support -def fill(tmp_path: Path, website_dir: Path, favicon: bytes | None = None) -> Path: +def fill( + tmp_path: Path, + website_dir: Path, + favicon: bytes | None = None, + project: dict[str, Any] | None = None, +) -> Path: bin_js = tmp_path / "build" / "test-binary-js" / "binary.js" bin_js.parent.mkdir(parents=True) bin_js.write_text(BINARY_JS, encoding="utf-8") result: ContentDir = fill_website_template.func( - make_config_yaml(tmp_path / "build"), + make_config_yaml(tmp_path / "build", project=project), ContentDir(str(website_dir)), ContentFile(str(bin_js)), ContentDir(str(make_support_dir(tmp_path, favicon))), @@ -147,6 +158,138 @@ def test_fill_replaces_previous_output(tmp_path: Path, website_dir: Path) -> Non assert not stale.exists() +def test_fill_escapes_title(tmp_path: Path, website_dir: Path) -> None: + filled = fill(tmp_path, website_dir, project={"name": "Tom & Jerry <3"}) + index_html = (filled / "index.html").read_text("utf-8") + assert "<title>Tom & Jerry <3 v1.2.3" in index_html + + +def test_fill_title_with_braces_does_not_crash( + tmp_path: Path, website_dir: Path +) -> None: + filled = fill(tmp_path, website_dir, project={"title": "My {Game} {NAME}"}) + index_html = (filled / "index.html").read_text("utf-8") + assert "My {Game} Test Game" in index_html + + +def test_fill_raises_on_template_without_title( + tmp_path: Path, website_dir: Path +) -> None: + index_html = website_dir / "index.html" + text = index_html.read_text("utf-8") + assert INDEX_HTML_TITLE_MARKER in text + index_html.write_text(text.replace(INDEX_HTML_TITLE_MARKER, ""), "utf-8") + with pytest.raises(RuntimeError, match="vite-project"): + fill(tmp_path, website_dir) + + +def test_fill_raises_on_template_without_favicon_link( + tmp_path: Path, website_dir: Path +) -> None: + index_html = website_dir / "index.html" + text = index_html.read_text("utf-8") + index_html.write_text(text.replace(INDEX_HTML_FAVICON_MARKER, ""), "utf-8") + with pytest.raises(RuntimeError, match="favicon"): + fill(tmp_path, website_dir, b"icon") + + +# ----------------------------------------------------------- render_title ----- + + +def make_project(**overrides: str) -> Project: + fields = { + "name": "Racers", + "path_friendly_name": "racers", + "author": "me", + "version": "1.0.0", + **overrides, + } + return Project.model_validate(fields) + + +@pytest.mark.parametrize( + ("title", "expected"), + [ + ("{NAME} v{VERSION}", "Racers v1.0.0"), + ("{NAME} by {AUTHOR}", "Racers by me"), + ("{NAME}{NAME}", "RacersRacers"), + ("Plain title", "Plain title"), + # Anything that isn't one of the three placeholders is kept literally + ("My {Game}", "My {Game}"), + ("Score: {}", "Score: {}"), + ("{{NAME}}", "{Racers}"), + ("{NAME:>10}", "{NAME:>10}"), + ("{NAME.__class__}", "{NAME.__class__}"), + ("{name}", "{name}"), + ("{NAME", "{NAME"), + ], +) +def test_render_title(title: str, expected: str) -> None: + assert render_title(make_project(title=title)) == expected + + +def test_render_title_default() -> None: + assert render_title(make_project()) == "Racers v1.0.0" + + +def test_render_title_does_not_expand_substituted_values() -> None: + project = make_project(name="{VERSION}", author="{NAME}") + assert render_title(project.model_copy(update={"title": "{NAME} {AUTHOR}"})) == ( + "{VERSION} {NAME}" + ) + + +def test_render_title_does_not_escape_html() -> None: + # Escaping is fill_index_html's job, after substitution + assert render_title(make_project(name="A & B")) == "A & B v1.0.0" + + +# -------------------------------------------------------- fill_index_html ----- + +MINIMAL_INDEX_HTML = ( + f"{INDEX_HTML_FAVICON_MARKER}{INDEX_HTML_TITLE_MARKER}" +) + + +def test_fill_index_html_escapes_title() -> None: + out = fill_index_html(MINIMAL_INDEX_HTML, "") + assert "</title><script>x</script>" in out + + +def test_fill_index_html_keeps_quotes_in_title() -> None: + out = fill_index_html(MINIMAL_INDEX_HTML, 'Say "hi"') + assert 'Say "hi"' in out + + +def test_fill_index_html_without_favicon_needs_no_link() -> None: + out = fill_index_html(INDEX_HTML_TITLE_MARKER, "T") + assert out == "T" + + +@pytest.mark.parametrize( + "text", + ["", INDEX_HTML_TITLE_MARKER * 2, "Something else"], + ids=["missing", "twice", "renamed"], +) +def test_fill_index_html_requires_title_marker_once(text: str) -> None: + with pytest.raises(RuntimeError, match="exactly once"): + fill_index_html(text, "T") + + +@pytest.mark.parametrize( + "text", + [ + INDEX_HTML_TITLE_MARKER, + INDEX_HTML_TITLE_MARKER + INDEX_HTML_FAVICON_MARKER * 2, + INDEX_HTML_TITLE_MARKER + '', + ], + ids=["missing", "twice", "reformatted"], +) +def test_fill_index_html_requires_favicon_marker_once(text: str) -> None: + with pytest.raises(RuntimeError, match="exactly once"): + fill_index_html(text, "T", b"icon") + + # -------------------------------------------------- install_website_deps ------ From 41cc7ac4ca17451c1c5971ba4bb78b932b1b4abf Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 4 Nov 2026 00:36:02 +0000 Subject: [PATCH 30/46] Fix uninstall caching, relative MKCD2APP_HOME, and PNG/UF2 decoding bugs - uninstall_toolchain/uninstall_target use cache_scope=NONE: they return None, so a cached result made a second uninstall after a reinstall a no-op. - MKCD2APP_HOME is ~-expanded and made absolute, so mkc and npm --cache paths still point at the install when subprocesses run elsewhere. - Embedded PNG/UF2 text is decoded the way LZMA-JS writes it (CESU-8, each UTF-16 code unit separately), so projects with emoji import, and UF2 headerSize is applied in UTF-16 code units. Fixtures come from real LZMA-JS (tests/fixtures/embedded/lzma-js/generate.cjs). - UF2 blocks are reassembled into runs instead of one dense image from the lowest to the highest address; payload sizes and the total size are checked before anything is allocated. - run_redun_task closes its SQLite session and engine after each run. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Mbb9ZbdDZ5goMxMi7N2f4j --- docs/PROJECT_CONTEXT.md | 17 +- .../build_project/inputs/embedded_source.py | 130 ++++++++-- src/mkcd2app/target/uninstall.py | 5 +- src/mkcd2app/toolchain/uninstall.py | 5 +- src/mkcd2app/utils/paths.py | 8 +- src/mkcd2app/utils/run_redun_task.py | 13 +- tests/fixtures/embedded/lzma-js/files.json | 1 + tests/fixtures/embedded/lzma-js/generate.cjs | 38 +++ .../embedded/lzma-js/png-project.lzma | Bin 0 -> 224 bytes .../embedded/lzma-js/uf2-header-size.txt | 1 + .../fixtures/embedded/lzma-js/uf2-source.lzma | Bin 0 -> 199 bytes tests/unit/test_embedded_source.py | 235 +++++++++++++++++- tests/unit/test_paths.py | 29 +++ tests/unit/test_run.py | 51 ++++ tests/unit/test_uninstall.py | 61 +++++ 15 files changed, 560 insertions(+), 34 deletions(-) create mode 100644 tests/fixtures/embedded/lzma-js/files.json create mode 100644 tests/fixtures/embedded/lzma-js/generate.cjs create mode 100644 tests/fixtures/embedded/lzma-js/png-project.lzma create mode 100644 tests/fixtures/embedded/lzma-js/uf2-header-size.txt create mode 100644 tests/fixtures/embedded/lzma-js/uf2-source.lzma create mode 100644 tests/unit/test_uninstall.py diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index 95b2692..d8e3e44 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -60,6 +60,9 @@ hatchling, Python ≥3.14, ruff + mypy strict, pre-commit. - **redun patches** (`_redun_compat.py`): `get_proto` (Windows drive letters), `ContentDir._calc_hash` and `Dir._calc_hash` (hash file contents, not mtimes). Covered by `tests/unit/test_redun_compat.py`. +- **Uninstalls are never cached** (`cache_scope=CacheScope.NONE`): they return + `None`, so a cached result couldn't notice a reinstall. Install tasks return + `ContentDir`/`ContentFile`, which redun re-validates, so they stay cached. ## External programs `run_cmd` only ever runs `npm` and `mkc`: - **Node.js ≥ 22.12 + npm, on PATH. Always required.** The floor comes from @@ -89,7 +92,8 @@ fails with a raw `FileNotFoundError`, a missing toolchain with "Executable 'mkc' State lives under `platformdirs` user dirs, namespaced by mkcd2app version (static `0.1.0`). A version bump means re-running both installs. Setting `MKCD2APP_HOME` -moves them to `$MKCD2APP_HOME/{data,state}/` (`utils/paths.py`). `mkc`'s own +moves them to `$MKCD2APP_HOME/{data,state}/` (`utils/paths.py`); the value is +`~`-expanded and made absolute, since subprocesses run in other directories. `mkc`'s own compiler/extension caches aren't covered by this. Config: `version`, `project`, `inputs.code` (share_link | git | github | path | file), @@ -236,3 +240,14 @@ configs; `fetch_code` handles both in one `case`. present exactly once, instead of silently shipping "vite-project" and no icon. Covered by `tests/unit/test_semver.py` and the `render_title`/`fill_index_html` tests in `tests/unit/test_website.py`. +- Fixed (from the Codex review of PR #7): uninstalls were cached no-ops on a second + run (see Architecture); a relative `MKCD2APP_HOME` gave relative `mkc`/`--cache` + paths that subprocesses resolved against their own cwd. PNG/UF2 projects with emoji + failed to import: LZMA-JS writes CESU-8 (each UTF-16 code unit separately), so the + decoder now works in UTF-16 code units, which also keeps UF2 `headerSize` (a JS + string length) correct. Fixtures made by real LZMA-JS are in + `tests/fixtures/embedded/lzma-js/` (`generate.cjs` regenerates them). UF2 blocks + are now reassembled into runs (gaps over 1 MB split a run, like pxt's `toBin`), + with payload sizes checked against the 476-byte block limit and a 64 MB total + limit, all before allocating, so a tiny file can't ask for gigabytes. + `run_redun_task` now closes its SQLite connections after each run. diff --git a/src/mkcd2app/build_project/inputs/embedded_source.py b/src/mkcd2app/build_project/inputs/embedded_source.py index 6f98971..553615a 100644 --- a/src/mkcd2app/build_project/inputs/embedded_source.py +++ b/src/mkcd2app/build_project/inputs/embedded_source.py @@ -24,6 +24,13 @@ UF2_MAGIC0 = 0x0A324655 UF2_MAGIC1 = 0x9E5D5157 UF2_FLAG_NOT_MAIN_FLASH = 0x00000001 +UF2_BLOCK_SIZE = 512 +UF2_MAX_PAYLOAD = 476 # 512 - 32 byte header - 4 byte end magic +# Blocks further apart than this start a new run instead of being zero-padded +# (pxt's UF2.toBin skips blocks after a gap over 1 MB) +UF2_MAX_GAP = 1024 * 1024 +# The flash images we read are a few MB; bounds the memory a crafted file can ask for +UF2_MAX_IMAGE_SIZE = 64 * 1024 * 1024 SOURCE_MAGIC = bytes([0x41, 0x14, 0x0E, 0x2F, 0xB8, 0x2F, 0xA2, 0xBB]) ZIP_MAGIC = b"PK\x03\x04" @@ -45,9 +52,34 @@ def _parse_files(text: str | bytes) -> dict[str, str]: return files -def _lzma_decompress(buf: bytes) -> str: +def _cesu8_to_utf16(buf: bytes) -> bytes: + """ + Decode text written by LZMA-JS's string encoder to UTF-16-LE code units. + + LZMA-JS encodes each UTF-16 code unit on its own (CESU-8): characters outside + the BMP, like emoji, become two 3-byte surrogates that strict UTF-8 rejects, and + U+0000 becomes C0 80. Plain UTF-8 (including 4-byte sequences) decodes the same. + Returning code units keeps JavaScript string offsets (e.g. UF2 ``headerSize``) + valid as ``2 * offset``. + """ + # C0 is never valid UTF-8, so this can't touch anything else + text = buf.replace(b"\xc0\x80", b"\x00").decode("utf-8", "surrogatepass") + return text.encode("utf-16-le", "surrogatepass") + + +def _utf16_to_str(units: bytes) -> str: + """ + Turn UTF-16-LE code units into a str, joining surrogate pairs. + + :raises UnicodeDecodeError: On a lone surrogate, which can't be written as UTF-8. + """ + return units.decode("utf-16-le") + + +def _lzma_decompress(buf: bytes) -> bytes: + """Decompress an LZMA-JS payload to its text, as UTF-16-LE code units.""" # pxt uses LZMA-JS, which writes the legacy ".lzma" (LZMA_Alone) container. - return lzma.decompress(buf, format=lzma.FORMAT_ALONE).decode("utf-8") + return _cesu8_to_utf16(lzma.decompress(buf, format=lzma.FORMAT_ALONE)) # ---------------------------------------------------------------- PNG --------- @@ -97,7 +129,7 @@ def decode(ptr: int, bits: int, length: int) -> tuple[bytes, int]: def files_from_png(path: Path) -> dict[str, str]: - project = json.loads(_lzma_decompress(_png_blob(path))) + project = json.loads(_utf16_to_str(_lzma_decompress(_png_blob(path)))) # {"meta": {...name, cloudId, targetVersions, editor}, "source": ""} if not isinstance(project, dict) or not isinstance(project.get("source"), str): raise EmbeddedSourceError("Embedded PNG project has no source") @@ -107,49 +139,95 @@ def files_from_png(path: Path) -> dict[str, str]: # ---------------------------------------------------------------- UF2 --------- -def _uf2_to_bin(data: bytes) -> bytes: +def _uf2_runs(data: bytes) -> list[tuple[int, bytes]]: + """ + Reassemble a UF2's main-flash blocks into contiguous runs of memory. + + Blocks with small gaps between them are zero-padded into one run, like pxt's + ``UF2.toBin``; a bigger gap starts a new run, so far-apart addresses never turn + into one huge buffer. Everything is validated before anything is allocated. + + :return: (offset from the lowest address, bytes) for each run, in address order. + :raises EmbeddedSourceError: If there are no blocks, a block's payload doesn't fit + in it, or the runs add up to more than ``UF2_MAX_IMAGE_SIZE``. + """ chunks: dict[int, bytes] = {} - for off in range(0, len(data) - 511, 512): + for off in range(0, len(data) - UF2_BLOCK_SIZE + 1, UF2_BLOCK_SIZE): m0, m1, flags, addr, size = struct.unpack_from("<5I", data, off) if m0 != UF2_MAGIC0 or m1 != UF2_MAGIC1 or flags & UF2_FLAG_NOT_MAIN_FLASH: continue + if size > UF2_MAX_PAYLOAD: + raise EmbeddedSourceError( + f"UF2 block at offset {off} declares a {size} byte payload, " + f"over the {UF2_MAX_PAYLOAD} bytes a block can hold" + ) chunks[addr] = data[off + 32 : off + 32 + size] if not chunks: raise EmbeddedSourceError("Not a UF2 file") - base = min(chunks) - end = max(a + len(c) for a, c in chunks.items()) - buf = bytearray(end - base) - for addr, c in chunks.items(): - buf[addr - base : addr - base + len(c)] = c - return bytes(buf) + + # Lay out the runs as (start, end, [(addr, chunk)]) before allocating + spans: list[tuple[int, int, list[tuple[int, bytes]]]] = [] + for addr in sorted(chunks): + chunk = chunks[addr] + if spans and addr - spans[-1][1] <= UF2_MAX_GAP: + start, end, members = spans[-1] + members.append((addr, chunk)) + spans[-1] = (start, max(end, addr + len(chunk)), members) + else: + spans.append((addr, addr + len(chunk), [(addr, chunk)])) + total = sum(end - start for start, end, _ in spans) + if total > UF2_MAX_IMAGE_SIZE: + raise EmbeddedSourceError( + f"UF2 covers {total} bytes of memory, " + f"over the {UF2_MAX_IMAGE_SIZE // 2**20} MB limit" + ) + + base = spans[0][0] + runs: list[tuple[int, bytes]] = [] + for start, end, members in spans: + buf = bytearray(end - start) + for addr, chunk in members: + buf[addr - start : addr - start + len(chunk)] = chunk + runs.append((start - base, bytes(buf))) + return runs + + +def _find_source(runs: list[tuple[int, bytes]]) -> tuple[bytes, int]: + """ + Find the 16-byte aligned source magic (alignment counted from the lowest + address, like pxt's search over the whole image). + + :return: The run holding it and the magic's position in that run. + """ + for run_offset, run in runs: + p = 0 + while (p := run.find(SOURCE_MAGIC, p)) >= 0: + if (run_offset + p) % 16 == 0: + return run, p + p += 1 + raise EmbeddedSourceError("This UF2 doesn't contain source (binary-only build?)") def files_from_uf2(path: Path) -> dict[str, str]: - bin_ = _uf2_to_bin(path.read_bytes()) - p = 0 - while True: - p = bin_.find(SOURCE_MAGIC, p) - if p < 0: - raise EmbeddedSourceError( - "This UF2 doesn't contain source (binary-only build?)" - ) - if p % 16 == 0: # pxt only looks at 16-byte aligned positions - break - p += 1 + bin_, p = _find_source(_uf2_runs(path.read_bytes())) meta_len, text_len = struct.unpack_from(" None: """ Uninstall a MakeCode Arcade target version for this mkcd2app version. diff --git a/src/mkcd2app/toolchain/uninstall.py b/src/mkcd2app/toolchain/uninstall.py index b9befea..0e6c635 100644 --- a/src/mkcd2app/toolchain/uninstall.py +++ b/src/mkcd2app/toolchain/uninstall.py @@ -1,6 +1,7 @@ import logging from redun import task +from redun.task import CacheScope from mkcd2app.utils.filesystem import rmtree_robust from mkcd2app.utils.logger import create_logger @@ -9,7 +10,9 @@ logger = create_logger(name=__name__, level=logging.INFO) -@task(namespace="mkcd2app") +# Never cached: it returns None, so a cached result can't tell that the directory +# was reinstalled since, and a second uninstall would silently do nothing +@task(namespace="mkcd2app", cache_scope=CacheScope.NONE) def uninstall_toolchain() -> None: """ Uninstall the toolchain for this mkcd2app version by removing the toolchain diff --git a/src/mkcd2app/utils/paths.py b/src/mkcd2app/utils/paths.py index 65ebef6..7105d1e 100644 --- a/src/mkcd2app/utils/paths.py +++ b/src/mkcd2app/utils/paths.py @@ -17,8 +17,14 @@ def get_mkcd2app_version() -> str: def get_home_override_dir() -> Path | None: + """ + The ``MKCD2APP_HOME`` override, made absolute (with ``~`` expanded). + + Relative paths would break subprocesses: they run in other directories, so a + relative executable or ``--cache`` path would point somewhere else. + """ home = os.environ.get(HOME_ENV_VAR) - return Path(home) if home else None + return Path(home).expanduser().resolve() if home else None def get_user_data_dir() -> Path: diff --git a/src/mkcd2app/utils/run_redun_task.py b/src/mkcd2app/utils/run_redun_task.py index f061f13..1572619 100644 --- a/src/mkcd2app/utils/run_redun_task.py +++ b/src/mkcd2app/utils/run_redun_task.py @@ -3,6 +3,7 @@ import redun from redun import Scheduler +from redun.backends.db import RedunBackendDb from redun.expression import Expression, Result from mkcd2app.utils.logger import create_logger @@ -23,4 +24,14 @@ def run_redun_task(expr: Expression[Result] | Result, redun_db_path: Path) -> Re ) scheduler = Scheduler(config=redun_config) scheduler.load() - return scheduler.run(expr) + try: + return scheduler.run(expr) + finally: + # Close the SQLite connections, so a process that runs several commands + # (like the tests) doesn't leak one per run + backend = scheduler.backend + if isinstance(backend, RedunBackendDb): + if backend.session is not None: + backend.session.close() + if backend.engine is not None: + backend.engine.dispose() diff --git a/tests/fixtures/embedded/lzma-js/files.json b/tests/fixtures/embedded/lzma-js/files.json new file mode 100644 index 0000000..bc53886 --- /dev/null +++ b/tests/fixtures/embedded/lzma-js/files.json @@ -0,0 +1 @@ +{"pxt.json":"{\"name\":\"emoji 😀 game\",\"dependencies\":{\"device\":\"*\"}}","main.ts":"game.splash(\"hello 😀\")\r\nlet s = \"é ✓ 𝄞\"\n","README.md":"# 🦆 Duck\n"} \ No newline at end of file diff --git a/tests/fixtures/embedded/lzma-js/generate.cjs b/tests/fixtures/embedded/lzma-js/generate.cjs new file mode 100644 index 0000000..5422359 --- /dev/null +++ b/tests/fixtures/embedded/lzma-js/generate.cjs @@ -0,0 +1,38 @@ +// Regenerates the LZMA-JS payloads used by tests/unit/test_embedded_source.py. +// +// MakeCode compresses projects with LZMA-JS, which encodes strings as CESU-8 (each +// UTF-16 code unit on its own, so emoji become two 3-byte surrogates). Python's +// lzma can't produce that, so these payloads come from the real library: +// +// npm install --no-save lzma@2.3.2 +// node generate.cjs +// +// Output: png-project.lzma (the PNG blob), uf2-source.lzma (the UF2 LZMA text), +// uf2-header-size.txt (headerSize, in UTF-16 code units), and files.json (the +// expected {filename: text} map, as normal UTF-8). +const fs = require("fs"); +const path = require("path"); +const LZMA = require("lzma"); + +const files = { + "pxt.json": JSON.stringify({ name: "emoji 😀 game", dependencies: { device: "*" } }), + "main.ts": 'game.splash("hello 😀")\r\nlet s = "é ✓ 𝄞"\n', + "README.md": "# 🦆 Duck\n", +}; +const meta = { name: "emoji 😀 game", editor: "tsprj" }; + +function compress(text) { + return Buffer.from(Uint8Array.from(LZMA.compress(text, 9), (b) => b & 0xff)); +} + +const out = __dirname; +// PNG: pxt's compressProjectAsync -> {meta, source: JSON of files} +fs.writeFileSync( + path.join(out, "png-project.lzma"), + compress(JSON.stringify({ meta, source: JSON.stringify(files) })), +); +// UF2: header JSON then files JSON, headerSize = header's JS string length +const header = JSON.stringify(meta); +fs.writeFileSync(path.join(out, "uf2-source.lzma"), compress(header + JSON.stringify(files))); +fs.writeFileSync(path.join(out, "uf2-header-size.txt"), String(header.length)); +fs.writeFileSync(path.join(out, "files.json"), JSON.stringify(files)); diff --git a/tests/fixtures/embedded/lzma-js/png-project.lzma b/tests/fixtures/embedded/lzma-js/png-project.lzma new file mode 100644 index 0000000000000000000000000000000000000000..5e0a151ab7a82066ffe4e87e3825cfc5aebb5504 GIT binary patch literal 224 zcmV<603ZKd00002C;+^&s;?OB6|fodCZ>OJFSIrqU?*u61=DXMIZm;wa9a>D$AHn)fBZRLw{nW5zhN> zT%yc_1YwM_k^_&Uo>sh!ZmxXE3W9d15MKpn;l-iLim8Ma zzzO#FP>_Tp<(mfdL~u^^zPwQOOF%TpG)or0Gc2FYeCaJ#VvZ0++zQV!e9VcGHxUQ literal 0 HcmV?d00001 diff --git a/tests/fixtures/embedded/lzma-js/uf2-header-size.txt b/tests/fixtures/embedded/lzma-js/uf2-header-size.txt new file mode 100644 index 0000000..aaa6442 --- /dev/null +++ b/tests/fixtures/embedded/lzma-js/uf2-header-size.txt @@ -0,0 +1 @@ +41 \ No newline at end of file diff --git a/tests/fixtures/embedded/lzma-js/uf2-source.lzma b/tests/fixtures/embedded/lzma-js/uf2-source.lzma new file mode 100644 index 0000000000000000000000000000000000000000..e63b09c8106c53859427f786ab967ecdbcb90145 GIT binary patch literal 199 zcmV;&0670$00002=Kufz0000006mC_##A=L7f3yhzmEn8!#lqR%68TpU4CWEos=`Uf)ZM1P_j&gH_7QS{<&@{G z>XUYWyNT==3X9D>QrVDdLEND$=)c&6(Sc1*I)G3+qw{!?QdU_24wQu({YCtS^?+ii BWJLe~ literal 0 HcmV?d00001 diff --git a/tests/unit/test_embedded_source.py b/tests/unit/test_embedded_source.py index 63f6d9e..e1b69bc 100644 --- a/tests/unit/test_embedded_source.py +++ b/tests/unit/test_embedded_source.py @@ -4,11 +4,13 @@ import stat import struct import zipfile +from collections.abc import Callable from pathlib import Path import pytest from PIL import Image +from mkcd2app.build_project.inputs import embedded_source from mkcd2app.build_project.inputs.embedded_source import ( PNG_HEADER_SIZE, PNG_MAGIC, @@ -16,6 +18,9 @@ UF2_FLAG_NOT_MAIN_FLASH, UF2_MAGIC0, UF2_MAGIC1, + UF2_MAX_GAP, + UF2_MAX_IMAGE_SIZE, + UF2_MAX_PAYLOAD, ZIP_MAX_TOTAL_SIZE, EmbeddedSourceError, extract_project, @@ -29,6 +34,8 @@ DUCK_UF2 = FIXTURES / "falling-duck.uf2" DUCK_PNG = FIXTURES / "falling-duck.png" EMPTY_PNG = FIXTURES / "empty-game.png" +# Made by the real LZMA-JS (see generate.cjs there), which writes emoji as CESU-8 +LZMA_JS = FIXTURES / "lzma-js" RACERS_ZIP = FIXTURES / "Racers-master.zip" # GitHub "Download ZIP" of Racers EMPTY_GAME_DIR = Path(__file__).parent.parent / "fixtures" / "empty_game" DUCK_FILES = {"README.md", "assets.json", "main.blocks", "main.ts", "pxt.json"} @@ -111,10 +118,18 @@ def _png_blob_for(files: dict[str, str], padding: str = "") -> bytes: def make_project_uf2( - path: Path, meta: dict[str, object], text: bytes, pad: int = 1000 + path: Path, + meta: dict[str, object], + text: bytes, + pad: int = 1000, + meta_bytes: bytes | None = None, ) -> None: - """Embed source the way pxt does, then chunk it into 256-byte UF2 blocks.""" - meta_bytes = json.dumps(meta).encode() + """ + Embed source the way pxt does, then chunk it into 256-byte UF2 blocks. + + :param meta_bytes: The encoded meta JSON, instead of ``json.dumps(meta)``. + """ + meta_bytes = json.dumps(meta).encode() if meta_bytes is None else meta_bytes pre = b"\xaa" * (pad + (-pad % 16)) # source magic must be 16-byte aligned binary = ( pre @@ -244,6 +259,220 @@ def test_extract_writes_bytes_exactly(tmp_path: Path) -> None: assert (dest / name).read_bytes() == content.encode("utf-8") +# ------------------------------------------------- LZMA-JS text encoding ------ + + +def _lzma_js_files() -> dict[str, str]: + files: dict[str, str] = json.loads((LZMA_JS / "files.json").read_text("utf-8")) + return files + + +def test_lzma_js_fixture_is_cesu8() -> None: + # Guards the fixture itself: strict UTF-8 must reject it, or it tests nothing + raw = lzma.decompress( + (LZMA_JS / "png-project.lzma").read_bytes(), format=lzma.FORMAT_ALONE + ) + assert "😀".encode("utf-16-be").hex().startswith("d83d") + assert b"\xed\xa0\xbd\xed\xb8\x80" in raw # 😀 as two surrogates + with pytest.raises(UnicodeDecodeError): + raw.decode("utf-8") + + +def test_lzma_js_png_with_emoji(tmp_path: Path) -> None: + src = tmp_path / "game.png" + make_project_png(160, 120, (LZMA_JS / "png-project.lzma").read_bytes(), src) + files = _lzma_js_files() + assert read_embedded_files(src) == files + assert 'game.splash("hello 😀")' in files["main.ts"] + + dest = tmp_path / "out" + extract_project(src, dest) + for name, content in files.items(): + assert (dest / name).read_bytes() == content.encode("utf-8") + + +def test_lzma_js_uf2_with_emoji_in_header(tmp_path: Path) -> None: + header_size = int((LZMA_JS / "uf2-header-size.txt").read_text("utf-8")) + text = (LZMA_JS / "uf2-source.lzma").read_bytes() + src = tmp_path / "game.uf2" + make_project_uf2(src, {"compression": "LZMA", "headerSize": header_size}, text) + files = _lzma_js_files() + + # The header holds an emoji, so its JS length (UTF-16 code units) is longer than + # its Python length: slicing by characters would cut into the files JSON + header = '{"name":"emoji 😀 game","editor":"tsprj"}' + assert header_size == len(header.encode("utf-16-le")) // 2 == len(header) + 1 + assert read_embedded_files(src) == files + + dest = tmp_path / "out" + extract_project(src, dest) + for name, content in files.items(): + assert (dest / name).read_bytes() == content.encode("utf-8") + + +def _cesu8(text: str) -> bytes: + """Encode like LZMA-JS: each UTF-16 code unit on its own, U+0000 as C0 80.""" + units = text.encode("utf-16-le") + split = "".join( + chr(int.from_bytes(units[i : i + 2], "little")) for i in range(0, len(units), 2) + ) + return split.encode("utf-8", "surrogatepass").replace(b"\x00", b"\xc0\x80") + + +@pytest.mark.parametrize("encode", [str.encode, _cesu8], ids=["utf8", "cesu8"]) +def test_uf2_meta_with_emoji(tmp_path: Path, encode: Callable[[str], bytes]) -> None: + meta: dict[str, object] = {"name": "emoji 😀 game"} + src = tmp_path / "game.uf2" + make_project_uf2( + src, + meta, + json.dumps(SAMPLE_FILES).encode(), + meta_bytes=encode(json.dumps(meta, ensure_ascii=False)), + ) + assert read_embedded_files(src) == SAMPLE_FILES + + +@pytest.mark.parametrize("encode", [str.encode, _cesu8], ids=["utf8", "cesu8"]) +@pytest.mark.parametrize("text", ["a😀b", "é ✓ 𝄞", "plain"]) +def test_uncompressed_uf2_text_encodings( + tmp_path: Path, encode: Callable[[str], bytes], text: str +) -> None: + src = tmp_path / "game.uf2" + make_project_uf2(src, {}, encode(json.dumps({"main.ts": text}, ensure_ascii=False))) + assert read_embedded_files(src) == {"main.ts": text} + + +def test_cesu8_nul() -> None: + # JSON.stringify escapes U+0000, so it never reaches a project, but LZMA-JS + # would write it as C0 80 + assert _cesu8("a\x00b") == b"a\xc0\x80b" + units = embedded_source._cesu8_to_utf16(b"a\xc0\x80b") + assert embedded_source._utf16_to_str(units) == "a\x00b" + + +def test_lone_surrogate_is_corrupt(tmp_path: Path) -> None: + # Can't be written as UTF-8, so it must fail cleanly rather than at write time + project = '{"meta": {}, "source": "{\\"main.ts\\": \\"x\ud83dy\\"}"}' + blob = lzma.compress( + project.encode("utf-8", "surrogatepass"), format=lzma.FORMAT_ALONE + ) + src = tmp_path / "game.png" + make_project_png(160, 120, blob, src) + with pytest.raises(EmbeddedSourceError, match="corrupt"): + read_embedded_files(src) + + +@pytest.mark.parametrize("header_size", [-1, 10_000, "5"]) +def test_uf2_invalid_header_size(tmp_path: Path, header_size: object) -> None: + text = lzma.compress(json.dumps(SAMPLE_FILES).encode(), format=lzma.FORMAT_ALONE) + src = tmp_path / "game.uf2" + make_project_uf2(src, {"compression": "LZMA", "headerSize": header_size}, text) + with pytest.raises(EmbeddedSourceError, match="headerSize"): + read_embedded_files(src) + + +# ------------------------------------------------------------ UF2 layout ------ + + +def _uf2_block(addr: int, payload: bytes, size: int | None = None) -> bytes: + header = struct.pack( + "<8I", + UF2_MAGIC0, + UF2_MAGIC1, + 0, + addr, + len(payload) if size is None else size, + 0, + 1, + 0, + ) + return header + payload.ljust(476, b"\x00") + struct.pack(" bytes: + text = json.dumps(SAMPLE_FILES).encode() + meta = b"{}" + return SOURCE_MAGIC + struct.pack(" list[int]: + """Record the size of each bytearray the decoder allocates.""" + sizes: list[int] = [] + + def spy(size: int = 0) -> bytearray: + sizes.append(size) + assert size <= UF2_MAX_IMAGE_SIZE, f"tried to allocate {size} bytes" + return bytearray(size) + + monkeypatch.setattr(embedded_source, "bytearray", spy, raising=False) + return sizes + + +def test_uf2_far_apart_blocks_not_densified( + tmp_path: Path, allocations: list[int] +) -> None: + # Regression: addresses 0 and 0xFFFF0000 asked for a ~4 GiB buffer + payload = _source_payload() + chunks = [payload[i : i + 256] for i in range(0, len(payload), 256)] + blocks = _uf2_block(0, b"\xaa" * 256) + for i, chunk in enumerate(chunks): + blocks += _uf2_block(0xFFFF0000 + i * 256, chunk) + src = tmp_path / "game.uf2" + src.write_bytes(blocks) + + assert read_embedded_files(src) == SAMPLE_FILES + assert max(allocations) <= len(blocks) + + +def test_uf2_small_gap_is_padded(tmp_path: Path) -> None: + # Blocks with a gap (like pxt's toBin pads) still form one image, so the + # source's 16-byte alignment is counted from the lowest address + payload = _source_payload() + chunks = [payload[i : i + 256] for i in range(0, len(payload), 256)] + blocks = _uf2_block(0x1000, b"\xaa" * 256) + for i, chunk in enumerate(chunks): + blocks += _uf2_block(0x4000 + i * 256, chunk) + src = tmp_path / "game.uf2" + src.write_bytes(blocks) + assert read_embedded_files(src) == SAMPLE_FILES + + +def test_uf2_too_much_memory(tmp_path: Path, allocations: list[int]) -> None: + # Each block sits just within the padding gap, so they'd all join one run + count = UF2_MAX_IMAGE_SIZE // UF2_MAX_GAP + 2 + blocks = b"".join( + _uf2_block(i * (UF2_MAX_GAP + 256), b"\xaa" * 256) for i in range(count) + ) + src = tmp_path / "game.uf2" + src.write_bytes(blocks) + with pytest.raises(EmbeddedSourceError, match="MB limit"): + read_embedded_files(src) + assert allocations == [] # rejected before allocating anything + + +@pytest.mark.parametrize("size", [UF2_MAX_PAYLOAD + 1, 0xFFFFFFFF]) +def test_uf2_oversized_payload( + tmp_path: Path, allocations: list[int], size: int +) -> None: + src = tmp_path / "game.uf2" + src.write_bytes(_uf2_block(0x2000, _source_payload()[:256], size=size)) + with pytest.raises(EmbeddedSourceError, match="payload"): + read_embedded_files(src) + assert allocations == [] + + +def test_uf2_max_payload_accepted(tmp_path: Path) -> None: + payload = _source_payload() + assert len(payload) <= 2 * UF2_MAX_PAYLOAD + src = tmp_path / "game.uf2" + src.write_bytes( + _uf2_block(0x2000, payload[:UF2_MAX_PAYLOAD]) + + _uf2_block(0x2000 + UF2_MAX_PAYLOAD, payload[UF2_MAX_PAYLOAD:]) + ) + assert read_embedded_files(src) == SAMPLE_FILES + + # ----------------------------------------------------------------- errors ----- diff --git a/tests/unit/test_paths.py b/tests/unit/test_paths.py index 2ff585e..93ecfe8 100644 --- a/tests/unit/test_paths.py +++ b/tests/unit/test_paths.py @@ -58,3 +58,32 @@ def test_no_override_uses_platformdirs( assert paths.get_home_override_dir() is None assert paths.get_user_data_dir() == Path(paths.DIRS.user_data_dir) / VERSION assert paths.get_user_state_dir() == Path(paths.DIRS.user_state_dir) / VERSION + + +# ------------------------------------------------ relative/tilde overrides ---- + + +@pytest.fixture +def relative_home(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> Path: + """Set MKCD2APP_HOME to a relative path from tmp_path; return where it points.""" + monkeypatch.chdir(tmp_path) + monkeypatch.setenv(paths.HOME_ENV_VAR, "home") + return tmp_path / "home" + + +def test_relative_override_is_made_absolute(relative_home: Path) -> None: + home = paths.get_home_override_dir() + assert home is not None and home.is_absolute() + assert home == relative_home.resolve() + for get_path, _ in DATA_PATHS + STATE_PATHS: + assert get_path().is_absolute() + assert get_path().is_relative_to(relative_home.resolve()) + + +def test_tilde_override_is_expanded( + tmp_path: Path, monkeypatch: pytest.MonkeyPatch +) -> None: + monkeypatch.setenv("HOME", str(tmp_path)) + monkeypatch.setenv("USERPROFILE", str(tmp_path)) # Windows + monkeypatch.setenv(paths.HOME_ENV_VAR, str(Path("~") / "mkcd2app-home")) + assert paths.get_home_override_dir() == (tmp_path / "mkcd2app-home").resolve() diff --git a/tests/unit/test_run.py b/tests/unit/test_run.py index 2aa40cf..5ba04d5 100644 --- a/tests/unit/test_run.py +++ b/tests/unit/test_run.py @@ -3,6 +3,7 @@ import pytest +from mkcd2app.utils import paths from mkcd2app.utils.run import BuildError, run_cmd @@ -59,3 +60,53 @@ def test_which_path_finds_executable(tmp_path: Path) -> None: [exe.name, "-c", "print('found')"], cwd=tmp_path, which_path=exe.parent ) assert out.strip() == "found" + + +def _write_fake_mkc(bin_dir: Path) -> None: + """A tiny ``mkc`` that prints ok, runnable through shutil.which on any OS.""" + bin_dir.mkdir(parents=True) + if sys.platform == "win32": + (bin_dir / "mkc.cmd").write_text("@echo ok\r\n", encoding="utf-8") + else: + exe = bin_dir / "mkc" + exe.write_text("#!/bin/sh\necho ok\n", encoding="utf-8") + exe.chmod(0o755) + + +def test_relative_home_executable_runs_from_other_cwd( + tmp_path: Path, monkeypatch: pytest.MonkeyPatch +) -> None: + # Regression: a relative MKCD2APP_HOME gave a relative which_path, so the + # resolved executable didn't exist from the subprocess's cwd + monkeypatch.chdir(tmp_path) + monkeypatch.setenv(paths.HOME_ENV_VAR, "home") + _write_fake_mkc(paths.get_js_tools_bin_dir()) + other = tmp_path / "build" + other.mkdir() + + out = run_cmd( + ["mkc", "build", "-j"], cwd=other, which_path=paths.get_js_tools_bin_dir() + ) + + assert out.strip() == "ok" + + +def test_relative_home_cache_dir_is_same_from_other_cwd( + tmp_path: Path, monkeypatch: pytest.MonkeyPatch +) -> None: + # Regression: npm got a relative --cache, which it resolved against its own cwd + monkeypatch.chdir(tmp_path) + monkeypatch.setenv(paths.HOME_ENV_VAR, "home") + cache = paths.get_templates_npm_cache_dir() + other = tmp_path / "build" + other.mkdir() + + run_cmd( + python("import pathlib, sys; pathlib.Path(sys.argv[1]).mkdir(parents=True)") + + [str(cache)], + cwd=other, + ) + + assert (tmp_path / "home").resolve() in cache.parents + assert cache.is_dir() + assert not (other / "home").exists() diff --git a/tests/unit/test_uninstall.py b/tests/unit/test_uninstall.py new file mode 100644 index 0000000..7586f4b --- /dev/null +++ b/tests/unit/test_uninstall.py @@ -0,0 +1,61 @@ +""" +Uninstalls must really run every time, even across executions sharing a redun DB. + +Regression: with caching on, the second ``uninstall`` after a reinstall was a cache +hit on the first (both return None), so it left the reinstalled files in place. +""" + +from collections.abc import Callable +from pathlib import Path +from typing import Any + +import pytest + +from mkcd2app.target.uninstall import uninstall_target +from mkcd2app.toolchain.uninstall import uninstall_toolchain +from mkcd2app.utils import paths +from mkcd2app.utils.run_redun_task import run_redun_task + + +def _fake_install(directory: Path) -> None: + directory.mkdir(parents=True, exist_ok=True) + (directory / "marker.txt").write_text("installed", encoding="utf-8") + + +@pytest.mark.parametrize( + ("make_expr", "get_dir", "get_db"), + [ + ( + uninstall_toolchain, + paths.get_toolchain_dir, + paths.get_redun_db_for_toolchain_path, + ), + ( + lambda: uninstall_target("4.0.14"), + lambda: paths.get_target_version_dir("4.0.14"), + paths.get_redun_db_for_target_path, + ), + ], + ids=["toolchain", "target"], +) +def test_uninstall_runs_every_time( + mkcd2app_home: Path, + make_expr: Callable[[], Any], + get_dir: Callable[[], Path], + get_db: Callable[[], Path], +) -> None: + directory, db = get_dir(), get_db() + for _ in range(3): # install -> uninstall, then reinstall -> uninstall again + _fake_install(directory) + run_redun_task(make_expr(), redun_db_path=db) + assert not directory.exists() + assert db.is_file() # each round really shared the same DB + + +def test_uninstall_target_only_removes_that_version(mkcd2app_home: Path) -> None: + _fake_install(paths.get_target_version_dir("4.0.14")) + _fake_install(paths.get_target_version_dir("4.1.27")) + db = paths.get_redun_db_for_target_path() + run_redun_task(uninstall_target("4.0.14"), redun_db_path=db) + assert not paths.get_target_version_dir("4.0.14").exists() + assert paths.get_target_version_dir("4.1.27").is_dir() From 3d8cbc0939b88ea323ba8dd6549c213e072acfed Mon Sep 17 00:00:00 2001 From: Cyrus Yiu Date: Tue, 3 Nov 2026 21:35:52 -0500 Subject: [PATCH 31/46] Pass tasks only the config they use and resolve paths against the config file Tasks hashed the whole raw YAML, so any edit, even a comment, reran nearly the whole build and re-fetched the source. build_project now takes canonical JSON with absolute paths and passes each task only what it uses. Relative paths are resolved against the config file's directory instead of the current directory. Also: - electron and tauri outputs raise NotImplementedError instead of silently building nothing, empty outputs and unknown config keys are rejected, and a missing target names the install command - --full-rebuild refuses a non-empty directory with no redun cache DB - build_binary_js builds in its own copy instead of fetch_code's output - simulator URLs are resolved against simUrl - creating a logger twice no longer duplicates its handlers - generate_and_parse_args takes argv, and class Config becomes ConfigDict The unit tests and e2e fixtures still use the old signatures and paths, so they fail until the follow-up commit. Co-Authored-By: Claude Opus 5.5 --- examples/Racers offline.yaml | 3 +- examples/Racers.yaml | 5 +- src/mkcd2app/build_project/__init__.py | 63 +++++++++++++++---- src/mkcd2app/build_project/inputs/code.py | 75 +++++++++++------------ src/mkcd2app/build_project/website.py | 26 ++++---- src/mkcd2app/cli.py | 15 +++-- src/mkcd2app/config/__init__.py | 34 +++++++++- src/mkcd2app/main.py | 49 +++++++++++---- src/mkcd2app/models/config.py | 59 +++++++++++------- src/mkcd2app/models/metadata.py | 7 +-- src/mkcd2app/target/install.py | 10 +-- src/mkcd2app/utils/logger.py | 8 +-- src/mkcd2app/utils/paths.py | 7 +++ 13 files changed, 242 insertions(+), 119 deletions(-) diff --git a/examples/Racers offline.yaml b/examples/Racers offline.yaml index f602f06..1defa59 100644 --- a/examples/Racers offline.yaml +++ b/examples/Racers offline.yaml @@ -34,7 +34,8 @@ inputs: value: "E:/Racers/Racers icon.png" # Path where the build process will take place -build_dir: "./examples/Racers-offline-build" +# Relative paths in this file are relative to this file's directory +build_dir: "./Racers-offline-build" # The MakeCode Arcade version to target # Must be explicit 3 number sem ver, do not add a "v" at the beginning diff --git a/examples/Racers.yaml b/examples/Racers.yaml index df7d8b3..138b214 100644 --- a/examples/Racers.yaml +++ b/examples/Racers.yaml @@ -51,10 +51,11 @@ inputs: # icon: # type: path -# value: "./examples/Racers icon.png" +# value: "./Racers icon.png" # Path where the build process will take place -build_dir: "./examples/Racers-build" +# Relative paths in this file are relative to this file's directory +build_dir: "./Racers-build" # The MakeCode Arcade version to target # Must be explicit 3 number sem ver, do not add a "v" at the beginning diff --git a/src/mkcd2app/build_project/__init__.py b/src/mkcd2app/build_project/__init__.py index 6d774f1..b92d974 100644 --- a/src/mkcd2app/build_project/__init__.py +++ b/src/mkcd2app/build_project/__init__.py @@ -2,6 +2,7 @@ from contextlib import ExitStack from dataclasses import dataclass from pathlib import Path +from typing import assert_never from redun import task from redun.file import ContentDir, ContentFile @@ -19,9 +20,15 @@ fill_website_template, install_website_deps, ) -from mkcd2app.config import load_config_from_yaml -from mkcd2app.models.config import StaticOutput, StaticSinglefileOutput +from mkcd2app.models.config import ( + BuildConfig, + ElectronOutput, + StaticOutput, + StaticSinglefileOutput, + TauriOutput, +) from mkcd2app.utils.logger import create_logger +from mkcd2app.utils.paths import get_sim_html_path from mkcd2app.utils.resources import get_resource_template_path logger = create_logger(name=__name__, level=logging.INFO) @@ -36,41 +43,66 @@ class BuildProjectResult: @task(namespace="mkcd2app") -def build_project(config_yaml: str) -> BuildProjectResult: +def build_project(config_json: str) -> BuildProjectResult: """ Build the project. - :param config_yaml: The raw YAML text of the config file. + Each subtask gets only the parts of the config it uses, as strings, so editing + one part of the config only reruns the tasks that depend on it. + + :param config_json: The BuildConfig, with absolute paths (see + `resolve_config_paths`), dumped to a JSON string. :return BuildProjectResult: A BuildProjectResult object containing paths. """ logger.info("Building project") - config = load_config_from_yaml(config_yaml) + config = BuildConfig.model_validate_json(config_json) build_dir = Path(config.build_dir) + name = config.project.path_friendly_name logger.debug(f"Project build directory is at {build_dir}") build_dir.mkdir(parents=True, exist_ok=True) + if not get_sim_html_path(config.target).is_file(): + raise FileNotFoundError( + f"MakeCode Arcade target {config.target} is not installed, install it " + f"with `mkcd2app target install {config.target}`" + ) + + icon = config.inputs.assets.icon + with ExitStack() as stack: template_path = stack.enter_context(get_resource_template_path("vite-project")) template_content = ContentDir(str(template_path)) # Fetch game source code with `mkc`, dulwich (git), or copy from disk - code_path = fetch_code(config_yaml) - # Build binary.js with `mkc` - bin_js_path = build_binary_js(config_yaml, code_path) + code_path = fetch_code( + config.inputs.code.model_dump_json(), + config.target, + str(build_dir / f"{name}-source"), + ) + # Copy the source code + build binary.js with `mkc` + bin_js_path = build_binary_js( + code_path, str(build_dir / f"{name}-binary-js-build") + ) # Copy ---simulator.html from target dir and get favicon.ico if present - support_path = copy_support_files(config_yaml) + support_path = copy_support_files( + config.target, + icon.model_dump_json() if icon else None, + str(build_dir / f"{name}-binary-js-support"), + ) # Copy website template (clean copy with template files only) - website_path = copy_website_template(config_yaml, template_content) + website_path = copy_website_template( + str(_website_dir(build_dir, name, "")), template_content + ) # Copy + fill (separate dir so stages don't mutate each other's # ContentDir/ContentPath website_filled_path = fill_website_template( - config_yaml, website_path, bin_js_path, support_path + config.project.model_dump_json(), website_path, bin_js_path, support_path ) # `npm ci` from only package.json + lockfile, so game/asset changes don't # bust it; shared by every website output node_modules = install_website_deps( - str(_website_dir(build_dir, config.project.path_friendly_name, "-deps")), + str(_website_dir(build_dir, name, "-deps")), ContentFile(str(template_path / "package.json")), ContentFile(str(template_path / "package-lock.json")), ) @@ -91,5 +123,12 @@ def build_project(config_yaml: str) -> BuildProjectResult: website_filled_path, node_modules ) logger.debug("Will build to static single-file website") + case ElectronOutput() | TauriOutput(): + # Tasks are lazy, so nothing has run yet + raise NotImplementedError( + f"The {output.root.type} output is not implemented yet" + ) + case _: + assert_never(output.root) return results diff --git a/src/mkcd2app/build_project/inputs/code.py b/src/mkcd2app/build_project/inputs/code.py index 9d8d045..a8f3194 100644 --- a/src/mkcd2app/build_project/inputs/code.py +++ b/src/mkcd2app/build_project/inputs/code.py @@ -10,8 +10,9 @@ from redun.file import ContentDir, ContentFile from mkcd2app.build_project.inputs.embedded_source import extract_project -from mkcd2app.config import load_config_from_yaml from mkcd2app.models.config import ( + AssetSource, + CodeSource, FileCodeSource, GitCodeSource, GitHubCodeSource, @@ -44,18 +45,19 @@ def _warn_on_target_mismatch(pxt_json_path: Path, target: str) -> None: @task(namespace="mkcd2app") -def fetch_code(config_yaml: str) -> ContentDir: +def fetch_code(code_source_json: str, target: str, code_dir: str) -> ContentDir: """ Download/clone/copy the source code to the build directory. - Example input: config_yaml, ./node_modules + Example input: code_source_json, 4.0.14, ./racers-source Example output: ./racers-source - :param config_yaml: The raw YAML text of the config file. + :param code_source_json: The config's CodeSource dumped to a JSON string. + :param target: The MakeCode Arcade version to target. E.g., "4.0.14". + :param code_dir: The directory to put the source code in. :return: A redun.ContentDir that points to the source code. """ - config = load_config_from_yaml(config_yaml) - code_path = Path(config.build_dir) / f"{config.project.path_friendly_name}-source" + code_path = Path(code_dir) logger.info(f"MakeCode Arcade source will be downloaded/copied to {code_path}") # Clean previous output, not wasteful because redun already checks our inputs @@ -63,7 +65,7 @@ def fetch_code(config_yaml: str) -> ContentDir: if code_path.exists(): rmtree_robust(code_path) - match config.inputs.code.root: + match CodeSource.model_validate_json(code_source_json).root: case ShareLinkCodeSource(value=url): logger.debug(f"Downloading source code from {url} with `mkc` CLI") code_path.mkdir(parents=True) @@ -89,12 +91,11 @@ def fetch_code(config_yaml: str) -> ContentDir: # Raises EmbeddedSourceError (with the file path) if there's no project files = extract_project(src_file, code_path) logger.debug(f"Extracted {len(files)} files: {', '.join(files)}") - _warn_on_target_mismatch(code_path / "pxt.json", config.target) + _warn_on_target_mismatch(code_path / "pxt.json", target) mkc_json_path = code_path / "mkc.json" logger.debug("Writing mkc.json") - version = config.target - mkc_json = {"targetWebsite": f"https://arcade.makecode.com/v{version}"} + mkc_json = {"targetWebsite": f"https://arcade.makecode.com/v{target}"} mkc_json_path.write_text(json.dumps(mkc_json), encoding="utf-8") logger.debug("Source code downloaded") @@ -102,22 +103,27 @@ def fetch_code(config_yaml: str) -> ContentDir: @task(namespace="mkcd2app") -def build_binary_js(config_yaml: str, code_path: ContentDir) -> ContentFile: +def build_binary_js(code_path: ContentDir, build_dir: str) -> ContentFile: """ - Build the MakeCode Arcade binary.js file + Make a copy of the source code, then build the MakeCode Arcade binary.js file in it. - Example input: config_yaml, ./racers-source - Example output: ./racers-binary-js/binary.js + We copy so that we never mutate the ContentDir that fetch_code owns. + + Example input: ./racers-source, ./racers-binary-js-build + Example output: ./racers-binary-js-build/built/binary.js - :param config_yaml: The raw YAML text of the config file. :param code_path: A redun.ContentDir where the code is stored. + :param build_dir: The directory to copy the source code to and build in. :return: A redun.ContentFile that points to binary.js """ - config = load_config_from_yaml(config_yaml) - logger.info("Building MakeCode Arcade binary.js") - cwd = Path(code_path.path) + cwd = Path(build_dir) + # Robust because a git code source's copy has a .git directory + if cwd.exists(): + rmtree_robust(cwd) + shutil.copytree(code_path.path, cwd) + logger.debug(f"Building in cwd {cwd}") run_cmd( ["mkc", "build", "-j"], @@ -128,36 +134,27 @@ def build_binary_js(config_yaml: str, code_path: ContentDir) -> ContentFile: bin_js_path = cwd / "built" / "binary.js" logger.debug(f"binary.js available at {bin_js_path}") - # Copy binary to a stable location outside code_dir so we don't - # pollute fetch_code's ContentDir hash on subsequent runs. - output_path = ( - cwd.parent / f"{config.project.path_friendly_name}-binary-js" / "binary.js" - ) - output_path.parent.mkdir(parents=True, exist_ok=True) - shutil.copy(bin_js_path, output_path) - shutil.rmtree(cwd / "built") - - return ContentFile(str(output_path)) + return ContentFile(str(bin_js_path)) @task(namespace="mkcd2app") -def copy_support_files(config_yaml: str) -> ContentDir: +def copy_support_files( + target: str, icon_source_json: str | None, support_dir: str +) -> ContentDir: """ Download and modify all supporting files needed to run binary.js for the website - Example input: config_yaml + Example input: 4.0.14, icon_source_json, ./racers-binary-js-support Example output: ./racers-binary-js-support - :param config_yaml: The raw YAML text of the config file. + :param target: The MakeCode Arcade version to target. E.g., "4.0.14". + :param icon_source_json: The config's icon AssetSource dumped to a JSON string, or + None if there is no icon. + :param support_dir: The directory to put the files in. :return: redun.ContentDir that points to a directory of files that should be copied to the website's public folder as is alongside the binary.js file. """ - config = load_config_from_yaml(config_yaml) - support_path = ( - Path(config.build_dir) - / f"{config.project.path_friendly_name}-binary-js-support" - ) - target = config.target + support_path = Path(support_dir) logger.info( f"Copying ---simulator.html for MakeCode Arcade {target} to {support_path}" ) @@ -169,8 +166,8 @@ def copy_support_files(config_yaml: str) -> ContentDir: # Only one file to copy shutil.copy(get_sim_html_path(target), support_path) - if config.inputs.assets.icon: - match config.inputs.assets.icon.root: + if icon_source_json is not None: + match AssetSource.model_validate_json(icon_source_json).root: case UrlAssetSource(value=icon_url): logger.debug(f"Downloading icon from {icon_url}") res = requests.get(str(icon_url)) diff --git a/src/mkcd2app/build_project/website.py b/src/mkcd2app/build_project/website.py index 9862e97..48e0d45 100644 --- a/src/mkcd2app/build_project/website.py +++ b/src/mkcd2app/build_project/website.py @@ -9,7 +9,6 @@ from redun import task from redun.file import ContentDir, ContentFile -from mkcd2app.config import load_config_from_yaml from mkcd2app.models.config import Project from mkcd2app.utils.logger import create_logger from mkcd2app.utils.paths import get_templates_npm_cache_dir @@ -96,20 +95,19 @@ def _website_dir(build_dir: Path, name: str, suffix: str) -> Path: @task(namespace="mkcd2app") -def copy_website_template(config_yaml: str, template_src: ContentDir) -> ContentDir: +def copy_website_template(website_dir: str, template_src: ContentDir) -> ContentDir: """ Copy the template to the build directory. - Example input: config_yaml, template_src + Example input: racers-website, template_src Example output: racers-website - :param config_yaml: The raw YAML text of the config file. + :param website_dir: The directory to copy the template to. :param template_src: A redun.ContentDir pointing to the template source, so that redun tracks changes to template files. :return: A redun.ContentDir that points to the Vite website template directory. """ - config = load_config_from_yaml(config_yaml) - dst = _website_dir(Path(config.build_dir), config.project.path_friendly_name, "") + dst = Path(website_dir) logger.info(f"Website will be copied to {dst}") if dst.exists(): shutil.rmtree(dst) @@ -121,7 +119,7 @@ def copy_website_template(config_yaml: str, template_src: ContentDir) -> Content @task(namespace="mkcd2app") def fill_website_template( - config_yaml: str, + project_json: str, website_path: ContentDir, bin_js_path: ContentFile, support_path: ContentDir, @@ -132,7 +130,7 @@ def fill_website_template( Example intput: racers-website Example output: racers-website-filled - :param config_yaml: The raw YAML text of the config file. + :param project_json: The config's Project dumped to a JSON string. :param website_path: redun.ContentDir pointing to the copied website template. :param bin_js_path: redun.ContentFile pointing to the binary JS file. :param support_path: redun.ContentDir pointing to the support file directory. @@ -140,7 +138,7 @@ def fill_website_template( """ logger.info("Filling website template") - config = load_config_from_yaml(config_yaml) + project = Project.model_validate_json(project_json) src = Path(website_path.path) dst = src.parent / f"{src.name}-filled" if dst.exists(): @@ -159,7 +157,7 @@ def fill_website_template( logger.debug(f"Copying ---simulator.html from {simulator_html_path}") shutil.copy(simulator_html_path, asset_path) - title = render_title(config.project) + title = render_title(project) logger.debug(f'Using title "{title}" in index.html') favicon_path = Path(support_path.path) / "favicon.ico" favicon = favicon_path.read_bytes() if favicon_path.exists() else None @@ -174,10 +172,10 @@ def fill_website_template( logger.debug("Updating package.json") package_json_path = dst / "package.json" package_json = json.loads(package_json_path.read_text(encoding="utf-8")) - package_json["name"] = config.project.path_friendly_name - package_json["version"] = config.project.version - package_json["description"] = config.project.description - package_json["authors"] = {"name": config.project.author} + package_json["name"] = project.path_friendly_name + package_json["version"] = project.version + package_json["description"] = project.description + package_json["authors"] = {"name": project.author} package_json_path.write_text(json.dumps(package_json, indent=2), encoding="utf-8") logger.debug("Website template filled") diff --git a/src/mkcd2app/cli.py b/src/mkcd2app/cli.py index b0dc49e..db47fde 100644 --- a/src/mkcd2app/cli.py +++ b/src/mkcd2app/cli.py @@ -6,10 +6,11 @@ logger = create_logger(name=__name__, level=logging.INFO) -def generate_and_parse_args() -> Namespace: +def generate_and_parse_args(argv: list[str] | None = None) -> Namespace: """ Parse this CLI tool's arguments. + :param argv: The arguments to parse. Defaults to `sys.argv[1:]`. :return: A `Namespace` object with parsed CLI arguments. """ parser = ArgumentParser( @@ -27,13 +28,19 @@ def generate_and_parse_args() -> Namespace: parser_build = subparsers.add_parser( "build", help="Build your MakeCode Arcade game." ) - parser_build.add_argument("config", type=str, help="Path to the YAML config file.") + parser_build.add_argument( + "config", + type=str, + help="Path to the YAML config file. Relative paths in it are relative to the " + "file's directory.", + ) parser_build.add_argument( "--full-rebuild", action="store_true", help="Delete the build directory and its cache, then rebuild everything. Use " "this after changing the game's source files, icon, or git branch, since " - "only changes to the config file are detected automatically.", + "only changes to the config file are detected automatically. Refuses to " + "delete a non-empty directory that has no build cache in it.", ) parser_toolchain = subparsers.add_parser( @@ -76,6 +83,6 @@ def generate_and_parse_args() -> Namespace: "version", type=str, help="Target version to uninstall." ) - args = parser.parse_args() + args = parser.parse_args(argv) logger.debug(f"Received arguments: {args}") return args diff --git a/src/mkcd2app/config/__init__.py b/src/mkcd2app/config/__init__.py index 95d9bcb..cf4106a 100644 --- a/src/mkcd2app/config/__init__.py +++ b/src/mkcd2app/config/__init__.py @@ -1,8 +1,14 @@ import logging +from pathlib import Path import yaml -from mkcd2app.models.config import BuildConfig +from mkcd2app.models.config import ( + BuildConfig, + FileCodeSource, + PathAssetSource, + PathCodeSource, +) from mkcd2app.utils.logger import create_logger logger = create_logger(name=__name__, level=logging.INFO) @@ -26,3 +32,29 @@ def load_config_from_yaml(config_text: str) -> BuildConfig: logger.debug(f"Loaded config version {config.version}") return config + + +def resolve_config_paths(config: BuildConfig, base_dir: Path) -> BuildConfig: + """ + Make the paths in a config absolute, so it means the same thing wherever it's run + from. Done before the config reaches a task, so that the location of a relative + path is part of what redun hashes. + + :param config: The config. It isn't modified. + :param base_dir: The directory relative paths are relative to, which is the config + file's directory. Absolute paths and URLs are left as they are. + :return: A copy of the config with absolute paths. + """ + + def resolve(path: str) -> str: + return str((base_dir / path).resolve()) + + resolved = config.model_copy(deep=True) + resolved.build_dir = resolve(resolved.build_dir) + code = resolved.inputs.code.root + if isinstance(code, PathCodeSource | FileCodeSource): + code.value = resolve(code.value) + icon = resolved.inputs.assets.icon + if icon is not None and isinstance(icon.root, PathAssetSource): + icon.root.value = resolve(icon.root.value) + return resolved diff --git a/src/mkcd2app/main.py b/src/mkcd2app/main.py index f85bd08..a7d259d 100644 --- a/src/mkcd2app/main.py +++ b/src/mkcd2app/main.py @@ -1,16 +1,17 @@ import logging -import shutil from pathlib import Path from mkcd2app.build_project import BuildProjectResult, build_project from mkcd2app.cli import generate_and_parse_args -from mkcd2app.config import load_config_from_yaml +from mkcd2app.config import load_config_from_yaml, resolve_config_paths from mkcd2app.target.install import install_target from mkcd2app.target.uninstall import uninstall_target from mkcd2app.toolchain.install import install_toolchain from mkcd2app.toolchain.uninstall import uninstall_toolchain +from mkcd2app.utils.filesystem import rmtree_robust from mkcd2app.utils.logger import create_logger, set_all_stdout_logger_levels from mkcd2app.utils.paths import ( + get_redun_db_for_build_path, get_redun_db_for_target_path, get_redun_db_for_toolchain_path, ) @@ -20,6 +21,29 @@ logger = create_logger(name=__name__, level=logging.INFO) +def _clear_build_dir(build_dir: Path) -> None: + """ + Delete the build directory for a full rebuild. + + Only a directory with our cache DB is deleted, since `build_dir` comes from the + config and a mistake there could otherwise delete an unrelated directory. + + :param build_dir: The build directory. + :raises RuntimeError: If the directory has other files but no cache DB. + """ + if not build_dir.exists() or not any(build_dir.iterdir()): + logger.debug("Build directory is missing or empty; nothing to clear") + return + redun_db_path = get_redun_db_for_build_path(build_dir) + if not redun_db_path.exists(): + raise RuntimeError( + f"Refusing to clear {build_dir}: it isn't empty and has no " + f"{redun_db_path.name}, so it may not be a build directory" + ) + logger.warning(f"Clearing build directory {build_dir}") + rmtree_robust(build_dir) + + def main() -> None: args = generate_and_parse_args() debug = bool(args.debug) @@ -78,22 +102,21 @@ def main() -> None: config_text = config_path.read_text(encoding="utf-8") - # Parse once only to extract build_dir for the redun DB path. - # The raw YAML text is passed to redun tasks so that argument - # hashing is deterministic (string) rather than pickle-based - # (which is non-deterministic due to pydantic's set fields). - config = load_config_from_yaml(config_text) + config = resolve_config_paths( + load_config_from_yaml(config_text), config_path.resolve().parent + ) build_dir = Path(config.build_dir) if args.full_rebuild: - if build_dir.exists(): - logger.warning(f"Clearing build directory {build_dir}") - shutil.rmtree(build_dir) - else: - logger.debug("Build directory does not exist; nothing to clear") + _clear_build_dir(build_dir) + # The config is passed to redun tasks as JSON so that argument hashing is + # deterministic (string) rather than pickle-based (which is non-deterministic + # due to pydantic's set fields), and so that YAML comments and formatting + # aren't part of the hash. results: BuildProjectResult = run_redun_task( - build_project(config_text), build_dir.resolve() / ".redun-cache.db" + build_project(config.model_dump_json()), + get_redun_db_for_build_path(build_dir), ) if results.static: diff --git a/src/mkcd2app/models/config.py b/src/mkcd2app/models/config.py index c6f076c..7d7892e 100644 --- a/src/mkcd2app/models/config.py +++ b/src/mkcd2app/models/config.py @@ -1,19 +1,37 @@ from typing import Annotated, Literal -from pydantic import AnyUrl, BaseModel, Field, HttpUrl, RootModel, field_validator +from pydantic import ( + AnyUrl, + BaseModel, + ConfigDict, + Field, + HttpUrl, + RootModel, + field_validator, +) from mkcd2app.utils.text import raise_for_invalid_strict_semver + +class ConfigModel(BaseModel): + """ + Base for the config's models. Unknown keys are errors, so that a typo like + ``titel:`` fails instead of silently using the default. + """ + + model_config = ConfigDict(extra="forbid") + + # Source code can be a share link, git repo, a path on disk, or a file: a PNG/UF2 # downloaded from the editor with the project embedded, or a ZIP of the project -class ShareLinkCodeSource(BaseModel): +class ShareLinkCodeSource(ConfigModel): type: Literal["share_link"] value: HttpUrl -class GitCodeSource(BaseModel): +class GitCodeSource(ConfigModel): type: Literal["git"] # Any URL dulwich can clone: https://, http://, git://, file://, or ssh:// (ssh:// # needs an `ssh` executable on PATH) @@ -23,7 +41,7 @@ class GitCodeSource(BaseModel): ref: str | None = None -class GitHubCodeSource(BaseModel): +class GitHubCodeSource(ConfigModel): """ Alias for GitCodeSource, kept so older configs keep working: `value` is the URL and `checkout` is the ref. @@ -34,12 +52,12 @@ class GitHubCodeSource(BaseModel): checkout: str = "master" -class PathCodeSource(BaseModel): +class PathCodeSource(ConfigModel): type: Literal["path"] value: str -class FileCodeSource(BaseModel): +class FileCodeSource(ConfigModel): """ A PNG or UF2 downloaded from the MakeCode editor with the project embedded, or a ZIP of the project (e.g. GitHub's "Download ZIP"). Detected by content. @@ -64,12 +82,12 @@ class FileCodeSource(BaseModel): # Assets can be a URL or path on disk -class UrlAssetSource(BaseModel): +class UrlAssetSource(ConfigModel): type: Literal["url"] value: HttpUrl -class PathAssetSource(BaseModel): +class PathAssetSource(ConfigModel): type: Literal["path"] value: str @@ -80,18 +98,18 @@ class PathAssetSource(BaseModel): # Right now we only have one asset so far, just the icon -class Assets(BaseModel): +class Assets(ConfigModel): icon: AssetSource | None = None # To build a project, we need multiple inputs -class Inputs(BaseModel): +class Inputs(ConfigModel): code: CodeSource assets: Assets # Project metadata -class Project(BaseModel): +class Project(ConfigModel): """ ``title`` is the window/page title. The placeholders ``{NAME}``, ``{VERSION}`` and ``{AUTHOR}`` are replaced with the matching fields, in a single pass (so a @@ -108,7 +126,7 @@ class Project(BaseModel): title: str = "{NAME} v{VERSION}" -class WindowConfig(BaseModel): +class WindowConfig(ConfigModel): width: int = 640 height: int = 480 @@ -116,20 +134,20 @@ class WindowConfig(BaseModel): # Different types of outputs available that we can build -class StaticOutput(BaseModel): +class StaticOutput(ConfigModel): type: Literal["static"] -class StaticSinglefileOutput(BaseModel): +class StaticSinglefileOutput(ConfigModel): type: Literal["static-singlefile"] -class ElectronOutput(BaseModel): +class ElectronOutput(ConfigModel): type: Literal["electron"] window: WindowConfig | None = None -class TauriOutput(BaseModel): +class TauriOutput(ConfigModel): type: Literal["tauri"] identifier: str window: WindowConfig | None = None @@ -144,19 +162,18 @@ class TauriOutput(BaseModel): # The entire config -class BuildConfig(BaseModel): +class BuildConfig(ConfigModel): + model_config = ConfigDict(populate_by_name=True) + version: int # currently only 1 version so far project: Project inputs: Inputs build_dir: str = Field(..., alias="build_dir") target: str = Field(..., alias="target") - outputs: list[OutputOption] + outputs: list[OutputOption] = Field(..., min_length=1) @field_validator("target") @classmethod def _check_target_is_strict_semver(cls, v: str) -> str: raise_for_invalid_strict_semver(v) return v - - class Config: - populate_by_name = True diff --git a/src/mkcd2app/models/metadata.py b/src/mkcd2app/models/metadata.py index 85c4d97..d7c929e 100644 --- a/src/mkcd2app/models/metadata.py +++ b/src/mkcd2app/models/metadata.py @@ -1,4 +1,4 @@ -from pydantic import BaseModel, Field, HttpUrl +from pydantic import BaseModel, ConfigDict, Field, HttpUrl # { @@ -9,11 +9,10 @@ # "targetVersion":"4.0.14" # } class BinaryJSMetadata(BaseModel): + model_config = ConfigDict(extra="forbid") + simUrl: HttpUrl = Field(..., description="Simulator URL") cdnUrl: HttpUrl = Field(..., description="CDN base URL") version: str = Field(..., description="Package version") target: str = Field(..., description="Build target name") targetVersion: str = Field(..., description="Target version string") - - class Config: - extra = "forbid" diff --git a/src/mkcd2app/target/install.py b/src/mkcd2app/target/install.py index eca9e04..214a504 100644 --- a/src/mkcd2app/target/install.py +++ b/src/mkcd2app/target/install.py @@ -4,6 +4,7 @@ from contextlib import ExitStack from pathlib import Path from tempfile import TemporaryDirectory +from urllib.parse import urljoin import requests from bs4 import BeautifulSoup @@ -97,8 +98,9 @@ def download_sim(bin_js_metadata: str, version: str) -> ContentFile: f"Downloading simulator for MakeCode Arcade version {metadata.targetVersion}" ) - logger.debug(f"Downloading main simulator file from {metadata.simUrl}") - sim_html = _download_text(str(metadata.simUrl)) + sim_url = str(metadata.simUrl) + logger.debug(f"Downloading main simulator file from {sim_url}") + sim_html = _download_text(sim_url) logger.debug( f"Analyzing sim HTML ({len(sim_html)} chars) for required CSS and JS files" @@ -112,14 +114,14 @@ def download_sim(bin_js_metadata: str, version: str) -> ContentFile: if url: logger.debug(f"Downloading CSS file {url}") style_tag = soup.new_tag("style") - style_tag.string = _download_text(str(url)) + style_tag.string = _download_text(urljoin(sim_url, str(url))) css.replace_with(style_tag) logger.debug(f"Inlined CSS from {url}") for js in js_scripts: url = js.get("src") if url: logger.debug(f"Downloading JS file {url}") - js.string = _download_text(str(url)) + js.string = _download_text(urljoin(sim_url, str(url))) del js["src"] logger.debug(f"Inlined JS from {url}") new_sim_html = soup.prettify(formatter="html5") diff --git a/src/mkcd2app/utils/logger.py b/src/mkcd2app/utils/logger.py index 2e6351d..f29d3ef 100644 --- a/src/mkcd2app/utils/logger.py +++ b/src/mkcd2app/utils/logger.py @@ -16,6 +16,8 @@ def create_logger(name: str, level: int = logging.DEBUG) -> logging.Logger: logger = logging.getLogger(name=name) logger.setLevel(level=level) logger.propagate = False + # So creating a logger twice doesn't log every message twice + logger.handlers.clear() console_formatter = logging.Formatter( "%(asctime)s - %(name)s - %(levelname)s - %(message)s" @@ -26,14 +28,12 @@ def create_logger(name: str, level: int = logging.DEBUG) -> logging.Logger: stdout_handler.setLevel(level=level) stdout_handler.addFilter(lambda record: record.levelno < logging.WARNING) stdout_handler.setFormatter(fmt=console_formatter) - if stdout_handler not in logger.handlers: - logger.addHandler(hdlr=stdout_handler) + logger.addHandler(hdlr=stdout_handler) stderr_handler = logging.StreamHandler(stream=sys.stderr) stderr_handler.setLevel(level=logging.WARNING) stderr_handler.setFormatter(fmt=console_formatter) - if stderr_handler not in logger.handlers: - logger.addHandler(hdlr=stderr_handler) + logger.addHandler(hdlr=stderr_handler) logger.debug(f"Created logger named {name!r} with level {level!r}") logger.debug(f"Handlers for {name!r}: {logger.handlers!r}") diff --git a/src/mkcd2app/utils/paths.py b/src/mkcd2app/utils/paths.py index 7105d1e..f560c0d 100644 --- a/src/mkcd2app/utils/paths.py +++ b/src/mkcd2app/utils/paths.py @@ -79,3 +79,10 @@ def get_target_version_dir(v: str) -> Path: def get_sim_html_path(v: str) -> Path: return get_target_version_dir(v) / "---simulator.html" + + +# Build stuff + + +def get_redun_db_for_build_path(build_dir: Path) -> Path: + return build_dir / ".redun-cache.db" From f2f118fa197728319269096a1ddfe193ad5bcb23 Mon Sep 17 00:00:00 2001 From: Cyrus Yiu Date: Tue, 3 Nov 2026 22:02:12 -0500 Subject: [PATCH 32/46] Update tests and docs for per-task config and config-relative paths The unit tests call the tasks with their new signatures, the e2e fixtures use paths relative to the config file, and CLAUDE.md and the project context doc describe the new behaviour. Co-Authored-By: Claude Opus 5.5 --- CLAUDE.md | 21 ++++++---- docs/PROJECT_CONTEXT.md | 41 +++++++++++++------ tests/e2e/test_statics.py | 4 +- .../fixtures/empty_game_build_to_statics.yaml | 7 ++-- tests/fixtures/empty_game_file_source.yaml | 7 ++-- tests/unit/helpers.py | 4 +- tests/unit/test_code.py | 39 ++++++++++-------- tests/unit/test_embedded_source.py | 6 +-- tests/unit/test_website.py | 20 +++++---- 9 files changed, 92 insertions(+), 57 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 70a9a3c..353d7f1 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -61,15 +61,22 @@ redun builds the DAG from how task results feed into other tasks, so data depend between tasks must go through task arguments/returns, not side channels. Build pipeline (`build_project/__init__.py`), each step a task: -`fetch_code` → `build_binary_js` (runs `mkc`) + `copy_support_files` (simulator HTML -from the target dir, icon) + `copy_website_template` → `fill_website_template`, plus -`install_website_deps` (`npm ci` from only the template's `package.json` and lockfile) -→ one `build_website*` task per entry in `outputs`. A new output type means -a new `case` arm in that `match` plus a field on `BuildProjectResult`. +`fetch_code` → `build_binary_js` (runs `mkc` in its own copy of the source) + +`copy_support_files` (simulator HTML from the target dir, icon) + +`copy_website_template` → `fill_website_template`, plus `install_website_deps` +(`npm ci` from only the template's `package.json` and lockfile) → one `build_website*` +task per entry in `outputs`. A new output type means a new `case` arm in that `match` +plus a field on `BuildProjectResult`; until then `electron` and `tauri` raise +`NotImplementedError`. + +Relative paths in a config are relative to the config file. `main.py` makes them +absolute with `resolve_config_paths` before any task runs. Conventions that matter for redun hashing: -- Tasks take the config as the raw YAML string and call `load_config_from_yaml` inside; - never pass pydantic models as task arguments. +- `build_project` takes the whole config as JSON (`model_dump_json`) and passes each + task only what it uses, as strings (models dumped to JSON). Every argument is part of + a task's cache key, so an unused one causes needless reruns. Never pass pydantic + models as task arguments. - Each stage writes to a fresh directory (named via `_website_dir` in `website.py`) and returns a `ContentDir`/`ContentFile`; never modify a path another task returned. - `mkcd2app/__init__.py` imports `_redun_compat` first, which monkey-patches redun and diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index d8e3e44..6773aa7 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -5,7 +5,9 @@ small known-issue fixes, and the separate deps-install task, and `origin/main` @ External program requirements audited against `toolchain` @ `4d518d9` on 2026-11-03, then updated for the Dulwich git replacement and the generic `git` code source the same day, and for the `file` code source (PNG/UF2 with embedded project, then ZIPs) the same day. -Test suite section updated for the unit test expansion on 2026-11-03._ +Test suite section updated for the unit test expansion on 2026-11-03. Config handling +(per-task config, config-relative paths) verified against `toolchain` @ `3d8cbc0` plus its +test and doc updates on 2026-11-03, locally on Windows only._ ## Goal Rewrite `UnsignedArduino/MakeCode-Arcade-to-App` (converts MakeCode Arcade games into a @@ -48,10 +50,14 @@ hatchling, Python ≥3.14, ruff + mypy strict, pre-commit. - **Caching is enabled:** an unchanged rebuild is served entirely from the redun cache. Inputs outside the config aren't tracked, so picking up their changes needs `--full-rebuild` (see "Out-of-band inputs" under Known issues). -- **Config is passed to tasks as raw YAML text**, because pickling pydantic objects - isn't deterministic and that breaks redun's hashing. +- **Tasks get only the config they use, as strings**, because pickling pydantic objects + isn't deterministic and that breaks redun's hashing. `main.py` resolves the paths and + passes `build_project` the whole config as JSON, and it passes each task its part. So + YAML comments and formatting don't count, and a title edit reruns only the fill step + and `npm run build*`. - **Copy-on-write stages:** a path is never written after it's been returned as a - `ContentDir`/`ContentFile` (`x-website` → `-filled` → `-filled-built`). + `ContentDir`/`ContentFile` (`x-source` → `x-binary-js-build`, which `mkc` builds in; + `x-website` → `-filled` → `-filled-built`). - **Website builds are offline:** `npm ci --cache --offline`. `install_website_deps` runs it once in `x-website-deps`, hashing only the template's `package.json`/lockfile, so game and asset changes don't bust it. Each @@ -87,8 +93,10 @@ mkcd2app target install # warm mkc compiler cache + download/inline mkcd2app build [--full-rebuild] ``` Also `toolchain uninstall` and `target uninstall `. `toolchain status` and -`target list` are **stubs**. `build` has **no pre-flight checks**: a missing target -fails with a raw `FileNotFoundError`, a missing toolchain with "Executable 'mkc' not found". +`target list` are **stubs**. `build` has **little pre-flight checking**: `build_project` +raises if the target isn't installed, naming the install command, and a missing toolchain +fails with "Executable 'mkc' not found". `--full-rebuild` refuses to delete a non-empty +`build_dir` that has no `.redun-cache.db`. State lives under `platformdirs` user dirs, namespaced by mkcd2app version (static `0.1.0`). A version bump means re-running both installs. Setting `MKCD2APP_HOME` @@ -102,7 +110,9 @@ Config: `version`, `project`, `inputs.code` (share_link | git | github | path | `AnyUrl`: https/http/git/file, or ssh:// which needs an `ssh` binary) and an optional `ref` (branch, tag, or SHA; omitted = the remote's default branch). `github` is the older alias, `{value: , checkout: }`, kept for existing -configs; `fetch_code` handles both in one `case`. +configs; `fetch_code` handles both in one `case`. Relative paths (`build_dir`, `path`/`file` +sources, a `path` icon) are relative to the config file, and unknown keys are errors. +`outputs` needs at least one entry. ## Status - **Done:** `static` and `static-singlefile` outputs; all code sources, including @@ -116,7 +126,7 @@ configs; `fetch_code` handles both in one `case`. build a private repo until the `git` source handles credentials; toolchain/target split. Everything that needs the network is vendored at install time **except MakeCode extensions**, which are fetched per game; `mkc`'s extension cache isn't redirected. - **Not implemented:** Electron and Tauri. The models and result fields exist, but - `build_project` has no `case` arms for them. + their `case` arm in `build_project` raises `NotImplementedError`, before anything runs. - **E2E test passes** locally (Windows, ~1 min with installs cached) and in CI on ubuntu/windows/macos (PR #7 @ `d7ad64a`). A session fixture sets `MKCD2APP_HOME` to `.pytest_cache/d/mkcd2app-home` and runs `toolchain install` and @@ -152,11 +162,11 @@ configs; `fetch_code` handles both in one `case`. `test_redun_compat.py` checks the `get_proto` patch and that directory hashes ignore mtimes but change with content, file adds/removes/renames, and path. `utils/` (`paths`, `run`, `filesystem`, `resources`) and `extract_meta_comment` have - their own small tests. Untested: `cli.py`, `main.py`, the `build_project` DAG - wiring, toolchain/target install tasks, and `is_strict_semver`. + their own small tests. Untested: `cli.py`, `main.py`, `resolve_config_paths`, the + `build_project` DAG wiring, and toolchain/target install tasks. - pytest config is in `pyproject.toml`: coverage on by default (`--no-cov` to skip), `--strict-markers`, and `unit`/`e2e` markers applied by `tests/conftest.py`. Unit - tests cover about 66% of `src/mkcd2app` (run `uv run pytest -m unit`). + tests cover about 70% of `src/mkcd2app` (run `uv run pytest -m unit`). ## Roadmap 1. ~~Fix e2e + CI~~ (done: fixture `target:`, isolated install fixture, caching on, job-status cache assertion, CI on all PRs). @@ -217,7 +227,7 @@ configs; `fetch_code` handles both in one `case`. 7. Later: code signing, auto-update, README (currently a stub), schema docs. ## Known issues - **Out-of-band inputs (by design):** `fetch_code` and - `copy_support_files` only take the config YAML, so redun can't see changes to a + `copy_support_files` only take their part of the config, so redun can't see changes to a `path` or `file` code source, a `git`/`github` branch checkout (or omitted `ref`), an icon path/URL, or the installed simulator HTML. Editing a path-sourced game returns the old cached build until `--full-rebuild`. Decided to rely on that flag for all sources rather than track @@ -251,3 +261,10 @@ configs; `fetch_code` handles both in one `case`. with payload sizes checked against the 476-byte block limit and a 64 MB total limit, all before allocating, so a tiny file can't ask for gigabytes. `run_redun_task` now closes its SQLite connections after each run. +- Fixed (from the test suite review, 2026-11-03): any config edit used to rerun nearly the + whole build and re-fetch the source (see Architecture). `electron`/`tauri` outputs and an + empty `outputs` used to build nothing and exit 0. Relative paths used to resolve against + the current directory. Unknown config keys were ignored. `--full-rebuild` deleted + `build_dir` without any check. `build_binary_js` built inside `fetch_code`'s output. + Creating a logger twice duplicated its handlers. Relative simulator URLs failed at + install, and are now resolved against `simUrl`. diff --git a/tests/e2e/test_statics.py b/tests/e2e/test_statics.py index ad32ea1..e45766a 100644 --- a/tests/e2e/test_statics.py +++ b/tests/e2e/test_statics.py @@ -153,8 +153,8 @@ def test_empty_game_zip_file_source_build_to_static(tmp_path: Path) -> None: # as_posix: backslashes in a double-quoted YAML string are escape sequences template = (FIXTURES / "empty_game_file_source.yaml").read_text(encoding="utf-8") yaml_text = template.replace( - "tests/fixtures/embedded/empty-game.png", zip_path.as_posix() - ).replace("./examples/testing/empty_game_file_build", build_dir.as_posix()) + "embedded/empty-game.png", zip_path.as_posix() + ).replace("../../examples/testing/empty_game_file_build", build_dir.as_posix()) assert zip_path.as_posix() in yaml_text and build_dir.as_posix() in yaml_text yaml_path = tmp_path / "empty_game_zip_source.yaml" yaml_path.write_text(yaml_text, encoding="utf-8") diff --git a/tests/fixtures/empty_game_build_to_statics.yaml b/tests/fixtures/empty_game_build_to_statics.yaml index 25867ba..dafa6ae 100644 --- a/tests/fixtures/empty_game_build_to_statics.yaml +++ b/tests/fixtures/empty_game_build_to_statics.yaml @@ -23,7 +23,7 @@ inputs: # an older alias for git. code: type: path - value: "tests/fixtures/empty_game" + value: "empty_game" assets: {} # Icon is optional but highly recommended, it will be used as the favicon @@ -35,10 +35,11 @@ inputs: # icon: # type: path -# value: "./examples/Racers icon.png" +# value: "../../examples/Racers icon.png" # Path where the build process will take place -build_dir: "./examples/testing/empty_game_build" +# Relative paths in this file are relative to this file's directory +build_dir: "../../examples/testing/empty_game_build" # MakeCode Arcade target version (must be installed with `mkcd2app target install`) target: 4.0.14 diff --git a/tests/fixtures/empty_game_file_source.yaml b/tests/fixtures/empty_game_file_source.yaml index edbc97b..65279f3 100644 --- a/tests/fixtures/empty_game_file_source.yaml +++ b/tests/fixtures/empty_game_file_source.yaml @@ -23,7 +23,7 @@ inputs: # an older alias for git. code: type: file - value: "tests/fixtures/embedded/empty-game.png" + value: "embedded/empty-game.png" assets: {} # Icon is optional but highly recommended, it will be used as the favicon @@ -35,10 +35,11 @@ inputs: # icon: # type: path -# value: "./examples/Racers icon.png" +# value: "../../examples/Racers icon.png" # Path where the build process will take place -build_dir: "./examples/testing/empty_game_file_build" +# Relative paths in this file are relative to this file's directory +build_dir: "../../examples/testing/empty_game_file_build" # MakeCode Arcade target version (must be installed with `mkcd2app target install`) target: 4.0.14 diff --git a/tests/unit/helpers.py b/tests/unit/helpers.py index 4d27e99..33b57bf 100644 --- a/tests/unit/helpers.py +++ b/tests/unit/helpers.py @@ -23,11 +23,11 @@ def make_config_yaml( target: str = TARGET_VERSION, ) -> str: """ - Build a version 1 config as YAML text, the form the redun tasks take. + Build a version 1 config as YAML text, like the contents of a config file. :param build_dir: The config's build_dir. :param code: The inputs.code source. Defaults to a path source that doesn't exist, - for tasks that never read it. + for tests that never read it. :param icon: The inputs.assets.icon source, or None for no icon. :param project: Keys to override in the project section. :param target: The MakeCode Arcade target version. diff --git a/tests/unit/test_code.py b/tests/unit/test_code.py index 7193288..b9daa78 100644 --- a/tests/unit/test_code.py +++ b/tests/unit/test_code.py @@ -11,7 +11,6 @@ CmdCall, FakeRunCmd, capture_logger, - make_config_yaml, tree_digest, ) from PIL import Image @@ -37,8 +36,12 @@ def read_mkc_json(code_path: Path) -> Any: return json.loads((code_path / "mkc.json").read_text(encoding="utf-8")) -def run_fetch_code(build_dir: Path, source: dict[str, Any]) -> Path: - result: ContentDir = fetch_code.func(make_config_yaml(build_dir, code=source)) +def run_fetch_code( + build_dir: Path, source: dict[str, Any], target: str = TARGET_VERSION +) -> Path: + result: ContentDir = fetch_code.func( + json.dumps(source), target, str(build_dir / "test-source") + ) return Path(result.path) @@ -64,15 +67,13 @@ def test_fetch_code_replaces_previous_source(tmp_path: Path) -> None: assert not stale.exists() -def test_mkc_json_uses_config_target(tmp_path: Path) -> None: - result: ContentDir = fetch_code.func( - make_config_yaml( - tmp_path / "build", - code={"type": "path", "value": str(EMPTY_GAME_DIR)}, - target="4.1.27", - ) +def test_mkc_json_uses_target(tmp_path: Path) -> None: + code_path = run_fetch_code( + tmp_path / "build", + {"type": "path", "value": str(EMPTY_GAME_DIR)}, + target="4.1.27", ) - assert read_mkc_json(Path(result.path)) == { + assert read_mkc_json(code_path) == { "targetWebsite": "https://arcade.makecode.com/v4.1.27" } @@ -211,24 +212,26 @@ def test_build_binary_js( before = tree_digest(code_path) def fake_mkc_build(call: CmdCall) -> None: + assert (call.cwd / "main.ts").is_file() (call.cwd / "built").mkdir() (call.cwd / "built" / "binary.js").write_text("// built", encoding="utf-8") (call.cwd / "built" / "other.txt").write_text("x", encoding="utf-8") fake = FakeRunCmd(fake_mkc_build) monkeypatch.setattr(code, "run_cmd", fake) + build_dir = tmp_path / "build" / "test-binary-js-build" result: ContentFile = build_binary_js.func( - make_config_yaml(tmp_path / "build"), ContentDir(str(code_path)) + ContentDir(str(code_path)), str(build_dir) ) assert [(c.command, c.cwd, c.which_path) for c in fake.calls] == [ - (["mkc", "build", "-j"], code_path, get_js_tools_bin_dir()) + (["mkc", "build", "-j"], build_dir, get_js_tools_bin_dir()) ] - output = tmp_path / "build" / "test-binary-js" / "binary.js" + output = build_dir / "built" / "binary.js" assert Path(result.path) == output assert output.read_text(encoding="utf-8") == "// built" - # built/ is removed so fetch_code's ContentDir hash doesn't change + # Built in a copy, so fetch_code's ContentDir hash doesn't change assert tree_digest(code_path) == before @@ -257,7 +260,11 @@ def make_png(path: Path, size: tuple[int, int] = (32, 32)) -> Path: def run_copy_support_files(build_dir: Path, icon: dict[str, str] | None) -> Path: - result: ContentDir = copy_support_files.func(make_config_yaml(build_dir, icon=icon)) + result: ContentDir = copy_support_files.func( + TARGET_VERSION, + json.dumps(icon) if icon else None, + str(build_dir / "test-binary-js-support"), + ) return Path(result.path) diff --git a/tests/unit/test_embedded_source.py b/tests/unit/test_embedded_source.py index e1b69bc..1e40632 100644 --- a/tests/unit/test_embedded_source.py +++ b/tests/unit/test_embedded_source.py @@ -639,10 +639,10 @@ def test_config_file_source() -> None: yaml_path = Path(__file__).parent.parent / "fixtures" text = (yaml_path / "empty_game_build_to_statics.yaml").read_text(encoding="utf-8") text = text.replace( - 'type: path\n value: "tests/fixtures/empty_game"', - 'type: file\n value: "tests/fixtures/embedded/falling-duck.png"', + 'type: path\n value: "empty_game"', + 'type: file\n value: "embedded/falling-duck.png"', ) config = load_config_from_yaml(text) assert config.inputs.code.root == FileCodeSource( - type="file", value="tests/fixtures/embedded/falling-duck.png" + type="file", value="embedded/falling-duck.png" ) diff --git a/tests/unit/test_website.py b/tests/unit/test_website.py index 1078b49..03939f5 100644 --- a/tests/unit/test_website.py +++ b/tests/unit/test_website.py @@ -22,6 +22,7 @@ install_website_deps, render_title, ) +from mkcd2app.config import load_config_from_yaml from mkcd2app.models.config import Project from mkcd2app.utils.paths import get_templates_npm_cache_dir from mkcd2app.utils.resources import get_resource_template_path @@ -63,11 +64,14 @@ def fill( favicon: bytes | None = None, project: dict[str, Any] | None = None, ) -> Path: - bin_js = tmp_path / "build" / "test-binary-js" / "binary.js" + bin_js = tmp_path / "build" / "test-binary-js-build" / "built" / "binary.js" bin_js.parent.mkdir(parents=True) bin_js.write_text(BINARY_JS, encoding="utf-8") + config = load_config_from_yaml( + make_config_yaml(tmp_path / "build", project=project) + ) result: ContentDir = fill_website_template.func( - make_config_yaml(tmp_path / "build", project=project), + config.project.model_dump_json(), ContentDir(str(website_dir)), ContentFile(str(bin_js)), ContentDir(str(make_support_dir(tmp_path, favicon))), @@ -79,12 +83,12 @@ def fill( def test_copy_template_to_build_dir(tmp_path: Path, template_dir: Path) -> None: - build_dir = tmp_path / "build" + dst = tmp_path / "build" / "test-website" result: ContentDir = copy_website_template.func( - make_config_yaml(build_dir), ContentDir(str(template_dir)) + str(dst), ContentDir(str(template_dir)) ) - assert Path(result.path) == build_dir / "test-website" - assert tree_digest(Path(result.path)) == tree_digest(template_dir) + assert Path(result.path) == dst + assert tree_digest(dst) == tree_digest(template_dir) def test_copy_template_replaces_previous_copy( @@ -93,9 +97,7 @@ def test_copy_template_replaces_previous_copy( stale = tmp_path / "build" / "test-website" / "stale.txt" stale.parent.mkdir(parents=True) stale.write_text("old", encoding="utf-8") - copy_website_template.func( - make_config_yaml(tmp_path / "build"), ContentDir(str(template_dir)) - ) + copy_website_template.func(str(stale.parent), ContentDir(str(template_dir))) assert not stale.exists() From d890eca94a846eac940e5bcef64ba9353db60831 Mon Sep 17 00:00:00 2001 From: Cyrus Yiu Date: Tue, 3 Nov 2026 22:33:33 -0500 Subject: [PATCH 33/46] Add unit tests for the install tasks, CLI, config and recent fixes Cover target and toolchain install, cli.py, _clear_build_dir, config loading and resolve_config_paths, build_project's early errors, and the logger, plus the uncovered branches in embedded_source and utils/git. Unit coverage goes from 70% to 94%; what's left mostly needs the scheduler. Also treat warnings as errors in pytest, move FakeResponse to the shared helpers, and fix the warm_npm_cache_for_templates docstring. Co-Authored-By: Claude Opus 5.5 --- pyproject.toml | 1 + src/mkcd2app/toolchain/install.py | 7 +- tests/unit/helpers.py | 18 ++ tests/unit/test_build_project.py | 77 ++++++ tests/unit/test_cli.py | 72 ++++++ tests/unit/test_code.py | 28 +- tests/unit/test_config.py | 365 +++++++++++++++++++++++++++ tests/unit/test_embedded_source.py | 84 ++++++ tests/unit/test_git.py | 16 ++ tests/unit/test_logger.py | 106 ++++++++ tests/unit/test_main.py | 50 ++++ tests/unit/test_paths.py | 4 + tests/unit/test_target_install.py | 270 ++++++++++++++++++++ tests/unit/test_toolchain_install.py | 151 +++++++++++ 14 files changed, 1236 insertions(+), 13 deletions(-) create mode 100644 tests/unit/test_build_project.py create mode 100644 tests/unit/test_cli.py create mode 100644 tests/unit/test_config.py create mode 100644 tests/unit/test_logger.py create mode 100644 tests/unit/test_main.py create mode 100644 tests/unit/test_target_install.py create mode 100644 tests/unit/test_toolchain_install.py diff --git a/pyproject.toml b/pyproject.toml index eb911d3..dc25020 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -48,6 +48,7 @@ strict = true testpaths = ["tests"] # Coverage is on by default; pass --no-cov to turn it off (e.g. when debugging) addopts = ["--strict-markers", "--cov", "--cov-report=term-missing"] +filterwarnings = ["error"] # Applied by directory in tests/conftest.py, so tests don't need to mark themselves markers = [ "unit: fast, offline tests under tests/unit", diff --git a/src/mkcd2app/toolchain/install.py b/src/mkcd2app/toolchain/install.py index b8b32b3..55a7673 100644 --- a/src/mkcd2app/toolchain/install.py +++ b/src/mkcd2app/toolchain/install.py @@ -51,11 +51,12 @@ def install_js_tools(js_tools: ContentDir) -> ContentDir: @task(namespace="mkcd2app") def warm_npm_cache_for_templates(templates: ContentDir) -> ContentDir: """ - For every template in the templates directory, copy them to a temporary directory, - run `npm ci --cache CACHE_DIR --prefer-online` where CACHE_DIR + For every template in the templates directory, copy it to a temporary directory and + run `npm ci --cache CACHE_DIR --prefer-online`, where CACHE_DIR is the templates npm + cache. :param templates: The ContentDir pointing to the directory containing the templates. - :return: A ContentDir pointing to node_modules, to ensure redun sees that this task + :return: A ContentDir pointing to the npm cache, to ensure redun sees that this task has something that depends on its results. """ logger.info("Warming npm cache for templates") diff --git a/tests/unit/helpers.py b/tests/unit/helpers.py index 33b57bf..955f8d0 100644 --- a/tests/unit/helpers.py +++ b/tests/unit/helpers.py @@ -10,6 +10,7 @@ from typing import Any import pytest +import requests import yaml TARGET_VERSION = "4.0.14" @@ -85,6 +86,23 @@ def __call__( return "" +class FakeResponse: + """Stands in for the ``requests.Response`` that ``requests.get`` returns.""" + + def __init__(self, content: bytes, status_code: int = 200) -> None: + self.content = content + self.status_code = status_code + + @property + def text(self) -> str: + # What requests falls back to when the server sends no charset + return self.content.decode("iso-8859-1") + + def raise_for_status(self) -> None: + if self.status_code >= 400: + raise requests.HTTPError(f"{self.status_code} error") + + def tree_digest(root: Path) -> dict[str, str]: """Map each file under ``root`` (relative POSIX path) to its SHA-256.""" return { diff --git a/tests/unit/test_build_project.py b/tests/unit/test_build_project.py new file mode 100644 index 0000000..06525f6 --- /dev/null +++ b/tests/unit/test_build_project.py @@ -0,0 +1,77 @@ +""" +What ``build_project`` checks before anything runs. How its tasks are wired together +needs the redun scheduler, since calling a task here only gives an unevaluated +expression. +""" + +from pathlib import Path +from typing import Any + +import pytest +import yaml +from helpers import TARGET_VERSION, make_config_yaml + +from mkcd2app.build_project import BuildProjectResult, build_project +from mkcd2app.config import load_config_from_yaml +from mkcd2app.utils.paths import get_sim_html_path + + +def config_json(build_dir: Path, *outputs: dict[str, Any]) -> str: + data = yaml.safe_load(make_config_yaml(build_dir)) + data["outputs"] = list(outputs) + return load_config_from_yaml(yaml.safe_dump(data)).model_dump_json() + + +@pytest.fixture +def installed_target(mkcd2app_home: Path) -> None: + path = get_sim_html_path(TARGET_VERSION) + path.parent.mkdir(parents=True) + path.write_text("sim", encoding="utf-8") + + +@pytest.mark.parametrize( + ("output", "name"), + [ + ({"type": "electron"}, "electron"), + ({"type": "tauri", "identifier": "com.example.game"}, "tauri"), + ], + ids=["electron", "tauri"], +) +@pytest.mark.parametrize("with_static", [False, True], ids=["alone", "with-static"]) +def test_unimplemented_output_raises( + tmp_path: Path, + installed_target: None, + output: dict[str, Any], + name: str, + with_static: bool, +) -> None: + outputs = [{"type": "static"}, output] if with_static else [output] + with pytest.raises(NotImplementedError, match=name): + build_project.func(config_json(tmp_path / "build", *outputs)) + + +@pytest.mark.parametrize( + ("output", "field"), + [ + ({"type": "static"}, "static"), + ({"type": "static-singlefile"}, "static_singlefile"), + ], + ids=["static", "static-singlefile"], +) +def test_implemented_outputs_only_fill_their_field( + tmp_path: Path, installed_target: None, output: dict[str, Any], field: str +) -> None: + result: BuildProjectResult = build_project.func( + config_json(tmp_path / "build", output) + ) + filled = {k for k, v in vars(result).items() if v is not None} + assert filled == {field} + + +def test_missing_target_names_the_install_command( + tmp_path: Path, mkcd2app_home: Path +) -> None: + with pytest.raises( + FileNotFoundError, match=f"mkcd2app target install {TARGET_VERSION}" + ): + build_project.func(config_json(tmp_path / "build", {"type": "static"})) diff --git a/tests/unit/test_cli.py b/tests/unit/test_cli.py new file mode 100644 index 0000000..17a0627 --- /dev/null +++ b/tests/unit/test_cli.py @@ -0,0 +1,72 @@ +import sys + +import pytest + +from mkcd2app.cli import generate_and_parse_args + + +@pytest.mark.parametrize( + "argv", + [ + [], # a subcommand is required + ["nonsense"], + ["build"], # config is required + ["toolchain"], # these need their own subcommand + ["toolchain", "nonsense"], + ["target"], + ["target", "nonsense"], + ["target", "install"], # version is required + ["target", "uninstall"], + ["build", "c.yaml", "--debug"], # --debug must come before the subcommand + ["target", "list", "--debug"], + ["--full-rebuild", "build", "c.yaml"], # --full-rebuild belongs to build + ["target", "install", "4.0.14", "--full-rebuild"], + ], +) +def test_invalid_arguments_exit_2(argv: list[str]) -> None: + with pytest.raises(SystemExit) as exc: + generate_and_parse_args(argv) + assert exc.value.code == 2 + + +def test_build_defaults() -> None: + args = generate_and_parse_args(["build", "c.yaml"]) + assert (args.command, args.config) == ("build", "c.yaml") + assert args.full_rebuild is False + assert args.debug is False + + +def test_build_full_rebuild() -> None: + assert generate_and_parse_args(["build", "c.yaml", "--full-rebuild"]).full_rebuild + + +def test_debug_before_subcommand() -> None: + assert generate_and_parse_args(["--debug", "build", "c.yaml"]).debug is True + + +@pytest.mark.parametrize("command", ["install", "status", "uninstall"]) +def test_toolchain_commands(command: str) -> None: + args = generate_and_parse_args(["toolchain", command]) + assert (args.command, args.toolchain_command) == ("toolchain", command) + + +@pytest.mark.parametrize("command", ["install", "uninstall"]) +def test_target_commands_take_version(command: str) -> None: + args = generate_and_parse_args(["target", command, "4.0.14"]) + assert (args.command, args.target_command) == ("target", command) + assert args.version == "4.0.14" + + +def test_target_list() -> None: + args = generate_and_parse_args(["target", "list"]) + assert (args.command, args.target_command) == ("target", "list") + + +def test_version_is_not_validated_by_the_parser() -> None: + # main.py checks it's strict semver, so that's where the error comes from + assert generate_and_parse_args(["target", "install", "4.0"]).version == "4.0" + + +def test_defaults_to_sys_argv(monkeypatch: pytest.MonkeyPatch) -> None: + monkeypatch.setattr(sys, "argv", ["mkcd2app", "build", "from-argv.yaml"]) + assert generate_and_parse_args().config == "from-argv.yaml" diff --git a/tests/unit/test_code.py b/tests/unit/test_code.py index b9daa78..44901a9 100644 --- a/tests/unit/test_code.py +++ b/tests/unit/test_code.py @@ -9,6 +9,7 @@ from helpers import ( TARGET_VERSION, CmdCall, + FakeResponse, FakeRunCmd, capture_logger, tree_digest, @@ -235,6 +236,23 @@ def fake_mkc_build(call: CmdCall) -> None: assert tree_digest(code_path) == before +def test_build_binary_js_replaces_previous_build( + tmp_path: Path, mkcd2app_home: Path, monkeypatch: pytest.MonkeyPatch +) -> None: + code_path = tmp_path / "build" / "test-source" + code_path.mkdir(parents=True) + build_dir = tmp_path / "build" / "test-binary-js-build" + stale = build_dir / "built" / "binary.js" + stale.parent.mkdir(parents=True) + stale.write_text("old", encoding="utf-8") + + def check_no_stale_build(call: CmdCall) -> None: + assert not stale.exists() + + monkeypatch.setattr(code, "run_cmd", FakeRunCmd(check_no_stale_build)) + build_binary_js.func(ContentDir(str(code_path)), str(build_dir)) + + # ---------------------------------------------------- copy_support_files ------ @@ -292,16 +310,6 @@ def test_support_files_icon_from_path(tmp_path: Path, sim_html: Path) -> None: assert im.format == "ICO" -class FakeResponse: - def __init__(self, content: bytes, status_code: int = 200) -> None: - self.content = content - self.status_code = status_code - - def raise_for_status(self) -> None: - if self.status_code >= 400: - raise requests.HTTPError(f"{self.status_code} error") - - def test_support_files_icon_from_url( tmp_path: Path, sim_html: Path, monkeypatch: pytest.MonkeyPatch ) -> None: diff --git a/tests/unit/test_config.py b/tests/unit/test_config.py new file mode 100644 index 0000000..6304dd4 --- /dev/null +++ b/tests/unit/test_config.py @@ -0,0 +1,365 @@ +from pathlib import Path +from typing import Any + +import pytest +import yaml +from helpers import make_config_yaml +from pydantic import ValidationError + +from mkcd2app.config import load_config_from_yaml, resolve_config_paths +from mkcd2app.models.config import ( + AssetSource, + BuildConfig, + CodeSource, + ElectronOutput, + FileCodeSource, + PathAssetSource, + PathCodeSource, + Project, + TauriOutput, + UrlAssetSource, + WindowConfig, +) + + +def base_config() -> dict[str, Any]: + data: dict[str, Any] = yaml.safe_load(make_config_yaml(Path("build"))) + return data + + +def load(data: object) -> BuildConfig: + return load_config_from_yaml(yaml.safe_dump(data)) + + +def load_outputs(*outputs: dict[str, Any]) -> list[Any]: + data = base_config() + data["outputs"] = list(outputs) + return [output.root for output in load(data).outputs] + + +# --------------------------------------------------------- config version ----- + + +@pytest.mark.parametrize("version", [0, 2, "1", None]) +def test_unknown_version(version: object) -> None: + data = base_config() + data["version"] = version + with pytest.raises(NotImplementedError, match="Unknown config version"): + load(data) + + +def test_missing_version() -> None: + data = base_config() + del data["version"] + with pytest.raises(NotImplementedError, match="Unknown config version None"): + load(data) + + +@pytest.mark.parametrize("text", ["", "# only a comment\n", "- a\n- b\n", "just text"]) +def test_empty_or_non_mapping_yaml(text: str) -> None: + with pytest.raises(NotImplementedError, match="Unknown config version None"): + load_config_from_yaml(text) + + +# ------------------------------------------------------------ valid config ----- + + +def test_valid_config() -> None: + config = load(base_config()) + assert config.version == 1 + assert config.project.name == "Test Game" + assert config.build_dir == "build" + assert config.target == "4.0.14" + + +def test_project_title_has_default() -> None: + assert load(base_config()).project.title == "{NAME} v{VERSION}" + + +@pytest.mark.parametrize("key", ["description", "title"]) +def test_optional_project_fields(key: str) -> None: + data = base_config() + data["project"].pop(key, None) + load(data) + + +def test_icon_is_optional() -> None: + assert load(base_config()).inputs.assets.icon is None + + +# ---------------------------------------------------------- required fields ----- + + +@pytest.mark.parametrize("key", ["project", "inputs", "build_dir", "target", "outputs"]) +def test_missing_top_level_field(key: str) -> None: + data = base_config() + del data[key] + with pytest.raises(ValidationError, match=key): + load(data) + + +@pytest.mark.parametrize("key", ["name", "path_friendly_name", "author", "version"]) +def test_missing_project_field(key: str) -> None: + data = base_config() + del data["project"][key] + with pytest.raises(ValidationError, match=key): + load(data) + + +@pytest.mark.parametrize("key", ["code", "assets"]) +def test_missing_inputs_field(key: str) -> None: + data = base_config() + del data["inputs"][key] + with pytest.raises(ValidationError, match=key): + load(data) + + +# -------------------------------------------------------------- unknown keys ----- + + +def add_key(data: dict[str, Any], *path: str | int) -> None: + section: Any = data + for key in path: + section = section[key] + section["typo"] = "oops" + + +@pytest.mark.parametrize( + "path", + [ + (), + ("project",), + ("inputs",), + ("inputs", "code"), + ("inputs", "assets"), + ("outputs", 0), + ], + ids=str, +) +def test_unknown_key_is_rejected(path: tuple[str | int, ...]) -> None: + data = base_config() + add_key(data, *path) + with pytest.raises(ValidationError, match="typo"): + load(data) + + +def test_misspelled_key_is_rejected_instead_of_using_the_default() -> None: + data = base_config() + data["project"]["titel"] = "My Game" + with pytest.raises(ValidationError, match="titel"): + load(data) + + +def test_unknown_key_in_icon_is_rejected() -> None: + data = base_config() + data["inputs"]["assets"]["icon"] = {"type": "path", "value": "i.png", "typo": 1} + with pytest.raises(ValidationError, match="typo"): + load(data) + + +def test_unknown_key_in_window_is_rejected() -> None: + with pytest.raises(ValidationError, match="depth"): + load_outputs({"type": "electron", "window": {"depth": 32}}) + + +# ------------------------------------------------------------------ outputs ----- + + +def test_empty_outputs_are_rejected() -> None: + with pytest.raises(ValidationError, match="outputs"): + load_outputs() + + +def test_unknown_output_type_is_rejected() -> None: + with pytest.raises(ValidationError, match="nonsense"): + load_outputs({"type": "nonsense"}) + + +def test_tauri_requires_identifier() -> None: + with pytest.raises(ValidationError, match="identifier"): + load_outputs({"type": "tauri"}) + + +def test_tauri_with_identifier() -> None: + [output] = load_outputs({"type": "tauri", "identifier": "com.example.game"}) + assert isinstance(output, TauriOutput) + assert output.identifier == "com.example.game" + assert output.window is None + + +def test_electron_window_is_optional() -> None: + [output] = load_outputs({"type": "electron"}) + assert isinstance(output, ElectronOutput) + assert output.window is None + + +def test_window_config_defaults() -> None: + assert WindowConfig() == WindowConfig(width=640, height=480) + + +def test_window_config_fills_in_missing_side() -> None: + [output] = load_outputs({"type": "electron", "window": {"width": 800}}) + assert output.window == WindowConfig(width=800, height=480) + + +# ------------------------------------------------------------- code sources ----- + + +def test_unknown_code_source_type_is_rejected() -> None: + data = base_config() + data["inputs"]["code"] = {"type": "ftp", "value": "ftp://example.com"} + with pytest.raises(ValidationError, match="ftp"): + load(data) + + +def test_unknown_icon_source_type_is_rejected() -> None: + data = base_config() + data["inputs"]["assets"]["icon"] = {"type": "ftp", "value": "ftp://example.com"} + with pytest.raises(ValidationError, match="ftp"): + load(data) + + +# ---------------------------------------------------- resolve_config_paths ----- + + +def load_with_paths( + code: dict[str, Any], icon: dict[str, Any] | None = None, build_dir: str = "build" +) -> BuildConfig: + data = base_config() + data["inputs"]["code"] = code + if icon: + data["inputs"]["assets"]["icon"] = icon + data["build_dir"] = build_dir + return load(data) + + +@pytest.mark.parametrize( + "code_type", + [("path", PathCodeSource), ("file", FileCodeSource)], + ids=lambda t: t[0], +) +def test_resolve_makes_relative_paths_absolute( + tmp_path: Path, code_type: tuple[str, type[PathCodeSource | FileCodeSource]] +) -> None: + name, source_type = code_type + config = load_with_paths( + {"type": name, "value": "./game"}, + {"type": "path", "value": "assets/icon.png"}, + "./out/build", + ) + + resolved = resolve_config_paths(config, tmp_path) + + base = tmp_path.resolve() + assert resolved.build_dir == str(base / "out" / "build") + assert resolved.inputs.code.root == source_type( + type=name, # type: ignore[arg-type] + value=str(base / "game"), + ) + assert resolved.inputs.assets.icon is not None + assert resolved.inputs.assets.icon.root == PathAssetSource( + type="path", value=str(base / "assets" / "icon.png") + ) + + +def test_resolve_follows_parent_directories(tmp_path: Path) -> None: + config = load_with_paths({"type": "path", "value": "../game"}, None, "../../build") + base = tmp_path / "a" / "b" + resolved = resolve_config_paths(config, base) + assert resolved.build_dir == str((tmp_path / "build").resolve()) + assert resolved.inputs.code.root == PathCodeSource( + type="path", value=str((tmp_path / "a" / "game").resolve()) + ) + + +def test_resolve_keeps_absolute_paths(tmp_path: Path) -> None: + game = (tmp_path / "elsewhere" / "game").resolve() + build = (tmp_path / "elsewhere" / "build").resolve() + config = load_with_paths({"type": "path", "value": str(game)}, None, str(build)) + resolved = resolve_config_paths(config, tmp_path / "config-dir") + assert resolved.build_dir == str(build) + assert resolved.inputs.code.root == PathCodeSource(type="path", value=str(game)) + + +@pytest.mark.parametrize( + "code", + [ + {"type": "share_link", "value": "https://arcade.makecode.com/S12345/"}, + {"type": "git", "url": "https://github.com/a/b", "ref": "main"}, + {"type": "git", "url": "file:///a/b"}, + {"type": "github", "value": "https://github.com/a/b"}, + ], + ids=lambda code: code["type"], +) +def test_resolve_leaves_urls_alone(tmp_path: Path, code: dict[str, Any]) -> None: + icon = {"type": "url", "value": "https://example.com/icon.png"} + config = load_with_paths(code, icon) + resolved = resolve_config_paths(config, tmp_path) + assert resolved.inputs.code == config.inputs.code + assert resolved.inputs.assets.icon is not None + assert isinstance(resolved.inputs.assets.icon.root, UrlAssetSource) + assert resolved.inputs.assets.icon == config.inputs.assets.icon + + +def test_resolve_does_not_modify_the_config(tmp_path: Path) -> None: + config = load_with_paths( + {"type": "path", "value": "game"}, {"type": "path", "value": "icon.png"} + ) + before = config.model_dump_json() + resolve_config_paths(config, tmp_path) + assert config.model_dump_json() == before + + +def test_resolve_does_not_depend_on_the_current_directory( + tmp_path: Path, monkeypatch: pytest.MonkeyPatch +) -> None: + config = load_with_paths({"type": "path", "value": "game"}) + results = [] + for cwd in (tmp_path / "one", tmp_path / "two"): + cwd.mkdir() + monkeypatch.chdir(cwd) + results.append(resolve_config_paths(config, tmp_path).model_dump_json()) + assert results[0] == results[1] + + +# ------------------------------------------------- the JSON tasks are given ----- + + +def test_comments_and_formatting_do_not_change_the_json() -> None: + data = base_config() + plain = yaml.safe_dump(data) + reformatted = "# A comment\n\n" + yaml.safe_dump(data, sort_keys=False, indent=4) + assert plain != reformatted + assert ( + load_config_from_yaml(plain).model_dump_json() + == load_config_from_yaml(reformatted).model_dump_json() + ) + + +@pytest.mark.parametrize( + "code", + [ + {"type": "share_link", "value": "https://arcade.makecode.com/S12345/"}, + {"type": "git", "url": "https://github.com/a/b", "ref": "main"}, + {"type": "github", "value": "https://github.com/a/b", "checkout": "dev"}, + {"type": "path", "value": "game"}, + {"type": "file", "value": "game.png"}, + ], + ids=lambda code: code["type"], +) +def test_config_and_its_parts_survive_json(code: dict[str, Any]) -> None: + icon = {"type": "url", "value": "https://example.com/icon.png"} + config = load_with_paths(code, icon) + assert BuildConfig.model_validate_json(config.model_dump_json()) == config + assert ( + CodeSource.model_validate_json(config.inputs.code.model_dump_json()) + == config.inputs.code + ) + assert config.inputs.assets.icon is not None + assert ( + AssetSource.model_validate_json(config.inputs.assets.icon.model_dump_json()) + == config.inputs.assets.icon + ) + assert ( + Project.model_validate_json(config.project.model_dump_json()) == config.project + ) diff --git a/tests/unit/test_embedded_source.py b/tests/unit/test_embedded_source.py index 1e40632..25d04db 100644 --- a/tests/unit/test_embedded_source.py +++ b/tests/unit/test_embedded_source.py @@ -490,6 +490,73 @@ def test_noisy_png_has_no_project(tmp_path: Path) -> None: read_embedded_files(path) +def test_png_with_low_bits_but_no_project(tmp_path: Path) -> None: + # The first pixel looks like it says how many bits are used, as in a normal photo + path = tmp_path / "photo.png" + Image.new("RGBA", (32, 32), (1, 0, 0, 255)).save(path) + with pytest.raises(EmbeddedSourceError, match="Invalid magic"): + read_embedded_files(path) + + +@pytest.mark.parametrize( + "project", [[], {"meta": {}}, {"source": {"main.ts": ""}}], ids=str +) +def test_png_project_without_source_string(tmp_path: Path, project: object) -> None: + blob = lzma.compress(json.dumps(project).encode(), format=lzma.FORMAT_ALONE) + path = tmp_path / "game.png" + make_project_png(160, 120, blob, path) + with pytest.raises(EmbeddedSourceError, match="has no source"): + read_embedded_files(path) + + +@pytest.mark.parametrize("files", [["main.ts"], "main.ts", {"main.ts": 1}], ids=str) +def test_files_not_a_map_of_strings(tmp_path: Path, files: object) -> None: + path = tmp_path / "game.uf2" + make_project_uf2(path, {}, json.dumps(files).encode()) + with pytest.raises(EmbeddedSourceError, match="not a {filename: text} map"): + read_embedded_files(path) + + +def test_uf2_magic_without_a_full_block(tmp_path: Path) -> None: + path = tmp_path / "game.uf2" + path.write_bytes(struct.pack("<2I", UF2_MAGIC0, UF2_MAGIC1) + b"\x00" * 100) + with pytest.raises(EmbeddedSourceError, match="Not a UF2 file"): + read_embedded_files(path) + + +def test_uf2_without_main_flash_blocks(tmp_path: Path) -> None: + block = struct.pack( + "<8I", UF2_MAGIC0, UF2_MAGIC1, UF2_FLAG_NOT_MAIN_FLASH, 0, 256, 0, 1, 0 + ).ljust(512, b"\x00") + path = tmp_path / "game.uf2" + path.write_bytes(block) + with pytest.raises(EmbeddedSourceError, match="Not a UF2 file"): + read_embedded_files(path) + + +def test_uf2_skips_unaligned_source_magic(tmp_path: Path) -> None: + # 5 + 8 + 3 bytes puts the real source at offset 16, after a decoy at offset 5 + decoy = b"\xaa" * 5 + SOURCE_MAGIC + b"\xaa" * 3 + path = tmp_path / "game.uf2" + _write_uf2(path, decoy + _source_payload()) + assert read_embedded_files(path) == SAMPLE_FILES + + +@pytest.mark.parametrize("meta_bytes", [b"[]", b'"text"', b"1"]) +def test_uf2_metadata_not_an_object(tmp_path: Path, meta_bytes: bytes) -> None: + path = tmp_path / "game.uf2" + make_project_uf2(path, {}, json.dumps(SAMPLE_FILES).encode(), meta_bytes=meta_bytes) + with pytest.raises(EmbeddedSourceError, match="not a JSON object"): + read_embedded_files(path) + + +def test_uf2_unsupported_compression(tmp_path: Path) -> None: + path = tmp_path / "game.uf2" + make_project_uf2(path, {"compression": "gzip"}, b"") + with pytest.raises(EmbeddedSourceError, match="Unsupported compression gzip"): + read_embedded_files(path) + + def test_uf2_without_source(tmp_path: Path) -> None: path = tmp_path / "binary-only.uf2" _write_uf2(path, b"\x00" * 4096) @@ -617,6 +684,23 @@ def test_zip_bomb_rejected(tmp_path: Path) -> None: read_project_files(src) +def test_zip_too_many_entries_rejected( + tmp_path: Path, monkeypatch: pytest.MonkeyPatch +) -> None: + monkeypatch.setattr(embedded_source, "ZIP_MAX_ENTRIES", len(SAMPLE_BYTES) - 1) + src = tmp_path / "game.zip" + make_zip(src, SAMPLE_BYTES) + with pytest.raises(EmbeddedSourceError, match="entries"): + read_project_files(src) + + +def test_zip_entry_outside_wrapper_is_skipped(tmp_path: Path) -> None: + # An entry named "." has no path parts, so it isn't under the wrapper folder + src = tmp_path / "game.zip" + make_zip(src, {"Game-main/pxt.json": b"{}", ".": b"junk"}) + assert read_project_files(src) == {"pxt.json": b"{}"} + + def test_corrupt_zip(tmp_path: Path) -> None: src = tmp_path / "game.zip" make_zip(src, SAMPLE_BYTES) diff --git a/tests/unit/test_git.py b/tests/unit/test_git.py index c1c700a..fb6e249 100644 --- a/tests/unit/test_git.py +++ b/tests/unit/test_git.py @@ -87,3 +87,19 @@ def test_commit_sha_matching_default_branch( def test_unknown_ref(source_repo: SourceRepo, tmp_path: Path) -> None: with pytest.raises(ValueError, match="Could not find"): clone_and_checkout(str(source_repo.path), tmp_path / "clone", "nope") + + +def test_value_error_without_ref_is_not_retried_as_a_sha( + tmp_path: Path, monkeypatch: pytest.MonkeyPatch +) -> None: + # Only a ref can be mistaken for a commit SHA, so anything else must surface + calls: list[str] = [] + + def fake_clone(url: str, *args: object, **kwargs: object) -> None: + calls.append(url) + raise ValueError("some other problem") + + monkeypatch.setattr(porcelain, "clone", fake_clone) + with pytest.raises(ValueError, match="some other problem"): + clone_and_checkout("https://example.com/a/b", tmp_path / "clone") + assert calls == ["https://example.com/a/b"] diff --git a/tests/unit/test_logger.py b/tests/unit/test_logger.py new file mode 100644 index 0000000..4f09f54 --- /dev/null +++ b/tests/unit/test_logger.py @@ -0,0 +1,106 @@ +import logging +import sys +from collections.abc import Iterator + +import pytest + +from mkcd2app.utils.logger import create_logger, set_all_stdout_logger_levels + + +@pytest.fixture +def logger_name(request: pytest.FixtureRequest) -> Iterator[str]: + """A logger name unique to the test, removed afterwards (loggers are global).""" + name = f"test-logger-{request.node.name}" + yield name + logging.Logger.manager.loggerDict.pop(name, None) + + +@pytest.fixture +def restore_log_levels() -> Iterator[None]: + """Put back every logger's level, since set_all_stdout_logger_levels changes all.""" + all_loggers = logging.Logger.manager.loggerDict + before = { + name: (lgr.level, [(h, h.level) for h in lgr.handlers]) + for name, lgr in all_loggers.items() + if isinstance(lgr, logging.Logger) + } + yield + for name, lgr in all_loggers.items(): + if isinstance(lgr, logging.Logger): + level, handlers = before.get(name, (logging.NOTSET, [])) + lgr.setLevel(level) + for handler, handler_level in handlers: + handler.setLevel(handler_level) + + +def test_create_logger_setup(logger_name: str) -> None: + logger = create_logger(logger_name, logging.INFO) + assert logger.name == logger_name + assert logger.level == logging.INFO + assert logger.propagate is False + assert len(logger.handlers) == 2 + + +def test_info_goes_to_stdout_and_warning_to_stderr( + logger_name: str, capsys: pytest.CaptureFixture[str] +) -> None: + logger = create_logger(logger_name, logging.INFO) + logger.info("some info") + logger.warning("some warning") + logger.debug("some debug") + captured = capsys.readouterr() + assert "some info" in captured.out and "some warning" not in captured.out + assert "some warning" in captured.err and "some info" not in captured.err + assert "some debug" not in captured.out + captured.err + + +def test_creating_a_logger_twice_does_not_log_twice( + logger_name: str, capsys: pytest.CaptureFixture[str] +) -> None: + # Regression: the check for an existing handler compared against new objects + create_logger(logger_name, logging.INFO) + logger = create_logger(logger_name, logging.INFO) + assert len(logger.handlers) == 2 + logger.info("some info") + logger.warning("some warning") + captured = capsys.readouterr() + assert captured.out.count("some info") == 1 + assert captured.err.count("some warning") == 1 + + +def test_creating_a_logger_again_uses_the_new_level( + logger_name: str, capsys: pytest.CaptureFixture[str] +) -> None: + create_logger(logger_name, logging.INFO) + logger = create_logger(logger_name, logging.DEBUG) + logger.debug("some debug") + assert "some debug" in capsys.readouterr().out + + +def test_set_all_stdout_logger_levels( + logger_name: str, restore_log_levels: None, capsys: pytest.CaptureFixture[str] +) -> None: + logger = create_logger(logger_name, logging.INFO) + stdout_handler, stderr_handler = logger.handlers + assert isinstance(stdout_handler, logging.StreamHandler) + assert stdout_handler.stream == sys.stdout + + set_all_stdout_logger_levels(logging.DEBUG) + + assert logger.level == logging.DEBUG + assert stdout_handler.level == logging.DEBUG + assert stderr_handler.level == logging.WARNING # only stdout handlers change + logger.debug("some debug") + assert "some debug" in capsys.readouterr().out + + +def test_set_all_stdout_logger_levels_covers_our_module_loggers( + logger_name: str, restore_log_levels: None +) -> None: + other = create_logger(f"{logger_name}-other", logging.INFO) + try: + set_all_stdout_logger_levels(logging.DEBUG) + assert logging.getLogger("mkcd2app.utils.logger").level == logging.DEBUG + assert other.level == logging.DEBUG + finally: + logging.Logger.manager.loggerDict.pop(other.name, None) diff --git a/tests/unit/test_main.py b/tests/unit/test_main.py new file mode 100644 index 0000000..2e3bceb --- /dev/null +++ b/tests/unit/test_main.py @@ -0,0 +1,50 @@ +import stat +from pathlib import Path + +import pytest + +from mkcd2app.main import _clear_build_dir +from mkcd2app.utils.paths import get_redun_db_for_build_path + + +def test_clear_build_dir_missing_is_fine(tmp_path: Path) -> None: + _clear_build_dir(tmp_path / "missing") + assert not (tmp_path / "missing").exists() + + +def test_clear_build_dir_empty_is_fine(tmp_path: Path) -> None: + build_dir = tmp_path / "build" + build_dir.mkdir() + _clear_build_dir(build_dir) + assert build_dir.is_dir() + + +def test_clear_build_dir_with_cache_db_deletes_it(tmp_path: Path) -> None: + build_dir = tmp_path / "build" + (build_dir / "game-source").mkdir(parents=True) + (build_dir / "game-source" / "main.ts").write_text("x", encoding="utf-8") + get_redun_db_for_build_path(build_dir).write_text("db", encoding="utf-8") + _clear_build_dir(build_dir) + assert not build_dir.exists() + assert tmp_path.is_dir() + + +def test_clear_build_dir_deletes_read_only_files(tmp_path: Path) -> None: + # A git source's .git has read-only files, which fail a plain rmtree on Windows + build_dir = tmp_path / "build" + read_only = build_dir / "game-source" / ".git" / "objects" / "pack" + read_only.parent.mkdir(parents=True) + read_only.write_text("x", encoding="utf-8") + read_only.chmod(stat.S_IREAD) + get_redun_db_for_build_path(build_dir).write_text("db", encoding="utf-8") + _clear_build_dir(build_dir) + assert not build_dir.exists() + + +def test_clear_build_dir_refuses_without_cache_db(tmp_path: Path) -> None: + # e.g. a typo in build_dir, or `build_dir: "."` in a project folder + important = tmp_path / "important.txt" + important.write_text("keep me", encoding="utf-8") + with pytest.raises(RuntimeError, match="Refusing to clear"): + _clear_build_dir(tmp_path) + assert important.read_text("utf-8") == "keep me" diff --git a/tests/unit/test_paths.py b/tests/unit/test_paths.py index 93ecfe8..a04dd2f 100644 --- a/tests/unit/test_paths.py +++ b/tests/unit/test_paths.py @@ -47,6 +47,10 @@ def test_state_paths_under_home( assert get_path() == mkcd2app_home / "state" / VERSION / relative +def test_build_redun_db_is_in_build_dir(tmp_path: Path) -> None: + assert paths.get_redun_db_for_build_path(tmp_path) == tmp_path / ".redun-cache.db" + + @pytest.mark.parametrize("value", [None, ""]) def test_no_override_uses_platformdirs( monkeypatch: pytest.MonkeyPatch, value: str | None diff --git a/tests/unit/test_target_install.py b/tests/unit/test_target_install.py new file mode 100644 index 0000000..5467d93 --- /dev/null +++ b/tests/unit/test_target_install.py @@ -0,0 +1,270 @@ +import json +from html import unescape +from pathlib import Path +from typing import Any + +import pytest +import requests +from helpers import ( + TARGET_VERSION, + CmdCall, + FakeResponse, + FakeRunCmd, + tree_digest, +) +from redun.file import ContentDir + +from mkcd2app.target import install +from mkcd2app.target.install import ( + _download_text, + download_sim, + warm_mkc_cache_for_version_and_get_binary_js_metadata, +) +from mkcd2app.utils.paths import get_js_tools_bin_dir, get_sim_html_path +from mkcd2app.utils.resources import get_resource_empty_project_path +from mkcd2app.utils.run import BuildError + +SIM_URL = "https://sim.example.com/---simulator" +METADATA = { + "simUrl": SIM_URL, + "cdnUrl": "https://cdn.example.com/", + "version": "v0.0.0", + "target": "arcade", + "targetVersion": TARGET_VERSION, +} +METADATA_JSON = json.dumps(METADATA) + + +def serve(monkeypatch: pytest.MonkeyPatch, pages: dict[str, bytes]) -> list[str]: + """Fake ``requests.get`` with these pages; return the list of requested URLs.""" + requested: list[str] = [] + + def fake_get(url: str) -> FakeResponse: + requested.append(url) + return FakeResponse(pages[url]) + + monkeypatch.setattr(requests, "get", fake_get) + return requested + + +def run_download_sim(monkeypatch: pytest.MonkeyPatch, sim_html: str) -> str: + """Run download_sim on this simulator page, and return the HTML it wrote.""" + serve(monkeypatch, {SIM_URL: sim_html.encode()}) + return Path(download_sim.func(METADATA_JSON, TARGET_VERSION).path).read_text( + encoding="utf-8" + ) + + +# --------------------------------------------------------- _download_text ----- + + +def test_download_text_decodes_utf8_without_charset( + monkeypatch: pytest.MonkeyPatch, +) -> None: + # Regression: res.text decodes as ISO-8859-1 when the server sends no charset + text = "héllo ✓ 😀" + serve(monkeypatch, {"https://example.com/x": text.encode()}) + assert _download_text("https://example.com/x") == text + + +def test_download_text_raises_on_http_error(monkeypatch: pytest.MonkeyPatch) -> None: + monkeypatch.setattr(requests, "get", lambda url: FakeResponse(b"", 404)) + with pytest.raises(requests.HTTPError): + _download_text("https://example.com/x") + + +# ----------------------------------------------------------- download_sim ----- + + +def test_download_sim_inlines_css_and_js( + mkcd2app_home: Path, monkeypatch: pytest.MonkeyPatch +) -> None: + requested = serve( + monkeypatch, + { + SIM_URL: b'' + b'', + "https://cdn.example.com/a.css": b"body { color: red }", + "https://cdn.example.com/b.js": b"run()", + }, + ) + + result = download_sim.func(METADATA_JSON, TARGET_VERSION) + + assert Path(result.path) == get_sim_html_path(TARGET_VERSION) + assert requested == [ + SIM_URL, + "https://cdn.example.com/a.css", + "https://cdn.example.com/b.js", + ] + html = Path(result.path).read_text(encoding="utf-8") + assert "