From 6bf8638abfac20bb8f4d7ecc36f793a3426ffbae Mon Sep 17 00:00:00 2001 From: Zephyr Lykos Date: Sat, 12 Oct 2024 05:12:45 +0800 Subject: [PATCH] build: switch to scikit-build-core, use peru, clarify license (#12) build: use prebuilt Tcl/Tk from CPython on win32 msvc ci: add cibuildwheel and dependabot --- .appveyor.yml | 65 ---- .github/dependabot.yml | 6 + .github/workflows/pypi.yml | 46 --- .github/workflows/wheels.yml | 105 +++--- .gitignore | 272 ++++++++------ .travis.yml | 27 -- CMakeLists.txt | 228 +++++------- LICENSE | 23 ++ LICENSE.md | 37 -- Makefile | 15 + ci/post_process_manylinux.py | 66 ---- clean.sh | 13 - example/{LICENSE.roboto.md => LICENSE.roboto} | 40 ++- example/Roboto-Medium.ttf | Bin 172064 -> 306536 bytes example/example.py | 2 +- peru.yaml | 33 ++ pyproject.toml | 24 ++ setup.py | 193 ---------- src/pkgIndex.tcl.in | 5 + tests/README.overhaul | 18 + {docs => third_party/extrafont/docs}/doc.txt | 21 +- third_party/extrafont/license.terms | 12 + .../extrafont/src}/extrafont.c | 11 +- .../extrafont/src}/extrafont.tcl | 90 +++-- third_party/extrafont/src/fontnameinfo.tcl | 337 ++++++++++++++++++ .../extrafont/src}/futmp.tcl | 2 +- third_party/extrafont/src/pkgIndex.tcl | 43 +++ tkextrafont/__init__.py | 44 +-- tkextrafont/fontnameinfo.tcl | 238 ------------- tkextrafont/pkgIndex.tcl | 6 - 30 files changed, 950 insertions(+), 1072 deletions(-) delete mode 100644 .appveyor.yml create mode 100644 .github/dependabot.yml delete mode 100644 .github/workflows/pypi.yml delete mode 100644 .travis.yml create mode 100644 LICENSE delete mode 100644 LICENSE.md create mode 100644 Makefile delete mode 100644 ci/post_process_manylinux.py delete mode 100755 clean.sh rename example/{LICENSE.roboto.md => LICENSE.roboto} (87%) create mode 100644 peru.yaml create mode 100644 pyproject.toml delete mode 100644 setup.py create mode 100755 src/pkgIndex.tcl.in create mode 100644 tests/README.overhaul rename {docs => third_party/extrafont/docs}/doc.txt (84%) create mode 100644 third_party/extrafont/license.terms rename {src => third_party/extrafont/src}/extrafont.c (92%) rename {tkextrafont => third_party/extrafont/src}/extrafont.tcl (83%) create mode 100644 third_party/extrafont/src/fontnameinfo.tcl rename {tkextrafont => third_party/extrafont/src}/futmp.tcl (98%) create mode 100644 third_party/extrafont/src/pkgIndex.tcl delete mode 100644 tkextrafont/fontnameinfo.tcl delete mode 100644 tkextrafont/pkgIndex.tcl diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index 0f8e6f0..0000000 --- a/.appveyor.yml +++ /dev/null @@ -1,65 +0,0 @@ -environment: - matrix: - - PYTHON: "C:\\PYTHON38-x64" -build: off -install: -- set PATH=C:\msys64\usr\bin;%PATH% -# Download and unpack zstd for win64 to unpack MSYS packages -- appveyor DownloadFile https://github.com/facebook/zstd/releases/download/v1.4.8/zstd-v1.4.8-win64.zip -- 7z e zstd-v1.4.8-win64.zip -ozstd -y -# Load PGP Keys for Msys64 -- appveyor DownloadFile https://repo.msys2.org/msys/x86_64/msys2-keyring-1~20210213-2-any.pkg.tar.zst -- appveyor DownloadFile https://repo.msys2.org/msys/x86_64/msys2-keyring-1~20210213-2-any.pkg.tar.zst.sig -- dir -- zstd\zstd.exe -d msys2-keyring-1~20210213-2-any.pkg.tar.zst -- bash -lc "cd /c/projects/python-tkextrafont; ls -l; pacman -U --noconfirm --config <(echo) msys2-keyring-1~20210213-2-any.pkg.tar" -# Verify signature AFTER updating the keyring because MSYS messes with keys too much -- bash -lc "cd /c/projects/python-tkextrafont; ls -l; pacman-key --verify msys2-keyring-1~20210213-2-any.pkg.tar.zst.sig" -# Kill gpg-agent due to bug in MSYS -- START /wait taskkill /f /im gpg-agent.exe -# Download and install zstd for MSYS due to bug in MSYS -- appveyor DownloadFile http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-zstd-1.4.8-2-any.pkg.tar.zst -- zstd\zstd.exe -d mingw-w64-x86_64-zstd-1.4.8-2-any.pkg.tar.zst -- dir -- 7z a -tgzip mingw-w64-x86_64-zstd-1.4.8-2-any.pkg.tar.gz mingw-w64-x86_64-zstd-1.4.8-2-any.pkg.tar -- bash -lc "cd /c/projects/python-tkextrafont; ls -l; pacman --noconfirm -U mingw-w64-x86_64-zstd-1.4.8-2-any.pkg.tar.gz" -# Download and install pacman for MSYS due to bug in MSYS -- appveyor DownloadFile http://repo.msys2.org/msys/x86_64/pacman-5.2.2-9-x86_64.pkg.tar.zst -- zstd\zstd.exe -d pacman-5.2.2-9-x86_64.pkg.tar.zst -- dir -- 7z a -tgzip pacman-5.2.2-9-x86_64.pkg.tar.gz pacman-5.2.2-9-x86_64.pkg.tar -- bash -lc "cd /c/projects/python-tkextrafont; ls -l; pacman --noconfirm --nodeps --nodeps -U pacman-5.2.2-9-x86_64.pkg.tar.gz" -# Cleanup after bug workarounds -- bash -lc "rm -rf zstd" -- bash -lc "rm -rf *.tar *.zst" -# Update known packages -- bash -lc "pacman --needed --noconfirm -Syu" -- bash -lc "pacman --needed --noconfirm -Sy" -# Install Python build dependencies -- "%PYTHON%\\python.exe -m pip install scikit-build nose" -# Now using MinGW pkg-config and related executables -- set PATH=C:\msys64\mingw64\bin;%PATH% -# Download Dependencies (dependency walker) -- appveyor DownloadFile https://github.com/lucasg/Dependencies/releases/download/v1.10/Dependencies_x64_Release.zip -- 7z e Dependencies_x64_Release.zip -odeps -y -# Add %PYTHON% to the path for libffi-7.dll -- set PATH=%PYTHON%;C:\msys64\mingw64\lib;%PATH% -- "%PYTHON%\\python.exe -m pip install -U pip setuptools wheel" -build_script: -- "%PYTHON%\\python.exe setup.py build bdist_wheel --plat-name win_amd64" -# Simplify PATH so as to test binary distribution -- set PATH=C:\WINDOWS\system32;C:\WINDOWS -test_script: -- "%PYTHON%\\python.exe -m nose" -artifacts: - - path: "/dist/*.whl" -deploy: - provider: GitHub - auth_token: - secure: w1pwzVAnkw938lSYuIKnVbkHtid9YphEEZuHsvftTV5f5KjBAQH3283q7Um5j3xU - artifact: /.*\.whl/ - draft: false - prerelease: false - on: - branch: master - APPVEYOR_REPO_TAG: true diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..5ace460 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" diff --git a/.github/workflows/pypi.yml b/.github/workflows/pypi.yml deleted file mode 100644 index eda18c4..0000000 --- a/.github/workflows/pypi.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: Repository Dispatch -on: - repository_dispatch: - types: [pypi-upload] -jobs: - deploy: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - ref: ${{ github.event.client_payload.ref }} - - run: echo ${{ github.event.client_payload.sha }} - - name: Set up Python - uses: actions/setup-python@v1 - with: - python-version: 3.8 - - name: Sleep to wait for CI to comlete - run: | - sleep 600 - - name: Installl script dependencies - run: | - python -m pip install scikit-build - - name: Fetch the wheels from the release - run: | - curl -s https://api.github.com/repos/TkinterEP/python-tkextrafont/releases/latest | grep "browser_download_url.*whl" | cut -d : -f 2,3 | tr -d \" | wget -qi - -P dist/ - - name: Build a source distribution - run: | - python setup.py sdist - - name: Check Tag - id: check-tag - run: | - if [[ ${{ github.event.client_payload.ref }} =~ ^refs/tags/v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then - echo ::set-output name=match::true - fi - - name: Upload to PyPI - if: steps.check-tag.outputs.match == 'true' - uses: pypa/gh-action-pypi-publish@release/v1 - with: - user: __token__ - password: ${{ secrets.PYPI_API_TOKEN }} - - name: Upload to TEST PyPI - uses: pypa/gh-action-pypi-publish@release/v1 - with: - user: __token__ - password: ${{ secrets.TEST_PYPI_API_TOKEN }} - repository_url: https://test.pypi.org/legacy/ diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 60ef0a5..c9400a4 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -1,50 +1,65 @@ -name: Python package build and publish +name: Build -on: - push: - tags: - - 'v*' +on: [push, pull_request] jobs: - deploy: + build_wheels: + name: Build wheels on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-12, macos-13, macos-14] + + steps: + - uses: actions/checkout@v4 + with: + submodules: true + + - name: Set up QEMU + if: runner.os == 'Linux' + uses: docker/setup-qemu-action@v3 + with: + platforms: all + + - name: Build wheels + uses: pypa/cibuildwheel@v2.16.5 + env: + CIBW_ARCHS_LINUX: auto aarch64 ppc64le s390x + CIBW_ARCHS_WINDOWS: all + + - uses: actions/upload-artifact@v4 + with: + name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }} + path: ./wheelhouse/*.whl + + make_sdist: + name: Make SDist runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - name: Set up Python - uses: actions/setup-python@v1 - with: - python-version: 3.8 - - name: Build manylinux Python wheels - uses: RalfG/python-wheels-manylinux-build@v0.3.3-manylinux2014_x86_64 - with: - python-versions: 'cp36-cp36m cp37-cp37m cp38-cp38 cp39-cp39' - build-requirements: 'scikit-build' - system-packages: 'python3-tkinter fontconfig-devel fontconfig cmake gcc gcc-c++ make pkgconfig tcl tcl-devel tk tk-devel' - package-path: '.' - - name: Update wheel ownership - run: | - sudo chown $USER:$USER dist/* - - name: Post-process manylinux wheels - run: | - sudo python ci/post_process_manylinux.py - - name: Create Release - uses: ncipollo/release-action@v1 - with: - allowUpdates: true - omitBody: true - token: ${{ secrets.DEPLOY_TOKEN }} - - name: Upload binaries to release - uses: svenstaro/upload-release-action@v2 - with: - repo_token: ${{ secrets.DEPLOY_TOKEN }} - file: dist/*-manylinux*.whl - tag: ${{ github.ref }} - overwrite: true - file_glob: true - - name: PyPI Dispatch - uses: peter-evans/repository-dispatch@v1 - with: - token: ${{ secrets.DEPLOY_TOKEN }} - repository: TkinterEP/python-tkextrafont - event-type: pypi-upload - client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}' + - uses: actions/checkout@v4 + with: + submodules: true + + - name: Build SDist + run: pipx run build --sdist + + - uses: actions/upload-artifact@v4 + with: + name: cibw-sdist + path: dist/*.tar.gz + + upload_all: + needs: [build_wheels, make_sdist] + environment: pypi + permissions: + id-token: write + runs-on: ubuntu-latest + if: github.event_name == 'release' && github.event.action == 'published' + steps: + - uses: actions/download-artifact@v4 + with: + pattern: cibw-* + path: dist + merge-multiple: true + + - uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.gitignore b/.gitignore index dddcf7a..a798b5b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,103 +1,173 @@ -# Prerequisites -*.d - -# Object files -*.o -*.ko -*.obj -*.elf - -# Linker output -*.ilk -*.map -*.exp - -# Precompiled Headers -*.gch -*.pch - -# Libraries -*.lib -*.a -*.la -*.lo - -# Shared objects (inc. Windows DLLs) -*.dll +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions *.so -*.so.* -*.dylib - -# Executables -*.exe -*.out -*.app -*.i*86 -*.x86_64 -*.hex - -# Debug files -*.dSYM/ -*.su -*.idb -*.pdb - -# Kernel Module Compile Results -*.mod* -*.cmd -.tmp_versions/ -modules.order -Module.symvers -Mkfile.old -dkms.conf - -# CLion -/.idea - -# CMake -/CMakeFiles -/cmake-build* - -# Code::Blocks -*.layout -*.cbp -*.depend - -# Project Files -Makefile -main-* -layout.* -!layout.rst -/_skbuild - -# CMake -CMakeCache.txt -/CMakeTmp -*CMakeTmp* -*CMakeFiles* -*CMakeCache.txt -*cmake_install.cmake -install_manifest.txt -CTestTestfile.cmake - -# Generated files -/library/pkgIndex.tcl - -# Python packages -/*.egg-info -/build -/dist -*.pyc + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg MANIFEST -/venv - -# Documentation -/docs/_build -/docs/html -/docs/_doctrees -/docs/doxygen/xml -/html -/latex - -# Dependencies Program -/deps + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +### Python Patch ### +# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration +poetry.toml + +# ruff +.ruff_cache/ + +# LSP config files +pyrightconfig.json + +.peru/ diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 770cb1b..0000000 --- a/.travis.yml +++ /dev/null @@ -1,27 +0,0 @@ -language: python -dist: bionic -compiler: gcc -python: -- "3.8" -services: -- xvfb -addons: - apt: - packages: - - tcl-dev - - tk-dev - - fontconfig - - libfontconfig1 - - libfontconfig1-dev - - cmake - - cmake-data - - extra-cmake-modules - - build-essential - - pkg-config -install: -- python -m pip install nose scikit-build -script: -- python setup.py bdist_wheel -- python setup.py install -- rm -rf ./tkextrafont -- python -m nose diff --git a/CMakeLists.txt b/CMakeLists.txt index e2c85ea..195aa7a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,148 +1,100 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.8) +cmake_minimum_required(VERSION 3.5) -## =========================================================================== -## Project Information -## =========================================================================== -PROJECT ( extrafont ) -## Package version information. -SET ( PKG_NAME ${PROJECT_NAME} ) -SET ( PKG_MAJOR_VERSION 0 ) -SET ( PKG_MINOR_VERSION 6 ) -SET ( PKG_BUILD_VERSION 0 ) -SET ( PKG_VERSION "${PKG_MAJOR_VERSION}.${PKG_MINOR_VERSION}" ) -SET ( PKG_NAME_VERSION ${PKG_NAME}-${PKG_VERSION} ) -SET ( PKG_VENDOR "RedFantom" ) -SET ( PKG_HOME_DIR ${PROJECT_SOURCE_DIR} ) -SET ( PKG_TARGET_LIB_NAME ${PKG_NAME} ) +# =========================================================================== +# Project Information +# =========================================================================== +project( + extrafont + LANGUAGES C + VERSION 1.3) -SET ( NO_MSVCRT ON ) -SET ( VERBOSE ON ) -SET ( ENABLE_EXPORTS ON ) +# =========================================================================== +# Locate Tcl/Tk +# =========================================================================== +if(MSVC) + find_package(TCL QUIET) + if(NOT TCL_FOUND) + include(FetchContent) + FetchContent_Declare( + cpython-tcltk-win32 + GIT_REPOSITORY https://github.com/python/cpython-bin-deps + GIT_TAG tcltk) + FetchContent_MakeAvailable(cpython-tcltk-win32) -SET ( PKG_SOURCES src/extrafont.c) + if(cpython-tcltk-win32_POPULATED) + if(MSVC_C_ARCHITECTURE_ID STREQUAL "ARM64") + set(CMAKE_PREFIX_PATH + ${CMAKE_PREFIX_PATH};${cpython-tcltk-win32_SOURCE_DIR}/arm64) + elseif(MSVC_C_ARCHITECTURE_ID STREQUAL "x64") + set(CMAKE_PREFIX_PATH + ${CMAKE_PREFIX_PATH};${cpython-tcltk-win32_SOURCE_DIR}/amd64) + elseif(MSVC_C_ARCHITECTURE_ID STREQUAL "X86") + set(CMAKE_PREFIX_PATH + ${CMAKE_PREFIX_PATH};${cpython-tcltk-win32_SOURCE_DIR}/win32) + else() + message( + WARNING + "No Tcl/Tk prebuilt binaries from CPython could be found for your platform (MSVC ${MSVC_C_ARCHITECTURE_ID})." + "If the build fails, Ensure a MSVC-built Tcl/Tk is available on CMAKE_PREFIX_PATH." + ) + endif() + endif() + endif() +endif() -MESSAGE ( STATUS "===========================================================" ) -MESSAGE ( STATUS " Welcome to the ${PKG_NAME} ${PKG_VERSION} build system!" ) -MESSAGE ( STATUS " * Selected generator: ${CMAKE_GENERATOR}" ) -MESSAGE ( STATUS " * Operating System ID: " - ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_VERSION}-${CMAKE_SYSTEM_PROCESSOR} ) -MESSAGE ( STATUS " * Installation Directory: " ${CMAKE_INSTALL_PREFIX} ) -MESSAGE ( STATUS "===========================================================" ) +find_package(TCL REQUIRED) +find_package(TclStub REQUIRED) -## =========================================================================== -## Locate Tcl/Tk -## =========================================================================== -MESSAGE(STATUS "Searching for Tcl/Tk...") -FIND_PACKAGE(TCL REQUIRED) -FIND_PACKAGE(TclStub REQUIRED) -MESSAGE(STATUS " TCL_TCLSH: " ${TCL_TCLSH}) -MESSAGE(STATUS " TCL_INCLUDE_PATH: " ${TCL_INCLUDE_PATH}) -MESSAGE(STATUS " TCL_STUB_LIBRARY: " ${TCL_STUB_LIBRARY}) -MESSAGE(STATUS " TCL_LIBRARY: " ${TCL_LIBRARY}) -MESSAGE(STATUS " TK_WISH: " ${TK_WISH}) -MESSAGE(STATUS " TK_INCLUDE_PATH: " ${TK_INCLUDE_PATH}) -MESSAGE(STATUS " TK_STUB_LIBRARY: " ${TK_STUB_LIBRARY}) -MESSAGE(STATUS " TTK_STUB_LIBRARY: " ${TTK_STUB_LIBRARY}) -MESSAGE(STATUS " TK_LIBRARY: " ${TK_LIBRARY}) -# STRING ( REPLACE stub "" TCL_LIBRARY_STATIC ${TCL_STUB_LIBRARY} ) -# STRING ( REPLACE stub "" TK_LIBRARY_STATIC ${TK_STUB_LIBRARY} ) -# MESSAGE ( STATUS " TCL_LIBRARY_STATIC: " ${TCL_LIBRARY_STATIC} ) -# MESSAGE ( STATUS " TK_LIBRARY_STATIC: " ${TK_LIBRARY_STATIC} ) +# =========================================================================== +# Target: tkextrafont shared library +# =========================================================================== +configure_file(third_party/extrafont/src/extrafont.c + ${CMAKE_CURRENT_BINARY_DIR}/extrafont.c) +add_library(tkextrafont SHARED ${CMAKE_CURRENT_BINARY_DIR}/extrafont.c) +target_link_libraries(tkextrafont PRIVATE ${TCL_STUB_LIBRARY}) +target_link_libraries(tkextrafont PRIVATE ${TK_STUB_LIBRARY}) -IF ( WIN32 AND NO_MSVCRT ) - STRING ( REPLACE /MD /MT CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE} ) - STRING ( REPLACE /MDd /MTd CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG} ) - STRING ( REPLACE /MD /MT CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}) - STRING ( REPLACE /MDd /MTd CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG} ) - # SET ( CMAKE_EXE_LINKER_FLAGS - # "${CMAKE_EXE_LINKER_FLAGS} /nodefaultlib:MSVCRT.LIB" ) - SET ( CMAKE_EXE_LINKER_FLAGS_RELEASE - "${CMAKE_EXE_LINKER_FLAGS_RELEASE} LIBCMT.LIB" ) - SET ( CMAKE_EXE_LINKER_FLAGS_DEBUG - "${CMAKE_EXE_LINKER_FLAGS_DEBUG} LIBCMTD.LIB" ) - # SET ( CMAKE_SHARED_LINKER_FLAGS - # "${CMAKE_SHARED_LINKER_FLAGS} /nodefaultlib:MSVCRT.LIB" ) - SET ( CMAKE_SHARED_LINKER_FLAGS_RELEASE - "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} LIBCMT.LIB" ) - SET ( CMAKE_SHARED_LINKER_FLAGS_DEBUG - "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} - /nodefaultlib:LIBCMT.LIB LIBCMTD.LIB" ) - ADD_DEFINITIONS ( -D_STATIC_CPPLIB ) - ADD_DEFINITIONS ( -D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1 ) - ADD_DEFINITIONS ( -D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1 ) -ENDIF ( WIN32 AND NO_MSVCRT ) +if(APPLE) + find_library(CoreText_LIBRARY CoreText REQUIRED) + find_library(CoreFoundation_LIBRARY CoreFoundation REQUIRED) + target_link_libraries(tkextrafont PRIVATE ${CoreText_LIBRARY} ${CoreFoundation_LIBRARY}) +elseif(WIN32) + target_link_libraries(tkextrafont PRIVATE gdi32) +elseif(UNIX) + find_package(Fontconfig REQUIRED) + target_link_libraries(tkextrafont PRIVATE ${Fontconfig_LIBRARIES}) +endif() -IF ( WIN32 ) - ADD_DEFINITIONS ( -DWIN32 ) - ADD_DEFINITIONS ( -D_WIN32 ) - ADD_DEFINITIONS ( -D_WINDOWS ) - ADD_DEFINITIONS ( -D__WIN32__ ) - SET ( CMAKE_SHARED_LIBRARY_PREFIX lib ) -ENDIF ( WIN32 ) +target_compile_definitions(tkextrafont PRIVATE -DUSE_TCL_STUBS) +target_compile_definitions(tkextrafont PRIVATE -DUSE_TK_STUBS) +target_compile_definitions(tkextrafont + PRIVATE -DPACKAGE_NAME="${CMAKE_PROJECT_NAME}") +target_compile_definitions(tkextrafont + PRIVATE -DPACKAGE_VERSION="${CMAKE_PROJECT_VERSION}") +target_include_directories(tkextrafont PRIVATE ${TCL_INCLUDE_PATH}) +target_include_directories(tkextrafont PRIVATE ${TK_INCLUDE_PATH}) +target_include_directories(tkextrafont PRIVATE ${Fontconfig_INCLUDE_DIRS}) -IF ( CMAKE_BUILD_TYPE STREQUAL Debug ) - ADD_DEFINITIONS ( -DGTTK_SYNCHRONIZE ) - ADD_DEFINITIONS ( -DGTTK_VERBOSE_XERROR_HANDLER ) -ENDIF ( CMAKE_BUILD_TYPE STREQUAL Debug ) -ADD_DEFINITIONS ( -DGTTK_INSTALL_XERROR_HANDLER ) -ADD_DEFINITIONS ( -DUSE_TCL_STUBS ) -ADD_DEFINITIONS ( -DUSE_TK_STUBS ) -ADD_DEFINITIONS ( -DUSE_TTK_STUBS ) -ADD_DEFINITIONS ( -DPACKAGE_NAME="${PKG_NAME}" ) -ADD_DEFINITIONS ( -DPACKAGE_VERSION="${PKG_VERSION}" ) -INCLUDE_DIRECTORIES ( ${TCL_INCLUDE_PATH} ) -INCLUDE_DIRECTORIES ( ${TK_INCLUDE_PATH} ) -INCLUDE_DIRECTORIES ( ${TK_INCLUDE_PATH}/tk-private/generic/ttk ) -IF ( WIN32 ) # Include additional directories for MSYS build - INCLUDE_DIRECTORIES ( ${TK_INCLUDE_PATH}/tk8.6/tk-private/generic ) - INCLUDE_DIRECTORIES ( ${TK_INCLUDE_PATH}/tk8.6/tk-private/generic/ttk ) - INCLUDE_DIRECTORIES ( ${TK_INCLUDE_PATH}/tk8.6/tk-private/win ) -ENDIF ( WIN32 ) -INCLUDE_DIRECTORIES ( ${PROJECT_SOURCE_DIR}/generic ) +block() +set(PACKAGE_NAME ${CMAKE_PROJECT_NAME}) +set(PACKAGE_VERSION ${CMAKE_PROJECT_VERSION}) +set(PKG_LIB_FILE + ${CMAKE_SHARED_LIBRARY_PREFIX}tkextrafont${CMAKE_SHARED_LIBRARY_SUFFIX}) +configure_file(src/pkgIndex.tcl.in pkgIndex.tcl @ONLY) +endblock() -## =========================================================================== -## Locate fontconfig -## =========================================================================== -FIND_PACKAGE( Fontconfig ) -IF ( ${Fontconfig_FOUND} ) - MESSAGE ( STATUS "Found FontConfig with CMake!" ) -ELSE () - FIND_PACKAGE( PkgConfig REQUIRED ) - pkg_check_modules ( Fontconfig REQUIRED fontconfig ) - MESSAGE ( STATUS "Found Fontconfig with pkg-config!" ) -ENDIF() -MESSAGE ( STATUS " Fontconfig_INCLUDE_DIRS: " ${Fontconfig_INCLUDE_DIRS} ) -MESSAGE ( STATUS " Fontconfig_LIBRARIES: " ${Fontconfig_LIBRARIES} ) +configure_file(third_party/extrafont/src/extrafont.tcl extrafont.tcl) +configure_file(third_party/extrafont/src/fontnameinfo.tcl fontnameinfo.tcl) +configure_file(third_party/extrafont/src/futmp.tcl futmp.tcl) -INCLUDE_DIRECTORIES ( ${Fontconfig_INCLUDE_DIRS} ) - -## =========================================================================== -## Target: extrafont shared library -## =========================================================================== -MESSAGE ( STATUS "===========================================================" ) -MESSAGE ( STATUS " ++++ Shared Library: ${PKG_TARGET_LIB_NAME} ++++" ) -MESSAGE ( STATUS "===========================================================" ) -ADD_LIBRARY ( ${PKG_TARGET_LIB_NAME} SHARED ${PKG_SOURCES} ) -TARGET_LINK_LIBRARIES ( ${PKG_TARGET_LIB_NAME} ${TCL_STUB_LIBRARY} ) -TARGET_LINK_LIBRARIES ( ${PKG_TARGET_LIB_NAME} ${TK_STUB_LIBRARY} ) -TARGET_LINK_LIBRARIES( ${PKG_TARGET_LIB_NAME} ${Fontconfig_LIBRARIES} ) -IF ( TTK_STUB_LIBRARY ) - TARGET_LINK_LIBRARIES ( ${PKG_TARGET_LIB_NAME} ${TTK_STUB_LIBRARY} ) -ENDIF ( TTK_STUB_LIBRARY ) -# IF ( TCL_LIBRARY_STATIC ) -# TARGET_LINK_LIBRARIES ( ${PKG_TARGET_LIB_NAME} ${TCL_LIBRARY_STATIC} ) -# ENDIF ( TCL_LIBRARY_STATIC ) -# IF ( TK_LIBRARY_STATIC ) -# TARGET_LINK_LIBRARIES ( ${PKG_TARGET_LIB_NAME} ${TK_LIBRARY_STATIC} ) -# ENDIF ( TK_LIBRARY_STATIC ) - -INSTALL ( TARGETS ${PKG_TARGET_LIB_NAME} - RUNTIME DESTINATION ./tkextrafont - LIBRARY DESTINATION ./tkextrafont - ARCHIVE DESTINATION ./tkextrafont ) -INSTALL ( FILES - tkextrafont/pkgIndex.tcl - tkextrafont/extrafont.tcl - tkextrafont/futmp.tcl - tkextrafont/fontnameinfo.tcl - DESTINATION tkextrafont ) +if(WIN32) + install(TARGETS tkextrafont RUNTIME DESTINATION tkextrafont) +else() + install(TARGETS tkextrafont LIBRARY DESTINATION tkextrafont) +endif() +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl + ${CMAKE_CURRENT_BINARY_DIR}/extrafont.tcl + ${CMAKE_CURRENT_BINARY_DIR}/fontnameinfo.tcl + ${CMAKE_CURRENT_BINARY_DIR}/futmp.tcl + DESTINATION tkextrafont) diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..abdc117 --- /dev/null +++ b/LICENSE @@ -0,0 +1,23 @@ +MIT License + +Copyright (c) 2017-2020 A. Buratti +Copyright (c) 2021 RedFantom + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index 42f5e1d..0000000 --- a/LICENSE.md +++ /dev/null @@ -1,37 +0,0 @@ -# MIT License -``` -Copyright (c) 2017-2020 A. Buratti - -This library is free software; you can use, modify, and redistribute it -for any purpose, provided that existing copyright notices are retained -in all copies and that this notice is included verbatim in any -distributions. - -This software is distributed WITHOUT ANY WARRANTY; without even the -implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..c7252f8 --- /dev/null +++ b/Makefile @@ -0,0 +1,15 @@ +.PHONY: all vendor build publish + +all: vendor build + +build: + hatch build + +publish: build + hatch publish + +vendor: .peru/lastimports + peru reup + +.peru/lastimports: peru.yaml + peru sync diff --git a/ci/post_process_manylinux.py b/ci/post_process_manylinux.py deleted file mode 100644 index 53c35ed..0000000 --- a/ci/post_process_manylinux.py +++ /dev/null @@ -1,66 +0,0 @@ -""" -Author: RedFantom -License: GNU GPLv3 -Copyright (c) 2021 RedFantom - -Modify generated wheels such that they load the sytem-version of the -libfontconfig binary rather than the manylinux provided one. -""" -import shutil -from typing import Any, List, Optional -import os -import zipfile # Wheels are actually zip files - -LIB = b"libfontconfig.so.1" - - -def get_whl_files() -> List[str]: - return list(map(lambda s: os.path.join("dist", s), filter(lambda s: s.endswith(".whl"), os.listdir("dist")))) - - -def printf(string, **kwargs): - kwargs.update({"end": "", "flush": True}) - print(string, **kwargs) - - -def first(lst: List[Any]) -> Optional[Any]: - return lst[0] if len(lst) > 0 else None - - -for whl in get_whl_files(): - # Step one: Open the wheel as a zip file - printf(f"Processing {whl}...") - source = zipfile.ZipFile(whl) - target = zipfile.ZipFile(os.path.basename(whl), "w") - printf(".") - - # Step two: Find the fontconfig file - members: List[str] = source.namelist() - wo_fontconfig = [member for member in members if "libfontconfig" not in member] - fontconfig = first(list(set(members) - set(wo_fontconfig))) - if fontconfig is None: - printf("notfound\n") - continue - fontconfig = os.path.basename(fontconfig) - printf(fontconfig) - printf(".") - fontconfig = fontconfig.encode() - - # Step three: Copy the modified contents to the target wheel file - for member in wo_fontconfig: - buffer: bytes = source.read(member) - if "extrafont.so" in member: # We found our compiled binary! - # Step four: Modify extrafont.so to no longer load the old fontconfig - printf(buffer.index(fontconfig)) - buffer = buffer.replace(fontconfig, LIB + b"\x00" * (len(fontconfig) - len(LIB))) - - # Step five: Write the new zipfile - target.writestr(member, buffer) - source.close() - target.close() - - # Step six: Replace the original wheel file with the new file - os.remove(whl) - shutil.copyfile(os.path.basename(whl), whl) - os.remove(os.path.basename(whl)) - printf(" Done.\n") diff --git a/clean.sh b/clean.sh deleted file mode 100755 index 611361e..0000000 --- a/clean.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash -rm tkextrafont/libextrafont.dll -rm tkextrafont/libextrafont.so -rm CMakeCache.txt -rm cmake_install.cmake -rm -rf cmake-build-debug cmake-build-release -rm -rf CMakeFiles -rm -rf _skbuild -rm -rf tkextrafont.egg-info -rm Makefile MANIFEST extrafont.cbp -rm -rf Testing -rm -rf ./venv/lib/*/site-packages/*tkextrafont* -rm ./libextrafont* diff --git a/example/LICENSE.roboto.md b/example/LICENSE.roboto similarity index 87% rename from example/LICENSE.roboto.md rename to example/LICENSE.roboto index 49b5518..261eeb9 100644 --- a/example/LICENSE.roboto.md +++ b/example/LICENSE.roboto @@ -1,15 +1,8 @@ -``` -File: Roboto-Medium.ttf -Copyright 2011 Google Inc. All Rights Reserved. -``` + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ - -# Apache License -Version 2.0, January 2004 - - - -## TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. @@ -181,3 +174,28 @@ Version 2.0, January 2004 of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/example/Roboto-Medium.ttf b/example/Roboto-Medium.ttf index 1a7f3b0bba45b7470a4240c3ec67595eeeb02192..284b1ba865d1bc19ccb29a659b7c373fb295ca24 100644 GIT binary patch literal 306536 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%0Avpmu3d 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%0D&V}R2C$?lO0}Q)vhtG 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

ogu3YAMvDqjeIf0j(`p4_fk-MHFI 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 H)ztq1RjXdn literal 172064 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

h}nbI!7$fg`g%jGMHsI6;dmGA6LaTaO;a z4Mi2J?R6W&DYaFLxR6m4SQCmzKOIxiwXQ;8a|p0MWPyi)97t(H7cr=$5Z7tET;@8Y z>;A)MOtr4pyrylq^Npu-^GhYK0*7fWtt^3u*Gsh1g*|gV4s|zOKM1v zkh7>XkPFwV+Cs!nQTO6++;-~LrPnEJK4OWmER#$UQ0$_9cf~?+ca2sEb}m3TX_^{GIQrwQ^{VY{G)&cm`XV6Y00eh$(ngoQ&tqVaR_w-NF_eaHW7vfn0?wKg30wALf#&H%c zv?Z~q$`%T>+Y->0gbSiq$U!wU5E`BC|10}D)LVuv2buxSh8H_)beE~m|wQ?zU^IcD@k1{Fe{LD2!^ugHl3Cnf_xURJy#ZA;`f&G2VYwI zuJ+>hShy!;3G^(l%`#kM<;N%&qW0HsmDX@sTO+ zExNSYfW|;aWZZ8lKZpO2bD;5zM%G_4*R08`-LPS8+}f$iPiz*dZagg|RN2+*!UJ38 zVTP^^xA32}LrQ(*dF#~!=Zsh0k&D-0SqWC7g5fz{=(u5kkQbTcwuvNRs-4k9LP_Afv%CgDbUfWP5KGk|}=;DAHMP94uF?4yy z*F=qOL*+8^hXt@2?UtJVW0sWEFL~(V z+JS=Xkiw@xx4NRlAUocT)`Di4HlSI;VgmD^u$lKQENo`ZuFB;Cs@0MSfu-k_ z1&qaY7io7)d1W5$&MRYV`Y7ecf)+S?yJd6!KXm(?Zz#X;cWslAD=h~GOVqYjEeW3- zDO>Wx_u36Az=ydUJqR*jchba-v4=QY+8fqdZr{GMSp(&l#n#B!1{3?YuhGm4DPqY{ zM7dK?1=$rk=QOJ4hU4ufSUXa2o(Jf*C)$VwVXl+3%~9||MI0}7f)1G5FY&L@c`oME zU(c00%nL=jUPMJCU&<2;=0PHAU59Ojpfp&cI{wTVsioHbz{MVjd(A9om3!=#trpf6 zM*B%20qlWk55ZJS{%QU~TP?l~uj>aC+#%Z@d{+cFsD=eW9k;**Z7&}K89PE;?KLb4 zjE3XITf5ih2FbCYUEm<6D}}0Le`6Clut1?`Mpc zs5UWPfoNmVae(O$%ah)CK7qY0-Q+8&+1)uBZ7cjlYY=>98S*s7GC}pw>_X^bFf$%? zOsy$A;nv8K2j%oLaA4v4x=X_W_}iBx)g;`XMMCd8LoA6BaYn}&GR+(vq?p-%HxQCH z@tW)tHk{fBjZ5M5XU<^+1pILYt06zp20$28&4T%J@21KIwR)xAfHM z)lPob(eKIa;VtL~g)akJl)9FLHm`Q=c5L-!&JQx~zL^C;(kCBe#KWCrwH2Icu5SuMsay~z| zLaHsjx$=Uufc6%t2f z*6p`BTiY>~le)=Utert=7_zMv1B%S#)`TK07OIme408R6JIEX2O_(y2Dw9No|7-*i zcoI=i9|-N*EL0mCZ%M%Sp`a*PZZdtLQ|9-cI)3NBDGruB#Ua%RJGPbm!EI0Z#Rxu^ zjR|8(#QolDPln5bvF1VGi|eQ`h=YG=7x^KLJ;Y=ZePw!1NQkjgAfOcCB9QknHe`ak zkL4CMN8eFAf$&i*79E$0!UzrfhUQ{n;Gtx#T!J9lqQ|2h_;%^1(G%I)g$q_s9>?w9 z4I00IS>NBxYzxN?y2|}AlhOazA?JSh{)^rZ_=6G`&-Y^`*Y!NWiodsx-`d}21;5ts zJjvd+1rNab%|u2e!;n!4x}?!&s`N9tExOMs2-SJe)S%ldNc5Qq5nm`@V)UtlUKEhj zz5_{G1WEA^jtn)n4@)zoPh_WDFTg82xyiIk%`6l70SGdekC|&svM~- z4Y-)wtNny&xtBMm=VpA*nvCeueQNu)Bj%*{o7mv0_4IdYx7A7Ik52pIVQXI1x_#7% z;e1HPv6=lHcU#RFI%E+$NK&77Lm!iBuuaf^%98*q+8GLYuX~#&ET8V=q5%*2YPc?_ zL&PFkvgG?PpJ(Us?0i;TD#-txr?5*jY+bUnL7b(kEehbma_Dj%s^zkgA&Yf!jF69d zY)sr>x&W|ljp2OXP!T!@prcHoHc*R~5fSLn7eYzeWR|cHv1`F$p|}yQfD2l7BaI!T zJ3I+7wo6w(YB-|#iUG|!9=Ul#O8ErP171j_<7^u-=*`i{oo zlG8LAHO!N`K4+jcZuq{MVJ*U7EnEt_i7$J@3*B`TmkA^VTD18aNcRaNOGAzHfjR7r zhnzSQC#lgTD6q3ni4GP8z}OOZv+}~4jbtS2^o)M8sPpJPpl7=t&#oLV$W8Cib!7Je zpI*K)sc+9|x!iI7YyON??mRiF)Px4hH}79mqj}ReYc$>^FL|?FhuW(Tq4ANW2hWtL z^JEEhZ`5KKuf8dTpcqp~P-T$d)A|*8;fd&%!v$W_G z`5f=ww%+TFulH!4-fB`8X=wk`jb3AM*PN%VIg7a0kVAvobPTUuvS-Wshu-MZuiop? z#VQYIF^@&Dmd;ajW|_Q)$nFGK+NebWDZi`T0#hcyB+0~;(6c+b{6>j_Rs?9$DOkNL zom1EZgmo@5?!Ux+c*L4b@j*^fPjN$qMxy?n_pvZ%uqrExss%K>o?l>XEWKMu~)r zXMiDK{ieAg=!c~VBP)f=5inB9KfC?YbL-PzZauX+tFf!;BZj53tGxWgo8u&DBu360 zV6|9$89Iqd!Rfa8ALMK;qJbgV?RDEL>2;Mui;IY!knh$TGl`8A8Mon(()_@S=!jdPEgW7&W za$EJYh~hGl*M`gYLPQi9ItGpu3Mf8-DvrUCvEWS>ICy+XwzE{Fr~svGl_6uwoqGx> z@zhQ+4P%PQ)vft&x5z)<7C699yxI?wf}LrK-w%yt>3~00+?$V;A-drsp#a8(C=1nA zToy8;EDqXelBymRM5UjH3FW31*M5o=f)No}%9CP+*gZ`sM&ss3VI!5$u+R_yLWS2% z?HtLD)2q9}qEbFuy6AL;(hGWQIa3}KRw(#Wxrp-)hDGH4 zZ~XxTQ`3QvyP;pN9O!=o=7N~m&9D_cv#e@%_$uQGeMGk|o!y$XFqK z(MQ6Jk%U1~SWTwD7KVAEaSNCQ-Of`}rK+bN-5Jt-#Pp@CV)sgHa+Ar)Woy)W{D_Ue zrZl^LxX0)tJBm(U-S)NCwHq9-+9$19`O;Mg`l3IpP0b$vUG7S_)kTD-k))WjW(NHZ7Mb3rWtYq@P4yE5%bc>@N z@h7R4W~9x#Ifk$TLavG}7? z68vAcwh(-(uhPxIFyoD@{1>LBg=#_#=4_NKio723mF1FAgxg{;e`w{qkTMnk>OVQTLa`)OSW2vKc2vU=IG7kKcN70Qnbvs`_czcIew^*UdNi$!?fbsiGA8%_)^=y7AH_)m!@o;xYImn!e4ieye7q-GKyf9n>$Yw$hNpD^$ zm)^Zz?RcNkwMz2u9sI}Wn&rGo)o9djQhC|Vp7rit^rW?}bCC0~MaSb9*^#~BBh4clAuhAne6i_vjg{hYG z7o`%V=%U1ihPc@)ph_BaHbdWWy7J&Yt@i`Iv9+0!cJ9dI&Yd40{Va8uEt;QEUU!_W zp|oz?xi5Pz_3F~NwLE>@9*C=}w{9U<9=UhTM^4B3U3=FYJGWxlZ;!KAknI^$kZVPd z61RMW8eqtp3!IN`Q|l(ExIZGcK?DQKW28|D6J456w+koD5T3+28GSaoU}6VAXf%Oa z6@Mj`O1VgQQMd^qUu7W=S~@Zxt%DzPHfKJ|&dwU|!vUI_Q91oVy75mP$OECQ8 z``>8zN$SOk7isv((}!yo+`V${`rTP;!I9{V=}`-(6am`?Q@`Bt&7v-jG+`X{sFKO9 zN4QX=$&o$@Hy;l|@WxK2Fo=u+r$C{HB83@2RTqjK*fd!JKt47l?F}gnor<+dH1P>m zA6Dtz2b1}OyUugGc2U1xN7mIW-L6|DuSj_(E0eh>J6+zu#$28CrPHe1ael#{@#|UV zWRHR0UY0(0#ykI9GGF)h?MK6Y6|MQy%;i@ z3nhrZz$;@;)O!{L3KSm^QwO7hR-=#vqZ&KZ0IFlge_*r(Rb@lrDzVrF@G8PSTCe(8 zwnCcXVCB|4p3HCOId3|rI2>{Ys9wA@0~5FgIj;;oKl6*frF3T&rd)XN@T}p(rj!1v zgoy5Epf$wOUNiLc;(u{^uRKav;~likGTm?ev*>;s1(Q@nh*k_cHMoK#e+_3ZgpuoPiNp1CO;E}^d$6+WA7}6f zPn=)LYw)bhlof&oZXb)KLujJgS~B9_xQ@xuSidY;FaGYR z^{2;}cK!Y0<>d$Sf0TyvcHzbND%O{;l9Jl6TIZ!K>~>M!m-it~L_aqBYQc$_+UDvt zo#G%(7&lY8!M$#}bEd<0!^P0zgNzmb7y7MZ5~ireB7Q(uwma8L-NnBSj=w=y!-7Z3 zWLO(zEOXR2!*o*9Nw{IH*jwYY%+lTzcFf2rofwXx&kP}?(ltwyf+#(lzN{~ugDYV-MNt!QDS?J9@S~wp?*J{?zJVU?9R!je;s;k zV%MpeeI^e34D_RlP~2WmLL<=`nXayIC3Su@9i= ztmQ@Rf;GJcKk+)a+t1SI<^Fa${W|xm7C+5i6E_iv2w2kwi$?XaQIHeM0f*Xcu?Ylh zqfU3ydRB@>aBIchH~UNBuMaL?h5G{0`H}QbeuGY`?K7qGM5Po(Hk%imwuM_C3VmJ< zxx6A;J^+1MqtU=v%L<^YTX>=xs`YZC0N5opPJ0q(3UyJ)2eE&n(vI`Tlo?q2A}xkC z3dnvTiEfWY12Mvxi(*!k*`S(_3faUR(-4^Q?$B*4=-qeuAKQxNg>UB%SFB`#JHqq$ zU)zoz`5+`OeB0r}JFW36_~V^B_#eyJv12Qk@AjQ6@ZGa~*p-9(F3P@++$$e`bOk%U zm~XHi#g2Ou3d2<ARx12paQzkj@LBfb3bR8)h!w`5v}IE4UxEjxm5{DV71 zDqH*ublzlLu?`8|gvClTnMiNYdyk!0fg+ftX>RE2uZDh}1!GKk&+8@GCn`ZLUOh&vOpiw=8C@7Nw;eiZ}=Wz51+jq(HCVffrtVvzN zES_-8j8+ojwnpu3v59;sg60O2R6kEju!9uMIfK7RuBXi&n~Hi9Ow%G+iI_+N>mR&g z$(o%uCzm9Tz3b;M3v`6DxZDq!{}PtX|IB&DuZFVk*Ja)L_QH2}=C6CqJht)AzLS}=2!T`-M45%^m z5Og)rGAe zo6?~1Ea37z>3IwJ-o&}+CyG<+1WTcYEeO%6cvKSjYSACu9zEMAj9)!duSeolOMs{~ zhmRSdr9F&Cfw;UWjEl4fpyxCzD*%9vG{i+wFx3u*D?X*lhOEjo-R-8kq6Z zWhB|X4j<$He0K5lS4y?jiyDuM3eD=YVjcT}=Vi^>ojye&y*Cr4R8!Dp##8EXX}2+p zi(qgENrVY2vMDc{D}5%9bd!zYlSb#~^E4t7@YMobzM7hi zHi9PNl>cM1M3cd-G$eSgTC(myF# zvh#LqJNmM~yP1YAU?NmsOLL>vXRGLUHjb|j)j1o39XO?=rK zYT!*dRCI)Z%Jnz=)YUm&_6efS@dO+({4zR%u1HN!@91LD<)W)cD>T5AAW0%#{-T#= zZn-Asv}=AS_k6~Mk-1|#b{NpP`|f?4y0&UDH23#|pWl=N8%!uw>(H{jt=}C`yF=?b z&Fk%vX4G!fyhip%?-NgF;jRYaWX;~1PPh;^`V-S(7J6%TIzQD@e8HmK-kKbho6Fnh zqFWfckza9EL{6(BeIiMRKKR5UmH`?snYdhR^(#M7SP>A|z!Vb-Dg(ZM_`a`fw^0$Y zua2!XzNkSqGu#(r^2o2ks$4oqbMl=N^YR8^>PUG$fo(%Opu*De=gtdQVKi14j1~Hk zKWV775F$!nn{L+&<6CDCG9(QK!3$_ptV8oB5zIsxBrc^AoX5Wm4%(U1m{o4k&jbOV;C_7sxjaHgpq1q%z9Elqro^*jmOSAE zv}qgO-AWU1sC#Q7>^gf=CGa#!d-&XVEDL?{s;Oe8GZ3bq4xTbat=*9*1Sk!lNJ7dR zdZ3^O4mH`XfTacr$R{=$p`^e79ZX>Z8Z;qJi}%8d6*+&cn7qy9!%g1Et=aa_S64r3 zT{rjj=6f!CDrut!R)~vEzUDYIcp!>n%Jv^F!9Qkck??UVMgetkGmrmLg12Q`iZc0j zjRT+hIIDTF#v8YLNuPV2ptI!1mCb_x;O%>8X=2m;G)Wb=?lhbwbf-HkEd0!@Jhmlo zN$_>Y6(oaa%j2O2ovaoSrvPv58{0EXDx&eOO&0VT{eAuO#I@I-n1r@| z?Tz*C1U2iLg|9pL!UNVfL6^v?rHGz~ zLYUqVR3lMsbn>CC&GC68bcN{%YbgauCuBeY0+t#*o_V(4!_&Mt|4b_Ps6)R#ZKYeC zw+uzsWqIsr=Uu+3!~5NsW&>M47w6>%e{7g)7wCDqukh~isOOeUx6}l>(J2tJq|m$f zb&+GTdtdVI3m5P5?zQE!Y5MZ>l=^vj`3FrDkoJL=)``G=ldg^tRM4zzU(q!LAfO!G zvp20?U$AQN(${EkgGm>fJ$u6%_3bsR?}e2Wu8L9T0!%Y$1_Z+t)!%@@5DU;5z%AtP zxdwr&mT(mdl^_$YM2iwI8{`rM!crqqXsUYSVQ;ZQ%Z%ipAr*^GBpSjuBsfHL=7syD zMb)+9UPDA3AXzy25_@~>-O=YpUSr-9t}UAQ+0eUV+xE>Y0u!~hZ>BtNK=a;v`tvJ} zh}DkS{SJ-kGVa|u+h$~A=NADJP!%)=gXd?fAtJ||6GGhc3ZqF#cb#xyfa{K}n{OCe z?UB)h65xH8*iDq_?xO~}M7Scx5@t9OroJI8ITb#Sg_-t6v=*bl|-bdrBNHA$L&|OMvtI=pi~>xXRJyR##HEsL?j35Gmkd z$QMJNj{LiLGaIO4i>dCXhc zbq^B~9b7$)Qu*W3BQYmY*|l@qHnRLsSs?!d&Ma=3n?@?esBvB>FG8@wc-bJQ41$LE6XU@sRR;wm zO9&TgE(3lnu3Liq{Mo6y_fGK${!2*Ewmr?H%B|{q1xtC4+V}6>7B=rJ`N(_gPe{U@ z$bHPGPME}t67w)Da0&yVBsO)eVfr$>My(Fr%%UFnq(C^?p{AZP)tfaF4594@J zW&e&18-%^PO8DvCG`;*)_O8hW(2ApLXwi z{^PIn+SF^^_s`DF8+8J^Hal@`!Gi0jq&?1-BL@#2S@;zeZ^2DiV9~a4aYsk1A=({< z9U!~3qL4azbXY%WHPBDw8leac=zUeveoA%iq6QtQ0g-AlT}dQhUb>R{g#_D@!=PWu z1Zfk$@%QPwcR%5QyLacY7=GhXr#`*fLHK+wf4O_tSBg??CrjpEI6LuaeLB270B9>@ z4+|dIzObG_j$)DOYpBmGMOBzO-v|cQpXdo1!9+25Sqz1NEHS0PL_im)B`s`(>QPD{ zYSD1xg?osYDCDpq9!^+JByJ44Qw_XgW7SGcC-piTi&OcZ@ zaCJ)-Y}o0|?(tA*+s0+fgB_v#t7jkZXG`RLfMhj4#)_}z&!4QFcm2YtpL4U;+~fHh zSe0|m(YRCaV$td85Ois*Wtr+DI>o)hx{C$Hu{uNQEzrbXMBz74v=_b#sZOo-sHSfV z6dfUbPr}xKW>7tRg?I*r-w;TrKD`EstcC`OdMe<7OVEuJ2A^vpI#qjXDJ-FOOS#Oy z32TFya^-}kV1F#iGWbldNket@`xSQvuY<52aif6LEdOQa+yz4UqU9Im2qa_(EY>iQ z2ld6ImO??HpT0YC@=^?0_v%$2t!mxpCA^QX_yy>obBjg9n6N#VR5(5J=TX`Gxn%oG zvhe3fBe&khb|Bh-eX4`*dJOAdLpY@K2U}0#MgMY#hJ4_}8jZ*9A%SvJpyDRn;fC;h3 z$c~fRj+WUr)}NIVJG>zC)=2F4O8z5SKK5j-w@dxxhR<8*d(L)pOeA!C%>DsgYhjgy zW7mVAwWk>9(sy0Zr9b(<(q-}2d;#i*WODz}k^_kp7(c-Tm{!9AU8E(`$WIq(v6$aX zq|q_4h5Q+v&_HooLk_{sc_hy2v@{m(g6qVzQ*+MM&uj{4gUUiIuec>cEhZ*Y;|99D zI?-WTKR^?0rehNRo{)hNv`olAW7#f_h7v)L@!^-$V%jUvliG|Rrt*4}+5_}O_)JPi z<4bBPZU@F`D(U{ae^q6u=d6YzDT7W^AN&aKS5zg=Xke~6Qeg6w`*jnuk)MrueZ z5>&#X)K5~7r9UwdY%X^J}lq`AN;}u!=4Sk%ekb0je&2)}; zAHJt^m(+Pg245t<#&*!2AX;P}i*wiZq`0;x#b4MH{oGAyi~sYUc)Rz+zzZ+#iT0wG z_9O)j*T4p3$ov~?NXu9X{|IVpGk-`7a^{$n%es!LXkd_>rM-E3SUL&pdvM9sv#;cm z(!8d;!#*3ajU>wsRjMS$b0Gsx9p%eweu&A^5y5ypPT*z-u(jdn)p#qR5i)Y(2_qU0 z$D}46_H~aR9*<~_A!e@@iH#@efZ7m46i4+dkGl2p{yAkX<&;5xqB14RAOu#rd>MLa z(xsdv>Z67@KB89|QdFDO0OTIpiN>R;R~pUHtP(B2qIzpLY5B}_ewT$jV&0R6vLgKN z-%`?7wwkd~+WY>SBj@mobLKGrrAsdI`zz4>O^NP0@Y9R?hi@w1j-UBW?lq{^yQM#x zoHb8klltU+D!-@qh66_>^9J&4Tcp^(mH)ASI#ZeUPbdnKEZ9Fo4`($lkS0E4+x&VP(V!$0Rb6T)U+K4Jctt<^As6B5$2`tFr9gtPu>?2uTlTt=69NpD^>f0<$IK# zgK8~GIxu|FEY{-9rQ7Ae)!zI*3-dy>xf|@rFd%>Y5o<1C8K5d!j1c)r$Dv+*Yd{}@#e<>6gRzkR`aO`gYt;B$z zHtA_o{6{ZvRhd=v0>KS41iHW%SP3$nBgfji%=V5~I^-EV_%>)WYTfyuxXcGoAGfNLV^L3iACiAq?( z52&IsLX*QtNg7+i;C-+@e~W0KWRX++EuzBB5|DuO4y*(;y`Zia2$4d}VU|YTy|cgZ zCo&7XclJK>aZVe5cEZdV6VFbVBB_{rFfTSUGnS2F#oq=JJ3V&9$XK4mzqft)S8Vql zv434`@~Jbfd$-u97eQC^g4y8WeV{AO(ovN)bRHDAZWWmVIJzND8Xlzi3vK^GN*0zX zNHYp43Zh`lqaa9YKtyJbltS&5+|&u;nqNQq@$u_F9sl_7b*V+GjvZTk+`N6;<{wK5 zKd|_cLx+^)-(3&*k$+!&(BP6R{yN`UV*iS1YRT^1qt#{8cSoaEMi!Bw{q{G}+52_G zq>iac^&1EkBCtqF{yBABGDqlkorO(Ki7D!)n|{Fki+~#BufZ>+NTK0a)e_#qj*msf z5oN%05Xwlsl#`lBgD=Y`?k!i?qmU$bI1@FJ2-GTnewoYuxO98u$lG83uH;?p z*0*oB0VDrnBl^>K1EX8dJ)RWYKkGqUz0Zg7GPUIG-K)dfyzabzJ%8Q0r(a7^*PRy@ zOmRM%vS8{sHjPghHD$pRDQL<9b~`J!u~&cpm}`E`i}G2mYV_|{X*^P)vSl=)TbHf3 zU1#v2>ZzRp454bG6Ingi8JK(~eWz*D5G6o`p0__NYt=JQ#0UN#H@?CpOx`tZe1%tS ze5!v=txGwzOdBsSP6?)sr#b;c?I|Yg{^!P5J9Ld*-G8P>uaoLm%C*A{JGHLUqAPpI zy0)y{rc=YCrCQHDQ9h*qEbRQ5;XFy~yi)(}g=ZIjU9{-t876=6>!~pre`SmrKJeVR zfy2eO?ANT=CZ1x`n-$|T^-agTX^M#21E6Q)Et6H7hS!8c9P8R^lYG)cp5*e|JVar! zIafM@-{VqS4$R zGVN87Q^#xa+l+77|6dW*U(?ekPloIgQB><*LGwHV&2dJWb%;>ES1@tZJ>5Ew3OQxcXe zeVzB=R}+3*oN;#8-O=qwOv@a;lFwlSqgd><$kmQH{SJ@qlzwzuu?>eMtaAvgjwRMN zpbvvAXqqJAPdbBON38ZZBxmE&tm0p?jOS7(7Tthf-@oT){!@JxcaGm^$YKwEaEHY; z;Wycd52ozkC)k3WQ+BfcJE!eL3xq*CC+|R)-M-4kg4e80AhXa77O@i9=5El84+=?0 zi%tj&afa<>QViQ`jml(?2eWJVyHVD#f+3hI;79#VQ67cpgB>A8!%c+X1b_=^E~uv> zg+Ir;Ru<|3^S{wZ8$nb)`SI+5sr=TwG6@q{xGm&bjDP=eEQ?{PCv#4;hVqfN?!Xln z5&dwj)YlmAk&yblKuj9JH zpsMS?w@G2gV;I{xt%Zzg?Z3C9;pY%m-Tg5~1CM+A8Ga7kTh)K>n}t8YVyOYI&Nz4i zAc+197PspeZh-k$FaA~G9~Hh1e^mGmFg-(@0i%wM9-f?3F`3;M-KE=@5h)eRCpQ?= zrQ7J?DV>w~dHf9DRjiQgY_7l1*>tq)PxuY}g(>)k{OuHC+46O54}Rce#M{*w9_&Lm&DN_W`J%jVYo4JLQt~I(ySqIxG^bK zmKGOgWp-;qoSY!11+lOoyUbg7qf14#B6yIB`>>{bOa2%i{vqoquaQ{Iw-BVwllUif zS$w&GrM1q=-2;}^K3&5XQ0gAaMqk#7ujc_pGJ4jpP7iFi|GRH}=2#H$Zr#tMI})o` zmw)ZJE%C$kSvl(NzLaNLuiHyOS6;JNK+^^m$=+agi@!3Z;4IyIw<;hp>T?alS@Bm{ zJX5)2{T_eyyY^R>6$N?pSMsbE{)$wK_$zm=tf$D8jeA9|%%quxKckCoJ#j{{5>v*^ zN957m8M7i(zhJUU|A%xLAuax=beYxa47hPvpW({y9r(UTxG+skrktCURarF>Y4xB61QL=;D;>%H@yaZeD>$uspDy&UA@W!hjxgO0{>i* z-fMg+=Gs|*7&?uA&!5{i9;2~#(Gz?3YY&}8c(^Kdf85hl!}I__n#pa~_1H`BVHS&7 zOO$d?R;qY7yE`Q{PkH1?Ew)*AyniN)`cBqS&{W2b-TEH6^G%3T7$9vBsIK>vJMqvw z_8?aSC9~J?j;r}uWi2>}dcXO(dcV1fV?}&jXC8O3kvhH=s(V!q5;p*v2Au9?h?Rhy z49GFD2Ab>RZxPK^q&P~IL{k&-Z7c@Ecc135>9Zxi^N8pv&b#q1_(Sxy`sUDwC)q?# z=PWG}k;!k#KOzhef?k&10^MoBymGO>rXEo4(B2EJDdb>L(TS0j25XDf7D9Fv)jXk% zC0If%POitxHDruMb=^7Y?Hj8XG|Qv%oV)z__3kI%DZabW)u}5)iW2fDl&|uzVu|sV zA0UtHQcK$bG2yxdUnP*S@fILW=;v0nHo)swqbma@n_1$e^4iapB=PfXzDhX>`r<8r zXg`-n;VZK&M8)dgF6Y8S=iG@GJ!ZYH4nGPD(J0D(wNM;3S;}5MqJcI4xC-_&jHg#}1J8Vj0#SrlC2sOj@bTQ;Q^_pP+l0@(arhQfPW} zTYmn##MSL`bK9*>KwCp6cYek`P*rXI->09l9NN(;$h2+5j`~`9X{$8dPq8qa^-Vh} zh@rHLhfUNaq0OT)bBmChF_c_{QF<2)CKw7ZVXb$Bd|;P@CrDqi)BSDzIrR;b@~u|oaHt5@jhC02-$*oi2RQ0JpE!gzH_ z_L$acp_}~jT5C?sQ29Buan1^R}Y_*qa*5j+z=Gf6Z=0F>-Kh789r1_FPg z2S3I}($7YyZ{lHJB72jeLL>t(BF$`|HwVZw!!-~B3IGNnd?|^$NSY`2b1uVlOtf}v zC3QWOA0%NYCKiqLLk?RB|KwxoZ&<&69Af?YlYd#im@28kZ8e3e>|O z(O-b-p&_urCCC1~EZ%7|t-+H_0)CO!r(dr1f`p$_*ttKG|6)6Y-3>>l&p?+q?Siz4 z1dhJ7f*74ObdithegUb#@GOJ=p~feMaG|zZm%uNS_(COlO~OF<@?9YF#|+rKYO+?w zBQ53mH+mdjP<&VE?0(Z$@Kn97N5WL-2i9)|Ua2xVx`b*I3_}a2z?-Z}F<4ILbGH>B zqHL<92!JJwNyMm)r3X;w1~3v5_r}gH;2TQSp|NaYp<0HmFS-G0gWI%NC3?`q$`PaE z$?^&Dw}*ZIkZGf03?qoJQE)=hbFf_DpXeJ!tw;lt(Q}uA`^jnX6u%%xGbC8-QWzQ$ zYMZ2derQSh!n^$Hk2`8MUNtE$`@quWN2fMz&wa=Ddc9KR>Vc`RvD!?jeUTM8r!1Y= zaLWa0*{$@$_Y1xl_tnw>mc3(euk8~D%^E)tQnL)KfEXb)Yq+E%2Gio_B_TBvgw*V; z{apG^NX-g-gY6@{-p|s~f{Gz=ZAFw!XDE{t)pIZ;SPT|h4ir5gUS_}!Nk1BIAuyk! z+6I93_3| zwcS#>ie2o6U3?!^S@9N{Tm;)oep~F~6xb&}YrFpw`+_vgXjuAxVfCTtlWh~V4w|Ad1y40`hs?BC#5AR|RDI;h#WCX<;^lj7ctKd`JgGR3e0nNY!8H0$UN_;99j8a^vBlu)9 zoaKH_nq~e!a^pv5V+&bU{uSYs1Rb2*0}HK-t|aay{c~ z_`w+|=f16XrgTMlaLJE9xsF_C!Fgo1=ZRP?O-hf_CZ$LDyK{mj(^}teHPRvy36UtB zjl391rL&R4B2hY9GBOcg)a*#WL7qew;QPG+2K|mL06wh?3_g*`0TfZ5#e&9pcMURo^ z(u4CaS1x{H$+Dy~sORLoXV#iolX?u2mItO!nvYws5LKLyz-OVD^%3H_1vCpC+CZoV z{cvBFf}|(x3K_r|H1Tbp#qN)3hD05r1O~f>j2uH93GT4V?IG-sC4}77r~nD0sg`*- zogF6T?0wzMDUjMmV#T;) z%!0G{c{E~ecZD{})qXC|MvRTD%*L3>MLy|R)yvQ|-Xup&0Vv%>D^y$v=%C9IrD|U> zo$G~)K+Lj@BV@929u*?DYx-5S27-k=HMIGO3vB-aS>L()p;3M?6`r|IFI zpeh)(m&Ts=V)eTDVNz%RvU*WGrmeoF)B;1r{&&kZ3?LQDhCQFh4q<{gO06gw7N{M|{;@NxUANJ?T`f zSH;h>d8VzFczvGheeU2?Y3lO>YYE8I|D1Vhx^{Hae6*RTWRsW3ln$PD42A$w1;f1@0K>IX$ z?$CxmGtoV#G3YObUe?|sK5B5-bUNG_Z?mbSDq=dFTFhIMBR~bgdQ$zxQ?fmc#wKv` z5rx7Oq`{!VFbaUaUT&i(6*w2mix|)P><51L{=8e6j#>RDEPQv-d^9-S#G8lTKY8Z2 ze#fVGn=-lg(wQHCTf6WvNg)>+*_kNW z=8PG=2(?BMVg(jk4%QcrdeEM#UDM{M^^S1)K_)Hc*5-B(VK9->Frlc_0PPnM$U2(9 zFF6qehDxdw9aD;yil7skYo(^8#wVb1j+#2f>5G>}KIFH=${mfn4z^0s#s4Z9FDZE! z_+I|aq=gI8onL+VT$V!ei%N4RHTu3u*9I^=VbZSLqXi>X4eYr(I!$*4Y}DNolEEUQN}bY1 zv&7wg!WJs1PDl<5MI)nFg#aW{f@{)>2>5rsb81tcJgHfo(bE*A=EJZ=S(peF9BAq;V zzQD$U&)>;8XnW9J%AUM@d)AcKF67E1rZ<>;RGGf~l(dDPYn1c>om~TdNX$cx!R_=G zxhV^#fC&yY9iLufg_tyzRUuUNzc@bV2LoyXI6SOhoEr#mom(;jQn2At(_*y~Tfx3u zG?hQ#_hnY`36t;KmcQuTaeAq$9-C^&nWLr7r`V`r4^GL~KL4q2ef~7-gI?b?Zu;7| zhL!ft7=cz~@FDqjr6^8`=&`xz!7yXGn1UYtpxoDwd5Ri2qQ`J5FR&wKA`#KJcLwz* z=t0*s;KCE4D`R>Q7%?owOi=8H?B^?kdhwqX7Il04z+HQ#!~Nf$9$(eAr5roOR)4sl zQR@@EJ1kz;yvC_gAN2X5e$&@8o0pj0W(z2(UGTt8`H~pSs#{wUW41CG~Ki zJM0RR!+5t4^fp9&b4r>{MGY%So)al=YAFwB2D&f>p0!A za80Aq>HYm8?X*bE_+6$1BPMNzT#N1Y#;t>X^0dID%!OcM> zJ_Q9d%G|Z$(W0X)RD&)g0d17S_}@VR+jg~P4sbeGDThX{NGSL_n1!Z(fq~~;ENbZqsO)YD!UQOQ^o=N9JQa zg2SggozqZkmI-*`CE}T6BiltqpXQBTvfqR^y050a1-_X06X8jN(V+(FWq>*%7=o%( zsY!Q5mW%QhC@;&&lUmj5+FMp?J|Kxc{L@T6H;5hLup4 z*uig?q%C@5`{{xmGv`ZE%HN50CeHmMWE%@V$ovnp3Ojnd*X-91N`xc7iwh^N|1`II z_hlDH)1GuKxh?$)zeq))g<>~ko%4u>z74uoZ(Lu+Qik_lKor|lOra9SR~yG0>Jhb{ z(a>w|;gccKvtx77e!GGwUwQXe^@r>q)*SEm;=rZjm#sT2Hf=d&=<-gx9IWO)6*oRv z*5t$bAMT0Xass1_fiBP!XP_Lg85X_Q9f;fHruFpJG}|8Jt%Ii)g|y8LH^~yAQ_Q`! z9)kA>diJB*NS>oMa#Q=?kyW`)18SFlym+yAahHA&=f}T*I4AYxBvn0YR`R2K0URid zMrr8bs~Z+vUU)(+&mAQ~L8eiL{KrvZd1Z;csveh?sRuhX?>mslwOTnQ|8+`z)y|!} z_qz-d7ff8cBYRfrr$t1j7~@>fX$k1GGJFjQyyvTS22HJnJ^O7;hKdg*&~i2!6NM`i z;t?wBhl??OqF5#B_o)O_;$RdkxS`6K5*bhRR3&l&ur2?BsbYiFt!CT)VSZ=dk1>C${fqn+DIC+jrhaS-%&! zy4Bn};PjVS$ENg{G-2S)vtzj@ri}%T3)u496C-w!LG;`c)5c=OP9+H36C-w!rgFPy zs60lzZn*(`pdYdg2?_?{p>`sLI_-djQOGW5aa?1*d%K1qB<7FX^OaP_98{VvnDB+CLD z3{Tv%-@>^!w@e7(PU?#rrGGfPr*th#7TV2Uvt#K{{vEYYG<1+~9^X;UGZLg*%6%kdarCaD}alQTQb!!*)Da06BV+`4R451p?a%o|l0^bP)omiCAGrL`uRoJm= zQM*Q$hc3lhj+CRtdsv4Aw!j-69JYY<;QNpcBmX46HGwVkqt_R*UYr_gsi(vop#&JD zAR!jDaCkEokbng?ncXyM7{;E7TW!`beF<`B(-cx`{xiF~d~1k$s{O0m&m9{%eo*7~ zD>qy?G7v-wy#=;*MbKy&s`*AD!(_a2?Mvsw&xa}iMQqf|IJ+ZypcpIxB>)bps4j6L zk9dNUO_jzMuaw50Ws}vVbobuCk=4W9?TEzlyPF^brW~(0X*!C`BiCs7dZf`5 zmxA-(s4RNJdCYrRB2tAK5q7e%_3^sLOd&M69*uh?8&5wNySfBF{n)NkVqO7Fpup9Z z=CDMxip``iac095sVw<<1qWbMK15VsM1Iu+TcgJyA(IjkmrNTpbn29$1E-0SlsRqM zfJ%L*Oy~ppSX%P8G=_l=gdlhsfMKQplJ>d(8n+Th)NS3mZtBY~!<`|tMosZd_zOe8c@lxD zX)LrCK2R!WbinsHDhD{kLb{@LAg&4gn!>LwL5=Yqz^X|R^f+22BrqkxC%{vAIJlZp zQh=5(o1_E;ajy-04bg>;Xh2{Q))hVHkz6^o3{R^DIO-NUY6Upb@aBNr=7v8Z^Sy29 zQ&1pHnZSV*{KdR^-bsoZLd;(Q%S>cpR1gfQn=pAObZ&g&mKEAxq@)8&HneZQe$nCm zOEl7%^J%1rUhOh-ne^w#aO+p#n52T$9#OKa4&-K;ij@VuNc zWA-g?IX7qY=$u8;jQKe^ueO-CfB&n+k*(zMt%~b5>(;3)Dj9WY-P-d={G)l-t}nN0 z@k%%B4--ZTOT}bqKXxiWK;TjlZIs*!6$CT2$DsjmGHdu~AK>xP`^0kUIJU^nKpv># zh0jImpF<55NlPG?h*hHXGjPODS+x4yzDJLw{pxhPI-RXztMR$&!YFB+B@tZS8z(b~ z-zXK!l|xehuodUH)G8&l(+@|BMv)~h7fUS15M%D5_!x2^ zO;&^{#=tGYU^iTd<3#ZUU7&eH3{>G$3J4(4fskV$I8FkAKoLA((QQ^U>9l3$z{Jy* z1Jf3(=TvWY>tGMp6$u07l|JQc^zKO%)+kYiYS7$v(e-8B^i&e9+)zQwdB0K$BOweU z)X?L@0lt#Rq4c=&#GNDlaZzzeaS{|2!v~S78%Lo(!m^ljlsLDJ5)&3|i?PLUhY+=+ z=RdXUM0<1;B>N!YN2&$5S-SWhd-`jq#H!+(yX0*fEl=2n-~P_Z>^{`W($r5ZAdIUo zF7A5%y!V)1sjp32{rdSoZoQY8HE-DKtEWNFh{4g%0RN4I=PwQ%<^|z|;-htnL_SLt z<%qxqNmrbCTq&QOxU8vnq-oJO1J`Y)(qOSSM|vROj#UHL3+S#sxl-vCI>_iXJgtPg zfjv-g9$gJ+2v{_r3y?AuTSz<`1w7y{O++3Q&wq=j#RPl?qyX&={tCp-xCp}PrQnC~ zdQ{LOCC-A?WGPUZ5-n4{z&{sA<6!aU_*aaz>h@F}x6Y{!{WEiwxID?VyJ}VG^sbG& z)FAdJ{ooXv@N{p8A8B>ae=1R9tRh&iY za?IpsPD1LLb{nTHx|oe z>fjs)XEH?_p$CUi03Rz=D-f0Qt;r{9p`~-@cIt0a%Re~3;|W`S)fGOe=)}{^H4lE- z1)uqzm+JDS;Nswe$0Zk_1o`hUoB9|z1i~XLafo##cf1;6Z4!h!kXAOKn>-%Bt(@{~ zc%A4j5nksP(XsB1Ql(Zh&7umI4!B~oam6;{TAg2Ox+&0PdzpyN1Ay}qIaU^kGhK}) zV3E~8W{7GT_z2OP57!91`0<2x5DNX9x0@At(jFdTIq?{Di1$EZ;XN259)kk$7^eh} zD;FwN_`Q{C+7R%q)eDs*&l6rv02OB>5ULG7lKVgHs7v?@s?j8;f>=}WcMvQdrp8I9 zK5taqVaZ!D=l+=dxNmm9$5VdHk9lKm#?!Q$FMY4RG(KXl*nU*R>vvm4*wvz_G_hla z267d)NS(gxja{zy#8&i!hx7_ttWu2BTSN2_%oV65vhcEkKHtlFLixkq*X4V?;(Me!<3+ ze2*UzojtQuR2|#wWF3b0U=P^6ujKkCFR1UbCZh&YlLeG4zwWx*f0%g4)$N08;O>3V znXLx6dmL5kG*sI%S(zT*6c@^U_i=ER8kjVEBqpp=fWw!w?Xvu8ht`;M#NQrePqKr% z2N*sG!_(mVrnF@cO8^lIrV1Z7N0`J#3zC~PQF9p0L16<|4~db6BkybXrqP+@r_L!6 z)LUK$4jee>$Evx8FDyS~@Wwa1*+6w08zlN4IuP?|1s2W36?0aUu*j&3u?P07m;-g5 z&KB>I6oJzf51#(3;;Zp=UrxWcLOS89b926fI)BpPM-&&0FAd0O>RGy7hz^L3j;;}% z9^E0jU-a1MInmyIv`p3`j*2HM7NX2)dKsZ&K*i{aH7cf8wDieMFdR6Xon_9S;?ba)S)tfb$1|VB>#+h``$*NbwQgu^05C zGkj#cgyCd`(eVNyu|zCwC9r1Hf(ePK#jd;F!#}b5LB<;X^r6T;_`c4Q4_S!h`bcc* z`jFjkF(WKal9bpUuR9LzWbT_K>%2ij6n zQ}7d*9FiJhqaW%5o+5V?H>h`&5zD{AzvA!l57l@|dR$TS-v;KU+nH{!c01dRHMr69 zY|mGFp6%g!Di;6K4ttn^6XVZ)XK4Op@ST}p%DQ0TjLyXMJnIp{+d7t(Q!|F4c`5Wz z!H$d!)Yk#25=b>JC5Y-$NR_{1lI&!2$2-T(b4pD9)+r5tL0zNXIq}}JB9oh2FjMD=TDDB)WD+HleaG!4yUNONIHzH6%{f~=vAdFO^h$2<9g7`67bi7`^L`cd&k{1dDH1w-S{ z2T1Hd%NbUE$?6r^YQe9+{(51=1@Y|D!mEEtBUqhTGsmuk^(!M2{f^~TcnZrwbEqxU z6*egm_3D#u5E0-I2>nZ10j{Z-Z%UFQ)esKTIaxg7Nb#gkp-ckK7EDk-Z*FXYw;MS& ztckEv2CkHoxIBpGnrDS1M|?nTmC`>`Y_n$RQ&42EHQEC+E=`h#Nm*)Z;tgRQ%aTL1 zVM&R(J4=K&cFddedQRgywVN~@p3cG#EnaePpZeR|IWQq#ZvRrFcCM$h#51$xN)y)X zTiSBo+v_Hzq{B#T-nD5>SNfv8dsnoaw}0QOmS){Lx8dgF18$g!LR~ z-$RonI*tUQw25DSf46_X{{19n%aQ{(lwl*Uw(C|k`V}eU_Rsd?;q3Pl*Yma}98~uY zZMSl|*sRT`LtaQrM{{<{m9m|(oP-7HkLXjPu;1Ochj>2NCazHHaMd-G1Z;PLY47zX z+>q0s#Ncf)x|Zz;HDYpLK)^kT(C@&eL(7ej`T??3g)f)PSeEWuK=H5%qG)e&7eAq;+yP@B?39 zW=3l)z%*@B;9JiKM2?7_euI{GGzEz_(!t6qURoPV5Dl0%EsyTcBHIf*8g(0BlTn@- zgZhdYCEL-YDUQP~f&7+!%WjlC=GD0i7miT_mrh!N#Ak1H8Jnms7t5>j*-Y0@>_fFV zJD!QLZ-C5s4N)NKA~x92MJ&|K%S?Vi4=*dHrA3uPehBxq#e5O@pa+!mT)VHwf24$H zZ-UhnTKXnJBES(w{Yr^u5#UAu6?z$i^B^WLK@L88{Iv&*SO2qM;g1U>moQ~Z!2xyk z#_3}D34O+OCV-} z+ULm{mJmBc@w=eX#&r;zV%RlJQOqOS! z`Z?ujxoT>Ab$kla9QU#KM}FV3pi}$yY;hEx?%EbjUYM}ABvO8W(_(`h62EP!WcyZnY7CFr_}7}Y%#-?E4M6uC(Dc>~#cSNj4 zx`()ogxCQ1l`(ZuV?WZp;=@u$aZ~|~uK@(=8qC&9cnPg7DRb77N2b#V*J+-G(gBWU z$nKy~@*1frF=Asj^`;tj`iskKD61+jMAk#&(-aZv3or7wILQ&HR8&uxsMzW^z}*}+ zZYASd%YCACFFn7lZi$hp4IMEwNwJ0Ua;H!RgOZeB?TI;{hxg_tmJ*QTMJ@_bX(^HY zOKx_NL;Uy=kG2O%d|XU&YP166JQl}GQHwnhxxxwvNF7(-XDwH`Hp*K*IoG;LeDkjP`EOXZ=fAT$BECuMbNSehlEZ2n@h#LF2@%p1 z(VhKFG{cQ&6Uq)D4pZa;feaH^$KpXvr&1{^&5#UXtB>R~Neil0X{mTpN$XLrO0C@) zjwALD{kF>w-pLPnzs!52K@Mh24w0T<6jf29HbBGt!B8!aJu1ho5kxVdyu*J2&l|Ku z(5(T|fESHGD3S+I5@F21+(lUV(mjq=sPYkc?o% zW}qzFb6y=>V?mQnZMU`PxM1***&SPK%IMN$ag7>tnsmw7)S~0!!9(VEY_Y9vrzQ(( zNGogA6=T~+&$>B0x^2AJq~QfTk8jJLw~xhhoQv0lInq5jA6{!52!zy(em3Y9;B+>A zg|zcGWt!8nAO)ukky{LS7UUgufk`E66OLQyp6iD>qxv{l%q+FP7_eyczz@~SGuZ() z=%+?|&wYFTZllBJzXk7aC*YEgWV@-ek z!L<*&7mwq18)w=A|9oA=>cdNVK}?&vsOUP6=U`g}Qh*gN{tJUoW~kZ6B)gsMDPZ%} zIj7ZG?EAY#cYvBnbiE+nVAs_u>I>`!Nw?R9x7i048#J*XobMwPff6EQ8^$tFoGmtz z>*4&{gxZSW#r0yosO%6j+dH5h+oZeuVAYS)=XS#o2^+VaKpX z%}a)|p3Dl~g_=1$7S6-G?ii=ldV0>w(mB?7bGr#M24(a)hH+MhWfXzal_0dny4i%* zVl({ay`$wYydDM**CfST^Kij5&{4ab4e6(kGbnx3rc_1~youZRq)dW!A-~FyfI=b! zc7`E!m2#uVP--MX=g=W3@J&875?uX7+H|-ybX>6~fbJQYK7p!G)2r$mz;$;0i7DO2v`>}snaa9q zUkOht=})TQNfmk$V+I|=UyFTuhOt4?n5#?kX_vBBNa}y>At?v6k5}G&^K4#vD{JMH zLu{gZM-!GzpdEFhw%BKUQwQc11byW7PCxVJN{jdgYdg$WEm3$&u^XaOJdU6*kZI{m z%U~+L!Yv$q=@PLFiTawv;|Vv9Y3&V!Y*Z$mT^fWD3`;|n09G&-M52+lX^q@;LNPg= zd}0F4>!T5lMn~#$5RSew8UdA3RPl7uW2(bWxD0BF7iKDU16rBmc=b8*3G0jGA$FRh zC%ys*uh9nwZxe{%nZOE)wS(;gR%(#9#PfMII&<&@XPV{+<&cgytpR0X$`?-5bjMB< zrTNI+I4GwagZ~xO1A8;hUZcTM1X4wYOq&dLiw-wGRE!wrm ziP0EoOYB!mePZc&lCDpgrHMMcpAy9$+g z@*7k)q#}}=oYMKBnDGS-(|*CAPPR@vF^)n~i&wJ)2l{o-=w2bF{DWbybQs*1RotCX zRIspc;vLJ>f&B)J_^0!cJ4br8tA6v)xo>FIk1oNY=e!}d&+9%Qt4s6xSwp6^Ytg55 zqq>dKx=ru4=G}g8^?#+$%MBVgt6jPKzU3c;jm(()=K0fb4TcIm)bX}EmP3e+M1Ys2 zqNYbv;bnLYUlDo=eNoG02&%1(7A6bRfn%A6eoIS*mF%n%uxd4}7<4LuhX8<{z~dVH z+K^ux@oNiyZOyM8__Z6q_Ttz6{5p_dhw|$vejUrNQ}}fTzs}~@1^l{%UzbA&zofaw zT448EKp{|OHj}C<+0$^DIv1BY^>FcN@e+*`C3v`_jCLQD`rz^7s*f^;!&u9)9 z%K%3vX>GZa4KGd&aA3Kn1vnNKIL2SM%02y4Ml8iG2Npnev@`;yzq*mM7I z!_WQLPJcz|BBpy)@w<}Yv6MP@(2zOetYL%ah)q8jFuqHz+J)+>){WC!w{DXDvUIF> zR;TWx`V4!a&f|h{1(wQZ#{4sir4(51usUOkd(Rp=-~tPE^{I;LIR4KTJBI&bR|ia++ILcB_SC-WJ7T4m+jWWdYf*hGYt_7c`{rZm!ZOrF?fZ1> z+^bHt;&ZIQ`EldUtEa6|tir_o`zIpfulUIR&Yfhb^+f*fab4~ErGgGGR8&7Np7o?S zXM1qGdny2&;VhG_Ncxj=p z%W&`tT&;v3kB3x{IZUWIrCc!ClcQZ70?e2slkSVn4K+9w#ZdCg zDw02U&w_Bh41e?$2xz9DW+k5(vWA#@R$!>wto+3oQE_c!6~@)6UBAh({fk#^8$Mt; zn=q4EhBmE|(xlGB&2uJ<7}9MVMmYzg6eT<2^6s9-+z+G=k2?uSa9Fs{RYqma(xCu5 z7l&v}rDRcj{~Q}*7wgwpgKC!|$N<4i9OJ(9hk+(Sbs|Uf`0n4P2$F=-v}g?sf>TtCfwQPPj>7#*P?+ z+)yG7su4zNg(!26GbBK;-~`vHlSs9W-LfxK{CLo7@0>3>`PpykN%eGm_{S#?HX9T^ zyhrz}EOxEer6bB6_2uMaFEfBYl3@5Tw~N{q$>kTRd0?JshXr*s!9cx=#p8LjW-6a6)CbRQJ8;Ko*D%m z!QijMqU9!(dSCdq*mUuYIj0h;ns!LybLHGodk9WhtB$m{cgMaX|2*@_{gHh;_WtJm zW8YmLL9_1JeR%nv?b~(hzOB3TO4s>`l~?uOn)lAO0jnw}&g;7A@FCa0)~|Hk(6y`B zq)A4*W=%VG1m)JlaumudK)Ll5W}}Kh+Fo)3)@N=YU{i+;L89;_h7X@SSg};-QcG|U zTv^ga+4A(MbglqY(+_KXL*4=}K{PC`NZyB*dinUe*O(t({Z5`ZFM=nAdSd8=$FV3@ zv`nj%&NSy1>lYscyq zv>F*PI9EP2bB?b}CPRStju_?uQNm35F^IWJXzapIy0J$j8G9eOBca~bPZ0Vt0M zLp~2*B7GLz+e`-@rJ{@=d>iBNI~2z?#%3)MywDUvB!;N25*SR7FQq~RabP%k?2vYb zNl^-xrsLrV+m^g6=Bw72L4)7F{`-Y@pV!y_T55Rp$$MAOV3nzDdM%+NcjF9TbU5iMKGaA2E z#5=4!9gdM(2Z2IOU~n`UygP~Tl*9zuq)uD5I9*@*h*kb^U11G^*#`yx{IgYj;!0v$ z;NWLMBdqQRIF|{+>q<2Dmuu9>&2fD!x~-+KvgK&Zz{63EGvyLpGO6y_D!P==Q!0a& zH-^n-DEo1koj@O7$1Co^`DQr6pfY{=d1qrT z2(30KHJs#<-J}LJWayl%!2^198s@xr?82`D`+re<{pTEANH>ZXvi-UJG6s%*@aWv>A36=`hqK+{O}28|=$5Yx?zR8c@i#hc8Pp4< znwYQw1XaMfNcw-~BKlYzrDD)9F44_PAPp@f4GWy=X)&n0G^TU@Ay8`%H^=_3(okO& zlQb;72bYGWPl@eP4kI*ER0InOOALsMl>!5jYuTmzA1{CUtMtQ_%RjLPr#`e49J8|T z@2e&M+`W$c(-PrcFdCLUR-dT9z_Z4H^%hV`d<8s-=s8M)kmGIj!RP@uqs{0pOyEF- zz!2n7ye-5DI4A%L2`RU1syL&#y*SdfUfOl))C#F#0muDY;KQneJ9+{2$M0xjKc?Gz zPOiY*XHpBGqU}iqRu;94`V^^ySQ&A;Xm{Dvk?eKx4((_N?$8={C?j-!&Ki)+eSE7%U@G3wS_cNvVOzCMi){mk58&8u_yPO%ch-%EMehMry+OznhtU5zSr zl7#767S(G4#zqo{sh1p`ALgS6`_#diqsOiK`s6>KF8z7d119tz!)i6jXggqj?={EI z?&{d5U3&etadniHn-BHL8Fv!SaSj*# zN?DN$R8)C2ET;mYOri}@IzwtHCgnyMBdwev(&?5!abl})o$Tzb``@!5wOFlvZRE(T zG1u6BwVS-+XwL0kYNaybh|KmK`(eawOKQj?u@Aw}d|N4AJck@!N=KA?#N0cqkC+n~ zXqL)-8$Eu|)lDEKSokO@t$_lFn?m>EeS!?Oy*zUCz)RcJhqY>NDO$kh{k82Li~Vck ztBW>nT=MFAvD)sxT5Vc#&U+bSIrZLVmX+#R^?}#Xlle!I9q00oxL3LwR@w)8Br1Fd za}69(16_+W9XwrMRm$*ljbOWRafyITB?vg4gq#wnI-oBp%W|@xue$!asum5KGHo#6 zv+7WJ#kGU`KamQ$cj=ZzyPtuxIRNzeCEpk0T13=#* zDY6*sx%elky!(!pRk&kWSc;76mfDR?+CFC{I8vO=?UxV# z#p^U*n5tY5rL8tb~Cp2onmRRQW} z1^gy2XoGw1aW#^TCYmwvEU{|w56)Ak@M&#zhvAX0(B?VcV_IDg`=ohs`XG@2OeURn zD*-1Ui%3-BtWzdVav%u_{C|J3(>a=DuxiL*|6KiseK}u!3*6ha2vDF$u564V9vpTM zMp0IXQ!IuR*9DI;Fokb7``W~D&L5TY-#<9o20WwqyF-^w9zNK&55AQOXiUMkNXv?67M#oDL1+|_s5q&?_g!M9zf0k@)n@*H`Gy-#>UYfq!n z&6ntcM^NtRkv|^gjq#rC4dwn@?|byNOnRxjcQrgV8Yp~xB%P=RLb5!}snM(xol7gp zE7U-Ck4D`E=eZTmb9q#kiZE0-Fpbx9B+5#>hB_QBMmGkIvr!d~)ZP@CWG;$T$!3kA zLmmL|y4E#18uh)=1YRXv|O*F3Ks3 z6SeZoI;G043#f+4SF1p!9Dzn9cIh4}@K+JWEB2}s+0brklIOATne!gx5--w2o)sXK zu|!5;0_kpu5h(%Tyf8s5PoIi40UneDsj_x7blJ{3xOvjLP=<<&cdgo}Nx)y)ziaOW zkA%-ZwClqkO%i@lUck+-LQbwImGX-Y1b+X${md2!dItQgfC@6(ffXL7L~^XKHd_wg z(wA62XiAiwqq@7OR zEdhc-pK}<}*jlO!tsTTotaz}`3sohyYpZ1a;>4+&&Tbvrb+gE94*OXdo1b51?M&O+ ztk3?u`a%EUv!+3QaqU&w42lUy?LWa_VVaBy5Azj#xi##?tEzHTOJOzy1WLhqkd4qI zJZZZ$BRofxg;aUES7R^zpsH(zVyy;gkL&1v9lA|9TMDyd{XJ%{-9GfQM{ z(6VT4!4qPnjjk(BDTcIFe3R(W>Lrf&vT(!~%|dj`_2;rc#ln5(Mz;dE4sK~ zX~ujT^7=_*CDc->A*JJ&B1mkUajq1(F~Tcgc^Wz*(n_SnSpJ*pA=OoTvb`+zxe5sT zHh=PeQ$dWDQeDMnsABNkwJc>{G)Wr|RcMO|3PDeCAGHLF35-jL`c05sUIDA@l{W3L zn&dO-iajJGO&OuTBJ+H1Y&(TNaMeB4CXTL4Afv!gY(6|}09TzcjS0-&kO)shg4Yv2 zcKY45_^xDs*)>a?_cA@ohg*^P6lk1T9)MBV1b9a{x<}hnlTg$}AD_Ffz><|^@UwZu zSd2X2f$OPLy5pu8If5AO`g?5VIN5+G850mzxp97O?RWpHcR*k4i%-`Ly!HBFB zSF68>V~hJDHTGjE+jWeEip|y81)JDWws%v3x(e&w0akiDj3W>hQF(AnFHI{3CqP6A z*9bQ~bC8A3IdyGM@eklN>-{NQrFeUBmn6EdSUDER;2kAuHW)_uRzk%@lDSJo#AGf3 zc-22J710tXTTl-+FkX83J_}ZVzw5kD4T0}DU5{lJj?UHPR?lNWa)|%K^Mz0RM~(D< zTzK)3-&EI8)fFOE33Kh?7s3xdAK{{W8C~<2YAP6aL_Gl*?HuH(|$ETum>`W*7I{ef=mZV<% zaqZy>>TfJ86zwPkG|#yF*2!@3FpUuaU3mdyRUA6m*bLcw+-<6lQIF1WYSYCut*TL% z0SCvx;rBGw(+cD<5~{0+T0vThg4PL^BDGXipMrt{A@>Q)Cmx(Sa@~rh>n2ZBYdAif zU$pHHR%Kw1BWlvw*mI7mI}YsMQ#toc+}VPyEHU)8I}6kw@0MHfZENl^h(`uXC#-cj zR4fgBwrY?*4?SO!&%;wo@p;906fcpR)PQ5c`RiYbvLMPg(2~XqA(pt5g*P{aBPrlz z2RMJ0x>q`=?pnIy*8TgpCrq9=Y3@QN92^CICSLvIgOeY2$r?X2!SyTc0@;R5u?rQD zAuk!?1kbez75_3kvBqo~Dk0jdAxTO}2&uavP<+$q(Is5+#)QlcA+L7Gi4anJ>5r>$ zF>!gQTE<921&Lsem?5h7a2u2MN)C%7=(q$?%tH#Pa+5&y(ak&RomqFbU1xHz(|6|h zr=e_)I>%?${HfV~Y{7|ZtQsrRY=6npTc^fmsh0}Y?Hqu(8b?*yLa=9HkY&>qS(9bp zyLw-3(>c+(5#KxA7Q#6(xN%fUCU% z3?AWxKn9OM8%-BH8n0y1rG%cM3?{4|G$$mhN4SUg=0(9(hmY)}_sD)cgilaU6MT|% zA0r1vxak?H2h+hC@dySMkBlYQ_u6`~Eaq|+Ex$6R&=?Q+mGXsJe5Y zjmLD+%5QGV&WRJmN)-yZHeMTp%JLUe^!!qcApjUpO7IrYrO``d^+5&%@ zF0_qWfrAniW4L086(w`Czq-^3kEm#Isyi8OSX@Us@1`NSGQWQ?bQLeHPA_DnuUkf% z?yJj42XqjF4vY3`Tx1f~++4O7i)ipO(OQKdW*A_N!{(x}G{WepkS-~%qs5mV{Bu){ zk{YUS4Vy4_$V2JEcT$1+)~7Vkfn75Cpe8?!Hc>rnp|kCe*gzk}&UchB-UL*3H{mdO zmGl#B9Ie~x0oI-4;mJBc5)>>W(@0YriTuElZXOtC$6ChN#Cffo#94f$mo^j?KXNjF zL+`7v+x+r7F3Ow5J}$1~y2CoEhs9vYTC5%d|BV20HVUH+5q2ufKz%0vrYWpwT5UZ} zz<1fisPqbOim$}wi7%p$zBrbdzBqiB@F?%F?+ITV%2mEQeZ}!`1sk<3;A|8xf9}Py zGYxyfeY$Zx6oLdW{HMi6{?2svD^@>ey^-))@lh9Nmq)CkdW!YMOV`w@^n+?-_0(wg z9sRfpUAr;sCh!6M3aOJQtWXjR$XC2n_#;$vle#SBVnig#GI+|2s-Do#$v?5E~-RW&{E5U&024bI* z1Em>Gr|VBAqJ6MA;)=f}XBpO={Hy7>udgumKWpEn)4@f8&iFhUqZPU;IRZgbR-!2@ z(G(u#9k!mZ5=~imTE+23f+}?vQfL6w0}BcNe?Hvl9LVaj3hH>YtGi6(0;`h<<+SS% ztyDZlOqNmrdD8<)PkqixdCU-Ei8}m+Qwjm`*zD& zUY{inXzh#O5*F{Ay7R7zK57@`GP`~etJ0XFfKR4qioeiI5e%^|lkIDgr8-k|H}8AK z#TkZ^getXYXo=j!81V(W6PDxHx;1AwX)nR& z;xURcLQ}=tQxA;Ohbf?EI#W6snFN7AN;2==;}!%1P6dBm+!TV~K|b*-T@vsJGLN}Y z9~s%uN5udZ=sXrBwV?S z@_aj{j7&i4q(;NmvV7i66q|eAwC^T)t>4xppW)hpg~rWm7_4CJT>f#{NAk~F_Q^0O z%XG4SI5s5vH2KF@+Dcd&f1!y|#=YN=V{}u~N_(WNLGDqyu{ZaSK$1}XKI203yZU3X zpKQ=>Y+P?$`uf09jl|u3AtNAtHF?JERP7{~hTsta&qVBfY+NrP;O{eLoyn_-Q=zG( z0I)*G@`ztcB-caV5If!e^08WL$fR)t9=mnV0_dCSmJyvZ28w{SBQFO$#eMU#*qlUVm>4ly_%autB zN1HQ7KWE5K71Sco7lWMnOhcMvaoh0cw-=O1Q| z=I?ih1w3&8?)f+Ru*r}xq~a)L`FCMTnvnyC4X_{JQPi_X2n*v`kMW5t$uE2Ayg5GV zY&IwK>G+wx&R`~A|AB@1vKfDD{Yw4EpDh?WVCT95Rx@ktsaxuA_b2TyS#s+b^rOio z_t8mYJ1l}2K~ZF_W&jR_o*!j8zRxuSIpup;nx7XLYf!E74*Q+(1M?r_H`@ZbZSmn3V4^162@mRS;ucqOW7v-0Pchd{wP3!SYS76Yqp?DhBg**TBra4qq=h+ah zwK05u->5&>KPW2tAedG7>Nz3EfFD$#71Z$Gng6pPPN~0uH4~flOu`KS?@xoMZ?8gZz%QHf5pL?|;rdb^i6s zi~UD@{Wbb4`Mh#@_xlJ9exNp!Vq5oMt-BE?1ZR*+FitgR$g+im;5w6TMw&DP(;DcCJRpf2 zLF$J!prhhBH2Ue%4wF%SBgvA(HQ|FbtO4eU*ePbnH{qXPU={F zR+`#Ha{=|Mm`gD5#uh`LC~gAl6EQJszRkLh$kh#UhYNwck}WC)q>(!ylZ<}y6Sy4* zd8>q-0_+ZW8lk8K7;rPbFgjI25o*hyztEU?6ZV5~O z;5XkuZ7gsdX4fuUAT<(mf%a%=k4I&N#frBf)@(Y#CIv}9E`0BFuN{1HoRYjS7cZKN z7tIBa@(z2Q@FK$W+UaH1cR_+i-9z~gorT5khdb3>V&`XcVCj55SAsDcaO@29c-kbt z2~X*Z=*JnN_2UGdJ>G49^Sn5HXG|Ph7o&VOdi((WI62n)f2SX(0jlH>c@`j&>Z+A) zmb)Kkv>>I_7LtKy<~cHG$cg71tQf-EmIj2m@$i9`O+OxbZNGX;Js>l$FUQTka56IT zr1;f|PrhcmGkd$%ee?$F-0PiydW~2^7G7UvFMgVrn{eTxn8PYo`-AzZ#dlh%B?rr( z*42YCQ=KWhR;yQ_bLcq31O}KVIua!a4S4i71m|)Y_TL}aRJ|UlyPF%=5cNefolD&z zz!yzFq>A8AV$QUuK4sjNFbmhYJ#of`7iq$Jkf#c59bz z?~cg=G&uqEjWszfz{m~3adKUh(IdB1pw+E;LZhH~d0?_-ctP+t#m&?`(i`dl(OSfH zeex0)KOw(QskR>mzmsgpX)&=hZl&w%sH@#dfEIlXNHQ{OI_m)xWYyGuz1b#d{$VM} zAyf(tN^0c-F~@&dq(KH0fw&fR;?N#vLVdweC~`ek(o>rZ~U z@5s~SQ*s|2zjq_gJPutm{CEt*0iRI?_qjCfnCJ9GYfVW}!PB4%IHW=pA@9bSP zxq9RDbDQSw@Nwm>lXt6MJ)XYx@e)>^d9B~DrCQ*z*s8@ryI0a&$m4WJ`VI6_P8g{K z{ii66=j59MGkRaSa#|xf6wN?;Hh)i7Ipa1`*}qcl3IYtLt+cBgd`OxTDK0KWT;cjg z>crGf-Z)hvd|UX)DUTaGVZvWCaR9ffCxcHcd+X%;ufN=(XJ^N8sCl0Fds$e4{GG;}! zh{e(*Gq?b9ZHA}F&haS~Y_Qeg5+y|vj$i2hK!!m6g>qy_I5H6fj72k*n0Ssk@r_}9 zXwOl#nGhpb5?ZaBMi1~5iE zwx&tw+U6YKE#OCW$UA_M-J|#z`Yf54vWM}-Y86mp zQT;C#EoB2@qhqO?jbRPoBQpgw$P{qIa?}s5SOYs279?_n3ZkZ=Br4I$|5O(hiJJk0 zlA@I%`UkIyi;buCpn`%F+T&F+++|VQtMdbAjOj2fa`Nb_YDvV#HET9SlzcvNdT6gn z*JD|>I+M+33x*FXe!& ze_~Q^WAK;%sgfL^zX4*jh#Il~*VW`IfmQswnw*|S2-GM96GgggOI)YL2Ck(iSe=s} zspmgF+_Q6s?qZ*e_I=d7I>zfg>n{A0H-KfHTZeMm5@ zfBH|D)c5h`&6|(3J1W-yT+O>^X~*QDU0)eYXC)PRs{4_r8ZXRKDjKRvaO+dgPt~iw zpu#EHRM|+`4bST!^g|Hy$Q+a^+$BhTutd4m(nA9bJa1t%;V}7Z#L>fb=k49tp3K`yQi_oYNeu3taS#~`Vhttf$T#+L#WG_Q<^qjMpq&~}DiIuv`P}S7_d?qS)Mj_o1Hp}2&R@QJ z`P_rz`gf}Fbz8`ecGnm%>&f`Of8)@@c9YuFCse_x7)kE|llDZ$#w0CGq7 zRdQucpNB4oNOd!uenY{{;L>?GKM63w^nuUukb1CybynMoQ^fJB;HrA2H(?3lh0ThMpCXcx zIL5ffy7>n82k1BCrZ)Klpi%P^6`K@(WKQhr*j=$;3>{+o#R4B7#0Jo>^w3OoHx?xKt0^{~nEKM3;nSy$nDbKV#H`7aUEd}5 ztWl$9GJE@#R}yQ~Al<)3$s=($xQQKD+kr|j$J!FMOGoZ;by!~m-40PijvM3Mry&z_ z14~Cuhrl=|*m7nvp(u%#Y)x9SEe>#>#9F#^2o7bxHt9KQan6EeZ-`%gXJ0jKVEecx zwUZk+WOeE-ojG;S-i-}z++=Gz9jM*BRpa*cQkxN_tQHqb)s58!pVeHY>aKy}c5!hI zX`mbAR^l5dghT=q=J*7e%BJ?CUzF@~BrThD1agu~I6i~?&#t61P zq(Vt(az$udI>@D;!=|CYwas19faaP?;UIUd1NOl$f3Kf6x_#S`Ss5Ki46I!#zDAAs zO0}))PkqyV(BO8h2M%acsbB6|?~9T}ZVuLPw4MO~Ty6{mNK*F2ge^Hvpd) zaEy>pMn@YdFx(x=4QMG-^%2_^e=Ie09c2&MKk9j8Srn*6v{pW9YdI425nsS*Y%1(h zyqYy9x<%Bc21ggxcb}95s1^x&5g)F!QM022D%tL+3|Mw)L39LuC~yrtv*I7>1|R08 zlU)iy!8!F69RG@mp;X`;&=&LEPEn~^@PDn;f5IXBc}61 zY5tt_!eSUoXt*~fv688!jvTqP{)ErwbZlN}!m0f8tDbDRss4SW)})?;iqCXy!^XL4 z#MfLhe$j!o>L2OTdvu>N>AgwPuC7_3gZ5_z#U-_t*p`*u_YT-P?adywT21L#b4Oho)^|nllyFVzgayanAX1qkbX2f_YeKU>=?fSbpgAfpgBNKQV2FZhm|6 zjFOZnfC`LW?dQV?#HI&|id=ekl{ku(Nckyun8^U?dk@iFKt!da%iBBn8Tj7fplQBW+}FE7&= zG;GI&q9WFVRZ%;zuhcK8pN=)WcmYIRwa zJ%es)L~)SHWpd&nTvba(p=av*CRrURV6AFN(kaEmBmpHflNKu{+g5*XJ&H_v$PDk@=2Gfoh*)go(S z!e)n2%$CA#{s_CdLv5uYI3AJ9iwaAkINXV_OB9DQx|F>9c^nS=5ny1P*e#P)N83ZP z#a%=OJ4CD|QERP@T3D0W;cssD=+$rR4`2WA(~v=VPp3>_{7ExuxNB>!f31F`TeT8+~qinc~Bf&fqGKu_3n} zHaBwr)6|NYf3q9kvTF}jE9;W;_%Y#vkiH2jM&D#Pi|w~oMF!6Q-1QPlTkSe5VSbv( zKJRL++Idv=qJ=$<&{>!yUq$7CS%M$@*?oC!X_#Twr1UcW)+lR|HO-n~we%s{^0Ahx zS}>mhE`b(?2XIma0x%AU38`IWqsk_gO)HyGHnZ%QvQWDa`wW2E6_6ATUS%r$Q7Jhr zP7)4pSf88Q_T`ps)pbY5&#~n8&z?T8cEg6XFP;>{;_dPW>UHaKXu4sbI_Pc=ZESv} zW6QK!X>Umrhh2XvO<%>)4lyeqe7EH(?aDwWJd%i9Z3t$ z2+jJTyg?1kLm?2tG2@38at{5glUsSJWwx~P*g{Ue+Gh0+!S*1d?CHY5ISmw3O zYEi3F`8K0k)U0&pDpq&8{Hwgox>~S;LVEETSODhKwN!6iOU3;$2N4S;qWP=_t;1Z) zVI#szXNP<^8(bW=C|i;Zz5t{O`rs`-d})&{afw7YD9o_^bryGZ=gww|xI( zAeR1gH zQZ-IslX`#rj`A@JJ^sEet?pdgtIJ=m%j93*c;m^$nU?Shjk0>QNo{Ovpq-Lmv2vF& z+6ZCQ|M6%o8Ul(|Dcw8GC&MSxXN(W_oSz{a8b1Q0r1@p|W%`Zr!=Zs+3b5aRB(hY3 zOJ{@EbHfZzVe>_hYg1e8RDQb5lfum+HS1<|!vq7m7_c)O%D86VZP%S)J zkni>9|8G1-TaEw3W8mTq1ThBwo5#>eHSn0hNA}OLICK{C*-33@uZa(BUf_S_-6xcj z6!;%MXKA(!+rRlAJPsQF!vj7ljeRKoWeIqY8&X<9QiE?~CEz7odF~ z7vXpx@9)qK?|I*H4Br)NyeHR>=(~d5_pF0^YTp%S{4P#8`geK8F9Iil@t4!?$K5yd zU9j#UImmHOvuGi%5_i*V#Y)CId(?S41tbwi0IiUKjy@HDmh?4b6mcVrzSaZQB*+Nd zVMbsdgoPmy2peV<5GxR=SO>?y@f08tAOo0Qby6+yVd|B~N7S!&u^lY>=u=iZ%oVzO z^?^^X9C&SOD7*E$`XrAvztZp;Yn`V$f8Vr5{pDWm+v-oNHWD?{aTFrAalIJT3xPrlVu#a|09|%{``CL9rfE9@htKrPBqzD zVceDoq1qlARt@4ouk4}|4`22FBP}`zTC^wwH;S55F#pB4t?Z+-tg#|F)RUhU9Qx{? zziwF^xoZB|x}T~i6iNQ+=`XD8{e(Z5FUW&a!FW(XATq3488WQ&*f@9o>eQe+Wr)=p zgWvGRnAQ_@uuKaYgjNqgM-n|yU@0ioGJdc6MV_L5k;C3(Rq_;;@Rt1atAqQ$9dcy! zo-cgF{LfU!v16?LxtbSPyOT%N_df~xiN&g4{#I%2UyGRcEp6nIg+?BXs6HysXi#bg3Rpj7M}=o^g{ywEXPgQ!L{*zIyLX^;*+L@2IzO z#C@zX8^#jfVwgbAH$&bXbLgh{$$9m|0Vmh}?RS*5yYONm>va66diXQcdl(362B_}EB{&uOG!8b#UE1uPQ{5`oi;}XYUo50=MOS;d z8scl^fTr;_#L!JJKmE&%%b|$jJWm1H3ZyZ>Uu%d2DZqN+RV6Ht-b0XV)HroJ{wO*^ z3LlvaEJm(Y+>bqNQ7^0K&>7BYHx{1%quXdTSA2OVJC-&uy;aYt{U&@c{OGoxJJHRZ z#_O-{mWp5*loNV;V*c)~SllSUdYH_4S>Qe(i!c2m1rf~2m}d%?d6>Z?S1!zLcjF+3 z0Iti8&e+6ME?WR0L5zQg>zFh}-TwBMtJNaMna}ENKe(qL=V&X$_*bcOA|5$*I~NQ+ z(*3x`gW zG#vuntTYmiVq-kh2u>0sZ?xEW^+Nzz42&Lu8}86AUyjlV-GLhkHG6}wisXm%tRg}o zi+f5hxVBUuyy(*1g@3>K)4Qz~e7NfEl~X$piDZ+cuq$d#Em2e-{j|wBZ;~?bopp=f zNNIr4H^piO@H3FWbwwIB7k{+v26{&c0{1?Wy@#?U0j?uXv5~8mbWyfG`N)C>qg;C` z6dzf?5`4kW(8Jzi1^vrH^ET*)*bcdcmP=T?cTGOT~|q$SlV zRRIAJa{f4`lwM2E4-Qf)}Q$y{>sL$`4J}fsr z=klW&w-*1!f?rde%8ms|GcP+jEtx%P@zPh%e$wV%$nMxJh8JO+TqAfo$d2Uh7-b zEgSz*_C@v4*#Q}WpZF@w0===Gx?3(UuV7ZOZ52;%G@bu)opw0*Osu>d?`SW3-l20C z{*G!m%k%g<+C36fxjaK zafR;kE_}yeKuL`nJ?&+nTNfUK46vG(qY^C9C!Tk4(k8_q#Qm-wppyFhyE?-!?*1+h zUFdrCFnm|6r2yZBf@Hc5?r9|+iPq-$cFzOWwuqt(EJGRspH6 z|9%cDSzzMGH5IVk7l;wO}RlJ;Op-qm`<2-+O1y9;^25 z#nX9M^ZMA?KcL5(H8x$%p@He+FMXy zq6Vm?J(gQI&zu|;c*U8ee0txxY{r&mEjLeJDh57KFRh$z6w36})k?fDixR9AYcb~)f#kqolaY2AOYH|WV&m2& z-$=1Z&*|2mnQ6djI zxJ9DT?h_zSJGC#+(X$$h4j;lG|^51FiEJ0Cad zuLQ;=f)yi7%cJJ0)QiWOG4|rT1H+x42aY^G>%v6miW%!#v{*B9g_y9@wS0>B!V_WA ztIJ(m+4fU&*^QYWlT^!4Uy;MG(vhfZy-11D`ars+8V%Akd>*FK=fas9g|6vsdU+GY zDib(|v}l9rtONvc$WEyC$8eL_bHL(@H<}{u8KwdwP6y7d7N+pY8s|Fd;=&VI0hiUM z_qx9Sa>~5bE9VbCH2c%>&Q(*_w`jgD8?)Z^bj70a#pNHW50k1p+HTt#I%RqB_MIo^ zvYRtL#@yS2%DQ6i{@}pP6`5N%7>$QZnC8x>i{ogV7Y*G|Q4cDuCb+4>42COEXJC$J zh_$wzcYDJxEPD3cO~0t$7p*T|yYZj(V&YEMGWBAy-}d4atfuO{tDxZBou@yc^Q-og zoAF3@BqH7Aw0>sgNDOOSnbVQJ5uBOnPxuz;yQ16Jiq(&&^_StlxO1~~!D$i(-5q>R z)5a;X7)D3g-CL2`sMe92jX66vcck-X*^$RSzUTATYuRg>HD5b*tr)n&wREB?SZ0EGz#*;*Qgk*@Fq6 z&`IeGYAJ(xP^5mg;-%@o@Db=T#S~H2RbD01iyLK;NqHwCFGV7bmKixF60oNzB=8{k zwki^!+ZO@KEc^N|S0n%Z zE4r?!SwHQ=eM7PXSmA_VR{2rPj>pT?2ajef+@2J@w^luA=Zfrzu_)RibObk$F~@Sy zaTh7EnvM$;u&(2CIiZu9DPYVMetoYzh)RpZBZN@(4T4qi52RO>5bcjZOBx(LkkYxa zr8B1^r6Df<#SBElZg%`N|HBc1h3b>L-43UwOq#!P-ta>o{ZTY`!p5e})=i!xCb(Et zaDsp$RedqWk+xx7>|~bo@U5c@+2z^qLL2IZ4OT4gLK26(Ls*_ZCHG|NCQ<=hu@AgQ%xB2+?R=?H1 zI_I4Fp!L=h6T7>bH|ZT#uS(j>O;VH70&^C2UDQ6ddDet!TXxM@GqTqGfs4M{b*XKi z{OU}uQKMB_YccW#eG_F>kdT2^miXHH!_z8_nxuz!VN#`*p9nk8-`He6C1&)H= z%P_@kDaiH-Och5xp$fG#XF8vV+uN$+PKjO#YZF+J+N~|Nq2w{_6#>F2gK=&nra|_8^Ran6e<(iKnc?4fI@m9D5!^Q zFZ{O0pbLRzliJ)@j3{>bsPpEl#pv5R#r3cZJ5`*{LW7yAo;nHFEh5Jss}CNdNHNYA zMS8AaZj{%Lc(mrZML1FS+;S4q>B$2`5jE2ooss;tN9b5;aHf$}Y_OzpWYC*R^PeGq z((bO4lsMVB{)X$}jcrcn<`EMn4@CLx!kk0r*^g3?x-PS8C*X)FXYJ&RW})SBKsqt%|`FDkRG zO$RL6BsPp!hc?MvvQB!sY7`P^5bW0LR>K1!~i4WqC|D(sH=^sc(dL8bkwUkp7VQMLQ zqgK#GShIn!PQ?Bt3zYy3;|E`v)lGSNFpD2}o#Uc~19xgm$W)P#%#?-# zqskb%MA2m@z2+~W=74Arv4BrtVg@bM0Yl3G`6GL=0`>ulHf6-uk|AozA7h7J1VW@% zPk5vpKh6$)%&P8rQ@wOL?dRPWu6%;&Qc->wb&7Pt;ET zAIy-IT*V%S!YT?ECIh`q;!i+_Exu#_R`xi7;RJc$j7cH1TXYHc=bnUc0Psrp4VlaY zdL>@&TdF5uD+vz+;G|tUI%qX-$Jx=0Q2h)gi{pNsa)kA?IQ#cq)5@8j@BCFhqq>%= zlUy%}$Hw-VSNv2yle20S&Q5jA!NKXUy}`Yy+vfV&hos?g12AO65Mll~{E1}AqhP4X z3iI22tT{#ToZMvT{Yy_j|6FY(&sXbTl7fo=l!9_tFU0H`qa5+yXUTT>F7jxQBhuAU`XQkj}|XYRJqSU z6)l!7{z#-rKX1yM<#}nn*`>`)GDX7}c<=3vk14B=vTYR7^Uig#bHth?wjTl-*TU}O z)1Gg9mBjXGXVk(z)5l(Hd@cI0qD+o|x2T0<`Z!re42mtZCHNGZhSagHe(mP^_-~6V zMHa2Rq}e2-1_yntl^Tm3>z%~)q7CJ@Br@%az*@>X5d+hVS>k)=Fy(Wx!BJ@gDDR?W zW|WHop3GE>BW31Ep)Pigc;Xn?>23`*_CTNZeB;SuU^l6SUEjyfGX4s-D-WNOW+CiG zj;K1{!S7p&bNonZ+j%ufT{(~BJm6A)o4|j63U-chP7+&nIV5&aV>>^9eQ%oNT+^QK z^hsj-wClOp`CvbuCOOyGSDr0@NqbX`tK_%+zrfBBTa(zT10k_bu7xdaS<{|xY)fMMv`?*tExFa$i;WQ6 zx}(lM?Ne%DORLt{St0;!SBpOFj-eIZl@^Wr>G6K4>dBM%l+PZQUFVm z#0s$SD<19HtQL-}ou)Y7Sa}SJo}4vB$*;!FqIN#N{{35pR>%{7(Onw;QmptLp!k&@ z;Kvw$QA9(Rm#f(wemH1AeYmcju^jJnWv6Lkds{A>tg4K z!CG!CWb`~l<4CzlipXtPZE z`HgCA=xDA?OPL^KRk2#rp2x7cO!3*#lrs6BcR~v}6hu-gPL(^-+(QNAUNto;!;5vI z*=gYT3(r5Z+wm7%d&Bfsrq%p7BZ2qdB$jLntoUPW-|NpB*7CVCCtvgIP2z&Y^1zBC zQ%p_~FpaAdjBt;^0a=N8-au`SLnf%Cf zR!21jbk5lwdi9e1QN6XCp%Vs{*xOY{O!Aa{Y~$W>wAj z;r>;nR+rP0!kaPj!S;_n@#J-BCk&tU`BTe3JO8ptmkz$_jVtq)CtAHU{y1Nh&xm>> z&i(QFD@I(3C6gK16=@e?OJuUdr5sTpE|S*CdKfR-6FsbIyjeA&YA-k*Y~#Cl)Lzp7m2@!%RKCq97y*=6y?AUmvWl1 zh&kZ;9=1>WG}rIya=pO#r(b)o{i@6B0@^xVcP|5!nR$`QZ+WUD@>yWqO2!Hf@uhV# zz6P!dnnp)sq{I=Q+rmD===F+rblT8^%I<>|@QrMtk!?IGhIoAY`MTG0&~2)WD7sC} z&QuYF7P_5#Kiyk6)u*@6_#&Be`}DjXmZm2oil(=4x~~tvjZUrYsI(J(%8SHgG2$pr zo4b5y%2FSaveZYXq&|GwsuiLSKQ}SX9!0D=(ReKHxRkwJwPKXg;xWD1i(YxHbvSC> zJ#|;2T;r26n7o2b6g;A$L5lOTAGh`lx!g!x$0z%^n~SYT%~JD=DM|NxqUL35Wz8t_ z3Uf|k@H*eyX5SE4@neETnaoEe?o#tnry6G%@8unLW>*=rSi9Z9jallM8s1!u7jIQq z_67{{%;VH>CzG`)VK}ez32Mb==k6b!)VX_S=Bn~LZ|KZ9LC<$)uIh%)Q)E$PXNSwm zw#jiBIf!s_GC1X(s;O`|Qmx6|(|C|b?chzU&~x!kkJD3Gebm81?5nl@xZv)jM8WO%_PI?MEp!dY{^} z8^_#QBSr5bu!&NGeXsEI%TDgSHRZE>$_tJC$Dr)-p(qEWziG+~ryWhXb1lj;{%M{U ziFcCm&*$0WLsORiCMipQ>zMR6pKGt5l2ud1*sUDLfHtQ9e=c?>oB_P+sT-ArNm+X15h_DYyB=(MVM_8X#dVS*TX)>Prt?>v z-VsCf;}lsMp#XIp_7%Yzfara_6M*p z3GDP~FLbUrM*qXbHd-dG6bk|?G;LamcVa=bVkE|i7Xm*~IvQq6?M#$&sN=xul(DTx>Q}~sz&prmfdJCSGt*Zs9LhpO={Wc?CkI)s3MvSZ=S!-O$-aPQnl>vTHn0HcEw9~ zySK_W=mIFK?3(zFa@nSJRHFqP?g8~2qf3$(e~i)X!x?js_)Tdq!uePiyR~@H<3(AM z+(+&94{3QU8@YfDZFSGP5^r+P%M+G(Q1Jp4S#C5@<%*Yp92r!+h|kRi_A;Z1PCnH< z402H|`!nznQ7ymX10Q>qmfyuxEg*dOIY0^z`0l!z&F~;8R4_WPYJzSSiHS8IYI!j7 zB}ZuW$XAZ2NXkP|mb&pYuRKuIMD|f-rpMLwX>YV=ZjB@Nsc4Ey3ZXHz=5<5&A|d;B{?`M%g`Li_$)aH8Vj<#`@8)*XR+)@2Q3$a`#3k+HJ+^0 z!bVS4YD7=-#P+p7QVOjbv~}p!tVtL*;$ZIV*GEjJtY0 z?+cOT9L0Sfm;2{56_!1E{o{-1fvi)uJKn`%C8neUj@KS(I+7brXTI?~bX=YIV~@2d zN?Vi^Y1`Smnu;sqlutP^#Ga#CNhsrgvjj00JzbROYpqjqfrcs{=KM);-+h2SSmiXdYXgE!A}e^7bo$JSw={=1X$S$rETbAK?{uB zq5h92jUW3E>zEiJyp zA9GcHBemr9G!$hO5j5p&<9#9mGGa8_YjHF^*>BSHvM;nft*aVHdY)ZsPGv;U^cEUr z$@=>C-!{q^ z7iNx%QL`kLrX{0`rnN-PZMf0Jmnbtm@=>X10IGJkfQ&Ah>JsChaH^?-rIy7D@`0!9 zFUb>5V%1BVlxNhcWusC>a$H3{mdqPUQRnEk;?M?Lo%Xh}eoDuRb4gQHmdHt8b`1#1(7eog}fqLea4d`-JA3Zj7`Eb#w z!YVw{^QG6t+15AoBWE%?^eZdsPhxF+>lE(&!7<6bS`y=NUu&VfYQN=JS0JShEV1RN zQHDHNCX=$hmmwmx=-}i!71857vMvmJaj{C19ix{5cYM9#0y9qM!9_anS4hOlQ9sFvV*7yHCyEqy=pur=-G@S6K_~X?v2!HZl&BLMOr_Si&_}YAwu%_ zwDZ7VydACOm|uwVynFgl)f@L7N%sDj((!B;`);fqip*&Zax}**n&#BSJ)yUZN|2BQr z$g<8w@-K*a>>ldaa}{U8{Yw69zs5evrA@|h>(P`wU)H$Tt>PnSEWZ6Dsb%sxZ@q)U2<-Ja%`#r%-fq~fimgH0R<{QZ;&6_3HE_RkP7;INNK6Y}xky_ff2C)yZL-D=Xc#^gb3rSh? zAkWE~qPX3z>t_6vmTPQTGfA78UGC%hl)d&%;VQm0A6d-4`MUD4lXHaubk$q&y-D$%Bf2Iz zQ7x_H#9QN_{hHZw*YmS)lIPp1Y|HoR+VRJBab?c=dXln_t-OfQ=lYDT%M-ZdJm9or z%mdb1$?T1!s~i6h=K+}nR68f?P68VLY7(%MJim)cKr>(b)H|6S&AUpU<(0`XUh)tx zKSg?JLIrEHYffVjMn)p+VW^a=j6|yCx|!N*i%qraq0$Q#4tkyF>(#fgLx5mV|~<1W12uZfTAwH}(Ttck>x<3(+fHSw{PJ(E4mAXk_x19@NLV-_GTq7 zWBg#GY-1(1>d9xR9=nYCw<-S0G=JD!YIZ7><+g*)i?k?{RSTh8w#80M-9n^{jxPh} zYPsgYZFRDpCOo5{ZX4x|cYg`?(4efbrnt}9dSN ziAR(iB#of4=&&yZpMn?NI-rd{s#27GDDCW)h+Nsp%ij_)yL-R%MrjA~B#lZ%eXC1-h^Eds zpqE!@97#pu5cALTWu!)Jq?dT3fCCdltV-o+;Hqqv83*)Lm&Sst6elSok{xQCWKTlX z;WRZ;u6h`%4yuP?EI8l4yRRWHrguo3pGt!fxPFG5=h4}S%$;;LvUvPSo>%&ri)Z&b z8t*h@bFEkp76kUB)qL<9iWAVXHW+u@~Wmex&vL zS6=q3X-lppHhwqK=i0~hYS>in3JA*4(Kv7N$W$Wy;H%S3}sjTJR~awIq!$TNOv`|sv9Hd zL0LC+FXvU>R-ZfipIM#4_tcW_)d-OKJka}I&1VMXj5y!FEo-U1rUv=lS^j5LWaTwW+5O|+PzE`bcgVXRl~}7@7vs(x`KESEu{1r4z514CdrmE>PAvH5oKammcRs!M z>(`w4z;C~a`<9%SJ=8qUzVNo`iG)~R(>XElPxXZLO_M;{M}0Y{&afJZ2XX_SH^Xjz zMAk0_{^omAmNNx!a$}Y6P0d4U92}`A$p`X%$!FbJ8aWu?N;5sxI-c&Hw>96wh1BidKsmm7prjt|H?Md8ZlnbqEddv?bTa@RSBZgK$6sd_zW^A@%| zjYl5A=$$`iJ^MuBt=qm8C+*3NJ$dB$$M1V;uDERdjfr0>=O=!Bx#peM9(!EOyz#cI zA@_g3qAYvE15+Q)x?$`clOFy{_9t6%)<1RMlXsxiI??REjwY-mvC335VkHUm-XNy; zke^K*Ezu3@iR5Yqq9eM=VO^m=58$uv@VvVp-o0I|zR|hxLSt)EGb&4xn(?xl{}kEb z#qOhcL(lN0>_mOmkzVrFSlx}ePlLuVn}OsJJfIxp?hD-MB6#(OiB1 ziGTOhI1j$sZ5G6`BzJY=ew{dPsP*A0Y7JNTY7M6Pe1ZBro7y%FY(>(v&$2egt9X;! z?^Csr(aEb#-54lOI_aUPU8Z6l-^*Pm#Jth9c04L2cwtUa#p+YX1~@rcM!CFZ8Tv^n zbq;Szp8Rv1d}=L0P9OZk$*eqP@|t_>J@$-sIlFnNSiQ2%xh;nBp&=A>*7ft z-Xb~*>x5rLmy*9-ch9m9I;~hP<)&t_RJ6WM$>AiTce(m}ZBkBZ4*+ta#rU^7RgA~^ z_2@tqQY7b)_G+w2N>RlIS$VH-spjvM)W)lO-Oq32TCSj6Z$*rieewTd$B8;q>~Zz` zixs`+(dneX0l3+(xe>#h1D;NOZanYNyB*|gHIksF3okr+KF{-=9%>d+`sKNb@-VYr z(l1pnQQE#YR!`o?ETr6{b&bYmUfZXwu%%Qy?7FmbI8W90`F}CPnWUX#)=$#*+aa%x znzo#W)O=@&P0)5*EuZgXtED(s+Si?V_yzF@wPl!Y4Ekv8J}no*$OEM+5?xY%#O0e2w3^F|w* zChn5ER*)B5!QEfPy=ryJ)rq_1z7NWW>vHx0%6=Lg{C7KViRW^ku8!x!#D&L*=iZpS zil2&K85jQ3{y808Wn9qFb(pa>85jKM>d_vCzg(+g|7S{)V-lwX9#Aod%tgAAksZ6_S?DRydBH(EEc;}U?cdgHNLgSDfRHxGIHsE$<-iZ5*O8*Nc2`K z*^u*fw$6NSNnBL_T5=h+9!{1As26g+Akp7`Fz^+%`&r80yhOa@yhZuw#JSd5do<;h zZh1dvA?3HQPd;U*H2B5NJCu(}3{2gtNcn}Tylx++ec}f2Up4pY6#Kv~(tN{VV7fjt(fYOQMTITdPM+?xGw?H0L&bLQIx zf5slKRFt!fH6p{aN7WmUks-N*`6{xB-|R7PHcxS?J_icnjL(8L`F2t3*V3Akzt+|u z_l|38$TE+|uicpMTLUX6JLg9}@g@Bv{sqoH`@yu9;A8z*K$h_~ ztNiP>DaoC^qp8hW)u!MTl6x9!7yC4Jo}DJCv#+oauY>V$6=l`$(Uh}9id=lkL=pLT0IX5dmU7WCEX#O4DHlJ6 zCGk~8niaa-bI9-2 z{hP7&&y}>FMw)BI7?%zo{ZAE?#X1+yBH!{LuLxSFCwjd`%_G_(#(6{dOWbE3GNY_@OEO`~9w(dZtf(2@mY{{mQ4#n#88MPLlc| zwZ>3VPcxPnZ_z5a67%z&BtC799aHvMq9x3O*?jtHhDA#FgwTppH2oXMy?3b*hTpY> zZ}q)anCG-;?-KY%<@2EHSN@K zlZ}=-PxN}!E7R*A)C2Z#3RQcv9R1g=irMFas3#wP>15Z?ie9>&LY4$bN ziZeX=%8$^RqA!p5K@!gEc*f!2ET4Ygiw_-(eoswb%VCF4zaOW>H1qI1`t&6{tCQT1 z56WFjQYJyO-{>74w$J?;zTau;#Xj}^a3ApSJ?XI4%R383OI*fVO}+oc8$Ik)>Sw#W zOP#CrmBXKb(*WaF-~)Z8Z}pE>KW#KBt7r`!J2rF72!h|)R#ic-CSzHA4m(|C@_6VGh) zBs$<8wGR1cp6bciiyX1xvFxkM^yHpu11D;^>w1>@G{^oa=wbVkJJUaTLwTl`(V-=k z(bd&b%3bsxW2Ggv`$K9;{^}v+gU8m>nXaDZCg#h%t#C$;g+70PLD;tu6HCtIWO;c1z@P7IYEPA|@z=g~bA83lCDWSK3WSO(5fJAvh{I-T1sHs%oZ zG@X_%Z+e&RA(sy84Tq{#rBLzqK*$UtBkfa<3bEud(b@BLm2XI2&mfj~=c-GZ->Fz4 zc?+6-2KceWZw1-&qDS5xX4mMyeeBck%U+V69(^@)>d|+fo#Z?R{e~)*X!?E6^J7UW zeK*sS(tIgxk59iJ>z!MBmf_K7?m(SJCba_fi&QMp)cXzbV~J0lh%b+P_jR@1r`{j# z8y$;!3yrV!CS!@F-v2y5miW|>joY3m%Sn^o)J55wI{8Ujsk9(3F8Fouat38rDwc2$ z8B2!fSb}wVzwz(o?Q5dPV;+|#ZH_TUX>-;++U8g_V!O7&??p}U0dSsmaV8=G>?s9j zE>EfWi?Vg-NSn6qQ8U~3B<82=V3g(8Dj&EdF*ndo?XV$#l=y+RI?qeIWDiijL7u35 zW1f@XZaUwTEhPAo&p;cZf;)og=X=R@i}LIh=_OE6o|LP-gb3-aERYl@sJ2p3#J-DZ zE9+*EtVVQm1KGxJSJo|QV%_6>>sIkXW+2Qiby*F55{>y+6GB?PMzT6v+$-O54`d`;Yf+JC(ZYIZE@YorJm}+euE(LPyF1j?$<% zk26Nvg|cn#A#M8#sn_K;*5Uoezn3?MbR{}is&*IWDl5ogJg}FC?d!mccTz@Qs4<_{ zTTuX4-X{mSU) z%QP7Qz*jz9rE_FvfW2`>y?;u|g5N5f7q#Ehf_gaYo(c|7`!8O1^}Hpy|H9wwLYZ(pI{Vv^`EV z?Qh{k^Svz4T8#8K@%irLT7{w=yxZq{nf-clcEIP`vrkRCuTOh1J~{L#+FmU+-!kKp zGQldY-sj=^lszB3Kk;->`z>56t2jYvA1wzu+b?SxO8fK(iSucRckE(i6$4!De`7SE zyip>B!Xu znvTqw)R}_dcq~)z16i&!T7ko9g?HqTF;gqLJ0iGBh*V7w$lLm4|ycr9LlZTb$nYxrDgM(vvUY9<3nR)W&DXWb+y*1@&Q>+O) z^>`j-EoZ~ic;c!$mARM2$-wd$_D<$qyTs{l#qLW~RMu=ND5%-BOLTeY`DgC4&tE%v z-Qz$0X4>a3&Cjp-HqrFyX_Fr^|NmAS;V`x*ZNX^FSs`k=NacevCP{s$X&b4J#`V;R zxs7Y-L!Ow+G5Aa>@uY*4M^8za>l3im0rI`fXAd1&w#<67=Eg(jf|?2Df~DrIKPDz| zQZB1{rNz~`yNq%FkM1s?tg8;|J)T3~%?A^|9eDd~^Si|9qMrCiqPzIVQjx#*Fb?bN zrbjc3+BcWa%a*sSRr^||>4`$2sh}q1lCI^FUh9ydJo>ZJdU?E_onn}2>a=j4RKkP) znyLrzB?Tpq372Q~ij##n*&P4=ksp6N^3zXGi}ywEL?g3(VxyT|^MXBS>9^l5tuiOp zoL^HP?ms|x7Z6)&bMMXjDemivvJUr66rV?N-^AlS>3b{wGxt1qPI4~}O*s&W99X;d zb_Vd;Bo>J06JfD6(aHW|=^Jk>ttk=n6UWtjjP!M+M*8W-_`C)g@}|d7f& z7n^xU5^&|tHo?`zqq*|r>5usNTzQ94srd{{LrGetM0{8oOmdmmprKyMx>2zha9u_8 zlIyp6SvQ8N)-OtYakwgaIPv!nMdC*B)>7-m8euv|robJ&Ke?WdbJr(oVbzk4+J9Zw zc@-yWm`PgfaSfHud3-`@WVLlE&vNE0s`@;LQhk;J)S|rQgesdqGqr8%2M<0ngeEfjqED2>p-otsKd1~#Fj)C zF*Wg=*s@f7mUvT4Oq?&Q%Y3n*VQxms?_lS8{V54=G zF+zO!xN*xZgXM3T(Y6PxHJi*u@mc1~$E(kJ=HhI=zYKg{?2)#nq`=co95 zQQ&W6B(0mv@8xsBdNU8pbLZ6O>zqGWyCXlhRrus;?)S~r_gQ?7tMmNMK=?94{ZgN3 z$144k-3&;d?j+YDT;$>mqF(ginSb{(MmgS-dbZ3kF-rKW8~m{bZ#3F#_4Uava)$h` zP;`48{+d5;y|Er=Jem8eF+JwAXNq24Z&##+o;p~wxFNq z_MZJwJw|rjQ;->TXDq2R^zj&lpP8Hu@_BC@;_OOAUm&xFiasMH65py$()Y(m812#h z?F1Q^*-p`CbVK5sdz1A2)eeCW&Lrt4Xz9!bfin1c*2OPoM%LwD;Y$bb@!io4DIfa8 zivQ=5@=5J+yQ2#&;D3PPpWd*-Z;<5Q@0rn~m(L|do;{Jzjx?88?1PAM!Ibx^!RSX}hQD%a3r&e^9*+iC?7f zS>>T1jQB=HDH=17EFn z>}Z_j)~nc+`uyN5HFif#l=TX1)%8le&Rnk45_YJ{JFBrlB?pB+PM6!yDttZuv=e;g z4Q6jOlU zUscK>5Tfqmdy4GulmR=>%*r(iV2R@*8aK}FeQrK)2KY*nszSHD!{<5hVNY+#SV zKiAc1Se2g)ogWqcHE#LEs(dW6eMaFAbm^~F<>R1VpzyDE%WszDi8hS8Obl$nuY2Lb zY2t2~L?YYz=$esZcDiC4@biH)L!Kb#&`w+X11B5ofX!6piHV6_l=lJuoj@C-qbPIB z?@s(oxs>Q%CBE40mQPdoFS7@6R-hf_+Z$*)g_3@v96D1~`6d_t6m{QsD1T0sSGo8* zWVz;(9dAL&C!c44*Fb&72lQvT2bb@OM0_3s|5fs{+>ztr%iWDZQKmjW4!<+iXL>QU zzGoCbe-1pazTfG6RyzuVg4F?hulDk>?=2{I{<*(DQ{jiy=ML~E&&deNb29ioz~|oT z^CtEAcs^gKK5v$voq4nn|IPUYir)Wt?-SCpK9<<--sgXNri0q?`>NV0wO4sSjyRQ_ zQaUDjt8vx-K2`s%sy=n(`Cr$Ey{gtkB@fzqSDv>i9`t&K)LoEX>^_NBvY*_2X$s|q z3-9%JU8xlka)X?=23Og+r2lX1=T&uo>a6cy%bujYO;$TSS;;_#u+aGY7`w;3S!l42 zvYu4yJC^m_r0!nn-Q7;LCW$Z43<=6z_;6R(x@uVyJ%;lV{j7*RkG*$)$?K$^XQn2q zWp~TlZL9h<>bzXp-D21$^?AF&2I{Hxola2WNS(Up-Oz~xXa;p+oNa@AapX$|WgkuH z^k65>#{IBUekXZcu0+e{CG`N@ye1tw$u6-vF+H!XrpXz(wH^a5{G+^Cr_Q59)8v>_ zFpZ%Ip7z>HJqGRUPV`86o2A)zTyslR)mQ&KIQhCMlfQVs>Wvju4cE<_zH9F5-&#XQ zj2V$R_pg8X^EGoib$Icb*&nn@3=wNuz5m3^<3}#BR3P2+FM}2=}888{{`Y5`!8@S;-gPae$9} zm%+P_rZjl40Rr3Epc1r?PHNCyV&A|wsm~jePlQZQc6!~exEz?_sa!y>z?oHRYYxf> zja98>rtlW|AT;~g#BrkXNN4IeCNWgn3l@4~t$m}aujo}v<*8oB+p7uVQF%?%lq{v}7R_sCrGo@#>=~6>GTjr6ZMDguJS#KZ;Svku~t>Z_%C%xbduBH0#(6tiQb-&(Qe>Z}Fc=E;=6cD<0;81&?pGf6 zxDyZDh?S_l`m~p&;)pEQPimAooHzeDRaQA0}og{JP~iW~*emiuW2nOAJ%xsvS^tXjf>zhZ)bQ@}`N)Yps}i zM?B)Ln7XRgim7*ukM-*B#I?27R=gtyt9;^8&OAw7Tk(#tRejyFP^d5MG539kHbTYC z#MLTps+LBUvo5qAa!|Ri%1h|MQLg5#dDliT@yJ#FbqDl&!I)-u_q_?Wd@`r}vr@|K zl=lIn8FK;}CrG(RGtFpk-0YUur^o-O`@SKw{!h8@8}Zwh-S>?-qj!n>KAo|O&D>Gg zv>lv2#)dxiUKp*#weEYTbgh3@-w<1%xJ`@RXk{lk5KoYBY%4xN%cYwGQ{-Zs5`&mL!; z)&Be`Q*OO;Qu_-g-`uVJkUQ^eKTdu%t^K%3((UT_Lo^#i@ zNw?(SFJ; z?#;UCd+OJ2H&3~1=xtMPpEmvW36tAHX42H@)22)wb^FbeCQq9*v3<_uiIb+bpMKk< z_CvBK+|0%O=FIjaE@H)HJ4bA9cad;TK;zylc;H zJ+Ol*oc%w`m}=Z^+-lrrOveU#auVQK{I}<62~+sL)wt7`#HS04$=F9X-VLGTPOjtp zUrke=CK=PfoJvkK$(RV{IDUN-Fdb;m&LdfRJ3E)|;+sj(&4J1U@UKw6n#OlixQFDR z8~5*J^kFZJ$4{SH)VkK8mU^Gt;i5fs+jHNkTqi>PE_I(fD4Sy3!fR^Hy4Ctr`?3H)1e`yI0Si508f9a z{hKrS{#df;p)@m{U-rk-yBjmre>dnPX?25#smQcDGEL=U8YQF9-B8vMUd$Sa;jFch z^6gPeo~gRARP->MEO!lUl2`XJb9Wk+XSl&=JEOt|AO;CmgAc%`4?o2U+|jGzc5zwFW6iE6|dj&FW6)K z1Fwbby%okr;~%_k;$N^1e+RE6{0n0b|AIBtzwlaN9Oku#e_=R67=n|diBQbaFuNgI zh}OKe;oKr2+KW?o?I2DwEO9!kW`yX)8U?{Bk>0$X%lxhoL&Pv%&le+ky@(k}AubV@ z@Ol}$4urT)P}fQgbjQZLu&d6Q0d9GmY2!Wt+ zW>>Q-uRY9Oyxw5m%@ zSyS&cTHiW#(j7+YJ10z^Y_v9LXH|SSiDlI^7AB1n57R9QW) z4Y*ea)=dlJ4{W*t*vB*0(~{Bh6QFt`v&e0+Xr4ep@1P59+!^rS74PY;Vq{NZ)Y-;4 zjBEDcOoV=T=ee}L1MmPD-5$o`ALBIj=ZzO>Ggor%<6n)B$RIv3{$_m28l2CKB5Zau z=j0U|TR0VWE7tonJH)nQ!#j;#*l?+_n=^R#7-6iq-1vo6@V&%2qL1i@9S#vg#c*)} z_BV=WNnRyh74yU*u^0{i$-Liu(0s^z*nGr%)O^f*+?;JbVLoX-WzI35HlHz{HJ>w| zH(xMcG+#1bHs_kJn1423HFM3^%umcu&Ckuho2$$MbB(#y{KovwTxb4ht~WQDMdoI+ z*!-ut%?z14%w1-wx!c@hM$BK#3Ui-XY3?_x%xd#D^AGcgnXn8@l|f3Yp4Gr=WTjh8 ztfp3TtA*9dYHhW#+F9+bQ>+fwX;vqzi*<(8)tYTRVLfR*WzDgkww|$`v!1tJuwJxY zvR=04TCZ4twqCVzt=FvAtv9SUt$EgR>jUdUYlXGa%Cr88?S5>1V*Snf)cVZ&-1@@$ zyY;2D3R^C)R$FVVP1aA=7Hcau9JdbGX?A0~nSDR@I~&WaudLEE8VtEtTDi0$aUgAD zW~t8e{0vR-KXu(JEhU7rGsXi z)}!OL%pP4b<^3~XP~6Noz3CYRe2Sg9v}<-Zv)jb(7iN}q4`t5jk=G;C^OHdZy$APx zpwHj?%^6hCcSPUKeG~mI>o;fM*ny>R9qPAYP{Dv!nPr(hGUre)`9DLwSM}57nXUS5 zld{NcH6-iYiRb1GnV6YAWYmyxLnZ>F^na!?WSo?d{vQ;De#(DlyMdeazvfs=&%++D zZD3yNf95v*FJLJcAI(cCNSc{1fbD{hmm>9lTXqaRr0PZ2 zIw^5a^4@h|sg}BwJlsa5RSwF{j3JSxNXV~~lpVZo8&psF5k4sODeczRuJlXkbILD6 zQUZeyp~-H(#b&wIn}y#m#@l795#(PO4QZQ9`ZmodJB>IWP;tH?alSV_q`v$gPjnwd z+c4Z1L91|qaUtUcqxf%cjN$)eW@0a+Cw&F~@(lVbX)&&5rB-L-2L8|F=^%4xH~!3j zH}ai%&|OJO(1VuXGun?Y`0vY((=Ta53dnW(t6V43_?rI#%i)$-|tldyA2vVY`jYCScql8i)qQWS%O~*q9<(k>6yCQ^YC8G|^4; zFs93P#F$A-(#N=$)}){DCt8$qjr(X*h8g#h$6RJSD6XKl`4DZ(mBz#3T5_64#AEEg zew=5fK4m;1{>fPF9I;LOY&EZZbw2dz@bD4}KAVU*H3?J{=LLX{e2v``Ua z53STMMwphW!idmX?K8@0u_}#UXtipLy{2P2#;+uV!uZYN&-k4dE8X~mR;!6|n3k)l zafBADy-`D}b()c&)#^kt*2U@~EUUZKSJ>82>wJ-Jjkd;!X4YlaWuk>O$+}&%wC=K| zh&I+etZP4sHtuQBp0;hC=xDuVy(M~E?^y4MK4f4^L|<#EwN&(zEt}{sTQ-qN%l4TV zNPG6B7*1=pR*ba1vAz`-Ti;thim_IawMkq?+xC;Vg7$5T7*87)5?5L~tuk?~6}H0S zCTp)%A#SGKi;GFt0qd~1#Y$L?$mUsawwTIDMI$l8ZelkP_t;JCR$>;Xr;QK~aTerA z@gC#tYkRgmTYO`` zYQG`AwddLM#Et#AbViy+UlU^XxqFPx~YL zbFtO_yZv{u%g(p+MTxz}{zjDA-`U@Zh`rAKL6qAY>WcQQ?MT1-Y)jp z<#xG<*?aB1qSD@P?-y~q+O8J+@#wzJTB8UkcGil1z;I`+l@2rkngXkxwf0OPADmYB zTywHFxdO9=IDt`x*NhfuyrXpr*ABqb!0W&~U=!s$yU1dO$lA*1y+(5~tqK=2G?=@CIdh(D(@Wg3n*_-FIBS2Y%qYBIp(azd9Ad0vbDmMJukY zopRBR>nT7#qq#Vb>u|0&a-9I&0nARs#2nx`;CZ0JDG>Xd0<#zJpflKf2zVHH1b7s9 z40s%P-PvKj0lW#!1Lgw@fVY5!PKCJ$cpG>JSPU!!-UpTg9{?W$E1bRNN+1vTEAWw1 zZhj1W0{y>1=Tokqas8a@7hJ#OH~GM7;49#3;9CGWm_Go8zy{zSz$V})U<0$oP z^)OK5RN(K;@%HBUdUNY|XRp-~H~}~jXbYSKoa&TYJ)HszIap@{=K#HdK0se!G;lF6 z2AJ&(ww?p#LwgawrOwt8e*Yftm-2oY*F2|(MZK)m-194EhqadSZvgaYeGe}DTSZ*A z0j1#W1}98e1)rl__XAbD|Bdf{=es|+9_H$BT9E)upb?M`Gy$4B<#r3870{N??VQ2( zNzM+tJ=c@Dp2GE1t{u3Z#4?ZWkRu4iyPlWSM5-MDt=+Joy^Tzhiu#r15i z=Wy-AJ>*{AbAbWCAYceE6c`R%1dIm80PNhiv3VPtx5ool0oMT60XF~>fSaAY_9Wm| z;CA2+;4WYaa5r_D2IK%U@wwOF0eiIHf$4=tMPH}=$Mhw|W4B06v7{}aaq|=_Io3AK4$O3R+OxUlb6w+<*=vDsnBn`uNVkiCz4Wo$Qk(VEW*;@#NKMvLll9bO zA2nG|P1eKxMz~)O_v_()J)CcZ^Nnz{5so&((MC904;LHZVjo;=go}-Eu@Npd!o_;H z*a#Qv;bI?L>|@$7$oY+{-_*XOHVL9=zoERwMUpeuwoS0Wm%#(4h zoH$obj4LO;l@s5}iErhMFgGESX(FBgo&=sUnh>ALiBILkr*h&`Iq|8S*iuexDJQm+ z6I;rOE#<_Pa$-w4v89~YQci3sC$^LmTgr(o<;0e9e7+oCF2|3h50_g%8%?YbuoDRL zIST9t9PCd3CXf!a1^NK}fOCNXz#w1)B8w=ph$4$9vWOxJ=Bxp{5m`i$MHE>?kwp|)M3F@lSwxXV6j?-(MHE@^ z1VQR`0xf7MEnX>_ZbeH|N=s8pOH)cqQ%XxyYW@x!25OvAqH`%xxs>QzO2jNBT9y)> zN{LRTM5j`sQz_A@l;~7SbSfnxl@e7-rIk958BLwX#B5*=@Eq_wWzr9#_(2puh~fuP z{2+=SMDc?teh|eEqWD1+KZxQ7QT!l^A4KtkD1H#d52Exgg6y1W2wcq>0M`Lu0*9Px z+VLv!m~#MaAK+A(1L8^GDdzy~WfkpZ6>U`&?M)T!NEK~J6>UhB^)qKMg@Bzv1)r;& zD%yl9+Jq|Fgeqca6*07m7+OVqtRg;E(dX&J>lr{V;2hvl;AJ2e_$#m$AKe5u^?;VZ zi9lQ6B;aIV2#^I=!+{aNNZ-{rcVHDz0C2{cxe=fS=4PN6_zn02 zI6@7&0&@UPl(UeG#c!;AKpgHH0-W1uX8;!hqkxNnvA{UsGT;i}N&xBF*891~sQbx8?My66mmQqHBQbu-C zMrKk*R#HamwTaei6Rp=KTCPoG31#%rn>Zuz;StodkQx?J!$RX*{Hd{1h+mJuuSek5 zBk=1H)Uc2m7E;4PYFJ1O3#nltH7uldh19N)+7(i(LTXeF;kXcv z3*opBjtk+q5RMDsxDbvD;kXcv3*opB4h!i!tff8wjF=uGriX~>A!2&SxWrj)i~}xp zijB*-UQXFnWGz=aCB%vn;(dsCAEK|YotPgYc9aYv?C@<@{oN&Ayy(oCxhf zi1r|4tYfFj58(euzEJ3FHr6{o8&UA%zf8*FS*6K*Cwg^vY`5laL5- zZAEL;+9{!J3DLHM#2J+J1~P$xz=BV`kSJDd=0Pl&cBMB5Xh?FrHL zgv_PRYNB~D(Y%;wUQ9GECYl$UE1d208@AJL*iOG;J8`gtI9Nhk6{4*Q(N=|Mt3tF@ zA=;`CZB>Z2Dr6P{8-RZRn}DByEx-ZpLp{wyz^}mX+~Y7%;}p|B*iQdoJN<+0^bfYv zKiE$HU^_9lgf=c@z2&SX=ig4NQfw`u>^+ zi;iQ_aV&a07F~%&N3hs9))~htLs(@TtBhlXajY(m)y1*8IIZe7TGef|s@rH)x6!I@ z!xH0IVjN41V~KGrF^$Kv8xTpWvwV{vgTE{?^;vA8%E z7suk_SX>;7i(_$dEG~{!Rbo|@SXCufRf$zqVpWw`RS2t!V^Nh@QwVFS#F8qpq&U_S z$9h6oPaLZWVKpJ^XJ;F&{5D$oZCFnn%L!pQaV#f}<%F=DIF=K~a^hG^97_pdDIqK+ zgq83V44@xyE-(NX1PlR&0>go;fNOy3fC<3OP9;`Qi4|001(jGqC00<06;xscA*>*T z6@<`!9L-mv`8b-7qwx?L4>6v}sthvxMrb^O#v^Dvg2p3gJc5=ZXgPw0BTBR1as3|n z)rp|V2wIGw#RyuApv4GUjG)Dcm~Au?bAac7=UMf!(21bI2pWu_!3Y|Rps5I&ilC_o znu?&Q2%3tZsR){ips5I&ilC_onu?&Q2%3tZjR?|@ApHoEk09j;5{@9@2-1xp-3Zc+ zAl(QOjUdqo5{)3y2ojAT(FhWaAkhdCjUdqo5{)3y2ojATsR&YvAf*Ty<~nS7AAO=j zoLZ8g_tu}x{4VTVP*T9_I25RJ3kI|5^o_xl7@)_&Nx6T221ATzLKtKA! zLxEwya9{**J}}B?%s5a!<3Rb01La#|DZ2z12V4qV4O|0U3tR`>1xyB}0MndmYdVkv z%mD6Tbl_p=Jp#x+C1V)Y68KumRrW85a@b(G^*v>>pIO9}*hzo05&g|Z^fwz}o8`>m zH^e@5pR5E>(Z$<-SfJ*@EjP_zL?ZsYfI@wRX zfzPt9dN*{Z0Xcx|x4uQW+jq6UqU>wn2Pfa&z*xdYqcP($`SuR3CBRNz>wrW2)&{-@mz84luC51SWPE1> zoMg4_E@T&v->Hxnwz)a88&O!Cd>$uWup!GSZD71DCrc$9*I7q8- zkSKl-id9gof}-r39VBueRFsRjZUZWSD!{u_bLSwD`5=+`Ad&PSk@O&u^dOP*Ad&MR zoK!Ib6m-_nUam9xlB4%0W6OjSnX8l0!(k<4^A@8x59De2_%O@O9=><^qund}qD z{($Za9JFL#U_7Apk{n=SZySI*ZZylpmn~`Q%^%<(T zRx7Di(q}k`4lC_uXumlQP6WE*OooBI9i*B*7l&aJz^9inPbt`rF?feFdn!TpjAhc>(Sy~ zaSPwy>C8uy>%|n_KZajD4m<%o2|UGoz-!Jja`Gbb@u{v46QChtIO!&#nI|A^5i14x)-g^L#uJ};v#b5BJ$uO@?hEXTZUE(&}so%EwD-` zivW9_Z_(^Bv>HdFaq{0H^4}t~x)+V^MVouk-O)f)=%h2FFG`NR+vawVFak0!rHlLye`yJ&I)n%saUHz?m)&9w-e zVqhCMJ7|}+U#&rl8RJw8_?tiG`RsyZa|Y8(B#)>as!%_ z@u(7QZa|y!(PjbK+<-PWpiLR4q#w@r{ZMN3Qog$!7!O2i|lPl5WN;LT{n%saUH=xN4XmSIZ+<+$MqsjSbaz2`T7frs4Cf`Mq@1n^A zX!2b&xdBZ^(d2wIc>qmrK$9DkkN(K@AHY`des)%(&6Q|#CEDD8HaDQnuhHhaXj8^m z>7z2vR-)AnXmtZxWluBE5|IAchO%tuU9|cxT74I-&R2eUALX<8oXhoN;BP=a->q@J zMyp@5_OY+C3JsQ^!4foBLWGpjv6ARmiC>nW$yI1_6+ZYq+AF~aOVC^inkzwbC1|b$ z&Fw^UC1|b$&6S|J5;RwW=1Pd3`-q&CM9vB{Sc2wC(A+9Cw-e2kpt%w>whG_-1x=Np zsS-3*f~HDT@G+_eB#WXrcs7tU?p3(8MYtWhGKCAu?7X^;Jl` z1c{dr87uLh5+q(ibgU#YRwC&VBwa#8tfYOBk}W~9B}BkVqF*JEuM(-25cMjFc$Ibz zFwke@k$f?dFGljkNIs0@!$>}i4@B^R2tE+O2O_QyM9@YtJ`h72Vb=#_55E{6 z*pEhv(MT~q5J4NoXrmark6`x^*Y5YbcE2C(6r-JD>^_Fw$FTbtc3+N$in03$b|1m+ zBWNg$-It@KV(dPGri#&2F`6nyQ(^2rg55`0VS5@qtWHS&44@Zq4$#-xh4yw4)pi<> z^7&;T7svzmuUtRkTEzFvYq09130mC63dQEEPHf^vxLt-kdFcS3e|L7V)1e9DpXIDK zX(C#3J%O?lxspeUlYojkj8TT#6!ggX|JF&2xSlBKVS?}dKo6oO7Zvi-;0{N7!0oGy{=NKo__VvY| z`;%Mh{4`&Ev(mCt)AKfsmz5C1xdPgUVlRrpjD zHH}l#I5mw^)BV&iPObJ+tAo_)pm7I&li^0WFzb5L@s%+Ck%4byP`faGk*=cKR{UTa z@3#Xx=tt{3j#ax**~iGn0q_suiNE7Z2_g>9+rm#WkV056L+nPdh#1Oy9kur08!~e3 z!8gijFUs(ZbbKR2T*vh$em4=gh4(sgMevJs{2~KC$iNRW@PiEeAOk{~{=J@&oOVcrB=%y6Te%)n`hj3Cd5Y6$do7GQ_pqpjs=X#pBq;O1pv zY;P@^C`1cCA^q=>`~sCF59fM55@l9KWyUwr7h(<$=`N&Q*g(FNPrj5-zLZbCluy2t zk2IGf!3Egl0&H>tHn|)LE=PLHk=$~mw%pB$79g$V+9%@;Jm+cYRjD0X8LalaFtKHOUH?=CG zR&s_$&d!wKX?v(y88!O_TiA`K?V)yZcBTw3+k=mR^jAVG#{00E#r@v=R!^9p}&)#Sg`R*lgCz* z$5xZaR+Gb4lfzb%!&Z~4R+Fn%(>`5-495YN0djpw6xc^L6X&`gr~(cG)c~VI$U8=~ z-iOR%$UJ5oAty~ZG2|XY?lI&YBlnC^i+#vChOA>m?0rP*eaJh8ykp2ahP-3cav!pe zA?p~jjv?z9vW_9^7_yEb>lkv5A?Fx!jv?n5@{J+i7*TT{GLG5za=ni$>u8X33^~Wx ztrDbe4V4V5iB8o-r)r{8HPK1RshVh0O|+?IKVIFrluPO5%J~#;4n@wNc=ILR97!ui z6x!ec|7xD(XTIAG>>*oYHJYf#Q;q{#17`sXnb)X0XR^%s)_fmW4txN72z&|N|HXWX z`8&To4Ad|hfTuDVTft~-g@wm58e73=Yz3pQ6^y=CF#1}-=xc>_HNdJe>so-7WsJU7 zF#1}-=xc=~=UCo>)>1&ut$f2(&acS16*-UM&7q{upEP2`K+d5w;o6q#f0{eF2)xn2 z7~m2BJ=m86bl=1f@0$S7z9qo5UxfL5?WNbcZm2rx5)mJ66a zDPaDjfc5E|v&fZID`>hPW$eGec#Y3r0CMb~9txT-U{0lg8M2>Ru1fTfpW z=>_gQLV=Z>M`+AELSyC;8e6-S7ZkX22?fk`6;lRIJrF9kG zUjtkR$Q4@?xTelQU^{qN0UlP0hZQj2R`7p450RnT6WJT4jil{}(_X~cY1%^djQf*U zj^y)&%sa~-?p?g67fXDP6WinLAUU6iJ`%V9xCo#HAv(wK)fm1S!$)KIsBE=le2rKkwoJRZ^H%Phj<3e>)fhf1Tc+J`k&d6l z@RJyR62nho_(=@=k755Y>_3M6$FTnx_8-IkW7vNT`;TG&G3-Bv{l~EX81^3{ipH?1 z81@t+a>j_9F(PLSdx>EqF>EA;jl{4I*}Cl}YR1rU3?0YNaSR>D&~XeM$Ix*M9mj}_ zG4vQik1=#8Tf^PxEr!lw=q#pYV+zPLh-kne=OLsLQ}VCx{7kk%#6s@<9d_(e>kEOK zIi+F}*~neagXTwg?Z;U2slXEH1pq68$u_WdpbD#K4zvJT0jygk%P1hrC?LxyfSVYZ zMgf^dfpMxkFBFHHgK$ItkBmrWcI1U{gnn2J*P1)aY)xiom+<*|X$`DsOPwo9&JW3% z{kro*It%*`^Ft~_C?-QFCd-oRLW{`|ipda)$qNLFP&+6!=vUzbfMFq(kgIPcTaD-CzEq4z{Y>7V1VT13V5q0Xzvj z>b8X$vh!IHI}*46xCpq^$;Q8Ojqy$^o*OFX!*lVoT>LB-Kg-3>a`CNP z{3(~VFB^Z##h-HVrCj_c7yrq{e{#iYrxm`Fi|^#(JGuByF20jX8F7d_){+al#4(8pZ3l>&Z;8I^yNsaSU|RG$s^K5s)0k0E(z&kQ`(f0qMKnQ@3Bg*U$~>&VRdg zKeyg_mBTsb)~%}ht0?jmMV_L_QxtiMB2Q7|DT+Krk*6r~6y$zz|MlLywTyl`lDDoLaKBMT_9Aq?# zd`8i$Iml=f8I8J+XzNNEO`%saLS4f<%U5vDA?_d9wVJ`5g$Ak2=)Mb@;&NH*&L1;AC7bscj{-1EjW#)OL{C4pQ4eYCA}6E2-@uwXLMKgVYX?+E!BA zN@`n4Z7Zp5CAA%-ww3Sj!*cDFeEHmdO)y=rLvFR_5b#r&V`zsw_va0&D{lr>+4=be z`;GRnD^N9lz0W)V=YAvYC+xXo@+IyJG*oT}RXBJc=J4r}iP3F9t2H)!DjLw+N z)mLzLBAu@6S-LHlrSBr_P|7B|!sY#74%D7t2=V0IVOuZ{cUgJ*f)cJ|=41N_GanNv z-KTt`*eiHM^BF@&~A zr!6Yd7HQOD0QHE_9!l?Kwx^R=5vcaz5JVHtL;9y(5&qIc>X|?;uhc z1Iu>=6{)X$OVEk6)?UF^syDy#4Z$#4dNi{_V}gm)Y%VpML(NvH5AmPPO5Ge{e@xHJ zqX!l;hqowrpIYvqmdmK+*VJ;6eu^Gm7c8R}m(hzWm`!L9yg?58XuI`l0&PA6-k3>? zhWxS^9;rkxETA2h(gv%j+ZcLb5OsT;x(%iuzol*m^&PCw4P@ajKXDEahi?So4|Wv6 zBhSG3nT+6>Rit!%Xp0$?aA`1&-usexGb!l~;=T!-Apo{=M}6mGu4;djDl=J%gTqgdTs09)E${9;6lCrpF(l#~-H0N0a*-@O3&Z zvjx7MNJ&P)*N@UlZ^PFQQ--(U>qp`12jT0+@b$yA-0x_)!L;1h@bwt@ItpJuOe?+v zUrS4lrUfR@_d{vXZPe@@TJ>QBtQ2O8<@3(|Dkucwi zUD8Orn4txWOpqHdG4YDsWBxz?H+b{(VZ-(aWQ6JsGA{`KrJAzK5^L4OXo8%^f7C*fDdG2__-WlY-`yYFyAem?`H^ptm!E zH-c%%S+QIoXS8~7fb(GrgGb=RjNrpUe9_J-Xnb;CmDbzw{K;+3Nk#Dv(z;=;@w`h9 z`Ey*+DM%W&>^@YqcT95?we-(PBMbu4aw1RGJv?{U3zuSq>z0+3 zQgC0)hq2jd40>qx{DKF|%Hz~B8ob1NV+j+?IkDxK@5h9Cq(sou{3-ky+99|xn8iI9-P|&` zja>SZXcCtS?g_@mwGShzh-4Q$SJ;|2M+u_}YxCcavBc*WnO~qsOB<6UJQ1b^AC#W6 zoFGfxb_7#JGK1H67YI$3e=dGjTC8Ac;RCVs1OvW!3~JN_#^~jUQ=Uu9laBWuNy#!Y zKAUm!xxBNa@Ga(LxOL!*nd%@AT?-D8AQ08^*h95F_7MBhxf-ax;4e1xs6%IY)S<@U z4NW5@!5BIZgrT|M5DAiEGxo5o<{ke_t`_WJ`5Fv_Z`i}qN^RiX=0Z+o+fAOVP4gY_ zzqqadXXq#17YbFN+H0pH>MD;k)X^giUG0&EuF--q)Y)SUb@LcQ*L#ei9v)+;r^grq zVF-*N5Qe}Qy2)b<_4XJ;H-j zE|lZZh3@m{LL)r7&`6IibiYRzdH{5x*VJ!4qR>kq3e8uqdE}t?JaW(+j~q15BL~g* z$UzG{a?nE1?Y4qFB=|v#J$}#(0b7CDyt13;8j%{LBY#bn?S;=p*DktS5s{P5wEt|>M@4cUuc`C?Sd<$_6x2M zI7HwIslek38ILPut>6kJdt9ON9#<&M;|gVYT%r0NSEzx<6>8{lg&KKWp)6q@4^h30xhq4^$BXn{u*TI>;pmUu*=r5;h} zQ;#V0nVSou(B~iuEdyytu!O$#SVG@-YQ+qq z;EGjbSIEVLxrD102t;i_oovgM1rpJvyklO*m5I!EApeeBNl5?IAXJL{CwuvK$bS!X zL{BaY3fT>W5gf8AUKgaG3;Oa_cPm#4TA?4M7c{aYuNO3W;Vsrr-sUpkQ@%slrg0gs zDN?+qa9&d+c}-E*>xe8g#COzt3s+tA#5Qcv6g9l20CR{d$!m%_Xo^D4>@ZvyLi^s?&uNwiEouVw0a zEz`hjnF?r`4XUBus5h$G=$c*3w(QosnXBb{HE2OKtL^npZLfDKc)gSE^-d+PcLZVe zArMvt)vO|V=W%5~-yEwdfx!8sih#N~9^b#1s7eLx?0LRRoM0w`N&2#RSyl7MXUXWP z$;z30@XsvT>RpurF6VosGu?1b7YLm*pl6zy(C@R0&zKL)2hbmalvc^iGP6iW@X{)o z*=9Dhpr%zabIn|6!A`4W=9ziWf}p0+g9|CuBC|*(gY~%>dWl&Az0@p)US^g-FE`7f zSC|#hE6qyiPrzMEHfzmV$|+hh)oaP}UQ1?sEt&1LWVY9m+2)`*NXSFx5cXm7FYF)9 zkK}&D9HEX!4QR3Em^lXhllckyxH%3jsBBfdR;}W-Y89_l1xu7~1-(|S=(TF9*Q%*r ztEPIbn(DP`s@JNiUaOvgR;|z1a1Cq&l>+i;L+D1fk;=4ZT6WM1q8oH$%T8Lsb%Sn# z7S2EmH)rkpe0#oXU|XP()4fLK3qLe+x@cs42iZZYwjFHmQVm5f;{x6r;m6vs%7AP7 zgo=P``XmUWe*{HLH1(fwf7(8+YJzh548G6WXUTEA9nX6DU+rHB8MRSx#h$m%Q_~4{ z00#{+xyb9IJ1SFpjT!(MCGQvR>`N-@Q* zV{buqo-ymOH`?q*@dw|>zg1VMw z!7;)8pX@-*vWM+qO7bH+QH?!fkC4t$cBC46%pQX-w1uP@*gz%o^a91&0aB~790o+F z@{X~W1K3qrd7fcsxh$0gUTh`R$W>-1LyD`yp4LX3RZ|tZ8hcwCxonpWU7NkF#?^6k zR5@4I)rGF->Ot3Mud8tlTm$Ha?0Ge=k!u8fCVO9vJIkE~-IzVF#+~iXhHk=MSmVxd z=Rlv!o>=3~bLT-fWpAu;&0I6+=IoI*?tFJXbPLx4x}|Fg-O9CszQA1o-P*NQ5qF`x zkUC!EE`q+;T?~DRy9Bz8YXjZZwS~UaT?&1fyA1krcRBPG?h5F3t{rrH*B+YlF`%z< zS3!4h9iTh8PPA2L*O^x8;<`Y0bzPymxo*(iU3ci~+;z~`yX&EQxE|0w9Zx8CgS!Fx zMt380FURQv?k0B=G+2Y!j1p9;j1sVOK-5cf_pxUq#f<=2FU^hQ`_U9P3WU8hcR$~e zrpOqA-Np~Ohg5wx+KpB_Q&v_$J&%T~s;uynCLun&23B zyB9dKJi^%GB}y{UO{5H97OE{gM_<~=EUEm5xVXB)-nxGhBgJP(% z-Mj8x+^4(g*fZP=Le6wEK>>Wioom;A;JFwu-#z%<8+xdFyYDcDu8i{@wIL4P$BD|cB5nBo$Jlz$H`EAUC~9B!hd zb>c?qBDD}>!=EBMtbfV$%M-sk{^g6p$lRR5rM~~I>+KUQNwo^MwB8xs78eaw&;OI~ z;u7YreHd|zw?xSji=X&9dM}2E9pbge+a?Snc9?4Xe`Zlx#3ignJa36F{^DMj(v>vT zDOtRv@pP?^6LL%}hP08Gc!|Q;p=()o9XSma-meUwi!HyQsZmUo75CraEPicerGbU`QFu$0cIFFpDC1U>a8*6RpduiRUeZri*6Xgl(7ygUe zv6hXwh_p$0WIUAOZ|Px?qPV^k-5dW0S;B~3R>j;K_bRDvLwQR^gNGVDOjAmks_!t* zDObjMDc6K`;{+dBQIl2|4o#*dD^T)uv<2(Gls9%73Nte8Zs|~0ZMm|?4cHxfw5zLb z>Ds+ZUG-kKcD?GVaXq?sg}$LjXMCC04u~61H|Z29OIYFbSQ*L@R(iDba+DTYko$jr zXwmUyhfXYY(BT7ysx{vJ#@m~49-+P;F1~wn#6C1~*nk{$bmU0R3RKuFbUEynIt{y( z&cePxXJfb4wXrYM4M!16H}NfqMNfu&E0QCvD$jO{eyQe1nc7Q=^mK~9CA`oQQZ$H0 zTZt`lCOSZD8F}d2rRTq&peh%G!WD;Q#nF4gpJ4b|E;PuiP2F?nhF zz3G2QpPK%0`nHUWj4m0sXN<}imoXt@TE^kb%9(>Rr({*k8k+TJ)|*+M5mRC(Gy8f} z9o5^-efm?qN`InP>J@sqUZ$7oC3-P4a4pRF%*Hj=+w@kwMQ`Tx!Hvx0t=Hc%r}vFs z#~B4{ndAFXuhFaZ7y5HfTKZn^FeAl+0O7siwSXV=6E=m~JxMkDSX? z$y7E~IGL%M$u`x^8K$PGZEDGU60=DyY)jk9USM0>3++YrVta{gW82zG?Pd0IdxdRh z+cV2_mF-|V+N+|!M=m%YjMwl~{bY#-a#-fH{V z+wASOzrDi_aDg3Y2id{)PCLZjW$(84*rCi$-D`*29DAP~VMp3g_Wp>mzp)S42br<@ z5BrcEZ6CIe*x%Vl?HK!*{k{EzeVhS~ym>BnE8I%nJy*F;dH4L>ec@KSHSSB^K-apj z-8%OTZ=v70^=^aP=r*~{Zj0OMwz=&(;JtJQZ>783Znwwnb^F|Y-cAp4LewGNPY*|I z#6=>Ja_(R5h&$?jGBwBKiMoxj$Lzze2u6%0uZ6b-+$9%?Ct|(T9fsU9jclT!2vih)&bt~&vk8_6L6PzIU zr23O)qnK2o#Q9M-Hp=KP%bY5_Z57pcW+2|HewspV<~=jiO@B*5M5 zH{Qz$I{VcDzNGp=9a4Oq%!<{I>InKqPSQCp>)X8cX>B+ZhE;A|PA9P%)rwO9FVdIj zwz@qlP91e8-BsUWMw>@i#d*Q}&HUZGXkIcCS&&-iz1e8C zm~G~Jv(xN0d(D2msmr1*}lRW!fUJ`OtQH)k2QpRJB9iF`F4SvG{X%45@z<7F{8i2 zuC$-nRrXWn^}n!d>{ra-?_&=B2WHWeT}9@`A7R$@_wI>Ea)hsvd2W|u#Lz^wr`JZ% zPclB1F@&bKM7HG(L(|uB_unSCcS~@;J??HcCb-LqeMRZml?m?66WmuNxM#=R-L-y{ zl&hvtsD}D1Mmxp&hBB5j{W&Y~4l}^q?oTc(Cp>93(gLf9DenX_Ceh_ua5B^g^{Sf6 zS$<2^Pr4#&nVmTA@e%zD=QH}b!y7fz7tQ`v8?+{;M}^E zc7sc09=@X+!c6seW`4hN2O~8jO(Pd^9&wjQugIg3$&oK2h2X0XE4ypje52JEjUF>`iKa85}nA@gyntABgp$ddzb&wd`;Dj=ZZS?!hXp3LTbjL|3 z)(#}yC$Mu_J0M+F4J6$cu%~cK8h_z8&#aM@d`{wiVru^-Vca$1WB!Pp>pEiRo3F7a zyT4;kp^uWKX3VBbdfR=;-h`HuK)sLI;eB>_A6ca?;HCt2gSb0ct7g@Uk!U!B*3cXf zck_b}&x)5SaDT15H?uZ_PZt#Wl}7E3sJBAiUu#2+G<8JKy{n zdopVSu@;>Pl?NZBl1^1s(-g{o7+G5M1Ly+xvJYESdMod-c{bJi&k}!bDSbunGTXbH zSf;r}W%_T4%X)~EN!pv;6WICeB#|<`f*tFP`OpQdCrAxrIj`nl9%~8suntG;60IaW z!afY|yH|9p6q_w0^Cp&Qo`EL?b z$bVAz82{z_y34;4)0H~qv1%ph{sTLgRVyh~8|=yMZ`fhFzGXb$NqhPnyj&M^je7(4 zJoCNJ=`9~7#!oxF&u;JYj`s;`yHVU(!;$n7`RSk!f5?ZQF1{{`4OSlZy1mEyB)j0-GZI#`eNt1e%O;sguEG-Jl7w)!1ck-b+=;Yv+j6e$icYe zxqGn-+z{+scQHALUizJP{Qk(?3g*5=f^qh zz>BaWs1^FHHT!+Qm12(%r+_gEs>&#+E9)ZN8T-hNzCP$F8S^wzW4O*$zvnuS@y}TH z70D^e%@_eag&vEl7r+Ht#dQIB7Cocj5I@JvDXcPU7`n>7!g8E_njA@qq!ztp$xf0F z*ypi=_sibJA!P=@&w%TP;?F&G1#Zct3%BWy;FnISs}_#!nh=I_l#9d6_F=BmBLA!h zb9G7x*#zG-YF!t1r#~PJ>&j4bp`;{E3vUZ0Io+iG0##f)EoVJzS}f6RxObDYqvPQ? zN12QBn~U3^Ci`a2mD7=nT~cvrYMS97$HJ&y*3e3G`xRJ71dbzW?JHfXpr_J4B`kCJ5Mst(t zW%`(#&8?=d>25li&Zdj$YP#{{b|OVnl;Vx1A5XOssZf?%6H0b7rMd;~ zOgtl5PDrjyEE$`SUaZ9AL3t@Q0aKq!!7vTR(P54Wd?+ic^Ps^%(wf?jA8iUXXF8j6#R{|FUAh%%>i& z$K$;~FCx`CrV%Y1FJW6|QWxokdI3IlO+ChR4NODA#6#4e7cNu(!I|%)%;n|^)6TRv NSDLFxS=xl2`X5i?+06g| diff --git a/example/example.py b/example/example.py index 5069016..aca6630 100644 --- a/example/example.py +++ b/example/example.py @@ -11,7 +11,7 @@ font = Font(file="Roboto-Medium.ttf") assert font.is_font_available("Roboto") assert "Roboto Medium" in font.loaded_fonts() -assert font.font_info("Roboto-Medium.ttf")[0]["copyright"] +assert font.font_info("Roboto-Medium.ttf")["copyright"] ttk.Label(window, text="Roboto Font", font=("Roboto", 12)).grid() ttk.Label(window, text="Normal Font", font=("default", 12)).grid() window.mainloop() diff --git a/peru.yaml b/peru.yaml new file mode 100644 index 0000000..689fa4d --- /dev/null +++ b/peru.yaml @@ -0,0 +1,33 @@ +imports: + extrafont: third_party/extrafont/ + roboto: example/ + overhaul: tests/ + +svn module extrafont: + url: https://svn.code.sf.net/p/irrational-numbers/code/pkgs/extrafont-devkit/trunk/ + rev: "1218" + pick: + - license.terms + - docs/ + - src/ + +curl module roboto: + url: https://github.com/googlefonts/roboto/releases/download/v2.138/roboto-android.zip + unpack: zip + move: + LICENSE: LICENSE.roboto + pick: + - LICENSE.roboto + - Roboto-Medium.ttf + sha1: 0453421f680022954c48ca21c45bffc18749e6bc + +curl module overhaul: + url: https://dl.dafont.com/dl/?f=overhaul + unpack: zip + move: + Overhaul.ttf: overhaul.ttf + Readme.txt: README.overhaul + pick: + - overhaul.ttf + - README.overhaul + sha1: 9d3a95aed46aa9808f0850ffa8ed35bb46f3da46 diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..9a4f83c --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,24 @@ +[build-system] +requires = ["scikit-build-core"] +build-backend = "scikit_build_core.build" + +[project] +name = "tkextrafont" +version = "1.3.0" +description = "Fonts loader for Tkinter" +author = "The extrafont and tkextrafont authors" +url = "https://github.com/TkinterEP/tkextrafont" + +[tool.cibuildwheel] +skip = ["cp36-*", "cp37-*"] + +[tool.cibuildwheel.linux] +before-all = "yum install -y tcl-devel tk-devel fontconfig-devel" + +[[tool.cibuildwheel.overrides]] +select = "*-musllinux*" +before-all = "apk add tcl-dev tk-dev fontconfig-dev" + +[tool.cibuildwheel.macos] +# https://github.com/actions/runner-images/issues/9441#issuecomment-1976928303 +before-all = "brew install tcl-tk" diff --git a/setup.py b/setup.py deleted file mode 100644 index 7386a2b..0000000 --- a/setup.py +++ /dev/null @@ -1,193 +0,0 @@ -""" -Author: RedFantom -License: GNU GPLv3 -Copyright (c) 2021 RedFantom -""" -import sys - - -def read(file_name): - with open(file_name) as fi: - contents = fi.read() - return contents - - -def printf(*args, **kwargs): - kwargs.update({"flush": True}) - print(*args, **kwargs) - - -if "linux" in sys.platform: - try: - from skbuild import setup - from skbuild.command.build import build - except ImportError: - printf("scikit-build is required to build this project") - printf("install with `python -m pip install scikit-build`") - raise - - - class BuildCommand(build): - """ - Intercept the build command to build the required modules in ./build - - extrafont depends on a library built from source. Building this library - requires the following to be installed, Ubuntu package names: - - fontconfig - - libfontconfig1 - - libfontconfig1-dev - - tcl-dev - - tk-dev - """ - - def run(self): - build.run(self) - - - kwargs = { - "install_requires": ["scikit-build"], "cmdClass": {"build": BuildCommand}, - "package_data": {"tkextrafont": ["extrafont.tcl", "fontnameinfo.tcl", "futmp.tcl", "pkgIndex.tcl"]} - } - -elif "win" in sys.platform: - import os - import shutil - from setuptools import setup - import subprocess as sp - from typing import List, Optional - - dependencies = ["cmake", "tk", "toolchain", "fontconfig"] - - for dep in dependencies: - printf("Installing dependency {}...".format(dep), end=" ") - sp.call(["pacman", "--needed", "--noconfirm", "-S", "mingw-w64-x86_64-{}".format(dep)]) # , stdout=sp.PIPE) - printf("Done.") - sp.call(["cmake", ".", "-G", "MinGW Makefiles"]) - sp.call(["mingw32-make"]) - - - class DependencyWalker(object): - """ - Walk the dependencies of a DLL file and find all DLL files - - DLL files are searched for in all the directories specified by - - The PATH environment variable - - The DLL_SEARCH_PATHS environment variable - """ - - def __init__(self, dll_file: str, dependencies_exe="deps\\dependencies.exe", specials=dict()): - if not os.path.exists(dependencies_exe): - printf("dependencies.exe is required to find all dependency DLLs") - raise FileNotFoundError("Invalid path specified for dependencies.exe") - self._exe = dependencies_exe - if not os.path.exists(dll_file): - raise FileNotFoundError("'{}' does not specify a valid path to first file".format(dll_file)) - self._dll_file = dll_file - self._dll_cache = {} - self._specials = specials - self.walked = {} - - @property - def dependency_dll_files(self) -> List[str]: - """Return a list of abspaths to the dependency DLL files""" - printf("Walking dependencies of {}".format(self._dll_file)) - dlls = [self._dll_file] + list(map(self._find_dll_abs_path, self._specials.keys())) - done = [] - while set(dlls) != set(done): # As long as not all dlls are done, keep searching - for dll in set(dlls) - set(done): # Go only over not-yet done DLLs - if dll is None: - done.append(None) - continue - printf("Looking for dependencies of {}".format(dll)) - p = sp.Popen([self._exe, "-imports", dll], stdout=sp.PIPE) - stdout, stderr = p.communicate() - new_dlls = self._parse_dependencies_output(stdout) - for new_dll in new_dlls: - p = self._find_dll_abs_path(new_dll) - if p is None: - continue - elif "system32" in p: - continue - elif p not in dlls: - dlls.append(p) - done.append(dll) - return list(set(dlls) - set((None,))) - - @staticmethod - def _parse_dependencies_output(output: bytes) -> List[str]: - """Parse the output of the dependencies.exe command""" - dlls: List[str] = list() - for line in map(str.strip, output.decode().split("\n")): - if not line.startswith("Import from module"): - continue - line = line[len("Import from module"):].strip(":").strip() - dlls.append(line) - return dlls - - def _find_dll_abs_path(self, dll_name: str) -> Optional[str]: - """Find the absolute path of a specific DLL file specified""" - if dll_name in self._dll_cache: - return self._dll_cache[dll_name] - printf("Looking for path of {}...".format(dll_name), end="") - for var in ("PATH", "DLL_SEARCH_DIRECTORIES"): - printf(".", end="") - val = os.environ.get(var, "") - for dir in val.split(";"): - if not os.path.exists(dir) and os.path.isdir(dir): - continue - if dir not in self.walked: - self.walked[dir] = list(os.walk(dir)) - for dirpath, subdirs, files in self.walked[dir]: - if dll_name in files: - p = os.path.join(dirpath, dll_name) - printf(" Found: {}".format(p)) - self._dll_cache[dll_name] = p - return p - printf("Not found.") - self._dll_cache[dll_name] = None - return None - - def copy_to_target(self, target: str): - for p in self.dependency_dll_files: - if os.path.basename(p) in self._specials: - t = os.path.join(target, *self._specials[os.path.basename(p)].split("/"), os.path.basename(p)) - d = os.path.dirname(t) - if not os.path.exists(d): - os.makedirs(d) - printf("Copying special {} -> {}".format(p, t)) - shutil.copyfile(p, t) - else: - printf("Copying {}".format(p)) - target_file = os.path.join(target, os.path.basename(p)) - try: - shutil.copyfile(p, target_file) - except shutil.SameFileError: - continue - - - specials = {} - DependencyWalker("libextrafont.dll", specials=specials).copy_to_target("tkextrafont") - kwargs = {"package_data": { - "tkextrafont": ["*.dll", "pkgIndex.tcl", "extrafont.tcl", "fontnameinfo.tcl", "futmp.tcl"] + [ - "{}/{}".format(dir.strip("/"), base) for base, dir in specials.items()]}} - -else: - printf("Only Linux and Windows are currently supported by the build system") - printf("If you wish to help design a build method for your OS, please") - printf("contact the project author.") - raise RuntimeError("Unsupported platform") - -setup( - name="tkextrafont", - version="v0.6.3", - packages=["tkextrafont"], - description="Fonts loader for Tkinter", - author="The extrafont and tkextrafont authors", - url="https://github.com/TkinterEP/tkextrafont", - download_url="https://github.com/TkinterEP/tkextrafont/releases", - license="GNU GPLv3", - long_description=read("README.md"), - long_description_content_type="text/markdown", - zip_safe=False, - **kwargs -) diff --git a/src/pkgIndex.tcl.in b/src/pkgIndex.tcl.in new file mode 100755 index 0000000..3d453d2 --- /dev/null +++ b/src/pkgIndex.tcl.in @@ -0,0 +1,5 @@ +package ifneeded @PACKAGE_NAME@ @PACKAGE_VERSION@ \ + "source [file join $dir extrafont.tcl]; \ + source [file join $dir futmp.tcl]; \ + load [file join $dir @PKG_LIB_FILE@] [string totitle @PACKAGE_NAME@]; \ + package provide @PACKAGE_NAME@ @PACKAGE_VERSION@;" diff --git a/tests/README.overhaul b/tests/README.overhaul new file mode 100644 index 0000000..91fce56 --- /dev/null +++ b/tests/README.overhaul @@ -0,0 +1,18 @@ +Overhaul Font + +------------------------------------------------------------------------------------------------ +Caution: This font is heavy to load. On some computers, the font can crash or freeze the system. +------------------------------------------------------------------------------------------------ + +Overhaul is a sans-serif grunge font. Like all other JLH Fonts, this font is in the public domain and comes with the Euro sign. + +Check out our other fonts, such as: + +- Hand Drawn Shapes +- Gold Plated +- Chalk Line +- Portmanteau +- Pretzel +- Sierra Nevada Road +- Seattle Avenue +- Marker Scribbles (symbol) \ No newline at end of file diff --git a/docs/doc.txt b/third_party/extrafont/docs/doc.txt similarity index 84% rename from docs/doc.txt rename to third_party/extrafont/docs/doc.txt index 9e3a410..78147a3 100644 --- a/docs/doc.txt +++ b/third_party/extrafont/docs/doc.txt @@ -1,4 +1,4 @@ -extrafont - 1.2 +extrafont - 1.3 ================ extrafont is a package designed to provide "private fonts" for Tk apps. @@ -9,7 +9,7 @@ once these fonsts are loaded, they can be used in the same way of pre-installed These loaded fonts are only visible by the process (app) who loaded'em, and then disappear when the app terminates. -This package provides an homogeneous multi platform mechanism for such purpose. +This package provides an homogeneous multi platform mechamism for such purpose. Supported tcltk runtimes are * Windows (32/64 bit) * Linux (32/64 bit) @@ -21,7 +21,7 @@ Note that a specific runtime support (e.g. "Linux 32") is not referred to the hosting O.S. architecture, but it's referred to the architecture of the TclTk interpreter. E.g. if you have a 32-bit TclTk interpreter running on a 64-bit Linux, -then the binary extension for linux-x32 will be automatically selected. +then the binary extension for linux-x32 will be automaticaaly selected. ======= @@ -66,9 +66,12 @@ extrafont::query _kind_ ?_selector_ _pattern_? * list all the details of the font-family "Ariel*" extrafont::query details -family "Ariel*" -extrafont::nameinfo _fontfile_ +extrafont::nameinfo _fontfile_ ?fontPlatformName? Returns a list of font-details. One font-detail (a dictionary) for each font contained in $fontfile. + fontPlatformName can be ("" (default) "win" "mac" ). + If fontPlatformName is "" then the extracted info are those required for + the current platform (i.e "win" for "windows" or "mac" for all other platforms) extrafont::nametable::nameIDs Returns all the valid keys used for the font-details dictionary @@ -91,8 +94,8 @@ extrafont::availableFamilies ?_fontFamilyPattern_? returns Courier {Comic Sans MS} ..... **WARNING** - on MacOSX after loading/unloading one or more fonts, the list - of the available fonts won't be updated till the next event-loop update. - For this reason, if your script needs to call isAvailable/availableFamilies + of the availables fonts won't be updated till the next event-loop update. + For this reason, if your script needs to call isAvalable/availableFamilies just after loading/unloading a fontfile, you need to call the "update" command. @@ -102,12 +105,12 @@ One important distinction to keep in mind is among fontname (or tk-fontname) Font-filename is used just for loading/unloading an external font: - extrafont::load "c:/tmp/Monoton-regular.ttf" + set fontfamilies [extrafont::load "c:/tmp/Monoton-regular.ttf"] This font-file contains just one font. The font-family-name can be extracted as result of the extrafont::load command foreach fontfamily $fontfamilies { - puts "Loaded fint-family: $fontfamily" + puts "Loaded font-family: $fontfamily" } # just get the 1st font-familiy set myNewFontFamily [lindex $fontfamilies 0] ;# --> "Monoton" @@ -120,4 +123,4 @@ a tk-fontname (using the standard 'font' command) # or, let tk choose a fontname for you ... set myfontname [font create -family $myNewFontFamily -size 20] # then use $myfontname for a new widget ... - label .mylabel -font $myfontname ....... + label .mylabel -font $myfontname -text ABC ....... diff --git a/third_party/extrafont/license.terms b/third_party/extrafont/license.terms new file mode 100644 index 0000000..1fd3acc --- /dev/null +++ b/third_party/extrafont/license.terms @@ -0,0 +1,12 @@ +== Extrafont == +A multi-platform binary package for loading "private fonts" + +Copyright (c) 2017,2022 by A.Buratti + +This library is free software; you can use, modify, and redistribute it +for any purpose, provided that existing copyright notices are retained +in all copies and that this notice is included verbatim in any +distributions. + +This software is distributed WITHOUT ANY WARRANTY; without even the +implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. diff --git a/src/extrafont.c b/third_party/extrafont/src/extrafont.c similarity index 92% rename from src/extrafont.c rename to third_party/extrafont/src/extrafont.c index dc30ffd..72b5193 100644 --- a/src/extrafont.c +++ b/third_party/extrafont/src/extrafont.c @@ -2,16 +2,17 @@ ========================================================================== TclTk extension (Win/Linux/MacOSX): extrafont::load - This command makes available to TclTk apps a new font without installing it. + This command makes available to TclTk apps a new font without isntalling it. --- July 2017 - A.Buratti fecit May 2018 - BugFix for MY_FcConfigAppFontRemoveFile (linux only) + Nov 2023 - Replaced __WIN32__ with _WIN32 (this is valid also for Win-64bit) ========================================================================== */ #include -#if defined(__WIN32__) +#if defined(_WIN32) #include #include #elif defined(__linux__) @@ -21,6 +22,8 @@ #elif defined(__APPLE__) #include #include +#else + #error "Cannot detect the target platform: Neither _WIN32, nor __linux__, nor __APPLE__; what else ?" #endif // This macro is a short for the standard parameter-list of Tcl_ObjCmdProc conformant functions. @@ -41,7 +44,7 @@ int CMDPROC_loadfont( ClientData unused, OTHER_CMDPROC_ARGS ) { const char *path = Tcl_GetStringFromObj(_objv[1], &len); int res; -#if defined(__WIN32__) +#if defined(_WIN32) Tcl_DString ds; Tcl_Encoding unicode; @@ -135,7 +138,7 @@ int CMDPROC_unloadfont( ClientData unused, OTHER_CMDPROC_ARGS ) { const char *path = Tcl_GetStringFromObj(_objv[1], &len); int res; -#if defined(__WIN32__) +#if defined(_WIN32) Tcl_DString ds; Tcl_Encoding unicode; diff --git a/tkextrafont/extrafont.tcl b/third_party/extrafont/src/extrafont.tcl similarity index 83% rename from tkextrafont/extrafont.tcl rename to third_party/extrafont/src/extrafont.tcl index 5d6ff73..448b174 100644 --- a/tkextrafont/extrafont.tcl +++ b/third_party/extrafont/src/extrafont.tcl @@ -13,15 +13,15 @@ namespace eval extrafont { # FFFD-table is the core data structure holding all the relations between - # font-files, font-families, font-full-names and font-details. + # font-files, font-familiies, font-fullnames and font-details. # *** NOTE: we are talking just about fonts loaded with extrafont::load; # *** fonts loaded at system-level are not included here. # They first three components FFF (font-file, font-familiy, font-fullname) # gives you a primary key for the D component (the font-detail dictionary) - + # variable _FFFD_Table ;# array: key is (file,family,fullname) ;# value is the font-detail - variable _File2TempFile ;# array: key is the originale filename (normalized), + variable _File2TempFile ;# array: key is the originale filename (normalized), ;# value is its temporary working copy variable _TempDir @@ -33,27 +33,27 @@ namespace eval extrafont { expr { [lindex [file system $filename] 0] != "native" } } - # Load this submodule "fontnameinfo.tcl" in a sub-namespace + # load thi submodule" fontnameinfo.tcl" in a sub-namespace # It provides the 'nameinfo' command namespace eval nametable { source [file join [file dirname [info script]] fontnameinfo.tcl] } - # When Tk is destroyed (e.g on exit), then do a cleanup + # when Tk is destroyed (e.g on exit), then do a cleanup trace add command "." delete {apply { {args} {extrafont::cleanup} } } } proc extrafont::_copyToTempFile {filename} { variable _TempDir - + if { $_TempDir == "" } { - set _TempDir [futmp::mktempdir [futmp::tempdir] extrafont_] + set _TempDir [futmp::mktempdir [futmp::tempdir] extrafont_] # don't catch error; let it raise } - + set fd [open $filename r] ;# on error let it raise .. fconfigure $fd -translation binary - + # note: tempfile returns an open channel ; the filename is returned via upvar (in newfilename var) set newfilename "" set wentWrong [catch { @@ -64,18 +64,18 @@ proc extrafont::_copyToTempFile {filename} { close $fd error $errmsg } - + set wentWrong [catch { fcopy $fd $cacheChannel } errmsg ] - + close $cacheChannel close $fd if { $wentWrong } { error $errmsg } - + return $newfilename } @@ -94,20 +94,20 @@ proc extrafont::_copyToTempFile {filename} { proc extrafont::load {fontfile} { variable _FFFD_Table variable _File2TempFile - + set fontfile [file normalize $fontfile] set orig_fontfile $fontfile if { [array names _FFFD_Table $orig_fontfile,*] != {} } { error "Fontfile \"$orig_fontfile\" already loaded." } - + if { [_isVfsFile $orig_fontfile] } { - set fontfile [_copyToTempFile $orig_fontfile] ;# on error let it raise .. + set fontfile [_copyToTempFile $orig_fontfile] ;# on error let it raise set _File2TempFile($orig_fontfile) $fontfile } if { [catch {core::load $fontfile} errmsg] } { array unset _File2TempFile $orig_fontfile - error [string map [list $fontfile $orig_fontfile] $errmsg] + error [string map [list $fontfile $orig_fontfile] $errmsg] } set fontsInfo {} # if nameinfo fails, don't stop; return an empty list @@ -136,7 +136,7 @@ proc extrafont::unload {fontfile} { variable _File2TempFile set fontfile [file normalize $fontfile] - + # Fix for MacOSX : # Since core::unload does not return an error when unloading a not-loaded file, # we must check-it before @@ -151,13 +151,13 @@ proc extrafont::unload {fontfile} { set fontfile $_File2TempFile($orig_fontfile) } if { [catch {core::unload $fontfile} errmsg] } { - error [string map [list $fontfile $orig_fontfile] $errmsg] + error [string map [list $fontfile $orig_fontfile] $errmsg] } - + if { $isVfs } { - catch {file delete $fontfile} ;# skip errors .. + catch {file delete $fontfile} ;# skip errors unset _File2TempFile($orig_fontfile) - } + } array unset _FFFD_Table $fontfile,* return } @@ -197,12 +197,12 @@ proc extrafont::loaded {} { # query details -family Ariel* proc extrafont::query { kind args } { variable _FFFD_Table - + set allowedValues {files families fullnames details} if { $kind ni $allowedValues } { error "bad kind \"$kind\": must be [join $allowedValues ","]" } - + if { $args == {} } { set selector "(empty)" ;# dummy selector } elseif { [llength $args] == 2 } { @@ -210,18 +210,18 @@ proc extrafont::query { kind args } { set allowedValues {-file -family -fullname} if { $selector ni $allowedValues } { error "bad selector \"$selector\": must be [join $allowedValues ","]" - } + } } else { error "wrong params: query _kind_ ?selector value?" } - + switch -- $selector { (empty) { set pattern "*" } -file { set pattern "$selectorVal,*,*" } -family { set pattern "*,$selectorVal,*" } - -fullname { set pattern "*,*,$selectorVal" } - } - + -fullname { set pattern "*,*,$selectorVal" } + } + set L {} foreach { key detail } [array get _FFFD_Table $pattern] { lassign [split $key ","] fontfile family fullname @@ -229,27 +229,46 @@ proc extrafont::query { kind args } { files { lappend L $fontfile } families { lappend L $family } fullnames { lappend L $fullname} - details {lappend L $detail } + details {lappend L $detail } } } lsort -unique $L } - # nameinfo $fontfile + # nameinfo $fontfile ?$fontPlatformID? # ------------------ # Returns a list of font-info. One font-info (a dictionary) for each font # contained in $fontfile. + # + # fontPlatformName can be used for selecting data tailored for a given platform. + # It can be ("" (default) "win" or "mac" - no support for the "Unicode platform"). + # If fontPlatformName is "" then the extracted info are those required for + # the current platform (i.e "win" for windows and "mac" for mac/linux/../restOfTheWorld) + # # Implementation note: # if $fontfile is loaded, then the 'cached' font-infos are returned, # else these are extracted by calling [nametable::nameinfo $fontfile] -proc extrafont::nameinfo {fontfile} { +proc extrafont::nameinfo {fontfile {fontPlatformName ""}} { variable _FFFD_Table - + + if { $fontPlatformName eq "" } { + if { $::tcl_platform(platform) == "windows" } { + set fontPlatformName "win" + } else { + set fontPlatformName "mac" + } + } + switch -- $fontPlatformName { + "mac" { set fontPlatformID 1 } + "win" { set fontPlatformID 3 } + default { error "invalid fontPlatformName. Valid values are win, mac."} + } + set fontfile [file normalize $fontfile] set res [query details -file $fontfile] if { $res == {} } { - set res [nametable::nameinfo $fontfile] + set res [nametable::nameinfo $fontfile $fontPlatformID] } return $res } @@ -261,9 +280,9 @@ proc extrafont::cleanup {} { variable _FFFD_Table variable _File2TempFile variable _TempDir - + foreach fontfile [query files] { - catch {unload $fontfile} ;# don't stop it now ! + catch {unload $fontfile} ;# don't stop it now ! } if { $_TempDir != "" } { @@ -299,7 +318,6 @@ proc extrafont::isAvailable {family} { # whilst # extrafont::avalableFamilies A* # matches all the loaded font-families (both system-wide fonts and private-fonts) - # ..... brutto !!!! # (and it's a case-sensitive matching) # proc extrafont::availableFamilies { {familyPattern {*}} } { diff --git a/third_party/extrafont/src/fontnameinfo.tcl b/third_party/extrafont/src/fontnameinfo.tcl new file mode 100644 index 0000000..2e75060 --- /dev/null +++ b/third_party/extrafont/src/fontnameinfo.tcl @@ -0,0 +1,337 @@ +# fontnameinfo.tcl +# +# Commands for extracting details from the "name' table of OpenType font-files. +# +# Tested with +# *.otf (including those with PostScript outlines (OTTO)) +# *.ttf +# *.ttc (OpenTypeCollections) +# +# Reference Specification: +# Opentype 1.6 - http://www.microsoft.com/typography/otspec/ +# +# This module derives from the module Glyph +# ( see http://wiki.tcl.tk/37854 ) +# which in turn is inspired by the following works: +# * org.apache.batik.svggen project (Apache License, 2.0) +# * pdf4tcl project +# Copyright (c) 2004 by Frank Richter and +# Jens Ponisch +# Copyright (c) 2006-2012 by Peter Spjuth +# Copyright (c) 2009 by Yaroslav Schekin +# * sfntutil.tcl - by Lars Hellstrom + + + # NameIDs for the name table. +set _NameID2Str [dict create {*}{ + 0 copyright + 1 fontFamily + 2 fontSubfamily + 3 uniqueID + 4 fullName + 5 version + 6 postScriptName + 7 trademark + 8 manufacturer + 9 designer + 10 description + 11 manufacturerURL + 12 designerURL + 13 license + 14 licenseURL + 15 reserved + 16 typographicFamily + 17 typographicSubfamily + 18 compatibleFullName + 19 sampleText + 20 postScriptFindFontName + 21 wwsFamily + 22 wwsSubfamily + 23 lightBackgroundPalette + 24 darkBackgroundPalette + 25 variationsPostScriptNamePrefix +}] + + # return all the valid keys for the font-info dictionary + # NOTE: none of these nameID is mandatory, but the following + # are strongly recommended: + # 1 fontFamily + # 2 fontSubfamily + # 4 fullName + # ? 16 typographicFamily + # ? 17 typographicSubfamily + # + # Reference: + # https://docs.microsoft.com/en-us/typography/opentype/spec/name#name-ids + # + # Note: currently extrafont requires just the following mandatory nameID + # fontFamily + # fullName +proc nameIDs {} { + variable _NameID2Str + dict values $_NameID2Str +} + + + # nameinfo $fontPath + # ------------------ + # scan the 'name' table(s) of $fontPath, and returns a list of font-info + # One font-info for each name table + # Each font-info is a dictionary + # (see [nameIDS] for the keys; not all the keys are mandatory) + # + # fontPlatformID can be ("" (default) 3 (windows) 1 (everything but windows ). + # If fontPlatformID is "" then the extracted info are those required for + # the current platform (i.e 3 for "windows" or 1 for mac/linux/...) + # + # An error is raised if fontPath cannot be properly parsed. + proc nameinfo {fontPath {fontPlatformID ""}} { + set fd [open $fontPath "r"] + fconfigure $fd -translation binary + set failed [catch {set names [_ReadFontFile $fd $fontPlatformID]} errMsg] + close $fd + + if { $failed } { + error $errMsg + } + return $names +} + + # _ReadFontFile $fd + # ----------------- + # return a list of font-info (usually just one font-info) + # Each font-info is a dictionary + # An error is raised if fontPath cannot be properly parsed. +proc _ReadFontFile { fd {fontPlatformID ""}} { + set fontsInfo {} + set magicTag [read $fd 4] + if { $magicTag == "ttcf" } { + set fontsOffset [_ReadTTC_Header $fd] ;# one elem for each subfont + foreach fontOffset $fontsOffset { + # go to the start of the subfont and skip the initial 'magicTag' + seek $fd [expr {$fontOffset+4}] + lappend fontsInfo [_ReadSimpleFontFile $fd $fontPlatformID] + } + } elseif { $magicTag in { "OTTO" "\x00\x01\x00\x00" "typ1" "true" } } { + lappend fontsInfo [_ReadSimpleFontFile $fd $fontPlatformID] + } else { + error "Unrecognized magic-number for OpenType font: 0x[binary encode hex $magicTag]" + } + return $fontsInfo +} + + + # _ReadTTCHeader $fd + # ------------------ + # scan the TTC header and + # returns a list of fontsOffset ( i.e. where each sub-font starts ) +proc _ReadTTC_Header {fd} { + binary scan [read $fd 8] SuSuIu majorVersion minorVersion numFonts + #extract a list of 32bit integers + binary scan [read $fd [expr {4*$numFonts}]] "Iu*" fontsOffset + + # NOTE: if majorVersion > 2 there can be a trailing digital-signature section + # ... IGNORE IT + + return $fontsOffset +} + + + # _ReadSimpleFontFile $fd + # ----------------------- + # returns a font-info dictionary (or an error ...) +proc _ReadSimpleFontFile {fd {fontPlatformID ""}} { + # Assert: we are at the beginng of the Table-Directory + binary scan [read $fd 8] SuSuSuSu numTables searchRange entrySelector rangeShift + + # scan the Table Directory ... we are just interested with the 'name' table + set tableName {} + for {set n 0} {$n<$numTables} {incr n} { + binary scan [read $fd 16] a4H8IuIu tableName _checksum start length + if { $tableName == "name" } break + } + if { $tableName != "name" } { + error "No \"name\" table found." + } + + seek $fd $start + return [_ReadTable.name $fd $length $fontPlatformID] +} + + + # _convertfromUTF16BE $data + # ------------------------- + # convert strings from UTF16BE to (tcl)Unicode strings. + # NOTE: + # When font-info is extracted from namerecords with platformID==3 (Windows) + # data (binary strings) are originally encoded in UTF16-BE. + # These data should be converted in (tcl)Unicode strings. + # Since the "tcl - unicode encoding" is BigEndian or LittleEndian, depending + # on the current platform, two variants of _convertfromUTF16BE areprovided; + # the right conversion will be choosen once at load-time. +if { $::tcl_platform(byteOrder) == "bigEndian" } { + proc _convertfromUTF16BE {data} { + encoding convertfrom unicode $data + } +} else { + proc _convertfromUTF16BE {data} { + # swp bytes, then call encoding unicode .. + binary scan $data "S*" z + encoding convertfrom unicode [binary format "s*" $z] + } +} + + # _score ... + # -------------- + # return the score (>=0) + # for every tuple of {platformID specificID languageID} + # Scores are weighted based un the target fontPlatformID +proc _score {fontPlatformID platformID specificID languageID} { + switch -- $fontPlatformID { + 1 { ;# macintosh i.e non-windows + set premium(macEnglish) 0x0100 + set premium(winEnglish_US) 0x0040 + set premium(winEnglish_UK) 0x0030 + set premium(winEnglish) 0x0020 + } + 3 { ;# windows + set premium(macEnglish) 0x000 + set premium(winEnglish_US) 0x0400 + set premium(winEnglish_UK) 0x0300 + set premium(winEnglish) 0x0200 + } + default { error "unsupported target platformID" } + } + + set score 0 + switch -- $platformID { + 0 { + # platform Unicode + set score 3 + } + 1 { + # platform Macintosh + if { $specificID == 0 } { + # MacEncodingRoman + set score 2 + } else { + return 0 ;# NO WAY !! + } + if { $languageID == 0 } { + # MacLanguageEnglish + incr score $premium(macEnglish) + } + } + 3 { + #platform Windows + switch -- $specificID { + 0 { set score 1 } ;# WindowsEncodingSymbol + 1 { set score 4 } ;# WindowsEncodingUCS2 + default { return 0 } ;# NO WAY !! + } + # try to augment score based on languageId + if { ($languageID & 0xFF) == 0x09 } { + # .. generic English + switch -- [format "0x%.4x" $languageID] { + 0x0409 { incr score $premium(winEnglish_US) } + 0x0809 { incr score $premium(winEnglish_UK) } + default { incr score $premium(winEnglish) } + } + } + } + } + return $score +} + + + # _ReadTable.name $fd + # -------------------- + # Scan the 'name' table and return a font-info dictionary. + # + # Reference Specification: + # see http://www.microsoft.com/typography/otspec/name.htm + # NOTE: + # New internal logic for selecting values among repeated values + # for different platformID encodingID languageID nameID, + # based on a score system. +proc _ReadTable.name {fd tableSize {fontPlatformID ""}} { + variable _NameID2Str + + if { $fontPlatformID eq "" } { + if { $::tcl_platform(platform) == "windows" } { + set fontPlatformID 3 + } else { + set fontPlatformID 1 + } + } + + set tableStart [tell $fd] ;# save the start of this Table + set tableEnd [expr {$tableStart+$tableSize}] + binary scan [read $fd 6] "SuSuSu" version count strRegionOffset + # we expect version == 0 ; version == 1 is not supported yet + + set strRegionStart [expr {$tableStart + $strRegionOffset}] + set strRegionSize [expr {$tableSize-$strRegionOffset}] + #Each nameRecord is made of 6 UnsignedShort + binary scan [read $fd [expr {2*6*$count}]] "Su*" nameRecords + + set nameinfo [dict create] + # initialize bestScore array + for {set nameID 0} {$nameID <= 25} {incr nameID} { + set bestScore($nameID) 0 + # no need to initialize bestPlatform, bestOffset, bestLength arrays + } + # Assert: nameRecords are sorted by platformID,encodingID,languageID,nameID + foreach { platformID specificID languageID nameID strLength strOffset } $nameRecords { + if { $nameID > 25 } continue + # Offset could be anything if length is zero. + if {$strLength == 0} continue + # Fonts are full of wrong data, if the offset is outside of the string data we simply skip the record. + if { $strOffset >= $strRegionSize || $strOffset+$strLength>$strRegionSize } continue ;# WARNING + + set score [_score $fontPlatformID $platformID $specificID $languageID] + if { $score > $bestScore($nameID) } { + set bestScore($nameID) $score + set bestOffset($nameID) $strOffset + set bestLength($nameID) $strLength + set bestPlatform($nameID) $platformID + } + } + for {set nameID 0} {$nameID <= 25} {incr nameID} { + if { $bestScore($nameID) == 0 } continue; + + set offset $bestOffset($nameID) + set length $bestLength($nameID) + seek $fd [expr {$strRegionStart+$offset}] + binary scan [read $fd $length] "a*" value + + # Windows only: extracted strings from records with platformID == 3 (windows) + # are in UTF-16BE format. They should be converted. + if { $bestPlatform($nameID) == 3 } { + set value [_convertfromUTF16BE $value] + } + + set nameIDstr [dict get $_NameID2Str $nameID] + dict set nameinfo $nameIDstr $value + } +if 0 { +# TODO ... The score logic should consider the current platform +# and then adjust the evaluation. +# BUT current platform should be an 'external' parameter, so that +# it could be used for tuning different platforms. + + # prefer typographicFamily over fontFamily + if { [dict exists $nameinfo typographicFamily] } { + dict set nameinfo fontFamily [dict get $nameinfo typographicFamily] + } + # prefer typographicSubfamily over fontSubfamily + if { [dict exists $nameinfo typographicSubfamily] } { + dict set nameinfo fontSubfamily [dict get $nameinfo typographicSubfamily] + } +} + + # if $version == 1, there should be a 'languageTag section' + # ... IGNORE IT + + return $nameinfo +} diff --git a/tkextrafont/futmp.tcl b/third_party/extrafont/src/futmp.tcl similarity index 98% rename from tkextrafont/futmp.tcl rename to third_party/extrafont/src/futmp.tcl index 8b5fda8..04b53aa 100644 --- a/tkextrafont/futmp.tcl +++ b/third_party/extrafont/src/futmp.tcl @@ -1,7 +1,7 @@ # futmp.tcl - file utilities for working with temporary files. # # This package is largely derived from the tcllib's package "fileutil" 1.14.10 -# The original commands' synopsis has been changed to include an explicit +# The original commands' synospys has been changed to include an explicit # base-dir and an optional file-suffix. # # futmp::tempdir diff --git a/third_party/extrafont/src/pkgIndex.tcl b/third_party/extrafont/src/pkgIndex.tcl new file mode 100644 index 0000000..8c41b96 --- /dev/null +++ b/third_party/extrafont/src/pkgIndex.tcl @@ -0,0 +1,43 @@ + +package ifneeded extrafont 1.3 [list apply { dir { + package require Tk + + set thisDir [file normalize ${dir}] + + set os $::tcl_platform(platform) + switch -- $os { + windows { set os win } + unix { + switch -- $::tcl_platform(os) { + Darwin { set os darwin } + Linux { set os linux } + } + } + } + set tail_libFile extrafont[info sharedlibextension] + # try to guess the tcl-interpreter architecture (32/64 bit) ... + set arch $::tcl_platform(pointerSize) + switch -- $arch { + 4 { set arch x32 } + 8 { set arch x64 } + default { error "extrafont: Unsupported architecture: Unexpected pointer-size $arch!!! "} + } + + + set dir_libFile [file join $thisDir ${os}-${arch}] + if { ! [file isdirectory $dir_libFile ] } { + error "extrafont: Unsupported platform ${os}-${arch}" + } + + set full_libFile [file join $dir_libFile $tail_libFile] + load $full_libFile + + namespace eval extrafont {} + source [file join $thisDir extrafont.tcl] + source [file join $thisDir futmp.tcl] + + package provide extrafont 1.3 + +}} $dir] ;# end of lambda apply + + diff --git a/tkextrafont/__init__.py b/tkextrafont/__init__.py index 8e76d25..794a51f 100644 --- a/tkextrafont/__init__.py +++ b/tkextrafont/__init__.py @@ -12,37 +12,10 @@ """ import tkinter as tk import tkinter.font as tkfont -# Standard Library -from contextlib import contextmanager import os from typing import Dict, List -_FILE_DIR = os.path.abspath(__file__) - - -@contextmanager -def chdir(target): - # type: (str) -> None - """ - Temporarily change the working directory - - Based on @Akuli's contribution to ttkthemes - Copyright (c) Akuli 2018 - """ - current = os.getcwd() - os.chdir(target) - try: - yield - finally: - os.chdir(current) - - -def get_file_directory(): - """Return an absolute path to the directory that contains this file""" - return os.path.dirname(_FILE_DIR) - - class Font(tkfont.Font): """ tk.Font wrapper that allows loading fonts from a file @@ -94,11 +67,12 @@ def is_font_available(self, font_name) -> bool: def load(window: tk.Tk): """Load extrafont into a Tk interpreter""" local = os.path.abspath(os.path.dirname(__file__)) - with chdir(local): - window.tk.eval("source pkgIndex.tcl") - try: - window.tk.eval("package require extrafont") - except tk.TclError as e: - if "libfontconfig" in e.message: - raise tk.TclError("Could not load extrafont due to missing fontconfig - See issue #1 on GitHub: ") - window._tkextrafont_loaded = True + window.tk.setvar("dir", local) + window.tk.eval("source [file join $dir pkgIndex.tcl]") + try: + window.tk.eval("package require extrafont") + except tk.TclError as e: + if "libfontconfig" in e.message: + raise tk.TclError("Could not load extrafont due to missing fontconfig - See issue #1 on GitHub: ") + window.tk.unsetvar("dir") + window._tkextrafont_loaded = True diff --git a/tkextrafont/fontnameinfo.tcl b/tkextrafont/fontnameinfo.tcl deleted file mode 100644 index 1e8c578..0000000 --- a/tkextrafont/fontnameinfo.tcl +++ /dev/null @@ -1,238 +0,0 @@ -# fontnameinfo.tcl -# -# Commands for extracting details from the "name' table of OpenType font-files. -# -# Tested with -# *.otf (including those with PostScript outlines (OTTO)) -# *.ttf -# *.ttc (OpenTypeCollections) -# -# Reference Specification: -# Opentype 1.6 - http://www.microsoft.com/typography/otspec/ -# -# This module derives from the module Glyph -# ( see http://wiki.tcl.tk/37854 ) -# which in turn is inspired by the following works: -# * org.apache.batik.svggen project (Apache License, 2.0) -# * pdf4tcl project -# Copyright (c) 2004 by Frank Richter and -# Jens Ponisch -# Copyright (c) 2006-2012 by Peter Spjuth -# Copyright (c) 2009 by Yaroslav Schekin -# * sfntutil.tcl - by Lars Hellstrom - - - # NameIDs for the name table. -set _NameID2Str [dict create {*}{ - 0 copyright - 1 fontFamily - 2 fontSubfamily - 3 uniqueID - 4 fullName - 5 version - 6 postScriptName - 7 trademark - 8 manufacturer - 9 designer - 10 description - 11 manufacturerURL - 12 designerURL - 13 license - 14 licenseURL - 15 reserved - 16 preferredFamily - 17 preferredSubfamily - 18 compatibleFullName - 19 sampleText - 20 postScriptFindFontName - 21 wwsFamily - 22 wwsSubfamily - 23 lightBackgroundPalette - 24 darkBackgroundPalette - 25 variationsPostScriptNamePrefix -}] - - # return all the valid keys for the font-info dictionary - # NOTE: none of these nameID is mandatory, but the following - # are strongly recommended: - # 1 fontFamily - # 2 fontSubfamily - # 4 fullName - # ? 16 preferredFamily - # ? 17 preferredSubFamily - # - # Reference: - # https://docs.microsoft.com/en-us/typography/opentype/spec/name#name-ids - # - # Note: currently extrafont requires just the following mandatory nameID - # fontFamily - # fullName -proc nameIDs {} { - variable _NameID2Str - dict values $_NameID2Str -} - - - # nameinfo $fontPath - # ------------------ - # scan the 'name' table(s) of $fontPath, and returns a list of font-info - # One font-info for each name table - # Each font-info is a dictionary - # (see [nameIDS] for the keys; not all the keys are mandatory) - # - # An error is raised if fontPath cannot be properly parsed. - proc nameinfo {fontPath} { - set fd [open $fontPath "r"] - fconfigure $fd -translation binary - set failed [catch {set names [_ReadFontFile $fd]} errMsg] - close $fd - - if { $failed } { - error $errMsg - } - return $names -} - - # _ReadFontFile $fd - # ----------------- - # return a list of font-info (usually just one font-info) - # Each font-info is a dictionary - # An error is raised if fontPath cannot be properly parsed. -proc _ReadFontFile { fd } { - set fontsInfo {} - set magicTag [read $fd 4] - if { $magicTag == "ttcf" } { - set fontsOffset [_ReadTTC_Header $fd] ;# one elem for each subfont - foreach fontOffset $fontsOffset { - # go to the start of the subfont and skip the initial 'magicTag' - seek $fd [expr {$fontOffset+4}] - lappend fontsInfo [_ReadSimpleFontFile $fd] - } - } elseif { $magicTag in { "OTTO" "\x00\x01\x00\x00" "typ1" "true" } } { - lappend fontsInfo [_ReadSimpleFontFile $fd] - } else { - error "Unrecognized magic-number for OpenType font: 0x[binary encode hex $magicTag]" - } - return $fontsInfo -} - - - # _ReadTTCHeader $fd - # ------------------ - # scan the TTC header and - # returns a list of fontsOffset ( i.e. where each sub-font starts ) -proc _ReadTTC_Header {fd} { - binary scan [read $fd 8] SuSuIu majorVersion minorVersion numFonts - #extract a list of 32bit integers - binary scan [read $fd [expr {4*$numFonts}]] "Iu*" fontsOffset - - # NOTE: if majorVersion > 2 there can be a trailing digital-signature section .... - # ... IGNORE IT - - return $fontsOffset -} - - - # _ReadSimpleFontFile $fd - # ----------------------- - # returns a font-info dictionary (or an error ...) -proc _ReadSimpleFontFile {fd} { - # Assert: we are at the beginng of the Table-Directory - binary scan [read $fd 8] SuSuSuSu numTables searchRange entrySelector rangeShift - - # scan the Table Directory ... we are just interested with the 'name' table - set tableName {} - for {set n 0} {$n<$numTables} {incr n} { - binary scan [read $fd 16] a4H8IuIu tableName _checksum start _length - if { $tableName == "name" } break - } - if { $tableName != "name" } { - error "No \"name\" table found." - } - - seek $fd $start - return [_ReadTable.name $fd] -} - - - # _convertfromUTF16BE $data - # ------------------------- - # convert strings from UTF16BE to (tcl)Unicode strings. - # NOTE: - # When font-info is extracted from namerecords with platformID==3 (Windows) - # data (binary strings) are originally encoded in UTF16-BE. - # These data should be converted in (tcl)Unicode strings. - # Since the "tcl - unicode encoding" is BigEndian or LittleEndian, depending - # on the current platform, two variants of _convertfromUTF16BE areprovided; - # the right conversion will be choosen once at load-time. -if { $::tcl_platform(byteOrder) == "bigEndian" } { - proc _convertfromUTF16BE {data} { - encoding convertfrom unicode $data - } -} else { - proc _convertfromUTF16BE {data} { - # swp bytes, then call encoding unicode .. - binary scan $data "S*" z - encoding convertfrom unicode [binary format "s*" $z] - } -} - - # _ReadTable.name $fd - # -------------------- - # Scan the 'name' table and return a font-info dictionary. - #' { - # Reference Specification: - # see http://www.microsoft.com/typography/otspec/name.htm - # NOTE: - # We don't care to extract all the (repeated) info for different platforms, - # encodings, languages. - # Running on Windows we extract details from records having - # platform: 3 (windows) - # encoding: 1 (Unicode BMP (UCS-2)) - # language: 0x0409 (English (US)) - # (NOTE: The encoding UCS-2 is a subset of UTF-18BE) - # Running on non-Windows, we extract details from records having - # platform: 1 (macintosh) - # encoding: 0 (macRoman) - # language: 0 (American English) - -proc _ReadTable.name {fd} { - variable _NameID2Str - set startPos [tell $fd] ;# save the start of this Table - binary scan [read $fd 6] "SuSuSu" format count stringOffset - set storageStart [expr {$startPos + $stringOffset}] - #Each nameRecord is made of 6 UnsignedShort - binary scan [read $fd [expr {2*6*$count}]] "Su*" nameRecord - - set nameinfo [dict create] - # Scan all the nameRecords. - if { $::tcl_platform(platform) == "windows" } { - set baseTriplet [binary format "SSS" 3 1 0x0409] - } else { - set baseTriplet [binary format "SSS" 1 0 0] - } - # Assert: nameRecords are sorted by platformID,encodingID,languageID,nameID - foreach { platformID encodingID languageID nameID length offset } $nameRecord { - set currTriplet [binary format "SSS" $platformID $encodingID $languageID] - set cmp [string compare -nocase $baseTriplet $currTriplet] - if { $cmp == 0 } { - seek $fd [expr {$storageStart+$offset}] - binary scan [read $fd $length] "a*" value - if { $nameID > 25 } break ;# no reason to scan the rest of the table .. - set nameIDstr [dict get $_NameID2Str $nameID] - dict set nameinfo $nameIDstr $value - } - if { $cmp == -1 } break ;# no reason the scan the rest of the table .. - } - # Windows only: extracted strings from records with platformID == "windows" - # ara in UTF-16BE format. They should be converted. - if { $::tcl_platform(platform) == "windows" } { - dict for {key data} $nameinfo { - dict set nameinfo $key [_convertfromUTF16BE $data] - } - } - # if $format == 1, there should be a 'languageTag section' - # ... IGNORE IT - - return $nameinfo -} diff --git a/tkextrafont/pkgIndex.tcl b/tkextrafont/pkgIndex.tcl deleted file mode 100644 index cb0a0ee..0000000 --- a/tkextrafont/pkgIndex.tcl +++ /dev/null @@ -1,6 +0,0 @@ -package ifneeded extrafont 1.2 \ - "pwd; - source extrafont.tcl; \ - source futmp.tcl; \ - load [file join [list [pwd]] libextrafont[info sharedlibextension]]; - package provide extrafont 1.2;"