diff --git a/.github/workflows/pypi.yml b/.github/workflows/pypi.yml index ba2922ec..52d8c3cf 100644 --- a/.github/workflows/pypi.yml +++ b/.github/workflows/pypi.yml @@ -9,34 +9,31 @@ jobs: deploy: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v4 - - - name: Instala nix single user - run: | - BASE_URL='https://raw.githubusercontent.com/ES-Nix/get-nix/' \ - && SHA256=87fa0f1dbfdd28a1f99b39d5bd4dcc39de97bc64 \ - && NIX_RELEASE_VERSION='2.10.2' \ - && curl -fsSL "${BASE_URL}""$SHA256"/get-nix.sh | sh -s -- ${NIX_RELEASE_VERSION} \ - && . "$HOME"/.nix-profile/etc/profile.d/nix.sh \ - && . ~/."$(basename $SHELL)"rc \ - && export TMPDIR=/tmp \ - && nix flake --version \ - && nix registry pin nixpkgs github:NixOS/nixpkgs/ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b \ - && curl -fsSL https://raw.githubusercontent.com/ES-Nix/get-nix/"$SHA256"/install_direnv_and_nix_direnv.sh | sh \ - && . ~/."$(basename $SHELL)"rc \ - && direnv --version - echo "$HOME"/.nix-profile/bin >> $GITHUB_PATH - - - name: Install dependencies - run: | - nix develop .# --command sh -c 'make poetry.config.venv && make poetry.install' - - - name: build package - run: | - nix develop .# --command sh -c 'make package.build' - - - name: deploy package - env: - PASSWORD: ${{ secrets.PYPI_TOKEN }} - run: nix develop .# --command sh -c 'make package.publish PASSWORD=$PASSWORD' + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + with: + python-version: '3.9' + + - name: Install and configure Poetry + uses: snok/install-poetry@v1 + with: + version: 1.8.2 + virtualenvs-create: false + virtualenvs-in-project: false + virtualenvs-path: . + + - name: Install dependencies + run: | + make poetry.config.venv + make poetry.install + + - name: build package + run: | + make package.build + + - name: deploy package + env: + PASSWORD: ${{ secrets.PYPI_TOKEN }} + run: make package.publish PASSWORD=$PASSWORD diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index fc358c8d..aa353d1d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -16,99 +16,51 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Instala nix single user - run: | - BASE_URL='https://raw.githubusercontent.com/ES-Nix/get-nix/' \ - && SHA256=87fa0f1dbfdd28a1f99b39d5bd4dcc39de97bc64 \ - && NIX_RELEASE_VERSION='2.10.2' \ - && curl -fsSL "${BASE_URL}""$SHA256"/get-nix.sh | sh -s -- ${NIX_RELEASE_VERSION} \ - && . "$HOME"/.nix-profile/etc/profile.d/nix.sh \ - && . ~/."$(basename $SHELL)"rc \ - && export TMPDIR=/tmp \ - && nix flake --version \ - && nix registry pin nixpkgs github:NixOS/nixpkgs/ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b \ - && curl -fsSL https://raw.githubusercontent.com/ES-Nix/get-nix/"$SHA256"/install_direnv_and_nix_direnv.sh | sh \ - && . ~/."$(basename $SHELL)"rc \ - && direnv --version - echo "$HOME"/.nix-profile/bin >> $GITHUB_PATH + - uses: actions/setup-python@v5 + with: + python-version: '3.9' + + - name: Install and configure Poetry + uses: snok/install-poetry@v1 + with: + version: 1.8.2 + virtualenvs-create: false + virtualenvs-in-project: false + virtualenvs-path: . - name: Install dependencies run: | - nix develop .# --command sh -c 'make poetry.config.venv && make poetry.install' + make poetry.config.native + make poetry.install - name: Lint code with black run: | - nix develop .# --command sh -c 'make fmt.check' + make fmt.check test: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - - name: Instala nix single user - run: | - BASE_URL='https://raw.githubusercontent.com/ES-Nix/get-nix/' \ - && SHA256=87fa0f1dbfdd28a1f99b39d5bd4dcc39de97bc64 \ - && NIX_RELEASE_VERSION='2.10.2' \ - && curl -fsSL "${BASE_URL}""$SHA256"/get-nix.sh | sh -s -- ${NIX_RELEASE_VERSION} \ - && . "$HOME"/.nix-profile/etc/profile.d/nix.sh \ - && . ~/."$(basename $SHELL)"rc \ - && export TMPDIR=/tmp \ - && nix flake --version \ - && nix registry pin nixpkgs github:NixOS/nixpkgs/ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b \ - && curl -fsSL https://raw.githubusercontent.com/ES-Nix/get-nix/"$SHA256"/install_direnv_and_nix_direnv.sh | sh \ - && . ~/."$(basename $SHELL)"rc \ - && direnv --version - echo "$HOME"/.nix-profile/bin >> $GITHUB_PATH - - - name: Install dependencies - run: | - nix develop .# --command sh -c 'make poetry.config.venv && make poetry.install' - - - name: Show dependencies - run: | - nix develop .# --command sh -c 'python --version && poetry show --tree' - - - name: Config env - run: nix develop .# --command sh -c 'make config.env' - - - name: Test with pytest - run: nix develop .# --command sh -c 'make test' - - coverage: - runs-on: ubuntu-22.04 - needs: test - steps: - - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: '3.9' - - name: Instala nix single user - run: | - BASE_URL='https://raw.githubusercontent.com/ES-Nix/get-nix/' \ - && SHA256=87fa0f1dbfdd28a1f99b39d5bd4dcc39de97bc64 \ - && NIX_RELEASE_VERSION='2.10.2' \ - && curl -fsSL "${BASE_URL}""$SHA256"/get-nix.sh | sh -s -- ${NIX_RELEASE_VERSION} \ - && . "$HOME"/.nix-profile/etc/profile.d/nix.sh \ - && . ~/."$(basename $SHELL)"rc \ - && export TMPDIR=/tmp \ - && nix flake --version \ - && nix registry pin nixpkgs github:NixOS/nixpkgs/ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b \ - && curl -fsSL https://raw.githubusercontent.com/ES-Nix/get-nix/"$SHA256"/install_direnv_and_nix_direnv.sh | sh \ - && . ~/."$(basename $SHELL)"rc \ - && direnv --version - echo "$HOME"/.nix-profile/bin >> $GITHUB_PATH + - name: Install and configure Poetry + uses: snok/install-poetry@v1 + with: + version: 1.8.2 + virtualenvs-create: false + virtualenvs-in-project: false + virtualenvs-path: . - name: Install dependencies run: | - nix develop .# --command sh -c 'make poetry.config.venv && make poetry.install' + make poetry.config.native + make poetry.install - name: Config env - run: | - nix develop .# --command sh -c 'make config.env' - - - name: make coverage - run: | - nix develop .# --command sh -c 'make coverage' + run: make config.env - - uses: codecov/codecov-action@v4 - with: - file: ./coverage.xml # optional + - name: Test with pytest + run: make test diff --git a/bb_wrapper/wrapper/request.py b/bb_wrapper/wrapper/request.py index 460a6742..dd427d31 100644 --- a/bb_wrapper/wrapper/request.py +++ b/bb_wrapper/wrapper/request.py @@ -18,12 +18,12 @@ def wrapper(func): def inner(*args, counter=None, **kwargs): counter = counter if counter is not None else max_retries try: - sleep_time = random.randint(1, 90) / 100 - sleep(sleep_time) return func(*args, **kwargs) except (ConnectionResetError, ConnectionError, ProtocolError): if counter > 0: counter -= 1 + sleep_time = random.randint(1, 90) / 100 + sleep(sleep_time) return inner(*args, counter=counter, **kwargs) raise diff --git a/poetry.lock b/poetry.lock index fe249d93..66be9774 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,10 +1,9 @@ -# This file is automatically @generated by Poetry and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. [[package]] name = "black" version = "22.12.0" description = "The uncompromising code formatter." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -38,106 +37,118 @@ uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "certifi" -version = "2023.7.22" +version = "2024.7.4" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, - {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, + {file = "certifi-2024.7.4-py3-none-any.whl", hash = "sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90"}, + {file = "certifi-2024.7.4.tar.gz", hash = "sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b"}, ] [[package]] name = "charset-normalizer" -version = "3.2.0" +version = "3.3.2" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"}, - {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"}, + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, ] [[package]] name = "click" version = "8.1.7" description = "Composable command line interface toolkit" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -152,7 +163,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -164,7 +174,6 @@ files = [ name = "coverage" version = "5.5" description = "Code coverage measurement for Python" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" files = [ @@ -232,7 +241,6 @@ toml = ["toml"] name = "crc" version = "1.3.0" description = "Library and CLI to calculate and verify all kinds of CRC checksums" -category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -244,7 +252,6 @@ files = [ name = "flake8" version = "3.9.2" description = "the modular source code checker: pep8 pyflakes and co" -category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" files = [ @@ -261,7 +268,6 @@ pyflakes = ">=2.3.0,<2.4.0" name = "freezegun" version = "1.1.0" description = "Let your Python tests travel through time" -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -274,39 +280,33 @@ python-dateutil = ">=2.7" [[package]] name = "idna" -version = "3.4" +version = "3.7" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" files = [ - {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, - {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, + {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, + {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, ] [[package]] name = "isort" -version = "5.12.0" +version = "5.13.2" description = "A Python utility / library to sort Python imports." -category = "dev" optional = false python-versions = ">=3.8.0" files = [ - {file = "isort-5.12.0-py3-none-any.whl", hash = "sha256:f84c2818376e66cf843d497486ea8fed8700b340f308f076c6fb1229dff318b6"}, - {file = "isort-5.12.0.tar.gz", hash = "sha256:8bef7dde241278824a6d83f44a544709b065191b95b6e50894bdc722fcba0504"}, + {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, + {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, ] [package.extras] -colors = ["colorama (>=0.4.3)"] -pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib"] -plugins = ["setuptools"] -requirements-deprecated-finder = ["pip-api", "pipreqs"] +colors = ["colorama (>=0.4.6)"] [[package]] name = "mccabe" version = "0.6.1" description = "McCabe checker, plugin for flake8" -category = "dev" optional = false python-versions = "*" files = [ @@ -318,7 +318,6 @@ files = [ name = "mypy-extensions" version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -328,21 +327,19 @@ files = [ [[package]] name = "pathspec" -version = "0.11.2" +version = "0.12.1" description = "Utility library for gitignore style pattern matching of file paths." -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"}, - {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, ] [[package]] name = "pillow" version = "9.5.0" description = "Python Imaging Library (Fork)" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -420,25 +417,24 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa [[package]] name = "platformdirs" -version = "3.10.0" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "dev" +version = "4.2.2" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "platformdirs-3.10.0-py3-none-any.whl", hash = "sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"}, - {file = "platformdirs-3.10.0.tar.gz", hash = "sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"}, + {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, + {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, ] [package.extras] -docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] +type = ["mypy (>=1.8)"] [[package]] name = "py-bdd-context" version = "0.0.2" description = "Biblioteca com Context Manager para facilitar os testes de Behavior Driven Development (BDD)" -category = "dev" optional = false python-versions = ">=3.8,<4.0" files = [ @@ -450,7 +446,6 @@ files = [ name = "pycodestyle" version = "2.7.0" description = "Python style guide checker" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -460,60 +455,65 @@ files = [ [[package]] name = "pycpfcnpj" -version = "1.7.0" +version = "1.8" description = "Python module for brazilian register numbers for persons (CPF) and companies (CNPJ)." -category = "main" optional = false -python-versions = "*" +python-versions = ">=3.8,<4.0" files = [ - {file = "pycpfcnpj-1.7.0-py3-none-any.whl", hash = "sha256:28cff52153956062cb931747e56cdf2881fa86635bad64383a398da6836d4719"}, - {file = "pycpfcnpj-1.7.0.tar.gz", hash = "sha256:00ffceb1ed57234b4bcc081523140f604cd7929256d43913dbb413c263bee558"}, + {file = "pycpfcnpj-1.8-py3-none-any.whl", hash = "sha256:771d2ff00511f70453f2df8a20f529bad8deb8e35315a15ba0350d3b5360ef91"}, + {file = "pycpfcnpj-1.8.tar.gz", hash = "sha256:c9e95d2790d582aa7a7deb4b87da252364c670bd1d78f69f3d8f8f82479ed969"}, ] [[package]] name = "pydantic" -version = "1.10.12" +version = "1.10.17" description = "Data validation and settings management using python type hints" -category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "pydantic-1.10.12-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a1fcb59f2f355ec350073af41d927bf83a63b50e640f4dbaa01053a28b7a7718"}, - {file = "pydantic-1.10.12-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b7ccf02d7eb340b216ec33e53a3a629856afe1c6e0ef91d84a4e6f2fb2ca70fe"}, - {file = "pydantic-1.10.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8fb2aa3ab3728d950bcc885a2e9eff6c8fc40bc0b7bb434e555c215491bcf48b"}, - {file = "pydantic-1.10.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:771735dc43cf8383959dc9b90aa281f0b6092321ca98677c5fb6125a6f56d58d"}, - {file = "pydantic-1.10.12-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ca48477862372ac3770969b9d75f1bf66131d386dba79506c46d75e6b48c1e09"}, - {file = "pydantic-1.10.12-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a5e7add47a5b5a40c49b3036d464e3c7802f8ae0d1e66035ea16aa5b7a3923ed"}, - {file = "pydantic-1.10.12-cp310-cp310-win_amd64.whl", hash = "sha256:e4129b528c6baa99a429f97ce733fff478ec955513630e61b49804b6cf9b224a"}, - {file = "pydantic-1.10.12-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b0d191db0f92dfcb1dec210ca244fdae5cbe918c6050b342d619c09d31eea0cc"}, - {file = "pydantic-1.10.12-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:795e34e6cc065f8f498c89b894a3c6da294a936ee71e644e4bd44de048af1405"}, - {file = "pydantic-1.10.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69328e15cfda2c392da4e713443c7dbffa1505bc9d566e71e55abe14c97ddc62"}, - {file = "pydantic-1.10.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2031de0967c279df0d8a1c72b4ffc411ecd06bac607a212892757db7462fc494"}, - {file = "pydantic-1.10.12-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:ba5b2e6fe6ca2b7e013398bc7d7b170e21cce322d266ffcd57cca313e54fb246"}, - {file = "pydantic-1.10.12-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:2a7bac939fa326db1ab741c9d7f44c565a1d1e80908b3797f7f81a4f86bc8d33"}, - {file = "pydantic-1.10.12-cp311-cp311-win_amd64.whl", hash = "sha256:87afda5539d5140cb8ba9e8b8c8865cb5b1463924d38490d73d3ccfd80896b3f"}, - {file = "pydantic-1.10.12-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:549a8e3d81df0a85226963611950b12d2d334f214436a19537b2efed61b7639a"}, - {file = "pydantic-1.10.12-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:598da88dfa127b666852bef6d0d796573a8cf5009ffd62104094a4fe39599565"}, - {file = "pydantic-1.10.12-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba5c4a8552bff16c61882db58544116d021d0b31ee7c66958d14cf386a5b5350"}, - {file = "pydantic-1.10.12-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c79e6a11a07da7374f46970410b41d5e266f7f38f6a17a9c4823db80dadf4303"}, - {file = "pydantic-1.10.12-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab26038b8375581dc832a63c948f261ae0aa21f1d34c1293469f135fa92972a5"}, - {file = "pydantic-1.10.12-cp37-cp37m-win_amd64.whl", hash = "sha256:e0a16d274b588767602b7646fa05af2782576a6cf1022f4ba74cbb4db66f6ca8"}, - {file = "pydantic-1.10.12-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6a9dfa722316f4acf4460afdf5d41d5246a80e249c7ff475c43a3a1e9d75cf62"}, - {file = "pydantic-1.10.12-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a73f489aebd0c2121ed974054cb2759af8a9f747de120acd2c3394cf84176ccb"}, - {file = "pydantic-1.10.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b30bcb8cbfccfcf02acb8f1a261143fab622831d9c0989707e0e659f77a18e0"}, - {file = "pydantic-1.10.12-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2fcfb5296d7877af406ba1547dfde9943b1256d8928732267e2653c26938cd9c"}, - {file = "pydantic-1.10.12-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2f9a6fab5f82ada41d56b0602606a5506aab165ca54e52bc4545028382ef1c5d"}, - {file = "pydantic-1.10.12-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:dea7adcc33d5d105896401a1f37d56b47d443a2b2605ff8a969a0ed5543f7e33"}, - {file = "pydantic-1.10.12-cp38-cp38-win_amd64.whl", hash = "sha256:1eb2085c13bce1612da8537b2d90f549c8cbb05c67e8f22854e201bde5d98a47"}, - {file = "pydantic-1.10.12-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ef6c96b2baa2100ec91a4b428f80d8f28a3c9e53568219b6c298c1125572ebc6"}, - {file = "pydantic-1.10.12-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c076be61cd0177a8433c0adcb03475baf4ee91edf5a4e550161ad57fc90f523"}, - {file = "pydantic-1.10.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d5a58feb9a39f481eda4d5ca220aa8b9d4f21a41274760b9bc66bfd72595b86"}, - {file = "pydantic-1.10.12-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5f805d2d5d0a41633651a73fa4ecdd0b3d7a49de4ec3fadf062fe16501ddbf1"}, - {file = "pydantic-1.10.12-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:1289c180abd4bd4555bb927c42ee42abc3aee02b0fb2d1223fb7c6e5bef87dbe"}, - {file = "pydantic-1.10.12-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5d1197e462e0364906cbc19681605cb7c036f2475c899b6f296104ad42b9f5fb"}, - {file = "pydantic-1.10.12-cp39-cp39-win_amd64.whl", hash = "sha256:fdbdd1d630195689f325c9ef1a12900524dceb503b00a987663ff4f58669b93d"}, - {file = "pydantic-1.10.12-py3-none-any.whl", hash = "sha256:b749a43aa51e32839c9d71dc67eb1e4221bb04af1033a32e3923d46f9effa942"}, - {file = "pydantic-1.10.12.tar.gz", hash = "sha256:0fe8a415cea8f340e7a9af9c54fc71a649b43e8ca3cc732986116b3cb135d303"}, + {file = "pydantic-1.10.17-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0fa51175313cc30097660b10eec8ca55ed08bfa07acbfe02f7a42f6c242e9a4b"}, + {file = "pydantic-1.10.17-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c7e8988bb16988890c985bd2093df9dd731bfb9d5e0860db054c23034fab8f7a"}, + {file = "pydantic-1.10.17-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:371dcf1831f87c9e217e2b6a0c66842879a14873114ebb9d0861ab22e3b5bb1e"}, + {file = "pydantic-1.10.17-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4866a1579c0c3ca2c40575398a24d805d4db6cb353ee74df75ddeee3c657f9a7"}, + {file = "pydantic-1.10.17-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:543da3c6914795b37785703ffc74ba4d660418620cc273490d42c53949eeeca6"}, + {file = "pydantic-1.10.17-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7623b59876f49e61c2e283551cc3647616d2fbdc0b4d36d3d638aae8547ea681"}, + {file = "pydantic-1.10.17-cp310-cp310-win_amd64.whl", hash = "sha256:409b2b36d7d7d19cd8310b97a4ce6b1755ef8bd45b9a2ec5ec2b124db0a0d8f3"}, + {file = "pydantic-1.10.17-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fa43f362b46741df8f201bf3e7dff3569fa92069bcc7b4a740dea3602e27ab7a"}, + {file = "pydantic-1.10.17-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2a72d2a5ff86a3075ed81ca031eac86923d44bc5d42e719d585a8eb547bf0c9b"}, + {file = "pydantic-1.10.17-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4ad32aed3bf5eea5ca5decc3d1bbc3d0ec5d4fbcd72a03cdad849458decbc63"}, + {file = "pydantic-1.10.17-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aeb4e741782e236ee7dc1fb11ad94dc56aabaf02d21df0e79e0c21fe07c95741"}, + {file = "pydantic-1.10.17-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d2f89a719411cb234105735a520b7c077158a81e0fe1cb05a79c01fc5eb59d3c"}, + {file = "pydantic-1.10.17-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db3b48d9283d80a314f7a682f7acae8422386de659fffaba454b77a083c3937d"}, + {file = "pydantic-1.10.17-cp311-cp311-win_amd64.whl", hash = "sha256:9c803a5113cfab7bbb912f75faa4fc1e4acff43e452c82560349fff64f852e1b"}, + {file = "pydantic-1.10.17-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:820ae12a390c9cbb26bb44913c87fa2ff431a029a785642c1ff11fed0a095fcb"}, + {file = "pydantic-1.10.17-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c1e51d1af306641b7d1574d6d3307eaa10a4991542ca324f0feb134fee259815"}, + {file = "pydantic-1.10.17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e53fb834aae96e7b0dadd6e92c66e7dd9cdf08965340ed04c16813102a47fab"}, + {file = "pydantic-1.10.17-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e2495309b1266e81d259a570dd199916ff34f7f51f1b549a0d37a6d9b17b4dc"}, + {file = "pydantic-1.10.17-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:098ad8de840c92ea586bf8efd9e2e90c6339d33ab5c1cfbb85be66e4ecf8213f"}, + {file = "pydantic-1.10.17-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:525bbef620dac93c430d5d6bdbc91bdb5521698d434adf4434a7ef6ffd5c4b7f"}, + {file = "pydantic-1.10.17-cp312-cp312-win_amd64.whl", hash = "sha256:6654028d1144df451e1da69a670083c27117d493f16cf83da81e1e50edce72ad"}, + {file = "pydantic-1.10.17-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c87cedb4680d1614f1d59d13fea353faf3afd41ba5c906a266f3f2e8c245d655"}, + {file = "pydantic-1.10.17-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11289fa895bcbc8f18704efa1d8020bb9a86314da435348f59745473eb042e6b"}, + {file = "pydantic-1.10.17-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:94833612d6fd18b57c359a127cbfd932d9150c1b72fea7c86ab58c2a77edd7c7"}, + {file = "pydantic-1.10.17-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:d4ecb515fa7cb0e46e163ecd9d52f9147ba57bc3633dca0e586cdb7a232db9e3"}, + {file = "pydantic-1.10.17-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7017971ffa7fd7808146880aa41b266e06c1e6e12261768a28b8b41ba55c8076"}, + {file = "pydantic-1.10.17-cp37-cp37m-win_amd64.whl", hash = "sha256:e840e6b2026920fc3f250ea8ebfdedf6ea7a25b77bf04c6576178e681942ae0f"}, + {file = "pydantic-1.10.17-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bfbb18b616abc4df70591b8c1ff1b3eabd234ddcddb86b7cac82657ab9017e33"}, + {file = "pydantic-1.10.17-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ebb249096d873593e014535ab07145498957091aa6ae92759a32d40cb9998e2e"}, + {file = "pydantic-1.10.17-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8c209af63ccd7b22fba94b9024e8b7fd07feffee0001efae50dd99316b27768"}, + {file = "pydantic-1.10.17-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4b40c9e13a0b61583e5599e7950490c700297b4a375b55b2b592774332798b7"}, + {file = "pydantic-1.10.17-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c31d281c7485223caf6474fc2b7cf21456289dbaa31401844069b77160cab9c7"}, + {file = "pydantic-1.10.17-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ae5184e99a060a5c80010a2d53c99aee76a3b0ad683d493e5f0620b5d86eeb75"}, + {file = "pydantic-1.10.17-cp38-cp38-win_amd64.whl", hash = "sha256:ad1e33dc6b9787a6f0f3fd132859aa75626528b49cc1f9e429cdacb2608ad5f0"}, + {file = "pydantic-1.10.17-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7e17c0ee7192e54a10943f245dc79e36d9fe282418ea05b886e1c666063a7b54"}, + {file = "pydantic-1.10.17-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cafb9c938f61d1b182dfc7d44a7021326547b7b9cf695db5b68ec7b590214773"}, + {file = "pydantic-1.10.17-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95ef534e3c22e5abbdbdd6f66b6ea9dac3ca3e34c5c632894f8625d13d084cbe"}, + {file = "pydantic-1.10.17-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62d96b8799ae3d782df7ec9615cb59fc32c32e1ed6afa1b231b0595f6516e8ab"}, + {file = "pydantic-1.10.17-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ab2f976336808fd5d539fdc26eb51f9aafc1f4b638e212ef6b6f05e753c8011d"}, + {file = "pydantic-1.10.17-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8ad363330557beac73159acfbeed220d5f1bfcd6b930302a987a375e02f74fd"}, + {file = "pydantic-1.10.17-cp39-cp39-win_amd64.whl", hash = "sha256:48db882e48575ce4b39659558b2f9f37c25b8d348e37a2b4e32971dd5a7d6227"}, + {file = "pydantic-1.10.17-py3-none-any.whl", hash = "sha256:e41b5b973e5c64f674b3b4720286ded184dcc26a691dd55f34391c62c6934688"}, + {file = "pydantic-1.10.17.tar.gz", hash = "sha256:f434160fb14b353caf634149baaf847206406471ba70e64657c1e8330277a991"}, ] [package.dependencies] @@ -527,7 +527,6 @@ email = ["email-validator (>=1.0.3)"] name = "pyflakes" version = "2.3.1" description = "passive checker of Python programs" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -539,7 +538,6 @@ files = [ name = "pypng" version = "0.20220715.0" description = "Pure Python library for saving and loading PNG images" -category = "main" optional = false python-versions = "*" files = [ @@ -551,7 +549,6 @@ files = [ name = "python-barcode" version = "0.15.1" description = "Create standard barcodes with Python. No external modules needed. (optional Pillow support included)." -category = "main" optional = false python-versions = "*" files = [ @@ -564,14 +561,13 @@ images = ["pillow"] [[package]] name = "python-dateutil" -version = "2.8.2" +version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" -category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ - {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, - {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, ] [package.dependencies] @@ -581,7 +577,6 @@ six = ">=1.5" name = "python-decouple" version = "3.8" description = "Strict separation of settings from code." -category = "main" optional = false python-versions = "*" files = [ @@ -593,7 +588,6 @@ files = [ name = "qrcode" version = "7.4.2" description = "QR Code image generator" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -615,14 +609,13 @@ test = ["coverage", "pytest"] [[package]] name = "requests" -version = "2.31.0" +version = "2.32.3" description = "Python HTTP for Humans." -category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, - {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, ] [package.dependencies] @@ -639,7 +632,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "responses" version = "0.21.0" description = "A utility library for mocking out the `requests` Python library." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -658,7 +650,6 @@ tests = ["coverage (>=6.0.0)", "flake8", "mypy", "pytest (>=7.0.0)", "pytest-asy name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -670,7 +661,6 @@ files = [ name = "toml" version = "0.10.2" description = "Python Library for Tom's Obvious, Minimal Language" -category = "dev" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -682,7 +672,6 @@ files = [ name = "tomli" version = "2.0.1" description = "A lil' TOML parser" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -692,43 +681,40 @@ files = [ [[package]] name = "typing-extensions" -version = "4.7.1" -description = "Backported and Experimental Type Hints for Python 3.7+" -category = "main" +version = "4.12.2" +description = "Backported and Experimental Type Hints for Python 3.8+" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"}, - {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] [[package]] name = "unidecode" -version = "1.3.6" +version = "1.3.8" description = "ASCII transliterations of Unicode text" -category = "main" optional = false python-versions = ">=3.5" files = [ - {file = "Unidecode-1.3.6-py3-none-any.whl", hash = "sha256:547d7c479e4f377b430dd91ac1275d593308dce0fc464fb2ab7d41f82ec653be"}, - {file = "Unidecode-1.3.6.tar.gz", hash = "sha256:fed09cf0be8cf415b391642c2a5addfc72194407caee4f98719e40ec2a72b830"}, + {file = "Unidecode-1.3.8-py3-none-any.whl", hash = "sha256:d130a61ce6696f8148a3bd8fe779c99adeb4b870584eeb9526584e9aa091fd39"}, + {file = "Unidecode-1.3.8.tar.gz", hash = "sha256:cfdb349d46ed3873ece4586b96aa75258726e2fa8ec21d6f00a591d98806c2f4"}, ] [[package]] name = "urllib3" -version = "2.0.4" +version = "2.2.2" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "urllib3-2.0.4-py3-none-any.whl", hash = "sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4"}, - {file = "urllib3-2.0.4.tar.gz", hash = "sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11"}, + {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, + {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, ] [package.extras] brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] +h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] diff --git a/tests/models/test_barcode_cobranca.py b/tests/models/test_barcode_cobranca.py index 8281732b..e181690d 100644 --- a/tests/models/test_barcode_cobranca.py +++ b/tests/models/test_barcode_cobranca.py @@ -8,7 +8,7 @@ class BarcodeCobrancaTestCase(TestCase): barcode = "00196846200000100000000003128557123123000917" code_line = "00190000090312855712531230009172684620000010000" - barcode_image = "data:image/png;base64,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ZsyYsXz58tWrV1dVVfXo0WPAgAFDhw4dPnz48OHD+/Tp02zIpk2bpkyZ8thjj7300kvr16/funVrjx49+vXrd/TRR48ZM+a0004rK2u390ta2cHa2trnn39+xowZf//731999dUPPvhg27ZtvXr16t+///HHH3/GGWeMGDGipZuUzV00+KgUZbODokSlErVjx4433nhjwYIFixcvXrJkybJly957771NmzZt3769Z8+ee++999FHHz1q1KgzzzyzvLytp8SpD8hZPnkFKZVXMPhdtHQdzMggU6Ko1GfIwP9rdUAmVVVVXX755R06dGj0yN1jjz0eeuihNo56//33n3rqqTvuuOOqq64aO3bskCFDOnXqFOWcfvrpyXtXU1Pzne98Z9ddd21qaNp7770feeSR5IGVlZVf+9rXmupj3qBBgwqH1NbW/vSnPy08lxo0aNBTTz2VfMPq+dvf/hZPGzFiRNt0cOXKld/73vf69u1bYPVcLnfUUUfNmzcv4SZlcBcNPirFYzCbHRQlKt2ou+++u9F169lnn33uv//+JJuUyjGY+oCc1snrwAMPTPLnypsxY0apo5599tnkIXETJkxoasOy9goGv4um3sG6jA0yqUelOENu/c5QimMQaHuqfpBFNTU1p5xySrPn1F/+8pdtFrVu3brCCckrDtu2bTvttNOSTBomT56cJHDJkiX9+vVrNq1w1a+2tvbLX/5ykq0qKyu75557EnY2buvWrfX+EUpY9Wt9B0899dQkXcvlchUVFXfeeWezm5TBXTT4qBSPwWx2UJSo1KMSVhzyLrvsssKblNYxmO6AnOLJK5iq3yWXXNJoYAZfweB30XQ7WJe9QSbdqBRnyKnsDKkfg0C7UPWDLJo4cWJ04uzRo8ePfvSjd955Z/PmzfPnzz///POjhyoqKp544om2iUqx4nDppZdGa5WXl1922WXz58//+OOPN27cOGfOnLFjx0aPduzY8a9//WvhtOXLl++7777RKvvvv//111//0ksvbdiwYdu2be++++7vf//7cePGlZWVFa76XX/99fHujBs37rHHHqusrKyurl65cuWUKVOGDBkS/3MtXLgwYX8j3/3ud+v90ZJU/VLpYHwGf8wxx9xwww0vvPDC2rVrq6qqVqxYMWXKlCOPPDL+Z2/2beQM7qLBR6Vb9ctgB0WJSj0qqjgceOCB3/72t++///4333xz48aN1dXVa9asefjhhz/72c/mYm666aYCm1SKkkrrB+QUT17BVP2a+lBVBl/B4HfRdDtYl71BJt2oFGfI7Vv1S/4ZSaANqPpB5ixYsCA6a3br1u2FF16o1+C6666LGgwePLi2trYNotavX7/nnnsed9xxF1544Q033HD//fcvWrRo2rRpLZo91NXVzZ8/P7r8oby8/C9/+UvDNvH/YQYMGLBt27YCgcOHD48ajx8/fvPmzY02e+211y666KKmQjZs2NC1a9coZ9KkSQ3bbN68+YQTTojajBo1qrm+/oPFixdXVFTkcrmOHTtGIUmqfql0MD+DHzt27HPPPddog+rq6i9+8YvRE+2zzz5NPVFdVnfR4KPSOgYz20FRolKPuu+++77yla80XD3u5z//eRTVuXPnd999t6mWaR2DKQ7I6Z68olLdkCFDknSkgBSjklixYkV018I+ffrU1NQ02iyDr2Dwu2i6HczgIJNiVLoz5BTnDEkkPAaBdqHqB5lz1llnRafkH/7whw0b1NbWHnPMMVGb++67rw2iGvXggw+2dPZw4YUXRqsUuJQj/j7zXXfd1VSzBx54IGp23nnnFZiTFXbXXXdFOYceemhTOa+99lp8QrZhw4aE+bW1tccff3x+xUsuuSR6rmarfml18NJLL3300UcLt9myZcv+++8fPV2B61CyuYsGH9WoIo7BdLdKlKiMRyUxZsyYKOq6665r0bpFHIMpDsjpnrx23qrfpEmTor/DFVdc0aJ12/cVTGjn3UUTStjBbA4yaUWlO0NuVHFzhiRacwwCpabqB9mydu3aaGrevXv3LVu2NNrs4Ycfjk6up5xySqmjmtLS2cOOHTviX2FW4O3cp59+OslWHXHEEfk2e+6558aNG1u08XHf/OY3o6e75pprCrSMXyr1+OOPJ8y/9dZb86uMGjVqxowZUUKzVb+0OpjQjTfeGG3b6NGjG22TzV00+KimFDGDz2YHRYkqRVRC06dPj6JOPvnkFq1buv+ikwzI6Z68dtKqX21t7cCBA6PeLV68uEWrt+8rmNDOu4smlKSD2Rxk0opKfYbcqBLtDK08BoFSK8sBWTJz5sy6urr88plnntm5c+dGm5166qm77757fvnJJ5/86KOPShqVlldffXXTpk355cGDB++3335NtTzuuOP23nvv/PLcuXMb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3HPP5XK5rl273nTTTc22b6gUHSzgd7/7XXR9zS677BJ9SrGebO6iwUelKJsdFCWqFFEJ9erVa9q0aX/9618POuig4hJSl3BAjqR18tp7773POeecX//6188999ybb75ZWVlZVVW1evXqGTNmfO1rX4teju3bt3/jG9944IEH2iaqKVVVVdOmTYt+zNSlhS19BQsLYBctLEkHsznIpBiV4gy5zWT5GAT+QR2QGffee290bJ5yyin5X9b7nq+BAwfmf1/vzb3a2toSRRUQv6XL6aefnmSVCy64IFrl3//935tqVu9ezv369avXIN7BvL/97W+NRlVWVu6xxx5Rs/nz5zf1pEuXLm32xjSdO3e+/PLLt2zZUqCPq1atiqZu119/fb1HZ8yYEaWNGDGiqZBSdLApb7zxRvfu3aOEm266KclWZWcXDT6qgJYeg9nsoChRpYiqJ35NXEMnn3zySy+9VGD1phRxHiws+YAcSevk1eyGDRkyJArs3r37unXr2jHqnnvuiRJOOOGE4rakLhuvYF7Au2heazqYzUEm3fEqrRlyAenuDGkdg0Cp+awfZEj8bcDo9sD5q0Qjdf93Z7eoQS6X23XXXTt06FCiqHRdcskl0fItt9zy+OOPN2xz0003xUtjuX/8trK8eht53HHHjRw5stFn7NmzZ3wiNX369EabPf3000cdddSsWbNyuVzHjh0vuuiiuXPnVlZWVldXr1ixYtq0aUOHDs3lclu3br3llluOP/74ysrKpvo4ceLEDz/8MJfLHXDAAd/+9rebalZY6h1syscffzxu3Ljoo4Wnn376lVde2VTjbO6iwUelKJsdFCWqFFH19O3bN5r+bt68+a233rr77rs/9alP5R+dM2fOscceW9yHzlLUogE5L8WTV2EHHXTQrFmz+vbtm//xo48+avTLQ9osKn5pYXY+ZFTEKxgJdReNtKaD2Rxk0h2v0poht5lsHoNAQ6p+kCHxW35En9gfOnTo5MmT99tvv86dO5944onR23Tbtm2LGjc85acYla5hw4ZNmDAh2rBRo0Z95zvfWbRo0ZYtWz788MMnn3zy85///NVXX53L5Y4++uh999033zL+rnJe/EqKXC43bty4Ak8af1/0+eefb9hg7dq1Z5xxRn4WW15e/tBDD/3mN7/51Kc+1bNnz4qKiv79+5977rnPP//8v/zLv+TbL1iw4Lzzzmv0uR555JFoznrLLbfU287k0u1gU2pra88777zo8pNDDjlk6tSpBf5zzuYuGnxUirLZQVGiShFVQJcuXQYOHPjlL3957ty5t912W8eOHfNp55577t///vfkOelq6YCcS/XklUS/fv1+8IMfRD/GL+5r46jly5fPnj07v9ylS5cvfOELRW9Jiop4BZsSzC7alJZ2MJuDTLrjVVoz5LaRzWMQaFzJPkUItNizzz4bHZtDhgwp3HjJkiVR43333bd0UQUUd6XAxx9/fNJJJxUemrp377548eLowtWTTjqpXsicOXPi7efMmVPgGeO3R+nfv3/DBvEbnOe/KrdR1dXVhx12WNRyxowZDbu233775R8dOXJkoyEJr/BNt4NNmThxYrTiXnvt9dZbbxVun81dNPioAlp6DGazg6JElSIquf/+7/+Oco455pgWrZviFXMtHZDr0jt5Jbdly5ZddtklinrjjTfaJer73/9+tOL5559f9DbUtfcrmNDOu4sm1GwHsznIpD5epTJDLiDFnSHFYxAoNZ/1gwzp3bt3tFz47ie5XG7NmjWNrph6VOq6du06c+bMCRMm5N/abWjAgAFPP/304MGDo0tI+vfvX6/NXnvtFf+xX79+BZ4x3qmNGzfWe7Smpmbq1Kn55Y4dO8YntfVUVFRceuml0Y933nlnvQbXXnvt8uXLc7lceXl5fApbhBQ72JTJkyf//Oc/zy936dLlkUceGThwYOFVsrmLBh+Vomx2UJSoUkQl941vfCMa/Z5//vmFCxcWHVW0IgbkFE9eyXXu3Pmf/umfoh+XLl3a9lF1dXV33XVX9ONXv/rVorchRUW8gsntpLtocs12MJuDTOrjVSoz5DaQzWMQaIqqH2TIgAEDove9P/jgg8JfyxX/Aq+G33qWYlQpdOrU6dZbb120aNF3v/vdYcOG9enTp7y8fLfddjv++ONvvvnmxYsXH3744cuWLYvugXL44YfXS4gubciLX2TRUHl5eXl5eX654femLVy4MJo8DRkyJP7NGA0NHz48Wn766afrPXrbbbflF/71X/81fqvyIqTYwUb96U9/+ta3vpVf7tix4z333HP00Uc3u1Y2d9Hgo1KUzQ6KElWKqOQ6dux4+umnRz8+8cQTRUcVp7gBOcWTV4v06dMnWl6/fn3bR82ePfudd97JLx9wwAHNfjaq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" # noqa + barcode_image = "data:image/png;base64,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mDFj5cqVa9asqaqq6tWr18CBA4cNGzZy5MiRI0f27du3ySCbNm2aOnXqY489tnDhwg0bNmzdurVXr179+/cfMWLEGWecceqpp5aVtc/bJy3Mrra2du7cuTNmzPj73/++dOnSDz74YNu2bX369BkwYMCxxx57+umnjxo1qrldyuDIDD5UWjKYXQa7JLuO1aUdO3a89tprCxYsWLJkyauvvrpixYp3331306ZN27dv792791577TVixIgxY8aceeaZ5eVtuh5OffrN7HkqPKnsu7BHZutlF9gEFZfu6hegrjzQcVRVVU2ZMqVTp04NHs677bbbQw891JZx3nvvvaeffvr222+//PLLx44dO3To0C5dukRxTjvttOSp1dTUfPvb3955550bm6z22muvRx55JGG0ysrKr371q40lWDB48ODiQWpra3/yk58UX2wNHjz46aefTp5mHX/729/i0UaNGtUG2a1evfq73/1uv379ijw9l8sdeeSR8+bNS5hI1kZm2KFSPO4ymF02uyS7jpjdXXfd1eBz69h7773vu+++JvuTynGX+vSb1nnqgAMOSPK3KpgxY0arxnnuueeSB4mbMGFCYx1r+e5Lcd+lOzKDzy4f6ARVkNbqt+VjoDWOOyAjVP2gw6ipqTnppJOaPPv+4he/aJs469evLx4hefVh27Ztp556apK1xc0339xktFdffbV///5Nhipe9autrf3Sl76UpEtlZWV33313wkzjtm7dWucfpCRVv5Znd/LJJyfJK5fLVVRU3HHHHU12KWsjM+xQKR53Gcwum12SXQfNLmH1oWDy5MlFQqV13KU7/aZ4ngqj6nfJJZc0GDCV3ZfivktxZAafXT7cCSqf3uo3lTGQ+nEHZIeqH3QYEydOjE6xvXr1+uEPf/jWW29t3rx5/vz5559/fvRQRUXFk08+2QZxUqw+TJo0KXpWeXn55MmT58+f//HHH2/cuHHOnDljx46NHu3cufNf//rXIqFWrly5zz77RO3322+/a6+9duHChe+///62bdvefvvt3//+9+PGjSsrKyte9bv22mvjuYwbN+6xxx6rrKysrq5evXr11KlThw4dGv9bLVq0KGGyke985zt1/mJNVv1SyS6+uD/qqKOuu+66F154Yd26dVVVVatWrZo6deoRRxwR/4M3+SZz1kZm2KHSrfplLbtsdkl2HTS7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vXjx4h//+Mf121RVVU2YMKG2tjaXy5WVlf3whz8s3vlcLvf973+/8JmLYcOGNeuyiHSzSyj+b+RnPvOZ+g0yODKDD5WWDGaXwS6lGCqDXUoxVAa7lFA+n//v//7vaMLs16/fxRdfXEKc1DU5/eZa7Ty1YcOG8ePHH3rooX369Nlpp5369ev3iU98YuLEifHbmSWRVpzGxC8zjH8XartLsu+a1KFHZpMSZhf2BJXW6reNZfa4A4pT9YOsi985Jb6GaFC8QZ1brqQVJ13x9wmbvMv4mjVrou0NGzbEH1q9enW03bt378mTJ1911VWN/WuxcuXKM84443e/+12R17r++uvPOOOMwvZll1127rnnPvnkkx9++OH27dvXrFnz+9//fsSIEY899lgulysrK/v5z39+/PHHF+/84sWLb7rppsL2T3/60+K3Yaoj9eya9Prrr8dvXtPgRRwZHJnBh0pLBrPLYJdSDJXBLqUYKoNdKq6qquqtt96aOnXqcccd91//9V+FX/bs2fO+++7LwkdXkky/Bamfp3K53Lp162677baXX365srKypqZm3bp1CxYsuPnmm0855ZQjjzzyySefTJhFWnEatGjRohdffLGwPWDAgE9/+tMtiZai5PuuQcGMzAY1N7uwJ6i0Vr9tKbPHHdAkVT/IumZdBRBvEH9iinHSFf8St6VLlxZvHL+dSvTdZwXxLzWbN2/eT3/601wu17t37x/96EdvvPHGtm3b1q1b98ADD3zyk58stNmxY8fFF19c5PYoFRUVDzzwwI033tinT59cLnf33XefcMIJvXr1qqio6N+//3nnnVd47hFHHDF79uyvfe1rxXteW1s7YcKEwv2q/+Vf/iW6x3NCqWfXpMmTJ+/YsaOwPWbMmMMPP7x+mwyOzOBDpSWD2WWwSymGymCXUgyVwS7Vt3bt2k7/q0uXLvvvv/+Xv/zl6L74n/nMZ1588cXmzsytJMn0W5DueapJixYtGjVq1C9+8Yt2j3PbbbdF2+eff36z3kVrVcn3XSTIkRlpSXZhT1BprX7bUmaPO6BJDlfIuvhaYeedd462b7/99gMOOKB79+4jR46MbvoWv9ygyLqnJXHSdfDBB0c3hF6yZMk777zTWMvnnnvu3XffjX6sqqqKPxqvi9133335fL5///7z58+/9NJLBw0atPPOO++5555jx459/vnnx44dW2hWXV0d3WWvQWVlZVOmTJk5c2ZUTYvr1KnT+PHjZ82adeKJJzaZ5i9/+cvnn38+l8t17979hhtuaLJ9Ha2RXRG/+93voktvdtppp+gjinVkcGQGHyotGcwug12SXYfOLqE+ffpMnz79r3/964EHHlhahHQlnH4jaZ2n9tprr3POOedXv/rV888///rrr1dWVlZVVa1Zs2bGjBlf/epXo32xffv2r3/96/fff39rxymiqqpq+vTp0Y/ZucywufuuuI4+MotLkl3YE1Raq982k9njDkgkD2TbPffcEx2wJ510UuGXdb4ObNCgQYXf13kPsLa2NvU4xcXv+XLaaaclecoFF1wQPeU//uM/GmtW52bP/fv3b+yvVPC3v/2twTiVlZW77bZb1Gz+/PmNveLy5cubvG1N165dp0yZsmXLliIJvvPOO9Ha7tprr63z6IwZM6Joo0aNajBCa2TXmNdee61nz55RhBtuuKGxlhkcmcGHakxzj7sMZpfBLsmuQ2dXR/wSufpOPPHEhQsXFnl6g0o43xWXfPqNpHWearJjQ4cOjQL27Nlz/fr17RXn7rvvjiIcd9xxJXSjIN3dV8K+K2iNkZkPIrvgJ6hUVr9FpDsG0jrugHbhs36QdfF3C6O7CBeuFY3k//cWb1GDXC638847d+rUKfU4qbvkkkui7Ztuuunxxx+v3+aGG26IV8dy//cbzXK5XJ0eHnPMMaNHj27w5Xr37h1faT3wwAMNNnvmmWeOPPLIWbNm5XK5zp07X3TRRU888URlZWV1dfWqVaumT58+bNiwXC63devWm2666dhjj62srGwswYkTJ3744Ye5XG7//ff/1re+1VizIlLPrjEff/zxuHHjoo8WnnbaaZdddlljjTM4MoMPlZYMZpfBLsmuQ2dXR79+/aK17+bNm99444277rrrU5/6VOHROXPmHH300aV99CwtzZp+C1I8TxV34IEHzpo1q1+/foUfP/roowa/PKRt4sQvM8zIB45K2HeRIEdmpCXZBT9BpbL6bTMZPO6A5FT9IOvidwaJPtg/bNiwm2++ed999+3atevxxx8fvaG3bdu2qHGdlUFacVI3fPjwCRMmRB0bM2bMt7/97cWLF2/ZsuXDDz986qmnPv/5z19xxRW5XG7EiBH77LNPoWX8befc/73UIpfLjRs3rsgrxt84nTt3bv0G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" # noqa def test_validate_barcode_valid(self): BarcodeCobranca(barcode=self.barcode) diff --git a/tests/models/test_barcode_tributo.py b/tests/models/test_barcode_tributo.py index fa9bd300..3f01d286 100644 --- a/tests/models/test_barcode_tributo.py +++ b/tests/models/test_barcode_tributo.py @@ -8,7 +8,7 @@ class BarcodeCobrancaTestCase(TestCase): barcode = "85800000000600003282126307082112794112788193" code_line = "858000000003600003282129630708211275941127881934" - barcode_image = "data:image/png;base64,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uA+b1QcffPDwww+/8sormzZtqqys7N+//wknnHDFFVdMmjSpT58+rUpMKKEyffzxx08//fTs2bM3bNiwdevW6urqPn36DB48eOTIkWPHjh07dmy/fv0O3B0skVB1dXWrV69+5513li9fvmrVqnXr1m3ZsqWysnL//v2HHnro0UcffeaZZ44fP/6yyy4rK4t1vVFfX//WW2/Nnj37f//3f1euXPnpp5/u27evb9++AwcOHDNmzNe//vULLrigVXsX5HwVPKsgCpRV3hMneDFEwp4ZQgmVVYJLNKBS3sENGzY8/vjjL7300po1a3bs2NGtW7f+/fufcsop3/jGN77+9a/37NmzvRIrKaV8BANe1pbmdXsbS7Rw53ageBqA0lNfX//LX/4y9yvx0KFDFy5cmDvOCSecEP9sMHv27OJklVZdXX3TTTd16NCh2TiHH374c889F/PpEkqoTOXl5d/5zneyRUsbOnToAbqDJRXq0UcfzfEkR4455phZs2blDrVp06Yf/vCH/fv3zx3q9NNPX7x4cZy9C3K+Cp7VJ598snDhwgcffPCWW26ZMGHC8OHDu3btGsW55JJL4gQJnlVaGydOwGKItLFE//CHP8RJqakpU6YULqtIgks0YKhQO1iIYqitrf2Hf/iHQw45JNu6Rx999AsvvBD/GWvq5Zdfzgx4wQUXtLiKIxj/CAa8rA0YKuARDFKihTi3A0Wm6wclp76+/q/+6q/ivMR27NjxiSeeyBEqYNcvYFYNDQ21tbXnn39+i6H+/d//vcWnSyihMq1atWrAgAEtRmux61eaO1hqoWK+GUi78cYbc4S68MILY8bp3LnzQw89lHvvQp2vwma1Y8eO3EFivp0Lm1Va2ydOwGJIa3uJ5t0muO666wqXVVqySzRgqFA7GLwY9u3bd/HFF8eJcM8998R80hrZu3dvo6u4Frt+jmBT2Y5gwMvagKECHsFQJRr83A4Un64flJw77rgj8xV04sSJr776anl5eU1NzaZNmx577LHhw4dHj3bu3Hnp0qXZQgXs+gXMqqGhYerUqdHgPn36/PSnP/3444+rqqqWLFnyrW99KzPOa6+9lvvpEkqoyIYNG4499tholeOOO+6OO+549913d+3atW/fvvXr1//Xf/3XxIkTO3bs2GLXrzR3sNRCRW8GTjjhhO9973uzZs368MMPKyoqampq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" # noqa + barcode_image = "data:image/png;base64,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ry+9+rHHHnvOOefccsstL7744ltvvVVdXV1fX//hhx/OmjXrO9/5zvbbb18c8MEHHyx3So8++mgy/thjj03+/7bbbhs9evSgQYOOP/74JUuWFP5zw4YNyeDtt9++HHGyGSqDKWVz6x5//PEWRThq1Kh33nmnxbBt27adccYZyZiJEyfmW4l7RwUM1UJ77xOGDx8+c+bM0ut26K677koCbrfddsuWLUuzVjfPmWXKKlGON9UpUwo4X4p1pwbKV5ktbN26deedd05WL/H2tXwpZbwy89nuHHV/6/KdKYOmpqbkFyf69Omzdu3a9ka2+GnUEp9C/bd/+7fCmMGDB7cIGHfXr8LHroWA865MU7hT+7wclVlQ1ldzoMJ0/aDXWLlyZYe3Phk4cOBll122efPmrj3FihUrxo0bl0QbOnTohg0byprS/fffn4w84YQTCv/Z4qcPR48eXfj/2tra4v9vbm4OHieboTKYUva3ruDJJ5/Mt6W6urr4DcOiRYtaDPj87Khuhmqh9KcDjj/++FdffbXE6iWsWLFi6NChSagbbrihw1Uqc87sbFYtBH9TnT6lgPOlWHdqoHyV2cJ9992XrFjcy6tMSr2iMvMZ7hwF2bp8Z8ogn8+fe+65yeB//Md/bG9Yix83GDVqVJvD3n///aRZc91117V4NOKuX48cu4KA866sU7iz+zxsZSbK92oOVJ5f84De4fnnnz/88MPnzJmTy+X69et3/vnnL1iwoLq6uqGhYc2aNTNnzhw/fnwul9uyZcsvfvGLiRMnVldXd+FZDjjggDlz5owcObLwz02bNrV5o+KAKRXfGT25Y/q2bduKx+T/36+LJANyudz2229f+D5a2DjZDJXBlLK5dS3+ecwxx0yePDnXlh133LH4Qvnhhx9uMSDuHRUwVAsjR45MrjDq6urefvvtu++++8///M8Lj86fP//oo49+6KGHSkRo02effTZ16tRNmzYV/nnqqadefvnlpVepwDmzC1mVW6dSCjhfinWnBspXmS3cdtttyXKJHwEoR0qfz8oMKODWpS+DXC534YUXJsu/+MUvnn766dZjbrjhhuKGXe7//9XUYjNmzPj0009zudx+++33ve99L3XKvVtPHbtc0HlXmQvy9MJWZqJMr+ZAzyhzVxEIYN26dcndQ6qqqp544onWY7Zt2/Y3f/M3ydTu8n1S8vn8LbfcksRp7ysAoVKaO3duMqD4lkk33XTT3nvvPXDgwOOOOy75c2KJWyaFipPNUBlMKZtbV/xdvFwud+ONN+bb9+STTyYjv/zlL3+udlTAUCndeuutyb3b+/fvv3DhwvTrNjU1fe1rX0tyOOigg2pqakqvUoFzZheyalPAj9J0NqWA8yWNNDVQmcp87733+vb9v3/2HjRo0KefflpicNiUelFl5jP5ebGAW9epMiiYPn168tTbbbfd5Zdfvnjx4rq6utra2meeeWbq1KmFh4488si99tqrsHzEEUe0jvPYY48lcR555JHWA6L8rF8PHruA864CU7gL+zxUZabRnVdzoKfo+kEv8N3vfjd5Ob/66qvbG9bQ0HDIIYckI2fNmtW1p9u8efN2222XxGnzbimhUvrDH/6QPNqdn0cMFSeboTKYUja3bv78+bki8+fPLxHq/fffT0buueeeZdq6gKEymFKn/Ou//msS56ijjkq/4owZM5IVd91117fffrvDVSpwzuxCVm0K+Ka6sykFnC8pdVgDlanMH/3oR8mK3/rWt0oPDptSL6rMfCY7RwG3rlNlUPDZZ5996UtfypU0dOjQpUuXJt+I/9KXvtQ6yN577114dPLkyW0+UZRdvx48dgHnXQWmcBf2eZDKTK/Lr+ZAT/ENX8i6xsbGe++9t7Dcr1+/4sumFvr373/xxRcn/7zjjju69owDBw780z/90+SfK1euLF9Ku+22W7Jc+h4iuVxu3bp1ba4YME42Q2UwpYChAqa06667Fv+z+OfqWitevaampsSj8e2ogKHS+/u///vRo0cXll966aXFixenWeumm2761a9+VVgeNGjQ448/ngRpTwXOmV3Iqty6kFLA+ZJShzVQgcrM5/N33nln8s9vf/vbpccHTOnzWZkBBdy6zpZBweDBg2fPnj19+vTks04t7LPPPs8///zYsWOTL7HuueeeLcZcffXVq1evzuVyVVVVxd2TuPXgsQs47yp/QZ5SkMpMr2uv5kAP0vWDrFu8eHHyIj1u3LjiW6q3NmnSpGT5+eef7/KTjhgxIlneuHFj+VLaZ599ks8VfvLJJ/X19SVCffDBB8nyAQccUI442QyVwZQChgqYUvLVlYJBgwaVCFVVVVVVVVVYrqura/Fo3DsqYKj0+vXrd+qppyb/fOaZZzpc5Xe/+90ll1ySrH7fffcd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" # noqa def test_validate_barcode_valid(self): BarcodeTributo(barcode=self.barcode) diff --git a/tests/services/test_barcode.py b/tests/services/test_barcode.py index f8cc79fe..be3ea14c 100644 --- a/tests/services/test_barcode.py +++ b/tests/services/test_barcode.py @@ -20,7 +20,7 @@ def test_generate_barcode_image_bytes_1_png(self): barcode_number, image_type="png" ) - expected = b"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x06\xa7\x00\x00\x00\xf5\x08\x02\x00\x00\x00R\x87\xb8\x04\x00\x00&\xcaIDATx\x9c\xed\xddy\x9c\x14\xe5\x9d?\xf0f\x98QNQ<8x\x92\xec@\x9b\xaau\xc2+\xdcj\x9d\xb2\x8e\xba.\x1f\xc3I\x1e\xd2\xea^\x851\xdb\xa4\xd5\x8b\x8e\x1f\xe2V\xf7\xad}E\x9a\xd7\xe9\xe0lS\xd6\x937\x95\xe3\x9e\xd6\x0ew\xda@-\xeb\xaa\x94\xee\xd1O\xb2oi\xd5i\xdf\xe9\xd6U\x071I\x9d\xff\xcfg\x9b\x8e\x9f\xec\x9d0?\xb4\xf5!Y[\xdc\xb3p.t\xc7\xcb\xec\x0e^\xa2tZ\xb5\xa2\xba\xfcz\xaf\xad{\xd5}'\xb4$u\xda\xb7\x1cgszl\xc7\xf3v\xd5oR\xdd\xe5\xda\xa6s\xa6\xe5N\xbb\x1a)\xaa\x83},\xd3\x95RQ]5\xdb4y\x88\xf7\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x9a\x1e\xf9|\xbe\xab\xf7\x01\x00\x00\x00\x00H\x93\xf7\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h\xa4~\x00\x00\x00\x00\x10\x1a\xa9\x1f\x00\x00\x00\x00\x84F\xea\x07\x00\x00\x00\x00\xa1\x91\xfa\x01\x00\x00\x00@h*\xbbz\x07\x80R\xdex\xe3\x8d\xdbn\xbb\xed\xd1G\x1f]\xbdzumm\xed\xe0\xc1\x83\xf7\xde{\xef\xd3O?\xfd\x8c3\xce\x180`@W\x95J\xcb\xca\x95+\xef\xbc\xf3\xcey\xf3\xe6-_\xbe|\xdd\xbau\xbd{\xf7\x1e\xfa\xe8\xaf\x7f\xfd\xeb\xe3\xc6\x8dk\xeb.es\x88\x06_*E\xd9\xec\xa0RJ\xa5R\xaaL\xcbD*R\x9f\x90\xb3\xbcx\x05)\x95#\x18\xfc\x10-_\x0732\xc9\xa4(\xcb\x83\x01\xe8\xde\xf2@&\xd5\xd5\xd5]x\xe1\x85=z\xf4(z\xe6\xee\xb8\xe3\x8e\x0f>\xf8`'\x97\xfa\xf8\xe3\x8f\x9fy\xe6\x99\x993g^r\xc9%\x13'N\x1c5jT\xaf^\xbd\xa2:\xa7\x9crJ\xf2\xde544\xfc\xe3?\xfe\xe3\xb6\xdbn\xdb\xd2\xd44d\xc8\x90\xdf\xff\xfe\xf7\xa5\x8b\xdc~\xfb\xedIf\xb9]w\xdd\xf5\x9e{\xeeI\xb2W\x8d\x8d\x8d\xbf\xfc\xe5/K\xa7\x8d#F\x8cx\xe6\x99g\x92\xf7\xb4\x89G\x1ey$^m\xdc\xb8q\t\x1fX]]\xfd\xedo\x7f\xbb\xa5\x83\x18\xed[K\x0f_\xbdz\xf5O~\xf2\x93\xc1\x83\x07\x97~\xad\x0e=\xf4\xd0\x85\x0b\x17&\xdc\xa5\x0c\x0e\xd1\xe0K\xa5x\x0ef\xb3\x83J)\x95n\xa9\xd4\x97\x89T\xce\xc1\xd4'\xe4\xb4\x16\xaf\xbd\xf7\xde;\xc9\xcbU0g\xce\x9cr\x97z\xee\xb9\xe7\x92\x17\x89\x9b:ujK;\x96\xb5#\x18\xfc\x10M\xbd\x83\xf9\x8cM2\x05\xa9\xbc\xec\x19\x1c\x0c\xe58\x07\x81\xce'\xf5\x83,jhh8\xfe\xf8\xe3[]S\xff\xfd\xdf\xff\xbd\xd3J\xad[\xb7\xaet\x85\xe4\x89\xc3\xe6\xcd\x9bO>\xf9\xe4$\x17\r7\xdcpC\x89:\t/\x8f\n.\xb8\xe0\x82\xd2{\xd5\xd8\xd8\xf8\xb7\x7f\xfb\xb7IJUTT\xcc\x9e=;ag\xe36m\xda\xd4\xe4\x17\xa1\x84\xa9\xdf\x9bo\xbe9t\xe8\xd0Vw\xacD\xeaw\xe2\x89'&|\xa1\xaa\xaa\xaan\xbd\xf5\xd6Vw)\x83C4\xf8R)\x9e\x83\xd9\xec\xa0RJ\xa5^*\xdde\"\xads0\xdd\t9\xc5\xc5+\x98\xd4\xef\xbc\xf3\xce+Z0\x83G0\xf8!\x9an\x07\xf3\xd9\x9bd\xf2\xe9\xbd\xec\x19\x1c\x0c\xa9\x9f\x83@\x97\x90\xfaA\x16M\x9b6-Z8\x07\x0c\x18\xf0\xf3\x9f\xff\xfc\xbd\xf7\xde\xdb\xb0a\xc3\xa2E\x8b\xce<\xf3\xcc\xe8GUUUO=\xf5T\xe7\x94J1q8\xff\xfc\xf3\xa3GUVV^p\xc1\x05\x8b\x16-\xfa\xe2\x8b/jjj\xe6\xcf\x9f?q\xe2\xc4\xe8\xa7={\xf6\xfc\xe3\x1f\xff\xd8R\x9d\xe8\xf2h\xef\xbd\xf7\xfe\xe1\x0f\x7fx\xcf=\xf7\xbc\xfd\xf6\xdb555\xf5\xf5\xf5k\xd6\xacy\xe8\xa1\x87\xbe\xfa\xd5\xaf\xc6\xf7\xf0\xea\xab\xaf.\xb1W3f\xcc\x887\x9e{\x93L\xbe\x0c\xa9_v\x06C\xea\xe7 \xd0%\xa4~\x909/\xbf\xfcr\xb4j\xf6\xeb\xd7\xef\xc5\x17_l\xd2\xe0\xf2\xcb/\x8f\x1a\x8c\x1c9\xb2\xb1\xb1\xb1\x13J\xad_\xbf~\xa7\x9dv:\xea\xa8\xa3\xce>\xfb\xec+\xae\xb8\xe2\x9e{\xeeY\xbat\xe9\xacY\xb3\xdat\xf5\x90\xcf\xe7\x17-Z\x14}\x92\xa2\xb2\xb2\xf2\x0f\x7f\xf8C\xf36\xf1\xdfa\x86\r\x1b\xb6y\xf3\xe6\xa2\xa5\xee\xbe\xfb\xee\xbf\xfb\xbb\xbfk\xde\xa9\xb8\xeb\xaf\xbf>*\xd5\xbbw\xef\xf7\xdf\x7f\xbfh\xb3O>\xf9\xa4o\xdf\xbeQ\xcb\xe9\xd3\xa77o\xb3a\xc3\x86c\x8e9&j3a\xc2\x84\x04\xdd\xfd?\xcb\x96-\xab\xaa\xaa\xca\xe5r={\xf6\x8c\x8a$I\xfd\xc6\x8e\x1d\x1b\xb5\x9f2e\xca\x86\r\x1b\x8a6{\xfd\xf5\xd7\xcf9\xe7\x9c\x96\x8a\x14\xae\xe0'N\x9c\xf8\xfc\xf3\xcf\x17mP__\xff\x8do|#z\xa2]w\xdd\xb5\xa5'\xcagu\x88\x06_*\xads0\xb3\x1dTJ\xa9\xd4K\xa5\xb8L\xe4\xd3;\x07S\x9c\x90\xd3]\xbc\xa2\xa8n\xd4\xa8QI:RB\x8a\xa5\x92X\xb5jUt\xd7\xc2A\x83\x06544\x14m\x96\xc1#\x18\xfc\x10M\xb7\x83\x19\x9cd\xf2\xe9\xbd\xec\xd9\x1c\x0c\t%<\x07\x81.!\xf5\x83\xcc\x994iR\xb4$_u\xd5U\xcd\x1b466\x1eq\xc4\x11Q\x9b\xbb\xef\xbe\xbb\x13J\x15u\xff\xfd\xf7\xb7\xf5\xea\xe1\xec\xb3\xcf\x8e\x1eR\xe2\xe3\t\xf1\xbf3\xdfv\xdbmm\xda\xab&N=\xf5\xd4\xa8\xd4\xe5\x97_^\xb4\xcdm\xb7\xdd\x16\xb5\xd9\x7f\xff\xfd[\xba\xb6{\xfd\xf5\xd7\xe3\x91\xe5'\x9f|\x92p\x1f\x1a\x1b\x1b\x8f>\xfa\xe8\xc2\x03\xcf;\xef\xbc\xe8\xb9ZM\xfd\xee\xbd\xf7\xde\xa8\xf17\xbf\xf9\xcd\x12\x17\x9d\xa5\x9d\x7f\xfe\xf9\x8f>\xfah\xe96\x1b7n\xdcs\xcf=\xa3\xa7+\xf1\x91\x96l\x0e\xd1\xe0K\x15\xd5\x8es0\xdd\xbdRJ\xa9\x8c\x97J\"\xc92\xd1\x92v\x9c\x83)N\xc8\xe9.^\xdd7\xf5\x9b>}z\xf4:\\t\xd1Emzl\xd7\x1e\xc1\x84\xba\xef\x10M(a\x07\xbb\xd1$\xd3\xbe\xd59\x89N\x1e\x0c\tu\xe4\x1c\x04\xcaM\xea\x07\xd9\xb2v\xed\xda\xe8\xd2\xbc\x7f\xff\xfe\x1b7n,\xda\xec\xa1\x87\x1e\x8a\x16\xd7\xe3\x8f?\xbe\xdc\xa5Z\xd2\xd6\xab\x87\xad[\xb7\xc6\xbf\r\xad\xc4\x9f(\x17,X\xd0\xee\xbdj\xe2\xbe\xfb\xee\x8bJ\x1dw\xdcqE\xdb|\xff\xfb\xdf\x8f\xda\\z\xe9\xa5%\xaa\xc5?*\xf5\xc4\x13O$\xdc\x87\x9bn\xba\xa9\xf0\x90\t\x13&\xcc\x993'\xaa\xd0j\xeaw\xd0A\x07\x15Z\xee\xb4\xd3N555\t\x9f\xae\xdd\xae\xbc\xf2\xcah\xdfN:\xe9\xa4\xa2m\xb29D\x83/\xd5\x92v\\\xc1g\xb3\x83J)U\x8eR\t%Y&ZR\xbe\xdf\xa2\x93L\xc8\xe9.^\xdd4\xf5kll\x1c>|x\xd4\xbbe\xcb\x96\xb5\xe9\xe1]{\x04\x13\xea\xbeC4\xa1$\x1d\xec^\x93L\xf9^\xf6\x0c\x0e\x86\x0e\x9e\x83@\xb9U\xe4\x80,\x99;wn>\x9f/l\x9fv\xdai\xbd{\xf7.\xda\xec\xc4\x13O\xdca\x87\x1d\n\xdbO?\xfd\xf4\xe7\x9f\x7f^\xd6Riy\xed\xb5\xd7jkk\x0b\xdb#G\x8e\xdcc\x8f=Zjy\xd4QG\r\x192\xa4\xb0\xfd\xe4\x93Ovd\xaf\xf6\xdf\x7f\xffh\xfb\x83\x0f>(\xda\xe6\x93O>\x89\xb6K\xdf\x8d(~Y\xd3\xea=S\n\xd6\xae]\xfb\xa3\x1f\xfd(\x97\xcbUUU\xfd\xf2\x97\xbfL\xf2\x90\x82\xd7_\x7f}\xe9\xd2\xa5\x85\xed\x0b/\xbc0\x1e\x98\x96\xc9QG\x1d\x15m/[\xb6\xach\x9bl\x0e\xd1\xe0K\xa5(\x9b\x1dTJ\xa9r\x94J(\xc92\xd1\xf9\x92L\xc8e]\xbc\xba\x8b'\x9ex\xe2\xddw\xdf-l\x8f\x193&\x9eov\xad$G0\xa1\xee;D\x13J\xd2\xc1n=\xc9\xa4(\x83\x83!\xb3\xe7 P \xf5\x83l\x99;wn\xb4\x1d\xbf\xa1[\x13UUU\xd1'F\x1b\x1a\x1a\x1e}\xf4\xd1\xb2\x96J\xcb\x1bo\xbc\x11m\x1fp\xc0\x01\xa5\x1b\x1fv\xd8a\x85\x8d\xad[\xb7>\xfb\xec\xb3\xed~\xd2\xf8}\xf4\xb6l\xd9R\xb4M\xfc\x82/\xba/IQ\xf1\x9f\xf6\xe9\xd3'\xc9\x0e\x9c\x7f\xfe\xf9555\xb9\\\xee\xfb\xdf\xff\xfe~\xfb\xed\x97\xe4!\x05w\xdduW\xb4\x1d\xbf\x81N\xf9\xec\xbc\xf3\xce\xd1\xf6\xc7\x1f\x7f\\\xb4M6\x87h\xf0\xa5R\x94\xcd\x0e*\xa5T9J%\x94d\x99\xe8|I&\xe4\xb2.^\xdd\xc5\xcc\x993\xa3\xedo}\xeb[]\xb8'M$9\x82\tu\xdf!\x9aP\x92\x0ev\xebI&E\x19\x1c\x0c\x99=\x07\x81\x02\xa9\x1fdK\xfc\xee\xc2\xa3G\x8f.\xd1r\xcc\x981\xd1\xf6\xe2\xc5\x8b\xcbZ*-\xd5\xd5\xd5\xd1v\xfcb\xb1\xa8\xe8\xbd~\xb9\\.z\xcb[;\xbc\xfe\xfa\xeb\xd1\xf6\xb0a\xc3\x8a\xb69\xf0\xc0\x03\xa3\xed\x15+V\x94\xa8\x16\xffi\xfcQ-\x99;w\xee\xef~\xf7\xbb\\.\xb7\xcb.\xbb\\v\xd9e\xad\xb6\x8f{\xfa\xe9\xa7\x0b\x1b\xfb\xee\xbbo\xfcm\x1a\xe5\xf3\xe9\xa7\x9fF\xdb\xdbm\xb7]\xd16\xd9\x1c\xa2\xc1\x97JQ6;\xa8\x94R\xe5(\x95P\x92e\xa2\xf3%\x99\x90\xcb\xb7xu\x17555\xd1\x07\x1e{\xf5\xeau\xc6\x19gt\xed\xfe\xc4%9\x82\tu\xdf!\x9aP\x92\x0ev\xebI&EY\x1b\x0cY>\x07\x81\x02\xa9\x1fdHccc\xf4\x0e\xf9\\.\xb7\xef\xbe\xfb\x96h\x1c\xff\xe9\xdbo\xbf]\xbeR)\xda\xb0aC\xb4\xdd\xea{\r\xe2\xdfK\xf8\xd6[o\xb5\xfbI\xff\xe3?\xfe#\xda>\xe9\xa4\x93\x8a\xb6\x994iReeea;~\xd3\x93&\x96/_\x1e}\x86\xe5\xc8#\x8f,\xf1\t\xe5\x82\x8d\x1b7\xfe\xc3?\xfcCa\xfb\x8a+\xaeh\xebGt_y\xe5\x95\xc2F\xf4\xbe\xc8\x97_~\xf9\xdcs\xcf\xddg\x9f}z\xf5\xea\xd5\xbf\x7f\xff\xe1\xc3\x87O\x9a4\xe97\xbf\xf9\xcd\xe6\xcd\x9b\xdbT\xb9%\xf17c\x16\xed]6\x87h\xf0\xa5R\x94\xcd\x0e*\xa5T9J%\x97d\x99\xe8|\xadN\xc8\xb9\xb2-^\xdd\xc8\xacY\xb36m\xdaT\xd8>\xed\xb4\xd3\xa2\xcfcfA\x92#\x98P\xf7\x1d\xa2\t\xb5\xda\xc1\xee>\xc9\xa4(k\x83!\xcb\xe7 P \xf5\x83\x0cy\xff\xfd\xf7\xeb\xeb\xeb\x0b\xdb\x03\x07\x0e\xec\xd5\xabW\x89\xc6\xf1\xb7\xc25\x0f\xc5R,\x95\xa2~\xfd\xfaE\xdb\xd1%BK\xe2\x11\xe1\xaaU\xab\xda\xf1t\xf9|\xfeg?\xfb\xd9\xc3\x0f?\\\xf8\xe7\xe0\xc1\x83\xcf=\xf7\xdc\xa2-w\xdf}\xf7\xf3\xcf?\xbf\xb0\xbdt\xe9\xd2_\xfc\xe2\x17\xcd\xdb\xd4\xd5\xd5M\x9d:\xb5\xb1\xb11\x97\xcbUTT\xfc\xfc\xe7?ou\x07\xfe\xe5_\xfe\xa5\xf0\xf6\x8a\xd1\xa3G\xb7\xf5#\x0f\xeb\xd6\xad\x8b>/3b\xc4\x88\\.7}\xfa\xf4\xd1\xa3G\xff\xe7\x7f\xfe\xe7\xf2\xe5\xcb\xeb\xea\xea\xbe\xf8\xe2\x8b\x15+V\xdc\x7f\xff\xfdS\xa6L\x191bD\xd4\xcd\x8e\x88\xff\xd2\xf8\x95\xaf|\xa5y\x83l\x0e\xd1\xe0K\xa5(\x9b\x1dTJ\xa9r\x94J\"\xf92\xd1\xf9Z\x9d\x90se[\xbc\xd6\xaf_?e\xca\x94\x03\x0e8`\xe0\xc0\x81\xdbl\xb3\xcd\xe0\xc1\x83\x0f;\xec\xb0i\xd3\xa6\xc5\xef\x86\x96P\x8a\xa5\x8a\x8a\x7f\xb4\xf0\xec\xb3\xcf\xeex\xc1\x14%9\x82\xad\xea\xeeC\xb4U\t;\xd8}'\x99\x14es0d\xf9\x1c\x04\n*\xbbz\x07\x80\xff\x13\xbf+J\xfc:\xa3\xa8x\x83\xe6\xb7SI\xb1T\x8a\xe2\x7f\x00l\xf5n\xe2\x1f}\xf4Q\xb4\xbd~\xfd\xfa\xe4\xcfRWW\xf7\xd1G\x1f=\xf3\xcc37\xdexctC\xc0\xfe\xfd\xfb\xdfs\xcf=%\xfe\x02y\xe5\x95W._\xbe\xfc\x81\x07\x1e\xc8\xe5r\x17_|\xf1K/\xbd\xf4\xdd\xef~\xf7\x90C\x0e\xe9\xd3\xa7\xcf\xbau\xeb\xe6\xcf\x9f\x7f\xd5UW\x15>h\\QQ\xf1\xeb_\xff\xfa\xd8c\x8f-\xbd\x1bK\x97.\xbd\xf6\xdak\x0b\xdb\xbf\xfa\xd5\xafJ\xdfq\xa9\xb9\xd5\xabWG\xdb\xdbo\xbf\xfd\x05\x17\\p\xddu\xd7\xb5\xd4x\xe5\xca\x95\xa7\x9ez\xea\xcc\x993\xcf<\xf3\xcc6=K\xdc\xdbo\xbf\x1d\xbf\xd3M\xd1\xcfhds\x88\x06_*E\xd9\xec\xa0RJ\x95\xa3T\t\xed[&:S\x92\t\xb9 \xf5\xc5+\x97\xcb\xad]\xbb\xf67\xbf\xf9M\xfc\x9fk\xd7\xae}\xf9\xe5\x97o\xb8\xe1\x86\x83\x0f>\xf8\xfa\xeb\xaf\xff\xcb\xbf\xfc\xcb\x84\x1dI\xb1TsK\x96,y\xe9\xa5\x97\n\xdb\xbb\xed\xb6\xdb\t'\x9c\xd0\xeeR\xa9K~\x04\x8b\ni\x88\x16\xd5\xd6\x0ev\xbbI&EY\x1e\x0cY>\x07\x81\x88\xd4\x0f2\xa4M\x1f\x80\x8d7\x88?0\xf5R)\x8a\x7f\xef\xd8k\xaf\xbdV\xbaq\xfc\xae+\xd17\xff\xb6d\xcd\x9a5%.\xdd\xbe\xf2\x95\xaf\xfc\xdb\xbf\xfd\xdb>\xfb\xecS\xa2BUU\xd5}\xf7\xddw\xddu\xd7\xcd\x981\xe3\xd3O?\x9d={\xf6\xec\xd9\xb3\x9b7;\xf8\xe0\x83\xaf\xbb\xee\xba\xe3\x8e;\xae\xf4\xfe466N\x9d:\xb5p\x97\xe5\xbf\xf9\x9b\xbf\x89\xee\x06\x9d\\\xfc\xab\xe2\x16.\\x\xef\xbd\xf7\xe6r\xb9\xed\xb7\xdf\xfe\xd2K/\x9d4i\xd2\xae\xbb\xeeZ[[\xbb`\xc1\x82+\xae\xb8\xe2O\x7f\xfaS.\x97\xdb\xbau\xeb\xb9\xe7\x9e{\xc8!\x87\x1ct\xd0Am}\xae\x82\x0b.\xb8`\xeb\xd6\xad\x85\xed\t\x13&\x14\xad\x93\xcd!\x1a|\xa9\x14e\xb3\x83J)U\x8eRMt|\x99\xe8LI&\xe4\x82t\x17\xafV-Y\xb2d\xdc\xb8q\xbf\xfa\xd5\xaf\xa2\xfbWta\xa9x\x9ex\xe6\x99g\xb6\xf5\xafke\x95\xfc\x08FB\x1d\xa2\x91\x8et\xb0[L2)\xea.\x83!\xcb\xe7 \x10qfB\x86\xc4\xaf'\xb6\xddv\xdbh{\xe6\xcc\x99{\xef\xbdw\xdf\xbe}\xc7\x8e\x1d\x1b\xdd\xeb-\xfe\x91\x84\xd2\xd74\x1d,\x95\xa2\xfd\xf6\xdb/\xba\xdf\xf3\xb2e\xcb>\xf8\xe0\x83\x96Z>\xf7\xdcs\x1f~\xf8a\xf4\xcf\xba\xba\xba\xf6=\xe3\xc0\x81\x03g\xcd\x9a\xf5\xc7?\xfe1\xc9\xb5QEE\xc5\x85\x17^8w\xee\xdc/}\xe9K\xcd\x7f\xda\xa3G\x8f)S\xa6\xcc\x9b7/\xc9oM7\xdex\xe3\xf3\xcf?\x9f\xcb\xe5\xfa\xf6\xed{\xf5\xd5W\xb7}\xc7\xff,\xf5\xbb\xe7\x9e{\xf2\xf9\xfc\xd0\xa1C\x17-Zt\xd1E\x17\r\x1f>|\xdbm\xb7\xdde\x97]&N\x9c\xf8\xfc\xf3\xcfO\x9c8\xb1\xd0\xac\xbe\xbe\xbe\xdd\xbf;\xfd\xd7\x7f\xfdW\xf4\x99\x91m\xb6\xd9&z\x97b\x13\xd9\x1c\xa2\xc1\x97JQ6;\xa8\x94R\xe5(\x95P\x9b\x96\x89\xce\x91pB\x8e\xa4\xb5x\r\x192\xe4\x8c3\xce\xb8\xf9\xe6\x9b\x9f\x7f\xfe\xf9\xb7\xdf~\xbb\xba\xba\xba\xf0&\xa39s\xe6|\xfb\xdb\xdf\x8e\x0e\xc7\x96-[\xbe\xf7\xbd\xef\x15\xfe\x16\xd5\t\xa5ZRWW7k\xd6\xac\xe8\x9f\x99\xfaha[\x8f`i\x01\x0c\xd1\xd2\x92t\xb0[O2)\xca\xd4`\xc8\xf29\x08\xfc\x99<\x90\x19w\xdduWtn\x1e\x7f\xfc\xf1\x85\xffl\xf2\x95a\xc3\x87\x0f/\xfc\x7f\x93\xb7\xbf566\x96\xa9T\t\xf1[\xba\x9cr\xca)I\x1er\xd6YgE\x0f\xf9\xa7\x7f\xfa\xa7\x96\x9a5\xb9?\xf1\xd0\xa1CK\x97\x8d\x7f\x1c\xb8\xb9\xe3\x8e;n\xf1\xe2\xc5\xad\xee\xdb\xf2\xe5\xcb[\xbd1M\xef\xde\xbd/\xbc\xf0\xc2\x8d\x1b7\x96\xa8\xf3\xc1\x07\x1fD\xe1\xe6\x8c\x193\x9a\xfct\xce\x9c9Q\xb5q\xe3\xc6\xb5T$~\x04\x0b\x1ey\xe4\x91\xa2-\xab\xab\xabw\xdcq\xc7\xa8\xd9\xa2E\x8bZ\xedi\x13o\xbd\xf5V\xff\xfe\xfd\xa3\nW_}u\x92\xbd\xca\xce\x10\r\xbeT\tm=\x07\xb3\xd9A\xa5\x94*G\xa9&RY&\x9ak\xc7:XZ\xf2\t9\x92\xd6\xe2\xd5\xea\x8e\x8d\x1a5**\xd8\xbf\x7f\xffu\xeb\xd6ua\xa9\xf8[\x1a\x8f9\xe6\x98\xf6\xedI>\x1bG\xb0 \xe0!Z\xd0\x91\x0ev\x8bI&\xae\x83/{\xb7\x18\x0ci\x9d\x83@\xb9y\xaf\x1fdH\xfc/\x8a\xd1\x9d\x86\x0b\x9f\x12\x8d\xe4\xff\xf7\xee\xd7Q\x83\\.\xb7\xed\xb6\xdb\xf6\xe8\xd1\xa3L\xa5\xd2u\xdey\xe7E\xdb\xd7^{\xed\x13O<\xd1\xbc\xcd\xd5W_\x1d\x8f\xc6r\x7f\xfe}\xbeE\r\x1e<8\x9a\xd76l\xd8\xf0\xce;\xef\xdc~\xfb\xed\xd1\xdd\x82\xe6\xcf\x9f\x7f\xe4\x91G\x96~7\xc1\x82\x05\x0b\x0e=\xf4\xd0y\xf3\xe6\xe5r\xb9\x9e={\x9es\xce9O>\xf9duuu}}\xfd\xaaU\xabf\xcd\x9a5z\xf4\xe8\\.\xb7i\xd3\xa6k\xaf\xbd\xf6\xe8\xa3\x8f\xae\xae\xaen\xa9\xd4\xb4i\xd3>\xfb\xec\xb3\\.\xb7\xd7^{\xfd\xf0\x87?,\xbd\xe7-ir\x14\x8e:\xea\xa8\xf1\xe3\xc7\x17m\xb9\xfd\xf6\xdb\xc7\xb3\xd4\xfb\xee\xbb\xafMO\xf4\xc5\x17_L\x9e<9zk\xe1)\xa7\x9cr\xf1\xc5\x17\xb7\xd48\x9bC4\xf8R)\xcaf\x07\x95R\xaa\x1c\xa5\x9a\xe8\xf82\xd1\t\xda4!\x17\xa4\xb8x\x95\xb6\xcf>\xfb\xcc\x9b7o\xf0\xe0\xc1\x85\x7f~\xfe\xf9\xe7E\xbf<\xa4\xd3J\xc5?Z\x98\x9d7\x19\xb5\xe3\x08FB\x1d\xa2\x91\x8et\xb0[L2)\xea\x16\x83!\x9b\xe7 PD\x9a\x11\"\xd01\x8f>\xfahtn\x8e\x193&\xfa\xff\x1bn\xb8a\x8f=\xf6\xe8\xdd\xbb\xf7\xb1\xc7\x1e\x1b\xfdq/\xfe\xb5\xb6\x03\x07\x0e,_\xa9\x12\xda\xf77\xc3\xa9S\xa7F\x8f\xdaf\x9bm.\xbe\xf8\xe2%K\x96l\xd8\xb0\xa1\xb6\xb6\xf6\xa9\xa7\x9e\x9a\xec\xb0\xc3\x92\xefU\xdc-\xb7\xdc\xd2\xb3g\xcfB\x91\xaa\xaa\xaa\x85\x0b\x17\x16m\xb6f\xcd\x9a\x81\x03\x07\x16\x9aUVV>\xfc\xf0\xc3\xcd\xdbl\xd9\xb2\xe5\xef\xff\xfe\xef\xa3=\x9f0aB\xd1R\x0f=\xf4P\xd4\xe6\xfe\xfb\xefo\xde \xe1{\xfd\x1e|\xf0\xc1\xf8\\}\xcd5\xd7\x94\xe8\xe6#\x8f<\x12\xb5<\xe1\x84\x13J\xb4lb\xeb\xd6\xad_\xfb\xda\xd7\xa2\xc7\xee\xb7\xdf~555%\xdags\x88\x06_\xaa\x84\xb6\x9e\x83\xd9\xec\xa0RJ\x95\xa3TB\t\x97\x89\x96\xa4\xf8\xde\x99\xb6N\xc8\xf9T\x17\xaf\x84n\xbe\xf9\xe6\xa8\xd4\xee\xbb\xef\xdeU\xa5\xde\x7f\xff\xfd\xe8\x0eb}\xfa\xf4\xf9\xec\xb3\xcf\xda\xbd\x1b]{\x04\x93\xe8\xd6C4\x89$\x1d\xecv\x93L\xeao\xb1,\xc8\xce`H\xf1\x1c\x04\xcaM\xea\x07\x19\xf2\xdcs\xcfE\x8b\xf1\xa8Q\xa3J7~\xf3\xcd7K\\.\xa7X\xaa\x84\xf6]=|\xf1\xc5\x17_\xfe\xf2\x97s%\xf5\xef\xdf\x7f\xd9\xb2e\xd1\x07W\xbf\xfc\xe5/'\xdf\xab&\xe2_}{\xc4\x11G\x14m\xf3\x9d\xef|'js\xd9e\x97\xb5T\xaa\xbe\xbe\xfe\x80\x03\x0e\x88Z\xce\x993\xa7y\xd7\xf6\xd8c\x8f\xc2O\xc7\x8f\x1f_\xb4H\xc2\xd4o\xfe\xfc\xf9\xf1\x17d\xfe\xfc\xf9%\xfa\x18\xbfC\xe2n\xbb\xedV\xa2e\x13\xd3\xa6M\x8b\x1e\xb8\xf3\xce;\xbf\xf3\xce;\xa5\xdbgs\x88\x06_\xaa\x84\xb6\x9e\x83\xd9\xec\xa0RJ\x95\xa3TrI\x96\x89\x96\xa4\xf8[t['\xe4|z\x8bWr\x1b7n\xdcf\x9bm\xa2Ro\xbd\xf5V\x97\x94\xfa\xe9O\x7f\x1a=\xf0\xcc3\xcfl\xf7>\xe4\xbb\xfa\x08&\xd4}\x87hB\xadv\xb0\xdbM2eJ\xfd\xf2\x99\x19\x0c)\x9e\x83@\xb9\xf9\x84/d\xc8.\xbb\xec\x12m\x97\xbe\xa3G.\x97[\xb3fM\xd1\x07\xa6^*u}\xfb\xf6\x9d;w\xee\xd4\xa9S\xa3?W61l\xd8\xb0\x05\x0b\x16\x8c\x1c92\xfa\x08\xc9n\xbb\xed\xd6\xee\xa7\xfb\xde\xf7\xbe7|\xf8\xf0\xc2\xf6\x0b/\xbc\xb0d\xc9\x92&\r\x1a\x1a\x1a\xee\xbc\xf3\xce\xc2v\xcf\x9e=\xe3\x17\xb5MTUU\x9d\x7f\xfe\xf9\xd1?o\xbd\xf5\xd6&\r.\xbb\xec\xb2\x95+W\xe6r\xb9\xca\xca\xca\xf8eY;\xec\xbc\xf3\xce\xf1\x7f\x0e\x1d:\xb4D\xe3\xf8Q\xab\xa9\xa9I\xf8\x147\xdcp\xc3\xf5\xd7__\xd8\xee\xd3\xa7\xcf\xef\x7f\xff\xfb\xe8\x85J\xf2D\xd9\x19\xa2\xc1\x97JQ6;\xa8\x94R\xe5(\x95\\\xab\xcbD'h\xc7\x84\x9c\xe2\xe2\x95\\\xef\xde\xbd\x0f9\xe4\x90\xe8\x9f\xcb\x97/\xef\xfcR\xf9|\xfe\xb6\xdbn\x8b\xfe\xf9\xado}\xab\xdd\xfb\x90\xa2v\x1c\xc1\xe4\xba\xe9\x10M\xae\xd5\x0ev\xf7I&EY\x18\x0c\xd9<\x07\x81\x96H\xfd C\x86\r\x1b\x16\xfd\xdd\xfb\xd3O?-\xfd\xc5\xb5\xf1\xaf\xb8m\xfeM^)\x96*\x87^\xbdz\xddt\xd3MK\x97.\xfd\xf1\x8f\x7f\xdd\\\xd0\xa7O\x9f\x12\x8d++++++\x0b\xdb\t\xbfc\xee\x81\x07\x1e\xf8\xc1\x0f~P\xd8\xee\xd9\xb3\xe7\xec\xd9\xb3\x0f?\xfc\xf0V\x1f\x95\xcd!\x1a|\xa9\x14e\xb3\x83J)U\x8eR\xc9\xb5\xbaL\x94[\xfb&\xe4\x14\x17\xaf6\x194hP\xb4\xbd~\xfd\xfa\xce/\xf5\xd8c\x8f\xbd\xf7\xde{\x85\xed\xbd\xf6\xda\xab\xd5O\x0ft\x82\xf6\x1d\xc1\xe4\xba\xe9\x10M\xae\xd5\x0ev\xf7I&E]>\x18r\x99<\x07\x81\x12\xa4~\x90!={\xf6\x8c\xff\xe14\xfe\xb1\x82\xe6\xdez\xeb\xadh{\xdf}\xf7-_\xa9\xf2\x199r\xe4\x8c\x193^|\xf1\xc55k\xd6444\xd4\xd6\xd6>\xf3\xcc3\x17^xa\xbf~\xfdr\xb9\xdc\xab\xaf\xbe\x1a\xb5\xecH\xea\x97\xcb\xe5\xf6\xdak\xafh\xbb\xf0^\xbc\xb8\xf8\xff\x94~K].\x97\xdbu\xd7]\xa3\xed\x0f?\xfcp\xeb\xd6\xad\xf1\x9f666\x166n\xb8\xe1\x86\x1e-\x88\x7f=\xf1c\x8f=\x16\xfd\xff\x84\t\x13\xe2\xa5\xfa\xf7\xef\x1f\xffuh\xe3\xc6\x8d%\xf6j\xcb\x96-\xd1\x8d\xa8\x0b\xaf^i/\xbc\xf0\xc27\xbf\xf9\xcdhoo\xba\xe9\xa6\xf8\x9dzJ\xc8\xe6\x10\r\xbeT\x8a\xb2\xd9A\xa5\x94*G\xa96)\xbdL\x94U\xbb'\xe4\x14\x17\xaf\xee%\xfe\x1d\x02g\x9duV\xa7}\xc1BK\xda}\x04\xdb\xa4;\x0e\xd16)\xdd\xc1\x00&\x99\x14u\xe1`(\xc8\xda9\x08\x94&\xf5\x83l\x89\x7f\xda\xe5\xa5\x97^*\xd1r\xe1\xc2\x85E\x1fU\x8eR]b\xee\xdc\xb9\x85\x8d\xca\xca\xca#\x8e8\xa2#\xa5\xe2\xbf\xde4444\xf9\xe9\xe6\xcd\x9b\xa3\xed\xfc\xff~k[K\xe2\r\xf2\xf9|\xfc\xcb\xddR\x17?\x16\xf1\xbf67\xf7\xf1\xc7\x1fG\xdb;\xec\xb0C\xe9\xb2\xcb\x97/\xff\xda\xd7\xbe\x16\xc5\x88\xd3\xa7O\x9f2eJ\xfb\xf6*;C4\xf8R)\xcaf\x07\x95R\xaa\x1c\xa5\x92+\xbdL\x94OG&\xe4\xaeZ\xbc\xd6\xad[\x17m7\xb9\x19E'\x94\xaa\xae\xae\x8e\xeeM\xd6\xa3G\x8f\xf8W\xd8w\x89\x0e.\xa9\xc9u\xc7!\xda&\xadv\xb0\xbbO2)\xea\xaa\xc1P\x90\xb5s\x10h\x95\xd4\x0f\xb2%\xfe\x86\xaf'\x9ex\xa2\xa5f\r\r\r\xcf>\xfbla\xbb\xaa\xaaj\xfc\xf8\xf1e-\xd5\xf9\x1a\x1a\x1a\xa2K\x8a\xf1\xe3\xc7\x97\xfe\xe0R\xabV\xacX\x11m\xc7\xdf@W\x10}\x01b.\x97\x8b\x7f-FQ\xf1\xf4\xadw\xef\xde\xbd{\xf7\xee\xc8\x8e\x95v\xcc1\xc7D\xdb\xa5\xafJ\xe3\xef\x8b\x1c9rd\x89\x96\xeb\xd6\xad;\xe9\xa4\x93\xa2_\xb4\xce;\xef\xbc\x9f\xfc\xe4'm\xda\xabl\x0e\xd1\xe0K\xa5(\x9b\x1dTJ\xa9r\x94J\xae\xf42Q&\x1d\x9c\x90\xbbd\xf1\xaa\xaf\xaf_\xbcxq\xf4\xcf\x8e|\xe6\xb1}\xa5\xee\xbc\xf3\xce\xe8#\x99c\xc7\x8e\xdds\xcf=\xdb\xbd\x03\x1d\xd7\xf1%5\xb9\xee8D\xdb\xa4\xd5\x0ev\xf7I&E]2\x18\"\x99:\x07\x81D\xba\xee\x8bD\x80\"\xd6\xacY\x13\xbdO\xbe\x7f\xff\xfe\x1b7n,\xda\xec\xa1\x87\x1e\x8a\xce\xe2\xe3\x8f?\xbe\xdc\xa5ZR\xbeo(\x8b\xee\x18\x9d\xcb\xe5~\xfb\xdb\xdfv\xa4\xd4\xd6\xad[\xe3\x1f\xe5\xf8\x9f\xff\xf9\x9f&\r\xe2\x1f\xdf\xa8\xa8\xa8X\xbbvm\x89j3g\xce\x8c\x1a\x1fx\xe0\x81\xed\xd8\x9f\x84\xdf\xe1\x9b\xcf\xe7\x17-Z\x14\xb5<\xfa\xe8\xa3K\xb4\xbc\xe0\x82\x0b\xa2\x96?\xfd\xe9O[j\xb6a\xc3\x86\xf8\xbb&\xff\xfa\xaf\xffz\xeb\xd6\xadm\xdd\xffl\x0e\xd1\xe0K\xb5\xa4\x1d\xe7`6;\xa8\x94R\xe5(\x95P\xab\xcbD\t\xed^\x07;>!w\xf2\xe2Up\xc7\x1dwDu\xf6\xdak\xafv\xd7iw\xa9\xf8\xfb\xadn\xbf\xfd\xf6\x8e\xec@A\x17\x1e\xc1\xe4\xba\xe9\x10M.I\x07\xbb\xd7$S\xbe+\xe4.\x19\x0cq\xa9\x9f\x83@\xb9I\xfd s&M\x9a\x14\xad\xa6W]uU\xf3\x06\x8d\x8d\x8dG\x1eyd\xd4\xe6\xee\xbb\xef\xee\x84RE\x95\xe9\x9a\xe6\x8d7\xde\x88>\xa6:b\xc4\x88\xfa\xfa\xfa\x8eT\xbb\xf1\xc6\x1b\xa3\x9d\xec\xdd\xbb\xf7\x86\r\x1b\x9a\xb7\x89\xff\xa1\xf2G?\xfaQK\xa5\xb6l\xd9r\xe8\xa1\x87F-/\xba\xe8\xa2v\xecO\xf2\xd4/\x9f\xcf\xc7oh\xf8\xd8c\x8f\x15mS]]\x1d\x7f/\xe4\xab\xaf\xbe\xda\xd2\xce\xc7o\xff<~\xfc\xf8\xba\xba\xbav\xec\x7f>\xabC4\xf8RE\xb5\xef\x1c\xccf\x07\x95R\xaa\x1c\xa5\x92H\xb2L\xb4\xa4}\xe7`Z\x13rg.^\xf9|\xbe\xba\xba:~C\xb1\xcb.\xbb\xac}u\xda]*\xfe\xc7\xb0\xed\xb6\xdb\xaeMG\xaa%]{\x04\x13\xea\xbeC4\xa1\x84\x1d\xecF\x93L\xf9R\xbf\xce\x1f\x0cq\xe58\x07\x81r\x93\xfaA\xe6\xc4\x17\xd4~\xfd\xfa-\\\xb8\xb0I\x83\xcb/\xbf\xfb\xec\xb3\xa2\xd56o\xde\xf8\xe0\xae\xbb\xee\x8a\xff\x8a\x92\xcb\xe5.\xbd\xf4\xd2\xb6\xbe\\\xf1\xee\x17\xb4\x9a\xfa566\x9e|\xf2\xc9Q\xfb\x1dv\xd8\xe1\x9ak\xaey\xf7\xddw\xeb\xea\xea\xd6\xad[w\xff\xfd\xf7\x8f\x193&\xfai\xbf~\xfdZ\n\"\xff\xf9\x9f\xff9j6b\xc4\x88u\xeb\xd6\xb5o\xe7#\xd9\x1c\xa2\xc1\x97j\xae\xddW\xf0\xd9\xec\xa0RJ\xa5X*\xdde\xa2%\xed8\x07S\x9c\x90\xd3Z\xbc\xde~\xfb\xed\xc2O\xf7\xdbo\xbfK/\xbd\xf4\xc1\x07\x1f|\xf7\xddwkkk\x1b\x1a\x1a\xd6\xad[7\x7f\xfe\xfc\x8b/\xbex\xbb\xed\xb6\x8b\xbf\xec\xf3\xe6\xcd+\xbaK)\x96jb\xd3\xa6M\xf1\xaf\xabZ\xb0`A\xbb_\xb7\xb8.<\x82\xc1\x0f\xd1rt0S\x93L\tm}\xd93;\x18\xe2\xcat\x0e\x02\xe5&\xf5\x83,jhh\x18;vl\xae5\xbf\xfe\xf5\xaf;\xb3\xd4\xd4\xa9S[\xad\x137h\xd0\xa0\xa2u\xe2\xb1W\tS\xa7N-\xb13%\xee\xbe\\\xd4\xa8Q\xa3>\xfc\xf0\xc3\x12\x05W\xae\\\x99\xfc\x86\xc4g\x9f}vccc\xab\xafX\xab\xddo5\xf5\xcb\xe7\xf3\xb5\xb5\xb5\xf1\xcf\xf9\xb6\xa4W\xaf^\x0f>\xf8`KE\xfa\xf6\xed\xdb\xa6\x97\xab\xa0\xf9\x9f\xbe#\xd9\x1c\xa2\xc1\x97J\xeb\x1c\xccl\x07\x95R*\xc5R\xa9/\x13\xf9\x94\xce\xc1t'\xe4T\x16\xaf(\xaaK\xa2o\xdf\xbe\xbf\xfb\xdd\xefZz\x89R,\xd5D\xfc\xcd\xef\xfb\xee\xbbo\xc2G5\x91\xa9#\x18\xfc\x10-G\x0735\xc9\xa4\xf8\xb2gv0\xc4\xa5r\x0e\x02\x9dO\xea\x07\x19UWW\xf7\x83\x1f\xfc\xa0\xa5\x85y\xe0\xc0\x81\x0f<\xf0@'\x97\xea\xb4\xd4o\xe8\xd0\xa1\xf7\xde{o\xe9\x9dI~y\xd4\xb7o\xdfK.\xb9d\xd3\xa6M\xadv\xb0\xa6\xa6\xa6\xc9\x9b\r\x9b\xdbi\xa7\x9dn\xb9\xe5\x96$/WK\xda\x9a\xfa\xe5\xf3\xf9\xcf>\xfb\xec\xdcs\xcf-\xb1W\xa3F\x8dz\xf6\xd9gKTH=\xf5\xcbgr\x88\x06_*\xdd+\xf8\x0cvP)\xa5R,U\x8ee\"S\x91J\xa4\xe3\x8bW\xf2\xa8\xee\x84\x13Nx\xed\xb5\xd7J\xbcD)\x96jb\xdc\xb8q\xd1c\xaf\xbc\xf2\xca\xe4\x0f\x8c\xcb\xd4\x11\x0c~\x88\x96\xa3\x83\xf9,M2\x91\xceL\xfd:y0\xc4\xa5r\x0e\x02\x9d\xafG>\x9fo\xd3t\x00t\xa6\xd7_\x7f\xfd\xd6[o}\xec\xb1\xc7V\xaf^][[;x\xf0\xe0\xbd\xf7\xde\xfb\xf4\xd3O?\xe3\x8c3\xb6\xdf~\xfbN.\xf5\x9d\xef|\xe7\xe6\x9boN\xfe\x8c\x83\x06\rZ\xb3fM\xf3\xffoll|\xe9\xa5\x97\x1e{\xec\xb1'\x9f|r\xd5\xaaU\x1f\x7f\xfcqMM\xcd\x0e;\xec0x\xf0\xe0\x83\x0f>x\xf2\xe4\xc9'\x9exb\xaf^\xbdJ\x17\xcf\xe7\xf3\xef\xbe\xfb\xee+\xaf\xbc\xb2t\xe9\xd2W^ye\xd5\xaaU555\xb5\xb5\xb5\xb5\xb5\xb5[\xb6l\x190`\xc0.\xbb\xec2z\xf4\xe8c\x8f=\xf6\x1b\xdf\xf8F\xfc\xc3D\xadZ\xb9r\xe5\x1dw\xdc\xf1\xcc3\xcf\xbc\xfa\xea\xab\xd5\xd5\xd5\x9b6m\xdan\xbb\xed\x06\r\x1a4f\xcc\x98\xf1\xe3\xc7\x9f~\xfa\xe9\xad\xee[is\xe7\xce=\xe9\xa4\x93\n\xdb\xe3\xc6\x8d{\xf4\xd1G\x13>\xf0\xb5\xd7^\x9b={\xf6\xbcy\xf3>\xf8\xe0\x83\x8f?\xfe\xb8O\x9f>\xbb\xec\xb2\xcb\x91G\x1e\xf9\xd5\xaf~u\xf2\xe4\xc9\x15\x15\x15%\x1e\xdb\xaf_\xbf\r\x1b6\xb4uW\x17.\\\xf8\xa5/}\xa9t\x9bL\r\xd1\xe0K\xa5u\x0e\xa6\xbbWJ)\x95\xcdR\xe5X&R9\x07\xcb4!wp\xf1z\xf5\xd5W\xe7\xcf\x9f\xbfd\xc9\x927\xdf|\xf3\xa3\x8f>Z\xbf~\xfd\xa6M\x9b\xea\xeb\xeb\xfb\xf4\xe93p\xe0\xc0}\xf6\xd9\xe7\xd8c\x8f\x9d8q\xe2A\x07\x1d\xd4\xea\xae\xa6X*\xf2\xde{\xef\r\x1f>\xbc\xf0kKEE\xc5\xca\x95+w\xddu\xd7\xe4\x0f\x8fd\xea\x08\x06?D\xcbw\xa9\x96\xcb\xc6$\x13\xe9\xf8\xcb\x9e\xd9\xc1\x10I\xeb\x1c\x04:\x9f\xd4\x0f\x00\x00\x00\x00BS\xea\xbd!\x00\x00\x00\x00@w$\xf5\x03\x00\x00\x00\x80\xd0H\xfd\x00\x00\x00\x00 4R?\x00\x00\x00\x00\x08\x8d\xd4\x0f\x00\x00\x00\x00B#\xf5\x03\x00\x00\x00\x80\xd0H\xfd\x00\x00\x00\x00 4R?\x00\x00\x00\x00\x08\x8d\xd4\x0f\x00\x00\x00\x00B#\xf5\x03\x00\x00\x00\x80\xd0H\xfd\x00\x00\x00\x00 4R?\x00\x00\x00\x00\x08\x8d\xd4\x0f\x00\x00\x00\x00B#\xf5\x03\x00\x00\x00\x80\xd0H\xfd\x00\x00\x00\x00 4R?\x00\x00\x00\x00\x08\x8d\xd4\x0f\x00\x00\x00\x00B#\xf5\x03\x00\x00\x00\x80\xd0H\xfd\x00\x00\x00\x00 4R?\x00\x00\x00\x00\x08\x8d\xd4\x0f\x00\x00\x00\x00B#\xf5\x03\x00\x00\x00\x80\xd0H\xfd\x00\x00\x00\x00 4R?\x00\x00\x00\x00\x08\x8d\xd4\x0f\x00\x00\x00\x00B#\xf5\x03\x00\x00\x00\x80\xd0H\xfd\x00\x00\x00\x00 4R?\x00\x00\x00\x00\x08\x8d\xd4\x0f\x00\x00\x00\x00B#\xf5\x03\x00\x00\x00\x80\xd0H\xfd\x00\x00\x00\x00 4R?\x00\x00\x00\x00\x08\x8d\xd4\x0f\x00\x00\x00\x00B#\xf5\x03\x00\x00\x00\x80\xd0H\xfd\x00\x00\x00\x00 4R?\x00\x00\x00\x00\x08\x8d\xd4\x0f\x00\x00\x00\x00B#\xf5\x03\x00\x00\x00\x80\xd0H\xfd\x00\x00\x00\x00 4R?\x00\x00\x00\x00\x08\x8d\xd4\x0f\x00\x00\x00\x00B\xf3\xff\x00\x83\x94@b`\xee'\xcc\x00\x00\x00\x00IEND\xaeB`\x82" # noqa + expected = b"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x06\xa7\x00\x00\x00\xf5\x08\x02\x00\x00\x00R\x87\xb8\x04\x00\x00'~IDATx\x9c\xed\xdd{\x98\x14\xd5\x9d0\xe0f\x98Q\xae\xa2\xa8\x80x\x87\xc7\x1bx'\xa8\xebe#\x82\x115\x89\"\xeb\xc6'\xbb\xabf\xc5\x90\xac\tF\xa3k6f}\xb2\xeb=\x1b\x8d\x91\xcd\xaa\xebF\xcd\xaa\xac\xf1\xbaj\x0c\x04AQ\xc1\x1b\x11\x05\xf1\x8e\xa2\x80\n\x82\xce\x8c\xcaef`\xfa\xfb\xa3\x9f\xaf\x9e\xfafzzjz\xaagj\xce\xf7\xbe\x7f\x9d\x999\xf5\xebs\xbaN\x9dS\xf3\xeb\xaa\xea^\xf9|>\x07\x00\x00\x00\x00\x04\xa4\xaa\xbb\x1b\x00\x00\x00\x00\x00\xa4L\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B\xd3+\xfeC>\x9f\xff\x7f\xfe\xd6\xab\xcd\xbf\x96\xf8S\x876,\xaaE\xb4\xa2*\x11\xa7t/\x92\xbcD\x89h\xed\xbez\xea\xd1\x8a\xeah\x1f\xbb\xe0u\x93\x0f\x9e$\r\xe8P\xb4.x\x87\xdb\x8dS\xd1Q\xd7\xedc8\xc9&\xed\xb6*\x8c\xd9&\xad^t~\x17\xb7\xdb\xb6\xf2\x82\xb4\x8e\xd3\xc9\xd9\xa6\xa2\x07o*\xfb=\xad\x06w\xd9@\xad\xe8\xaa\x94\xee\xdeO\xd2\xb6\xb4\xe2\x94w\xb8u\xd7NL\x12\xe7\xff\xf3\xd9\xa6\xf3\x07{\x17\xcc\x0f\x1d\xdd$k\x8b{\x16\x8e\x85\x9ex\x9a\xdd\xc9S\x94.\x8bVT\xb7\x9f\xefu\xb4U=wBK\x12\xa7\xbc\xe58\x9b\xd3c\x19\xaf\xdb]\xffI\xf5\x94s\x9b\xae\x99\x96\xbb\xecl\xa4\xa8N\xf6\xb1BgJEu\xd7l\xd3b\x13\xd7\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B\xd3+\x9f\xcfww\x1b\x00\x00\x00\x00\x804\xb9\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00BS\xdd\xdd\r\x00:\xec\xcd7\xdf\xbc\xe3\x8e;\xe6\xcc\x99\xb3j\xd5\xaa\xfa\xfa\xfaa\xc3\x86\x8d\x1c9\xf2\xf4\xd3O?\xe3\x8c3\x06\r\x1a\xd4\xf5qR\xb4b\xc5\x8a\xbb\xef\xbe{\xf6\xec\xd9\xcb\x96-[\xbbvm\xdf\xbe}\x87\r\x1b\xb6\xdf~\xfb\xfd\xd5_\xfd\xd57\xbf\xf9\xcd\x01\x03\x06\x94\xd8v\xcb\x96-o\xbf\xfd\xf6\xcb/\xbf\xbct\xe9\xd2\xb7\xdezk\xf9\xf2\xe5\x1f}\xf4Q}}\xfd\xe6\xcd\x9b\xb7\xddv\xdb\x9dv\xda\xe9\xb0\xc3\x0e\x9b8q\xe2\xa9\xa7\x9eZ]\xdd\x81\xa9\xaf\xbe\xbe\xfe\xae\xbb\xeez\xe2\x89'^y\xe5\x95u\xeb\xd6m\xdc\xb8q\xd0\xa0A\xc3\x87\x0f?\xec\xb0\xc3N9\xe5\x94\x93N:\xa9\xaa\xaa{>>y\xff\xfd\xf7\x1fx\xe0\x81\x993g\xaeX\xb1\xe2\xe3\x8f?nhh\x184h\xd0\xee\xbb\xef>f\xcc\x98q\xe3\xc6\x8d\x1b7n\xe8\xd0\xa1%6onn~\xe1\x85\x17f\xce\x9c\xf9\xe7?\xff\xf9\xf5\xd7_\xff\xec\xb3\xcf6m\xda4x\xf0\xe0]v\xd9\xe5\xa8\xa3\x8e\xfa\xe67\xbf9~\xfc\xf8\x8e6)\x83#3\xf8Pi\xc9`\xef2\xd8$\xbd\xebYM\xaa\xd0\xa2\xd0y\xa9O\xbf\x99]\xa7\xc2\x93\xca\xbe\x0b{dV\xaew\x19\x9c\xa0:#\xb3\xc3\x00\x08P\x1e\xe89\x1a\x1a\x1a.\xbc\xf0\xc2^\xbdz\x15=\x9c\xb7\xdf~\xfbG\x1ey\xa4+\xe3|\xf2\xc9'\xf3\xe7\xcf\xbf\xed\xb6\xdb.\xb9\xe4\x92I\x93&\x8d\x1e=\xbaO\x9f>Q\x9c\x93O>9y\xd7\x9a\x9a\x9a\xfe\xf1\x1f\xffq\xeb\xad\xb7nk\xb2\xdai\xa7\x9d\xfe\xf0\x87?\x94\x88p\xe7\x9dw&\x99\xf4v\xdey\xe7\xfb\xef\xbf?I\x93\x9a\x9b\x9b\x7f\xf5\xab_\x95N5\xee\xb3\xcf>\xf3\xe7\xcfO\xde\xcd\x16\x1e\x7f\xfc\xf1x\xb4\xf1\xe3\xc7'\xd9\xaa\xb6\xb6\xf6\xbb\xdf\xfdn[\xbb/jX[\x9b\xafZ\xb5\xeag?\xfb\xd9\xb0a\xc3J\xbfQ\x87\x1cr\xc8\xc2\x85\x0b\x13v$k#3\xecP)\x1ew\x19\xec]6\x9b\xa4w=\xb1w\xe9.\n\xa9\x1cw\xa9O\xbfi\xadS#G\x8eL\xf2^\x15\xcc\x9c9\xb3\xa2q\x9e{\xee\xb9\xe4A\xe2\xa6N\x9d\xdaV\xc3:\xbf\xfbR\xdcw\xa9\x9f\xae\x84\xdd\xbb|\xf6&\xa8Tf\x83\xacMP\x958\xee\x80\x8c\x90\xf5\x83\x1e\xa3\xa9\xa9\xe9\xb8\xe3\x8ekw\xf5\xfd\x8f\xff\xf8\x8f\xae\x89\xb3v\xed\xda\xd2\x11\x92g\x1f6m\xdat\xd2I'%9\xb7\x98>}z[A\x12\x9e?\x15\\p\xc1\x05\xa5\x9b\xd4\xdc\xdc\xfc\xb7\x7f\xfb\xb7IBUUU\xdds\xcf=\t{\x1a\xb7q\xe3\xc6\x16\xff %\xc9\xfa\xbd\xf5\xd6[\xc3\x87\x0fo\xb7U%\xb2~'\x9cpB\xc2w\xa9\xa6\xa6\xe6\xf6\xdboo\xb7IY\x1b\x99a\x87J\xf1\xb8\xcb`\xef\xb2\xd9$\xbd\xeb\xa1\xbdKqQH\xeb\xb8Kw\xfaMq\x9d\n#\xebw\xdey\xe7\x15\r\x98\xca\xeeKq\xdf\xa5{\xba\x12v\xef\xf2\xd9\x9b\xa0\xd2\x9a\r\xb26A\xa5~\xdc\x01\xd9!\xeb\x07=\xc6\xb4i\xd3\xa2%v\xd0\xa0A\xbf\xf8\xc5/\xde\x7f\xff\xfd\xf5\xeb\xd7/Z\xb4\xe8\xcc3\xcf\x8c\xfeTSS\xf3\xf4\xd3OwA\x9c\x14\xb3\x0f\xe7\x9f\x7f~\xb4Uuu\xf5\x05\x17\\\xb0h\xd1\xa2/\xbf\xfc\xb2\xae\xaen\xde\xbcy\x93&M\x8a\xfe\xda\xbbw\xef?\xfd\xe9OE\x83D\xe7O#G\x8e\xfc\xf1\x8f\x7f|\xff\xfd\xf7\xbf\xf3\xce;uuu\x8d\x8d\x8d\xabW\xaf~\xf4\xd1G\xbf\xfe\xf5\xaf\xc7\x9bw\xed\xb5\xd7\x96h\xd2\x95W^\x19\xaf\xfb\xaa\xab\xae\xba\xff\xfe\xfb\x97,Y2c\xc6\x8c\x0e\x9dd\xe4\xf3\xf9E\x8b\x16Ew[TWW\xff\xf1\x8f\x7fl]'\xfe\xbf\xcd\xee\xbb\xef\xbei\xd3\xa6\xd6u\xee\xbb\xef\xbe\xbf\xfb\xbb\xbfk\xdd\xa3\xb8\x1bo\xbc1\x8a\xd3\xb7o\xdf\x0f>\xf8\xa0h\xb5O?\xfd\xb4\x7f\xff\xfeQ\xcd\xcb/\xbf\xbcu\x9d\xf5\xeb\xd7\x1f}\xf4\xd1Q\x9d\x89\x13'&\xe9ld\xe9\xd2\xa5555\xb9\\\xaew\xef\xdeQ\x90v\xb3~\xe3\xc6\x8d\x8b*O\x992e\xfd\xfa\xf5E\xab\xbd\xf1\xc6\x1b\xe7\x9csN[A\n'\xf7\x93&Mz\xfe\xf9\xe7\x8bVhll\xfc\xd6\xb7\xbe\x15\xbd\xd0\xce;\xef\xdc\xd6\x0b\xe5392\xc3\x0e\x95\xd6q\x97\xcd\xdee\xb0Iz\xd7s{\x97\xe2\xa2\x90\xd6q\x97\xe2\xf4\x9b\xee:\x15e\xebF\x8f\x1e\x9d\xa4#\x95\x8e\x93\xd0\xca\x95+\xa3G\x16\x0e\x1d:\xb4\xa9\xa9\xa9h\xb5Tv_\x8a\xfb.\xc5\x91\x19|\xef28A\xa55\x1bdp\x82J(\xe1q\x07d\x87\xac\x1f\xf4\x0c\xa7\x9dvZ\xb4x_s\xcd5\xad+477\x1f~\xf8\xe1Q\x9d\xfb\xee\xbb\xaf\xa2q\xda\xf2\xd0C\x0fu\xf4$\xe3\xec\xb3\xcf\x8e6)q\x0bC\xfc\x83\xe8;\xee\xb8\xa3C\xad\x8a;\xe5\x94S\xa28W\\qE\xd1:w\xdcqGTg\xbf\xfd\xf6k\xeb\xe4\xef\x8d7\xde\x88\xe7+?\xfd\xf4\xd3\x84mhnn>\xea\xa8\xa3\n\x1b\x9ew\xdey\xd1k\x95\xce\xfa=\xf0\xc0\x03Q\xcdo\x7f\xfb\xdb%NIK;\xff\xfc\xf3\xe7\xcc\x99S\xba\xce\x86\r\x1b\xf6\xd8c\x8f\xe8\xe5J\xdc\xf0\x92\xc1\x91\x19|\xa8\xd6\xca8\xee\xd2m\x92a\xa0w\x19lRBI\x16\x85\xa2\xca8\xeeR\x9c~\xd3]\xa7zh\xd6\xef\xf2\xcb/\x8f\xde\x84\x8b.\xba\xa8C\xdbvt\xf7\xa5\xbbt&Q\xf6\xc8\xcc\x07\xd4\xbb\x0cNPE\x95\xb7\n'\xd1\x95\x13TB\x9d9\xee\x80n!\xeb\x07=\xc0\x9a5k\xa2\xb3\xf6\x81\x03\x07n\xd8\xb0\xa1h\xb5G\x1f}4Z\x86\x8f;\xee\xb8\xca\xc5)\xa1\xa3'\x19[\xb6l\x89\x7fcZ\x89\xcf{\x17,XPv\xab\xe2\x1e|\xf0\xc1(\xce\xb1\xc7\x1e[\xb4\xce\x0f\x7f\xf8\xc3\xa8\xce\xa5\x97^Z\"Z\xfc\xfe\xa9'\x9f|2a\x1bn\xbe\xf9\xe6\xc2&\x13'N\x9c9sf\x14\xa1t\xd6\xef\xc0\x03\x0f,T\xdba\x87\x1d\xea\xea\xea\x12\xbeV\xd9\xae\xbe\xfa\xea\xa8a'\x9exb\xd1:\x19\x1c\x99\xc1\x87*\xaa\x8c\x93\xfb\x0c\xf6.\x83M\xd2\xbb\x1e\xdd\xbb\x84\x92,\nEU\xee\x9f\xea$\xd3o\xba\xebTO\xcc\xfa577\x8f\x181\"\xea\xda\xd2\xa5K;\xb4y\x85v_\x92}\x97P\xd9#3\x1fJ\xef28A\xb5\xa5r\xb3A\xd6&\xa8N\x1ew@\xb7\xa8\xca\x01\x997k\xd6\xac|>_(\x9fz\xea\xa9}\xfb\xf6-Z\xed\x84\x13N\xd8n\xbb\xed\n\xe5g\x9ey\xe6\x8b/\xbe\xa8P\x9c\x14\xbd\xfe\xfa\xeb\xf5\xf5\xf5\x85\xf2\xa8Q\xa3v\xdbm\xb7\xb6j\x1ey\xe4\x91;\xed\xb4S\xa1\xfc\xd4SO\x95\xdd\xaa\xfd\xf6\xdb/*\x7f\xf8\xe1\x87E\xeb|\xfa\xe9\xa7Q\xb9\xf4S\x8a\xe2\xa7>\xed>W\xa5`\xcd\x9a5?\xf9\xc9Or\xb9\\MM\xcd\xaf~\xf5\xab$\x9b\xe4r\xb97\xdexc\xc9\x92%\x85\xf2\x85\x17^\x18O\x95V\xc8\x91G\x1e\x19\x95\x97.]Z\xb4N\x06Gf\xf0\xa1\xd2\x92\xc1\xdee\xb0Iz\xd7\xa3{\x97P\x92E\xa1\x8b%\x99~+\xbaN\xf5\x08O>\xf9\xe4{\xef\xbdW(\x8f\x1d;6\x9e\xdc\xecFI\xf6]B=td&\x94\xa4w\x19\x9c\xa0\xba^\xd6\x86A6\x8f;\xa04Y?\xe8\x01f\xcd\x9a\x15\x95\xe3Ovk\xa1\xa6\xa6&\xbao\xb4\xa9\xa9i\xce\x9c9\x15\x8a\x93\xa27\xdf|3*\xef\xbf\xff\xfe\xa5+\x1fz\xe8\xa1\x85\xc2\x96-[\x9e}\xf6\xd9\xf2^1\xfe\x1c\xbd\xcd\x9b7\x17\xad\x13?#\x8c\x9e]RT\xfc\xaf\xfd\xfa\xf5K\xd2\x80\xf3\xcf?\xbf\xae\xae.\x97\xcb\xfd\xf0\x87?\xdcw\xdf}\x93l\x92\xcb\xe5\xee\xbd\xf7\xde\xa8\x1c\x7f\xb6N\xe5\xec\xb8\xe3\x8eQ\xf9\x93O>)Z'\x83#3\xf8Pi\xc9`\xef2\xd8\xa4\x14Ce\xb0I)\x86\xca`\x93\x92K\xb2(t\xb1$\xd3oE\xd7\xa9\x1e\xe1\xb6\xdbn\x8b\xca\xdf\xf9\xcew\xba\xb1%qI\xf6]B=td&\x94\xa4w\x19\x9c\xa0\xba^\xd6\x86A6\x8f;\xa04Y?\xe8\x01\xe2\x0f!\x1e3fL\x89\x9ac\xc7\x8e\x8d\xca\xaf\xbc\xf2J\x85\xe2\xa4\xa8\xb6\xb66*\xc7\xcf&\x8b\x8a\xae\xf5\xcb\xe5r\xd1\x85o\x1d\xf5\xc6\x1boD\xe5\xddw\xdf\xbdh\x9d\x03\x0e8 */_\xbe\xbcD\xb4\xf8_\xe3[\xb5e\xd6\xacY\xbf\xff\xfd\xefs\xb9\xdc\x90!C.\xbb\xec\xb2v\xebG\x9ey\xe6\x99Ba\xef\xbd\xf7\x8e_\xb8Q9\x9f}\xf6YT\xdef\x9bm\x8a\xd6\xc9\xe0\xc8\x0c>TZ2\xd8\xbb\x0c6)\xc5P\x19lR\x8a\xa12\xd8\xa4\xe4\x92,\n],\xc9\xf4[\xb9u\xaaG\xa8\xab\xab\x8b\xee|\xec\xd3\xa7\xcf\x19g\x9c\xd1\xbd\xed\x89$\xd9w\t\xf5\xd0\x91\x99P\x92\xdeep\x82\xeaz\x99\x1a\x06\x99=\xee\x80\xd2d\xfd \xeb\x9a\x9b\x9b\xa3k\xe9s\xb9\xdc\xde{\xef]\xa2r\xfc\xaf\xef\xbc\xf3N%\xe2\xa4k\xfd\xfa\xf5Q\xb9\xddk\x10\xe2\xdfW\xf8\xf6\xdbo\x97\xf7\x8a\xff\xf9\x9f\xff\x19\x95O<\xf1\xc4\xa2uN;\xed\xb4\xea\xea\xeaB9\xfe`\x94\x16\x96-[\x16\xdd\xe1r\xc4\x11G\x94\xb8=\xb9`\xc3\x86\r\xff\xf0\x0f\xffP(_u\xd5U\x1d\xbaK\xf7\xd5W_-\x14\xa2+\"_~\xf9\xe5s\xcf=w\xaf\xbd\xf6\xea\xd3\xa7\xcf\xc0\x81\x03G\x8c\x18q\xdai\xa7\xfd\xf6\xb7\xbf\xdd\xb4iS\xf2\xb0%\xc4/\xc3,\xda\xb5\x0c\x8e\xcc\xe0C\xa5%\x83\xbd\xcb`\x93R\x0c\x95\xc1&\xa5\x18*\x83M\xea\x90$\x8bB\x17kw\xfa\xcdUl\x9d\xea)f\xcc\x98\xb1q\xe3\xc6B\xf9\xd4SO\x8dn\xcc\xecvI\xf6]B=td&\xd4n\xef28Au\x8bL\r\x83\xcc\x1ew@i\xb2~\x90u\x1f|\xf0Accc\xa1}\xfa\x94\xa8\x1c\xbf\x1a\xaeE^,\xad8\xe9\x1a0`@T\x8e\xce$\xda\x12O\x11\xae\\\xb9\xb2\xa3\xaf\x95\xcf\xe7\xff\xf5_\xff\xf5\xb1\xc7\x1e+\xfc8l\xd8\xb0s\xcf=\xb7h\xcd]w\xdd\xf5\xfc\xf3\xcf/\x94\x97,Y\xf2\xcb_\xfe\xb2u\x9d\x86\x86\x86\xa9S\xa7677\xe7r\xb9\xaa\xaa\xaa_\xfc\xe2\x17\xed6\xe0_\xfe\xe5_\n\xd7\\\x8c\x193\xa6C\xb7E\xac]\xbb6\xba\x95f\x9f}\xf6\xc9\xe5r\x97_~\xf9\x981c\xfe\xeb\xbf\xfek\xd9\xb2e\r\r\r_~\xf9\xe5\xf2\xe5\xcb\x1fz\xe8\xa1)S\xa6\xec\xb3\xcf>Q\x1f;#\xfeo\xe4\xd7\xbe\xf6\xb5\xd6\x15282\x83\x0f\x95\x96\x0c\xf6.\x83MJ1T\x06\x9b\x94b\xa8\x0c6)\xa1\xe4\x8bB\x17kw\xfa\xcdUl\x9dZ\xb7n\xdd\x94)S\xf6\xdf\x7f\xff\xc1\x83\x07o\xb5\xd5V\xc3\x86\r;\xf4\xd0C\xa7M\x9b\x16\x7f2Z\x12i\xc5iK\xfc6\xc3\xb3\xcf>\xbb\xf3\x01\xd3\x92d\xdf\xb5\xabG\x8f\xccv%\xec]\x06'\xa8.\x96\xc1a\x90\xd9\xe3\x0e(\xad\xba\xbb\x1b\x00\xb4#\xfe\xe4\x94\xf8\xe9HQ\xf1\n-\x1e\xb9\x92V\x9ct\xc5?'l\xf7)\xe3\x1f\x7f\xfcqT^\xb7n]\xc2\x97hhh\xf8\xf8\xe3\x8f\xe7\xcf\x9f\x7f\xd3M7EO\x03\x1c8p\xe0\xfd\xf7\xdf_\xe2S\xca\xab\xaf\xbez\xd9\xb2e\x0f?\xfcp.\x97\xbb\xf8\xe2\x8b_z\xe9\xa5\xef\x7f\xff\xfb\x07\x1f|p\xbf~\xfd\xd6\xae];o\xde\xbck\xae\xb9\xa6p\x97qUU\xd5o~\xf3\x9bc\x8e9\xa6t3\x96,Yr\xfd\xf5\xd7\x17\xca\xbf\xfe\xf5\xafK?\x86\xa9\x85U\xabVE\xe5m\xb7\xdd\xf6\x82\x0b.\xb8\xe1\x86\x1b\xda\xaa\xbcb\xc5\x8aSN9\xe5\xb6\xdbn;\xf3\xcc3\x93\xbfD\x0b\xef\xbc\xf3N\xfc98Eo\xe2\xc8\xe0\xc8\x0c>TZ2\xd8\xbb\x0c6)\xc5P\x19lR\x8a\xa12\xd8\xa4\xd2\xca[\x14\xbaL\x92\xe9\xb7 \xf5u*\x97\xcb\xadY\xb3\xe6\xb7\xbf\xfdm\xfc\xc75k\xd6\xbc\xfc\xf2\xcb\xd3\xa7O?\xe8\xa0\x83n\xbc\xf1\xc6\xbf\xfc\xcb\xbfL\xd2\x8b\xb4\xe2\x14\xb5x\xf1\xe2\x97^z\xa9P\xdee\x97]\x8e?\xfe\xf8\xb2C\xa5+\xf9\xbe+*\x98\x91YTG{\x97\xc1\t\xaakdv\x18d\xf6\xb8\x03\xda%\xeb\x07Y\xd7\xa1{`\xe3\x15\xe2\x1b\xa6\x18']\xf1\xef&{\xfd\xf5\xd7KW\x8e?\x99%\xfa\xe6\xdf\xa2V\xaf^]\xe2\xdc\xeek_\xfb\xda\xbf\xff\xfb\xbf\xef\xb5\xd7^%\"\xd4\xd4\xd4<\xf8\xe0\x837\xdcp\xc3\x95W^\xf9\xd9g\x9f\xdds\xcf=\xf7\xdcsO\xebj\x07\x1dt\xd0\r7\xdcp\xec\xb1\xc7\x96nyss\xf3\xd4\xa9S\x0b\x8fa\xfe\x9b\xbf\xf9\x9b\xe8q\xd1\t\xc5\xbfHn\xe1\xc2\x85\x0f<\xf0@.\x97\xdbv\xdbm/\xbd\xf4\xd2\xd3N;m\xe7\x9dw\xae\xaf\xaf_\xb0`\xc1UW]\xf5\xe7?\xff9\x97\xcbm\xd9\xb2\xe5\xdcs\xcf=\xf8\xe0\x83\x0f<\xf0\xc0\x0e\xbdP\xe4\x82\x0b.\xd8\xb2eK\xa1\xaa\xb6h\xd1\xa2v\xbb\xd9\xc2\xdbo\xbf=p\xe0\xc0(\xc2\xb5\xd7^\xdbV\xcd\x0c\x8e\xcc\xe0C\xb5\xa5\xa3\xc7]\x06{\x97\xc1&\xe9]\x8f\xee]\x0b\xa9,\n-\x94\xb1\xde\x95\x96|\xfa\x8d\xa4\xb5N\xb5\xdb\xb0\xd1\xa3GG\x01\x07\x0e\x1c\xb8v\xed\xda\xee\x8a\x13\xbf\x9e\xf1\xe8\xa3\x8f.\xa3\x19\x05\xe9\xee\xbe2\xf6]A%Ff>\x88\xdeep\x82*\xa1\x93ox\xf6'\xa8\xb4\x8e;\xa0[\xb8\xd6\x0f\xb2.\xfe\xc1c\xf4@\xe2\xc2\xbd\xa2\x91\xfc\xff}6vT!\x97\xcbm\xbd\xf5\xd6\xbdz\xf5J=N\xea\xce;\xef\xbc\xa8|\xfd\xf5\xd7?\xf9\xe4\x93\xad\xeb\\{\xed\xb5\xf1\xecX\xee\xff\xfd>\xdf\xd6\x86\r\x1b\x16Ms\xeb\xd7\xaf\x7f\xf7\xddw\xef\xbc\xf3\xce\xe8)B\xf3\xe6\xcd;\xe2\x88#J_e\xb0`\xc1\x82C\x0e9d\xf6\xec\xd9\xb9\\\xaew\xef\xde\xe7\x9cs\xceSO=U[[\xdb\xd8\xd8\xb8r\xe5\xca\x193f\x8c\x193&\x97\xcbm\xdc\xb8\xf1\xfa\xeb\xaf?\xea\xa8\xa3jkk\xdb\n5m\xda\xb4\xcf?\xff<\x97\xcb\xed\xb9\xe7\x9e?\xfe\xf1\x8fK\xbch[Z\xbc\xffG\x1ey\xe4\x84\t\x13\x8a\xd6\xdcv\xdbm\xe3Y\xd4\x07\x1f|\xb0C/\xf4\xe5\x97_N\x9e<9\xba\xb4\xf0\xe4\x93O\xbe\xf8\xe2\x8b\xdb\xaa\x9c\xc1\x91\x19|\xa8\xb4d\xb0w\x19l\x92\xde\xf5\xe8\xde\xb5\xd0\xf9E\xa1\xd2:4\xfd\x16\xa4\xb8N\x95\xb6\xd7^{\xcd\x9e={\xd8\xb0a\x85\x1f\xbf\xf8\xe2\x8b\xa2_\x1e\xd25q\xe2\xb7\x19f\xe4\x82\xa32\xf6]$\xc8\x91\x19\xe9L\xef28AUN\xf6\x87A\x06\x8f;\xa0\x03\xd2L!\x02\x150g\xce\x9c\xe8\x80\x1d;vl\xf4\xfb\xe9\xd3\xa7\xef\xb6\xdbn}\xfb\xf6=\xe6\x98c\xa2\xcf\x00\xe3\xdfl;x\xf0\xe0J\xc4)\xad\xbc\x8f\x16\xa7N\x9d\x1am\xb5\xd5V[]|\xf1\xc5\x8b\x17/^\xbf~}}}\xfd\xd3O?=y\xf2\xe4\xc2\x9f\x0e;\xec\xb0]w\xdd\xb5P>\xf4\xd0C\x93\xb7*r\xeb\xad\xb7\xf6\xee\xdd\xbb\x10\xa1\xa6\xa6f\xe1\xc2\x85E\xab\xad^\xbdz\xf0\xe0\xc1\x85j\xd5\xd5\xd5\x8f=\xf6X\xeb:\x9b7o\xfe\xfb\xbf\xff\xfb\xa8\xd9\x13'N,\x1a\xea\xd1G\x1f\x8d\xea<\xf4\xd0C\xad+$\xb9\xd6\xef\x91G\x1e\x89\xcf\xdb\xd7]w]\x89>>\xfe\xf8\xe3Q\xcd\xe3\x8f?\xbeD\xcd\x16\xb6l\xd9\xf2\x8do|#\xdav\xdf}\xf7\xad\xab\xab+Q?\x83#3\xf8Pm\xe9\xe8q\x97\xc1\xdee\xb0Iz\xd7\xa3{\x97P\xc2E\xa1\xa8\x14/\xa5\xe9\xe8\xf4\x9bOu\x9dJ\xe8\x96[n\x89B\xed\xba\xeb\xae\xdd\x12\xe7\x83\x0f>\x88\x9e&\xd6\xaf_\xbf\xcf?\xff\xbc\xecf\xa4\xb5\xfb\xca\xd8wItfd\xe6\x83\xe8]\x06'\xa8\x12R\xbf\xf2\xb7 #\x13T\x8a\xc7\x1d\xd0-d\xfd \xeb\x9e{\xee\xb9h\xd9\x1e=zt\xe9\xcao\xbd\xf5V['\xd3i\xc5)\xad\xbc\x93\x8c/\xbf\xfc\xf2\xab_\xfdj\xae\xa4\x81\x03\x07.]\xba4\xba}\xf5\xab_\xfdj\xf2V\xc5\xc5\xbf\xfd\xf6\xf0\xc3\x0f/Z\xe7{\xdf\xfb^T\xe7\xb2\xcb.k+Tcc\xe3\xfe\xfb\xef\x1f\xd5\x9c9sf\xeb~\xed\xb6\xdbn\x85\xbfN\x980\xa1h\x90$Y\xbfy\xf3\xe6\xc5\xdf\x8ay\xf3\xe6\x95\xe8`\xfc\xd9\x88\xbb\xec\xb2K\x89\x9a-L\x9b6-\xdap\xc7\x1dw|\xf7\xddwK\xd7\xcf\xe0\xc8\x0c>T[:z\xdce\xb0w\x19l\x92\xde\xf5\xe8\xde%\x97dQ(*\xc5\x7f\xaa;:\xfd\xe6\xd3[\xa7\x92\xdb\xb0a\xc3V[m\x15\x85z\xfb\xed\xb7\xbb>\xce\xcf\x7f\xfe\xf3h\xc33\xcf<\xb3\xbc\x06\x14\xa4\xb5\xfb\xca\xd8w\t\x95=2\xf3A\xf4.\x83\x13T\t\x15\xca\xfa\xe5\xb31A\xa5x\xdc\x01\xdd\xc2\x1d\xbe\x90uC\x86\x0c\x89\xca\xa5\x1f\xfc\x91\xcb\xe5V\xaf^]t\xc3\x14\xe3TB\xff\xfe\xfdg\xcd\x9a5u\xea\xd4\xe8#\xcd\x16v\xdf}\xf7\x05\x0b\x16\x8c\x1a5*\xba\xc7d\x97]v)\xef\xb5~\xf0\x83\x1f\x8c\x181\xa2P~\xe1\x85\x17\x16/^\xdc\xa2BSS\xd3\xddw\xdf](\xf7\xee\xdd;~\xca\xdbBMM\xcd\xf9\xe7\x9f\x1f\xfdx\xfb\xed\xb7\xb7\xa8p\xd9e\x97\xadX\xb1\"\x97\xcbUWW\xc7\xcf\xdb:j\xc7\x1dw\x8c\xff8|\xf8\xf0\x12\x95\xe3\xfb\xab\xae\xae.\xe1KL\x9f>\xfd\xc6\x1bo,\x94\xfb\xf5\xeb\xf7\x87?\xfc!z\x97\x92\xbcPFFf\xf0\xa1\xd2\x92\xc1\xdee\xb0I)\x86\xca`\x93R\x0c\x95\xc1&uH\xbb\x8bB\xa5\x951\xfd\xa6\xb8N%\xd7\xb7o\xdf\x83\x0f>8\xfaq\xd9\xb2e]\x1c'\x9f\xcf\xdfq\xc7\x1d\xd1\x8f\xdf\xf9\xcew\xcak@\x8a\xca\xd8w\xc9\xf5\xc4\x91\x99\\\xbb\xbd\xcb\xe0\x04\xd5-\xba}\x18d\xf0\xb8\x03:J\xd6\x0f\xb2n\xf7\xddw\x8f>\x15\xff\xec\xb3\xcfJ\x7fwm\xfc[n[|\xe1WZq*\xa4O\x9f>7\xdf|\xf3\x92%K~\xfa\xd3\x9f\x8e\x1d;v\xe8\xd0\xa1\xd5\xd5\xd5\xdbl\xb3\xcdQG\x1du\xddu\xd7-]\xba\xf4\x80\x03\x0eX\xbe|y\xf4\xc8\x95\x03\x0e8\xa0\xbc\x17\xea\xdd\xbb\xf7\xc9'\x9f\x1c\xfd\xf8\xf4\xd3O\xb7\xa8\xb0x\xf1\xe2(\xb78z\xf4\xe8\xf8\x97c\xb46n\xdc\xb8\xa8\xbc`\xc1\x82\x16\x7f\xbd\xf5\xd6[\x0b\x85\xef\x7f\xff\xfb\xf1G\x98wTt_sA\xbf~\xfdJT\xae\xae\xae\xae\xae\xae.\x94\x13~\x03\xdd\xc3\x0f?\xfc\xa3\x1f\xfd\xa8P\xee\xdd\xbb\xf7=\xf7\xdcs\xd8a\x87\xb5\xbbU\x06Gf\xf0\xa1\xd2\x92\xc1\xdee\xb0I)\x86\xca`\x93R\x0c\x95\xc1&uH\xbb\x8bBE\x957\xfd\xa6\xb8Nu\xc8\xd0\xa1C\xa3\xf2\xbau\xeb\xba8\xce\xdc\xb9s\xdf\x7f\xff\xfdBy\xcf=\xf7l\xf7\x16\x81J+o\xdf%\xd7\x13Gfr\xed\xf6.\x83\x13T\xb7\xe8\xdea\x90\xcb\xdeq\x07\x94A\xd6\x0f\xb2\xaew\xef\xde\xf1\x0fW\xe3w\x1f\xb4\xf6\xf6\xdboG\xe5\xbd\xf7\xde\xbb\x12q*j\xd4\xa8QW^y\xe5\x8b/\xbe\xb8z\xf5\xea\xa6\xa6\xa6\xfa\xfa\xfa\xf9\xf3\xe7_x\xe1\x85\x03\x06\x0c\xc8\xe5r\xaf\xbd\xf6ZT\xb3\xec\xac_.\x97\xdbs\xcf=\xa3r\xe1Z\xbc\xb8\xf8oJ_U\x97\xcb\xe5v\xdey\xe7\xa8\xfc\xd1G\x1fm\xd9\xb2%\xfe\xd7\xe6\xe6\xe6Ba\xfa\xf4\xe9\xbd\xda\x10\xffn\xe2\xb9s\xe7F\xbf\x9f8qb\xf4\xfb\x81\x03\x07\xc6\xffG\xda\xb0aC\x89&m\xde\xbc9zLu\xe1}+\xed\x85\x17^\xf8\xf6\xb7\xbf\x1d5\xf5\xe6\x9bo\x8e?\xc4\xa7\x84\x0c\x8e\xcc\xe0C\xa5%\x83\xbd\xcb`\x93R\x0c\x95\xc1&\xa5\x18*\x83M\xea\xa8\xd2\x8bB\xe5\x94=\xfd\xa6\xb8N\xf5 \xf1\xef\x138\xeb\xac\xb3\xba\xec\x9b\x16\x8a*{\xdfuH\x8f\x1b\x99\x1dR\xbaw\x19\x9c\xa0\xbaKw\r\x83\x82L\x1dw@yd\xfd\xa0\x07\x88\xdf\x0b\xf3\xd2K/\x95\xa8\xb9p\xe1\xc2\xa2[\xa5\x1b\xa7\xbb\xcc\x9a5\xabP\xa8\xae\xae>\xfc\xf0\xc3\xcb\x8e\x13\xff\x9f\xa7\xa9\xa9\xa9\xc5_7m\xda\x14\x95\xf3\xff\xf7k\xdd\xda\x12\xaf\x90\xcf\xe7\xe3\xdf\xfe\x96\xae\xf8^\x88\x7f\x16\xdd\xda'\x9f|\x12\x95\xb7\xdbn\xbb\xd2a\x97-[\xf6\x8do|#J#^~\xf9\xe5S\xa6L)\xafU\x19\x19\x99\xc1\x87JK\x06{\x97\xc1&\xa5\x18*\x83MJ1T\x06\x9b\xd4!\xa5\x17\x85\n\xe9\xcc\xf4\xdb]\xeb\xd4\xda\xb5k\xa3r\x8bGOT:Nmmm\xf4\x9c\xb2^\xbdz\xc5\xbf\xad\xbe\xebur\xe9L\xae\xc7\x8d\xcc\x0ei\xb7w\x19\x9c\xa0\xbaE\xb7\x0c\x83\x82L\x1dw@\xd9d\xfd\xa0\x07\x88_\xf6\xf5\xe4\x93O\xb6U\xad\xa9\xa9\xe9\xd9g\x9f-\x94kjj&L\x98P\xa18\xdd\xa2\xa9\xa9):\xf3\x980aB\xe9\x1b\x9aJ[\xbe|yT\x8e_CW\x10}+b.\x97\x8b\x7f3FQ\xf1\x04\\\xdf\xbe}\xfb\xf6\xed[v\xabJ;\xfa\xe8\xa3\xa3r\xe9s\xd6\xf8\x15\x91\xa3F\x8d*Qs\xed\xda\xb5'\x9exb\xf4\xdf\xd7y\xe7\x9d\xf7\xb3\x9f\xfd\xacC\xad\xca\xe0\xc8\x0c>TZ2\xd8\xbb\x0c6)\xc5P\x19lR\x8a\xa12\xd8\xa4\x0e)\xbd(TB'\xa7\xdfnY\xa7\x1a\x1b\x1b_y\xe5\x95\xe8\xc7\xb2\xef\x7f,/\xce\xddw\xdf\x1d\xdd\x9b9n\xdc\xb8=\xf6\xd8\xa3\xbcW\xef\xbc\xce/\x9d\xc9\xf5\xb8\x91\xd9!\xed\xf6.\x83\x13T\xb7\xe8\xfaa\x10\xc9\xceq\x07tJ\xf7}\x91\x08\x90\xd4\xea\xd5\xab\xa3+\xea\x07\x0e\x1c\xb8a\xc3\x86\xa2\xd5\x1e}\xf4\xd1\xe8\xd0>\xee\xb8\xe3*\x17\xa7\x84\xca}\x8bY\xf4H\xe9\\.\xf7\xbb\xdf\xfd\xae\xec8[\xb6l\x89\xdf\xeb\xf1\xbf\xff\xfb\xbf-*\xc4\xef\xef\xa8\xaa\xaaZ\xb3fM\x89h\xb7\xddv[T\xf9\x80\x03\x0e(\xa3=I\xbe\xc37\x9f\xcf/Z\xb4(\xaav\xd4QG\x95\x08x\xc1\x05\x17D5\x7f\xfe\xf3\x9f\xb7Um\xfd\xfa\xf5\xf1\xeb%\xff\xfa\xaf\xffz\xcb\x96-\x1dm|\x06Gf\xf0\xa1\x8a*\xe3\xb8\xcb`\xef2\xd8$\xbd\xeb\xd1\xbdK\xa8\xddE\xa1-e\xafw\x9d\x9f~\xbbx\x9d*\xb8\xeb\xae\xbb\xa28{\xee\xb9g\x17\xc7\x89_xu\xe7\x9dw\x96\xfd\xea\x91\xf2v_*KgBe\x8f\xcc|(\xbd\xcb\xe0\x04\xd5\x96\xca\x9d\xfdv\xfd\x04\x15\x97\xfaq\x07t\x0bY?\xe8\x19N;\xed\xb4h\xdd\xbd\xe6\x9akZWhnn>\xe2\x88#\xa2:\xf7\xddw_E\xe3\xb4\xa5B\xe7=o\xbe\xf9ft\xb3\xea>\xfb\xec\xd3\xd8\xd8Xv\xa8\x9bn\xba)ja\xdf\xbe}\xd7\xaf_\xdf\xbaN\xfc\xc3\xcc\x9f\xfc\xe4'm\x85\xda\xbcy\xf3!\x87\x1c\x12\xd5\xbc\xe8\xa2\x8b\xcahO\xc2\xac_>\x9f\x8f?\xcap\xee\xdc\xb9E\xeb\xd4\xd6\xd6\xc6\xaf\x82|\xed\xb5\xd7\xdajy\xfc\xe1\xd0\x13&Lhhh(\xa3\xf1\xf9L\x8e\xcc\xe0C\xb5V\xdeq\x97\xc1\xdee\xb0Iz\xd7\xa3{\x97D\x92E\xa1\xa8\xf2\x8e\xbb\xb4\xa6\xdf\xae\\\xa7\xf2\xf9|mmm\xfc\xe1b\x97]vYW\xc6\x89\x7f\xee\xb5\xcd6\xdb$\xdfG%\x94\xb1\xfbR\\:\x93({d\xe6\x03\xea]\x06'\xa8\xa2*\x97\xf5\xeb\xe2\t*\xae\x12\xc7\x1d\xd0-d\xfd\xa0g\x88/\xbd\x03\x06\x0cX\xb8pa\x8b\nW\\qETa\xd4\xa8Qm}<\x9bV\x9c\xb6\x94w\x92\xf1\xc4\x13O\\~\xf9\xe5m\x9d_.\\\xb8p\xb7\xddv\x8b\xc2>\xf6\xd8c\xad\xeb<\xf3\xcc3\x93'O~\xe6\x99gJ\xbf\xd0\xddw\xdf]SS\x13\x85\xba\xe4\x92K\x8aV\xfb\xb7\x7f\xfb\xb7\xa8N\xef\xde\xbd\x1f|\xf0\xc1\xd6u\xb6l\xd9r\xdey\xe7E\xd5jjj\x96-[\xd6^G\x8bH\x9e\xf5\xbb\xfb\xee\xbb\xa3\x9a\xbb\xec\xb2\xcb\xf2\xe5\xcb[T\xd8\xbcys\xfc\xbc\xf6\x84\x13Nh+\xd49\xe7\x9c\x13U\x1b;v\xec\x17_|QF\xcb\x0b282\x83\x0f\xd5Zy\xc7]\x06{\x97\xc1&\xe9]\x0f\xed]\xba\x8bBQ\xe5\x1dwiM\xbfi\xadS\xef\xbe\xfb\xee)\xa7\x9c\xf2\xfc\xf3\xcf\x97x\xad\x8f?\xfe\xf8/\xfe\xe2/\xa28\xdbo\xbf}]]]\x85\xe2\x14\x15\xef\xc5\x94)S\x92l\xd2\xae2v_*\xfb\xae\x0bFf>\xa0\xdeep\x82*\xaa\xa3oxf'\xa8\xb8J\x1cw@\xb7\x90\xf5\x83\x1ec\xda\xb4i\xd1\xea;h\xd0\xa0_\xfe\xf2\x97\x1f|\xf0\xc1\xfa\xf5\xeb_~\xf9\xe5\xf8\xe3u\xab\xab\xab\x9fz\xea\xa9.\x88STy'\x19\x85\xcc\xd7N;\xedt\xd9e\x97=\xfb\xec\xb3\x9f~\xfaiCC\xc3\xaaU\xab\xfe\xf8\xc7?\x9eu\xd6Y\xbd{\xf7\x8eb\xb6u\x9dB\xf4\xa0\x96\xddv\xdbm\xda\xb4i3f\xccX\xbat\xe9\xbau\xeb\x9a\x9a\x9a\xbe\xf8\xe2\x8b\xb7\xdez\xebw\xbf\xfb\xdd\xb1\xc7\x1e\x9b\x8b\x19=z\xf4\xe7\x9f\x7f^4\xda\xa6M\x9bF\x8f\x1e\x1d\xd5\xac\xaa\xaa:\xeb\xac\xb3\xe6\xcd\x9bW[[\xdb\xd8\xd8\xf8\xe1\x87\x1f\xde{\xef\xbd\xf1\x7f]r\xb9\xdc\xa5\x97^\xda\xd1\xf7*\xde\xf7\x82\xd2Y\xbf\xe6\xe6\xe6\x93N:)\xaa\xbc\xddv\xdb]w\xddu\xef\xbd\xf7^CC\xc3\xda\xb5k\x1fz\xe8\xa1\xb1c\xc7F\x7f\x1d0`@[Y\xc8\x7f\xfe\xe7\x7f\x8e\xaa\xed\xb3\xcf>k\xd7\xae-\xaf\xe5\x91\x0c\x8e\xcc\xe0C\xb5P\xf6\xc9}\x06{\x97\xc1&\xe9]O\xec]\xba\x8bBQe\x1cw)N\xbfi\xadS\xef\xbc\xf3N\xe1\xaf\xfb\xee\xbb\xef\xa5\x97^\xfa\xc8#\x8f\xbc\xf7\xde{\xf5\xf5\xf5MMMk\xd7\xae\x9d7o\xde\xc5\x17_\xbc\xcd6\xdb\xc4\xdf\xf3\xd9\xb3gW.Nk\x1b7n\x8c\x7f3\xd5\x82\x05\x0b\xca~\xd3\xe2:\xba\xfb\xd2\xdaw]02\x03\xeb]\x06'\xa8\xd6:\xfa\x86gs\x82\x8a\xab\xd0q\x07t\x0bY?\xe81\x9a\x9a\x9a\xc6\x8d\x1b\x97k\xcfo~\xf3\x9b\xae\x89\x93\xcf\xe7\xa7N\x9d\xdan\x9c\xb8\xa1C\x87\x16\x8d\x13\xcf|\x950u\xea\xd4\xb6ZR\xe2\xf1\xccE\x8d\x1e=\xfa\xa3\x8f>*\xd1\xb5\x15+V$\x7fh\xf1\xd9g\x9f\xdd\xdc\xdc\xdc\xee\xdb\xd5n\xdfKg\xfd\xf2\xf9|}}}\xfc>\xdf\xb6\xf4\xe9\xd3\xe7\x91G\x1ei+H\xff\xfe\xfd;\xf4^\x15\xb4\xfe`<\x92\xc1\x91\x19v\xa8\xb4\x8e\xbbl\xf6.\x83M\xd2\xbb\x9e\xd8\xbb\xd4\x17\x85T\x8e\xbbt\xa7\xdfT\xd6\xa9([\x97D\xff\xfe\xfd\x7f\xff\xfb\xdf\x17mLZqZ\x8b_\xe7\xbe\xf7\xde{'\xdc\xaa\x85\xce\xef\xbe\xb4\xf6]\xea#3\xf8\xdeep\x82\xea\xfc\x1b\x9e\xcd\t*.\x95\xe3\x0e\xc8\x08Y?\xe8I\x1a\x1a\x1a~\xf4\xa3\x1f\xb5\xb5\x84\x0f\x1e<\xf8\xe1\x87\x1f\xee\xca8]\x96\xf5\x1b>|\xf8\x03\x0f\xff\xf9\xe7\x9f\x9f{\xee\xb9%\x9a4z\xf4\xe8g\x9f}\xb6D\x84\xd4\xb3~\xf9\xec\x8d\xcc\xb0C\xa5{r\x9f\xb5\xdee\xb3Iz\xd7\xe3z\x97\xfa\xa2\x90\xc1\xac_>\x8du*y\xb6\xee\xf8\xe3\x8f\x7f\xfd\xf5\xd7+\x1d\xa7\xb5\xf1\xe3\xc7G\xdb^}\xf5\xd5\xc97\x8c\xeb\x89y\xb1\xe4\xa7+a\xf7.\x9f\xbd\t\xaa+\xb3~]9A\xc5\xa5r\xdc\x01\x19\xd1+\x9f\xcfwh\x8e\x00\xba\xdd\x1bo\xbcq\xfb\xed\xb7\xcf\x9d;w\xd5\xaaU\xf5\xf5\xf5\xc3\x86\r\x1b9r\xe4\xe9\xa7\x9f~\xc6\x19gl\xbb\xed\xb6]\x19\xe7{\xdf\xfb\xde-\xb7\xdc\x92\xfc\x15\x87\x0e\x1d\xbaz\xf5\xea\xd6\xbfonn~\xe9\xa5\x97\xe6\xce\x9d\xfb\xd4SO\xad\\\xb9\xf2\x93O>\xa9\xab\xab\xdbn\xbb\xed\x86\r\x1bv\xd0A\x07M\x9e<\xf9\x84\x13N\xe8\xd3\xa7O\x89\xc8\xf9|\xfe\xbd\xf7\xde{\xf5\xd5W\x97,Y\xf2\xea\xab\xaf\xae\\\xb9\xb2\xae\xae\xae\xbe\xbe\xbe\xbe\xbe~\xf3\xe6\xcd\x83\x06\r\x1a2d\xc8\x981c\x8e9\xe6\x98o}\xeb[\xf1\x9b\x8c\xda\xb5b\xc5\x8a\xbb\xee\xbak\xfe\xfc\xf9\xaf\xbd\xf6Zmm\xed\xc6\x8d\x1b\xb7\xd9f\x9b\xa1C\x87\x8e\x1d;v\xc2\x84\t\xa7\x9f~z\xe9\x86\xb5k\xd6\xacY'\x9exb\xa1<~\xfc\xf89s\xe6$\xd9\xea\xf5\xd7_\xbf\xe7\x9e{f\xcf\x9e\xfd\xe1\x87\x1f~\xf2\xc9'\xfd\xfa\xf5\x1b2d\xc8\x11G\x1c\xf1\xf5\xaf\x7f}\xf2\xe4\xc9UUU%\xb6\x1d0`\xc0\xfa\xf5\xeb;\xda\xce\x85\x0b\x17~\xe5+_)]';#3\xecPi\x1dw)6\xa9\x12\xa12\xd8\xa4\x14Ce\xb0I)\x86\xcaB\x93R_\x14R9\xee*4\xfdvr\x9dz\xed\xb5\xd7\xe6\xcd\x9b\xb7x\xf1\xe2\xb7\xdez\xeb\xe3\x8f?^\xb7n\xdd\xc6\x8d\x1b\x1b\x1b\x1b\xfb\xf5\xeb7x\xf0\xe0\xbd\xf6\xda\xeb\x98c\x8e\x994i\xd2\x81\x07\x1eX\xba\x9di\xc5\x89{\xff\xfd\xf7G\x8c\x18Q\xf8o\xa5\xaa\xaaj\xc5\x8a\x15;\xef\xbcs\xf2\xcd#\x9d\xdf}i\xed\xbbJ\x9c\xae\x84\xdd\xbbHv&\xa8\xce\xbf\xe1\xd9\x9c\xa0\"i\x1dw@F\xc8\xfa\x01\x00\x00\x00@hJ]\x0f\x02\x00\x00\x00\x00\xf4D\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xb2~\x00\x00\x00\x00\x10\x1aY?\x00\x00\x00\x00\x08\x8d\xac\x1f\x00\x00\x00\x00\x84F\xd6\x0f\x00\x00\x00\x00B#\xeb\x07\x00\x00\x00\x00\xa1\x91\xf5\x03\x00\x00\x00\x80\xd0\xc8\xfa\x01\x00\x00\x00@hd\xfd\x00\x00\x00\x00 4\xff\x07\x96\x91@b\t\n\x03\x02\x00\x00\x00\x00IEND\xaeB`\x82" # noqa self.assertEqual(result, expected, msg=result) @@ -58,7 +58,7 @@ def test_generate_barcode_b64image_1_png(self): barcode_number, image_type="png" ) - expected = "data:image/png;base64,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5psrVqz48MMPa2trt2zZsv322w8ZMuTwww+fMGHCaaedVlnZhrmutrb2jjvuePzxxxcvXrx+/fpNmzYNGDBg6NChhx9++KmnnnryySdXVHTZ30vee++9e++9d86cOStXrvzoo4/q6uoGDBgwbNiw0aNHjx07duzYsYMGDSrx8MbGxhdeeGHOnDl/+tOfXnvttU8//XTz5s0DBw7cbbfdjj766K9//evjxo1r6y5lc4gGXypF2eygUkqlUqpMy0QqUp+Qs7x4BSmVIxj8EC1fBzMyyaQoy4MB6N7yQCbV1dVdeOGFPXr0KHrm7rjjjg8++GAnl/r444+feeaZmTNnXnLJJRMnThw1alSvXr2iOqecckry3jU0NPzjP/7jtttu29LUNGTIkN///veli9x+++1JZrldd931nnvuSbJXjY2Nv/zlL0unjSNGjHjmmWeS97SJRx55JF5t3LhxCR9YXV397W9/u6WDGO1bSw9fvXr1T37yk8GDB5d+rQ499NCFCxcm3KUMDtHgS6V4Dmazg0oplW6p1JeJVM7B1CfktBavvffeO8nLVTBnzpxyl3ruueeSF4mbOnVqSzuWtSMY/BBNvYP5jE0yBam87BkcDOU4B4HOJ/WDLGpoaDj++ONbXVP//d//vdNKrVu3rnSF5InD5s2bTz755CQXDTfccEOJOgkvjwouuOCC0nvV2Nj4t3/7t0lKVVRUzJ49O2Fn4zZt2tTkF6GEqd+bb745dOjQVnesROp34oknJnyhqqqqbr311lZ3KYNDNPhSKZ6D2eygUkqlXirdZSKtczDdCTnFxSuY1O+8884rWjCDRzD4IZpuB/PZm2Ty6b3sGRwMqZ+DQJeQ+kEWTZs2LVo4BwwY8POf//y9997bsGHDokWLzjzzzOhHVVVVTz31VOeUSjFxOP/886NHVVZWXnDBBYsWLfriiy9qamrmz58/ceLE6Kc9e/b84x//2FKd6PJo7733/uEPf3jPPfe8/fbbNTU19fX1a9aseeihh7761a/G9/Dqq68usVczZsyIN548efLjjz9eXV1dX1+/evXqO+64Y9SoUfGXa8mSJQn7G/nxj3/c5EVLkvqtXLly9913jx6y5557zpgxY/HixZ988snmzZvff//9//7v/548eXJFRUXC1O+II4644oorXnzxxbVr19bV1a1ateqOO+44+OCD4y97q2+0zOAQDb5UuqlfBjuolFKpl0p3mShHpNLxCTnFxSuY1K+l92dl8AgGP0TT7WA+e5NMvgypX3YGQ+rnINAlpH6QOS+//HK0avbr1+/FF19s0uDyyy+PGowcObKxsbETSq1fv36nnXY66qijzj777CuuuOKee+5ZunTprFmz2nT1kM/nFy1aFH2SorKy8g9/+EPzNvHfYYYNG7Z58+aipe6+++6/+7u/a96puOuvvz4q1bt37/fff79os08++aRv375Ry+nTpzdvs2HDhmOOOSZqM2HChATd/T/Lli2rqqrK5XI9e/aMiiRJ/caOHRu1nzJlyoYNG4o2e/31188555yWihSu4CdOnPj8888XbVBfX/+Nb3wjeqJdd921pSfKZ3WIBl8qrXMwsx1USqnUS6W4TOTTOwdTnJDTXbyiqG7UqFFJOlJCiqWSWLVqVXTXwkGDBjU0NBRtlsEjGPwQTbeDGZxk8um97NkcDAklPAeBLiH1g8yZNGlStCRfddVVzRs0NjYeccQRUZu77767E0oVdf/997f16uHss8+OHlLi4wnxvzPfdtttbdqrJk499dSo1OWXX160zW233Ra12X///Vu6tnv99dfjkeUnn3yScB8aGxuPPvrowgPPO++86LlaTf3uvffeqPE3v/nNEhedpZ1//vmPPvpo6TYbN27cc889o6cr8ZGWbA7R4EsV1Y5zMN29UkqpjJdKIsky0ZJ2nIMpTsjpLl7dN/WbPn169DpcdNFFbXps1x7BhLrvEE0oYQe70STTvtU5iU4eDAl15BwEyk3qB9mydu3a6NK8f//+GzduLNrsoYceihbX448/vtylWtLWq4etW7fGvw2txJ8oFyxY0O69auK+++6LSh133HFF23z/+9+P2lx66aUlqsU/KvXEE08k3Iebbrqp8JAJEybMmTMnqtBq6nfQQQcVWu600041NTUJn67drrzyymjfTjrppKJtsjlEgy/VknZcwWezg0opVY5SCSVZJlpSvt+ik0zI6S5e3TT1a2xsHD58eNS7ZcuWtenhXXsEE+q+QzShJB3sXpNM+V72DA6GDp6DQLlV5IAsmTt3bj6fL2yfdtppvXv3LtrsxBNP3GGHHQrbTz/99Oeff17WUml57bXXamtrC9sjR47cY489Wmp51FFHDRkypLD95JNPdmSv9t9//2j7gw8+KNrmk08+ibZL340oflnT6j1TCtauXfujH/0ol8tVVVX98pe/TPKQgtdff33p0qWF7QsvvDAemJbJUUcdFW0vW7asaJtsDtHgS6Uomx1USqlylEooyTLR+ZJMyGVdvLqLJ5544t133y1sjxkzJp5vdq0kRzCh7jtEE0rSwW49yaQog4Mhs+cgUCD1g2yZO3dutB2/oVsTVVVV0SdGGxoaHn300bKWSssbb7wRbR9wwAGlGx922GGFja1btz777LPtftL4ffS2bNlStE38gi+6L0lR8Z/26dMnyQ6cf/75NTU1uVzu+9///n777ZfkIQV33XVXtB2/gU757LzzztH2xx9/XLRNNodo8KVSlM0OKqVUOUollGSZ6HxJJuSyLl7dxcyZM6Ptb33rW124J00kOYIJdd8hmlCSDnbrSSZFGRwMmT0HgQKpH2RL/O7Co0ePLtFyzJgx0fbixYvLWiot1dXV0Xb8YrGo6L1+uVwuestbO7z++uvR9rBhw4q2OfDAA6PtFStWlKgW/2n8US2ZO3fu7373u1wut8suu1x22WWtto97+umnCxv77rtv/G0a5fPpp59G29ttt13RNtkcosGXSlE2O6iUUuUolVCSZaLzJZmQy7d4dRc1NTXRBx579ep1xhlndO3+xCU5ggl13yGaUJIOdutJJkVZGwxZPgeBAqkfZEhjY2P0DvlcLrfvvvuWaBz/6dtvv12+UinasGFDtN3qew3i30v41ltvtftJ/+M//iPaPumkk4q2mTRpUmVlZWE7ftOTJpYvXx59huXII48s8Qnlgo0bN/7DP/xDYfuKK65o60d0X3nllcJG9L7Il19++dxzz91nn3169erVv3//4cOHT5o06Te/+c3mzZvbVLkl8TdjFu1dNodo8KVSlM0OKqVUOUoll2SZ6HytTsi5si1e3cisWbM2bdpU2D7ttNOiz2NmQZIjmFD3HaIJtdrB7j7JpChrgyHL5yBQIPWDDHn//ffr6+sL2wMHDuzVq1eJxvG3wjUPxVIslaJ+/fpF29ElQkviEeGqVava8XT5fP5nP/vZww8/XPjn4MGDzz333KItd9999/PPP7+wvXTp0l/84hfN29TV1U2dOrWxsTGXy1VUVPz85z9vdQf+5V/+pfD2itGjR7f1Iw/r1q2LPi8zYsSIXC43ffr00aNH/+d//ufy5cvr6uq++OKLFStW3H///VOmTBkxYkTUzY6I/9L4la98pXmDbA7R4EulKJsdVEqpcpRKIvky0flanZBzZVu81q9fP2XKlAMOOGDgwIHbbLPN4MGDDzvssGnTpsXvhpZQiqWKin+08Oyzz+54wRQlOYKt6u5DtFUJO9h9J5kUZXMwZPkcBAoqu3oHgP8TvytK/DqjqHiD5rdTSbFUiuJ/AGz1buIfffRRtL1+/frkz1JXV/fRRx8988wzN954Y3RDwP79+99zzz0l/gJ55ZVXLl++/IEHHsjlchdffPFLL7303e9+95BDDunTp8+6devmz59/1VVXFT5oXFFR8etf//rYY48tvRtLly699tprC9u/+tWvSt9xqbnVq1dH29tvv/0FF1xw3XXXtdR45cqVp5566syZM88888w2PUvc22+/Hb/TTdHPaGRziAZfKkXZ7KBSSpWjVAntWyY6U5IJuSD1xSuXy61du/Y3v/lN/J9r1659+eWXb7jhhoMPPvj666//y7/8y4QdSbFUc0uWLHnppZcK27vtttsJJ5zQ7lKpS34EiwppiBbV1g52u0kmRVkeDFk+B4GI1A8ypE0fgI03iD8w9VIpin/v2GuvvVa6cfyuK9E3/7ZkzZo1JS7dvvKVr/zbv/3bPvvsU6JCVVXVfffdd911182YMePTTz+dPXv27Nmzmzc7+OCDr7vuuuOOO670/jQ2Nk6dOrVwl+W/+Zu/ie4GnVz8q+IWLlx477335nK57bff/tJLL500adKuu+5aW1u7YMGCK6644k9/+lMul9u6deu55557yCGHHHTQQW19roILLrhg69athe0JEyYUrZPNIRp8qRRls4NKKVWOUk10fJnoTEkm5IJ0F69WLVmyZNy4cb/61a+i+1d0Yal4nnjmmWe29a9rZZX8CEZCHaKRjnSwW0wyKeougyHL5yAQcWZChsSvJ7bddttoe+bMmXvvvXffvn3Hjh0b3est/pGE0tc0HSyVov322y+63/OyZcs++OCDllo+99xzH374YfTPurq69j3jwIEDZ82a9cc//jHJtVFFRcWFF144d+7cL33pS81/2qNHjylTpsybNy/Jb0033njj888/n8vl+vbte/XVV7d9x/8s9bvnnnvy+fzQoUMXLVp00UUXDR8+fNttt91ll10mTpz4/PPPT5w4sdCsvr6+3b87/dd//Vf0mZFtttkmepdiE9kcosGXSlE2O6iUUuUolVCblonOkXBCjqS1eA0ZMuSMM864+eabn3/++bfffru6urrwJqM5c+Z8+9vfjg7Hli1bvve97xX+FtUJpVpSV1c3a9as6J+Z+mhhW49gaQEM0dKSdLBbTzIpytRgyPI5CPyZPJAZd911V3RuHn/88YX/bPKVYcOHDy/8f5O3vzU2NpapVAnxW7qccsopSR5y1llnRQ/5p3/6p5aaNbk/8dChQ0uXjX8cuLnjjjtu8eLFre7b8uXLW70xTe/evS+88MKNGzeWqPPBBx9E4eaMGTOa/HTOnDlRtXHjxrVUJH4ECx555JGiLaurq3fccceo2aJFi1rtaRNvvfVW//79owpXX311kr3KzhANvlQJbT0Hs9lBpZQqR6kmUlkmmmvHOlha8gk5ktbi1eqOjRo1KirYv3//devWdWGp+FsajznmmPbtST4bR7Ag4CFa0JEOdotJJq6DL3u3GAxpnYNAuXmvH2RI/C+K0Z2GC58SjeT/9+7XUYNcLrftttv26NGjTKXSdd5550Xb11577RNPPNG8zdVXXx2PxnJ//n2+RQ0ePDia1zZs2PDOO+/cfvvt0d2C5s+ff+SRR5Z+N8GCBQsOPfTQefPm5XK5nj17nnPOOU8++WR1dXV9ff2qVatmzZo1evToXC63adOma6+99uijj66urm6p1LRp0z777LNcLrfXXnv98Ic/LL3nLWlyFI466qjx48cXbbn99tvHs9T77ruvTU/0xRdfTJ48OXpr4SmnnHLxxRe31DibQzT4UinKZgeVUqocpZro+DLRCdo0IRekuHiVts8++8ybN2/w4MGFf37++edFvzyk00rFP1qYnTcZteMIRkIdopGOdLBbTDIp6haDIZvnIFBEmhEi0DGPPvpodG6OGTMm+v8bbrhhjz326N2797HHHhv9cS/+tbYDBw4sX6kS2vc3w6lTp0aP2mabbS6++OIlS5Zs2LChtrb2qaeemjx5cuFHhx9++O67717YPuyww5LvVdwtt9zSs2fPQpGqqqqFCxcWbbZmzZqBAwcWmlVWVj788MPN22zZsuXv//7voz2fMGFC0VIPPfRQ1Ob+++9v3iDhe/0efPDB+Fx9zTXXlOjmI488ErU84YQTSrRsYuvWrV/72teix+633341NTUl2mdziAZfqoS2noPZ7KBSSpWjVEIJl4mWpPje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fz6rQzT4UkW17xzMZgeVUqocpZJIsky0pH3nYFoTcmcuXvl8vrq6On5Dscsuu6x9ddpdKv7HsO22265NR6olXXsEE+q+QzShhB3sRpNM+VK/zh8MceU4B4Fyk/pB5sQX1H79+i1cuLBJg8svvzxqMHLkyBJ/ek2xVFHtu3p4/PHHp0+f3tLl48KFC/fYY4+o7MMPP1y02dNPPz158uSnn3669HPdeeedVVVVUbVLLrmkaLN//dd/jdr07Nnzvvvua95m69at5513XtSsqqpq+fLlpZ+9qDalfnfeeWfUeLfddluxYkWTBlu2bIlfuZ544oktlTrnnHOiZmPGjPn888/bsfMF2RyiwZcqqn3nYDY7qJRS6ZZKd5loSfvOwbQm5LQWr3feeefUU099/vnnSzzXRx999Bd/8RdRnR133LGmpqZ5sxRLNRfvyJQpU5I8pFVdeASDH6KpdzBrk0wJbX3ZszwY4spxDgLlJvWDLJo2bVq0pg4YMOAXv/jF+++/v2HDhpdffjl+09zKysonn3yy00o1176rh0LsNWTIkMsuu+zZZ5/95JNP6urqVq9e/Yc//OGss87q2bNnVLPE+xGi+7Dsscce06ZNmzVr1rJly9avX9/Q0PD555+/+eabv/3tb4877rhczKhRoz777LOi1TZv3jxq1KioZUVFxVlnnTV//vzq6ur6+voPPvjgrrvuiv+KksvlLr300ra+XPHuF7Sa+jU2Np588slR+x122OGaa65599136+rq1q1bd//9948ZMyb6ab9+/VoKIv/5n/85ajZixIh169a1b+cj2RyiwZdqrt1X8NnsoFJKpVgq3WWiJe04B1OckNNavN5+++3CT/fbb79LL730wQcffPfdd2traxsaGtatWzd//vyLL754u+22i7/s8+bNK7pLKZZqYtOmTfGvq1qwYEG7X7e4LjyCwQ/RcnQwU5NMCW192TM7GOLKdA4C5Sb1gyxqaGgYO3ZsrjW//vWvO7PU1KlTW60TN2jQoKJ14rFXCVOnTi2xMyXuvlzUqFGjPvzwwxIFV65cmfyGxGeffXZjY2Orr1ir3W819cvn87W1tfHP+bakV69eDz74YEtF+vbt26aXq6D5n74j2RyiwZdK6xzMbAeVUirFUqkvE/mUzsF0J+RUFq8oqkuib9++v/vd71p6iVIs1UT8ze/77rtvwkc1kakjGPwQLUcHMzXJpPiyZ3YwxKVyDgKdT+oHGVVXV/eDH/ygpYV54MCBDzzwQCeX6rTUb+jQoffee2/pnUl+edS3b99LLrlk06ZNrXawpqamyZsNm9tpp51uueWWJC9XS9qa+uXz+c8+++zcc88tsVejRo169tlnS1RIPfXLZ3KIBl8q3Sv4DHZQKaVSLFWOZSJTkUqk44tX8qjuhBNOeO2110q8RCmWamLcuHHRY6+88srkD4zL1BEMfoiWo4P5LE0ykc5M/Tp5MMSlcg4Cna9HPp9v03QAdKbXX3/91ltvfeyxx1avXl1bWzt48OC999779NNPP+OMM7bffvtOLvWd73zn5ptvTv6MgwYNWrNmTfP/b2xsfOmllx577LEnn3xy1apVH3/8cU1NzQ477DB48OCDDz548uTJJ554Yq9evUoXz+fz77777iuvvLJ06dJXXnll1apVNTU1tbW1tbW1W7ZsGTBgwC677DJ69Ohjjz32G9/4RvzDRK1auXLlHXfc8cwzz7z66qvV1dWbNm3abrvtBg0aNGbMmPHjx59++umt7ltpc+fOPemkkwrb48aNe/TRRxM+8LXXXps9e/a8efM++OCDjz/+uE+fPrvsssuRRx751a9+dfLkyRUVFSUe269fvw0bNrR1VxcuXPilL32pdJtMDdHgS6V1Dqa7V0oplc1S5VgmUjkHyzQhd3DxevXVV+fPn79kyZI333zzo48+Wr9+/aZNm+rr6/v06TNw4MB99tnn2GOPnThx4kEHHdTqrqZYKvLee+8NHz688GtLRUXFypUrd9111+QPj2TqCAY/RMt3qZbLxiQT6fjLntnBEEnrHAQ6n9QPAAAAAEJT6r0hAAAAAEB3JPUDAAAAgNBI/QAAAAAgNFI/AAAAAAiN1A8AAAAAQiP1AwAAAIDQSP0AAAAAIDRSPwAAAAAIjdQPAAAAAEIj9QMAAACA0Ej9AAAAACA0Uj8AAAAACI3UDwAAAABCI/UDAAAAgNBI/QAAAAAgNFI/AAAAAAiN1A8AAAAAQiP1AwAAAIDQSP0AAAAAIDRSPwAAAAAIjdQPAAAAAEIj9QMAAACA0Ej9AAAAACA0Uj8AAAAACI3UDwAAAABCI/UDAAAAgNBI/QAAAAAgNFI/AAAAAAiN1A8AAAAAQiP1AwAAAIDQSP0AAAAAIDRSPwAAAAAIjdQPAAAAAEIj9QMAAACA0Ej9AAAAACA0Uj8AAAAACI3UDwAAAABCI/UDAAAAgNBI/QAAAAAgNFI/AAAAAAiN1A8AAAAAQvP/AIOUQGJg7ifMAAAAAElFTkSuQmCC" # noqa + expected = "data:image/png;base64,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FL3++uv19fWF8qhRo3bbbbe2ah555JE77bRTofzUU0+V3ar99tsvKn/44YdF63z66adRufRTiuKnPu0+V6VgzZo1P/nJT3K5XE1Nza9+9askm+RyuTfeeGPJkiWF8oUXXhhPlVbIkUceGZWXLl1atE4GR2bwodKSwd5lsEl616N7l1CSRaGLJZl+K7pO9QhPPvnke++9VyiPHTs2ntzsRkn2XUI9dGQmlKR3GZygul7WhkE2jzugNFk/6AFmzZoVleNPdmuhpqYmum+0qalpzpw5FYqTojfffDMq77///qUrH3rooYXCli1bnn322fJeMf4cvc2bNxetEz8jjJ5dUlT8r/369UvSgPPPP7+uri6Xy/3whz/cd999k2ySy+XuvffeqBx/tk7l7LjjjlH5k08+KVongyMz+FBpyWDvMtikFENlsEkphspgk5JLsih0sSTTb0XXqR7htttui8rf+c53urElcUn2XUI9dGQmlKR3GZygul7WhkE2jzugNFk/6AHiDyEeM2ZMiZpjx46Nyq+88kqF4qSotrY2KsfPJouKrvXL5XLRhW8d9cYbb0Tl3XffvWidAw44ICovX768RLT4X+NbtWXWrFm///3vc7nckCFDLrvssnbrR5555plCYe+9945fuFE5n332WVTeZpttitbJ4MgMPlRaMti7DDYpxVAZbFKKoTLYpOSSLApdLMn0W7l1qkeoq6uL7nzs06fPGWec0b3tiSTZdwn10JGZUJLeZXCC6nqZGgaZPe6A0mT9IOuam5uja+lzudzee+9donL8r++8804l4qRr/fr1UbndaxDi31f49ttvl/eK//mf/xmVTzzxxKJ1TjvttOrq6kI5/mCUFpYtWxbd4XLEEUeUuD25YMOGDf/wD/9QKF911VUdukv31VdfLRSiKyJffvnlc889d6+99urTp8/AgQNHjBhx2mmn/fa3v920aVPysCXEL8Ms2rUMjszgQ6Ulg73LYJNSDJXBJqUYKoNN6pAki0IXa3f6zVVsneopZsyYsXHjxkL51FNPjW7M7HZJ9l1CPXRkJtRu7zI4QXWLTA2DzB53QGmyfpB1H3zwQWNjY6E8ePDgPn36lKgcvxquRV4srTjpGjBgQFSOziTaEk8Rrly5sqOvlc/n//Vf//Wxxx4r/Dhs2LBzzz23aM1dd931/PPPL5SXLFnyy1/+snWdhoaGqVOnNjc353K5qqqqX/ziF+024F/+5V8K11yMGTOmQ7dFrF27NrqVZp999snlcpdffvmYMWP+67/+a9myZQ0NDV9++eXy5csfeuihKVOm7LPPPlEfOyP+b+TXvva11hUyODKDD5WWDPYug01KMVQGm5RiqAw2KaHki0IXa3f6zVVsnVq3bt2UKVP233//wYMHb7XVVsOGDTv00EOnTZsWfzJaEmnFaUv8NsOzzz678wHTkmTftatHj8x2JexdBieoLpbBYZDZ4w4orbq7GwC0I/7klPjpSFHxCi0euZJWnHTFPyds9ynjH3/8cVRet25dwpdoaGj4+OOP58+ff9NNN0VPAxw4cOD9999f4lPKq6++etmyZQ8//HAul7v44otfeuml73//+wcffHC/fv3Wrl07b968a665pnCXcVVV1W9+85tjjjmmdDOWLFly/fXXF8q//vWvSz+GqYVVq1ZF5W233faCCy644YYb2qq8YsWKU0455bbbbjvzzDOTv0QL77zzTvw5OEVv4sjgyAw+VFoy2LsMNinFUBlsUoqhMtik0spbFLpMkum3IPV1KpfLrVmz5re//W38xzVr1rz88svTp08/6KCDbrzxxr/8y79M0ou04hS1ePHil156qVDeZZddjj/++LJDpSv5visqmJFZVEd7l8EJqmtkdhhk9rgD2iXrB1nXoXtg4xXiG6YYJ13x7yZ7/fXXS1eOP5kl+ubfolavXl3i3O5rX/vav//7v++1114lItTU1Dz44IM33HDDlVde+dlnn91zzz333HNP62oHHXTQDTfccOyxx5ZueXNz89SpUwuPYf6bv/mb6HHRCcW/SG7hwoUPPPBALpfbdtttL7300tNOO23nnXeur69fsGDBVVdd9ec//zmXy23ZsuXcc889+OCDDzzwwA69UOSCCy7YsmVLoTxx4sSicTI4MoMPlZYM9i6DTUoxVAablGKoDDaptc4vCl0myfRbkO461a7FixePHz/+17/+dfSoiu6KE88nnnnmmR36FK2iku+7SJAjM9KZ3mVwgqqcHjEMMnvcAe1yuELWxU87tt5666h82223jRw5sn///uPGjYse+ha/c6HEeU9n4qRr3333jR4IvXTp0g8//LCtms8999xHH30U/djQ0FDGyw0ePHjGjBl/+tOfkpw8VVVVXXjhhbNmzfrKV77S+q+9evWaMmXK7Nmzk/wrddNNNz3//PO5XK5///7XXnttR5sdz/rdf//9+Xx++PDhixYtuuiii0aMGLH11lsPGTJk0qRJzz///KRJkwrVGhsby/6H6r//+7+jO0q22mqr6BLFFjI4MoMPlZYM9i6DTdK7Ht27hDq0KHSBhNNvJK11aqeddjrjjDNuueWW559//p133qmtrS1ccDRz5szvfve70b7YvHnzD37wg8InTxWNU0JDQ8OMGTOiH7Nzm2FH911pPX1klpakdxmcoLpedoZBZo87IJE8kG333ntvdMAed9xxhV+2+GaxESNGFH7f4gq45ubm1OOUFn/my8knn5xkk7POOiva5J/+6Z/aqtbiGcbDhw8vETN+L3Brxx577CuvvNJuw5YtW9buY2v69u174YUXbtiwoUScDz/8MMpsXnnllS3+OnPmzCja+PHji0aI77uCxx9/vGjN2tra7bffPqq2aNGidrvZwttvvz1w4MAowrXXXttWzQyOzOBDtaWjx10Ge5fBJuldj+5dC6ksCi2Usd6Vlnz6jaS1TrXbsNGjR0cBBw4cuHbt2u6KE7+e8eijjy6jGQXp7r4y9l1BJUZmPojeZXCCKqGTb3j2J6i0jjugW7jWD7Iu/sFj9EDiwr2ikfz/fTZ2VCGXy2299da9evVKPU7qzjvvvKh8/fXXP/nkk63rXHvttfHsWO7//T7f1oYNGxZNc+vXr3/33XfvvPPO6ClC8+bNO+KII0pfZbBgwYJDDjlk9uzZuVyud+/e55xzzlNPPVVbW9vY2Lhy5coZM2aMGTMml8tt3Ljx+uuvP+qoo2pra9sKNW3atM8//zyXy+25554//vGPS7xoW1q8/0ceeeSECROK1tx2223jWdQHH3ywQy/05ZdfTp48Obq08OSTT7744ovbqpzBkRl8qLRksHcZbJLe9ejetdD5RaHSOjT9FqS4TpW21157zZ49e9iwYYUfv/jii6JfHtI1ceK3GWbkgqMy9l0kyJEZ6UzvMjhBVU72h0EGjzugA9JMIQIVMGfOnOiAHTt2bPT76dOn77bbbn379j3mmGOizwDj32w7ePDgSsQprbyPFqdOnRpttdVWW1188cWLFy9ev359fX39008/PXny5MKfDjvssF133bVQPvTQQ5O3KnLrrbf27t27EKGmpmbhwoVFq61evXrw4MGFatXV1Y899ljrOps3b/77v//7qNkTJ04sGurRRx+N6jz00EOtKyS51u+RRx6Jz9vXXXddiT4+/vjjUc3jjz++RM0WtmzZ8o1vfCPadt99962rqytRP4MjM/hQbenocZfB3mWwSXrXo3uXUMJFoagUL6Xp6PSbT3WdSuiWW26JQu26667dEueDDz6InibWr1+/zz//vOxmpLX7yth3SXRmZOaD6F0GJ6gSUr/ytyAjE1SKxx3QLWT9IOuee+65aNkePXp06cpvvfVWWyfTacUprbyTjC+//PKrX/1qrqSBAwcuXbo0un31q1/9avJWxcW//fbwww8vWud73/teVOeyyy5rK1RjY+P+++8f1Zw5c2brfu22226Fv06YMKFokCRZv3nz5sXfinnz5pXoYPzZiLvsskuJmi1MmzYt2nDHHXd89913S9fP4MgMPlRbOnrcZbB3GWyS3vXo3iWXZFEoKsV/qjs6/ebTW6eS27Bhw1ZbbRWFevvtt7s+zs9//vNowzPPPLO8BhSktfvK2HcJlT0y80H0LoMTVAkVyvrlszFBpXjcAd3CHb6QdUOGDInKpR/8kcvlVq9eXXTDFONUQv/+/WfNmjV16tToI80Wdt999wULFowaNSq6x2SXXXYp77V+8IMfjBgxolB+4YUXFi9e3KJCU1PT3XffXSj37t07fsrbQk1Nzfnnnx/9ePvtt7eocNlll61YsSKXy1VXV8fP2zpqxx13jP84fPjwEpXj+6uuri7hS0yfPv3GG28slPv16/eHP/whepeSvFBGRmbwodKSwd5lsEkphspgk1IMlcEmdUi7i0KllTH9prhOJde3b9+DDz44+nHZsmVdHCefz99xxx3Rj9/5znfKa0CKyth3yfXEkZlcu73L4ATVLbp9GGTwuAM6StYPsm733XePPhX/7LPPSn93bfxbblt84VdacSqkT58+N99885IlS37605+OHTt26NCh1dXV22yzzVFHHXXdddctXbr0gAMOWL58efTIlQMOOKC8F+rdu/fJJ58c/fj000+3qLB48eIotzh69Oj4l2O0Nm7cuKi8YMGCFn+99dZbC4Xvf//78UeYd1R0X3NBv379SlSurq6urq4ulBN+A93DDz/8ox/9qFDu3bv3Pffcc9hhh7W7VQZHZvCh0pLB3mWwSSmGymCTUgyVwSZ1SLuLQkWVN/2muE51yNChQ6PyunXrujjO3Llz33///UJ5zz33bPcWgUorb98l1xNHZnLt9i6DE1S36N5hkMvecQeUQdYPsq53797xD1fjdx+09vbbb0flvffeuxJxKmrUqFFXXnnliy++uHr16qampvr6+vnz51944YUDBgzI5XKvvfZaVLPsrF8ul9tzzz2jcuFavLj4b0pfVZfL5Xbeeeeo/NFHH23ZsiX+1+bm5kJh+vTpvdoQ/27iuXPnRr+fOHFi9PuBAwfG/0fasGFDiSZt3rw5ekx14X0r7YUXXvj2t78dNfXmm2+OP8SnhAyOzOBDpSWDvctgk1IMlcEmpRgqg03qqNKLQuWUPf2muE71IPHvEzjrrLO67JsWiip733VIjxuZHVK6dxmcoLpLdw2Dgkwdd0B5ZP2gB4jfC/PSSy+VqLlw4cKiW6Ubp7vMmjWrUKiurj788MPLjhP/n6epqanFXzdt2hSV8//3a93aEq+Qz+fj3/6WrvheiH8W3donn3wSlbfbbrvSYZctW/aNb3wjSiNefvnlU6ZMKa9VGRmZwYdKSwZ7l8EmpRgqg01KMVQGm9QhpReFCunM9Ntd69TatWujcotHT1Q6Tm1tbfScsl69esW/rb7rdXLpTK7HjcwOabd3GZygukW3DIOCTB13QNlk/aAHiF/29eSTT7ZVramp6dlnny2Ua2pqJkyYUKE43aKpqSk685gwYULpG5pKW758eVSOX0NXEH0rYi6Xi38zRlHxBFzfvn379u1bdqtKO/roo6Ny6XPW+BWRo0aNKlFz7dq1J554YvTf13nnnfezn/2sQ63K4MgMPlRaMti7DDYpxVAZbFKKoTLYpA4pvShUQien325ZpxobG1955ZXox7Lvfywvzt133x3dmzlu3Lg99tijvFfvvM4vncn1uJHZIe32LoMTVLfo+mEQyc5xB3RK932RCJDU6tWroyvqBw4cuGHDhqLVHn300ejQPu644yoXp4TKfYtZ9EjpXC73u9/9ruw4W7Zsid/r8b//+78tKsTv76iqqlqzZk2JaLfddltU+YADDiijPUm+wzefzy9atCiqdtRRR5UIeMEFF0Q1f/7zn7dVbf369fHrJf/6r/96y5YtHW18Bkdm8KGKKuO4y2DvMtgkvevRvUuo3UWhLWWvd52ffrt4nSq46667ojh77rlnF8eJX3h15513lv3qkfJ2XypLZ0Jlj8x8KL3L4ATVlsqd/Xb9BBWX+nEHdAtZP+gZTjvttGjdveaaa1pXaG5uPuKII6I69913X0XjtKVC5z1vvvlmdLPqPvvs09jYWHaom266KWph3759169f37pO/MPMn/zkJ22F2rx58yGHHBLVvOiii8poT8KsXz6fjz/KcO7cuUXr1NbWxq+CfO2119pqefzh0BMmTGhoaCij8flMjszgQ7VW3nGXwd5lsEl616N7l0SSRaGo8o67tKbfrlyn8vl8bW1t/OFil112WVfGiX/utc022yTfRyWUsftSXDqTKHtk5gPqXQYnqKIql/Xr4gkqrhLHHdAtZP2gZ4gvvQMGDFi4cGGLCldccUVUYdSoUW19PJtWnLaUd5LxxBNPXH755W2dXy5cuHC33XaLwj722GOt6zzzzDOTJ09+5plnSr/Q3XffXVNTE4W65JJLilb7t3/7t6hO7969H3zwwdZ1tmzZct5550XVampqli1b1l5Hi0ie9bv77rujmrvsssvy5ctbVNi8eXP8vPaEE05oK9Q555wTVRs7duwXX3xRRssLMjgygw/VWnnHXQZ7l8Em6V0P7V26i0JR5R13aU2/aa1T77777imnnPL888+XeK2PP/74L/7iL6I422+/fV1dXYXiFBXvxZQpU5Js0q4ydl8q+64LRmY+oN5lcIIqqqNveGYnqLhKHHdAt5D1gx5j2rRp0eo7aNCgX/7ylx988MH69etffvnl+ON1q6urn3rqqS6IU1R5JxmFzNdOO+102WWXPfvss59++mlDQ8OqVav++Mc/nnXWWb17945itnWdQvSglt12223atGkzZsxYunTpunXrmpqavvjii7feeut3v/vdsccem4sZPXr0559/XjTapk2bRo8eHdWsqqo666yz5s2bV1tb29jY+OGHH957773xf11yudyll17a0fcq3veC0lm/5ubmk046Kaq83XbbXXfdde+9915DQ8PatWsfeuihsWPHRn8dMGBAW1nIf/7nf46q7bPPPmvXri2v5ZEMjszgQ7VQ9sl9BnuXwSbpXU/sXbqLQlFlHHcpTr9prVPvvPNO4a/77rvvpZde+sgjj7z33nv19fVNTU1r166dN2/exRdfvM0228Tf89mzZ1cuTmsbN26MfzPVggULyn7T4jq6+9Lad10wMgPrXQYnqNY6+oZnc4KKq9BxB3QLWT/oMZqamsaNG5drz29+85uuiZPP56dOndpunLihQ4cWjRPPfJUwderUtlpS4vHMRY0ePfqjjz4q0bUVK1Ykf2jx2Wef3dzc3O7b1W7fS2f98vl8fX19/D7ftvTp0+eRRx5pK0j//v079F4VtP5gPJLBkRl2qLSOu2z2LoNN0rue2LvUF4VUjrt0p99U1qkoW5dE//79f//73xdtTFpxWotf57733nsn3KqFzu++tPZd6iMz+N5lcILq/BuezQkqLpXjDsgIWT/oSRoaGn70ox+1tYQPHjz44Ycf7so4XZb1Gz58+AMPPFCiJcnPn/r373/JJZds3Lix3d7V1dW1uNKwtR122OHWW29N8l61pUNZv3w+//nnn5977rklmjR69Ohnn322RITUs3757I3MsEOle3Kftd5ls0l61+N6l/qikMGsXz6NdSp5tu74449//fXXKx2ntfHjx0fbXn311ck3jOuJebHkpyth9y6fvQmqK7N+XTlBxaVy3AEZ0Sufz3dojgC63RtvvHH77bfPnTt31apV9fX1w4YNGzly5Omnn37GGWdsu+22XRnne9/73i233JL8FYcOHbp69erWv29ubn7ppZfmzp371FNPrVy58pNPPqmrq9tuu+2GDRt20EEHTZ48+YQTTujTp0+JyPl8/r333nv11VeXLFny6quvrly5sq6urr6+vr6+fvPmzYMGDRoyZMiYMWOOOeaYb33rW/GbjNq1YsWKu+66a/78+a+99lptbe3GjRu32WaboUOHjh07dsKECaeffnrphrVr1qxZJ554YqE8fvz4OXPmJNnq9ddfv+eee2bPnv3hhx9+8skn/fr1GzJkyBFHHPH1r3998uTJVVVVJbYdMGDA+vXrO9rOhQsXfuUrXyldJzsjM+xQaR13KTapEqEy2KQUQ2WwSSmGykKTUl8UUjnuKjT9dnKdeu211+bNm7d48eK33nrr448/Xrdu3caNGxsbG/v16zd48OC99trrmGOOmTRp0oEHHli6nWnFiXv//fdHjBhR+G+lqqpqxYoVO++8c/LNI53ffWntu0qcroTdu0h2JqjOv+HZnKAiaR13QEbI+gEAAABAaEpdDwIAAAAA9ESyfgAAAAAQGlk/AAAAAAiNrB8AAAAAhEbWDwAAAABCI+sHAAAAAKGR9QMAAACA0Mj6AQAAAEBoZP0AAAAAIDSyfgAAAAAQGlk/AAAAAAiNrB8AAAAAhEbWDwAAAABCI+sHAAAAAKGR9QMAAACA0Mj6AQAAAEBoZP0AAAAAIDSyfgAAAAAQGlk/AAAAAAiNrB8AAAAAhEbWDwAAAABCI+sHAAAAAKGR9QMAAACA0Mj6AQAAAEBoZP0AAAAAIDSyfgAAAAAQGlk/AAAAAAiNrB8AAAAAhEbWDwAAAABCI+sHAAAAAKGR9QMAAACA0Mj6AQAAAEBoZP0AAAAAIDSyfgAAAAAQGlk/AAAAAAiNrB8AAAAAhEbWDwAAAABCI+sHAAAAAKGR9QMAAACA0Mj6AQAAAEBoZP0AAAAAIDT/B5aRQGIJCgMCAAAAAElFTkSuQmCC" # noqa self.assertEqual(result, expected, msg=result)