From 8ab64b28b960964047a78e9ce8d6cddac2247d7c Mon Sep 17 00:00:00 2001 From: ComputerGenie Date: Mon, 1 Jan 2024 10:32:40 -0600 Subject: [PATCH] DP Replace DP specific changes Test prerelease --- .github/workflows/Ocean_all_cd.yml | 120 ++ .gitignore | 7 +- .vscode.template/c_cpp_properties.json | 16 - .vscode.template/launch.json | 55 - .vscode.template/settings.json | 105 -- Dockerfile.focal.ci | 37 - Dockerfile.xenial.ci | 33 - README-dev.md | 32 +- README.md | 99 +- build.sh | 3 +- doc/images/dp-qt-promo-2020-01.jpg | Bin 0 -> 224868 bytes doc/images/komodo-qt-promo-2020-01.jpg | Bin 171271 -> 0 bytes patches/correct_usage_libcurl.diff | 118 -- patches/glibc_compat_patch.diff | 134 -- patches/openssl_m1.patch | 23 - src/komodo_utils.cpp | 17 +- src/qt/forms/overviewpage.ui | 200 +-- src/qt/komodooceangui.cpp | 15 +- src/qt/overviewpage.cpp | 10 +- src/qt/platformstyle.cpp | 11 +- src/qt/res/icons/komodo.ico | Bin 60105 -> 235234 bytes src/qt/res/icons/komodo.png | Bin 51446 -> 41923 bytes src/tui/LICENSE | 21 - src/tui/README.md | 52 - src/tui/lib/logo.txt | 39 - src/tui/lib/rpclib.py | 129 -- src/tui/lib/tuilib.py | 1992 ------------------------ src/tui/requirements.txt | 8 - src/tui/tui_assets.py | 67 - src/tui/tui_gateways_creation.py | 67 - src/tui/tui_gateways_usage.py | 96 -- src/tui/tui_oracles.py | 67 - src/tui/tui_rogue.py | 116 -- src/tui/tui_tetris.py | 96 -- src/version.h | 4 +- todo.txt | 59 - 36 files changed, 255 insertions(+), 3593 deletions(-) create mode 100644 .github/workflows/Ocean_all_cd.yml delete mode 100644 .vscode.template/c_cpp_properties.json delete mode 100644 .vscode.template/launch.json delete mode 100644 .vscode.template/settings.json delete mode 100644 Dockerfile.focal.ci delete mode 100644 Dockerfile.xenial.ci create mode 100644 doc/images/dp-qt-promo-2020-01.jpg delete mode 100644 doc/images/komodo-qt-promo-2020-01.jpg delete mode 100644 patches/correct_usage_libcurl.diff delete mode 100644 patches/glibc_compat_patch.diff delete mode 100644 patches/openssl_m1.patch delete mode 100644 src/tui/LICENSE delete mode 100644 src/tui/README.md delete mode 100644 src/tui/lib/logo.txt delete mode 100644 src/tui/lib/rpclib.py delete mode 100755 src/tui/lib/tuilib.py delete mode 100644 src/tui/requirements.txt delete mode 100755 src/tui/tui_assets.py delete mode 100755 src/tui/tui_gateways_creation.py delete mode 100755 src/tui/tui_gateways_usage.py delete mode 100755 src/tui/tui_oracles.py delete mode 100755 src/tui/tui_rogue.py delete mode 100755 src/tui/tui_tetris.py delete mode 100644 todo.txt diff --git a/.github/workflows/Ocean_all_cd.yml b/.github/workflows/Ocean_all_cd.yml new file mode 100644 index 00000000..cd9b970e --- /dev/null +++ b/.github/workflows/Ocean_all_cd.yml @@ -0,0 +1,120 @@ +name: DPOcean Auto-release + +on: + push: + branches: + - main + +jobs: + setVars: + name: Set Variables + runs-on: ubuntu-latest + outputs: + branch: ${{ steps.eb.outputs.branch }} + sha_short: ${{ steps.sc.outputs.sha_short }} + steps: + - name: Extract branch name + id: eb + run: | + echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT + + - name: Shortify commit sha + id: sc + run: | + echo "sha_short=$(echo ${GITHUB_SHA::7})" >> $GITHUB_OUTPUT + + linux-build: + name: Linux Build + runs-on: ubuntu-latest + steps: + + - name: Checkout code + uses: actions/checkout@v4 + - name: Install deps (Linux) + run: | + sudo apt-get update + sudo apt-get upgrade -y + sudo apt-get install -q autoconf automake bsdmainutils build-essential g++-multilib libc6-dev libcurl4-gnutls-dev libtool ncurses-dev unzip zlib1g-dev -y + - name: Build (Linux) + run: | + ./zcutil/build.sh + mv src/qt/komodo-qt src/qt/DP-qt-linux + zip --junk-paths DP-qt-linux src/qt/DP-qt-linux + - name: Upload DP-qt-linux.zip as artifact + uses: actions/upload-artifact@v4 + with: + name: DP-qt-linux + path: ./DP-qt-linux.zip + + windows-build: + name: Windows Build (mingw) + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Install deps (Windows) + run: | + sudo apt-get update + sudo apt-get upgrade -y + sudo apt-get install -q autoconf automake bsdmainutils build-essential g++-multilib libboost-all-dev libc6-dev libcurl4-gnutls-dev libdb++-dev libevent-dev libncurses-dev libprotobuf-dev -y + sudo apt-get install -q libqrencode-dev libsodium-dev libssl-dev libtool mingw-w64 ncurses-dev protobuf-compiler software-properties-common zlib1g-dev -y + curl https://sh.rustup.rs -sSf | sh -s -- -y + source $HOME/.cargo/env + rustup target add x86_64-pc-windows-gnu + sudo update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix + sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix + - name: Build (Windows) + run: | + ./zcutil/build-win.sh + mv src/qt/komodo-qt.exe src/qt/DP-qt-win.exe + zip --junk-paths DP-qt-win src/qt/DP-qt-win.exe + - name: Upload DP-qt-win.zip as artifact + uses: actions/upload-artifact@v4 + with: + name: DP-qt-win + path: ./DP-qt-win.zip + + publish-release: + name: Publishing releases + runs-on: ubuntu-latest + needs: [linux-build, windows-build, setVars] + steps: + - name: Download DP-qt-linux.zip + uses: actions/download-artifact@v4 + with: + name: DP-qt-linux + - name: Download DP-qt-win.zip + uses: actions/download-artifact@v4 + with: + name: DP-qt-win + + - name: Create Release + id: create_release + uses: actions/create-release@latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ needs.setVars.outputs.branch }}_prerelease_${{ needs.setVars.outputs.sha_short }} + release_name: Prrelease at ${{ needs.setVars.outputs.sha_short }} + draft: false + prerelease: true + - name: Upload Linux Release Asset + id: upload-linux-release-asset + uses: actions/upload-release-asset@latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./DP-qt-linux.zip + asset_name: DP_linux.zip + asset_content_type: application/zip + - name: Upload Windows Release Asset + id: upload-windows-release-asset + uses: actions/upload-release-asset@latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./DP-qt-win.zip + asset_name: DP_win.zip + asset_content_type: application/zip diff --git a/.gitignore b/.gitignore index d0568928..37c2544e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,14 @@ *.tar.gz *.deb *.exe +*.diff src/bitcoin src/zcashd src/zcash-cli src/zcash-gtest src/zcash-tx src/test/test_bitcoin +src/cryptoconditions/compile # Zcash utilities src/zcash/GenerateParams @@ -82,6 +84,7 @@ background.tiff* # Unit-tests Makefile.test src/test/buildenv.py +src/univalue/test/object # Resources cpp qrc_*.cpp @@ -131,8 +134,10 @@ src/qt/gen* src/config/komodo-config.h src/config/komodo-config.h.in src/komodod +src/komodo-cli src/qt/komodo-qt +DP-qt-linux # chain files for iguana src/qt/*_7776 - +*_7776 diff --git a/.vscode.template/c_cpp_properties.json b/.vscode.template/c_cpp_properties.json deleted file mode 100644 index fdf270fb..00000000 --- a/.vscode.template/c_cpp_properties.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "configurations": [ - { - "name": "Linux", - "includePath": [ - "${workspaceFolder}/**" - ], - "defines": ["ENABLE_MINING","ENABLE_WALLET","USE_ASM"], - "compilerPath": "/usr/bin/g++", - "cStandard": "c11", - "cppStandard": "c++11", - "intelliSenseMode": "gcc-x64" - } - ], - "version": 4 -} \ No newline at end of file diff --git a/.vscode.template/launch.json b/.vscode.template/launch.json deleted file mode 100644 index 2a5a9855..00000000 --- a/.vscode.template/launch.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "(gdb) Launch (komodo-qt)", - "type": "cppdbg", - "request": "launch", - "program": "${workspaceFolder}/src/qt/komodo-qt", - "args": ["-minrelaytxfee=0.000035", "-opretmintxfee=0.004","-debug=mempool","-listen=0","-server=1"], - "stopAtEntry": false, - "cwd": "${workspaceFolder}", - "environment": [], - "externalConsole": false, - "MIMode": "gdb", - "setupCommands": [ - { - "description": "Enable pretty-printing for gdb", - "text": "-enable-pretty-printing", - "ignoreFailures": true - }, - { - "description": "Set Disassembly Flavor to Intel", - "text": "-gdb-set disassembly-flavor intel", - "ignoreFailures": true - } - ] - }, - { - "name": "(gdb) Launch (komodo-test)", - "type": "cppdbg", - "request": "launch", - "program": "${workspaceFolder}/src/komodo-test", - "stopAtEntry": false, - "cwd": "${workspaceFolder}", - "environment": [], - "externalConsole": false, - "MIMode": "gdb", - "setupCommands": [ - { - "description": "Enable pretty-printing for gdb", - "text": "-enable-pretty-printing", - "ignoreFailures": true - }, - { - "description": "Set Disassembly Flavor to Intel", - "text": "-gdb-set disassembly-flavor intel", - "ignoreFailures": true - } - ] - } - ] -} diff --git a/.vscode.template/settings.json b/.vscode.template/settings.json deleted file mode 100644 index 4e666c0d..00000000 --- a/.vscode.template/settings.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "files.associations": { - "iostream": "cpp", - "array": "cpp", - "cctype": "cpp", - "cmath": "cpp", - "csignal": "cpp", - "cstdarg": "cpp", - "cstddef": "cpp", - "cstdio": "cpp", - "cstdlib": "cpp", - "cstring": "cpp", - "ctime": "cpp", - "cwchar": "cpp", - "cwctype": "cpp", - "atomic": "cpp", - "hash_map": "cpp", - "strstream": "cpp", - "*.tcc": "cpp", - "bitset": "cpp", - "chrono": "cpp", - "clocale": "cpp", - "complex": "cpp", - "condition_variable": "cpp", - "cstdint": "cpp", - "deque": "cpp", - "list": "cpp", - "unordered_map": "cpp", - "vector": "cpp", - "exception": "cpp", - "fstream": "cpp", - "functional": "cpp", - "future": "cpp", - "initializer_list": "cpp", - "iomanip": "cpp", - "iosfwd": "cpp", - "istream": "cpp", - "limits": "cpp", - "memory": "cpp", - "mutex": "cpp", - "new": "cpp", - "ostream": "cpp", - "numeric": "cpp", - "ratio": "cpp", - "sstream": "cpp", - "stdexcept": "cpp", - "streambuf": "cpp", - "system_error": "cpp", - "thread": "cpp", - "cinttypes": "cpp", - "type_traits": "cpp", - "tuple": "cpp", - "typeindex": "cpp", - "typeinfo": "cpp", - "utility": "cpp", - "optional": "cpp", - "string_view": "cpp", - "*.ipp": "cpp", - "csetjmp": "cpp", - "codecvt": "cpp", - "forward_list": "cpp", - "unordered_set": "cpp", - "algorithm": "cpp", - "filesystem": "cpp", - "rope": "cpp", - "slist": "cpp", - "scoped_allocator": "cpp", - "shared_mutex": "cpp", - "cfenv": "cpp", - "regex": "cpp", - "valarray": "cpp", - "string": "cpp", - "*.cuh": "cpp", - "Makefile*.include": "automake" - }, - // The following will hide unneeded files in the editor - "files.exclude": { - "**/*.o": true, - "**/*.a": true, - "**/*.lo": true, - "**/*.Po": true, - "**/*.Plo": true, - "**/*.la": true, - "**/*.lai": true, - "depends/sources": true, - "depends/work": true, - "depends/built": true, - "depends/x86_64-unknown-linux-gnu": true - }, - "files.watcherExclude": { - "**/.git/objects/**": true, - "**/.git/subtree-cache/**": true, - "**/*.o": true, - "**/*.a": true, - "**/*.lo": true, - "**/*.Po": true, - "**/*.Plo": true, - "**/*.la": true, - "**/*.lai": true, - "depends/sources": true, - "depends/work": true, - "depends/built": true, - "depends/x86_64-unknown-linux-gnu": true - } -} \ No newline at end of file diff --git a/Dockerfile.focal.ci b/Dockerfile.focal.ci deleted file mode 100644 index bffdaf9f..00000000 --- a/Dockerfile.focal.ci +++ /dev/null @@ -1,37 +0,0 @@ -FROM ubuntu:20.04 -# Environment for build KomodoOcean - -# Build container: -# docker build -f Dockerfile.focal.ci --build-arg BUILDER_NAME=$USER --build-arg BUILDER_UID=$(id -u) --build-arg BUILDER_GID=$(id -g) -t ocean_focal_builder . -# Run interactive session in build environment: -# docker run -u $(id -u ${USER}):$(id -g ${USER}) -v $PWD:$PWD -w $PWD -e HOME=/root -it ocean_focal_builder -# Run build itself: -# delete ./built/x86_64-unknown-linux-gnu before build (!) other version of linux, then do: -# ./zcutil/clean-help-dev.sh ; make clean ; zcutil/build.sh -j$(nproc --all) -# -# docker run -u $(id -u ${USER}):$(id -g ${USER}) -v $PWD:$PWD -w $PWD -e HOME=/root ocean_focal_builder /bin/bash -c "./zcutil/clean-help-dev.sh ; make clean ; zcutil/build.sh -j$(nproc --all)" - -ARG DEBIAN_FRONTEND=noninteractive -ARG BUILDER_NAME=builder -ARG BUILDER_UID=1000 -ARG BUILDER_GID=1000 -ENV TZ=Europe/Amsterdam - -RUN \ - apt-get update && apt-get install --no-install-recommends -y apt-transport-https ca-certificates curl &&\ - sed -i 's/archive\.ubuntu\.com/mirror\.nl\.leaseweb\.net/g' /etc/apt/sources.list &&\ - sed -i 's/http:/https:/g' /etc/apt/sources.list &&\ - apt-get update && apt-get install -y sudo &&\ - groupadd --gid ${BUILDER_GID} --force ${BUILDER_NAME} &&\ - adduser --disabled-password --gecos '' --no-create-home $BUILDER_NAME --uid ${BUILDER_UID} --gid ${BUILDER_GID} &&\ - adduser $BUILDER_NAME sudo &&\ - echo "$BUILDER_NAME ALL=(ALL:ALL) NOPASSWD: ALL" | tee /etc/sudoers.d/$BUILDER_NAME &&\ - apt-get install --no-install-recommends -y build-essential pkg-config libc6-dev m4 g++-multilib autoconf libtool ncurses-dev unzip git python bison zlib1g-dev wget libcurl4-gnutls-dev bsdmainutils automake &&\ - apt-get install --no-install-recommends -y mingw-w64 &&\ - echo 1 | update-alternatives --config x86_64-w64-mingw32-gcc &&\ - echo 1 | update-alternatives --config x86_64-w64-mingw32-g++ &&\ - apt-get install --no-install-recommends -y librsvg2-bin libtiff-tools cmake imagemagick libcap-dev libz-dev libbz2-dev python3-setuptools libtinfo5 xorriso &&\ - chmod -R 777 /root -RUN \ - apt-get clean && rm -rf /var/lib/apt/lists/* - diff --git a/Dockerfile.xenial.ci b/Dockerfile.xenial.ci deleted file mode 100644 index 3c9cdc77..00000000 --- a/Dockerfile.xenial.ci +++ /dev/null @@ -1,33 +0,0 @@ -FROM ubuntu:16.04 -# Environment for build KomodoOcean - -# Build container: -# docker build -f Dockerfile.xenial.ci --build-arg BUILDER_NAME=$USER --build-arg BUILDER_UID=$(id -u) --build-arg BUILDER_GID=$(id -g) -t ocean_xenial_builder . -# Run interactive session in build environment: -# docker run -u $(id -u ${USER}):$(id -g ${USER}) -v $PWD:$PWD -w $PWD -e HOME=/root -it ocean_xenial_builder -# Run build itself: -# delete ./built/x86_64-unknown-linux-gnu before build (!) other version of linux, then do: -# ./zcutil/clean-help-dev.sh ; make clean ; zcutil/build.sh -j$(nproc --all) -# -# docker run -u $(id -u ${USER}):$(id -g ${USER}) -v $PWD:$PWD -w $PWD -e HOME=/root ocean_xenial_builder /bin/bash -c "./zcutil/clean-help-dev.sh ; make clean ; zcutil/build.sh -j$(nproc --all)" - -ARG DEBIAN_FRONTEND=noninteractive -ARG BUILDER_NAME=builder -ARG BUILDER_UID=1000 -ARG BUILDER_GID=1000 -ENV TZ=Europe/Amsterdam - -RUN \ - apt-get update && apt-get install --no-install-recommends -y apt-transport-https ca-certificates curl &&\ - sed -i 's/archive\.ubuntu\.com/mirror\.nl\.leaseweb\.net/g' /etc/apt/sources.list &&\ - sed -i 's/http:/https:/g' /etc/apt/sources.list &&\ - apt-get update && apt-get install -y sudo &&\ - groupadd --gid ${BUILDER_GID} --force ${BUILDER_NAME} &&\ - adduser --disabled-password --gecos '' --no-create-home $BUILDER_NAME --uid ${BUILDER_UID} --gid ${BUILDER_GID} &&\ - adduser $BUILDER_NAME sudo &&\ - echo "$BUILDER_NAME ALL=(ALL:ALL) NOPASSWD: ALL" | tee /etc/sudoers.d/$BUILDER_NAME &&\ - apt-get install --no-install-recommends -y build-essential pkg-config libc6-dev m4 g++-multilib autoconf libtool ncurses-dev unzip git python bison zlib1g-dev wget libcurl4-gnutls-dev bsdmainutils automake &&\ - chmod -R 777 /root -RUN \ - apt-get clean && rm -rf /var/lib/apt/lists/* - diff --git a/README-dev.md b/README-dev.md index 7de6a4fe..ae817079 100644 --- a/README-dev.md +++ b/README-dev.md @@ -104,34 +104,4 @@ bcz few procedures uses `vcalc_sha256` even to check incoming block, so it needs ### part 4 -- Probably we have some unexpected / unpredictable behavior (strange side-effect) with this [linux_release_CFLAGS: -O1 -> -O2](https://github.com/DeckerSU/KomodoOcean/commit/511b27aba1c53b05acdc2a169eb374017b7b9145) commit. When wallet built with `CXXFLAGS='-g0 -O2'` all is ok, when with `CXXFLAGS='-g -O2'` - it's ok too. But when we tried to build wallet with just `CXXFLAGS='-g'` in `zcutil/build.sh ` it crashed somewhere in init of [CDBEnv](https://github.com/DeckerSU/KomodoOcean/blob/b8d315bbbece1cb3786855dae40de70a3f8385f0/src/wallet/db.cpp#L49). So, i just want to mention it here. In future it should be investigated to find a solution, may be commit should be reverted or additional BDB build flags should be added. - -### part 5 - -- If you want to build under Linux for multiple OSes from the same repo / folder, like, build for Win64 and then build for MacOS - you can do the following: -``` -make clean -make -C src/univalue clean -make -C src/cryptoconditions clean -rm src/qt/moc_*.cpp -``` -after each different build. - -### part 6 - -For some reason moving out `PKG_CONFIG_SYSROOT_DIR`, `PKG_CONFIG_LIBDIR`, `QT_MAC_SDK_NO_VERSION_CHECK` environment variables into $(package)_config_env as mentione here - https://github.com/bitcoin/bitcoin/commit/affbf58a1e52a8e60c830be6a9e0347e0ff4c28e doesn't work for Qt package build, so we define them in `$(package)_config_cmds` in `qt.mk`. - -### part 7 - -Valgrind usage example: - -- https://stackoverflow.com/questions/5134891/how-do-i-use-valgrind-to-find-memory-leaks - -```bash -valgrind --leak-check=full \ - --show-leak-kinds=all \ - --track-origins=yes \ - --verbose \ - --log-file=valgrind-out.txt \ - ./src/komodo-test --gtest_filter=ParseArgumentsTests.*:DeckerTests.* -``` +- Probably we have some unexpected / unpredictable behavior (strange side-effect) with this [linux_release_CFLAGS: -O1 -> -O2](https://github.com/DeckerSU/KomodoOcean/commit/511b27aba1c53b05acdc2a169eb374017b7b9145) commit. When wallet built with `CXXFLAGS='-g0 -O2'` all is ok, when with `CXXFLAGS='-g -O2'` - it's ok too. But when we tried to build wallet with just `CXXFLAGS='-g'` in `zcutil/build.sh ` it crashed somewhere in init of [CDBEnv](https://github.com/DeckerSU/KomodoOcean/blob/b8d315bbbece1cb3786855dae40de70a3f8385f0/src/wallet/db.cpp#L49). So, i just want to mention it here. In future it should be investigated to find a solution, may be commit should be reverted or additional BDB build flags should be added. \ No newline at end of file diff --git a/README.md b/README.md index 04020592..9eabe868 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,37 @@ -# KomodoOcean (komodo-qt) # +# DigitalPrice-qt # -![Downloads](https://img.shields.io/github/downloads/DeckerSU/KomodoOcean/total) +![Downloads](https://img.shields.io/github/downloads/DigitalPrice/DP-Wallet/total) -![](./doc/images/komodo-qt-promo-2020-01.jpg) +![](./doc/images/dp-qt-promo-2020-01.jpg) -Komodo-Qt (KomodoOcean) is a world-first Qt native wallet for KMD ([Komodo](https://komodoplatform.com/)) and smartchains (assetchains). It's available for three OS platforms - Windows, Linux, MacOS. +DigitalPrice-Qt is a world-first Qt native wallet for DP ([DigitalPrice](https://digitalprice.org/)). It's available for three OS platforms - Windows, Linux, MacOS. -Use the default `static` branch and following scripts to build: +**NB!** We have three branches: -- Linux: `build.sh` (native build) + +- [static](../../tree/static) for tested public master. +- [beta](../../tree/beta) for testing before release. +- [dev](../../tree/dev) for incomplete, untested, or in-process development. + +Only one branch ([static](../../tree/static)) is needed for building executable DigitalPrice-Qt binaries for all 3 major OSs. + +Use the following scripts to build: + +- Linux: `build-linux.sh` (native build) - Windows: `build-win.sh` (cross-compilation for Win) -- MacOS: `build-mac-cross.sh` (cross-compilation for OSX) - MacOS: `build-mac.sh` (native build) -Visit `#🤝│general-support` or `#wallet-ocean-qt` channel in [Komodo Discord](https://komodoplatform.com/discord) for more information. - ## How to build? ## #### Linux ```shell #The following packages are needed: -sudo apt-get install build-essential pkg-config libc6-dev m4 g++-multilib autoconf libtool ncurses-dev unzip git python bison zlib1g-dev wget libcurl4-gnutls-dev bsdmainutils automake curl +sudo apt-get install build-essential pkg-config libc6-dev m4 g++-multilib autoconf libtool ncurses-dev unzip git python python-zmq zlib1g-dev wget libcurl4-gnutls-dev bsdmainutils automake curl ``` ```shell -git clone https://github.com/DeckerSU/KomodoOcean --branch static --single-branch +git clone https://github.com/DigitalPrice/DP-Wallet --branch static --single-branch cd komodo ./zcutil/fetch-params.sh # -j8 = using 8 threads for the compilation - replace 8 with number of threads you want to use @@ -33,39 +39,26 @@ cd komodo #This can take some time. ``` -#### OSX (Cross-compile) - -Before start, read the following docs: [depends](https://github.com/bitcoin/bitcoin/blob/master/depends/README.md), [macdeploy](https://github.com/bitcoin/bitcoin/blob/master/contrib/macdeploy/README.md) . - -Install dependencies: -``` -sudo apt-get install curl librsvg2-bin libtiff-tools bsdmainutils cmake imagemagick libcap-dev libz-dev libbz2-dev python3-setuptools libtinfo5 xorriso -# sudo apt-get install libstdc++-$(g++ -dumpversion)-dev # in the event of errors occurring while building native_libtapi -``` - -Place prepared SDK file `Xcode-12.1-12A7403-extracted-SDK-with-libcxx-headers.tar.gz` in repo root, use `build-mac-cross.sh` script to build. - -As an alternative you can download this file from [bitcoincore.org](https://bitcoincore.org/depends-sources/sdks/Xcode-12.1-12A7403-extracted-SDK-with-libcxx-headers.tar.gz). -#### OSX (Native) +#### OSX Ensure you have [brew](https://brew.sh) and Command Line Tools installed. ```shell # Install brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" # Install Xcode, opens a pop-up window to install CLT without installing the entire Xcode package -xcode-select --install +xcode-select --install # Update brew and install dependencies brew update brew upgrade brew tap discoteq/discoteq; brew install flock brew install autoconf autogen automake -# brew install gcc@6 +brew install gcc@6 brew install binutils brew install protobuf brew install coreutils brew install wget # Clone the Komodo repo -git clone https://github.com/DeckerSU/KomodoOcean --branch static --single-branch +git clone https://github.com/DigitalPrice/DP-Wallet --branch static --single-branch # Change master branch to other branch you wish to compile cd komodo ./zcutil/fetch-params.sh @@ -74,19 +67,6 @@ cd komodo # This can take some time. ``` -macOS 12 (Monterrey) have incompatible version of Xcode `14.2` (Build version 14C18), to build on Monterrey you'll need to install the older version `13.2.1` using the following steps: - -- Download the specific Xcode 13.2.1 version from [here](https://stackoverflow.com/questions/10335747) or [here](https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_13.2.1/Xcode_13.2.1.xip). -- [Install](https://stackoverflow.com/questions/43663097/how-to-install-xcode-from-xip-file) it. -- To set default Xcode version run this command: -``` -sudo xcode-select -switch /Applications/Xcode_13.2.1.app -``` -- To check default Xcode version in your system use this command: -``` -xcodebuild -version -``` - #### Windows Use a debian cross-compilation setup with mingw for windows and run: ```shell @@ -100,49 +80,16 @@ sudo update-alternatives --config x86_64-w64-mingw32-gcc sudo update-alternatives --config x86_64-w64-mingw32-g++ # (configure to use POSIX variant) -git clone https://github.com/DeckerSU/KomodoOcean --branch static --single-branch +git clone https://github.com/DigitalPrice/DP-Wallet --branch static --single-branch cd komodo ./zcutil/fetch-params.sh # -j8 = using 8 threads for the compilation - replace 8 with number of threads you want to use ./zcutil/build-win.sh -j8 #This can take some time. ``` -**komodo is experimental and a work-in-progress.** Use at your own risk. - -*p.s.* Currently only `x86_64` arch supported for MacOS, build for `Apple M1` processors unfortunately not yet supported. - -## Create komodo.conf ## - -Before start the wallet you should [create config file](https://github.com/DeckerSU/KomodoOcean/wiki/F.A.Q.#q-after-i-start-komodo-qt-i-receive-the-following-error-error-cannot-parse-configuration-file-missing-komodoconf-only-use-keyvalue-syntax-what-should-i-do) `komodo.conf` at one of the following locations: - -- Linux - `~/.komodo/komodo.conf` -- Windows - `%APPDATA%\Komodo\komodo.conf` -- MacOS - `~/Library/Application Support/Komodo/komodo.conf` +**DigitalPrice is experimental and a work-in-progress.** Use at your own risk. -With the following content: -``` -txindex=1 -rpcuser=komodo -rpcpassword=local321 # don't forget to change password -rpcallowip=127.0.0.1 -rpcbind=127.0.0.1 -server=1 -``` - -Bash one-liner for Linux to create `komodo.conf` with random RPC password: - -``` -RANDPASS=$(tr -cd '[:alnum:]' < /dev/urandom | fold -w16 | head -n1) && \ -tee -a ~/.komodo/komodo.conf << END -txindex=1 -rpcuser=komodo -rpcpassword=${RANDPASS} -rpcallowip=127.0.0.1 -rpcbind=127.0.0.1 -server=1 -END -``` ## Developers of Qt wallet ## diff --git a/build.sh b/build.sh index 285ced07..a15ab6ad 100755 --- a/build.sh +++ b/build.sh @@ -1,3 +1,4 @@ #!/usr/bin/env bash -zcutil/build.sh +zcutil/build.sh -j$(nproc) +cp src/qt/komodo-qt DP-qt-linux diff --git a/doc/images/dp-qt-promo-2020-01.jpg b/doc/images/dp-qt-promo-2020-01.jpg new file mode 100644 index 0000000000000000000000000000000000000000..34e99003307e840fe0972844085d7b53590ab14e GIT binary patch literal 224868 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

K(X7WD-Ko!t>;LZo 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� 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 z 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 z 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%0A;m00`E)=jn=gcqg4>F;s~PxUNf5Ha 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 literal 0 HcmV?d00001 diff --git a/doc/images/komodo-qt-promo-2020-01.jpg b/doc/images/komodo-qt-promo-2020-01.jpg deleted file mode 100644 index 704fb7914e85e831890b09c48f426bc10fbd1a1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171271 zcmce-1yodD+c-Lih>C(pcS(0MLrHg+v@mqf(5<2%-6bU;-QA!PLw7TP(yep}{158y z{oZ%o@B7wW_uh5)Vx8G%*VE5__I?gG(>LEigi;>X79fzE924k1=)cO%4hUP)6>94V zLIK?cnoU8VoA0QORxU115O#J4XEqZvM^ke)sG~i*hlvwACmRPlNJ!Mf$pmU^?m}s5 zZfWfxO#P#&jhfQhOqg1SSBXQ(Ny6O9TGk70uHmJu3H7ptg3YK!MJR!qj57P$^$1sZvTf!p$jp**I9C9DJOVd^~KN zJRD#iFbgFY2PX$RCl@;hKPx8(gqI(}!AbeIPy^85W)={2N$J0^fHz_4zeKsayR*4- zvpK>o**U>rFgphqI~Nx#FoMF3$Ns(fwzx+5Z!su>;7k z-zvwyDa$`ifCk=H|E2oC%fF1r+ySr{IA9t#dmy^s3J)^-445DaDhTf`>b-}LK_K`b z2t|qGY5JLLixW_?%WoX-_JX!x8?4?%HQdCP*Com0t5c7=U+qq_sY#z z5cYkPZ+BjyqF{sWV56X7qug|$Xx`$DhJx~6o&|IV747al^!pD`9sLA=pejzoO(^k<|0S)I zG&TSapbhQ*LyU(QXlVCQ@1UUG#YO{BJ>|r?C#FWth5N(=7Cl14jYs)9vqD@w<{3{M z$8%HoXzbWHFFyL0HxkZO)vob;ZmK`OXH|aHfYR1X><45oYqq;|&=I_peEVrd%REQh zBIxNYMt9IL&>!Bti*`#PKnyk&D(BNDVrnMQ)ORVL|AYY$zKn3;aC{es({Q7y?yH-| zWK}xj^1S&vI<}NuSF8Qwh!Xh1CQ!8@E=W}w_byXDqzcAGIFYUuU z8uGmWiA6pK9$3#&$Oi?>=(W4SUbHu$*zA?m1#kbAjSIO2kwiGtidrWD?m?AAK@Vc{ zU>wq1?3TeQQP$J71>c`V7QLwZD|m=l7u*wzT%Mb1xd)vyjN7#L3_hn_GNZ4TkZboP zL(`p?j@efIXwgX2UyYxaz1Tgqq@k!6md3MmuEe}By7>dI=U^ydDMdPCZ}ZikHFb=` znkrpw$JkYy;I6jo^olKTm+c?y@@Cq>r^Mrbu*8GOP)A6Ss&yBQ zgim*M2~`s#bMV_}rOMjG0%AW-trTz^;MUhs|Afa0ctYguvdI@;-5cJrU*Kt#>r6<8 zqFc6WJ&v24>GFgrPL7W7`EL3_dx8&5ibKs5b)jpOoC2|YWHxgX8$SqodOE&6PP0o1 z;!Ah5e%XKVjXZKuUK!~#ai;q#6|d9po-I9wvvKJ>*lS|IugS%1Tj$+H>e0SJNGZTh zn^LA49bCO4EtnQleHn*f9x{TVz9I;kM` zlbfM}xCUy4W;uu&r69LN@=?y63WH(|lT>d-9d6$4kR5)-%}_d8`GSWb1rOhQakdHA zSgPmF##faXjF+{MF#ACoigfKC*urA@m*{poeMb=`i)`GZYL?!?GFipgh;h%pi2|ZuxfP-6U2360EUx>2oi2{+46^Me`vUs zUFhwYTjBvW0GI*X(CW@w`UfekP6E8&Ok?i5-aMrVIf>0W?>asj%6a}bob&c>^-qtwlH7t(8ggxeWVt1BzT2Di_RPY^giUP9{sN1_RtT zjgaOCxUv*68Nsjvg~?2B)9Y?@Ero`}N7?`&$p981)y_Iqzh2@@bnO6Wg<0psKiPrm zl}Zut-YQ5Zsd}j^63`_nBPdM87EK|f9^hGtK?ti3H6TK%!urAq_2$;S40r?Hh1vd~ zLU@bu)-{Z%_@WON_PNIpJ*Bhd^6gH;zzrz5b>J%*&e+PY&;ya_?Z&IOSKwm@9q+Pr z9nL0p>swruQxfMuLbzp2uWm?EhNpUy4>zvdOHm3UQXsu4bDoUB^3&#z#De^Qv-6B3wpu??DCuj4G5g6av^ttzU_{`z4i`sfCv%TRAP(00Z5 z(@*&_V{MUBklpqcWdP75KXs%uWZR~NaHdpB5@6`9kpcRdzXJWErXi576+rhw!1BTd z4uHUKG5({>Qc4CP+Kal)?gm;D1iy_1FyQl!ZHo9r>d=tV8bC>P@bp4M045vgBpS}` zxtnGv8S%E{lL1U-PkwTd!lcA|UNu~S*|CZ#NVnq)UMH^FY7;gQ*Bj-_0~ZLj?aYjd@*ZjgK)ICIi^ZZ&&aK&uEz!e@Flny5V=%?8w#< zoMG$M`Q4fsE}T)#$7r%JAo|w2>$3~l0IWNiN?!9+E=4faXKiZ%h6~dwtk1f|+IMcx zwPsg>pQ@2L9qrtmBpMrTnrhGQJ%KA702MqHadUzmAG@Y|s z(xWgr&O#7@sqKuvhPBds+?^ewHD|OowN{ea%p9$AOMIeV8?T+k_95Y^5j3)=%RqDf zO}a2l2QWidKvVJoe#4n^Jl*I0*7fRY*(#EbeO7G>w4}7(Nof|ptFdNIQ`5?nFJ=uBSRu|naGXZ1XQR^M)#4n1L zDximGd8LL+lf4_Hr>xHo5h#k5VV0qe;Tw_Ek00K7E5dAjwmZj{=_%#WMb4(HtYoF-D@vOsLmJ9Cu~n1sdl@z-PG2m) z?X@_-DWGpM!}zr^Eyj==KU2s|x&f^#tOqbJtS@70szYvTbr+7iRRf|94Vf5hQNXfk z&e$+Wi|ukFDY#RJ0rS9*$m8r{_vEry_@uGL+qyBYP}d8& z>ZizAYfwF8(P2I(sm$W0?Nf(qGIZQl@SmW5zrDg&#y>YrwtA##j{1S@@Y{g?jz6zJ z;a`w29lX^kx63rZx^8z>T(|1j+HhXyXtJ*dqQ0{W*_$&)9PP@s1ZWP5BhF0YX65^3 z{q<~3W|9-L$o~e|Z4+v;@Zq<4{hbWn5`YX~XEd|{Hfi{FlkafNALo;!Xi}CY53y^& z-3^NO&h2t_ROp43*lV94Cu1fX?G;XC{GTih`R7J3C|jz3y%|0(mfE?pKp9Bq)ywE)q<_Vjsb7 zcZlmdZLw2|SdW5d*~*DcXY zAg*m;b#4M&`f+xim+)0Y{LUCs#rmC51d)tL&GEQkcuk_rGuP{N>jiERuWc;eQP$$= zTKyvT9s7j3mI4=J{6aSs(Y_Y%raa?V(~2lNXUo7&p$wE%5AwrMi`o^V<&Y6QK3c}$ z|G*1`>F&Pxmba+V2MKTjhzEep7!O{3Yoxb=2l$kj4uLd<0+B^LVrGcx)acdG4M>tM z>$z~Sx3O&>aAx`+3Tpb*>31@RoeX|pL;M{I>EIgL_6=^Iat+rP#(74_*`r%AQ^c{Ntj%aFt5VLUG$jDu#A)#P$m90)Gs6VpWi{s7zNQm9VN zg3_KZ>Lz(4hRxUIVA8rqI+iQXN-l{JJbord+3CEO1BWIr|1L~vgqvY&rj7AM_W*X$ z@PtM2zW{LInWXa*^-{w|FcS(Q2D_kESfUm|^hylCSr zg7Y${H-@%yl|h%anid0^tbVfOgZNLu{)n^LdBtnU!@U(;G?otQOmzga{2V zlpb$N|C|@}^N2D<_&zsYZ62?L;p4!P5c$ftgHoP|#cQHTqk+TFX!*YFx`^%D9Ym_2 z?|Su=DPFH~ER)Qz^LCdt(6Tw{>+x;>*up%*+Pm^DOtT?boy)YDlgul=JGK57g3CRw z!~8{FmD69e?hpfee}GOux^ z(LM(zIfu6Sa2NZgtkY9R6lmBnd};u~?4{JUJ%4y1Q;oT$_?sphAiM>v3U@an<}&aH zU`pbhgzP9O_zu;^^|d@>MliogRI<5-T9PjnI0nLZlMM|1BJ&`yL0#l z-{-&0zkk4A7O#mX+4>G|qyM7XMn-cWDC*8*Z^}cKN-@pu<#(6^f&Xu>w_6tL?JfyX z$>P(%qR!!Y^YU)olp9*qr8Y_N!D z%&HYSk68T(Ot?c}>`ZQb`u-7Vb)2oVhK&Rp9o%%#r!3Lgdsu{Il6>H>s3P2EV$P6o z2hd^zjl`>=J*gsw;q20(tgNEn_;}l|w9YkM@eh}?2~Ox6ag%pV8sGb{y<^%^ECP)i zAn6O-?`*)a6UGjRj{A$^{ig{1UowK1k#Tk^7)Y)ul791R=4y?8YN}5YihOmk5ne2} zBgw`2Qu@M_x@1^o;vDP^eH|R!Z$Lq=0aZR5D_RpwmMH33zyVexiEM0-m)a147_$dr zuHR=xo!V=K-IgbtMgbK1o_2my^s(fla&HTE=EgcMapTCI%rS?_d9 z4eD@{rJ=$5rw{mbb{rNVpSbQjyfqZh;B&+(CIfIp_Rd4vYU?5pQ}%!!79|=`6>)R>opG%b&^J5l54ZhQGY+d2NDn z=QAa^YJ&o6>(t_W9tb}F$lsDW0=Q0CKYcopkamA-7dY~X$KRgxj26%7tA40R9))4} z;9ctSDH!fL=G|lKDeWI!?Tp8HO@IvUjLafpSTX+xFb0if___-Gz%IC~?}$D3qLpx} zB&W8Svx_&>;G7|3feyBF%pwbnzVqeNQcpA4en-{dqONO?eD0Lup?>Qxv7(lg^&lV& zUQsWd-N;E*>n`KC%tJDV^bWptaRBSFYISM?2XvkKR)rnkN1NnPAdqZ+6bR+%zue&+ zi{^vf1(O`#?7@qfVc|AjrSoi(0}f|k+%NkP0t$66VE*dn$cJ*Ce)Xn13dX%pqRGZKP}D9tH_;2$Rsjy#-*us zFw0;)LhSVxesxFJfhT1dytY+72MtBhS_Qh0jhuv{Vjskwv17q4!KF)4z;+I=)+^gy z+e-}h)_D$@a{asX{R@4`Ge1kR$uq>g!DnH~d6wt~;MN8zj=%lCe+aXa4j&UAVZDb% zaxXuHWiuKQ>21hMhfA6q-7!TaaQqrOPrdA^fhonbTN%dwiadT=l}SPpq3)0#k95cYAIV1)&Dr-WSDdxSUk7H)4F|0$$rKW;!Q8yOzwaP4NFG?!Zc z*T=$Jo5mWJ>8LaFVV|D}8X6}od^xM_1EB}flx0HCc5B=|&$9qW8gK^EZx&lLn;$*R zOKV`=FNh+ud-j~s!Xk%mHN8Ewab5N^sP?CwEkD}yNo@MIGq@Z8dM|I^ptTxi(9EZ2 z<(5J98k~+}#bHr<1eS72MU2XP@^l{i2Q}cnHE+JE^IU3kk-S$&e4{h6$jJG4aLJWD zQ%IU{tvL_F*-wlp@pYpUymc{bY;XIgRA*4kkfHaco!EefaAw1ZdMb&ET3ty$zk)zf zMP%Bgv9FN`Y@>3XzEP~Rc&EC?SsjPghl$mAc1R{4=oZ6KN2ms=J@-a zUV%XP*FqmiIu1@w9*2glP}9R3*gV>m-;sMs*s}Y}nA}5rK%M zro7q0oSM5-`jm^@$rJTGUbiPVgvj?R3zc*h?kcIaSA^H_^YRwWwOeU!d7@$(x{s_&1_t5BIjL)1lx?QmM~w7!mHMiTJA8T-p{ zuWa3EEmkd_pfyVqkmHMu*9foIr^IdHy*9J{VIyj|1H-ng9L+6^6HFwNR#Z}bx5X&K zjE_0k+WH;&#lW9g*oTlpC9&foHC?=w1U+iFbb6GY0_IuT(9&Fo`48Tp{;9Rac@e&v z6R#8P(di4hefHX2!wBYAegi)xE&SS;iMb}0SDCXR%Qm(pyoO49o5s3BFIQ@|D}Q}4 zKM;}A5YmWN4S;){M^42Rg&h9q^4BfS>ZI)Dtl~VFx9R-e#M|2D=2GP%By0fGem_!LxY zRHe8ldiUov5mZ9Z;~2`9axeH$CrW1WvNh}-t``$Fr3czcV912FpUt~1L4t=7Gu2CJ zzDU9BhT>WMIkbwBdVS)t^O_MKZ91|!ZetcZTWjqMaLx=kH8a#`w-jTHttKr6?R&_S zjNsJj52fK1kBERnQaZh%SARtUo@%5270ssVY(&_P)}? z5nt=eh=eSU!}rafe^J#)R3;bkN=fEdp|@$U6Q&CL{NOE}&;|O`C7ZzTLWhqfb0!3t zUU-OSi${STKD%^nqddg znNy;W3;OIdnne%@yu3j{VvX*6F0S2(6V5h&=Dw3oyzaxFvXF5Or6(4MX$^?9okNDe z5MBN+G8lWaQu7)66T1O#=`eI4Bnm&fcFzU2P+Z*BL?^OXHGxv~tQ1n6d6R2snic{h#Z(mC|7%#H12CF1>#?7bA%>w!X28TJrId-N15M~6+tmC44V z)7s^-6Xh~%JCoia{==QwXhHBq!$9t`do>O_m^*+ryb1e!(vi1aeaBj5shu-$28vEm zMiyJP=VqsW*w%G|p0NGxkC;ej_tJ0z)ALr!IIrkD)@%2s^mj8@7B&wI!yBe@pc1wo zYy(F`%WXyiZ)3WFWifStJXw3z3A7+b6hyxM2_ur zQrsB39SN_DvM2~C-sdIznDryuNTB$*p+&jiMey*C98c0ppr8RX2(uU;64+*UeP9 zqc)s1N4EoO+2Qzb^7p{8Oko?5c7@_?13x?TE`^7ViYQJDb}p-rWHK9xW|5I>k-v2j zE%j{Jq(HM7vOW({=YjE2JkKs|uTXyOf!G@B$;0*H6X4QRtirp%Qqcf?LHg4VkP~EZ ztoBqZ+u0n=)f`h+R`VY_7rQm1+IeKVM~?c5rbca%A!zr70%Z|G^?Sekh<00^uQcX~ zop|{6$Urd$UkY$eHfa|?2ejHUr+o(nKYAlQ{s;|?XKK}Uq16M?^ug0Ra^ zVUg_MYIl*R)8c!MZ6-4@PW*89Me^=^dJXOE4$3gn-I(G#vtKp>DO_1%ukzCyGv6N4 zAs6_9M20}}D4LCrEt)?vJv7to80{_2lPI`&1W7tTy2_x~ zwcVD^qkSzf=x*wfHh;R}5$^Xx*hs@RcncFj@!=K7fR_mv6 z;(+)`o;^?|es(E+8QB+OPuQq|*0u@uU~KVD!!;(jy9 z+5Od8xgX1!zC`?-kw*9?I(TZ&b{XipA7XaiwK2a%61}|Je{t2bCg9tS9Qngo5C*EF z!s_X~(4FDw$wWlTrcT#Ym6HG_qLB25?sxxuk3g(duTRB*`^siF5>amyrp_e%G%QC7pV;}b|47k91H?=ZxdzF(Kw(mG0ZY3p z6bPNqYtiHjv3>#>e7B7j;SySY{0(S+#F^dJzK}Clz;{du|K5{A2*K;w_de`~_1#Va z3U~_XC3^o#zx&O`mx?32Rq`)whWfQNocUJ)1vYhpW59OKPQA4@M~>QHhd^7N;}M?Ww5*lo17{=}8F#BlbZ z`NI%(1#-e)$wh}t(n9;3+`{^G9WVPF^^#F-joA-L@kLhZz3G~8$Gaa#5ZqJ5Q-l%E z)bIzbKRfgD!*W)^;gYtPS{NJ|Ih=wWzGL3P1+pCPB)tlwK6&G*3ya6Ati-1faaJ={8yuG&llPPAn&1?d7H^#7oQ#-YcHd?AB_+SuCC6b@j*LHGl z`uk5A_Ayr0(mO`YF2z;~((hISO8TM8X<-i95uN0v^tUoF9zP9%-x?qMlL;1GoTg+K zDFJ@#JHAe8w@vyClE$<*yGxg7McuC5SA$haoF-lMf__uqS2%u9wa+yXE1G|?vWB}E zk>z1?r4Dt@88*mIC3Y#j5Yp#E)>Vb0+X$Wu@{gWD&0s#L`Fy1CWeKLw1nqaur6)95*hFXKz!R>KY^hU3CX5EKU80+6>kJO;nh(abVM;nRqoNZc#M zmmXM>>Ev;%&qwqX3D}g*dd3@1AS`(#$inj7nO_;`IuKr>v+i)C@7!e{=KGjx6;9)} z>tlm=)QV&mF(p8usorR7ewfgd}_1?n=4Ho=ZBw<)x`2^-@k*?7D7 z0Wxnz6fI*blTAR^ta8lwCI@%3j7I+ToBUj+dkR&2t4%=?+_2;7Qx~EY$gwc2OT#yj zpS$9Xtp@Ksp`Re@LNGkqj zN6EtA+M_wS?zc%%JU7nz-zi@0NF53~A(dmYFZA!!WHoVf)a13O(|FOq9=pfJmWjnZ zMQeV zOSitj;Fn~&G9OeFgE!-CQeV5m%Cgz+rvWY|rrTUBAmxg1K(B#pZuQFgd%r9}x`#38 zcn6ux@TJ1(sluVaGN|FsneE{>Z$9GG>3H6M2lpTKhhZNyz-Qp%Uo3kF6er8=Q*wlU z10Q6yuVONnwW|@xUQdvgfE~Zzfb#8jZQ3fzXlhDyE8a9&>g7RE>ptGDbthi_Gs*_} z-({5~fr{6wXQ1ETeuD1)POM?mB))H`^%|I{ns7*qD0AOA#sWS?x_|rS6WSduA1yS^ zYCQFQ)Y1=Pin7ngyK;Fs3&Is`pc=$Uzh4?8;DM`;dr9K>85~s?GFzZt2yCcV7kj8# za#{lKTk{!jl1ctz7`{L#sZ<2b8*=*Sq0ahNY199QSjaKZL~)Y;TA94EW=D1 z998U#E`$TkC(@WZ%KPLJ3FCjvO&qbsyM*Qc?7m`cxpeL>qu4U%<9+?zBS15ab1P8u zhtz&wr%MLbYq~e>pU!+84L9;HB+^!dxkAPVv!HF)V|ztd{RfGSh0a15x-ROjCcAneV{z470gJWY!0EP10)(@2f2B*e-_>^kav2$)coFgJn z{dreOW0l&yh2N`8wS%p_ z`~-@LVn_;Fe^o@zO7ZIXB8*j_{KFhx;C|n_gon1`H^)5BJMD%%wH#9l-MnKEv%m}g zu#cSYmlf|Z+h*T6q+O6Bj+ErXU5ZEY>ArxRJw#X0&OAC6i_G16M9!)W-DDc0koig> zT`m$Td%=JhVGH05{`-&a?l<)?U(ips3$|g%z4j zpSQl8QCPWLC`W_OMLx7qC>clQmIcHSC}uuR4sd$k{KdU*UL|7_OWBmEZNu(`FIFg4 z=Dx|12#ZKiXVCCj`2__&g~U?(hR=U?1=N#sEcp#6L-?^Bs=M#}r%*3qJOgG;>z6Ti#Ux|WSna(k0 zX2H^Ppj>&n$7=cTPse)4U(hDn&`aBJmavK5SapRzS$IQgj!7Muw?IoskNZ50v*8|( zoz*llhB*1`*#jEb6Tq$|JR_aD0*zz;(?McRF~+ImdHLK2PtCgzL#JGuT)z6TCOdR)0Qa zbf9VWs5wXx$nRW+=S0g)s-2vU%MX5VrG7M>pn537)uDQXcv#-iIB-ZO0-g8;(Y75g zCejU7bCq~jo8JvXPEp1Bb1guf{k&gN=T8xo-hglx*;SP`1l~%(GSb+cn(r1pH(x#) zI%01y3X(Oe~)|iInz)7 zXA4*>p9lrNdI7r`>@QO)0+H;|~0eu9%Mq3SgS)nGUCVfdbsDQR{O6V-G zCu|}}e*V~jW?XhWnroq~g7xxfHr1gBIp1V$Zyf%;yD}r_SI*AsLR%!x4d_JRmybmN zahK)f*j$rGjqz#~)Y$U9ADaR_Rn0qzFqh!jHLCUf-PZD6R!)KgS|!6sjYf-(m19)g z62Cc`R-3{fXcd(KsQijnFLJQdo*lYOd&i?i)>?f;SRf^X`B*i0w1X6seV>1Zw6W7su%v?oOicXB39XJnkrEZA3 zXu3_)+-IKL@xyXdQ5lzfk%INfX)VsKBP$ClcmKjxtLwX#6s?m)URboRUr4AvhJMdR zFPFvo%=%1CzkJV$%UFqXSnD45R2|&jw(3!OmieHVcT}2)W5S3yd})5e0jbwoPt>ZT zOQjpA*u7U1={n=`<6VCq(0!VAN+G4|43tySp}KExwY4M% zR*BL%)2Fc8r2URQN*Y1hFs9WcITk_uBkeR__3=9i>PX|c#mxjVB!BDI5DAGY#ZE{IdL9KRxiS3n4 z(G94v*$jVGsC2QmM^XB#$2}or%ciZZ zU|p54#j_8)8#+6eB*7{Q1r3@(Nma%1%y1OOY@KCSSADSuVNG-;zLy^+>3*#xi6xVF z;k%C$Fs_>tnfHfgq-n=ZpN=2UWNj5}e%V?3ZqBqodY{%=*`98+!hxHPCpzBD&UAv^ z)sIJehi$tM31pO?XloV1zla0rDV_F$;|Iq&j^h2Hm2`5??kYyLwxmiW{Iti6jwcJN+o;^U(Yx<;L{k#GPb6wRd(9p7cpPF4xX7CYP5!<^fR?Ln=Jz5-CCY6+^x6n$t zKNw3@6@=ULr9raXkQW-_pW4RGxD45nhxw*5w(9mA@yhmVke6^1EE8lbYRpTxBBtEy z9u6=aI$Lz#C-^35qs;%`6;~xeE@N!k`bC{G=iRy!tCJg${#M(b<5RE|@AzegeMS|x zw8P30m#J%oOHtyKvx8)5Wxh$7h4OiEauI(;VW8KD!9yM0IFBYnEh7c(i0aR8kfqIx zZAr&p5R10OBYAP9O+?Fk`Ykf6kc!KU4&$@wy{lTkKHrlpgu`0qhJ!gSE3WN@Ttw}% zBNdp8X+Cn?j!EO)xDbC>*bjUd%leDv-~?ZZcE(lF@i1zhGCIAa;a}_8qRwabdGJN; z(o?@VQS+H8PJ0wz;cS7zO-w%6+-A-l783*m%y82|Xf@R#YB}0md}BfIF`G+c$)@^+ zN|>@mUyjFaT1RWN>8J%Qqqt9kgcufGX}=XWd3^h3nJ)DjS7(>{2XCJB0{F)tnoh)n zmd)dj8fI#+f2=lm>V7EfTK-zy{Zdm&+mI2jt;c9PO-}y-%e4--Xuc&;lCK2ZXY5F% zs7Nsd_V|+@uD|jPXwG=2DMj0wnQ%+`*-w!yXeZ>JhMd)zV*##B`L%6VRPM!8I8n`H zv$;uWEtHu#y<}8FPjJ%5^Qn54o=>`Ota#sx_%VY?7QYO$?mifvxCtEnr_%xwCfeRX&3}cx;@}`csbBufR}f{KODdZzIAY zqWF6KF7)tBG=|@Mx9miJhnuzrdbFni#p*KcE^IGgq6>2JkvcDNIlTXJdUFk%kbA6| zoWn8ig`iwYz>+q1?zidixEm1t1WV5JB%uXyQLHeoAsd3;w5L97r@nM#h%Z{lmdJh- z0>i``eZavoytT0=O0zOXK-Rli6xZon?X)5oVBH%kg^*Ipb||bINYqk-G9;HI<1^ak zy`CtWCwuFK=J8Zm@CIaWTzP;&ux0aNNc(NyR;s{|+CtWTTgOGEqCs|P>}dX#b9z*Jy!AwY4p*J7q)(${a6plNqoCSi==Ff>kE`nI-fkU>c}crE9{KphHH^y0gjL`( z?uZ(JFRQ}O!+pB+Cu!hx`jdF1LUqNq3^VS!xTz`BTiIZ|1cix>$sVNjfv%=vf~zKZ ztkH~xr?Kpou}G>pmIYzJh>1w6bOj@%Fk5bHtN`6m&yHV5dpJ@@=dlq5Ek;nU`qN)~YH6jQQy9h+?HZR1A)IUZb8YA2pP)wZ0cIeyMfdRB#l!cxiPN$E%9WtnXST z&UfJabJFkP6=krH)O$KY{)i!Ht+DAcufEOE)fi*((&j4G4OwUXsedrLA@s#s6^kIA z^?3a$@2D4INGxNLAQhY@E3xffgl*W9y0ukFLVKK61WE1PR=Z9SK&We?EhUD%tRW6d7 zrOK&wn6B7iIGk<=QAYyDbDkbuZ!7SqYQOV+XQZE&mfu094=5PXc%OwwKfaG(#!WGh zjkps@MiUpDSv&iF+H9W8=xPip+B5He;C?;VX6|`iVl31dNb;^bnPwK^7^>7UI7<=> z6^?||j>#}_rDSovFASxoF8H9#POdRThEa+zl<13@kX(DSwS(KcVb1tgwcEZ^z1Q9{ zvNvjumum?@JtBgBONQwFsqwG08&DnAjGvqXRrOH+{?@Xw4rB1f0bv5-&GsV^BjquU zj|Di86e^2rlPLLT3rNEAiO=T~-H{2#h$oG2Hp$#%)T|(Fmw64qf21_tfL4A`VK`kQ z=QKPVqvC0k>{R;b4GfhMmL27*!Hz~NYK029h7Q3G)XY26CG*<|qe%j=}e`<8>Sl=P{6jdv%R$!nqqmEx7$vnj_?tD?;vbAs zOpjLHQdOVKXm`{GE(tievu@Q32b~L+aO@=Qj9Fp#b<)!Yw-8>BXQ$Eo+2=&94hcEmKsU|JR+P%(YJr z)#5!Jo(@Ip{>sngzv5F$$D1&tZE7;{oanov^`nsxmUQvfk(xl5Yv8Q{|U?`u|7SXXHv5Lxc5>S zru>bpKT;qILEP3&zk&l%O_mCC-?7V@bz2B-tDRvTxo=*ER*$O9shO4S?R7P}PD3QcPO zawU9~SUwxm{!n{;^64ld3!SXw>Hf3P14Wpxh`pkerB(mZH&tz&o*rdar7q)pElGz) zeMGt@P5(5dVWmuj|hFk4Bl#Z=JU!uJ^;M7|xw%hmw;{-k1TFJZ7(O(_IAeQ~$g zFT^>jkf}&U>p*I93XlYL%udkDqdFjrr9!MOR|(SbeomZTLEt{>|H2NhEfI@*)+AR` zz^WsyFT(>MmMc%YDhcSkZWRVig#BauJ!&AVeXNltxca2B(z z7-cM_tasou(W1zKu||TSu_Z%Mv{(vsh9dehHXZhJg@p?GQLE?mm|EgI*@-sbL|lgOSP=B~wKI+l zlLQ3EdfHDbf@LMZlv^&QhD=&z=39KzZVu`}cf&%LR4W;mI2%Lr^zt?XH(&5Jyh-OnY)e_AnmA{UW1CjzsXb5;dR!M9ON-1@S`DP)#56OhG%hC{?h zZ1QLC-sYQ`-+-!Swn&b54zSNBx(^gdsHbXEygZ_7^jfypH0Srp@9_#z)1YT>OueRFP!jIwOd3uU zPPL)Kv&p5OF<%8wtx$ED4OK5o1u>@u-!V5C?{}RG?N%KlS9mh5MSFMqlZ$l0Q%Jz_ z)mW|NW2RwRXwDFBMCx2Q+(uvfEnpwMb<=#i1n#A=Bw)rD@*TbgF0PLyQ-zryyy(^{ zx{AD9-@)`&D_}H}c2eY`92Nig12SlyU~9^WZ~n^LVAMTZTmy{pTmMVOzO6sq&eK4PDMM;( z?y<);qd2c6sCXNuhzK#`15p>4cl=Tb|}> zN-o9Nm!NN1bKU3SI_5}w3`rW(z8-bC7WsMLLbE0K_=9pp|B4G;ddNZqFRu{wPx?B% zX|~KqOq!mdVz8&BK}ddR!1<#*vVa6tV|A6TJ;?`$OlwD>g%ek@xn#1N_~3DEXOUzJ z0i5m^x7$W}d>DW3jIwDnecrf-q}upiHg|CQa>+y{G`JeLs@pxO+cKHQ4HxfIm7gU& zR`(rq9v-!by)+FRHy~*5kE(Bw=sijZoHRt&uuc1R{E+25$$A>Q{_=5(RVc!psF(G^ zl^$bz;+_OcSe%ilQKM;bR$b+XtugYdO&vpP?%c1#LD|bP9=(4bqz36T7Ei|cG#CR&oYDKW`;$*O(h85T8El^DhYsVfKjEEdL6`EH zlNn=?6LpJ=0Itbh@S-|0n!@Z8+qP#>fd3aCzSp|PumBTvJ?ga{YD)F2z}l;A?3lZ( z?IIw!Zpp+4(@*TtQDOIG@jfDkPSd`N)Mlv&e0J6U%QHU$_N3H~` z1lm{WUtV2xt|k@2L@JL?IpoM&IvE*QQi?t3xO5Zs;9)fksz9JfGNt?@6D_$wG;VRs z(_z9ahKE_||8VveKyfzBzbFar?u#x?a3{FCOYq?C?!nz9xVyU(g1ave+zIXuA$ODS zeNTPo{?Dnpb*p;&nSFX@dVEKI(@XnN9)Y54u7I~$gG)fcnuD>2O0E!nTRPdkZdJ-_ zHk(Z7t4*6TO=h9v66s`xx~RSS@<(z<6Kos3$<#C7SWUM(Gf7aVirhqF89FNkW=m40 zWm<9~!+NFKms(dN{1HkF+jAl{xVp8{cqJQL0qd#)b{AOnVU-ojxd;q)$ZJlQ%z%WV z7fZITc>oQGW43Cf_yY&XSgxmyxO9?Uw}*P5KHySyKUS64Q=5Mt+w|Ul+*hp`@l$I<2MVNpb!B(0 z($X2^OX8Q14V#$M_bOJZb>gvA9Ii~6ZCtTU|vW8 zHQw^J`|L3>Fy?RsnyJf%t^cPx1XqcNzVwEl)#=Th>SvtfX?ZpMgtyC^J7$-zTvPQc zA-p4i(WSs0|3Ez&SVochvximg)OSRl%UMfoXO`ComRzJZf$@xy<9Zaa#P`)@$KlL) zK`Jnu#cX4@Xnvkz#D<)HN_;pE)Rz9>iliBn0as6wxSd`m0K$^A{E4T%*oqw^yFGFl z)o)7>(%#u1&xbGkYI=>Ly3CGEAOeg0eI6qjucE<0d^ktBSr3Kw5eoBy6sJ-$PwNT~ z;UOL{uO}B2@em=Al;CVhD(O)8ZAvWsRIg-lPR+gIgopQSyTu`%(4?K!)x> zSj>>LuudpE>bZi*u`bh^J@i^Ow2uuD1KBK?aQqmAKT^JqJQaH3WzT*xQFoOt6mN+A z4E6m_AZdzx!8Zg@yJNp6(Y$ch+~m8g{dZY?DSdw-9`FA^Jk-pRQ7}aEI#4JY5bR_m z_G69-L0n~ju^ggap?Cj6JJ$053+Z78MtZahE1XjD*V%zLi2jiP^sw87)>fnwQ;7dT zg!~l>V{qlN$Ecn6Io{Y{Obq?E2#g)sC5-;Fwd5Ex#Dxb2l>B9XASP<;4#UX3;N$L? z;tf_HEKvw#5P-<*-BJ|*cLZQQLV%+$V(^?cYXx-OaK7uc0K5kT4wGMU+sE&30JvZla9s}`BXqQD19#+he?!FBo*SUP zcEQ3W4;N@VNAx<9?tVoLJnmazQ)V?28_!!dKucq_9E!0mYo+Y*ZDxP#xAvyzLJLi* z|8@|{N#l?O)gScr(|)wm00J*8bbY_jOi!VO(5lVwyM%FO9tl{Qk-Zf_l5wKcULp_K zDBfPQlLQYCkRB^HOl6$JGKRMgOT!};s}4*N+Ruc>&mV8%W&oeb8A(~_JA1+0A|DaX zaTVE1Z6tI9y(IQxMhO$SDC`t(nG8K&XotQ(WzF936dpKBP8`IgPm-`@2$-|`Oj-Qz zuc6J^KGj~WTx%o41PSNOSg>DMpe{W_w+?u)F<5WW;`8g&{`^r)7zJ{9*I_jTSrPX}K%5eFIY zoL-#l*?t3dxn3&RoAC%MTEe)|#|;PBW|%mh`E`#$dslivgJUK@_IYUR6C?&l*78&} zazi+A8i!vw`ST-%@}4|sC?#c4Cd4zu6xN))WRcv;U$*K|;XZc;aZgXbr5He$i!>E7)VgozhKk7CswEdeYA|5+wpx+VMsVa;x__|e+5`CCl$03WMp4&pGAg@Pejyow73e^cuc09o8_8_v`|t-)Pf+$>NmvfUabH_rC45$ zR>viWcgMXIvQB`NtW0!xH~KG$+U?hrx2}!IB~iw{JB3hDkhgl%TntjQl|QKBjbvD0 zwPkVd8z2aPJIwgj)%i>tfxy9eRe4=D^ewyN!5{TV-5+(YI6ZkF@s?GIG9ysUia}9+ zH9nbPp*%H)xS#EoJwqLb37r*Kl*wdnDQQ6*y!}kFooATjYf-yH<3}HhPQu|7Mc76O>$>cpVlz}Sm%jv&6FHS82T{37{oBW?JUI~y)q98Afp02oc;!Y7? zVXFcr?@@2zoD$>9Q$bZh<;S@GG4)r$#O}u)A-}v|x`L`&SMMkysB1#b(=AeP+X&f& zq-}^dsm4Qlhjg{3i^|e<9e~q^k$-cCmsKBH2qxjoA8-hZ>=iz!U;);84nK-;!UqoI0%2Ddx#t(`_ zHyMqXxW0z1^V8q1!C1MAZtVHSSPjrTI?S*2%%(+rl{L@Hccy+VeMJtV+BD zsH%|tFe2AG;PM_oi^l8dlz66AsF4kw=%H(ZZt{DS$eGH_m-3l8f97CJPP$1tnem=S z_lZ$Tx@W@o@)Jiu;k*_8?0J`&9{b>{AbwP(-9roJ(kzw0IXsP}*FhVUy-XNjSXEI6 z(!_N0*VO);4-v|{R2mW@V(lu^LSpb_Ee{WC!rX~k4MiWa6u%su6X20L&Y9JE&{AOM zDL+4Xjrh3U(@Kk&X_ap*R_^m+%2f-<3A>yifzr8gnmBVah8DiA#OKVP%d`ez$@HXN zDwhvhz*BL4wNfi0Y3(`>jM zN=uV{Oyn*DsG+dJ5&>hmM-hNp7DX8k84=C#6p7NqBjI-{3Hce*s+RqheXOk4$+N#U z#yx%G$pFQa@FLzfMASu*hhwhi^XIk~1pO}L)8kk3meK&T2{0r zokh>GKPSmqRS%>oE5U_F4N^)9t!M}FBQ~3v6%x2HNUTWxns;%8vm+~qrlD4Pk;qGy zmdHCz+>W2%gjWocse3nbHVEpd4F`RH&} z%eZrPEBGgt+AUqe_JQ7yZ9sN(yR*CuG*0I@Mg2#MVArk6q<%ygAbAri0G%THPDL)! ztjCq1e0QIaqUZa}#GQ5viGWVHf10U7~=?$x2< z#%YGOoXxFs%Nfc3`8>tF`yXYN3+!eQh$0U(tCGn44MY#EXzPcoR3}B*MZ^x7(q)}+ ztkqD>=?wZ;vg`V_Bx)9 zuXYaMYPic4mU%nqG}pj9I6-ALOq(9zRzHebYxAB_Yixoa<={-KT#@5GYLghT zM4@>h`J6+IuOke_A7H4{7In)xpI0jrQ-nt0UebO%CY*rYpr6A-9NJ&>Laqu;8G>H4 zD^NDgxkGH<{@uLerp&N4TXl+kCEF2B*5bNEtUyMZ_RO=u6%HuH@1h*su$;6;SsuAW z!Y(NTkDQ3uU5oA;_f-eY_?qfCY*GvQ%jr2=(v33g-;HDQE=B3?k6)Fqh)Y;wqs}%fNz9uk$ zDIugYA*>M1Xb6RMen81E;R!?2b)1iL z+zRDprS9L3$eJ-NW#n=+^5v;R=eQ+OE;YiZY~52SXa{NeE963$>a95LdlM#xt_R@m zE~9&MlUUaj+Id$9%A>mD3T4AD@J>zZ1zDcOuEK;7iKuQC zB{Xk>*V4O=ZqLY4b})XQ77K}kzH*_4D$lIM2V8u(ot4&~v-=oJyGLm4k?FWGrL|rU z3UnOCsk3d%|L)>+fuglN*1;nQOS84N$io3sSY0Y$l5j&2mrmg`2t1%AVUc=@gq=_l z_&oCz1kCyDT!rGqeeem;4;eihb9D79$K-2)JnDz|u?GiY*8ObeRcQ-=OWM9Rpb;22 zqu3^h%HM4qd4ytmsY(Jk>CaK39fjtopR6;E9gR5>q^~za_&9_B{E{E5T&KK3)@KtM zY_K3LLpJPzRT_@95SSrU+ys9wXD9s-j>(8eQ-eqIxuAuc0gYVRUlzPtB|wG=+p#bf zCBT~*3T0=>k3sSZ)Cooq-9ym%QVfPu{@ntB{Idlj_QVjZ%N-w8W`=I9QfT`;EX+Y9 z`sMo;GdB_nB;-F1y@2sL9yeIV@B2RhoseH+c|3OiWfr@su{;+2sj-;IDH(>W_2ZI& zCc|-wf7vLr<-YOz@V*%J$)fg8{VCBr|HXP;uVxHB*o*bXHrhd%zZ-~_91{l=DgWK`aj|o zq)7u=HIS&uYLvvQo%&29HRGe+hVMk=GE5?pF-Nzm5oK_elW3ILgYh%e0grNll5o4U zx+1a`3NgGj2y*O!Gb_RZVq>7C%80wuH_tB^s&IBx-8;1#5LJu*^Yly^m2y5ood94RSWmIz^!2 zH;G-lM1b^}YR=Bw3E}8^Y+k1Jy2jlDHWlmpYI+sGD2)!vLE4G%RGxAkQ`y}f@v&^c zd4X;fPu5-(%H9)X?{X6H+ZQu24wYWgq%~@Ql-zQ4U|SQZ=KT?gs&3$z?FcnvGud6r zm*=@p&kMi&T3PP;KR1R-E+L`T7{}EV{-xcxT42!hClUirR6%}4L4Vch1IX#Bz{biX z#L0`WMNc?=t#}%GV7HRf%Ir)z1`g^Z?~NSrC#e4~?fz`~mr@{q{)b$FKf$C9CSja~ zSXx_}jq$A&h^J zV;lU3J-$bpur{@B! ziOWX>pY6lF&^AOjS(+udO*o4zH)aCzfriLfq8r4ID`xETeIQ$wrqDS;DenP}rIB0j z`)N=0xg^5I(%ga#^w*Tl`_SJIOY#1IR_7H+n9uerDJr++g@ zoLL3kL9(RV5(gIB`0^_eOOu`ahIq@|WVQy`uo0kpZcg~UOU>)@i}PDPA1b$4QD-Az z_RG%>V(7~qFMIwK{)KG2|fq81*OQ21iUr4BvHkhUGR%{^Ppfw}@zYAdm^e zH=3ZWJT)tb;hbg^xbcZ1(c4Hgf&c!qOkzC_VIy)|4d1YhjoXwe^1`H(yYt?BTOb8) zDPE>H6_ozSCFQu~@p8hBVr{w>=^;a;OPBsRz;FI_x-WrP(5EwYkCTs^Mfcz8C&_;Bp| z28mh-`?ws}N^zj1JLWH^_v!Uk)lGwTyoy_F=-C4 z{mXQF$*K}s49gVsbR5e)` zw0UTQl2VNmGQdwT!!HCg_`>)sY!uJHnzVos1wiojUv~Y}N3U^d5F3>i5RuOQX>b3T zs;l$oB*R((1#Sb~KsUysXuY|qQhI#n@F_Lb`QT5&PA9_15xs0iGgY2yC*;c#Q;w=Z z@mpFpypCKdQLaQ2+1%8r*jMXvN}|di)dWmW@KySsq(#%|Rm`;xIFZC-++pO#k-qhQ zMUUs<1!UDgbz+;e48QMZu8eJAS|S>p=*rGe&w#XJBzJIhR@dLey-(f>7f6;~ z-T8%af>{jaZwaIH`++2pvg#JqD%FPsxOa?YZ#}y-_erL!(QTn8PbF~9=))WUXXW1U z&%?~4fh_IX__&s+2B@NMQ46R`ucj|2XH^v0-p7jQrEmfH6gsl{=q^c(eqz=G=HnyvVKBAV^emz8p7-A7 zH^d*jIog}HEVaQ8wf^{z$Pz(U9O%gW7lvi`MNv-SBQwPqDz&Z>CbBZErKA47Ss)op zb<7pI(TH@&74fH!{O`PoGvbDO1xIV26!p<_pZJ58S3#Rgoq|k3PdOLHg6|PmPx4EZ zAAdvmed&hDlomg#*%ee0Z|X`JxRFh{JM!=z!%E1BjQftJSQj@h&sVDIuXoC<4=K?7 zYP}`u_dHiEapAA%1BS~!N#2LF*CRgQ9A%0nt>uz8u7t5798rw#Q`T~UrkA|^JG-_I zL&wG3>uUpUiqEv{tcXn7>T ztUnBW@tFOvvy0qix0|pWRT5O5TXSFe?GGSz*Wf)rWLPu(EDH4kl{Vk!Ujg3tmA_)` zC<;|26Eh~l(u_ie%_j+5`fT{!@e!Y`2Yl;H#PNsOfJ#E=8anV=oykDO$ zth%#*`f6?teS^ZyV+E0vzrmg?mzJ70k<=ywXH{^{7?QIh!gR{Q9ZtHYRenS0oe3Ix zf2;soXYnU|B)+)+T7GgYi2nGsHt9Y%A$Zspw$@v@HsaBb&}gqlh20E|dCrTIRri!$PEB?aO)iO4a z?b5)#8$Q0fSIYB+^Gj#7pWPeNrGVeD$lNX6ezi_3ksL=K(|0uKGxFQ(Zkb=s?Z4I+ zd${~@9#N^}%P?U+k1N7U%e)qUbBtAuBCb(Xo|?KoD(B0jB2hExKaNflIi@m%t9Txz zNRiImb^i&F4h-aArvkOPpWOg&6839 zWgYl#vZa^dbG(u^=*S(ou1sh=?_w4QbSa1a{ zMiM8|c!%Qy-md=LR^(=f z(c89_41+JD7_x3(ewF)-B%MQ*-AR@STOP2!^al`0BS_h?&FKwYddwg;jB^ZIL)BCc ziNsaf#YZjtkoh=OC7}x`Ra>2H%|Jvvl013O12%z3-22{ub;UcOqGSxc%%}+?IUlH8 zYl&a%=+8=#gl#8sl zND4YXQE=*trKy%#(yL_Y55_`fIB0Ow13ChR0g!O)q`$DFRuZ{%Si0?K!^hyI$r$ky zmEv6QBS82BieqMMG1lPdnLAVjCUSw|^ccEsvK3P7;9C2uSOTcA&&kc3lq6nObXM-~ z^wISayoW#Y^2y#QfDC9cKR*)~*CGG2^;KT1AXTCYvQS)3B2EOhY7-?5IKQZ}TG4VONoam({@jGGeD7y8t!h zreT{ZLyPDp8md>fzBPKOYvtU(x*{RDl1MI$ERkPyp`1YQ2!-58RyRQa(+|%8i9!*W zf-R;fPFd@=m&ny3ODcbC-YuiQ%OAN)Ry_jVwRBgwviXoTy;t-SfV~gU5CahL6~}%S1jJd_=zTV62Wtop`A= z(PZD zdIlF}eInLM(w>v*Z-{wtsk5X?SJWFlaB+asl2=CW%}$0~*bbT;jxQ&Z#v7X%lHlz@ zW>Us?Q>S-Pgle)#lx710+4)wF&T$@)OYV!|?_|LThViF47>P$kw4c{N=rH3-*&RclRg{O|TMlE>TOp5lO+rgds|4>iHed;u6IixSH_qU2zo)LGeYA!G}wMFYxif zjF<|~2@gQFH&$|}Tu*z-P|yXsm2%l`iyiR-8k6uDOtzT4C+(~-vSajQ3s&$sEK-)t zs=0VOHca`*T6&qQRN5%zIud%~LU~4UrJBdX(IO2iR^>W`Ld^ImIR7+N0$N5A5_&Zq ztH=h+j0cm_FbOdtJneADML9$miC77`G4)+kRt5Nc(@}L}8P}a*MZH+2rD+!qr|nxlE?z3#xal6??5%<}uPZXT)e%AJRP~ zjJEW>$9>Gz=X)joW7bdJ2H;d+B}gaKbQLIu@x1qKb~SR6OMl7xGlT+57N`e_6zUFY zlH-d)(fiH&?#>64DfeaVoi?m^@dbGJcF=N$NK|3wM_jnQpi=Xbpb9ARwZpK>5{rs9 zokiS))0P_byg#>|cjd`wEW@7crdz4tb6DT=0}?yleA1``0Je0HTok&pagihw15-?}urgjUwpgGf*$lC!1;sE&ZL=DS zYtjlihjaDNv<-AO-pm~_keKyNPI9Nv(ZJf{oy$~7{2T4xvBipQE@!BI$P%AO=o>8~ zfk+~dt2AS2UAQa|yIk@9Tr)6c^=o+$lO6{KX0xA&D1730HAC2YoRS4Sel`Nk;~zPy z)+YTN{~4#)BUj+>D@yW0}Mo$T6tOMGj^2r3lqd=vok>TFAyUcOAFLm zeys_Rl8IR4Hr-<+b)5Y%U&GplQ!PVwhCxfe2kR)7o-M09)SQ z2lol6Y(8i0(SB_e%fyfjBv4L2tF$9#IdQ&S%a2!48uk_w(HYtXml8sjx%op+3G-S< zS@u|3s7eRB-W;YazoS1!t|5<_GuCbVEA!(jw^6Ie{*obTRX%D}UR>2yTs7%m`W#oC z_m{TfYDiIQNMUQN55~?SoL=7ZCrcA;e$GtL5T)0R>>H)~Q(L%u6qrME^qJem@WRk- z!BAx&jJ{?W)y_?7B3pW-Oej-&i#u&(^NOODW$83|E}E?P)K#10=5Go#BMU1QGI3TM zcZ<&?Tn0CU?-eIbTV)%wxjD!l4=QCTfg`<*D{vz(F|vsx@}OJD5$dp78xX~4(tpZa z868%4X|&plQrBI6J`THVekB!rS80!Pm4dA=f=I<|P%eFLuWsK&D@#IGh1k=_gtq3R z!h}Wg5^pKS7{*U4xu#R9#H7=vh*5>>*;D;+$DhMV>wmhypN1z$R?=U~ut`Z_KTzYMU|7T;%7uUT;x_V?Rrc-ErmI->swP=m2!^$4 ziZRNNVR0H7;ckr@G}j;(73+#|n|%Q*Y{$d)#BB;`1S9~}xx;Y=6;-**CE-cGl0 zmXEcC%oIA9BXMm<`XzAr?74k=(|@!SHeZWcN(>t-Adnd^keMowm4QlJ2OGBxncqn2 zaxaEbGD6qkB|PjCP&D2w123_OcvCqcsNr-V89_jkR_MeEY>*MzX##NR!|C@<^74d9 z;?MM4Bg4f_WvJwjOEOnH(vtwo5r>YGQL(F;t3-H0wlAP}R7bu>ujbKZERc;PX2M{3 zdQtk!WrdqdO61@qs_MO?XXZ8}dIuwf8WB@3m{lth!D2RiU-j zD;BJpwW~EM|KAQ}NA1CX-aE0;EnuiYru^fz5bisTzOtigWH{Y|-OhsDO}fVULCI{8 z`j|p5XL-!_Sk&f*So2IE3eF&m{smC}fPN4q&{~InH2;96y(ZA~w1P&}GB|-L3;Set zqVqx7jX6Z+uy7z49c>`Zm}2V&iz_CLq2KH_O>d@3B{J!&r;!HZ@p+2b!J$5oLiuun zJP1Z@X-}WZ)UjqkWG_mo>;}t+O9CD!-QR*}MUEUaYV=$Ar(9a0 zdoDQ^-6JoYQ3f{-h@!eDKH_?(xiLO4pX!|({^(rmuXk?`Gx|S>Rb4#aqvE{@<&FRs zP6T8QmXz4{9hYzjU6-CZVUe^GHOEqL#3#9Oi@v#SnIz1%Mn5@`m5w# z`Gw>0UH0lX7&=i4!(cda&xT8GttaE6>f9T`xt7{V{~c}`KOL|4r33!xPZA%$dv%+G z4bD5UXYPis_rUjunc>GFPvhT@KP8;*Q7^+SQRKz|L4~sQiAfR?od} zqIS~s8{$gkEkvYQ;pV6*N2&aZWWaw59jtsoFU~Yy`5R`G@%C2y@dw>>bt?!k@BsiNp`2D- zYGpR`ljTld3{fsB0t1F`>}{!0y-1)Dz$>!cLz^2+=OcMVlAOOkC}Tw7X`MVEW6O3J zCzyCe_bKB6pLa?Zx%&vuQoh8O=Ee?@%Fu>|iI~N5ZR2^#(*bcKArvv%x^0_*TU6J3 zWZp86t{6N(l>4Iy=y8PyYo%xE-lPSR`8X` z_|Slr7OxA(2xm#T$D8V$c<1oNVVn9=8{CLWFNj~N+=nyS;;kbk(6OQPa<=kUoolSr z8%=zJuwq|`80fYs*W7C7RjGcFA7=HcudGRxK*3I?Qi-#sGX)iHknW5|_}|=B1hh7@ za&zJ@5Ts;@Mtw<0<+-XwxY`}c)(aV!`qZ{nwtx+g9k=CC-8hb2@J&c8qJ1c+X%W*I z%2?r4KgjOD_A;I=|3wpI8O*+;;9bN`cW_09|bvcY`6e3MR3l<0?uo)h*g`>e~&{Q=ci} z)S_$KW4pTW4z3kGCgxDORxN91tZH!5EBRw983Y|v&LzuCW#)Ofb3SW1Pw)^rGczZ2 zh3;oxdiN~iE!-}<_|CJr|0Ci0c4+=j3R9m1#-O54aw(|qd^_UvbKSyN?XvtT>k5S5 zZ$=oL?1E7z7%ahmJ>CV(z_|Jq|G0WuI=Tqs;z8J_hTxv90<2C=bwTL3$H1y~z)k;D zin5JqTX=4j-qj}@|J=oE2Z40bZ)wB56h5AJRp{DhPKV+gTI0GaroXF6+Xlf_%A5d; zm%gi+?#5?PzlY|WckC{VzZ4ADIh?|oxh3jcYbF#6);j00a4BYpA|?dX;eB_>CfspPAGoDRU^~b0A%hgXIveI2%(<&uO6KIZS}ozhOYejN zTRab=UTo~)8z2hWlic(AUy(fHXUeiA&J;=%%r%Ey%><<gL6vnVqGW_*VsqChRumC^tcHGBA=M5bNaN=X*$aJK%o5rbo}CvNcS z`&7Jk-77JGy?dOItB^6?O*nZJYuCpt!6j&<%`x1cG~;ML}ICZrO{9eNx^je@4j}E2b-!@TMj(j4r4j2mwfq(w1;6Lq?KKI4zm$r z4y~=(qD(fL;ZC0O(xX3*l*a67Oj(r2yQUUy3E%w0=sfwHr+c9D-QfOK2 zJRS~1nMmtC0;c_81Xg@3G`>n|dpmQnH^&y;=N9HjlorPyGuUqeA%@@D zQ~Zde;S0gyb<1V?G+eDEljVcqs=Ks8ce3X#aJXw*O&_t(m=rl&skUmaCW_1P+JO!V z`m+YKQASVPySq-VOkZ%n4NH)GH&swfL&HIgrg5R6RDY_^IHyg3?rpOv`A;Fy?_;4f>PR#%rkex!tbmZA$^F-G(DEEQT4OC;*nNz%MFF z*P89vYiYptf4YaC5XaHvGOM{h5fC$aUtHDOFLaCMiEMBBpP0G}_)@D{i-f*Rbr(h` zBN6e_ueS>6pLM){u${q@#jSTs!G(*?|1-83RBX*=BP1gUp>42yjG(Vk*>uFPQ%55| z{U)m>>fvoZO~v7EV%wWMaqm)jm!<3e6(cYMoFIMtO?}3BGlhkBZBY|gh{Gt97d&xB zUpx+vG&792LViloH+2^_YLzz7y;~y8Y}o|56-VmJoWoZebxDSE!EFkbS8;c`<9bhx z6xkt-Q9JIijqBH3F1Q<;)1Gb*6gKg77E0`>gq}mAIg;M*UUNB!i;ut>LK$xob10m6 zP7zMUBlhQ0-EN@p*MnDQ@(U65<1<<#~_%h z%oHp5{ozimdXy}rPVfxq8jUk(31vQVVq0EuM7%Sc{YObnvo2npPFo|CMnf=#(iiO$ z)-DHJY!8~4W4Eu4NP@-YOlF8v=g_VVkRv=h6YpyargE7$ymFC-JZ&dUPVwWA5g?JO z*Q6z(9xyb4&~RlKc`Qt3s4865LscsE3O~vs20hGiZokMEu^^#TIFdhTD;2F-sG0`3 zV_7I=Io{L1h&8&EGrQcDp)xR7qLfAdIG{H37}@}!z-9Nw?$9x=?e*fM;Dz|f+!^yl zp2`t~($LaGIS7mY0JUbqGDb5LuuQ*OL9RL6o^5NJG_SSTT?jlO7TQ%R+u7gk7`lC` z8>lrKr9Zo_6B98mWK3tUgA9p8W(g&nXcoyMlZDc23-86KiDp5(!vXT9p%yssq)Vox`Z;5J;SG2=j9LXWFu!Uq?xKC2 z!$7_&6{^rCwaFS6`CNzLeE_e!I#GDS52W!R0Wh zIT*T~AM>?(A9(@`I)e&TmuwvSy^)6lK2*IOqe(ABemD&hi;Aj*gAxLAvtn0mFGqgS z`oNb^N{rc?%7U++T1HcvVG5$Kp%euQSI$nYh>csOa)s~~7w|EYiz`aSA?K3^-+!7A zf8xd;@Ofn&k;`}U5wMGv;qkM>2URQ6f1>F`o@f)AY-g~-rk6pu%q$4O$uyG*5`%#+ zr)97#$KC-A6a*2(UK)-waBJy0e*VbQ+)WsV6P-PmuU^-SARqbdsV5{e^mI4wUHR>_ zBxKiKZM%4(x*j=b9$pef1PdWR`MYCceuTKZr2F<(xYz|;@Jb=x_hTOQC2h2-H7PaI zFlWLbi9L{S06}e2zIk61$_ z3-fiWfx9nZ>H0Rk*U%Tt?}Vg-V2=$f8^ch1pFKb*uxz7v%Yi`8$ccdvjZY3Z0-wv} zLnqKM?Zi(fu8r5N@jA&Dlbk+Z(YeF&re1|5JM``DW#QYwWuaRIYzROroV3T1pyY+q z50q9-MKgDMfCrCS#cX#3Q0Y|3A<_?Vy#o0oO&zkXTKyaajGxLTeNjcg;c=QV2}2=8 zB$>{ncMLd&)bKRy))+ytEX1;2R8C0O8t1mk&Vh*^#aVEMJd?4KKPY(wUIx5#&*+@g zJE*zQ^sMY!*s!|b_#ZDk)JI&naKVQN>DHV;nsqG~bIs1FjhwmBr#5Fo%&bxUEk6(w z-teckUCnH^Kr3tAK`|qtAzf~>;QBHN2g&}BEWTxs9x){JtL$?4s7JFzA=H(GEgFG& zygWiq5*#p*<(MxVl9U%SQ}qM)iWd^g)ovg$#X1-iGFD&`Y~usIat@!cgFuYw0_8)s z8yTVz=2+R6>7M)`F#DyP6Hqy)_v5k+Zw0X$+2(w_HUtQs$Iu@sV zTJeVU-QIz~cf=#EL#m-3$m3SV!^78g+KP(V7B{i@SYpABmuJfF+0M3+wkn%Hr0rq? zc07d<`8u3jzcdb40CPZ)j-p`-$>^g?eUe-R?5xwJ(?-OkQ63IQfo+SIJGnb`@j)zH z(0f0ZMx2ErTF=~V8r+t*m3LxwcrTpLlSYWLp7jJj$U~}_yqm<|AD&o?$XotyS!Wu7 zKq2R}e`BG7-$4e-yFJ*U;T*Ya05RhA5rs{rDhxx=HR%O=p6zj7BT-H-gnpXhw4CX# zw1>Zyx+ca05zHe}^U0Hpp%~-I$aX>-)oTS|G|{VWR$ahCX=1*1HiAtOIHCKB3 zRs$sqoaKSldRs;AV0aeP*ie-QG*gO+rZ-eyTCY{Yx)3ci2N!K6R?n6eMztz}ZSQ{| zf`2xjnuwVZmWqa*m@GvIu;4mh>6IGO#j7o6I)g;ckrCV28Mpp*t|PYnf1-EZEr*EU ziG`9a=OLm-rVI4>Y95o@`oFLLnQvhKhCr^v5BxLpfaW|zpi26`_`~hA`x0!~K+UXt znVCm}AU}hZHu+9y-tJ5H>i;c72Us`{7G~x#xq#J{fK$UIq<;jS=E%?Bc9?;M?9k`w zVBsWKXo0xS1{P+#k2BCXc^Ffa2Ie36+>5T zG-@kH*Lb($!nM8%RQJ8!$T@{=TOT!laZU_fC3@pjrcF`Z4~o<*sdyssk``+1ubF+E zRvw_$a7)>YBh}un(Vq*SYcA)J<8$%^AjwP$V*;(5|5RdQv1Z&1%%p;XI7cl#w%#JnCWl2K0lz#!gs)0V`*knHBFD z*G@nd`-nOgC4v#%l{!|XCH#n+8#~sWIAvw$!i$<9P5bK|L+-Fd-VpXwg_^qW00DaMmOx__?Q8(pwp(}of&@;w8MMA^n7%mQca3@Tyy%;r6BYZduV|jF|JOq#b?Tz|z@SCY`jt+HYvYDN zFTKZlqF6XXCWXM~SA|I09)E?x=Qr$&uw{FrU%fLMgZvdGDQBD+VULkZ-f@gCSM+Tx z?Q&nw@r(VoGc^DE5%qv%&}Q_jANL%u`vteh>fuZiUoT--McM!Loq_#hQWhss%98f% z5g>!=QSlRmW8AWTy3R|~y}^OT+s?1APbocZJ*ID__UBChKLrt>qtl^uf%tM2VB}2} zdtgiMtFeuLxP`l321G1P^Y?zN0dT*sR~-576J+pfyl1|2uS-5O!rK^b1jSX=dIb`1 z#g>tGKKV)x-p{XaQ>P% zN>6qleADqK zcY**fw`)h7BY5CHjUaT#%7Tx6AAVi4>IYPBDsRO<9&>uf7Gc}-gbcG@V6t|J{F%Gj z+DL+?-!tn-*frYG7XBZ-`>Kt}9OTBXzgXJ}kT8$7m?l zpKDwe7S_-TXFp-SJ{KO08wsMcyHy&aIm5j!n?`!)A{=&aJ+?eE$L4fli^F--*_HWf z^zm~OHrsMo1a2XZZ_N2?5P4WFE-!mFLFuuOjd@`+v@|j{v@fJZOd}fRprwtWFT34) z*aOJn5=c1mDh!a=eY?#zki#3?2F5!~%;_=jE1HZIay`O0W_BTxhH2r`?JUmJVTv7O z{X>=%j&f0#$#&GDfoZrdNLcqW{LeMW0F&=@nUwl>)HpeuX#i~Nrf_A5^eH>!_@;?z zsyGIB8xuprAs)@H%Hp26?tMLmx0DOIBm3K0Pfc0>V(+mIonQ1D>T{b%`qwq7zaeCT z3^V|?|M;o-^~d|>pOBq*F0Id+et*4m?JBRCxI%=`F(6xvwguTLyLM*yC>+vTJT7n} zl$v|fwVueJ;Ag=?VmCHgn@tI-;^`Y#s5ykAJu|>knA@peF@?<*%1_wR)n*#`5{ZHh z2nt;AKIZ(eRJF7ZaytD~$VpsC(<6xPq>I5Qm__ZE$yY4em}LSa4@xa1FuT-Q5EO z8wPiGcL)sb79<3+yx+T9we_pr+S;o9XKSYV^zAv-)3@uk+|$oF4}Nt0F`bgeN4C&V z%VSc3Ax!RL%R6aDwC~U=q?PB7;8F@U_;7S<(dQmvd7(OB*Ji^sb05vx=DqWA{1vC)>p? zqTXRR;*7xuk{mizl{GtEH{~xLQ*P+R^4lK^xYs-l49Vb5Uqp>=r))DLLl^}OeZ3ps zxgK1)WV8vxZBzN92gTDgL>VxzA|eHrVu!u|Nbx!Nf5xb}-kaZfoz({rr*2h=eg}k2 z?20%k3fB#=5jy#!lsmOl!Sp_Oy1w zv|c}@8Fac{hIQmlsUc_o8m@P3*tAm)^=NeVo#jIIiXi7}I$yLqA8@RG#QGD>?q{#2 zXO9vdL@6g=c@N$yuA7j#fOoh)?EN)HwADov^g&L@x|?*@QAF_7kg2_*$qwm;jS`M> zvK^c$$Cv%A17T`&^6UZzJk?IJ|#2Lj|fyGd0v%I%!+ID}d$`+>Rz;g?tL zL{cJV8EAC*kn5!>p7X z5uXDG)+FN^GjHq~q3FX!AKQ)Nxnk+wS(mOtoJiTQ)r#t7e+@^pOm_P#Uw0ZQ+YqbM z#t+X#F06)lHWBQU{%I-Tq%yNb>f=8c?-rAb<3dGB8|`Q9(rsu5DGWr*vHa>_;TOxA ztZkZggDQr0cFVETq*Hr!tb}F^RXVAZ&#srH8h=iy(RNx-AXIIlzHEpKy&18sXj-_@ zUlHg{2t7<<;Ad#$jAg*>1PYME5eN-%nwv2htRPuXUpJztu*o9qwTp+p-*aklFg#8V;;>nA!M z@&-V1)=%H+T7=6>E8OFczyCB3ex+Z63g;^)&P#t1EiFgAx9{k8nya)#aI=Bx+MeH6 zx3q+kRa*19bG(?9>CAQ!8F5SK^s~L;un8%7u7NeH|0FbTQum=t5ipBb340)_<^{!y zlf}V&7x~GbW3IUdt|$7rhj%#=e*P zFr?$X-`n2@<<51yh8Ewc2vG^G=QVbx*>L?9l_qF+4kC;SRjnZR({rcd_Nwn zRc+k8KsE=u;M&N~77r1G5^IAvDvCjN1p6o#6hu8xkrNbU&QxT))>vJro$iM}HbqsB z{5Y@aQ6YIFWj*J98w21@cLKWfMxebku2wEfKlJ$-)DDtX)L zi7&tDiZl&8BoD7RpQ_ehPu~}fE*PlvB0}cI&iy#$b@>3*%5b|RipB0dwVD5D!m!*m zDQ^%pMA3yglUn({-Z?|7Iz>4PIVJ9}q%|dE3HC+G6G|oLgZ@Yf(%hzTJY4+s5be~x zOF)a+L~a(tkooF(SGi-I*ahVcyCQxFevBQ8HAisAqrBEhBt}i=;IMrr$awL56Mm1j zwujj85K&aqTiE9ZIGF83{jm(aW86HtqhvQMnC!@Xv*e-|F0EGp)sxygjmz|VL+)4} zEN6y7wJgoOE!5VkA9I$AAg`vCJ0HrCwj+HKt1@7SHGsN%?I6wr6E-<+z&9&D5Je(W z;D2u7pt#scB;ieZcJWVhw#iDL_tK}2sPGY(ILUUSKP0R1nc88&BQ?To>&)KGAyF{D z4@c`ZmO{niq5z%q@^;mf#$!{WT&Nh?_((HacZjp1{A)u2+(`(=aNE299quvY>kNBB zDsOR~%sK4&IpKleP z`hoq|i;bsKAN`sm@`IgBU((wPj?w?LS{jKDW8xnS=RKc;OY-|3S;4klctKP#nUq{Y zQPe`_kI1RR6U674idV?D?ss{D63+{@gfDZIRrc(gMj<`jtVOZXgG9cVVk?(X!ghid z^?BLTmY+1dI`i^&a}QNdd_@}jSo?n-k6-(eIcg|;pEkLFQ%x)tFV$vLi=uK34HVn< zP(C+DrZPc0{E|!tZThGKMotm*BZE8uXL0hr^MAwN1fCTxx1J-4s`ZgRy2@Wk ziNQ*TQX+^S>yZf#ix#5T!ix2%H&O_@2hfl^bP=$u?!F%_px83jG#cDse6 z0Uc|_kyMa}I%5B0$MP78+}g}(Z%sZ=8SG}-k%Ju9qxpykjvI$gVyrSNWpAc@TAS4S ztV02zK?=`ELfOV(N06swh(}vrdXG6h#?OAQ;z-OXr3>0p>z5U2B^8E`MmNybc|r7CBTN*63>AG2ehg~YX8 z1|zc+3laFZk`^rH%0k|%ASVKRFW_23cDL(Om5E)P0JE4h-u8K>QNB~+G!K1@Ifv3&+LU@6hmSrY49y$38>MdE&1uYNjN7rRWn!( zhZ#{mTy^m84^C;f|1|g8{$<|CKJz!bW9LzfH3!)as$AL9R|Nj8YPgHI!NpY+WW&Ll zg}}c9n5>48&i4P)4LOj%Vd|4&7~9}V3OeM-E2;68PJ@uSiXW~N)hMG!aCLtwMPe=Pt#=C{$9S8NW_*S~y z>c~g3sgB|9y(xRuS@+k$(jnBT+zj@#ol9bPk;&0d(n;1t-4Z0_Nhom~W z*T&b0l#B`d_8`;el{BI4wZ#5u-5{5Bt43O2K4vvE5M{Ey708+R&ML#m%j?W~%A#x1 zhc4?q5I_;}7rVD-zAA;s?dYd@ZeNwg&@>kV(i0c{T>uNeS!u+-2*8MV6gaYn2-sO zHK|emtv;b;asFsF{9!sw*p#n?e)oOQJcT%OLDMQu`1u9R#S|Cw98?6v5rGfz?QDhp zmw@qyu36Xy{@YTEl#+8lTYrZkUku}1S5Gn z?}DX2CG{KxXe|L{=Cpmw0oX_1IT_=sOPK;->Gxhf%dy8|ByKG}HD!w$7wyZR3J|V$ z5g9VBg*aKyicJaV*o~f=LZlPgzf}p!%GF$qKsveND<7J;-mz6KCaxTU zOVOMI_DP?^;97L1d7Xvq$87YZqS5t~g0_D=xv>J9AUBxZnh|d|Uj=Opds1Bw`+m*l z&)%>OoRF8E{@yftG*C}m^F-Zx0JBdTDM!8$4WuA`4QuJWFf>Gyb_yY55Zq6dc5UyK zHb$op8akkq$0Rdqn8H-RUe>uDTE-ZB)Y8z~#pkk5?n(Q!kC{qI7iG{=t3mJyWgKk~ zD0YHV(A=}Ybq)yDXF88h2xVCEsd8vE>! z;9T7~e9z2ab~vCMkG7t%HA*GAlHYU{(ID>xhH=9{JEf4*99CCQ0hWzt>dX&6(x+C6 zs`aR{ri1&u(}#RX8yHV!42Os^hwixoTC?xV>z+#LKEwK}C&3)6p1$sif7sv)>Hm^i zyHhl)t^qCIcvyGqh_1n51lxX-FypF0CQtEeo=stKj?!wbYOQqJq7L^tn%yIj4Zjoz zss`pARj9dRS-)xS7uHEfV1_D}VS6P|;U>p540t?nSbx&)L%O62Mx|3mSUEYXIoC7` zUd~=bW!L04OHF-@A>!(&+{MJ{-V4mAK{PHGsD~sC#boOnHc4znbwqlOy6s8jae37K z1R7F2vz>SqU=C=NNJqp^1entN<-av80wWDA)<_AF9A=(SK_o~06KizBd)<$;(sqII zTWHH9tm(NvT(aJ&ku>~=r|lKNr%v=yY42z2YD;{UI;jeu)9Q*95RJ>q9P|mJ)Q0#7 zR|%>Ns;^1=Q@sEDock^1cguUpA6IkoaSQhi=(If6g83>Z)EP^eFzm8p7DU7k*}MJ+ zvt&(({-&_PhbF`O#cYhRH-wxqDsYTaxh^J>4ckm zFZ58gf+?)61k#Roq1DS?qH$}ZR(;0{tJNo>gwcU`fxk~hS;uIhSIek{w5Ytr$225q zslogbYGG=!ASKeD1U(&)U;1!9z5uCjf?^^oMBHA2Rdc;ESMucv2Ce~|wo!d8vE3AZ ze)L~T(1HF6+GvzHa|oe`zmke=3;xF~m4&)j&Mf&qX|z z%Kgr~f4%+@m;#9xm&Q~GvX9&pZn5yF#irBQh@>Qi9h|eVn^q%Bu%Wnv-3PWE+Vv@0 zI~3Y4`ZxK5#Is{Wkjsln=)lasaGDM1NowBI)YZaSq=)UXP)uNf2)N(~w4wG|B>!p~!*E453%<&hF*$lAyx-;_3Xy1iWpSSfgE;dBS54@KM@ZvO-fls&~Bv2h%A`IOL{8sjPNWp1K1nPTruk z$z#4IV|3S>+o!$C|LuaSf(c4*rLzG}LDI&)1LYujXgjW3|EZ(B-JeRK>?Q5u;4=|? zB>>Cdoxg}Ui!CGW z>4bnIqH;ryW7k~ssSw1`8bv;5#oToqzpsuW9*qRMJ>5Bj#hiRki!}SP8#?{jLECD@ z|6mkJblHF~4+>%8Ppt@QHMbA-_FF~}2^ugcqTXd5e$lTz z_XeSp7!5)8eD*oho?`pNE{ULVKvVp8U)`0_>pMFQYjKt2yl~UrJ!V>IbfpONOvF31 zVIoOpeR%VjZE2G2HtOX)&V#1-HT3c^RalG}_j~{kQzR4pd0L*wzVaE!X6h)^v?aL9 zRsT0iJTU{iaXDG_c!3uWx>>X*TQp$UVET`{iFK- zt;)o^O53~2KbQ);3O`o1O{3bnZI9|>K!h7k#~V!}zyE{V2sdxQd#H(6e;W$UuoBGWxg^*$E5Ig==&wXG zSmHSS=a-K+7S34WRvzDRQRIlBnfrTs*>x75me3gx*6{)kd-GEq@6c@}N$oy3z)B@6M*T zwNDna(KQVfiK-Ov*|ty3S&E5R9>=Y5QcIB;8!&(LNo09;I0hWjSkehUh0-c1YdH65@rrbgi|}*c0H%@K zKuy?v0I59oF2)rodw}{or>8m{no|Cq9Z`a&YQ>mn;{}PFF3RZ0q_>si#ZvAa=$!L@ z^<3Q_ernY|eUlnQPv?!GEV?I8R=$>Nx~?M!1Z*C0zlti4(W?>`{+d;w^-{DX^B9yt zX{KK?4a1q%kB~fr_k{h~LF4+m7pw>Oh7etDYm`g*lA}fo48f ze}pse-fy|RQ?Is=z`1Dv8`w;2jUmZt`M`#-gz#{c>1I)jya6=)X z_RzlJ(n~rZ{4hnOxN8p~*R@~v2GsQ6pJ%sBB0Yq9yTIBjR9xVbGc_@BV#Fd)Tfw8K zp9uOYl`saL5b4{%+D>ifg+n9NiV2nB(`*cyKjZK^-pL z+#nsoY3z4)T-ptuQTkg`7+m@fix0jTUu_Rl!*fT4YsNyZdS#1$uZoa`)Ao-+CAG?7 zoRZ-HM&2u6F5J}KppL{11_O29L39oRD37S1A%LJpuX#B*a-^ql7oT51Qp1D57Ht!e zK51MhW`rZl{ZN4SF47I|dRLqt&!?~VFUsnGj?Xm)Zw#0aj{gDZz{0)*bWRyxPjLLAt22*< zf4x2=KPGa`x}yzL623b6ihcF9xUwHnt&s07)VX=|gaY~N{^wJlK&m$qR|6ehx`En1 z-L&|7pK&CRS>4nL4?&GQVum4SgmIu{4ie}O6TT7sPKWrmzhxsv-CDnD0emQzdf3tD zL-EObGNslZetJxupKyiHxw|eI86CL1wu~jQPCmrsj#PYVl?q=D0V%F!2)S&G8fxiC zRa5I(3m@EOkhwl9$G7>v*Z8IdtqWuVtw^LoI&M;}`L18%jlA`U9k{-Os&MimC#bm; z7hT%5vnS;<2L98A+dZ-3F&yJ@C}XOA6iNB6ovMs-Hf3b7PGlN3E|BaUK8oduGKISU z2y+Q>5p;s1B5fp&V1mvw>C)h7;we=xkSD%rJ%diL4hS>evzk8t$!7c~`{jSn!ojE| zB^O3UXJKQreU!x|pljQ5x)qFnr59nn4ro_S;h5_;wEiJ@?=od?)^=wuT~ABbznKue z{}Ih^A$n?h^R?G-<{c)%!#kOA35(aUn&t45v(b9vVjh^B?Q5a&=&~n977?RUVW3nr zhOp2|=$$@I)ogfqO%l70rn_u5lH|V~JK*p1$D{gEi`tn`s@Oqkj%TpLfBzfrDz`}# zyGUsJY6@|`)kAz}TNGTm7)t?bC*;1)zws72-*!7Ok)U)m!NLB2QG5kOn@CXke@e0b zN9X@t`Uu6E2tEJFK0|#@Y5n=?COT65lDT1AnB%S3PpXHO9279g;Lte|w{2ymMEela z#L$tDX9Aq5e@U_De2TQJ?+DV3es@WYV0Ua~*>yC2XY>$Q(->5~N+R4D25r1vNxvcj zth%teBnEIsq&{Koz!7#9#fSXJh|sV9Ll>Ka`?7-k>H)AJzS<7X_8x|uL}BevSM)rD zCR`3JJRj5p_Z3aNo=2I#c{F>k`5fKq`WF%NrN04Vv96u52Kv~MW@zVdXI*1qThaqYao2G5%JME^8 z3)*9Axo;7KcI`%|IfhKpY?y%RGJjntMDu7DBoV!SA#P?blJ$~AZEn}Fw^yo3 z*zijy1mL#3O?SBsxNd9u>L8U#b&h}5S*a~nEwn97)4{7F4x&F3Hxk)I>#3ztNxcV` zr)X@aZ`31%fbeEF&Mu0pUF$e{n$?(h_x92PW9vk@28_hD$)XUGqVIczsOF?+R0NtR zLD-0lX$BPt8xVesiO@R2HrJ78R^M?Q#w0VD6wo)>YPUZN2Ce9W+EQ2wzVNcLo!9+u z6J)!L*ydxHWYC{`wgMlt4tWiTzBx7Igj`Vyt$gzODo?kS#<*YbmSik=d96o`U21f> z5=kIVY|iU7m4USUx8m;!($zFGr*d^w6;nL=?rzK3Za#hEOou{)7`yb;Q1Vdu9|y83 zr=HHwbE9k!aSyj@575v%c^Ii4Twb(OQO-#9Q^~Sx>A0_PySt!9TbC5{K7Wj8gERGAx*?Y%5;lvP$D86tP+Z_09m9RS|cCYniz4dQ)yclsp z(7Ofriyj%FC03Xr?LU}LT(emhxDxI0(89kSFBiXFdi5t<0)6-X!PL=2KgjAF$rFDi z%pG>w|Mt6B;vO3`AOFYO03>!ZqM#_sSaoi+_aXh6kX~(pdut6UyunU2>dR7mSfQyE zwRRFy0dvz;E{}8lqkQo~YT&#D)S#k8y=}Oiyb&3ttp~rC=2?VeK0xu1)O%O|7*7~Z zaOO0R*k@7Jk8bbzxvrKrvj<-wKMCKyGO9`*@M(lFh9{oOZTAa+&8g*6;<_)GNhyS$ z8!y5T!(D&4yj`o*hnij=dWq+|L#-0eVUDX=)_i6aytY}@8R%e79SYIoPO!-m-ccK4dq`VcD3e9e z$n=n>tG^-aFYjbK@LG*~okAq7R@VvooeaGNG-(lkf^o1J0*7aD)WtmM_uKxWi?=%3o6i~)*<5S zOtnZY+sVj|LqV_EZ!?D*g82vd$3?E4o2V)d8a-0F;eE;lIOv$Z5c_qYDV$^oPdtX2@lwP(TaQK5e^~>2mdnx&uVmdBq7D zCR%zNfHDDUfJ!~vsx>SrRDSXX5?y|Jj!kFk6=q9^k$U$}Ru4fB0Zt&Go9`y?e7l#g z9s%j?2a2kCf{ko2nv}cgr1ht!X5ZuWgw`0Zi=Np9+-?{oON9wA|wiy++SeHV=BG5-`kOJxXcGGx8h)zW^)C@Xj|bg{DRs{l4Wf3*Dw zE+|$$6H01)ah9vdepzNH5|DpDEeakMaVz=I==fkAq6n^<)m&|FfRBCxqKm`qVj{WD zc<%Anue4g`u7&WsAJ-7J_RzW$)(o|3doxCj>CQw!qM4HiAx64X*r(Ehoa^=o3@GZn zi;Eh@qB&v-pPD4Pa5#LpW`lU&9#{_E*{=y=!rdpKg6lRrAY@`g9qqg^Z1_!vv-k`% zo6h~@ulw0vdPtIg#a9Wy9sHXx4xJ?l-065JhZuN%e_8SL=KEm5P|olQW%&p5 zb7a0OaF^q4iYxWVVaHNe)L?krUcK75^iV{=t0wnl>Wm#xnCcHsF9Y zfL~(NjY2iy7BI3<@;8F({@sKW<3^zt_tg5H--+=eV+ldYJIv((>45$y*4GdoG~_M4 z|6AL8ShgFc__QU5?eNq`OK6#^k6sr5QB-Ny?@4JYyYqgNAw1s+lp7NjxILoo%a7Cb z^CbH;G0Noj*pah`&%>X)^cyrPVQ%T=M4Rv*Oyuxq$i&!!l-nyetGg5b{y&&&%@v!l zP9I3a#&j1FDd71QZ}_Vd4VS*J^w5%B_|ytvFHAJ#6-(qs{}oH%=Ig=8u}@F*KNxli z8P&gf&!9il&U+32N&dl1B+TIk622LIi^_WHxrN@V%)GCF85G6V-#Gq4Uh#Quy#M!v z<0kN+A97G<4s)Sn8J+igp$6Y1^0peP?86|z{14_k%XrT(1W(&)c-y{d%3~33hsXpx z)eGjhW|lHL*%@Yb30a2aqc@L)ImO@ae9n0m_gVqKz$5)vyaL05=jHzoehq>Bu7XWn zEV|g{H@pHx6}~IE4Rbk(Pvf_Y^`Tw2LmqnQkolrSJe%q&`tVw|WaRj$O)5VUJF2}g zQc6M2O=aZjebYpy`=HC(J<;I*)n556J@7df^I#{Y{AUvZ3hyKlob8-?o3e|37@==v zyS%2odu26cXk~PpnPALA6gewe+NIw@Eq~?DajY6g+DVt-g~@hcTU9?Yx#~%kEmu9a z7ipFY?-H~2=NEq`Q%tq|YsfEoCsj>uBqNXhC$=C$dOq|@k~Tv*6Z$#N%cZw@mY0i_ zE0@2S0mwzlt~;RU@^F{K<_&e=;&688M&ia4VL!ZVF}q@@^$EzHWpG`T_1I@cw~-o; z*C~C|K!*^U?FQ2^qkP<)MuzJHIB{Q)?E}du{pU2++riAF^Gi`ssRSU`SHF>2MNpLq zC4|Fj?x_F4)^m02QS#-mpj$6T{SJij$kge}>ZKMXvkaBAlDV#9-x*mC%o=%NSEz|S z76(`>nV?&K*fnxx2;y2ca(Xa)e>;UtVS_Rk`r;d*wU-vf`RlI6nC= zD~qm&*q#%ce=u3SgVQj-YD#0!l^MCWF3(_+YGTh~Gk0l=hco&34J^sAb)6M!vYU$O z2{!&5aPLy+i;jIYH}nqH(d%tNh-`9pIci7BDopQeV}!J8z9QJY7h$V$&&i$0t0Q$*0kzgg zk#E=rJUP-t+eeQjW2Uj;Pn6}f8YW#&O@vu|nWyzm;1Y6n-h}rIsf`BGGLqjZ;xGXx zl<2f6TH-M+ZPv|aemi!s6<>2m2ef$-_>rw;{yb#A_9!j&0I!s_0XvXcW!@qZ{$2tF z19@Nh9N)aB-*NWy8CXZaN4B1qP>I8fy^FsA70;!C4U3gbJ0l}s-H6?_yJFuqCb%C0 zE**9G1By8QyfYLXx^N9oiL={6HVwOET^1Nhwn}(-v>nE&q2VjUOrW_lWg?Gu)a(f5IIeDBWGV_R9jA)7uGRNFUiy5A;EJm>mSUIO+{1t z(MgAeNyxeoOSDsdLzb|hlBePlILI9K?DTZ4LCj$d8LVAz65p;J(6LsRWj}J>eP*8X zr)x07A@q!;wembC0d?I}$ftFh%UXq7%aYg|Z*GtcZ>Bivd)$cTudoOBODUn{HEDXf zQy$9gy~_`6@v1ECX&5E2I<&QnRgrUr9YiE7I$mky;El5M#xzb{ujIY%udv*;T$a)2 znSNP>4sKYKU(PSEdC$Q)yz(T$2tovN27CI!(lW#x(SZZMs`pRmbfSf;>jOa9gI_Va zu@0YN9h6egljpE;s#mM$a0#8E7ZOu6uiShO%wk! zSD?%6VG`T5KtYyB`{3PUa44_?>@1+K zS*ob>#M(GEu5;Z{#DyaPSl!;eB>eu=43UA<<;04%%^-L?g)-^6KhUmgaU1 zUxF?jhxiLyF=)DoCY3$!BRsD9HoL@_N(iD3FY08xy_EecT5(LaX;_u)Rz4s;{kX*( z-_tHZ9B>-Lf}pPPAIRiVwK5tT zCj}DJ<~3VrvU%XGY^b^@^;vJPttnqYE=ZHh11u9AB0PrbeirM)j^JjN<5t_ms^?v` zfa8Iy?s}==h1d9{{HwL|=I1vnWVwGZZj!a-JtF$-$4L}01bSnyV$Oof=`pAn13 zrZSH??TUQGbL!2Y4u1k5eD(6uw4cU-(U4a0PiT6X@fW+5^2*App$|+OB=Npe75(w**?#H8Cqd& zW%+aLzd8K(A|`ijcYu|2+9&&Y!*v2IEn#hHO*m5e$-cGM23e|WcyyMYpUb3*wL3g= zJ`}o&r8BGK%bYpYII>qWen@8W>%7?8+NcK$Q9vQNv#s73UP)vm?mi$it&`&_^iuZWFeIe~RVIRRHPv1e>* zSX5cz=%aL6bx$;I8fko2%}+T5Uq&2#hoNl36*BA1DoM<3eu!5GF*?tr-7`LB&mZr} zOXkQf26E<#H66|~TO_wUs~B%vyTvxXnMKf&sUozI7$N&m3j7dMB@ZsP((E^fGBuhSf*TjEViHh~ z#G`Eg%FN8%+$+oP(SHj}C^iVh=DGW8F9@zxUc$3BnSN(<&UmlojoRjD^$%Oc4X%Xv z$efczWXAJ@c#QpDnVy-3dqcfFy0?I^k7)iLUw293PcxsepRurFUDU^XMz;Ch@o-GZ zFAnE?6fyz-V32qtWCE5RxFkw|furVkFH(^|hC3wsykd~?H*(&0qC=skJp_BBu4uK= z>?W4$Ve!P~Cs-logm|Lr4IAfPYIJ*~_Y7a<=7j}_%j^XiAt?B+1s}9)6V_)i*MFpY znHxHKP26jyz*;K0k7G2?58uQD)gh|dk>qxOUNrYU5E!zGgm6RnM&ky+yo-MJd9(W7 zl)MkG280Nrzlz*z^4SVnaD$v}LJfB_fRBFKs`5aFGqMIT6L5M_`nfH%nt5F-T(afN zd}+)=FVXqh=R^y;v=kt%*$#l`d%dtMTRM!Szs94fC+$RK<$ncx?Yxxz&+$an@n( zNfiHFm}3gF-UnHsTk^PW2p2y(Q+%oCS9m3w;upWU;!{;Y<)ZZqf(qoOdBnz@HK);r z6Ip$=oa6SYg*xR3@BUq+b$)j4pn=b4WF1Yi^fX5G=CPAjkUxwY-y3=#LsW$mdg4F) z(g$zo&O}-nT?(Alq#zQ1;I!zWs>BczMfOdKimb!^5$6U-(gSFM2q0F^1OgX%!SWcZ z4C}B-*@wnT{zG*K;Ap3Bu(^klSd+wZY#DF zMhF=GSM^tG`@La1hq9Q6!;50`^=sW0`wCjb72&8XsAb~flF+=>p+QN}FG7h#uv8?3 zBz^rT!KAi&dag9R)VI{suJO4Lc9Rv+!+*`L3iF5llN!{qkq=HgT?lIvj#$9c8_Rh2LJ7*TOO6usuWJE3~33pOG(=+6KqIrxD+@A4XEkQ@>{vHAjZ-5* zR*Orp8`6W#EB$+54vT?o0GN`3fJnL!rcZMIqYGKre;Bgv28J z$!#emr%5(H!Zuuej3tvh^x?%lT38^YR6C8i!*ws`2bw5pX=SIANCYWMsSbn(*fO-z z;bF)Yt@IwbxXw3ajJ|M|HIZm5z)aJ=>E=y)t zVi3BAHcvx-rC3A=x+_QRuJ3REHh@BsMU@8q4M^!d#n8Jef(3wRj6Y#r=@i~XeyLU}j`VPHhZ-FAbeQHE| zU63(q+IY=;9ozLtgtz(T#*`AQ?~cRfq^U)J=5>vh?wzsh63A{|1w{B!`R5k`vQxs z_K|F3em)reWWFC{fzEnQsNg`1g~HF=b7m%hzy zXXto(t)N1=N<|slJ$NVLQK~iF7ZJbliw6mu*1sW%2l4z@{P!w^=XB=1@IT_)|0=>b z{-^N2f)60XGD#W{upQ46!P2+3HSu>c08?*i`!D)`#Mb{I0RO!L1mLLek^KcA&X27Z zsXMhA5Wb*D$ZeBhVqWTa4e-9?s{Q6kF{7KN>dR%qCI`ycuxQfna~`ko&D&;&*T~Lb ztg)>y&DEYq!Na6K9p1rMmP<~ynv)i%u~z!Hn!PbvTOQUoeoNwmIKhbv8)9rU$Z>Oj zI+QQ0U10sH@muoZmVw3cvDdr;si0Y#EFvaas$q$Y8Zm_?{%M zoGk5Dy0m2Bqt1y|gr%z0Tt^;dk;P7{x4A=#3>)P{v#z0g*l($KpIlhxesM4u6E*^# z%wc>?rtQYeiO0vrsi`ohe#en2WSMnXfe+XqDrH1gFaCBpK~J%{qY24aoO((Yzrnm; zwN3ojaF@YWFt}4qYhxFi8MMC#ihuo9QU3h#v@0)M@d zLU4vVGr^);_DH+2M+?H7eknf-y?i1j{9u1$x2*hbkj$s|bzJHid4ER>=W${&U$CDA zv+@B*7E04l+%>9OYV~k_ZC-L)O64wkS`Pj8m&>Ajx764EEa&{GeIHL>z;RDq3Wjdsc(S&NGg0bS$JN zN_L4pcD`k-r+5<0e3y)WyDhe^B`M5Kg=4S7Yji_>=Amb$p4Pt8vlf)+mu?uplM_E7 znTiy~4M1FWm^Xs(a)nh%j?00%hbghsx+ganqe*Z=qYRE((d;2xbX_QkvdhD?-uqAS zeTna<1H|QDiU|B6txbaY0X0TkK`?%T0+2|AQZ}FRkk3}j%ysM%trn2THy}Z#?b>4BpUfQWKmSh7{g7~)%>!oV8?tMS?~jzg;DAz!$*HDq;b z5$%i~_H>ZTM9;r8z1p!FV}nMHPAD(f6*%?qZ5>R~2nm`zKP7$nVise5X`nW_Xrp^5 z7d&rY#AfedWJD+32H9v;L}T`>Y#?)5qciAa?Ev%=N_>yHG{^sSsg^gsJ=e@?~yd=JJn$|O}Gt!dbWBLc%sI-M!(GG+78X6Yew8;51kvzMPw zS@{tl9d~4ottSh`#Qy%Gil?bAuVPp_no|3sVw=Qv)Nbl0>Wxr=-wrPoR;FjSq?dtP zKG2q;zM0R2Yd@$*5^zUH=j8&Wg=@QjRRNr(mSixEQwjQN1?P~$AYfxF{g%ZRpQ}hf zp;;u$dwb&ux5Xo;PpmEtZpLn2Pjk~52tysmGSL5=T5wl++eG(qS6nUD+^Y7e`rVti z>SMK|ZaLe6m2g~(C!!!qlHv$0IkdUd6euXBXE*mzWwcSL4qx}!tfaGn552wksh_6&!?(HdB1+y^4dPB)Ly$qi46Hv?{ zHmSjiiMnZHhJ=xwpkLKtK6vkKDE+pit^BAPfuAUb5Whu)k6V1-F%dyIk_P)+EB65? zXSEFQHcy$6|9}c>5`QZc=CeR1`AoAvq9LyE%(aM>EUw}Kzn_ru|La2XSaHc`F4a~4 zq+5&1cjCs(JlEtci;dm!+&{dlxH*}zxe;FG?e^`426Q0QEry6If(mw4#cwpNNav>m zU5Uh?hdC)|5MLM;MlfLCfZe)bFF!Fc!4w zYW9z<3M9$x3Wkef2Mblq`2g<7$b#$09BkZwFr6xgFY;0z6Fer50Kf zY@3VA0Z|TJa-_KNL&9DB4go|Mv3?dQ=c)tr`x3;3NJD+;qiuyc{Z$2+gF6%Po$Q7$ zD&_cfvy*e7`}`I5{9}CaH%h5Rx*AEcx?FU0qu-PiT>XmUhgzRoAVb|FF5^l5(CgWz8?3H?+GNo1kOsfbpTiantFSu1G^ExlGL9;bO zb!bYR#9^s4Ioo9&aoC%CY29i^3c(6A#=Z0bQzisXoBs~h4H%|l;xFVJ%dn>ADAd1T zwHj8jYj|-DFJ<_`E_=G~GUQ54S4V5Klf>6*>6@imt{6A+m)@ZJx|kHHIdeO6{%)#B zMv2`!jcFopZl&C4r(Had4^F@&$u>YER=+mz*HnC0TfJ}aLDy^GbuU;j42Q=0PG#Ix z84Gfa)OD24>l#z~u)uMxFw(xUYm|wM{ma_@vlTC9VIoa1R!}iMhE~^KPX|jB&*Rfw z;U7}5lb^jxgF_E55)rD8RbDdCEW(}mKq2h#@d6dz8*VghfT=E9#VYLaGVPD-dhC=* zZoe&X)?>(={x|mCDk!e*YxhM$f&_vSG|)6oH^H3%q4DO$8tcYg8faWXgy0t3A<%de zAVA{~g1dV+E&+lhK#+ta@8)0M{?0x(`<$wMZqL=IRkPN*SXFb*G3R*3?^!&67VF-( zKn+oeyXdI612KGoi*!JplN9|h^;=J3=e`DNP0Iqe61Tj4fByD6-@=VNYpGH}ex1q` z+A=k$&Zx283-LdX=zjKZU>RnY6^-|W1;7iZR{s)o(LUQV$$y^C#g$p1qnUDDx3Y?Y zSvx8HT;y7F%(IERIa(*DegV|Q(1B)mCS$(TtY+7~9cKwYPy|b1as&-fZY_CY94UeR zUv@l0`3WA{dTgMEct+#m%h(}nO*OOHm2pKi%#pwP2zHh9ds1xIZe)Bb*qfhH)VQ&& zBO$(HZhO%%uYmG61t-Tbms5SM<%I55lh{Aw(GZ$YBR^vv$h-tDTeNw#_#YFT?ar}} zMM_x}@*BEUdxlYu{40lF-?hMCF|FLt28+u9_qjzvl=fD041XOU6|J-_4U1@V%vd6FNdXlS?9i1kUe(q)^CyG_^1BR!TZmMWIYf3{?mXy*Q$Q1w~zbX$4Sh~QF*xFzO5-5T#pduP629kfz!0PL<>tg> zt^VWcaMr)3e3&Qus@F5_XtzM~bJHG3AiT-ao~Qlhv%3$tNv1J}v~$m+`oX$d~p|(8ID7r?6&=t1{N5cB8au*YxMn$8yc}H}!_y zyeiKYikwy7N<4UqBX;^7D`o`}R*PjWjUGa?9?^2a5#!P5hJSg;%-9ypBTG!U z|H;*pnlBusOmI1`)k{0?gL_~nnqt-W!8Q_TQ`Ub8;BbSV&Dn!BZO5RUqz_-*+Q8 z_%sHaYATBO-lDOhaj6?iSU#zvzhX{@SZi+J={9i1PG~N+n$s37XUd0Y?YY%&2AF|E|5V* zm3N3*heeaEkguPkIe`)kH+n)zH&9fc;f@vg9I}yeW(C5`Dik-G`S9b&XH%RXtK$0i zz#sFZ)fGtZBLzr5t;ni4)xpW+glqPX976}CFDK@IY%_RX+^C!U^&It+1fzF#i4Z`Y z`}f7qU@@^|WlvwQ-&Kg0PVgh7|6V z@3Tp(?_-ET190s)IbJXkElf;9Bn_W}l&+}vYm*bjHMRxiP+M!Jq)ss+hn|!A zK!4u9Z7=jmr&k+T*KPADCs`Xly>g}eY_cg&S?t98+>a~1-Qtj1>MYw0VBs9)BzK%6 z()^*S`s{>!Mc7qO*Opt1ahkL!?u@*Jft3VeQRdsTYCDoMd-64f?btG(y)9og^PJTi zAMBP4ry=rJGsNniz3^P-4Ww&a4JVL>ZjH-$CZN0w%iXlo`|o5~Eq_w&n}JmLLb{@}@%r)Aww$j@vE`Z*0YxEhEl81amLP=>~b+`Nv2ysOt(9kD|{v zYZIWkOn?BPLmBi6d#Z>=(!ALC2{4XIVlma#NL56WT8qXgV9K?;8O8+d%94i4k+g*^ zPv@BWH^;Nj`IJIa%Ysp$c+Z;E5zEr+M70NoxjzWISmf`W7Hk)#jcVv2G~DR3&zzOp z@u%Ncv)Ib|1sJab!{^IcgTwWKJdjyf-{MgLJ^~jBinh}d3Pb@$#D+3&b4zgSS@(uxdmDkJ=@&Rt#~yM^^HnabjU0z#eNXnZ(#0VBTdM9 z&n))`TKWUARf;4`ZHiLD_ZtaAn}7gU$w!L>V8qDJ@|D-5D;O-sOIqWRfpH@Ol6twg zYgpV!{rDBio?M=ANsm4)LCVi1oo0=NUfLn2a!CPhk#KyoUhR*tUCd+|1^Jlh#P}d0 zoZ^~HF5i&3z}Vye5;*_jJPt z)7j)p#%GbgeY+#yZM|aqwq^f+4V?aER1~hO(fnQhpD_IYJpkX=Ji7_{(eSB-`#k&q z5C0Fp;QRMcK+daPJCS@b?=FeD2<>i1H9f>fQ2F58+Ld(OH}Ov=wfH+_8dc*Tnnyof zUpexb+5qPI;x6`&y{y**yZ21SQEV?+`1)cvu(}kogD(KX%)1*C3$avky@aN=0`H<} zWx`q;t>Ojo1EP9+QirZW)y1;4066zsVNV?ZTjoC>!ymaO%Td%B3+s4-+J%i>r?Ri! zFO0ma_OQ5ltLvD8!!r@Ch}Nw8;px=;(o(dT)k_BB4%hZ6`v*5{-`{7ik+)k}9G_X+ ze#Qxoq-C|dusdIr1ms1<>rtkvkYfaJ`(Ww>rZU4G0BF~cIti>9-%ss zkWVq!EMINn>o{$@*)B_R_8O|RMev3jBf(>=*3W-GTsLttbglyNB(WdaI`b>LX1e5= z*b$3OAE#F6H6`rJd)RCgjs*GAHq&TfN;dF>agsd+^DAZoIin8RDxmfSkAaK}>Pi{3 zP5Ol5Engr(${ho(OH^}pZf+ji{<~Rxzb+d{d>65i>GB-^CAc_Htyd) z8AIidwd`aLuf2;_T0y3*k?~`2cU#Tw^X_t71{Iw7J*4>N zg{|J!{dfcT?Qt?eD47Af!>P zy%6lSokb8c(6gvb*Zdtt{Wu+8D_2rPJ!DvB#Pryd;)rI?{71+_?S$fG%Qr>Kb^#q0 z?n)x}fTY)MSROgR0%NLe+bjDpD&5vO2}o<_xY+B=z5Lxak6u(c&V6yF=@X;_>N<=6 zXAK&^@elS~`+UbyY1R1`;K}*y-(l{_R_nHdo34!g+v)4yn1xuW6}6keOiuitoSmdI ziKMqt%bylV{fk_9NFeAM1||hI^^LZM8I9xOi_BdikB|XR)`pV=t@Yh1_P}44V!0+A z-t%gCA?hr~AY3!aW{;9^#To?0bEzl&F5ym_gSO=)LnJBU>Td`i4$A9F#bGB1NMzHPj7!N#h#7o8VwR6U9$mCmkamOh{MjW3|6t!yGfb9zIl$F^9rR$aL!FOWFf({w=YBIW@#gmU0{dzV3NVMF`@~nME zwCCU6=4~$85jJXhx<`A2lAV?3(AN9xNH}~jm-zaSR&C(wYPY&G_=OHH9&oejN~12> zBYbM{q*=qi!d8CTaqMZffq(E2Emjct6QtOEfB7*AZewwXm@VlT(Wx;;fHH#MB zsxifpk87DnR6X$?xzuGY8_GneJyVFeOCIu(QkLSj-WPgv#;R*lcy;8MFZ1BZX#r%TbspTO|a+{^4YT9y-w(?k78Xk)YWo zb#b=6YX6K8KyK=T}&X>w$4Ve)js&g$&%as#dK@|a>MGoAN9nIY*t&AfR@ z-DzV3o#TMK7p3WS>p-@k(Q$#gkN0RwM-~8TK~n^L6WAZI0+u>65QM@-=CXZ&-8bHO zlgoA)(Yc16kS~V$>3djqYF_)y)B1L`lJBM_G+T|q;Zdf^3*NK;5>&C|UbbCIg_5J8 z>tdKyOAF0c5s))z2JhTUtK+{tEmEV_%#%>Q%jzu$ntE z+#0Zkx7Po8@vi#0Mi>nCwn8$k!U7Ecgit%qgrx~OQ{CyGa$jyHmn3)K`fGYb?Gz%p zOvF6jJSdlY2PEnL=rpK{x9MiB~Jc(%$$70bIp;hVq_7u_X=M))RZ>q14cWUoG zL@R2h_py#4uf$T-UfQ(x6I~*kH#3Re_@=exe<=#QOqI@ahQFPy{NX)-4E!=OlPECF zTV%qM>mCqjXH}?Qs9BS1ZT~a5x@xv^FNq)f3;okOqn84yvt;LaKXdSWuPk0mV`I`0 zVY=GENs2a|$gQE%tImU3)TNeK-2W!%ca_)jmfN*KKm5P3&_B#i47kAQ@60$LjlYiku++k2JsFEl4^Sq zZ`&^JPFiQRJ>s`a5uqupP{uq0!fqyODysx4m$?>#m{7HU%#YLh-m7v=H8Oi!c+CS;=U-quD#W^zFH~W$HB_1{`+-NqbJ3v!$Nl_t!QOAAN#YLLuqtv9fDI1J(U9j!Z!a}E zN1{AR=g=?CW%jdL)s3>Q2ZFXkh&JJ)*e<;H`!z+QB$l42X~e-u1x7`0ogyZxh>m(v_iX0mWjwvAJ^ig@J=GADgX!b8F!M*;|#E!{8 zT1i9T9>T-w+Sl${Y^rCi99HIvIGob+aL$SbbzfaSfZMpO(A@t>J6*ma;l`5UY9Pr_ z0obW8OPx$!pf(YNa{(P`LYqjdSra8RUTixqPI)pcVDSvI*=zmzW;FDR+q152A%$N% zwsa%c8+^B#C=@FhQqyxrltaJ;EkIr`jzv`%;aDm#07m~3&o%!qO z^z1{$hKE9y7W=xyUhvI!yek_Vxty{}@Hh@aLqOJ~wkCjS(W~+43*eV!8`^FA_i0!EUEk!&dUw~Oe+fow%+{2a+t<&s z{1_*8o$;wXdwNw^VBy1O5?frF=}yOy=CpSrY7{xeyDPn!HVv{=laYQTnNb!YSg}w> z(`!byD>F0#=ug(Vx%-xJXe#&Mo?4aQZ0pMxDj79H=04(7THqn%6jOP z7Jwj&7);wWFT(0$uaD)x#E<>>S6Y0(dCv;Yr8T5F`Qod84cP>lCA=rM<6eT=*;WTZ=KOj1TO)SAG%qnc+9MJ2i{A7`<$PaBG zO3A#H=Y2&cAP5S5o@=Ss|EAOQiQ?viYWoA%HD%T!G;ewz(Z)l3Bw$o4fd>fAN&&nE zR4KLR(uYsR?3qLdNU)_nTK%$YJN%wkc_fWLQ@Mld>JPj_y2UG;fpLO9876_o3Tba0 zl^)TX)0HahoWJMedE}1za#Ev+!+9zb7umZcM9hU3bzsL%H1h>`Lpw$LE^5B5im++E z-qL>05clna6#H`4B-;p?PI6~J$KL7E*Cci{_%SkddEG-Wo@j^tjYuXNF=XI=qyPkS` z>XwA1mbfF87vB?f8TMj6ITXBC5k?K?b z&PRs2OVQWb}zz5T(5*xK*2^lCp-(gS}K{O^w86M zUU)F8dQ?Y*h7KAlNk4~>q2MpzTQz<1z~O=R8+r?gpH)%VwahYoV{0mxGigZ+I;R4r zETaa$AJ##!jTqi0n%WQpA%u43qi>0UpBKnN?S^LgM}>Yd8Ms2&1!ZZ!)|w}j0Lb)C zF{zFMa-UnO1EMrXJnD3y6d4SRtzj84;P~&fvYewf@l8}UBHYNnxSXmAEmK2eEp4?S z+Re(R-2IC2S@9hYP(-8yVfy}{WYl}NI35UE{{ z<2s*tSf2F-E##%AA_w`z`#gW;k_oX3l~{jJ@-G{kIG!pQxZ=;$F{s4R{9fsIaVxB)|v64rX-HxwxHcBp%LaRc~^cgmBV3|Pu69KzU6gMMcYVYHt z=--{)wwu;Y zWY=1IJvXk~WB+Suo}hUlU>R?WPrxICeF+g?c`Wm{<4Kr4e}L9?dxu@bD{1zyg@9GxLkH~Le25=SQ1M^;^MS;#Dw@@N#f%%lP(SRG?1Ul zQso=pBD87O8^7%VY31vp!y$*Y2QIN)4@epG+XZHI&u{gVq0xY z&z%`7o1++BUkaAKtW2_2GCDTdW-7p_G85CgX@GFix4qA5@aggs+wJlMDp!YLS zp~;@+TUuCzr~Z$Lw$uS$(A1ElW2f%WdU@@vk_W3*4k--go2r4t_NU^Jr(D|YpX%Cx zPV7xbwk1!;_8)aV5my_5S26Inb|UiKW(aC_$e-(gH-A2Ve0|TzG4`~cK9+|ngT%2I zq>g^uLPq34N~3lALICx{k{LXHajfZMB+dQGJKbTYvT)x3?ObMLScU;+2Yf*zRx%B0 zslRlAs-`r2HlbIXCb>^NmLuN9e&UZ1O1=0Kr`AGpO_MqPL&I@t6~w9jrYsp{zyy^9 zYmG&ub+icAE~B)t`C;)osPzmSt@@EkBqI!K$&pp^2KahbO4a9waM}qOP1}RV=w#2A zxutS%a%VKM9(E>g(&iWRyhc#Ce_zR>2ymJ%d+|%+(uZ!0aq*TQA@++wA?g&j&>*}% zvvRGYVAoC#!hnA#|7PeD;#j?Zv{>0fePT!@PHq^xd8~T1`}=FP5s1`LV7wPAz*wPcDf(*|}GyyVAhnZEyD6DQdO6;vyD z($!3pH1=usa*|anqalw24yYVU0=KYov14* z&t!|1*5oMNCWlig1mA;l2`RsGF0)R)hc@R{h8e1}q4;+aC7f~*o>9nHT9+WTA<3_~ zZh8n*ggtgLgCS<=OHhE!_lrHUjuJf$J(?LG+mwwa(FXq!Pu5aOT7Y0ny)8H6$c6I6 ze2efp(_^bHwcwP@tnNIuWA=Q~g?A<2T)&?o=aBFDDX&rmMz0_Ow7<@?6f`n5sB%DV;G?HGT|o3pL-;>4ZyeV8tw(J*<{D zoY>)C44NMBLoz7z6n(|xTP=3{8`qJ(bu%a9vK-Gn8;%T9I1<^TKC^klYm9vnXU}3< zp@*G{1L3>X)pP)8N^6=_8RtrH^ux*|rhc^Vf~ZI5s0#Dn5QZUDSE9U!*Pe2KJjwF3 z3LbABUSa9A)y~i9F=y+(jh!*6X0(1}ejM=6%bl$rp_Hwv0z;_c;}kVO8=IdR3cH4u zf)*Q;Y4e}keuu;ARkfH$Nm}|0Qa!0zqk*u(+!P5xZ5RgaYm+OaSenaYt5w#lVlrYE z-o&8QWEbDTFuO6JoAw9-_wTaT^tVo7wiz%xe*&X5-F;f)Dqacr3WSZ3v^T@=L?>2X z@2OuNxRkWiJr}S9<-T6BsgbgwVz0$h;t~uEh^v76KP#$>t)1t_bV{Pv8# zrKRLk#3x>9jHa^7zXWcvT@~)o5s1e_iAq610%}a<;nc%s_sTcrpW}C^!^xQ1t~&nb zUpc0uIDYqO8*uyHrt4M6lYa@)aUBJA|BVXU1IrEE5xwm0h+g$UOaB$`$X;fj4F8)Q zc2%aOZy>9sZ#39yRrQ94$@UH4+^78Ec5f{GRIS1G$KLmfu%ai;%YUQp(v2y*!bc7p z8+E@nY&u>AzqkIEpr+aGE9138{j-l+W_o>`%+H0Hxf2qqi#8W@4fv}H**6n7O5Ca;1O|8|P0FwzNdl8a}Ldx{d8kY#B7Mi!wv4g89Y!Dmhs9^(E zt(L3lQWgKql?o_ijno#73GmB5>28KxHk>^^g->tRcV7miQ$i{{L0%v9_!B9QK2)f0 zNU^uAe6OhvZF*q8t(7#81kS29gpcR3-wVRJ0qFZ5*RSlDTBHrWZSS0XOVQA?`GuuX zQB)+Ld5f*le@~01WPwC7rL7W9J<#kCbUku)6ivI%4hObyQBH0+CtbF0*hTxcN{kAD zh6%I0gGMN{E2WHeQK3?4pX!|iq{@S&APwwQi!4Tgk+V0KLs+cChqrpVX59fvUzZm} z2&mSr*i9Qg7L+rzet`J!zu?%5l1NKq4gNasKNch7g<+t+s7;`1cb}E}ap`{u4GCRX zxyrGqOVLIE{9CSVxo-NCnyLd_b^}=vO;s5%PndMR?wiLL6+p#ufHKY~I(N3vxmhjN@6Y6IIw|DSSO#@v`Td zS#dXesREzMA4RsZ3|Hh4xt*DiMbdr-fpt@li(7}Zc#7nOi)^@5rY|;R)4}cuah`-O zAVJsJfuGmT-~W7q=I;4LU*rt&@(;CW#SFQo;)U4PbnvX~(-oy$KT25+!QyJS`kyN2lmasnryNaZqJ{*Wpgf5-9W89 zrqT7xYd|)!tJ|t+Z<^{}MzikodYzx3wPiMpq#n?oLbe85s)@HN!qe zjcwcy%#@v4wn%j>&JNg;!>iG(bs)3q^|sUN&sSQ{zeCR9-kxG6-?)}{0K&2&1M%(A zV5>HfhPjyckV8Q2^V#L>m#S@jV?K5#0751Y5#v&I`)9)7`^b@CKgE@6O6vBiE-pwh z3@bg5$Nh*tMu2t&44;?^ZBq2N`B3|#hqW-)&HSErE(sbFEmJaG^NUtgTh>EK4gm$R@%7Oqr5ep{eA59Xc+VBQ7jI&qm#e>6TFGySmUoRr zIteWn>mUbKgwKGBp6?)u7cNaIOmM!~0i-g9e%#%-@5%Jt;W8`d_<7H9_MhuzaQC`~ z>5xaW$PGbE1~r5}Ce{VOokK%=thR^Hb#!EVveMO{FCNhOG~DQB@L(>(IXcLOj6u^s z8ai{`Jls|9w5oh8=0!OmyLmEu&&IpJiEe`PO?tXpqzZ@Li+a~~5p^TzujWmb^g}Un z3iXf-*o)0WU!@oB$uvtm&hX9IA5V;loZ+z_&mkNLX?43puYes1*8)(Q<$WlI@`1Jk zd7kXk%`43~@PZY`cyBz$55^a*q1|pI_N7Ovz6QsjLfK@;duNmTT+^mlFU~<>$aG)~e!}X06MAjkj-?&{W{~4f^<<*32Y1WIls>Jlhy=(j6`AtqHusV^R0Nr=16uW&3K4_@%kr4tx#kxWqWDG zyaA`{l`+O=5|;m{%eT}tF3&O#QMxWmJyx%vid>R)5r(HW_vj0#~CiCdyGy#<- zZ~DD*L#^5A8gSV<1??f&&QA=UV4UnncY7;IrnfMAqHQrC>i9fbHOavQB- z4b)m`YTWWfaZl3W=g!Y--*kLP&qY?KP%jt|q?v(en6$T_>&f&{wTgb`h>G23 zja!U@r{iZRfY!39m@2UJWdeWJ14kZ)e~ch)iYtVJ2PtWaVjgp7?35F|MXG4z^(v|- zPNO3UhgAc}MHc9E(HwGK!n{8xWcFOmx_rAnhc3d?I!c5;9XV+iJREK|1!Z%dSd7eZ z2U#WGhHtwhQ2JfV`BNRYhvwFJ-`TTR&^lVsJFL2D;Y23cc~!~~ilODNr>X$FmPF;38m^8**$TM|t*792o7F4{q448a+CVuPeUgXQF>cI!fUH4X zrRgThwaYFpYG5>dZ2xnWzzT-+iu?&CM_F$Hi)jO)$;$M)WwZZIDxNqDooRjJTLy2e zYuu^PyRq}DPdy&EGIPcS8CQif@qSB?N-&xD{iDito!q6?nw6B0$hEn2_!|S9_7LMm zq3y0snkxcVkmMDr>1O}V#2k!%j{Gb<9g%jd{H|f_0RQ^Jd37%cl|FYP>{CS6wI&^=(wD;2VNm=bHtBjura^Sh2dI2*f_AkbVE{gos zzFih6Wv<)AumiL*^4W5yo}0xVoQC zEVhQj(KDJMwO?;J*7Q-;?-#PIe>xg3cGZ?E-x;XT)7+{F8OgD=$Da%c$E%X1wcGL* z=CuAKHLi7lTz2Z-?A6)lv(Ry{jLAJ{}hJoN}%7C__bK1WIUr!3Hv6M@?aMyZ6amiVLKoiWAj8xIFL+dbU{!9VgA<2rABd#cfudgNRS5J6T&+9fYAUqM$rSrT|#s&wr&?I9F~ zz-}G-YFSC}z`zA$b2oAZ?oDB({W%G56X^)%PO(J9pB(5%=Ft`A5Vw2zRfT4ukx!)A zJ)e6bPVTE!x8J|Br1SACpf^5D6vK#!;Pr4psLuh0f)UlZ27~tC0XL3$@qHys;F4|U zMbuGkZtGDkZC(;HNOODy1~YxXd}qfX=K9DSFc|zta>a6*Ns4-K@&Hiw;`WT2sTu$6 z4PSHipU2OvTK@Vb>fxRM#}2;qH%x&`oh_|>S*uVRaVJ6@$#V$>vOik6Cywda=${Iw zYYE0jzEp%JmdZox1OsnNwytzVHuzfp3aqNBVea-FahR0{45#tvx-bprDtG@-8h6m4j3mJ^~FgWS%tlg-zwZ#Tp`Pn#t8qlwqL2GEE)`!97vxPF|{S`fqlJr z7f-a~zB|23ff{O=SWmt%w5cL?Ob__DmE0YU07MPK;Gs9Qsk`M z%RV%j+7*-E_4hrHvTxVdupo2gD^M%)GYEET;~f|E4FA$HX%|r*p0_yiWFlZCwUqMB5;Z;onRTnwENBd&u~I*Qi7tGil=c#%kt#*E<1X0 zXwU<=Mwz~qqZWCTC&kfzgpwGjCzO@=~)OaHKTgde{?Qh%L_o1yy8x7PB z482T@*j;>+DMR|@v$aNuWqvK#3Wx}f>gjIBxo?SKc0A=YPLS5Lc8TTbHv_phAHNk4 zs&jV<>|1kB;~(26P#r7=haF zF(m$&GK%+};~@S#1E%fQM0FZ^94`V@1Pq%?b2rmMn=W9EMSx-|rvkhFIWlg6pQ$V( zed}YywGDi2_h@u8WOdx;Xz*nB3K(Y$K1{RCs6rSjMA{;flDsk`VgsBs(`pvW)AoeF zn&t6p=D}alzhHC#l>i^*O;Pz z(C0FH^cLmgOM-m`4`1J!Ry0G7`oCn{} z2LDSSIy42Ms%S2B@EG%}naX|JNK)y%)CLjgs(hLhrGxyRde zW#m%Sk`Y7M>vlo=;Ga)@bGwI>XS|ttwaJ8Pj6DjZ**sxxGYH@Z?Yi%pAd2*FUibcf{zuD? z7>yxV~KpG~+^Lw&1O#ejFvbn-YQ>2q}IcGBzvVhQZHT)e--83XiC~Y#%Z4q8R zY+t-zr_ixtL`ZJVR|69MIMz15JD{w-lHOJu#?H6#{ZEb3g-jL8J)fWy2I>N(YGG;X zh^^$;*GqI>OvFoqzN3e;?W`Qty3KLb(}eVd-}q43XE@Z)N39P(_NkU1P046dHZN1T zVXD=1AGQ_YSD%ZPo_OurlQk3vkd_r{{pPAL51l^+=qN4t_&3Qkx9;X$)7i!I>OhUY;Kl#9uK zf3e8YZr9So4~h@1$}=k8*;V?MgA# z8&ePaqSpUD|0c~wNY>mJa^go(*NJT2fSJ_N^3X9krnG)21huvk^=+0ZK=nR$tbnnQta9TcnXq$<)a$c-hmRXUYlPOcwG5w@*NnCR zG!NdI#cjRxZ~TMre)CSxas7VcE0ky%YkJooO7ttC2))r0rYy7LeKguu8rivheo6QM zKi`@r`ms`~@}Xp%4UCM0SRXT+Q=2bygefi-)ZV71YIlZM-CS%R3=|(anIK8{f}aG_ z_hE@O&=7GRBMVXtFBOpg-H1O;!H-m~$0rhc&G8t$3~jV&hHo#ZW;$%kyJU2BsleGs zjkTc!iAGlez~i?IpFe4|9%D)mxOfb;4gmKPG^va2M2 z(C?t!@bc=SNIJcS_4lS5_;`e)mjy>l*~rFeUR)B#-cGRThYVna6kru6nesS=)nBj- zSFCBgetMwuUc<=Wvegb@3b~oJc#!SKh~Dw!Ee4+bsrKCBpY*e!X}6T9U3#RioMdbr zE|+g?oglPkCD|rvsCXPo;S{TK59S6N&Hq{nm0q9ktXkEqm-gD&m#U@=KfI^zhHl(@ zBx#uVuGi`u{G>qcc|+NV;7TTj)|G^`-=04#ZO6@RSGR}N z?%w6c487YuL&&6th(HYfoL$X$HrF_rDZTCB(`O!Xhi@uV-Sh`_&4t$=L5h^-DM&Fi z=Yr|ym~0zA7jqGbF%95#$jH@daM}IE+Q*exOx!XP0LcXj3@8XzM}65klu zqeoze@_IRMINt~+!suA23HYIfwKv4!YVe8Bz>IH3>~_Hr{+u5Mf@M&h>xD5^Kfb4q zrzZn2m;9qB^~X|)igF56D?Ah9CRWL+{GP5%mYkIKohG?*ZuB_2IN|kz%!_bw&Q<*S zm3XwcaUgS^XUh<=|CP3Qg#McUE^?`=Qys6(w#fZFngNVDIhkA=jOil;u!2e&Ku?Px zujkdmrcbDv!(D2p&ka~mbmwf+g}w=U0K3h$-8FMv+h8^Bd^c*mck0)4ngLB|j5=|0TNVD2F8LF2DKH(xBaE`3P+C-}ga zda!!F2CiGBHuZ?!SHmd4!pcBV`@7o{xiuku*b20@o|Dy6Er1-phU{PHb{(9VH)ZCs zGT76Vcg$fQWTfe0v!+9`NacEGG%~2d79gXQIX11R&ORYrc~V-p*>M<_`n@`jEn9v^3YMmD7|ow>OEb*<0&I+5T((<;`C8xyzc z81LCCZx(|Snsa!0Rz6B03Bn1i(xa7!c6qC`P|xX?f&&gRhX-)84P>UcH}7 z?7u{IkJZC?Rg9-7<~15q`?%|jI5crEYYYC*?6-i3*x@cqR!CP9UfTc>-FG4>jOTd( zel(9>5VIOyranUdmbCB%lm}g8#d2H!krQY7*@(0$3|r#xADH)Sci4$S>^fkokDqvL zxh_6=$qu}(IwoGIw?fS(SgfXhIa7rf+_BPnh~c1TD*7%VZk@xJm<#kAKPN$7*!{@n zlpYrn>@K}u8XktjRI5i{58Q@lAEwrYruAn}gw@;;QXKNIW8z27qp!1HA5EKF@El;6 z)Hmo=T_;zgE*=7h&&?=3u!$`^5$jZEJ`D6r0AX6QGav<2QDyr0W7605u?9&+A(dKf zn~@@i9LH7Vd-LuejXX80Z?n6qc%<{KfkP4&@2WnOATnGR_D(0(LAo4IZwCilX8FFk z#`%bVnR+7r@qJIi1JMbDsL*3hR&-fw$u&3{Es|o2hvV}99CHCO)9avO>ID_r z*mXbG-1CcC8tS3X5jpmnscG-Y4D*x@QK^DNBDz^wx!F7ldAr(1W$$%pfz1bRYr~Na zE*h!Rq^`{cJm}4)QBCRHrww1;(Z-RhvP~zXkmeqv+{Bo^R+J(v;vfgI#-9}H>KkoK3aU@;U$YR~Ln=#gH5drkWvv?qe%^4pA6WjBMe}AIH zlg?ANv=!2n>(G9h)Iw-%T0n9x;@LPnxP1kyBKH-VTQ}yG3>f9*+ z9~z0}C43*FS*=T2z;gjL5)Iat=1L&5phzM3-3$G+_PK{|WG*I&p;EGGNiv!QLkQ(D~J9g3FH_Ivrh_vSxu-prfHB=_#!+`DJ@?A|?l z_WXXB**NGlwi+#~mQ=Q{^6W{(bjXq{-DcrFhMk!(M6wpitXU6!sZLFo){J3#*53&W z)-k)*lgqJ!ahI%JsN5x18f#QIBNU?lE;RNw3eIiGT2ODu2ld?ne2egQ#%^K1&f~z) zR#(I%H)Mw&s+)(Ixa0)sSt!+$If8NHzKlL)t;tVO*1#Mq&E*U4ZN-|!dT0&FtT*)5&JGn7`5OwR%2R) zQvJowEXuE_bSBxG?o>HUq%q9S z*0-IV9f_MY&4a7xlP6QAa8T#GEHP5~o6KV47F?mVEgel?bedKL+^5upEtaP0Fm`zy zDGpVv+{M(LADy+w5z9-;@eoqQwdT$KI>K>u`()tq$ew4lv4|dj#~0hc%5Pg0hTbBp zuG`E7JOivct$ZNKy48LR8W`zUw`Kd80?R*W@S1mzu6@p{Ww>+g)+>g($@A)l1cnC) zyp2}*s`!9BpN_6?ot4F6c|W|qbPS0*hB}QktQ&QLS zLYAoUMq|LpUK9so6BMt`rmlfi>4+bqYY-%z!OjHUT}Sc%t!giF{2@8A_k{mhbxqz^ z?N`s17=6xsIC-TDSR1)2#CxQvK{)cHAvF1hGn&R>d$KP^{vomMag9JG_)!$sPX}5Y z1%(_h1UT|&`5x?AQxej1eV+_bROFb+Ee=rp)rtO5B4xybp1t9Rwy_7mh-678&&&PVhs|^g|~>-SD!N9^J3JQ z?6w|5=PHz1)*@zqitMp#+ZPV`^OU%M@B1G0(ger;4P&IN%1(owQ=t=NHac!KWeIY| z4^*V8H#6KAVt1c!CzyYLxsmEER2uihnW?ZD2f&?X7~mZ?YP1r%O#+Pt_nS!r zw7VIRwiTR4xwrJ#rx@N;R`pg+K#{tnIT-BDr6j;czmnY9*zkK#Em=SfVeYviRksyG zF#;XH!qh@s=mo?#N+pr2RaD}G900Xg1?=0_#>R#2xGoCI$53!n5#>|Yd3laBG-7Q~ zBbd#8rw;xi0c*T=zXMO9L4CvU4_g|S*;;1(MAlMJMQK?NeEOH%BH(&Bjk&eP&Axqp zzNUN@yrx~7GB4I2wn{P?&h-lIu&0=U%Ah(bUqQ&-JgHK}Py;=Ov4Dl!V^Z$#%T$6G z*-6?0sd@&~yM2NM90~|TpNfjJv-p(kW9S#-YW)tQAjpXS(#{aV8I zjQD-kWlN*bc1o5pV@;gxv(6-F~0* zz^Ux*d*^MD`Yajb@WH(+tuCMlt!wu5 zAg?_|2T|S-Ju|N^m*s#Xzj}LX0|L&Nr4qu*U6AsiZ*s+w*2wO!<{KyC401FrbbD_A zRsYaBOcb6L|M@MyYG3}S@myu*PEKOewtClAdv~k}S<}(-#yIJ;Xc=r73(?fD+#U0Z z5n`H?tb=aL8ASAB7LXrjV`s9C8=DuL&4zb`);_z&{?754_09MFGfogN# zK9FQ*@*4EMW^ZMu#=41*vILr)d5>V+DmB+bhAUJTS&OBK*<+Pei&I5+7*l8UgK zrcr(~UkHZCi4RX`!m*~I8M7RZ%H#zhUSK-g7Tv?T>!QZ*yuheph7WZCr4K7m{Jc); zPF2R1B)>(n!E+~6`Po5EG0RPswxw^wU4o*9f98*E#u`&mL;2_D~PeGZI<&&=y&sDuT$9;d7{a^mrQ+(S? zaq{<>E*K)kGc^%Y5cIj0ge*vOa?iNBt>t@B7MiKYswLzAY>5Da;QHjoj+#oy)!IP^ zaDz<|1qGLe%8}Nm+Pchgtux3(_kvC?rG;a8CwvGoG5?9vT#RERfVDrg*&!sg!L9}& zS{Rzo8=(_7w75Z zgeR4=Ee=*;9$+VpAr-cHTTw(YQ4j8vJop}uCQ7{6nbjhJS4rY?tFB?ybhQ6PJIjqj z!H>}(b+btpEIhR;bLK{AbY1p7vA>QT(~! zg(}CAo#b>r*}2)@nz~*l2-KtTghqfUAv#$MzN&*SU)%$;V)pwCZGcbos1Gsu4dGOW=T)y zt2yi)AleDFxBkyc-z5xs;uC1mt)cT{!kESfA~+jO;&q0(wN%oEeLf$j0+hM>9u0~v zz1g#46?q>Eri7Am?6QXLgmrse`oWhYS-ew}N%0b%Fn`L=f71&k{l<4mG*I-`VXZ) zI|you(6IU(=&o;&t#L8o(`N{!WmG69?bhbUZkZ5NBD_QEjrUW}2-1IP(K;KE`F zyQ3D%VqOWtcC_*#jp1|&6RGdRUho2Q#nY>SV z{@|Exb$;1J;ef73lbv$7AE0H>850A};GXLj)1mol+`R`XDKSmeS*{8z~H^FWu3lQrYimASMqx798Dd+iMm8_x~$$1 zrL6A-H8A*N7C$A<@m17Zjjb{p@Q`f)Pb>Bp?VKN=W@r%%Pry#qBLLKXMeK;~g|d2@ zG}QSjM2oD2(B%=gPKNN17AdoR9fZ+Q7^0oMYyL|_h3b#zbCkzz+F+y`LO=)D(Jw!({YSO${N>JqJgI}PJ(P0aD2K-@Zr!ChL!q2Vuc z;(g``;zrKu$}L$o*@#JTyUKb(fCm6XHf0lrPZDsSxA^C#t1{4UbrTOs4ungqY>*Qo z$>KVJ0A|awa=K0HsqVY!bU4fcCz9e>*6t?*)Uz5-*|g`h;cqC)Ajoyt?w{mA_MNO` zW^wnc0rvK>S*ime1XUN@@eWdpGUgyQovzH=29_4wi{0rB{j%WG zERB2`@9DC_95;r#bvDNN1TPOL`tbse6%11X6v!pnw9BEaucaQKpE0A}^N;*wL`TOQFb-*gSFv;FwxW%myX3M3%Q z%w|13^p5N7g5PIlgrw-H{v@)^Lfw$5V*t~n3dv&DlUiu_v(aWaK2iVaf#Z0cyZ&iq zG53KLfZOXIv(Na6W1{i}4q!AO*2hI3CscS)r`<|zuOW}lxN>28dr_gpjE zd~JbIk<^NM`cvox7Mg2$1t}`cHO$KSLoe-o6h;;US%lPLv@zC${6kGWI70n2-)-QF@HsO z?7;F$eE3P|QSFGNqmURic4kWyxSCJ*24{8K%>Co=d9nrHO(@ORFcQ56x~hWAAI!uH z1j>~bO+%Xg7g5~N)U#mD$W2OOF(eaZyWI!~fO+DeyLg8sU+vKpz?nf996M$ip_<=lc? zn3%%5Q5FcaL@Q-rUoOa9zjln!>8z2$$e=RHV4LU(uLPd4gY#s_6DefpdT_DRS%LF?n@I;|O8Eh-gq4|TrlII;-1N-|xTZW4uJ?K*qEla4Km2quo;_|*{wC50R6Mc^^);s5_C7te>ht`3 z`h+{&AAT0!qWv^f`n|tkL7A0j4WFv7$GP;Q# z9t?Ej*Rj6TaAnqB(8t`iE>Zt38&*VxLZFfAs#zwpZ>&MD57Jj05h|U7X(lPn#`B)V zG$Yv-3J5;<^#3V$+cT+us*Ms$YJ&PZ2(bk`y-@k-Q6>iOBMyG<`y<=cr;(1iLNBpb zSzH$mSrHpD_~{O)ZToQkJg}}=Uq+iYoVy5qEdlnZYtgU$)n5dM)d2ey9aeWW2Y{nR&%TP*SRR|!67HMJ{Vm6c zUxPM>yjUvfEP(2AiZlK%ua+{%&hyewBm!0cczrY6+mq{+; zv;0JypTOkD4Ve@c6WMU5Jh`B{_bEe6{>Hmh7R{^WOGuNCnAR_%CDR9N6jPi(+krE0 zTp((YbOB)5(dz_c!+nmTFtlqx(2n^GDjh3Kv%nt~OLoQ?k|aDAHUqv^83d98l2me_ zhHqLyO*&@mJjpjkXE(-~iI3pwcqFaqRdPx9--@QEx8uQ!PM2WE?NnnfH>4f9b?vCauwC`|j6p$eAVU3-3GS}1TKMwQl&fcU z%)SP}q@gA2igp$aZC(+mfgW3GUu?F{rt97&(4!X*YlH5b-|P5iNx&Z@GDEnWXU{>`wDxV(E2>vChRX&;z zdIQ*Nk$Ydai)A)L`b6>B7;IQGJWvRgTM`145e={n{5o9qT+_R24vUEAn7=WKs=6UC zh5SrQXcP_4@>Gt~^Kh+g_~C`_$N@e44AjTDpM342|Nd{6#C`HZ>N>I33NoFLsy_Is%kAl1FN z&g8FouJC$DXwD$~!rCTVYYn{i0qDEZR9M$4>HSxZUgTk+wCO-jSScG~-91}!4;&Sn zpY)*eFh+69g)`rts(^ANU7@iTyS1%6Kx=P($sgclXMpVfX=$jL-?NEQgLCU-hFaa_ z9xNMe_Vr|r&4Gidn#dNV3XT)&g zXhn)VHH!cR${YbP)~~x=tg=#@F7JlcXN73obI=-E61C#_R0beF{8gx?j=g&`4=Zq+ z=&RI=3_XeUhDfpvy`7~u)DvN8sW~dg4dMHvWW=>N_-?Q5$B~Ns=L_i60Al9v+qjGj zDur8?mYp)=)};=6^!vQ#J^8LL!jVwiCAgxeZHB)fZr)~!bS|ln)Ie*;^MJmG!!M9P z0RE)x`f5VFc=br+JRA#FmFd(B3ch&r)rY!xPor!NlFeD6Wk41wjgkRL_-D`p03Ih< zoreCV`=hi>wM&OLTZUk5Nd5R`!sXc*q&gZ~sYXd13QYooEul#d@n_mODS>Aq{u=tL zv>pDf?S}d!I?Z1p8odUzsczL>q_+-*_q_+0Q~SYM{OZQGsL%y`93cTVFdGs@IcY}F zes_W?z>t@i?=bPiLsz25{~%SfR#KGHtH?{Ge^{k|1{+_Kos^>9kWkLZ+HlebZt#)s zS64-M9SP>x-_0XjqXxmu=`hL$v8sy3kj9Zbq9+-r;kJ#JG`v2oVW~^c2&K*+_T%W+ zh3#u5alLc1Y&!p-D5IQ*a#^sqYYX#po>BR8e4#8+u{Z7|;NU7?u}6|2NN2wKEpjGK zccqb6nZg+9${zzaP5Ms6>Y`6^=04k~Rm8kvu#eDHPk*XQ?cDJYX1{#wNt382ff(}g zw3WXfhCQ3iw%+;!wL68sZw!3uxbizzsjkFe@r-@%2Jw)4rtvi#Oo}2xgWZxc1A^v^ zBp;TFdbF-#1vNEr>}pdX&q6iVN`v|kDg%`q=k80HC{t{H(PKJZ{`-umpRjp zkEJY5z58X5Ln*bjFJWdn-Jhdsj(zk&=*J%yyj%BoulZjtruT^rifmzS%umAQ+M=ME zS}|@fUC&keWq%de?c!mlxcM*t>UGklCj!L%ll z*xx=N!fdW7ZuCb|eKxTgywpde?NL0L0zw)*p?a9{KBUbYD%x^tnb?3WA)&4;_U=I45_CHt4E!cgxAbPCzvmAeh6_!+s)ZrB! z_KAf%Q{S;HKd4S>kQqzB=@f;9pe(X)YvEL(401#rZmS znF)mnMZPd-$3eW4g8#gCG{;tRC;Yb1ts=HKJ7%^3;=7#h;Q3>xMTNU!iav?C8oT90 zP0>_fE((bQd@1<3@x#t@mZ1V;ER|7IyH>bqh9y9w%qVB{LC5L7Sw8>uGq>=sl@DJ9 z|6~{ZasPfu{dYp^Z@bei{yPVDBocb_Q=EKLCNesB1sQC%_sq@zYvaSOxAIL*|C7YS z^J}B=zofqU)&Da6zbUVuc{u;g6CmF-`|iIyub+AUpAyNHi@?SVBZRqDy>I7DHI zKdgb)U0Nc#x(Q@ zk2PKibDz6{NE&8%z1W<#BDtxQ?RJE-u@y<3OxA>v9}OaRKJdpq_83CcfFuDfY|J_j z#PHU65%zulXaj33KoNl`uCH-co})|50YeP;b!MUQI%E(A56lsU`?w#iy%+N{W@&J% z%6`=r_+XQj%~RI{tiIfpv|J4V_Eu!lrGj24+s`yBDSL!q!736uV79Q5U|O{^(ZD9wcq0thsW5+{0w z*4y9!JKPgLGfWl|ZBKWVT3D#d_c(fwSw9A}dGj7@e$;e2mpMqangIaDOXY~u6=nxb z15if#!ief-5?h@8=34@c9$hu-3^I=_KpqatF&We$wwQy4M$3Oaz}huyeD#itG0rdw3QxnjeVTZ&0xSB5=VH*bJHY`^~`ugmzW_+fbdH48OG4`8V=}X_V z#Hdm9JEu>JT&d9ON-Yka5K!j7UR1hi_%p;ZO*H6I&5RIy8JuqE)RnH_*?t|#-A=-5 zRHJ9FTbRL{_=?)3-)+@QoPl9lIVd)ihYe#lQgn7U0S*-_!lyyy{dpx$Y7_+_CxPxV z=b7(B9DPHyb}>(5lTMhc15R=2>wj*{YZP0sh4egz=uqazHYFd*Ak4hC}MK(0u%99&4QVQy%F^t zONn}!(`T@KZ2MVQy_x0im3k{JrE_+*mu5x?=Ec1+!aQOzA;A*|x5&>uJu7I_4stp@ zV<`UyEty%>7O2s4yFGU7PE0Rg$;-_tB|?5Qa-qRdD`NG|Y!nLEX2+Fk?-8#xfJXsr z0NXWEJ;g0Y8Kj=;_4;HYI=^gRcL-@FbJf&wJXfqjt8yqX0S3kS&4jk7HJvqm457Q5AZ(%T*(hb_F4*e|G(E8Vr*s{y~lKh~= zDYkBn>opPihSw_p$h|%MXODvxSIQw9s`Vd&DwM_+AG2(Yy}@5s34D)&kcLC>(KjLf z^E0sI`pI#zj40`RTmiSPXH_O}O1IJ&Qc z@YLlJoAasqlhS;DL&B)n^8GqOD$F31wcml0ALzICuNp8O^hJ)YGg~lq{pCZGn_;k{ zWqZSL1rT(S}p?G~hY z205HMDO4>r)1V7)H`#1M+8@Pywf2^yeCQWBl#{FJwvXoVrvrPOP zuq%?6tr zx3+7^O_3;<1S#VQ-UEL&6Mfjkc!fmMVNuE4$fyulRV4&6(C(l9XS50v#)r5Gr5%Sx zA!k6U%LotFOQs%n0PbofPhuW+?ri`b?-WYvtz{c;8(S`eT?^$9?Z!jOo@*2fp}ryZ zc|5&pVS3psTEQ3Md;&n4esO9)MT(Ien5Ysg{VsUn%v$GItE4BMM2lU`VV{blubbV= z)wKmp@fZd-1ngq2$wCsEZ{6hwv41*FeXb3YJ@KAgTVI!h5tp4YarK>7cdpBY<5v#Fc1QI z9lU}S*0K06&(^+^LoqiTEl zn$Q7&!}vDxJ*8SHfO&ya$4=^a2~km3nnHZ33sqRs*!#8o`K4{r8rt*Z#}`&vCHI5X zLU5m(AeT5xNL@lvd+=jf2Hb#!+o{K_lvX26`(cRB+-G4p=?SyN%{auXrhw}`a58ro zIQb>z}IV~DDi_|L~ zsd$m4snl`%7S>sYw<5>M!n7*QNr252#5sbp-~R#Wac(S+ICcTu`R)61So%$vhpf{< z=lwlym3VvzkAm*P1;;#PUql2%qG1A^=Zk3H@S(Gajwg=yQ0K@txDI&7?ABGX|r&8W#FyK`a!<6CAL%F(o>BYFAk`%2(5vd zX^>(>A(V2?h&MY3=`Q4M1*eOcw`$0W%HhN{QcNx&7%?g7w^+9(1aSqRi^B4$11PrT zaa<-O-OLYsHDnhZdY`%K;=ix@3)27TY~*uMh)SFt%W>S7n-oIjj9mgcOkQ+LmICam z0g&xUWETgk%pCtocx-TGIF7k+Qun6kFR8#nky9{e!OM_uf`3$v5qe9vo3cz^&YJsl z)jc00OW3D=nlL^s9-CRphlZIc9HFZag8$??rW~S71WFNYv-Xd!8=6ax42;39GkmF9 zirn^_#+PkzuBcb#2$Yp3W>_dBXJ`nmPt*S&84KdLH5ye;^i{e1smTKMG$y?rXz4Hul3&qN%LhV|Z8Q*CO6Qx8aP%x)n-Nikc! ztdG2~%-^uNm<{oo_@8Q04pxsWp&Ab?6hGy>f`g@8TBRp1US~O7F6BK6wC?k&YfhT6 zmhfjH4lKIK&7S@Hsh&wUXnkCGRR==jWcO7raeS(a_}yk2lla{j33@KIeg`S9HFVbg zm}C7eTlb+oIk&jLVbbD99X!57GHECE1Fl0P(>#X=ScF}PObJfSbyCIXzE$n!UA;BU z6u0-+9LqS3I!hYx3_oiGu zOXm2_hTF$>!eo{{!RXq&$bJv?g{DDnWf`b!K_MfssEhMZ;9|iftvkpRJ-zA-W!*mW z6%+b6(@+aGjt`)8FSz4AI%Q1xb$FNJ+bs_Koa7(L8kvy=sH;VsG@Fd^ScMrtS8hgW zh06m3bUQ)pJYhsT*=XOD*$ozfEnPK|z|}H=SpPo5-Rd^mbT%@DlbQtcxcr(?IX1@* zq|njQa?*8414xZ}mz+%vhXV(^6N$ttH2jENah=($%v^y9aoFS9JkcIvmXhCO-IALf zROo^r2f>PlKDbTTIb_i$L6-+1JBbI3^7uV6<*CF^knKnd`O!W4bV2&ouR z(i?VdvO&ZW>!DV;c5frdQ_0n3&Y6y*&?Qgn{!OfEwAPFp5cq{v_|qm`%3W1I{ab3e z{Xk5G;X{3TlS^VaG!m6-M&AIDLW<8xmqN*tyK|ASzVVwxVv-z0BiQL&hf}?-04KYb zt&1yC_YlIbeBn=nF_wsl|33S$T?Z~&hJcA$a&fhcYBXDS&~mm^StF9-1{10A`w7l} zFK3o!#g%_NPG|+cq(uKL$v&#DZ0$m6wi#XT22rIm4pf;zizNIr4=7`~Q0cFI3F;izRF&09iQ)^|t2f+sJA5FXP(dTWA$#|<-Pw|mF`p#1E63i>7gm;bMoT-rY< zNk|l(G$hgk(zAWAcf9rAMe)Dle~pAwd*@pJL0PGiOSR^ef58~LbsL7b)BPEJ{o{B) zEcYK2p0pjq#}5aim2B5-N0+#JCyZj7zu(JcGP3H1dEd3kwqwfPYdNsTUdtd&>-yvb z2YyV-n(n`gWW_j! zAYTRzivL_`bcPOwdAZqE?g1t1pwftf@quR7~ zJT_XNK&76^Egogm7f_n687S@euo-r0<%$u(*slt;A|^I5ZPJejLspbe&ve763)Cy3 zWpHDYgAAL7LzqeK&r_8vCuR|!cYng*0-o^5vyGGvT+V-1Q+?wbPSup{O!(6 zjd4MfQrfKAo-%gg46cMIY2Wu3tq+`6?9VqL zm%hyWaS|CE-RpXDuYtGQW8nu{?0jTG%dyO}x+J7~CtSO}5_6iDr7X{glV;+7P=byd zZziu^e^&rswf%WF#WA-vs?OfN<4z$zyXF;kMz0DZ3tA>s{P96b^e#49{~- zUp%h_$EZPMHfZ(A5GSyz?D64+i7vM^6*C->9D_vQa>tzAjQ9IUohReXMln3Y9{Wn- z(BqocMyc1bz;@SafT4q6wUSE%oL5r>WGrgor=r%M@c!{16x*<&0(>NN%UR^#L=K_i zop;m((!Wb7WzGbxu8zH%ek9JVkACAll=qt)dv{3vqA#^5?ek`UWaEwW`MZBsQLs@_ z(NX1@+p4;MJ57_Qn%BNeLlmCn{WSq4oXHR<)@vV zk&pELaK-sN{`clx_lJ|dj=x3EACCJv_I1DB<{bu4-paH-y*K;)o&Bv-W}on+e8Hja z*B#GBo1EN(Z3jiOspUrFT2_}M>#w(shr!0TGR;r#O_90(+Qy+re(@lUxSKWNlp~nv zoF;cu&om*=K25R8jcEt@Vz<>ujmfs%M;5#Cc#Knq#V{-Lr?Jj4`VD)fe*TDMuMMY8mM7b%J1#`i_v4ZNt+BUUV8TkP_?m)pY1vag2ZP}$@{8VlmK zrT-GkTjNT-?dhd{Z%5t;e2e;EG`K1S@t0>SYtiJX_gHXcA1 z8NWo4Y{fhG#7m|w$|2==k8aY|t3$BkIwS<34V-hxz#z=HE78no$H9>eR&E7N|8{qHbW=~DGgekcD_gC z>FYKrecCgU+0KxTu*7_^{-K{{)j%<|QDjFm*k5Bp+^2`&peOJS!*}yq+tsRa;!cOH z7CxZH&EZeF@kM#8B%#(93nYUEDoIi@a@8Zu&O%(0BHt zZ1($Xcxf*zXy8(SLjcCm;pL!etv<_FIPAY1e&lNPR8RJu(4T0QwFQvth)MU=CO>M- z;LqoBsT&8K?q>wOVv@jNbz1W-F^b~B*W}M-p-8%tAr#kjTDxbRBH<8mLt<{~*RHWx zm}-E)EBgq2bes8D|(zCm-IL&)V(xL>B1DUM0ch5sHuU=F*AgC z&EG2HD>7^ySAf%NQ@8^a*0$hR*v{;3X_-{vpcV}m7>QK7!=K~r0&~{W6P=OZOfGhM z;CT6R+3C(K37-gLq`eN(AyG#{-Bq7-20^LheRG_5Y!oA#fQ?Vzt1|1(7yh!c(>1ra zta9q*3(CmhI@pupG|q3ce^46OT{~MW7B%jaE&?;YYmb_AG*}u2#+-Z|f}9yvi+3;Z z(k*M3#FcAF^$4}E{NVB~?p)#mQ?Gus)H8PCa*ZO6Va8S>{=tlePpybN6jY2xHUX+} zJHs->bWoH4npzyjH28*4EzbW3m7|T%*XF#y9LqY9Y`4wM1J&H3nWqm!8PrWv22Z`0 zqSEh2zc#eIKu=nT`l1{~aw&Ib5=s&CSSIVcz%pVND%ELZeJ1l`<1kjlqbppVb9)?B zwE&IC5p49dcs@9xQy*%8-r|TC4to39jpdWv4JVnKYIw>B0AuG3t$pGafsGt%g?E42 zhb`Y`W1ezu`Mo*M&~B7c)KadWNY$|!L`o1JiLHdsOf;>SE2D*Xq0``vLFoDM*DK~2 zytKSP}uG5@Vh89%!s8#U)xvTBJw~l^wY^`bMe@XEeU;Nf~|7C*lS~vXV zwe>pPx^QE+RLZf(UG_Wh-y_x+j=i>5$bSe$rVLC9TX^{){iXj&OcnbO|3~c}c^1RG zEf6E4i^eEL^EQn!SJrRJ)}Qf_fx`*A_%*!NkA$wf% z+zL4|>sQN1#Mn#3_wnIXkrV_Ctnab{6(`J0hSZt4j5{;hA^aN^2e4Hcsr3J;kq;nL z2Rhq{v>`F&s^0L!@*X6G*SEBmx1Q!dX`jJYawf>?!6!_b(Fyr=bVYLCL^m3kfib0~ z(tbf$dGY!OVaOAJx3zDyf@$CyS(!pnR40;g&1Vd!cg*wQ%tM5UFJko$uWII*29Vkq zABpo8gIbP`#P8>4(;~C-?30vTF_urOh-9@?YL;6$AP&j0YGqXRL<-S6v>v*Y4^XdF zJ!RmxzZO_hp*AQibxr*=F131f{a*wF-Xs%m2(Pq6vHH<5aDGpS+xxc_kWJAXVO)k- zFEQGpR8|Q|mFa=ySEGKu;xjXb|6e*lUHb3IzeN@rBWPAe1j(}J)PIU5LbDa0pT~F{ zRY$7ce+_{}6gTimIrg_jmL#DJ-s*H%O{#Jzn??|`*Y>nh1wvMAmbK>9@@sN50?Hr^ zg*jU+0v-0S^B0>;<&4rj!;Sd39DbBpE$J~RAi=OSi5-(xzezIvU+5jUs8~aeV4gzq zHXd#_eiV{V>QYTo3LT`_=n_Qe|B9j*(^LxC=8bVqP42LYPC0u9226JSmyWE-e?|R2 z4QPwSh)!v()`S!W+2_;R*;tpQ1CUi6^WPYtc)j9V{Ls?qa~_5Dlr0+~JseM7(h|q|UJso#h7s~Xpl6OFX2^CLOMR()fPt=Iu z7hs40o)GUfFu6A$Y|LnE!R6DN=P$o&4w$@1@Z3XI{%t15A0&6%87FixcWj=y%M^7O zn~i}y>}}lTq*YgsLwxp{=--rGBHNV&{u{h)u?71Fmo_N4VNovG0~Kf=Lt8$)IOX>L z88o!K#9zg%dyHao%ie@!bcm;EJlr)w0DF1YX$i1O2V%a0k0iWOh$h65PZgdFv3<)& zJV)XY3#9qLm8t30`n!{I|N7ULR4Hoy({EJRc=X_m0A)k`C2Tla^Xn0D=);Nkm$D-7 z5{8K-Gt!2Ioy@!>3EEzxy}ddVsg}KL*^C(gl|kwK7iO%REEFR;Mb2gC%1^2;sUp9! zn~DcX8^$}(RWFHouJwsvLEpIMoVC6VjS*PS%?{m4vVQPbGAU5qg|7${r+idnk70#h zr(66)U&#?-KcL`f{Yvp@%-N!2sTfj4h3{mTnAz~-q0JkPQL{KgWs4zDIo)gQ?Cd(! zTtlkyh8-uA#k6wlrR4pkU-L(UIR?4T2Fw-E5~Qy3dSP)6(~a8X!vf8;p7U^LP3Pk3 z`b@kPSaYS)50*nL>5#I#PUq$yD7mGe4^@rX#u)tv#d-ZAvVj$Wi!d3}5=|H{LZSY> z3qxmh9k7AY({B=xge2nTWLZ*tV*d#09o1gBn@}7FOc0+!2U3ZtNx9Es_{$@}_XMl@ zfGOpEVee9&7q1IjwxS{(d|xqR)j#NBRo2x^#0b_44!kx>Rz|*Q{vA~Q?U^VNMk9j1 zCR02tsr{H}uZSu^Aw0V1Gg*Upb5p_dnV-qX2G~q1hbGs_;)uP|Ji>`{u@U*>_-U>< zMD`bUQ*B~~0!DpWM7zYxQA;i%C+%!R8fAP0<)x4XT;X{gawIgA zuDc`~WdcI5ZFn1+Zt;}`1CmHQZ0c~+Hxum2*N41a>pb&chklHSecT z;i(int!;&7V(fdM1f?A1U*%#usJP!E6~He%b`@R`WG?1{anHFfS)7H1@(SX7N%qh` z@>VL9&xnn)>JKzTI2-u(WA`M`R_@GrttQM9*lU_3Bn&L@WAZ{%W9w!heZK=cvzp>W z6C_htt!TV(Jh&2u+kJi(LvLm|KW!puzx<`#lj2D#UAOBkqLE++OtMS;uT3JQxgFLw zffzmizC4usuVu)Yv6+r1j)Ui4#Kt3D#~h9Eqw85q-{*f9 zB=Q-X^jioE`=6L)%VQY^^R1*Ox_4mN-I9r8{lt9P@Zz{p zA?`-d#}h9ohRZS2vG57UtW6Nt_SG|o6tPkc%x``4$`pdgX4Rh?OKQuA^e4F(#3x`O$M1pL`*o*6c+**AGj~|3%t6g;y4I zU86hNF*~+xyJOq7ZQEAIwrxAV_gZVu`z#qj;U`$jt z#Gxb@??144P1)zsr17L$GM{7^4H2oy6jAzF827gc^k-gebr#hP<2cDqFx+KANacDAm5g4M@ zjK`wfYkF39Kk0cRvV~_({53tQzhCjJ=3UaWW?)ORzDH#BGyiXM_5OFeV0=kW-dYE)%=IgPG)Y$dDUBtH-MzI zvsb{A-*yUC?yTkw(xQ+nme5=mF;-MWFegA8s6(0>43iU?CYLfACTk($VB2I9pGOjKuL9;3TKa>{*BVzsg6hd3Ku^#03M zX;Yn>8HsC@arZK9ep1#!htfuQ$}nk!PAg^1GjpU`dTA|)V<)cd0I3e16c-U)TLNK$ zk!g}K;q?G&ZQ9a8ae8xP)0(P9T~$4=e}Em?@5~B_6dnmB>f%|#d;1+mj+Ex3HqaN| z<(ePez^}#s=PIDil=ii}!%F0|C&=2QFHG{R7xeMhO0A*m%W^vR$sNMaM&49@2aLbqE`m!$cuqTx%$rbXfoxNnMxinVe6+u?rS%f2fnuj;wlxPu z1mm{3SXGla`_!tV5almG+T;&OH24-Xf>_rG$8-trozSI(0cKn5XN={+DT9W<&p2sf zArpd|u)^aCLjy6V(uSd|#Xodx<;d_o4sw(J_-(lsBOTIIRJe94`7RfXSqO76`ks(qc+QtprBGYRWqasq_s`SomvIEy` zyJrir6$DE7qL#GcA8}dD8KNOh1vlc0Z?M}}{Fow?%aOz6kFvi~o1C;FQu|NJBScO> zhs)s@Y81}hH1_iRziqh$P`!cBWtZnHb9SU z03=KcMP1GnO5?l$;fWqpU@^3{=LndVRl=TRWO**W+Z=Ah}9kEHC|Z-)@*fuOU-5{EemIuWn4pt|LO^Wm0xLpMI(~;05L4+ZOZjyWShM?PnZZ}k>Z_aA;!op9AEl`=3~s8F*Zr4%QDB#y zwud@9P(8GDEe`1&o41P28J$G5NLj?-`Zzp!apOoA8x0a?5&_|uq*C)hqRC2mk88km z`dRSNYv*rtR~xh82H_waucY=zA9e2{ovK^wAW|A4AcU_D&A?Hi%3XxLQXP|6*W02e zoT6Uqt{GD=&kAIA(;Wnzt|+5VPMMUr4a08=?*jYxA9dJwtH#bV0|^5@V|$M!1|lGvv( z0;Ja=qIB|MeCqNJ6H1LPO?S0rGKt6ZFL2irR_#>Z*p``fwf4! zr4jd`8Z})#0)8hi{grKz_FfFK`L2xO=sHxKQvziELbf~6WY}ze){lT9w$KJ{-B@%C znvTM5UpQeB86+3Pz@6`1B7X2@uRhK1_&sd$4^*0RWvYn5JsRqB$@q^O%(&Y}Sip#Wbt}st(=5k(k|a z4LNE+g+@=qroBN$JrQKlhJ?7wxWxCqDOGLNzUWrB+diFbsR=_9ixz=l+R~(%r%XPL zW}u28)zR96;YnV=n2B0yk5gs$lHuG^Yu7P#)Y!!l(zWwA3ijz9G=Yne6jw zwcNETP)ej+v72Z~N0@1ZHFFs|W?_k-P=tOENQE5(-;IKv|JIaajILZAqC#~Vag(ZR zJ&BU=*<-)>Q4ObKau8i;Z@MC2%?1uV`ganQMuFMMxxF-1bSwqxZ_Y}kG)g|bB1T3S z*#R04Z5Pq-j&R-_RY7o7@vtE!GC^;kgO2TX|<*n!WCe?PWSlD#x64EIC>`a00U^F(0&eW;G) z@DBj<=Gd#9jP78Nnszg_G6lsD@fOuVpZ2k^w@Ua65Z7f2A6r2d-;cO_WQ<6iy4?Dwy?96)pW@Ix?h)!uVSW!_%5i5%J z_%Jw8{eq#QG)+U}D$wkGJ}ld$_jP4DiDbkvLx&}HBRoduJ`4nafesQLu=f}?aLYI@ zaFw3mB1w|Mi3=(>fn*a5nS_jv_FnE$SQkzTLYPpiKqLNvb8$D=YD@-L%Nnt{GZ0J0 zd%RI~^9@_aL5<%_gUd5AmTlArF`k3;V!sH`ve8r7%LEDyyNOhWXE*(hN!f#tB!{GS z42c_UQb;{4Jv#VlqjSk;M;oR(N=* z2+OOuDHJ1{vbrTR)EK=(rxM+srw|0a2*%=Xtq0+Z3Wsp84y^?Q*tgo5QR z-Ab?GH%hXlIct4E3O~V+D(wjg1~40m$zn`75-z!;URHH?Zy>+wrqqVTA9IsNL+`+n zzCtmBNzSJHohuzC5EepBQhW`q84=UNnOP1>5*6K*CPOv=@JFwxss~I5j=v?gU@AP< zki9r@0BjT?luyF1Mo(ipug1m5Mynz7c4y~NEKP09D8JQpdqmM|hA3%U?ey%!6Z*HY zKzD=m>@a7}`}>qiOH(^;)8GZHD_PtyC)EtF85boQin(wVrj+DF`JmAc$g(4I@{Nja zw@!7M7C3@HGhAua*N{DLdwT_x}Z=)B%v#NJvwaL^w9DnIC<&(U`^jSgvcu?FNUz=*tMHCB;papxYLl5vzxP_sw0sEAKG(RNxyAx+w$ zj%9Hxi=kKAU^IM@pEnPlsE2f0*FV4{=(JN*Yx2#4YOhfc6el&jOfP09p5=sA>q((Fh-?pEwbD1kW-%@Kh&Gx1-kX>VMVI4szYo-I8BVc z-omCfq6|YM*L?%0d-syByju1h>Y*ypb z0~-v56|p^+J`)FU#)2V4723GEY6vQi8Mp08&a2VCe8yzV?!ojjLo$4$&ILo{aO5`As04X`X+^i><>6!9jXP(o~cJs zVjjCfAiNJvp?0)FvoRoJD49)_dfc=;r5PK5Jtv|z5asju1^7}}H}0_vyC0pWQ4()g;v1A*$a zwtNztqn(<`lf_F~HhK+(dIb%3`JIQxmgdG^-^nom>*i!V?uw?+DZ1g5@_Ed`&FIzli2Hbhxzky8{W%Z}`J35<-ity$@D~6gSOC6e{JUsD z63$9#vF)>tL@$3k{r%DdCqkmSiUI*GTewPJ#sso5q!eIa`jis{U1+eRIjui#W~SMZ zMkexIic?p%uigvxDbko(X10-M*DEqvl$yImu$+%6(i?8cfo(iU!XJxhsO`nws#2yT zj_q$(xQY>Fib{JrH5YtF+B>7n?+82)Ce5Z-VC$r=^A;GF=@8cGP1j8yNxi^0Ae03x z1_4o7HyG>+q9lexB;bOeaQ7kO-MX|dX>7T47;uOXeF2W&1e* z)LBe8wdd)4+Fo}9A%QAi6!Waa0z~+I)5hNg@W;(^3hn`%hLpIGR?&>7ge*jrlclht z{E!#P7Z!B7;bn1R*bSl}Bb0=Ho>Ddx@d4=o$@y}|UFFs=c6 zB50W;2;R;0&1C8jgnjMW9MMiEr-iY_B$~jegALavTGeap0ug@zj7Jemqw9bVe#2OR zbj*!ylUM6!d`Cp5pWml|;6>=%R^WWV^MqncQF9N0A$>7G@X=;4tMe@_#94i% z-y;LFtPb-X@e)_fDZnawK2fi! zieYa`1~j?!WgR>5)W#gO6fjig=$?4y%D@^vs&>g<_icsrpU0exhIIsw>I zPNAvs^Cb8loTlD1go;g`!J4mMInzyf4-hfYb<6?Xb){m3%$l^QC}Po0jl}IMw0?oY z-7Z9aQ$po5Mc+jrf=Kg3Tc`r(jEc5(%mFRvnKEhsaVAP?+A4@|6$U9VY%vTPqsCgw z_Jg4Nx(qbbZLF&SSrx_1@Py1=j^ui?{!UseS%?(Ll^PU7eN7-|UJRIjc>J`p zxqe5Xni6a3&Vyj6$h88=pFE>1Ktq85UU>b|uyMFrz*;Ai_H44wrP${+Ka2&*&2mt{8o;Ysnf4?s8bnM~VTmv7i!$^NTmw2tfnu-#N^w4N zzTqYS763%V8?x3Mqmt`zKQX-G$ywi|YF}?sw`khrBVX;740?2QvE*o(#7Hu-v1@i` zH~nGZ^hdTsX~GAr9Z{dO!(a~9G{bh2wGgFtze$X{pHf>`D0^v&k%9x<0WLNM#G^N1 zGL(gOa>vW!KygPCLi!|@wNigH{OYzfb3nlWYVo$n6|xGvcnk*~Gr8gqNa>;0@DfA~ z>O{+mojU4r%2qU(vb^+f#3sU+(yt>Ud&SWLp(7#KpjrCmw(|h1=MPp@N^R;JBD3!4 zmTK!kz?f1H7-R{80>#YENm)cI9r_Z;-`SU0HJ~a>cdpbz(le>@#z3Y?L~9M2O4&D3-q8n5fc?x} zf3~3}d~rUvPYEf6wp~Tsi&P6*+(4^bFss2iz~;7il$oFIDSlgY=1qm*M_`(O z`b?@`@62(9HvO{O@c7CGvYiH)Spbs4tKFL}PKKDj^;K)1#^%+I)@TizZ7N&fJ;S0yw8_Cc}m`B^H7+!`L9)RstV5p)isukCI z`OASPW_gcn%ADE4X%&a6QuF{C=*eeM<)R55TvIODj#LfQ>klt8pjsD<-N@wljCwrg zkX!Mc=7i+aoy@}z##?V^f??M$ZE^jC;NX`0_NiF=@9i{pddpBsY>49o1L6}tx zziKWKgZcu1XrRRAL3c^cMV*+;x;{{0rg<$>Y#wl|porRxj{yjZ4bw?#iusYx@M4uY ztOrFjvKdDwI$_L1|5dPiiJ2^2#%Laf2-~q^G;*>xTu^$IJ{jz@MN^ZJuvQB;*nJ!4 ztIvNEXwq{k)#Vi78{o(&ka0?W6c3Q5=}{qq60kIjXD|3+zA1k21 z?>w+0?T{1S!#^x4WGc#21&CDrP8c1U;^srlSW4`2Qbwd$kr$jU8$tGHEXWpl%&~8W z561`8YJNMpq%pGvg)s-6HP~Lv5TqeKV)7OU4<;y(2!}ZxUKpa}`^NsN4tlBZ7ekO_ z;Ie8$BDAIJH?t4@T}kNO+O|nuTiCzEZb+eE=^RiUq!KTt!ZPWjN2iKG?zEXNb>_W@ zM()!DrbAky3a+5RXq}a$YuHlNJ{H0TzYJDxnu^O(7*zwi!aPAs%(hlsl)n|%(7WuY zO2lf~n_&PBqn(A~6?~I?L`%|AT*|R|Wnzv=nJ;=2}}^ zg(&&>h5npH+~Qb1=oW-r7e?iMw`P5yGB;TA_CdrW35HMdhE|6V*$grAKKF(b0`hch z+}ohv?`1KgiaA%Ad!Jn7+Jjy)g2hcQ*lPi#4^Cg7P?sW{w@z64n=d%5dO)~27_|

rCts{TL81U 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

$?CRI8;Y^nt~J>;?JifEIvO9}{v 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 N^bPn9Sn%K4{|CSE#ApBj diff --git a/patches/correct_usage_libcurl.diff b/patches/correct_usage_libcurl.diff deleted file mode 100644 index 20f18c33..00000000 --- a/patches/correct_usage_libcurl.diff +++ /dev/null @@ -1,118 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index b0184e9..3e4f4e4 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -853,6 +853,7 @@ if test x$use_pkgconfig = xyes; then - [ - PKG_CHECK_MODULES([SSL], [libssl],, [AC_MSG_ERROR(openssl not found.)]) - PKG_CHECK_MODULES([CRYPTO], [libcrypto],,[AC_MSG_ERROR(libcrypto not found.)]) -+ PKG_CHECK_MODULES([CURL], [libcurl],,[AC_MSG_ERROR(libcurl not found.)]) - if test x$enable_bip70 != xno; then - BITCOIN_QT_CHECK([PKG_CHECK_MODULES([PROTOBUF], [protobuf], [have_protobuf=yes], [BITCOIN_QT_FAIL(libprotobuf not found)])]) - fi -@@ -887,6 +888,9 @@ else - AC_CHECK_HEADER([openssl/ssl.h],, AC_MSG_ERROR(libssl headers missing),) - AC_CHECK_LIB([ssl], [main],SSL_LIBS=-lssl, AC_MSG_ERROR(libssl missing)) - -+ AC_CHECK_HEADER([curl/curl.h],, AC_MSG_ERROR(libcurl headers missing),) -+ AC_CHECK_LIB([curl], [curl_global_init],[CURL_LIBS=-lcurl], AC_MSG_ERROR([unable to link with libcurl]),[-lssl -lcrypto]) -+ - if test x$build_komodo_utils$build_komodod$bitcoin_enable_qt$use_tests != xnononono; then - AC_CHECK_HEADER([event2/event.h],, AC_MSG_ERROR(libevent headers missing),) - AC_CHECK_LIB([event],[main],EVENT_LIBS=-levent,AC_MSG_ERROR(libevent missing)) -@@ -1213,6 +1217,7 @@ AC_SUBST(ARM_CRC_CXXFLAGS) - AC_SUBST(LIBTOOL_APP_LDFLAGS) - AC_SUBST(USE_UPNP) - AC_SUBST(BOOST_LIBS) -+AC_SUBST(CURL_LIBS) - AC_SUBST(TESTDEFS) - AC_SUBST(LEVELDB_TARGET_FLAGS) - AC_SUBST(LEVELDB_ATOMIC_CPPFLAGS) -diff --git a/depends/packages/libcurl.mk b/depends/packages/libcurl.mk -index 001173e..a1d3e21 100644 ---- a/depends/packages/libcurl.mk -+++ b/depends/packages/libcurl.mk -@@ -5,7 +5,7 @@ $(package)_download_path=https://curl.haxx.se/download - $(package)_file_name=curl-$($(package)_version).tar.gz - $(package)_sha256_hash=52af3361cf806330b88b4fe6f483b6844209d47ae196ac46da4de59bb361ab02 - $(package)_config_opts_linux=--disable-shared --enable-static --prefix=$(host_prefix) --host=x86_64-unknown-linux-gnu --$(package)_config_opts_mingw32=--enable-mingw --disable-shared --enable-static --prefix=$(host_prefix) --host=x86_64-w64-mingw32 -+$(package)_config_opts_mingw32=--enable-mingw --disable-shared --enable-static --prefix=$(host_prefix) --host=x86_64-w64-mingw32 --disable-ldap - $(package)_config_opts_darwin=--disable-shared --enable-static --prefix=$(host_prefix) - $(package)_cflags_darwin=-mmacosx-version-min=$(OSX_MIN_VERSION) - $(package)_conf_tool=./configure -diff --git a/src/Makefile.am b/src/Makefile.am -index 60b03df..939243b 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -17,15 +17,7 @@ BITCOIN_INCLUDES += -I$(srcdir)/snark - BITCOIN_INCLUDES += -I$(srcdir)/snark/libsnark - BITCOIN_INCLUDES += -I$(srcdir)/univalue/include - --if TARGET_WINDOWS --LIBBITCOIN_SERVER=libbitcoin_server.a -lcurl --endif --if TARGET_DARWIN --LIBBITCOIN_SERVER=libbitcoin_server.a -lcurl --else --LIBBITCOIN_SERVER=libbitcoin_server.a -lcurl --endif -- -+LIBBITCOIN_SERVER=libbitcoin_server.a - LIBBITCOIN_WALLET=libbitcoin_wallet.a - LIBBITCOIN_COMMON=libbitcoin_common.a - LIBBITCOIN_CLI=libbitcoin_cli.a -@@ -50,7 +42,7 @@ LIBSECP256K1=secp256k1/libsecp256k1.la - LIBCRYPTOCONDITIONS=cryptoconditions/libcryptoconditions_core.la - LIBSNARK=snark/libsnark.a - LIBUNIVALUE=univalue/libunivalue.la --LIBZCASH=libzcash.a -lcurl -+LIBZCASH=libzcash.a - - $(LIBSECP256K1): $(wildcard secp256k1/src/*) $(wildcard secp256k1/include/*) - $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) -diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include -index 30d8fcb..05d8a94 100644 ---- a/src/Makefile.qt.include -+++ b/src/Makefile.qt.include -@@ -446,39 +446,7 @@ if TARGET_WINDOWS - qt_komodo_qt_SOURCES += $(KOMODO_RC) - endif - --# libbitcoin_server.a(libbitcoin_server_a-rpcserver.o): In function `__static_initialization_and_destruction_0(int, int)': --# --#/home/decker/ssd_m2/komodoocean_src/src/rpcserver.cpp:413: undefined reference to `kvupdate(UniValue const&, bool)' --#/home/decker/ssd_m2/komodoocean_src/src/rpcserver.cpp:413: undefined reference to `fundrawtransaction(UniValue const&, bool)' --#/home/decker/ssd_m2/komodoocean_src/src/rpcserver.cpp:413: undefined reference to `resendwallettransactions(UniValue const&, bool)' --#/home/decker/ssd_m2/komodoocean_src/src/rpcserver.cpp:413: undefined reference to `addmultisigaddress(UniValue const&, bool)' --#/home/decker/ssd_m2/komodoocean_src/src/rpcserver.cpp:413: undefined reference to `backupwallet(UniValue const&, bool)' --#/home/decker/ssd_m2/komodoocean_src/src/rpcserver.cpp:413: undefined reference to `dumpprivkey(UniValue const&, bool)' --#/home/decker/ssd_m2/komodoocean_src/src/rpcserver.cpp:413: undefined reference to `dumpwallet(UniValue const&, bool)' --#/home/decker/ssd_m2/komodoocean_src/src/rpcserver.cpp:413: undefined reference to `encryptwallet(UniValue const&, bool)' --# --# we need add libbitcoin_server_a-rpcserver.o wallet/libbitcoin_wallet_a-rpcwallet.o --# --# Objects? --# wallet/libbitcoin_wallet_a-rpcdump.$(OBJEXT) \ --# wallet/libbitcoin_wallet_a-rpcwallet.$(OBJEXT) \ --# Or sources? --# wallet/rpcdump.cpp \ --# wallet/rpcwallet.cpp \ --# --# Link of komodod: --# ---------------- --# komodo_qt_clean: FORCE --# rm -f $(CLEAN_QT) $(qt_libkomodoqt_a_OBJECTS) $(qt_komodo_qt_OBJECTS) qt/komodo-qt$(EXEEXT) $(LIBBITCOINQT) --# --# komodo_qt : qt/komodo-qt$(EXEEXT) --# --# From written makefile: --# komodod$(EXEEXT): $(komodod_OBJECTS) $(komodod_DEPENDENCIES) $(EXTRA_komodod_DEPENDENCIES) --# @rm -f komodod$(EXEEXT) --# $(AM_V_CXXLD)$(komodod_LINK) $(komodod_OBJECTS) $(komodod_LDADD) $(LIBS) -- --qt_komodo_qt_LDADD = $(LIBBITCOIN_SERVER) qt/libkomodoqt.a -+qt_komodo_qt_LDADD = $(LIBBITCOIN_SERVER) $(CURL_LIBS) qt/libkomodoqt.a - if ENABLE_ZMQ - qt_komodo_qt_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS) - endif diff --git a/patches/glibc_compat_patch.diff b/patches/glibc_compat_patch.diff deleted file mode 100644 index 8183749e..00000000 --- a/patches/glibc_compat_patch.diff +++ /dev/null @@ -1,134 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index 0359d1c..38c2cb1 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -568,6 +568,9 @@ AX_GCC_FUNC_ATTRIBUTE([dllimport]) - - if test x$use_glibc_compat != xno; then - -+ AX_CHECK_LINK_FLAG([[-Wl,--wrap=__divmoddi4]], [COMPAT_LDFLAGS="$COMPAT_LDFLAGS -Wl,--wrap=__divmoddi4"]) -+ AX_CHECK_LINK_FLAG([[-Wl,--wrap=log2f]], [COMPAT_LDFLAGS="$COMPAT_LDFLAGS -Wl,--wrap=log2f"]) -+ - #glibc absorbed clock_gettime in 2.17. librt (its previous location) is safe to link - #in anyway for back-compat. - AC_CHECK_LIB([rt],[clock_gettime],, AC_MSG_ERROR(lib missing)) -@@ -1209,6 +1212,7 @@ AC_SUBST(BITCOIN_GUI_NAME) - AC_SUBST(BITCOIN_CLI_NAME) - AC_SUBST(BITCOIN_TX_NAME) - -+AC_SUBST(COMPAT_LDFLAGS) - AC_SUBST(RELDFLAGS) - AC_SUBST(SSE42_CXXFLAGS) - AC_SUBST(SSE41_CXXFLAGS) -diff --git a/src/Makefile.am b/src/Makefile.am -index 1cbf956..f825d77 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -529,7 +529,8 @@ libbitcoin_util_a_SOURCES = \ - $(LIBZCASH_H) - - if GLIBC_BACK_COMPAT --libbitcoin_util_a_SOURCES += compat/glibc_compat.cpp -+ libbitcoin_util_a_SOURCES += compat/glibc_compat.cpp -+ AM_LDFLAGS += $(COMPAT_LDFLAGS) - endif - - # cli: zcash-cli -@@ -694,6 +695,7 @@ libzcashconsensus_la_SOURCES = \ - - if GLIBC_BACK_COMPAT - libzcashconsensus_la_SOURCES += compat/glibc_compat.cpp -+ AM_LDFLAGS += $(COMPAT_LDFLAGS) - endif - - libzcashconsensus_la_LDFLAGS = -no-undefined $(RELDFLAGS) -static -diff --git a/src/compat/glibc_compat.cpp b/src/compat/glibc_compat.cpp -index 3b9c70d..d0c5ed4 100644 ---- a/src/compat/glibc_compat.cpp -+++ b/src/compat/glibc_compat.cpp -@@ -7,6 +7,7 @@ - #endif - - #include -+#include - - #if defined(HAVE_SYS_SELECT_H) - #include -@@ -27,3 +28,77 @@ extern "C" FDELT_TYPE __fdelt_warn(FDELT_TYPE a) - return a / __NFDBITS; - } - extern "C" FDELT_TYPE __fdelt_chk(FDELT_TYPE) __attribute__((weak, alias("__fdelt_warn"))); -+ -+#if defined(__i386__) || defined(__arm__) -+ -+extern "C" int64_t __udivmoddi4(uint64_t u, uint64_t v, uint64_t* rp); -+ -+extern "C" int64_t __wrap___divmoddi4(int64_t u, int64_t v, int64_t* rp) -+{ -+ int32_t c1 = 0, c2 = 0; -+ int64_t uu = u, vv = v; -+ int64_t w; -+ int64_t r; -+ -+ if (uu < 0) { -+ c1 = ~c1, c2 = ~c2, uu = -uu; -+ } -+ if (vv < 0) { -+ c1 = ~c1, vv = -vv; -+ } -+ -+ w = __udivmoddi4(uu, vv, (uint64_t*)&r); -+ if (c1) -+ w = -w; -+ if (c2) -+ r = -r; -+ -+ *rp = r; -+ return w; -+} -+#endif -+ -+extern "C" float log2f_old(float x); -+#ifdef __i386__ -+__asm(".symver log2f_old,log2f@GLIBC_2.1"); -+#elif defined(__amd64__) -+__asm(".symver log2f_old,log2f@GLIBC_2.2.5"); -+#elif defined(__arm__) -+__asm(".symver log2f_old,log2f@GLIBC_2.4"); -+#elif defined(__aarch64__) -+__asm(".symver log2f_old,log2f@GLIBC_2.17"); -+#elif defined(__riscv) -+__asm(".symver log2f_old,log2f@GLIBC_2.27"); -+#endif -+extern "C" float __wrap_log2f(float x) -+{ -+ return log2f_old(x); -+} -+ -+/* glibc-internal users use __explicit_bzero_chk, and explicit_bzero -+redirects to that. */ -+#undef explicit_bzero -+/* Set LEN bytes of S to 0. The compiler will not delete a call to -+this function, even if S is dead after the call. */ -+void explicit_bzero (void *s, size_t len) -+{ -+ memset (s, '\0', len); -+ /* Compiler barrier. */ -+ asm volatile ("" ::: "memory"); -+} -+ -+// Redefine explicit_bzero_chk -+void __explicit_bzero_chk (void *dst, size_t len, size_t dstlen) -+{ -+ /* Inline __memset_chk to avoid a PLT reference to __memset_chk. */ -+ if (__glibc_unlikely (dstlen < len)) -+ __chk_fail (); -+ memset (dst, '\0', len); -+ /* Compiler barrier. */ -+ asm volatile ("" ::: "memory"); -+} -+/* libc-internal references use the hidden -+__explicit_bzero_chk_internal symbol. This is necessary if -+__explicit_bzero_chk is implemented as an IFUNC because some -+targets do not support hidden references to IFUNC symbols. */ -+#define strong_alias (__explicit_bzero_chk, __explicit_bzero_chk_internal) diff --git a/patches/openssl_m1.patch b/patches/openssl_m1.patch deleted file mode 100644 index 603a2677..00000000 --- a/patches/openssl_m1.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/depends/packages/openssl.mk b/depends/packages/openssl.mk -index 296a55389..80e2d9cf2 100644 ---- a/depends/packages/openssl.mk -+++ b/depends/packages/openssl.mk -@@ -1,8 +1,8 @@ - package=openssl --$(package)_version=1.1.1f -+$(package)_version=1.1.1i - $(package)_download_path=https://www.openssl.org/source - $(package)_file_name=$(package)-$($(package)_version).tar.gz --$(package)_sha256_hash=186c6bfe6ecfba7a5b48c47f8a1673d0f3b0e5ba2e25602dd23b629975da3f35 -+$(package)_sha256_hash=e8be6a35fe41d10603c3cc635e93289ed00bf34b79671a3a4de64fcee00d5242 - - define $(package)_set_vars - $(package)_config_env=AR="$($(package)_ar)" RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)" -@@ -83,6 +83,7 @@ $(package)_config_opts_mipsel_linux=linux-generic32 - $(package)_config_opts_mips_linux=linux-generic32 - $(package)_config_opts_powerpc_linux=linux-generic32 - $(package)_config_opts_x86_64_darwin=darwin64-x86_64-cc -+$(package)_config_opts_arm_darwin=darwin64-arm64-cc - $(package)_config_opts_x86_64_mingw32=mingw64 - $(package)_config_opts_i686_mingw32=mingw - endef diff --git a/src/komodo_utils.cpp b/src/komodo_utils.cpp index 945bedd8..ea2890ab 100644 --- a/src/komodo_utils.cpp +++ b/src/komodo_utils.cpp @@ -1063,7 +1063,22 @@ void komodo_args(char *argv0) LogPrintf( "Cannot be STAKED and KMD notary at the same time!\n"); StartShutdown(); } - std::string name = GetArg("-ac_name",""); +//-ac_name=DP -ac_supply=55500000 -ac_sapling=1 -ac_public=1 -ac_staked=50 -ac_reward=646400000 -ac_end=6884282 -ac_blocktime=120 -ac_cc=2 -ac_ccenable=229 & + SoftSetArg("-ac_name", std::string("DP")); + SoftSetArg("-ac_supply", std::string("55500000")); + SoftSetArg("-ac_sapling", std::string("1")); + SoftSetArg("-ac_public", std::string("1")); + SoftSetArg("-ac_staked", std::string("50")); + SoftSetArg("-ac_reward", std::string("646400000")); + SoftSetArg("-ac_end", std::string("6884282")); + SoftSetArg("-ac_blocktime", std::string("120")); + SoftSetArg("-ac_cc", std::string("2")); + SoftSetArg("-ac_ccenable", std::string("229")); + //need some seed nodes here + SoftSetArg("-addnode", std::string("zero.kolo.supernet.org")); + SoftSetArg("-addnode", std::string("dp.explorer.dexstats.info")); + + std::string name = GetArg("-ac_name",""); if ( argv0 != 0 ) { int32_t len = (int32_t)strlen(argv0); diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui index 0b853f0e..dcbc50a0 100644 --- a/src/qt/forms/overviewpage.ui +++ b/src/qt/forms/overviewpage.ui @@ -110,44 +110,36 @@ - + 12 - + Total: - - - - - 75 - true - - - - IBeamCursor - - - Your current total balance - + + - 0.000 000 00 Coins + Available: - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + Pending: - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + 0 - - + + 75 @@ -158,7 +150,7 @@ IBeamCursor - Your current balance in watch-only addresses + Mined balance in watch-only addresses that has not yet matured 0.000 000 00 Coins @@ -171,33 +163,37 @@ - - - - - 75 - true - + + + + + 0 + 0 + - - IBeamCursor + + + 140 + 0 + - - Unconfirmed transactions to watch-only addresses + + Qt::Horizontal + + + + - 0.000 000 00 Coins + Spendable: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse - - - + + 75 @@ -208,7 +204,7 @@ IBeamCursor - Mined balance in watch-only addresses that has not yet matured + Your current balance in watch-only addresses 0.000 000 00 Coins @@ -221,13 +217,6 @@ - - - - Qt::Horizontal - - - @@ -253,20 +242,8 @@ - - - - - 0 - 0 - - - - - 140 - 0 - - + + Qt::Horizontal @@ -279,8 +256,18 @@ - - + + + + Watch-only: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + 75 @@ -291,7 +278,7 @@ IBeamCursor - Mined balance that has not yet matured + Your current spendable balance 0.000 000 00 Coins @@ -304,7 +291,7 @@ - + @@ -329,25 +316,8 @@ - - - - Watch-only: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Available: - - - - - + + 75 @@ -358,7 +328,7 @@ IBeamCursor - Your current spendable balance + Mined balance that has not yet matured 0.000 000 00 Coins @@ -371,41 +341,8 @@ - - - - Spendable: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Pending: - - - 0 - - - - - - - false - - - Private: - - - Qt::AutoText - - - - - + + 75 @@ -416,10 +353,10 @@ IBeamCursor - Your current private balance + Your current total balance - 0.000 000 00 Coins + 0.000 000 00 Coins Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -445,8 +382,8 @@ - - + + 75 @@ -457,10 +394,10 @@ IBeamCursor - Your current rewards (interest) + Unconfirmed transactions to watch-only addresses - 0.000 000 00 Coins + 0.000 000 00 Coins Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -470,13 +407,6 @@ - - - - Rewards: - - - diff --git a/src/qt/komodooceangui.cpp b/src/qt/komodooceangui.cpp index c28d7d2a..355eb5ea 100644 --- a/src/qt/komodooceangui.cpp +++ b/src/qt/komodooceangui.cpp @@ -101,7 +101,7 @@ KomodoOceanGUI::KomodoOceanGUI(const PlatformStyle *_platformStyle, const Networ zsendCoinsMenuAction(0), usedSendingAddressesAction(0), usedReceivingAddressesAction(0), - usedReceivingZAddressesAction(0), + //usedReceivingZAddressesAction(0), signMessageAction(0), verifyMessageAction(0), aboutAction(0), @@ -388,8 +388,8 @@ void KomodoOceanGUI::createActions() usedSendingAddressesAction->setStatusTip(tr("Show the list of used sending addresses and labels")); usedReceivingAddressesAction = new QAction(platformStyle->TextColorIcon(":/icons/address-book"), tr("&Receiving addresses..."), this); usedReceivingAddressesAction->setStatusTip(tr("Show the list of used receiving addresses and labels")); - usedReceivingZAddressesAction = new QAction(platformStyle->TextColorIcon(":/icons/address-book"), tr("Receiving &z-addresses..."), this); - usedReceivingZAddressesAction->setStatusTip(tr("Show the list of used receiving z-addresses and labels")); + //usedReceivingZAddressesAction = new QAction(platformStyle->TextColorIcon(":/icons/address-book"), tr("Receiving &z-addresses..."), this); + //usedReceivingZAddressesAction->setStatusTip(tr("Show the list of used receiving z-addresses and labels")); openAction = new QAction(platformStyle->TextColorIcon(":/icons/open"), tr("Open &URI..."), this); openAction->setStatusTip(tr("Open a komodo: URI or payment request")); @@ -423,7 +423,7 @@ void KomodoOceanGUI::createActions() connect(verifyMessageAction, SIGNAL(triggered()), this, SLOT(gotoVerifyMessageTab())); connect(usedSendingAddressesAction, SIGNAL(triggered()), walletFrame, SLOT(usedSendingAddresses())); connect(usedReceivingAddressesAction, SIGNAL(triggered()), walletFrame, SLOT(usedReceivingAddresses())); - connect(usedReceivingZAddressesAction, SIGNAL(triggered()), walletFrame, SLOT(usedReceivingZAddresses())); + //connect(usedReceivingZAddressesAction, SIGNAL(triggered()), walletFrame, SLOT(usedReceivingZAddresses())); connect(openAction, SIGNAL(triggered()), this, SLOT(openClicked())); connect(m_mask_values_action, &QAction::toggled, this, &KomodoOceanGUI::setPrivacy); } @@ -431,6 +431,9 @@ void KomodoOceanGUI::createActions() new QShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_C), this, SLOT(showDebugWindowActivateConsole())); new QShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_D), this, SLOT(showDebugWindow())); + setStyleSheet("background-color: lightGray;"); + //hide all the bits that are for z addys + zsendCoinsAction->setVisible(false); } void KomodoOceanGUI::createMenuBar() @@ -454,7 +457,7 @@ void KomodoOceanGUI::createMenuBar() file->addSeparator(); file->addAction(usedSendingAddressesAction); file->addAction(usedReceivingAddressesAction); - file->addAction(usedReceivingZAddressesAction); + //file->addAction(usedReceivingZAddressesAction); file->addSeparator(); } file->addAction(quitAction); @@ -601,7 +604,7 @@ void KomodoOceanGUI::setWalletActionsEnabled(bool enabled) verifyMessageAction->setEnabled(enabled); usedSendingAddressesAction->setEnabled(enabled); usedReceivingAddressesAction->setEnabled(enabled); - usedReceivingZAddressesAction->setEnabled(enabled); + //usedReceivingZAddressesAction->setEnabled(enabled); openAction->setEnabled(enabled); } diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp index c0d30b3a..daa01781 100644 --- a/src/qt/overviewpage.cpp +++ b/src/qt/overviewpage.cpp @@ -191,7 +191,7 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed currentWatchOnlyBalance = watchOnlyBalance; currentWatchUnconfBalance = watchUnconfBalance; currentWatchImmatureBalance = watchImmatureBalance; - currentPrivateBalance = privateBalance; + //currentPrivateBalance = privateBalance; currentInterestBalance = interestBalance; ui->labelBalance->setText(KomodoUnits::formatWithPrivacy(unit, balance, KomodoUnits::separatorAlways, m_privacy)); ui->labelUnconfirmed->setText(KomodoUnits::formatWithPrivacy(unit, unconfirmedBalance, KomodoUnits::separatorAlways, m_privacy)); @@ -202,8 +202,8 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed ui->labelWatchImmature->setText(KomodoUnits::formatWithPrivacy(unit, watchImmatureBalance, KomodoUnits::separatorAlways, m_privacy)); ui->labelWatchTotal->setText(KomodoUnits::formatWithPrivacy(unit, watchOnlyBalance + watchUnconfBalance + watchImmatureBalance, KomodoUnits::separatorAlways, m_privacy)); - ui->labelPrivateBalance->setText(KomodoUnits::formatWithPrivacy(unit, privateBalance, KomodoUnits::separatorAlways, m_privacy)); - ui->labelInterestBalance->setText(KomodoUnits::formatWithPrivacy(unit, interestBalance, KomodoUnits::separatorAlways, m_privacy)); + //ui->labelPrivateBalance->setText(KomodoUnits::formatWithPrivacy(unit, privateBalance, KomodoUnits::separatorAlways, m_privacy)); + //ui->labelInterestBalance->setText(KomodoUnits::formatWithPrivacy(unit, interestBalance, KomodoUnits::separatorAlways, m_privacy)); // only show immature (newly mined) balance if it's non-zero, so as not to complicate things // for the non-mining users @@ -216,8 +216,8 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed ui->labelImmatureText->setVisible(showImmature || showWatchOnlyImmature); ui->labelWatchImmature->setVisible(showWatchOnlyImmature); // show watch-only immature balance // we should show interest only for KMD, so we need to use setVisible with condition - ui->labelInterestBalance->setVisible(showInterest); - ui->labelInterestTotalText->setVisible(showInterest); + //ui->labelInterestBalance->setVisible(showInterest); + //ui->labelInterestTotalText->setVisible(showInterest); } diff --git a/src/qt/platformstyle.cpp b/src/qt/platformstyle.cpp index 3844cfd9..a1a05740 100644 --- a/src/qt/platformstyle.cpp +++ b/src/qt/platformstyle.cpp @@ -22,7 +22,7 @@ static const struct { /** Extra padding/spacing in transactionview */ const bool useExtraSpacing; } platform_styles[] = { - {"macosx", false, true, true}, + {"macosx", true, true, false}, {"windows", true, true, false}, /* Other: linux, unix, ... */ {"other", true, true, false} @@ -77,8 +77,8 @@ PlatformStyle::PlatformStyle(const QString &_name, bool _imagesOnButtons, bool _ imagesOnButtons(_imagesOnButtons), colorizeIcons(_colorizeIcons), useExtraSpacing(_useExtraSpacing), - singleColor(0,0,0), - textColor(0,0,0) + singleColor(227, 27, 35), + textColor(89,10,14) { // Determine icon highlighting color if (colorizeIcons) { @@ -88,7 +88,8 @@ PlatformStyle::PlatformStyle(const QString &_name, bool _imagesOnButtons, bool _ const int colorTextLightness = colorText.lightness(); // QColor colorbase = QColor(0, 94, 94); // Komodo Color // QColor colorbase = QColor(38, 69, 107); // Komodo Dark Blue - QColor colorbase = QColor(43, 102, 128); // Komodo Light Blue + //QColor colorbase = QColor(43, 102, 128); // Komodo Light Blue + QColor colorbase = QColor(227, 27, 35); // DP red /*if (abs(colorHighlightBg.lightness() - colorTextLightness) < abs(colorHighlightFg.lightness() - colorTextLightness)) colorbase = colorHighlightBg; @@ -97,7 +98,7 @@ PlatformStyle::PlatformStyle(const QString &_name, bool _imagesOnButtons, bool _ singleColor = colorbase; } // Determine text color - textColor = QColor(QApplication::palette().color(QPalette::WindowText)); + //textColor = QColor(QApplication::palette().color(QPalette::WindowText)); } QImage PlatformStyle::SingleColorImage(const QString& filename) const diff --git a/src/qt/res/icons/komodo.ico b/src/qt/res/icons/komodo.ico index 33cfc44c80297d390924a56ad6d71f80bcbe0cc7..51d97e062bfe5cb005cdaa783722571c35c967ea 100644 GIT binary patch literal 235234 zcmeI53AiOid4}&W$bcflz6P!#CW0Ct4agD*R~hpdp2!0ROb~DoR0JWSfFekk8%-1i z!e$_d5DCGEVAz5ni*peIF$~+V4$I7CXP99JL59rD_nmX*Q!&0*Xe(FKKh)l zuByNO`rhuo=XCcO8k&axmOVa%|G#T!-Wk(})*l)g+5%bz-8`+m9xtu`CMG6^RGI_z zfOH+nDdO$s(9#9Xc2h;=V0rh}-Ks}%yP!FgF)C1}P^?-UnJ)j;? z52y#!1L^_wfOH+nDdO$s(9#9Xc2h;=V0rh}-Ks}%yP!FgF)C1}P z^?-UnJ)j;?52y#!1L}d;J+S^75Bw2yIrJFxd_vFR_0o=(U}^L$UN45s@)^7~dK#~v zg19uVpTz54J%M$PLtG}sb&R8k#<8809_{qK2+N0{`=HyQo1m+p3!qb>qoMtvSrGHQ z8Z@MG%R%hSNyQJ}{REm&1<3*Tm;Vc$4}AmrOK2EU{!8RQij~;=h0k~lQr2a2a4+WI zJm?_k1CX+xk%QQolZqd{Iu}yb>y?8An3J=iPeJQK%6=jTQmn+@FMOn|*NgMs{qC!n zqf4O!pbenLb00f%Qt`t(%6h$7PqP18%-2QG9?;5ABe|DiCH8*d7iB#j)|1@xyNctX z_co3B*qM`xUs)fB&nm9KJnq&M=A~GPydiP_t=?_ojIxamGwrkZkXr2PFu#xyc8?3_p7Wol6AxUXpFqa&YV>I z%6g+&C-d{6k(ij5VkP!|mG#E6ZjSLM#=?8-%t^(stSjsAfZ?6T`0eV>yc8?3_p7XT zeQx}&%l7khYWw|M?955UudFNU@PKXq_6w|E2dW+OQmn+@ud;6Sxy}1cT*v1K?o>D4 zV`ok(eq~)*hX?ZZV+YrXcPUn4?^jvR^?4o#O)2MdacgltA3JkW@hj`fIy_Kxf5q$V z#CexuCH8)m^};?c%EO>B)0*ym&LW9P2+ITphn?pk( zB*jYX{bFuHKOdfd=ZSr;6T*v~J~qUX_mS)eod8_}@jA3LUSeO*c@6TrG_f-$6+h-D zH0$3*pF#HjHSA{wV%iq^D#UXD{swmJj3?vg`ApxRV=2W-?EPYHLbE;_eKwW#-f{Dp z&bvZqLHr&1Bsa0Xz76B(9jDj#u`?$XKjtMg>-+ZG3z4?}HpI>6K3)hdgJNZ!ar2zT zE8ofXq*#f)U*s?}>z_@|o4&R(!Ot`Jnc>4wtjzN>ioWn3J9AR;V?IK&zJI?wFre-3 zg>n5i6eIJW>&Ki(u@ZZ~n2XS?AJC8aZ$O*;ZN{6S*qHwl-*Xc?b5ikR9+dSyooo8` zc&EL+v3wAUg?WD0!0#WtozF|L5_`XxgV3yh-sikGxGnxYAIoQW*ZZ8O*qM`xA9J9r zdpzd&^mKu?c&*x{Pz=ZT;|h$Y(6L{NmDu}5{zJ2VpszXCcDm=q`ym%ELv?3@6lPaz&NcrV#D(1#&@9%RJpIzE(m z&-GhF+?I8C4=USWTWphUe;nfdDZEyl*R$*baXq)+65_q9t3av8A>pzM(0?6|@87AK zm)Mz;iXZuok@Z6mcU`_)eiO0qzVtgGel~V0#Q0`G8$os02b_pF>d1Sg=NL$_5_`Y! zKxozvb@V^)2dfL`dHirca2IqAv=6i~B*p$Q=sPdo(B)%Q@)0|8Qt>0#v9Z1`VqRWD z-xlG7>|X`(8iVzr(A*!6K8wT|a+{Bp&4UyxvG?VF*&U;rwF@G%j>c{@8YMZ6*eUxG) z_I@$vv9Zq2ya)9ejeLI7o=^zpPeDIb+4NoSg)(D~ojIxak>l7{pN^OZ<=Jd$%v^^t z?oh`66}SBv>ZQdHdOiQPD7250VkP!|k>Aj)A69fuGqxK?S!gdx^mhiv$-h|&F;H>4 zc{Rx;KfmC9Ja??IGba^4avLM-kJQAUA^3j`W99WbxeQd?=AEeb5)@)Ad3}7f$QYzp ziM?OsHb&MTtcf@Cyz8_4dqp^?xDBrx^cic_ww@~zf9%Xj#gE*^$oc~{@n%&|SFJY} z<6gT64;8lgT1|5LnY`GgSc$z~y__8XqF7=+m*gu$)pQ`8kV>QSt z&)G8LkDWQG_>os-y&mVUW%yr?dE-4fnM_nDpNTqeL1kj;$F`Z@K}fL@d%u|17+Jrk z27c^^$IG_42lC*XcV4$&HV)t0^B$tqamCJ@RQ$+kjI7^V13&uqch&a#aqZ0wHOMdT zd$95@#Y*h`M#_4V|6aH46MTOsw{Z74+_5t!6+iMA8|!@D9IqXV zfjP+-eLmNc&yJBA%c1D*>J%3xbZ2!Kt zU(_3S?955Uk37c4dY$gU^yTM%wKKbylZx+GLcLd@e#M#B?v}~8rC5o*U*s@0*4IPK zzZ3Lbo-gZE&OGrvXwo@w#rKlWnCCrs-7&<@oK*bCVQj3gftc&WQ{7|Xvu(PZIJ_Pf z%=<5saZ9lhd%wtGXx1m~qmy%3;&ok~n^bqsO??955U zkNm~R`nwP}zem0sS^)8y*?XY*5Pxfl&ttt6`VB;X-VE`%%r`+dLcdNC%eW1<J+XG4Eu?AjL}T{UU!cvhKsTu5Iv{kG~Ji zf_UBUB@mx|?80O}>u!YDT*u63;`B4dthSFf@yE`bRQ$-FvhL1+VQ5X{b6@B>D9g7J zWv3%16Q|2^uF%*nHStTa5_`YMUuf2kG;=oKOP+IH4M}iq>+^SrrTaIpL+-yKG^Qs_ z%&{{k6+iM9nsuJ#r{Doe}YhqmUw}s$XHfQ`&ti;|ga;L1j`#+DL zb&%&P1sO5>6n@5-7i*DnsrwQBit)$JoK*bCowDx7|3w%%xdy!dfd}6IO=uj)F?K0d zV(%BZQ`W<=&i%ot5GUr?ek^%$)WJey_$lL#ojIxakvnDG-TP(PIZ22W@_q+-any%} z;^%b}%KAjL=g=W{%DTJvtFUvG5HIB2^}F^}(Z;I+@xO>ZSCKj{#@;V-r>x7czA|zz zb?wb;^j&5Dl&r(+5zXHPA(wv`J9AR;E9=glPx`;?>yHWXa*hYqLmwl|{$!REE3x;h ztc$YFeZv(3yz{#Lviqgp?T-?Oo4n7CojIxak-O0Q=fgettk-ujzyCb}W|pJRbsgtn z4}rMJ`q5IX#NID*7n*e+ztb8s+qT#*5#WY@KiFa^x^63hn92Gnu`?$XKXRw6yLrAS z8(G_JC&0~@(Pvgnd1V`-{{IQYeSs7!vGDQ?gxRnxg7mfi8EQ}?!YmV^_!(wiM?OsE;Q@BCo<_5 zecjH-o`JdH^LAWw|LedpllA$rGba^4au=HQ!#sG*)uVN+|L(xtEc7rB65kg-EX7Lf z{VMCu$2MR4jp>++kiT)kYxY)it1&*<|7pA%hA_nkV{VfC1AWJFH2%)PAY!P zm9p;UcNbQA>s}j}oy{Ft=kH7y216~MlVTm?EPY{lyx`HyYOP_N}LP3e)stS0nWLvIzD#hq~aG~{fp?+ zcwCojJn&~i%sHNtbf7LV=n%zTis)Xc)82N97tRc(u9ctT%0 z%hBhCu`?$XKXMnE_0OTtDr^i=9bOOnG!%jlTOYeS&H;bV?KOe; z`5mABc4Iuh-FSeb&jx{ciDRN+p5K$b!*LEIo^j3i=Q3`o<6`XnB6p#W>-#(UEOypI z-=l6AH_IzM5dOXMVrn0^cd@A+Zrb!<6^1%9k3bEe0Zz}fVt5p1$ zv(U%&{XBRrwqrYgPw5#UK9Zcjju`k^flK~)J@4~EV;N!WQmn+@FLD=}^?f*B4bkct z=gCl#H_6vO^pN-Mg~qcC{mx|ku`?$XKXMnE^(K73{&wV*zfmdqS-WkY@*c9{sPCY@ zt?hoVyVJxi#Y*h`B7dP-|Am>e0bK5YF`Wd};e5T9y&F8`djZ<%Z9ByK?m0>9%t^(M zc?-=teQ^r3HMB9rXOwRMZ3t}yaor{mf0vxvw1PJ4)Je9(*K9i}_L&spu!%8J>q6^8 z!_WtzPe4aNy!U(|6vFdW``8xoxgOKE6ddDcP5e@<#NIFRC&9Y$>oWBJ2E=Edy$SLC zTOIM5ZECrLOdDp&_DvsLvd^R#hfR#}^^RC>;*Vv?@AF+bXML&jcjmeK%-h(RlZqcX zlw>^?R$`Bn_n-P;{YkVVkqe$Pb>o*}CH8)mbrJ7|W_ASVvvM%T0JdeAU`?{x) zpOL!8Qnfxmzj>#!KH+>_fwC^<;i}#*TJOdrAC9ljME#=u`rhu^-q_7?N|)vMM;`UK zF6U$4T$uKFEOdSDj5%lKwSW8`!?YcGc`*7mv9y-Tcsa&RzK};{UCzh-;)c(Ho5Y91 z`|qP}zv3*?F0Xf(G#2AsU6x}Wc~sVAymt)-IOIa5^ zW|d*M$hJQ2O;7G8B>zt5c&(o;8t>||9P`Thz_5P1!|^-Gw|TuO+AFeu>DM;=j9}8| z?`C|;csa&RzK}mXhnMxV4^|dp9(iw_;nc^H=g&T3tJ=oT)5c@GtIKlCBcIB;tf#B8 zVCp@AIplpgKKM3m?2h(K`%=q~q>V`#FUPpa7xJmB%lo=2Pve-sDW6lPF;Z~-bZqxB zR5d0a^&ZQL)p%Ez<(NlKm33KPS7n30=de~56BWzON4=^s`KrhJgv~j|l%+CWj&YMO z!`ekGBy*;l3%6z7^@vbh*F^{||>+=3C!^>%oJg4m+ z$k%V7GO_ey+aKnQPZ=-AxXBmts;tZVyC^gL{2h(48gR}$Y^JPNW7#mBwp7-|k7GqR zpNDyRe;xx4<=;ZxB60M4o6CxfAy~B1JqV5ZjB;U!t-(7Sp%5*lQ5htyISE4%@Dby7M7PwtM^LGxsN*r)Rxarn8w& z%MWt;L`-un?p9e+#muB!P_rn8w&%TFTTJeT74Fq=Rd zbzbv$z|T$0?-s6u*K0#-b+jgy)J$lNgm?_g(&{KD3%%m{ta@2xrfxEh4B2MnR&2h9&%R<-9AoeNaPxG>_&)x^va;fX4`YXbm z9EF(c#C9^4Q(f|@OlLElmLHd#Yu#Gz6L{`%A(UjRPOq1^`XUn|~s z!hG!KVP#Rx#S^umrpD5GWOsD0?SN^q~;Jov@gwvq9u$&jiHoiQP=4D-jxs=b^OjejrVW*^oKH?&2(CRe9nQk)py=^LyqS`X-w5|{SCf-k>+JxpS=(8JrCMm zUwGdId7TT@k>#wIc)gj#zTY^Kxlqiptt%_-Mpx%v87Eg69+rHwsGxL|` zWnG`W59r5SXq!&^k74AGf8Ra~)tTeG*beHK50vR_rqlA%uldk+OYzS0+)qIlL;QWx zJdWyKeip`%d2DtmPxG>_&)x^PedV0(`|y1e+d%GkFZL*O1vD2LgMQVc>+t^i zg!uj%=-Ldi{Ffz^*PgAfWK6c#jI(zvY46S0IsQDEZEwQ1{JxtkKMC>vKzFc@mtL{5E- zSy|U}8hD`UevjAl1vzg|_T$6%O>6@>TWiRymCUWXy%$TRxue&bd zQQgLUU$y{V*(@~Iw*GwhzKLxhmz+aoL35Dh0bZxT=i>+e9M0Bf6FK!UX5{idC~Kaz ztl9ZF!^WHBIv>7oVjGyVyOnj_*QI!%Z}+9T>?@kcsgE%u=Xa&dvmVczdpv&-p4i%j z$9~rJ;rk}GfjPMoQm!=z#sg==4{z%ytFCP~ky9UIM&6Zm<(!=J`!qiDsurKWWyRsc z_f2dAIaSt`^^4$x^|Sb@Q&|%^^)Y5;z0rTaJcarHbe%XZ5{nPtH?a+6y|JwGH)B>W z!dBh3X(FdS#*BHK51G$pbUFCBxEk|a+t1jG>{opFzKLxhxBC71;PcIW_-)W9i?CGp zZJNlbk1=Cj?}hYuKDasHzI=Aw`7INl58pSj4dnO%NLe4e9Nda|{Y)8#V%fHdocb6u z=Jz2;Ss$Dn{1@i)6R~hxB~Bl{Z(3KZa_5EsSf7P2|+an34BK zA!R+j9K4Bny9DC3ZhY?dz%y>f=)?C-YyAHHv58}Ps_kh1PK2i$-19#MYB z@f(Od^I1+uL%i2yJ4nyREAH2t$f=Jp!*lCFUx&U2eZNO1;61;~ISKkF=w#?r=yd3x zp);YgpdUf!LgzvM4*du8Gl;)YdKtv;e6ND8fv$&cfcU$_H$!A$9&`u9XXM-i@p!iY z;`uE9ULA)XgZMcj@6CD|S`0l4ErFJH^cH+nDdO$s(9#9Xc2h;=V0rh}-Ks}%yP!FgF)C1}P^?-UnJ)j;?52y#! z1L^_wfOH+mY13iEtr~VsHEom2Md3J&ZB0tNAR{R^DJl@v$lI25r z1BCwQCPj+A_pVWb^d?e9;t$apK`Lvw!p*bryu(dxll2e{Yp|yS@ z1J?3HfY$OvfcEkg0ouz~1ZXc`kwJU;iU959L)`?Wl+Q66q?C6DkWxOJQ@=Zal=|Hn zNGb0QFr|Dbr~mE@rPVhB?3Q;TexpOO8DO{EOxaj_1M_xD`CB>V6QivSOoFD=pLnrV zZW1)LyuC9q37T5o>7bJ!OZj-KgE{RDEamMKq?flxIFed_qSgLzdif|f$S5CYc_+b^ z_}UrjB+ypg8o<=@*6KM3tChh{f)n*yiErhV{dW?aC?DtQR@|dlrj@hZF_aHsiGNe- zbNzT$`N%|jfOD{+tv(Xd9f_?R0kmdlq_=+CSPZO{fZ??AIXUHMnDM99M}VU!Z%<%i z{HA}*%ve@A2Eg+61X}7N^W$0N7$Cc9Pq3vv_6^zPBdr9d*B@>rxNQJi`+4OvTM3?0 zpMz@so6(+t-uW5t6mw*JS-BiNv;G`5kcfYrD_j5C6Iiy~%r9FWLpviq?dO$q^Omzw z(^jA5tpb#fTiS1xw;C8uFYj2N^@mv@G5%KljRQI#rJ4VIf_w# z9RIiW&*7mYwVdH~%10*fuXq13#`2L?{mJEAZ~oc#zov{!+x~rO`J74pC(CWemlEaH z<5!}-_4qicymb^{cq{UgD7PMe6Xi2)$NxmR_4uDCZ=YZE9RH`3_ndzu%B|-wiE@kz z?`EWp4;^QgqvNrx`q=M|qP(^HwdHR(r+mbE{)iSk|Lo_drj#e%EeOyI{&oG`EyuXu z;G4AaVf*=Yw?68P^Ua(I{+rT1r)`Yot>UTWO#5g?`3TBc+@Ah+{niSuxovsXcwx^0A!qQI-$4J8b1A(KlYU;OeB`)_yCzjPlkl ztdo9Q{V{gmNx!YURh(YlGLK2WrT%!UekZ+_@^l(PJAOd<)%2L z{qFEm%Dcl$Den$1rF=N2|B;;XZn3@n72(^=pm__5J^PJmfw-KG$cwU+X#E5ClVf5a$mJks*U52r2-dH8lP^E>eP^ zA@FZx^8X(bA?QLG1QEe+&iSWN2-2+k-}!i`hyX#?8vl1bIL1Q|^~3+p$3v&NA!xjp zb3PG#AB9fyK+t{`=luVU#}Ej5Ho`gozhh+>g7U_}HEA}Mf_##k8x`EM+x!6M>YN`u z_&#(vpy(v$DDZ%#DOA=b4bF$qQ`CJ_2zrptzj_p06XNyT?HmX}{KA|c_(Om6Dg-5V z>@lYv40HX}j|&rR?$Th{TX63oUr^vJ9DSR+tmHqfly+H96Y=_%CSx!uDwe^VRg0La zSs1u6UX!d4|Ia_f8nIwXkly;vO0DA0HId0>^H#{@o4_3YwB(G*7YnV|K1;lkO7~-~ zLHWvBR&U-dW?jnt9jY|SK5ON(JZeRa2vpK7HCc<096tfY9ogk3cfLz6pGOMsZ-LfURemSvz8Lx!OQ9%j zR&jV1#CB`R&usT+2hTmr)bAV(_@Ogw_2Y~*i@T-EER+P%d}O(}+m7bohSwx$lR3z6 zx4(9|9QUxxl^NAGwWU*&LngNCvQHTJk^2sT3~M3`hFJMCS5u2|U+Ucw+IeVRm|5G%N6z z@?xKnpz%{1tUc9>y+t3F!99Wm*Qsa{ivF$JQx*_RHaB*BZ*CilQ23woGbVQ*eoEuXsZT|KI;AZ5;|M!jnx z%8EWUY{rWGrnk6ph}`}b&Al1KeinddUzQ_s&CP8e5w%+V=_mv{z>M#A<)O??Tvdjb zFl7blie9pSxPa5Y8@At^CdL}IJZ`0z98hj)I1?|1`Wl|`pJ28}rEiM)8tOTS)_r?( zt#Wg zS|q`wH##|Byz2N zjHaL(3q|45G3OMVxhZ4{lr8T!03*k&+~c5v&*T#8J$8vwPV#-jf8rZjZ&*bytG#5z z9mt;Bv0fI@D3xWfnm(~w>DE127M=K1Zr0=>ZneEIZvEZ{c6$>w=Q00kn!9X&=}8?N zBNM;)JQlLymEDPczq{$1_sva)FUOIiG{5XCn+|R5Nn5)VQ(QBYY9;J!aO{uW({myj zwa4$Q58ZnDr(G6V7r`-2&gw3nnt)c%vT`r%fvPZUkkIhLQN zTuIwv_`-UNb&TbkcZ5+B*f;FXYGcg$l^FD{x7@GXCx1+t7dGJa(&Ejwo&7FMSDnnWZTmf>j!ME>2T z^>xFLOLuUIz=%q?gu3#~Xr!)Ocq5m;yQLRvAhnch-dn$wXZ7D2J=RkylfI3Z5gSg# znJE3yMlmXx$neC78HHT8B`XAA13SbNqq4;n$kUSLd_@9S~3OaQpk z71E=aKSId7&!j{}%-d(o))RQ^K|%V84woqeul&w}G|VtF)^@~lg3KgW5a1`KWJQ|u zRo?zRE_)dEXz$w1+#I?nb?@*2&wXomW)pM|r!z{==J0*0%(r9??7NC+`LX2s2=q5n zU47LTJRm9sytyEJ=0PqWdGazMiA0^JBtnVIEKx)eL1LQ)VXN!19SMr}`S`SKw)7C5 z?pG`L$TD#ObtF38>xhhSC}|6v@uX$^n|FBU>;+`tWS(vq>g_TUomG1F zL-E8Q!Typz%l8n!{gd+J&}k5AR?fV7X3U}Oc{ozX72aG8^t30Xom|u|@8vLkK#Kho z)6IE_A9yscPCe99R`xJbi?CWs^H2eQpZ(}a2XBK1hUqC#em>q^5`={~siOcT{CzT- ze1{@-MhBC+(--~K&qF=r z*Wv3TXs`24<WCKkH6XFC;RlS z*}l^^{MUwR7Eh&(`ilA*+K{S_y=sr^DbJC66l{cg58|mmYZDoB*;2~CI5B0xXd#T^ zi-_6ejIUcz=@KFl>Ftc?LB&y5)F}o_GpP>wUV9*0+k9tmg=Eanuy6a*GwfB2`Fkst zP1$YRelXpth26INB9qA)3giM*AJy>w8vrn!1X~|MH9XMPWyD3>-JB9jF@t9ISYnrC z4R4>JQcv<2G_^{l`y6zB#@_5St&Sgf2*>J{o@aHvl@EKzhrj&~xQC7MH zPI4z^l9~76NIb2#7_~}<;+QDCIs7~`dv{7GUyqJorCLl8s|<^@02p(Ntl_{{A{ei8aYDna_6KRYe7 zX+euvfYRL5YUyyQmCW0#iSZ?eb#|P1w?KRmEr^yME*M$Jj6j{hV}X^7#h#e56p-hh z%trht=S`~4@*3dHvK3eXA1)2e-O=@PVavo^4ZpK}*XvmB7`*e76SiXof<)7}b4v&C zu5{;(=*vuyg$07hrfQyjM10UAYh^_;xkDZsFB0|(zeXct;}*>D54l%!cARM6DD8Up z=HSYPn783~9-5EEa?62x`&Z<7^tO1_BezGUm4p#t6s4RYxkKW_4hOuz-{Ol=Stwj8 zsbL0nN+2iOg(_+>UL-9gP?2%$U^o3@T0#m+Y4%LvcN46uWYV5g z@mXJW0hN|_FF{YBMVtq{41-7RfB$V4>ZFvx$5%@HzB`L~Szn29{0-lBOO;ch+%r$_ z>b9u(vDY%cW)h?|2X8k&o@lp^kiH3&Y<^Si}O?*OvhHaJzMZZ zNY$IvvA~TY(oh=aBFJK0B@vBatI96=Ha)hC1ERN>icji-Wx$8wapFZvCBh!EZ@J7q zN>EzUU-%~~e#v2yH*D?4{xHIf<5eyB$pHQM!`9p}CFl;kngZWd4fStscP>(T#55$7 z(*r*cOhbag9TEbR{=_UD`Y4rik@b0|mT;tE%xCOUK2bl^IKHiM174Mdr%93+nWT@e?Z{Oc^t2$U#cByFCL z1|DS(o^8dHBe7o{ocBgOrXpwruUPjIDEh`@p#hUy+%;u4>7o|l8RtefZRo3OPV`=C zJ`%5hqwlT@loWY|P+T?0 z@zi_XU_Tl5J^kz$XyKY`(J zeU>ni9gp#+Qe}|mIT#mu(;lhrHiHxx6EESqc4Oiev+Gk;*G{!Hit-9A3aRl8H$1P?t#?zb`NCdZ%ffeLin z{UVgeK;hPh3Sf}2Au)q6Y-;{7!|RA(%e*$R+E?nu)mwzh0JZvO22Z>8&xr4;Z(L!| z&uQr?=U`jtVQE+a$}M3e3dyad%_kJ^-z%_oe({Zo3~p`K`G*RX=7JWfyC+~6lMnTh zjLTHQqsO)$a-ct4iY&S)N@;A|qA@-lUd0v{ia6d!Ph|gi+-XZd9$D`;z|Cym^*%v+ zt$RM9GRe8t@E@-aDfvS)S53R_>9MyI`a|N#$t+H>mqv7ynDxFlh4lbRV1PxmKv8sU z@xGT6Z%e_{(A76z@@DRN?XL5`C3Io4x|&H9&Sab3MXv9>*#z1~S%-442~_!QES4>-XG)=9_{GvgaLbQ;;>Fz6se(dg)2j5^lZAw&8$xmozI^FMNAav6 ztWBnM?^Mg+uYnHkE0*@nwzppLteZ>EiWC+@RmspC_X+fSEz>la)2tj~O=`Ces?+cP zbgUnhxR()7no-wZb9CdcWOXBFh_>-}6C*U3sngJ8BSA7g4!d(hN52)`D+kN}h)Ow6 zDdx1~Sj<_8OwJ(sJvm#!SMczdW^EakPRI|#)h0ifupue$w0*rv{$HH5{TgS`WON(UzU5tE498QxMl0-4Q5XL2e2^XG)n$~YB``rXrV={&pH`-c14tC`hpzfwQE{CDMPo~KX3veWO& z3DBSL@ed!)I_qZc#jU?fY`83T)NJ#M4aOn8Mmmd@wp2)i7g8ZItgr>{kEM;$NTdp? zMkdDJQ+0v597{1-%XCWp5nso_{!gJ##iPdenD#$IHpLD5?^~WZV8T$Ii4E8?ryI4~ zaOZyS#k=c*az@&^#~M`eayum&ERQ~q=fvrUOpNGG93yqugVJ(aofD}TCPawx7>Wuz z-mdn#%Hic;(}17u$lz9*+~$p^_zdsi`%KJK(0eV972ijlHeA~u{OPVF>CUE8=GM#) zF)!~5Llg2EZ3ILB(FIdoHks@zZVJU}WQ7L~B^En2e77q+9DTQ2D(&0P+kq3-@YKD= z>_>+*MmwyyS-e#bqt>G8*m>U^9d7IpQ%JCl$0L|LcE+4C32HJPZr;sNLc7tEVBff1_7MrhBY?98=U;PIp4C*6;8*Zt$ zU8IGtDnxaBTDYHjJ%KBFySczE#wISN1d^?T_XB_n011sR8ZQe`9TgN$A=YlyI#s`3 zdI+~NGqZH4Tgt&=zUB*UMVK(j@3eM9TF)~XfO;&v?^4B`O7!CPa`}|?=ET--B3-zY zwS9{nyxd*8Y|bauf0I9k$6+5zgf(<{xRGohMRzSFWh!GUA!_||pdY(Ep(%2~bn=$L z>b9SP#R}{7=fXx>NFl7EJ9deC3DS>+;iW;P4--?x%)8~OYI1MdU(@)s6qY)|XYX`l z<9Q^mW+g`{BQ6D=R6E!m@7_z+crOi5#~1JsTttCkoy&bxPgLB0Ryn5HxYvKBp6hi@ zs90OyGwwIK7v1+Am2GXS7PuUsW}3VA6k~9>($jT+~2B5&;_0EgLSwCxhviZL5q{y7FRq}1KTHp$H)8y;rpn$w!6;hiA{gB7TY`TG%x-tt#){DW*)NT-z=a{pd7rNp;wTx+8M8!Z5Cx>3)NX85h{PDoVEZW?RC#^uD+{ zkBK-rxjy*l%99Ga#B-WiHBw7E<5q)BM&Q+-nOkmjHSV%|8hhzU)-8Q&%XG^VzY=og z44`%WTLihouM^bpuTpLo`;CQYet+&KdsII9hfrMz_px>vbok)*#obpgKR=Ik)?q{JQ4uds>JHDg!20iVj)^Nki3g(VK zp;rPwbjAfO?Y8N4jKUi|C%unpmFmLT#(TzXqCAF=dy|yym6-AwM2$feh9#w#=ew1A zlNbKg!A;<)N?o`tlVwvM|1ns6lXE1BtKh4tzy3(hdG4M-`K9jQPl@(s+ecJa&vo{7vMU4iiflS+xZWs<{R=3A zOaQd2;vhoQa*%J-H^ks_M_1J}Th_YjmQc(wTV;n!7qMmdd}4Cu+r;R%i68EWb*&Ko zP#>=yS34-TotG^t0+Ydru7jt!xo7htnJC4XlyQaEOe5=pUEceGZ5e^Z0l6)Kf+lAi zhh5Jjxrpc;5 zi(~#4d=-7opkB=GO@lc;Q?=FF{Ogz+UhfGGNmnvs{ysrVo8lQ3Uo+aV_}SZhb(2CQ zKD&SKZU7+k0MJap40n$&B(jEo7Rt}9ZCg8{a;`6G5nAqh!I$S`bPxcV*Y7vw_01k> zx%ZA5wcE&Le`))eMOWg!IL~vIW{;y$FlYiGZ4MSx!vX`G5U6$FotdKzM2s9|-(;Im z9y&=slr?*|UurS9wDlP>crw3HJ;WOxOx0ucY-^^j8!dXf3c}C7Bz2z|73|H?PuT;3 z|KSAm8t?u*35yUR)m=(CV)=wW>d~R3)2t~Txp7xhw{O8Gd=!}E*Z-0j^|#la>kz!Tq)bQ!=Q{MboOzuFsjrpwj?=#<7Z}b-ZI~L?200dL<0wF1s zHwp4-P`(86Q4B!Zdvn|;O*`(6Gpw`uyccBMXGU8#zB$j`F?o8^YC!WQc3z`Jw6PIfCYc>jyLk*++R}sIV2jLh9l#c?_xux(F2<<|Xnh?lJlk z0)y zjOrm=I}tztxY%N5WJjbRlKUX~>D$W?BEF%nAms*PWJmZd7dV`BWATj1`d99-GlM>O z*JO`BElP|MR|346nRm%9kpwR>_up8->7fX`WMe7;`zu`op}>RAid~iji%|YD*zA3s5}`O--W%Wi1gfpi%aM6GBTPuSO2|#*h+BNtR%ql z@noZzCE+^K6`A_d96}KkvPUxo5b0HL%eOaE?#VNYAv&f~%+~=~u<|$s^*?)97mSmrcPPy9^1Q3^2DfM0II_W=^-I$vZwGJGJv@8V}BuI zaf3>^_qt3ZIDpWov>LCLe)?6KdNFE8 zzg==HU*p#q}!5jbpCsegiR_Q1S5Gi0QNylQS{M~I3Cp87W+Uz#In+rNU4>gi@Q1Hz^;Xg7_Qf-HreBlb3c~zM=<%;xI)f zS!0|R&*5}9bQM^pc_JC=qfm~9L%TL!9Xwk6OlZpN<|h?*9lf_o50E@Fi$Ec72lp6A zE+9+g{$@cb>CZ932d8unb7K#2mY6W?PMrN0(B5Fg1)K(ep#_`W(e>BxT5V$dk2s-c2e6#bbvBPvgZSkg^g&Heh6I z0mo@=%0aRZG*3U#$M&=nS7(15t@@oYX`ohj+AZqY*J8*;lo8GBGIN`jcMMl}K2uSs zSe^Pp;xiX6+!3XaI~sYxG)R*~@sOsHh5~a1IhsV@9;6!e_)O&akd;n8{=D~PM_85a z#>(0CALw@owlW2oHZo62d5DmeIdeouK?Xn|MI_*OhCSD&)cQXmM0dN`0}AflA{>;> zx_b^ih}VNg7pTd%`B$qCMN_MB&gz))g;cIe!61+KcTwAlp-p+5kV(Je`0&*v#TX4jk9$@Cs&b0P$ZHi^VlD5-=wjBK|ee zU5P46mc^16PG(DD(AGkzWILh>7DKz!el3JEKN3|9qxNoj zy=WvCD=MbBXODcB0l`?h>$re^&^qFzMBxuc~?u zG|kABM46pP*GAP7r}*O8jTYiiz6FH>M5aVaB8JixQFFJy9}=K~y?`|y1Nc(mFIDMm zg=T84us*9;vRt`k-f#czKtTLDqG(r6eIV@i#Jlc0;xMEuWcgI;lfr!i!kUd9+d$Ai z1?v{S`yKK_Kh|P5@a$R&JHwxtM)Wc~v}PIXRuwKX&|k}yIj;5T8Djr=-1LLy@iGNQ z|K8ISN{>j!eb^2?{7HLkD^jA)lBR#~mI)Dphl94ibbB{4_FH@DeS$*vb+Ae zf0mn9O_W6RW3Qdcc7K*Wr&a| z;|?Iqfd~Uq;;f2)!nD*fz zxqn;6)p;GcOT%LOOD$jSdMp*R^LeLVlBY>h{t9Q*C-38xCeyq-!r0>m!fX2H;0^t1 zb;n;!8ihf>7C>Fh9A}vXZ;F4DnEE^!kR&`X0jLqy5&#~Mfc8WB%dFR$vIv0dz_7m& zBZXJq9Ab83HE?w^ZB4W2;Vkt1pb%k?gL|ck-1T9R{iV3s6dOtI{l9pQ-G@F|P;!LH zh|W1U6kyMkI7alHypf7M83E5$LlQ*$Yxw27J`-Bvw-9#-;_4XcyC|-k%pot1xRzZ8`0)zrU#x#d^zYIlh&iQxmWt{O zlvG{5v3AgT9u~iRAA9krX4rw-{P9GO*7MHY%&pMvURtjL(SwtB2a&Yvaq%GS{goKA z;ymllkM8${EZ?e)mRWliB}!O(lW!1l*qXP5@^{hoJP9rrASFwRqoC6TD2|ej1w;v% z=jcO@la8(DQWB>I6Wl|xPb+yM7ghCC?_=w1`5(`U`fD9ii>~}p-}O`m*t4niNa!3og}4xrb@ z$pAzS?wtvk7#)E(e>KMSPq!D@dlOP(UnRUk?&zHJn!bQn577V)^ zaAjQqT-$$^ZV9N9WroM;pc!LlZFZ;0a|@FM%A;bCJ_2~!rfcN?R4o$rLvJzbt~|SY zHOp_EKAMYHsXB+tIrKs}lO%FiBw-d`)P+faj@Hiy|0VZM;j12=%>WwCR|)CuBJ+ljjvn>8rQojvOj^un1p2MxN?D}VdU+eN>}#;4&8mz!e@bCQ3CPBrX(+k_?Q!Z-jZ!+D!A01!6(J;|+WLfHR8sY6;xi^U=!TW2Rr%v6jlk!UxTt0cOl|(!T zD+1dClhYQfk|>nXdiJQM)=-m7duXh|WFLQvJLqMvlY$yDCQGQ}%>714fE$w=#E+~w z<?iM7RdDF^uS*lXJzGZLS?ZbP@ z-X)f4llmX^WM41+-DyI?nZRH$5CG~^rc9VNjSp4OhbvZMTo%;~J1C3d(~<83@Gdo>H4zyuRKxb2YEG=nYZN%g`J&^qZhvYmgcHcuUNg zUgdy&EinakBM8q~5I_9Qg9rg+@Fz=bQaQ!s7CgK(yWVh!n|OXlg3%uBLjtjq`yz|qaA3SUu?i6L%uixqBz#Ip{8rw0DWRcEE9VH$ z^RPSO(MBF>iv-EHgpK||>sTO|%Rs**!Ny7)T|ExFENJF%O9i~%5BC~FZp49=6GSr~ zc@v|<#O@9}uaD8sNj6x_dpH?F+R@rf59Gxe7qkzXCG6cTE02!tA3EzS#6G*eS+2o@ zFIRGK{?mcVB}&ozyJ84si#(-^5-5U#sNb$YJa3QrepzFGj_q1)9)7myJ{&*6pfS!-ITZ0Vc^Z z#bB3BCyKeG;m#Z^9&>j4o01?cDTz#n5VHrD9`YLNhsLj;=u7Tg@M-)i72dIB-7qR_ z4qg5EfwVYxJ}7BtF5l5pcH~*<=ntKm$4_1Qy#F|gg{;AlJFit2p3W8-rn}g4M8@qKwqll&O(IA(1X!AV1;R$gH9bQz6-m6KNx63YE zIQDhDy$(IqurU$YKlZly`^80qj4f)-!lp1n7(@gl%E2X z67T>jX`!ucqCj4-M=}xUnWWPudB)s-=wxp)M=IAQ`^pq-0J^W50xKP_yrRP#Oe>&F z)_mAD;S*4rGp4B3CaLfIhsGKlUALVoxZd`Bi_7unL3>BY8BP&K|- ze#S9NMPl+7Z_$!P5Byk!hw`qeKX1gb-yV=otr1A34(Cy`|f##>gbZ zc(3rb-+}^n=*k^Su#RWd-my-TXsq`ItYfq(cEAkda(|)^_@DV4IbtX5{ZoSwT`HLY z5y4{I7OtQ&?+O!Bso);;8QwBFv#7F+0>CRt zT%C>*Fpm^+@hQQyYb3@Q=8@jk%r$wr5BYf2^|Mj$f6+>PBZ`6h&wT>O9ogDEk3E@f z-AAp`D6G(PtS;Ue)*4rP>B@TOZ%^8Dp+LWGvLy#A5s97j{dgc-laUh1ihHOvF~boD zxDIKE4q_7|*+>?dHZqDcx8-mGZ#!WER+$4?GIM#>%7Tdr_LREhQ;W7Q!|x7mO{kNz z_&%1)E}}1R@%ND*V1&$A?s~7^AX~^R;t)u@PyQhQ1p! ztecz{kUW#jxQc%jMB%vBN;ZRl>J}k$ihvnpN3L)Jh5~cQuKMP|pS<{&(&Zp1%twhFVUJvy9 zI5q}+0SR`A+JL%U9$|2yTLW#eG(!8%Ap2+82jYahdlZ%{@7g@B`z54pGR3D|M+T(~ zOk9yjz9}UZ=>@zfLB#u zgihSjF0$v+TioJ-7HxL#l>UyVwcrnqG?8zK_|1q%@4J_}*b%bLGy3|Y(r!nmH4*4P zC)a-s9Y|^^n478X*prq(%c%7JM3a)c^~9r7%>Ci|06uegFu!=LTSS9QmWA%nbDeygZafMx27B$v~K9s7gvWgoWjjFI^u+wq2q~+(f6vSuV3MF zlhMb^eRGS{3>RDV|8g>^0k*{xc`}WYsAN;xD?J&;hE6z*LOuyOaMd2_!5(^uD&P1$ z`1ss5!>doknq2j9J%?}pOwPU@DY5F$>STq2_;e7gx`^$w1+<)GoKhF&!o3?Wu0n4~ zVVd=B2s$k-*V}fd$xxoG9?x@WTz@M6=^Aiv}3AKRd?>0JzJG=orCTpo}{xxO)jmg7JLzmQmu7JtHQeYO5#b zJQuyDT*adx$coe$LYHGPmQmcOyT8n-z)`RG|!wOQjFLG`IYE?aNcW+Kf&k+1m5 zSCtXT)j5~dvpHDKkM28#C>E?WM+Mmr&$N90R z22WImIWuUbD7z*-&19W&{D2AcNVH8{e;)D&53;x@Iu@I6`cCeI(#Jcr&H38-8*wmBx(|rq_fBxvjcrHN#Ey*m za-EGkw;U>t?`kDTXOS|>w_GK5ko_>Ms-Vw@Gn@gFg#~n3krl@^==(#UsLqE=)gZL2 zFU>-|eavs;+wLQ0yH;>F4NWLSComc%SMwzIhsMk0uT zU`WJ|3PHpru!97ktqR9aYY)X19J^<7bn9xw?|^Lo)$hl5vbW41R*z*ENioIjyu`O# zFmKx>$|wL2%D3*L=9rOrkdK`5=z`hfy=U0T#n;$3ZYr`nZ(0{ch~ic~;)nQ-0s87> zT&3Z|YzO2+8xYtN*?B&)+JjTG7QfmfARDfOK=nX?9hf6ZILjx!6j*wKQ#JIVU`l%hQ4fM+6sqf0_56E*Ytk@Y4J1U%j@36}m;Qx12sNvMoDfiE%rmt&5Zy0$- z{Tez~b+P=~f=_+Qp{0%r_CJg7Ga0vS#SW}M3+$fuX>jL{2c|S?=T8~sb>nUkVXIKm zn9m_zz0-sQ-Em%%pBfv~L?a4TV~+P8W1syZr?5mio<^hkBuloO5e^MtqLlrC92W4&q^fd`R?cukzmqs2bYN&6s`|LF;{JwYU zag5f;pElY`O`3~K0j5%D`U`KW+SNbiKl*SBL!;01f`G!2q7+82(K2mn^z6fZJ!5Q+M1sJLMKuS1>fM(038SvG$`MJw1lKC>BnANi%~s?j67cZv5F?I2XIJYQ4Wlorr!}pj%K%1_-9lEi>?32z4>};EusEP zcdVR@#_d~MKwY|Yg-09J=(k{Iam-D_uL+CnY5%pXD@H!XQBd9MSGLFRBQ24Q#G9MF z^rz+3UwxVR<5|}~Piu|T;|@!NfP)8w5;0>1*`ICy0LiZYvfLk|>oa)XWHuKsU%Il> zIN~sw(N8-J0t(pHcL2k4@(XPAt(WH{vW#pm#l)Nx+Qm zbOB66?eC9Foc#KEquajjuglytH5m#@gcOmS5}wm$G@o8C;~#q!mj4hm@f2!nwbT51 z;Vo@^Hh>O0aK*ZlJevC=8Xvsv9{lrU=gN-wrxHvXv4E)c|9pXTunH*b7$Ufxb6dnn z?oDx18UE}q5;H>w{9pB9hu;7G^u58%(bYmEzJh@*8v;%{s)?eQ@fHbKG{MH|wt_K!Xf~XRaTTYvC^Uh}r<7(v5PecCX8rn#2HUOaSlG;1~>lv8fIhs@@wHaJ((R1 zHZl%?RUm2_>~c5#gDwU!@8FX}VyCqRM$Oy=QFoUK z11ETg=QmE<6G2;_5bWG2yFeV@{{2{gZO$I|HiSRLx%G1{EdMUTELcAf?1%>1RB?WoUWZI z#&K>I3A4H&n26cM#>rOQsc3$@R{)B*PD=;*F*)XMRSEyH`Cvtf-eq7s+m#evGuQp; zsex(h4V1zQx^x;zd9I8a3#rg|ub%7cF&cWAWw^HOfm*MstB~GD_+$OY;iZ}=c+INvU*#Y;+6XPNi zSw?Wn{l%Xh)Z<5+Mfw&+sL)FvDm3=bF-u&U{txm%klxO8EtjbjxN{PE%Yt;@4h&hISiZojM@P}@54_)5>Q!I$-G`UqK( z(gnsDD+zc&#N7_O6yiBLYoWLC23Mi;8boWGJGPkH)+m3oO|pX^ou9cCKE*+LWM~BM z-h!{N0=gR5M6d#obnbv6Yj{b;aGKqDXX7Xl)4$=*M}b}!5`Y1*<-iSs`*aR;NFG3; zO?dQqEQhf|Au1F4#Mho{bzE2Aki?SEq}hapbjRrY)thSne9)7r5QZOYz_S{mqCcK1 zZm(YSPW!Ys@Ghhk>lqhdV_>ceZZ@NAQc7%wd(!i!b!2>p#rlKNI*7x+uf&3Za_2^-| z@~H(Y%ak{O^ME;8@Y{<}zi7sd5PP~ERRGIQc(+bkktD44_;pk|>XKMp7y-6YodeyX zWZFhb{6*jLx4Ob#RvwATL`26j{RU9{{KPn`^Ijx_G`5*2&TkJknE0%!hV07I#cp{W z)D0I?9#q%vGmqb*2t-C@MP>n4CJ#CvfGY0=dI-WwCQdvHPmOui{i^!eX3EaWp4Ad6 zOfTX&0hnFpEm0&wSy}zpbFhW57-3t@^n7*o#XTsWu2(;hL&yvWru2xP=mLa}ANzQ> zxq!mJ6cqSG?)xC$&)aW5>|?EXT$*I=7e#m>I@Tw``nx%RkSoWmw*_OTKqqW9AU->; zDbVZP_omLpm$t*kmfK_a*dK56rWM?d|M%OB@ty|sp%`at%La6Rx)l5G{VGj2-XC!9iJ^2VEJYqxjSe-O<2DU6MNXz=|5h)CmnM;a{>P- zUL1z^;ZVdExQqdPS4Ji;pc;36FKDxa10z1mJ=oFIe0d`k;{m=2V0!A^ev}vSaFt=) zwZaO({)?gPdMDUx=dWjbZRK8xhfA99I;zpPo^-q<@prGxk>fN|rt9&JB<#64Hrh(X~qK6SX(PKQN_4U397!RF-nYsH0Q_9d3&PE$0h@E@AT6Syqj6>@Eqr)A{%@U-kXXTi-lIRXPm1Yk2; ziW&102sxq=eSsUfMV_u9uH)ffh9kpM2r8~56WS8kDU8Dc7lmuLD1oP78|MNP@ zbL>wqcJ6k(bneB8ZR?&j^07YKZmYa0;-me=q>^z5v>6=o?Y#(NM`W~nAq+b@;P9|3 zFA-AD+5I$326FE#J9W|dWVtSz8an|x3iThfhCUrc4giS-P^kcORAJ?3Qn{hGUtN8;9;lNb z0x%v_C4)ZZ!W$INe)^@M&LAcJ>z8h0?(B#W;g4STWwlNkMjTGWLX@tZ$Gcx4gK0>b zo|L1=*t!aA_@;=~pG-Q^j0f27WFIT;wup<*>i{(}YiA{_Gp_ptS7*sRkyzWh5`v zrBSM8lXLX5R|zTKh)cmjqEMyOMQ(7$#2ngp4{eoI_@OC$|LatYhP&ZSm50$g$NiI1 zcRJSlz7j5){<9sw5%2zkNaWNr0=*i{?qFjFAlr$M9Ln(gp`&;9_cO?mh!u6>h}elQ zk-SQ%b@>)uGVOk1(pWreH3denTfwfL=b;@>3E+jxp!aJ(^9_vcd>;U9oZOelZt5pr zgeirDpHp&v{P26AnSrDRMmw+vu$GdgX2!baU-?<^)j&n+aa|wEr~9JBihz53fTI5N ziyv$WSU_7YLghSB#JH_`qPy$P{4%3j2u(Jsw|!+8)i%!x3yUH`WD4{>U+5(CvfDT0 z1%a?yC58v`9^=>lV`K8-+{TWuMd`VaJ^aU;(l&&=blT8wTO?yNx%Dqaz!{l=KR;+Y z8Bi6xaGgyYE7kcevwEe+P;Ic5+r+t!C+ey?-F-i|1{g!3m3P#%|4G`Ix`;lNO#8vV zcx+h_Jyb3>UEY125w|NkIsy8$?TBfEJhA8B3!Y3X^rHd7695T6{P_ZdcAP%R*|vHF zy}JdlGknyJ;z4TX`))Tb;}dfs_~pAI<|5ERZjKJyTEHcM@PmCFl!L(8v-n63%2jiD zS9icy{M&L(B)hQm2F3X~KGsnI;`mlMGU_WH z+;N)Zq#SS)jJ%^JlQc?*%HAtxUoWPvs>~&5`T#S~`lnj%OeKDQ_O~4v#IRyTa%j*d zQN;1DVS({co`%rn5LTtHqH62Y`ANR5Jm1<+J&d#T2Bt(&5H`Rx1gvP>&@6=(-L#+t zee_L({<+Sf@hKEgabtmWAM1LCuy0oc55`I-LHa=lL3O3DwjwXo-Q%zqj+i0?Y^(r2 z6>%c1cRntDSZdMnhhSxx_ks;=<2H;X3j91AOAY-YW!=?7SD+b%oNcG=m!b%A-nsQ1Ff`7oo!=)kGKY9H`fVvb91ro zq!IhG<%}jbBH5gjEaR|U_tY7{>~JL<_S=v;Kfwd`$KYMtU{Hd%TZC(dYF@K?zip&}PCDJ;#nBO1hyKCd&qv_}F1A2D0Xp zsx8B>U&Nl%hP-G!VO${Ks0`VRdZ}3q1DmH~Fl`H=Fqn2{FB83SjEBOllFxLo_5Lf@ z@nf=p)aifLq_2cXG2wO}!{ITvF}B5@KQZMC7K$_O>L(t@#7Sdz6Arafpl9P;)Ov<0Bj`C5tdgo&n1rVC;jS8{D~$=+i3 ze)a%3Q|pDd#NzTx@z}%1@L#`Mo_Lhb#-urY4aT5@nbKqq0|XN&l6=3I7=ZEF@4|xYHWj>dS?rt*XH$6Xmr*MF zD!s*j*l)Zm=0J}x#`DYb`a~m}Z|vh6FmXf-FYY*7{4Dbbi9~`HV(_t0ed741A_*Lk zn$tcxZ(^^XA4Pt3tYfft$m87VOj;}5r}+bSM*rAlTwR;q=c5_wYo=SVpeuKB+MPL zRK00zih*R*YB6vm{fC7I$n!xz_jHSOU%{Z6w6{`na@mb}XnwNB$tb{0$Q$9_z8 zr)CKsO(4v&S<+;xE{tx z1gtQ$Xd)|>$YC*p(v}s4!)ljqiYtrE=-712t`mX7PzXONP1B&Qg1dA%s$H1+iKO)o z`&{Gvi+ZB(&-K^R-ls6t;3=6nAQ>1!LZb%-70eV~e2duESV}jhR5jagEA?a6arqCuZ2QjCvqc=xK$if_g|F{= zYsRX7vN5+u%$Gb*D2=zktF2^h(DG~1DfcHIAZM|hKJW)I3AiRY79`$XwDT51g|c_i z00(k@sgmz1ifRZ##!cArG;mehnEyu`MgZlrI6m$l3@lF*(({y)`S#r-^VSnSewC0V zc@T5}VD60rbn-E=)LTT3qG_=cb9Q+5@UhL9jqje?6L&4dt{oq^tU`Zz+WuXCfM`iy zLrw^+^>2EIMr7zptGvA=C!x*zaDKfrA&7y+Tc`=bUO)2{^{et>X4Kz}z-+Mu)(#4W zpi|D0Xc~z2IHOLvxOk|J%U%B+@e(%teiKg@88I%5_dkM*q42z+b4nVHTZxJ-wofDMzlzS?#tt|e8 zOK`ICNMf;md3a_EN?C-B18f91HLfamtK6C7Wg>0c-(Rb;{RlIKsnda`s;jga`}P!L zIDt{tPhN`{n+ojle(lS8c? zaD7Wu)weHWEFNKAY*>orJbN&adRpfQ8|0LhAaBM}X+Nri_wO>9a1Qp^aoLPrtKyS{ zT_f9zC27dqxG0;@k|Ue9kJ#}^ja z_lo{NE)n3AxZa5Ah|`rZ5bW~5gH%ml}h-k!tQ zmhgN$4$?O~MvS_J4L}DDY#X1;Q>&j%QrY;U*N7Am4vNZ5_2Nl~$`@u_mzl~EAeT}k zNzrnMg_LN2e}O^#YaF?4;vB>-lIWkML?}{qBrN0I!FvPgfX5dFq9+W!V26g5V?VO1DYZ2XDqaQ&_}lwCiSts zJ_LW&YY!Pz{jO!Eu5S-!i9p5qc7%)inUCfkLXUON!hhJbIL9iF@tf5+dd0y<1FOpa z!oldy?t0WzLzWQK?uc_P6g@wGfmUJva(vi%kvwzx(<8x~jmODks3xzf(9mMb7Hv|4 zUf7tE03qx|OX-RYM$A}7`}m;CVoK3F-5aOQ@$-{kynklIEJw*IfTk}<$oGMm`ZmL zTbd=(6o%R2M?|)$1CfRkC+C2UHw%{4^4CsVzm^37jEZF;yP8XkxSCVNt?X=&Q((68 zy(N4-AJ8yZsW<=AL}uH5EAwQ*Q+K&9Tt0e6+}83sdFzsIvdJlpwn4omv$N*Y@dYe6 z3wtZ??P)T2_hzUX991m0;!Y&Yg!~9G2sE1;oyc2wb1m@dRU=MTzsBQB(}KXrvsLLM zU;)dy$o;!+E~q12AQ?05H^sg$J-2MmH8q(_dFm{~2nWV9CQ%oHCqs4o1-w20eT(VJ zRmYRHp%4h}?7MVfjDRAkj}ztRAKmGS=l=c_WXPLLa4mfF?5OJN+8g7XidI7US{HXo zO{zJj)p?7bK1h#EK?!Jq7#?~HdJfLw*Wsnj=0fQ&&d9rF%=oVyl1NfuE}N>B?53Wiw4$K{KsrjPHE9bpM<*LZi`on?In|ASFvM~fq z2!#WSgOmzRcLSolJ;$VZpaBoinv4UUUf8qb(ZE%@NMEoi?cEc{^>)-_sGCU}U-(Xk zGfExUAQVca?DOWunz<$Qan;HnTVXgekE!)9t89;P-A=h5LyUe*HNyAZcH)~ac~N#{ zd>mWRYR?-~(R0*a^GPNP5Yj8`8wK!5Ib30OWChS&uaBizG)s)PCdES6VQIi^LZ31J z`9PnN-{v45i~=*QWiyruwz_B@)Vs{Z)q{fevC)m-887{~@wSi)Cxw^fO1AyH8_@gk zmz4mfJgtKR>!@pK;{hAiRbVHONXnNmJ~zgm-B0S7JBWV#IiE&^#WLsKRtVCMB#?+F zOExWiYnE{N6;gC3=qSgj!fc4#|K7i|#=$pO)7j+sEUBWM^E^vK&=s3318 zdua_HZzwr3ou6JuNZhN*Oh#MKP@gdW1hyqq(g3(Zwcd)=A`zQyW_FtTbS`j`PbxW+ zT_)FqDwql^$MW=wE$F9r9{=G>1`_^N?(N-Qt@Dj0GT)!oeRQ4Sb=zXbUU(;nLcw4& zPpI8gWIk4q*TgS=F1EK*gBDC_PmJ_JM2AtX%1lwkGhmytH-j#oF)j6}-YU6{H zlG(;LZ`a;$+T}WK7}OZvEakw91N$cM(D-fC6$Je_Wp%o9>(0!Ai{hs%t(Q+Y?aDoa zKi{t6*+wf(-%GAaGev93VA^5AY2_dR@}v_p{SLRUgu^EJ9i87UVc#ZH@P@sNyfP{p zU*RK)w3!N)jP(Ti7mDHfoeQ551~m=TBw`X@TicH2?;V@MCITTlDh6)81us6<$MB8G49~1xFQ0--ZfBumS&A}o^Ty-1B zujGM>&KAQ%mAlI*vuBr_SqO_TO!|5=7UTU!j@oEb9kkvzW6C+I=%&K5cV<)mT`$?Y zJWwB@(1h#t^9CUiiWk z_*i2KK#}{~K8)Uf7xzwzptd}iH5qPWIHgAQaGmSdWO#R-G4jmbw8tw6a5F9_AQMyQ z24?u&3jt#vlXK7p^l2ZBDK};cFHhJ~yVCeb#=gD<{o#hUpKg1w+f{UP6*#h?;z9}d zQ4mx8u2_J`y`ErOukMjYk(6$dHEU~-b~ zYk#0xpq;ATr>DAzT$ZoY$nWS1oKa!^>?q ztJaMDQk$(wbEtdtNErnzPji|^(g*nycpn&5-{8KQI9^jzTK-vtdNgD?XGcZ1SJ1%^ z@6|ju3HmKq35IzU6nUv{0;d%K9hh(rPpx<7q-HEehMI3^m{6;~&(pl~Iyvg&v6{=T zO~Zr~g`aOacnM!uitgla+Q@)3P8_f{1DfQ1g$t6v6_4!L}Otf?}$m*l?Zh*n!&LWS7Uv;{Nv zQ`^rmNfP000PLt(9G>2JobdYd4723W_ahm8U%WleJO~X)=;SzRc)`I37i29U?>ez| zCFkkx;)mjauiMQu>a`smc&@bn_B;X56?GQ_x`a0~+M1FjwAi*vK2MmldKWZia0Y+! zjvFI2%k5>tZJR#B=Czb2=XJ-$Rj^r{sRW){*YO+qELd|3iiG5Dw4dySF6#VhtJnS$ z8kx`B_9ShdeSg%Ud8C%+U@9f9Y)2;Nve@3BJlXRT^(VS=j$1l^;JUx@WGcf*=|=p5 zK4RhE)13INo0Z0~`038LQ{oYcyDW{>lSKyBq?kDTV943>KZTxsZ*yy!q%8|H(7FOI z&BIi^eqY}sE=^iPnRv8?gKub8^6U3+LbsbZ21HY>Yw{4=FnUdcn-JELZ217xjlXrc z5A4V&W1oe}hc6Vsy&{0Y=5wV@DHm7F%l)}mdQ);}4$tSSM^~_T$lW;z;AC|jw)hxc zs`cW}nfP1D=E2+^-Z#HS1nzh!y?}u!f%ogmmrW|`yK7kbQ1xhM?75;x?9hWlF~1At zERVKBgKe!8r5PJQ8@lY#w7>9lHK!eSGC?=5pLh+U z#ZmV(Ro7n>zh31arr869Yi01dPweF}7MeU%Cg!#?n9XO!@Y0H(P9Yv5;B%RT!`A;>2)yru&37piPV8>>BjY}?y=mJlR^8&dqH%wWbl z$rq~zP_PfQ4e6H~3-kr2}jYZC9 z!VXQBzBwTlsby`=BI*F?EO9*+T&vLa1JZMC3UqKyBPcsBb5&H^a3i-*Nk;8z2FYR_ z$ONF!18tx&69?t?CPsU)(s#|zt}k9H`8MA-WKnrNZX;UzI6QEx+WNyUK1VImHY+kc zVF%v{bt7;*L}`gSmyAllhZN{%`*1g>5A8UCXWJ)LJV3nS``kz9nWNgdGasmC%BDGC zr<3ePRJ^fe4qeO*1_`V+mD&MKjvIrfg_&CyZUoyg$xk#}Xj(?I5@|{6OhA^h3J9Xg zTGSj%ixlk_MI3qeZouEpJ}_m&6}wL?G{?nzvlL2|+%o&XmVzd&6c+Y`YdJd%} zxw;?TM~lz?C&s6J&N>~K#@e+zvhSE+i%#mlduhtqTEJ+oyvAte;ROzi0CrWc`de;` zQVa7>u0PHLdT40RvkKvt=pVz3mr1mf+X)WW5uebS@x1mjBPXmrak^(7_Hl&jP=i18QKkyh`s1M-w^d4>YpPVnCW!D(`t2jqX z?zRIl$zEAhURfGW|5(}Q?~+(MsNYBdXu%pbAXU-Y>e%G_zcZCaSJ1P0@vP1wO ziKXRUgs$i_*o}ctRA3(1A_zV{UhLS5dB7lW9dapZTb9aXHfE{!RyTTAMQroLw2bWK z_iOgYEm?o%u$A|ds8GEm{7$?14t;9iJH6n(O-%#KVan^#TB!%`jK;?l2tF!YL9|>= zDI7Ml$D9A1ov+LIpVV>p5O~=WXgdIxL$YH9h7gszUpFgMu(&N_rR9h!ponP#>-1o>9Ko< z8>})cLqj~pxus_Kh?pdH7kuF+DidC}(kd(q+nuX!@>`w0YD~(DlQp@;8SvV3C`yYb zKFyIQWcRXEzK7bleYaqNBxAthagzkA7wZzD%1s@AU`71sp?qAEkTplA_FAtyKKACA zHu?WjAjtr=ZpJGR*5N^%o;Htda9`PUYt0(k+pgF?!_dh5TJ7`jzKx|pyw!M(ykLN% zVI{kA4S22Jy;$GEa7fy)axlB*xfM&J{S+4Yj)G22din ztXNduLHGRkJSdl#9JCJ=P{H&nrBcS;caGneeb@Izzai&=&uv#iOst;nb&&zq>pRhJ z!s9&?0=eJ}R7rXwx-{pk@@T|Vq%O4h@y)OAikYiTSKd)$T31#CUMP*e`#zF#ZFXQh zl($!lnKHSxXh)_d$|XYk93*g9lJ|`cgAKxk57t=-MMsvVZV5zV5cUDa?S2f$1|&{s z0IaS->)#S#dBS00yaSM{fEf~Cd3a%3GSxS-S|!{k`}dZ9aB_y%;~NuGHQS9BYk;! zL6)H47J$hij@OYiDNd4Z%Hl3efD46z4ALFd#j#K^0Liusx}aLW1NgGL(7S={C=z2P zZUjXx>Qx43pt`R0rD)>D`e(Q>vJmIWqvo`pg{YD6BZdd^tPg^N$q2(0M1-M)j>Bxq zKrg2OEr12wHZ0W)u=zN`=aQ5Dn9RpKW@Ddvtp!{%DkQnr3a^xG@6U;=?WeLDoD+Cr zIps&Nk0unIasI{v+0!Xm@;uMOAhd?ZS_)D}i(>(DjjhDtsmEZJL8=r*a6f{D@^|AS zDX>NuUL%j;0HzP*DKV&K&P*K4P@Bc^8#&EFnI>+h5~9)&2(a>)Q8?gKKc}+ zh*w%~<}Vi^W-*(}rS9Rnnfw@s1A*I52cVPf76&3_7AnE4_^dp8CyqI z07C!~Il|_yNCI-)s*TM_V^H~#eX&>3su%wI`7>Nvyu0X;8!ZYeT;qp1RQw|MowU8g z6V8JY0!(77pr8gGpI)9d!_;&8moI#YCt4IJw>(*@qE1jUcC#Eg{d!YSuWu9Qa|`+- zRw;TMt3Hvo1uS-t;aDI82IqzZG@+=K5t`h)5CGyET4Nif z4wMXQmn~Z0U<1asXFVuKQ7nc9|D1pw0-HEGD%RtGIh%h`fsvuUl;Gj=Dsb$P{oH8H z7#OmoJ~Uk^C}5c(7Gb2DgSzQcjdMfYg3rcsLBnO$ z{tRVe-pdp8bkf`SGB!}F(nI#OrPgnImDN2+oIkoNb3%8G07c1Vyugmk45D8yKOpl6 zt;38+uQ~w%YWN#p@P5oBf@8rP-i!?a$)!B-y_FgD;AJ^$%sO%c`U2TF1(-izA+$*f z*d2vduhHyu7oNix%L$MnX-woRAxH|daywl;>h4s>!v`sm>aU)vpRB+HxZ7|h9EVfu z{bpbRJOtZM4|*7Rh>OrsxnHldVow7# zou7u>Ea%lk$#1eK{(eky`&>e4VoJ`v)DTB)a@bE+u)%cVcxp$dz%L95ZB(R?FQVia zpnx3&dk{A49rP<>PM1Hli9n(w8L|>qeUb9p`GC7W(3eqI0`J)6>To{BlBLlX-#gOr z(!VPuqUYdK@=1B_fIE*u;e-VBDH)@jg(qMOQb5;qh_KFjzS?`>7o}U&?^UQvr}SiS z(0GSe_^V-s%=mrS7@mgRA&k6*r?6g?uS&7{Egmr;IMWxgdF5f0$`nej2*3}YR7MC` zO>3iE7MSiSyucK+^=963N*s7@`m#V4aPpuFqf6p3%Q`q8@K8qBa$}RYAbWM^`>1v& zC*WRr$|n;I*M&OH%*wOOjIF1D$b9xyBo7WGbVaK0NkIi{45BM#GjS4r$mu&eamwp^*ktFi3%*JxRs8rhGliSG@+roJ0(Kc-cu8Aj8#12lxB>D())-Z zeKY#XXf*(BJtqzk6V}rjm}UuFSsm#i8*bYPwCw?|CR`}Y#ujuVk!8hty}DvHrufYG zd$ww~k+=21eZgx;#AB)#-V5Nr*3rN?p@XjxXyc^(%W`-pGw&^K4OuSx-E$&37(p)u zW+>6Gjk0m4u8!-d@9~1$K{N&u$vGyc5@cxmbT&$jOM){>B(PRYsi@NvTEuT4*!p52 zGXkP_0xv8&;Po`{gP9IEq08W`)1RsmvidgoW4@1!3@mLJdRDsFhkfDP!|@jC;0(SH z0%m}Ef14DL9AQrZv5HapXb2_8zI;N;-tk47ql869&1LS*UueXeMJdkLI`N*Cch5+C zywHLpEX*kxMM#Lag;5k_8(|m11E~QunnA_z&UcMMfoTO=vsFe8Y`PJU=mHd@phakQ-iZhq!ET=mF3Y# zH&~cixBt{WK98aGRVFtvVGkaWdv!oZO)qdATVZ09AsiuO#}M*kUIKat0NB)AKymha zBJyY@A17^DZ1oyi-9Rpd*8Igw`FN_4&k2?r!Nsb3FPGie(evra?R_UQ!8iomiGTYL zkhb%&<1<xh0?{qd0tQB#KJF}||8@FWgLJ01J zwsfXh9#Eg?E-rzyVBvWUCS1J40dkKVoo8dGV%VP**l!tvsttPwN?oCA5o+F&g%w!3 zoVHijs7-y{WOU(ufTbs$fV2ETKLTxY^sOk!9_rC1Zt1UWDWGC}%sa4Kp)}bY;Io^exSm?N1+gL9* zFi)IufSJiF0DHNxr(3?2W!&Ya<3qu#AF2j^mMwM5nN~l=?Cjf}@D?(|ZRTy|1LjnF5T>)%? zeSHVlD(nov4y@54}a{fF{Fwn!oCSb!ZG9&J<+$U;?3QCbc4r|}1; z_AZ*{?byaISi4pne_fUIzhl9>Nn%e`~YPJW4w>9+n4HdD9-ssMG`-+U~2r4 zk8-$}k&{%LwSI{0Ysf2Z*P)6xYTF;NjDPyBvB9p2N}h0W*)Fu~b^vi^QghLK+)g@NQl4gEBC zVchojr*VTOZu6JRe5}v5fj^ECbHHGs6s(iDXS^_#X;PGDoNCJ^Tf|=-w0fzX>{Y)a zY*IZRcui%Wsev8)Q315zC(jBus9`UxeHPrFHj^1loH=@_NW?`H)&wUkk0-p0bvnWH zO}K7H*w2-_1k7CO4^bbs&1$r~|`pAnTjb~CQu<>;RtZ1^Awo_hLhz(zw6%=VauT_lt} zhPh3ov0FBK5l&SVDoT3A%GfE|&ff3vs-GNE$Yj*3OJBU*D7rO7W1{}k(yNmzM_h7* zyc$fI)t;+M9L?L*@*oz68fu~bQzT-eB5Mv9C1^v+_xiVQ+Ep-6!5quNYq<8w{bHpf z94UC~+uT>Do49OT3u#2ZJ(sW>Wj2sYJ0I09W!LPKflgs2OA?7#2KS+CH%q#A`0ml! z+Wk4#I~XtG?6%Xshz3YsJl|K#Wxbgnd#yHOTmB-e?VRNy-=MxCV_7uGd>cSHj%xE) zNmS@j$N}b$6im=%30xJBOru6+(&~q{x>WsCK|Y)~e0uY?km~mq>>w5#vE=D~RExtI zN?8_bkO`Lal4W+XD_%PDP7AJzevHqr)LkdS7v=Ocqi^L3ty!sV==*f$Sbx7}L$~}_ zyGB>*G0$Yo$Gk#HBMY0+ZR0h-HUufdDtJNe13D*q7C~4A=vsnw#ERkF+vY2bPkp~A z!DVduYv8%H zfJd&1e7EB4WQkp#7)CMOU(gsU*>IAr+|Z)0_wKbQJ*8{?sZ)2TJFi5#KPRr@rXT^- z#*ch9au5Vk%xhn)hUGV1!kMQGx5itth7)PVSDDm2LQkZJkj^`5QM_o%|5KP z*j~@IDu$<6{25OLgOnV&q_(fum=?`RTYG|O^|A?vbUbw9fk_x22aQBrE07%W*DC+y z^U~PJwPM3!7)(v{tR1YlW(LeBktHM{;?fHCem%F?!@^L2R)EaImwybLmGhegGs`Y; z;u}({vrebZ%GtkYSxom!UZ|I}OyH`!rklWpN4{NZ6WUVdcN<~I8SaAsPHhpfGN1K%LvYsPAZ_l?yd7X=2 z7{QO_{a$)94Clhf3vS#ZEfuXbVph+b)s_p>=CBL5gUw19_6naNY20M4`YwEeH0G!* zF+8wBWM#h)Yelb#xzv_4!KHie2n?SExA+1zrrguzHHcR1cCOP^?A0mCqA^u6?ip)# zVBUkD0Th{sSvi#WhfP?41?vSJO3M|E%(AnxLGKgiY-3jHGEd~4w}o=h?)=rWjq!zA zj2njD&-?je?_- zKPLL8ZMET?v=|stDnFSK;3Vi7S7<%n?pz$m`6hJ!)4j=8MTsS(IcKL`AwzSKZdC*7&D{4pCulc z-(#4~F1@2xZ5Wqks(5_<0UyJ+1&fvgGy(=@FkcOb85IXQKc2O3RS!8^7r0*O8r%g`KD5q#T&`N&&;^VdC%;ntlr}o zhP|7{$GBwrOY|3Oj+sur>Z9d_2Uf4I(w4&WglW78jhFNY*eLc>F<&H;%2d7E7^7y} zB)Sq7xYWC^u2!|yMzcUzj)uH-%qQ&;Z~Aa1;PddyrRo*im)(opwA%D!Vxu=6-`r=D zvBv7!C199D#$q0`DC68UpG1O8B<6g0wA;40l_|mfgu9BvvipN1mct&myZ0R1UZf~a z5lEiK@QBN;otVp`&GhYYsbsA6FWqauQyVItx$8%drGEVE1iImX;TM9+yjL94zpjNSnH%^-GY~4m2up<|h}iF-60> zgQKf`uzBmaLhfhCeb>=&zOueJWj}Ydu%dX(11X}^whgh@g_^~cPl=$!4J_6g;29KE z0A7^CgqxT7Lx-M`hR_cKd}^8P)19R(_0GrBSwr66nq^;_oY|dkX};5c5$e4YMWAou4d;RgwsfPjM6SQ*psD+{Fm3KPfyWhT?7AM(?FSe-Z?29}&EKMm;ru zPXuk~!C>#W)Z~>{&4x-`nS80GSv#G0cfJd=5iM|h;ofKKcjTKzuiveKb7!zV3S&@a zC=dcvxWB)O?C-lg*wWu5V+7WmX#E7dFaaDDvtAQ`!Ui*3+U@ikUup;5gh{HUn#vWQ zDTsVK{WHJv!6x+_e8k8k{?h}_2b^PU8u^05BihxA zxB_dcPpD-YWN-*Kh-{HVi-`3E;Ndz1VyX;MZwS!e7f`L&BT3xB8(=?3Tq!XKTstQ> z>}ln#lNd?}K)lu1(zkpvb}Hdl8+4uV+A(cj&F9zRxDH$%M4xwY2W=EtDuX%?l2#W~ zWWEdRxu9zdQXMHuI6>=hazvoN_L+_jos`OV$dPL*6Z(lw%rYKBYNrTB+A9P0vxn7} z^A>9YJiPlo_gEOtKEQJ>sf%8&b@sl2<`<+w5494Q7*I_CK;$lr(h9^Jgc8t8b_}<3 zi7Gyk@*nor)B;lPhmp86-HL&w2=uOi6Amfm=YBXFeQG)PO% zQT;c@JOd;K?mWMFEcVAz`CG9!8yYkVo;~i%5D%pyO5G%dCwIJF#5Xe?L`VJ4ix?Fl zAH4unF)(|ZV<+J24&V1NZB=EMM?P3*A*OZz1YV+YkdmaFWA!eiWy{ip-qya`+Xk%W z+xTB^_fn9|m^prWa|PEi&j;k%v|UnJCnd+7vs1PlcN@y@Tn0K4Wsn^=n;5uFn!LwL z8S=Ks=xn7(X#92 zxN>6PbKNUOk793L`o$tTo%16*M9o9^je!t5qi|P{f2;VtqKHEbtNSSP8hUHTeh*se zdW8d)V#n`O)qEy3vpFgPtFx(0KqTV#YMEs#z2&a!I^*y2GM!MA>io7?q(n?Xbgg3t ztIf9WPhXvs{6>@gcwg|6<>dF}#w*XI8RnnTh_hFD@qV9qvixr1kGL=7_qSMq*EUK( zg5|O5^#rcKf%F}?Y;|ScA4{4WEVw0i&Wf+Boz*@mlY6Eh?@K=Wl^9QsxZQ(PnJkW< zcbUAFQ%%fj6Ssz_&$;SZcE&Ne3~3lV>~%QqKDGAT0423(D|1)}~9{vaCK|rVVk$!J0*5`cg05P^37>%VI7NsEW0HcOUmJiih@fbiRu= zaSu#hW18a1ig=quAhhWM@C62RdV=PvZaBth?E{%;nt@m6%5-RSel zS;alIRICnGtzL;lka+0zn*Q5@eP^AdV9N}(e_3MMQ|gguenY!?&CSbWy*5biOkznI z!D9Ol3+o?*^b}?8MDFvo6*;VyjHg>0t%lecK0h6_~n!qX^rMmZxjlSiy z5m(N5hdno36!{{}`|GFcAY-CQnq*Ep)+LauE zB}RSm_&dZi#HM<5jeqTu&Fz(O?N=Yijek68BuwQzm>Aa$Ju+UBzTDp#gdG?3S$=cS zyf1X@azF>-8I&+q7-$!DN|PY2w4!^7;8)3f{AI7nt7?hmGpw04qf+vp)#=-$cYIbS zWntnrV?=P19_L1-$-dOK^#mhcFlm6U>JHhBoHzwWs8wgL|H#uuER)@2Nv6_Xam7@_ z>|iFV&VhUr+F_lyfv5wZ5{i!tuPI zfk`46)t-QUGMxlI9dIe82=UNnb$Z2iqX6&Cxy$1=Al-F<( z%i{IQlR52S>zC?(MqRrG$cf>Ah>ywm#-wdupS-x0x(bX#M~;Mv$%S+c?qfMkB7q)C ziT{%(98Exm;8eH?EX#DJ_*HM*NT^?3f}k@9=b|oU0q3AXlA;KZztVL~S8nW)Xtid* z1#|F9*Hs#nmaA1-1h2eEmD+gh+8`#8H=fiOEi?X<44qSGG7`YaD2JDXac_^A(uF<+ z0j@E@Vaw9t0t-wuF~41i{}|31Mi+b|Het})I%o%kMFZVrDQ}2B_lUe((J{(-^*WYE zC(!?SuUAjz79O(_o#RkHr#F3*iCrGW-hj)ZZB>9mhSni57YG&SLoj)$J{b%>p)3aW zf*l9}&R;ZPeV|JYg+?(jienyXk+RxN!$x)tNft{m*6+O4dGF2%_W?@BLVekb zR(rq2a0lX1Yop^#b-M7xr2&-6IvPsuf|dhZZ~T@}+9dQq;W3)?o8ylY#CEf6x~NMI ztY(c{N)EMn)MGU+xYYeM>Y(D66hnp*SCFrrb06Dd7WBr4y#st7c9U^MG=fqn&M z?0^WNL?RO&A;QPxP)+xyjaeAu z8%Es3k={K$SF-PUcE3;?urz&_MLqaaCMJTBH0GoD z#Ifpqam$XZ`cbx@ejHrN`4aU?`DbBTo+~-Y?@L0EF^Q(gvIC_l0b^2aG_lB$Mg?J1pnUQ1RQpl9B z4IIqS3PJ^2=?X29G2@@ zZBJiu&zsRjdyHaA%k)L-+U$$Ny_gK~pio_+qS;EM#BfZDmrK>3v+^72IO7n)`~cA?PH zMzwEXKtXjf8XoR3D!=HTjq&;}h2y(dH8N|nA~O}DlnoT+a6=h7cGC*GB)gU+cdQC8S>V z-~MIbfgQ98Ih~ImV(e|D&8vM8QIMoE{VeQKSjQpJFCLOhvfK$v;138Hcr_S1|0d3} zRrLAg4CQvDbjm7-W;4A($Ny`uxAT?zllWv^e!<@9`ckj@A7^DY>^m`wg#s?LF#zW#A)+v2cr_1HTDUeiJ(AI|sfbc3%*(ZB>_LRY$8i zt6(}0?um0rXvbw0jS+7hVqo|QdQlg0F*V=>IkgMmG@tstwU6% zP2GIX7IZK!tRV*NQhq(kLvSb~IcelN9Ao*Dd`kuQ!o>?_VZM)#W20D}|*|PlwvE+!qy}&ldBQYYdj7*^`?}+4Oa?FS2)GfP}t?_aUnJT<6^x3&ja~iJfWMK zFu%(|5nESnkxGbr#zR*exvVFSc<6{Dmkx;`t_Q^shE`=1di3$R{$&fog~-+Qsw5*KkhC>G|bEjsjPye<$YjPrl_K;MI_t_X6;Km_qP zB8*%|M~CE2O)MnG<1Us@Lk)Hg>buT_78e+dingF9kfKxqhtOr z^ITgDu~T1*SShk1RP#MZOfakTV9k?#+qZ3gAUz zf_ad*Fd`BkK}1qxh)8-8Hy4f)#L`ftOU`1Ktb`1}F+)Le~xZmCAT^?pDm$AA3W zpBen#fIPgr1GyQ9`A6)jces$W1Wx4fLr&yTI>*?92L#D~_a6K)7@Xq)k+A!rAdB!+W@K^_ljldwZcrN5#A}8`7g%f$0#(@+Sa3GH!u|NNJ@x$KXe)X`# z-^LxCGiMbE5c^4Fd3otyUiVv1E0P>^8o6Z1gE;Eo5szaWu+Q)!{#F7A^@0Erbdetk zcHl!ooVbx7M^+@j9)m<);Xn$~Pa(gC+W+PGmX;Vu@smSH!fg!lAe9qIzsG@OrmsP= z9<4ztE7u^8bJ**{>xSe-NTjM;yAt*Y!8IGY3z2W=MQ3c9zS zhI7^8k8|n5S|rF$010vAN5WkBk!v2XKVE_T(FY!W+{iWXc#91oA|Kzy{>$?&EKDN# z+1rq`WDGiQkgTjVNOlf8QdGi@6qK-ymX~w#{quW(vA>RNH7w*Zf`88k;7kp$S^Kv$bv1VMT=GFDagYhc7H2DWHokM$YmU0zB}baC~gBw9(Pledi?s6jcli`uVf~4PHgG^3z{p~e-`tBe(1(<)tUiN|& zdDF^*RJ~=cLgRNlBqRWHXW_3o@I}bKypC^07;`g!d#>cbQ;6dsmetsO&-@YldC0>c z_7De{I~UoIV5c?6qq|1P``S39yQ388=`2A$)ZIez9_S!3A$TP28Z(?raJHhc!`_a@ zj_!|{4>^!~X&B_?OOwC7=ECAQQeLwbu3^9-XzZ1*S&-TWW~8Qpd9JzvLv%bKto_fq z8Jg2PjCA|k^L*|8h+Hz_hWWl0`5pUOgo?&~5#3|fA`}~DB#ycT>Fuog+t2;=i~jBs zI8UXKyEn10w{yXm|BgKaV$aHiz40+C>@&>B#N^-4$B*siND&>g8hiEo)!327emwHL z39km{)K#<&`N!PR5=GAKS%Wk@FZk zUwtt-(F^&2B$Aqd|Gl@PvBTb;oz0Hq=EHuIgF#w5y#My2--jL`r7tkZpRw0A#uVk&EMVh#E_96egAllmE~n5+G8(r*@Oe}hu8zqy?u4uA$ND?MM9j} zk*|HP|MC6*=`Y{DmLX|LxYhmfud(OD{+L&YL7urfB47n8b`V91f^@_}uOjsTqN1W_-f!jlo7kC92@Ac}nmv71s%ie>MIF15Zi)2*JqzArvn1?R zsWwX})VhxKQ=zf5VW-X>YRtAT9Hwc@Z}Ky4Fo)lau-?s^@2QK;nB!bxY4QHe=-(uh zk+FjvIt1OW+LyR)KNkkwenpR6xJInDF1}eeNm)`Bb%zA+H}kYv8u(8t(aMAT>xG@F zva#n3H)MNO|In=Mz2u9`;dg!TZVvsZJP+`F$#q#9=CV|u73D@Yqkogkg9jH`&@qDC zTZnz>+-2~7Ri9mo(qk8+h*i~uHtQxWzaNXqAQlha6AQtAnHEbaBROpH`h_YRdkJjp z`J-Dg?{&@j&q%qzR!!0uymLFXaZfd6t`2&vDDPkAzqITkJAR5Zyz_l2G)nACEG!oM z*IsJIe|m907MnvXu}GUGmuRu{Dq^=PNeH=A{ne*Y5|Uq~$Z zffh@vz~A?+!@8}ceE2rf9AuVk*-uK}#_x*fP5YXvLbhdbJGOZ->Qpwi z`aH00trk0f{9k{66H~{tQx{0dJNBi^ocDNL!Fx=)347MiXz#puS;taK+F`weXYhUt zvd^v;*BeX6b~v_Xyd`r`od;G;mH}G zuRTNYkq6j zcI_W+8#dtFF3vJILpshfWV_aW$eurMZgZVJ^aI|ITs>oY|B593h*62hJ=kp4hci)xHGYZ{}iO zD$r)}MbI@5u$CbAS9!l%E9UYvt%gkb8Fc+ri`Xsm+Tt8$!T6r)f_-Vj9O#v#Bh8*c zMQJMYaBji8wi+3KcKd;m3As@>?1AMVb~l;g0QzjKc2+d_vAU~`Ag81;l$4J zb6A`qyI-!fi%KeYv$)KTLbqRs+~e|zCEX{M3jO{n-)hE zPm5j8Bvw}+qv=`S0`Qp(9i&A0mM=Fq02`|382JvJzL_Yig} z>}@CLm4jch7cUz3Gxa#P(l)XqhjrQEBm5kuud%T?@6GpA@Seow&h;bbUBcqBwb_ka zV)Dnq>h79dvuZwhjsHx@{&o%3raYjwYQCFZx36jK5U{-s?9}Eq_HI|K*9$-4U1&U$ zs|Ty9if7R=qhMo`I1ii&C9HRxfunS>r|NP$6}(G?j)_c%eRvP=XtspK=WDZ@I1d!o zOjUQKxjuW51zp*K>-T0l^8sX^T22d^^4#=(%^K42bZ(s#=wZsZZ$s@L;5N25^n1i* z8J!t|2V?HpF07w2s^4!wqBfniHPXhKReH%?}?EOB( zE?xWrK7xBqS%2kT!Ja(LXVnj*SY^!_R#|(7)jp19PoEdSqI$uezqrrtm4C?+Rc9G4 zWB#sYRCfX2y>TYcdyV((C#Zi!4-?C%>tC?0sq%I={PF016LxSPY;2W(K-kzvp>GcH zwQkC?b9O*xulqw^narPNA3i((+IfJ#tNf>_&gb|1oSFMfytAV<48FmQ-yY*Rr-F>x zQP|gN|A5lQZpBWVmWaJ6BBmEBD)D0t4X@)Zf6BP3u&Um(nT*xCvFTOKd!Yh*a4Ffn z0n4wE9P)29C*+hNJ9QGi4V8c3)R~qn1a>O7_4vEW_ta}QJF`2vcC1VujJ1;mKlST6 z{iWhDd-@`SRXyFyZp&Xk&%DYzUo%|p$rYs8r(R?54GNAPZS_;g8G}b*;RcNR2e^%` zv{Pa0srJ;c8#o8UW(rRv=yrXUklmTxD(u7VmJDR~%J5U(i`}m1h&^9h$i3+rY09^_ z$C@dE%(I?Q4bJ*Mya9`UOA;L1s{8rS7ID#WEm>#;{E$}~dFST=^`07?E@3fuaTdeA zbR$Q3mWeNht|?Wm?N{_+Q{MTU_}2%`HPhiudFJ=(bJa;%M~SR?hAOWEye zN&(M7cOKI6yEQaC{SmeQyMEuKo-sHO7!i9xG>~6wh)no3pGcoy*J3g9EAI@y6#Tk| z2;^u$^psya6QLOz66H6&>XXvQkThP`@_MZ9SFgPI|7BXs2m2E~B6xWde)D-A^H5*a z^Hk4UEeEw+AR-|rjoc#89SSvaRm)i=cOIwp4t@sVM-!*j8kzs4Y0=QP-d@@ZJJ~D?Z3mv?13Hrf!Lsnd_0aL@bNen!f}M@ z1I(CRe`7X%pdp(x+z1#qF!^6CMC=mxcWhnQmhD((!L~V=o!h*`{9lgFn?1Cn40Eh) ziobB&kz;o}j%V#}pTn2_E!(r|N9N%$ifx%^g|W@qvT@po3E=)vbLMJq#`Zdyvpt*I zRPWqmV)Lf5nEiFfX?(uQIEzk*cQQx(5b(3f1KH)HyG0yM!}I1gUjuxaWyN>c^-y=_ zz3Fq|BXM2cO2n=BxS6s5kJij%4$HUC8JO0Sy^#opw=RKvbAzM7UD~meg&p1}| zCW-qbQ)2fr&rKcJ_H|mYms&G__`!k#IId^-{XgSj!LUwU@$*>B8)Nf1J5BkDRorj% zck=P`?!>aNpv~;a&M7Q#>o4rs-pMTT{AO017uSrv>Z&Yu)UOZYHm1Lqv4|BpcBEC^ z(E$B-|BMGb*Q@rJ``n?*dGoQKJZe0DXQo849ZQC@h2I;o1>Z^7(w}wNiV1pb)gKbJ z#*SmME!Yw7A;7DmG<-aLDrYB;_GbIM;7>SU$Sz$nWXDdl41IO{c|$C}Q;yvc&)bYG zg3RS*#hQM?j&5UfM;HP_XaQ^(m?X!vfs^q#0`3#zzU%F)TQk=c@S|?fVaYeQYTDM- z<*}f{=IqE3UEzbd8ijN2CB0_xV@+{tj*-S*I;v@ZIcPhZ{*^Xj0?gT}iS5PM9HZMb z7rv}TrUFOjJ|P|-#bcwq+zdpV%dM0~9&&Sih2JgYd<)pY98b}UP|IN6z;^HO^#*;$ zru8>ro2GuP89Vz{4CZYBAHJE0|4{m2%^+_H@ML}9JjTp*xejw%MeuhUi})apAMf{S z!S?UfhM)4f=!^Sxu0(ccA(ymR7<}?LV=Atuw(P`tm^;LBk~+qK$J1Op>8ok8W9cwF z>lQ+<@UhoVN9@5Ε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 R5Htt_4H+_W|GytE_g~uN!OQ>v diff --git a/src/qt/res/icons/komodo.png b/src/qt/res/icons/komodo.png index 2096f738b66fbb4ee37903762ef26ae1b9735cbb..da208e736cdddc0fe34f13173f8ee2f0208fda21 100644 GIT binary patch literal 41923 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�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 M>FVdQ&MBb@04aAbR{#J2 literal 51446 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 diff --git a/src/tui/LICENSE b/src/tui/LICENSE deleted file mode 100644 index 3300ef64..00000000 --- a/src/tui/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2019 Anton Lysakov - -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/src/tui/README.md b/src/tui/README.md deleted file mode 100644 index 155ae44d..00000000 --- a/src/tui/README.md +++ /dev/null @@ -1,52 +0,0 @@ -# Komodo Cryptoconditons Terminal User Interfaces (aka TUIs) - -These tools creating for demonstration and partial automation of Komodo cryptoconditions modules testing. (RogueCC game, AssetsCC, OraclesCC, GatewaysCC, ...) - - -Developer installation (on Ubuntu 18.04) : - -Python3 required for execution: - -* `sudo apt-get install python3.6 python3-pip libgnutls28-dev` - -pip packages needed: - -* `pip3 install setuptools wheel slick-bitcoinrpc` -* or `pip3 install -r requirements.txt` - -Starting: - -# TUI for RogueCC - -If you're looking for player 3 in 1 (daemon + game + TUI) multiOS bundle - please check `releases` of this repo. - -`python3 rogue_tui.py` - -![alt text](https://i.imgur.com/gkcxMGt.png) - -# TUI for OraclesCC - -Have files uploader/downloader functionality - also there is a AWS branch for AWS certificates uploading demonstration - -`python3 oracles_cc_tui.py` - -![alt text](https://i.imgur.com/tfHwRqc.png) - -# TUI for GatewaysCC - -![alt text](https://i.imgur.com/c8DPfpp.png) - -`python3 gateways_creation_tui.py` - -`python3 gateways_usage_tui.py` - -At the moment raw version of manual gateway how-to guide can be found here: https://docs.komodoplatform.com/cc/contracts/gateways/scenarios/tutorial.html I advice to read it before you start use this tool to understand the flow. - -# TUI for AssetsCC (not much finished) - -`python3 assets_cc_tui.py` - -Before execution be sure than daemon for needed AC up. - - - diff --git a/src/tui/lib/logo.txt b/src/tui/lib/logo.txt deleted file mode 100644 index 15ace1ad..00000000 --- a/src/tui/lib/logo.txt +++ /dev/null @@ -1,39 +0,0 @@ -MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM -MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM -MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWX0xlc:ldOKNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM -MMMMMMMMMMMMMMMMMMMMMMMMMMMMMWX0xo:,........';lxOXNMMMMMMMMMMMMMMMMMMMMMMMMMMMMM -MMMMMMMMMMMMMMMMMMMMMMMMWNKkoc,..................':ox0XWMMMMMMMMMMMMMMMMMMMMMMMM -MMMMMMMMMMMMMMMMMMMWNKkdc;............................,:ok0NWMMMMMMMMMMMMMMMMMMM -MMMMMMMMMMMMMMWNKOdl;'.....................................,cdkKNWMMMMMMMMMMMMMM -MMMMMMMMMMMMMW0c'..............................................';kNMMMMMMMMMMMMM -MMMMMMMMMMMMMK:......................';:c:'......................,kWMMMMMMMMMMMM -MMMMMMMMMMMMXl...................;cdkKNWWNXOdl;'..................;OWMMMMMMMMMMM -MMMMMMMMMMMNo...............,cok0XWMMMMMMMMMMWNKkdc;'..............:KMMMMMMMMMMM -MMMMMMMMMMWx'...........;ox0XWMMMMMMMMMMMMMMMMMMMMWNKko:............lXMMMMMMMMMM -MMMMMMMMMWk,...........lXWMMMMMMMMMMMMWWWWMMMMMMMMMMMMMNx'...........oNMMMMMMMMM -MMMMMMMMW0;...........cKMMMMMMMMMWNXOdl::cdkKNWMMMMMMMMMNo...........'xWMMMMMMMM -MMMMMMMMKc...........;0WMMMMMWN0xl:,........';ldOXWMMMMMMXl...........,OWMMMMMMM -MMMMMMMXl...........,kWMMMMMMKl..................;OWMMMMMMK:...........;0MMMMMMM -MMMMMMNd...........'xNMMMMMMXl....................:0WMMMMMWO;...........cKMMMMMM -MMMMMNx'...........oNMMMMMMNd......................cKMMMMMMWk'...........lXMMMMM -MMMMWO,...........lXMMMMMMWx'.......................oXMMMMMMNd'...........dNMMMM -MMMMXc...........,OWMMMMMMK:........................,kWMMMMMMKc...........;0MMMM -MMMMWx'...........oXMMMMMMNd........................cKMMMMMMWk,...........lXMMMM -MMMMMNd...........'dNMMMMMMXl......................:0MMMMMMWO;...........cKMMMMM -MMMMMMXl...........,kWMMMMMMKc....................,OWMMMMMM0:...........;0MMMMMM -MMMMMMMKc...........;OWMMMMMW0:..................,kWMMMMMMXc...........,OWMMMMMM -MMMMMMMM0;...........:KMMMMMMWKko:,..........';lx0WMMMMMMNo...........'xWMMMMMMM -MMMMMMMMWk,...........lXMMMMMMMMWWXOxl:,,;cdOKNWMMMMMMMMNx'...........dNMMMMMMMM -MMMMMMMMMWx'...........dNMMMMMMMMMMMMWNXXNWMMMMMMMMMMMMWk,...........lXMMMMMMMMM -MMMMMMMMMMNo............cx0XWMMMMMMMMMMMMMMMMMMMMMMWN0kl,...........cKMMMMMMMMMM -MMMMMMMMMMMXl..............,:ok0XWMMMMMMMMMMMMWNKkdc;..............;0WMMMMMMMMMM -MMMMMMMMMMMMK:..................,cokKNWMMWNKOdl;'.................,kWMMMMMMMMMMM -MMMMMMMMMMMMWO;......................;cool;'.....................'xNMMMMMMMMMMMM -MMMMMMMMMMMMMWk;................................................'dNMMMMMMMMMMMMM -MMMMMMMMMMMMMMWXOxl;'.......................................,cdkKWMMMMMMMMMMMMMM -MMMMMMMMMMMMMMMMMMWNKOdc;..............................,cok0NWMMMMMMMMMMMMMMMMMM -MMMMMMMMMMMMMMMMMMMMMMMWNKkoc,....................,:ox0XWMMMMMMMMMMMMMMMMMMMMMMM -MMMMMMMMMMMMMMMMMMMMMMMMMMMMWX0ko:,..........':lx0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMM -MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWX0xl:,,;ldOKNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM -MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNNXNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM -MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM \ No newline at end of file diff --git a/src/tui/lib/rpclib.py b/src/tui/lib/rpclib.py deleted file mode 100644 index a79fc73d..00000000 --- a/src/tui/lib/rpclib.py +++ /dev/null @@ -1,129 +0,0 @@ -import http -from slickrpc import Proxy - - -# RPC connection -def rpc_connect(rpc_user, rpc_password, port): - try: - rpc_connection = Proxy("http://%s:%s@127.0.0.1:%d"%(rpc_user, rpc_password, port)) - except Exception: - raise Exception("Connection error! Probably no daemon on selected port.") - return rpc_connection - - -# Non CC calls -def getinfo(rpc_connection): - try: - getinfo = rpc_connection.getinfo() - except Exception: - raise Exception("Connection error!") - return getinfo - - -def sendrawtransaction(rpc_connection, hex): - tx_id = rpc_connection.sendrawtransaction(hex) - return tx_id - - -def gettransaction(rpc_connection, tx_id): - transaction_info = rpc_connection.gettransaction(tx_id) - return transaction_info - - -def getrawtransaction(rpc_connection, tx_id): - rawtransaction = rpc_connection.getrawtransaction(tx_id) - return rawtransaction - - -def getbalance(rpc_connection): - balance = rpc_connection.getbalance() - return balance - -# Token CC calls -def token_create(rpc_connection, name, supply, description): - token_hex = rpc_connection.tokencreate(name, supply, description) - return token_hex - - -def token_info(rpc_connection, token_id): - token_info = rpc_connection.tokeninfo(token_id) - return token_info - - -#TODO: have to add option with pubkey input -def token_balance(rpc_connection, token_id): - token_balance = rpc_connection.tokenbalance(token_id) - return token_balance - -def token_list(rpc_connection): - token_list = rpc_connection.tokenlist() - return token_list - - -def token_convert(rpc_connection, evalcode, token_id, pubkey, supply): - token_convert_hex = rpc_connection.tokenconvert(evalcode, token_id, pubkey, supply) - return token_convert_hex - -def get_rawmempool(rpc_connection): - mempool = rpc_connection.getrawmempool() - return mempool - -# Oracle CC calls -def oracles_create(rpc_connection, name, description, data_type): - oracles_hex = rpc_connection.oraclescreate(name, description, data_type) - return oracles_hex - - -def oracles_register(rpc_connection, oracle_id, data_fee): - oracles_register_hex = rpc_connection.oraclesregister(oracle_id, data_fee) - return oracles_register_hex - - -def oracles_subscribe(rpc_connection, oracle_id, publisher_id, data_fee): - oracles_subscribe_hex = rpc_connection.oraclessubscribe(oracle_id, publisher_id, data_fee) - return oracles_subscribe_hex - - -def oracles_info(rpc_connection, oracle_id): - oracles_info = rpc_connection.oraclesinfo(oracle_id) - return oracles_info - - -def oracles_data(rpc_connection, oracle_id, hex_string): - oracles_data = rpc_connection.oraclesdata(oracle_id, hex_string) - return oracles_data - - -def oracles_list(rpc_connection): - oracles_list = rpc_connection.oracleslist() - return oracles_list - - -def oracles_samples(rpc_connection, oracletxid, batonutxo, num): - oracles_sample = rpc_connection.oraclessamples(oracletxid, batonutxo, num) - return oracles_sample - - -# Gateways CC calls -# Arguments changing dynamically depends of M N, so supposed to wrap it this way -# token_id, oracle_id, coin_name, token_supply, M, N + pubkeys for each N -def gateways_bind(rpc_connection, *args): - gateways_bind_hex = rpc_connection.gatewaysbind(*args) - return gateways_bind_hex - - -def gateways_deposit(rpc_connection, gateway_id, height, coin_name,\ - coin_txid, claim_vout, deposit_hex, proof, dest_pub, amount): - gateways_deposit_hex = rpc_connection.gatewaysdeposit(gateway_id, height, coin_name,\ - coin_txid, claim_vout, deposit_hex, proof, dest_pub, amount) - return gateways_deposit_hex - - -def gateways_claim(rpc_connection, gateway_id, coin_name, deposit_txid, dest_pub, amount): - gateways_claim_hex = rpc_connection.gatewaysclaim(gateway_id, coin_name, deposit_txid, dest_pub, amount) - return gateways_claim_hex - - -def gateways_withdraw(rpc_connection, gateway_id, coin_name, withdraw_pub, amount): - gateways_withdraw_hex = rpc_connection.gatewayswithdraw(gateway_id, coin_name, withdraw_pub, amount) - return gateways_withdraw_hex diff --git a/src/tui/lib/tuilib.py b/src/tui/lib/tuilib.py deleted file mode 100755 index afb4fad6..00000000 --- a/src/tui/lib/tuilib.py +++ /dev/null @@ -1,1992 +0,0 @@ -from lib import rpclib -import json -import time -import re -import sys -import pickle -import platform -import os -import subprocess -import random -import signal -from slickrpc import Proxy -from binascii import hexlify -from binascii import unhexlify -from functools import partial -from shutil import copy - - -operating_system = platform.system() -if operating_system != 'Win64' and operating_system != 'Windows': - import readline - - -class CustomProxy(Proxy): - def __init__(self, - service_url=None, - service_port=None, - conf_file=None, - timeout=3000): - config = dict() - if conf_file: - config = slickrpc.ConfigObj(conf_file) - if service_url: - config.update(self.url_to_conf(service_url)) - if service_port: - config.update(rpcport=service_port) - elif not config.get('rpcport'): - config['rpcport'] = 7771 - self.conn = self.prepare_connection(config, timeout=timeout) - - -def colorize(string, color): - - colors = { - 'blue': '\033[94m', - 'magenta': '\033[95m', - 'green': '\033[92m', - 'red': '\033[91m' - } - if color not in colors: - return string - else: - return colors[color] + string + '\033[0m' - - -def rpc_connection_tui(): - # TODO: possible to save multiply entries from successfull sessions and ask user to choose then - while True: - restore_choice = input("Do you want to use connection details from previous session? [y/n]: ") - if restore_choice == "y": - try: - with open("connection.json", "r") as file: - connection_json = json.load(file) - rpc_user = connection_json["rpc_user"] - rpc_password = connection_json["rpc_password"] - rpc_port = connection_json["rpc_port"] - rpc_connection = rpclib.rpc_connect(rpc_user, rpc_password, int(rpc_port)) - except FileNotFoundError: - print(colorize("You do not have cached connection details. Please select n for connection setup", "red")) - break - elif restore_choice == "n": - rpc_user = input("Input your rpc user: ") - rpc_password = input("Input your rpc password: ") - rpc_port = input("Input your rpc port: ") - connection_details = {"rpc_user": rpc_user, - "rpc_password": rpc_password, - "rpc_port": rpc_port} - connection_json = json.dumps(connection_details) - with open("connection.json", "w+") as file: - file.write(connection_json) - rpc_connection = rpclib.rpc_connect(rpc_user, rpc_password, int(rpc_port)) - break - else: - print(colorize("Please input y or n", "red")) - return rpc_connection - - -def def_credentials(chain): - rpcport =''; - operating_system = platform.system() - if operating_system == 'Darwin': - ac_dir = os.environ['HOME'] + '/Library/Application Support/Komodo' - elif operating_system == 'Linux': - ac_dir = os.environ['HOME'] + '/.komodo' - elif operating_system == 'Win64' or operating_system == 'Windows': - ac_dir = '%s/komodo/' % os.environ['APPDATA'] - if chain == 'KMD': - coin_config_file = str(ac_dir + '/komodo.conf') - else: - coin_config_file = str(ac_dir + '/' + chain + '/' + chain + '.conf') - with open(coin_config_file, 'r') as f: - for line in f: - l = line.rstrip() - if re.search('rpcuser', l): - rpcuser = l.replace('rpcuser=', '') - elif re.search('rpcpassword', l): - rpcpassword = l.replace('rpcpassword=', '') - elif re.search('rpcport', l): - rpcport = l.replace('rpcport=', '') - if len(rpcport) == 0: - if chain == 'KMD': - rpcport = 7771 - else: - print("rpcport not in conf file, exiting") - print("check "+coin_config_file) - exit(1) - - return(CustomProxy("http://%s:%s@127.0.0.1:%d"%(rpcuser, rpcpassword, int(rpcport)))) - - -def getinfo_tui(rpc_connection): - - info_raw = rpclib.getinfo(rpc_connection) - if isinstance(info_raw, dict): - for key in info_raw: - print("{}: {}".format(key, info_raw[key])) - input("Press [Enter] to continue...") - else: - print("Error!\n") - print(info_raw) - input("\nPress [Enter] to continue...") - - -def token_create_tui(rpc_connection): - - while True: - try: - name = input("Set your token name: ") - supply = input("Set your token supply: ") - description = input("Set your token description: ") - except KeyboardInterrupt: - break - else: - token_hex = rpclib.token_create(rpc_connection, name, supply, description) - if token_hex['result'] == "error": - print(colorize("\nSomething went wrong!\n", "pink")) - print(token_hex) - print("\n") - input("Press [Enter] to continue...") - break - else: - try: - token_txid = rpclib.sendrawtransaction(rpc_connection, - token_hex['hex']) - except KeyError: - print(token_txid) - print("Error") - input("Press [Enter] to continue...") - break - finally: - print(colorize("Token creation transaction broadcasted: " + token_txid, "green")) - file = open("tokens_list", "a") - file.writelines(token_txid + "\n") - file.close() - print(colorize("Entry added to tokens_list file!\n", "green")) - input("Press [Enter] to continue...") - break - - -def oracle_create_tui(rpc_connection): - - print(colorize("\nAvailiable data types:\n", "blue")) - oracles_data_types = ["Ihh -> height, blockhash, merkleroot\ns -> <256 char string\nS -> <65536 char string\nd -> <256 binary data\nD -> <65536 binary data", - "c -> 1 byte signed little endian number, C unsigned\nt -> 2 byte signed little endian number, T unsigned", - "i -> 4 byte signed little endian number, I unsigned\nl -> 8 byte signed little endian number, L unsigned", - "h -> 32 byte hash\n"] - for oracles_type in oracles_data_types: - print(str(oracles_type)) - while True: - try: - name = input("Set your oracle name: ") - description = input("Set your oracle description: ") - oracle_data_type = input("Set your oracle type (e.g. Ihh): ") - except KeyboardInterrupt: - break - else: - oracle_hex = rpclib.oracles_create(rpc_connection, name, description, oracle_data_type) - if oracle_hex['result'] == "error": - print(colorize("\nSomething went wrong!\n", "pink")) - print(oracle_hex) - print("\n") - input("Press [Enter] to continue...") - break - else: - try: - oracle_txid = rpclib.sendrawtransaction(rpc_connection, oracle_hex['hex']) - except KeyError: - print(oracle_txid) - print("Error") - input("Press [Enter] to continue...") - break - finally: - print(colorize("Oracle creation transaction broadcasted: " + oracle_txid, "green")) - file = open("oracles_list", "a") - file.writelines(oracle_txid + "\n") - file.close() - print(colorize("Entry added to oracles_list file!\n", "green")) - input("Press [Enter] to continue...") - break - - -def oracle_register_tui(rpc_connection): - #TODO: have an idea since blackjoker new RPC call - #grab all list and printout only or which owner match with node pubkey - try: - print(colorize("Oracles created from this instance by TUI: \n", "blue")) - with open("oracles_list", "r") as file: - for oracle in file: - print(oracle) - print(colorize('_' * 65, "blue")) - print("\n") - except FileNotFoundError: - print("Seems like a no oracles created from this instance yet\n") - pass - while True: - try: - oracle_id = input("Input txid of oracle you want to register to: ") - data_fee = input("Set publisher datafee (in satoshis): ") - except KeyboardInterrupt: - break - oracle_register_hex = rpclib.oracles_register(rpc_connection, oracle_id, data_fee) - if oracle_register_hex['result'] == "error": - print(colorize("\nSomething went wrong!\n", "pink")) - print(oracle_register_hex) - print("\n") - input("Press [Enter] to continue...") - break - else: - try: - oracle_register_txid = rpclib.sendrawtransaction(rpc_connection, oracle_register_hex['hex']) - except KeyError: - print(oracle_register_hex) - print("Error") - input("Press [Enter] to continue...") - break - else: - print(colorize("Oracle registration transaction broadcasted: " + oracle_register_txid, "green")) - input("Press [Enter] to continue...") - break - - -def oracle_subscription_utxogen(rpc_connection): - # TODO: have an idea since blackjoker new RPC call - # grab all list and printout only or which owner match with node pubkey - try: - print(colorize("Oracles created from this instance by TUI: \n", "blue")) - with open("oracles_list", "r") as file: - for oracle in file: - print(oracle) - print(colorize('_' * 65, "blue")) - print("\n") - except FileNotFoundError: - print("Seems like a no oracles created from this instance yet\n") - pass - while True: - try: - oracle_id = input("Input oracle ID you want to subscribe to: ") - #printout to fast copypaste publisher id - oracle_info = rpclib.oracles_info(rpc_connection, oracle_id) - publishers = 0 - print(colorize("\nPublishers registered for a selected oracle: \n", "blue")) - try: - for entry in oracle_info["registered"]: - publisher = entry["publisher"] - print(publisher + "\n") - publishers = publishers + 1 - print("Total publishers:{}".format(publishers)) - except (KeyError, ConnectionResetError): - print(colorize("Please re-check your input. Oracle txid seems not valid.", "red")) - pass - print(colorize('_' * 65, "blue")) - print("\n") - if publishers == 0: - print(colorize("This oracle have no publishers to subscribe.\n" - "Please register as an oracle publisher first and/or wait since registration transaciton mined!", "red")) - input("Press [Enter] to continue...") - break - publisher_id = input("Input oracle publisher id you want to subscribe to: ") - data_fee = input("Input subscription fee (in COINS!): ") - utxo_num = int(input("Input how many transactions you want to broadcast: ")) - except KeyboardInterrupt: - break - while utxo_num > 0: - while True: - oracle_subscription_hex = rpclib.oracles_subscribe(rpc_connection, oracle_id, publisher_id, data_fee) - oracle_subscription_txid = rpclib.sendrawtransaction(rpc_connection, oracle_subscription_hex['hex']) - mempool = rpclib.get_rawmempool(rpc_connection) - if oracle_subscription_txid in mempool: - break - else: - pass - print(colorize("Oracle subscription transaction broadcasted: " + oracle_subscription_txid, "green")) - utxo_num = utxo_num - 1 - input("Press [Enter] to continue...") - break - -def gateways_bind_tui(rpc_connection): - # main loop with keyboard interrupt handling - while True: - try: - while True: - try: - print(colorize("Tokens created from this instance by TUI: \n", "blue")) - with open("tokens_list", "r") as file: - for oracle in file: - print(oracle) - print(colorize('_' * 65, "blue")) - print("\n") - except FileNotFoundError: - print("Seems like a no oracles created from this instance yet\n") - pass - token_id = input("Input id of token you want to use in gw bind: ") - try: - token_name = rpclib.token_info(rpc_connection, token_id)["name"] - except KeyError: - print(colorize("Not valid tokenid. Please try again.", "red")) - input("Press [Enter] to continue...") - token_info = rpclib.token_info(rpc_connection, token_id) - print(colorize("\n{} token total supply: {}\n".format(token_id, token_info["supply"]), "blue")) - token_supply = input("Input supply for token binding: ") - try: - print(colorize("\nOracles created from this instance by TUI: \n", "blue")) - with open("oracles_list", "r") as file: - for oracle in file: - print(oracle) - print(colorize('_' * 65, "blue")) - print("\n") - except FileNotFoundError: - print("Seems like a no oracles created from this instance yet\n") - pass - oracle_id = input("Input id of oracle you want to use in gw bind: ") - try: - oracle_name = rpclib.oracles_info(rpc_connection, oracle_id)["name"] - except KeyError: - print(colorize("Not valid oracleid. Please try again.", "red")) - input("Press [Enter] to continue...") - while True: - coin_name = input("Input external coin ticker (binded oracle and token need to have same name!): ") - if token_name == oracle_name and token_name == coin_name: - break - else: - print(colorize("Token name, oracle name and external coin ticker should match!", "red")) - while True: - M = input("Input minimal amount of pubkeys needed for transaction confirmation (1 for non-multisig gw): ") - N = input("Input maximal amount of pubkeys needed for transaction confirmation (1 for non-multisig gw): ") - if (int(N) >= int(M)): - break - else: - print("Maximal amount of pubkeys should be more or equal than minimal. Please try again.") - pubkeys = [] - for i in range(int(N)): - pubkeys.append(input("Input pubkey {}: ".format(i+1))) - pubtype = input("Input pubtype of external coin: ") - p2shtype = input("Input p2shtype of external coin: ") - wiftype = input("Input wiftype of external coin: ") - args = [rpc_connection, token_id, oracle_id, coin_name, token_supply, M, N] - new_args = [str(pubtype), str(p2shtype), wiftype] - args = args + pubkeys + new_args - # broadcasting block - try: - gateways_bind_hex = rpclib.gateways_bind(*args) - except Exception as e: - print(e) - input("Press [Enter] to continue...") - break - try: - gateways_bind_txid = rpclib.sendrawtransaction(rpc_connection, gateways_bind_hex["hex"]) - except Exception as e: - print(e) - print(gateways_bind_hex) - input("Press [Enter] to continue...") - break - else: - print(colorize("Gateway bind transaction broadcasted: " + gateways_bind_txid, "green")) - file = open("gateways_list", "a") - file.writelines(gateways_bind_txid + "\n") - file.close() - print(colorize("Entry added to gateways_list file!\n", "green")) - input("Press [Enter] to continue...") - break - break - except KeyboardInterrupt: - break - -# temporary :trollface: custom connection function solution -# to have connection to KMD daemon and cache it in separate file - - -def rpc_kmd_connection_tui(): - while True: - restore_choice = input("Do you want to use KMD daemon connection details from previous session? [y/n]: ") - if restore_choice == "y": - try: - with open("connection_kmd.json", "r") as file: - connection_json = json.load(file) - rpc_user = connection_json["rpc_user"] - rpc_password = connection_json["rpc_password"] - rpc_port = connection_json["rpc_port"] - rpc_connection_kmd = rpclib.rpc_connect(rpc_user, rpc_password, int(rpc_port)) - try: - print(rpc_connection_kmd.getinfo()) - print(colorize("Successfully connected!\n", "green")) - input("Press [Enter] to continue...") - break - except Exception as e: - print(e) - print(colorize("NOT CONNECTED!\n", "red")) - input("Press [Enter] to continue...") - break - except FileNotFoundError: - print(colorize("You do not have cached KMD daemon connection details." - " Please select n for connection setup", "red")) - input("Press [Enter] to continue...") - elif restore_choice == "n": - rpc_user = input("Input your rpc user: ") - rpc_password = input("Input your rpc password: ") - rpc_port = input("Input your rpc port: ") - connection_details = {"rpc_user": rpc_user, - "rpc_password": rpc_password, - "rpc_port": rpc_port} - connection_json = json.dumps(connection_details) - with open("connection_kmd.json", "w+") as file: - file.write(connection_json) - rpc_connection_kmd = rpclib.rpc_connect(rpc_user, rpc_password, int(rpc_port)) - try: - print(rpc_connection_kmd.getinfo()) - print(colorize("Successfully connected!\n", "green")) - input("Press [Enter] to continue...") - break - except Exception as e: - print(e) - print(colorize("NOT CONNECTED!\n", "red")) - input("Press [Enter] to continue...") - break - else: - print(colorize("Please input y or n", "red")) - return rpc_connection_kmd - - -def z_sendmany_twoaddresses(rpc_connection, sendaddress, recepient1, amount1, recepient2, amount2): - str_sending_block = "[{{\"address\":\"{}\",\"amount\":{}}},{{\"address\":\"{}\",\"amount\":{}}}]".format(recepient1, amount1, recepient2, amount2) - sending_block = json.loads(str_sending_block) - operation_id = rpc_connection.z_sendmany(sendaddress,sending_block) - return operation_id - - -def operationstatus_to_txid(rpc_connection, zstatus): - str_sending_block = "[\"{}\"]".format(zstatus) - sending_block = json.loads(str_sending_block) - operation_json = rpc_connection.z_getoperationstatus(sending_block) - operation_dump = json.dumps(operation_json) - operation_dict = json.loads(operation_dump)[0] - txid = operation_dict['result']['txid'] - return txid - - -def gateways_send_kmd(rpc_connection): - # TODO: have to handle CTRL+C on text input - print(colorize("Please be carefull when input wallet addresses and amounts since all transactions doing in real KMD!", "pink")) - print("Your addresses with balances: ") - list_address_groupings = rpc_connection.listaddressgroupings() - for address in list_address_groupings: - print(str(address) + "\n") - sendaddress = input("Input address from which you transfer KMD: ") - recepient1 = input("Input address which belongs to pubkey which will receive tokens: ") - amount1 = 0.0001 - recepient2 = input("Input gateway deposit address: ") - file = open("deposits_list", "a") - #have to show here deposit addresses for gateways created by user - amount2 = input("Input how many KMD you want to deposit on this gateway: ") - operation = z_sendmany_twoaddresses(rpc_connection, sendaddress, recepient1, amount1, recepient2, amount2) - print("Operation proceed! " + str(operation) + " Let's wait 2 seconds to get txid") - # trying to avoid pending status of operation - time.sleep(2) - txid = operationstatus_to_txid(rpc_connection, operation) - file.writelines(txid + "\n") - file.close() - print(colorize("KMD Transaction ID: " + str(txid) + " Entry added to deposits_list file", "green")) - input("Press [Enter] to continue...") - - -def gateways_deposit_tui(rpc_connection_assetchain, rpc_connection_komodo): - while True: - bind_txid = input("Input your gateway bind txid: ") - coin_name = input("Input your external coin ticker (e.g. KMD): ") - coin_txid = input("Input your deposit txid: ") - dest_pub = input("Input pubkey which claim deposit: ") - amount = input("Input amount of your deposit: ") - height = rpc_connection_komodo.getrawtransaction(coin_txid, 1)["height"] - deposit_hex = rpc_connection_komodo.getrawtransaction(coin_txid, 1)["hex"] - claim_vout = "0" - proof_sending_block = "[\"{}\"]".format(coin_txid) - proof = rpc_connection_komodo.gettxoutproof(json.loads(proof_sending_block)) - deposit_hex = rpclib.gateways_deposit(rpc_connection_assetchain, bind_txid, str(height), coin_name, \ - coin_txid, claim_vout, deposit_hex, proof, dest_pub, amount) - print(deposit_hex) - deposit_txid = rpclib.sendrawtransaction(rpc_connection_assetchain, deposit_hex["hex"]) - print("Done! Gateways deposit txid is: " + deposit_txid + " Please not forget to claim your deposit!") - input("Press [Enter] to continue...") - break - - -def gateways_claim_tui(rpc_connection): - while True: - bind_txid = input("Input your gateway bind txid: ") - coin_name = input("Input your external coin ticker (e.g. KMD): ") - deposit_txid = input("Input your gatewaysdeposit txid: ") - dest_pub = input("Input pubkey which claim deposit: ") - amount = input("Input amount of your deposit: ") - claim_hex = rpclib.gateways_claim(rpc_connection, bind_txid, coin_name, deposit_txid, dest_pub, amount) - try: - claim_txid = rpclib.sendrawtransaction(rpc_connection, claim_hex["hex"]) - except Exception as e: - print(e) - print(claim_hex) - input("Press [Enter] to continue...") - break - else: - print("Succesfully claimed! Claim transaction id: " + claim_txid) - input("Press [Enter] to continue...") - break - - -def gateways_withdrawal_tui(rpc_connection): - while True: - bind_txid = input("Input your gateway bind txid: ") - coin_name = input("Input your external coin ticker (e.g. KMD): ") - withdraw_pub = input("Input pubkey to which you want to withdraw: ") - amount = input("Input amount of withdrawal: ") - withdraw_hex = rpclib.gateways_withdraw(rpc_connection, bind_txid, coin_name, withdraw_pub, amount) - withdraw_txid = rpclib.sendrawtransaction(rpc_connection, withdraw_hex["hex"]) - print(withdraw_txid) - input("Press [Enter] to continue...") - break - - -def print_mempool(rpc_connection): - while True: - mempool = rpclib.get_rawmempool(rpc_connection) - tx_counter = 0 - print(colorize("Transactions in mempool: \n", "magenta")) - for transaction in mempool: - print(transaction + "\n") - tx_counter = tx_counter + 1 - print("Total: " + str(tx_counter) + " transactions\n") - print("R + Enter to refresh list. E + Enter to exit menu." + "\n") - is_refresh = input("Choose your destiny: ") - if is_refresh == "R": - print("\n") - pass - elif is_refresh == "E": - print("\n") - break - else: - print("\nPlease choose R or E\n") - - -def print_tokens_list(rpc_connection): - # TODO: have to print it with tokeninfo to have sense - pass - - -def print_tokens_balances(rpc_connection): - # TODO: checking tokenbalance for each token from tokenlist and reflect non zero ones - pass - - -def hexdump(filename, chunk_size=1<<15): - data = "" - #add_spaces = partial(re.compile(b'(..)').sub, br'\1 ') - #write = getattr(sys.stdout, 'buffer', sys.stdout).write - with open(filename, 'rb') as file: - for chunk in iter(partial(file.read, chunk_size), b''): - data += str(hexlify(chunk).decode()) - return data - - -def convert_file_oracle_d(rpc_connection): - while True: - path = input("Input path to file you want to upload to oracle: ") - try: - hex_data = (hexdump(path, 1))[2:] - except Exception as e: - print(e) - print("Seems something goes wrong (I guess you've specified wrong path)!") - input("Press [Enter] to continue...") - break - else: - length = round(len(hex_data) / 2) - if length > 256: - print("Length: " + str(length) + " bytes") - print("File is too big for this app") - input("Press [Enter] to continue...") - break - else: - hex_length = format(length, '#04x')[2:] - data_for_oracle = str(hex_length) + hex_data - print("File hex representation: \n") - print(data_for_oracle + "\n") - print("Length: " + str(length) + " bytes") - print("File converted!") - new_oracle_hex = rpclib.oracles_create(rpc_connection, "tonyconvert", path, "d") - new_oracle_txid = rpclib.sendrawtransaction(rpc_connection, new_oracle_hex["hex"]) - time.sleep(0.5) - oracle_register_hex = rpclib.oracles_register(rpc_connection, new_oracle_txid, "10000") - oracle_register_txid = rpclib.sendrawtransaction(rpc_connection, oracle_register_hex["hex"]) - time.sleep(0.5) - oracle_subscribe_hex = rpclib.oracles_subscribe(rpc_connection, new_oracle_txid, rpclib.getinfo(rpc_connection)["pubkey"], "0.001") - oracle_subscribe_txid = rpclib.sendrawtransaction(rpc_connection, oracle_subscribe_hex["hex"]) - time.sleep(0.5) - while True: - mempool = rpclib.get_rawmempool(rpc_connection) - if oracle_subscribe_txid in mempool: - print("Waiting for oracle subscribtion tx to be mined" + "\n") - time.sleep(6) - pass - else: - break - oracles_data_hex = rpclib.oracles_data(rpc_connection, new_oracle_txid, data_for_oracle) - try: - oracle_data_txid = rpclib.sendrawtransaction(rpc_connection, oracles_data_hex["hex"]) - except Exception as e: - print(oracles_data_hex) - print(e) - print("Oracle created: " + str(new_oracle_txid)) - print("Data published: " + str(oracle_data_txid)) - input("Press [Enter] to continue...") - break - - -def convert_file_oracle_D(rpc_connection): - while True: - path = input("Input path to file you want to upload to oracle: ") - try: - hex_data = (hexdump(path, 1)) - except Exception as e: - print(e) - print("Seems something goes wrong (I guess you've specified wrong path)!") - input("Press [Enter] to continue...") - break - else: - length = round(len(hex_data) / 2) - # if length > 800000: - # print("Too big file size to upload for this version of program. Maximum size is 800KB.") - # input("Press [Enter] to continue...") - # break - if length > 8000: - # if file is more than 8000 bytes - slicing it to <= 8000 bytes chunks (16000 symbols = 8000 bytes) - data = [hex_data[i:i + 16000] for i in range(0, len(hex_data), 16000)] - chunks_amount = len(data) - # TODO: have to create oracle but subscribe this time chunks amount times to send whole file in same block - # TODO: 2 - on some point file will not fit block - have to find this point - # TODO: 3 way how I want to implement it first will keep whole file in RAM - have to implement some way to stream chunks to oracle before whole file readed - # TODO: have to "optimise" registration fee - # Maybe just check size first by something like a du ? - print("Length: " + str(length) + " bytes.\n Chunks amount: " + str(chunks_amount)) - new_oracle_hex = rpclib.oracles_create(rpc_connection, "tonyconvert_" + str(chunks_amount), path, "D") - new_oracle_txid = rpclib.sendrawtransaction(rpc_connection, new_oracle_hex["hex"]) - time.sleep(0.5) - oracle_register_hex = rpclib.oracles_register(rpc_connection, new_oracle_txid, "10000") - oracle_register_txid = rpclib.sendrawtransaction(rpc_connection, oracle_register_hex["hex"]) - # subscribe chunks_amount + 1 times, but lets limit our broadcasting 100 tx per block (800KB/block) - if chunks_amount > 100: - utxo_num = 101 - else: - utxo_num = chunks_amount - while utxo_num > 0: - while True: - oracle_subscription_hex = rpclib.oracles_subscribe(rpc_connection, new_oracle_txid, rpclib.getinfo(rpc_connection)["pubkey"], "0.001") - oracle_subscription_txid = rpclib.sendrawtransaction(rpc_connection, - oracle_subscription_hex['hex']) - mempool = rpclib.get_rawmempool(rpc_connection) - if oracle_subscription_txid in mempool: - break - else: - pass - print(colorize("Oracle subscription transaction broadcasted: " + oracle_subscription_txid, "green")) - utxo_num = utxo_num - 1 - # waiting for last broadcasted subscribtion transaction to be mined to be sure that money are on oracle balance - while True: - mempool = rpclib.get_rawmempool(rpc_connection) - if oracle_subscription_txid in mempool: - print("Waiting for oracle subscribtion tx to be mined" + "\n") - time.sleep(6) - pass - else: - break - print("Oracle preparation is finished. Oracle txid: " + new_oracle_txid) - # can publish data now - counter = 0 - for chunk in data: - hex_length_bigendian = format(round(len(chunk) / 2), '#06x')[2:] - # swap to get little endian length - a = hex_length_bigendian[2:] - b = hex_length_bigendian[:2] - hex_length = a + b - data_for_oracle = str(hex_length) + chunk - counter = counter + 1 - # print("Chunk number: " + str(counter) + "\n") - # print(data_for_oracle) - try: - oracles_data_hex = rpclib.oracles_data(rpc_connection, new_oracle_txid, data_for_oracle) - except Exception as e: - print(data_for_oracle) - print(e) - input("Press [Enter] to continue...") - break - # on broadcasting ensuring that previous one reached mempool before blast next one - while True: - mempool = rpclib.get_rawmempool(rpc_connection) - oracle_data_txid = rpclib.sendrawtransaction(rpc_connection, oracles_data_hex["hex"]) - #time.sleep(0.1) - if oracle_data_txid in mempool: - break - else: - pass - # blasting not more than 100 at once (so maximum capacity per block can be changed here) - # but keep in mind that registration UTXOs amount needs to be changed too ! - if counter % 100 == 0 and chunks_amount > 100: - while True: - mempool = rpclib.get_rawmempool(rpc_connection) - if oracle_data_txid in mempool: - print("Waiting for previous data chunks to be mined before send new ones" + "\n") - print("Sent " + str(counter) + " chunks from " + str(chunks_amount)) - time.sleep(6) - pass - else: - break - - print("Last baton: " + oracle_data_txid) - input("Press [Enter] to continue...") - break - # if file suits single oraclesdata just broadcasting it straight without any slicing - else: - hex_length_bigendian = format(length, '#06x')[2:] - # swap to get little endian length - a = hex_length_bigendian[2:] - b = hex_length_bigendian[:2] - hex_length = a + b - data_for_oracle = str(hex_length) + hex_data - print("File hex representation: \n") - print(data_for_oracle + "\n") - print("Length: " + str(length) + " bytes") - print("File converted!") - new_oracle_hex = rpclib.oracles_create(rpc_connection, "tonyconvert_" + "1", path, "D") - new_oracle_txid = rpclib.sendrawtransaction(rpc_connection, new_oracle_hex["hex"]) - time.sleep(0.5) - oracle_register_hex = rpclib.oracles_register(rpc_connection, new_oracle_txid, "10000") - oracle_register_txid = rpclib.sendrawtransaction(rpc_connection, oracle_register_hex["hex"]) - time.sleep(0.5) - oracle_subscribe_hex = rpclib.oracles_subscribe(rpc_connection, new_oracle_txid, rpclib.getinfo(rpc_connection)["pubkey"], "0.001") - oracle_subscribe_txid = rpclib.sendrawtransaction(rpc_connection, oracle_subscribe_hex["hex"]) - time.sleep(0.5) - while True: - mempool = rpclib.get_rawmempool(rpc_connection) - if oracle_subscribe_txid in mempool: - print("Waiting for oracle subscribtion tx to be mined" + "\n") - time.sleep(6) - pass - else: - break - oracles_data_hex = rpclib.oracles_data(rpc_connection, new_oracle_txid, data_for_oracle) - try: - oracle_data_txid = rpclib.sendrawtransaction(rpc_connection, oracles_data_hex["hex"]) - except Exception as e: - print(oracles_data_hex) - print(e) - input("Press [Enter] to continue...") - break - else: - print("Oracle created: " + str(new_oracle_txid)) - print("Data published: " + str(oracle_data_txid)) - input("Press [Enter] to continue...") - break - - -def get_files_list(rpc_connection): - - start_time = time.time() - oracles_list = rpclib.oracles_list(rpc_connection) - files_list = [] - for oracle_txid in oracles_list: - oraclesinfo_result = rpclib.oracles_info(rpc_connection, oracle_txid) - description = oraclesinfo_result['description'] - name = oraclesinfo_result['name'] - if name[0:12] == 'tonyconvert_': - new_file = '[' + name + ': ' + description + ']: ' + oracle_txid - files_list.append(new_file) - print("--- %s seconds ---" % (time.time() - start_time)) - return files_list - - -def display_files_list(rpc_connection): - print("Scanning oracles. Please wait...") - list_to_display = get_files_list(rpc_connection) - while True: - for file in list_to_display: - print(file + "\n") - input("Press [Enter] to continue...") - break - - -def files_downloader(rpc_connection): - while True: - display_files_list(rpc_connection) - print("\n") - oracle_id = input("Input oracle ID you want to download file from: ") - output_path = input("Input output path for downloaded file (name included) e.g. /home/test.txt: ") - oracle_info = rpclib.oracles_info(rpc_connection, oracle_id) - name = oracle_info['name'] - latest_baton_txid = oracle_info['registered'][0]['batontxid'] - if name[0:12] == 'tonyconvert_': - # downloading process here - chunks_amount = int(name[12:]) - data = rpclib.oracles_samples(rpc_connection, oracle_id, latest_baton_txid, str(chunks_amount))["samples"] - for chunk in reversed(data): - with open(output_path, 'ab+') as file: - file.write(unhexlify(chunk[0])) - print("I hope that file saved to " + output_path + "\n") - input("Press [Enter] to continue...") - break - - else: - print("I cant recognize file inside this oracle. I'm very sorry, boss.") - input("Press [Enter] to continue...") - break - - -def marmara_receive_tui(rpc_connection): - while True: - issuer_pubkey = input("Input pubkey of person who do you want to receive MARMARA from: ") - issuance_sum = input("Input amount of MARMARA you want to receive: ") - blocks_valid = input("Input amount of blocks for cheque matures: ") - try: - marmara_receive_txinfo = rpc_connection.marmarareceive(issuer_pubkey, issuance_sum, "MARMARA", blocks_valid) - marmara_receive_txid = rpc_connection.sendrawtransaction(marmara_receive_txinfo["hex"]) - print("Marmara receive txid broadcasted: " + marmara_receive_txid + "\n") - print(json.dumps(marmara_receive_txinfo, indent=4, sort_keys=True) + "\n") - with open("receive_txids.txt", 'a+') as file: - file.write(marmara_receive_txid + "\n") - file.write(json.dumps(marmara_receive_txinfo, indent=4, sort_keys=True) + "\n") - print("Transaction id is saved to receive_txids.txt file.") - input("Press [Enter] to continue...") - break - except Exception as e: - print(marmara_receive_txinfo) - print(e) - print("Something went wrong. Please check your input") - - -def marmara_issue_tui(rpc_connection): - while True: - receiver_pubkey = input("Input pubkey of person who do you want to issue MARMARA: ") - issuance_sum = input("Input amount of MARMARA you want to issue: ") - maturing_block = input("Input number of block on which issuance mature: ") - approval_txid = input("Input receiving request transaction id: ") - try: - marmara_issue_txinfo = rpc_connection.marmaraissue(receiver_pubkey, issuance_sum, "MARMARA", maturing_block, approval_txid) - marmara_issue_txid = rpc_connection.sendrawtransaction(marmara_issue_txinfo["hex"]) - print("Marmara issuance txid broadcasted: " + marmara_issue_txid + "\n") - print(json.dumps(marmara_issue_txinfo, indent=4, sort_keys=True) + "\n") - with open("issue_txids.txt", "a+") as file: - file.write(marmara_issue_txid + "\n") - file.write(json.dumps(marmara_issue_txinfo, indent=4, sort_keys=True) + "\n") - print("Transaction id is saved to issue_txids.txt file.") - input("Press [Enter] to continue...") - break - except Exception as e: - print(marmara_issue_txinfo) - print(e) - print("Something went wrong. Please check your input") - - -def marmara_creditloop_tui(rpc_connection): - while True: - loop_txid = input("Input transaction ID of credit loop you want to get info about: ") - try: - marmara_creditloop_info = rpc_connection.marmaracreditloop(loop_txid) - print(json.dumps(marmara_creditloop_info, indent=4, sort_keys=True) + "\n") - input("Press [Enter] to continue...") - break - except Exception as e: - print(marmara_creditloop_info) - print(e) - print("Something went wrong. Please check your input") - - -def marmara_settlement_tui(rpc_connection): - while True: - loop_txid = input("Input transaction ID of credit loop to make settlement: ") - try: - marmara_settlement_info = rpc_connection.marmarasettlement(loop_txid) - marmara_settlement_txid = rpc_connection.sendrawtransaction(marmara_settlement_info["hex"]) - print("Loop " + loop_txid + " succesfully settled!\nSettlement txid: " + marmara_settlement_txid) - with open("settlement_txids.txt", "a+") as file: - file.write(marmara_settlement_txid + "\n") - file.write(json.dumps(marmara_settlement_info, indent=4, sort_keys=True) + "\n") - print("Transaction id is saved to settlement_txids.txt file.") - input("Press [Enter] to continue...") - break - except Exception as e: - print(marmara_settlement_info) - print(e) - print("Something went wrong. Please check your input") - input("Press [Enter] to continue...") - break - - -def marmara_lock_tui(rpc_connection): - while True: - amount = input("Input amount of coins you want to lock for settlement and staking: ") - unlock_height = input("Input height on which coins should be unlocked: ") - try: - marmara_lock_info = rpc_connection.marmaralock(amount, unlock_height) - marmara_lock_txid = rpc_connection.sendrawtransaction(marmara_lock_info["hex"]) - with open("lock_txids.txt", "a+") as file: - file.write(marmara_lock_txid + "\n") - file.write(json.dumps(marmara_lock_info, indent=4, sort_keys=True) + "\n") - print("Transaction id is saved to lock_txids.txt file.") - input("Press [Enter] to continue...") - break - except Exception as e: - print(e) - print("Something went wrong. Please check your input") - input("Press [Enter] to continue...") - break - - -def marmara_info_tui(rpc_connection): - while True: - firstheight = input("Input first height (default 0): ") - if not firstheight: - firstheight = "0" - lastheight = input("Input last height (default current (0) ): ") - if not lastheight: - lastheight = "0" - minamount = input("Input min amount (default 0): ") - if not minamount: - minamount = "0" - maxamount = input("Input max amount (default 0): ") - if not maxamount: - maxamount = "0" - issuerpk = input("Optional. Input issuer public key: ") - try: - if issuerpk: - marmara_info = rpc_connection.marmarainfo(firstheight, lastheight, minamount, maxamount, "MARMARA", issuerpk) - else: - marmara_info = rpc_connection.marmarainfo(firstheight, lastheight, minamount, maxamount) - print(json.dumps(marmara_info, indent=4, sort_keys=True) + "\n") - input("Press [Enter] to continue...") - break - except Exception as e: - print(marmara_info) - print(e) - print("Something went wrong. Please check your input") - input("Press [Enter] to continue...") - break - - -def rogue_game_info(rpc_connection, game_txid): - game_info_arg = '"' + "[%22" + game_txid + "%22]" + '"' - game_info = rpc_connection.cclib("gameinfo", "17", game_info_arg) - return game_info - - -def rogue_game_register(rpc_connection, game_txid, player_txid = False): - if player_txid: - registration_info_arg = '"' + "[%22" + game_txid + "%22,%22" + player_txid + "%22]" + '"' - else: - registration_info_arg = '"' + "[%22" + game_txid + "%22]" + '"' - registration_info = rpc_connection.cclib("register", "17", registration_info_arg) - return registration_info - - -def rogue_pending(rpc_connection): - rogue_pending_list = rpc_connection.cclib("pending", "17") - return rogue_pending_list - - -def rogue_bailout(rpc_connection, game_txid): - bailout_info_arg = '"' + "[%22" + game_txid + "%22]" + '"' - bailout_info = rpc_connection.cclib("bailout", "17", bailout_info_arg) - return bailout_info - - -def rogue_highlander(rpc_connection, game_txid): - highlander_info_arg = '"' + "[%22" + game_txid + "%22]" + '"' - highlander_info = rpc_connection.cclib("highlander", "17", highlander_info_arg) - return highlander_info - - -def rogue_players_list(rpc_connection): - rogue_players_list = rpc_connection.cclib("players", "17") - return rogue_players_list - - -def rogue_player_info(rpc_connection, playertxid): - player_info_arg = '"' + "[%22" + playertxid + "%22]" + '"' - player_info = rpc_connection.cclib("playerinfo", "17", player_info_arg) - return player_info - - -def rogue_extract(rpc_connection, game_txid, pubkey): - extract_info_arg = '"' + "[%22" + game_txid + "%22,%22" + pubkey + "%22]" + '"' - extract_info = rpc_connection.cclib("extract", "17", extract_info_arg) - return extract_info - - -def rogue_keystrokes(rpc_connection, game_txid, keystroke): - rogue_keystrokes_arg = '"' + "[%22" + game_txid + "%22,%22" + keystroke + "%22]" + '"' - keystroke_info = rpc_connection.cclib("keystrokes", "17", rogue_keystrokes_arg) - return keystroke_info - - -def print_multiplayer_games_list(rpc_connection): - while True: - pending_list = rogue_pending(rpc_connection) - multiplayer_pending_list = [] - for game in pending_list["pending"]: - if rogue_game_info(rpc_connection, game)["maxplayers"] > 1: - multiplayer_pending_list.append(game) - print("Multiplayer games availiable to join: \n") - for active_multiplayer_game in multiplayer_pending_list: - game_info = rogue_game_info(rpc_connection, active_multiplayer_game) - print(colorize("\n================================\n", "green")) - print("Game txid: " + game_info["gametxid"]) - print("Game buyin: " + str(game_info["buyin"])) - print("Game height: " + str(game_info["gameheight"])) - print("Start height: " + str(game_info["start"])) - print("Alive players: " + str(game_info["alive"])) - print("Registered players: " + str(game_info["numplayers"])) - print("Max players: " + str(game_info["maxplayers"])) - print(colorize("\n***\n", "blue")) - print("Players in game:") - for player in game_info["players"]: - print("Slot: " + str(player["slot"])) - if "baton" in player.keys(): - print("Baton: " + str(player["baton"])) - if "tokenid" in player.keys(): - print("Tokenid: " + str(player["tokenid"])) - print("Is mine?: " + str(player["ismine"])) - print(colorize("\nR + Enter - refresh list.\nE + Enter - to the game choice.\nCTRL + C - back to main menu", "blue")) - is_refresh = input("Choose your destiny: ") - if is_refresh == "R": - print("\n") - pass - elif is_refresh == "E": - print("\n") - break - else: - print("\nPlease choose R or E\n") - - -def rogue_newgame_singleplayer(rpc_connection, is_game_a_rogue=True): - try: - if is_game_a_rogue: - new_game_txid = rpc_connection.cclib("newgame", "17", "[1]")["txid"] - print("New singleplayer training game succesfully created. txid: " + new_game_txid) - while True: - mempool = rpc_connection.getrawmempool() - if new_game_txid in mempool: - print(colorize("Waiting for game transaction to be mined", "blue")) - time.sleep(5) - else: - print(colorize("Game transaction is mined", "green")) - break - else: - pending_games = rpc_connection.cclib("pending", "17")["pending"] - new_game_txid = random.choice(pending_games) - if is_game_a_rogue: - players_list = rogue_players_list(rpc_connection) - if len(players_list["playerdata"]) > 0: - print_players_list(rpc_connection) - while True: - is_choice_needed = input("Do you want to choose a player for this game? [y/n] ") - if is_choice_needed == "y": - player_txid = input("Please input player txid: ") - newgame_regisration_txid = rogue_game_register(rpc_connection, new_game_txid, player_txid)["txid"] - break - elif is_choice_needed == "n": - set_warriors_name(rpc_connection) - newgame_regisration_txid = rogue_game_register(rpc_connection, new_game_txid)["txid"] - break - else: - print("Please choose y or n !") - else: - print("No players available to select") - input("Press [Enter] to continue...") - newgame_regisration_txid = rogue_game_register(rpc_connection, new_game_txid)["txid"] - else: - newgame_regisration_txid = rogue_game_register(rpc_connection, new_game_txid)["txid"] - while True: - mempool = rpc_connection.getrawmempool() - if newgame_regisration_txid in mempool: - print(colorize("Waiting for registration transaction to be mined", "blue")) - time.sleep(5) - else: - print(colorize("Registration transaction is mined", "green")) - break - game_info = rogue_game_info(rpc_connection, new_game_txid) - start_time = time.time() - while True: - if is_game_a_rogue: - subprocess.call(["../cc/rogue/rogue", str(game_info["seed"]), str(game_info["gametxid"])]) - else: - subprocess.call(["../cc/games/tetris", str(game_info["seed"]), str(game_info["gametxid"])]) - time_elapsed = time.time() - start_time - if time_elapsed > 1: - break - else: - print("Game less than 1 second. Trying to start again") - time.sleep(1) - game_end_height = int(rpc_connection.getinfo()["blocks"]) - while True: - current_height = int(rpc_connection.getinfo()["blocks"]) - height_difference = current_height - game_end_height - if height_difference == 0: - print(current_height) - print(game_end_height) - print(colorize("Waiting for next block before bailout", "blue")) - time.sleep(5) - else: - break - #print("\nKeystrokes of this game:\n") - #time.sleep(0.5) - while True: - keystrokes_rpc_responses = find_game_keystrokes_in_log(new_game_txid)[1::2] - if len(keystrokes_rpc_responses) < 1: - print("No keystrokes broadcasted yet. Let's wait 5 seconds") - time.sleep(5) - else: - break - #print(keystrokes_rpc_responses) - for keystroke in keystrokes_rpc_responses: - json_keystroke = json.loads(keystroke)["result"] - if "status" in json_keystroke.keys() and json_keystroke["status"] == "error": - while True: - print("Trying to re-brodcast keystroke") - keystroke_rebroadcast = rogue_keystrokes(rpc_connection, json_keystroke["gametxid"], json_keystroke["keystrokes"]) - if "txid" in keystroke_rebroadcast.keys(): - print("Keystroke broadcasted! txid: " + keystroke_rebroadcast["txid"]) - break - else: - print("Let's try again in 5 seconds") - time.sleep(5) - # waiting for last keystroke confirmation here - last_keystroke_json = json.loads(keystrokes_rpc_responses[-1]) - while True: - while True: - try: - rpc_connection.sendrawtransaction(last_keystroke_json["result"]["hex"]) - except Exception as e: - pass - try: - confirmations_amount = rpc_connection.getrawtransaction(last_keystroke_json["result"]["txid"], 1)["confirmations"] - break - except Exception as e: - print(e) - print("Let's wait a little bit more") - time.sleep(5) - pass - if confirmations_amount < 1: - print("Last keystroke not confirmed yet! Let's wait a little") - time.sleep(10) - else: - print("Last keystroke confirmed!") - break - while True: - print("\nExtraction info:\n") - extraction_info = rogue_extract(rpc_connection, new_game_txid, rpc_connection.getinfo()["pubkey"]) - if extraction_info["status"] == "error": - print(colorize("Your warrior died or no any information about game was saved on blockchain", "red")) - print("If warrior was alive - try to wait a little (choose n to wait for a next block). If he is dead - you can bailout now (choose y).") - else: - print("Current game state:") - print("Game txid: " + extraction_info["gametxid"]) - print("Information about game saved on chain: " + extraction_info["extracted"]) - print("\n") - is_bailout_needed = input("Do you want to make bailout now [y] or wait for one more block [n]? [y/n]: ") - if is_bailout_needed == "y": - bailout_info = rogue_bailout(rpc_connection, new_game_txid) - if is_game_a_rogue: - while True: - try: - confirmations_amount = rpc_connection.getrawtransaction(bailout_info["txid"], 1)["confirmations"] - break - except Exception as e: - print(e) - print("Bailout not on blockchain yet. Let's wait a little bit more") - time.sleep(20) - pass - break - elif is_bailout_needed == "n": - game_end_height = int(rpc_connection.getinfo()["blocks"]) - while True: - current_height = int(rpc_connection.getinfo()["blocks"]) - height_difference = current_height - game_end_height - if height_difference == 0: - print(current_height) - print(game_end_height) - print(colorize("Waiting for next block before bailout", "blue")) - time.sleep(5) - else: - break - else: - print("Please choose y or n !") - print(bailout_info) - print("\nGame is finished!\n") - bailout_txid = bailout_info["txid"] - input("Press [Enter] to continue...") - except Exception as e: - print("Something went wrong.") - print(e) - input("Press [Enter] to continue...") - - -def play_multiplayer_game(rpc_connection): - # printing list of user active multiplayer games - active_games_list = rpc_connection.cclib("games", "17")["games"] - active_multiplayer_games_list = [] - for game in active_games_list: - gameinfo = rogue_game_info(rpc_connection, game) - if gameinfo["maxplayers"] > 1: - active_multiplayer_games_list.append(gameinfo) - games_counter = 0 - for active_multiplayer_game in active_multiplayer_games_list: - games_counter = games_counter + 1 - is_ready_to_start = False - try: - active_multiplayer_game["seed"] - is_ready_to_start = True - except Exception as e: - pass - print(colorize("\n================================\n", "green")) - print("Game txid: " + active_multiplayer_game["gametxid"]) - print("Game buyin: " + str(active_multiplayer_game["buyin"])) - if is_ready_to_start: - print(colorize("Ready for start!", "green")) - else: - print(colorize("Not ready for start yet, wait until start height!", "red")) - print("Game height: " + str(active_multiplayer_game["gameheight"])) - print("Start height: " + str(active_multiplayer_game["start"])) - print("Alive players: " + str(active_multiplayer_game["alive"])) - print("Registered players: " + str(active_multiplayer_game["numplayers"])) - print("Max players: " + str(active_multiplayer_game["maxplayers"])) - print(colorize("\n***\n", "blue")) - print("Players in game:") - for player in active_multiplayer_game["players"]: - print("Slot: " + str(player["slot"])) - print("Baton: " + str(player["baton"])) - print("Tokenid: " + str(player["tokenid"])) - print("Is mine?: " + str(player["ismine"])) - # asking user if he want to start any of them - while True: - start_game = input("\nDo you want to start any of your pendning multiplayer games?[y/n]: ") - if start_game == "y": - new_game_txid = input("Input txid of game which you want to start: ") - game_info = rogue_game_info(rpc_connection, new_game_txid) - try: - start_time = time.time() - while True: - subprocess.call(["cc/rogue/rogue", str(game_info["seed"]), str(game_info["gametxid"])]) - time_elapsed = time.time() - start_time - if time_elapsed > 1: - break - else: - print("Game less than 1 second. Trying to start again") - time.sleep(1) - except Exception as e: - print("Maybe game isn't ready for start yet or your input was not correct, sorry.") - input("Press [Enter] to continue...") - break - game_end_height = int(rpc_connection.getinfo()["blocks"]) - while True: - current_height = int(rpc_connection.getinfo()["blocks"]) - height_difference = current_height - game_end_height - if height_difference == 0: - print(current_height) - print(game_end_height) - print(colorize("Waiting for next block before bailout or highlander", "blue")) - time.sleep(5) - else: - break - while True: - keystrokes_rpc_responses = find_game_keystrokes_in_log(new_game_txid)[1::2] - if len(keystrokes_rpc_responses) < 1: - print("No keystrokes broadcasted yet. Let's wait 5 seconds") - time.sleep(5) - else: - break - for keystroke in keystrokes_rpc_responses: - json_keystroke = json.loads(keystroke)["result"] - if "status" in json_keystroke.keys() and json_keystroke["status"] == "error": - while True: - print("Trying to re-brodcast keystroke") - keystroke_rebroadcast = rogue_keystrokes(rpc_connection, json_keystroke["gametxid"], - json_keystroke["keystrokes"]) - if "txid" in keystroke_rebroadcast.keys(): - print("Keystroke broadcasted! txid: " + keystroke_rebroadcast["txid"]) - break - else: - print("Let's try again in 5 seconds") - time.sleep(5) - last_keystroke_json = json.loads(keystrokes_rpc_responses[-1]) - while True: - while True: - try: - confirmations_amount = rpc_connection.getrawtransaction(last_keystroke_json["result"]["txid"], 1)["confirmations"] - break - except Exception as e: - print(e) - print("Let's wait a little bit more") - rpc_connection.sendrawtransaction(last_keystroke_json["result"]["hex"]) - time.sleep(5) - pass - if confirmations_amount < 2: - print("Last keystroke not confirmed yet! Let's wait a little") - time.sleep(10) - else: - print("Last keystroke confirmed!") - break - while True: - print("\nExtraction info:\n") - extraction_info = rogue_extract(rpc_connection, new_game_txid, rpc_connection.getinfo()["pubkey"]) - if extraction_info["status"] == "error": - print(colorize("Your warrior died or no any information about game was saved on blockchain", "red")) - print("If warrior was alive - try to wait a little (choose n to wait for a next block). If he is dead - you can bailout now (choose y).") - else: - print("Current game state:") - print("Game txid: " + extraction_info["gametxid"]) - print("Information about game saved on chain: " + extraction_info["extracted"]) - print("\n") - is_bailout_needed = input( - "Do you want to make bailout now [y] or wait for one more block [n]? [y/n]: ") - if is_bailout_needed == "y": - if game_info["alive"] > 1: - bailout_info = rogue_bailout(rpc_connection, new_game_txid) - try: - bailout_txid = bailout_info["txid"] - print(bailout_info) - print("\nGame is finished!\n") - input("Press [Enter] to continue...") - break - except Exception: - highlander_info = rogue_highlander(rpc_connection, new_game_txid) - highlander_info = highlander_info["txid"] - print(highlander_info) - print("\nGame is finished!\n") - input("Press [Enter] to continue...") - break - else: - highlander_info = rogue_highlander(rpc_connection, new_game_txid) - if 'error' in highlander_info.keys() and highlander_info["error"] == 'numplayers != maxplayers': - bailout_info = rogue_bailout(rpc_connection, new_game_txid) - print(bailout_info) - print("\nGame is finished!\n") - input("Press [Enter] to continue...") - break - else: - print(highlander_info) - print("\nGame is finished!\n") - input("Press [Enter] to continue...") - break - elif is_bailout_needed == "n": - game_end_height = int(rpc_connection.getinfo()["blocks"]) - while True: - current_height = int(rpc_connection.getinfo()["blocks"]) - height_difference = current_height - game_end_height - if height_difference == 0: - print(current_height) - print(game_end_height) - print(colorize("Waiting for next block before bailout", "blue")) - time.sleep(5) - else: - break - break - break - if start_game == "n": - print("As you wish!") - input("Press [Enter] to continue...") - break - else: - print(colorize("Choose y or n!", "red")) - - -def rogue_newgame_multiplayer(rpc_connection): - while True: - max_players = input("Input game max. players (>1): ") - if int(max_players) > 1: - break - else: - print("Please re-check your input") - input("Press [Enter] to continue...") - while True: - buyin = input("Input game buyin (>0.001): ") - if float(buyin) > 0.001: - break - else: - print("Please re-check your input") - input("Press [Enter] to continue...") - try: - new_game_txid = rpc_connection.cclib("newgame", "17", '"[' + max_players + "," + buyin + ']"')["txid"] - print(colorize("New multiplayer game succesfully created. txid: " + new_game_txid, "green")) - input("Press [Enter] to continue...") - except Exception as e: - print("Something went wrong.") - print(e) - input("Press [Enter] to continue...") - - -def rogue_join_multiplayer_game(rpc_connection): - while True: - try: - print_multiplayer_games_list(rpc_connection) - # TODO: optional player data txid (print players you have and ask if you want to choose one) - game_txid = input("Input txid of game you want to join: ") - try: - while True: - print_players_list(rpc_connection) - is_choice_needed = input("Do you want to choose a player for this game? [y/n] ") - if is_choice_needed == "y": - player_txid = input("Please input player txid: ") - newgame_regisration_txid = rogue_game_register(rpc_connection, game_txid, player_txid)["txid"] - break - elif is_choice_needed == "n": - set_warriors_name(rpc_connection) - newgame_regisration_txid = rogue_game_register(rpc_connection, game_txid)["txid"] - break - else: - print("Please choose y or n !") - except Exception as e: - print("Something went wrong. Maybe you're trying to register on game twice or don't have enough funds to pay buyin.") - print(e) - input("Press [Enter] to continue...") - break - print(colorize("Succesfully registered.", "green")) - while True: - mempool = rpc_connection.getrawmempool() - if newgame_regisration_txid in mempool: - print(colorize("Waiting for registration transaction to be mined", "blue")) - time.sleep(5) - else: - print(colorize("Registration transaction is mined", "green")) - break - print(newgame_regisration_txid) - input("Press [Enter] to continue...") - break - except KeyboardInterrupt: - break - - -def print_players_list(rpc_connection): - players_list = rogue_players_list(rpc_connection) - print(colorize("\nYou own " + str(players_list["numplayerdata"]) + " warriors\n", "blue")) - warrior_counter = 0 - for player in players_list["playerdata"]: - warrior_counter = warrior_counter + 1 - player_data = rogue_player_info(rpc_connection, player)["player"] - print(colorize("\n================================\n","green")) - print("Warrior " + str(warrior_counter)) - print("Name: " + player_data["pname"] + "\n") - print("Player txid: " + player_data["playertxid"]) - print("Token txid: " + player_data["tokenid"]) - print("Hitpoints: " + str(player_data["hitpoints"])) - print("Strength: " + str(player_data["strength"])) - print("Level: " + str(player_data["level"])) - print("Experience: " + str(player_data["experience"])) - print("Dungeon Level: " + str(player_data["dungeonlevel"])) - print("Chain: " + player_data["chain"]) - print(colorize("\nInventory:\n","blue")) - for item in player_data["pack"]: - print(item) - print("\nTotal packsize: " + str(player_data["packsize"]) + "\n") - input("Press [Enter] to continue...") - - -def sell_warrior(rpc_connection): - print(colorize("Your brave warriors: \n", "blue")) - print_players_list(rpc_connection) - print("\n") - while True: - need_sell = input("Do you want to place order to sell any? [y/n]: ") - if need_sell == "y": - playertxid = input("Input playertxid of warrior you want to sell: ") - price = input("Input price (in ROGUE coins) you want to sell warrior for: ") - try: - tokenid = rogue_player_info(rpc_connection, playertxid)["player"]["tokenid"] - except Exception as e: - print(e) - print("Something went wrong. Be careful with input next time.") - input("Press [Enter] to continue...") - break - token_ask_raw = rpc_connection.tokenask("1", tokenid, price) - try: - token_ask_txid = rpc_connection.sendrawtransaction(token_ask_raw["hex"]) - except Exception as e: - print(e) - print(token_ask_raw) - print("Something went wrong. Be careful with input next time.") - input("Press [Enter] to continue...") - break - print(colorize("Ask succesfully placed. Ask txid is: " + token_ask_txid, "green")) - input("Press [Enter] to continue...") - break - if need_sell == "n": - print("As you wish!") - input("Press [Enter] to continue...") - break - else: - print(colorize("Choose y or n!", "red")) - - -#TODO: have to combine into single scanner with different cases -def is_warrior_alive(rpc_connection, warrior_txid): - warrior_alive = False - raw_transaction = rpc_connection.getrawtransaction(warrior_txid, 1) - for vout in raw_transaction["vout"]: - if vout["value"] == 0.00000001 and rpc_connection.gettxout(raw_transaction["txid"], vout["n"]): - warrior_alive = True - return warrior_alive - - -def warriors_scanner(rpc_connection): - start_time = time.time() - token_list = rpc_connection.tokenlist() - my_warriors_list = rogue_players_list(rpc_connection) - warriors_list = {} - for token in token_list: - player_info = rogue_player_info(rpc_connection, token) - if "status" in player_info and player_info["status"] == "error": - pass - elif player_info["player"]["playertxid"] in my_warriors_list["playerdata"]: - pass - elif not is_warrior_alive(rpc_connection, player_info["player"]["playertxid"]): - pass - else: - warriors_list[token] = player_info["player"] - print("--- %s seconds ---" % (time.time() - start_time)) - return warriors_list - - -def warriors_scanner_for_rating(rpc_connection): - print("It can take some time") - token_list = rpc_connection.tokenlist() - my_warriors_list = rogue_players_list(rpc_connection) - actual_playerids = [] - warriors_list = {} - for token in token_list: - player_info = rogue_player_info(rpc_connection, token) - if "status" in player_info and player_info["status"] == "error": - pass - else: - while True: - if "batontxid" in player_info["player"].keys(): - player_info = rogue_player_info(rpc_connection, player_info["player"]["batontxid"]) - else: - actual_playerids.append(player_info["player"]["playertxid"]) - break - for player_id in actual_playerids: - player_info = rogue_player_info(rpc_connection, player_id) - if not is_warrior_alive(rpc_connection, player_info["player"]["playertxid"]): - pass - else: - warriors_list[player_id] = player_info["player"] - return warriors_list - - -def warriors_scanner_for_dex(rpc_connection): - start_time = time.time() - token_list = rpc_connection.tokenlist() - my_warriors_list = rogue_players_list(rpc_connection) - warriors_list = {} - for token in token_list: - player_info = rogue_player_info(rpc_connection, token) - if "status" in player_info and player_info["status"] == "error": - pass - elif player_info["player"]["tokenid"] in my_warriors_list["playerdata"]: - pass - else: - warriors_list[token] = player_info["player"] - print("--- %s seconds ---" % (time.time() - start_time)) - return warriors_list - - -def print_warrior_list(rpc_connection): - players_list = warriors_scanner(rpc_connection) - print(colorize("All warriors on ROGUE chain: \n", "blue")) - warrior_counter = 0 - for player in players_list: - warrior_counter = warrior_counter + 1 - player_data = rogue_player_info(rpc_connection, player)["player"] - print(colorize("\n================================\n","green")) - print("Warrior " + str(warrior_counter)) - print("Name: " + player_data["pname"] + "\n") - print("Player txid: " + player_data["playertxid"]) - print("Token txid: " + player_data["tokenid"]) - print("Hitpoints: " + str(player_data["hitpoints"])) - print("Strength: " + str(player_data["strength"])) - print("Level: " + str(player_data["level"])) - print("Experience: " + str(player_data["experience"])) - print("Dungeon Level: " + str(player_data["dungeonlevel"])) - print("Chain: " + player_data["chain"]) - print(colorize("\nInventory:\n","blue")) - for item in player_data["pack"]: - print(item) - print("\nTotal packsize: " + str(player_data["packsize"]) + "\n") - input("Press [Enter] to continue...") - - -def place_bid_on_warriror(rpc_connection): - warriors_list = print_warrior_list(rpc_connection) - # TODO: have to drop my warriors or at least print my warriors ids - while True: - need_buy = input("Do you want to place order to buy some warrior? [y/n]: ") - if need_buy == "y": - playertxid = input("Input playertxid of warrior you want to place bid for: ") - price = input("Input price (in ROGUE coins) you want to buy warrior for: ") - tokenid = rogue_player_info(rpc_connection, playertxid)["player"]["tokenid"] - token_bid_raw = rpc_connection.tokenbid("1", tokenid, price) - try: - token_bid_txid = rpc_connection.sendrawtransaction(token_bid_raw["hex"]) - except Exception as e: - print(e) - print(token_bid_raw) - print("Something went wrong. Be careful with input next time.") - input("Press [Enter] to continue...") - break - print(colorize("Bid succesfully placed. Bid txid is: " + token_bid_txid, "green")) - input("Press [Enter] to continue...") - break - if need_buy == "n": - print("As you wish!") - input("Press [Enter] to continue...") - break - else: - print(colorize("Choose y or n!", "red")) - - -def check_incoming_bids(rpc_connection): - # TODO: have to scan for warriors which are in asks as well - players_list = rogue_players_list(rpc_connection) - incoming_orders = [] - for player in players_list["playerdata"]: - token_id = rogue_player_info(rpc_connection, player)["player"]["tokenid"] - orders = rpc_connection.tokenorders(token_id) - if len(orders) > 0: - for order in orders: - if order["funcid"] == "b": - incoming_orders.append(order) - return incoming_orders - - -def print_icoming_bids(rpc_connection): - incoming_bids = check_incoming_bids(rpc_connection) - for bid in incoming_bids: - print("Recieved bid for warrior " + bid["tokenid"]) - player_data = rogue_player_info(rpc_connection, bid["tokenid"])["player"] - print(colorize("\n================================\n", "green")) - print("Name: " + player_data["pname"] + "\n") - print("Player txid: " + player_data["playertxid"]) - print("Token txid: " + player_data["tokenid"]) - print("Hitpoints: " + str(player_data["hitpoints"])) - print("Strength: " + str(player_data["strength"])) - print("Level: " + str(player_data["level"])) - print("Experience: " + str(player_data["experience"])) - print("Dungeon Level: " + str(player_data["dungeonlevel"])) - print("Chain: " + player_data["chain"]) - print(colorize("\nInventory:\n", "blue")) - for item in player_data["pack"]: - print(item) - print("\nTotal packsize: " + str(player_data["packsize"]) + "\n") - print(colorize("\n================================\n", "blue")) - print("Order info: \n") - print("Bid txid: " + bid["txid"]) - print("Price: " + str(bid["price"]) + "\n") - if len(incoming_bids) == 0: - print(colorize("There is no any incoming orders!", "blue")) - input("Press [Enter] to continue...") - else: - while True: - want_to_sell = input("Do you want to fill any incoming bid? [y/n]: ") - if want_to_sell == "y": - bid_txid = input("Input bid txid you want to fill: ") - for bid in incoming_bids: - if bid_txid == bid["txid"]: - tokenid = bid["tokenid"] - fill_sum = bid["totalrequired"] - fillbid_hex = rpc_connection.tokenfillbid(tokenid, bid_txid, str(fill_sum)) - try: - fillbid_txid = rpc_connection.sendrawtransaction(fillbid_hex["hex"]) - except Exception as e: - print(e) - print(fillbid_hex) - print("Something went wrong. Be careful with input next time.") - input("Press [Enter] to continue...") - break - print(colorize("Warrior succesfully sold. Txid is: " + fillbid_txid, "green")) - input("Press [Enter] to continue...") - break - if want_to_sell == "n": - print("As you wish!") - input("Press [Enter] to continue...") - break - else: - print(colorize("Choose y or n!", "red")) - - -def find_warriors_asks(rpc_connection): - warriors_list = warriors_scanner_for_dex(rpc_connection) - warriors_asks = [] - for player in warriors_list: - orders = rpc_connection.tokenorders(player) - if len(orders) > 0: - for order in orders: - if order["funcid"] == "s": - warriors_asks.append(order) - for ask in warriors_asks: - print(colorize("\n================================\n", "green")) - print("Warrior selling on marketplace: " + ask["tokenid"]) - player_data = rogue_player_info(rpc_connection, ask["tokenid"])["player"] - print("Name: " + player_data["pname"] + "\n") - print("Player txid: " + player_data["playertxid"]) - print("Token txid: " + player_data["tokenid"]) - print("Hitpoints: " + str(player_data["hitpoints"])) - print("Strength: " + str(player_data["strength"])) - print("Level: " + str(player_data["level"])) - print("Experience: " + str(player_data["experience"])) - print("Dungeon Level: " + str(player_data["dungeonlevel"])) - print("Chain: " + player_data["chain"]) - print(colorize("\nInventory:\n", "blue")) - for item in player_data["pack"]: - print(item) - print("\nTotal packsize: " + str(player_data["packsize"]) + "\n") - print(colorize("Order info: \n", "red")) - print("Ask txid: " + ask["txid"]) - print("Price: " + str(ask["price"]) + "\n") - while True: - want_to_buy = input("Do you want to buy any warrior? [y/n]: ") - if want_to_buy == "y": - ask_txid = input("Input asktxid which you want to fill: ") - for ask in warriors_asks: - if ask_txid == ask["txid"]: - tokenid = ask["tokenid"] - try: - fillask_raw = rpc_connection.tokenfillask(tokenid, ask_txid, "1") - except Exception as e: - print("Something went wrong. Be careful with input next time.") - input("Press [Enter] to continue...") - break - try: - fillask_txid = rpc_connection.sendrawtransaction(fillask_raw["hex"]) - except Exception as e: - print(e) - print(fillask_raw) - print("Something went wrong. Be careful with input next time.") - input("Press [Enter] to continue...") - break - print(colorize("Warrior succesfully bought. Txid is: " + fillask_txid, "green")) - input("Press [Enter] to continue...") - break - if want_to_buy == "n": - print("As you wish!") - input("Press [Enter] to continue...") - break - else: - print(colorize("Choose y or n!", "red")) - - -def warriors_orders_check(rpc_connection): - my_orders_list = rpc_connection.mytokenorders("17") - warriors_orders = {} - for order in my_orders_list: - player_info = rogue_player_info(rpc_connection, order["tokenid"]) - if "status" in player_info and player_info["status"] == "error": - pass - else: - warriors_orders[order["tokenid"]] = order - bids_list = [] - asks_list = [] - for order in warriors_orders: - if warriors_orders[order]["funcid"] == "s": - asks_list.append(warriors_orders[order]) - else: - bids_list.append(order) - print(colorize("\nYour asks:\n", "blue")) - print(colorize("\n********************************\n", "red")) - for ask in asks_list: - print("txid: " + ask["txid"]) - print("Price: " + ask["price"]) - print("Warrior tokenid: " + ask["tokenid"]) - print(colorize("\n================================\n", "green")) - print("Warrior selling on marketplace: " + ask["tokenid"]) - player_data = rogue_player_info(rpc_connection, ask["tokenid"])["player"] - print("Name: " + player_data["pname"] + "\n") - print("Player txid: " + player_data["playertxid"]) - print("Token txid: " + player_data["tokenid"]) - print("Hitpoints: " + str(player_data["hitpoints"])) - print("Strength: " + str(player_data["strength"])) - print("Level: " + str(player_data["level"])) - print("Experience: " + str(player_data["experience"])) - print("Dungeon Level: " + str(player_data["dungeonlevel"])) - print("Chain: " + player_data["chain"]) - print(colorize("\nInventory:\n", "blue")) - for item in player_data["pack"]: - print(item) - print("\nTotal packsize: " + str(player_data["packsize"]) + "\n") - print(colorize("\n================================\n", "green")) - print(colorize("\nYour bids:\n", "blue")) - print(colorize("\n********************************\n", "red")) - for bid in bids_list: - print("txid: " + bid["txid"]) - print("Price: " + bid["price"]) - print("Warrior tokenid: " + bid["tokenid"]) - print(colorize("\n================================\n", "green")) - print("Warrior selling on marketplace: " + bid["tokenid"]) - player_data = rogue_player_info(rpc_connection, bid["tokenid"])["player"] - print("Name: " + player_data["pname"] + "\n") - print("Player txid: " + player_data["playertxid"]) - print("Token txid: " + player_data["tokenid"]) - print("Hitpoints: " + str(player_data["hitpoints"])) - print("Strength: " + str(player_data["strength"])) - print("Level: " + str(player_data["level"])) - print("Experience: " + str(player_data["experience"])) - print("Dungeon Level: " + str(player_data["dungeonlevel"])) - print("Chain: " + player_data["chain"]) - print(colorize("\nInventory:\n", "blue")) - for item in player_data["pack"]: - print(item) - print("\nTotal packsize: " + str(player_data["packsize"]) + "\n") - print(colorize("\n================================\n", "green")) - while True: - need_order_change = input("Do you want to cancel any of your orders? [y/n]: ") - if need_order_change == "y": - while True: - ask_or_bid = input("Do you want cancel ask or bid? [a/b]: ") - if ask_or_bid == "a": - ask_txid = input("Input txid of ask you want to cancel: ") - warrior_tokenid = input("Input warrior token id for this ask: ") - try: - ask_cancellation_hex = rpc_connection.tokencancelask(warrior_tokenid, ask_txid) - ask_cancellation_txid = rpc_connection.sendrawtransaction(ask_cancellation_hex["hex"]) - except Exception as e: - print(colorize("Please re-check your input!", "red")) - print(colorize("Ask succefully cancelled. Cancellation txid: " + ask_cancellation_txid, "green")) - break - if ask_or_bid == "b": - bid_txid = input("Input txid of bid you want to cancel: ") - warrior_tokenid = input("Input warrior token id for this bid: ") - try: - bid_cancellation_hex = rpc_connection.tokencancelbid(warrior_tokenid, bid_txid) - bid_cancellation_txid = rpc_connection.sendrawtransaction(bid_cancellation_hex["hex"]) - except Exception as e: - print(colorize("Please re-check your input!", "red")) - print(colorize("Bid succefully cancelled. Cancellation txid: " + bid_cancellation_txid, "green")) - break - else: - print(colorize("Choose a or b!", "red")) - input("Press [Enter] to continue...") - break - if need_order_change == "n": - print("As you wish!") - input("Press [Enter] to continue...") - break - else: - print(colorize("Choose y or n!", "red")) - - -def set_warriors_name(rpc_connection): - warriors_name = input("What warrior name do you want for legends and tales about your brave adventures?: ") - warrior_name_arg = '"' + "[%22" + warriors_name + "%22]" + '"' - set_name_status = rpc_connection.cclib("setname", "17", warrior_name_arg) - print(colorize("Warrior name succesfully set", "green")) - print("Result: " + set_name_status["result"]) - print("Name: " + set_name_status["pname"]) - input("Press [Enter] to continue...") - - -def top_warriors_rating(rpc_connection): - start_time = time.time() - warriors_list = warriors_scanner_for_rating(rpc_connection) - warriors_exp = {} - for warrior in warriors_list: - warriors_exp[warrior] = warriors_list[warrior]["experience"] - warriors_exp_sorted = {} - temp = [(k, warriors_exp[k]) for k in sorted(warriors_exp, key=warriors_exp.get, reverse=True)] - for k,v in temp: - warriors_exp_sorted[k] = v - counter = 0 - for experienced_warrior in warriors_exp_sorted: - if counter < 20: - counter = counter + 1 - print("\n" + str(counter) + " place.") - print(colorize("\n================================\n", "blue")) - player_data = rogue_player_info(rpc_connection, experienced_warrior)["player"] - print("Name: " + player_data["pname"] + "\n") - print("Player txid: " + player_data["playertxid"]) - print("Token txid: " + player_data["tokenid"]) - print("Hitpoints: " + str(player_data["hitpoints"])) - print("Strength: " + str(player_data["strength"])) - print("Level: " + str(player_data["level"])) - print("Experience: " + str(player_data["experience"])) - print("Dungeon Level: " + str(player_data["dungeonlevel"])) - print("Chain: " + player_data["chain"]) - print("--- %s seconds ---" % (time.time() - start_time)) - input("Press [Enter] to continue...") - - -def exit(): - sys.exit() - - -def warrior_trasnfer(rpc_connection): - print(colorize("Your brave warriors: \n", "blue")) - print_players_list(rpc_connection) - print("\n") - while True: - need_transfer = input("Do you want to transfer any warrior? [y/n]: ") - if need_transfer == "y": - warrior_tokenid = input("Input warrior tokenid: ") - recepient_pubkey = input("Input recepient pubkey: ") - try: - token_transfer_hex = rpc_connection.tokentransfer(warrior_tokenid, recepient_pubkey, "1") - token_transfer_txid = rpc_connection.sendrawtransaction(token_transfer_hex["hex"]) - except Exception as e: - print(e) - print("Something went wrong. Please be careful with your input next time!") - input("Press [Enter] to continue...") - break - print(colorize("Warrior succesfully transferred! Transfer txid: " + token_transfer_txid, "green")) - input("Press [Enter] to continue...") - break - if need_transfer == "n": - print("As you wish!") - input("Press [Enter] to continue...") - break - else: - print(colorize("Choose y or n!", "red")) - - -def check_if_config_is_here(rpc_connection, assetchain_name): - config_name = assetchain_name + ".conf" - if os.path.exists(config_name): - print(colorize("Config is already in daemon folder", "green")) - else: - if operating_system == 'Darwin': - path_to_config = os.environ['HOME'] + '/Library/Application Support/Komodo/' + assetchain_name + '/' + config_name - elif operating_system == 'Linux': - path_to_config = os.environ['HOME'] + '/.komodo/' + assetchain_name + '/' + config_name - elif operating_system == 'Win64' or operating_system == 'Windows': - path_to_config = '%s/komodo/' + assetchain_name + '/' + config_name % os.environ['APPDATA'] - try: - copy(path_to_config, os.getcwd()) - except Exception as e: - print(e) - print("Can't copy config to current daemon directory automatically by some reason.") - print("Please copy it manually. It's locating here: " + path_to_config) - - -def find_game_keystrokes_in_log(gametxid): - - operating_system = platform.system() - if operating_system == 'Win64' or operating_system == 'Windows': - p1 = subprocess.Popen(["type", "keystrokes.log"], stdout=subprocess.PIPE, shell=True) - p2 = subprocess.Popen(["findstr", gametxid], stdin=p1.stdout, stdout=subprocess.PIPE, shell=True) - else: - p1 = subprocess.Popen(["cat", "keystrokes.log"], stdout=subprocess.PIPE) - p2 = subprocess.Popen(["grep", gametxid], stdin=p1.stdout, stdout=subprocess.PIPE) - p1.stdout.close() - output = p2.communicate()[0] - keystrokes_log_for_game = bytes.decode(output).split("\n") - return keystrokes_log_for_game - - -def check_if_tx_in_mempool(rpc_connection, txid): - while True: - mempool = rpc_connection.getrawmempool() - if txid in mempool: - print(colorize("Waiting for " + txid + " transaction to be mined", "blue")) - time.sleep(5) - else: - print(colorize("Transaction is mined", "green")) - break diff --git a/src/tui/requirements.txt b/src/tui/requirements.txt deleted file mode 100644 index 734da529..00000000 --- a/src/tui/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -configobj==5.0.6 -pip==9.0.1 -pycurl==7.43.0.2 -setuptools==39.0.1 -six==1.12.0 -slick-bitcoinrpc==0.1.4 -ujson==1.35 -wheel==0.32.3 diff --git a/src/tui/tui_assets.py b/src/tui/tui_assets.py deleted file mode 100755 index 091484a4..00000000 --- a/src/tui/tui_assets.py +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env python3 - -from lib import rpclib, tuilib -import os -import time - - -header = "\ - ___ _ _____ \n\ - / _ \ | | / __ \\\n\ -/ /_\ \ ___ ___ ___ | |_ ___ | / \/\n\ -| _ |/ __|/ __| / _ \| __|/ __|| | \n\ -| | | |\__ \\\__ \| __/| |_ \__ \| \__/\\\n\ -\_| |_/|___/|___/ \___| \__||___/ \____/\n" - - -menuItems = [ - {"Check current connection": tuilib.getinfo_tui}, - {"Check mempool": tuilib.print_mempool}, - {"Print tokens list": tuilib.print_tokens_list}, - {"Check my tokens balances" : tuilib.print_tokens_balances}, - # transfer tokens (pre-print tokens balances) - {"Create token": tuilib.token_create_tui}, - # trading zone - pre-print token orders - possible to open order or fill existing one - {"Exit": exit} -] - - -def main(): - while True: - os.system('clear') - print(tuilib.colorize(header, 'pink')) - print(tuilib.colorize('CLI version 0.2 by Anton Lysakov\n', 'green')) - for item in menuItems: - print(tuilib.colorize("[" + str(menuItems.index(item)) + "] ", 'blue') + list(item.keys())[0]) - choice = input(">> ") - try: - if int(choice) < 0: - raise ValueError - # Call the matching function - if list(menuItems[int(choice)].keys())[0] == "Exit": - list(menuItems[int(choice)].values())[0]() - else: - list(menuItems[int(choice)].values())[0](rpc_connection) - except (ValueError, IndexError): - pass - - -if __name__ == "__main__": - while True: - try: - print(tuilib.colorize("Welcome to the GatewaysCC TUI!\n" - "Please provide asset chain RPC connection details for initialization", "blue")) - rpc_connection = tuilib.rpc_connection_tui() - rpclib.getinfo(rpc_connection) - except Exception: - print(tuilib.colorize("Cant connect to RPC! Please re-check credentials.", "pink")) - else: - print(tuilib.colorize("Succesfully connected!\n", "green")) - with (open("lib/logo.txt", "r")) as logo: - for line in logo: - print(line, end='') - time.sleep(0.04) - print("\n") - break - main() - diff --git a/src/tui/tui_gateways_creation.py b/src/tui/tui_gateways_creation.py deleted file mode 100755 index 7bb489c7..00000000 --- a/src/tui/tui_gateways_creation.py +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env python3 - -from lib import rpclib, tuilib -import os -import time - -header = "\ - _____ _ _____ _____ \n\ -| __ \ | | / __ \/ __ \\\n\ -| | \/ __ _| |_ _____ ____ _ _ _ ___| / \/| / \/\n\ -| | __ / _` | __/ _ \ \ /\ / / _` | | | / __| | | | \n\ -| |_\ \ (_| | || __/\ V V / (_| | |_| \__ \ \__/\| \__/\\\n\ - \____/\__,_|\__\___| \_/\_/ \__,_|\__, |___/\____/ \____/\n\ - __/ | \n\ - |___/ \n" - - -menuItems = [ - {"Check current connection": tuilib.getinfo_tui}, - {"Check mempool": tuilib.print_mempool}, - {"Create token": tuilib.token_create_tui}, - {"Create oracle": tuilib.oracle_create_tui}, - {"Register as publisher for oracle": tuilib.oracle_register_tui}, - {"Subscribe on oracle (+UTXO generator)": tuilib.oracle_subscription_utxogen}, - {"Bind Gateway": tuilib.gateways_bind_tui}, - {"Exit": exit} -] - - -def main(): - while True: - os.system('clear') - print(tuilib.colorize(header, 'pink')) - print(tuilib.colorize('CLI version 0.2\n', 'green')) - for item in menuItems: - print(tuilib.colorize("[" + str(menuItems.index(item)) + "] ", 'blue') + list(item.keys())[0]) - choice = input(">> ") - try: - if int(choice) < 0: - raise ValueError - # Call the matching function - if list(menuItems[int(choice)].keys())[0] == "Exit": - list(menuItems[int(choice)].values())[0]() - else: - list(menuItems[int(choice)].values())[0](rpc_connection) - except (ValueError, IndexError): - pass - - -if __name__ == "__main__": - while True: - try: - print(tuilib.colorize("Welcome to the GatewaysCC TUI!\n" - "Please provide asset chain RPC connection details for initialization", "blue")) - rpc_connection = tuilib.rpc_connection_tui() - rpclib.getinfo(rpc_connection) - except Exception: - print(tuilib.colorize("Cant connect to RPC! Please re-check credentials.", "pink")) - else: - print(tuilib.colorize("Succesfully connected!\n", "green")) - with (open("lib/logo.txt", "r")) as logo: - for line in logo: - print(line, end='') - time.sleep(0.04) - print("\n") - break - main() diff --git a/src/tui/tui_gateways_usage.py b/src/tui/tui_gateways_usage.py deleted file mode 100755 index 0c989e3a..00000000 --- a/src/tui/tui_gateways_usage.py +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env python3 - -from lib import rpclib, tuilib -import os, time - -header = "\ - _____ _ _____ _____ \n\ -| __ \ | | / __ \/ __ \\\n\ -| | \/ __ _| |_ _____ ____ _ _ _ ___| / \/| / \/\n\ -| | __ / _` | __/ _ \ \ /\ / / _` | | | / __| | | | \n\ -| |_\ \ (_| | || __/\ V V / (_| | |_| \__ \ \__/\| \__/\\\n\ - \____/\__,_|\__\___| \_/\_/ \__,_|\__, |___/\____/ \____/\n\ - __/ | \n\ - |___/ \n" - -menuItems = [ - {"Check connection to assetchain": tuilib.getinfo_tui}, - {"Check assetchain mempool": tuilib.print_mempool}, - {"Check connection to KMD": tuilib.getinfo_tui}, - {"Connect to KMD daemon": tuilib.rpc_kmd_connection_tui}, - {"Send KMD gateway deposit transaction": tuilib.gateways_send_kmd}, - {"Execute gateways deposit": tuilib.gateways_deposit_tui}, - {"Execute gateways claim": tuilib.gateways_claim_tui}, - {"Execute gateways withdrawal": tuilib.gateways_withdrawal_tui}, - {"Exit": exit} -] - -def main(): - while True: - os.system('clear') - print(tuilib.colorize(header, 'pink')) - print(tuilib.colorize('CLI version 0.2\n', 'green')) - for item in menuItems: - print(tuilib.colorize("[" + str(menuItems.index(item)) + "] ", 'blue') + list(item.keys())[0]) - choice = input(">> ") - try: - if int(choice) < 0: - raise ValueError - # Call the matching function - if list(menuItems[int(choice)].keys())[0] == "Exit": - list(menuItems[int(choice)].values())[0]() - # We have to call KMD specific functions with connection to KMD daemon - elif list(menuItems[int(choice)].keys())[0] == "Connect to KMD daemon": - rpc_connection_kmd = list(menuItems[int(choice)].values())[0]() - elif list(menuItems[int(choice)].keys())[0] == "Check connection to KMD": - while True: - try: - list(menuItems[int(choice)].values())[0](rpc_connection_kmd) - break - except Exception as e: - print("Please connect to KMD daemon first!") - input("Press [Enter] to continue...") - break - elif list(menuItems[int(choice)].keys())[0] == "Send KMD gateway deposit transaction": - while True: - try: - list(menuItems[int(choice)].values())[0](rpc_connection_kmd) - break - except Exception as e: - print(e) - print("Please connect to KMD daemon first!") - input("Press [Enter] to continue...") - break - elif list(menuItems[int(choice)].keys())[0] == "Execute gateways deposit": - while True: - try: - list(menuItems[int(choice)].values())[0](rpc_connection, rpc_connection_kmd) - break - except Exception as e: - print(e) - print("Please connect to KMD daemon first!") - input("Press [Enter] to continue...") - break - else: - list(menuItems[int(choice)].values())[0](rpc_connection) - except (ValueError, IndexError): - pass - - -if __name__ == "__main__": - while True: - try: - print(tuilib.colorize("Welcome to the GatewaysCC TUI!\nPlease provide RPC connection details for initialization", "blue")) - rpc_connection = tuilib.rpc_connection_tui() - rpclib.getinfo(rpc_connection) - except Exception: - print(tuilib.colorize("Cant connect to RPC! Please re-check credentials.", "pink")) - else: - print(tuilib.colorize("Succesfully connected!\n", "green")) - with (open("lib/logo.txt", "r")) as logo: - for line in logo: - print(line, end='') - time.sleep(0.04) - print("\n") - break - main() diff --git a/src/tui/tui_oracles.py b/src/tui/tui_oracles.py deleted file mode 100755 index fec874d3..00000000 --- a/src/tui/tui_oracles.py +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env python3 - -from lib import rpclib, tuilib -import os -import time - -header = "\ - _____ _ _____ _____ \n\ -| _ | | | / __ \/ __ \\\n\ -| | | | _ __ __ _ ___ | | ___ ___ | / \/| / \/\n\ -| | | || '__| / _` | / __|| | / _ \/ __|| | | |\n\ -\ \_/ /| | | (_| || (__ | || __/\__ \| \__/\| \__/\\\n\ - \___/ |_| \__,_| \___||_| \___||___/ \____/ \____/\n" - -menuItems = [ - # TODO: Have to implement here native oracle file uploader / reader, should be dope - # TODO: data publisher / converter for different types - {"Check current connection": tuilib.getinfo_tui}, - {"Check mempool": tuilib.print_mempool}, - {"Create oracle": tuilib.oracle_create_tui}, - {"Register as publisher for oracle": tuilib.oracle_register_tui}, - {"Subscribe on oracle (+UTXO generator)": tuilib.oracle_subscription_utxogen}, - {"Upload file to oracle": tuilib.convert_file_oracle_D}, - {"Display list of files uploaded to this AC": tuilib.display_files_list}, - {"Download files from oracle": tuilib.files_downloader}, - {"Exit": exit} -] - - -def main(): - while True: - os.system('clear') - print(tuilib.colorize(header, 'pink')) - print(tuilib.colorize('CLI version 0.2 by Anton Lysakov\n', 'green')) - for item in menuItems: - print(tuilib.colorize("[" + str(menuItems.index(item)) + "] ", 'blue') + list(item.keys())[0]) - choice = input(">> ") - try: - if int(choice) < 0: - raise ValueError - # Call the matching function - if list(menuItems[int(choice)].keys())[0] == "Exit": - list(menuItems[int(choice)].values())[0]() - else: - list(menuItems[int(choice)].values())[0](rpc_connection) - except (ValueError, IndexError): - pass - - -if __name__ == "__main__": - while True: - try: - print(tuilib.colorize("Welcome to the GatewaysCC TUI!\n" - "Please provide asset chain RPC connection details for initialization", "blue")) - rpc_connection = tuilib.rpc_connection_tui() - rpclib.getinfo(rpc_connection) - except Exception: - print(tuilib.colorize("Cant connect to RPC! Please re-check credentials.", "pink")) - else: - print(tuilib.colorize("Succesfully connected!\n", "green")) - with (open("lib/logo.txt", "r")) as logo: - for line in logo: - print(line, end='') - time.sleep(0.04) - print("\n") - break - main() diff --git a/src/tui/tui_rogue.py b/src/tui/tui_rogue.py deleted file mode 100755 index 9942369e..00000000 --- a/src/tui/tui_rogue.py +++ /dev/null @@ -1,116 +0,0 @@ -#!/usr/bin/env python3 - -from lib import rpclib, tuilib -import os -import time -import sys -import platform - -header = "\ -______ _____ _____ \n\ -| ___ \ / __ \/ __ \\\n\ -| |_/ /___ __ _ _ _ ___| / \/| / \/\n\ -| // _ \ / _` | | | |/ _ \ | | |\n\ -| |\ \ (_) | (_| | |_| | __/ \__/\| \__/\\\n\ -\_| \_\___/ \__, |\__,_|\___|\____/ \____/\n\ - __/ |\n\ - |___/\n" - - -menuItems = [ - {"Check current connection": tuilib.getinfo_tui}, - {"Check mempool": tuilib.print_mempool}, - {"Check my warriors list": tuilib.print_players_list}, - {"Transfer warrior to other pubkey": tuilib.warrior_trasnfer}, - {"TOP-20 ROGUE Warriors": tuilib.top_warriors_rating}, - {"Set warriors name": tuilib.set_warriors_name}, - {"Start singleplayer training game (creating, registering and starting game)": tuilib.rogue_newgame_singleplayer}, - {"Create multiplayer game": tuilib.rogue_newgame_multiplayer}, - {"Join (register) multiplayer game": tuilib.rogue_join_multiplayer_game}, - {"Check my multiplayer games status / start": tuilib.play_multiplayer_game}, - {"Check if somebody wants to buy your warrior (incoming bids)": tuilib.print_icoming_bids}, - {"Place order to sell warrior": tuilib.sell_warrior}, - {"Place order to buy someones warrior": tuilib.place_bid_on_warriror}, - {"Check if somebody selling warrior": tuilib.find_warriors_asks}, - {"Check / cancel my warriors trade orders": tuilib.warriors_orders_check}, - # {"Manually exit the game (bailout)": "test"}, - # {"Manually claim ROGUE coins for game (highlander)": "test"}, - {"Exit": tuilib.exit} -] - -def main(): - while True: - operating_system = platform.system() - if operating_system != 'Win64' and operating_system != 'Windows': - os.system('clear') - else: - os.system('cls') - print(tuilib.colorize(header, 'pink')) - print(tuilib.colorize('TUI v0.0.3\n', 'green')) - menu_items_counter = 0 - for item in menuItems: - if menu_items_counter == 0: - print("\nUtility:\n") - menu_items_counter = menu_items_counter + 1 - print(tuilib.colorize("[" + str(menuItems.index(item)) + "] ", 'blue') + list(item.keys())[0]) - if menu_items_counter == 6: - print("\nNew singleplayer game:\n") - if menu_items_counter == 7: - print("\nMultiplayer games:\n") - if menu_items_counter == 10: - print("\nDEX features:\n") - choice = input(">> ") - try: - if int(choice) < 0: - raise ValueError - # Call the matching function - if list(menuItems[int(choice)].keys())[0] == "Exit": - list(menuItems[int(choice)].values())[0]() - else: - list(menuItems[int(choice)].values())[0](rpc_connection) - except (ValueError, IndexError): - pass - - -if __name__ == "__main__": - while True: - chain = "ROGUE" - try: - print(tuilib.colorize("Welcome to the RogueCC TUI!\n" - "Please provide asset chain RPC connection details for initialization", "blue")) - rpc_connection = tuilib.def_credentials(chain) - rpclib.getinfo(rpc_connection) - # waiting until chain is in sync - while True: - have_blocks = rpclib.getinfo(rpc_connection)["blocks"] - longest_chain = rpclib.getinfo(rpc_connection)["longestchain"] - if have_blocks != longest_chain: - print(tuilib.colorize("ROGUE not synced yet.", "red")) - print("Have " + str(have_blocks) + " from " + str(longest_chain) + " blocks") - time.sleep(5) - else: - print(tuilib.colorize("Chain is synced!", "green")) - break - # checking if pubkey is set and set valid if not - info = rpclib.getinfo(rpc_connection) - if "pubkey" in info.keys(): - print("Pubkey is already set") - else: - valid_address = rpc_connection.getaccountaddress("") - valid_pubkey = rpc_connection.validateaddress(valid_address)["pubkey"] - rpc_connection.setpubkey(valid_pubkey) - print(tuilib.colorize("Pubkey is succesfully set!", "green")) - # copy ROGUE config to current daemon directory if it's not here - tuilib.check_if_config_is_here(rpc_connection, "ROGUE") - except Exception: - print(tuilib.colorize("Cant connect to ROGUE daemon RPC! Please check if daemon is up.", "pink")) - tuilib.exit() - else: - print(tuilib.colorize("Succesfully connected!\n", "green")) - with (open("lib/logo.txt", "r")) as logo: - for line in logo: - print(line, end='') - time.sleep(0.04) - print("\n") - break - main() diff --git a/src/tui/tui_tetris.py b/src/tui/tui_tetris.py deleted file mode 100755 index 3c42d4da..00000000 --- a/src/tui/tui_tetris.py +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env python3 - -from lib import rpclib, tuilib -import os -import time -import sys -import platform - -header = "\ - _____ _ _ ______\n\ -|_ _| | | (_) | _ \n\ - | | ___| |_ _ __ _ ___| | | |__ _ _ __ _ __\n\ - | |/ _ \ __| '__| / __| | | / _` | '_ \| '_ \\\n\ - | | __/ |_| | | \__ \ |/ / (_| | |_) | |_) |\n\ - \_/\___|\__|_| |_|___/___/ \__,_| .__/| .__/\n\ - | | | |\n\ - |_| |_|" - - -menuItems = [ - {"Check current connection": tuilib.getinfo_tui}, - {"Check mempool": tuilib.print_mempool}, - {"Start singleplayer tetris game (creating, registering and starting game)": tuilib.rogue_newgame_singleplayer}, - {"Exit": tuilib.exit} -] - - -def main(): - while True: - operating_system = platform.system() - if operating_system != 'Win64' and operating_system != 'Windows': - os.system('clear') - else: - os.system('cls') - print(tuilib.colorize(header, 'pink')) - print(tuilib.colorize('TUI v0.0.3\n', 'green')) - menu_items_counter = 0 - for item in menuItems: - print(tuilib.colorize("[" + str(menuItems.index(item)) + "] ", 'blue') + list(item.keys())[0]) - choice = input(">> ") - try: - if int(choice) < 0: - raise ValueError - # Call the matching function - if list(menuItems[int(choice)].keys())[0] == "Exit": - list(menuItems[int(choice)].values())[0]() - elif list(menuItems[int(choice)].keys())[0] == "Start singleplayer tetris game (creating, registering and starting game)": - list(menuItems[int(choice)].values())[0](rpc_connection, False) - else: - list(menuItems[int(choice)].values())[0](rpc_connection) - except (ValueError, IndexError): - pass - - -if __name__ == "__main__": - while True: - chain = "GTEST" - try: - print(tuilib.colorize("Welcome to the Tetris TUI!\n" - "Please provide asset chain RPC connection details for initialization", "blue")) - rpc_connection = tuilib.def_credentials(chain) - rpclib.getinfo(rpc_connection) - # waiting until chain is in sync - while True: - have_blocks = rpclib.getinfo(rpc_connection)["blocks"] - longest_chain = rpclib.getinfo(rpc_connection)["longestchain"] - if have_blocks != longest_chain: - print(tuilib.colorize("GTEST not synced yet.", "red")) - print("Have " + str(have_blocks) + " from " + str(longest_chain) + " blocks") - time.sleep(5) - else: - print(tuilib.colorize("Chain is synced!", "green")) - break - # checking if pubkey is set and set valid if not - info = rpclib.getinfo(rpc_connection) - if "pubkey" in info.keys(): - print("Pubkey is already set") - else: - valid_address = rpc_connection.getaccountaddress("") - valid_pubkey = rpc_connection.validateaddress(valid_address)["pubkey"] - rpc_connection.setpubkey(valid_pubkey) - print(tuilib.colorize("Pubkey is succesfully set!", "green")) - # copy ROGUE config to current daemon directory if it's not here - tuilib.check_if_config_is_here(rpc_connection, "GTEST") - except Exception: - print(tuilib.colorize("Cant connect to GTEST daemon RPC! Please check if daemon is up.", "pink")) - tuilib.exit() - else: - print(tuilib.colorize("Succesfully connected!\n", "green")) - with (open("lib/logo.txt", "r")) as logo: - for line in logo: - print(line, end='') - time.sleep(0.04) - print("\n") - break - main() diff --git a/src/version.h b/src/version.h index ba4212ce..f89209df 100644 --- a/src/version.h +++ b/src/version.h @@ -33,8 +33,8 @@ static const int INIT_PROTO_VERSION = 209; static const int GETHEADERS_VERSION = 31800; //! disconnect from peers older than this proto version -static const int MIN_PEER_PROTO_VERSION = 170011; -static const int STAKEDMIN_PEER_PROTO_VERSION = 170011; +static const int MIN_PEER_PROTO_VERSION = 170008; +static const int STAKEDMIN_PEER_PROTO_VERSION = 170008; //! nTime field added to CAddress, starting with this version; //! if possible, avoid requesting addresses nodes older than this diff --git a/todo.txt b/todo.txt deleted file mode 100644 index f5676db2..00000000 --- a/todo.txt +++ /dev/null @@ -1,59 +0,0 @@ -1. https://github.com/bitcoin/bitcoin/commit/cc3b5289ef648dca30469ee4afa615a1ed5b4e04 - -gui: remove OpenSSL PRNG seeding (Windows, Qt only) - -2. qt/komodo.cpp:379:14: warning: address of 'this->threadGroup' will always evaluate to 'true' [-Wpointer-bool-conversion] - -3. Fix CCheckQueue IsIdle (potential) race condition and remove dangerous constructors. - https://github.com/bitcoin/bitcoin/commit/e2073424fd5a185781750347fbfbb0c108ef66fd - [Refactor] Remove unused fQuit var from checkqueue.h - https://github.com/bitcoin/bitcoin/commit/30ded3e3d888f75b6fa8b2e55a3883f799e00775 - -4. Win64 cross-compile from Arch-Linux: - -sudo pacman -Syy -sudo pacman -Sy wget curl git base-devel pkg-config m4 python -sudo pacman -Sy mingw-w64 -sudo ln -s /usr/bin/x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix -sudo ln -s /usr/bin/x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix -cd KomodoOcean/ -make -C ${PWD}/depends V=1 HOST=x86_64-w64-mingw32 -j$(nproc --all) -./autogen.sh -CXXFLAGS="-g0 -O2" CPPFLAGS="-DCURL_STATICLIB" \ -CONFIG_SITE="$PWD/depends/x86_64-w64-mingw32/share/config.site" ./configure --disable-tests --disable-bench --with-gui=no --without-miniupnpc --disable-bip70 -### Edit src/cc/Makefile_custom and add -DWIN32 to CFLAGS_WIN -cd src/cc && HOST=x86_64-w64-mingw32 ./makecustom && cd ../.. -make V=1 -j$(nproc --all) - -Fail with this: - -/usr/lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld: libbitcoin_server.a(libbitcoin_server_a-asyncrpcoperation.o):asyncrpcoperation.cpp:(.text+0x105): undefined reference to `BCryptCloseAlgorithmProvider' -/usr/lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld: libbitcoin_server.a(libbitcoin_server_a-asyncrpcoperation.o):asyncrpcoperation.cpp:(.text+0x8fc): undefined reference to `BCryptGenRandom' -/usr/lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld: libbitcoin_server.a(libbitcoin_server_a-asyncrpcoperation.o):asyncrpcoperation.cpp:(.text$_ZN5boost5uuids6detail20random_provider_baseC2Ev[_ZN5boost5uuids6detail20random_provider_baseC2Ev]+0x31): undefined reference to `BCryptOpenAlgorithmProvider' - -Solution: - -cd src -/bin/sh ../libtool --tag=CXX --mode=link /home/decker/KomodoOcean/depends/x86_64-w64-mingw32/share/../native/bin/ccache x86_64-w64-mingw32-g++-posix -std=c++11 -pipe -std=c++11 -O2 -g0 -O2 -Wformat -Wformat-security -Wstack-protector -fstack-protector-all -fopenmp -fwrapv -fno-strict-aliasing -Wno-builtin-declaration-mismatch -all-static -L/home/decker/KomodoOcean/depends/x86_64-w64-mingw32/share/../lib -Wl,--dynamicbase -Wl,--nxcompat -o komodod.exe komodod-bitcoind.o bitcoind-res.o libbitcoin_server.a libbitcoin_common.a univalue/libunivalue.la libbitcoin_util.a crypto/libbitcoin_crypto.a crypto/libbitcoin_crypto_sse41.a crypto/libbitcoin_crypto_avx2.a crypto/libbitcoin_crypto_shani.a crypto/libverus_crypto.a crypto/libverus_portable_crypto.a libzcash.a snark/libsnark.a leveldb/libleveldb.a leveldb/libleveldb_sse42.a leveldb/libmemenv.a secp256k1/libsecp256k1.la cryptoconditions/libcryptoconditions_core.la -lcurl libbitcoin_zmq.a -lzmq libbitcoin_wallet.a -L/home/decker/KomodoOcean/depends/x86_64-w64-mingw32/share/../lib -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -lboost_chrono -ldb_cxx-6.2 -lssl -lcrypto -levent libzcash.a crypto/libbitcoin_crypto.a crypto/libbitcoin_crypto_sse41.a crypto/libbitcoin_crypto_avx2.a crypto/libbitcoin_crypto_shani.a crypto/libverus_crypto.a crypto/libverus_portable_crypto.a snark/libsnark.a -lgmp -lgmpxx -lboost_system -lcrypto -lsodium -lrustzcash secp256k1/libsecp256k1.la -lssp -lcrypt32 -liphlpapi -lshlwapi -lmswsock -lws2_32 -ladvapi32 -lrpcrt4 -luuid -loleaut32 -lole32 -lcomctl32 -lshell32 -lwinmm -lwinspool -lcomdlg32 -lgdi32 -luser32 -lkernel32 -lmingwthrd -lbcrypt - -5. https://github.com/zcash/zcash/pull/5009 - Bitcoin 0.14 locking PRs #5009 - -6. https://github.com/zcash/zcash/pull/4060 - Remove libsnark (!) - -7. https://github.com/zcash/zcash/pull/5012 - Bitcoin 0.15 locking PRs #5012 (included 3) - -8. https://github.com/zcash/zcash/pull/5017 - Bitcoin 0.16 locking PRs #5017 - -9. Interface of void hashFingerprintContents (src/cryptoconditions/src/utils.c): - - 1. void hashFingerprintContents(asn_TYPE_descriptor_t *asnType, void *fp, uint8_t *out) - 2. unsigned char *hashFingerprintContents(asn_TYPE_descriptor_t *asnType, void *fp) - - Make sure that we have transition to (1) everywhere. - -10. MacOS Themes (Light, Dark) related: - -- https://github.com/bitcoin-core/gui/pull/275 - Support runtime appearance adjustment on macOS #275 -- Don't forget to remove NSRequiresAquaSystemAppearance from share/qt/Info.plist.in , as shown here - https://github.com/bitcoin-core/gui/pull/154 , - https://developer.apple.com/documentation/appkit/nsappearancecustomization/choosing_a_specific_appearance_for_your_macos_app