From 95dbf30fb97ac5f1e3f3c0118e4bc2137d1717bf Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Sun, 30 Jan 2022 11:50:14 +1100 Subject: [PATCH] updates to the build process and binary bundles All platforms: - rename scripts/ to tools/: Bazelisk expects to find its wrapper script (used by the Mac changes below) in tools/. Rather than have a separate scripts/ and tools/, it's simpler to just move everything into tools/. - wheel outputs and binary bundles now go into .bazel/out/dist. While not technically Bazel build products, doing it this way ensures they get cleaned up when 'bazel clean' is run, and it keeps them out of the source folder. - update to the latest Bazel Windows changes: - bazel.bat has been removed, and tools\setup-env.bat has been added. Other scripts like .\run.bat will automatically call it to set up the environment. - because Bazel is now on the path, you can 'bazel test ...' from any folder, instead of having to do \anki\bazel. - the bat files can handle being called from any working directory, so things like running "\anki\tools\python" from c:\ will work. - build installer as part of bundling process Mac changes: - `arch -arch x86_64 bazel ...` will now automatically use a different build root, so that it is cheap to switch back and forth between archs on a new Mac. - tools/run-qt* will now automatically use Rosetta - disable jemalloc in Mac x86 build for now, as it won't build under Rosetta (perhaps due to its build scripts using $host_cpu instead of $target_cpu) - create app bundle as part of bundling process Linux changes: - remove arm64 orjson workaround in Linux bundle, as without a readily-available, relatively distro-agonstic PyQt/Qt build we can use, the arm64 Linux bundle is of very limited usefulness. - update Docker files for release build - include fcitx5 in both the qt5 and qt6 bundles - create tarballs as part of the bundling process --- .bazelignore | 1 + .bazelrc | 6 +- .bazelversion | 2 +- .../linux}/docker/Dockerfile.amd64 | 35 +- .../linux}/docker/Dockerfile.arm64 | 30 +- .buildkite/linux/docker/buildkite.cfg | 6 + .buildkite/linux/docker/environment | 7 + .buildkite/linux/docker/run.sh | 30 + .buildkite/linux/entrypoint | 2 +- .buildkite/linux/release-entrypoint | 18 + .buildkite/mac/entrypoint | 2 +- .gitignore | 9 +- .vscode/settings.json | 8 +- BUILD.bazel | 9 +- Cargo.toml | 2 +- bazel.bat | 2 - cargo/README.md | 2 +- docs/development.md | 46 +- docs/docker/Dockerfile | 50 +- docs/docker/README.md | 21 +- docs/editing.md | 2 +- docs/linux.md | 9 +- docs/mac.md | 12 +- docs/syncserver.md | 2 +- docs/windows.md | 10 +- pyrightconfig.json | 2 +- python/licenses.sh | 4 +- qt/{package => bundle}/.cargo/config | 0 qt/{package => bundle}/Cargo.lock | 0 qt/{package => bundle}/Cargo.toml | 1 + qt/bundle/build.py | 395 +++++ qt/{package => bundle}/build.rs | 2 +- qt/{package => bundle}/lin/README.md | 0 qt/{package => bundle}/lin/anki.1 | 0 qt/{package => bundle}/lin/anki.desktop | 0 qt/{package => bundle}/lin/anki.png | Bin qt/{package => bundle}/lin/anki.xml | 0 qt/{package => bundle}/lin/anki.xpm | 0 qt/{package => bundle}/lin/install.sh | 0 qt/{package => bundle}/lin/uninstall.sh | 0 qt/bundle/mac/Cargo.lock | 204 +++ qt/bundle/mac/Cargo.toml | 15 + qt/bundle/mac/dmg/anki-logo-bg.png | Bin 0 -> 95211 bytes qt/bundle/mac/dmg/build.sh | 42 + qt/bundle/mac/dmg/dmg_ds_store | Bin 0 -> 12292 bytes .../set-dmg-settings.app/Contents/Info.plist | 74 + .../Contents/MacOS/applet | Bin 0 -> 60256 bytes .../dmg/set-dmg-settings.app/Contents/PkgInfo | 1 + .../Contents/Resources/Scripts/main.scpt | Bin 0 -> 1364 bytes .../Contents/Resources/applet.icns | Bin 0 -> 71867 bytes .../Contents/Resources/applet.rsrc | Bin 0 -> 362 bytes .../Resources/description.rtfd/TXT.rtf | 5 + .../Contents/_CodeSignature/CodeResources | 177 ++ qt/bundle/mac/dmg/set-dmg-settings.scpt | Bin 0 -> 1276 bytes qt/bundle/mac/entitlements.python.xml | 14 + qt/bundle/mac/finalize.py | 60 + qt/bundle/mac/icon/Assets.car | Bin 0 -> 103576 bytes .../AppIcon.appiconset/Contents.json | 59 + .../AppIcon.appiconset/round-1024-512.png | Bin 0 -> 366188 bytes .../mac/icon/Assets.xcassets/Contents.json | 6 + qt/bundle/mac/icon/build.sh | 5 + qt/bundle/mac/notarize.py | 148 ++ qt/bundle/mac/src/Info.plist | 49 + qt/bundle/mac/src/main.rs | 223 +++ qt/{package => bundle}/pyoxidizer.bzl | 5 +- qt/{package => bundle}/qt.exclude | 0 qt/{package => bundle}/rustfmt.toml | 0 qt/{package => bundle}/src/anki.rs | 0 qt/{package => bundle}/src/main.rs | 0 qt/bundle/win/Cargo.lock | 1497 +++++++++++++++++ qt/bundle/win/Cargo.toml | 14 + qt/{package => bundle}/win/anki-console.bat | 0 qt/{package => bundle/win}/anki-icon.ico | Bin qt/{package => bundle/win}/anki-manifest.rc | 0 qt/{package => bundle/win}/anki.exe.manifest | 0 qt/bundle/win/anki.template.nsi | 210 +++ qt/bundle/win/fileassoc.nsh | 120 ++ qt/bundle/win/rustfmt.toml | 4 + qt/bundle/win/src/main.rs | 222 +++ qt/package/build.bat | 21 - qt/package/build.py | 264 --- qt/package/build.sh | 29 - qt/package/buildmanifest.py | 26 - qt/tests/run_format.py | 4 +- qt/tools/extract_sass_colors.py | 1 + repos.bzl | 95 ++ run.bat | 7 +- scripts/build | 12 - scripts/build.bat | 12 - scripts/cargo-env.bat | 4 - scripts/docker/README.md | 28 - scripts/docker/build-entrypoint | 12 - scripts/docker/build.sh | 26 - scripts/python.bat | 1 - scripts/run-qt5.14 | 8 - scripts/run-qt5.15 | 6 - scripts/run-qt5.15.bat | 4 - scripts/runopt.bat | 2 - {scripts => tools}/BUILD.bazel | 0 tools/bazel | 20 + tools/build | 21 + tools/build.bat | 18 + {scripts => tools}/buildinfo.py | 0 tools/bundle | 39 + tools/bundle.bat | 33 + {scripts => tools}/cargo-env | 6 +- tools/cargo-env.bat | 7 + {scripts => tools}/copyright_headers.py | 4 +- {scripts => tools}/mypy | 0 {scripts => tools}/mypy-watch | 0 {scripts => tools}/node-env | 2 +- {scripts => tools}/python | 0 tools/python.bat | 6 + tools/run-qt5.14 | 17 + tools/run-qt5.15 | 15 + tools/run-qt5.15.bat | 7 + {scripts => tools}/runopt | 0 tools/runopt.bat | 7 + tools/setup-env.bat | 16 + {scripts => tools}/status.sh | 0 {scripts => tools}/svelte-check | 2 +- {scripts => tools}/ts-run | 0 {scripts => tools}/ts-watch | 0 123 files changed, 4062 insertions(+), 601 deletions(-) rename {scripts => .buildkite/linux}/docker/Dockerfile.amd64 (53%) rename {scripts => .buildkite/linux}/docker/Dockerfile.arm64 (57%) create mode 100644 .buildkite/linux/docker/buildkite.cfg create mode 100755 .buildkite/linux/docker/environment create mode 100755 .buildkite/linux/docker/run.sh create mode 100755 .buildkite/linux/release-entrypoint delete mode 100755 bazel.bat rename qt/{package => bundle}/.cargo/config (100%) rename qt/{package => bundle}/Cargo.lock (100%) rename qt/{package => bundle}/Cargo.toml (95%) create mode 100644 qt/bundle/build.py rename qt/{package => bundle}/build.rs (98%) rename qt/{package => bundle}/lin/README.md (100%) rename qt/{package => bundle}/lin/anki.1 (100%) rename qt/{package => bundle}/lin/anki.desktop (100%) rename qt/{package => bundle}/lin/anki.png (100%) rename qt/{package => bundle}/lin/anki.xml (100%) rename qt/{package => bundle}/lin/anki.xpm (100%) rename qt/{package => bundle}/lin/install.sh (100%) rename qt/{package => bundle}/lin/uninstall.sh (100%) create mode 100644 qt/bundle/mac/Cargo.lock create mode 100644 qt/bundle/mac/Cargo.toml create mode 100644 qt/bundle/mac/dmg/anki-logo-bg.png create mode 100755 qt/bundle/mac/dmg/build.sh create mode 100644 qt/bundle/mac/dmg/dmg_ds_store create mode 100644 qt/bundle/mac/dmg/set-dmg-settings.app/Contents/Info.plist create mode 100755 qt/bundle/mac/dmg/set-dmg-settings.app/Contents/MacOS/applet create mode 100644 qt/bundle/mac/dmg/set-dmg-settings.app/Contents/PkgInfo create mode 100644 qt/bundle/mac/dmg/set-dmg-settings.app/Contents/Resources/Scripts/main.scpt create mode 100644 qt/bundle/mac/dmg/set-dmg-settings.app/Contents/Resources/applet.icns create mode 100644 qt/bundle/mac/dmg/set-dmg-settings.app/Contents/Resources/applet.rsrc create mode 100644 qt/bundle/mac/dmg/set-dmg-settings.app/Contents/Resources/description.rtfd/TXT.rtf create mode 100644 qt/bundle/mac/dmg/set-dmg-settings.app/Contents/_CodeSignature/CodeResources create mode 100644 qt/bundle/mac/dmg/set-dmg-settings.scpt create mode 100644 qt/bundle/mac/entitlements.python.xml create mode 100644 qt/bundle/mac/finalize.py create mode 100644 qt/bundle/mac/icon/Assets.car create mode 100644 qt/bundle/mac/icon/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 qt/bundle/mac/icon/Assets.xcassets/AppIcon.appiconset/round-1024-512.png create mode 100644 qt/bundle/mac/icon/Assets.xcassets/Contents.json create mode 100755 qt/bundle/mac/icon/build.sh create mode 100644 qt/bundle/mac/notarize.py create mode 100644 qt/bundle/mac/src/Info.plist create mode 100644 qt/bundle/mac/src/main.rs rename qt/{package => bundle}/pyoxidizer.bzl (96%) rename qt/{package => bundle}/qt.exclude (100%) rename qt/{package => bundle}/rustfmt.toml (100%) rename qt/{package => bundle}/src/anki.rs (100%) rename qt/{package => bundle}/src/main.rs (100%) create mode 100644 qt/bundle/win/Cargo.lock create mode 100644 qt/bundle/win/Cargo.toml rename qt/{package => bundle}/win/anki-console.bat (100%) rename qt/{package => bundle/win}/anki-icon.ico (100%) rename qt/{package => bundle/win}/anki-manifest.rc (100%) rename qt/{package => bundle/win}/anki.exe.manifest (100%) create mode 100644 qt/bundle/win/anki.template.nsi create mode 100644 qt/bundle/win/fileassoc.nsh create mode 100644 qt/bundle/win/rustfmt.toml create mode 100644 qt/bundle/win/src/main.rs delete mode 100755 qt/package/build.bat delete mode 100644 qt/package/build.py delete mode 100755 qt/package/build.sh delete mode 100644 qt/package/buildmanifest.py delete mode 100755 scripts/build delete mode 100755 scripts/build.bat delete mode 100644 scripts/cargo-env.bat delete mode 100644 scripts/docker/README.md delete mode 100644 scripts/docker/build-entrypoint delete mode 100755 scripts/docker/build.sh delete mode 100755 scripts/python.bat delete mode 100755 scripts/run-qt5.14 delete mode 100755 scripts/run-qt5.15 delete mode 100755 scripts/run-qt5.15.bat delete mode 100755 scripts/runopt.bat rename {scripts => tools}/BUILD.bazel (100%) create mode 100755 tools/bazel create mode 100755 tools/build create mode 100755 tools/build.bat rename {scripts => tools}/buildinfo.py (100%) create mode 100755 tools/bundle create mode 100755 tools/bundle.bat rename {scripts => tools}/cargo-env (85%) create mode 100644 tools/cargo-env.bat rename {scripts => tools}/copyright_headers.py (96%) rename {scripts => tools}/mypy (100%) rename {scripts => tools}/mypy-watch (100%) rename {scripts => tools}/node-env (96%) rename {scripts => tools}/python (100%) create mode 100755 tools/python.bat create mode 100755 tools/run-qt5.14 create mode 100755 tools/run-qt5.15 create mode 100755 tools/run-qt5.15.bat rename {scripts => tools}/runopt (100%) create mode 100755 tools/runopt.bat create mode 100644 tools/setup-env.bat rename {scripts => tools}/status.sh (100%) rename {scripts => tools}/svelte-check (85%) rename {scripts => tools}/ts-run (100%) rename {scripts => tools}/ts-watch (100%) diff --git a/.bazelignore b/.bazelignore index 3c3629e64..1c30ea3ed 100644 --- a/.bazelignore +++ b/.bazelignore @@ -1 +1,2 @@ node_modules +.bazel diff --git a/.bazelrc b/.bazelrc index dc09b785b..81430cc64 100644 --- a/.bazelrc +++ b/.bazelrc @@ -8,7 +8,7 @@ build --enable_runfiles build:windows --build_python_zip=false # record version/build hash -build --workspace_status_command='bash ./scripts/status.sh' +build --workspace_status_command='bash ./tools/status.sh' # run clippy when compiling rust in test mode test --aspects=@rules_rust//rust:defs.bzl%rust_clippy_aspect --output_groups=+clippy_checks @@ -31,7 +31,9 @@ build:windows --worker_quit_after_build # place convenience symlinks inside a single folder for easier exclusion in IDEs build --symlink_prefix=.bazel/ -build --experimental_no_product_name_out_symlink + +# if (auto-created) windows.bazelrc exists, import it +try-import %workspace%/windows.bazelrc # allow extra user customizations in a separate file # (see .user.bazelrc for an example) diff --git a/.bazelversion b/.bazelversion index fae6e3d04..0062ac971 100644 --- a/.bazelversion +++ b/.bazelversion @@ -1 +1 @@ -4.2.1 +5.0.0 diff --git a/scripts/docker/Dockerfile.amd64 b/.buildkite/linux/docker/Dockerfile.amd64 similarity index 53% rename from scripts/docker/Dockerfile.amd64 rename to .buildkite/linux/docker/Dockerfile.amd64 index 51e57df4e..2e745396d 100644 --- a/scripts/docker/Dockerfile.amd64 +++ b/.buildkite/linux/docker/Dockerfile.amd64 @@ -1,13 +1,17 @@ -FROM debian:10-slim +FROM python:3.9-slim-buster ARG DEBIAN_FRONTEND="noninteractive" -ARG uid=1000 -ARG gid=1000 -RUN apt-get update \ +RUN useradd -d /state -m -u 998 user + +RUN apt-get update && apt install --yes gnupg ca-certificates && \ + apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 32A37959C2FA5C3C99EFBC32A79206696452D198 \ + && echo "deb https://apt.buildkite.com/buildkite-agent stable main" > /etc/apt/sources.list.d/buildkite-agent.list \ + && apt-get update \ && apt-get install --yes --no-install-recommends \ autoconf \ bash \ + buildkite-agent \ ca-certificates \ curl \ findutils \ @@ -23,6 +27,7 @@ RUN apt-get update \ libgstreamer-plugins-base1.0 \ libgstreamer1.0-0 \ libnss3 \ + libpulse-mainloop-glib0 \ libpulse-mainloop-glib0 \ libssl-dev \ libxcomposite1 \ @@ -37,23 +42,23 @@ RUN apt-get update \ make \ pkg-config \ portaudio19-dev \ + python3-dev \ rsync \ + zstd \ && rm -rf /var/lib/apt/lists/* -RUN curl -L https://github.com/bazelbuild/bazelisk/releases/download/v1.10.1/bazelisk-linux-amd64 \ + +RUN curl -L https://github.com/bazelbuild/bazelisk/releases/download/v1.7.4/bazelisk-linux-amd64 \ -o /usr/local/bin/bazel \ && chmod +x /usr/local/bin/bazel -RUN mkdir -p /code/bazel-docker/home && \ - echo groupadd -g ${gid} user && \ - useradd -d /code/bazel-docker/home -m -u ${uid} user && \ - chown -R user.user /code - RUN ln -sf /usr/bin/python3 /usr/bin/python -USER user -COPY build-entrypoint /tmp -WORKDIR /code -ENV XDG_CACHE_HOME=/code/bazel-docker/home +RUN mkdir -p /etc/buildkite-agent/hooks && chown -R user /etc/buildkite-agent -ENTRYPOINT ["/bin/bash", "/tmp/build-entrypoint"] +COPY buildkite.cfg /etc/buildkite-agent/buildkite-agent.cfg +COPY environment /etc/buildkite-agent/hooks/environment + +USER user +WORKDIR /code/buildkite +ENTRYPOINT ["/usr/bin/buildkite-agent", "start"] diff --git a/scripts/docker/Dockerfile.arm64 b/.buildkite/linux/docker/Dockerfile.arm64 similarity index 57% rename from scripts/docker/Dockerfile.arm64 rename to .buildkite/linux/docker/Dockerfile.arm64 index 56f6f00da..2067c9a97 100644 --- a/scripts/docker/Dockerfile.arm64 +++ b/.buildkite/linux/docker/Dockerfile.arm64 @@ -1,13 +1,18 @@ FROM debian:11-slim ARG DEBIAN_FRONTEND="noninteractive" -ARG uid=1000 -ARG gid=1000 +ENV PYTHON_SITE_PACKAGES=/usr/lib/python3/dist-packages/ -RUN apt-get update \ +RUN useradd -d /state -m -u 998 user + +RUN apt-get update && apt install --yes gnupg ca-certificates && \ + apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 32A37959C2FA5C3C99EFBC32A79206696452D198 \ + && echo "deb https://apt.buildkite.com/buildkite-agent stable main" > /etc/apt/sources.list.d/buildkite-agent.list \ + && apt-get update \ && apt-get install --yes --no-install-recommends \ autoconf \ bash \ + buildkite-agent \ ca-certificates \ curl \ findutils \ @@ -23,6 +28,7 @@ RUN apt-get update \ libgstreamer-plugins-base1.0 \ libgstreamer1.0-0 \ libnss3 \ + libpulse-mainloop-glib0 \ libpulse-mainloop-glib0 \ libssl-dev \ libxcomposite1 \ @@ -37,12 +43,13 @@ RUN apt-get update \ make \ pkg-config \ portaudio19-dev \ + python3-dev \ rsync \ # -- begin only required for arm64/debian11 clang-format \ python-is-python3 \ python3-pyqt5.qtwebengine \ - # -- end only required for arm64/debian11 + # -- end only required for arm64/debian11 && rm -rf /var/lib/apt/lists/* @@ -50,12 +57,13 @@ RUN curl -L https://github.com/bazelbuild/bazelisk/releases/download/v1.10.1/baz -o /usr/local/bin/bazel \ && chmod +x /usr/local/bin/bazel -RUN echo groupadd -g ${gid} user && useradd -d /code/bazel-docker/home -m -u ${uid} user +RUN ln -sf /usr/bin/python3 /usr/bin/python + +RUN mkdir -p /etc/buildkite-agent/hooks && chown -R user /etc/buildkite-agent + +COPY buildkite.cfg /etc/buildkite-agent/buildkite-agent.cfg +COPY environment /etc/buildkite-agent/hooks/environment USER user -COPY build-entrypoint /tmp -WORKDIR /code -ENV XDG_CACHE_HOME=/code/bazel-docker/home -ENV PYTHON_SITE_PACKAGES=/usr/lib/python3/dist-packages/ - -ENTRYPOINT ["/bin/bash", "/tmp/build-entrypoint"] +WORKDIR /code/buildkite +ENTRYPOINT ["/usr/bin/buildkite-agent", "start"] diff --git a/.buildkite/linux/docker/buildkite.cfg b/.buildkite/linux/docker/buildkite.cfg new file mode 100644 index 000000000..3b5345c46 --- /dev/null +++ b/.buildkite/linux/docker/buildkite.cfg @@ -0,0 +1,6 @@ +name="lin-ci" +tags="queue=lin-ci" +build-path="/state/build" +hooks-path="/etc/buildkite-agent/hooks" +no-plugins=true +no-local-hooks=true diff --git a/.buildkite/linux/docker/environment b/.buildkite/linux/docker/environment new file mode 100755 index 000000000..9a43ce00b --- /dev/null +++ b/.buildkite/linux/docker/environment @@ -0,0 +1,7 @@ +#!/bin/bash + +if [[ "${BUILDKITE_COMMAND}" != ".buildkite/linux/entrypoint" && + "${BUILDKITE_COMMAND}" != ".buildkite/linux/release-entrypoint" ]]; then + echo "Command not allowed: ${BUILDKITE_COMMAND}" + exit 1 +fi diff --git a/.buildkite/linux/docker/run.sh b/.buildkite/linux/docker/run.sh new file mode 100755 index 000000000..494c4c70e --- /dev/null +++ b/.buildkite/linux/docker/run.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# use './run.sh serve' to daemonize + +set -e + +if [ "$1" = "serve" ]; then + extra_args="-d --restart always" +else + extra_args="-it" +fi + +if [ $(uname -m) = "aarch64" ]; then + arch=arm64 +else + arch=amd64 +fi + +DOCKER_BUILDKIT=1 docker build -f Dockerfile.${arch} --tag linci . + +if docker container inspect linci > /dev/null 2>&1; then + docker stop linci || true + docker container rm linci +fi + +docker run $extra_args \ + --name linci \ + -v ci-state:/state \ + -e BUILDKITE_AGENT_TOKEN \ + -e BUILDKITE_AGENT_TAGS \ + linci diff --git a/.buildkite/linux/entrypoint b/.buildkite/linux/entrypoint index 9ddba1eb5..bee05ae7e 100755 --- a/.buildkite/linux/entrypoint +++ b/.buildkite/linux/entrypoint @@ -17,7 +17,7 @@ test -e /state/node_modules && mv /state/node_modules . $BAZEL test $BUILDARGS ... //rslib/linkchecker echo "--- Running lints" -python scripts/copyright_headers.py +python tools/copyright_headers.py echo "--- Cleanup" # if tests succeed, back up node_modules folder diff --git a/.buildkite/linux/release-entrypoint b/.buildkite/linux/release-entrypoint new file mode 100755 index 000000000..496a1bd8e --- /dev/null +++ b/.buildkite/linux/release-entrypoint @@ -0,0 +1,18 @@ +#!/bin/bash + +set -e + +# move existing node_modules into tree +test -e /state/node_modules && mv /state/node_modules . + +if [ $(uname -m) = "aarch64" ]; then + ./tools/build +else + ./tools/bundle +fi + +rm -rf /state/dist +mv .bazel/out/dist /state + +# if tests succeed, back up node_modules folder +mv node_modules /state/ diff --git a/.buildkite/mac/entrypoint b/.buildkite/mac/entrypoint index 4eafed2c8..d0f05c149 100755 --- a/.buildkite/mac/entrypoint +++ b/.buildkite/mac/entrypoint @@ -15,7 +15,7 @@ test -e $STATE/node_modules && mv $STATE/node_modules . $BAZEL test $BUILDARGS ... echo "--- Building wheels" -$BAZEL build dist +$BAZEL build wheels # if tests succeed, back up node_modules folder mv node_modules $STATE/ diff --git a/.gitignore b/.gitignore index b59d2f5af..350f526f2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,10 @@ __pycache__ .DS_Store -/bazel-* anki.prof target -user.bazelrc +/user.bazelrc .dmypy.json -rust-project.json node_modules -.idea/ -.bazel +/.idea/ +/.bazel +/windows.bazelrc diff --git a/.vscode/settings.json b/.vscode/settings.json index 993214aef..53e657d93 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,19 +4,21 @@ "**/.git/objects/**": true, "**/.git/subtree-cache/**": true, "**/node_modules/*/**": true, - ".bazel/**": true + ".bazel/**": true, + "dist/**": true }, "python.analysis.extraPaths": ["./pylib"], "python.formatting.provider": "black", "rust-analyzer.cargo.runBuildScripts": true, "rust-analyzer.checkOnSave.allTargets": false, - "rust-analyzer.files.excludeDirs": [".bazel", "node_modules"], + "rust-analyzer.files.excludeDirs": [".bazel", "node_modules", "dist"], "rust-analyzer.procMacro.enable": true, // this formats 'use' blocks in a nicer way, but requires you to run // 'rustup install nightly'. "rust-analyzer.rustfmt.extraArgs": ["+nightly"], "search.exclude": { "**/node_modules": true, - ".bazel/**": true + ".bazel/**": true, + "dist/**": true } } diff --git a/BUILD.bazel b/BUILD.bazel index 79ba87f85..d6dc535ba 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -12,24 +12,23 @@ genrule( srcs = ["//:defs.bzl"], outs = ["buildinfo.txt"], cmd = select({ - "release": "$(location //scripts:buildinfo) $(location //:defs.bzl) bazel-out/stable-status.txt release > $@", - "//conditions:default": "$(location //scripts:buildinfo) $(location //:defs.bzl) bazel-out/stable-status.txt devel > $@", + "release": "$(location //tools:buildinfo) $(location //:defs.bzl) bazel-out/stable-status.txt release > $@", + "//conditions:default": "$(location //tools:buildinfo) $(location //:defs.bzl) bazel-out/stable-status.txt devel > $@", }), stamp = 1, tools = [ - "//scripts:buildinfo", + "//tools:buildinfo", ], visibility = ["//visibility:public"], ) pkg_tar( - name = "dist", + name = "wheels", srcs = [ "//pylib/anki:wheel", "//qt/aqt:wheel", ], mode = "0644", - package_dir = "bazel-dist", tags = ["manual"], ) diff --git a/Cargo.toml b/Cargo.toml index f63c742ec..e8a6b708f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ license = "AGPL-3.0-or-later" [workspace] members = ["rslib", "rslib/i18n", "rslib/i18n_helpers", "rslib/linkchecker", "pylib/rsbridge"] -exclude = ["qt/package"] +exclude = ["qt/bundle"] [lib] # dummy top level for tooling diff --git a/bazel.bat b/bazel.bat deleted file mode 100755 index 3875a5917..000000000 --- a/bazel.bat +++ /dev/null @@ -1,2 +0,0 @@ -@set PATH=c:\msys64\usr\bin;c:\python;%PATH% -\bazel\bazel --output_user_root=\bazel\anki %* diff --git a/cargo/README.md b/cargo/README.md index bec55c40e..1fe6acbf4 100644 --- a/cargo/README.md +++ b/cargo/README.md @@ -1,7 +1,7 @@ This folder integrates Rust crates.io fetching into Bazel. To add or update dependencies, ensure a local Rust environment is available -(eg `source scripts/cargo-env`), then install cargo-raze: +(eg `source tools/cargo-env`), then install cargo-raze: ``` cargo install cargo-raze --version 0.14.1 diff --git a/docs/development.md b/docs/development.md index 161202ea1..96eec4b94 100644 --- a/docs/development.md +++ b/docs/development.md @@ -56,13 +56,13 @@ Run the following command to create Python packages: On Mac/Linux: ``` -./scripts/build +./tools/build ``` On Windows: ``` -.\scripts\build.bat +.\tools\build.bat ``` The generated wheel paths will be printed as the build completes. @@ -71,7 +71,7 @@ Follow the steps [on the beta site](https://betas.ankiweb.net/#via-pypipip), but `pip install --upgrade --pre aqt[qt6]` line with something like: ``` -pyenv/bin/pip install --upgrade bazel-dist/*.whl +pyenv/bin/pip install --upgrade dist/*.whl ``` (On Windows you'll need to list out the filenames manually instead of using a wildcard). @@ -94,36 +94,14 @@ The build process will download about a gigabyte of dependencies, and produce about 6 gigabytes of temporary files. Once you've created the wheels, you can remove the other files to free up space if you wish. -- `bazel clean --expunge` will remove the generated files, freeing up most - of the space. The files are usualy stored in a subdir of ~/.cache/bazel/ -- `rm -rf ~/.cache/bazel*` will remove the cached downloads as well, requiring - them to be redownloaded if you want to build again. +- `bazel clean --expunge` will remove the generated Bazel files, freeing up + most of the space. The files are usualy stored in a subdir of + `~/.cache/bazel` or `\bazel\anki` +- `rm -rf ~/.cache/bazel*` or `\bazel\anki` will remove cached downloads as + well, requiring them to be redownloaded if you want to build again. - `rm -rf ~/.cache/{yarn,pip}` will remove the shared pip and yarn caches that other apps may be using as well. -## Building with Docker - -Linux users can build using the instructions above, or they can optionally [build -via Docker](../scripts/docker/README.md). - -On Linux, the generated Anki wheel will have a filename like: - - anki-2.1.49-cp39-abi3-manylinux_2_31_aarch64.whl - -The 2_31 part means that the wheel requires glibc 2.31 or later. If you have -built the wheel on a machine with an older glibc version, you will get an error -if you try to install the wheel: - - ERROR: No matching distribution found for anki - -To avoid the error, you can rename the .whl file to match your glibc version. - -If you still get the error, another possibility is that you are trying to -install with an old version of Python - 3.9 or later is required. - -On ARM Linux, please see the instructions in the pre-built wheels section about -a system PyQt, and the notes at the bottom of [Linux](./linux.md). - ## Running tests You can run all tests at once. From the top level project folder: @@ -151,7 +129,7 @@ On Mac/Linux, after installing 'fswatch', you can run mypy on each file save automatically with: ``` -./scripts/mypy-watch +./tools/mypy-watch ``` ## Fixing formatting @@ -233,6 +211,12 @@ in the collection2.log file will also be printed on stdout. If ANKI_PROFILE_CODE is set, Python profiling data will be written on exit. +# Binary Bundles + +Anki's official binary packages are created with `tools/bundle`. The script was created specifically +for the official builds, and is provided as-is; we are unfortunately not able to provide assistance with +any issues you may run into when using it. + ## Mixing development and study You may wish to create a separate profile with File>Switch Profile for use diff --git a/docs/docker/Dockerfile b/docs/docker/Dockerfile index cf41a9091..6682f70f6 100644 --- a/docs/docker/Dockerfile +++ b/docs/docker/Dockerfile @@ -17,12 +17,12 @@ RUN curl -fsSL https://github.com/bazelbuild/bazelisk/releases/download/v1.7.4/b WORKDIR /opt/anki COPY . . # Build python wheels. -RUN ./scripts/build +RUN ./tools/build # Install pre-compiled Anki. FROM python:${PYTHON_VERSION}-slim as installer WORKDIR /opt/anki/ -COPY --from=build /opt/anki/bazel-dist/ wheels/ +COPY --from=build /opt/anki/wheels/ wheels/ # Use virtual environment. RUN python -m venv venv \ && ./venv/bin/python -m pip install --no-cache-dir setuptools wheel \ @@ -35,29 +35,29 @@ ENV PATH=/opt/anki/venv/bin:$PATH # Install run-time dependencies. RUN apt-get update \ && apt-get install --yes --no-install-recommends \ - libasound2 \ - libdbus-1-3 \ - libfontconfig1 \ - libfreetype6 \ - libgl1 \ - libglib2.0-0 \ - libnss3 \ - libxcb-icccm4 \ - libxcb-image0 \ - libxcb-keysyms1 \ - libxcb-randr0 \ - libxcb-render-util0 \ - libxcb-shape0 \ - libxcb-xinerama0 \ - libxcb-xkb1 \ - libxcomposite1 \ - libxcursor1 \ - libxi6 \ - libxkbcommon0 \ - libxkbcommon-x11-0 \ - libxrandr2 \ - libxrender1 \ - libxtst6 \ + libasound2 \ + libdbus-1-3 \ + libfontconfig1 \ + libfreetype6 \ + libgl1 \ + libglib2.0-0 \ + libnss3 \ + libxcb-icccm4 \ + libxcb-image0 \ + libxcb-keysyms1 \ + libxcb-randr0 \ + libxcb-render-util0 \ + libxcb-shape0 \ + libxcb-xinerama0 \ + libxcb-xkb1 \ + libxcomposite1 \ + libxcursor1 \ + libxi6 \ + libxkbcommon0 \ + libxkbcommon-x11-0 \ + libxrandr2 \ + libxrender1 \ + libxtst6 \ && rm -rf /var/lib/apt/lists/* # Add non-root user. RUN useradd --create-home anki diff --git a/docs/docker/README.md b/docs/docker/README.md index f57232d5c..a9f233bf9 100644 --- a/docs/docker/README.md +++ b/docs/docker/README.md @@ -1,14 +1,17 @@ -# Anki in Docker +# Building and running Anki in Docker -This is an example of how you can build and run Anki from inside Docker. This -approach keeps everything inside Docker images, and sends the GUI to an X11 -display over TCP/IP. This approach keeps things tidy, so may be a good choice -for if you wish to build Anki irregularly and don't want to build it outside of -Docker. +This is an example Dockerfile contributed by an Anki user, which shows how Anki +can be both built and run from within a container. It works by streaming the GUI +over an X11 socket. -It takes longer to build after small changes however, so for development, if you -wish to use Docker, the approach [in the build -scripts](../../scripts/docker/README.md) may be more appropriate. +Building and running Anki within a container has the advantage of fully isolating +the build products and runtime dependencies from the rest of your system, but it is +a somewhat niche approach, with some downsides such as an inability to display natively +on Wayland, and a lack of integration with desktop icons/filetypes. But even if you +do not use this Dockerfile as-is, you may find it useful as a reference. + +Anki's Linux CI is also implemented with Docker, and the Dockerfiles for that may +also be useful for reference - they can be found in `.buildkite/linux/docker`. # Build the Docker image diff --git a/docs/editing.md b/docs/editing.md index 8ff351a6a..6000dac72 100644 --- a/docs/editing.md +++ b/docs/editing.md @@ -34,7 +34,7 @@ run 'rustup install nightly'. Code completion partly depends on files that are generated as part of the regular build process, so for things to work correctly, use './run' or -'scripts/build' prior to using code completion. +'tools/build' prior to using code completion. ## PyCharm/IntelliJ diff --git a/docs/linux.md b/docs/linux.md index 87ac069c5..08dd56d50 100644 --- a/docs/linux.md +++ b/docs/linux.md @@ -6,8 +6,9 @@ These instructions are written for Debian/Ubuntu; adjust for your distribution. Some extra notes have been provided by a forum member: https://forums.ankiweb.net/t/guide-how-to-build-and-run-anki-from-source-with-xubuntu-20-04/12865 -You can see a full list of requirements by looking at the [Dockerfiles](../scripts/docker/README.md) -in the scripts folder. +You can see a full list of buildtime and runtime requirements by looking at the +[Dockerfiles](../.buildkite/linux/docker/Dockerfile.amd64) used to build the +official releases. Glibc is required - if you are on a distro like Alpine that uses musl, you'll need to contribute fixes to the upstream [Rust rules](https://github.com/bazelbuild/rules_rust/issues/390), @@ -101,7 +102,7 @@ to compile, but will mean Anki will run considerably slower. To run Anki in optimized mode, use: ``` -./scripts/runopt +./tools/runopt ``` ## ARM64 support @@ -122,7 +123,7 @@ Note: the trailing slash at the end is required. There are a few things to be aware of: -- You should use ./run and not scripts/run-qt5\*, even if your system libraries are Qt5. +- You should use ./run and not tools/run-qt5\*, even if your system libraries are Qt5. - If your system libraries are Qt5, when creating an aqt wheel, the wheel will not work on Qt6 environments. - Some of the tests only work with PyQt6, and will show failures when run under PyQt5. diff --git a/docs/mac.md b/docs/mac.md index 0dd71e3fe..6bcce0db2 100644 --- a/docs/mac.md +++ b/docs/mac.md @@ -7,14 +7,12 @@ Install the latest XCode from the App Store. Open it at least once so it installs the command line tools. -**Homebrew & Homebrew Deps**: - -Install Homebrew from - -Then install Bazel: +**Bazelisk**: ``` -$ brew install bazelisk +$ curl -L https://github.com/bazelbuild/bazelisk/releases/download/v1.11.0/bazelisk-darwin -o bazel \ + && chmod +x bazel \ + && sudo mv bazel /usr/local/bin ``` **Python**: @@ -61,7 +59,7 @@ to compile, but will mean Anki will run considerably slower. To run Anki in optimized mode, use: ``` -./scripts/runopt +./tools/runopt ``` ## More diff --git a/docs/syncserver.md b/docs/syncserver.md index 23c2afe34..aa23713a6 100644 --- a/docs/syncserver.md +++ b/docs/syncserver.md @@ -26,7 +26,7 @@ Things to be aware of: If you run Anki from git, you can run a sync server with: ``` -./scripts/runopt --syncserver +./tools/runopt --syncserver ``` ## From a packaged build diff --git a/docs/windows.md b/docs/windows.md index 42c804694..f123860b3 100644 --- a/docs/windows.md +++ b/docs/windows.md @@ -74,7 +74,7 @@ to compile, but will mean Anki will run considerably slower. To run Anki in optimized mode, use: ``` -.\scripts\runopt +.\tools\runopt ``` ## More @@ -82,7 +82,7 @@ To run Anki in optimized mode, use: For info on running tests, building wheels and so on, please see [Development](./development.md). -Note that where the instructions on that page say "bazel", please use ".\bazel" -instead. This runs bazel.bat inside the Anki source folder, instead of -calling Bazel directly. This takes care of setting up the path and output folder -correctly, which avoids issues with long path names. +When you run a script like .\run, MSYS and bazel will automatically be added to +the path, and Bazel will be configured to output build products into +\bazel\anki. If you want to directly invoke bazel before having run any of the +.bat files in this repo, please run tools\setup-env first. diff --git a/pyrightconfig.json b/pyrightconfig.json index e3fbcd57b..e58a21fb2 100644 --- a/pyrightconfig.json +++ b/pyrightconfig.json @@ -1,3 +1,3 @@ { - "exclude": ["**/node_modules", ".bazel"] + "exclude": ["**/node_modules", ".bazel", "dist"] } diff --git a/python/licenses.sh b/python/licenses.sh index 273edf99e..a7985a429 100755 --- a/python/licenses.sh +++ b/python/licenses.sh @@ -14,10 +14,10 @@ python -m venv venv ../bazel.bat --output_base=/c/bazel/anki/base build //pylib/anki:wheel //qt/aqt:wheel # install wheels, bound to constrained versions -venv/scripts/pip install -c requirements.txt ../bazel-bin/pylib/anki/*.whl ../bazel-bin/qt/aqt/*.whl pip-licenses +venv/tools/pip install -c requirements.txt ../bazel-bin/pylib/anki/*.whl ../bazel-bin/qt/aqt/*.whl pip-licenses # dump licenses - ptable is a pip-licenses dep -venv/scripts/pip-licenses --format=json --ignore-packages anki aqt pip-license PTable > licenses.json +venv/tools/pip-licenses --format=json --ignore-packages anki aqt pip-license PTable > licenses.json # clean up rm -rf venv diff --git a/qt/package/.cargo/config b/qt/bundle/.cargo/config similarity index 100% rename from qt/package/.cargo/config rename to qt/bundle/.cargo/config diff --git a/qt/package/Cargo.lock b/qt/bundle/Cargo.lock similarity index 100% rename from qt/package/Cargo.lock rename to qt/bundle/Cargo.lock diff --git a/qt/package/Cargo.toml b/qt/bundle/Cargo.toml similarity index 95% rename from qt/package/Cargo.toml rename to qt/bundle/Cargo.toml index fcc42cbe9..ee591b411 100644 --- a/qt/package/Cargo.toml +++ b/qt/bundle/Cargo.toml @@ -11,6 +11,7 @@ libc-stdhandle = "=0.1.0" [dependencies.pyembed] git = "https://github.com/ankitects/PyOxidizer.git" +# when changing this, pyoxidizer in /repos.bzl needs to be updated as well rev = "eb26dd7cd1290de6503869f3d719eabcec45e139" default-features = false diff --git a/qt/bundle/build.py b/qt/bundle/build.py new file mode 100644 index 000000000..99d253b31 --- /dev/null +++ b/qt/bundle/build.py @@ -0,0 +1,395 @@ +# Copyright: Ankitects Pty Ltd and contributors +# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + + +from __future__ import annotations + +import glob +import os +import platform +import re +import shutil +import subprocess +import sys +from pathlib import Path + +is_win = sys.platform == "win32" +is_mac = sys.platform == "darwin" + +workspace = Path(sys.argv[1]) +bazel_external = Path(sys.argv[2]) + + +def with_exe_extension(program: str) -> str: + if is_win: + return program + ".exe" + else: + return program + + +output_root = workspace / ".bazel" / "out" / "build" +dist_folder = output_root / ".." / "dist" +venv = output_root / f"venv-{platform.machine()}" +build_folder = output_root / f"build-{platform.machine()}" +cargo_target = output_root / f"target-{platform.machine()}" +artifacts = output_root / "artifacts" +pyo3_config = output_root / "pyo3-build-config-file.txt" +pyoxidizer_folder = bazel_external / "pyoxidizer" +arm64_protobuf_wheel = bazel_external / "protobuf_wheel_mac_arm64" +pyoxidizer_binary = cargo_target / "release" / with_exe_extension("pyoxidizer") + +for path in dist_folder.glob("*.zst"): + path.unlink() + +os.environ["PYOXIDIZER_ARTIFACT_DIR"] = str(artifacts) +os.environ["PYOXIDIZER_CONFIG"] = str(Path(os.getcwd()) / "pyoxidizer.bzl") +os.environ["CARGO_TARGET_DIR"] = str(cargo_target) + +# OS-specific things +pyqt5_folder_name = "pyqt515" +pyqt6_folder_path = bazel_external / "pyqt6" / "PyQt6" +extra_linux_deps = bazel_external / "bundle_extras_linux_amd64" +extra_qt5_linux_plugins = extra_linux_deps / "qt5" +extra_qt6_linux_plugins = extra_linux_deps / "qt6" +is_lin = False +arm64_linux = arm64_mac = False +if is_win: + os.environ["TARGET"] = "x86_64-pc-windows-msvc" +elif sys.platform.startswith("darwin"): + if platform.machine() == "arm64": + arm64_mac = True + pyqt5_folder_name = None + os.environ["TARGET"] = "aarch64-apple-darwin" + os.environ["MACOSX_DEPLOYMENT_TARGET"] = "11.0" + else: + pyqt5_folder_name = "pyqt514" + os.environ["TARGET"] = "x86_64-apple-darwin" + os.environ["MACOSX_DEPLOYMENT_TARGET"] = "10.13" +else: + is_lin = True + if platform.machine() == "x86_64": + os.environ["TARGET"] = "x86_64-unknown-linux-gnu" + else: + os.environ["TARGET"] = "aarch64-unknown-linux-gnu" + pyqt5_folder_name = None + pyqt6_folder_path = None + arm64_linux = True + +if is_win: + python_bin_folder = venv / "scripts" + os.environ["PATH"] += rf";{os.getenv('USERPROFILE')}\.cargo\bin" + cargo_features = "build-mode-prebuilt-artifacts" +else: + python_bin_folder = venv / "bin" + # PyOxidizer build depends on a system-installed version of Python, + # as the standalone build does not have its config set up properly, + # leading to "directory not found for option '-L/install/lib'". + # On macOS, after installing a system Python in /usr/local/bin, + # make sure /usr/local/bin/python3 is symlinked to /usr/local/bin/python. + os.environ["PATH"] = ":".join( + ["/usr/local/bin", f"{os.getenv('HOME')}/.cargo/bin", os.getenv("PATH")] + ) + cargo_features = "build-mode-prebuilt-artifacts" + if not is_mac or arm64_mac: + cargo_features += " global-allocator-jemalloc allocator-jemalloc" + +python = python_bin_folder / with_exe_extension("python") +pip = python_bin_folder / with_exe_extension("pip") +artifacts_in_build = ( + build_folder / os.getenv("TARGET") / "release" / "resources" / "extra_files" +) + + +def build_pyoxidizer(): + pyoxidizer_folder_mtime = pyoxidizer_folder.stat().st_mtime + if ( + pyoxidizer_binary.exists() + and pyoxidizer_binary.stat().st_mtime == pyoxidizer_folder_mtime + ): + # avoid recompiling if pyoxidizer folder has not changed + return + subprocess.run( + [ + "cargo", + "build", + "--release", + ], + cwd=pyoxidizer_folder, + check=True, + ) + os.utime(pyoxidizer_binary, (pyoxidizer_folder_mtime, pyoxidizer_folder_mtime)) + + +def install_wheels_into_venv(): + # Pip's handling of hashes is somewhat broken. It spots the hashes in the constraints + # file and forces all files to have a hash. We can manually hash our generated wheels + # and pass them in with hashes, but it still breaks, because the 'protobuf>=3.17' + # specifier in the pylib wheel is not allowed. Nevermind that a specific version is + # included in the constraints file we pass along! To get things working, we're + # forced to strip the hashes out before installing. This should be safe, as the files + # have already been validated as part of the build process. + constraints = output_root / "deps_without_hashes.txt" + with open(workspace / "python" / "requirements.txt") as f: + buf = f.read() + with open(constraints, "w") as f: + extracted = re.findall("^(\S+==\S+) ", buf, flags=re.M) + extracted = [ + line for line in extracted if not arm64_mac or "protobuf" not in line + ] + f.write("\n".join(extracted)) + # pypi protobuf lacks C extension on darwin-arm64, so we have to use a version + # we built ourselves + if arm64_mac: + wheels = glob.glob(str(arm64_protobuf_wheel / "*.whl")) + subprocess.run( + [pip, "install", "--upgrade", "-c", constraints, *wheels], check=True + ) + # install wheels and upgrade any deps + wheels = glob.glob(str(workspace / ".bazel" / "out" / "dist" / "*.whl")) + subprocess.run( + [pip, "install", "--upgrade", "-c", constraints, *wheels], check=True + ) + # always reinstall our wheels + subprocess.run( + [pip, "install", "--force-reinstall", "--no-deps", *wheels], check=True + ) + + +def build_artifacts(): + if os.path.exists(artifacts): + shutil.rmtree(artifacts) + if os.path.exists(artifacts_in_build): + shutil.rmtree(artifacts_in_build) + + subprocess.run( + [ + pyoxidizer_binary, + "--system-rust", + "run-build-script", + "build.rs", + "--var", + "venv", + venv, + "--var", + "build", + build_folder, + ], + check=True, + env=os.environ + | dict( + CARGO_MANIFEST_DIR=".", + OUT_DIR=str(artifacts), + PROFILE="release", + PYO3_PYTHON=str(python), + ), + ) + + existing_config = None + if os.path.exists(pyo3_config): + with open(pyo3_config) as f: + existing_config = f.read() + + with open(artifacts / "pyo3-build-config-file.txt") as f: + new_config = f.read() + + # avoid bumping mtime, which triggers crate recompile + if new_config != existing_config: + with open(pyo3_config, "w") as f: + f.write(new_config) + + +def build_pkg(): + subprocess.run( + [ + "cargo", + "build", + "--release", + "--no-default-features", + "--features", + cargo_features, + ], + check=True, + env=os.environ | dict(PYO3_CONFIG_FILE=str(pyo3_config)), + ) + + +def adj_path_for_windows_rsync(path: Path) -> str: + if not is_win: + return str(path) + + path = path.absolute() + rest = str(path)[2:].replace("\\", "/") + return f"/{path.drive[0]}{rest}" + + +def merge_into_dist(output_folder: Path, pyqt_src_path: Path | None): + if output_folder.exists(): + shutil.rmtree(output_folder) + output_folder.mkdir(parents=True) + # PyQt + if pyqt_src_path and not is_mac: + subprocess.run( + [ + "rsync", + "-a", + "--delete", + "--exclude-from", + "qt.exclude", + adj_path_for_windows_rsync(pyqt_src_path), + adj_path_for_windows_rsync(output_folder / "lib") + "/", + ], + check=True, + ) + if is_lin: + if "PyQt5" in str(pyqt_src_path): + src = extra_qt5_linux_plugins + dest = output_folder / "lib" / "PyQt5" / "Qt5" / "plugins" + else: + src = extra_qt6_linux_plugins + dest = output_folder / "lib" / "PyQt6" / "Qt6" / "plugins" + subprocess.run( + ["rsync", "-a", str(src) + "/", str(dest) + "/"], + check=True, + ) + + # Executable and other resources + resources = [ + adj_path_for_windows_rsync( + cargo_target / "release" / ("anki.exe" if is_win else "anki") + ), + adj_path_for_windows_rsync(artifacts_in_build) + "/", + ] + if is_lin: + resources.append("lin/") + + subprocess.run( + [ + "rsync", + "-a", + "--delete", + "--exclude", + "PyQt6", + "--exclude", + "PyQt5", + *resources, + adj_path_for_windows_rsync(output_folder) + "/", + ], + check=True, + ) + # Ensure all files are world-readable + if not is_win: + subprocess.run(["chmod", "-R", "a+r", output_folder]) + + +def anki_version() -> str: + with open(workspace / "defs.bzl") as fobj: + data = fobj.read() + return re.search('^anki_version = "(.*)"$', data, re.MULTILINE).group(1) + + +def annotated_linux_folder_name(variant: str) -> str: + components = ["anki", anki_version(), "linux", variant] + return "-".join(components) + + +def annotated_mac_dmg_name(variant: str) -> str: + if platform.machine() == "arm64": + arch = "apple" + else: + arch = "intel" + components = ["anki", anki_version(), "mac", arch, variant] + return "-".join(components) + + +def build_bundle(src_path: Path, variant: str) -> None: + if is_lin: + print("--- Build tarball") + build_tarball(src_path, variant) + elif is_mac: + print("--- Build app bundle") + build_app_bundle(src_path, variant) + + +def build_app_bundle(src_path: Path, variant: str) -> None: + if arm64_mac: + variant = "qt6_arm64" + else: + variant = f"{variant}_amd64" + subprocess.run( + ["cargo", "run", variant, src_path, anki_version(), bazel_external], + check=True, + cwd=workspace / "qt" / "bundle" / "mac", + ) + variant_path = src_path.parent / "app" / variant + if os.getenv("NOTARIZE_USER"): + subprocess.run( + ["python", "mac/notarize.py", "upload", variant_path], + check=True, + ) + # note down the dmg name for later + open(variant_path / "dmg_name", "w").write( + annotated_mac_dmg_name(variant[0:3]) + ".dmg" + ) + + +def build_tarball(src_path: Path, variant: str) -> None: + if not is_lin: + return + dest_path = src_path.with_name(annotated_linux_folder_name(variant)) + if dest_path.exists(): + shutil.rmtree(dest_path) + os.rename(src_path, dest_path) + print("compress", dest_path.name, "...") + subprocess.run( + [ + "tar", + "--zstd", + "-cf", + dist_folder / (dest_path.name + ".tar.zst"), + dest_path.name, + ], + check=True, + env=dict(ZSTD_CLEVEL="9"), + cwd=dest_path.parent, + ) + + +def build_windows_installers() -> None: + subprocess.run( + [ + "cargo", + "run", + output_root, + bazel_external, + Path(__file__).parent, + anki_version(), + ], + check=True, + cwd=workspace / "qt" / "bundle" / "win", + ) + + +print("--- Build PyOxidizer") +build_pyoxidizer() +print("--- Install wheels into venv") +install_wheels_into_venv() +print("--- Build PyOxidizer artifacts") +build_artifacts() +print("--- Build Anki binary") +build_pkg() +print("--- Copy binary+resources into folder (Qt6)") +merge_into_dist(output_root / "std", pyqt6_folder_path) +build_bundle(output_root / "std", "qt6") +if pyqt5_folder_name: + print("--- Copy binary+resources into folder (Qt5)") + merge_into_dist(output_root / "alt", bazel_external / pyqt5_folder_name / "PyQt5") + build_bundle(output_root / "alt", "qt5") + +if is_win: + build_windows_installers() + +if is_mac: + print("outputs are in .bazel/out/build/{std,alt}") + print("dmg can be created with mac/finalize.py dmg") +else: + print("outputs are in .bazel/out/dist/") diff --git a/qt/package/build.rs b/qt/bundle/build.rs similarity index 98% rename from qt/package/build.rs rename to qt/bundle/build.rs index 75a6d64c4..000dbd61a 100644 --- a/qt/package/build.rs +++ b/qt/bundle/build.rs @@ -104,6 +104,6 @@ fn main() { // embed manifest and icon if target_family == "windows" { - embed_resource::compile("anki-manifest.rc"); + embed_resource::compile("win/anki-manifest.rc"); } } diff --git a/qt/package/lin/README.md b/qt/bundle/lin/README.md similarity index 100% rename from qt/package/lin/README.md rename to qt/bundle/lin/README.md diff --git a/qt/package/lin/anki.1 b/qt/bundle/lin/anki.1 similarity index 100% rename from qt/package/lin/anki.1 rename to qt/bundle/lin/anki.1 diff --git a/qt/package/lin/anki.desktop b/qt/bundle/lin/anki.desktop similarity index 100% rename from qt/package/lin/anki.desktop rename to qt/bundle/lin/anki.desktop diff --git a/qt/package/lin/anki.png b/qt/bundle/lin/anki.png similarity index 100% rename from qt/package/lin/anki.png rename to qt/bundle/lin/anki.png diff --git a/qt/package/lin/anki.xml b/qt/bundle/lin/anki.xml similarity index 100% rename from qt/package/lin/anki.xml rename to qt/bundle/lin/anki.xml diff --git a/qt/package/lin/anki.xpm b/qt/bundle/lin/anki.xpm similarity index 100% rename from qt/package/lin/anki.xpm rename to qt/bundle/lin/anki.xpm diff --git a/qt/package/lin/install.sh b/qt/bundle/lin/install.sh similarity index 100% rename from qt/package/lin/install.sh rename to qt/bundle/lin/install.sh diff --git a/qt/package/lin/uninstall.sh b/qt/bundle/lin/uninstall.sh similarity index 100% rename from qt/package/lin/uninstall.sh rename to qt/bundle/lin/uninstall.sh diff --git a/qt/bundle/mac/Cargo.lock b/qt/bundle/mac/Cargo.lock new file mode 100644 index 000000000..3d9f6e9c6 --- /dev/null +++ b/qt/bundle/mac/Cargo.lock @@ -0,0 +1,204 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "anyhow" +version = "1.0.53" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94a45b455c14666b85fc40a019e8ab9eb75e3a124e05494f5397122bc9eb06e0" + +[[package]] +name = "apple-bundles" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48681b45ff6789616b243c0758d6d97639951f937ccc0ea635363505d72cdec3" +dependencies = [ + "anyhow", + "plist", + "tugger-file-manifest", + "walkdir", +] + +[[package]] +name = "autocfg" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" + +[[package]] +name = "base64" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" + +[[package]] +name = "glob" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" + +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" + +[[package]] +name = "indexmap" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" +dependencies = [ + "autocfg", + "hashbrown", +] + +[[package]] +name = "itoa" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0005d08a8f7b65fb8073cb697aa0b12b631ed251ce73d862ce50eeb52ce3b50" + +[[package]] +name = "line-wrap" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" +dependencies = [ + "safemem", +] + +[[package]] +name = "makeapp" +version = "0.1.0" +dependencies = [ + "anyhow", + "apple-bundles", + "glob", + "lazy_static", + "plist", + "tugger-file-manifest", + "walkdir", +] + +[[package]] +name = "num_threads" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97ba99ba6393e2c3734791401b66902d981cb03bf190af674ca69949b6d5fb15" +dependencies = [ + "libc", +] + +[[package]] +name = "plist" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd39bc6cdc9355ad1dc5eeedefee696bb35c34caf21768741e81826c0bbd7225" +dependencies = [ + "base64", + "indexmap", + "line-wrap", + "serde", + "time", + "xml-rs", +] + +[[package]] +name = "safemem" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.130" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913" + +[[package]] +name = "time" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "004cbc98f30fa233c61a38bc77e96a9106e65c88f2d3bef182ae952027e5753d" +dependencies = [ + "itoa", + "libc", + "num_threads", +] + +[[package]] +name = "tugger-file-manifest" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29e91ac69050080a0a9fd50af05da5baa8562347ca7b8909f8ed3adbc6ef026f" + +[[package]] +name = "walkdir" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +dependencies = [ + "same-file", + "winapi", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "xml-rs" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3" diff --git a/qt/bundle/mac/Cargo.toml b/qt/bundle/mac/Cargo.toml new file mode 100644 index 000000000..97355bc25 --- /dev/null +++ b/qt/bundle/mac/Cargo.toml @@ -0,0 +1,15 @@ +[package] +edition = "2021" +name = "makeapp" +version = "0.1.0" +authors = ["Ankitects Pty Ltd and contributors"] +license = "AGPL-3.0-or-later" + +[dependencies] +anyhow = "1.0.53" +glob = "0.3.0" +plist = "1.3.1" +walkdir = "2.3.2" +apple-bundles= "0.6.0" +tugger-file-manifest= "0.6.0" +lazy_static = "1.4.0" diff --git a/qt/bundle/mac/dmg/anki-logo-bg.png b/qt/bundle/mac/dmg/anki-logo-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..84f165653534f5dcb3c10d86d313364646a0344d GIT binary patch literal 95211 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 s(ZEgQta$ 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 ALI3~& literal 0 HcmV?d00001 diff --git a/qt/bundle/mac/dmg/build.sh b/qt/bundle/mac/dmg/build.sh new file mode 100755 index 000000000..e90b0a814 --- /dev/null +++ b/qt/bundle/mac/dmg/build.sh @@ -0,0 +1,42 @@ +# Copyright: Ankitects Pty Ltd and contributors +# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +set -e + +# base folder with Anki.app in it +dist=$1 +dmg_path=$2 +script_folder=$(dirname $0) + +if [ -d "/Volumes/Anki" ] +then + echo "You already have one Anki mounted, unmount it first!" + exit 1 +fi + +echo "bundling..." +ln -s /Applications $dist/Applications +mkdir $dist/.background +cp ${script_folder}/anki-logo-bg.png $dist/.background +cp ${script_folder}/dmg_ds_store $dist/.DS_Store + +# create a writable dmg first, and modify its layout with AppleScript +hdiutil create -attach -ov -format UDRW -fs HFS+ -volname Anki -srcfolder $dist -o /tmp/Anki-rw.dmg +# announce before making the window appear +say "applescript" +open /tmp/Anki-rw.dmg +sleep 2 +open ${script_folder}/set-dmg-settings.app +sleep 2 +hdiutil detach "/Volumes/Anki" +sleep 1 +if [ -d "/Volumes/Anki" ] +then + echo "drive did not detach" + exit 1 +fi + +# convert it to a read-only image +rm -rf $dmg_path +hdiutil convert /tmp/Anki-rw.dmg -ov -format ULFO -o $dmg_path +rm -rf /tmp/Anki-rw.dmg $dist diff --git a/qt/bundle/mac/dmg/dmg_ds_store b/qt/bundle/mac/dmg/dmg_ds_store new file mode 100644 index 0000000000000000000000000000000000000000..632e1a8842e3b739fe1d86c77d7c0bb41d9dc222 GIT binary patch literal 12292 zcmeI0&2Jk;6u{ra+hmyY_CJRn|M! z?mD3j28$ceKY;^Lx%Up2N)ZZ24v13`haM0o5E7>f!J7{!Zq0{4id4ajH1l5G%zOLh zx8s@20szTY>`8z@0MM~AX>?%o2Zi;s+EiMkJPic!%w|RZlXGA6s#XzD1pb!<*#2N*WilgWO-R0VV8gEfC^aXzz>yZ^z z!mJhWp37FWi9K9jq0~ctU5>uy+RavyA)t zz)14dg%#_a>bvjNM9xJ1?xE|6IlPa56G*y+Z8-t$1MvZ3V&Xd^aX5wcj?S*`gwfO6 z*FW&gvx7q?PYn-0pELUMR$;3cuvxuEJsM=ainHn#sK4yqc5+7lQTJlWDmrtXYlW+k z^L8Zqdyo3L`-RE}KghgY2-M7d@Kf#nyS?5!J~m3O=)KTD&CmU2dd`(o~w1BdzXxXWd$;QGbU z3qJ{NqZzx#wWXex`%J+Ww^D7+-*UOVxjERoJGAf$u$3}oSU7InqeVKNFDA==v3dC4 zS%wexKD}5U^cxm{F1eZ4tN8aKi%MzZqBnC zMlg~EK5T&tBGz%pqf9~>dy0^Nc07^h8rES1CDRiX{Qi zPi!_1Y;jhdml*zthMVTXJTo_x{f9q(hFk&K_dn8^Z_+OP3!Wn4hii`x_HMptJKKS6 zhg*Vc+-!IpQ{(frfT{XXD5>s0ywZ+#LG_a_woxb0$uh!<-|%ifz*&qnP9l9J#D$m+ zBdfBpkv@!FE#=V663rOFG2+4=AiKqMm%%jI?9yTSyrVhh$ zrh-c!kQBfG=F`R246CD=m)NXOsV{G%O1lHXl6|sb$A&rU=BIV zr3!c8F5H99;Y;`yzK35(8|fp%&z<8eLy z&-dHL*K6Sqr@ZLVf;>Lh|6g~oevP$_y(BE1xEyd4{^VSI{T9A_7eV+CKJG{MaqL%E zTcscKRprBz>2_AOMqze%kx=GuYQm{nJN4C%*1*VD=TbV zO-Sy74I9Gjnw0W7&TXc&Wu&YL$z9QhyQ1W-D23~>eF#wJzdHZf0#rp2Py`eKML-cy Z1QY>9KoL*`6ahs*5l{paf&Vyx-vKhi@M8b~ literal 0 HcmV?d00001 diff --git a/qt/bundle/mac/dmg/set-dmg-settings.app/Contents/Info.plist b/qt/bundle/mac/dmg/set-dmg-settings.app/Contents/Info.plist new file mode 100644 index 000000000..068ebc435 --- /dev/null +++ b/qt/bundle/mac/dmg/set-dmg-settings.app/Contents/Info.plist @@ -0,0 +1,74 @@ + + + + + CFBundleAllowMixedLocalizations + + CFBundleDevelopmentRegion + English + CFBundleExecutable + applet + CFBundleIconFile + applet + CFBundleIdentifier + com.apple.ScriptEditor.id.set-dmg-settings + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + set-dmg-settings + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + aplt + LSMinimumSystemVersionByArchitecture + + x86_64 + 10.6 + + LSRequiresCarbon + + NSAppleEventsUsageDescription + This script needs to control other applications to run. + NSAppleMusicUsageDescription + This script needs access to your music to run. + NSCalendarsUsageDescription + This script needs access to your calendars to run. + NSCameraUsageDescription + This script needs access to your camera to run. + NSContactsUsageDescription + This script needs access to your contacts to run. + NSHomeKitUsageDescription + This script needs access to your HomeKit Home to run. + NSMicrophoneUsageDescription + This script needs access to your microphone to run. + NSPhotoLibraryUsageDescription + This script needs access to your photos to run. + NSRemindersUsageDescription + This script needs access to your reminders to run. + NSSiriUsageDescription + This script needs access to Siri to run. + NSSystemAdministrationUsageDescription + This script needs access to administer this system to run. + WindowState + + bundleDividerCollapsed + + bundlePositionOfDivider + 0.0 + dividerCollapsed + + eventLogLevel + 2 + name + ScriptWindowState + positionOfDivider + 388 + savedFrame + 1308 314 700 672 0 0 2880 1597 + selectedTab + result + + + diff --git a/qt/bundle/mac/dmg/set-dmg-settings.app/Contents/MacOS/applet b/qt/bundle/mac/dmg/set-dmg-settings.app/Contents/MacOS/applet new file mode 100755 index 0000000000000000000000000000000000000000..42a48160721fd29b3ed0798e967aaa21278fa7a1 GIT binary patch literal 60256 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 literal 0 HcmV?d00001 diff --git a/qt/bundle/mac/dmg/set-dmg-settings.app/Contents/PkgInfo b/qt/bundle/mac/dmg/set-dmg-settings.app/Contents/PkgInfo new file mode 100644 index 000000000..3253614c4 --- /dev/null +++ b/qt/bundle/mac/dmg/set-dmg-settings.app/Contents/PkgInfo @@ -0,0 +1 @@ +APPLaplt \ No newline at end of file diff --git a/qt/bundle/mac/dmg/set-dmg-settings.app/Contents/Resources/Scripts/main.scpt b/qt/bundle/mac/dmg/set-dmg-settings.app/Contents/Resources/Scripts/main.scpt new file mode 100644 index 0000000000000000000000000000000000000000..7852f031852d264376187aa9761a4f4eeef00133 GIT binary patch literal 1364 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 Zhadx8W1U(p$H(r@-gm&S@OCr={XZGNphN%w literal 0 HcmV?d00001 diff --git a/qt/bundle/mac/dmg/set-dmg-settings.app/Contents/Resources/applet.rsrc b/qt/bundle/mac/dmg/set-dmg-settings.app/Contents/Resources/applet.rsrc new file mode 100644 index 0000000000000000000000000000000000000000..868773cbb1a0aebdf2dc1e17258d476d349be0cf GIT binary patch literal 362 zcmZQzU}RumU{nDTAnXRjBMnG7;PWvPND?)S1c4&zAYmC`crg|y7gqt + + + + files + + Resources/Scripts/main.scpt + + BbcHsL7M8GleNWeDVHOZVEfpSUQ= + + Resources/applet.icns + + sINd6lbiqHD5dL8c6u79cFvVXhw= + + Resources/applet.rsrc + + 7JOq2AjTwoRdSRoaun87Me8EbB4= + + Resources/description.rtfd/TXT.rtf + + HZLGvORC/avx2snxaACit3D0IJY= + + + files2 + + Resources/Scripts/main.scpt + + hash + + BbcHsL7M8GleNWeDVHOZVEfpSUQ= + + hash2 + + T6pvOxUGXyc+qwn+hdv1xPzvnYM+qo9uxLLWUkIFq3Q= + + + Resources/applet.icns + + hash + + sINd6lbiqHD5dL8c6u79cFvVXhw= + + hash2 + + J7weZ6vlnv9r32tS5HFcyuPXl2StdDnfepLxAixlryk= + + + Resources/applet.rsrc + + hash + + 7JOq2AjTwoRdSRoaun87Me8EbB4= + + hash2 + + WvL2TvNeKuY64Sp86Cyvcmiood5xzbJmcAH3R0+gIc8= + + + Resources/description.rtfd/TXT.rtf + + hash + + HZLGvORC/avx2snxaACit3D0IJY= + + hash2 + + XuDTd2OPOPGq65NBuXy6WuqU+bODdg+oDmBFhsZTaVU= + + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/qt/bundle/mac/dmg/set-dmg-settings.scpt b/qt/bundle/mac/dmg/set-dmg-settings.scpt new file mode 100644 index 0000000000000000000000000000000000000000..ac8d1c2f524592910bd7eaa3a4240011e67de591 GIT binary patch literal 1276 zcmb_cNpI9h6#g7HbW=%sV+(t@AkhjjToCG82IvzgNKwvAwcE4|PP=7y97W=gpTJ=* zbL4>LG(!9xmP`_|udD+EW*%P|qT~W6s^#+YtM7ept*+^~F*-ETe`)a2Mf2nVWC|kk zKP+@vB7j91d48f$L>FxN4>mFuUno+tf6=H(?0$ehf|jQj&7)AB-|qg$R8khT8EF}7d4ZVp`?VZEROKQ`3XWtPgy z-irJ&9Zmko*>BgFCYP%Dt%es3vU)#){#0)`_5!|rtA2NUuNFO5!^j))qQrN-nDL!= zsw0ze#~Z8O@aqxdtnLL=cY|`w033lr4L(|Ez(a&VXten&us2!UqQ=JKFSE1DjDxTonCKN-n^A7VkMqdEdV-!3dMFLi;XU|D-tSCIBXoCXteBQu$va~_ z(P}7pi(I$oCKJBfN|d~zzMXgzN?udy)Dtqjq7-)$->QzjqIb9X=%V# zx(uencSy&~?-{G_a(vu?6ujXgQ|WBcZ+}TX;L%JO4=b~CP8okz?)JbQuFMaVaeAS$ zI8YnDQ&~#)W$r7hYwH_HWpki5YA{;^*MCQG_%@1V9M&jRG|EJ29Hew81!;3|#34lE xXnNMCaV$s(IIeNR(KwlEPwi+=Yn=J6HL>&$rxA^g7NBD{;$K + + + + com.apple.security.cs.disable-executable-page-protection + + com.apple.security.device.audio-input + + com.apple.security.cs.allow-dyld-environment-variables + + com.apple.security.cs.disable-library-validation + + + diff --git a/qt/bundle/mac/finalize.py b/qt/bundle/mac/finalize.py new file mode 100644 index 000000000..d438f1011 --- /dev/null +++ b/qt/bundle/mac/finalize.py @@ -0,0 +1,60 @@ +# Copyright: Ankitects Pty Ltd and contributors +# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +# These steps are outsite bundle/build.py, so that multiple builds can be done +# in sequence without blocking on Apple's notarization, and so that the final +# dmg build can be done in bulk at the end. + +import os +import subprocess +import sys +from pathlib import Path + +output_root = Path(__file__).parent / "../../../.bazel/out" +dist_folder = output_root / "dist" +apps = output_root / "build" / "app" +variants = ["qt6_arm64", "qt6_amd64", "qt5_amd64"] + + +def staple_apps() -> None: + for variant in variants: + variant_base = apps / variant + if variant_base.exists(): + if os.getenv("NOTARIZE_USER"): + subprocess.run( + [ + "python", + Path(__file__).with_name("notarize.py"), + "staple", + variant_base, + ], + check=True, + ) + else: + print("skip missing", variant_base) + + +def build_dmgs() -> None: + for variant in variants: + variant_base = apps / variant + if variant_base.exists(): + dmg_name_path = variant_base / "dmg_name" + dmg_name = open(dmg_name_path).read() + dmg_name_path.unlink() + subprocess.run( + [ + "bash", + Path(__file__).with_name("dmg") / "build.sh", + variant_base, + dist_folder / dmg_name, + ], + check=True, + ) + else: + print("skip missing", variant_base) + + +if sys.argv[1] == "staple": + staple_apps() +elif sys.argv[1] == "dmg": + build_dmgs() diff --git a/qt/bundle/mac/icon/Assets.car b/qt/bundle/mac/icon/Assets.car new file mode 100644 index 0000000000000000000000000000000000000000..d3803495b85ab9b80b1120129fef76617d3d0244 GIT binary patch literal 103576 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
P}Dw`D2^YR(x`rD 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 ~@d?vlPea0_I({ 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«oAkI@DyJa2^cR6W6 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

*k*2vRg+S4j`Ab8)^ArW;{1OkKZbdG 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� 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ð0S`P}?!g#JSugbX% zizot%m1qd6)GKVd`qT#w>qJ$~7b-+tz4yHT=DX1YU$4}P3vVmbPOVMDDa9-8+| z`6{3yP=stbNvkGP(f5kKi?n%yV2Sj+8v>-=mJr(LZ3vuwydu6-Bg_>Q!PVNG%kGf* zMVkK*g_b*XrE_>gVqMcnfh|;f#0o*!=O`uM{owt(I0L~C>);T5PxyEMyuuSRq7)3V zAtb@3MU;tksu-@*=bGe$IWnReV?IHhzY5q)+TH;gn8q4liA`q>Fg+aGTU5|Y1a+rY z6cAq@Z%3Kgm%;mW>i$@T5G_kBXe11dkPd6vQ_Dbo-p${gCTZS&JXY(Ib${3x0)Lw( zYR3TUPaLS0CPTHL*1kUV0TEz+KV4&^J`|bkBzu}gP*PuVCcl8gk8ZuOv?F|eUfZ); zpAMgX^T>g%wn6Evl4JAgVpO!E0XCW+G6lAt)bzzvD_DQz&bi4Yu29A3wL#OFs{vj*FTc*Kwk&yb7e=1~4U!w4^HdX~jiprM=SX zf@b~(Coy%?=lMY1-|Vxw|H-2GUv5@R02F9h2>?d|xIXm}@+Zox9R|vP#RTS#DFldl z8$dx`N|Z1t)dnvWH>OO~f^ucR%1;Zv)n9b%NPs>!9d*-DHyt%#UfBg@7nEIa>a3{Z z=l#W<8=SAXn3r?aeH`_J&)YnJRzPHfY>*8i1JTYG0__2YYYBLuJh*sYz6m8y{0z0B zHgu19x~O8I+;_h(u5IB66YsW=YeLD-??{;L*4?_3NnH4Ng_@xEHpGV55HkD66C$~q zCr(_&-}jF{kA)^I+nkC*$f8Ls4a+lga@A?k3j85HXtAUB;{h=30+$=n;JMi{o z;cj~SDNkz7SAeukfw^lElNvEd}Z7Ex(I3m^oj4&|?p0-s}Wn1VTGK=d#!Dy-pFeVE!KK zWds%fz&Wp!hQS0SAS%UeUo1_7Y9&xi*S)tGp(j)X*|$Y|tfLV`7*oJjT~W2}^FkX< z5^O9LTE99a5d3~xwC-v7<%9sf25cc|rU3JqVsnA*Y@-U8Y!he%ma1Lf2SO_B$Pxwg z^Eg=8MHD^ZF_Vp?!B)G*gVtk~jh5(Mr4k$A-<{Ip--#=AKm5MV(6|j*`^?)BPGlkp zV3~#UO%tMGs`hOql_bH|+I38ZLmp}sFNwp+S0CN4)tBJ2{g2t)dMX_9v-07w11WSA zt!Oz|d}Zn~`(gSkHxIn|o?E_l;n?1H^faRJ`wEmH zi%Aue@jCXlfa-8w;+22(%`E-z;LF4&FH=IGTn|tyW!%d3fV6t+@&_(|;PMBqO}1Uv zc3srZco)U}8**rk?amLzM z8@tCm^9{7!TujcpA~?tTHD2R2GHnubHJ^ub^j%!gA=SB7%019`?F8NL2%_y`g@u~$ zABW`oxURmRt2rdz5eL41T4Y&0Sr zN_R;}cOzX&Ne)D%yGM-<>5}e{?k?obsOf`iEDlurHHCFPmV4kljNB^Pv zp66@9D3ZcS5A7iRuNtvR{|g}46bGl4F#fP>dd!9qXIl?+ln%a89djIQeYvfGhY|i= z@**eQx3bA6Cal(mi4#=EwHOqe2o)SyD?zy2?OfkeNu@|B!#hT4AUmgzN za((0ShR*8tox$IyeY;_d0rXXw7PRLXK3oIeE-1&qrUQK!)|VqJv3hSQ1C%hQeamL6 z`7+1e+|l?k;{2k=?K7w^@uBJ6`A4e~uoJsrRMTgDUD?W-ry-H)DYFen^bkeagA4yA zxz|VU;a>k|V+7}ZiA6#Teb?vNrkz`;Pu>VXbc!xLpL?=P%-AJP(f^Zz{?*#RK>W{E zy)84Zg8e+y$}U{g?prCH?@QF*rl5|ZYZEp^02%F~wCD9y@CLfYFip(9X+M8u=>CDz zL2bBj!tOuX1AE) z^L4pA^VNk`=uZ-FR0N=usH@V33oFO59(bM((|xCunaJe;0EX`i}(Y~}tH z|LKu3U|=?Efcd-MR($2RhEdJ>Ba7p~tkB4d?B9SuqXD^-f@Hk0eXi+^L85I?4v)Td zp5%t2E^@_xRZ2do*JzOglvjG*%@N|5V)7*6b|`9WNdgiyw&w(;bZl?8sH7XyLwoh> zYZFKEDl0&NaySi(78RJwEDJ|ZRabQjuH8#{8n z$8?HnJJp_vy>V#`VtrJ(%KWbrZ!U8kia6AnrzAq>tCq=`yMN9)+xkB18AJTe;cssNU3?;vO zwT~tym&-+_xY!yWn1dAxkEb`sG4nWO)h)QPYUi;U9?Be?JN6L-^*)1=7FSh}|a;o#FY`LGpZ*T@$?c zjz0EAbB+0V{Azwh;^y(M8CyMpY)lw*@#`DAv6;;zP|0X!YC($O2CwHGQ9w{c?6!FL z26xY7;8Z5pR=Ib4@@)z9JhX}7|GWT}^^TNWu@xAqE&2JC?ilj<6na<|dmk;>6km*? ze!*6yTKauU6`$S+CpLG2RBp$qC!U?uR&s&Os7k4=GqztAx?wQ~|JavJR+o1c+6&^7 zD>gzE+4AVr6gA6mR?6E|r-H{F9~sI~g!eGw3C{=34F zT)xE-Z`lyj(Dd~oZoN$o&dIh2$!cjU8orWTwhp~lY9#}v$W%G*ufF^NHNv2*p|zg4 zkhrdc7fn`pj}(XCX2X+}m*lp!E#FwaztM;TkxNd5JP`{?e`zO&84~>#hozR_`P}w$ zUB_5f;N2)NV(&$&w@r}j2Nv~3=%Xic^;>+uF`C1~qgg+aaD?1%)PE+6m#dApX5r6T z_=3gOn9bFo?AREejeMgpSem6ta2$x4cAY&cWDft;Ak)TFLnv&I*gt~mBt4qn_q5NX z`WEy2xXIj-vZSxpF@Ou(2e6)5OP3LWBlJORyAnluiuUJ zFkG~&X5&h>$}ZW&%W`$qZ~2lkj#+XOK(O>Iv5ZAcLI@n0(1l3%b!{(u!;mIjz)6W6 z(k1!_+3B0`AE%rioCn3^Cs3Pi*h=8kDcIgwV*8M}PGMRi^w4WTaAkA_gI_F;)3RHaS)z8lQdc%|x1CMNYmP)hNM$?7>eMbw{9 zYmPYtSLLF;oKlRNNdf!D-HQ+<_(h~#_t)GweE+f~#=jA47*aEv_UDu9Hv^NvHM0rE zs}&jt!j8+`KJfNvC)8ratFco->xkkyFtc2aCG=~x`0)2N*j=Dol~U1mlye_npqb@V z04EP`-9BP^m`wV$YatH$($!f0=f0Pe{&dJsxe9AmUE;zcoTT}3SC46*6Y13%md)ureWAjfHKPp!D`)cI)GV2o<2m6jwaJ;8*hjuZd^VWaer%-kWm%iwQoi= zH(h?Vy1)q*;~~tMd#nY94{<3IgE69+%Wb+Fy%(EeVl%}FUy4yD0*DdHNoSdSyHvlL zJ|sh%obD+X%)n@PS9HkI>Q+5-{c65nk}}{)#^S9x%XEKpujHWhUMj}OTY1`sc>Agr z8G`|qazXTEbyEC+Pbsmd*x=ja>u>t8)@&N8p%b5l)Id=YcL`*}CF<}|@q58E2BNY7 zvkwCfKF#EtMyO;|HUkz2xjlEsm<)rwtsvDY^1hb{H$m(yJkmkhMhGx{ALaLoG{S~> z?uYNzQxnS{`f7d2ffwowug2AXcTmUy<-;4$KhQ0^Z@&WWH4J?M;xEW}<<)*<=YNB+ z`*zw)qM&E}16~nFxOfn72~1&qq(rd7esF%Kd9<#^-tur*os|0LEoQBF^qTb%;vgQk z4L6;6nh-f3iecB5YFyvDd^zPHRevsBe+#7xP#D|p7@8pE>SSHGe)Y|lgHzq(Udrzq zXIVYL#{AQta58?CSCV!M1|ttzGTkSZ$%ujq)Y}2cvZiAyR{>CMA#8>3wBNVfTaJ)* z4b|cHDLL`0r{i)jOlcI%*vZfb+%epx{uOqvp1epjgWr4ATf*;|3uIbOr@Iu7c+GYB z;p-E?;lP;AUHg2HYuybFwH0#+J8IYW7{<*ViU_heKmHI{LwJVea)xzReF|0>=!99k zh7UCB{_9~U>DfLQ1HzW_9g4pL)m6wi(1{Fwr@M}=&~$D=a^Zn+G!f`fVvffZ?N9z0 zwpFD~Op8s-3mqJ>v~_ri2h?)k%c8>dv^((#G0J_$8}zU026a_t^9&@m9wrsOvwzd! z7dpCsfP(?eyvt@U43PC-)7F#16Cu0}%&%XqzTukAJN=91q?MN>!RQ4D_%JKV7WjeW z&+5)1UHeUlVMV({uR){2P0`AIl=qExAHGMvQ$UR!RoY|u-~8ogpeDf4YT+lB-hc9f z4daGYp|aZMXulVU#Qq)OoIo=|Cs-!L6fnJ?6}|0-Jj?7?u!b}n%oyx0XUu3+-E2KL z=x@=ZHjfU%8?a;RGGN)j>TB=^3$1W z;nDC6vc@zE8osrPq2~Vxzpyw6do3B%d_eVSb6f1ni6s%%{ zTuPn-D@kM}m1*CPMMP;`^m=w~`jk1d#P~Vx}A201n;6n6>R- zfVH&HpUcG8NdI>cQPI* zxePD`;j5EOe&g#H%$dl7Dbn93ZT;KFXPkODb=uT@%q#E*t}wB`Z~e*Q{DC?6Zz48- z{?uIOp*WThf_7=)0@l`j;(WuC(#AKwcZI*|VqRPAg}JdsyTJ*PViaNuA7GXmWF~u- zh0J+mPFCoKp0*=?TGB#CJ!bkGPr-Hb>4EXp7;omCXX|C5N@14uaqqkvo-abacq{Z} zW323Sy@Ax17;W@cEB5V(lZ>o+?{VLE)Vn?2yENq-vw@y{pt@}DcWz%h@s`XDnEbh) z8}PiPyKz1K#5o+bqj~5q5nL{j!Vpw@ete>@3&1r-Od z#Hm76MTQ3rBUT0xy9X`e3K?5q^qLFI-s18m*}|JF8R^*<6dW#g7ADjme^v3q__K7@ zvzm{u!o2ceQFo>jbn{WZiyf!Xg*>_vj3KGT6o8088iuY5;Vj@diDGEY#AivtIM<7| z?hxX5oYkLue`hBf z8wDR2+x7qD+l|=Oiv3Y=?|Ei7{Q3Zf;c^)CY4n!{e!S7H`OVsH1}*b3v~9R881sLR zdteLZ?{a{zQHbDQ^2*WEg>!^N#y`s#0Y}!Vh0K3&^#!^T&8n{-_pvPNM5uSwsnX&+ z<_@iBkx!o+3x-LJm2WpP`>t5$j5bICPnQ6mw=wh+wr^7XzEAm> z5!#wX{NV&1e$wUlSpiDG1PZ;P=hrW_Kw|LT60ep78>Kz7p*r0;e`QE9wkI6}_@lIu z2TNF7U1x?|U#|OmG9pQZfh9gmtx(6gzQ+IAQ2kp%f{EFP^s|ftj&I?~<*PJ_O%yFu zBj#y=U~s{RLorH|U?bcmZH|__671CtiaBD*{EnZkc>s0!&kV!L77}PGJOY^-&sO!v+8iI9_~B|O>jkY zn1YI&Ho)kI&VrbJmfBblw5-0X6-Wd2a=x*#5~&^NqcMGkV3r9eOzRWL8Sg^R^ZBN% zJkZ?A$8oPub=g+Y#)ae;YC=6PP zAFKkC6t`S{N2^{GAb-L5QkKvT{`W|$7{i==zM zGdm;qWZOc{2GLfHc7zZ?Og?kt<-ds*oJS=4`~RAK+oLC@*c%IU3227V$g7*K9^=i| zt;ow?!7+fxx6(vq_hwmi;qHW2Dgt6lUDF|xz$BkzT5!~t zNIBsJ{nQ!$u?3cLN=zXXYSD!U0Qp2!aBQXoEpd8t#O_1}u$IvT$TtE=0h56+m&aP! zEW|eC55yg6u6bb&UfN*wSijq#bV>YodF5u7gQ9#xCnc{33km{SnQ3BSCV;1&N(Yti zd%6$Dh*FU>arT!1NQvE{{R2eBw0EJiHo>fv#%NjsCoPbV=4Q}}j|M9W`EXW1|8xnY z>bFHs&+eQ6^C694_7boFpl=AN9j1OYp?|CK+5!dO5L1(~T@qt@GSBDq?pKZ60x6Kb zA(y3rSO3(Bt62@O(54D8B)X&K9t-06#Et88k3|fqp8%HjA zc`}wI=MOF!T#JV7aKHCsR3rl!Z@$IJG24L@rZpSD{D;F9{xUNbeB^hJ`YxeP?uKN&o|y8!HDa9in$@ZK8U`*kWw{#wv!ULZiWA0sm!p-tV$`Mnqsofg0C zRoLleXfEmTwBP=N?0-I^E%ZE((7f&w8i%Oz{qaD!oMQS|P~u zi}QdW`_!*K+oKbt>K3nkuKg(OJPi=2+wTLND~j|)_5X=ygoWm5Q=}R)&V2qe+==IZ z%)sBfDSdr#UG~4$`@u2jm)6e3Rb(xzRNHPwNKCCYLMA=S1tZ?Ymy)N5$+`t?2l)Dr z&za_L0N7h3i`H>Z@Tlr-JF~cYNE6IuT=%_IH*$IRgMaF`h(-tYN>uKc${JXFj?U>H zizLD}jQ-Fsj+d**uupzWj92p@`Kxo?VR+r5RQ=p0rZzsB2!m9K$9Nag!o!Y{u!eI2 z--GZBeO0SG?$_Egc>5Cl%Uk8(I^okAF@iT#4;m8Ol@#|kH0|AVb6mKA(B=Gd%x%Kn6wF<(Q;=~m}d0eaVQf{4< znA|@e8}zc<*+J#@4>gF1PYR&p{hZ=cZ0^!K{v`FP5U<}Lf`<9>cbGLv%lp>ZUvWjk zS`0p(iXQ#VE9sBySY-bqtAnUiIC@tk66jFujET>B)1FCXlg4p=tb^I8ynGQ5{e)#z};ylXA{YT#X zY$N27>+D&DGqwh^Y)1j$UuDsF@i;b3G;u>yI4>wMExUwn1zZR#Wp_VrV9GIic6Nx= zD&cbU@4kaR%!|riPkcBEIvXL}xcyEYrt|7RfA(AH+!p0293Y)!AZOR#3SD)951}F7+@U3BRg5TaX<)97d&0@fr2K{;eJ&qD81~GeC5*5 zA8oJdw0_0m<|XmIgv+H{VE*%Kc+g4RNIuLLZ-6OQ6{QHoJaocPs+ZaH8ce*5*^(

Z{=p|us*YOhSDr-HuX5=6GeHag4 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 d None: + print("--- Prepare notarization zip") + + app_dir = base_dir / "Anki.app" + zip_path = app_dir.with_suffix(".zip") + + subprocess.run(["ditto", "-c", "-k", "--keepParent", app_dir, zip_path]) + + print("--- Upload for notarization") + + try: + output = subprocess.check_output( + [ + "xcrun", + "altool", + "--notarize-app", + "--primary-bundle-id", + BUNDLE_ID, + "--username", + USERNAME, + "--password", + PASSWORD, + "--file", + zip_path, + ], + stderr=subprocess.STDOUT, + encoding="utf8", + ) + except subprocess.CalledProcessError as e: + print("error uploading:", e.output) + sys.exit(1) + + uuid = None + for line in output.splitlines(): + m = re.search(r"RequestUUID = (.*)", line) + if m: + uuid = m.group(1) + + if not uuid: + print("no uuid found - upload output:") + print(output) + sys.exit(1) + + open(uuid_path, "w").write(uuid) + zip_path.unlink() + + +def _extract_status(output): + for line in output.splitlines(): + m = re.search(r"Status: (.*)", line) + if m: + return m.group(1) + + return None + + +def wait_for_success(uuid, wait=True): + while True: + print("checking status...", end="", flush=True) + + try: + output = subprocess.check_output( + [ + "xcrun", + "altool", + "--notarization-info", + uuid, + "--username", + USERNAME, + "--password", + PASSWORD, + ], + stderr=subprocess.STDOUT, + encoding="utf8", + ) + except subprocess.CalledProcessError as e: + print("error checking status:") + print(e.output) + sys.exit(1) + + status = _extract_status(output) + if status is None: + print("could not extract status:") + print(output) + sys.exit(1) + + if status == "invalid": + print("notarization failed:") + print(output) + sys.exit(1) + + if status == "success": + print("success!") + print(output) + return + + print(status) + if not wait: + return + time.sleep(30) + + +def staple(app_path): + try: + subprocess.check_call( + [ + "xcrun", + "stapler", + "staple", + app_path, + ] + ) + except subprocess.CalledProcessError as e: + print("error stapling:") + print(e.output) + sys.exit(1) + + +cmd = sys.argv[1] +base_dir = Path(sys.argv[2]) +uuid_path = base_dir / "uuid" + +if cmd == "upload": + upload(base_dir, uuid_path) +elif cmd == "status": + uuid = open(uuid_path).read() + wait_for_success(uuid, False) +elif cmd == "staple": + uuid = open(uuid_path).read() + wait_for_success(uuid) + staple(base_dir / "Anki.app") + uuid_path.unlink() diff --git a/qt/bundle/mac/src/Info.plist b/qt/bundle/mac/src/Info.plist new file mode 100644 index 000000000..b960057cd --- /dev/null +++ b/qt/bundle/mac/src/Info.plist @@ -0,0 +1,49 @@ + + + + + CFBundleDisplayName + Anki + CFBundleShortVersionString + 2.1.46 + LSMinimumSystemVersion + 10.13.4 + CFBundleDocumentTypes + + + CFBundleTypeExtensions + + colpkg + apkg + ankiaddon + + CFBundleTypeIconName + AppIcon + CFBundleTypeName + Anki File + CFBundleTypeRole + Editor + + + CFBundleExecutable + MacOS/anki + CFBundleIconName + AppIcon + CFBundleIdentifier + net.ankiweb.dtop + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Anki + CFBundlePackageType + APPL + NSHighResolutionCapable + + NSMicrophoneUsageDescription + The microphone will only be used when you tap the record button. + NSRequiresAquaSystemAppearance + + NSSupportsAutomaticGraphicsSwitching + + + diff --git a/qt/bundle/mac/src/main.rs b/qt/bundle/mac/src/main.rs new file mode 100644 index 000000000..dd77271bf --- /dev/null +++ b/qt/bundle/mac/src/main.rs @@ -0,0 +1,223 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +//! Munge the output of PyOxidizer into a macOS app bundle, and combine it +//! with our other runtime dependencies. + +use std::{ + path::{Path, PathBuf}, + str::FromStr, +}; + +use anyhow::{bail, Context, Result}; +use apple_bundles::MacOsApplicationBundleBuilder; +use plist::Value; +use tugger_file_manifest::FileEntry; +use walkdir::WalkDir; + +const CODESIGN_ARGS: &[&str] = &["-vvvv", "-o", "runtime", "-s", "Developer ID Application:"]; + +#[derive(Clone, Copy, Debug)] +enum Variant { + StandardX86, + StandardArm, + AlternateX86, +} + +impl FromStr for Variant { + type Err = anyhow::Error; + + fn from_str(s: &str) -> Result { + Ok(match s { + "qt6_arm64" => Variant::StandardArm, + "qt6_amd64" => Variant::StandardX86, + "qt5_amd64" => Variant::AlternateX86, + other => bail!("unexpected variant: {other}"), + }) + } +} + +impl Variant { + fn output_base(&self) -> &str { + match self { + Variant::StandardX86 => "qt6_amd64", + Variant::StandardArm => "qt6_arm64", + Variant::AlternateX86 => "qt5_amd64", + } + } + + fn macos_min(&self) -> &str { + match self { + Variant::StandardX86 => "10.14.4", + Variant::StandardArm => "11", + Variant::AlternateX86 => "10.13.4", + } + } + + fn qt_repo(&self) -> &str { + match self { + Variant::StandardX86 => "pyqt6.2_mac_bundle_amd64", + Variant::StandardArm => "pyqt6.2_mac_bundle_arm64", + Variant::AlternateX86 => "pyqt5.14_mac_bundle_amd64", + } + } + + fn audio_repo(&self) -> &str { + match self { + Variant::StandardX86 | Variant::AlternateX86 => "audio_mac_amd64", + Variant::StandardArm => "audio_mac_arm64", + } + } +} + +fn main() -> anyhow::Result<()> { + let args: Vec<_> = std::env::args().collect(); + let variant: Variant = args.get(1).context("variant")?.parse()?; + let bundle_folder = PathBuf::from(args.get(2).context("bundle folder")?); + let anki_version = args.get(3).context("anki version")?; + let bazel_external = PathBuf::from(args.get(4).context("bazel external folder")?); + + let plist = get_plist(anki_version); + make_app(variant, &bundle_folder, plist, &bazel_external) +} + +fn make_app( + variant: Variant, + input_folder: &Path, + mut plist: plist::Dictionary, + bazel_external: &Path, +) -> Result<()> { + let output_folder = input_folder + .with_file_name("app") + .join(variant.output_base()) + .join("Anki.app"); + if output_folder.exists() { + std::fs::remove_dir_all(&output_folder)?; + } + std::fs::create_dir_all(&output_folder)?; + + let mut builder = MacOsApplicationBundleBuilder::new("Anki")?; + plist.insert( + "LSMinimumSystemVersion".into(), + Value::from(variant.macos_min()), + ); + builder.set_info_plist_from_dictionary(plist)?; + builder.add_file_resources("Assets.car", &include_bytes!("../icon/Assets.car")[..])?; + + for entry in WalkDir::new(&input_folder) + .into_iter() + .map(Result::unwrap) + .filter(|e| !e.file_type().is_dir()) + { + let path = entry.path(); + let entry = FileEntry::try_from(path)?; + let relative_path = path.strip_prefix(&input_folder)?; + let path_str = relative_path.to_str().unwrap(); + if path_str.contains("libankihelper") { + builder.add_file_macos("libankihelper.dylib", entry)?; + } else if path_str.contains("aqt/data") { + builder.add_file_resources(relative_path.strip_prefix("lib").unwrap(), entry)?; + } else { + if path_str.contains("__pycache__") { + continue; + } + builder.add_file_macos(relative_path, entry)?; + } + } + + let dry_run = false; + if dry_run { + for file in builder.files().iter_files() { + println!("{}", file.path_string()); + } + } else { + builder.files().materialize_files(&output_folder)?; + fix_rpath(output_folder.join("Contents/MacOS/anki"))?; + codesign_python_libs(&output_folder)?; + copy_in_audio(&output_folder, variant, bazel_external)?; + copy_in_qt(&output_folder, variant, bazel_external)?; + codesign_app(&output_folder)?; + } + + Ok(()) +} + +/// Copy everything at the provided path into the Contents/ folder of our app. +/// Excludes standard Bazel repo files. +fn extend_app_contents(source: &Path, bundle_dir: &Path) -> Result<()> { + let status = std::process::Command::new("rsync") + .arg("-a") + .args(["--exclude", "BUILD.bazel", "--exclude", "WORKSPACE"]) + .arg(format!("{}/", source.to_string_lossy())) + .arg(bundle_dir.join("Contents/")) + .status()?; + if !status.success() { + bail!("error syncing {source:?}"); + } + Ok(()) +} + +fn copy_in_audio(bundle_dir: &Path, variant: Variant, bazel_external: &Path) -> Result<()> { + println!("Copying in audio..."); + extend_app_contents(&bazel_external.join(variant.audio_repo()), bundle_dir) +} + +fn copy_in_qt(bundle_dir: &Path, variant: Variant, bazel_external: &Path) -> Result<()> { + println!("Copying in Qt..."); + extend_app_contents(&bazel_external.join(variant.qt_repo()), bundle_dir) +} + +fn codesign_file(path: &Path, extra_args: &[&str]) -> Result<()> { + if option_env!("ANKI_CODESIGN").is_some() { + let status = std::process::Command::new("codesign") + .args(CODESIGN_ARGS) + .args(extra_args) + .arg(path.to_str().unwrap()) + .status()?; + if !status.success() { + bail!("codesign failed"); + } + } + + Ok(()) +} + +fn codesign_python_libs(bundle_dir: &PathBuf) -> Result<()> { + for entry in glob::glob( + bundle_dir + .join("Contents/MacOS/lib/**/*.so") + .to_str() + .unwrap(), + )? { + let entry = entry?; + codesign_file(&entry, &[])?; + } + codesign_file(&bundle_dir.join("Contents/MacOS/libankihelper.dylib"), &[]) +} + +fn codesign_app(bundle_dir: &PathBuf) -> Result<()> { + codesign_file(bundle_dir, &["--entitlements", "entitlements.python.xml"]) +} + +fn fix_rpath(exe_path: PathBuf) -> Result<()> { + let status = std::process::Command::new("install_name_tool") + .arg("-add_rpath") + .arg("@executable_path/../Frameworks") + .arg(exe_path.to_str().unwrap()) + .status()?; + assert!(status.success()); + Ok(()) +} + +fn get_plist(anki_version: &str) -> plist::Dictionary { + let reader = std::io::Cursor::new(include_bytes!("Info.plist")); + let mut plist = plist::Value::from_reader(reader) + .unwrap() + .into_dictionary() + .unwrap(); + plist.insert( + "CFBundleShortVersionString".into(), + Value::from(anki_version), + ); + plist +} diff --git a/qt/package/pyoxidizer.bzl b/qt/bundle/pyoxidizer.bzl similarity index 96% rename from qt/package/pyoxidizer.bzl rename to qt/bundle/pyoxidizer.bzl index c70052272..be78a1ad8 100644 --- a/qt/package/pyoxidizer.bzl +++ b/qt/bundle/pyoxidizer.bzl @@ -1,4 +1,4 @@ -set_build_path("../../bazel-pkg/build") +set_build_path(VARS.get("build")) excluded_source_prefixes = [ "ctypes.test", @@ -131,6 +131,9 @@ def make_exe(): # detected libs do not need this, but we add extra afterwards python_config.module_search_paths = ["$ORIGIN/lib"] python_config.optimization_level = 2 + if BUILD_TARGET_TRIPLE == "x86_64-apple-darwin": + # jemalloc currently fails to build when run under Rosetta + python_config.allocator_backend = "default" python_config.run_command = "import aqt; aqt.run()" diff --git a/qt/package/qt.exclude b/qt/bundle/qt.exclude similarity index 100% rename from qt/package/qt.exclude rename to qt/bundle/qt.exclude diff --git a/qt/package/rustfmt.toml b/qt/bundle/rustfmt.toml similarity index 100% rename from qt/package/rustfmt.toml rename to qt/bundle/rustfmt.toml diff --git a/qt/package/src/anki.rs b/qt/bundle/src/anki.rs similarity index 100% rename from qt/package/src/anki.rs rename to qt/bundle/src/anki.rs diff --git a/qt/package/src/main.rs b/qt/bundle/src/main.rs similarity index 100% rename from qt/package/src/main.rs rename to qt/bundle/src/main.rs diff --git a/qt/bundle/win/Cargo.lock b/qt/bundle/win/Cargo.lock new file mode 100644 index 000000000..138492420 --- /dev/null +++ b/qt/bundle/win/Cargo.lock @@ -0,0 +1,1497 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "anyhow" +version = "1.0.53" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94a45b455c14666b85fc40a019e8ab9eb75e3a124e05494f5397122bc9eb06e0" + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "base64" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block-modes" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cb03d1bed155d89dce0f845b7899b18a9a163e148fd004e1c28421a783e2d8e" +dependencies = [ + "block-padding", + "cipher", +] + +[[package]] +name = "block-padding" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" + +[[package]] +name = "bumpalo" +version = "3.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899" + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" + +[[package]] +name = "bzip2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6afcd980b5f3a45017c57e57a2fcccbb351cc43a356ce117ef760ef8052b89b0" +dependencies = [ + "bzip2-sys", + "libc", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "cc" +version = "1.0.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +dependencies = [ + "libc", + "num-integer", + "num-traits", + "time", + "winapi", +] + +[[package]] +name = "cipher" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" +dependencies = [ + "generic-array", +] + +[[package]] +name = "cpufeatures" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crypto-mac" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +dependencies = [ + "generic-array", + "subtle", +] + +[[package]] +name = "des" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac41dd49fb554432020d52c875fc290e110113f864c6b1b525cd62c7e7747a5d" +dependencies = [ + "byteorder", + "cipher", + "opaque-debug", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "duct" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fc6a0a59ed0888e0041cf708e66357b7ae1a82f1c67247e1f93b5e0818f7d8d" +dependencies = [ + "libc", + "once_cell", + "os_pipe", + "shared_child", +] + +[[package]] +name = "encoding_rs" +version = "0.8.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7896dc8abb250ffdda33912550faa54c88ec8b998dec0b2c55ab224921ce11df" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "fastrand" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" +dependencies = [ + "instant", +] + +[[package]] +name = "find-winsdk" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8cbf17b871570c1f8612b763bac3e86290602bcf5dc3c5ce657e0e1e9071d9e" +dependencies = [ + "serde", + "serde_derive", + "winreg 0.5.1", +] + +[[package]] +name = "flate2" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f" +dependencies = [ + "cfg-if", + "crc32fast", + "libc", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "form_urlencoded" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +dependencies = [ + "matches", + "percent-encoding", +] + +[[package]] +name = "fs2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "futures-channel" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3" + +[[package]] +name = "futures-io" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b" + +[[package]] +name = "futures-sink" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868" + +[[package]] +name = "futures-task" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a" + +[[package]] +name = "futures-util" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a" +dependencies = [ + "futures-core", + "futures-io", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418d37c8b1d42553c93648be529cb70f920d3baf8ef469b74b9638df426e0b4c" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "glob" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" + +[[package]] +name = "h2" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9f1f717ddc7b2ba36df7e871fd88db79326551d3d6f1fc406fbfd28b582ff8e" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hmac" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +dependencies = [ + "crypto-mac", + "digest", +] + +[[package]] +name = "http" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03" +dependencies = [ + "bytes", + "fnv", + "itoa 1.0.1", +] + +[[package]] +name = "http-body" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9100414882e15fb7feccb4897e5f0ff0ff1ca7d1a86a23208ada4d7a18e6c6c4" + +[[package]] +name = "httpdate" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + +[[package]] +name = "hyper" +version = "0.14.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7ec3e62bdc98a2f0393a5048e4c30ef659440ea6e0e572965103e72bd836f55" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa 0.4.8", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d87c48c02e0dc5e3b849a2041db3029fd066650f8f717c07bf8ed78ccb895cac" +dependencies = [ + "http", + "hyper", + "rustls", + "tokio", + "tokio-rustls", +] + +[[package]] +name = "idna" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "indexmap" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223" +dependencies = [ + "autocfg", + "hashbrown", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ipnet" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9" + +[[package]] +name = "itoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" + +[[package]] +name = "itoa" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" + +[[package]] +name = "js-sys" +version = "0.3.56" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a38fc24e30fd564ce974c02bf1d337caddff65be6cc4735a1f7eab22a7440f04" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.117" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e74d72e0f9b65b5b4ca49a346af3976df0f9c61d550727f349ecd559f251a26c" + +[[package]] +name = "log" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "makeinstall" +version = "0.1.0" +dependencies = [ + "anyhow", + "glob", + "slog", + "slog-term", + "tugger-windows-codesign", + "walkdir", +] + +[[package]] +name = "matches" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" + +[[package]] +name = "memchr" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" + +[[package]] +name = "mime" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" + +[[package]] +name = "miniz_oxide" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" +dependencies = [ + "adler", + "autocfg", +] + +[[package]] +name = "mio" +version = "0.7.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" +dependencies = [ + "libc", + "log", + "miow", + "ntapi", + "winapi", +] + +[[package]] +name = "miow" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" +dependencies = [ + "winapi", +] + +[[package]] +name = "ntapi" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44" +dependencies = [ + "winapi", +] + +[[package]] +name = "num-integer" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "once_cell" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5" + +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + +[[package]] +name = "os_pipe" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb233f06c2307e1f5ce2ecad9f8121cffbbee2c95428f44ea85222e460d0d213" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "p12" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10105b08ad3c4cd872ddf396860544f9dbc1800fed7d552f10aa5b585ac79e1d" +dependencies = [ + "block-modes", + "des", + "getrandom", + "hmac", + "lazy_static", + "rc2", + "sha-1", + "yasna", +] + +[[package]] +name = "pem" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9a3b09a20e374558580a4914d3b7d89bd61b954a5a5e1dcbea98753addb1947" +dependencies = [ + "base64", +] + +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + +[[package]] +name = "pin-project-lite" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe" + +[[package]] +name = "proc-macro2" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" +dependencies = [ + "unicode-xid", +] + +[[package]] +name = "quote" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rc2" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48f197c283075d1345c20d5ad172526a7837882cdc998b1fcd2b2f3cfff1cb94" +dependencies = [ + "cipher", + "opaque-debug", +] + +[[package]] +name = "rcgen" +version = "0.8.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5911d1403f4143c9d56a702069d593e8d0f3fab880a85e103604d0893ea31ba7" +dependencies = [ + "chrono", + "pem", + "ring", + "yasna", +] + +[[package]] +name = "redox_syscall" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" +dependencies = [ + "bitflags", +] + +[[package]] +name = "redox_users" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" +dependencies = [ + "getrandom", + "redox_syscall", +] + +[[package]] +name = "remove_dir_all" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +dependencies = [ + "winapi", +] + +[[package]] +name = "reqwest" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f242f1488a539a79bac6dbe7c8609ae43b7914b7736210f239a37cccb32525" +dependencies = [ + "base64", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-rustls", + "ipnet", + "js-sys", + "lazy_static", + "log", + "mime", + "percent-encoding", + "pin-project-lite", + "rustls", + "rustls-pemfile", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-rustls", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots", + "winreg 0.7.0", +] + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin", + "untrusted", + "web-sys", + "winapi", +] + +[[package]] +name = "rustls" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d37e5e2290f3e040b594b1a9e04377c2c671f1a1cfd9bfdef82106ac1c113f84" +dependencies = [ + "log", + "ring", + "sct", + "webpki", +] + +[[package]] +name = "rustls-pemfile" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9" +dependencies = [ + "base64", +] + +[[package]] +name = "rustversion" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f" + +[[package]] +name = "ryu" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "semver" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0486718e92ec9a68fbed73bb5ef687d71103b142595b406835649bebd33f72c7" + +[[package]] +name = "serde" +version = "1.0.136" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" + +[[package]] +name = "serde_derive" +version = "1.0.136" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.78" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d23c1ba4cf0efd44be32017709280b32d1cea5c3f1275c3b6d9e8bc54f758085" +dependencies = [ + "itoa 1.0.1", + "ryu", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa 1.0.1", + "ryu", + "serde", +] + +[[package]] +name = "sha-1" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" +dependencies = [ + "block-buffer", + "cfg-if", + "cpufeatures", + "digest", + "opaque-debug", +] + +[[package]] +name = "sha2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +dependencies = [ + "block-buffer", + "cfg-if", + "cpufeatures", + "digest", + "opaque-debug", +] + +[[package]] +name = "shared_child" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6be9f7d5565b1483af3e72975e2dee33879b3b86bd48c0929fccf6585d79e65a" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "slab" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5" + +[[package]] +name = "slog" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06" + +[[package]] +name = "slog-term" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95c1e7e5aab61ced6006149ea772770b84a0d16ce0f7885def313e4829946d76" +dependencies = [ + "atty", + "chrono", + "slog", + "term", + "thread_local", +] + +[[package]] +name = "socket2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "subtle" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" + +[[package]] +name = "syn" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "tempfile" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" +dependencies = [ + "cfg-if", + "fastrand", + "libc", + "redox_syscall", + "remove_dir_all", + "winapi", +] + +[[package]] +name = "term" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" +dependencies = [ + "dirs-next", + "rustversion", + "winapi", +] + +[[package]] +name = "thiserror" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thread_local" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +dependencies = [ + "once_cell", +] + +[[package]] +name = "time" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "tinyvec" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" + +[[package]] +name = "tokio" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c27a64b625de6d309e8c57716ba93021dccf1b3b5c97edd6d3dd2d2135afc0a" +dependencies = [ + "bytes", + "libc", + "memchr", + "mio", + "num_cpus", + "pin-project-lite", + "winapi", +] + +[[package]] +name = "tokio-rustls" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a27d5f2b839802bd8267fa19b0530f5a08b9c08cd417976be2a65d130fe1c11b" +dependencies = [ + "rustls", + "tokio", + "webpki", +] + +[[package]] +name = "tokio-util" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "log", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tower-service" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" + +[[package]] +name = "tracing" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d8d93354fe2a8e50d5953f5ae2e47a3fc2ef03292e7ea46e3cc38f549525fb9" +dependencies = [ + "cfg-if", + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03cfcb51380632a72d3111cb8d3447a8d908e577d31beeac006f836383d29a23" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "try-lock" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" + +[[package]] +name = "tugger-common" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a7438a6e6ed337853dfeb03e3eb463c25d60141186b65363a1dfa3ed8fa6bab" +dependencies = [ + "anyhow", + "fs2", + "glob", + "hex", + "once_cell", + "reqwest", + "sha2", + "slog", + "tempfile", + "url", + "zip", +] + +[[package]] +name = "tugger-windows" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "862f31d91b88b479a2671584a9772f81ec3d21b8314adc4fdf17619b12f8750c" +dependencies = [ + "anyhow", + "duct", + "find-winsdk", + "glob", + "once_cell", + "semver", + "tugger-common", + "winapi", +] + +[[package]] +name = "tugger-windows-codesign" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99fe75b7e13b3ba9d95001be2f5a0b5bd1246d38492f5658fd5e90c1006eed00" +dependencies = [ + "anyhow", + "chrono", + "duct", + "p12", + "rcgen", + "slog", + "tugger-common", + "tugger-windows", + "yasna", +] + +[[package]] +name = "typenum" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" + +[[package]] +name = "unicode-bidi" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" + +[[package]] +name = "unicode-normalization" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-xid" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "url" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +dependencies = [ + "form_urlencoded", + "idna", + "matches", + "percent-encoding", +] + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "walkdir" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +dependencies = [ + "same-file", + "winapi", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log", + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.10.2+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" + +[[package]] +name = "wasm-bindgen" +version = "0.2.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25f1af7423d8588a3d840681122e72e6a24ddbcb3f0ec385cac0d12d24256c06" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b21c0df030f5a177f3cba22e9bc4322695ec43e7257d865302900290bcdedca" +dependencies = [ + "bumpalo", + "lazy_static", + "log", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb6ec270a31b1d3c7e266b999739109abce8b6c87e4b31fcfcd788b65267395" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f4203d69e40a52ee523b2529a773d5ffc1dc0071801c87b3d270b471b80ed01" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa8a30d46208db204854cadbb5d4baf5fcf8071ba5bf48190c3e59937962ebc" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2" + +[[package]] +name = "web-sys" +version = "0.3.56" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c060b319f29dd25724f09a2ba1418f142f539b2be99fbf4d2d5a8f7330afb8eb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "webpki-roots" +version = "0.22.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "552ceb903e957524388c4d3475725ff2c8b7960922063af6ce53c9a43da07449" +dependencies = [ + "webpki", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "winreg" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a27a759395c1195c4cc5cda607ef6f8f6498f64e78f7900f5de0a127a424704a" +dependencies = [ + "serde", + "winapi", +] + +[[package]] +name = "winreg" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69" +dependencies = [ + "winapi", +] + +[[package]] +name = "yasna" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e262a29d0e61ccf2b6190d7050d4b237535fc76ce4c1210d9caa316f71dffa75" +dependencies = [ + "chrono", +] + +[[package]] +name = "zip" +version = "0.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815" +dependencies = [ + "byteorder", + "bzip2", + "crc32fast", + "flate2", + "thiserror", + "time", +] diff --git a/qt/bundle/win/Cargo.toml b/qt/bundle/win/Cargo.toml new file mode 100644 index 000000000..757a3ad29 --- /dev/null +++ b/qt/bundle/win/Cargo.toml @@ -0,0 +1,14 @@ +[package] +edition = "2021" +name = "makeinstall" +version = "0.1.0" +authors = ["Ankitects Pty Ltd and contributors"] +license = "AGPL-3.0-or-later" + +[dependencies] +anyhow = "1.0.53" +glob = "0.3.0" +slog = "2.7.0" +slog-term = "2.8.0" +tugger-windows-codesign = "0.6.0" +walkdir = "2.3.2" diff --git a/qt/package/win/anki-console.bat b/qt/bundle/win/anki-console.bat similarity index 100% rename from qt/package/win/anki-console.bat rename to qt/bundle/win/anki-console.bat diff --git a/qt/package/anki-icon.ico b/qt/bundle/win/anki-icon.ico similarity index 100% rename from qt/package/anki-icon.ico rename to qt/bundle/win/anki-icon.ico diff --git a/qt/package/anki-manifest.rc b/qt/bundle/win/anki-manifest.rc similarity index 100% rename from qt/package/anki-manifest.rc rename to qt/bundle/win/anki-manifest.rc diff --git a/qt/package/anki.exe.manifest b/qt/bundle/win/anki.exe.manifest similarity index 100% rename from qt/package/anki.exe.manifest rename to qt/bundle/win/anki.exe.manifest diff --git a/qt/bundle/win/anki.template.nsi b/qt/bundle/win/anki.template.nsi new file mode 100644 index 000000000..db414b943 --- /dev/null +++ b/qt/bundle/win/anki.template.nsi @@ -0,0 +1,210 @@ +;; This installer was written many years ago, and it is probably worth investigating modern +;; installer alternatives. + +!include "fileassoc.nsh" +!include WinVer.nsh +!include x64.nsh +; must be installed into NSIS install location +; can be found on https://github.com/ankitects/anki-bundle-extras/releases/tag/anki-2022-02-09 +!include nsProcess.nsh + +;-------------------------------- + +!pragma warning disable 6020 ; don't complain about missing installer in second invocation + +; The name of the installer +Name "Anki" + +Unicode true + +; The file to write +OutFile "anki-setup.exe" + +; The default installation directory +InstallDir "$PROGRAMFILES64\Anki" + +; Remember the install location +InstallDirRegKey HKLM "Software\Anki" "Install_Dir64" + +AllowSkipFiles off + +!ifdef NO_COMPRESS +SetCompress off +!else +SetCompressor /solid lzma +!endif + +Function .onInit + ${IfNot} ${AtLeastWin10} + MessageBox MB_OK "Windows 10 or later required." + Quit + ${EndIf} + + ${IfNot} ${RunningX64} + MessageBox MB_OK "64bit Windows is required." + Quit + ${EndIf} + + ${nsProcess::FindProcess} "anki.exe" $R0 + StrCmp $R0 0 0 notRunning + MessageBox MB_OK|MB_ICONEXCLAMATION "Anki.exe is already running. Please close it, then run the installer again." /SD IDOK + Abort + notRunning: +FunctionEnd + +!ifdef WRITE_UNINSTALLER +!uninstfinalize 'copy "%1" "std\uninstall.exe"' +!endif + +;-------------------------------- + +; Pages + +Page directory +Page instfiles + + +;; manifest removal script shared by installer and uninstaller +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +!define UninstLog "anki.install-manifest" +Var UninstLog + +!macro removeManifestFiles un +Function ${un}removeManifestFiles + IfFileExists "$INSTDIR\${UninstLog}" proceed + DetailPrint "No previous install manifest found, skipping cleanup." + return + +;; this code was based on an example found on the net, which I can no longer find +proceed: + Push $R0 + Push $R1 + Push $R2 + SetFileAttributes "$INSTDIR\${UninstLog}" NORMAL + FileOpen $UninstLog "$INSTDIR\${UninstLog}" r + StrCpy $R1 -1 + + GetLineCount: + ClearErrors + FileRead $UninstLog $R0 + IntOp $R1 $R1 + 1 + StrCpy $R0 $R0 -2 + Push $R0 + IfErrors 0 GetLineCount + + Pop $R0 + + LoopRead: + StrCmp $R1 0 LoopDone + Pop $R0 + ;; manifest is relative to instdir + StrCpy $R0 "$INSTDIR\$R0" + + IfFileExists "$R0\*.*" 0 +3 + RMDir $R0 #is dir + Goto processed + IfFileExists $R0 0 +3 + Delete $R0 #is file + Goto processed + +processed: + + IntOp $R1 $R1 - 1 + Goto LoopRead + LoopDone: + FileClose $UninstLog + Delete "$INSTDIR\${UninstLog}" + RMDir "$INSTDIR" + Pop $R2 + Pop $R1 + Pop $R0 +FunctionEnd +!macroend + +!insertmacro removeManifestFiles "" +!insertmacro removeManifestFiles "un." + +;-------------------------------- + +; The stuff to install +Section "" + + SetShellVarContext all + + Call removeManifestFiles + + ; Set output path to the installation directory. + SetOutPath $INSTDIR + CreateShortCut "$DESKTOP\Anki.lnk" "$INSTDIR\anki.exe" "" + CreateShortCut "$SMPROGRAMS\Anki.lnk" "$INSTDIR\anki.exe" "" + + ; Add files to installer + !ifndef WRITE_UNINSTALLER + File /r @@SRC@@\*.* + !endif + + !insertmacro APP_ASSOCIATE "apkg" "anki.apkg" \ + "Anki deck package" "$INSTDIR\anki.exe,0" \ + "Open with Anki" "$INSTDIR\anki.exe $\"%L$\"" + + !insertmacro APP_ASSOCIATE "colpkg" "anki.colpkg" \ + "Anki collection package" "$INSTDIR\anki.exe,0" \ + "Open with Anki" "$INSTDIR\anki.exe $\"%L$\"" + + !insertmacro APP_ASSOCIATE "ankiaddon" "anki.ankiaddon" \ + "Anki add-on" "$INSTDIR\anki.exe,0" \ + "Open with Anki" "$INSTDIR\anki.exe $\"%L$\"" + + !insertmacro UPDATEFILEASSOC + + ; Write the installation path into the registry + WriteRegStr HKLM Software\Anki "Install_Dir64" "$INSTDIR" + + ; Write the uninstall keys for Windows + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Anki" "DisplayName" "Anki" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Anki" "DisplayVersion" "@@VERSION@@" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Anki" "UninstallString" '"$INSTDIR\uninstall.exe"' + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Anki" "NoModify" 1 + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Anki" "NoRepair" 1 + + !ifdef WRITE_UNINSTALLER + WriteUninstaller "uninstall.exe" + !endif + +SectionEnd ; end the section + +;-------------------------------- + +; Uninstaller + +function un.onInit + MessageBox MB_OKCANCEL "This will remove Anki's program files, but will not delete your card data. If you wish to delete your card data as well, you can do so via File>Switch Profile inside Anki first. Are you sure you wish to uninstall Anki?" IDOK next + Quit + next: +functionEnd + +Section "Uninstall" + + SetShellVarContext all + + Call un.removeManifestFiles + + ; Remove other shortcuts + Delete "$DESKTOP\Anki.lnk" + Delete "$SMPROGRAMS\Anki.lnk" + + ; associations + !insertmacro APP_UNASSOCIATE "apkg" "anki.apkg" + !insertmacro APP_UNASSOCIATE "colpkg" "anki.colpkg" + !insertmacro APP_UNASSOCIATE "ankiaddon" "anki.ankiaddon" + !insertmacro UPDATEFILEASSOC + + ; try to remove top level folder if empty + RMDir "$INSTDIR" + + ; Remove registry keys + DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Anki" + DeleteRegKey HKLM Software\Anki + +SectionEnd diff --git a/qt/bundle/win/fileassoc.nsh b/qt/bundle/win/fileassoc.nsh new file mode 100644 index 000000000..f76c28e35 --- /dev/null +++ b/qt/bundle/win/fileassoc.nsh @@ -0,0 +1,120 @@ +; fileassoc.nsh +; https://nsis.sourceforge.io/File_Association +; File association helper macros +; Written by Saivert +; +; Features automatic backup system and UPDATEFILEASSOC macro for +; shell change notification. +; +; |> How to use <| +; To associate a file with an application so you can double-click it in explorer, use +; the APP_ASSOCIATE macro like this: +; +; Example: +; !insertmacro APP_ASSOCIATE "txt" "myapp.textfile" "$INSTDIR\myapp.exe,0" \ +; "Open with myapp" "$INSTDIR\myapp.exe $\"%1$\"" +; +; Never insert the APP_ASSOCIATE macro multiple times, it is only ment +; to associate an application with a single file and using the +; the "open" verb as default. To add more verbs (actions) to a file +; use the APP_ASSOCIATE_ADDVERB macro. +; +; Example: +; !insertmacro APP_ASSOCIATE_ADDVERB "myapp.textfile" "edit" "Edit with myapp" \ +; "$INSTDIR\myapp.exe /edit $\"%1$\"" +; +; To have access to more options when registering the file association use the +; APP_ASSOCIATE_EX macro. Here you can specify the verb and what verb is to be the +; standard action (default verb). +; +; And finally: To remove the association from the registry use the APP_UNASSOCIATE +; macro. Here is another example just to wrap it up: +; !insertmacro APP_UNASSOCIATE "txt" "myapp.textfile" +; +; |> Note <| +; When defining your file class string always use the short form of your application title +; then a period (dot) and the type of file. This keeps the file class sort of unique. +; Examples: +; Winamp.Playlist +; NSIS.Script +; Photoshop.JPEGFile +; +; |> Tech info <| +; The registry key layout for a file association is: +; HKEY_CLASSES_ROOT +; = <"description"> +; shell +; = <"menu-item text"> +; command = <"command string"> +; + +!macro APP_ASSOCIATE EXT FILECLASS DESCRIPTION ICON COMMANDTEXT COMMAND + ; Backup the previously associated file class + ReadRegStr $R0 HKCR ".${EXT}" "" + WriteRegStr HKCR ".${EXT}" "${FILECLASS}_backup" "$R0" + + WriteRegStr HKCR ".${EXT}" "" "${FILECLASS}" + + WriteRegStr HKCR "${FILECLASS}" "" `${DESCRIPTION}` + WriteRegStr HKCR "${FILECLASS}\DefaultIcon" "" `${ICON}` + WriteRegStr HKCR "${FILECLASS}\shell" "" "open" + WriteRegStr HKCR "${FILECLASS}\shell\open" "" `${COMMANDTEXT}` + WriteRegStr HKCR "${FILECLASS}\shell\open\command" "" `${COMMAND}` +!macroend + +!macro APP_ASSOCIATE_EX EXT FILECLASS DESCRIPTION ICON VERB DEFAULTVERB SHELLNEW COMMANDTEXT COMMAND + ; Backup the previously associated file class + ReadRegStr $R0 HKCR ".${EXT}" "" + WriteRegStr HKCR ".${EXT}" "${FILECLASS}_backup" "$R0" + + WriteRegStr HKCR ".${EXT}" "" "${FILECLASS}" + StrCmp "${SHELLNEW}" "0" +2 + WriteRegStr HKCR ".${EXT}\ShellNew" "NullFile" "" + + WriteRegStr HKCR "${FILECLASS}" "" `${DESCRIPTION}` + WriteRegStr HKCR "${FILECLASS}\DefaultIcon" "" `${ICON}` + WriteRegStr HKCR "${FILECLASS}\shell" "" `${DEFAULTVERB}` + WriteRegStr HKCR "${FILECLASS}\shell\${VERB}" "" `${COMMANDTEXT}` + WriteRegStr HKCR "${FILECLASS}\shell\${VERB}\command" "" `${COMMAND}` +!macroend + +!macro APP_ASSOCIATE_ADDVERB FILECLASS VERB COMMANDTEXT COMMAND + WriteRegStr HKCR "${FILECLASS}\shell\${VERB}" "" `${COMMANDTEXT}` + WriteRegStr HKCR "${FILECLASS}\shell\${VERB}\command" "" `${COMMAND}` +!macroend + +!macro APP_ASSOCIATE_REMOVEVERB FILECLASS VERB + DeleteRegKey HKCR `${FILECLASS}\shell\${VERB}` +!macroend + + +!macro APP_UNASSOCIATE EXT FILECLASS + ; Backup the previously associated file class + ReadRegStr $R0 HKCR ".${EXT}" `${FILECLASS}_backup` + WriteRegStr HKCR ".${EXT}" "" "$R0" + + DeleteRegKey HKCR `${FILECLASS}` +!macroend + +!macro APP_ASSOCIATE_GETFILECLASS OUTPUT EXT + ReadRegStr ${OUTPUT} HKCR ".${EXT}" "" +!macroend + + +; !defines for use with SHChangeNotify +!ifdef SHCNE_ASSOCCHANGED +!undef SHCNE_ASSOCCHANGED +!endif +!define SHCNE_ASSOCCHANGED 0x08000000 +!ifdef SHCNF_FLUSH +!undef SHCNF_FLUSH +!endif +!define SHCNF_FLUSH 0x1000 + +!macro UPDATEFILEASSOC +; Using the system.dll plugin to call the SHChangeNotify Win32 API function so we +; can update the shell. + System::Call "shell32::SHChangeNotify(i,i,i,i) (${SHCNE_ASSOCCHANGED}, ${SHCNF_FLUSH}, 0, 0)" +!macroend + +;EOF diff --git a/qt/bundle/win/rustfmt.toml b/qt/bundle/win/rustfmt.toml new file mode 100644 index 000000000..3c812a2b9 --- /dev/null +++ b/qt/bundle/win/rustfmt.toml @@ -0,0 +1,4 @@ +# this is not supported on stable Rust, and is ignored by the Bazel rules; it is only +# useful for manual invocation with 'cargo +nightly fmt' +imports_granularity = "Crate" +group_imports = "StdExternalCrate" diff --git a/qt/bundle/win/src/main.rs b/qt/bundle/win/src/main.rs new file mode 100644 index 000000000..0a866be56 --- /dev/null +++ b/qt/bundle/win/src/main.rs @@ -0,0 +1,222 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::{ + fs, + io::prelude::*, + path::{Component, Path, PathBuf, Prefix}, + process::Command, +}; + +use anyhow::{bail, Context, Result}; +use slog::*; +use tugger_windows_codesign::{CodeSigningCertificate, SigntoolSign, SystemStore, TimestampServer}; +use walkdir::WalkDir; + +fn main() -> anyhow::Result<()> { + let plain = slog_term::PlainSyncDecorator::new(std::io::stdout()); + let logger = Logger::root(slog_term::FullFormat::new(plain).build().fuse(), o!()); + + let args: Vec<_> = std::env::args().collect(); + let build_folder = PathBuf::from(args.get(1).context("build folder")?); + let bazel_external = PathBuf::from(args.get(2).context("bazel external")?); + // bundle/build.py folder + let build_py_folder = PathBuf::from(args.get(3).context("build_py_folder")?); + let version = args.get(4).context("version")?; + + let std_folder = build_folder.join("std"); + let alt_folder = build_folder.join("alt"); + let folders = &[&std_folder, &alt_folder]; + + for folder in folders { + fs::copy( + build_py_folder.join("win").join("anki-console.bat"), + folder.join("anki-console.bat"), + ) + .context("anki-console")?; + } + + println!("--- Copy in audio"); + copy_in_audio(&std_folder, &bazel_external)?; + copy_in_audio(&alt_folder, &bazel_external)?; + + println!("--- Build uninstaller"); + build_installer(&std_folder, &build_folder, version, true).context("uninstaller")?; + + // sign the anki.exe and uninstaller.exe in std, then copy into alt + println!("--- Sign binaries"); + codesign( + &logger, + &[ + &std_folder.join("anki.exe"), + &std_folder.join("uninstall.exe"), + ], + )?; + for fname in &["anki.exe", "uninstall.exe"] { + fs::copy(std_folder.join(fname), alt_folder.join(fname)) + .with_context(|| format!("copy {fname}"))?; + } + + println!("--- Build manifest"); + for folder in folders { + build_manifest(folder).context("manifest")?; + } + + let mut installer_paths = vec![]; + for (folder, variant) in folders.iter().zip(&["qt6", "qt5"]) { + println!( + "--- Build installer for {}", + folder.file_name().unwrap().to_str().unwrap() + ); + build_installer(folder, &build_folder, version, false)?; + let installer_filename = format!("anki-{version}-windows-{variant}.exe"); + let installer_path = build_folder + .join("..") + .join("dist") + .join(installer_filename); + + fs::rename(build_folder.join("anki-setup.exe"), &installer_path) + .context("rename installer")?; + installer_paths.push(installer_path); + } + + println!("--- Sign installers"); + codesign(&logger, &installer_paths)?; + + Ok(()) +} + +fn build_installer( + variant_folder: &Path, + build_folder: &Path, + version: &str, + uninstaller: bool, +) -> Result<()> { + let rendered_nsi = include_str!("../anki.template.nsi") + .replace("@@SRC@@", variant_folder.to_str().unwrap()) + .replace("@@VERSION@@", version); + let rendered_nsi_path = build_folder.join("anki.nsi"); + fs::write(&rendered_nsi_path, rendered_nsi).context("anki.nsi")?; + fs::write( + build_folder.join("fileassoc.nsh"), + include_str!("../fileassoc.nsh"), + )?; + let mut cmd = Command::new("c:/program files (x86)/nsis/makensis.exe"); + cmd.arg("-V3"); + if uninstaller { + cmd.arg("-DWRITE_UNINSTALLER"); + }; + if option_env!("NO_COMPRESS").is_some() { + cmd.arg("-DNO_COMPRESS"); + } + cmd.arg(rendered_nsi_path); + let status = cmd.status()?; + if !status.success() { + bail!("makensis failed"); + } + Ok(()) +} + +/// Copy everything at the provided path into the bundle dir. +/// Excludes standard Bazel repo files. +fn extend_app_contents(source: &Path, bundle_dir: &Path) -> Result<()> { + let status = Command::new("rsync") + .arg("-a") + .args(["--exclude", "BUILD.bazel", "--exclude", "WORKSPACE"]) + .arg(format!("{}/", path_for_rsync(source, true)?)) + .arg(format!("{}/", path_for_rsync(bundle_dir, true)?)) + .status()?; + if !status.success() { + bail!("error syncing {source:?}"); + } + Ok(()) +} + +/// Munge path into a format rsync expects on Windows. +fn path_for_rsync(path: &Path, trailing_slash: bool) -> Result { + let mut components = path.components(); + let mut drive = None; + if let Some(Component::Prefix(prefix)) = components.next() { + if let Prefix::Disk(letter) = prefix.kind() { + drive = Some(char::from(letter)); + } + }; + let drive = drive.context("missing drive letter")?; + let remaining_path: PathBuf = components.collect(); + Ok(format!( + "/{}{}{}", + drive, + remaining_path + .to_str() + .context("remaining_path")? + .replace("\\", "/"), + if trailing_slash { "/" } else { "" } + )) +} + +fn copy_in_audio(bundle_dir: &Path, bazel_external: &Path) -> Result<()> { + extend_app_contents(&bazel_external.join("audio_win_amd64"), bundle_dir) +} + +fn codesign(logger: &Logger, paths: &[impl AsRef]) -> Result<()> { + if option_env!("ANKI_CODESIGN").is_none() { + return Ok(()); + } + let cert = CodeSigningCertificate::Sha1Thumbprint( + SystemStore::My, + "60abdb9cb52b7dc13550e8838486a00e693770d9".into(), + ); + let mut sign = SigntoolSign::new(cert); + sign.file_digest_algorithm("sha256") + .timestamp_server(TimestampServer::Rfc3161( + "http://time.certum.pl".into(), + "sha256".into(), + )) + .verbose(); + paths.iter().for_each(|path| { + sign.sign_file(path); + }); + sign.run(logger) +} + +// FIXME: check uninstall.exe required or not +fn build_manifest(base_path: &Path) -> Result<()> { + let mut buf = vec![]; + for entry in WalkDir::new(base_path) + .min_depth(1) + .sort_by_file_name() + .into_iter() + { + let entry = entry?; + let path = entry.path(); + let relative_path = path.strip_prefix(base_path)?; + write!( + &mut buf, + "{}\r\n", + relative_path.to_str().context("relative_path utf8")? + )?; + } + fs::write(base_path.join("anki.install-manifest"), buf)?; + Ok(()) +} + +#[cfg(test)] +mod test { + #[allow(unused_imports)] + use super::*; + + #[test] + #[cfg(windows)] + fn test_path_for_rsync() -> Result<()> { + assert_eq!( + path_for_rsync(Path::new("c:\\foo\\bar"), false)?, + "/C/foo/bar" + ); + assert_eq!( + path_for_rsync(Path::new("c:\\foo\\bar"), true)?, + "/C/foo/bar/" + ); + + Ok(()) + } +} diff --git a/qt/package/build.bat b/qt/package/build.bat deleted file mode 100755 index 78c3ca4c2..000000000 --- a/qt/package/build.bat +++ /dev/null @@ -1,21 +0,0 @@ -:: ensure wheels are built and set up Rust env -pushd ..\.. -call scripts\build || exit /b -call scripts\cargo-env -set ROOT=%CD% -popd - -:: ensure venv exists -set OUTPUT_ROOT=%ROOT%/bazel-pkg -set VENV=%OUTPUT_ROOT%/venv -if not exist %VENV% ( - mkdir %OUTPUT_ROOT% - pushd %ROOT% - call scripts\python -m venv %VENV% || exit /b - popd -) - -:: run the rest of the build in Python -FOR /F "tokens=*" %%g IN ('call ..\..\bazel.bat info output_base --ui_event_filters=-INFO') do (SET BAZEL_EXTERNAL=%%g/external) -call ..\..\bazel.bat query @pyqt515//:* -%VENV%\scripts\python build.py %ROOT% %BAZEL_EXTERNAL% || exit /b diff --git a/qt/package/build.py b/qt/package/build.py deleted file mode 100644 index aafd6f246..000000000 --- a/qt/package/build.py +++ /dev/null @@ -1,264 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - - -from __future__ import annotations - -import glob -import os -import platform -import re -import shutil -import subprocess -import sys -from pathlib import Path - -is_win = sys.platform == "win32" - -workspace = Path(sys.argv[1]) -output_root = workspace / "bazel-pkg" -dist_folder = output_root / "dist" -venv = output_root / "venv" -cargo_target = output_root / "target" -bazel_external = Path(sys.argv[2]) -artifacts = output_root / "artifacts" -pyo3_config = output_root / "pyo3-build-config-file.txt" - -if is_win: - python_bin_folder = venv / "scripts" - os.environ["PATH"] += fr";{os.getenv('USERPROFILE')}\.cargo\bin" - cargo_features = "build-mode-prebuilt-artifacts" -else: - python_bin_folder = venv / "bin" - os.environ["PATH"] += f":{os.getenv('HOME')}/.cargo/bin" - cargo_features = ( - "build-mode-prebuilt-artifacts global-allocator-jemalloc allocator-jemalloc" - ) - -os.environ["PYOXIDIZER_ARTIFACT_DIR"] = str(artifacts) -os.environ["PYOXIDIZER_CONFIG"] = str(Path(os.getcwd()) / "pyoxidizer.bzl") -os.environ["CARGO_TARGET_DIR"] = str(cargo_target) - -# OS-specific things -pyqt5_folder_name = "pyqt515" -pyqt6_folder_path = bazel_external / "pyqt6" / "PyQt6" -is_lin = False -arm64_linux = False -if is_win: - os.environ["TARGET"] = "x86_64-pc-windows-msvc" -elif sys.platform.startswith("darwin"): - if platform.machine() == "arm64": - pyqt5_folder_name = None - os.environ["TARGET"] = "aarch64-apple-darwin" - os.environ["MACOSX_DEPLOYMENT_TARGET"] = "11.0" - else: - pyqt5_folder_name = "pyqt514" - os.environ["TARGET"] = "x86_64-apple-darwin" - os.environ["MACOSX_DEPLOYMENT_TARGET"] = "10.13" -else: - is_lin = True - if platform.machine() == "x86_64": - os.environ["TARGET"] = "x86_64-unknown-linux-gnu" - else: - os.environ["TARGET"] = "aarch64-unknown-linux-gnu" - pyqt5_folder_name = None - pyqt6_folder_path = None - arm64_linux = True - - -python = python_bin_folder / "python" -pip = python_bin_folder / "pip" -artifacts_in_build = ( - output_root - / "build" - / os.getenv("TARGET") - / "release" - / "resources" - / "extra_files" -) - - -def build_pyoxidizer(): - subprocess.run( - [ - "cargo", - "install", - "--git", - "https://github.com/ankitects/PyOxidizer.git", - "--rev", - # when updating, make sure Cargo.toml updated too - "eb26dd7cd1290de6503869f3d719eabcec45e139", - "pyoxidizer", - ], - check=True, - ) - - -def install_wheels_into_venv(): - # Pip's handling of hashes is somewhat broken. It spots the hashes in the constraints - # file and forces all files to have a hash. We can manually hash our generated wheels - # and pass them in with hashes, but it still breaks, because the 'protobuf>=3.17' - # specifier in the pylib wheel is not allowed. Nevermind that a specific version is - # included in the constraints file we pass along! To get things working, we're - # forced to strip the hashes out before installing. This should be safe, as the files - # have already been validated as part of the build process. - constraints = output_root / "deps_without_hashes.txt" - with open(workspace / "python" / "requirements.txt") as f: - buf = f.read() - with open(constraints, "w") as f: - extracted = re.findall("^(\S+==\S+) ", buf, flags=re.M) - f.write("\n".join(extracted)) - - # install wheels and upgrade any deps - wheels = glob.glob(str(workspace / "bazel-dist" / "*.whl")) - subprocess.run( - [pip, "install", "--upgrade", "-c", constraints, *wheels], check=True - ) - # always reinstall our wheels - subprocess.run( - [pip, "install", "--force-reinstall", "--no-deps", *wheels], check=True - ) - # pypi protobuf lacks C extension on darwin-arm; use a locally built version - protobuf = Path.home() / "protobuf-3.19.1-cp39-cp39-macosx_11_0_arm64.whl" - if protobuf.exists(): - subprocess.run( - [pip, "install", "--force-reinstall", "--no-deps", protobuf], check=True - ) - if arm64_linux: - # orjson doesn't get packaged correctly; remove it and we'll - # copy a copy in later - subprocess.run([pip, "uninstall", "-y", "orjson"], check=True) - - -def build_artifacts(): - if os.path.exists(artifacts): - shutil.rmtree(artifacts) - if os.path.exists(artifacts_in_build): - shutil.rmtree(artifacts_in_build) - - subprocess.run( - [ - "pyoxidizer", - "--system-rust", - "run-build-script", - "build.rs", - "--var", - "venv", - venv, - ], - check=True, - env=os.environ - | dict( - CARGO_MANIFEST_DIR=".", - OUT_DIR=str(artifacts), - PROFILE="release", - PYO3_PYTHON=str(python), - ), - ) - - existing_config = None - if os.path.exists(pyo3_config): - with open(pyo3_config) as f: - existing_config = f.read() - - with open(artifacts / "pyo3-build-config-file.txt") as f: - new_config = f.read() - - # avoid bumping mtime, which triggers crate recompile - if new_config != existing_config: - with open(pyo3_config, "w") as f: - f.write(new_config) - - -def build_pkg(): - subprocess.run( - [ - "cargo", - "build", - "--release", - "--no-default-features", - "--features", - cargo_features, - ], - check=True, - env=os.environ | dict(PYO3_CONFIG_FILE=str(pyo3_config)), - ) - - -def adj_path_for_windows_rsync(path: Path) -> str: - if not is_win: - return str(path) - - path = path.absolute() - rest = str(path)[2:].replace("\\", "/") - return f"/{path.drive[0]}{rest}" - - -def merge_into_dist(output_folder: Path, pyqt_src_path: Path | None): - if not output_folder.exists(): - output_folder.mkdir(parents=True) - # PyQt - if pyqt_src_path: - subprocess.run( - [ - "rsync", - "-a", - "--delete", - "--exclude-from", - "qt.exclude", - adj_path_for_windows_rsync(pyqt_src_path), - adj_path_for_windows_rsync(output_folder / "lib") + "/", - ], - check=True, - ) - # Executable and other resources - resources = [ - adj_path_for_windows_rsync( - cargo_target / "release" / ("anki.exe" if is_win else "anki") - ), - adj_path_for_windows_rsync(artifacts_in_build) + "/", - ] - if is_win: - resources.append(adj_path_for_windows_rsync(Path("win")) + "/") - elif is_lin: - resources.append("lin/") - - subprocess.run( - [ - "rsync", - "-a", - "--delete", - "--exclude", - "PyQt6", - "--exclude", - "PyQt5", - *resources, - adj_path_for_windows_rsync(output_folder) + "/", - ], - check=True, - ) - # Linux ARM workarounds - if arm64_linux: - # copy orjson ends up broken; copy from venv - subprocess.run( - [ - "rsync", - "-a", - "--delete", - os.path.expanduser("~/orjson"), - output_folder / "lib/", - ], - check=True, - ) - # Ensure all files are world-readable - if not is_win: - subprocess.run(["chmod", "-R", "a+r", output_folder]) - - -build_pyoxidizer() -install_wheels_into_venv() -build_artifacts() -build_pkg() -merge_into_dist(dist_folder / "std", pyqt6_folder_path) -if pyqt5_folder_name: - merge_into_dist(dist_folder / "alt", bazel_external / pyqt5_folder_name / "PyQt5") diff --git a/qt/package/build.sh b/qt/package/build.sh deleted file mode 100755 index bd0d64ed6..000000000 --- a/qt/package/build.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -set -e - -cd $(dirname $0) -ROOT=$(pwd)/../.. -OUTPUT_ROOT=$ROOT/bazel-pkg -VENV=$OUTPUT_ROOT/venv -BAZEL_EXTERNAL=$(bazel info output_base --ui_event_filters=-INFO)/external - -# ensure the wheels are built -(cd $ROOT && ./scripts/build) - -# ensure venv exists -test -d $VENV || ( - mkdir -p $OUTPUT_ROOT - (cd $ROOT && ./scripts/python -m venv $VENV) -) - -# run the rest of the build in Python -. $ROOT/scripts/cargo-env -if [[ "$OSTYPE" == "darwin"* ]]; then - if [ $(uname -m) != "arm64" ]; then - bazel query @pyqt514//:* > /dev/null - fi -else - bazel query @pyqt515//:* > /dev/null -fi -$VENV/bin/python build.py $ROOT $BAZEL_EXTERNAL diff --git a/qt/package/buildmanifest.py b/qt/package/buildmanifest.py deleted file mode 100644 index 3057879c9..000000000 --- a/qt/package/buildmanifest.py +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -import os -import sys -from pathlib import Path - - -def build_manifest(top: Path) -> None: - manifest = [] - for root, dirnames, fnames in os.walk(top, topdown=True): - relroot = root[len(str(top)) + 1 :] - # if not top level, add folder - if relroot: - manifest.append(relroot) - # then the files - for fname in fnames: - path = os.path.join(relroot, fname) - manifest.append(path) - - with open(top / "anki.install-manifest", "w") as file: - file.write("\n".join(manifest) + "\n") - - -if __name__ == "__main__": - build_manifest(Path(sys.argv[1])) diff --git a/qt/tests/run_format.py b/qt/tests/run_format.py index a5039ad50..092e3d1b0 100644 --- a/qt/tests/run_format.py +++ b/qt/tests/run_format.py @@ -33,7 +33,7 @@ if __name__ == "__main__": "aqt", "tests", "tools", - "package", + "bundle", ] + args, check=False, @@ -51,7 +51,7 @@ if __name__ == "__main__": "aqt", "tests", "tools", - "package", + "bundle", ] + args, check=False, diff --git a/qt/tools/extract_sass_colors.py b/qt/tools/extract_sass_colors.py index c13a1d7d9..219fd6a26 100644 --- a/qt/tools/extract_sass_colors.py +++ b/qt/tools/extract_sass_colors.py @@ -22,6 +22,7 @@ for line in open(input_scss): and not ":root" in line and "Copyright" not in line and "License" not in line + and "color-scheme" not in line ): print("failed to match", line) continue diff --git a/repos.bzl b/repos.bzl index 8cb8619e9..85db1ae59 100644 --- a/repos.bzl +++ b/repos.bzl @@ -151,3 +151,98 @@ exports_files(["l10n.toml"]) ], sha256 = qtftl_i18n_zip_csum, ) + + # binary bundle + ################ + + maybe( + http_archive, + name = "pyoxidizer", + sha256 = "9f7951473d88c7989dc80199146f82020226a3b2425474fd33b6bcbd8fdd1b1c", + urls = [ + # when changing this, the commit hash needs to be updated in qt/bundle/Cargo.toml + "https://github.com/ankitects/PyOxidizer/archive/refs/tags/anki-2021-12-08.tar.gz", + ], + strip_prefix = "PyOxidizer-anki-2021-12-08", + build_file_content = " ", + ) + + maybe( + http_archive, + name = "bundle_extras_linux_amd64", + build_file_content = " ", + urls = [ + "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-02-09/linux-amd64.tar.gz", + ], + sha256 = "cbfb41fb750ae19b381f8137bd307e1167fdc68420052977f6e1887537a131b0", + ) + + maybe( + http_archive, + name = "audio_win_amd64", + build_file_content = " ", + urls = [ + "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-02-09/audio-win-amd64.tar.gz", + ], + sha256 = "0815a601baba05e03bc36b568cdc2332b1cf4aa17125fc33c69de125f8dd687f", + ) + + maybe( + http_archive, + name = "protobuf_wheel_mac_arm64", + build_file_content = " ", + urls = [ + "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-02-09/protobuf-wheel-mac-arm64.tar", + ], + sha256 = "401d1cd6d949af463b3945f0d5dc887185b27fa5478cb6847bf94f680ea797b4", + ) + + maybe( + http_archive, + name = "audio_mac_amd64", + build_file_content = " ", + urls = [ + "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-02-09/audio-mac-amd64.tar.gz", + ], + sha256 = "d9310cbd6bed09d6d36deb8b7611bffbd161628512b1bf8d7becfdf78b5cd1dd", + ) + + maybe( + http_archive, + name = "audio_mac_arm64", + build_file_content = " ", + urls = [ + "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-02-09/audio-mac-arm64.tar.gz", + ], + sha256 = "c30a772132a16fa79d9a1e60f5dce2f91fe8077e2709a8f39ef499d49f6a4b0e", + ) + + maybe( + http_archive, + name = "pyqt6.2_mac_bundle_amd64", + build_file_content = " ", + urls = [ + "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-02-09/pyqt6.2-mac-amd64.tar.gz", + ], + sha256 = "c7bf899eee33fcb3b5848f5d3e5fc390012efc05c2308e4349b7bbd5939c85f0", + ) + + maybe( + http_archive, + name = "pyqt6.2_mac_bundle_arm64", + build_file_content = " ", + urls = [ + "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-02-09/pyqt6.2-mac-arm64.tar.gz", + ], + sha256 = "7a4b7d5bd65c83fd16cf7e56929183ef0d1d7bb67f9deea8f2482d7378e0ea02", + ) + + maybe( + http_archive, + name = "pyqt5.14_mac_bundle_amd64", + build_file_content = " ", + urls = [ + "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-02-09/pyqt5.14-mac-amd64.tar.gz", + ], + sha256 = "474951bed79ddb9570ee4c5a6079041772551ea77e77171d9e33d6f5e7877ec1", + ) diff --git a/run.bat b/run.bat index d5d9a78b0..910998fb3 100755 --- a/run.bat +++ b/run.bat @@ -1,2 +1,7 @@ +@echo off +pushd "%~dp0" +call tools\setup-env.bat + set PYTHONWARNINGS=default -call .\bazel.bat run %BUILDARGS% //qt:runanki -k -- %* +bazel run %BUILDARGS% //qt:runanki -k -- %* || exit /b 1 +popd diff --git a/scripts/build b/scripts/build deleted file mode 100755 index cb6081935..000000000 --- a/scripts/build +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -set -e - -test -e WORKSPACE || ( - echo "Run from project root" - exit 1 -) - -rm -rf bazel-dist -bazel build --config opt dist -tar xvf .bazel/bin/dist.tar diff --git a/scripts/build.bat b/scripts/build.bat deleted file mode 100755 index ca43defa9..000000000 --- a/scripts/build.bat +++ /dev/null @@ -1,12 +0,0 @@ -@echo off - -if not exist WORKSPACE ( - echo Run from project root - exit /b 1 -) - -rd /s /q bazel-dist - -set BUILDARGS=-k -c opt dist --color=yes -call .\bazel build %BUILDARGS% || exit /b 1 -tar xvf ..\bazel\anki\bin\dist.tar || exit /b 1 diff --git a/scripts/cargo-env.bat b/scripts/cargo-env.bat deleted file mode 100644 index 0ca775e93..000000000 --- a/scripts/cargo-env.bat +++ /dev/null @@ -1,4 +0,0 @@ -rem Run this from the repo root folder - -FOR /F "tokens=*" %%g IN ('call bazel.bat info output_base --ui_event_filters=-INFO') do (SET BAZEL_EXTERNAL=%%g/external) -set PATH=%BAZEL_EXTERNAL%\rust_windows_x86_64\bin;%PATH% diff --git a/scripts/docker/README.md b/scripts/docker/README.md deleted file mode 100644 index 83d02658b..000000000 --- a/scripts/docker/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# Building in Docker - -This folder contains a script for building Anki inside a Docker container. -It works by creating an image with the required dependencies, and then runs the -build with the source folder mounted into the image. This will cause files to be -written into `bazel-\*` and `node_modules` in the source folder as the build proceeds. -The advantage of doing it this way is that most of the efficiency of building -outside Docker is retained - you can make minor changes and run the build again, -and only the changed parts need to be rebuilt. - -If you're looking for a fully isolated build, [this other -approach](../../docs/docker/README.md) in the docs folder may suit you better. As -it also includes runtime dependencies, it may be a useful reference for libraries -you'll need to install before running Anki. - -# Usage - -Ensure Docker is installed on your machine, and your user has permission to connect -to Docker. Then run the following command from the root folder of this source repo: - -``` -$ scripts/docker/build.sh amd64 -``` - -The resulting wheels will be written into bazel-dist. See -[Development](../docs/development.md) for information on how to install them. - -If you're on an ARM Linux machine, replace amd64 with arm64. diff --git a/scripts/docker/build-entrypoint b/scripts/docker/build-entrypoint deleted file mode 100644 index 6a97fbc20..000000000 --- a/scripts/docker/build-entrypoint +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -set -e - -rm -rf bazel-dist -bazel build -c opt dist --symlink_prefix=bazel-docker/links/ \ - --experimental_no_product_name_out_symlink -tar xvf bazel-docker/links/bin/dist.tar -if [ "$PACKAGE" != "" ]; then - (cd qt/package && ./build.sh) -fi -bazel shutdown diff --git a/scripts/docker/build.sh b/scripts/docker/build.sh deleted file mode 100755 index 2c3968b55..000000000 --- a/scripts/docker/build.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -set -e - -test -e WORKSPACE || ( - echo "Run from project root" - exit 1 -) - -arch=$1 - -if [ "$arch" != "amd64" -a "$arch" != "arm64" ]; then - echo "usage: build [amd64|arm64]" - exit 1 -fi - -rm -rf bazel-dist - -export DOCKER_BUILDKIT=1 - -docker build --tag ankibuild --file scripts/docker/Dockerfile.$arch \ - --build-arg uid=$(id -u) --build-arg gid=$(id -g) \ - scripts/docker -docker run --rm -it -e PACKAGE=$PACKAGE \ - --mount type=bind,source="$(pwd)",target=/code \ - ankibuild diff --git a/scripts/python.bat b/scripts/python.bat deleted file mode 100755 index 44d6a5d3c..000000000 --- a/scripts/python.bat +++ /dev/null @@ -1 +0,0 @@ -call bazel run python --ui_event_filters=-INFO -- %* diff --git a/scripts/run-qt5.14 b/scripts/run-qt5.14 deleted file mode 100755 index 6eaba20e9..000000000 --- a/scripts/run-qt5.14 +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -# note: 5.14 is not available on Windows for Python 3.9 - -set -e - -export PYTHONWARNINGS=default -bazel run $BUILDARGS //qt:runanki_qt514 -- $* diff --git a/scripts/run-qt5.15 b/scripts/run-qt5.15 deleted file mode 100755 index e04622eeb..000000000 --- a/scripts/run-qt5.15 +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -set -e - -export PYTHONWARNINGS=default -bazel run $BUILDARGS //qt:runanki_qt515 -- $* diff --git a/scripts/run-qt5.15.bat b/scripts/run-qt5.15.bat deleted file mode 100755 index 252685f03..000000000 --- a/scripts/run-qt5.15.bat +++ /dev/null @@ -1,4 +0,0 @@ -REM run this from the scripts folder, not from root - -set PYTHONWARNINGS=default -call ..\bazel.bat run %BUILDARGS% //qt:runanki_qt515 -k -- %* diff --git a/scripts/runopt.bat b/scripts/runopt.bat deleted file mode 100755 index 9027d87d7..000000000 --- a/scripts/runopt.bat +++ /dev/null @@ -1,2 +0,0 @@ -set BUILDARGS=-c opt -call .\run.bat %* diff --git a/scripts/BUILD.bazel b/tools/BUILD.bazel similarity index 100% rename from scripts/BUILD.bazel rename to tools/BUILD.bazel diff --git a/tools/bazel b/tools/bazel new file mode 100755 index 000000000..4e99266e6 --- /dev/null +++ b/tools/bazel @@ -0,0 +1,20 @@ +#!/bin/bash + +set -e + +# When building under Rosetta, use a separate output root, so that repo rules don't +# need to be run again when switching between x86_64 and arm64 builds. +extra_args="" +if [[ $OSTYPE == 'darwin'* ]]; then + if [ $(uname -m) = x86_64 -a "$(sysctl -in sysctl.proc_translated)" = 1 ]; then + extra_args="--output_base=$HOME/.cache/anki-rosetta" + fi +fi + +# Bazelisk will place the tools folder at the front of the path. This breaks +# genrule() invocations like //:buildinfo, as they call 'bazel run python', which +# fails as BAZEL_REAL is not passed to the child process. Work around it by removing +# the tools folder from the path. +export PATH=$(echo "$PATH" | sed 's@^.*/tools:@@') + +exec $BAZEL_REAL $extra_args "$@" diff --git a/tools/build b/tools/build new file mode 100755 index 000000000..250c4f4c3 --- /dev/null +++ b/tools/build @@ -0,0 +1,21 @@ +#!/bin/bash + +set -e + +test -e WORKSPACE || ( + echo "Run from project root" + exit 1 +) + +cwd=$(pwd) +build=.bazel/out/dist + +# we remove wheels between runs, so old builds +# don't break 'pip install dist/*.whl' +rm -rf ${build}/*.whl + +bazel build --config opt wheels +mkdir -p $build +cd $build && tar xf ${cwd}/.bazel/bin/wheels.tar + +echo "wheels are in .bazel/out/dist" diff --git a/tools/build.bat b/tools/build.bat new file mode 100755 index 000000000..d9f5c0c2c --- /dev/null +++ b/tools/build.bat @@ -0,0 +1,18 @@ +@echo off +pushd "%~dp0"\.. +call tools\setup-env.bat + +echo --- Build wheels + +set cwd=%CD% +set dist=.bazel\out\dist + +bazel build -c opt wheels --color=yes || exit /b 1 +if exist %dist% ( + rd /s /q %dist% || exit /b 1 +) +md %dist% || exit /b 1 +cd %dist% +tar xvf %cwd%\.bazel\bin\wheels.tar || exit /b 1 +echo wheels are in %dist% +popd diff --git a/scripts/buildinfo.py b/tools/buildinfo.py similarity index 100% rename from scripts/buildinfo.py rename to tools/buildinfo.py diff --git a/tools/bundle b/tools/bundle new file mode 100755 index 000000000..7843a6654 --- /dev/null +++ b/tools/bundle @@ -0,0 +1,39 @@ +#!/bin/bash + +set -e + +cd $(dirname $0) +ROOT=$(pwd)/.. +OUTPUT_ROOT=$ROOT/.bazel/out/build +VENV=$OUTPUT_ROOT/venv-$(uname -m) +BAZEL_EXTERNAL=$(bazel info output_base --ui_event_filters=-INFO)/external + +echo "--- Building wheels for $(uname -m)" +(cd $ROOT && ./tools/build) + +echo "--- Setup venv" +test -d $VENV || ( + mkdir -p $OUTPUT_ROOT + (cd $ROOT && ./tools/python -m venv $VENV) +) + +echo "--- Fetch extra deps" +bazel query @pyoxidizer//:* +if [[ "$OSTYPE" == "darwin"* ]]; then + if [ $(uname -m) != "arm64" ]; then + bazel query @audio_mac_amd64//:* > /dev/null + bazel query @pyqt6.2_mac_bundle_amd64//:* > /dev/null + bazel query @pyqt5.14_mac_bundle_amd64//:* > /dev/null + else + bazel query @audio_mac_arm64//:* > /dev/null + bazel query @pyqt6.2_mac_bundle_arm64//:* > /dev/null + bazel query @protobuf_wheel_mac_arm64//:* > /dev/null + + fi +else + bazel query @pyqt515//:* > /dev/null + bazel query @bundle_extras_linux_amd64//:* > /dev/null +fi + +. $ROOT/tools/cargo-env +(cd $ROOT/qt/bundle && $VENV/bin/python build.py $ROOT $BAZEL_EXTERNAL) diff --git a/tools/bundle.bat b/tools/bundle.bat new file mode 100755 index 000000000..c1dbe0765 --- /dev/null +++ b/tools/bundle.bat @@ -0,0 +1,33 @@ +@echo off +pushd "%~dp0"\.. +call tools\setup-env.bat + +:: ensure wheels are built and set up Rust env +call tools\build || exit /b 1 +call tools\cargo-env +set ROOT=%CD% + +:: ensure venv exists +echo --- Setup venv +set OUTPUT_ROOT=%ROOT%\.bazel\out\build +set VENV=%OUTPUT_ROOT%\venv-AMD64 +if not exist %VENV% ( + mkdir %OUTPUT_ROOT% + call tools\python -m venv %VENV% || exit /b +) + +:: pyoxidizer requires python.org for build +set PATH=\python39;%PATH% + +:: run the rest of the build in Python +echo --- Fetching extra deps +FOR /F "tokens=*" %%g IN ('bazel info output_base --ui_event_filters=-INFO') do (SET BAZEL_EXTERNAL=%%g/external) +bazel query @pyqt515//:* > nul +bazel query @pyoxidizer//:* > nul +bazel query @audio_win_amd64//:* > nul + +echo --- Build bundle +pushd qt\bundle +%VENV%\scripts\python build.py %ROOT% %BAZEL_EXTERNAL% || exit /b +popd +popd \ No newline at end of file diff --git a/scripts/cargo-env b/tools/cargo-env similarity index 85% rename from scripts/cargo-env rename to tools/cargo-env index b987d169a..e242bbd1e 100755 --- a/scripts/cargo-env +++ b/tools/cargo-env @@ -4,19 +4,19 @@ # quick access to cargo on a machine that does not have Rust installed # separately, or want to run a quick check. Eg: -# $ . scripts/cargo-env +# $ . tools/cargo-env # $ (cd rslib && cargo check) BAZEL_EXTERNAL=$(bazel info output_base --ui_event_filters=-INFO)/external if [[ "$OSTYPE" == "darwin"* ]]; then - if [ "$(arch)" == "i386" ]; then + if [ "$(uname -m)" == "x86_64" ]; then export PATH="$BAZEL_EXTERNAL/rust_darwin_x86_64/bin:$PATH" else export PATH="$BAZEL_EXTERNAL/rust_darwin_aarch64/bin:$PATH" fi else - if [ "$(arch)" == "aarch64" ]; then + if [ "$(uname -m)" == "aarch64" ]; then export PATH="$BAZEL_EXTERNAL/rust_linux_aarch64/bin:$PATH" else export PATH="$BAZEL_EXTERNAL/rust_linux_x86_64/bin:$PATH" diff --git a/tools/cargo-env.bat b/tools/cargo-env.bat new file mode 100644 index 000000000..474793e1e --- /dev/null +++ b/tools/cargo-env.bat @@ -0,0 +1,7 @@ +@echo off +pushd "%~dp0"\.. +call tools\setup-env.bat + +FOR /F "tokens=*" %%g IN ('bazel info output_base --ui_event_filters=-INFO') do (SET BAZEL_EXTERNAL=%%g/external) +set PATH=%BAZEL_EXTERNAL%\rust_windows_x86_64\bin;%PATH% +popd diff --git a/scripts/copyright_headers.py b/tools/copyright_headers.py similarity index 96% rename from scripts/copyright_headers.py rename to tools/copyright_headers.py index 5cb1dfc06..44aea6aae 100644 --- a/scripts/copyright_headers.py +++ b/tools/copyright_headers.py @@ -14,8 +14,8 @@ nonstandard_header = { "python/pyqt/install.py", "qt/aqt/mpv.py", "qt/aqt/winpaths.py", - "qt/package/build.rs", - "qt/package/src/main.rs", + "qt/bundle/build.rs", + "qt/bundle/src/main.rs", } ignored_folders = [ diff --git a/scripts/mypy b/tools/mypy similarity index 100% rename from scripts/mypy rename to tools/mypy diff --git a/scripts/mypy-watch b/tools/mypy-watch similarity index 100% rename from scripts/mypy-watch rename to tools/mypy-watch diff --git a/scripts/node-env b/tools/node-env similarity index 96% rename from scripts/node-env rename to tools/node-env index 9f72b4472..37d8b00cb 100755 --- a/scripts/node-env +++ b/tools/node-env @@ -4,7 +4,7 @@ # quick access on a machine that does not have Node installed separately. # Eg: -# $ . scripts/node-env +# $ . tools/node-env # $ (cd ts && yarn) BAZEL_EXTERNAL=$(bazel info output_base --ui_event_filters=-INFO)/external diff --git a/scripts/python b/tools/python similarity index 100% rename from scripts/python rename to tools/python diff --git a/tools/python.bat b/tools/python.bat new file mode 100755 index 000000000..b4c237f09 --- /dev/null +++ b/tools/python.bat @@ -0,0 +1,6 @@ +@echo off +pushd "%~dp0"\.. +call tools\setup-env.bat + +bazel run python --ui_event_filters=-INFO -- %* +popd diff --git a/tools/run-qt5.14 b/tools/run-qt5.14 new file mode 100755 index 000000000..d039be07a --- /dev/null +++ b/tools/run-qt5.14 @@ -0,0 +1,17 @@ +#!/bin/bash + +# note: 5.14 is not available on Windows for Python 3.9 + +set -e + +# automatically switch to an x86_64 build on macOS, as this +# Qt version does not work on arm64 +prefix="" +if [[ $OSTYPE == 'darwin'* ]]; then + if [ $(uname -m) = arm64 ]; then + prefix="arch -arch x86_64" + fi +fi + +export PYTHONWARNINGS=default +$prefix bazel run $BUILDARGS //qt:runanki_qt514 -- $* diff --git a/tools/run-qt5.15 b/tools/run-qt5.15 new file mode 100755 index 000000000..c22c47b68 --- /dev/null +++ b/tools/run-qt5.15 @@ -0,0 +1,15 @@ +#!/bin/bash + +set -e + +# automatically switch to an x86_64 build on macOS, as this +# Qt version does not work on arm64 +prefix="" +if [[ $OSTYPE == 'darwin'* ]]; then + if [ $(uname -m) = arm64 ]; then + prefix="arch -arch x86_64" + fi +fi + +export PYTHONWARNINGS=default +$prefix bazel run $BUILDARGS //qt:runanki_qt515 -- $* diff --git a/tools/run-qt5.15.bat b/tools/run-qt5.15.bat new file mode 100755 index 000000000..641e6ab93 --- /dev/null +++ b/tools/run-qt5.15.bat @@ -0,0 +1,7 @@ +@echo off +pushd "%~dp0"\.. +call tools\setup-env.bat + +set PYTHONWARNINGS=default +bazel run %BUILDARGS% //qt:runanki_qt515 -k -- %* +popd \ No newline at end of file diff --git a/scripts/runopt b/tools/runopt similarity index 100% rename from scripts/runopt rename to tools/runopt diff --git a/tools/runopt.bat b/tools/runopt.bat new file mode 100755 index 000000000..47b503ac2 --- /dev/null +++ b/tools/runopt.bat @@ -0,0 +1,7 @@ +@echo off +pushd "%~dp0"\.. +call tools\setup-env.bat + +set BUILDARGS=-c opt +call .\run.bat %* +popd \ No newline at end of file diff --git a/tools/setup-env.bat b/tools/setup-env.bat new file mode 100644 index 000000000..6e6435eab --- /dev/null +++ b/tools/setup-env.bat @@ -0,0 +1,16 @@ +@echo off +pushd "%~dp0"\.. + +REM add msys/bazel to path if they're not already on it +where /q bazel || ( + set PATH=c:\msys64\usr\bin;c:\bazel;%PATH% +) + +if not exist windows.bazelrc ( + rem By default, Bazel will place build files in c:\users\\_bazel_, and this + rem can lead to build failures when the path names grow too long. So on Windows, the + rem default storage location is \bazel\anki instead. + echo startup --output_user_root=\\bazel\\anki > windows.bazelrc +) + +popd diff --git a/scripts/status.sh b/tools/status.sh similarity index 100% rename from scripts/status.sh rename to tools/status.sh diff --git a/scripts/svelte-check b/tools/svelte-check similarity index 85% rename from scripts/svelte-check rename to tools/svelte-check index 0f9732cd7..287230191 100755 --- a/scripts/svelte-check +++ b/tools/svelte-check @@ -1,6 +1,6 @@ #!/bin/bash -. scripts/node-env +. tools/node-env SASS_PATH=ts/sass:$(pwd)/.bazel/bin/ts/sass \ node_modules/.bin/svelte-check \ --workspace ts diff --git a/scripts/ts-run b/tools/ts-run similarity index 100% rename from scripts/ts-run rename to tools/ts-run diff --git a/scripts/ts-watch b/tools/ts-watch similarity index 100% rename from scripts/ts-watch rename to tools/ts-watch

;y9tkj|`vGkGq^xl2&^eijEq|;nflP2d= z1ZV0F`gCHKU^b;{+%6_dw{4%cnh=)}_z1I_mTd4ny9wATR6I@Vj_5{{|53ZH?k{6BXV_dASvtXqwm40d<0t zKR-#ha*-faCEO>s!7gx0t0mo~h3`THuqeK#TrFRHawsfk zOiloLE10Q`Y<^=~^QFJEW0mE{3%;9Vl?3J~bXf6LIYv(pyZrM_oI=$;VuF>}yyGbss#Sn2muJ}x zSUBEa70FyEg#O^CylW}CEX6uvQ+!VDw+qrOGI^U;g>u(0uXN3X{XlEG`|%uwh`Lh6 z18@GAHsd*@QL?|QbK{jyYO_?fKYs_i$U0`16b~#WI~IxZEOEe5@C41-Qzo5s)3JI1 z8RVvWn4SC9u$}vEiB2uCE^+gRYwoPGjw~b1g9l2cn*Y-AbF=X@D!^V3;Sc@@>W~*W zsgbxyEd5|3gyeAr7Hgr&#Y1kVhYOG%QRh4ekCM)h;2mo4t48TX z=>cN0$FIvF9Cx;c?yo#q&gxJsR>d*1a3+GdHPe5<0ji&q=pKf1MC`W2Y^51!PEt3= z^gc2fcaHT(CQPFTUC#|A{pi+Fe_GhbQ)$k=!Jg&YOtY1fx@t9f-mraWm4P@NmbaHZ zs$Bjv=dXo(XWo^)YQycSa?DF4*ZA8{%oWI&z@VT|R&gS;4&Cp;O{bYx+;ov|2If3p zYC%5cn3=;!uxr;F@A$^$;SlTfN&G*B;p)G|3exB>@H{XB_lECHnp+gx#fGWh8P~ua z(Qc&a^X{tH!zaH@!=1bA?moo#-ZDrqR**10~ zECa%(ypD&}^z2Jg6w~3m9&eWZ2fIJ53WyDQCE}JE)52~>aH)uA4n|0<`5beEG8@;l zDf_r~^4_<1H3PeuB7-Uh)jM#$f*o!h|17%8I;BjAkSk+5SklcI0XSNDz+8m4c9B`q zc~-uMcI*9Y31Z67Y0C~y#NZ-Xv+wQ`;qE8zY-LHhQfysK30%)G@qVVq<~D$U{l1xe z(Jq6jUEZsQ`HAmBJ8iW4g9uKbLAiGFuio-&>zj|!;fP)PGm1lLw3=V)9HfhnG^@Qu znLzrBginWl8JvXF2*PreQl7iy+IKBWNM7_& z+MX~2;x4VS2&N#hDLSQJcHkH-|RI(p{9QH zI8pM^H??}u5Q3tm_RAc#*$+QvbTR9fhy(;W38EZ*gpJ%1w6aLVx^RBVc;v9wqov2X zoIf_tJ!&vCXhtz-JY8v7x!_PHo^i(MV3pQqTuzEC>sC8*vYJrfU zh{WckE#EM3J1^kHS) zn*QhtZ$#~GMRu{HR7T7NBdmry8d-nX`}2UbErF4xftbkilb6&Ln0-k`HgZ#r^Z+Dq|416|)ci?9bvt8Lq6nmYhd z8DMP41o;I)kaWp6OVm%HJQ$ehO7p>WN0-*mDZwYJG(U)j#zkx^10^tyeGz5P;}F&Y7-4{qj(Jk0b~RD5PQ~|gWn@4KS(i*cp9U|idu8#Fv(iY zisJo`7NAFgff)k8S1PE3ZqK9{$0pM2SCma@iJ~lwA;p9-@|R;&RAtS;^$BSkTqo{p zw;>fQi50H&G!wFFcLn>0l##QQ25k|(44M`i0t%2)j&{pGP!b{IOBEM!2mZhsdU@oU zu=s)kSv|B6D>f(SVT28kp#jb*`uGEO-UTq5343_b2pHHp9oGzI>CjfH-1v77JQ6|t zKd8l!_4v8rtt&fzpr9Hd(y-H6PyvCN=IK0>+5kqd$?A~nCFSDrF`VN_EzI;Ertuiz zy~X&KY03bZYH25678eAR%dI;+XRhW}6^}j+-yr#=LVh52Nw}_v{9}732-7S(mMgX9 z1o_iBS*GTv7idU07N=u%Fu&L&YNbMU0@tEAy}qqF4?4N|=ZP8bsB|^@XvqQsC>F|C z$BE&E7Mq7=kTfw?$0>v%%An}t0bVzJ@@gmr=`1&`?EZ|-_br>O;0L!!P-x)iEMkE_ zth~huYLm7%uF@xO#~dIC6aGl*%an(-KS0lGpCWApY%w0dVMd^3gkL65n~L|O9N9kIodw??l6IGgL(rc z9I=t7Zy%XSzPF-Y-aa6(4Zkb+X%RuE_V7Qy|7)+&)e>_dk-B?{`U30s!u7f#-g`^& zPA2H}oe{&#Y=m0Fhwt-R3lAkUzFuf@3i?BKPjKHB;M3Yc;+~^APP1e68S1E1Vzc3shf1!VP6;vrZ0czpKQpATCMbiW(I>GcA zp{r2E@@wF|M0B@h z!?{Z&Zv3P#88idS*pnoG9ETbBzXScp$|m}2F2RpK8AI^7>YV=SR}s%+W5oj*-iQ}^ zKGTn zc5|h=QWPbf*+stPV>4Aga5%*1w=$=gkupyVDvHjlVjk-;J;1?!-i1HCC@h52btI^Rw^DHr=(m3qh4m3nU4_SGBdW&`}6Xd$M}MBD~pIvaQbkHj!}+ znJ#z|tX?W-9a*>~3<}V=*F2{SY%(sC2x8XGZn}6$A;4j@uWNcQH;%?lr~|%V?(1~8 z<^Qd}`_1AW>j{2U?!7Bgr9?)`6X82GWC^&(wYA|rf6gmZQT|MQaZKj(0@0WAcO~}^ zd>zl=k-2B}sFFSS%H+A#$}HR`QY8BLsq9(hHng_kEm`LBy=FZlEmTWawK$%*N(p3v z9pNjEa1U_!LcX5&v5UQ_46!C=u~xF8yCfyXVh&CsF$LamWlvCa(z`a&V7z>iKyyx% zT5^vdDPc3QBIh>dw4W^0L)b;h_Jmox*0P83`*+j~-Tx1m0R5Lu5;zUxCNJiT#^cb< zf2T|f^J)b@%yHV?0J`FVcP@)#d^k!=p?o~T@jC^D{MUW;vFTeJs^6e;%Qooo@HlAw zr6vs$FQzgf`L^?XXyX!sDp#LPY5a`1w%mIv_R9G0RcL6=85_({hp}Jqd>m&y3Xx&_H2&2E%b;51(HXU}NSD(n0b%R# z$h<)N2FYVUL)k=Mw1Rd?D&hiNbB2O1S|VuzL=*1GFKVoz^Y><10lSl$OcSAtExtU8 zI`>+n`RV8#>g5zg{vbUfa>0V6fHvmA+S@n^)U3T`ZM{R-+`=f&9O z0!)d2ZF$FYgsBo1#IK+!5!joDYJBjIp1{If|Vk0e$zb_;7&+)`)X6|w}99sphuOdX`^ac@Epq|c$98-%;|OVp21SG6~R>U`0ije?vXe02zHzX z>5Lilg)>ZKWr$W7?d|f-&)M9h#{hS?4;W=3kMu)Lj-@ps~za)0AA;DTa znO2?%Gq*fqznh^NSxBpHbAAaPzw>{o$r@NX>uVQs?qrUJyw3S08mIDx`EQ>><>f02vN7))pPY305%1TFQ%|^S$82-q zV^g{dMG{q1`1uv>x)LwWpVeQrC%SZ?DK?y5Ub9*|Oz=IE&ceXdEIHg&IN>qVqEI_N&*f8P~t z-wj{M1f=r{qz!T5+qazoiacMH*Zfn{h;g7v{rZEbejxO)f6sNKN#KI}4dy6Y!Y7se z!V3SEhUG_w{W@k~iE+_Pe5v%4vd~ad_h+tf5z(BOgVNN=9Gm4dQyuZU7ln~z&aOay z<=gpoq3&0IV|C{l=vjuv$1;DuiO8R+@jviMu6kj#@mh)i9ja-wQW6vA5IzOo|! zWx~CuB!>fA-XZ^a ze*9eyJQi0|g=%-$r~YT1|9sX^3|aQb{ATugoo+Ox9tYi0I&so?9BGVZoOrDr&=JL{ zel>Py6U%)TUvY#l+BA*4Itf<_+)!O?>3{C-0e73CC4+kI=+yl{VASp?0AA$P<0A z_-PQM%LbdN`bz&Y-;$=QU>{EOnI&lx{N6{Hvu#I?MTBWOB+Ie_ulqC+g)6vggyok` z3YMAS%1lwafdJ1pHNt1ndwc(}xt0}QeYRD$We7`=6%28rk_~m$v1Kfu$O@c}(}Z-{ zDr#jN4#N{if_R1eps~;bGM}m?10M@L2plS-ria#2W-+q9-z5>E_3Q&caMq(!7aHX* zK2;Yz8)|zkxHfs0kr(!d5n~&_do5$RK2jt0%bR7>@z@!Ja}(#GQ^?XUsQk7Qq7~bm zBet~qt4<+7s7IU^Bf(3`W_Gt**A(pE{E1RtE%HVRaeI zC4~iD|A~l{gT?qiFWDimNWHYu5*8T+X?46TvR>>MnH|jOyYV~CQ;FQc4Ph=x-xQ*J zO}x~;#Jd!tZ@+`a7Ct@snx!eu^cfqjk%oz49BxVJJE~6n-8_wHYa5pBS$Lk*L{#Z& zMM&*pU`z+dxrJ3HY0A4>Nt+?kto!buab0S`gFtlMOU;3wjl8xe}Dxk zs;5urn5M3mhOD>vwT1TPf`GX&czNGJo|4h$`vzTYHQAP8-A%7XXVw)?TjgJ?WiP>s z&;zBNpv#VyucV5?kFWPa9$6o%`AN_!W6nIb3j~|!dM4uQ@PtyT_dn`}lZ5kO#ajjx z`)$!7u+dW)!Blz4=^7l+a!(1SzzqJ>gb#FCAIwh~E>{Kw9Ib@5{2x;`RDd5QNEtos zKIlc1Dik=09O6G{{eBKA_g~1+LM{KevJZo)o?k4BL(w1HLkg(g{tIekZ2klEXb!%H zj)Z^yT+InZ%Y8dqezP4!Hu=;6o@mO)E>7t<1717asn2Zlv3VlZo%G1Hi@d~mwE{}E zT4BY;QCsS+f_M<{dvE71eT1m*A${X>`hh$;Z-Tk;e76B}ve9$RO5B~3a@G%fLErb< z4DQHR1y2YXdi8d_b2OTDChYNNVDI%|A7@@_? zvuEs$j{M+%!bJV5Ak!5v!2vC%Cs#ea-3IA=Hltvw=gI+vJTOchAcY!JF$>h^B#`TF6l+```O61r?}q$wl6Co#FVd9(n99%6F|f` z(c3KY7w=cKRmGtKN>DE0wpz{3JulCT{-tlI%j~$H=&QF)eHdq=XjKI{RU9}oeJO@;~@hVxa_01@#io0x(eB02i$)^kL>7V;^ z{^FNO#xa_MAWBV_e;-(qK@I?s?kGwY;+$q+)e|r{Kn&<9GBMf!_X}5$=&$`Xb1@3eQti2a{JbTh4=VVvA@S|7OKD_ku~#^= z2UdBBvqiT^8ey|1F-VP)d~tE<}0d2=<6*q{vA%t5^auyLpK51r$B~NOB}(p1dH!K zGlvYiK4QeUWx3xzEzd#GSUURB=|~iIg6OskvjtY|47y+VENop75z#O!xw{Z-rjNDA zeoF97^xnMsr?o(UY>wOU*lzxgctvrDP9(icJmVHK#tsr!KYn0g0KBC`;r26V;Y=hN z;Mi3d7=*!~@Gq{!Afh#wXxvp?7nrg&r>xMCyvbW2$EtjJycvV%6w}30GS=hyCsazF zWULE%O{sy0;eH7`-k=zRQN$>JKR*LS+x%1@)>tD)_I=tu6@VFgU+D#0XGz>l|M!>) zUPd}E89-u=Ln3X3K~EpsL;@YR{Ouzaacd~iPoV*)5h-ewer9`b&-147Vgqc50xmqd z@BWzht>;({ikzhU$iy3b<45(**z08J!8iBhqO3arW+HP8R_%0#M9^f%Swmua+P(Q^ zd&nlav9vEq-SD+OHK4GIl;}w1-*hC8hBGEL1Rbbf*dgGF?7g=zOWh#ur~}rs!6rrU zHZ5nJ5(`63Xm4gt)z)f5`R&jm!$I27kvRR_#iNyPp+c7tiav&-`UUXerP>t)yskdYr>R<|3 z4;EXcI-%%44fRtyP>Q5YFhWx!PV{yUZTirg!Ww5sTjLC#AJD?|U~ydhN*s-`R+601 zidS18{KdNHduPd4@fj*WGKl_olZ{hMQ4PY0NuiF>;9t@w?t^L;qu;F(_@AWB6^J97pA~>=%$sekP{f^B?-9} zg0;10Y{q>6h%P9CcZ8>yPeasEkMPV+T==aV`MS1&cOc zn1W36uEu8-J6|u)c%FVR{yjE#7F1yHh&*l3Y~qxCzw;-te!BM+dGcv6VFu#nNv-ZL z;|mr{r ztQPG?RL|U8)-Hv)|55vT$K2zI?QL4KD`oJC@b z>gfCvFyrhN^`AYNc8r_%)jP%5({zO$`$|;U`{y4T*UT>>_soql`9bemNIxPoK$T_b z1E5ItDqTHvk9c~Z4L&GYpV$5s;(2cXvxjNHim-}g1!wZark}{hc9U8efKyqpC0O{n z(>AB~Rp8@%;FY-u3sQ~u|1h_mW|7Xt5l3;?bLjrBF--xlg7|j>2a%jtvs%^xt3B{V zlg_83YrUjAW0>OLLG?{K&`|pXLoi7jqPy2%!2R;E- zn-eDC)g{*adI5x-8?6^%u^LNm&(#Wdg3eLYTX4nN+~dOBfJCA>pCDuT0z8|NSjXIK z*e4X3dTch?^jX&SeURN7P*FW#mDE3>Z?SZ0o&Uc0AtmN?4eB{hPW`Jx_@Au{uxu=M z8R$+CaQ6lCJg$xvQlWe436@~(;G9bW1@K{_aAv+R0 zctmjaKiCw%YaQp~WXghs4vH!I7=+WvzYbse%4DaG@(pW42Q(h8V;jrPoOZ52CJojz`ryx=VQ&cr#z;A7c9W66#hw@SM>_Ta0te-}OmHo{-e z%v!Bb1Q};Brw0`jlBS>DFSqsceiN5rvCM78T=tMvjFrxYTTW%H^KZEDoBzW8t0L!- zgw8WikVE7x5>!B870;oMv~r8u_OU=yXjfcdl6bQ`cfWPI^~=!3Qs{wt=Mk(In`|EF zsGAZaH9ba(ed-nPX8mU((yG=tUMxL0y^i#28QaYvx-++?x;P_#6Je?h{~~eA-_eje zi@HhT{4+Tg{viW&^nx7KNYBYxWNf#es+um2bQ+rxBZ^_m9LIJ(IB(p?j(sy^RebXuWw4`{b0C(0mzay$Q5g&9CX(W4oGZeo4`mQ4+J$&yY=XA3&DM z(3=&3P9L?3+OH3d&+z^;5KNo{6?8^+MsDu#Yjj9(k`IW2aGzlbSj@~RpcW*V*GBD= zOCQIs@~UozH_--h96!4HH7k(5KFJ>ox(A7#r(ntDB;}1f_8{61@?-~-=N-cG<+=5CSxYoSwaF>6aqvMEtv3na=p zTp^nE=!)uy^}$*Fx`mpGHK~rIP8L%SriJ$-k6y|D=qtYOp@vj+jj?u$kb@?VRz8{8L1t-c3(p2LjK7KdY6||3rEwG>t z0g4JOSS6G0a_*tEgNF!6B-!TMY$uWrOSy`9(X7EzxW}FJKER`n6myf-4%@)xR{u%A zE;Tlfqi6H8iGoj^H4l?&UgT)CeL)7Gzp57C&~!I+H9{V)-$_eUH2?Z#XYgz5cp<#l zOb~3VUP)|EOjGk+xdkipZ>fx9sT^hBs*LC0UD{rHi(O~%nfdwo&mMYSCpunFt(#}C zuIpiO9KSp_RVC#q(@8SX?{VV%VQS# zT-hWOH)!UXLm27FTnFhN5*JDjZjdXMq!bD>MvurFj3D^!K8MrBrPUI^4qBE~V!9gU zK+vEGZK0#q?W3UD8iYAy|deLQdhS!e&t6Ufsq_OU-Qa-+Ym;S%w`9O_52Xz7_`sR1;P9 zrUf_1c1W^@Q(CP5qhf9IKlRGooy!9aHCPlLG`q(7%6eKxNWWof9|Na;lM}zs#t5?^ zP3tQRN2ev^9F6BbGzN!97SLYKTZ9Ivs*gxD?f^7}PSemPK^$~~LX#dD5)Lfg(%)0f z2!Zh#b0fo%K31*h?jJORY>Um`ld8!C5pZh0xlj?EnAOG>mJ$C*0%@BL;*Nm_kWIDl zeS{McP^9`D6&)#=aL@EBBYE_ZCD*743?bwiMF+r6l z?P5H5^iXax~nfkm?`UYj)k?4l{pUFNt_OYC^=@!t&e-HF@Vgfl+o zzA-pxF;fe>9PS@edBcVCuOtn*epFUO77wQmk2LzLUB!b#qA)m3i}bQ{8>@ThdPj^W zWSzrel57MTy>O4VXBZdLU-wxgVeb^W9CYieulmOBIhO*wo`H=+Nl&NDAQ?K zP9y|9ZK3bn@!QhYD4s7Pe(O368uqW^I$voD)ZT|v0H};X3;*ZAuy zZ|?ay?so+j2RwCyjx$U|bgVpN5!b>VyNGx4wY$Tlb#BtYHLR8|!u;VLU8FpLb z-tRCl8V)S|UoODV0fxNUZ-XsBc9ivqo1e;MS;c#`*uaE_GlZk`2Uv(~fLP2|^+ zl2ngKro)e(`Z{h*uTqeDO2yTVVyzkj!lr)FD&76k?6&i$PXBf8I^U|B(=FT*t=*~Y zk&U!;BlFE<2ys5=)eZG`daV0`(ZlBNAdIBExEYU{3qm;$?&xMf>%m2$M`FbdqV9r5 zoZW9fWmPzR^`AY;Z0^{4@;`%Y!tZXyan(9bqZY+3{y1GQ3e-GXERLR4t?x8BZ_%&6 z7;PbwdY_Fuadr|nKlY}c?K<>W8c)144Yq8KZ_`7rRMtRzrm}o(hSy#%-a=Owp18{E z7`b7Lt$_{b{b}j%gsg8FMlXpvc7c`~N1Q=(s^@WNO@pSf%KdS+*bGo+RB8_L=;7l>Jo-u-+j8-J^ze9-?bT?6Kc~w4v%%`sE;j{?;_{yLa{ByU^ z!aOP9Slk6vD5pQn#UNp2^Z~rt@}on6QDGtcuKp=o%`aG3Y7wvYm0>h0J4%DQ8#Z0m z@7jnaZ=~q*E#Q>SP2Rr|%cgHh5ONW3c}Pn5i%bT@Xq=d2cy%l1&pA<2e)|b3Sq-rg ztBC^FqHveIgG1^VTIOCN9{OKwgf1>R)(bpK^lMTjP({o9ZQA4MY`vQfec{|h%Mb%w z0m}Ib_M~|V!l;IE+DNO(L6Q-kU)DjB-jar|*)jr&?_UvPl-67d;p?0w01a;?mXAL) z=BV}~(~cg6osXJi&#i-5YR(9n7C|s(;DL}<`GZ+ooSP!<0`uf%uC%7t5H%-LpFN{xc{rC!r!^P%4{m?wsR2NZ@uVe&tvTzESgm z;Y<~c6v&_;|8GvI+0d?rC!3t$m8w!lC4sAIC%D1!kACpo4^c%C=ijIEfqEDmu0lMgpOzdm@n{ zpZoCHzv_u_|45I7e!A=mPW5ee_rE>zuehz+@LCjEXsL8E*hGJ^$n&0=PXzpyiej_R?uQDTJ zC!>2kN-sdqHp%~wO}(i?vtRXvhLbkBoHLIs!8x`5W#FAZmqDEa2Maz>e;idUk?P*X z6c18|Cpe%~jrAe0#Yw`hb~^AW29K7))oG7kadihqYa$F57Vejd9B=8`UX z?^_M#=7RN-E0$^A7t?dgy`37<{FFe@TN97b_S{}PtS?MdsaW`3IQRBIi}EJZ?9C?G zqQ%w+HiQMY8Y@I;zB@B!``3n>x+}E~9CCS14OEpfO_Dv2)NfeNrj5|G$@2A8emQ^DNk z;kcKeGBHIvNE^%7I9}R={m>Utn1xy7EM(EPS}wTNG&HPyoMa8l6XWr{{j=e&%KcuU zRL#Op%Dr9{hb*{~7OIC@>Wb9SgIkTPRlfFQ;g>*+S#tRsW~#)yFG${oKC13;MxtdH z?Gee#6G;VBi^?%Cvk?f&^qGvu_G7DG&qX*F(C$YjCw!ES4jo!N_SRoRZy_!aEpX}5 z5R{zuc3gsDO(MG${Nt|ZwsQRJCk3p_1O>N_6Hg+YtnFiu=(vy_eCTCAf1`8BO_(nR zRRZY*iU?)tpuXbkrj`90zw5@oDN3>Y(JjflD>Aui3B$<4R2y#iLF6r<$ThQS1qwV8 z{T-jTwb{O@dDz!BC^q2BFkxOp!Hrs%sj~&tfAAXHp5_E%gU^nRxYdosKYbFn7e&K% z3xA8>2a4u5Wmk2fJjjhx$~C6<$p)Ob-TTr@DHlsEx!7Y|EBQmi%~oO=%uF?f7AalF zo9wchh{Nv&VPj|CF+DmLJaQ-+`-JsYAokMlEMMK#YVufpn!NTwjkON$aFcCq+wE~F zm!iaDB9sMMOFi0Zsl{RWZm~+t8xn)}#ehj`GFABgyH8wl&Xm6)xb~89@w6nb?$6>O zyRxH1I}^Z|RlSoMiUIoWNy>0ZsUZKI<2O3 z*ZUkTzI0HUUIW6xY4suQPSEe3WCNDu^f>ggBI!M>xFaQ3cju!@zP)5*2(rYGY(IVG z#*idK=5hvS``)ZIlpOo&nY29onO|JL2JU%rcDvnYos;u+bHm7a&rjRDz@4j^L;Kg! zCIUC?kB=*yHvirS9{1MBEC%u-9(VA19!Si&mCW;#+J_Ahe31ooCHBN)C-HQplL)>- z75s+M6!RW+N$B|dXb%O2Q8&LV;z)j$Cw`>LErFPS6Y4VLgyG}YIu2KhN#-KrxUo>8C~w zf_lVzDb{tCquy206c6p7IIwIAsLx_lgIPayCCbA5AdSvh_S?ej)%Q*qukPD%UoV*O7yz`AP|))#&jDNZhA ziuOkiL1`ht)??uE`O2HJ)OkJ^n+&YS67)SHsDdULs#7v55?dRwjz1(TzVr^~6Os`& zx2$xp-tuoaF0m`8P(7CFFQqb9e`z}ky(77_hxK?%BuFBWTiSMmwBXl{z#HF68v%xr z(7P6>u$5$ZU!AifJbvYiOmBkI1l+mXVGH-L0mqkoi8BAJ{0mR_IaD`=n}Xvdii4lI zAE$Dt@xfQ~@|2FY0;lwDnzKDE&$r=z->k;kHc!>g*XHX&Ez8 z#;!#x{CZiiio)PTB1E+PQ9qCt+MzAb&ehuCC??Kiu9bCrpyw;|wcG#YleCIQW4aX~ zn6ptsDeexAoVB?bB4k^;nZRSK2B)?4gWg$>1O;pxo>UY)wReh#81M*menzannO3vELQZn$e&s%h z|Fg%~uJub8Tb?WDzRpA=ZpsU0p5sv3{5qJIDZ;)4yQbJI3)*@+9CRh@ag+g_;3BSH zrAUikBXpV1zZQAtQHhFJ5l~ZfOfA`cn;M4$elRoia}>UIteM>87n*zt6r-LKKbVUF z;W5#Hkmn=fS|v~2WC~yNOBb(TC*kG_nJQN=`N*X*=H!D8A}9SttbX*iWrPrDrlwU) zT)ifg$a0OOpRT;N;|vo`o0#XS+$6t%xHbr%#efj@GyUO>T`R*cd|~CbPxe|6zFiKe`=2rQtoDa=mtnZ#FmCs_HUsxe+dx784;HNF37rBQrTVdGmq(ZS`RV2(0(r{Ds+F^EYJn` z|E@4p3y4gim(j))BPb~6qYILs@R=9R8m}MtT&&Ni=9};43Vh)|W6isb?(?Ux+djB4 zqD!y)Y~J}yZ4*9w`*iicW6jokF;_^%*c<1Y`JZQPFvr%L`}@V30L+~)7ozJutIdxL zn`#57CPo`*rlLF{ba<}c1t}nn4|+yx=BTDAIz-mM#@r1WaeNv7O(s}i?G=t z5LL5KC16RalcwSxAU~y>#KKy_hdtd$XM;L_op&;&@eGNlpwyCPx>A}x`sI@#QtiqD zCzp8%BVc}!xAB-YstoivB^h!mem_b^=4Br!G1$ARj>aArf&zmY-yznQ&S;C=8x^0R zb7ux}nv+p-K7vO?QdunfuX}{}>rX@?JUTv6t@AXk!i2c1hc8Nr8dVdp<_Cocd&S%S zBJX;b_Dy5mk##~}3H(O;dJt=D8v5A~1>LrgAV1FMNKqFqyd}8UCMBoijO#TJRQEmo z#EXkXuGR!5@}lthp$Dj^h%iUfLkWA#BXqg)cGnTZ+j1_R>DRd~G*REBotUM(_))({ z^5S99-KVZb?#`s~>2kYS1$nXEE3{JyR-$p7t8r|q4jXf&V$4qiNwg^Sk29qA1!Dc) z#o}Yoq!}5mx8_tU6JDv)5*pa}_~ph5buqf~R;Z>=+$Y~I=goDdS&o)$w@$b`UyHnY z)bDJzU6T3ez>93HQO46bVS6pyX9A%I;of;IAAZpxcscgA^ZMnbFVNOdgs*#5aW*g5 zhlxgYD9x6M_};z{x$!M2L%s&0>x<>{1uVh>f0Td%LoR!%_`)%|a|flAB!mXqr+5Je zDQtXTRZJaqbM0;|_5cM6efemQZ|({(T8J*QRHz3Z-vYUOHd5PU+>K=mj?6y2CY$0Q ziG!~bfE$$mrfUo@Uta&IaPDOQK#1O`ARDQ;zTV+-=s;TAl^;ifLdbB{qdwu;$+vcA zf7}Rkms{o*9(EvmJp6OWqDTx|JN%+x;-1(BZ^1%!FanQM?BK&X8ovt^1TbE1B@Y7B zk4+UvbTAC5Q7snAy~$I7jzr*a5$S`qSoLL zCymDVRi0TSjJ+Q3Ak|R*8Z_o}8ovQ)q(GzN#Yw_j?df6%q`xsY%<*-f{50mlmDjDJ z^wBQWuOslvPJvRRT^vL7Ijh}CtjCb>=ZeI~W3eN%lF12*oW68rQqLc8#3uvc0jsp; z5nmX?_L}$I@Z5YRiDcO(R8XuT+U`hD!9H78X%ujV`i}!HP;=%M~SpYgv62K zbcA###kU%N+lzdT_>)G7B++^k+=N%@zg2Bw(Awy1yG{5w`7Hp-(G7cdSELYlIBnu{ zW!ZVOe_drLQuduR<7s49!sO0e5Eg-oXn}qogSQy&iAmx?{3M(?>B}yd@m~MQz)Hyr zxanvYO&^<}T!0o0J5{sjon$N(;<4yG;$!He;~v8t?z_?inyDjtJ?c(Kxnw#1`i(AI ztH#fOFY!P3kV%DA39dGru5q$ajIIMq^r5&Z?+3;T>+AdJ6oNhXAq!r6 zMe!DTJVJ?~y)=-f={t{S|GHtuNs48ES7*ZojVptB6EEOd*6)SC=@{9qgjh0Wxi*{8 z{q;m3KeJ9vz9*1cJ?2`19WQ~1LD_pXdR7(Ig&z67u}hff0dXOqd(?vut6W4Warlc1 zml83A#w!S#zRhpTWsC}}r@}k9A7Z$*rx8HY0Mi}!7>`)Xik<8Pqy`-(t6j<0P_W)V z0ZW&HcWx`jYkoZ27GZuOvW(_wc}U#dAkVQ%X9yg>PwQSSQY>Bl#<4On)^?`HXA;LU z=B|VrWt%V(o45xCz9c-@r{(#Z zMwJb+(#jaLoVAmVJZMJ%9tF?DXvkmq%676E#k8;BP`9WP=<8f0!IxvXZW#P?!ZDXp zb+)GRs1zBYSTrVQ%8E`QCrG*}GnRrb6%wLrn0ZQ~Eq_wm%E-xVZ8CMUBLvKi`o?G| z(8*J?a7EQdeZpD(%5XIKjrd=7F0zQ<5&EX7Ut^&fxhdCz()->ev!0MY`U~X0UZZSQ zUSG3_r*lDU7X8H7@1c8!)+0qUw++Z0FF$p?_WeVpPK6k&tI!*2XotykRDDgPKGbqX zU!uGBBEi*u`f;r!Fg;;yWn?a)Vw$G!G#US6UboXHzw%osT2nVuTO4u~yYnlv_y@sP zzv|MGBy%3lVEsTo#^860K8HeohAgvSu>+3=bK;4Z2?Tq^aYNf{HN?ElGW$WN;Z|_R z`xastFPJ-SNRCPwLCZwc_7shec2A}3&sOf4JT!mSVB(rHH9R+bu?2b!J<4NZhcN1KTsT1p=cQPdn(qoNo;F&Gb1=N<0!3 zoa(@PSZ&p}q+mBDDj?jTSlZYYwMF!!Q~lorat!yUjp;W2ipW2EZnU_}CE^L6JdswB z4XD&GxK!&oBN8`xeQSsFciV>P`eCAD6zS5nSfUg;(a$tO)LQVj+Jm>h2iK2#G0V|9 zBldV%Fh*TYW^;gXwbEh9O>|C3&Hies$bOd|X926^&rkoo;nW-;-6{MDXK!wqUbLHhlCa=)4V>~Qz9A<+2-Z?abczVyHKKSNH9OO^kpt}K(V z!87vb`+Mr2F&}?TuHOS91AEB!gTWUqOUeW1^+TK4JG=>PdevZmV|9D-oA85n@fMug z56izZ+4<+`@=bLQB6eok6FuyCn{su+;rT>mSEBG+;TNr=#Y;*!v%FT5IT`0`Xr(21UVXV(yFXHcap5;Le&>^0+uvuGkylEQ=3PTrjq~I zDKG)ALzG%vC9Oj-%k)@>E`A7nWqck;?5Mi)Hu6h}jaQqfAyq4-O)50sXDfd{&3=z< z6V7?~8rUPO8K8e=Ij~}@E1+HC2ZFdz2#(Qe4?;kYhmBwND{9?4nE4l^YWASZ~d~m z`Lga*HgwuTC-D8?wk~n4^YmTJ8D0bKMTy^Uxm=ElAZHyz;+AU)@_p6qTKc+(NC|qk zy4yoBrj4$r1=rHo(W}`(BL>b6wq58-4j)jRD7k!u8HL;a78%69 zCHrn7pU9X4^cEx#UI|nk`My|vZ&BD|SLQF%eA_VS@M7nUZuTq51*H|Ay7+BtpGN|L zG333o;mJ(}bT44lbVf&VvXh$3mY<_gQOnOzk*magHvrL?s9tRcWrxoB`epIV>5x98 zH3d?T@Gy)JL6^LN2C9o%JaW-7U~YPhA2ig{(2B%B0TUuRuIv2OVsKQo0?YL(=yt*$Hqb;U4QS(t~*Vt7AHj6LqpqjVj3MK$o?`H)Buz#e+@Cb1sAJ z#?c>CQGsB>DVp6yFW5xqN{{x-NWhgP3-ghe_PMX`S=$Svk1}?xWj4o>igwLr4U{Lc1fZ(g1r`CUF z>B3u4D1JKaCCR(sgOKb8Vx4vb-k(*OgmXx=7X^1K$Ro)s9V}1~W2OoCK)Jq63$e;| z$i;h-ujv*ZyVrtkD>%}k8mt${J8|ycC|wd;#cqIO*tI0rZHtu%<_M$~QayS~yOmkE zv{x})Du`YMChi4A-8H)9w+TJM*Ds3;(1B=E`4N zCXf@hwq)KFrquA&wZO@0L7q|&SeK-(n#O9Jk$xll!T$=`=ogoYtJ5c)i6qTQPvjI2 z|6?{m5=2k<+R3czW24WLb+@@nydRiELC|Sy_|B(k?T{n4+<+f!NJ~PLr`7HrEqe^q z)|1OHE1Yv0TZjC>Y{4l-EnmokhK}KWJtYY{aDFyqs*H<7pXvF7$t^P_R}JMhjaT|Q z?0+C!D=`-DBFENcWU1I`@@rUQXD&EFnu?qc zY2*`+S74ZDu}vW4>4pEj{!^)(#Gxa1u7E(!N`dH*T$e#4Fwo81R}R=n+ljgYUTJ&= zX}7nujd0|O{1HT*9-;XniLq!y3%w=flIbs9X;-rBOfU3g)$;-E;*V+Hv}q7)lTQhH zy4>gU!?3fK!EH!})mfI@YPP`;EtJ)*g^xw93ODO?^d_?OeftO?>~l%Rd+w+S{J z4ZySUL)^EHPJLmKE0Tjd2*+DU74@!s2x)L97k)#Sx-~HPpop1UFyYnP6_H8lWQeB3>aCo5y6`@ zg@r$LkqkI|Z(CdNIrr7iIe$7-^ogmBG9Telvld3r*P&lvxyQDZU4LT!`>M@xHOP|= z*H)DCvv?N%qGIPbWVPb)KY#x4T)C=~I{ZX2;nC$+36ZWLom#KtA?a zcUE5<2}dE*k#VALsnR1s^@V;wHb^F`e`H&jcs^J(s>d7-N1o>cTAv-`r@ z>GAJ>!EcjUEZQ^Q3Em=H5M@$XBY@Pkcq$OZ=* zHylban^|;G+snnye=r%+KWbUTIeKoVWnq`IK~Jg2$McWXV;W|x8zicB%o{>#WcQp% zR5m?sV5JY~=FR>dhV>z2v4Q|qPZQ6`6T&CG1x9z{(X6X zwQLNug4nO5dhXzvJ!e{4yg+lDylCq5JDQnv`BB)+Lk2U24!|J6VL|0+{Q9lG>#$12 zI(i#nMnBn1#hFNxWVHX%1(*6Y6-$oCh|s3FrmIte%w;)tYG+4${Eu8XtX-&c@2-0ivG zCl7Hj9ti z{RzjeOAFEP!u}L>(qF_13LBlzOU{Qg!Uqcy1pk`CtNn~_gMu{?_8O(qP41GwBJ0n2lxOx#&?ZG`B<$$woU9kZ-GK(Rl2iVjMs zTXQ|QwE40%$iS|$63U?01AgL_0XK@q`}kzz9u!b+FX_^5K>FIH-Sl(Ec$g+zb+B!$ zlf&OHGt5GaGri%>dj&9oQHxm5o@=(IamZ1?t=%9_$s;76;;UN*z#}8BV0R-hjA5lc z4|a?$+pr4&fm)34t)s7bIU_U!oBV7R;h!q7)YRs^r5QscjQ=@p+*-|_y{mX};sqHi&f{9|x~ zUVw2Cq^};&0)UScNFM)rZC1cbE(7$QJG*_)&Nkrf90m42|MS!U%(j=qtVy!NHhp$m zsP3y2wl?rK;D3E3?&^&_U_L^NIWE81Y6aUKoFMehwDJLulTI?nM@2F*XF(2Nr+Yqe zv`04MF)vBc{-1`l0&}`N(&r4d*e)TWrAc$eiJ7>eZnRL3+I1`$$P8qYIczsb(K350 zh8;FTVIUKWlh+)w13JsBV-8~!P)M>Bt9Y1gUrLx#BQr~(nCW;G8$*(;X&ScBmTv_$ z#!v0Zc7_sef)xy2z3ca{)o;v9Tiz!IM9bHUF4(X>$psv7I9}SCChrL%i+&bC^h}R` zk0nT8n^X+uEd=9hE4+I(&9>oGSE>NAM9o_Dm!kRWlfZJ*|1)H8-=poo3Aj1i8c?%Z z^mW4>v)ACm+w;+&iAiioaqs((tJ&#i?Nn=ZHw zNGgM`^SBobkZ=M8kpzo&lZJ_@}^owwi2bI)an7>C81LJj(Gn;B!5nN3XnYGF1e45PK)pQ>{O2#9}Xq% z`<~8DB!XxEnFD1@IiwngWKXg9HXT)<5(eXY40YTGJmoNB;Fz#cYM~oV#X|m!J9%gKxcK z%hoI^7Ji;_L^H?PQlCVX?B;%Is}w@!r^6_RcOtph_BbT^dAv50SoD5H3Q?p$9)vI( z^|UUyl`KRNeBW1QHeqUO>|kOn!@Yi%)Tpj9ze(xd+dcCaW_I)YO9yP$oE2red zu7wGlsoo|!*oZ4U|HLPxKQ5Mk(`$&ecab$Cz75;!SmCp^H1`X&WGypA4Krtkd;Hp^ zP$W`mZhyrt?U%jQ0z{&$oO(T7eIF=8=x!$^U}A|TNC;19&#?%#x~_3X`LWg=SMjWs z7+CQjQFHS_He)RlS6TJI&{rc;`AlLjnLwm}ybj`$rT$#y)f5jBU03#8WvmW$Y|>IC zzF04_lxM#))Grmr({(oqy;Bh##wN3|!%%f)2lh3etvx_G$hxlXH}6WE9&i3T{{;3U z)1W@RK<1uEia1M`V}Q+-{B}yD8m$ITq(_l;lM3HuWM?JZpbu$*KkkQ81F-`-VT&Sx zoo_c_|9rFk<4SJ-gP9+96XRV{=ic(^ZTy)-C3%`Sz&Q1Lf7;;!`0oGi?)nZZEx5%c zb`fdyp8a!A?veW0)_c5o_L~pEXuA11SY*?x3$3bh(~Y$3m(|i5ZIz@!#N`pPAq>^X zixap>ZGt4X07{i`Phq-4)SiUCi{ardM`Kg6r4d+2K=II;(Dmeq&Z)i18}8aSP~e`m z(}4ICDCq`UtpOXPu{$VKU!i$0xQpo$$Pw3^zaA~+nIX#D9t<`3)y+`BzJ`(kqe>GT zq;O8DR0~wXxI)_lW`Z34l&>GP8)y11Mb-ckMyQo$!ta!AJ~er}w6gfm*Pl7HLVn;`%koYtZIlcMP0^y6N5#Sh zaEXM5&17@HBU>5lBSQoPMXvpx^B+l~^fgF2rKQO<|FOkye4^oJcAuW?s6xBxzMGRv_9dKsSx&vYx~AhPui^F-j(3ba&FYA~8ZOr_Ric7fn;1!%$bz|lobD+!#f@}e5;}C#ZizRST)MwFTq^_BWiKt7-+Z{LJ_62RknM@ zT+T*%sPoUw2ajdzyDDnKa+=$4r_;Z=J5Y*wu5Mw(TORgm`{G{*X(t1|g&;~>fgu%- ztOul{`I-`MX>?zCpPJIqu`iD2__A+WgpeB>NY@Kx=K>Y2XV-iYs?kd zMPbQlu_Tm;Ye*olt_?o(KPNaO5bC<7ySCSf;mD9cF!Jown_txK7Y)ammpX$A`>gdZ zYi1`!=-Mde0J_<60l-^(j8A^qxUUl>NR`V*Tz^ehQ&!0!TKan7U_5p7N{*%RMQ=Wfa+=UqhdF67=rrwq@01V9L-+jEz- zWXx1HRPoGR`MWFm>-2kn!EJ$UU5!dv=MY3gH;7;EK|ugLw6y?m0P8_!6u}4i=rQ5w zHU(8Fw46fd&x^WY)g$ejt%on++%;b?Bo80#U*ro#0Xi=YMRUVs2T8rHTW|h|6Qjpy zGwB7-n)-mz!zY5YVBCH4(6rd6M)^=CBjJG=;C1H}5$JXIKOolgjt3&}_w%hio>bo~ zB+zRc!gZ5De#`!hJKk-+cUB4ROC4%i8xZT!IYr6k^JHN7hCk2m^WwT_@#|e~0+VN= zg}XoyS>kqcg2$i|*hzlpQWMt&`M!fAWk;Q2>hByU>Qz2nH$-!7w#SK}aB}JpR`jzE zqndUqYx*U?Tc`+kuJA)9?R=a7N)HQ8xcVv=W&F>ccwQOt6BlthUFRgGQ@t$v+jfI^ zm=IadWK}c0Ot|cLyfT!SFp4|xWt#*yh}Z>_tGK*9*rSudM}$bX|Ils0&fppPxo3V* zMKst-6Isqj+UbNRekiFuI8*Z#XE`M_bhXDVbTt0xZO9#&nYVGmjZ3f^2C3ez zrAqWy`7Me%XSl9&RqK2yLV5DA*439>KcZC6(W_g&QIF!?2lHQ@%bPZgvE|0sfg$WI z3$pKlQfMqQ^rvB*3AZ?Q*`5}KT&jxVdb{}bQko-_UJ?R=_4x|CqpnWze*g4^bLW7n zLaj`N=lUC-$-js$!8a2^-{k&2Gb{cCX~ zEo?5ND_3S*ln*xf>7n{@NdDY|t%Lr*w1*q)m=O16Eurze!-x*Toi55tB}4L*~vrc^Ns80I`Ol$E87=IZ6Qog-Dr zl*2Ve5+(A%r!9+_*dt40)x*R7iEETPO_45D-_pV;wP&ITP!VB z(wZu4#APzB)VfC+Y1naHy&CGvIe9z7u1BGZ5jg+egjo5CHz|mvT^mo}f3UG?AN0aK zFcn*Q*(lZ?X6EhWqw~nvw&=G^ z%}ihAgqO+gi_<*BspdO)cDvZUQHC(IL9IwM1dulEAr6tl!kdDpiqyEGR8!i7)ezl;To zb~`jtDg&|8vfauUo^fLrOEq7YG}eEVr5pB{b8MO93#5wg+knl$6QLCen&z&|cv#!B zc~5GL6Sklk=x{XYdg@)+FBP(nyZg824>dYiLu9mDfA&mWQ-WVWs1|{7Y7xg8BBn%ZH( zG((~Mq+Wugf?nBL86}dc%Vih+n9b_l!dG#uIH$nH$@b0K|2CF)lt>xzFEkuX)3)p9 zVfbf?7Z1r>r>z%hx!2Z4aB5qVTBX0)$=ezL&j$Hf>}~J*(3yC^t&8`a3|`>DHeP3? z-g?K=TSI%^i(pnGgS(Zz)B#UYvbK$u$FED5+Z^2kx5#>TR9zLLrV`Ww zL@uN$+rQCIvCR!p?F1Fy$iA8Qg@jr;rOJxp(DRAFVfU}VXUj1yK>m&py)?GqkbQ?> zt9{|`s|NHswS=$a;g%Rd#5PcG5kem3;XlV}CR-iYL8AI!`^8L$6mmqzca)i3-;>kf zL~lHLh3{2Rv$^V#TL@a?-gCc)d1&UjdK#}6^6fZ8pin|62790YXZ++{WbJv?6`Je3B^UO0d zFNWvOe1wBSo~#gUR2zgNn?l?I?WA($kz?(mm|fXXg=51g5UwazX?5%I>vMJpa*M&0 zRilpnI{*H+B`3f2%*lzi^9kpnhNP<@>$d1Vo=nN0PsaQE1$W6?HgQL!K0~C_+x+FG zZM`o~s6_X?8M5Kd0jGg{f~dCJ#GIrPafl^tN=TeC1e6{GCrrm*Tax$^y@FW=2v*Nh z)LX5KXmiJWw?DFQHGA$+8Gyfc*?=N zf{HAr@vGJ5chYx1f%1O7A5mW!_E^KZnwelx{|GAVJ2Z*b5bGbp1OkoZSenF5k)MhFsYyU(_`8t6-8KK0|Zi6}ORqP0yL0Uo}$%0^Jk94|o@ zi&td|4UU@)T$f4w2tw40Xg!W{V0T}GWE3th+O+ra>MV+semj5T&%}r_v9{FXnf#O% z_F96gSRj>f+oo`e$&lw=Ps>{H1f@I2+dFXs?Tbe(|?&i zh*CqRv96>(tcfP@+V}?wgxbp_aFh_Gwtk3VW&7fMyo(3YjQ2~yf+AGGe1GOpsnFfM zZus^~G%#htbB0|==ih)5AbV4t<*?h1s|N55Q^5vOtp@MsE{FYW71p-}v$!P?k{3N-Q2nAoxMD{_y@N&@a%p`wO2# z23{OI0?9Nkm~@^OYZSqSQ$rfF{}y@oi`=n?AVauIUiKY!oDg7R(12#R;8!(Y8h11p8q-+ZREbn z!$rckYq#0A@cn@9rTRusZ|M2*)`CAD)eo5+wZ)rihqL7y;3B?&xlB*`{RfzVeX4`; z%e`?oSm#~HD}P)V#N@neBM+*3Lgj@;hKO{*0$X9}d!Qy4@3|Vs$I*1*%}g9p2%ggd z!a@56ohu%%bx^3qDx&fQV1WiyVuE+ej?{wek|?NZP?oAvAHw8$6YAE(f*8wszJqiW zj&)pfZk0|$<}ON>tP}ZaoAxuA36MgYqh#P9EvUGSRyij@x%z@#jW30_8aQBz9t}@Q zy3}~MWoSAZu70a^{mIbeX+&1mo-YHu_YACnbJV4y^7c}8LMZFU4MaGH34qHK=1QSXs_!j{%Ka6cMx=`USvdXxy`|!&nq2F31D|<{;wQU_) zzlN>A2m+*xT!=(@zkX=-Xd(OVXprw}s3p#XSgP}p1NK(Eg1Y4_m1P)~9HnFhkaP1G z*#vGSnRG_(`EgH7b01E;1oLm&*)Gw$CpBVHL3o)jziE}%SS@(7tor*fE@?*oXkC`= zYC8ERSZtHE=0D%s2`jP8aE&hLqDpK2R@~8b#^$AU7?@YJo-`3)1mW!lO2IZ@9-=r| za%&BRCG9sKKF7e_NKU6N|HVZ~cLCo`N#>OPt z!z(ejpZ$En3KCm2%!n(6mj-{Nns2Q}Tsr9?ubXpYyvt&#Pqz9hT`bJdaN0U0R;GK! zq8%kBJDQBPA5dbPP}J)lkLAu6_HT@&+d=AODCRqVQHWJbRJdhFskM7v8kqBTJY6_jZ}1$~{kvGR48b`e4v&b+=D7+SkVL!dA= z0OwF|FG3I*;@RKSo#GJUz_sn1`x+l`5{p|e=^9n3eZ2w^t=bJxgw4jsj|PI0R$ShN zejrO=D&6`rMS1InZ5~PGm;|%JJ$$o>`58}5CE}^-3A7GDZ33y-bV7GNrU!pXYhx>M zXF(~JWg+K)uRZ2aDsyLTM7{bhpcNnd_1{DwU)*AdeMMT?V;MW{V~ojvylA8dz4qPK zO8OPg#+Uy|n2ugMzGTu!qJb@kzn3-5tuoK&6!52Qgtz|<&pkWmcnB}*zX58OcdaZ7 z-AU|B?k#eA74$C!6s`%ofoeM|zx{Yj#Z2f|{Q?MJUy;_>f z177f$M=$FK@Kvs@_cjyg?mJT;qVY@5F|{`wX=C}1qjAks)AR2;zUL2yPi504IcLGm zLnTxOcb_YBbp0gQ5zpc{oGI@z3<6WBH;dbJ;#*r!+p)8<5eZdB5`|gnJB4yeNO&g& z(Sm*Uck~Df1msvBVs{amWu-Z_S!mzYsq%XV1o6&na#?EaA)ts>CzdV!wV&yPk;RL1dd{#>v9cx-r8l>3`hOSObJQGxB&OP zURA7W00bA;q~UJtnvkS5bkqB6jKplIF{K?cSHv7tIgxg|u3Z`>@8p|fPF^r8^rQ}# z>~kj50k062{1B9QBpuyY z6+1x)L!M7G>cq-yCNhx0OD>0$kn2ZDT49$EK?sd2hh4FEnp`553lWK^n#ogS*ECp0 zZ^lh~RZ5>_zgbTrn6|od%tx zOY|gx_sxy>0%9~=2oCl*qu$3mXa4P3Fi)hZS8k>`Wt6Qt97RLaoUo_`k|2Qq$Gbj)D-U(8?mut^6?7hC5_Xlc`fob zKmg}U^)~@$s?9)Rn)pMX&gAZeI*r`8%F+x&a4pr!^=fCbN$0W&y#}UZa+$IMUP6qb zyPlBe3!FltUh0#f^EXm`Xn*(%&RX< z|Fo98wa3-6T=Ae|__1JcW{2hSUqKwyxGOP-iFHzdLuV%LCW1KE`jLLiHU7_rh3;ho zQm?B$fll9?;m7H67sn(+#rDMlkB>U8n!ZBWCzE9#*SM0DaCm9zg_6VupJ}aFAsQvi z9Iu)sjR5ma-QZ3S#X@HI!G75t7bh`V8`9_L(VU0wqGzT)TAjcpwK6t}wpU|jQdl*s zIoE(EUjd}?1)7L7aoJvwWXK{^lFXmB9-s%tYoG=^e@Va5I3tH#3dRy9PfGF8E;DQy=#x;HY@~6Kg3flxU%INC zjv;q%{4dtMZZ_a+|6dmB)lQ>x%_abd^mrNQaB}#!h66}~cOG?|zUnX}KHbMV?YHZH zT+c>3**wtZgFN6m3qjXSH`$+p0-hh9JnsJTyliE^oKKwJOm@K=oL){^?&`A_f`k{c zeWHb1JuSPupp*GKm>L?GCLwjz-BdCw5%K4$W90DS9i&Z3mO?a8}8NHxAHR?I?hh{NS<(7)>NOCY3^H!wli*ZRV-=&78V|c{2lG|ZQ zaB@f_ejtHd`cO5MQmE&?FYMe7Bqf&h(~eyK<-GJab%@~${~PJ64*BYQy4-soQM`LI z7T&;wfS-@U*cWRHk|IO(-P6o%jY+V}B46f=-z~FDA=rwPb>^t9c|4%P~ zdemSG-Q~s~`tLuJR~>rt=G$NWB3K_^r}e=cfmHLUQ!aDYRSLP89&wsx1f8TwX{lM% z2)e&v=mQA|67~#vU--riaq5j$(HRBY`B-#H4$6{)u3^V~L{Y(d)vj;NsRevM?33IG zjYG&OJq$pXvhtT|#QdD8)_jPrnAcJ4P=nO1Te5}`Kc|HxY#6l`pGn(ti~=1bGK;b+ zKr@TRk`))^o5?-R@2^i}c=k2ZQ8ottiS2&0R$J>jq>NJO z-w@d*R~7i3C+jFf)%eHGgqsLj1}QQXgrt_j@kf~&L*3=PLIYTk>Y3R+*09ygd*_Cg zPUBUWPqncreO!{Q3}3M)0X`QQC4Y&uP4Izfu=GsQnylKFWHs9MQlN?K$2`OWsrV3m zn!-q<>JMCVR?4V5YJ1`dr9tZ^9q}DCz5z-WLxbg@1=SOhZ+H@{ElUK~p}UZ_B}Im` ziAQ`*b$LNyPsIw6e|CA*d}xzq;;9b25#KM;b5Zp z$V>oOiqfcuo~IRoLd~=L*WO$ik}4_4>=bwM^**N@!;tqP53f*uF7jAQHIdOh5^T0M5p7QRV4RrciS!9u%CZk zZvM}^_aEDER69Asx$PSCzkM|u;8*)FZ^>i##A8c<&N?Qt=wyIX>lyZK=daVn<%DYZ z!E!>^{K~syk(Ot-V-YkbpJRjdhxC>{w4l2%k*8kjXJQji*u&(F{!8wiAZ||@&jyuV zC#poZE415W9S8pSH9cc~bKi?2FaVnOcb><|N8p9++~MjHDq7(>%yF<;M{6GDTfI1i zz`FN)+1xN`0iT7dj5!bThO*~F^(VBtY@{4UT$?=`X*6`o3BP71q#lpns!Z?zs;qFK zuW|-ac%(b23yHffG;iOs-eHVpnoeRai9h4G0dbKT zt(R2Q;k<1lS%r6D0VgV~F7GWXM#zXCBd4YC-n2yhwikZfk&uCG_|QbE#0l!)&)?X* zN*`t|aW2TFi1kEPraTkezPThqtlF|I9Ti_?zXyZD8~(%B7C%-&ZoNESK@g$VC2FZz zp~c|NzmyowMiSJ6U|KYXnBlK&t>}Ew4_`)GqKB6O&hZ6rje~@NQu2KDYILr(UE2Zr znTV)`*=E;%uMO5h;3N!K5mpVIW(xk-qDlqWZ-b(!iDdf(tj^|P$h#$T*=|Zrkj&{> z@G`Zs1ZN~BI4UOr>F73i_cLBqr9=)#xt+bCPI`;mF!tIF>|2_FNLkL3^jnM$TB*~H zL?ERr78V=o?)B?@zEN6qW!YN}j3h-xC5<;Tr570jR5b#)UBnHMB(T)XAl1&%l}?#0 zJ29zVa#l_SGJLgVy2>m(E!vm1vD)+RACQl({awIk6XN)j6-vhi3h_UMt2XfEDkIq; z+-wmy?%Gn!yS7{-Tv4)Ka?>7?4$Z-hJhpk{NxzcgJKJT^D#u!v5t{RTW+r?;AKzz; zP+Us~oT~bvh2V@>sIy%~CmK79j(7l_+cv;PUyzqkGqCSs4Wqf=oK1FeIV=6XD^Sml zlT9f+V(?h&6ybY)x(}>q%Iuor|40Fs3gAsb9aQ>zt>eUNfdN{Nn$Q*S52_4{-!iC9 zVd@%LHu<=%1hcEbrDh`BMKo*5)fMsfJj-&H5@ZiHISuf5#h)<M|51(C!nLVH@TekZup}^RB)R|JNKmD=dP~o zR8QH+o%`^qs9)#8L#s|_ggRowk*n6(qy;Fg>_b~F;34Duyf6A8&o)*uqk%lMe;07R z)>xZxO=HZc*Bq-=y%^^za%ZVnkln7!a;cteSdc@ME~q>!SHx_&1d>vv8`Ogz8VRv% z0_V}yoV8#RIQs9vX28@6E!WZ8vD{h%*P1!rW5MqY`X*t^ZG-N>pAGr3rr{VYTS}p} zrpViggJqQFnFfl8oxbtczl0ABD7SH@@A1~Me7>Zy8Pa;T?m;}Ee%tH$2J!Wv)sGgU z5P1`^?Ug}(dx7q2QtF7It_N_<8a(U&w$@|r0IWktG|{lrv$4l7ue7FI+UwOW?D=1C z`Ec8`x}fg$)xqWUTr|1)f9JShASm}D@3OcN_}Xnj+@%W}$l{pq@mhZX8*J#cqJOD* z={EXil0dyJfmv6JUcx-zs%GBvCmWY`TRj;klTB%(7*}C?kvcK=9L4j z6cy~XO*;F@Zc}I$P;z97#p0|^cP6p+ezSW)fR!SVo#(pnR%4W6VuOhMR z5s;UHbjbHwu5>{(){{1zUQL3kc5^!>h3sFrx{osLE_qcn+zwXwCD@-=`zCJ4@!dc2 zp}D;iLr|?k(CzI!hLodJjCcGhChLj^n^q?2HlKEIwRh-ok3)66XnJ=Ca?bm{J=$(* zGIJqKb>qmn4R|@nIz5t;d`wV{YxU4JpdzLRCC$~|s*QB})MviZcWH={Z@yC^2X~e% z>QGifI`XSv)y){5mP{8Gd{wJ5)`unk=O=-Zcbs4s?O=_hy{?-w{SeCVG|gxVFM-w* zyvugsVRpCVN3HrUkMt2=da95`>Vyjv)*Q+(1|M%DT`9Nwu^M!&&e9~Wr3yCJE01W{ z)_2|v9I`L(Q(}BheXRN;e)U=x-2u@NgY(VAkbT0VtelmXz63GI-6$iqv}!@UHx*u6 zg8D(jvb7qL9WUPNns~xKxpUSTvAGsN_0tTE>5O03Ocyj4?(TLum*vigyB#j08Dn-h zBtbH8y+lJ-)V$e1cwC~iL(-mE6ms$HLt~gk;^m@F)(c2w`Q`Af^f5(YB_fAwsGjM2 zDhPi+H)@+y^`uO&92B=i&!X`%hxPt#4i>Vr;-jHN^*7~nQ&)x}u~CmURzd2C-W{Jk z*v#=F-tmaJzw7gfdZh=@EAt?3vJMd|W_9LxfW^x5O$H5&DlZVe!E*gaigB}abn#~B zCLDYWV?I>nE%gyrvs;+DJm#NVZX2O+j?sIdk!~HZ&CiwDp6#gx*EsThW{1F!yzX83 zv_&T0l!#R|K(tOhq?0K$=d$AO6kbcW4wKR8ZYvWO#kBW7XZQLSRR@QnI_9KeP?d?K2VPWg{v@O6-GQF#4(Fz zniS2E?7JZR#_esKEtQW^983N*;iE2{28qsaYKomtrp3US*^p|@gNq{MEZNhzDz?hQ zV0|*L&%$8+9{23I`Tu~2=QZu34Reed)+|U^u2z4^f>Euy675s zBtEuV2y%cg%m+c6+^{U~OYUs^KMP|_zssFQ4|;n1@8_J(3qEWl;<_;Adp&Xd61H%; zq5l}ah~mLB^xSfP76H~#fzNM?>B2{@U%1xAl22DrI;_V;_8&u%c!x3ijfLrEGQxF5 zG^8Ta&@{;$wFMQQtxyIMt*HT@T#WHX#y<)TBWS+|bILNQ4spr6A^_TmO>ghOtFA5ZEe_=Ebq%5&S{$0=( zn@jtBw9vOR`fh>{&qKSiAUQ>E&E$4t(l1)&d*a7OhxBtRIag!8>jpbW^seJT8-I(h z*lnR@{}J=gBWI$!*C^oUekFe7xs{Ukf&0M^N#)X=pl{mFGE?(Bqb1BpO&a)ZbbMWg z+HI}Jt{*EU$y6s}QYT~D_^8=&C&@)rBGo(IzbVu}_uWZhe_d`ydI!Y2308QnnY5g_ zG=+8; zlG+TNm*PGLCdD^n?Q7bMYwtyu&tR%`}UT3 zmjw9b#Ot>mZ@oRe*!`1Tm8-u*@%T#g;^V8|IFw$#V_+dix)o+t$IcjX^JXumzYz@ zHR)szCsuPl8~f!Ys*@+7{-hi%7?i|$w> zj3v_bW7vhNqa{gWU2Jck`ESu^F+zED4c4^X*M=@I{yUhUOh+b!kB;^emqp;8m&J{) zvraZkI>WW2`kl&Rk1N^@f!o!9K{&LtyAxz5qQwq4k6t=cc+D!S9t@-V?Ef2^r46>r zQ$av3+WTk19K<%uPrcO|OqfI&!(OWgm0l}=u>+>Ae29-}1>@Qq3FFH*s&KGscZI(Y zTSmN->yQxwpLwBkqG^Yo`7!n4SSTL(fwauxxCwwrKzU&Zk?U-^3l*VrV;R$KD}f;n z<@y=)dc`hA80|LTh4POR*bxCR>A8dmP~VF}2Fy?a3bqsg!3%z!N^$|s0gJ~_+Q&cD znjQdv$f*Y+z`fJq+M&Y9pvrc59n>l0_xMVBzObwqw?ZRUjNdrjb@Du|lLz9iPd@sH zsJi=2L#0|o8obt7Ul2!2_(qV~h3hZtPA0|t#&(Z&j4}Rp!X^zKJ#=*qUVAi5;cZI^ zOA4kd>jiJuvF)Adq(qy9z+|dBYTvbM!aiQYzr4n_hwH@aFvs$M+QilONyN;BSAH7p zq=F-k+93%0!@+Y?WB8__=tt*^buOk94Kx&dd3{SKG+uzHJsQIq{z?OkDjBW$(PHIY zUiLS2xH|Kyf`9wwayxWd#~-cR$d+y02-@E1VR*qZWiP~OvJa*BVXjcol3gcuMNY!Fi*FI<8eOwK+c=UDv%%KN+n3>2U6I&lI=E2r8ZYMv?jZuFchRgr!}X>TNO_(t1}DGmTye(2?errHQ(_ z#_Syn{yU8i-0JkS$c5U~fAQNl%dP+TkcqmGy*j1i`Ktci?atH;c>fzMI1$zBFKv;1 zwyr|+n&^^D7+b>G#5f|LDqN=nd?UD}xJV@IPP}IHIn2|nyu;F~-T8jpogh)G9HrnH zp1gb6_V`ru5Aqz&Mzg!)5fz+@3gN2dVoAg&1Sv4>F$~ZohXcZ8{xY0>_h1(2_4%O? zMl|o3&8&<27oG3dWQJ@kDe*;h$Nk=!n!}tZ3Ag6XqZ;<2SVakru4N9oX)p@$Wgtn6 z8St!yEjnqBo?VAzfS>A7GK?KwMK$rwBCEzC>*GfgakB)xIMr1;=`TAfjV>$&QA8RW zRk=k=w7WL-riOdp(=1tdGZ5wb>WTG8_4h9D^puW1=aEgc5z?|LO4AT+9cn4eOS@nO z34yw*s5XYk|2=;O2h999b35)48;Dnt7fxa@6F++kkH3o0C<}z}A~24Jl-WUXfiL_^ zz)#EFOevX%9xOJ%yyuP^*dBiMOPz2iMT=(om~gQzWx9f&r2+G_PcyTROnX;E5$ZWn zaU$IxL6*}b8nHU=OZKcfsmLBKOWx=biwXqaB~z?}A$whzRnDp~3GA}+w*N@uaW#03 zHMP)y2EWT3%_DS}E4v?D@{kv9+TVfg+D#R)_)042GX@>RAwDhai#iyCpEOGl=6cic z0Dj%Rc#oQpLisDUS5Cjwi&I!fsQcTbssZ#$2kh@`c4gCRJP z@6e7&&528A1Bt4S>$)SD5@S%Nh*kkEIEshxC=_n)Wib~-AAWG6#-H^<6#+v4g^Nhc z6edd#!ijG8yjaHWXI9)^f_KPY->934coA#t2xcsFO-clTllNg#KFIs~Dja&X$`dcZ z>u#A391LgJXu%A%`V`EkQ{F1_#wk7QW8;WxSv8Q0t9v9t?R;X5H{`IKTe+!F7`T_^-CQlq+PGj zA@y%XjIV%CBfmfA-=*GF#~0X0>8G7%f`fw+7-6wndqv$SqG8--Xy zRKAt(N`L>vFb$DP?}^{?nfANN!H=-%9}uWVM{dgl+7pw21KW~sWpRwk6H3>lSoA+o zjoBe2hNH>GNf;K_SvyYW7tpU*`Z>H{*i+&y+ieP;&X`t{}qJ(RdQC6fb@zwH1v5^7Mqwp?`17tG1Bvi<(+EHB>Y za0BV=9@G)nccj~_19x5X)z2J9K6?3aF#BK+*3VX&#L&bb=jdG`4-PY16Vr99N@?QT zkpAmGMsP>1?v>9X0o{1cR=rjDqS{4buVSHaPbpD(V3UbB3%RM#Ws+@TiFl29`cN^! zfG=j-nA9rbVzdu`rS26DLgdFhej5wC(iT?zUarq6y%3YPoRafd=K&6!XMDfP6-Po@ zMORSiHy9&o=d$zucB13)Gy2>;eYdC9N%09=o`jZkO;*VT29W7cC+KCgq_MH}6@gar zFTP*IdG>h-50=R6xM@N2ek;;wh?PT_z9qPUrcQrh5{nu$x7Se*@J^bJ{U8gsWEW2mh zjxA#}*&Mb@!JRG?i=KF6khCxaWp#cGZK-&-{M?U>^h_cxe%Cp`FJ^vD(-KlIfZNlc zAt+Cc{r?h{cZh(NLmhm?sS18l+nHNKZWJ7L=QI;y8d;VimTM$}C&gkN9& z&ZYfm5gqzdLS^V9>^`X^V%>zn85kPadYaL!RF784F6B7OT;wO3KH3)k8EUNU;@ZGo zt8wyl@rO6F?~;<(cyC8}xCtlQWEglHo%3(NCs>`a=XB4&a1eJMtW1N#T1+Usjcm1KqGYpncUg#+dJ zG!!b;_A=*-*uaP(vDgR(HuH@g+7`{JGgaMCwqO4^b~O!(4b3{kkKLKYlcSnU*>}($ zLf74hb(s{nr^cfx5z2o;uxd?!Bb~13)L&W>!)eKhdsRzS)DOg~3Ks^sYx+>?)k(4s zf(iq2wM^x@u>dT)6g2q1G6(&@=+UnpIy0lKc1t~$Ei<9QXfQUr2fpFLSBi9kDROR?J`i_af6X2O5RYEZI|Dm+Qo62HvyBG zG!1c<1Le|t8^gFXKWcz^U(e9{t%N;VQR_G%=p7Xq5wsbTH$^-ffP~OrWO1`2?iV9# z&083INEUn@yBDMiERG_A2{UMY2+SaP#PPw6~**SZE=nTWDWTbNQcfBX#1Wa??gtLxUKv%%}y8_VnC*c zxYGZjgRsZviyrcEPjq9QwTo%f+t$jT#8iq~=+~`=c^2>?KD-#Y%0IeJ>NW(`A-Y3G z>b!Jt^WhRTF-8}VB(p4lnd$Q8`xBgR5Q0HYcB=+8fLZoZ?a|B!qx=X;fa06#mCAn0 zYrudD!9il{I>jE^Rl29@Ku+{|n+;Pkw0QpOKeM85^#nqZ{6Fmiwn<;SCl!)mGzjm+ zBA4wz@M0Ahi?}-?FV_2q-PtRF&Pi?zS^EqbZ6WXy*N439uYRJ3SQbJNtDU>xU*7Q| zF9q{@VK;}SDb(8CLyfo|e!jYxmrJ$&Xn>?igxcS?9mtKGV-$<{Ut4i?i!#vjqyBo5 z9%Lx^JY2C~l9F+&#g81Lb;Pt!$iC*>Fnr<)%iF*M%;Q0vU z!1Ac?NQP#`p{DUM#AL^cNNl?YgRU1!H+WJ$Q=;US>am%#&}?G= z#8g~se^Ai=YhwsSG6wW&<5z9m$u}XwJOg+&V4UnSe={Y~-DaQK`*X~Nb6bgTH?A5eEHrWQwiypNN*^{*`wh-&thiWp*4ic z4e;n9#LF48m1XkJHE(plqtUT+Mk<$MJ81wv{O+51(VqJ7*w^vH{@AWRmp(w_zw0JG z?A>~)p1Ba%(0m&ZMad{t@7C#Iy{FI#wqhAPZm!1kEYdM#QUK3!O(f;t*1oSIn~T^L z79PV8&ifK<1;f1N9>CK%3J68!%8e3U##PYTwdP2Vc&H@GU=b*|GdjDC(O=w)5htji zz)&0(qLiS59X=)>hws0(_eYqqD#{_+6S6(&X=kP< z5yqN`CBAH5DJ!MV)IQu>(tmgFwpfGCw`11V%KCj_Nq;IGv-}CYxNTrcxz}gTxLcKu zemSLC}o_C*T}=;F6OQlSvyiHTi*mPH7`*qvBY-g-tM{EZ7+1{=&JX;^Eq zL=Rye1v|>0?3&7YPW_viUwZnZSg7FKBijr&D%20-khGZSgzGp5K&D$l$~*oWdpp=S zodP1N4CDi&_Qddk$(+Hbgk=YO2uSN^Zz6c#=L3oE&zTi!Ael7?_D!-)6thq7Af(wn zt?WBWzI`Z7s)Zg&R4PIoBd94mU!2=K&$Z@*7pplPGE3Wr#Y(zd+1YL=na_XHXRBf4&%CxF$zzxa@q~;Zf!4_ zg{D9x?ebzF{eICYEQ@!9Gt&S>)c$MEVM2Sr+hq<`_*2srUt(7tg~BpS{lg^94~{}l zL)6#8FBphYvzt!So$$6`1d++~v8S0Vki5(71S;SZ=>5M)@`4OFr=2^*3$7_uMgnM+ z&jNb%UMHE=0}m>|`S%rJmldYbuC%Ig?XPS>N7&5^H_OJGq(i)sC4S#f{n9!|jZrxK z;g}{beG7k?OzuWV0xu(+XGfLTcp~Z>wVFq94S-XTEgq@nle2TO{RMR%<8|x2ax4ovZ-!X-fnx z;LiX{mRX83-n}izjZI^B_Gx}!jG+KYoEsZhnzh$zQ)q>jBo+2prT;|rJ%GrWQmGhm z2M_glnvd^Z3m6{uAyN{j%0+OVsKr?{8Qw~}U#mW!(65MEj7n^##;-?LCB(}0gM=BI zk6SYr##~?h`}nZ}S>C31a@qxnp|$qP#ml%-D(U0=$2nM{?tue<|GXJGSlqSVmW z;kIawtqiz+en=&>_idt{DNn*Is^U~1y)MrlyRARA%|9)A04S4*uq-f2!B6+=QQCZk zeEK*Ji?Nv;NJqb}@Qab@5_+tXZhm5j|m51~173j^EZ2 zt+1}XZId@drs|t2zxGhBJ5*@zK^gPbl|@6xCCUi0q8;LI+Ni=jv7p^?$B86{nAd8{ zHJgyY!pAkB{q1jDn^jjy=!b;!&b}~U{-X*-S+|z%#I^w`j}?IC{4d}%yOhTtZj!`W zu()K4wGe-3s-bI#{lRMC93h(e3K~4;%4kyrYw-@HZBC-U2b#x+Db`F1aWkh6DHcm` z&X*~%P5Y}s%_CpI@4Ivrq&3z*L#3-)VuvcBxrX|k_&#p zhYHs4^;rM@Wu8xPH2l6Q5s2Nm{QIUwDPP(n!3yJnTn~#D+ZJFl?Ku7yU@sn@bmOKx z+Apk=>%hs2$R7MDNICnfW$`+lX3|KXXNqbjuh-F@oF>b{Nu1A3n9CsVj}#^4FiM)g zh2FxqwoVJb#T+l&ApQ5;2WM7~&aNYJP+cR>V2_cZ56?!+B0K>0dWrC2esDvgU(GH7 z@NA0(-w==?I8mu(fSxUy4VwKOP^crIGAyu*PeF^o+kYn+Z8RJp>X9MEJeYF>16fk; zwon6xoM%jKqmStnKB&sDsD%FDvZoVG5fVq68YR*Y6-Z%6a7Z=*9P+9B=p!gGae0_6;)kz_!)N(ZBY} zJmIpj6!3(5vPa3B*(!aJzhcj&R}r!6NCFHA@yaG>E7mPW?CqFcZbK{7?Y05`iz}0O zfH%0op8@CmHH3i80AnYTl^{gGQ^YG@an3jbuRPy0cXvXa#;ArpzX~+uid;Xc93JR_ zU5QT`bDL*tpOddMD!Y*#U*Ic2FE<-eBGvGnWs&ND(VFH_?fazBOOBeLHDj#8PE4LE zXxMa~$y3U;Icb|!mml0kH&YL^Y8V1FS#ItlRJ}5ZSs$O+CA!YR^rKMJcJBR{~( z!3dM0_VchCS7X1jMK1+&cL!M#vX(?+q9yf`+l`or{FO=lM_tan5!ElfUT}NZ=*jPrG0B%>d4h$*`OmJ)ebbQelW4=kYz3xC z%e-DT(Y@Y4t4V4>Zk?yzqIpi|%ho;T&vA113l9a&D<1Z&cL>Z{7`@S-Bdus7;z*Bc zuOiSCDq{iu56KXz=n-bU+E(w#ffnT@?((agz=1ooDMDZebmZZ>n}`0a4UEc34-CO6 zAGc^aE=6H0iO|kp1*)enOh#+rY%+<{eD3-#RhxtGWd!ObRBmATN%)M!?fADzu=y{+ zZ47dsQNL>{qwj`-E0RTpv;4nhj@jyoC2f>`*TQ%EsHw=O&rFqYMS;U|2L8EvT1B|C zZtayCFjHoe-mi!aEdDPiX@Lh)3tDiA-JG`r8(=uKwW3##~S+?>0!YOi4yk)jD#eA_(O) zljRTUGu+}d321PNY(FQm5<_b?A8m&#bb^B-z!|nI|9*@vPZJ$0L8PCBhKHI&h0#YY zY7^q-kkQM7qimC?w4;gY6&}A`F=5fvaYSt~V4)x#1vP-jK(f?_I~@V}2h{}vTPqps z&-2;oEr4L_Kd%Z%+2tfMz*n<-{@5Yyb!@>~dGWB;L<5{#yh^E}QGj40M8Nu8BW2eh zcXdd>u&^a{s6$C}?y@Ha74JpQcQoZ5SQJR)>giVr{91d7b+XcbQg3HLP2ppb&Bf|Yxve7S1hkoRoAh1HM| z+k{y?H&L@wq~OU!pSsKATE*>Tyu-Efb#%7OjSP3TKV}OK#R?KtimOUiO&lQ-S1+d3 zTc%Irrm78M=^|+~Zj)@qu2)0%%X}K?sOyR3j&)RkheDA=6Yq$}-Y*F#p=X=E)B6|t z?LBZeM}4zn7SC`;I8$3cBQuJK zAJOvG$M7nInhQB~VW|UpbkQT|mBkoI&Xy_zdDu`J_0p?^jj$e>&E6d}BgJiDTr=d8 zHSimXRZhX!da5^RK2GOZ#L!U9@Rz3ct=GhE<|@ba&FE>?wY?oOAVGiB*3Qf-$H8%U(B z$-`)gS|UNKbde%}`b7@$XIhpf7$R@{&oi$=bwG`2^RK{3q`#Iwb^f>|Pwuo@tEa4Y z%R!M0Q~gH=zN)q6>s5&*WKil`%Kaxy#itzhHkYmI<)7@H zfI=FtERYKmOYdESsaxE%SUt5fNNGh**(L6t{EV*#Zl(w;)jF%wfSh&gJH;-#)U4wqpn0WtcO&D-(PbO>|C0*u?7(YxfM~?g zt#7B1Wza&dHXQPb8NrNC*pw}lozMdZnK97t>G(x}0RWacdq2k_Me$jz7fydH`+d7(HTOz1-fL z82ur1^oHK#0l7>`Vpp+F2*oQu2=Z~Vmvv%Dap2Vc)yJ;$kXbVe8p2qlNx}oABdY#v z-G5tMaF=Voo{Z_^cciL|M=MMd0mob&;L`o1C+~te248m)_~rRm{S+guC5T!ilkoi! z#$KIpIfP=5liYNxoQ%OUj5j#XGKF34;ZOJ#(_B};*lSrEX}Zo!8k>y{3FQhK zI3#)iD&M8E7^sV!(2n^Bj{TzLk4YxOW-nq+N@rw}*7c4!<0&v`B=4I?Phq2as5QPW z68UYGRGa@G4Cjpv##ldoJqjJ!3pMcP#na?lykc7(eIN63g$mXF++` z@!Ra@&?88Oo5M=!dMjhimwYLLT=i(l1bF8#SqW!tE;=Mw#QMf|mjFbp{@Ff3ScR}C zI0|0Ct{lmTfJSv6n>%y&dj&h9mH(%S9*gAj4+C3_thWR_<9;0%ZQ3 z!9WgwX;Z(3QFlyIG7epv?FzDOZ*Z_wNJla)0lF+U2q3{NJc+}_=U#}K>|M8+pp;Xu zelD7~8}n`lHK^Ypq!pE-IjlZ)p5z2qE!L82 zMBX`C+_lZU`_EycQq>OjW@(E`mEmLq%l#YGrgKhoaMXQ?t%#r*vf#3X|KRL|zNM0_ z90oj=xP z{}}8NKRoO5UCBRh%%tS-LNP#DkeW8NoOekjU?>M)b$)-R5)i!l{C1V@(BGmB&N%Fq zD^aKfqPC#;N=P~`*Tgp%VP6#!DMes%^&z5o{9hUaWJ3&>~(S(5&R>L z&H+<%EC_(-!vCn8RNN(=1c1%Sj;?1u*`q(R3op)=c0Yh>2?J! zip~9Rv#zu^2V`Ol9`oU|?+Ds~lb=PY;0F4h&xW0|wLFb}=yt_)W@~Xh#%23aRj>6t zl&UbWkp4vkIhXn;f5Rmcr|UwW((y)Q@#`%F_JP>i-xj)U{qhf9cRv>^JvhewFNm57 zTQ)lUe0uH@TXm`(eGE56IQ7ohuR)dWwr?lOuM*N^GLR^&zOmKHLkv2!JQK01e8?B_ zgzGl&;rD5BR*{CrGSxTpNcsF9_&5kK_9-kyHtH+HKwE(kMx9_!Ar8YU%jt$%`^eW< z^ywexSlcT<<+{)Y^)`MFvG18sz~{ahf{*JK`zL)#jy6miR&O&?`rb}rj)7jM)kXM9 z@#6nu>Mgk9>Y^^)D%>TwOG0pmK;e+!?pC-3w_w5D-5nAL?jGFTgS!^)uD9O4-Cy@O zW1N4m_gQDn`OGP4V@FzH#Gac3|59IzTl`s!Fo`w|85Pw#U;MtFB}@|<9Uf&AZI5?0 zt&E;kxN_uYRhovNvouP%$dTI5JY7WCZ#hmIn$hFJhkI}#f-HVsfV&*0SaxI-jC(Tz z?<{k&I7j}RLzjiU93Ml45ot=-6qmq5xJr@z3m>H6kI2PzZa)i zggg7WVh1N;$v|d26&LYqj|w@M+IAZ$J#LTnHxo=lt&;j8VWwerMiCXHdN*{BMe4HW zR+uUD^3|wNcQk0UW#BnaN|IGJCQwCf@6iy}|K3}QY8D&wy6X~EZ%c=Tz{VYcP zB3fM+9OoE-lc`z++Ncws|M)XZYgI|$b7H+A%e|g)O={t+RXwy`CtB#PCQh+{{ohX$ z?cCm-?^Alk6%rA8$ztLe97eWLXoF+hm zv`ri1rGn@7$$sU)DEzG7yV73k3Oklh=G-}|A~Xcr17Az2|EzbJQ{(Fs&Gm9*=4x;l zoKfWhpO{b^LkIhBH(4NwP_wA?n+_zp1)!Mxrmp?~Qyivg02sYF}w5W(-W zWh!^FLfR!yoNYT`P5_<_!n`GC)h@?gXROdVp<2kz?l76tGq`*~i(so~ql|XYs{*1t z@6U)b!(Z&plEYbfn|0S5c`X9T$d(=Gx3H?1*bps?EAt9^gTD_)oP;AX8M_{pZq>eB z5UlxmQ6C5UPZ>Dh?^uTLbOMto0{R^Vbdjrtx%m!X1d;v6Abl`RC)5c;2`w)DQs7Z~ zU;P^yMId0kVjuU|ca8qP?dB%b5Vp{?(fDI!##Yv1!qDLH}2Lt7W^$T$)0_(=*6&dRW&~4Rs@YQVWwc{m#wGO)FtW(t=ZNKTB z*=kT-A}4(A#J{Vc@UJQCAGx(l6L8)uJAOys7ye;;ZjN(NCjK6yn|Dz32vdcS@&i|W zq>u}DnB!Ftw@Gb%Kd77zcg#ocM#s!ilYhR1@R(S@z@r`f>vy}-r=A|RjGy|Hm&qe# z>%Su>^87+nWLg08W7^A(nk#4+hBuplZtc~XTG0tSHzk61Dc>ei_O|&#!gdxtt#%=C z_T!dGe1iSTT^OvC%B-v?FxpXV#j(epQ_G1NPVwCHkC8fRF+h(KMVB0%hAa%yuZ{cz z^uuUsM$yF9EM47%+zw@eL`n}vH7pmr>c6I>0(whkS?;AczY&^yYF%I~c;zd0r_o(C zPTsq*rwXv6($;Uhko#G1I~-1h$_VcPatd_&Kc#l2&K~PKI^!O>o|&X9$ExJd?_WTRJ-4oDSwP?NI}k%{80fDOZtbT>rpzpw0C!_s3^0gI{Yh9s|*bAs=cU z538qBITnr1jW?{yr&E!SO)Td$UQR7Ia6*e-C+}b)L`a2lxBH@M@ z=6GX29a^jf=B=C)%^&1PM2#xVRBZ$!s%3GCA_%6BO%kCsD%yB9AJkopN0aICp#R^i zK@two151ex0IOvq0A$og>4kxSvwsi(K!^!oxS+~MdZn7n}Kx+ukWj= zzc@eiJBT@1LrJ&>nY?sq27d&E!%vXz zX?oPjFy;gAcU44- z4V(8)*N{ax>v?C_;Xp(7tM7~{?$k8*7pq8^0nJK-_r@u~NvGL=FG)T2`6kn}bPAt=&0T0n|;*TY$Q*N4mr{ybg` zY=%c|pOpeb@_GXa7U-cSye^R!czZ=-Ly}{+<`luhyu_M_5k@|#*~y|LSRsGSk%LN5 zUU&&cG*@t1DoV1kOr!16o!(?wvO}8fLDbmS>`ZM&OPI1Qb%|v(E!Z7?mm$Ng%tUQ0{Y*s(;ojK^|K9Je=z?@9IHL-ja9Bo zE{?-gi?b1%;;#Wr6qV7nG%|99=f>>?B=iJsmkWi4ifg3|5^-v_ts1Yg^s_gAh`=Mp z?XneG%Gd*XvFEa=93bQ3uNd|JSg_uow+3$u9wp&JTb$80sd)iO7;HcUV;}MFllAjU z?9pF^y~_a>r^rv;KcO>Mj=I%tE5mt{`j#aSGE`!EnPUQ@#<^{Z1SpAcn)fGO8RTPQ zi7iPx@8-q==(}U}J@k2CFOg-?lq|C$@lx7+&JuV_p%cKX5ZpuM5X;kE~btWcR8T7y~ogI+d-4q!Kx&V<JOR{C|xR($Fy?%zBfa9N^0W z*xd51-RZ{0;(XenC zd-2u%;xf%I%c|L>-`jNH&xl#&#qo^yeU)&<Gij2xL;+9T`IDxKYTpD6C?^O{8U%`isu zaB=Eo#f6A?`DXO(0CM((+5L1seozlF`E>`1D~0N6G-KAs^&D@Ws)Y%PD-##o?3*+U%dv4 zkpNSp57ta$)DOw&-atOVwr_TLe}8roRYPx zSuc3X<06#}G{lBBox-%nzZOxUzWpCB0DY|gs%HqyITcO!oDx%{Y`9d{z_=c*>QxOQ z9W-~?nI_1KT2Qauc<+4Qx*X=~L$HS^7+D#EX6JBR9PP(XFERg!mo;ozmi{@8)nNt) zbwBMu!ER#mz}$X4Mb=IH?lmj7b4>Ti^U_yh>a|ox{aMoF!2xVVNsG$Ah<;76L$nlE zbWBF^464402hWM5a?Ky+{gAJ*V55urn?oY4wVG$H!tYo ztiyYzJ^@DWr|p*o%LB4;9<`bWiuSOb_^5e=c8h`@YS0@xfuuMN+|*LsYaLAM$Wsf&offJak!rl;4d!yIh+j_8#^UM+sPp%-eELB)YMzx+2lkU>vA%Ms2rV~k}= z?PBpWq?q0%uFg>GzdgZo;$w}*b1!yNwKbUDXXU*3q zWJ@G$>A!YtE>P(D+Pt#6_vdJyc=VG$^x1oFHwj(pI_#9$ zd)-D?`5>IyLKloSDMa|gJy(Udqjwbf_YiXejd#t1*OevK$~Szb_12frOu_1>faoSI zP8++r&PGMiX|ZY87tc+JH}r)-^ktj~vx+3yJY6}=(F88W(ZwtbMD30b8V}WeaJA$q zk#>4$pK-1AWay8(g!Bq%O_53QRmiPDVE5hz5Yx`%V?U5Xr98w8**D?ypKjvx9cuDA z0}Q5GBlQP(D>zNAeaD3zZl@)b9!~0I%>F!m{9Q_Cl+<Fei4$xz>ZLK$`VWfxOSDh z)LTm<-GGM1@qg%-Tce~eLlOO5Yc-J7X2pda;;(N4xi68NyJ(`1)!QH0&C-!D59=>d@E#eZ*kf}0F^hlFB__Kg|NPi)A`P%7E{osMZVXrs0p&~Pl z2y=IvA?oi%|Loj}p%e*(VZqOFq#T!bg2mPUHZw7n%p`-zFh=_Gut!Fp7qViQ)H#05 z{N)RI3n`{F3qhg{e1%OMDu_6>@2e2#i_f_QfOE@2X3DHb z9v)^oeNhx%0u%fXZCdSWN`5rZo`4AoUd^y+?)3+9)^<}SRD4TwidwBfDvAwBO|IEJ zf5S&@xEIei&@N~8eGY`}%`& zut38S%f26o#SyzamWl<2tXvtGRAbru0OF24m&6cInL0NI64&I6oRE7+J@V zT!!ICyl0#2b(5*#oF+`XSH0>3|4|>HRw*oPzzh}CclrGp3Yl@ty-SY| z&q041gifGr*-N`n(`niYdy~o8$-C`&z1uRsy~n@16`vK%6LX%{OG5A@gfFEz`_)8z z*Vo#uYOURsr|pp2{^xk6KJ2-+$K;5o#^zJPv1}#lBh~T}gYMpYs9D|U`dDt)&5ou} zog<+Hx%NZf@}S|-0HbirC7oRR+XzLaFx+VFs(b1y8TkG@;^`6LB2>I;UtFXlTB_UX zBkFuH;S=!^A+h>B1HMoFML=8uYDB$|V_#6fG|l>&cGLJWGBFZl?Cl7ZrnMa`4=jk(R6 zpV=#AdI<>jJxYSeawKy!I*qlO`9k2iXM`G#U=kws%)9kYPf0EM+OaG{OqKr#8Pq7U zC{cf{Ljb}awygq1z7hAn8V{z*b_7d`RpoHf_BYj4Lrt7blrBfTgbSWoeaw19d6D{~ z09&;<;9tw4P}0<%a+WuuN7JCuclXi_$8KCVzuN0YxN=T{+77S|CAF8C6V5@PdHpmZe{yi4U@-jgO++m{Va z>F(kfD7{BoY6xB9^Z8K)e?T*?-xiTGsBBb-f_KWNm_wl_j0;$%iAQ;`;ZWqH|h}JM0@0T_%Cqv>mzGO`O9* zkmCwJMk?*j%Ph*@=(4VK3Ekt$71?cTAfs~C+~aZ$FcAC0=Es$!p;m`BJXHG{dy5}V z^WSr=rKN;dNFN%>Bf6i4rhq?cr6jHk35JmJ(7UJrxd2jx*Y*l&h+OPl?)83d)nP#y zf#F8>k;M(aUr`#*G}ICe`F1H?Y8Syl*Ng(Bi627+tp%I)->}ic)m;PNX z0qyUf#6K|n3^oZK;5U(THj&*2N!Bkz+}eQaPm%Vo{Y`Jw|9KI-yv;iJOh|m>7pKX*m#| z;AH*)k70&=G^A2o_o2Fc(}-}UWLk1`Jf4QPks(JEqz)}jdFiw`6UEBGj^_dK0-=}) zj)^?V2Aa=Y8p6Iy&C%}#*X_qnYrn*Q9LV_Obb&wDgFLFm`igVpnFilhrFQT^!7uoxN)Lll2?TcuuE&`3WY0*gpW%7c$~M-H?(@_pD3eiw zK|{oo%7m?CDGk+OxpFh8F*0vLu^bsZYgxt!2TkUm9Z|2i9Q@0(d+@d#^||G$c|ylU_OYPv7{6EBR_6u<)-4FmGePaLY`s7?B z{bhom0S={`3RhtBM8U#xYtT4JX$mfMk;ZX^aIw_s_@cW@ePiy3Ro^*O3mu|Ah-KuG z+OZ}-Zdz^*NeK;{1sMQ|eEHuX)IKLvVTg7ns*v0#_BIk(c z$@tbMfeOc1!HEbwpQ*ug>FiHi(@H7zJJ)}-ePeIGl=%|Py?mdYc=N_^mfm59pEr!1 zjfMrCiU@1R{OqjwT=fnl+}C=1E>L=YDpy4c6_XtL4wi(w?K{UkvH%gd|Fi3Uk!j}T z!(j>BdbzLG2muSF)pu0)Ed3rpq94+ z2s?W?Elqj4H>Ns1IZR}f85Rv+2pUG%mBA3(2!HJI6Ttt;MG;W=OW))Yq zC}B^W?hN^@Bv0us=!N==-r@=HJT{%r-OtD-+hK)jpFg$=*OK`BKIK`4z9=5o{@Xrs zrl_|(to2r@!jR;yy!={2!SVg^$W8K2ex%RC;b{vmL9YK0+2FbPciHxwE+f=-eC2GP z)$ckg3~mH7axEfZEeZa+D*LPVoyWYNiHg+Z)EI(v$Mf!XwYC=RV}~MgroGJatycFa z{^5R1Eyf+DSBRMtL6AfHX#bdJIIN&?29&O;3Zhvbm^*{!)}X{VqMz{gGi}wZ^f%Mo z2{k|)2(tjZIYW^Zq2RYObZ_V07r`7Qoj*pMbkGVY(lW(l$(i@Ty&e*Rt1xx&Jrn#l zren5Vn}Fa|;c;J+bg)kCk7uXwCMypNxRQnd7tayWtDJ12x4jH{{o~Z86eRPYK@s>REEPh~ueo zkwcds6cYy<>`cgty-DyMmo4KRQx-k?om$(ziif=&f$+(RCB1TGbLtXK2rfw}QW3Mq zW~d7eSMH)sU&}WBv=l=umH_+{pCOL1{(N5VkI>ON!CfRf&MW4*S*Ha&Is2>xD9wlI ze*=}+@18oF8{VRDKj9nPE3uzq@(IsgPsz}swICVt3L2zxlQ-zED0nz*v*Df&J|Hagnw0+y&gKBpZfp^=b+c!44oFv{X_NnW)S`Eg6O8t@;%u07 zv3>(j2~{T|YQYcm4OdeJ3krnw;E3!d&lhx7eLnRhQXH^Q-`RN4N-OigT9(JKdP z7CZ?{JK$*fzs&9k|MnKA!Z?ZdsziaY>^)~Rah1yngFAjm!KH7txNd#Fu8Ho`)+n)cx&NA_+j4dnRDq7oLhSxy z|GKpH-*drf|B}x0Hb$~FDfDDP@md$#Gpc`IyU=dKDElACrGf9M(Gl-W{$pKmuK7xp z&0%zvRCH{c(|zab5<|7{4x6_Umr8x20d43Mg*?kQpJJw=IWMuws{88= zZTLT?vO>QJ_o^Sp4tlUFov}SV6RO$Vz145)T}G&%*{lsAg}fTGlb@&lxI(_!I<5u?!c83|1h-q-LE`32E;^(E0 z20eJfN6niIf9CLS$;;)_wzTk{<6Grz{j0hL|z&686l! z7vqKe2r?63`58}s5;h|MPox!PapS3Tz9a_J4A>I`IlbC-v;IPV%eg~x$WaOLBc7;3 z`Z5BK@5f%alc72(bDIS{{U^Rzlt%F=jYs(29jVWI%JK1gL(C(iwP8FKb@ay&=Od5W=P~5Yjg|{ zFXrtlOH>}*j(qfu6Zb?iKqT@a%T|3S=;phaiU}*R|H$NKi_+k*aO5-j%V^wKTiE1x zhH&LU(B7?%RYzZ2^pAAMZt@Sv`XM_bTFNCpo_E0}8B4!al4dp9M@UCT(6v@sXpcaAS;TaC~F=}^< zuK-4p@XwO6>5ztX{;~eynx&T4cPBKvaKU|c7NEtQ-<&VOa~p+sY>GO3A(9u+-)}f; z5B92r8`AE(uFHJzeCibLg4Hp=;EGObJz%XK>NOmXa?*db2V@K{bCIi57hm2u4@HWV zos{3DJ4IV-UD4h^Q|;To?J(gjs4zW-ukLtZPL^N%OP_h08Cok3L_gG@E=-%apab1X`7r3=EeWKM5ty$n&i2iXlYM{~??l6abL0F1mLQpl%j!cpdT> zJjp+dlDu7obhZKQGMX*7|8NCf{5KNJjD}IzGIq9H;xxhzR2pb$=lW02M*7ydqWxiI zS%U)XEbXt$kzZsDe|udQydu~<@7Yr93j-0&WMd-D>2MvD&)F^RPc=?VGjXGEB2GKX zBWsK2-Eka~I$7BWXIan$e@)Bj|9uIH(Da_=l5Tj<^Do4H?2T{FO3w4YzPjrM+_~f!<50Kh!rEXQ!Fjt z!o&;iGYHtQSjx9P5V3>?(tCtPn(Ugf&cfU3M?jG2^5xuSsyoa0p=@n$iLYFfK%xn}2YyE# zq?#y4(IfiGvPQfCRpx{A(HM4V_H|9DG5>9(rQ!;()(ZZhacK@{jr53JFZ&86&%WV6 z{-MKqDndfy`oTc5?x#W^(-iDO@bWX{eERoW>S2$UHo@LCOd3bVV73!Vj0;!#kwxFZ zfG3NLIs>G@qAAYnFRtf$0p7-@w!nwV7>D@Dy--X)s(T`*Yu6cO|M@bd042E<+>xo@ z9{+O7B{k)_a-`+Fo7L_=?bPNg1!?H`vn-dR8xT|&(mEO%u4nygo)#obB-|#P{LUj5 zE0!O{<;l)!(veD&Pw>_<`E0u;O_!9~Xxi@KX)?^~-U{nvc7FM~WK8il@6}ueMXykd z<=2K4EfC8@SQe5z=}2zMMd3{vi27M9@oD@%A3$ufE}0T;RLyBs1v`13GYtV|dB4N7 zc%PNe^xV>u8P*Hu<%Fz$Orpe{sVvygNAN5q|DKMp>5ZxcYM=hSn*(ubChuu?j%e;?k@mvxPo@M#3Ye>sHm5x`v5`B>N~pwHJc(gd&auh+GjlgKTavidmEVJb$#ML3|{-Gt7` z{uf*2;_1AJ{?EVzJ)I^!9n7^-6LN{~#_m`{vjfI!=*ZP!uaLG{e>f%ebCGlxEAsmT zuQcgf-D~gXtHz^Wlf7%cuZ{LEV=0JTb^8B%HPA(IsA&ngRK-o$tcwIfGBM8Iwu6F3)Lsc0*m)>+0mI2t1zJ%TQH%9Fk5+vJSnHEOSG( zhv9YCKG6L#w*6sH|Hb6uav+w+rw!YVrM2Z`zt(r)`ad{|K&iISHG;KgkEb$g*^6eZ zUVp8@5jE=H1XQLVxOwefZPn;RVN5=TCPbhuoUYuBW&z#`4)k8QS|Z13;>7j|T6m`v zBg_PhD_2}Z3ID-YOS=>@5gM~98q`+E}jq3R@PhnSdr_7|DB4g$7D?i%h%pW?9H-|qPUqdt^GocXR|E9vhh=M%Tue2 zsY3Q=?irMxcO(Gi&oO*<`z*~PaYZgMVN8I(cikw4Pm6jJSy?BANssV`g{TEfTsVXX z+H%MTCq&vd0RoWV!_pww+DajX5p$}e68gT@f`8J0!T3R|swna5#^3?wwnXB0`Yh%S zgL7rXth{k@So3rXqLXSdHUzHNfidPq>_GAy+;}?&4i6!Kt9XP>odBi|cPzDeql}+Y z6^PN*0j9h-JE6^y+XN@DP+cYpgeXi6wh;K?GvNhxw~^}K#6O?Y9xxGn3blv zWi-p+w-o?u_=RDvR40d}4z1cRvBPDDoLN-_p&T1AXkv@tKu0glJ8SKa2QO8B)>MD9 z{BgH`qQV~g`4EZ0P<&WOF#Eo$gU%1nln-UIV`VA7GO+od(*&4wOuJ*aEW01Ec1W(j z3?5Ou=OlXx{1N*77Ri;Ub2r-CU-jU5%4WUmm%F)&)K5LY4G0J1C`^gcIwaHdTQ6vn zbxf)Ua%*vOi_nn4n7_Cw4pMzMq~pgsn)yR3U;M78W6-N3;1|J?B2 z9w~n9Z9)o5GUcH}@*3lfl|gKF9rXoTEFmc#VwF?sLd!0ns6AEvu(s}u3VH1Lq4 zYVh`+5)rLM(^>%LfKYb#K+y_sbNgm!NQ zZ2hS>EQoCMGR53=&aUIUA29knNW<#HIw2BXiGm8-5+mO75x3sDqtSZb<oWD{N}4P74+#sqSxH67dh=~UA2H)xPm74g2Z7`7KunD~g!lW?l`Oc6vt0L;h5s0* z&i}Av;dE#0gi_kITTuJym?;@3LCZAUSIkn7;!*~224 z!)T_x$2GJ48+OirX2j0EE69ln;THo-w+r^gX8UW^JF5flH=EHT*}TU@69X+Dma(^+ zxj+(D|Kr@I*FAAz3^aoFWZzy@V|g6SuI2-Q(zXrtaMU6Lttt>j4fO*qV~MNsyzu?pro=>`NzQG`;kDvYWfwxY8)3Wg z0V|~-F6!PW_5XMQoHbmun5f@hc1m})aZW?5D|0LiHd#`JJ+SIW6Nq2Y7wom2PTIs! zaIeRMB)-ez-yGcQ3#{$rc~UNFo<_ohk)ccCn5!1&1Sah)Q#<*M){w!W30NF(9V;w% zxk>=6kg6e#(<6l%Uk%|xoZ?uj!z(5{M@}b8Of*%rTe{jCCHt{yEH7f|)t-rW_;FPe zK~2S>OU*B=6dn5o7MaWF%kr8|3;4w(Q{#0>;$F(z$hgpY(w%F&8k2v+a~-r9M zxtqMBB6V|4=*85d#10YVf>EtmvC=;Gkamlz0iO9@(e}xxnX+-@heH+e$ET#WkNX1P z^}P$9w0k7!X}X*}mnG~O$~Ai^7_&4|U}eTR7-0o`4eOQH zcaRd3ItUkc^XDfACZMfLHG2TX2#nbl5qLHcNbZlAwHtqys4*lz9X%_|-K#T57nZ6> z&*eV8rERRXPOx`0X6-&jJ5D}X9Fxvzd!Dvr2xi**)X9YTGni#6TGGl*Nh7j#B{pK) z1Xh>`R>%50IjT(V?L=FTK{$U-U}OuU|DE`(4s(ahzUj1V+o}cd6ayn0HA8ZK^Fcn` zy<1h>ck@EL%(PLPI3yyZ_1`I|^xUXy4~cL2f?s4zD<> zhikbiXnixc;IdQX98m(!%Y|6{JLdyaaJ9*ueW=!itmr!${}`zsPxh>;Y<(g9^~Ga? z7qV}=1hR@nNyv4gSsj0=eMD^;bp8i9fmCL_V=4qvjY}q1KC8w2=$yzG(jA4F^ue^5 z={#x>>IEj{IKM?=-0Bv2xW_%G!3^B`oK%M%An5j$_5Dc9M=GW^DdZhKxboR~n_V`b zo~-}vg!SF0q|w*NE*;z>O0t6^wPJAvbDx521G+Ohd03B>Nz9d4Lb2{Cb^q z=RCxGFIeC_aTM@Pdx4>`4vvw9(Y<`r(_w*`;&F0;beJEYf0W_|*sX^+0>CBKb|_u< zF6f9|6bHl@ewnqct)`ik?`u_)P5`cESi^gRX4p;iNq#%eo}6l0KmO)GeyP0ItZlWP zJWqD{0IjF-!VU0~eDm4F@mbrM!b49AtIcB%e)HLwi$x_rtXF{IML5B2td#yzatCueFudvy06Og&{_85h2J;kogcH@onIz zZJiTcw$~9$Of7&kd6b%(7L~(Y1>fpi7`G|x8r8N5Yr;x1RKH+w*Elk zd(k#KF9JJ5{t~?qNAM+FEFqD8NTk^$(PZ8FDqDLt#n5JUa*sC(Eb8M}X{Wr(&{rYs z8uWfzYA&;Vm;Qyi6i^h4Xh1P6Xb|P^1 zWJwJOB`|cZH??stT*;5 z%IU;xFB